(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024076801
(43)【公開日】2024-06-06
(54)【発明の名称】情報処理プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240530BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022188571
(22)【出願日】2022-11-25
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】市丸 和人
(57)【要約】
【課題】学習効率を向上させる情報処理プログラム、情報処理方法及び情報処理装置を提供する。
【解決手段】所定環境におけるエージェントによる所定環境の観測データ及び行動を示す行動データ、並びに、行動に対する報酬を示す報酬データを含む学習データに基づいて第1学習を行った場合の第1ロスと第1学習とは異なるアルゴリズムに基づく第2学習を行った場合の第2ロスとの少なくとも一方に重みを与えて組み合わせた結合ロスに基づいて機械学習モデル110のパラメータを更新し、第2ロスの重みを減衰させて、パラメータの更新を繰り返させて機械学習モデル110の学習を行う処理をコンピュータに実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
所定環境におけるエージェントによる前記所定環境の観測データ及び行動を示す行動データ、並びに、前記行動に対する報酬を示す報酬データを含む学習データに基づいて第1学習を行った場合の第1ロスと前記第1学習とは異なるアルゴリズムに基づく第2学習を行った場合の第2ロスとの少なくとも一方に重みを与えて前記第1ロスと組み合わせた結合ロスに基づいて機械学習モデルのパラメータを更新し、
前記第2ロスの重みを減衰させて、前記パラメータの更新を繰り返させて前記機械学習モデルの学習を行う
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記所定環境を構築してエージェントに観測及び行動を行わせることで得られる前記観測データ及び前記行動データ、並びに、前記行動データから算出される前記報酬データを基に学習データを生成することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記第1学習は、前記機械学習モデルに前記行動データを入力した場合の出力に対して与えられる報酬の時間累積和が最大となるように前記行動データにより示される行動を選択する学習であり、
前記第2学習は、所定の行動系列を模倣するように前記行動データで示される行動を選択する学習である
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
所定の行動系列における行動を示す所定行動データを前記機械学習モデルに入力した場合に得られる第1出力と前記行動データを前記機械学習モデルに入力した場合に得られる第2出力との誤差を基に前記第2ロスを算出することを特徴とする請求項3に記載の情報処理プログラム。
【請求項5】
最適行動の行動価値と前記行動データを入力した場合の行動価値との誤差を基に前記第1ロスを算出することを特徴とする請求項1に記載の情報処理プログラム。
【請求項6】
情報処理装置が、
所定環境におけるエージェントによる前記所定環境の観測データ及び行動を示す行動データ、並びに、前記行動に対する報酬を示す報酬データを含む学習データに基づいて、第1学習を行った場合の第1ロスと前記第1学習とは異なるアルゴリズムに基づく第2学習を行った場合の第2ロスとの少なくとも一方に重みを与えて前記第1ロスと組み合わせた結合ロスに基づいて機械学習モデルのパラメータを更新し、
前記第2ロスの重みを減衰させて、前記パラメータの更新を繰り返させて前記機械学習モデルの学習を行う
処理を実行することを特徴とする情報処理方法。
【請求項7】
機械学習モデルと、
所定環境におけるエージェントによる前記所定環境の観測データ及び行動を示す行動データ、並びに、前記行動に対する報酬を示す報酬データを含む学習データに基づいて、第1学習を行った場合の第1ロスと前記第1学習とは異なるアルゴリズムに基づく第2学習を行った場合の第2ロスとの少なくとも一方に重みを与えて組み合わせた結合ロスに基づいて前記機械学習モデルのパラメータを更新し、且つ、前記第2ロスの前記重みを減衰させて、前記パラメータの更新を繰り返して前記機械学習モデルの学習を行う学習部と
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
近年、電子ゲームにおけるAI(Artificial Intelligence:人工知能)、車両の自動運転制御、ロボットの自立制御といった様々な分野で、強化学習と呼ばれる機械学習の導入が盛んである。強化学習では、与えられた環境の中においてエージェントと呼ばれる動作主体による行動に対して与えられる報酬を最大化するように学習が行われる。
【0003】
一方、人間などのいわゆるエキスパート(専門家)の行動系列が与えられ、その行動系列を模倣するように学習を行う模倣学習と呼ばれる機械学習が存在する。模倣学習においては、エキスパートが行った行動を最適な行動であると仮定して、エージェントの行動がエキスパートの振る舞いに近づくように学習が行われる。
【0004】
さらに、より学習を効率化するために、模倣学習と強化学習とを融合させた機械学習が研究されている。例えば、模倣学習と強化学習とを用いる学習方法として、模倣学習によって得られた重みを初期値にして強化学習を実行すると、多くの場合効率的に学習が行えることが知られている。
【0005】
ただし、模倣学習を行うにあたり、エキスパートの行動が必ずしも最適でない場合が存在する。そのような場合に模倣学習によって得られた重みを初期値にして強化学習を実行すると、強化学習の最適解と模倣学習の最適解とが大きく異なる関係が強化学習と機械学習との間に発生する。そのような関係性の下、模倣学習によって得られた重みを初期値にして強化学習を実行すると、強化学習を開始した直後に模倣学習済みの方策が崩壊して、模倣学習及び強化学習の双方を使用することによる効率化の効果が消滅するおそれがある。一方、強化学習の最適解と模倣学習の最適解とが大きく異なる場合でもエキスパートの行動系列は何らかの有益な情報を含んでいることが多く、これを参考に学習することで、学習が効率化する余地は残っている。
【0006】
そこで、エキスパートの行動が必ずしも最適でない場合にも効率化の効果を維持するために、模倣学習と強化学習とを並行して実施し、それぞれのロスを一定の係数で足し合わせた値を方策更新のための目的関数とする従来技術が提案されている。
【0007】
他にも、自由エネルギー最小化によりエキスパートを通じて世界モデルを獲得し、獲得した世界モデルをベースにした自由エネルギーの最小化により探索及び報酬最大化の合目的行動を獲得させる従来技術が提案されている。また、熟練したオペレータの操作を学習して工程毎の模倣モデルを構築し、模倣モデルの学習が完了すると、強化学習により模倣モデルの追加学習を行わせる技術が提案されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2020-191022号公報
【特許文献2】特開2021-192141号公報
【特許文献3】特開2018-206286号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、模倣学習と強化学習とを並行して実施してそれぞれのロスを用いて目的関数を算出する従来技術では、最終的な性能が純粋な強化学習に対して劣る可能性がある。これは、一定の重みづけ係数を使っている関係で最適でないかもしれないエキスパート系列による模倣学習の影響を、強化学習において最後まで受け続けるためと考えられる。また、他の技術を用いても、エキスパートの行動が必ずしも最適でない場合の強化学習の最適解と模倣学習の最適解とが大きく異なることによる学習効率の低下を軽減することは困難である。
【0010】
開示の技術は、上記に鑑みてなされたものであって、学習効率を向上させる情報処理プログラム、情報処理方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
本願の開示する情報処理プログラム、情報処理方法及び情報処理装置の一つの態様において、所定環境におけるエージェントによる前記所定環境の観測データ及び行動を示す行動データ、並びに、前記行動に対する報酬を示す報酬データを含む学習データに基づいて第1学習を行った場合の第1ロスと前記第1学習とは異なるアルゴリズムに基づく第2学習を行った場合の第2ロスとの少なくとも一方に重みを与えて組み合わせた結合ロスに基づいて機械学習モデルのパラメータを更新し、前記第2ロスの重みを減衰させて、前記パラメータの更新を繰り返させて前記機械学習モデルの学習を行う処理をコンピュータに実行させる。
【発明の効果】
【0012】
1つの側面では、本発明は、学習効率を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、実施例に係る機械学習システムのブロック図である。
【
図2】
図2は、実施例に係る機械学習の概念図である。
【
図3】
図3は、実施例に係る情報処理装置による機械学習処理のフローチャートである。
【
図4】
図4は、実施例に係る機械学習システムのハードウェア構成図である。
【発明を実施するための形態】
【0014】
以下に、本願の開示する情報処理プログラム、情報処理方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理プログラム、情報処理方法及び情報処理装置が限定されるものではない。
【実施例0015】
図1は、実施例に係る機械学習システムのブロック図である。本実施例に係る機械学習システムは、情報処理装置10及び複数の情報処理装置20を有する。情報処理装置10とそれぞれの情報処理装置20とはネットワークで接続される。
【0016】
情報処理装置10は、情報処理装置20から得られる学習データを用いて、働きかけの対象とする環境に対して働きかけを行う主体であり且つ学習の対象となるエージェントの行動の学習を実行する。学習データには、働きかけの対象とする環境におけるエージェントの経験の情報が含まれる。情報処理装置20は、環境を保持し、環境におけるエージェントの行動による結果を得て、エージェントの行動の学習に用いる学習データを生成する。
【0017】
図2は、実施例に係る機械学習の概念図である。マスタノード11は、情報処理装置10の機械学習時の役割を示す。ノード21は、それぞれの情報処理装置20の機械学習時の役割を示す。
図2では、情報処理装置20のそれぞれが有するデータ生成部200をまとめて1つのデータ生成部200とし、その中で複数のノード21が動作するように図示した。
【0018】
ノード21は、それぞれが環境及びエージェントを有する。そして、ノード21は、保持する環境の中でエージェントを行動させる。データ生成部200は、各ノード21が提供する環境においてエージェントが行動したことにより得られたエージェントの経験をマスタノード11へ送信する。
【0019】
マスタノード11は、各ノード21において得られるエージェントの経験を収集して、機械学習モデル110の学習を行う。例えば、マスタノード11の学習部100は、機械学習モデル110の学習を行うための強化学習アルゴリズム120を有する。この強化学習アルゴリズム120は、模倣学習と強化学習とを融合させた学習アルゴリズムである。
【0020】
学習部100は、各ノード21により提供される環境におけるエージェントの行動により得られた経験をデータ生成部200から収集する。また、学習部100は、エージェントが行動した環境と同様の環境におけるエキスパートによる観測結果及び行動を示すエキスパートデータを取得する。そして、学習部100は、エージェントの経験及びエキスパートデータを基に、強化学習アルゴリズムを用いて強化学習によるロスL1及び模倣学習におけるロスL2を計算する。さらに、学習部100は、強化学習によるロスL1と模倣学習におけるロスL2を用いて目的関数重み付け和Lを算出する。ここで、学習部100は、目的関数重み付け和Lの算出に当たり、ロスL2に重み係数kを付加してロスL1に対する比率を調整する。学習部100は、目的関数重み付け和Lを用いて機械学習モデル110のパラメータを更新して、機械学習モデル110を更新する。
【0021】
学習部100は、遷移する環境におけるエージェントの経験を順次収集して、機械学習モデル110の更新を繰り返す。この繰り返しの際に、学習部100は、重み係数kを徐々に減衰させて目的関数重み付け和Lを算出していく。すなわち、学習部100は、ロスL1に対するロス2の比率を減衰させていき、模倣学習の影響を徐々に小さくしながら学習を進める。
【0022】
図1に戻って、情報処理装置10及び情報処理装置20の詳細について説明する。情報処理装置20は、それぞれデータ生成部200を有する。各情報処理装置20のデータ生成部200は、同じ環境データの入力を情報処理装置10から受ける。
【0023】
データ生成部200は、環境データから環境を構築する。そして、データ生成部200は、構築した環境においてエージェントに観測を行わせる。さらに、データ生成部200は、エージェントの行動を決定して、エージェントに決定した行動を構築した環境で行わせる。そして、データ生成部200は、環境に対するエージェントによる観測の情報を示す観測データ及びエージェントが行った行動を示す行動データを取得する。さらに、データ生成部200は、エージェントの行動後の遷移後の環境の状態を示す環境データを取得する。さらに、データ生成部200は、エージェントが行った行動に対して与えられる報酬を算出して報酬を示す報酬データを生成する。データ生成部200は、遷移後の環境に対する、観測データ、行動データ、遷移後の環境データ及び報酬データの生成を、環境を遷移させながら繰り返す。
【0024】
例えば、それぞれのデータ生成部200は、機械学習モデル110と同様の機械学習モデルを有する。この機械学習モデルは、機械学習モデル110と同様のパラメータを使用して機械学習モデル110と同様にエージェントの行動の選択を行う。データ生成部200は、取得した環境データを機械学習モデルに入力して、行動前の観測データ、行動データ、遷移後の環境データ、行動後の観測データを取得する。さらに、データ生成部200は、エージェントが行った行動に対して与えられる報酬を算出して報酬を示す報酬データを生成する。
【0025】
その後、データ生成部200は、観測データ、行動データ、遷移後の環境データ及び報酬データを含む学習データを情報処理装置10へ出力する。すなわち、各データ生成部200から出力された学習データをまとめたものが、機械学習モデル110の学習に用いるエージェントの経験の集合である。
【0026】
ここで、学習データは、同じ環境においてエージェントが様々な行動をした場合についてのなるべく多くの経験を含むことが好ましい。そのため、複数のデータ生成部200で異なる行動を行った場合に関して並列に学習データの生成を実施することで、多数の経験を含む学習データの生成を短時間で行うことができる。ただし、学習データの生成時間が長くなることが許容できるのであれば、1つの情報処理装置20のデータ生成部200を用いてエージェントの経験を得ることを繰り替えして学習データを生成することも可能である。
【0027】
情報処理装置10は、
図1に示すように、学習部100及び機械学習モデル110を有する。機械学習モデル110は、与えられた環境においてエージェントがどのような行動を実行するかを決定するためのモデルである。すなわち、機械学習モデル110は、環境データを入力として最適と考えられる行動を出力する。
【0028】
学習部100は、機械学習モデル110の学習を実行する。学習部100は、
図1に示すように、第1目的関数算出部101、重み付け和算出部102、第2目的関数算出部103、モデル更新部104、記憶部105、確率密度関数算出部106及びデータ入力部107を有する。
【0029】
記憶部105は、エージェントの働きかけの対象となる環境の情報を含む環境データを保持する。また、記憶部105は、各環境におけるエキスパートの観測結果を示す観測データとその観測時のエキスパートの行動を示す行動データとの双方を含むエキスパートデータを格納する。
【0030】
データ入力部107は、エージェントの働きかけの対象となる環境の状態を含む環境データを記憶部105から取得する。そして、データ入力部107は、同じ環境データを各情報処理装置20のデータ生成部200へ送信する。
【0031】
第1目的関数算出部101は、学習データをそれぞれの情報処理装置20のデータ生成部200から取得する。次に、第1目的関数算出部101は、取得した学習データに対する強化学習の目的関数であるロスL1を算出する。その後、第1目的関数算出部101は、算出したロスL1を重み付け和算出部102へ出力する。
【0032】
強化学習が「第1学習」の一例にあたり、機械学習モデル110に行動データを入力した場合の出力に対して与えられる報酬の時間累積和が最大となるように行動データで示される行動を選択する学習である。またロスL1が「第1ロス」の一例にあたる。そして、第1目的関数算出部101は、学習データに基づいて第1学習を行った場合の第1ロスを算出する。
【0033】
強化学習の目的関数の計算方式は、強化学習の手法によって異なるが、本実施例に係る第1目的関数算出部101は、どの様な計算方式を用いてもよい。以下に、第1目的関数算出部101によるロスL1の算出方法の例をいくつか説明する。
【0034】
1つの方法としては、第1目的関数算出部101は、価値反復法を用いてロスL1を算出することができる。例えば、第1目的関数算出部101は、次の数式(1)を用いてロスL1を算出する。
【0035】
【0036】
ここで、Dは、学習に用いる経験の集合であり学習データの集合である。otは、時刻tにおける環境のエージェントによる観測である。atは、時刻tにおいて実際に取った行動であり、行動データで示される。rtは、時刻tにおいて行動atを行った結果得られた報酬であり、報酬データで示される。otは、時刻t+1において行動atを行った結果遷移した結果遷移した後の環境のエージェントによる観測である。at+1は、時刻t+1においてエージェントがとるべき最適な行動である。γは、割引率である。γ=1のとき長期利益が最も重視され、γ=0のとき短期利益が最も重視される。また、Qθは、パラメータθで表現された行動価値関数である。「| |2」は、二乗ノルムである。
【0037】
この場合、LTDは誤差を表すので、機械学習モデル110の学習においてはロスL1を最小化することが求められる。
【0038】
また、他の方法としては、第1目的関数算出部101は、方策勾配法を用いてロスL1を算出することができる。例えば、第1目的関数算出部101は、次の数式(2)を用いてL1を算出する。
【0039】
【0040】
ここで、Dは、学習に用いる経験の集合であり学習データの集合である。otは、時刻tにおける環境のエージェントによる観測である。atは、時刻tにおいて実際に取った行動であり、行動データで示される。また、πθは、パラメータθで表現された方策関数である。βは、重みづけ係数である。また、パラメータθは、方策関数πと行動価値関数Qとで共通とされることが多いが、第1目的関数算出部101は、方策関数πと行動価値関数Qとを完全に分離して異なるDNN(Deep Neural Network)を用いて更新を行ってもよい。その場合、πはLPGで更新され、QはLTDで更新される。
【0041】
以上のように、本実施例に係る第1目的関数算出部101は、最適行動の行動価値と行動データを入力した場合の行動価値との誤差を基に第1ロスを算出する。
【0042】
確率密度関数算出部106は、記憶部105に格納されたエキスパートデータの中から、学習データを生成した環境と同様の環境におけるエキスパートデータを選択して取得する。そして、確率密度関数算出部106は、エキスパートの観測データを機械学習モデル110に入力して、エキスパートの行動の確率密度関数を計算する。その後、確率密度関数算出部106は、エキスパートの行動の確率密度関数及びエキスパートの行動データを第2目的関数算出部103へ出力する。
【0043】
第2目的関数算出部103は、エキスパートの行動の確率密度関数及びエキスパートの行動データの入力を確率密度関数算出部106から受ける。また、第2目的関数算出部103は、学習データを各情報処理装置20のデータ生成部200から受信する。次に、第2目的関数算出部103は、エキスパートの行動の確率密度関数及びエキスパートの行動データを用いて、尤度を最大化するように学習データに含まれる行動データに対する模倣学習の目的関数であるロスL2を算出する。すなわち、第2目的関数算出部103は、エキスパートが実際にとった特定の行動をとり易くするようにロスL2を算出する。その後、第2目的関数算出部103は、算出したロスL2を重み付け和算出部102へ出力する。
【0044】
ここで、模倣学習が、「第2学習」の一例にあたり、所定の行動系列を模倣するように行動データにより示される行動を選択する学習である。また、ロスL2が、「第2ロス」の一例にあたる。そして、第2目的関数算出部103は、所定の行動系列における行動を示す所定行動データを機械学習モデルに入力した場合に得られる第1出力と行動データを機械学習モデルに入力した場合に得られる第2出力との誤差を基に前記第2ロスを算出する。以下に、第2目的関数算出部103によるロスL2の算出方法の例をいくつか説明する。
【0045】
1つの方法としては、第2目的関数算出部103は、価値反復法を用いてロスL2を算出することができる。この場合、第2目的関数算出部103は、方策関数πを定義する次の数式(3)を保持する。
【0046】
【0047】
そして、第2目的関数算出部103は、次の数式(4)を用いてロスL2を算出する。
【0048】
【0049】
また、他の方法としては、第2目的関数算出部103は、豊作勾配法を用いてロスL2を算出することができる。この倍、第2目的関数算出部103は、DNNにより直接定義された既存の方策関数πを用いて、数式(4)によりロスL2を算出する。
【0050】
ここで、ロスL2はエキスパートと同じ行動をとる尤度を表すので、機械学習モデル110の学習では最大化することが求められる。
【0051】
重み付け和算出部102は、ロスL1の入力を第1目的関数算出部101から受ける。また、重み付け和算出部102は、ロスL2の入力を第2目的関数算出部103から受ける。そして、重み付け和算出部102は、ロスL1とロスL2とのバランスを取り、且つ、ロスL2を徐々に減衰させるための係数である重み付け係数kをロスL2に乗算して、ロスL1に加算することで、目的関数重み付け和Lを算出する。すなわち、重み付け和算出部102は、L=L1+kL2により目的関数重み付け和Lを算出する。
【0052】
ここで、機械学習モデル110は、ロスL1及びロスL2、並びに、目的関数重み付け和Lの算出が繰り返され、順次算出された目的関数重み付け和Lを用いて、更新が繰り返される。そして、重み付け和算出部102は、特定の目的関数重み付け和Lを用いた更新の次の目的関数重み付け和Lの算出において、特定の目的関数重み付け和Lの算出に用いた重み付け係数kを減衰させて次の目的関数重み付け和Lを算出する。重み付け和算出部102による重み付け係数kの減衰のさせ方は、どの程度長くエキスパートデータの影響を残したいかによって決定されるものであり、特に制限はない。例えば、重み付け和算出部102は、線型的に重み付け係数kを減衰させることなどができる。
【0053】
その後、重み付け和算出部102は、算出した目的関数重み付け和Lをモデル更新部104へ出力する。ここで、本実施例では、ロスL2に重みを付加したが、これに限らず、ロスL1に重みを付加してもよいし、ロスL1及びロスL2の双方に重みを付加してもよい。いずれの場合も、重み付け和算出部102は、学習の繰り返しにしたがってロスL2の重みが減衰するように重みを変化させる。例えば、ロスL1に重みを付加した場合、重み付け和算出部102は、ロスL1の重みを増やすことでロスL2の重みを減衰させることができる。
【0054】
モデル更新部104は、目的関数重み付け和Lの入力を重み付け和算出部102から受ける。そして、モデル更新部104は、目的関数重み付け和Lを用いて機械学習モデル110を更新する。例えば、モデル更新部104は、機械学習モデル110に含まれるパラメータを微分してパラメータの変更により目的関数重み付け和Lが大きくなるか小さくなるかを判定する。そして、モデル更新部104は、目的関数重み付け和Lが大きくなるようにパラメータを調整して機械学習モデル110を更新する。
【0055】
そして、モデル更新部104は、学習完了条件が満たされたか否かを判定する。モデル更新部104は、学習完了条件を、例えば更新回数が所定回数に達した場合や、重み付け係数kが所定値に達した場合などとすることができる。学習完了条件が満たされていない場合、学習部100は、機械学習モデル110の更新を繰り返す。これに対して、学習完了条件が満たされた場合、学習部100は、機械学習モデル110の学習を終了する。
【0056】
図3は、実施例に係る情報処理装置による機械学習処理のフローチャートである。次に、
図3を参照して、本実施例に係る情報処理装置10による機械学習処理の流れを説明する。
【0057】
データ入力部107は、エージェントが働きかける環境の特定の状態を表す環境データを記憶部105から取得する。そして、データ入力部107は、同じ環境データを全ての情報処理装置20のデータ生成部200へ送信する(ステップS1)。
【0058】
情報処理装置20のデータ生成部200は、受信した環境データを用いて構築される環境において、エージェントに行動を行わせて、行動前の観測データ、遷移後の環境データ及び行動後の観測データを取得する。さらに、データ生成部200は、行動に対する報酬を算出して報酬データを生成する。そして、データ生成部200は、行動前の観測データ、行動データ、遷移後の環境データ、行動後の観測データ及び報酬データ含む学習データDを情報処理装置10へ出力する。第1目的関数算出部101及び第2目的関数算出部103は、学習データDを各情報処理装置20のデータ生成部200から取得する(ステップS2)。
【0059】
第1目的関数算出部101は、取得した学習データDに対する強化学習のロスL1を算出する(ステップS3)。
【0060】
確率密度関数算出部106は、取得した学習データDで用いられた環境におけるエキスパートの観測oe及び行動aeを含むエキスパートデータDeを記憶部105が保持するエキスパートデータの中から選択して取得する(ステップS4)。ここでは、De=(oe,ae)と表す。
【0061】
次に、確率密度関数算出部106は、エキスパートの観測oeを機械学習モデル110に入力してエキスパートの行動の確率密度関数foeを計算する(ステップS5)。
【0062】
第2目的関数算出部103は、確率密度関数算出部106により計算された確率密度関数foeを用いて、尤度であるfoe(ae)を最大化する、取得した学習データDに対するロスL2を算出する(ステップS6)。
【0063】
重み付け和算出部102は、重み係数kを乗算したロスL2にロスL1を加算して、目的関数重み付け和Lを算出する(ステップS7)。すなわち、重み付け和算出部102は、L=L1+kL2とする。
【0064】
モデル更新部104は、目的関数重み付け和Lを用いて機械学習モデル110を更新する(ステップS8)。
【0065】
その後、重み付け和算出部102は、重み係数kを減衰させる(ステップS9)。
【0066】
モデル更新部104は、学習完了条件が満たされたか否かを判定する(ステップS10)。学習完了条件が満たされていない場合(ステップS10:否定)、学習部100は、ステップS1へ戻り、機械学習モデル110の更新を繰り返す。これに対して、学習完了条件が満たされた場合(ステップS10:肯定)、学習部100は、機械学習モデル110の学習を終了する。
【0067】
以上に説明したように、本実施例に係る情報処理装置は、模倣学習と強化学習とを融合させて機械学習を行い、且つ、学習を進めるにしたがって模倣学習の影響を減衰させて、エキスパートの行動の影響を徐々に軽減させる。これにより、エキスパートの行動系列が最適なものから遠い場合でも、学習の安定性を損なうことなく模倣学習の恩恵を得ることができ、強化学習の効率化に寄与することができる。したがって、学習効率を向上させることが可能となる。
【0068】
(ハードウェア構成)
図4は、実施例に係る機械学習システムのハードウェア構成図である。次に、
図4を参照して、本実施例に係る機械学習システム1のハードウェア構成の一例について説明する。
【0069】
情報処理装置10は、
図4に示すように、CPU(Central Processing Unit)911、RAM(Random Access Memory)912、GPU(Graphics Processing Unit)913及びハードディスク914を有する。CPU911は、バスによりRAM912、GPU913及びハードディスク914と接続される。
【0070】
ハードディスク914は、補助記憶装置である。ハードディスク914は、
図1に例示した、記憶部105の機能を実現する。だだし、記憶部105は、情報処理装置10が有さなくてもよく、外部装置が保持してもよい。また、ハードディスク914は、
図1に例示した機械学習モデル110を格納してもよい。また、ハードディスク914は、
図1に例示した学習部100の機能を実現するためのプログラムを含む各種プログラムを格納する。ハードディスク914の代わりにSSD(Solid State Drive)などを用いることも可能である。
【0071】
GPU913は、機械学習における所定の演算を実行する。ただし、機械学習の速度が遅くてもよい場合、GPU913は設けなくてもよい。
【0072】
CPU911は、ハードディスク914から各種プログラムを読み出してRAM912に展開して実行する。これにより、CPU911は、
図1に例示した学習部100の機能を実現する。CPU911は、機械学習における演算をGPU913に行わせてもよい。
【0073】
情報処理装置20は、
図4に示すように、複数台が情報処理装置10に接続されてクラスタ構成を有する。ただし、解く問題の規模によってはクラスタ構成でなくてもよく、情報処理装置20は1台でもよいし、情報処理装置10の中に情報処理装置20の機能を含めてもよい。
【0074】
情報処理装置20は、
図4に示すように、CPU921、RAM922及びハードディスク923を有する。CPU921は、バスによりRAM922及びハードディスク923と接続される。
【0075】
ハードディスク923は、補助記憶装置である。ハードディスク923は、
図1に例示した、データ生成部200の機能を実現するためのプログラムを含む各種プログラムを格納する。
【0076】
CPU921は、ハードディスク923から各種プログラムを読み出してRAM922に展開して実行する。これにより、CPU921は、
図1に例示したデータ生成部200の機能を実現する。