(57)【要約】【課題】強化学習のパフォーマンスを改善すること。【解決手段】本願に係る学習装置は、評価部と、学習部とを有する。評価部は、状態を示す状態情報をモデルに入力する入力処理と、このモデルが出力した出力情報を用いて状態を更新する更新処理とを含む処理ステップが、状態が所定の条件を満たす最終状態となるまで繰り返し実行された場合は、この最終状態に応じて、実行された各処理ステップを評価する。学習部は、処理ステップにおいてモデルが出力した出力情報と、この処理ステップにおける更新後の状態と、この処理ステップに対する評価結果とに基づいて、モデルの学習を行う。【選択図】図３
2020190853.tif 000002
【特許請求の範囲】
【請求項１】
状態を示す状態情報をモデルに入力する入力処理と、当該モデルが出力した出力情報を用いて前記状態を更新する更新処理とを含む処理ステップが、前記状態が所定の条件を満たす最終状態となるまで繰り返し実行された場合は、当該最終状態に応じて、実行された各処理ステップを評価する評価部と、
前記処理ステップにおいて前記モデルが出力した出力情報と、当該処理ステップにおける更新後の状態と、当該処理ステップに対する評価結果とに基づいて、前記モデルの学習を行う学習部と
を有することを特徴とする学習装置。
【請求項２】
前記状態が前記最終状態となるまで繰り返し実行された場合は、当該最終状態に応じた報酬を決定する決定部
を有し、
前記評価部は、前記決定部により決定された報酬に応じて、実行された各処理ステップを評価する
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記評価部は、前記最終状態が所定の目的を満たすか否かに応じて、各処理ステップを評価する
ことを特徴とする請求項１または２に記載の学習装置。
【請求項４】
前記評価部は、前記最終状態が所定の目的を満たす場合に実行された各処理ステップを、前記最終状態が所定の目的を満さない場合に実行された各処理ステップよりも高く評価する
ことを特徴とする請求項３に記載の学習装置。
【請求項５】
前記評価部は、さらに、各処理ステップにおいて更新された状態と、前記所定の条件が満たされた際の前記状態との比較結果に応じて、各処理ステップを評価する
ことを特徴とする請求項１〜３のうちいずれか１つに記載の学習装置。
【請求項６】
前記評価部は、前記処理ステップにおいて更新された状態が、所定の目標に近い程、当該処理ステップを高く評価する
ことを特徴とする請求項４に記載の学習装置。
【請求項７】
前記評価部は、前記状態が所定の条件を満たすまで繰り返し実行された複数の処理ステップを含むエピソードを複数取得し、取得した各エピソードにおける最終状態に応じて、各エピソードに含まれる処理ステップを評価する
ことを特徴とする請求項１〜６のうちいずれか１つに記載の学習装置。
【請求項８】
前記評価部は、各エピソードに含まれる処理ステップにおける更新前の状態と、当該処理ステップにおいて前記モデルが出力した出力情報との組を特定し、各エピソードに含まれる全ての処理ステップに対する各組の出現割合に基づいて、各処理ステップを評価する
ことを特徴とする請求項７に記載の学習装置。
【請求項９】
前記評価部は、対応する組の出現頻度が高い処理ステップを、対応する組の出現頻度が低い処理ステップよりも高く評価する
ことを特徴とする請求項８に記載の学習装置。
【請求項１０】
前記評価部は、前記状態が所定の条件を満たすまで繰り返し実行された各処理ステップを、各処理ステップが実行された順序に応じて評価する
ことを特徴とする請求項１〜９のうちいずれか１つに記載の学習装置。
【請求項１１】
学習装置が実行する学習方法であって、
状態を示す状態情報をモデルに入力する入力処理と、当該モデルが出力した出力情報を用いて前記状態を更新する更新処理とを含む処理ステップが、前記状態が所定の条件を満たす最終状態となるまで繰り返し実行された場合は、当該最終状態に応じて、実行された各処理ステップを評価する評価工程と、
前記処理ステップにおいて前記モデルが出力した出力情報と、当該処理ステップにおける更新後の状態と、当該処理ステップに対する評価結果とに基づいて、前記モデルの学習を行う学習工程と
を含むことを特徴とする学習方法。
【請求項１２】
状態を示す状態情報をモデルに入力する入力処理と、当該モデルが出力した出力情報を用いて前記状態を更新する更新処理とを含む処理ステップが、前記状態が所定の条件を満たす最終状態となるまで繰り返し実行された場合は、当該最終状態に応じて、実行された各処理ステップを評価する評価手順と、
前記処理ステップにおいて前記モデルが出力した出力情報と、当該処理ステップにおける更新後の状態と、当該処理ステップに対する評価結果とに基づいて、前記モデルの学習を行う学習手順と
をコンピュータに実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【０００２】
従来、強化学習のエージェントの行動を最適化するための技術が提案されている。一技術では、エピソード中の行動と状態変化の報酬を、エピソードに対する報酬の平均で代用することによって、行動のモデルが最適化される（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】RONALD  J.  WILLIAMS“Simple  Statistical  Gradient-Following  Algorithms  for  Connectionist  Reinforcement  Learning”［online］、［２０１９年５月２０日検索］、インターネット（https://link.springer.com/content/pdf/10.1007%2FBF00992696.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術には、改善の余地がある。例えば、上記の従来技術では、失敗エピソード中の良い行動も、失敗エピソード中の悪い行動と同様に、悪い例とみなされる場合がある。このような場合、上記の従来技術は、強化学習のパフォーマンスを改善することができるとは限らない。
【０００５】
本願は、上記に鑑みてなされたものであって、強化学習のパフォーマンスを改善することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る学習装置は、状態を示す状態情報をモデルに入力する入力処理と、当該モデルが出力した出力情報を用いて前記状態を更新する更新処理とを含む処理ステップが、前記状態が所定の条件を満たす最終状態となるまで繰り返し実行された場合は、当該最終状態に応じて、実行された各処理ステップを評価する評価部と、前記処理ステップにおいて前記モデルが出力した出力情報と、当該処理ステップにおける更新後の状態と、当該処理ステップに対する評価結果とに基づいて、前記モデルの学習を行う学習部とを有することを特徴とする。
【発明の効果】
【０００７】
実施形態の一態様によれば、強化学習のパフォーマンスを改善することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る学習処理の一例を示す図である。
【図２】図２は、処理ステップ評価処理の一例を示す図である。
【図３】図３は、実施形態に係る学習装置の構成例を示す図である。
【図４】図４は、実施形態に係る学習装置による学習処理手順を示すフローチャートである。
【図５】図５は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る学習装置、学習方法及び学習プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、学習方法及び学習プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１０】
〔１．学習処理〕
まず、図１を参照して、実施形態に係る学習処理の一例について説明する。図１は、実施形態に係る学習処理の一例を示す図である。図１の例では、実施形態に係る学習システム１によって学習処理が行われる。
【００１１】
図１に示すように、学習システム１には、ユーザ装置１０と、学習装置１００とが含まれる。図１中では図示していないが、学習システム１は、複数台のユーザ装置１０や、複数台の学習装置１００を含んでもよい。
【００１２】
ユーザ装置１０は、ユーザによって利用される情報処理装置である。ユーザ装置１０は、スマートフォン、デスクトップ型ＰＣ（Personal  Computer）、ノート型ＰＣ、タブレット型ＰＣを含む、任意のタイプの情報処理装置であってもよい。
【００１３】
図１の例では、ユーザ装置１０は、広告が掲載されるコンテンツを要求するクライアント装置である。
【００１４】
学習装置１００は、強化学習における価値（value）や方策（policy）を決定するためのモデルの学習を行う情報処理装置である。学習装置１００は、サーバを含む、任意のタイプの情報処理装置であってもよい。図１中では図示していないが、学習装置１００は、ネットワーク網（例えば、インターネット網）を介して、有線又は無線によりユーザ装置１０と通信を行う。
【００１５】
図１の例では、ユーザ装置１０のユーザの行動が、状態（state）として入力された場合に、学習装置１００は、広告提供の有無（すなわち、所定の広告が提供されるか否か）を、エージェント（agent）によって取られる行動（action）として出力する。
【００１６】
図１の例では、上述の状態は、ウェブ上におけるユーザ行動（すなわち、ネットワーク上のユーザの行動）である。ウェブ上におけるユーザ行動は、トップページの閲覧、ニュースの閲覧、旅行の検索、トラベルサービスの閲覧等の行動である。
【００１７】
図１の例では、上述のエージェントの行動は、宿泊系の広告出稿である。宿泊系の広告出稿は、所定の宿泊系の広告をコンテンツに掲載するか否かを決定するという行動である。この例では、上述のエージェントは、宿泊予約を目標として、広告Ｙ１または広告Ｎ１のうちのいずれがコンテンツに掲載されるかを決定する。
【００１８】
ところで、強化学習では、環境から得られる報酬が最大化されるように、エージェントの行動が最適化される。エージェントは、例えば、状態が入力された場合に行動を出力するニューラルネットに代表されるモデルで表現され得る。このような最適化では、エージェントは、大量の試行を繰り返し実施する。エージェント、環境、報酬の関係に関しては、将棋やチェス等ゲームでは、エピソードの途中で、行動やエピソードを評価することが難しい場合がある。このような場合、例えば、エピソード中の行動と状態変化の報酬を、エピソードに対する報酬の平均で代用することによって、行動のモデルが最適化される場合がある。
【００１９】
上述の最適化の手法では、モデルが失敗エピソードを用いて最適化される場合に、失敗エピソード中の悪い行動は、正当に悪い例とみなされる。しかしながら、この場合、失敗エピソード中の良い行動も、失敗エピソード中の悪い行動と同様に、悪い例とみなされる。この点に関し、大量のエピソードを試行することにより、成功エピソードに含まれる個々の行動が、徐々に、良い例としてモデルの最適化に用いられると考えられる。しかしながら、このような大量のエピソードの試行は、非効率的であると考えられる。
【００２０】
また、従来、Ｑ値（行動価値関数Ｑ、または状態行動価値とも呼ばれる）を用いて、エージェントの行動を生成する方策を学習することが提案されている。例えば、ＲＥＩＮＦＯＲＣＥアルゴリズム等の方策勾配法（policy  gradient）が提案されている。ＲＥＩＮＦＯＲＣＥアルゴリズムでは、Ｑ値が、報酬の時間平均で代用される。信用割当問題（credit  assignment  problem）の観点からは、この報酬の時間平均を、エピソード中の行動に割り当てることが提案されている。
【００２１】
例えば、はじめに、報酬が、エピソードの最終状態によって決定される。次いで、最終状態によって決定された報酬が、この報酬を得るのに要した時間で平均化される。その後、平均化された報酬が、エピソード中の状態および行動に割り当てられる。これにより、報酬の時間平均が、ある時刻の状態と行動との組み合わせに割り当てられた報酬として定義される。このような技術では、エージェントの方策は、ある時刻の状態と行動との組み合わせに割り当てられた報酬を用いて、最適化される。
【００２２】
しかしながら、上述の技術では、エピソード中の良い行動が否定されるように、エージェントの方策が最適化される場合がある。例示のために、ある環境では、報酬が、エピソードの最終状態で初めて決定されると仮定する。このような環境の例として、囲碁（例えば、ゲームの勝敗）、広告出稿（例えば、コンバージョンの成否）等の環境が挙げられる。この例では、エージェントは、エピソードの途中では、正しい行動を選択し、その後、エピソードの最後で、間違った行動を選択する場合がある。その結果、エージェントは、このエピソードで失敗する場合がある。このような場合、エージェントは、エピソードの途中では正しい行動を選択していたにも関わらず、エージェントは、環境から報酬を取得することができない。このように、報酬は、正しい行動に割り当てられるとは限らない。エージェントの方策は、大量のエピソード（例えば、大量の成功エピソード）を学習データとして用いることにより、最適化されるかもしれない。しかしながら、方策の学習効率が悪い。
【００２３】
そこで、図１の例示的な実施形態では、学習装置１００は、エピソード中の良い行動が評価されるように、価値の評価（例えば、Ｑネットワーク）やエージェントの方策（例えば、ニューラルネット）を最適化するために、以下に説明される学習処理を実行する。
【００２４】
はじめに、学習装置１００は、ウェブ上におけるユーザ行動を取得する（ステップＳ１１）。
【００２５】
例えば、学習装置１００は、ウェブ上におけるユーザ行動を、「状態」として取得する。「環境」は、例えば、コンテンツ配信ネットワークである。例えば、学習装置１００は、環境「コンテンツ配信ネットワーク」から、状態「ウェブ上におけるユーザ行動」を取得する。上述のように、ウェブ上におけるユーザ行動は、例えば、トップページの閲覧、ニュースの閲覧、旅行の検索、トラベルサービスの閲覧等の行動である。
【００２６】
次いで、学習装置１００は、ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する（ステップＳ１２）。
【００２７】
例えば、学習装置１００は、ユーザ行動に対応する特徴ベクトル（素性ベクトルまたはインスタンスとも呼ばれる）をモデルに入力することによって、広告提供の有無（すなわち、所定の広告が提供されるか否か）を、エージェントによって取られる行動として出力する。
【００２８】
例えば、上述のモデルが、行動や状態の価値に基づくモデル（すなわち、方策オンアルゴリズム）である場合に、学習装置１００は、ユーザ行動に対応する特徴ベクトルをこのモデル（例えば、ニューラルネット）に入力することによって、所定の広告が提供される確率を出力する。そして、学習装置１００は、出力された確率に基づいて、所定の広告が提供されるか否かを決定する。一方、モデルが、方策に基づくモデル（すなわち、方策オフアルゴリズム）である場合には、学習装置１００は、ユーザ行動に対応する特徴ベクトルをこのモデル（例えば、Ｑネットワーク）に入力することによって、所定の状態（例えば、所定のユーザ行動）および所定の行動（例えば、所定の広告の提供）に対応するＱ値を出力する。そして、学習装置１００は、出力されたＱ値に基づいて、所定の広告が提供されるか否かを決定する。例えば、学習装置１００は、イプシロン貪欲法を用いて、最大のＱ値に対応する行動を、所定の確率（すなわち、イプシロン）で、エージェントによって取られる行動として決定する。
【００２９】
次いで、学習装置１００は、広告提供の有無に応じたコンテンツを提供する（ステップＳ１３）。
【００３０】
例えば、エージェントによって取られる行動が、所定の広告の提供である場合に、学習装置１００は、この所定の広告が掲載されるコンテンツを、ユーザ装置１０に提供する。上述のように、所定の広告は、例えば、広告Ｙ１、広告Ｎ１等の宿泊系の広告である。
【００３１】
次いで、学習装置１００は、ユーザ行動が所定の条件を満たす場合は、エピソードが最終状態に至ったものとして、それまでの処理ステップを、最終状態の成否に応じて評価する（ステップＳ１４）。
【００３２】
例えば、ステップＳ１１において、状態（すなわち、ユーザ行動）が最終状態でない場合に、学習装置１００は、ステップＳ１１において状態が最終状態に至るまで、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップを繰り返す。上述の所定の条件は、例えば、「ユーザが、宿泊予約をする」という条件（すなわち、コンバージョン）である。上述の所定の条件は、「ユーザが、離脱する」という条件（すなわち、離脱）であってもよい。より具体的には、この条件は、「ユーザが、所定のページを終了させる」という条件であってもよい。所定のページは、例えば、トラベルサービスのページである。学習装置１００は、例えば、宿泊予約の成否に応じて、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップを評価する。
【００３３】
図２は、処理ステップ評価処理の一例を示す図である。図２の例では、学習装置１００は、上述のように、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップに対応する複数のエピソードＥＰ１１を実行する。図２の例では、状態は、ユーザ行動に対応する。また、広告出稿は、エージェントの行動に対応する。なお、「時刻」は、エージェントが環境から状態（例えば、ユーザ行動）を取得し、行動（例えば、広告出稿）を取った離散時間に対応する。図２の例では、エージェントの目標は、宿泊予約である。状態が最終状態に至った場合に、学習装置１００は、エピソードの結果に応じた報酬を決定する。例えば、ユーザが、上述のステップＳ１１において、宿泊予約をした場合に、エージェントは、環境から報酬「１００」を取得する。言い換えると、学習装置１００は、エピソードの結果「宿泊予約」に基づいて、値「１００」を、報酬として決定する。
【００３４】
例示のために、図２の例では、学習装置１００は、トラベルサービスのページの閲覧要求を、ユーザ装置１０から、時刻「６」に受信すると仮定する。さらに、学習装置１００は、閲覧要求を受信したことに応じて、トラベルサービスのページとともに、広告Ｙ１をユーザ装置１０に提供すると仮定する。この例では、ユーザ装置１０のユーザが、トラベルサービスのページ内に表示された広告Ｙ１を選択し、その後、宿泊予約をした場合に、エージェントは、環境から報酬「１００」を取得する。
【００３５】
上述の処理ステップの評価に関しては、学習装置１００は、所定の状態（例えば、所定のユーザ行動）と所定の行動（例えば、所定の広告の提供）との組み合わせに対応する予約率ＲＲ１１（すなわち、コンバージョン率）を集計する。例えば、学習装置１００は、各処理ステップの予約率を算出する。より具体的には、学習装置１００は、状態と広告出稿との組み合わせに対応する予約率を算出する。図２の例では、例えば、状態「ＴＯＰページ閲覧」と広告出稿「Ｙ１」との組み合わせに対応する予約率は、「１％」である。このことは、ユーザ装置１０のユーザが、ＴＯＰページ内に表示された広告Ｙ１を選択し、その後、宿泊予約をする確率が、「１％」であることを意味する。そして、学習装置１００は、予約率の集計結果を、報酬に反映させる。例えば、学習装置１００は、状態と広告出稿との組み合わせに対応する算出された予約率と、決定された報酬との積を、この状態と広告出稿との組み合わせに対応する報酬として、再定義する。学習装置１００は、例えば、状態「ＴＯＰページ閲覧」と広告出稿「Ｙ１」との組み合わせに対応する予約率「１％」と、決定された報酬「１００」との積「１」を、この状態と広告出稿との組み合わせに対応する報酬として、定義する。図２の例では、学習装置１００は、複数のエピソードＥＰ１１から、報酬が再定義された複数のエピソードＥＰ１２を生成する。
【００３６】
上述のように、図２の例では、学習装置１００は、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップを、エピソードの最終状態の成否に応じて評価することができる。すなわち、学習装置１００は、最終状態を用いて、途中の処理ステップを評価することができる。例えば、学習装置１００は、この一連の処理ステップに対応する複数のエピソードを実行することによって、最終状態の成否に応じた報酬を、途中の処理ステップに与えることができる。
【００３７】
図１に戻ると、次いで、学習装置１００は、評価された各処理ステップの情報を用いて、モデルを更新する（ステップＳ１５）。
【００３８】
例えば、学習装置１００は、図２に示されるような複数のエピソードＥＰ１２を用いて、モデルを更新する。例えば、上述のモデルが、行動や状態の価値に基づくモデルである場合に、学習装置１００は、複数のエピソードＥＰ１２を用いて、Ｑ学習（Q-learning）を実行する。一方、モデルが、方策に基づくモデルである場合には、学習装置１００は、複数のエピソードＥＰ１２を用いて、方策学習を行う。例えば、学習装置１００は、方策勾配法を用いて、モデル（例えば、ニューラルネット）の方策を訓練することができる。
【００３９】
次いで、学習装置１００は、ウェブ上におけるユーザ行動を取得する（ステップＳ１６）。
【００４０】
例えば、ステップＳ１１の場合と同様に、学習装置１００は、トップページの閲覧、ニュースの閲覧、旅行の検索、トラベルサービスの閲覧等の行動を取得する。
【００４１】
その後、学習装置１００は、更新後のモデルによる広告提供の有無に応じたコンテンツを提供する（ステップＳ１７）。
【００４２】
図２に示されるように、学習装置１００は、状態と広告出稿との組み合わせに対応する予約率に基づいて、複数のエピソードの報酬を再定義する。そして、学習装置１００は、報酬が再定義された複数のエピソードを用いて、モデルを更新する。図２の例では、状態「ニュース閲覧」と広告出稿「Ｙ１」との組み合わせに対応する報酬「２」は、状態「ニュース閲覧」と広告出稿「Ｎ１」との組み合わせに対応する報酬「０．５」よりも高い。したがって、広告Ｙ１が更新後のモデルによる広告提供の有無に応じたコンテンツに表示される確率は、広告Ｎ１が更新後のモデルによる広告提供の有無に応じたコンテンツに表示される確率よりも高い。図２の例では、状態「ニュース閲覧」と広告出稿「Ｙ１」との組み合わせに対応する予約率「２％」は、状態「ニュース閲覧」と広告出稿「Ｎ１」との組み合わせに対応する予約率「０．５％」よりも高い。このため、学習装置１００は、宿泊予約の予約率を向上させることができる。
【００４３】
上述のように、実施形態に係る学習装置１００は、エピソードの最終状態に基づいて、途中の処理ステップに、報酬を与える。この点に関して、学習装置１００は、最終状態を評価することによってわかる、途中の処理ステップの評価を、数値化することができる。このように、学習装置１００は、最終状態から得られた知見を用いて、報酬を再設計することができる。そして、学習装置１００は、数値化された評価を、途中の処理ステップに、報酬として与えることができる。その結果、学習装置１００は、エピソードの最終状態によって再定義された報酬情報を、強化学習の最適化問題に適用することができる。これにより、学習装置１００は、エピソード中の良い行動が評価されるように、価値の評価やエージェントの方策を最適化することができる。このため、学習装置１００は、強化学習の精度を向上させることができる。さらに、学習装置１００は、強化学習の学習時間を短縮することができる。以下、このような学習処理を実現する学習装置１００について詳細に説明する。
【００４４】
〔２．学習装置の構成〕
次に、図３を参照して、実施形態に係る学習装置１００の構成例について説明する。図３は、実施形態に係る学習装置１００の構成例を示す図である。図３に示すように、学習装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、学習装置１００は、学習装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（液晶ディスプレイ等）を有してもよい。
【００４５】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、ネットワーク網と有線又は無線により接続され、ネットワーク網を介して、ユーザ装置１０との間で情報の送受信を行う。
【００４６】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図３に示すように、記憶部１２０は、モデル記憶部１２１と、学習データ記憶部１２２とを有する。
【００４７】
（モデル記憶部１２１）
モデル記憶部１２１は、強化学習における価値や方策を決定するためのモデル（すなわち、モデルのデータ）を記憶する。モデル記憶部１２１は、例えば、受信部１３２によって受信されたモデルを記憶する。モデル記憶部１２１は、強化学習における価値を決定するためのモデル（例えば、ニューラルネット）を記憶してもよい。モデル記憶部１２１は、強化学習における方策を決定するためのモデル（例えば、Ｑネットワーク）を記憶してもよい。
【００４８】
（学習データ記憶部１２２）
学習データ記憶部１２２は、学習データのセット（すなわち、データセット）を記憶する。例えば、学習データ記憶部１２２は、処理ステップの履歴を記憶する。学習データ記憶部１２２は、一連の処理ステップを、経験として記憶してもよい。例えば、学習データ記憶部１２２は、第２取得部１３３、第３取得部１３４および提供部１３８によって実行された一連の処理ステップを、経験として記憶してもよい。より具体的には、学習データ記憶部１２２は、状態、行動、報酬、遷移先の状態、エピソードの終了フラグを示すエージェントの経験を記憶してもよい。
【００４９】
（制御部１３０）
制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、学習装置１００内部の記憶装置に記憶されている各種プログラム（学習プログラムの一例に相当）がＲＡＭ等を作業領域として実行されることにより実現される。また、制御部１３０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００５０】
制御部１３０は、図３に示すように、第１取得部１３１と、受信部１３２と、第２取得部１３３と、第３取得部１３４と、決定部１３５と、評価部１３６と、学習部１３７と、提供部１３８とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。なお、制御部１３０の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００５１】
（第１取得部１３１）
第１取得部１３１は、強化学習における価値や方策を決定するためのモデル（すなわち、モデルのデータ）を取得する。第１取得部１３１は、例えば、受信部１３２によって受信されたモデルを取得する。第１取得部１３１は、所定の記憶装置から、モデルを取得してもよい。例えば、第１取得部１３１は、上述のモデル記憶部１２１から、モデルを取得してもよい。第１取得部１３１は、取得されたモデルを、上述のモデル記憶部１２１に格納してもよい。
【００５２】
（受信部１３２）
受信部１３２は、強化学習における価値や方策を決定するためのモデル（すなわち、モデルのデータ）を受信する。例えば、受信部１３２は、所定の情報処理装置から、モデルを受信する。例えば、受信部１３２は、学習装置１００に関係するエンティティ（例えば、企業）の装置から、モデルを受信する。受信部１３２は、受信されたモデルを、モデル記憶部１２１に格納してもよい。
【００５３】
受信部１３２は、状態を示す状態情報を受信する。後述されるように、状態は、強化学習におけるエージェントの状態である。受信部１３２は、所定の情報処理装置から、状態情報を受信する。例えば、受信部１３２は、学習装置１００に関係するエンティティ（例えば、ユーザ、企業）の装置から、状態情報を受信する。受信部１３２は、受信された状態情報を、学習データ記憶部１２２に格納してもよい。
【００５４】
例えば、受信部１３２は、ユーザの行動を示す行動情報を、上述の状態情報として受信する。受信部１３２は、受信された行動情報を、記憶部１２０内の所定の記憶領域である行動情報記憶部（図示せず）に格納してもよい。
【００５５】
受信部１３２は、提供部１３８によって提供されたコンテンツを介して、ユーザの行動情報を受信してもよい。提供部１３８によって提供されたコンテンツは、検索、ポータル、ショッピング、オークション、ニュース、ファイナンス、旅行、飲食店紹介、スポーツ、テレビ、動画、ゲーム、地図、路線情報、料理、不動産、自動車、ブログ、結婚、漫画、占い、地域情報等のコンテンツであってもよい。
【００５６】
受信部１３２は、コンテンツのコンテンツ情報（すなわち、コンテンツのデータ）を受信する。例えば、受信部１３２は、所定の情報処理装置から、コンテンツ情報を受信する。例えば、受信部１３２は、学習装置１００に関係するエンティティ（例えば、企業）の装置から、コンテンツ情報を受信する。受信部１３２は、受信されたコンテンツ情報を、記憶部１２０内の所定の記憶領域であるコンテンツ情報記憶部（図示せず）に格納してもよい。
【００５７】
（第２取得部１３３）
第２取得部１３３は、状態を示す状態情報を取得する。状態は、強化学習におけるエージェントの状態である。より具体的には、環境が、エージェントの行動に応じて、エージェントに状態（すなわち、状態の観測値）を返す。すなわち、状態は、観察（observation）に対応する。
【００５８】
例えば、第２取得部１３３は、ユーザの行動を示す行動情報を、上述の状態情報として取得する。第２取得部１３３は、例えば、受信部１３２によって受信された行動情報を取得する。第２取得部１３３は、所定の記憶装置から、行動情報を取得してもよい。例えば、第２取得部１３３は、上述の行動情報記憶部（図示せず）から、行動情報を取得してもよい。第２取得部１３３は、取得された行動情報を、行動情報記憶部に格納してもよい。
【００５９】
一例では、第２取得部１３３は、ウェブ上におけるユーザ行動を、「状態」（すなわち、観察）として取得する。「環境」は、例えば、コンテンツ配信ネットワークである。この例では、環境は、エージェントの行動「コンテンツ配信」に応じて、エージェントに状態「ウェブ上におけるユーザ行動」を返す。言い換えると、第２取得部１３３は、環境「コンテンツ配信ネットワーク」から、状態「ウェブ上におけるユーザ行動」を取得する。ウェブ上におけるユーザ行動は、例えば、トップページの閲覧、ニュースの閲覧、旅行の検索、トラベルサービスの閲覧等の行動である。
【００６０】
（第３取得部１３４）
第３取得部１３４は、強化学習における価値や方策を決定するためのモデルが出力した出力情報を取得する。例えば、第３取得部１３４は、エージェントによって取られる行動を示す出力情報を取得する。
【００６１】
一例では、第３取得部１３４は、ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する。
【００６２】
例えば、第３取得部１３４は、ユーザ行動に対応する特徴ベクトル（素性ベクトルまたはインスタンスとも呼ばれる）をモデルに入力することによって、広告提供の有無（すなわち、所定の広告が提供されるか否か）を、エージェントによって取られる行動として出力する。
【００６３】
例えば、上述のモデルが、行動や状態の価値に基づくモデル（すなわち、方策オンアルゴリズム）である場合に、第３取得部１３４は、ユーザ行動に対応する特徴ベクトルをこのモデル（例えば、ニューラルネット）に入力することによって、所定の広告が提供される確率を出力する。そして、第３取得部１３４は、出力された確率に基づいて、所定の広告が提供されるか否かを決定する。一方、モデルが、方策に基づくモデル（すなわち、方策オフアルゴリズム）である場合には、第３取得部１３４は、ユーザ行動に対応する特徴ベクトルをこのモデル（例えば、Ｑネットワーク）に入力することによって、所定の状態（例えば、所定のユーザ行動）および所定の行動（例えば、所定の広告の提供）に対応するＱ値を出力する。そして、第３取得部１３４は、出力されたＱ値に基づいて、所定の広告が提供されるか否かを決定する。例えば、第３取得部１３４は、イプシロン貪欲法を用いて、最も大きいＱ値に対応する行動を、所定の確率（すなわち、イプシロン）で、エージェントによって取られる行動として決定する。
【００６４】
（決定部１３５）
決定部１３５は、状態が最終状態となるまで繰り返し実行された場合は、この最終状態に応じた報酬を決定する。
【００６５】
一例では、学習装置１００の第２取得部１３３、第３取得部１３４および提供部１３８は、上述のように、「ウェブ上におけるユーザ行動を取得する第１のステップ」、「ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する第２のステップ」および「広告提供の有無に応じたコンテンツを提供する第３のステップ」の一連の処理ステップに対応する複数のエピソードを実行する。この例では、状態は、ユーザ行動に対応する。また、広告出稿は、エージェントの行動に対応する。なお、「時刻」は、エージェントが環境から状態（例えば、ユーザ行動）を取得し、行動（例えば、広告出稿）を取った離散時間に対応する。この例では、エージェントの目標は、宿泊予約である。状態が最終状態に至った場合に、決定部１３５は、エピソードの結果に応じた報酬を決定する。例えば、ユーザが、上述の第１のステップにおいて、宿泊予約をした場合に、エージェントは、環境から報酬「１００」を取得する。言い換えると、決定部１３５は、エピソードの結果「宿泊予約」に基づいて、値「１００」を、報酬として決定する。
【００６６】
決定部１３５は、処理ステップの履歴を、学習データ記憶部１２２に格納してもよい。例えば、決定部１３５は、一連の処理ステップを、経験として蓄積してもよい。例えば、第２取得部１３３、第３取得部１３４および提供部１３８によって実行された一連の処理ステップを、経験として学習データ記憶部１２２に格納してもよい。より具体的には、決定部１３５は、状態、行動、報酬、遷移先の状態、エピソードの終了フラグを示すエージェントの経験を、学習データ記憶部１２２に格納してもよい。
【００６７】
（評価部１３６）
評価部１３６は、状態を示す状態情報をモデルに入力する入力処理と、このモデルが出力した出力情報を用いて状態を更新する更新処理とを含む処理ステップが、状態が所定の条件を満たす最終状態となるまで繰り返し実行された場合は、この最終状態に応じて、実行された各処理ステップを評価する。例えば、評価部１３６は、決定部１３５により決定された報酬に応じて、実行された各処理ステップを評価する。
【００６８】
例えば、評価部１３６は、最終状態が所定の目的を満たすか否かに応じて、各処理ステップを評価する。例えば、評価部１３６は、最終状態が所定の目的を満たす場合に実行された各処理ステップを、最終状態が所定の目的を満さない場合に実行された各処理ステップよりも高く評価する。また、例えば、評価部１３６は、処理ステップにおいて更新された状態が、所定の目標に近い程、この処理ステップを高く評価する。一例では、評価部１３６は、エージェントの行動に応じて更新された状態がトラベルサービス閲覧である場合のこのエージェントの行動に与えられる報酬が、エージェントの他の行動に応じて更新された状態が旅行検索である場合のこのエージェントの他の行動に与えられる報酬よりも高くなるように、エージェントの行動に与えられる報酬を決定する。
【００６９】
評価部１３６は、状態が所定の条件を満たすまで繰り返し実行された複数の処理ステップを含むエピソードを複数取得し、取得した各エピソードにおける最終状態に応じて、各エピソードに含まれる処理ステップを評価してもよい。例えば、評価部１３６は、各エピソードに含まれる処理ステップにおける更新前の状態と、この処理ステップにおいてモデルが出力した出力情報との組を特定し、各エピソードに含まれる全ての処理ステップに対する各組の出現割合に基づいて、各処理ステップを評価してもよい。例えば、評価部１３６は、対応する組の出現頻度が高い処理ステップを、対応する組の出現頻度が低い処理ステップよりも高く評価してもよい。
【００７０】
一例では、評価部１３６は、ユーザ行動が所定の条件を満たす場合は、エピソードが最終状態に至ったものとして、それまでの処理ステップを、最終状態の成否に応じて評価する。
【００７１】
例えば、「ウェブ上におけるユーザ行動を取得する第１のステップ」において、状態（すなわち、ユーザ行動）が最終状態でない場合に、学習装置１００の第２取得部１３３、第３取得部１３４および提供部１３８は、「ウェブ上におけるユーザ行動を取得する第１のステップ」において状態が最終状態に至るまで、「ウェブ上におけるユーザ行動を取得する第１のステップ」、「ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する第２のステップ」および「広告提供の有無に応じたコンテンツを提供する第３のステップ」の一連の処理ステップを繰り返す。上述の所定の条件は、例えば、「ユーザが、宿泊予約をする」という条件（すなわち、コンバージョン）である。上述の所定の条件は、「ユーザが、離脱する」という条件（すなわち、離脱）であってもよい。より具体的には、この条件は、「ユーザが、所定のページを終了させる」という条件であってもよい。所定のページは、例えば、トラベルサービスのページである。評価部１３６は、例えば、宿泊予約の成否に応じて、第１のステップ、第２のステップおよび第３のステップの一連の処理ステップを評価する。
【００７２】
一例では、評価部１３６は、所定の状態（例えば、所定のユーザ行動）と所定の行動（例えば、所定の広告の提供）との組み合わせに対応する予約率（すなわち、コンバージョン率）を集計する。例えば、評価部１３６は、各処理ステップの予約率を算出する。より具体的には、評価部１３６は、状態と広告出稿との組み合わせに対応する予約率を算出する。この例では、例えば、状態「ＴＯＰページ閲覧」と広告出稿「Ｙ１」との組み合わせに対応する予約率は、「１％」である。このことは、ユーザ装置１０のユーザが、ＴＯＰページ内に表示された広告Ｙ１を選択し、その後、宿泊予約をする確率が、「１％」であることを意味する。そして、評価部１３６は、予約率の集計結果を、報酬に反映させる。例えば、評価部１３６は、状態と広告出稿との組み合わせに対応する算出された予約率と、決定された報酬との積を、この状態と広告出稿との組み合わせに対応する報酬として、再定義する。評価部１３６は、例えば、状態「ＴＯＰページ閲覧」と広告出稿「Ｙ１」との組み合わせに対応する予約率「１％」と、決定部１３５によって決定された報酬「１００」との積「１」を、この状態と広告出稿との組み合わせに対応する報酬として、定義する。この例では、評価部１３６は、複数のエピソードから、報酬が再定義された複数のエピソードを生成する。
【００７３】
上述のように、評価部１３６は、「ウェブ上におけるユーザ行動を取得する第１のステップ」、「ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する第２のステップ」および「広告提供の有無に応じたコンテンツを提供する第３のステップ」の一連の処理ステップを、エピソードの最終状態の成否に応じて評価することができる。すなわち、評価部１３６は、最終状態を用いて、途中の処理ステップを評価することができる。例えば、評価部１３６は、この一連の処理ステップに対応する複数のエピソードを実行することによって、最終状態の成否に応じた報酬を、途中の処理ステップに与えることができる。
【００７４】
（学習部１３７）
学習部１３７は、処理ステップにおいてモデルが出力した出力情報と、この処理ステップにおける更新後の状態と、この処理ステップに対する評価結果とに基づいて、モデルの学習を行う。
【００７５】
一例では、学習部１３７は、評価部１３６によって評価された各処理ステップの情報を用いて、モデルを更新する。
【００７６】
例えば、学習部１３７は、学習データ記憶部１２２に記憶された複数のエピソードを用いて、モデルを更新する。例えば、上述のモデルが、行動や状態の価値に基づくモデルである場合に、学習部１３７は、学習データ記憶部１２２に記憶された複数のエピソードを用いて、Ｑ学習を実行する。一方、モデルが、方策に基づくモデルである場合には、学習部１３７は、学習データ記憶部１２２に記憶された複数のエピソードを用いて、方策学習を行う。例えば、学習部１３７は、方策勾配法を用いて、モデル（例えば、ニューラルネット）の方策を訓練することができる。
【００７７】
（提供部１３８）
提供部１３８は、ユーザ装置１０に、コンテンツを提供する。提供部１３８は、例えば、受信部１３２によって受信されたコンテンツを、ユーザ装置１０に提供する。提供部１３８は、上述のコンテンツ情報記憶部（図示せず）から、コンテンツを取得してもよい。提供部１３８は、取得されたコンテンツを、ユーザ装置１０に提供してもよい。
【００７８】
一例では、提供部１３８は、広告提供の有無に応じたコンテンツを提供する。
【００７９】
例えば、エージェントによって取られる行動が、所定の広告の提供である場合に、提供部１３８は、この所定の広告が掲載されるコンテンツを、ユーザ装置１０に提供する。上述のように、所定の広告は、例えば、宿泊系の広告である。
【００８０】
〔３．学習処理のフロー〕
次に、実施形態に係る学習装置１００による学習処理の手順について説明する。図４は、実施形態に係る学習装置１００による学習処理手順を示すフローチャートである。
【００８１】
図４に示すように、はじめに、第１取得部１３１は、エージェントの行動を決定するモデルを初期化する（ステップＳ１０１）。
【００８２】
次いで、第２取得部１３３は、環境から状態を取得する（ステップＳ１０２）。例えば、第２取得部１３３は、環境から第１の状態を取得する。
【００８３】
次いで、第３取得部１３４は、第２取得部１３３によって取得された状態を、第１取得部１３１によって初期化されたモデル（すなわち、エージェント）に入力することによって、このモデルから行動を取得する（ステップＳ１０３）。例えば、第３取得部１３４は、第２取得部１３３によって取得された第１の状態を、第１取得部１３１によって初期化されたモデルに入力することによって、このモデルから第１の行動を取得する。
【００８４】
次いで、第２取得部１３３は、取得された状態と、第３取得部１３４によって取得された行動とに基づいて、環境から新たな状態を取得する（ステップＳ１０４）。例えば、第２取得部１３３は、取得された第１の状態と、第３取得部１３４によって取得された第１の行動とに基づいて、環境から第２の状態を取得する。
【００８５】
次いで、第２取得部１３３は、取得された状態と、第３取得部１３４によって取得された行動とを、ある時刻における状態および行動として、蓄積する（ステップＳ１０５）。例えば、第２取得部１３３は、取得された第１の状態と、第３取得部１３４によって取得された第１の行動とを、第１の時刻における状態および行動として、蓄積する。
【００８６】
次いで、決定部１３５は、状態を新たな状態に更新し、新たな状態が最終状態であるか否かを判定する（ステップＳ１０６）。例えば、決定部１３５は、第１の状態を第２の状態に更新し、第２の状態が最終状態であるか否かを判定する。
【００８７】
新たな状態が最終状態でないと判定された場合に（ステップＳ１０６；Ｎｏ）、学習処理手順は、ステップＳ１０３に戻る。この場合、上述のように、第３取得部１３４は、この新たな状態をモデルに入力することによって、モデルから新たな行動を取得する。例えば、第３取得部１３４は、第２の状態をモデルに入力することによって、モデルから第２の行動を取得する。
【００８８】
一方、新たな状態が最終状態であると判定された場合に（ステップＳ１０６；Ｙｅｓ）、決定部１３５は、エピソードに対する報酬を決定する（ステップＳ１０７）。例えば、第２の状態が最終状態であると判定された場合に、決定部１３５は、第１の時刻に終了するエピソードに対する報酬を決定する。
【００８９】
次いで、評価部１３６は、最終状態を知ることによって決定される、途中の処理ステップの報酬を、蓄積された各時刻における状態および行動の報酬として、再定義する（ステップＳ１０８）。例えば、第２の状態が最終状態であると判定された場合に、評価部１３６は、最終状態を知ることによって決定される、途中の処理ステップの報酬を、蓄積された第１の時刻における状態および行動の報酬として、再定義する。
【００９０】
次いで、学習部１３７は、評価部１３６によって再定義された途中の処理ステップの報酬を用いて、モデルの更新を行う（ステップＳ１０９）。
【００９１】
次いで、決定部１３５は、エージェントが学習部１３７によって更新されたモデルを用いて行動を決定したエピソード（すなわち、新たなエピソード）で得られた報酬の和を算出する（ステップＳ１１０）。
【００９２】
その後、決定部１３５は、算出された報酬の和が閾値より大きいか否かを判定する（ステップＳ１１１）。
【００９３】
算出された報酬の和が閾値より大きくないと判定された場合に（ステップＳ１１１；Ｎｏ）、学習処理手順は、ステップＳ１０２に戻る。
【００９４】
一方、算出された報酬の和が閾値より大きいと判定された場合に（ステップＳ１１１；Ｙｅｓ）、学習処理手順は、終了する。
【００９５】
〔４．変形例〕
上述の実施形態に係る学習装置１００は、上記の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記の学習装置１００の他の実施形態について説明する。
【００９６】
〔４−１．途中の状態と最終状態とに応じた処理ステップの評価〕
評価部１３６は、さらに、各処理ステップにおいて更新された状態と、所定の条件が満たされた際の状態との比較結果に応じて、各処理ステップを評価してもよい。例示のために、第１の状態（例えば、ユーザ行動）が、第１のエージェントの行動に応じて、第２の状態に遷移すると仮定する。さらに、第２の状態が、第２のエージェントの行動に応じて、最終状態（例えば、コンバージョン）に遷移すると仮定する。この例では、第１のエージェントの行動は、第２の状態から最終状態への遷移に、間接的に貢献している。したがって、評価部１３６は、第１のエージェントの行動に、最終状態に基づく報酬を与えてもよい。
【００９７】
〔４−２．順序に応じた処理ステップの評価〕
評価部１３６は、状態が所定の条件を満たすまで繰り返し実行された各処理ステップを、各処理ステップが実行された順序に応じて評価してもよい。例えば、評価部１３６は、各処理ステップが実行された順序に基づいて、各処理ステップの割引率（discount  rate）を決定してもよい。そして、評価部１３６は、決定された割引率に基づいて、状態が所定の条件を満たすまで繰り返し実行された各処理ステップを評価してもよい。例えば、評価部１３６は、決定された割引率に基づいて、状態が所定の条件を満たすまで繰り返し実行された各処理ステップに対応する報酬を決定してもよい。
【００９８】
〔４−３．成功エピソードにつながる報酬の推定〕
評価部１３６は、状態を示す状態情報をモデルに入力する入力処理と、このモデルが出力した出力情報を用いて状態を更新する更新処理とを含む処理ステップが、状態が所定の条件を満たす最終状態となるまで繰り返し実行された場合は、この最終状態につながる報酬を推定することによって、実行された各処理ステップを評価してもよい。例えば、評価部１３６は、成功エピソードに対応するエージェントの行動を、エキスパート（すなわち、優秀なエージェント）の行動として決定してもよい。加えて、評価部１３６は、所定の報酬関数を用いて、モデルを訓練してもよい。そして、評価部１３６は、逆強化学習の手法を用いて、モデルの出力と、エキスパートの行動とを比較し、比較結果に基づいて、報酬関数を更新してもよい。これにより、評価部１３６は、上述の最終状態につながる報酬を推定することができる。
【００９９】
〔４−４．適用可能なドメイン〕
上記の例示的な実施形態では、学習装置１００は、広告出稿に関する処理ステップを評価し、評価結果を用いてモデルの学習を行っているが、これに限定されるものではない。実施形態に係る学習装置１００は、広告出稿以外のドメインに適用することができる。処理ステップの評価に関しては、例えば、評価部１３６は、各処理ステップにおける状態と、最終状態との差に基づいて、各処理ステップにおける状態を評価することができる。評価部１３６は、各処理ステップにおける状態を評価するための任意の設定を採用することができる。
【０１００】
例えば、実施形態に係る学習装置１００は、経路の予測に適用されてもよい。一例では、経路の予測は、野球の外野フライである。この例では、各処理ステップにおける状態および行動は、ボールの位置、野手の行動（例えば、野手の位置、グラブの高さ）にそれぞれ対応する。最終状態は、捕球の成功または失敗に対応する。例えば、評価部１３６は、各処理ステップにおける状態「ボールの位置」と、最終状態「野手が捕球した位置」または最終状態「野手が捕球し損なった位置」との差に基づいて、各処理ステップにおける状態「野手の位置」を評価してもよい。別の例では、経路の予測は、飛翔体の迎撃である。この例では、各処理ステップにおける状態および行動は、飛翔体の位置、迎撃弾の位置にそれぞれ対応する。最終状態は、迎撃の成功または失敗に対応する。例えば、評価部１３６は、各処理ステップにおける状態「飛翔体の位置」と、最終状態「迎撃システムが飛翔対を迎撃した位置」または最終状態「迎撃システムが飛翔対を迎撃し損なった位置」との差に基づいて、各処理ステップにおける状態「飛翔体の位置」を評価してもよい。
【０１０１】
また、例えば、実施形態に係る学習装置１００は、経路の探索に適用されてもよい。一例では、経路の探索は、迷路の探索である。この例では、各処理ステップにおける状態および行動は、迷路内の壁の位置、エージェントの移動動作にそれぞれ対応する。最終状態は、所定時間内におけるゴールへの到達の成功または失敗に対応する。例えば、評価部１３６は、各処理ステップにおける状態「迷路内の壁の位置」と、最終状態「ゴールに到達するのにかかった時間」との差に基づいて、各処理ステップにおける状態「エージェントの移動動作」を評価してもよい。
【０１０２】
〔５．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１０３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１０４】
例えば、図３に示した記憶部１２０の一部又は全部は、学習装置１００によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、学習装置１００は、ストレージサーバにアクセスすることで、モデルや学習データ等の各種情報を取得する。
【０１０５】
〔６．ハードウェア構成〕
また、上述してきた実施形態に係る学習装置１００は、例えば図５に示すような構成のコンピュータ１０００によって実現される。図５は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【０１０６】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ、フラッシュメモリ等により実現される。
【０１０７】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【０１０８】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【０１０９】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【０１１０】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【０１１１】
例えば、コンピュータ１０００が学習装置１００として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。
【０１１２】
〔７．効果〕
上述してきたように、実施形態に係る学習装置１００は、評価部１３６と、学習部１３７とを有する。評価部１３６は、状態を示す状態情報をモデルに入力する入力処理と、このモデルが出力した出力情報を用いて状態を更新する更新処理とを含む処理ステップが、状態が所定の条件を満たす最終状態となるまで繰り返し実行された場合は、この最終状態に応じて、実行された各処理ステップを評価する。学習部１３７は、処理ステップにおいてモデルが出力した出力情報と、この処理ステップにおける更新後の状態と、この処理ステップに対する評価結果とに基づいて、モデルの学習を行う。
【０１１３】
また、実施形態に係る学習装置１００は、状態が最終状態となるまで繰り返し実行された場合は、この最終状態に応じた報酬を決定する決定部１３５を有する。また、実施形態に係る学習装置１００において、評価部１３６は、決定部１３５により決定された報酬に応じて、実行された各処理ステップを評価する。
【０１１４】
また、実施形態に係る学習装置１００において、評価部１３６は、最終状態が所定の目的を満たすか否かに応じて、各処理ステップを評価する。
【０１１５】
また、実施形態に係る学習装置１００において、評価部１３６は、最終状態が所定の目的を満たす場合に実行された各処理ステップを、最終状態が所定の目的を満さない場合に実行された各処理ステップよりも高く評価する。
【０１１６】
また、実施形態に係る学習装置１００において、評価部１３６は、さらに、各処理ステップにおいて更新された状態と、所定の条件が満たされた際の状態との比較結果に応じて、各処理ステップを評価する。
【０１１７】
また、実施形態に係る学習装置１００において、評価部１３６は、処理ステップにおいて更新された状態が、所定の目標に近い程、この処理ステップを高く評価する。
【０１１８】
また、実施形態に係る学習装置１００において、評価部１３６は、状態が所定の条件を満たすまで繰り返し実行された複数の処理ステップを含むエピソードを複数取得し、取得した各エピソードにおける最終状態に応じて、各エピソードに含まれる処理ステップを評価する。
【０１１９】
また、実施形態に係る学習装置１００において、評価部１３６は、各エピソードに含まれる処理ステップにおける更新前の状態と、この処理ステップにおいてモデルが出力した出力情報との組を特定し、各エピソードに含まれる全ての処理ステップに対する各組の出現割合に基づいて、各処理ステップを評価する。
【０１２０】
また、実施形態に係る学習装置１００において、評価部１３６は、対応する組の出現頻度が高い処理ステップを、対応する組の出現頻度が低い処理ステップよりも高く評価する。
【０１２１】
また、実施形態に係る学習装置１００において、評価部１３６は、状態が所定の条件を満たすまで繰り返し実行された各処理ステップを、各処理ステップが実行された順序に応じて評価する。
【０１２２】
上述した各処理により、学習装置１００は、強化学習のパフォーマンスを改善することができる。
【０１２３】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１２４】
また、上述した学習装置１００は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をＡＰＩ（Application  Programming  Interface）やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【０１２５】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、第１取得部は、第１取得手段や第１取得回路に読み替えることができる。
【符号の説明】
【０１２６】
１  学習システム
１０  ユーザ装置
１００  学習装置
１１０  通信部
１２０  記憶部
１２１  モデル記憶部
１２２  学習データ記憶部
１３０  制御部
１３１  第１取得部
１３２  受信部
１３３  第２取得部
１３４  第３取得部
１３５  決定部
１３６  評価部
１３７  学習部
１３８  提供部
【図１】
2020190853.tif 000003
【図２】
2020190853.tif 000004
【図３】
2020190853.tif 000005
【図４】
2020190853.tif 000006
【図５】
2020190853.tif 000007