(57)【要約】  学習装置８０は、特定のモデルを用いて処理を行うデバイスに適用されるモデルを学習する学習装置であって、入力部８１と、模倣学習部８２とを備えている。入力部８１は、報酬の関数形の入力を受け付ける。模倣学習部８２は、学習データに基づいて模倣学習により方策を学習する。模倣学習部８２は、模倣学習により、入力された報酬の関数形に応じた報酬関数を学習する。
2020115904.tif 000002
【特許請求の範囲】
【請求項１】
特定のモデルを用いて処理を行うデバイスに適用されるモデルを学習する学習装置であって、
報酬の関数形の入力を受け付ける入力部と、
学習データに基づいて模倣学習により方策を学習する模倣学習部とを備え、
前記模倣学習部は、前記模倣学習により、入力された報酬の関数形に応じた報酬関数を学習する
ことを特徴とする学習装置。
【請求項２】
模倣学習部は、報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習する
請求項１記載の学習装置。
【請求項３】
イジングモデルに基づいて量子アニーリングを行うデバイスに適用されるモデルを学習する学習装置であって、
入力部は、イジングモデルの関数形を受け付け、
模倣学習部は、模倣学習により、イジングモデルの関数形に応じた報酬関数を学習する
請求項１または請求項２記載の学習装置。
【請求項４】
模倣学習部は、状態と行動とを対応付けた学習データに基づいて模倣学習により方策を学習し、イジングモデルにおけるスピンを前記学習データの状態および行動に対応付けて当該イジングモデルのパラメータを決定することにより報酬関数を学習する
請求項３記載の学習装置。
【請求項５】
特定のモデルを用いて処理を行うデバイスに適用されるモデルを学習する学習方法であって、
コンピュータが、報酬の関数形の入力を受け付け、
前記コンピュータが、学習データに基づいて模倣学習により方策を学習し、
前記コンピュータが、前記模倣学習により、入力された報酬の関数形に応じた報酬関数を学習する
ことを特徴とする学習方法。
【請求項６】
コンピュータが、報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習する
請求項５記載の学習方法。
【請求項７】
特定のモデルを用いて処理を行うデバイスに適用されるモデルを学習するコンピュータに適用される学習プログラムであって、
前記コンピュータに、
報酬の関数形の入力を受け付ける入力処理、および、
学習データに基づいて模倣学習により方策を学習する模倣学習処理を実行させ、
前記模倣学習処理で、前記模倣学習により、入力された報酬の関数形に応じた報酬関数を学習させる
ための学習プログラム。
【請求項８】
コンピュータに、
模倣学習処理で、報酬関数の汎関数として方策を定式化させ、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習させる
請求項７記載の学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定のモデルを用いて処理を行うデバイスに適用されるモデルを学習する学習装置、学習方法、および学習プログラムに関する。
【背景技術】
【０００２】
大量の計算を高速に実現するデバイスとして、量子力学的原理を用いた次世代コンピュータ（以下、量子コンピュータと記す。）が提案されている。量子コンピュータは、量子効果を利用して計算を行うコンピュータであり、重ね合わせの特性を利用して高速に計算を行う。【０００３】
量子コンピュータのうち、アニーリングマシンは、組み合わせ最適化問題に特化した方式（量子アニーリング方式）で動作するコンピュータであり、内部で動作する計算モデルのパラメータを与えることで動作する。計算モデルの一例が、イジングモデルであり、このような特定のモデルに基づいて計算を行うデバイスのことを、以下、特化型デバイスと記す。【０００４】
例えば、特許文献１には、連合グラフおよび量子プロセッサの実装により自動画像認識の精度および計算時間を向上させる方法が記載されている。特許文献１に記載された方法では、画像マッチング問題を２次無制約２値最適化問題として定式化し、定式化した問題を量子プロセッサにマッピングして解を得られるように量子プロセッサを動作させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１０−５２５４３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特化型デバイスは、高速に処理ができる一方、解くべき問題に合わせて、特化型デバイスが解ける形式での目的関数の設計を行う必要がある。そのため、量子アニーリングや特化型デバイスを使用する場合、分析者は、解きたい実社会問題を特定の物理モデル（たとえば、イジングモデル）で表現する必要がある。【０００７】
しかし、このような実社会問題を特定のモデルで表現することは容易ではない。そのため、特化型デバイスによる処理が高速であっても、問題のモデル化に多くの時間を要してしまうことから、結果として、多くのコストを要してしまい、効果が出にくいという問題がある。例えば、特許文献１に記載された方法でも、画像認識において、量子プロセッサに最適化問題としてマッピングする式を設計すること自体に、非常にコストがかかってしまうという問題がある。【０００８】
一方、近年、実社会の現象を示す多くのデータが取得されており、取得されたこれらのデータは、実社会問題を示す情報群であると言える。そのため、量子コンピュータで用いる特定のモデルを分析者が一から設計するのではなく、実社会の現象を示すデータを利用して特定のモデルを直接生成できることが好ましい。【０００９】
そこで、本発明は、取得されたデータから、量子コンピュータで用いられる特定のモデルを直接学習できる学習装置、学習方法、および学習プログラムを提供すること目的とする。
【課題を解決するための手段】
【００１０】
本発明による学習装置は、特定のモデルを用いて処理を行うデバイスに適用されるモデルを学習する学習装置であって、報酬の関数形の入力を受け付ける入力部と、学習データに基づいて模倣学習により方策を学習する模倣学習部とを備え、模倣学習部が、模倣学習により、入力された報酬の関数形に応じた報酬関数を学習することを特徴とする。【００１１】
本発明による学習方法は、特定のモデルを用いて処理を行うデバイスに適用されるモデルを学習する学習方法であって、コンピュータが、報酬の関数形の入力を受け付け、コンピュータが、学習データに基づいて模倣学習により方策を学習し、コンピュータが、模倣学習により、入力された報酬の関数形に応じた報酬関数を学習することを特徴とする。【００１２】
本発明による学習プログラムは、特定のモデルを用いて処理を行うデバイスに適用されるモデルを学習するコンピュータに適用される学習プログラムであって、コンピュータに、報酬の関数形の入力を受け付ける入力処理、および、学習データに基づいて模倣学習により方策を学習する模倣学習処理を実行させ、模倣学習処理で、模倣学習により、入力された報酬の関数形に応じた報酬関数を学習させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、取得されたデータから、量子コンピュータで用いられる特定のモデルを直接学習できる。
【図面の簡単な説明】
【００１４】
【図１】本発明による学習装置を含む情報処理システムの一実施形態を示すブロック図である。
【図２】学習装置の動作例を示すフローチャートである。
【図３】本発明による学習装置の概要を示すブロック図である。
【図４】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。
【００１６】
図１は、本発明による学習装置１００を含む情報処理システム１の一実施形態を示すブロック図である。本実施形態の情報処理システム１は、学習装置１００と、デバイス２００とを備えている。
【００１７】
デバイス２００は、特定のモデルに基づいて動作する量子コンピュータである。本実施形態では、デバイス２００が量子アニーリングマシンである場合を例示して説明する。ただし、デバイス２００の態様は、量子アニーリングマシンに限定されない。
【００１８】
学習装置１００は、記憶部１０と、入力部２０と、模倣学習部３０と、出力部４０とを含む。学習装置１００は、デバイス２００に処理を行わせるための特定のモデルを学習する。
【００１９】
記憶部１０は、対象環境の状態を表す状態ベクトルｓ＝（ｓ１，ｓ２，…）と、その状態ベクトルで表される状態において行われた行動ａとを対応付けたデータ（以下、学習データと記す。）を記憶する。ここでは、一般的な強化学習で想定するように、取り得る状態が複数ある環境（以下、対象環境と記す。）、および、その環境において複数の行動を行い得る者（以下、エージェントと記す。）を想定する。なお、以下の説明では、状態ベクトルｓのことを、単に状態ｓと記すこともある。
【００２０】
エージェントの例として、例えば、自動運転車が挙げられる。この場合の対象環境は、自動運転車の状態及びその周囲の状態（例えば、周囲の地図、他車両の位置や速度、及び道路の状態）などの集合として表される。
【００２１】
エージェントが行うべき行動は、対象環境の状態に応じて異なる。上述の自動運転車の例であれば、前方に障害物があればその障害物を回避するように進行する必要がある。他にも、前方の路面の状態や前方の車両との車間距離などに応じ、車両の走行速度を変更する必要がある。
【００２２】
対象環境の状態に応じてエージェントが行うべき行動を出力する関数を、方策（ｐｏｌｉｃｙ）と呼ぶ。後述する模倣学習部３０は、模倣学習によって方策の生成を行う。方策が理想的なものに学習されれば、方策は、対象環境の状態に応じ、エージェントが行うべき最適な行動を出力するものになる。
【００２３】
入力部２０は、後述する模倣学習部３０が生成する報酬の関数形の入力を受け付ける。報酬の関数形とは、デバイス２００に処理を行わせるための特定のモデルであり、例えば、量子アニーリングマシンの場合、報酬の関数形は、イジングモデル（Ising model ）である。本実施形態では、量子アニーリングに特化した関数形として、イジングモデルを例に説明する。ただし、入力部２０が受け付ける報酬の関数形は、イジングモデルに限定されない。
【００２４】
例えば、特化型デバイスが、バイナリニューラルネットワークの問題やハバードモデル（Hubbard model ）の問題を直接解くようなデバイスの場合、入力部２０は、報酬の関数形として、バイナリニューラルネットワークやハバードモデルの入力を受け付けてもよい。
【００２５】
模倣学習部３０は、状態ベクトルｓと行動ａとを対応付けたデータ（すなわち、学習データ）を利用して模倣学習を行い、方策を出力する。模倣学習によって得られる方策は、与えられた学習データを模倣するものになる。ここで、エージェントが行動を選択する規則である方策をπと表わし、この方策πのもと、状態ｓにおいて行動ａを選択する確率を、π（ｓ，ａ）と表わす。模倣学習部３０が模倣学習を行う方法は任意であり、模倣学習部３０は、一般的な方法を用いて模倣学習を行うことで方策を出力すればよい。
【００２６】
さらに、模倣学習部３０は、模倣学習を行い、報酬関数を出力する。具体的には、模倣学習部３０は、状態ベクトルｓを報酬関数ｒに入力することで得られる報酬ｒ（ｓ）を関数の入力とする方策を定める。すなわち、方策から得られる行動ａは、以下に例示する式１で定められる。
【００２７】
ａ〜π（ａ｜ｒ（ｓ））    （式１）
【００２８】
すなわち、模倣学習部３０は、方策を報酬関数の汎関数として定式化してもよい。このような定式化をした方策を用いて模倣学習を行うことにより、模倣学習部３０は、方策の学習を行いつつ、報酬関数の学習も行うことが可能になる。
【００２９】
なお、ある状態ｓおよび行動ａから状態ｓ´を選択する確率は、π（ａ｜ｓ）と表わすことができる。上記に示す式１のように方策を定めた場合、報酬関数ｒ（ｓ，ａ）を用いて、以下に例示する式２の関係を定めることができる。なお、報酬関数ｒ（ｓ，ａ）を、ｒａ（ｓ）と記すこともある。
【００３０】
π（ａ｜ｓ）:=π（ａ｜ｒ（ｓ，ａ））    （式２）
【００３１】
また、方策を選択する確率π（ａ｜ｓ）は、ある状態ｓにおける行動ａにより得られる報酬と関連することから、上記の報酬関数ｒａ（ｓ）を用いて、以下に例示する式３の形式で定義できる。なお、ＺＲは分配関数であり、ＺＲ＝Σａｅｘｐ（ｒａ（ｓ））である。
【００３２】
【数１】
2020115904.tif 000003
【００３３】
本実施形態では、模倣学習部３０は、模倣学習により、入力された報酬の関数形に応じた報酬関数を学習する。例えば、量子アニーリングマシンに入力されるイジングモデルの関数形は、以下に示す式４で表される。式４において、状態を表わす（ｓ，ａ）が、イジングモデルにおけるσに対応し、パラメータθが、Ｊｉｊおよびｈｉに対応する。
【００３４】
【数２】
2020115904.tif 000004
【００３５】
このとき、模倣学習部３０は、上記式４に示すイジングモデルの関数形に基づいて報酬関数（具体的には、パラメータθ）を学習する。このような関数形を用いて報酬関数を学習することで、模倣学習部３０は、量子アニーリングマシンで必要とされる型の報酬関数を生成できる。
【００３６】
なお、上記説明では、模倣学習部３０が、イジングモデルの関数形に基づいて模倣学習により報酬関数を学習する方法について例示した。ただし、入力される関数形はイジングモデルに限定されない。例えば、ハバードモデルを用いるデバイスが使用される場合、模倣学習部３０は、ハバードモデルの関数形に基づいて、模倣学習により報酬関数を学習してもよい。
【００３７】
出力部４０は、模倣学習部３０の学習の結果、生成された報酬関数を出力する。生成された報酬関数は、デバイス２００が要求する型のモデルとして生成されるため、再変換する必要がない。そのため、出力部４０は、生成された報酬関数により特定されるパラメータをデバイス２００に直接入力（設定）してもよい。
【００３８】
また、出力部４０は、生成された報酬関数に対する評価結果を合わせて出力してもよい。報酬関数に対して評価する方法は任意である。出力部４０は、例えば、学習に用いたエキスパートデータ（学習データ）と、学習された報酬関数に基づく予測結果との近さを、報酬関数ごとの評価結果として出力してもよい。
【００３９】
入力部２０と、模倣学習部３０と、出力部４０とは、プログラム（学習プログラム）に従って動作するコンピュータのプロセッサ（例えば、ＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（field-programmable gate array ））によって実現される。
【００４０】
例えば、プログラムは、学習装置１００の記憶部１０に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、入力部２０、模倣学習部３０および出力部４０として動作してもよい。また、学習装置１００の機能がＳａａＳ（Software as a Service ）形式で提供されてもよい。
【００４１】
入力部２０と、模倣学習部３０と、出力部４０とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【００４２】
また、学習装置１００の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００４３】
また、記憶部１０は、例えば、磁気ディスク等により実現される。
【００４４】
次に、本実施形態の学習装置１００の動作を説明する。図２は、本実施形態の学習装置１００の動作例を示すフローチャートである。入力部２０は、報酬の関数形の入力を受け付ける（ステップＳ１１）。模倣学習部３０は、学習データに基づいて模倣学習により方策を学習する（ステップＳ１２）。さらに、模倣学習部３０は、模倣学習により、入力された報酬の関数形に応じた報酬関数を学習する（ステップＳ１３）。出力部４０は、学習の結果、生成された報酬関数を出力する（ステップＳ１４）。
【００４５】
以上のように、本実施形態では、入力部２０が、報酬の関数形の入力を受け付け、模倣学習部３０が、学習データに基づいて模倣学習により方策を学習する。さらに、模倣学習部３０が、模倣学習により、入力された報酬の関数形に応じた報酬関数を学習する。よって、取得されたデータから、量子コンピュータで用いられる特定のモデルを学習できる。
【００４６】
例えば、一般的な方法ではエキスパートデータから報酬設計を行おうとした場合、量子コンピュータが必要とする形に実社会問題をモデル化することが困難であった。一方、本実施形態では、入力部２０が報酬の関数形の入力を受け付け、模倣学習部３０が、入力された報酬の関数形に応じた報酬関数を学習する。
【００４７】
上述の例では、量子アニーリングに特化した報酬関数の型（例えば、イジングモデルの関数形）を設定して学習することにより、イジングモデルの報酬関数を得ることができる。したがって、目的関数をイジングモデルに再変換する必要がなくなるため、全体として作業に要するコストを低減することが可能になる。
【００４８】
また、模倣学習部３０が、学習データから量子アニーリングマシンが用いるモデルに沿った報酬関数を直接学習することにより、量子アニーリングマシンの性能を最大限引き出せるため、様々なユーザが量子アニーリングマシンを利用できるようになる。
【００４９】
次に、本発明の概要を説明する。図３は、本発明による学習装置の概要を示すブロック図である。本発明による学習装置８０は、特定のモデルを用いて処理を行うデバイス（例えば、デバイス２００）に適用されるモデルを学習する学習装置（例えば、学習装置１００）であって、報酬の関数形（例えば、イジングモデル、ハバードモデルなど）の入力を受け付ける入力部８１（例えば、入力部２０）と、学習データに基づいて模倣学習により方策を学習する模倣学習部８２（例えば、模倣学習部３０）とを備えている。
【００５０】
模倣学習部８２は、模倣学習により、入力された報酬の関数形に応じた報酬関数を学習する。
【００５１】
そのような構成により、取得されたデータから、量子コンピュータで用いられる特定のモデルを直接学習できる。
【００５２】
具体的には、模倣学習部８２は、報酬関数の汎関数として方策を定式化し、定式化された方策を用いて模倣学習を行うことにより、報酬関数を学習してもよい。
【００５３】
また、学習装置８０は、イジングモデルに基づいて量子アニーリングを行うデバイス（例えば、量子アニーリングマシン）に適用されるモデルを学習する学習装置であってもよい。このとき、入力部８１は、イジングモデルの関数形を受け付け、模倣学習部８２は、模倣学習により、イジングモデルの関数形に応じた報酬関数を学習してもよい。
【００５４】
具体的には、模倣学習部８２は、状態と行動とを対応付けた学習データに基づいて模倣学習により方策を学習し、イジングモデルにおけるスピン（例えば、式４におけるσ）を学習データの状態および行動に対応付けて、そのイジングモデルのパラメータ（例えば、式４におけるＪｉｊおよびｈｉ）を決定することにより報酬関数を学習してもよい。
【００５５】
図４は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ１０００は、プロセッサ１００１、主記憶装置１００２、補助記憶装置１００３、インタフェース１００４を備える。
【００５６】
上述の学習装置８０は、コンピュータ１０００に実装される。そして、上述した各処理部の動作は、プログラム（学習プログラム）の形式で補助記憶装置１００３に記憶されている。プロセッサ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、当該プログラムに従って上記処理を実行する。
【００５７】
なお、少なくとも１つの実施形態において、補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read-only memory ）、ＤＶＤ−ＲＯＭ（Read-only memory）、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００が当該プログラムを主記憶装置１００２に展開し、上記処理を実行しても良い。
【００５８】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００５９】
１  情報処理システム
１０  記憶部
２０  入力部
３０  模倣学習部
４０  出力部
１００  学習装置
２００  デバイス
【図１】
2020115904.tif 000005
【図２】
2020115904.tif 000006
【図３】
2020115904.tif 000007
【図４】
2020115904.tif 000008
【国際調査報告】
2020115904.tif 000009
2020115904.tif 000010