(57)【要約】  学習装置８０は、入力部８１と、模倣学習部８２とを備えている。入力部８１は、報酬関数のタイプの入力を受け付ける。模倣学習部８２は、学習データに基づいて模倣学習により方策を学習する。また、模倣学習部８２は、タイプに応じて定義された型に基づいて、模倣学習により、そのタイプに応じた報酬関数を学習する。
2020115903.tif 000002
【特許請求の範囲】
【請求項１】
報酬関数のタイプの入力を受け付ける入力部と、
学習データに基づいて模倣学習により方策を学習する模倣学習部とを備え、
前記模倣学習部は、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習する
ことを特徴とする学習装置。
【請求項２】
模倣学習部は、報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習する
請求項１記載の学習装置。
【請求項３】
入力部は、報酬関数のタイプとして、処理に速度が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、
模倣学習部は、前記処理を行う装置で要求される型のモデルに基づいて、模倣学習により報酬関数を学習する
請求項１または請求項２記載の学習装置。
【請求項４】
処理にイジングモデル特化型マシンが用いられ、
模倣学習部は、イジングモデルを示す型の関数に基づいて、模倣学習により報酬関数を学習する
請求項３記載の学習装置。
【請求項５】
入力部は、報酬関数のタイプとして、処理に精度が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、
模倣学習部は、ニューラルネットワークを示す型の関数に基づいて、模倣学習により報酬関数を学習する
請求項１または請求項２記載の学習装置。
【請求項６】
入力部は、報酬関数のタイプとして、解釈性が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、
模倣学習部は、線形モデル、決定木、またはテキスト表現を示す型の関数に基づいて、模倣学習により報酬関数を学習する
請求項１または請求項２記載の学習装置。
【請求項７】
学習された報酬関数を出力する出力部を備え、
前記出力部は、学習データと、学習された報酬関数に基づく予測結果との近さを評価結果として出力する
請求項１から請求項６のうちのいずれか１項に記載の学習装置。
【請求項８】
コンピュータが、報酬関数のタイプの入力を受け付け、
前記コンピュータが、学習データに基づいて模倣学習により方策を学習し、
前記コンピュータが、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習する
ことを特徴とする学習方法。
【請求項９】
報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習する
請求項８記載の学習方法。
【請求項１０】
コンピュータに、
報酬関数のタイプの入力を受け付ける入力処理、および、
学習データに基づいて模倣学習により方策を学習する模倣学習処理を実行させ、
前記模倣学習処理で、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習させる
ための学習プログラム。
【請求項１１】
模倣学習処理で、報酬関数の汎関数として方策を定式化させ、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習させる
請求項１０記載の学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析者の要求に応じた態様の報酬を学習する学習装置、学習方法、および学習プログラムに関する。
【背景技術】
【０００２】
ＡＩ（Artificial intelligence ）の分野において、機械学習を行うための様々なアルゴリズムが提案されている。データ同化手法は、シミュレータを用いて現象を再現する方法であり、例えば、非線形性の高い自然現象を数値モデルによって再現する。また、他にも、大規模シミュレータのパラメータを決定したり、特徴量を抽出したりする際も、ディープラーニングなどの機械学習のアルゴリズムが用いられる。【０００３】
また、状態が変化しうる環境において行動を行うエージェントについて、環境の状態に応じた適切な行動を学習する方法として、強化学習が知られている。例えば、非特許文献１には、統計力学のドメイン知識を転用することで、強化学習を効率よく行う方法が記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Adam Lipowski, et al., "Statistical mechanics approach to a reinforcement learning model with memory", Physica A vol. 388, pp. 1849-1856, 2009
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＡＩの多くは、データを用意する以前に、明確なゴールや評価基準を定める必要がある。例えば、強化学習では、行動および状態に応じた報酬を定義する必要があるが、その原理的な仕組みが分かっていなければ、報酬を定義することができない。すなわち、一般的なＡＩは、データドリブンではなく、ゴール／評価方法ドリブンであるとも言える。【０００６】
具体的には、上述するような大規模シミュレータのパラメータを決定する際には、ゴールを決定する必要がある。また、ディープラーニングを用いた特徴量抽出では、どの特徴量が効くのか判断することは可能であるが、それ自体を学習する際にも、一定の評価基準が必要になる。非特許文献１に記載された方法についても同様である。【０００７】
また、行動及び状態の原理的な仕組みが把握できているような場合であっても、取得されたデータに対応する報酬を定義しようとした場合、要求される報酬の態様は様々であることが考えられる。例えば、エージェントの行動のメカニズムを理解できるように報酬の定義が求められる場合もあれば、仕様が複雑であっても精度を最優先するように報酬の定義が求められる場合もある。【０００８】
近年、多くのデータが採取できるようになっていることから、取得されたデータに基づいて報酬を定義できることが好ましく、さらに、分析者の要求に応じた態様の報酬を生成できることが好ましい。【０００９】
そこで、本発明は、分析者の要求に応じた態様の報酬を学習できる学習装置、学習方法、および学習プログラムを提供すること目的とする。
【課題を解決するための手段】
【００１０】
本発明による学習装置は、報酬関数のタイプの入力を受け付ける入力部と、学習データに基づいて模倣学習により方策を学習する模倣学習部とを備え、模倣学習部が、タイプに応じて定義された型に基づいて、模倣学習により、そのタイプに応じた報酬関数を学習することを特徴とする。【００１１】
本発明による学習方法は、コンピュータが、報酬関数のタイプの入力を受け付け、コンピュータが、学習データに基づいて模倣学習により方策を学習し、コンピュータが、タイプに応じて定義された型に基づいて、模倣学習により、そのタイプに応じた報酬関数を学習することを特徴とする。【００１２】
本発明による学習プログラムは、コンピュータに、報酬関数のタイプの入力を受け付ける入力処理、および、学習データに基づいて模倣学習により方策を学習する模倣学習処理を実行させ、模倣学習処理で、タイプに応じて定義された型に基づいて、模倣学習により、そのタイプに応じた報酬関数を学習させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、分析者の要求に応じた態様の報酬を学習できる。
【図面の簡単な説明】
【００１４】
【図１】本発明による学習装置の一実施形態を示すブロック図である。
【図２】決定木の関数形を用いた学習結果の例を示す説明図である。
【図３】学習装置の動作例を示すフローチャートである。
【図４】学習装置を用いて最適化を行う最適化システムの一実施形態を示すブロック図である。
【図５】本発明による学習装置の概要を示すブロック図である。
【図６】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。
【００１６】
図１は、本発明による学習装置１００の一実施形態を示すブロック図である。本実施形態の学習装置１００は、記憶部１０と、入力部２０と、模倣学習部３０と、出力部４０とを備えている。
【００１７】
記憶部１０は、対象環境の状態を表す状態ベクトルｓ＝（ｓ１，ｓ２，…）と、その状態ベクトルで表される状態において行われた行動ａとを対応付けたデータ（以下、学習データと記す。）を記憶する。ここでは、一般的な強化学習で想定するように、取り得る状態が複数ある環境（以下、対象環境と記す。）、および、その環境において複数の行動を行い得る者（以下、エージェントと記す。）を想定する。なお、以下の説明では、状態ベクトルｓのことを、単に状態ｓと記すこともある。
【００１８】
エージェントの例として、例えば、自動運転車が挙げられる。この場合の対象環境は、自動運転車の状態及びその周囲の状態（例えば、周囲の地図、他車両の位置や速度、及び道路の状態）などの集合として表される。
【００１９】
エージェントが行うべき行動は、対象環境の状態に応じて異なる。上述の自動運転車の例であれば、前方に障害物があればその障害物を回避するように進行する必要がある。他にも、前方の路面の状態や前方の車両との車間距離などに応じ、車両の走行速度を変更する必要がある。
【００２０】
対象環境の状態に応じてエージェントが行うべき行動を出力する関数を、方策（ｐｏｌｉｃｙ）と呼ぶ。後述する模倣学習部３０は、模倣学習によって方策の生成を行う。方策が理想的なものに学習されれば、方策は、対象環境の状態に応じ、エージェントが行うべき最適な行動を出力するものになる。
【００２１】
入力部２０は、後述する模倣学習部３０が生成する報酬関数のタイプの入力を受け付ける。報酬関数のタイプとは、分析者が報酬関数に要求する観点で規定される情報であり、具体的には、報酬関数の態様を識別する情報である。報酬関数のタイプとしては、主に、最適化処理に速度が要求される場合に用いられる態様の報酬関数（以下、速度要求タイプと記す。）、精度が要求される場合に用いられる態様の報酬関数（以下、精度要求タイプと記す。）、解釈性が要求される場合に用いられる態様の報酬関数（以下、解釈性要求タイプと記す。）などが挙げられる。
【００２２】
入力部２０は、報酬関数のタイプを一つだけ受け付けてもよく、複数受け付けてもよい。また、入力部２０は、分析者の要望を表現したテキストの入力を受け付け、受け付けたテキストの内容に基づいて、報酬関数の態様を決定してもよい。以下では、主に、上記３つのタイプ（すなわち、速度要求タイプ、精度要求タイプおよび解釈性要求タイプ）について説明する。ただし、報酬関数の態様は、上記３つのタイプに限定されず、また、報酬関数を規定する観点も、上記３つのタイプに限定されない。
【００２３】
模倣学習部３０は、状態ベクトルｓと行動ａとを対応付けたデータ（すなわち、学習データ）を利用して模倣学習を行い、方策を出力する。模倣学習によって得られる方策は、与えられた学習データを模倣するものになる。ここで、エージェントが行動を選択する規則である方策をπと表わし、この方策πのもと、状態ｓにおいて行動ａを選択する確率を、π（ｓ，ａ）と表わす。模倣学習部３０が模倣学習を行う方法は任意であり、模倣学習部３０は、一般的な方法を用いて模倣学習を行うことで方策を出力すればよい。
【００２４】
さらに、模倣学習部３０は、模倣学習を行い、受け付けたタイプに応じた報酬関数を出力する。すなわち、模倣学習部３０は、予め想定される複数の報酬関数のタイプの中から選択的に報酬を設計していると言える。具体的には、模倣学習部３０は、状態ベクトルｓを報酬関数ｒに入力することで得られる報酬ｒ（ｓ）を関数の入力とする方策を定める。すなわち、方策から得られる行動ａは、以下に例示する式１で定められる。
【００２５】
ａ〜π（ａ｜ｒ（ｓ））    （式１）
【００２６】
すなわち、模倣学習部３０は、方策を報酬関数の汎関数として定式化してもよい。このような定式化をした方策を用いて模倣学習を行うことにより、模倣学習部３０は、方策の学習を行いつつ、報酬関数の学習も行うことが可能になる。
【００２７】
なお、ある状態ｓおよび行動ａから状態ｓ´を選択する確率は、π（ａ｜ｓ）と表わすことができる。上記に示す式１のように方策を定めた場合、報酬関数ｒ（ｓ，ａ）を用いて、以下に例示する式２の関係を定めることができる。なお、報酬関数ｒ（ｓ，ａ）を、ｒａ（ｓ）と記すこともある。
【００２８】
π（ａ｜ｓ）:=π（ａ｜ｒ（ｓ，ａ））    （式２）
【００２９】
また、方策を選択する確率π（ａ｜ｓ）は、ある状態ｓにおける行動ａにより得られる報酬と関連することから、上記の報酬関数ｒａ（ｓ）を用いて、以下に例示する式３の形式で定義できる。なお、ＺＲは分配関数であり、ＺＲ＝Σａｅｘｐ（ｒａ（ｓ））である。
【００３０】
【数１】
2020115903.tif 000003
【００３１】
本実施形態では、模倣学習部３０は、報酬関数のタイプに応じて定義された関数を用いて報酬関数ｒ（ｓ，ａ）を学習する。以下、報酬関数のタイプに応じて、それぞれ具体的に説明する。
【００３２】
第一の報酬関数のタイプは、速度要求タイプである。近年、組合せ最適化問題を高速に解く方法として、量子アニーリングが知られている。量子アニーリングを行うための装置（以下、量子アニーリングマシンと記す。）の入力には、例えば、イジングモデル（Ising model ）が用いられる。イジングモデルの関数形は、以下に示す式４で表される。式４において、状態を表わす（ｓ，ａ）が、イジングモデルにおけるσに対応し、パラメータθが、Ｊｉｊおよびｈｉに対応する。
【００３３】
【数２】
2020115903.tif 000004
【００３４】
そこで、入力部２０が報酬関数のタイプとして速度要求タイプが入力を受け付けた場合、模倣学習部３０は、最適化処理を行う装置で要求される型のモデル（例えば、上記式４に示すイジングモデルを示す型の関数）に基づいて報酬関数（具体的には、パラメータθ）を学習する。このような型の関数を用いて報酬関数を学習することで、模倣学習部３０は、量子アニーリングマシンで必要とされる型の報酬関数を学習できる。
【００３５】
なお、上記説明では、最適化処理にイジングモデル特化型マシンが用いられるものとし、模倣学習部３０が、イジングモデルを示す型の関数に基づいて、模倣学習により報酬関数を学習する方法について例示した。ただし、入力される関数形はイジングモデルに限定されない。例えば、ハバードモデル（Hubbard model ）を用いる量子アニーリングマシンが使用される場合、模倣学習部３０は、ハバードモデルを示す型の関数に基づいて、模倣学習により報酬関数を学習してもよい。
【００３６】
第二の報酬関数のタイプは、精度要求タイプである。高精度な解を得られるモデルとして、例えば、ディープニューラルネットワーク（ＤＮＮ：Deep Neural Network ）が挙げられる。ニューラルネットワークの関数形は、報酬関数をｒθ（ｓ，ａ）としたとき、以下に示す式５で示される。
【００３７】
【数３】
2020115903.tif 000005
【００３８】
そこで、入力部２０報酬関数のタイプとして精度要求タイプの入力を受け付けた場合、模倣学習部３０は、上記式５で示す型の関数（すなわち、ニューラルネットワークを示す型の関数）に基づいて報酬関数（具体的には、パラメータθ）を学習する。このような型の関数を用いて報酬関数を学習することで、模倣学習部３０は、ニューラルネットワークの型に従った報酬関数を出力できる。この報酬関数に対して、例えば、分析者等によるパラメータチューニングを行うことで、より高精度な解を得ることが可能になる。
【００３９】
三番目の報酬関数のタイプは、精度要求タイプである。高精度な解を得られるモデルとして、例えば、線形関数（ｒ＝θ１ｓ１＋θ２ｓ２＋…）、決定木、テキスト表現などが挙げられる。決定木の関数形は、例えば、以下に例示する式６で表される。式６において、σは、ノード又はクラスとして定義される。
【００４０】
【数４】
2020115903.tif 000006
【００４１】
そこで、入力部２０が報酬関数のタイプとして解釈性要求タイプの入力を受け付けた場合、模倣学習部３０は、線形関数や決定木、テキスト表現を示す型の関数に基づいて報酬関数を学習する。このような型の関数を用いて報酬関数を学習することで、模倣学習部３０は、解釈性の高い報酬関数を出力できる。
【００４２】
図２は、決定木の関数形を用いた学習結果の例を示す説明図である。図２に示す例では、σがノードを表わし、ｒｉが、線形回帰を表わすとする。例えば、上記に示す式６に基づいて報酬関数を学習した結果、図２に例示するように、決定木と線形回帰を組み合わせた結果を生成することで、条件に応じた目的関数を分析者に分かり易い態様で提示できる。例えば、σ＝天気（σ１＝晴れ、σ２＝雨、など）の場合、晴れの場合の目的関数と、雨の場合の目的関数を切り分けて設計することが可能になる。
【００４３】
また、このような解釈性の高い報酬関数を出力することにより、ユーザに対して説明可能な情報（例えば、テキストや数値データなど）への変換が可能になり、ヒューマンインザループやマルチモーダルな対応も可能になる。
【００４４】
出力部４０は、模倣学習部３０学習の結果、生成された報酬関数を出力する。例えば、入力された報酬関数のタイプが複数の場合、出力部４０は、生成されたそれぞれの報酬関数を出力する。
【００４５】
また、出力部４０は、生成された報酬関数に対する評価結果を合わせて出力してもよい。報酬関数に対して評価する方法は任意である。出力部４０は、例えば、学習に用いたエキスパートデータ（学習データ）と、学習された報酬関数に基づく予測結果との近さを、報酬関数ごとの評価結果として出力してもよい。
【００４６】
分析者によって、この評価結果が参照され、「何を実行したいか」という観点で適切と思われる報酬関数のタイプが選択されてもよい。そして、入力部２０は、分析者が選択した報酬関数のタイプをさらに受け付けてもよい。受け付けた報酬関数のタイプに基づいて、模倣学習部３０がさらに学習を行うことで、使用に則した報酬関数を設計することが可能になる。
【００４７】
入力部２０と、模倣学習部３０と、出力部４０とは、プログラム（学習プログラム）に従って動作するコンピュータのプロセッサ（例えば、ＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（field-programmable gate array ））によって実現される。
【００４８】
例えば、プログラムは、記憶部１０に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、入力部２０、模倣学習部３０および出力部４０として動作してもよい。また、学習装置１００の機能がＳａａＳ（Software as a Service ）形式で提供されてもよい。
【００４９】
入力部２０と、模倣学習部３０と、出力部４０とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【００５０】
また、学習装置１００の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００５１】
また、記憶部１０は、例えば、磁気ディスク等により実現される。
【００５２】
次に、本実施形態の学習装置１００の動作を説明する。図３は、本実施形態の学習装置１００の動作例を示すフローチャートである。入力部２０は、報酬関数のタイプの入力を受け付ける（ステップＳ１１）。模倣学習部３０は、学習データに基づいて模倣学習により方策を学習する（ステップＳ１２）。さらに、模倣学習部３０は、入力された報酬関数のタイプに応じて定義された型に基づいて、模倣学習により、そのタイプに応じた報酬関数を学習する（ステップＳ１３）。出力部４０は、学習の結果、生成された報酬関数を出力する（ステップＳ１４）。
【００５３】
以上のように、本実施形態では、入力部２０が、報酬関数のタイプの入力を受け付け、模倣学習部３０が、学習データに基づいて模倣学習により方策を学習する。さらに、模倣学習部３０が、報酬関数のタイプに応じて定義された型に基づいて、模倣学習により、そのタイプに応じた報酬関数を学習する。よって、分析者の要求に応じた態様の報酬を学習できる。
【００５４】
例えば、一般的な方法ではエキスパートデータから報酬設計を行おうとした場合、得られる報酬関数の仕様が定められていなかった。一方、本実施形態では、模倣学習部３０が、報酬関数のタイプに応じて定義された型に基づいて、模倣学習により報酬関数を学習する。そのため、報酬関数の使用方法に合わせて、分析者とインタラクティブに報酬関数を設計することが可能になる。
【００５５】
具体的には、例えば、学習した報酬関数がシンプルすぎる場合、要求する精度が保証できないという問題があった。一方、本実施形態において、入力部２０が精度要求タイプの入力を受け付けた場合に、模倣学習部３０が、ＤＮＮ型の関数に基づいて報酬関数を学習する。これにより、出力部４０が、ＤＮＮ型の報酬関数を出力することが可能になる。この報酬関数に対してパラメータチューニングを行うことで、高精度な解を得ることが可能になる。
【００５６】
他にも、例えば、学習した報酬関数の最適化を行う場合、報酬関数の態様によっては、現実的な時間で解が得られない場合があった。これを解消する方法として、高速に最適化処理が可能なイジング特化型マシンなどの量子アニーリングマシンを利用する方法が挙げられる。
【００５７】
しかし、現実の問題をイジング特化型マシンで使用するようなイジングモデルとして設計すること自体、非常に多くのコストがかかってしまうという問題点もある。一方、本実施形態では、入力部２０が速度要求タイプの入力を受け付けた場合に、模倣学習部３０が、特化型装置で要求される型のモデルに基づいて報酬関数を学習する。
【００５８】
このように、量子アニーリングに特化した報酬関数の型（例えば、イジングモデルを示す型）を設定して学習することにより、イジングモデルの報酬関数を得ることができる。したがって、目的関数をイジングモデルに再変換する必要がなくなるため、全体として作業に要するコストを低減することが可能になる。
【００５９】
さらに、例えば、エキスパートの行動のメカニズムを理解しようとした場合、報酬関数が理解可能な表現形式で出力されることが好ましい。本実施形態において、入力部２０が解釈性要求タイプの入力を受け付けた場合に、模倣学習部３０が、人が解釈可能な型の関数に基づいて報酬関数を学習する。これにより、出力部４０が、説明可能な型の報酬関数（目的関数）を出力することが可能になる。この目的関数を参照することで、エキスパートの行動のメカニズムを理解することが容易になる。
【００６０】
次に、本実施形態の学習装置１００を用いたシステムの具体例を説明する。図４は、本実施形態の学習装置１００を用いて最適化を行う最適化システム９９の一実施形態を示すブロック図である。図４に例示する最適化システム９９は、学習装置１００と、量子アニーリングマシン２００とを備えている。本具体例の学習装置１００は、上述する実施形態の学習装置１００と同様である。
【００６１】
本具体例の学習装置１００において、入力部２０は、第一の報酬関数のタイプ（すなわち、速度要求タイプ）を入力として受け付けるものとする。また、本具体例の量子アニーリングマシン２００は、イジングタイプ特化型の量子アニーリングマシンであるとする。
【００６２】
模倣学習部３０は、上記式２に例示するイジングモデルの型を示す関数に基づいて、模倣学習により報酬関数を学習する。出力部４０は、学習の結果として、イジングモデルで示される報酬関数を出力する。
【００６３】
量子アニーリングマシン２００は、出力部４０によって出力された報酬関数を用いて最適化処理を行う。出力された報酬関数は、イジングモデルで示されているため、目的関数に再変換する必要がない。そのため、出力された報酬関数を用いて、作業コストを低減させながら高速に最適解を求めることが可能になる。
【００６４】
次に、本発明の概要を説明する。図５は、本発明による学習装置の概要を示すブロック図である。本発明による学習装置８０（例えば、学習装置１００）は、報酬関数のタイプ（例えば、速度要求タイプ、精度要求タイプ、解釈性要求タイプなど）の入力を受け付ける入力部８１（例えば、入力部２０）と、学習データ（例えば、エキスパートデータ）に基づいて模倣学習により方策を学習する模倣学習部８２（例えば、模倣学習部３０）とを備えている。
【００６５】
模倣学習部８２は、タイプに応じて定義された型に基づいて、模倣学習により、そのタイプに応じた報酬関数を学習する。
【００６６】
そのような構成により、分析者の要求に応じた態様の報酬を学習できる。
【００６７】
具体的には、模倣学習部８２は、報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習してもよい。
【００６８】
また、入力部８１は、報酬関数のタイプとして、（最適化）処理に速度が要求される場合に用いられる態様の報酬関数を示すタイプ（例えば、速度要求タイプ）の入力を受け付けてもよい。このとき、模倣学習部８２は、（最適化）処理を行う装置（例えば、量子アニーリングマシン）で要求される型のモデルに基づいて、模倣学習により報酬関数を学習してもよい。
【００６９】
具体的には、（最適化）処理にイジングモデル特化型マシンが用いられてもよい。このとき、模倣学習部８２は、イジングモデルを示す型の関数（例えば、上記に示す式２）に基づいて、模倣学習により報酬関数を学習してもよい。
【００７０】
また、入力部８１は、報酬関数のタイプとして、処理に精度が要求される場合に用いられる態様の報酬関数を示すタイプ（例えば、精度要求タイプ）の入力を受け付けてもよい。このとき、模倣学習部８２は、ニューラルネットワークを示す型の関数に基づいて、模倣学習により報酬関数を学習してもよい。
【００７１】
また、入力部８１は、報酬関数のタイプとして、解釈性が要求される場合に用いられる態様の報酬関数を示すタイプ（例えば、解釈性要求タイプ）の入力を受け付けてもよい。このとき、模倣学習部８２は、線形モデル、決定木、またはテキスト表現を示す型の関数に基づいて、模倣学習により報酬関数を学習してもよい。
【００７２】
また、学習装置８０は、学習された報酬関数を出力する出力部（例えば、出力部４０）を備えていてもよい。そして、出力部は、学習データと、学習された報酬関数に基づく予測結果との近さを評価結果として出力してもよい。
【００７３】
図６は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ１０００は、プロセッサ１００１、主記憶装置１００２、補助記憶装置１００３、インタフェース１００４を備える。
【００７４】
上述の学習装置８０は、コンピュータ１０００に実装される。そして、上述した各処理部の動作は、プログラム（学習プログラム）の形式で補助記憶装置１００３に記憶されている。プロセッサ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、当該プログラムに従って上記処理を実行する。
【００７５】
なお、少なくとも１つの実施形態において、補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read-only memory ）、ＤＶＤ−ＲＯＭ（Read-only memory）、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００が当該プログラムを主記憶装置１００２に展開し、上記処理を実行しても良い。
【００７６】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７８】
（付記１）報酬関数のタイプの入力を受け付ける入力部と、学習データに基づいて模倣学習により方策を学習する模倣学習部とを備え、前記模倣学習部は、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習することを特徴とする学習装置。
【００７９】
（付記２）模倣学習部は、報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習する付記１記載の学習装置。
【００８０】
（付記３）入力部は、報酬関数のタイプとして、処理に速度が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、模倣学習部は、前記処理を行う装置で要求される型のモデルに基づいて、模倣学習により報酬関数を学習する付記１または付記２記載の学習装置。
【００８１】
（付記４）処理にイジングモデル特化型マシンが用いられ、模倣学習部は、イジングモデルを示す型の関数に基づいて、模倣学習により報酬関数を学習する付記３記載の学習装置。
【００８２】
（付記５）入力部は、報酬関数のタイプとして、処理に精度が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、模倣学習部は、ニューラルネットワークを示す型の関数に基づいて、模倣学習により報酬関数を学習する付記１または付記２記載の学習装置。
【００８３】
（付記６）入力部は、報酬関数のタイプとして、解釈性が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、模倣学習部は、線形モデル、決定木、またはテキスト表現を示す型の関数に基づいて、模倣学習により報酬関数を学習する付記１または付記２記載の学習装置。
【００８４】
（付記７）学習された報酬関数を出力する出力部を備え、前記出力部は、学習データと、学習された報酬関数に基づく予測結果との近さを評価結果として出力する付記１から付記６のうちのいずれか１つに記載の学習装置。
【００８５】
（付記８）コンピュータが、報酬関数のタイプの入力を受け付け、前記コンピュータが、学習データに基づいて模倣学習により方策を学習し、前記コンピュータが、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習することを特徴とする学習方法。
【００８６】
（付記９）報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習する付記８記載の学習方法。
【００８７】
（付記１０）コンピュータに、報酬関数のタイプの入力を受け付ける入力処理、および、学習データに基づいて模倣学習により方策を学習する模倣学習処理を実行させ、前記模倣学習処理で、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習させるための学習プログラム。
【００８８】
（付記１１）模倣学習処理で、報酬関数の汎関数として方策を定式化させ、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習させる付記１０記載の学習プログラム。
【符号の説明】
【００８９】
１０  記憶部
２０  入力部
３０  模倣学習部
４０  出力部
９９  最適化システム
１００  学習装置
２００  量子アニーリングマシン
【図１】
2020115903.tif 000007
【図２】
2020115903.tif 000008
【図３】
2020115903.tif 000009
【図４】
2020115903.tif 000010
【図５】
2020115903.tif 000011
【図６】
2020115903.tif 000012
【手続補正書】
【提出日】令和3年5月20日(2021.5.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
報酬関数のタイプの入力を受け付ける入力部と、
学習データに基づいて模倣学習により方策を学習する模倣学習部とを備え、
前記模倣学習部は、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習する
ことを特徴とする学習装置。
【請求項２】
模倣学習部は、報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習する
請求項１記載の学習装置。
【請求項３】
入力部は、報酬関数のタイプとして、処理に速度が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、
模倣学習部は、前記処理を行う装置で要求される型のモデルに基づいて、模倣学習により報酬関数を学習する
請求項１または請求項２記載の学習装置。
【請求項４】
処理にイジングモデル特化型マシンが用いられ、
模倣学習部は、イジングモデルを示す型の関数に基づいて、模倣学習により報酬関数を学習する
請求項３記載の学習装置。
【請求項５】
入力部は、報酬関数のタイプとして、処理に精度が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、
模倣学習部は、ニューラルネットワークを示す型の関数に基づいて、模倣学習により報酬関数を学習する
請求項１または請求項２記載の学習装置。
【請求項６】
入力部は、報酬関数のタイプとして、解釈性が要求される場合に用いられる態様の報酬関数を示すタイプの入力を受け付け、
模倣学習部は、線形モデル、決定木、またはテキスト表現を示す型の関数に基づいて、模倣学習により報酬関数を学習する
請求項１または請求項２記載の学習装置。
【請求項７】
学習された報酬関数を出力する出力部を備え、
前記出力部は、学習データと、学習された報酬関数に基づく予測結果との近さを評価結果として出力する
請求項１から請求項６のうちのいずれか１項に記載の学習装置。
【請求項８】
コンピュータが、報酬関数のタイプの入力を受け付け、
前記コンピュータが、学習データに基づいて模倣学習により方策を学習し、
前記コンピュータが、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習する
ことを特徴とする学習方法。
【請求項９】
報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習する
請求項８記載の学習方法。
【請求項１０】
コンピュータに、
報酬関数のタイプの入力を受け付ける入力処理、および、
学習データに基づいて模倣学習により方策を学習する模倣学習処理を実行させ、
前記模倣学習処理で、前記タイプに応じて定義された型に基づいて、前記模倣学習により、当該タイプに応じた報酬関数を学習させる
ための学習プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
三番目の報酬関数のタイプは、解釈性タイプである。解釈性の高い報酬関数を得られるモデルとして、例えば、線形関数（ｒ＝θ１ｓ１＋θ２ｓ２＋…）、決定木、テキスト表現などが挙げられる。決定木の関数形は、例えば、以下に例示する式６で表される。式６において、σは、ノード又はクラスとして定義される。
【国際調査報告】
2020115903.tif 000013
2020115903.tif 000014