(57)【要約】【課題】強化学習のパフォーマンスを改善すること。【解決手段】本願に係る学習装置は、選択部と、学習部とを有する。選択部は、状態を示す状態情報をモデルに入力する入力処理と、このモデルが出力した出力情報を用いて状態を更新する更新処理とを含む処理ステップが、状態が所定の条件を満たす最終状態となるまで繰り返し実行された複数のエピソードのうち、最終状態が所定の目的を満たす成功エピソードと、この最終状態が所定の目的を満たさない失敗エピソードとの組合せを選択する。学習部は、選択部により選択されたエピソードを用いて、モデルの学習を行う。【選択図】図３
2020190854.tif 000002
【特許請求の範囲】
【請求項１】
状態を示す状態情報をモデルに入力する入力処理と、当該モデルが出力した出力情報を用いて前記状態を更新する更新処理とを含む処理ステップが、前記状態が所定の条件を満たす最終状態となるまで繰り返し実行された複数のエピソードのうち、前記最終状態が所定の目的を満たす成功エピソードと、当該最終状態が所定の目的を満たさない失敗エピソードとの組合せを選択する選択部と、
前記選択部により選択されたエピソードを用いて、前記モデルの学習を行う学習部と
を有することを特徴とする学習装置。
【請求項２】
前記選択部は、複数の成功エピソードと、複数の失敗エピソードとの組合せを選択する
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記選択部は、前記エピソードに含まれる処理ステップに対する評価の合計に応じて、前記複数のエピソードの中から、前記成功エピソードと前記失敗エピソードとの組を選択する
ことを特徴とする請求項１または２に記載の学習装置。
【請求項４】
前記選択部は、評価の合計が低い方から順に所定の数の成功エピソード若しくは失敗エピソードを選択する
ことを特徴とする請求項３に記載の学習装置。
【請求項５】
前記選択部は、評価の合計が高い方から順に所定の数の成功エピソード若しくは失敗エピソードを選択する
ことを特徴とする請求項３に記載の学習装置。
【請求項６】
前記選択部は、評価の合計が高い方から順に所定の数の成功エピソードを選択した場合は、評価の合計が低い方から順に所定の数の失敗エピソードを選択し、評価の合計が低い方から順に所定の数の成功エピソードを選択した場合は、評価の合計が高い方から順に所定の数の失敗エピソードを選択する
ことを特徴とする請求項３に記載の学習装置。
【請求項７】
学習装置が実行する学習方法であって、
状態を示す状態情報をモデルに入力する入力処理と、当該モデルが出力した出力情報を用いて前記状態を更新する更新処理とを含む処理ステップが、前記状態が所定の条件を満たす最終状態となるまで繰り返し実行された複数のエピソードのうち、前記最終状態が所定の目的を満たす成功エピソードと、当該最終状態が所定の目的を満たさない失敗エピソードとの組合せを選択する選択工程と、
前記選択工程により選択されたエピソードを用いて、前記モデルの学習を行う学習工程と
を含むことを特徴とする学習方法。
【請求項８】
状態を示す状態情報をモデルに入力する入力処理と、当該モデルが出力した出力情報を用いて前記状態を更新する更新処理とを含む処理ステップが、前記状態が所定の条件を満たす最終状態となるまで繰り返し実行された複数のエピソードのうち、前記最終状態が所定の目的を満たす成功エピソードと、当該最終状態が所定の目的を満たさない失敗エピソードとの組合せを選択する選択手順と、
前記選択手順により選択されたエピソードを用いて、前記モデルの学習を行う学習手順と
をコンピュータに実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【０００２】
従来、強化学習のエージェントの行動を最適化するための技術が提案されている。例えば、リプレイ記憶（replay  memory）からエージェントの経験（experience）をサンプリングすることが提案されている。一技術では、ＴＤ誤差（Temporal  Difference  error）が大きい経験が、優先的にサンプリングされる（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Tom  Schaul、John  Quan、Ioannis  Antonoglou、David  Silver“PRIORITIZED  EXPERIENCE  REPLAY”［online］、［２０１９年５月２０日検索］、インターネット（https://arxiv.org/pdf/1511.05952.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術には、改善の余地がある。例えば、上記の従来技術では、モデルの精度が悪化した場合に、このモデルを用いて算出されるＴＤ誤差が、信頼できなくなる場合がある。このような場合、上記の従来技術は、強化学習のパフォーマンスを改善することができるとは限らない。
【０００５】
本願は、上記に鑑みてなされたものであって、強化学習のパフォーマンスを改善することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る学習装置は、状態を示す状態情報をモデルに入力する入力処理と、当該モデルが出力した出力情報を用いて前記状態を更新する更新処理とを含む処理ステップが、前記状態が所定の条件を満たす最終状態となるまで繰り返し実行された複数のエピソードのうち、前記最終状態が所定の目的を満たす成功エピソードと、当該最終状態が所定の目的を満たさない失敗エピソードとの組合せを選択する選択部と、前記選択部により選択されたエピソードを用いて、前記モデルの学習を行う学習部とを有することを特徴とする。
【発明の効果】
【０００７】
実施形態の一態様によれば、強化学習のパフォーマンスを改善することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る学習処理の一例を示す図である。
【図２】図２は、エピソード選択処理の一例を示す図である。
【図３】図３は、実施形態に係る学習装置の構成例を示す図である。
【図４】図４は、実施形態に係る学習装置による学習処理手順を示すフローチャートである。
【図５】図５は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る学習装置、学習方法及び学習プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、学習方法及び学習プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１０】
〔１．学習処理〕
まず、図１を参照して、実施形態に係る学習処理の一例について説明する。図１は、実施形態に係る学習処理の一例を示す図である。図１の例では、実施形態に係る学習システム１によって学習処理が行われる。
【００１１】
図１に示すように、学習システム１には、ユーザ装置１０と、学習装置１００とが含まれる。図１中では図示していないが、学習システム１は、複数台のユーザ装置１０や、複数台の学習装置１００を含んでもよい。
【００１２】
ユーザ装置１０は、ユーザによって利用される情報処理装置である。ユーザ装置１０は、スマートフォン、デスクトップ型ＰＣ（Personal  Computer）、ノート型ＰＣ、タブレット型ＰＣを含む、任意のタイプの情報処理装置であってもよい。
【００１３】
図１の例では、ユーザ装置１０は、広告が掲載されるコンテンツを要求するクライアント装置である。
【００１４】
学習装置１００は、強化学習における価値（value）や方策（policy）を決定するためのモデルの学習を行う情報処理装置である。学習装置１００は、サーバを含む、任意のタイプの情報処理装置であってもよい。図１中では図示していないが、学習装置１００は、ネットワーク網（例えば、インターネット網）を介して、有線又は無線によりユーザ装置１０と通信を行う。
【００１５】
図１の例では、ユーザ装置１０のユーザの行動が、状態（state）として入力された場合に、学習装置１００は、広告提供の有無（すなわち、所定の広告が提供されるか否か）を、エージェント（agent）によって取られる行動（action）として出力する。
【００１６】
図１の例では、上述の状態は、ウェブ上におけるユーザ行動（すなわち、ネットワーク上のユーザの行動）である。ウェブ上におけるユーザ行動は、トップページの閲覧、ニュースの閲覧、旅行の検索、トラベルサービスの閲覧等の行動である。
【００１７】
図１の例では、上述のエージェントの行動は、宿泊系の広告出稿である。宿泊系の広告出稿は、所定の宿泊系の広告をコンテンツに掲載するか否かを決定するという行動である。この例では、上述のエージェントは、宿泊予約を目標として、広告Ｙ１または広告Ｎ１のうちのいずれがコンテンツに掲載されるかを決定する。
【００１８】
ところで、強化学習では、環境から得られる報酬が最大化されるように、エージェントの行動が最適化される。エージェントは、例えば、状態が入力された場合に行動を出力するニューラルネットに代表されるモデルで表現され得る。このような最適化では、エージェントは、大量の試行を繰り返し実施する。従来、このような最適化の過程を効率化するための様々な技術が提案されている。
【００１９】
例えば、エージェントの試行とこの試行に対する状態の変化とが蓄積されたリプレイ記憶から、エージェントの経験（experience）をサンプリングする手法である経験リプレイが提案されている。また、効率的に経験をサンプリングするために、推定報酬と実際に得られた報酬との差分であるＴＤ誤差が大きい経験（すなわち、学習が十分でない経験）を、優先的にサンプリングすることが提案されている。このような技術は、優先順位付き経験リプレイ（prioritized  experience  replay）と呼ばれる。一般的に、優先的にサンプリングされた経験の学習効果は、ランダムにサンプリングされた経験の学習効果よりも高い。
【００２０】
しかしながら、上述の技術は、エージェントに実装されたモデル（例えば、Ｑネットワーク）が更新される度に、サンプリングされた経験に対応するＴＤ誤差の再計算を要する。ＴＤ誤差の再計算の頻度が高い場合には、演算量が無視できない。加えて、上述の技術では、モデルが一度悪い方向に傾いた場合に、モデルを回復するのに時間がかかることがある。例えば、モデルが局所最適に陥った場合に、このモデルを用いて算出されるＴＤ誤差が、信頼できなくなる。このため、上述の技術は、効率的な学習を行うための経験のサンプリングができなくなる場合がある。また、このような場合、局所最適から抜け出すのに時間がかかる場合がある。
【００２１】
そこで、図１の例示的な実施形態では、学習装置１００は、エージェントに実装されたモデルの学習効率を改善するために、以下に説明される学習処理を実行する。
【００２２】
はじめに、学習装置１００は、ウェブ上におけるユーザ行動を取得する（ステップＳ１１）。
【００２３】
例えば、学習装置１００は、ウェブ上におけるユーザ行動を、「状態」として取得する。この場合、「環境」は、例えば、コンテンツ配信ネットワークである。例えば、学習装置１００は、環境「コンテンツ配信ネットワーク」から、状態「ウェブ上におけるユーザ行動」を取得する。上述のように、図１の例では、ウェブ上におけるユーザ行動は、トップページの閲覧、ニュースの閲覧、旅行の検索、トラベルサービスの閲覧等の行動である。
【００２４】
次いで、学習装置１００は、ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する（ステップＳ１２）。
【００２５】
例えば、学習装置１００は、ユーザ行動に対応する特徴ベクトル（素性ベクトルまたはインスタンスとも呼ばれる）をモデルに入力することによって、広告提供の有無（すなわち、所定の広告が提供されるか否か）を、エージェントによって取られる行動として出力する。
【００２６】
例えば、上述のモデルが、行動や状態の価値に基づくモデル（すなわち、方策オンアルゴリズム）である場合に、学習装置１００は、ユーザ行動に対応する特徴ベクトルをこのモデル（例えば、ニューラルネット）に入力することによって、所定の広告が提供される確率を出力する。そして、学習装置１００は、出力された確率に基づいて、所定の広告が提供されるか否かを決定する。一方、モデルが、方策に基づくモデル（すなわち、方策オフアルゴリズム）である場合には、学習装置１００は、ユーザ行動に対応する特徴ベクトルをこのモデル（例えば、Ｑネットワーク）に入力することによって、所定の状態（例えば、所定のユーザ行動）および所定の行動（例えば、所定の広告の提供）に対応するＱ値（行動価値関数Ｑ、または状態行動価値とも呼ばれる）を出力する。そして、学習装置１００は、出力されたＱ値に基づいて、所定の広告が提供されるか否かを決定する。例えば、学習装置１００は、イプシロン貪欲法を用いて、最大のＱ値に対応する行動を、所定の確率（すなわち、イプシロン）で、エージェントによって取られる行動として決定する。
【００２７】
次いで、学習装置１００は、広告提供の有無に応じたコンテンツを提供する（ステップＳ１３）。
【００２８】
例えば、エージェントによって取られる行動が、所定の広告（例えば、広告Ｙ１）の提供である場合に、学習装置１００は、この所定の広告が掲載されるコンテンツを、ユーザ装置１０に提供する。
【００２９】
次いで、学習装置１００は、ユーザ行動が所定の条件を満たす場合は、それまでの処理ステップをエピソードとして保持する（ステップＳ１４）。
【００３０】
例えば、ステップＳ１１において、状態（すなわち、ユーザ行動）が最終状態でない場合に、学習装置１００は、ステップＳ１１において状態が最終状態に至るまで、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップを繰り返す。図１の例では、上述の所定の条件は、次の２つの条件のうちのいずれかである。１つめの条件は、「ユーザが、宿泊予約をする」という条件（すなわち、コンバージョン）である。この場合、ユーザ行動「宿泊予約」は、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップに対応するエピソードの最終状態である。２つめの条件は、「ユーザが、所定のページを終了させる」（すなわち、離脱）という条件である。この場合、ユーザ行動「離脱」は、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップに対応するエピソードの最終状態である。なお、この所定のページは、例えば、トラベルサービスのページである。ステップＳ１１において、状態が最終状態である場合には、学習装置１００は、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップを、エピソードデータとして格納する。
【００３１】
次いで、学習装置１００は、保持されたエピソードの中から、最終状態が目的を満たす成功エピソードと、最終状態が目的を満たさない失敗エピソードとの組を選択する（ステップＳ１５）。
【００３２】
図２は、エピソード選択処理の一例を示す図である。例示のために、図２の例では、学習装置１００は、所定の状態（例えば、所定のユーザ行動）と所定の行動（例えば、所定の広告の提供）との組み合わせに対応する予約率ＲＲ１１（すなわち、コンバージョン率）を、予め集計すると仮定する。例えば、学習装置１００は、記憶された広告の出稿履歴に基づいて、所定の状態と所定の行動との組み合わせに対応する予約率を、予め算出する。この例では、学習装置１００は、予約率ＲＲ１１の集計結果を、報酬に反映させる。例えば、学習装置１００は、状態と広告出稿との組み合わせに対応する予約率と、所定の値との積を、この状態と広告出稿との組み合わせに対応する報酬として、定義する。なお、図２の例では、所定の値は、状態「宿泊予約」に対応する報酬の値「１００」である。この場合、学習装置１００は、例えば、状態「ＴＯＰページ閲覧」と広告出稿「Ｙ１」との組み合わせに対応する予約率「１％」と、所定の値「１００」との積「１」を、この状態と広告出稿との組み合わせに対応する報酬として、定義する。
【００３３】
図２の例では、学習装置１００は、上述のように、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップに対応するエピソードＥＰ１１を実行する。図２の例では、状態は、ユーザ行動に対応する。また、広告出稿は、エージェントの行動に対応する。なお、「時刻」は、エージェントが環境から状態（例えば、ユーザ行動）を取得し、行動（例えば、広告出稿）を取った離散時間に対応する。図２の例では、エージェントの目標は、宿泊予約である。
【００３４】
例示のために、図２の例では、学習装置１００は、ＴＯＰページの閲覧要求を、ユーザ装置１０から、時刻「１」に受信すると仮定する。さらに、学習装置１００は、閲覧要求を受信したことに応じて、ＴＯＰページとともに、広告Ｙ１をユーザ装置１０に提供すると仮定する。この例では、エージェントは、報酬「１」を取得する。言い換えると、学習装置１００は、途中の処理ステップ「ＴＯＰページの閲覧要求に応じた広告Ｙ１の出稿」に基づいて、値「１」を、報酬として決定する。
【００３５】
図２の例では、上述のエピソードＥＰ１１の場合と同様に、学習装置１００は、ステップＳ１１、ステップＳ１２およびステップＳ１３の一連の処理ステップに対応する複数のエピソードを実行する。そして、学習装置１００は、実行された複数のエピソードを、成功エピソードと失敗エピソードとに分類し、分類された複数のエピソードを蓄積する。成功エピソードは、例えば、最終状態が状態「宿泊予約」であるエピソードである。この場合、最終状態は、目的「宿泊予約」を満たす。一方、失敗エピソードは、例えば、最終状態が状態「離脱」であるエピソードである。この場合、最終状態は、目的「宿泊予約」を満たさない。なお、成功エピソードは、例えば、報酬の合計が閾値を満たすエピソードであってもよい。この場合、失敗エピソードは、報酬の合計が閾値を満たさないエピソードであってもよい。図２の例では、学習装置１００は、複数の成功エピソードＥＰ２１と、複数の失敗エピソードＥＰ３１とを蓄積する。
【００３６】
上述のエピソードの選択に関しては、学習装置１００は、例えば、成功エピソードと失敗エピソードとの組み合わせを、蓄積された複数のエピソードの中から、サンプリングする。すなわち、学習装置１００は、エピソード自体の成功、またはエピソード自体の失敗を基準にして、経験のサンプリングを行う。あるいは、学習装置１００は、エピソード全体の報酬を基準にして、経験のサンプリングを行う。
【００３７】
学習装置１００は、成功エピソードおよび失敗エピソードを、均一な条件下でサンプリングしてもよい。例えば、学習装置１００は、成功エピソードおよび失敗エピソードを、所定のサンプリング数の範囲内で、サンプリングしてもよい。学習装置１００が、ｎ個の成功エピソードをサンプリングした場合には、学習装置１００は、ｎ個の失敗エピソードをサンプリングしてもよい（ｎは、任意の自然数）。また、例えば、学習装置１００は、成功エピソードおよび失敗エピソードを、所定のエピソードの長さの範囲内で、サンプリングしてもよい。学習装置１００が、処理ステップの数がｎである成功エピソードをサンプリングした場合には、学習装置１００は、処理ステップの数がｎである失敗エピソードをサンプリングしてもよい（ｎは、任意の自然数）。
【００３８】
学習装置１００は、成功エピソードの報酬の合計と、失敗エピソードの報酬の合計とに基づいて、成功エピソードおよび失敗エピソードをサンプリングしてもよい。例えば、学習装置１００が、報酬の合計の高い順に、ｎ個の成功エピソードをサンプリングした場合には、学習装置１００は、報酬の合計の低い順に、ｎ個の失敗エピソードをサンプリングしてもよい。すなわち、学習装置１００が、大成功の成功エピソードをサンプリングした場合に、学習装置１００は、大失敗の失敗エピソードをサンプリングしてもよい。また、例えば、学習装置１００が、報酬の合計の低い順に、ｎ個の成功エピソードをサンプリングした場合には、学習装置１００は、報酬の合計の高い順に、ｎ個の失敗エピソードをサンプリングしてもよい。すなわち、学習装置１００が、小さな成功の成功エピソードをサンプリングした場合に、学習装置１００は、小さな失敗の失敗エピソードをサンプリングしてもよい。
【００３９】
学習装置１００は、成功エピソードの長さと、失敗エピソードの長さとに基づいて、成功エピソードおよび失敗エピソードをサンプリングしてもよい。例えば、学習装置１００が、エピソードの長さが短い順に、ｎ個の成功エピソードをサンプリングした場合には、学習装置１００は、エピソードの長さが短い順に、ｎ個の失敗エピソードをサンプリングしてもよい。すなわち、学習装置１００が、エージェントがすぐに成功した成功エピソードをサンプリングした場合に、学習装置１００は、エージェントがすぐに失敗した失敗エピソードをサンプリングしてもよい。また、例えば、学習装置１００が、エピソードの長さが長い順に、ｎ個の成功エピソードをサンプリングした場合には、学習装置１００は、エピソードの長さが長い順に、ｎ個の失敗エピソードをサンプリングしてもよい。すなわち、学習装置１００が、エージェントがすぐに成功しなかった成功エピソードをサンプリングした場合に、学習装置１００は、エージェントがすぐに失敗しなかった失敗エピソードをサンプリングしてもよい。
【００４０】
図１に戻ると、次いで、学習装置１００は、選択された組を用いて、モデルを更新する（ステップＳ１６）。
【００４１】
例えば、学習装置１００は、図２に示されるような複数の成功エピソードＥＰ２１と、図２に示されるような複数の失敗エピソードＥＰ３１との組を用いて、モデルを更新する。例えば、上述のモデルが、行動や状態の価値に基づくモデルである場合に、学習装置１００は、複数の成功エピソードＥＰ２１と、複数の失敗エピソードＥＰ３１との組を用いて、Ｑ学習（Q-learning）を実行する。一方、モデルが、方策に基づくモデルである場合には、学習装置１００は、複数の成功エピソードＥＰ２１と、複数の失敗エピソードＥＰ３１との組を用いて、方策学習を行う。例えば、学習装置１００は、方策勾配法を用いて、モデル（例えば、ニューラルネット）の方策を訓練することができる。
【００４２】
次いで、学習装置１００は、ウェブ上におけるユーザ行動を取得する（ステップＳ１７）。
【００４３】
例えば、ステップＳ１１の場合と同様に、学習装置１００は、トップページの閲覧、ニュースの閲覧、旅行の検索、トラベルサービスの閲覧等の行動を取得する。
【００４４】
その後、学習装置１００は、更新後のモデルによる広告提供の有無に応じたコンテンツを提供する（ステップＳ１８）。
【００４５】
上述のように、実施形態に係る学習装置１００は、エピソード自体の成功、またはエピソード自体の失敗を基準にして、経験のサンプリングを行う。これにより、学習装置１００は、サンプル効率（sample  efficiency）を改善することができる。
【００４６】
例えば、モデルが、多くの極端な失敗事例を学習した場合に、モデルによって生成される複数のエピソードが、失敗エピソードの連続に終わる場合がある。このような場合、モデルは、なかなか成功の知見を得ることができない。このことは、モデルの最適化を遅らせる場合がある。この点に関して、学習装置１００は、成功エピソードを、再度学習（すなわち、訓練）に用いることができる。これにより、学習装置１００は、成功の知見を、モデルに与えることができる。例えば、学習装置１００は、モデルが成功と失敗との境界を学習するように、モデルを訓練することができる。その結果、学習装置１００は、モデルによって生成される成功エピソードの数を増加させることができる。このため、学習装置１００は、モデルの最適化を促進することができる。さらに、学習装置１００は、モデルが失敗エピソードを過学習しないように（すなわち、モデルが失敗の経験にオーバフィットしないように）、モデルを訓練することができる。以下、このような学習処理を実現する学習装置１００について詳細に説明する。
【００４７】
〔２．学習装置の構成〕
次に、図２を参照して、実施形態に係る学習装置１００の構成例について説明する。図３は、実施形態に係る学習装置１００の構成例を示す図である。図Ｘに示すように、学習装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、学習装置１００は、学習装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（液晶ディスプレイ等）を有してもよい。
【００４８】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（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）に対応する。
【００６１】
例えば、第２取得部１３３は、ユーザの行動を示す行動情報を、上述の状態情報として取得する。第２取得部１３３は、例えば、受信部１３２によって受信された行動情報を取得する。第２取得部１３３は、所定の記憶装置から、行動情報を取得してもよい。例えば、第２取得部１３３は、上述の行動情報記憶部（図示せず）から、行動情報を取得してもよい。第２取得部１３３は、取得された行動情報を、行動情報記憶部に格納してもよい。
【００６２】
一例では、第２取得部１３３は、ウェブ上におけるユーザ行動を、「状態」（すなわち、観察）として取得する。「環境」は、例えば、コンテンツ配信ネットワークである。この例では、環境は、エージェントの行動「コンテンツ配信」に応じて、エージェントに状態「ウェブ上におけるユーザ行動」を返す。言い換えると、第２取得部１３３は、環境「コンテンツ配信ネットワーク」から、状態「ウェブ上におけるユーザ行動」を取得する。ウェブ上におけるユーザ行動は、例えば、トップページの閲覧、ニュースの閲覧、旅行の検索、トラベルサービスの閲覧等の行動である。
【００６３】
（第３取得部１３４）
第３取得部１３４は、強化学習における価値や方策を決定するためのモデルが出力した出力情報を取得する。例えば、第３取得部１３４は、エージェントによって取られる行動を示す出力情報を取得する。
【００６４】
一例では、第３取得部１３４は、ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する。
【００６５】
例えば、第３取得部１３４は、ユーザ行動に対応する特徴ベクトル（素性ベクトルまたはインスタンスとも呼ばれる）をモデルに入力することによって、広告提供の有無（すなわち、所定の広告が提供されるか否か）を、エージェントによって取られる行動として出力する。
【００６６】
例えば、上述のモデルが、行動や状態の価値に基づくモデル（すなわち、方策オンアルゴリズム）である場合に、第３取得部１３４は、ユーザ行動に対応する特徴ベクトルをこのモデル（例えば、ニューラルネット）に入力することによって、所定の広告が提供される確率を出力する。そして、第３取得部１３４は、出力された確率に基づいて、所定の広告が提供されるか否かを決定する。一方、モデルが、方策に基づくモデル（すなわち、方策オフアルゴリズム）である場合には、第３取得部１３４は、ユーザ行動に対応する特徴ベクトルをこのモデル（例えば、Ｑネットワーク）に入力することによって、所定の状態（例えば、所定のユーザ行動）および所定の行動（例えば、所定の広告の提供）に対応するＱ値を出力する。そして、第３取得部１３４は、出力されたＱ値に基づいて、所定の広告が提供されるか否かを決定する。例えば、第３取得部１３４は、イプシロン貪欲法を用いて、最も大きいＱ値に対応する行動を、所定の確率（すなわち、イプシロン）で、エージェントによって取られる行動として決定する。
【００６７】
（選択部１３５）
選択部１３５は、状態を示す状態情報をモデルに入力する入力処理と、このモデルが出力した出力情報を用いて状態を更新する更新処理とを含む処理ステップが、状態が所定の条件を満たす最終状態となるまで繰り返し実行された複数のエピソードのうち、最終状態が所定の目的を満たす成功エピソードと、この最終状態が所定の目的を満たさない失敗エピソードとの組合せを選択する。
【００６８】
例えば、選択部１３５は、複数の成功エピソードと、複数の失敗エピソードとの組合せを選択する。また、例えば、選択部１３５は、エピソードに含まれる処理ステップに対する評価の合計に応じて、複数のエピソードの中から、成功エピソードと失敗エピソードとの組を選択する。
【００６９】
選択部１３５は、評価の合計が低い方から順に所定の数の成功エピソードもしくは失敗エピソードを選択してもよい。また、選択部１３５は、評価の合計が高い方から順に所定の数の成功エピソードもしくは失敗エピソードを選択してもよい。選択部１３５は、評価の合計が高い方から順に所定の数の成功エピソードを選択した場合は、評価の合計が低い方から順に所定の数の失敗エピソードを選択し、評価の合計が低い方から順に所定の数の成功エピソードを選択した場合は、評価の合計が高い方から順に所定の数の失敗エピソードを選択してもよい。
【００７０】
選択部１３５は、処理ステップの履歴を、学習データ記憶部１２２に格納してもよい。例えば、選択部１３５は、一連の処理ステップを、経験として蓄積してもよい。例えば、第２取得部１３３、第３取得部１３４および提供部１３７によって実行された一連の処理ステップを、経験として学習データ記憶部１２２に格納してもよい。より具体的には、選択部１３５は、状態、行動、報酬、遷移先の状態、エピソードの終了フラグを示すエージェントの経験を、学習データ記憶部１２２に格納してもよい。
【００７１】
一例では、選択部１３５は、ユーザ行動が所定の条件を満たす場合は、「ウェブ上におけるユーザ行動を取得する第１のステップ」、「ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する第２のステップ」および「広告提供の有無に応じたコンテンツを提供する第３のステップ」をエピソードとして保持する。
【００７２】
例えば、「ウェブ上におけるユーザ行動を取得する第１のステップ」において、状態（すなわち、ユーザ行動）が最終状態でない場合に、学習装置１００の第２取得部１３３、第３取得部１３４および提供部１３７は、「ウェブ上におけるユーザ行動を取得する第１のステップ」において状態が最終状態に至るまで、「ウェブ上におけるユーザ行動を取得する第１のステップ」、「ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する第２のステップ」および「広告提供の有無に応じたコンテンツを提供する第３のステップ」の一連の処理ステップを繰り返す。この例では、上述の所定の条件は、次の２つの条件のうちのいずれかである。１つめの条件は、「ユーザが、宿泊予約をする」という条件（すなわち、コンバージョン）である。この場合、ユーザ行動「宿泊予約」は、第１のステップ、第２のステップおよび第３のステップの一連の処理ステップに対応するエピソードの最終状態である。２つめの条件は、「ユーザが、所定のページを終了させる」（すなわち、離脱）という条件である。この場合、ユーザ行動「離脱」は、第１のステップ、第２のステップおよび第３のステップの一連の処理ステップに対応するエピソードの最終状態である。なお、この所定のページは、例えば、トラベルサービスのページである。第１のステップにおいて、状態が最終状態である場合には、選択部１３５は、第１のステップ、第２のステップおよび第３のステップの一連の処理ステップを、エピソードデータとして格納する。例えば、第１のステップにおいて、状態が最終状態である場合には、選択部１３５は、第１のステップ、第２のステップおよび第３のステップの一連の処理ステップを、学習データ記憶部１２２に格納する。
【００７３】
一例では、選択部１３５は、保持されたエピソードの中から、最終状態が目的を満たす成功エピソードと、最終状態が目的を満たさない失敗エピソードとの組を選択する。
【００７４】
例示のために、選択部１３５は、所定の状態（例えば、所定のユーザ行動）と所定の行動（例えば、所定の広告の提供）との組み合わせに対応する予約率（すなわち、コンバージョン率）を、予め集計すると仮定する。例えば、選択部１３５は、記憶部１２０内の所定の記憶領域である出稿履歴記憶部（図示せず）に記憶された広告の出稿履歴に基づいて、所定の状態と所定の行動との組み合わせに対応する予約率を、予め算出する。この例では、選択部１３５は、予約率の集計結果を、報酬に反映させる。例えば、選択部１３５は、状態と広告出稿との組み合わせに対応する予約率と、所定の値との積を、この状態と広告出稿との組み合わせに対応する報酬として、定義する。なお、この例では、所定の値は、状態「宿泊予約」に対応する報酬の値「１００」である。図２の例に示されるように、この場合、選択部１３５は、例えば、状態「ＴＯＰページ閲覧」と広告出稿「Ｙ１」との組み合わせに対応する予約率「１％」と、所定の値「１００」との積「１」を、この状態と広告出稿との組み合わせに対応する報酬として、定義する。
【００７５】
一例では、学習装置１００の第２取得部１３３、第３取得部１３４および提供部１３７は、上述のように、「ウェブ上におけるユーザ行動を取得する第１のステップ」、「ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する第２のステップ」および「広告提供の有無に応じたコンテンツを提供する第３のステップ」の一連の処理ステップに対応するエピソードを実行する。この例では、状態は、ユーザ行動に対応する。また、広告出稿は、エージェントの行動に対応する。なお、「時刻」は、エージェントが環境から状態（例えば、ユーザ行動）を取得し、行動（例えば、広告出稿）を取った離散時間に対応する。この例では、エージェントの目標は、宿泊予約である。
【００７６】
例示のために、受信部１３２は、ＴＯＰページの閲覧要求を、ユーザ装置１０から、時刻「１」に受信すると仮定する。さらに、提供部１３７は、閲覧要求が受信部１３２によって受信された場合に、ＴＯＰページとともに、広告Ｙ１をユーザ装置１０に提供すると仮定する。この例では、エージェントは、報酬「１」を取得する。言い換えると、選択部１３５は、途中の処理ステップ「ＴＯＰページの閲覧要求に応じた広告Ｙ１の出稿」に基づいて、値「１」を、報酬として決定する。
【００７７】
一例では、学習装置１００第２取得部１３３、第３取得部１３４および提供部１３７は、「ウェブ上におけるユーザ行動を取得する第１のステップ」、「ユーザ行動を状態としてモデルに入力し、広告提供の有無を行動として取得する第２のステップ」および「広告提供の有無に応じたコンテンツを提供する第３のステップ」の一連の処理ステップに対応する複数のエピソードを実行する。そして、選択部１３５は、実行された複数のエピソードを、成功エピソードと失敗エピソードとに分類し、分類された複数のエピソードを蓄積する。例えば、選択部１３５は、分類された複数のエピソードを、学習データ記憶部１２２に格納する。成功エピソードは、例えば、最終状態が状態「宿泊予約」であるエピソードである。この場合、最終状態は、目的「宿泊予約」を満たす。一方、失敗エピソードは、例えば、最終状態が状態「離脱」であるエピソードである。この場合、最終状態は、目的「宿泊予約」を満たさない。なお、成功エピソードは、例えば、報酬の合計が閾値を満たすエピソードであってもよい。この場合、失敗エピソードは、報酬の合計が閾値を満たさないエピソードであってもよい。この例では、選択部１３５は、複数の成功エピソードと、複数の失敗エピソードとを蓄積する。例えば、複数の成功エピソードと、複数の失敗エピソードとを、学習データ記憶部１２２に格納する。
【００７８】
一例では、選択部１３５は、例えば、成功エピソードと失敗エピソードとの組み合わせを、蓄積された複数のエピソードの中から、サンプリングする。例えば、選択部１３５は、成功エピソードと失敗エピソードとの組み合わせを、学習データ記憶部１２２に記憶された複数のエピソードの中から、サンプリングする。すなわち、選択部１３５は、エピソード自体の成功、またはエピソード自体の失敗を基準にして、経験のサンプリングを行う。あるいは、選択部１３５は、エピソード全体の報酬を基準にして、経験のサンプリングを行う。
【００７９】
選択部１３５は、成功エピソードおよび失敗エピソードを、均一な条件下でサンプリングしてもよい。例えば、選択部１３５は、成功エピソードおよび失敗エピソードを、所定のサンプリング数の範囲内で、サンプリングしてもよい。選択部１３５が、ｎ個の成功エピソードをサンプリングした場合には、選択部１３５は、ｎ個の失敗エピソードをサンプリングしてもよい（ｎは、任意の自然数）。また、例えば、選択部１３５は、成功エピソードおよび失敗エピソードを、所定のエピソードの長さの範囲内で、サンプリングしてもよい。選択部１３５が、処理ステップの数がｎである成功エピソードをサンプリングした場合には、選択部１３５は、処理ステップの数がｎである失敗エピソードをサンプリングしてもよい（ｎは、任意の自然数）。
【００８０】
選択部１３５は、成功エピソードの報酬の合計と、失敗エピソードの報酬の合計とに基づいて、成功エピソードおよび失敗エピソードをサンプリングしてもよい。例えば、選択部１３５が、報酬の合計の高い順に、ｎ個の成功エピソードをサンプリングした場合には、選択部１３５は、報酬の合計の低い順に、ｎ個の失敗エピソードをサンプリングしてもよい。すなわち、選択部１３５が、大成功の成功エピソードをサンプリングした場合に、選択部１３５は、大失敗の失敗エピソードをサンプリングしてもよい。また、例えば、選択部１３５が、報酬の合計の低い順に、ｎ個の成功エピソードをサンプリングした場合には、選択部１３５は、報酬の合計の高い順に、ｎ個の失敗エピソードをサンプリングしてもよい。すなわち、選択部１３５が、小さな成功の成功エピソードをサンプリングした場合に、選択部１３５は、小さな失敗の失敗エピソードをサンプリングしてもよい。
【００８１】
選択部１３５は、成功エピソードの長さと、失敗エピソードの長さとに基づいて、成功エピソードおよび失敗エピソードをサンプリングしてもよい。例えば、選択部１３５が、エピソードの長さが短い順に、ｎ個の成功エピソードをサンプリングした場合には、選択部１３５は、エピソードの長さが短い順に、ｎ個の失敗エピソードをサンプリングしてもよい。すなわち、選択部１３５が、エージェントがすぐに成功した成功エピソードをサンプリングした場合に、選択部１３５は、エージェントがすぐに失敗した失敗エピソードをサンプリングしてもよい。また、例えば、選択部１３５が、エピソードの長さが長い順に、ｎ個の成功エピソードをサンプリングした場合には、選択部１３５は、エピソードの長さが長い順に、ｎ個の失敗エピソードをサンプリングしてもよい。すなわち、選択部１３５が、エージェントがすぐに成功しなかった成功エピソードをサンプリングした場合に、選択部１３５は、エージェントがすぐに失敗しなかった失敗エピソードをサンプリングしてもよい。
【００８２】
（学習部１３６）
学習部１３６は、選択部１３５により選択されたエピソードを用いて、モデルの学習を行う。
【００８３】
一例では、学習部１３６は、選択部１３５によって選択された組を用いて、モデルを更新する。
【００８４】
例えば、学習部１３６は、図２に示されるような複数の成功エピソードと、図２に示されるような複数の失敗エピソードとの組を用いて、モデルを更新する。例えば、上述のモデルが、行動や状態の価値に基づくモデルである場合に、学習装置１００は、複数の成功エピソードと、複数の失敗エピソードとの組を用いて、Ｑ学習を実行する。一方、モデルが、方策に基づくモデルである場合には、学習装置１００は、複数の成功エピソードと、複数の失敗エピソードとの組を用いて、方策学習を行う。例えば、学習装置１００は、方策勾配法を用いて、モデル（例えば、ニューラルネット）の方策を訓練することができる。
【００８５】
（提供部１３７）
提供部１３７は、ユーザ装置１０に、コンテンツを提供する。提供部１３７は、例えば、受信部１３２によって受信されたコンテンツを、ユーザ装置１０に提供する。提供部１３７は、上述のコンテンツ情報記憶部（図示せず）から、コンテンツを取得してもよい。提供部１３７は、取得されたコンテンツを、ユーザ装置１０に提供してもよい。 
【００８６】
一例では、提供部１３７は、広告提供の有無に応じたコンテンツを提供する。
【００８７】
例えば、エージェントによって取られる行動が、所定の広告の提供である場合に、提供部１３７は、この所定の広告が掲載されるコンテンツを、ユーザ装置１０に提供する。上述のように、所定の広告は、例えば、宿泊系の広告である。
【００８８】
〔３．学習処理のフロー〕
次に、実施形態に係る学習装置１００による学習処理の手順について説明する。図４は、実施形態に係る学習装置１００による学習処理手順を示すフローチャートである。
【００８９】
図４に示すように、はじめに、第１取得部１３１は、エージェントの行動を決定するモデルを初期化する（ステップＳ１０１）。
【００９０】
次いで、第２取得部１３３は、環境から状態を取得する（ステップＳ１０２）。例えば、第２取得部１３３は、環境から第１の状態を取得する。
【００９１】
次いで、第３取得部１３４は、第２取得部１３３によって取得された状態を、第１取得部１３１によって初期化されたモデル（すなわち、エージェント）に入力することによって、このモデルから行動を取得する（ステップＳ１０３）。例えば、第３取得部１３４は、第２取得部１３３によって取得された第１の状態を、第１取得部１３１によって初期化されたモデルに入力することによって、このモデルから第１の行動を取得する。
【００９２】
次いで、第２取得部１３３は、取得された状態と、第３取得部１３４によって取得された行動とに基づいて、環境から、新たな状態と、行動に対する報酬とを取得する（ステップＳ１０４）。例えば、第２取得部１３３は、取得された第１の状態と、第３取得部１３４によって取得された第１の行動とに基づいて、環境から、第２の状態と、第１の行動に対する第１の報酬とを取得する。
【００９３】
次いで、第２取得部１３３は、取得された状態と、第３取得部１３４によって取得された行動と、取得された報酬とを、経験（例えば、処理ステップ）として蓄積する（ステップＳ１０５）。例えば、第２取得部１３３は、取得された第１の状態と、第３取得部１３４によって取得された第１の行動と、取得された第１の報酬とを、第１の経験（例えば、第１の処理ステップ）として蓄積する。このような経験は、リプレイ記憶に対応する。
【００９４】
次いで、学習部１３６は、第２取得部１３３によって蓄積された経験を用いて、モデルのパラメータを更新する（ステップＳ１０６）。
【００９５】
次いで、選択部１３５は、状態を新たな状態に更新し、新たな状態が最終状態であるか否かを判定する（ステップＳ１０７）。例えば、選択部１３５は、第１の状態を第２の状態に更新し、第２の状態が最終状態であるか否かを判定する。
【００９６】
新たな状態が最終状態でないと判定された場合に（ステップＳ１０７；Ｎｏ）、学習処理手順は、ステップＳ１０３に戻る。この場合、上述のように、第３取得部１３４は、この新たな状態をモデルに入力することによって、モデルから新たな行動を取得する。例えば、第３取得部１３４は、第２の状態をモデルに入力することによって、モデルから第２の行動を取得する。
【００９７】
一方、新たな状態が最終状態であると判定された場合に（ステップＳ１０７；Ｙｅｓ）、選択部１３５は、最終状態に基づいて、エピソードの成功および失敗を判定する（ステップＳ１０８）。
【００９８】
次いで、選択部１３５は、成功と判定されたエピソードである成功エピソードと、失敗と判定されたエピソードである失敗エピソードとを、エピソードの経験として蓄積する（ステップＳ１０９）。
【００９９】
次いで、選択部１３５は、蓄積されたエピソードの経験から、所定の数の成功エピソードと、所定の数の失敗エピソードとを抽出する（ステップＳ１１０）。
【０１００】
次いで、学習部１３６は、選択部１３５によって抽出された所定の数の成功エピソードと、選択部１３５によって抽出された所定の数の失敗エピソードとを用いて、モデルのパラメータを更新する（ステップＳ１１１）。
【０１０１】
次いで、選択部１３５は、エージェントが学習部１３６によって更新されたモデルを用いて行動を決定したエピソード（すなわち、新たなエピソード）で得られた報酬の和を算出する（ステップＳ１１２）。この更新されたモデルは、学習部１３６によってパラメータが更新されたモデルに対応する。
【０１０２】
その後、選択部１３５は、算出された報酬の和が閾値より大きいか否かを判定する（ステップＳ１１３）。
【０１０３】
算出された報酬の和が閾値より大きくないと判定された場合に（ステップＳ１１３；Ｎｏ）、学習処理手順は、ステップＳ１０２に戻る。
【０１０４】
一方、算出された報酬の和が閾値より大きいと判定された場合に（ステップＳ１１３；Ｙｅｓ）、学習処理手順は、終了する。
【０１０５】
〔４．変形例〕
上述の実施形態に係る学習装置１００は、上記の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記の学習装置１００の他の実施形態について説明する。
【０１０６】
〔４−１．適用可能なドメイン〕
上記の例示的な実施形態では、学習装置１００は、広告出稿に関する処理ステップを評価し、評価結果を用いてモデルの学習を行っているが、これに限定されるものではない。実施形態に係る学習装置１００は、広告出稿以外のドメインに適用することができる。処理ステップの評価に関しては、例えば、選択部１３５は、各処理ステップにおける状態と、最終状態との差に基づいて、各処理ステップにおける状態を評価することができる。選択部１３５は、各処理ステップにおける状態を評価するための任意の設定を採用することができる。
【０１０７】
例えば、実施形態に係る学習装置１００は、経路の予測に適用されてもよい。一例では、経路の予測は、野球の外野フライである。この例では、各処理ステップにおける状態および行動は、ボールの位置、野手の行動（例えば、野手の位置、グラブの高さ）にそれぞれ対応する。最終状態は、捕球の成功または失敗に対応する。例えば、選択部１３５は、各処理ステップにおける状態「ボールの位置」と、最終状態「野手が捕球した位置」または最終状態「野手が捕球し損なった位置」との差に基づいて、各処理ステップにおける状態「野手の位置」を評価してもよい。別の例では、経路の予測は、飛翔体の迎撃である。この例では、各処理ステップにおける状態および行動は、飛翔体の位置、迎撃弾の位置にそれぞれ対応する。最終状態は、迎撃の成功または失敗に対応する。例えば、選択部１３５は、各処理ステップにおける状態「飛翔体の位置」と、最終状態「迎撃システムが飛翔対を迎撃した位置」または最終状態「迎撃システムが飛翔対を迎撃し損なった位置」との差に基づいて、各処理ステップにおける状態「飛翔体の位置」を評価してもよい。
【０１０８】
また、例えば、実施形態に係る学習装置１００は、経路の探索に適用されてもよい。一例では、経路の探索は、迷路の探索である。この例では、各処理ステップにおける状態および行動は、迷路内の壁の位置、エージェントの移動動作にそれぞれ対応する。最終状態は、所定時間内におけるゴールへの到達の成功または失敗に対応する。例えば、選択部１３５は、各処理ステップにおける状態「迷路内の壁の位置」と、最終状態「ゴールに到達するのにかかった時間」との差に基づいて、各処理ステップにおける状態「エージェントの移動動作」を評価してもよい。
【０１０９】
〔５．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１１０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１１１】
例えば、図３に示した記憶部１２０の一部又は全部は、学習装置１００によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、学習装置１００は、ストレージサーバにアクセスすることで、モデルや学習データ等の各種情報を取得する。
【０１１２】
〔６．ハードウェア構成〕
また、上述してきた実施形態に係る学習装置１００は、例えば図５に示すような構成のコンピュータ１０００によって実現される。図５は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（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）」は、「手段」や「回路」などに読み替えることができる。例えば、第１取得部は、第１取得手段や第１取得回路に読み替えることができる。
【符号の説明】
【０１２９】
１  学習システム
１０  ユーザ装置
１００  学習装置
１１０  通信部
１２０  記憶部
１２１  モデル記憶部
１２２  学習データ記憶部
１３０  制御部
１３１  第１取得部
１３２  受信部
１３３  第２取得部
１３４  第３取得部
１３５  選択部
１３６  学習部
１３７  提供部
【図１】
2020190854.tif 000003
【図２】
2020190854.tif 000004
【図３】
2020190854.tif 000005
【図４】
2020190854.tif 000006
【図５】
2020190854.tif 000007