(57)【要約】【課題】強化学習で獲得される人の能力を超えた最適行動と人らしい振舞いとを両立させたエージェントの学習方法を提供する。【解決手段】人のエキスパートによるプレイデータ、模倣学習又は強化学習モデルのエージェントのプレイの記録における状態データＳＲと行動データＡＲを入力する。強化学習モデルと模倣学習モデルとの融合モデルの学習実行器に対して、状態データＳＲを入力して融合モデルの行動データＡＦを出力させる。人のエキスパート又は模倣学習モデルのエージェントの行動データＡＲと、行動データＡＦとの第１の損失誤差を算出する。強化学習モデルの実行器又は最適行動アルゴリズムにより状態データＳＲに基づいて出力される行動データＡＲＬと、行動データＡＦとの第２の損失誤差を算出する。第１及び第２の損失誤差の重み比率に基づいて融合誤差を算出し、融合誤差に基づいて融合モデルの学習実行器のパラメタを更新する。【選択図】図１
2020191022.tif 000002
【特許請求の範囲】
【請求項１】
所定の環境下でエージェントが判断して最適行動をとる振舞いを実現する学習器と人らしい振舞いを実現する学習器とを融合させ、前記エージェントの行動方策を、人らしく最適行動をとるように最適化する学習方法であって、
人のエキスパートによるプレイデータ、又は所定の目的で作成されたエージェントのプレイデータの少なくとも何れかの記録における状態データＳＲと行動データＡＲを入力する入力ステップと、
前記最適行動をとる振舞いに関わる強化学習モデルと前記人らしい振舞いに関わる模倣学習モデルとの融合モデルの学習実行器に対して、前記状態データＳＲを入力して融合モデルの行動データＡＦを出力させる学習ステップと、
前記行動データＡＲと前記行動データＡＦとの第１の損失誤差を算出する第１の損失誤差算出ステップと、
前記強化学習モデルの実行器又は最適行動アルゴリズムにより前記状態データＳＲに基づいて出力される行動データＡＲＬと、前記行動データＡＦとの第２の損失誤差を算出する第２の損失誤差算出ステップと、
第１及び第２の損失誤差の重み比率に基づいて融合誤差を算出する融合誤差算出ステップと、
前記融合誤差に基づいて前記融合モデルの学習実行器のパラメタを更新する更新ステップ、を備えることを特徴とするエージェントの学習方法。
【請求項２】
前記入力ステップにおいて、前記状態データＳＲと行動データＡＲが、人のエキスパートによるプレイデータの記録である場合には、
上記の第１の損失誤差算出ステップは、
人のエキスパートによるプレイデータにおける前記行動データＡＲと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出ステップは、
前記強化学習モデルに前記状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出することを特徴とする請求項１に記載のエージェントの学習方法。
【請求項３】
前記入力ステップにおいて、前記状態データＳＲと行動データＡＲが、模倣学習モデルのエージェントのプレイデータの記録である場合には、
上記の第１の損失誤差算出ステップは、
前記模倣学習モデルのエージェントのプレイデータにおける前記行動データＡＲと前記行動データＡＦとの誤差、又は、前記模倣学習モデルに前記状態データＳＲを入力して出力させた行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出ステップは、
前記強化学習モデルに前記状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出することを特徴とする請求項１に記載のエージェントの学習方法。
【請求項４】
前記入力ステップにおいて、前記状態データＳＲと行動データＡＲが、強化学習モデルのエージェントのプレイデータの記録である場合には、
上記の第１の損失誤差算出ステップは、
前記模倣学習モデルに前記状態データＳＲを入力して出力させた行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出ステップは、
前記強化学習モデルに前記状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出することを特徴とする請求項１に記載のエージェントの学習方法。
【請求項５】
前記入力ステップにおいて、前記状態データＳＲと行動データＡＲが、人のエキスパートによるプレイデータの記録における状態データＳＨＥと行動データＡＨＥ、及び、前記強化学習モデルのエージェントのプレイデータの記録における状態データＳＲＬと行動データＡＲＬである場合には、
前記学習ステップは、前記状態データＳＨＥを入力して行動データＡＦ１を出力させ、及び、状態データＳＲＬを入力して行動データＡＦ２を出力させ、
上記の第１の損失誤差算出ステップは、
人のエキスパートによるプレイデータにおける前記行動データＡＨＥと、前記行動データＡＦ１との誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出ステップは、
前記強化学習モデルに前記状態データＳＲＬを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦ２との誤差を、損失関数を用いて算出することを特徴とする請求項１に記載のエージェントの学習方法。
【請求項６】
前記入力ステップにおいて、前記状態データＳＲと行動データＡＲが、前記模倣学習モデルのエージェントのプレイデータの記録における状態データＳＩＬと行動データＡＩＬ、及び、前記強化学習モデルのエージェントのプレイデータの記録における状態データＳＲＬと行動データＡＲＬである場合には、
前記学習ステップは、前記状態データＳＩＬを入力して行動データＡＦ１を出力させ、及び、状態データＳＲＬを入力して行動データＡＦ２を出力させ、
上記の第１の損失誤差算出ステップは、
前記模倣学習モデルのエージェントのプレイデータにおける前記行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦ１との誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出ステップは、
前記強化学習モデルに前記状態データＳＲＬを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦ２との誤差を、損失関数を用いて算出することを特徴とする請求項１に記載のエージェントの学習方法。
【請求項７】
前記知識蒸留によるソフトターゲット化は、エージェントの行動方策の出力が、熱度Ｔのパラメタを有し、ハードターゲット化とソフトターゲット化に対応し得ることを特徴とする請求項２〜６の何れかに記載のエージェントの学習方法。
【請求項８】
所定の環境下でエージェントが判断して最適行動をとる振舞いを実現する学習器と人らしい振舞いを実現する学習器とを融合させ、前記エージェントの行動方策を人らしく振舞うように最適化する学習装置であって、
人のエキスパートによるプレイデータ、又は所定の目的で作成されたエージェントのプレイデータの少なくとも何れかの記録における状態データＳＲと行動データＡＲを入力する入力部と、
前記最適行動をとる振舞いに関わる強化学習モデルと前記人らしい振舞いに関わる模倣学習モデルとの融合モデルに対して、前記状態データＳＲを入力して融合モデルの行動データＡＦを出力する学習実行器と、
前記行動データＡＲと前記行動データＡＦとの第１の損失誤差を算出する第１の損失誤差算出器と、
前記強化学習モデルの実行器又は最適行動アルゴリズムにより前記状態データＳＲに基づいて出力される行動データＡＲＬと、前記行動データＡＦとの第２の損失誤差を算出する第２の損失誤差算出器と、
第１及び第２の損失誤差の重み比率に基づいて融合誤差を算出する融合誤差算出器と、
前記融合誤差に基づいて前記融合モデルの学習実行器のパラメタを更新する更新部、を備えることを特徴とするエージェントの学習装置。
【請求項９】
前記入力部における前記状態データＳＲと行動データＡＲに応じて、下記１）〜５）の何れかの算出処理を行う構成を備えることを特徴とする請求項８に記載のエージェントの学習装置：
１）前記状態データＳＲと行動データＡＲが、人のエキスパートによるプレイデータの記録である場合には、
上記の第１の損失誤差算出器は、
人のエキスパートによるプレイデータにおける前記行動データＡＲと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出器は、
前記強化学習モデルに前記状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
２）前記状態データＳＲと行動データＡＲが、模倣学習モデルのエージェントのプレイデータの記録である場合には、
上記の第１の損失誤差算出器は、
前記模倣学習モデルのエージェントのプレイデータにおける前記行動データＡＲと前記行動データＡＦとの誤差、又は、前記模倣学習モデルに前記状態データＳＲを入力して出力させた行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出器は、
前記強化学習モデルに前記状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
３）前記状態データＳＲと行動データＡＲが、強化学習モデルのエージェントのプレイデータの記録である場合には、
上記の第１の損失誤差算出器は、
前記模倣学習モデルに前記状態データＳＲを入力して出力させた行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出器は、
前記強化学習モデルに前記状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦとの誤差を、損失関数を用いて算出し、
４）前記状態データＳＲと行動データＡＲが、人のエキスパートによるプレイデータの記録における状態データＳＨＥと行動データＡＨＥ、及び、前記強化学習モデルのエージェントのプレイデータの記録における状態データＳＲＬと行動データＡＲＬである場合には、
前記学習実行器は、前記状態データＳＨＥを入力して行動データＡＦ１を出力させ、及び、状態データＳＲＬを入力して行動データＡＦ２を出力し、
上記の第１の損失誤差算出器は、
人のエキスパートによるプレイデータにおける前記行動データＡＨＥと、前記行動データＡＦ１との誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出器は、
前記強化学習モデルに前記状態データＳＲＬを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦ２との誤差を、損失関数を用いて算出し、
５）前記状態データＳＲと行動データＡＲが、前記模倣学習モデルのエージェントのプレイデータの記録における状態データＳＩＬと行動データＡＩＬ、及び、前記強化学習モデルのエージェントのプレイデータの記録における状態データＳＲＬと行動データＡＲＬである場合には、
前記学習実行器は、前記状態データＳＩＬを入力して行動データＡＦ１を出力させ、及び、状態データＳＲＬを入力して行動データＡＦ２を出力し、
上記の第１の損失誤差算出器は、
前記模倣学習モデルのエージェントのプレイデータにおける前記行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦ１との誤差を、損失関数を用いて算出し、
上記の第２の損失誤差算出器は、
前記強化学習モデルに前記状態データＳＲＬを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、前記行動データＡＦ２との誤差を、損失関数を用いて算出する。
【請求項１０】
前記知識蒸留によるソフトターゲット化は、エージェントの行動方策の出力が、熱度Ｔのパラメタを有し、ハードターゲット化とソフトターゲット化に対応し得ることを特徴とする請求項９に記載のエージェントの学習装置。
【請求項１１】
請求項１〜７の何れかのエージェントの学習方法における全てのステップを、コンピュータに実行させるためのエージェントの学習プログラム。
【請求項１２】
請求項８〜１０の何れかのエージェントの学習装置における入力部、学習実行器、第１の損失誤差算出器、第２の損失誤差算出器、融合誤差算出器、及び、更新部として、コンピュータを機能させるためのエージェントの学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エージェントＡＩ（人工知能）を訓練する際に、強化学習モデルとの誤差と、人のエキスパートの行動や模倣学習モデルとの誤差とを巧く加味して学習できる方法、装置及びプログラムに関するものである。
【背景技術】
【０００２】
近年、強化学習（Reinforcement learning；以下、“ＲＬ”ということがある）、特に、深層強化学習（ＤＲＬ）は、電子ゲームにおいて利用されるＡＩ(人工知能)、自動車などの車両の自動運転制御、ロボットの自律制御などのアルゴリズムに応用されている。強化学習は、エピソードという単位で学習を繰り返し、環境の中で試行錯誤した結果の報酬を用いて対象となる環境に適応する手法であり方策を最適化することで学習を行うものであり、深層強化学習は、畳み込みニューラルネットワーク（ＣＮＮ）の情報処理力を利用して、画像データなどの高次元入力に基づき、強化学習を行うものである。
【０００３】
強化学習や深層強化学習では、環境内におけるエージェントが、現在の状態を観測し、取るべき行動を決定するといった問題が設定され、エージェントは行動を選択することにより環境から報酬を得る。このような環境とエージェントとのやりとりを繰り返しながら、報酬、行動、状態の３つの変数を用いて学習していく。
強化学習や深層強化学習では、エージェントが状態空間と行動空間を持つある環境で行動を取る。タイムステップ毎に、方策が特徴抽出用学習器で状態を特徴ベクトルに変換し、価値関数計算用学習器で特徴ベクトルに対する行動確率を出力する。エージェントが行動を取った後、環境はスカラーの報酬と次の状態を出力する。最終状態まで行動を取ることを繰り返すと、エピソードが終了する。
【０００４】
強化学習や深層強化学習により構築したエージェントＡＩは、環境と対話しているうちに試行錯誤を重ねて学習して様々な課題が解決でき、人間の能力を遥かに超えることから、ゲームＡＩ、ロボットの自律制御や自動運転などのアルゴリズムに応用されている（例えば、非特許文献１〜５を参照。）。しかしながら、その振る舞いを人間が予測できないことから、例えば人間と共同で作業するロボットや人が乗車する自動運転ＡＩの実用化に対し、ユーザビリティの点で課題が大きい。また、強化学習や深層強化学習により構築したエージェントＡＩは、収益を最大化するように訓練されるため高い性能を示すが、実用化する際には、このような性能指標以外のことも考慮する必要がある。例えば、テレビゲームにおいて、ゲームのプレイヤーが操作できないキャラクタであるＮＰＣ（Non Player Character）を、強化学習のエージェントＡＩにすると、そのエージェントＡＩが強すぎるため、プレイヤーがゲームをあまり楽しむことができない可能性がある。また、自動運転に応用する際には、高い性能を目指して訓練された強化学習のエージェントＡＩは、激しく加減速したり急に曲がったりして、隣接する車や歩行者などに不安を与える恐れがある。そこで、人間らしいエージェントＡＩを設計する必要がある。
【０００５】
一方、模倣学習(Imitation Learning；以下、“ＩＬ”ということがある)は、主に人のエキスパートの振舞いを再現する目的で、人間の行動を模倣するエージェントＡＩを構築するために採用されている。模倣学習においては、エキスパートが従っている方策を最適な方策であると仮定し、エージェントＡＩの方策がエキスパートの振舞いに近づくように学習が行われる。模倣学習では、人のエキスパートに最適な方策により、状態と行動のペアの系列という形で提供された上で、エージェントＡＩの方策を観測される状態からエキスパートに取れそうな行動を推測するように訓練されるので、人のエキスパートを模倣し、人らしい振舞いが期待できる。しかしながら、学習される方策は提供されたデータに制限されることから、模倣学習のエージェントＡＩの性能は、人のエキスパートの性能を超えることが殆ど無いといった問題がある（例えば、非特許文献６〜８を参照。）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】V. Mnih et al., “Human-level control through deep reinforcement learning,” Nature, vol. 518, no. 7540, pp.529, 2015.
【非特許文献２】D. Silver et al., “Mastering the game of go without human knowledge,” Nature, vol. 550, no. 7676, p. 354, 2017.
【非特許文献３】B. Vikas, “Deep reinforcement learning approach to autonomous navigation,” 2017.
【非特許文献４】T. P. Lillicrap et al., “Continuous control with deep reinforcement learning,” CoRR, vol. abs/1509.02971, 2015.
【非特許文献５】D. Silver et al., “Deterministic policy gradient algorithms,” in Proceedings of the 31st International Conference on International Conference on Machine Learning, Volume 32, ser. ICML’14. JMLR.org, 2014, pp. I-387-I-395.
【非特許文献６】S. Ross, G. Gordon, and D. Bagnell, “A reduction of imitation learning and structured prediction to no-regret online learning,” in Proceedings of the fourteenth international conference on artificial intelligence and statistics, 2011, pp. 627-635.
【非特許文献７】J. Ortega et al., “Imitating human playing styles in super mario bros,” Entertainment Computing, vol. 4, no. 2, pp. 93-104, 2013.
【非特許文献８】J. Ho and S. Ermon, “Generative adversarial imitation learning,” CoRR, vol. abs/1606.03476, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
かかる状況に鑑みて、本発明は、強化学習で獲得される人の能力を超えた効率性の高い最適行動と、人のエキスパートの行動を模倣することで獲得される人らしい振舞いを両立させたエージェントの学習方法、装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決すべく、本発明のエージェントの学習方法は、所定の環境下でエージェントが判断して最適行動をとる振舞いを実現する学習器と人らしい振舞いを実現する学習器とを融合させ、エージェントの行動方策を、人らしく最適行動をとるように最適化する学習方法であって、下記ａ）〜ｆ）のステップを備える。
ａ）人のエキスパートによるプレイデータ、又は所定の目的で作成されたエージェントのプレイデータの少なくとも何れかの記録における状態データＳＲと行動データＡＲを入力する入力ステップ。
ｂ）最適行動をとる振舞いに関わる強化学習モデルと人らしい振舞いに関わる模倣学習モデルとの融合モデルの学習実行器に対して、状態データＳＲを入力して融合モデルの行動データＡＦを出力させる学習ステップ。
ｃ）行動データＡＲと行動データＡＦとの第１の損失誤差を算出する第１の損失誤差算出ステップ。
ｄ）強化学習モデルの実行器又は最適行動アルゴリズムにより状態データＳＲに基づいて出力される行動データＡＲＬと、行動データＡＦとの第２の損失誤差を算出する第２の損失誤差算出ステップ。
ｅ）第１及び第２の損失誤差の重み比率に基づいて融合誤差を算出する融合誤差算出ステップ。
ｆ）融合誤差に基づいて融合モデルの学習実行器のパラメタを更新する更新ステップ。
【０００９】
本発明のエージェントの学習方法によれば、強化学習モデルとの誤差と、人のエキスパートの行動や模倣学習モデルとの誤差をフィードバッグして、人らしい振舞いでかつ最適行動をとるエージェントＡＩを構築することができる。
ここで、強化学習モデルの実行器は、一般的な強化学習と同様に、環境内におけるエージェントが現在の状態を観測し、取るべき行動を決定する方策が設定され、エージェントは価値関数の値が大きくなるように、方策から行動を選択して報酬を得ることを繰り返し、報酬と行動と状態の３つの変数を用いてフィードバックしながら学習して得た実行器である。
【００１０】
環境とは、例えば、電子ゲームの画面の画像データの集合や、ロボットや車両に搭載されたカメラの撮影動画の画像データの時系列などの集合である。状態データとは、画像データの集合である環境を観測して得られる個々のゲーム画像、自車両の周辺環境映像、車線位置などのデータである。また、行動データとは、例えば、電子ゲームであればゲームの入力デバイス操作、コントローラの入力（移動方向、ジャンプなど）であり、自動車の自動運転であればハンドル、アクセル、ブレーキ操作などである。
このように、強化学習は、報酬と行動と状態の３つの変数を用いてフィードバックしながら学習する仕組みによって機能するのに対し、模倣学習は、教師エージェントと生徒エージェントを用いた仕組みで機能する。
【００１１】
また、融合モデルの出力の行動データＡＦは、行動の確率分布で表現される。例えば、コントローラの各入力ボタン操作の確率分布、ハンドル、アクセル、ブレーキ操作の確率分布などである。ここで、確率分布は、最適な一つだけの操作出力の場合も、δ分布として含まれるとしている。より詳しくは、離散行動の場合は確率分布で表現され、連続行動の場合は最適なものが一つだけ出力されることになる。
また、損失誤差とは、例えば損失関数を用いて算出する現時点の出力と期待する出力との誤差をいう。
【００１２】
本発明のエージェントの学習方法の入力ステップにおいて、状態データＳＲと行動データＡＲは、下記１）〜５）の場合が存在し、それらの場合に応じて、第１及び第２の損失誤差算出ステップの処理が異なる。
１）人のエキスパートによるプレイデータの記録である場合
第１の損失誤差算出ステップは、人のエキスパートによるプレイデータにおける行動データＡＲと、行動データＡＦとの誤差を、損失関数を用いて算出する。
第２の損失誤差算出ステップは、強化学習モデルに状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、行動データＡＦとの誤差を、損失関数を用いて算出する。
【００１３】
２）模倣学習モデルのエージェントのプレイデータの記録である場合
第１の損失誤差算出ステップは、模倣学習モデルのエージェントのプレイデータにおける行動データＡＲと行動データＡＦとの誤差、又は、模倣学習モデルに前記状態データＳＲを入力して出力させた行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、行動データＡＦとの誤差を、損失関数を用いて算出する。
第２の損失誤差算出ステップは、強化学習モデルに状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、行動データＡＦとの誤差を、損失関数を用いて算出する。
【００１４】
３）強化学習モデルのエージェントのプレイデータの記録である場合
第１の損失誤差算出ステップは、模倣学習モデルに状態データＳＲを入力して出力させた行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、行動データＡＦとの誤差を、損失関数を用いて算出する。
第２の損失誤差算出ステップは、強化学習モデルに状態データＳＲを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、行動データＡＦとの誤差を、損失関数を用いて算出する。
【００１５】
４）人のエキスパートによるプレイデータの記録における状態データＳＨＥと行動データＡＨＥ、及び、強化学習モデルのエージェントのプレイデータの記録における状態データＳＲＬと行動データＡＲＬである場合
学習ステップは、状態データＳＨＥを入力して行動データＡＦ１を出力させ、及び、状態データＳＲＬを入力して行動データＡＦ２を出力させる。
第１の損失誤差算出ステップは、人のエキスパートによるプレイデータにおける行動データＡＨＥと、行動データＡＦ１との誤差を、損失関数を用いて算出する。
第２の損失誤差算出ステップは、強化学習モデルに状態データＳＲＬを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、行動データＡＦ２との誤差を、損失関数を用いて算出する。
【００１６】
５）模倣学習モデルのエージェントのプレイデータの記録における状態データＳＩＬと行動データＡＩＬ、及び、強化学習モデルのエージェントのプレイデータの記録における状態データＳＲＬと行動データＡＲＬである場合
学習ステップは、状態データＳＩＬを入力して行動データＡＦ１を出力させ、及び、状態データＳＲＬを入力して行動データＡＦ２を出力させる。
第１の損失誤差算出ステップは、模倣学習モデルのエージェントのプレイデータにおける行動データＡＩＬを知識蒸留によるソフトターゲット化した行動データと、行動データＡＦ１との誤差を、損失関数を用いて算出する。
第２の損失誤差算出ステップは、強化学習モデルに状態データＳＲＬを入力して出力させた行動データＡＲＬを知識蒸留によるソフトターゲット化した行動データと、行動データＡＦ２との誤差を、損失関数を用いて算出する。
【００１７】
本発明のエージェントの学習方法における知識蒸留によるソフトターゲット化は、エージェントの行動方策の出力が、熱度Ｔのパラメタを有し、ハードターゲット化とソフトターゲット化に対応するものである。熱度Ｔが“０”の場合は、行動方策の出力は一つの行動のみが０より大きな確率を持つハードターゲットとなり、行動は一意に決定される。一方、熱度Ｔが“０”でない場合は、複数の行動が０より大きな確率をもち、行動は確率的に決定される。
【００１８】
次に、本発明のエージェントの学習装置について説明する。
本発明のエージェントの学習装置は、所定の環境下でエージェントが判断して最適行動をとる振舞いを実現する学習器と人らしい振舞いを実現する学習器とを融合させ、エージェントの行動方策を人らしく振舞うように最適化する学習装置であって、下記Ａ）〜Ｆ）を備える。
Ａ）人のエキスパートによるプレイデータ、又は所定の目的で作成されたエージェントのプレイデータの少なくとも何れかの記録における状態データＳＲと行動データＡＲを入力する入力部。
Ｂ）最適行動をとる振舞いに関わる強化学習モデルと人らしい振舞いに関わる模倣学習モデルとの融合モデルに対して、状態データＳＲを入力して融合モデルの行動データＡＦを出力する学習実行器。
Ｃ）行動データＡＲと行動データＡＦとの第１の損失誤差を算出する第１の損失誤差算出器。
Ｄ）強化学習モデルの実行器又は最適行動アルゴリズムにより状態データＳＲに基づいて出力される行動データＡＲＬと、行動データＡＦとの第２の損失誤差を算出する第２の損失誤差算出器。
Ｅ）第１及び第２の損失誤差の重み比率に基づいて融合誤差を算出する融合誤差算出器。
Ｆ）融合誤差に基づいて前記融合モデルの学習実行器のパラメタを更新する更新部。
【００１９】
本発明のエージェントの学習装置の入力部において、上述した本発明のエージェントの学習方法の入力ステップと同様に、上述の１）〜５）の場合の状態データＳＲと行動データＡＲに応じて、第１及び第２の損失誤差算出器の算出処理が異なる。
また、本発明のエージェントの学習装置における知識蒸留によるソフトターゲット化は、上述した本発明のエージェントの学習方法と同様に、エージェントの行動方策の出力が、熱度Ｔのパラメタを有し、ハードターゲット化とソフトターゲット化に対応し得るものであり、熱度Ｔが“０”の場合は、行動方策の出力は一つの行動のみが０より大きな確率を持つハードターゲットとなり、行動は一意に決定され、一方、熱度Ｔが“０”でない場合は、複数の行動が０より大きな確率をもち、行動は確率的に決定される。
【００２０】
本発明のエージェントの学習プログラムは、上述の本発明のエージェントの学習方法における全てのステップを、コンピュータに実行させるためのプログラムである。
また本発明のエージェントの学習プログラムは、上述の本発明のエージェントの学習装置における入力部、学習実行器、第１の損失誤差算出器、第２の損失誤差算出器、融合誤差算出器及び更新部として、コンピュータを機能させるためのプログラムである。
【発明の効果】
【００２１】
本発明によれば、強化学習で獲得される人間の能力を超えた効率性の高い最適行動と、人のエキスパートの行動を模倣することで獲得される人らしい振舞いを両立させたエージェントＡＩを構築することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明のエージェントの学習装置の機能ブロック図
【図２】実施例１のエージェントの学習装置の機能ブロック図
【図３】実施例１のエージェントの学習方法の概略フロー図
【図４】実施例１の融合モデルの実行処理フロー図
【図５】実施例１の人らしい行動との損失誤差関数ＬＨＥの算出処理フロー図
【図６】実施例１の最適行動との損失誤差関数ＬＲＬの算出処理フロー図
【図７】実施例１の融合損失誤差関数ＬＭｉｘの算出処理フロー図
【図８】実施例１の融合モデルの学習処理フロー図
【図９】実施例２のエージェントの学習装置の機能ブロック図
【図１０】実施例２の人らしい行動との損失誤差関数ＬＩＬの算出処理フロー図
【図１１】実施例３のエージェントの学習装置の機能ブロック図
【図１２】実施例４のエージェントの学習装置の機能ブロック図
【図１３】実施例５のエージェントの学習装置の機能ブロック図
【図１４】実施例５のエージェントの学習方法の概略フロー図
【図１５】実施例５の融合モデルの実行処理フロー図１
【図１６】実施例５の融合モデルの実行処理フロー図２
【図１７】実施例５の人らしい行動との損失誤差関数ＬＨＥの算出処理フロー図
【図１８】実施例５の最適行動との損失誤差関数ＬＲＬの算出処理フロー図
【図１９】実施例６のエージェントの学習装置の機能ブロック図
【図２０】実施例３の損失誤差関数ＬＩＬの算出処理フロー図
【図２１】ソフトターゲット化処理器の説明図
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施形態の一例を、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【００２４】
図１は、本発明のエージェントの学習装置の機能ブロック図を示している。学習装置１は、融合モデル学習実行器２、人らしい行動との損失関数算出器３、最適行動との損失関数算出器４、融合モデル損失関数算出器５、及び、データベース（ＤＢ）６から構成される。融合モデル学習実行器２は、データベース６から状態データを取得し、融合モデルの実行処理を行い、得られた行動データを、損失関数算出器（３，４）へ出力する。損失関数算出器（３，４）は、データベース６から状態データ又は行動データを入力し、入力したデータと融合モデル学習実行器２から入力した行動データをそれぞれ損失誤差関数算出器に取込み、損失誤差関数ＬＨＬ及び損失誤差関数ＬＲＬをそれぞれ算出する。融合モデル損失関数算出器５は、損失関数算出器（３，４）が算出した損失誤差ＬＨＬ及び損失誤差ＬＲＬを入力し、人より効率的かつ人らしい振舞いとの損失誤差の融合損失誤差関数ＬＭｉｘを算出する。融合モデル学習実行器２は、融合モデル損失関数算出器５から融合損失誤差関数ＬＭｉｘを取得し、融合モデルの学習処理を行う。
以下の実施例では、融合モデルのタイプ、学習に用いるプレイデータの種別、学習のコントロールの種別の組合せパターンに分けて、本発明のエージェントの学習装置の機能ブロック図を説明する。組合せパターンを表１に纏める。
【００２５】
【表１】
2020191022.tif 000003
【実施例１】
【００２６】
図２は、実施例１のエージェントの学習装置の機能ブロック図を示している。図２に示すように、学習装置１１は、融合モデル学習実行器２、人らしい行動との損失関数算出器３、最適行動との損失関数算出器４、融合モデル損失関数算出器５及びデータベース６１から成る。データベース６１には、人のエキスパートによるプレイデータが記憶されている。損失関数算出器３には、第１の損失誤差算出器３０が設けられ、損失関数算出器４には、強化学習モデル実行器８、ソフトターゲット化処理器９及び第２の損失誤差算出器４０が設けられている。
【００２７】
学習装置１１を用いたエージェントの学習方法について、図３〜８を参照しながら説明する。図３は、実施例１のエージェントの学習方法の概略フロー図を示している。図３に示すように、まず、融合モデル学習実行器２において、融合モデルの実行処理を行う（ステップＳ１１）。次に、損失関数算出器３において、人らしい行動との損失誤差関数ＬＨＥの算出処理を行う（ステップＳ１２）。また、これとは別に、最適行動との損失誤差関数ＬＲＬの算出処理を行う（ステップＳ１３）。人らしい行動との損失誤差関数ＬＨＥ及び最適行動との損失誤差関数ＬＲＬを基に、融合モデル損失関数算出器５を用いて、融合損失誤差関数ＬＭｉｘの算出処理を行う（ステップＳ１４）。融合モデル学習実行器２において、算出された融合損失誤差関数ＬＭｉｘを取得し、融合モデルの学習処理を行う（ステップＳ１５）。融合損失誤差関数ＬＭｉｘが所定値以上の場合には（ステップＳ１６）、再度、融合モデル学習実行器２において、融合モデルの実行処理を行う（ステップＳ１１）。
【００２８】
次に、図３で示した各処理について説明する。図４は、実施例１の融合モデルの実行処理フロー図を示している。図４に示すように、融合モデル学習実行器２は、データベース６１より状態データＳＲを取得する（ステップＳ１１１）。融合モデルπへ状態データＳＲを入力し実行する（ステップＳ１１２）。融合モデルの行動データＡＦを記憶する（ステップＳ１１３）。
【００２９】
図５は、実施例１の人らしい行動との損失誤差関数ＬＨＥの算出処理フロー図を示している。図５に示すように、人らしい行動との損失関数算出器３における第１の損失誤差算出器３０は、データベース６１より人の行動データＡＲを取得する（ステップＳ１２１）。また、損失関数算出器３は、融合モデルの行動データＡＦを取得する（ステップＳ１２２）。第１の損失誤差算出器３０は、取得したＡＲとＡＦより、損失誤差関数ＬＨＥを算出する（ステップＳ１２３）。
【００３０】
図６は、実施例１の最適行動との損失誤差関数ＬＲＬの算出処理フロー図を示している。図６に示すように、最適行動との損失関数算出器４において、強化学習モデル実行器８は、データベース６１より状態データＳＲを取得する（ステップＳ１３１）。強化学習モデルπＲＬへ状態データＳＲを入力、実行し、行動データＡＲを出力する（ステップＳ１３２）。ソフトターゲット化処理器９へ行動データＡＲを入力、実行し、第２の損失誤差算出器４０へ行動データＡＳＴ２を出力する（ステップＳ１３３）。また、これとは別に、第２の損失誤差算出器４０は、融合モデルの行動データＡＦを取得する（ステップＳ１３４）。第２の損失誤差算出器４０は、取得した行動データＡＳＴ２と行動データＡＦより損失誤差関数ＬＲＬを算出する（ステップＳ１３５）。
【００３１】
ここで、ソフトターゲット化処理器９について図２１を参照して説明する。ソフトターゲット化処理器９における知識蒸留によるソフトターゲット化は、前述のとおり、エージェントの行動方策の出力が、熱度Ｔのパラメタを有し、ハードターゲット化とソフトターゲット化に対応するものである。熱度Ｔ＝０の場合は、行動方策の出力は一つの行動のみが０より大きな確率を持つハードターゲットとなり、行動は一意に決定される。一方、熱度Ｔ＞０の場合（Ｔが０でない場合）は、複数の行動が０より大きな確率をもち、行動は確率的に決定される。
ソフトターゲット化処理器について、最適行動との損失関数算出器に用いられる場合を例にして説明する。図２１（１）に示すように、強化学習モデル実行器が、状態データを入力し、実行器の出力データＧをソフトターゲット化処理器に出力し、さらにソフトターゲット化処理器が、出力データＬを損失誤差ＬＲＬ算出器に出力する。損失誤差ＬＲＬ算出器は、融合モデルの出力の行動データと、ソフトターゲット化処理器の出力データとを入力し損失誤差関数を算出する。
【００３２】
この場合、図２１（３）に示すように、ソフトターゲット化処理器のパターンは大きくわけて３通り存在する。先ず、ソフトターゲット化処理器内の処理で、熱度Ｔを処理し、Ｔ＝０，Ｔ＞０の場合に分けてそれぞれデータｍとデータＬにつき損失誤差関数を算出するパターン（これを“パターンＡ”とする）、次に、ソフトターゲット化処理器内の処理で、熱度Ｔを処理し、Ｔ＞０とするデータＬにつき損失誤差関数を算出するパターン（これを“パターンＢ”とする）、そして、ソフトターゲット化処理器内の処理で、熱度Ｔを処理し、Ｔ＝１とするデータＧにつき損失誤差関数を算出するパターン（これを“パターンＣ１”とする）と、Ｔ＝０とするデータＧにつき損失誤差関数を算出するパターン（これを“パターンＣ２”とする）が存在する。熱度Ｔによるソフトターゲット化処理は、具体的には、図２１（２）に示すグラフのような処理関数を用いて、指数関数のパラメタとして熱度Ｔを使用している。上記のパターンとデータ名とデータ形式を表２に纏める。
【００３３】
【表２】
2020191022.tif 000004
【００３４】
図７は、実施例１の融合損失誤差関数ＬＭｉｘの算出処理フロー図を示している。図７に示すように、融合モデル損失関数算出器５は、損失誤差関数ＬＨＥ及びＬＲＬを取得する（ステップＳ１４１）。融合モデル損失関数算出器５は、トレードオフ係数α、ＬＨＥ及びＬＲＬより融合損失誤差関数ＬＭｉｘを算出する（ステップＳ１４２）。
【００３５】
図８は、実施例１の融合モデルの学習処理フロー図を示している。図８に示すように、融合モデル学習実行器２は、融合損失誤差関数ＬＭｉｘを取得する（ステップＳ１５１）。融合モデル学習実行器２は、融合損失誤差関数ＬＭｉｘが小さくなる様に融合モデルのパラメタを変更する（ステップＳ１５２）。
【実施例２】
【００３６】
図９は、実施例２のエージェントの学習装置の機能ブロック図を示している。図９に示すように、学習装置１２は、融合モデル学習実行器２、人らしい行動との損失関数算出器３、最適行動との損失関数算出器４、融合モデル損失関数算出器５及びデータベース６２から成る。データベース６２には、模倣学習モデル実行器７に設けられた模倣学習モデルπＩＬによるプレイデータが記憶されている。損失関数算出器３には、第１の損失誤差算出器３０が設けられ、損失関数算出器４には、強化学習モデル実行器８、ソフトターゲット化処理器９及び第２の損失誤差算出器４０が設けられている。
実施例２のエージェントの学習装置１２は、使用するデータベースが、模倣学習モデルによるプレイデータが記憶されたデータベース６２である点で、人のエキスパートによるプレイデータが記憶されたデータベース６１を使用する実施例１の学習装置１１とは異なる。そのため、実施例２のエージェントの学習方法では、人らしい行動との損失誤差関数ＬＩＬの算出処理について、実施例１とは異なっている。
【００３７】
図１０は、実施例２の人らしい行動との損失誤差関数ＬＩＬの算出処理フロー図を示している。図１０に示すように、人らしい行動との損失関数算出器３における第１の損失誤差算出器３０は、データベース６２より模倣学習モデルの行動データＡＩＬを取得する（ステップＳ２１１）。また、損失関数算出器３は、融合モデルの行動データＡＦを取得する（ステップＳ２１２）。第１の損失誤差算出器３０は、取得したＡＩＬとＡＦより、損失誤差関数ＬＩＬを算出する（ステップＳ２１３）。
【実施例３】
【００３８】
図１１は、実施例３のエージェントの学習装置の機能ブロック図を示している。図１１に示すように、学習装置１３は、融合モデル学習実行器２、人らしい行動との損失関数算出器３、最適行動との損失関数算出器４、融合モデル損失関数算出器５及びデータベース６２から成る。データベース６２には、模倣学習モデル実行器７に設けられた模倣学習モデルπＩＬによるプレイデータが記憶されている。損失関数算出器４には、強化学習モデル実行器８、ソフトターゲット化処理器９及び第２の損失誤差算出器４０が設けられている。
実施例３のエージェントの学習装置１３では、実施例２とは異なり、損失関数算出器３には、第１の損失誤差算出器３０だけではなく、模倣学習モデル実行器７及びソフトターゲット化処理器９が設けられている。
【００３９】
図２０は、実施例３の人らしい行動との損失誤差関数ＬＩＬの算出処理フロー図を示している。図２０に示すように、まず、損失関数算出器３は、データベース６２から状態データＳＲを取得する（ステップＳ４１１）。模倣学習モデル実行器７の模倣学習モデルπＩＬへ状態データＳＲを入力、実行し、行動データＡＩＬを出力する（ステップＳ４１２）。ソフトターゲット化処理器９へ行動データＡＩＬを入力、実行し、行動データＡＳＴ１を出力する（ステップＳ４１３）。また、これとは別に、第１の損失誤差算出器３０は、融合モデルの行動データＡＦを取得する（ステップＳ４１４）。第１の損失誤差算出器３０は、取得した行動データＡＳＴ１と行動データＡＦより損失誤差関数ＬＩＬを算出する（ステップＳ４１５）。
【実施例４】
【００４０】
図１２は、実施例４のエージェントの学習装置の機能ブロック図を示している。図１２に示すように、学習装置１４は、融合モデル学習実行器２、人らしい行動との損失関数算出器３、最適行動との損失関数算出器４、融合モデル損失関数算出器５及びデータベース６３から成る。データベース６２には、強化学習モデル実行器８に設けられた強化学習モデルπＲＬによるプレイデータが記憶されている。損失関数算出器３に模倣学習モデル実行器７、ソフトターゲット化処理器９及び第１の損失誤差算出器３０が設けられている点は、実施例３と同様である。また、損失関数算出器４には、強化学習モデル実行器８、ソフトターゲット化処理器９及び第２の損失誤差算出器４０が設けられている。
実施例４のエージェントの学習装置１４では、使用するデータベースが、強化学習モデルによるプレイデータが記憶されたデータベース６３である点で、模倣学習モデルによるプレイデータが記憶されたデータベース６２を使用する実施例３の学習装置１３と異なるが、その他の点は同様である。
【実施例５】
【００４１】
図１３は、実施例５のエージェントの学習装置の機能ブロック図を示している。図１３に示すように、学習装置１５は、融合モデル学習実行器２、人らしい行動との損失関数算出器３、最適行動との損失関数算出器４、融合モデル損失関数算出器５及びデータベース（６１，６３）から成る。損失関数算出器３には、第１の損失誤差算出器３０が設けられ、損失関数算出器４には、第２の損失誤差算出器４０が設けられている。
実施例５の学習装置１５は、人のエキスパートによるプレイデータが記憶されたデータベース６１と、強化学習モデル実行器８に設けられた強化学習モデルπＲＬによるプレイデータが記憶されたデータベース６３という２種類のデータベースを使用する点で、実施例１〜４とは異なっている。
【００４２】
そこで、学習装置１５を用いたエージェントの学習方法について、図１４〜１８を参照しながら説明する。図１４は、実施例５のエージェントの学習方法の概略フロー図を示している。図１４に示すように、まず、融合モデル学習実行器２は、融合モデルの実行処理１を行う（ステップＳ３１）。またこれとは別に、融合モデル学習実行器２は、融合モデルの実行処理２を行う（ステップＳ３２）。ステップＳ３１の融合モデルの実行処理１の後に、損失関数算出器３において、人らしい行動との損失誤差関数ＬＨＥの算出処理を行う（ステップＳ３３）。また、ステップＳ３２の融合モデルの実行処理２の後に、最適行動との損失誤差関数ＬＲＬの算出処理を行う（ステップＳ３４）。なお、ステップＳ３３はステップＳ３１の後に行われ、ステップＳ３４はステップＳ３２の後に行われればよく、例えば、ステップＳ３１の前にステップＳ３２を行ってもよい。
人らしい行動との損失誤差関数ＬＨＥ及び最適行動との損失誤差関数ＬＲＬを基に、融合モデル損失関数算出器５を用いて、融合損失誤差関数ＬＭｉｘの算出処理を行う（ステップＳ３５）。融合モデル学習実行器２において、算出された融合損失誤差関数ＬＭｉｘを取得し、融合モデルの学習処理を行う（ステップＳ３６）。融合損失誤差関数ＬＭｉｘが所定値以上の場合には（ステップＳ３７）、再度、融合モデル学習実行器２において、融合モデルの実行処理１及び２を行う（ステップＳ３１，ステップＳ３２）。
【００４３】
次に、図１４で示した各処理について説明する。図１５は、実施例５の融合モデルの実行処理フロー図１を示している。図１５に示すように、融合モデル学習実行器２は、データベース６１（ＤＢ１）より状態データＳＲ１を取得する（ステップＳ３１１）。融合モデルπへ状態データＳＲ１を入力し実行する（ステップＳ３１２）。融合モデルの行動データＡＦ１を記憶する（ステップＳ３１３）。
【００４４】
図１６は、実施例５の融合モデルの実行処理フロー図２を示している。図１６に示すように、融合モデル学習実行器２は、データベース６３（ＤＢ２）より状態データＳＲ２を取得する（ステップＳ３２１）。融合モデルπへ状態データＳＲ２を入力し実行する（ステップＳ３２２）。融合モデルの行動データＡＦ２を記憶する（ステップＳ３２３）。
【００４５】
図１７は、実施例５の人らしい行動との損失誤差関数ＬＨＥの算出処理フロー図を示している。図１７に示すように、人らしい行動との損失関数算出器３における第１の損失誤差算出器３０は、データベース６１より人の行動データＡＲを取得する（ステップＳ３３１）。また、損失関数算出器３は、融合モデルの行動データＡＦ１を取得する（ステップＳ３３２）。第１の損失誤差算出器３０は、取得したＡＲとＡＦ１より、損失誤差関数ＬＨＥを算出する（ステップＳ３３３）。
【００４６】
図１８は、実施例５の最適行動との損失誤差関数ＬＲＬの算出処理フロー図を示している。図１８に示すように、最適行動との損失関数算出器４は、データベース６３（ＤＢ２）より強化学習モデルの行動データＡＲＬを取得する（ステップＳ３４１）。また、これとは別に、第２の損失誤差算出器４０は、融合モデルの行動データＡＦ２を取得する（ステップＳ３４２）。第２の損失誤差算出器４０は、取得した行動データＡＲＬと行動データＡＦ２より損失誤差関数ＬＲＬを算出する（ステップＳ３４３）。
【００４７】
なお、図１４に示すステップＳ３５の融合損失誤差関数ＬＭｉｘの算出処理については、図７に示す実施例１の融合損失誤差関数ＬＭｉｘの算出処理フロー図と同様の処理を行う。また、図１４に示すステップＳ３６の融合モデルの学習処理については、図８に示す実施例１の融合モデルの学習処理フロー図と同様の処理を行う。
【実施例６】
【００４８】
図１９は、実施例６のエージェントの学習装置の機能ブロック図を示している。図１９に示すように、学習装置１６は、融合モデル学習実行器２、人らしい行動との損失関数算出器３、最適行動との損失関数算出器４、融合モデル損失関数算出器５及びデータベース（６２，６３）から成る。損失関数算出器３には、模倣学習モデル実行器７、ソフトターゲット化処理器９及び第１の損失誤差算出器３０が設けられ、損失関数算出器４には、強化学習モデル実行器８、ソフトターゲット化処理器９及び第２の損失誤差算出器４０が設けられている。
実施例６の学習装置１６は、模倣学習モデル実行器７に設けられた模倣学習モデルπＩＬによるプレイデータが記憶されたデータベース６２（ＤＢ１）と、強化学習モデル実行器８に設けられた強化学習モデルπＲＬによるプレイデータが記憶されたデータベース６３（ＤＢ２）という２種類のデータベースを使用する点で、データベース（６１，６３）を使用する実施例５とは異なっている。
【実施例７】
【００４９】
（融合モデルの性能評価について）
上述の実施例で説明したとおり、強化学習モデルの高い性能を保ったまま人らしいエージェントＡＩを学習するという学習方法は、人の性能を凌駕する効率的な最適行動をとるエージェントＡＩを学習する処理と、人らしく行動を選択するエージェントＡＩを学習する処理の２つから構成されている。
各処理は、それぞれの強化学習と模倣学習の課題として取り組まれている。そこで、本発明では、強化学習と模倣学習の融合モデルについて、離散行動空間の場合の方策の蒸留に基づき、連続行動空間の場合は敵対模倣学習に基づく方法となっている。
また、π＊を強化学習モデルによる最適な方策、πＨＥを人（エキスパート）の方策とし、これらの２つの方策の比率を決めるパラメタをα∈(０，１)とすると、目的関数は下記の式のようになる。
【００５０】
【数１】
2020191022.tif 000005
【００５１】
離散行動空間の場合、模倣学習の目的関数を、模倣学習の先行する研究に従って、以下の交差エントロピー損失として定義する。
【００５２】
【数２】
2020191022.tif 000006
【００５３】
人（エキスパート）の方策πＨＥは、数理モデルとして定義するのが難しく、実験的にサンプリングされたデータの上で学習を行うことにする。πＨＥからソフトターゲットが得られないにも関わらず、方策の蒸留には、ハードターゲットとソフトターゲットの重付き平均を計算することでより良い性能が得られる。したがって、人（エキスパート）に提供されるデータをハードターゲットとし、学習済みモデルの方策π(Ｔ)ＲＬの出力を、熱度Ｔで調整したものをソフトターゲットとする。最終的に、損失関数は以下のようになる。
【００５４】
【数３】
2020191022.tif 000007
【００５５】
連続行動空間の場合には、模倣学習方法として、既知の方法のＧＡＩＬ（Generative Adversarial Imitation Learning)法を用いる（ＧＡＩＬ法については、非特許文献８を参照。）。ＧＡＩＬ法は教師モデルπからサンプリングされた軌道τ〜πを必要とする。ＧＡＩＬ法における識別器Ｄｗに最大化される目的関数と生徒モデルに最小化される目的関数は以下のようになる。
【００５６】
【数４】
2020191022.tif 000008
【００５７】
ここで、τは生徒モデルからサンプリングされた軌道τ〜πである。融合化モデルとする際には、教師モデルを人（エキスパート）と強化学習モデルにするため、それぞれのエキスパートから軌道τＨＥ〜πＨＥと、τＲＬ〜πＲＬをサンプリングする。さらに、融合の損失関数を以下のように置き換えることができる。直感的には、識別器Ｄｗは、人（エキスパート）と強化学習モデルの方策間の融合方策を認めるように学習され、この識別器を騙せるように訓練される生徒モデルπが融合方策に近づき、両方のエキスパートの長所を模倣すると期待される。
【００５８】
【数５】
2020191022.tif 000009
【００５９】
実施した実験について説明する。
（実験１）Atari 2600 ゲーム（Gopher）
実施例１の学習装置を、まず離散行動空間のGopherという名称のAtari 2600システムのゲームに適用した。このゲームは、地下から地上に出てくるねずみ（Gopher）が人参を取れないように、ゲームのユーザが農夫として行動し（振舞い）、左右に動いたり穴を埋めたりすることである。人（エキスパート）と訓練済みの学習モデルがそれぞれ55000のフレームを提供した上、訓練セットを50000、テストセットを5000として学習を行った。特に、生徒モデルを訓練するために学習率１０-４のAdam optimizerとDropout率０．５を利用した。また、知識蒸留の熱度をＴ＝０．１、トレードオフ係数をα＝０．９３として、融合モデルの学習を行った。
【００６０】
（実験２）Torcs
Torcs（Wymann, B.,“The open racing car simulator”,(2015)を参照）は、自動運転の研究で最もよく利用されるシミュレータの１つである。このTorcsを用いた実験は、GymTorcs環境をベースにした。エージェントＡＩの観測空間は、車から端までの距離、敵の車までの距離、現在の速度や加速度など、全体で６５の連続値から成っている。行動空間は、２つの要素「左右」と「加減速」から成っており、取りうる値は[-1.0，1.0]の範囲に限られる。
報酬関数は、走った距離にし、強化学習モデルをOpenAI Baselinesを基に訓練した。さらに、人らしさが見分けられる状況が現れるように、Torcsのシミュレータに停車ボットをした上、人（エキスパート）に６０秒の２２０エピソードをプレイさせ、そのデータを収集した。単なる模倣学習エージェントを、人（エキスパート）のデータ上で、強化学習モデルの訓練と同じく、OpenAIのＧＡＩＬ法を用いて訓練を行った。最後に、ＧＡＩＬ法における学習器の更新を実施し、両方のエキスパートの影響を等しくするためにトレードオフ係数α＝０．５にして、融合モデルの学習を行った。
（実験３）Appleゲーム
Appleゲームは、ランダムに１つ画面上に現われたリンゴをプレイヤーが収集し、収集されたリンゴの数でスコアを出すものである。
【００６１】
（３）人間らしさの感性試験
各モデルの評価以外は、モデルの人らしさを評価するためにダブル・ブラインドで感性試験を実施した。その試験は男性２３人、女性３人の計２６人の審査員を対象にした。年齢は２７から５９歳、平均年齢は４４歳である。感性試験の審査員全員、本調査以前に、本発明内容に関する資料には接触がなかった。初めに、審査員に各ゲームのルールを説明し、人らしい行動（振舞い）を理解してもらえるように各ゲームの体験会を実施した。調査の内容は、各審査員、ゲーム毎に２本の動画（Gopherの場合１５秒、Torcsの場合３０秒）を提供し、人間かＡＩかの判断とその理由を依頼した。
【００６２】
実験結果について説明する。
（１）Atari 2600 ゲーム（Gopher）
性能に関して、点数の高い順に、強化学習モデル（比較例３）、次に実施例の融合モデル、最後に人（比較例１）と模倣学習モデル（比較例２）の順番になった。実施例の融合モデルは、強化学習モデル（比較例３）に提供されたターゲットをα＝０．８で優先したにも関わらず、スコアの向上が３点しかなく、単体の強化学習モデルの点数との差が大きい。感性試験に関して、強化学習モデル（比較例３）は、あまり人間らしくないと判断されたが、実施例の融合モデルは点数だけではなく、人らしさでも、人（比較例１）とその模倣（比較例２）より高いスコアを示した。
融合モデルは、強化学習の目標に向かった学習傾向と人（エキスパート）の振舞いを学習できたことがわかる。なお、意外にも、融合モデルは人（エキスパート）よりも、人らしいと判断された。その理由を解明するために、審査員のコメント分析によってよく現れた感想は、“無駄な動きが少ない”、“動きが細かい、プログラム感が動きにある”、“穴を順番に埋めようとする”であった。従って、人（エキスパート）は、特にゲームをあまりしない審査員に高い性能が期待されていなかったと考えられる。点数の結果を表３に纏める。
【００６３】
【表３】
2020191022.tif 000010
【００６４】
（２）Torcs
性能の評価に関して、まず、それぞれの人（エキスパート）、ＧＡＩＬによる人の模倣学習、強化学習のＤＤＰＧと融合モデルの点数を比較した。点数の結果を表４に纏める。実験より、ＧＡＩＬは訓練済みの強化学習モデルや決定論的なボットの模倣に優れているが、人（エキスパート）の模倣の効率は意外に低いことが観測された。それは、人（エキスパート）の方策は複雑で、基本的なニューラルネットワークでの扱いが困難だと推定される。一方で、実施例の融合モデルは、例えば、強化学習モデル（比較例３）の高速度や、人（比較例１）の曲がり方という特徴の模倣に成功した。さらに、人（比較例１）と強化学習モデル（比較例３）のように全体のトラックを走れるようになった。
人らしいと判断された割合が低い順に、まず強化学習モデル（比較例３）は“走るのが速すぎる”や“高速で角を曲がる”という理由で、あまり人間らしくないと判断された。意外にも、人（比較例１）は人らしくないと判断された。同じ動画に対して、審査員のコメントが多様であるが、より低い性能を示した人の模倣エージェントＡＩが、人（エキスパート）より人らしいと判断されたため、Gopherと同じく、人（比較例１）に示された性能は高いといえる。最後に、融合モデルは最も人らしいと判断された上、強化学習モデル（比較例３）に近い性能を示した。
【００６５】
【表４】
2020191022.tif 000011
【００６６】
（実験３）Appleゲーム
Appleゲームは単純な原理、すなわち、プレイヤーのアバターを出現したリンゴの位置に移動させるゲームである。そして、強化学習が最も高いスコアを達成し、続いて、実施例の学習方法、そして最後に、人（比較例１）とその模倣学習が続いた。
人らしさに関する限り、人のエージェント（比較例１）が最もよかった。実施例の学習方法は、スコアにおいて人（比較例１）及びその模倣学習モデルのエージェント（比較例２）を上回りながら、強化学習モデルのエージェント（比較例３）よりも人らしい行動を示し、その後に人（比較例１）が続いた。この結果から、実施例の学習方法は、このゲームにおける人らしい行動と高性能のバランスをとることがわかる。
【００６７】
【表５】
2020191022.tif 000012
【産業上の利用可能性】
【００６８】
本発明は、自動車の自動運転、工業用ロボットアームの自動制御など幅広い分野におけるエージェントの学習に有用である。
【符号の説明】
【００６９】
１，１１〜１６  学習装置
２  融合モデル学習実行器
３，４  損失関数算出器
５  融合モデル損失関数算出器
６，６１〜６３  データベース
７  模倣学習モデル実行器
８  強化学習モデル実行器
９  ソフトターゲット化処理器
３０  第１の損失誤差算出器
４０  第２の損失誤差算出器
【図１】
2020191022.tif 000013
【図２】
2020191022.tif 000014
【図３】
2020191022.tif 000015
【図４】
2020191022.tif 000016
【図５】
2020191022.tif 000017
【図６】
2020191022.tif 000018
【図７】
2020191022.tif 000019
【図８】
2020191022.tif 000020
【図９】
2020191022.tif 000021
【図１０】
2020191022.tif 000022
【図１１】
2020191022.tif 000023
【図１２】
2020191022.tif 000024
【図１３】
2020191022.tif 000025
【図１４】
2020191022.tif 000026
【図１５】
2020191022.tif 000027
【図１６】
2020191022.tif 000028
【図１７】
2020191022.tif 000029
【図１８】
2020191022.tif 000030
【図１９】
2020191022.tif 000031
【図２０】
2020191022.tif 000032
【図２１】
2020191022.tif 000033