(57)【要約】【課題】ニューラルネットワークを強化学習する際に、ニューラルネットワークの過剰適合を効果的に防止することが可能なニューラルネットワークの強化学習装置を提供する。【解決手段】データ削除部１５は、経験データ記憶部１３に記憶された各経験データに関して、他の経験データとどの程度異なっているかを示すユニークネスパラメータを算出する。そして、算出したユニークネスパラメータに基づいて、他の経験データと類似している経験データを削除する。これにより、経験データ記憶部１３に記憶される経験データが、類似性の高い経験データに偏ることを防ぐことができる。従って、経験データ記憶部１３に記憶された多様な経験データを用いてＤＮＮ１２の強化学習を行うことにより、ＤＮＮ１２の過剰適合を効果的に防止することができる。【選択図】図１
2018005739.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の状態に応じて行動を決定するための最適方策を学習する学習器としてニューラルネットワーク（１２）を用いる場合において、前記ニューラルネットワークを強化学習する強化学習方法であって、
コンピュータ（１０）が、制御対象の状態、制御対象に対する行動、その行動により得られる報酬、及びその行動によって遷移した制御対象の状態と、を含む経験データを収集して、有限の記憶容量を持つ経験データ記憶部（１３）に記憶させ、
コンピュータ（１０）が、前記経験データ記憶部に記憶されたそれぞれの経験データに関して、他の経験データとどの程度異なっているかを示すユニークネスパラメータを算出し、
コンピュータ（１０）が、算出したユニークネスパラメータに基づいて、他の経験データと類似している経験データを前記経験データ記憶部から削除し、
コンピュータ（１０）が、前記経験データ記憶部に記憶されている経験データを用いて、前記ニューラルネットワークの強化学習を行う強化学習方法。
【請求項２】
前記コンピュータは、経験データに含まれる、状態、行動、報酬、及び遷移した状態の内、状態、行動、及び報酬に基づいて、それぞれの経験データのユニークネスパラメータを算出する請求項１に記載の強化学習方法。
【請求項３】
前記コンピュータは、経験データに含まれる、状態と行動との少なくとも一方が高次元データからなる場合、その高次元データを低次元化した後に、それぞれの経験データのユニークネスパラメータを算出する請求項１又は２に記載の強化学習方法。
【請求項４】
前記コンピュータは、最も低いユニークネスパラメータを持つ経験データ、もしくは、所定の削除基準値以下のユニークネスパラメータを持つ経験データを削除すべき経験データとして決定する請求項１乃至３のいずれかに記載の強化学習方法。
【請求項５】
前記コンピュータは、ユニークネスパラメータを確率的手法によって評価して、削除すべき経験データを決定する請求項１乃至３のいずれかに記載の強化学習方法。
【請求項６】
前記コンピュータは、経験データ毎のユニークネスパラメータを、全経験データのユニークネスパラメータを用いて正規化し、その正規化した結果に基づいて、削除すべき経験データを決定する請求項５に記載の強化学習方法。
【請求項７】
前記コンピュータは、経験データの保存量が前記経験データ記憶部の記憶容量の上限に達したときに、前記経験データ記憶部に記憶されているすべての経験データのユニークネスパラメータを算出するとともに、算出したユニークネスパラメータに基づいて、複数の経験データをまとめて削除する請求項１乃至６のいずれかに記載の強化学習方法。
【請求項８】
制御対象の状態に応じて行動を決定するための最適方策を学習する学習器としてニューラルネットワーク（１２）を用いる場合において、前記ニューラルネットワークを強化学習する強化学習装置であって、
制御対象の状態、制御対象に対する行動、その行動により得られる報酬、及びその行動によって遷移した制御対象の状態と、を含む経験データが収集されるごとに、その経験データを記憶する、有限の記憶容量を持つ経験データ記憶部（１３）と、
前記経験データ記憶部に記憶されたそれぞれの経験データに関して、他の経験データとどの程度異なっているかを示すユニークネスパラメータを算出する算出部（Ｓ２００）と、
前記算出部が算出したユニークネスパラメータに基づいて、他の経験データと類似している経験データを前記経験データ記憶部から削除する削除部（Ｓ２１０）と、
前記経験データ記憶部に記憶されている経験データを用いて、前記ニューラルネットワークの強化学習を行う強化学習部と、を備える強化学習装置。
【請求項９】
前記算出部は、経験データに含まれる、状態、行動、報酬、及び遷移した状態の内、状態、行動、及び報酬に基づいて、それぞれの経験データのユニークネスパラメータを算出する請求項８に記載の強化学習装置。
【請求項１０】
前記算出部は、経験データに含まれる、状態と行動との少なくとも一方が高次元データからなる場合、その高次元データを低次元化した後に、それぞれの経験データのユニークネスパラメータを算出する請求項８又は９に記載の強化学習装置。
【請求項１１】
前記削除部は、最も低いユニークネスパラメータを持つ経験データ、もしくは、所定の削除基準値以下のユニークネスパラメータを持つ経験データを削除すべき経験データとして決定する請求項８乃至１０のいずれかに記載の強化学習装置。
【請求項１２】
前記削除部は、ユニークネスパラメータを確率的手法によって評価して、削除すべき経験データを決定する請求項８乃至１０のいずれかに記載の強化学習装置。
【請求項１３】
前記削除部は、経験データ毎のユニークネスパラメータを、全経験データのユニークネスパラメータを用いて正規化し、その正規化した結果に基づいて、削除すべき経験データを決定する請求項１２に記載の強化学習装置。
【請求項１４】
経験データの保存量が前記経験データ記憶部の記憶容量の上限に達したとき、前記算出部が、前記経験データ記憶部に記憶されているすべての経験データのユニークネスパラメータを算出するとともに、前記削除部が、算出されたユニークネスパラメータに基づいて、複数の経験データを一度に削除する請求項８乃至１３のいずれかに記載の強化学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象の状態に応じて行動を決定するための最適方策を学習する学習器としてニューラルネットワークを用いる場合に、そのニューラルネットワークを強化学習するための強化学習方法及び強化学習装置に関する。
【背景技術】
【０００２】
例えば、非特許文献１には、多層構造のニューラルネットワークを、最適行動価値関数の関数近似器として用いた場合における、強化学習（reinforcement learning）の手法について記載されている。
【０００３】
強化学習とは、ある環境中に置かれたエージェントが、環境との相互作用を通じて、最適な方策を得るための機械学習の手法をいう。具体的には、エージェントは、環境の現在の状態を観測し、方策に基づいて取るべき行動を決定する。エージェントが決定した行動により、環境の状態が変化する。環境の状態がどのように変化したかに応じて報酬が定まる。強化学習では、一連の行動を通じて、報酬が最も多く得られるような行動を決定するようにエージェントの方策を学習する。この強化学習の代表的な手法としてＴＤ学習やＱ学習が知られている。
【０００４】
非特許文献１では、Ｑ学習に基づく手法によって強化学習を行っている。Ｑ学習に基づく手法では、行動価値関数と呼ばれる関数を近似することで最適方策を学習する。換言すると、将来に渡る累積的な報酬の和を最大化させる行動価値関数の近似関数を、最適方策として学習する。非特許文献１では、この最適方策の学習器として、多層構造のニューラルネットワークを用いている。
【０００５】
非特許文献１における、多層構造のニューラルネットワークの強化学習の手法について簡単に説明すると、まず、上述した環境の状態、その状態に対する行動、行動により得られる報酬、及び行動により遷移した環境の状態を収集し、それらを経験データとして所定のメモリに保存する。強化学習では、そのメモリから経験データをサンプリングして、以下の数式１により教師信号を作成する。
【数１】
2018005739.tif 000003
【０００６】
数式１において、ｒは報酬を示し、γは割引率と呼ばれる強化学習のパラメータ（０＜γ＜１）を示し、Ｑθ（ｓ，ａ）はニューラルネットワークのパラメータθを用いて表された行動価値関数の近似関数を示し、ｓ’は状態ｓで行動ａを取った場合の次の状態を示し、ａ’は次の状態ｓ’で取るべき次の行動を示す。
【０００７】
この教師信号targetを用いることで、誤差関数は、以下の数式２のように定めることができる。
【数２】
2018005739.tif 000004
【０００８】
そして、ニューラルネットワークに対して誤差逆伝播法を適用して、各ニューロンの重みを更新する。その結果、上記誤差関数Ｌθ（ｓ，ａ）が十分に小さくなったと判定されると、学習は終了する。
【０００９】
ここで、強化学習により、ある種の経験データに過剰に適合するようにニューラルネットワークの学習が行われてしまうと、ニューラルネットワークは新たなデータに対してうまく適応することができなくなるという問題がある。つまり、学習に用いられた経験データとは傾向の異なるデータに対して、ニューラルネットワークは、最大の報酬を得るための行動を決定することができないといった問題が生じる。このような過剰適合が発生する原因の一つとして、連続的に観測される経験データの相関性が挙げられる。連続的に観測される経験データは、通常、大きく変化することはなく、ある相関性を有している。そのため、これら相関性を持つ経験データを用いて強化学習を行った場合、その相関性により学習結果がバイアスを受けることになる。
【００１０】
このような問題に対処するために、非特許文献１では、「Experience Replay（経験再生）」という手法を用いている。「Experience Replay」とは、エージェントが経験した様々な状況における経験データをメモリに記憶しておき、強化学習の際には、そのメモリから、ランダムに経験データをサンプリングするものである。これにより、経験データの相関性が低減され、学習結果がバイアスを受けることを抑制することができる。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】“Human-level control through deep reinforcement learning”, Volodymyr Mnih, et al., Nature, vol. 518, no.7540, pp.529-533, 2015
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、「Experience Replay」を実行するためには、エージェントが経験した経験データをメモリに保存しておく必要がある。しかし、メモリは、無限に経験データを保存できるわけではなく、経験データの保存量がメモリの記憶容量の上限値に達すると、いずれかの経験データを削除する必要が生じる。この際、一般的には、「First In First Out（ＦＩＦＯ）」方式により、最も古い経験データが削除される。
【００１３】
しかしながら、ＦＩＦＯ方式で経験データを削除すると、学習が進むにつれて、エージェントが直面する状況のバリエーションが減少するため、類似性の低い経験データが削除される一方で、類似性の高い経験データが新たに保存される可能性が高くなる。その結果、メモリに保存される経験データ全体として、類似性の高い経験データの比率が高まることになる。このため、「Experience Reply」を実行しても、学習のための経験データとして、類似性が高い経験データがサンプリングされる可能性が高くなるので、ニューラルネットワークは、その類似性の高い経験データに過剰適合してしまう傾向が生じる。
【００１４】
本発明は、上述した点に鑑みてなされたもので、ニューラルネットワークを強化学習する際に、ニューラルネットワークの過剰適合を効果的に防止することが可能なニューラルネットワークの強化学習方法及び強化学習装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明によるニューラルネットワーク（１２）の強化学習方法は、制御対象の状態に応じて行動を決定するための最適方策を学習する学習器としてニューラルネットワーク（１２）を用いる場合において、ニューラルネットワーク（１２）を強化学習するものであって、
コンピュータ（１０）が、制御対象の状態、制御対象に対する行動、その行動により得られる報酬、及びその行動によって遷移した制御対象の状態を含む経験データを収集して、有限の記憶容量を持つ経験データ記憶部（１３）に記憶させ、
コンピュータ（１０）が、経験データ記憶部（１３）に記憶されたそれぞれの経験データに関して、他の経験データとどの程度異なっているかを示すユニークネスパラメータを算出し、
コンピュータ（１０）が、算出したユニークネスパラメータに基づいて、他の経験データと類似している経験データを経験データ記憶部（１３）から削除し、
コンピュータ（１０）が、経験データ記憶部（１３）に記憶されている経験データを用いて、ニューラルネットワーク（１２）の強化学習を行う。
【００１６】
また、本発明によるニューラルネットワーク（１２）の強化学習装置は、
制御対象の状態、制御対象に対する行動、その行動により得られる報酬、及びその行動によって遷移した制御対象の状態を含む経験データが収集されるごとに、その経験データを記憶する、有限の記憶容量を持つ経験データ記憶部（１３）と、
経験データ記憶部に記憶されたそれぞれの経験データに関して、他の経験データとどの程度異なっているかを示すユニークネスパラメータを算出する算出部（Ｓ２００）と、
算出部が算出したユニークネスパラメータに基づいて、他の経験データと類似している経験データを経験データ記憶部から削除する削除部（Ｓ２１０）と、
経験データ記憶部に記憶されている経験データを用いて、ニューラルネットワークの強化学習を行う強化学習部（１１）と、を備える。
【００１７】
上述したように、本発明によるニューラルネットワークの強化学習方法及び強化学習装置では、経験データ記憶部に記憶されたそれぞれの経験データに関して、他の経験データとどの程度異なっているかを示すユニークネスパラメータを算出する。そして、算出したユニークネスパラメータに基づいて、他の経験データと類似している経験データを経験データ記憶部から削除する。これにより、経験データ記憶部に記憶される経験データが、類似性の高い経験データに偏ることを防ぐことができる。換言すれば、経験データ記憶部には、他の経験データとの類似性が低い、すなわち独自性の高い経験データが削除されずに残される。そのため、経験データ記憶部に記憶されている経験データを、経験データの要素を軸とする空間にプロットした場合、経験データは広い範囲に分布するとともに、分布密度に極端な差が生じることも抑制される。従って、このような広く分布した経験データを用いてニューラルネットワークの強化学習を行うことにより、ニューラルネットワークの過剰適合を効果的に防止することができる。
【００１８】
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１９】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係るニューラルネットワークの強化学習装置の構成を概念的に示した図である。
【図２】エージェントが、経験データを収集して経験データ記憶部に保存するための処理を示したフローチャートである。
【図３】経験データ記憶部が満杯になった場合に、データ削除部によって実行されるデータ削除処理の詳細を示すフローチャートである。
【図４】ユニークネスパラメータの算出手法の一例を説明するための説明図である。
【図５】（ａ）は、ＦＩＦＯ方式において、経験データ記憶部がほぼ満杯となったが、まだデータの削除を行っていないときの、経験データの分散の様子を示す図であり、（ｂ）は、ＦＩＦＯ方式により経験データの削除を行いつつ、エピソードを７０００回繰り返した後に、経験データ記憶部に保存されている経験データの分散の様子を示す図である。
【図６】（ａ）は、実施形態のデータ削除処理によりデータ削除を行う場合に、経験データ記憶部がほぼ満杯となったときの初期段階の経験データの分散の様子を示す図であり、（ｂ）は、実施形態によるデータ削除処理によってデータ削除を行いつつ、エピソードを７０００回繰り返した後に、経験データ記憶部に保存されている経験データの分散の様子を示す図である。
【図７】ＦＩＦＯ方式でデータ削除を行いつつ、経験データ記憶部に保存されている経験データを用いてＤＮＮの強化学習を繰り返した場合に、５回のエピソードが完了するごとに、それらエピソードの実行中に得られた報酬の累積値をカウントした結果を示す図である。
【図８】本実施形態によるデータ削除処理によりデータ削除を行いつつ、経験データ記憶部に保存されている経験データを用いてＤＮＮの強化学習を繰り返した場合に、５回のエピソードが完了するごとに、それらエピソードの実行中に得られた報酬の累積値をカウントした結果を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態によるニューラルネットワークの強化学習方法及び学習装置について図面を参照しつつ詳細に説明する。図１は、本実施形態に係るニューラルネットワークの強化学習装置の構成を概念的に示した図である。本実施形態では、ニューラルネットワークの強化学習装置は、ニューラルネットワークの学習機能を備えたアプリケーションをコンピュータ１０において実行することで具現化される。図１には、アプリケーションの実行により、コンピュータによって実現される各種の機能をブロックとして示している。
【００２２】
図１に示すように、ニューラルネットワークの強化学習装置は、エージェント１１と環境１４とを備えている。
【００２３】
エージェント１１は、学習器としての多層構造のニューラルネットワーク（Deep Neural Network ：ＤＮＮ）１２と、経験データ記憶部１３とを備えている。エージェント１１は、強化学習のために経験データを収集して、経験データ記憶部１３に記憶させる。
【００２４】
経験データの収集において、エージェント１１は、ある時点ｔにおける、制御対象としての環境１４の状態ｓｔを観測し、その状態ｓｔに基づいて行動ａｔを選択する。この際、多様な状態ｓと行動ａとの組が選択されるように、状態ｓに基づく行動ａは、ある比率で、ε-greedy法やボルツマン選択法などの行動選択方法を用いて選択される。例えば、学習を開始した直後は、９５％の比率で、上述した行動選択方法によって行動ａを決定し、残りの５％の比率で、ＤＮＮ１２がその時点で保有している方策に従って行動ａを決定する。なお、ＤＮＮ１２は、状態ｓを入力すると、保有している方策に基づいて、状態ｓに対して最も適した行動ａに関して最も高い評価値を出力するように構成されている。
【００２５】
そして、エージェント１１は、強化学習が進むにつれて、徐々に、上述した行動選択方法によって行動ａを決定する比率を低下させ、ＤＮＮ１２の方策によって行動ａを選択する比率を高める。例えば、学習が行われるごとに、９９％の比率で行動選択法による行動選択の比率を低下させる。そして、行動選択法による行動選択比率が所定の最小比率（例えば、５％）に達すると、それ以上の低下を中止する。
【００２６】
エージェント１１は、ある時点ｔの状態ｓｔに応じて選択した行動ａｔを環境１４に与える。環境１４は、現時点の状態ｓｔ及び選択される行動ａｔによって，次に遷移する状態ｓｔ＋１を決定する。例えば、環境１４は、現時点の状態ｓｔと行動ａｔにより、次の状態ｓｔ＋１に遷移する確率と、現時点の状態ｓｔから次の状態ｓｔ＋１に遷移した際の報酬ｒ（の期待値）を算出する。環境１４は、最も遷移確率の高い次の状態ｓｔ＋１と、そのときに期待される報酬ｒとをエージェント１１に与える。
【００２７】
エージェント１１は、環境１４から次の状態ｓｔ＋１と報酬ｒを受け取ると、現時点の状態ｓｔ及び行動ａｔとセットにして経験データを作成し、経験データ記憶部１３に保存する。すなわち、各経験データｅｉは、現時点の状態ｓｔ、行動ａｔ、報酬ｒｔ、次の状態ｓｔ＋１を含み、ｅｉ＝（ｓｔ、ａｔ、ｒｔ、ｓｔ＋１）である。
【００２８】
エージェント１１は、経験データ記憶部１３に経験データｅｉが蓄積されると、経験データ記憶部１３から所定数の経験データをランダムにサンプリングして、強化学習を実行する。この強化学習には、従来と同様に、ＴＤ学習やＱ学習など公知の手法が適用される。そして、これらＴＤ学習やＱ学習の手法により、サンプリングした経験データを用いて、誤差関数を定め、ＤＮＮ１２に対して誤差逆伝播法を適用して、各ニューロンの重みを更新することで、ＤＮＮ１２の強化学習を行う。
【００２９】
ここで、本実施形態においても、ＤＮＮ１２の強化学習のために、経験データ記憶部１３からランダムに経験データをサンプリングしており、従来の「Experience Replay（経験再生）」を採用している。これにより、ある程度、経験データの相関性が低減され、学習結果がバイアスを受けることを抑制することができる。
【００３０】
しかし、経験データ記憶部１３の記憶容量は有限である。従って、経験データの保存量が経験データ記憶部１３の記憶容量の上限値に達したとき、新たな経験データを保存するためには、すでに保存されている経験データを削除する必要がある。この場合に、いわゆるＦＩＦＯ方式で経験データを削除すると、学習が進むにつれて、エージェント１１が直面する状況のバリエーションが減少するため、類似性の低い経験データが削除される一方で、類似性の高い経験データばかりが新たに保存される可能性が高くなる。その結果、経験データ記憶部１３に保存される経験データ全体として、類似性の高い経験データの比率が高まることになる。このため、「Experience Reply」を実行しても、ニューラルネットワークは、その類似性の高い経験データに過剰適合してしまう傾向が生じる。
【００３１】
そのため、本実施形態に係るニューラルネットワークの強化学習装置では、図１に示すように、単純なＦＩＦＯ方式ではなく、各経験データの他の経験データとの非類似性を評価し、その非類似性に基づいて、経験データを選別して削除するデータ削除部１５を設けた。より具体的には、データ削除部１５は、他の経験データと非類似性の低い（すなわち、他の経験データと近似している）経験データを削除する一方で、非類似性の高い（すなわち、独自性の高い）経験データを残す。
【００３２】
これにより、経験データ記憶部１３に保存される経験データが、類似性の高い経験データに偏ることを防ぐことができる。換言すれば、経験データ記憶部１３には、他の経験データとの類似性が低い、すなわち独自性の高い経験データが削除されずに残される。そのため、経験データ記憶部１３に記憶されている経験データを、経験データの要素を軸とする多次元空間にプロットした場合、経験データは広い範囲に分布するとともに、分布密度に極端な差が生じることも抑制される。従って、このような広く分布した経験データを用いてＤＮＮ１２の強化学習を行うことにより、ＤＮＮ１２の過剰適合を効果的に防止することができる。
【００３３】
以下、本実施形態に係るニューラルネットワークの強化学習装置における、経験データの保存及び削除方法について、図２，図３のフローチャートを参照して詳しく説明する。図２のフローチャートは、エージェント１１が、経験データを収集して経験データ記憶部１３に保存するための処理を示している。また、図３のフローチャートは、経験データ記憶部１３が満杯になった場合に、データ削除部１５によって実行されるデータ削除処理を示している。
【００３４】
まず、経験データの保存処理について、図２のフローチャートを参照して説明する。図２のフローチャートのステップＳ１００では、エージェント１１が、観測された状態ｓに対する行動ａを選択して、環境１４に与える。続くステップＳ１１０では、エージェント１１は、環境１４から次の状態ｓｔ＋１と報酬ｒを受け取って、現時点の状態ｓｔ及び行動ａｔとセットにする。これにより、経験データが収集される。
【００３５】
次に、ステップＳ１２０において、経験データの保存量が、経験データ記憶部１３の記憶容量の上限に達しており、経験データ記憶部１３が満杯になっているか否かを判定する。このステップＳ１２０の判定処理において、経験データ記憶部１３が満杯になっていると判定すると、ステップＳ１３０の処理に進む。ステップＳ１３０では、データ削除部１５による経験データの削除処理が実行される。この経験データ削除処理については、後述する。
【００３６】
そして、ステップＳ１３０のデータ削除処理によって経験データが削除され、経験データ記憶部１３に新たな経験データを保存するための空き容量が確保されると、ステップＳ１４０の処理が実行される。ステップＳ１４０では、収集された経験データを経験データ記憶部１３に保存する。一方、ステップＳ１２０の判定処理において、経験データ記憶部１３は満杯にはなっていないと判定すると、直接、ステップＳ１４０の処理に進んで、エージェント１１は、収集された経験データを経験データ記憶部１３に保存する。
【００３７】
そして、エージェント１１は、経験データ記憶部１３に保存されている経験データを用いてＤＮＮ１２の強化学習を行う。この強化学習は、例えば、所定数の経験データが経験データ記憶部１３に保存されたとき、制御対象（環境１４）に対する制御の終了条件が決められている場合に、制御開始から制御終了までを１エピソードとし、所定回数のエピソードが完了したとき、あるいは、前回の強化学習から所定の時間が経過したときなど、所定のタイミングで繰り返し行われる。
【００３８】
次に、経験データの削除処理について、図３のフローチャートを参照して説明する。図３のフローチャートのステップＳ２００では、データ削除部１５が、各経験データの他の経験データとの非類似性を評価するためのユニークネスパラメータを、各経験データについて算出する。
【００３９】
例えば、図４に示すように、経験データの各要素を軸とする多次元空間に各経験データをプロットした場合に、ある経験データｘからユークリッド距離ｋの範囲に属する経験データの数の逆数をユニークネスパラメータｕとして定義することができる。これは、ある経験データｘからユークリッド距離ｋの範囲に属する経験データの数が多くなるほど、その経験データｘは他の経験データと類似性が高いデータとみなすことができるためである。
【００４０】
このようにユニークネスパラメータｕを定義することにより、周囲の経験データの数が多くなるほど低い値がｕとして算出され、逆に、周囲の経験データの数が少なくなるほど高い値がｕとして算出されるようになる。なお、周囲の経験データの数がゼロである場合には、所定の最大値がｕとして算出されるように定めておけば良い。
【００４１】
経験データ同士の類似度を図るための距離としては、上述したユークリッド距離に限らず、他の公知の距離（例えば、マハラノビス距離など）を用いるようにしても良い。さらに、各経験データをベクトルとして捉え、コサイン類似度などを用いてベクトルとしての類似性を評価するようにしても良い。例えば、ある経験データのベクトルに対して所定以上の類似度のベクトルを持つ経験データの数の逆数をユニークネスパラメータとして定義するようにしても良い。
【００４２】
また、各経験データのユニークネスパラメータを算出する場合、必ずしも、経験データに含まれるすべての要素を用いなくとも良い。具体的には、経験データに含まれる要素（現時点の状態ｓｔ、行動ａｔ、報酬ｒｔ、次の状態ｓｔ＋１）の内、次の状態ｓｔ＋１を除く３つの要素からユニークネスパラメータを算出するようにしても良い。これは、次の状態ｓｔ＋１は現時点の状態ｓｔとの相関性が高く、両方の要素を用いても、情報が冗長的になるだけであるためである。
【００４３】
さらに、経験データに含まれる、状態ｓと行動ａとの少なくとも一方が高次元データからなる場合、その高次元データを低次元化した後に、それぞれの経験データのユニークネスパラメータを算出するようにしても良い。例えば、状態ｓが画像として保存されている場合、オートエンコーダーなどの次元圧縮アルゴリズムを用いて低次元化された特徴量を抽出し、その抽出した特徴量からユニークネスパラメータを算出するようにしても良い。これにより、ユニークネスパラメータを算出するための計算負荷を低減することができる。なお、次元圧縮アルゴリズムとしては、主成分分析などを用いても良い。
【００４４】
図３のフローチャートのステップＳ２１０では、低いユニークネスパラメータｕを持つ経験データを経験データ記憶部１３から削除する。この際、最も低いユニークネスパラメータｕを持つ１つの経験データを削除しても良いが、そうすると、新たな経験データが収集されるごとに、経験データ記憶部１３に保存されている各経験データに関してユニークネスパラメータｕを算出しなければならなくなり、計算負荷が増大してしまう。そのため、本実施形態では、所定の削除基準値以下のユニークネスパラメータｕを持つ複数の経験データをまとめて削除する。これにより、ユニークネスパラメータｕの算出頻度を低減することができ、ユニークネスパラメータｕを算出することによる計算負荷の増加を抑制することが可能になる。
【００４５】
また、経験データの削除に関しては、ユニークネスパラメータｕを、直接、削除基準値と比較して、削除基準値以下のユニークネスパラメータｕを持つ経験データを決定論的に削除しても良いが、ユニークネスパラメータｕを元に経験データを削除する確率を算出することで、削除すべき経験データを確率論的に選択するようにしても良い。例えば、下記の数式３に示すように、経験データ毎のユニークネスパラメータｕを、全経験データのユニークネスパラメータを用いて正規化することで削除確率Ｐを定義し、その削除確率Ｐに従って、削除すべき経験データを決定するようにしても良い。具体的な実装方法としては、例えば０〜１の一様乱数値を発生させる乱数発生器を用意し、この乱数発生器が生成した乱数値と削除確率Ｐと比較して、乱数値の方が削除確率Ｐよりも小さい場合に経験データを削除する方法が考えられる。
【数３】
2018005739.tif 000005
【００４６】
確率論的に削除する経験データを決定することで、例えば、経験記憶部に保持されている経験データが密集している場合に、密集部のデータを間引く効果が期待される。ユニークネスパラメータｕそのものを削除基準値と比較して、その削除基準値以下のユニークネスパラメータｕを持つ複数の経験データをまとめて削除する場合、経験データの密集度によっては、密集している経験データの大部分が削除されてしまう可能性がある。それに対して、上述した確率的手法を用いることにより、経験データが密集している場合であっても、まばらに経験データを削除することが可能になる。
【００４７】
次に、上述したデータ削除処理が、経験データ記憶部１３に保存される経験データに対してどのような影響を及ぼすのか、また、その結果、学習の安定性にどの程度寄与するのかについて、本実施形態によるデータ削除処理により経験データを削除したケースと、ＦＩＦＯ方式で経験データを削除したケースとを対比しつつ説明する。
【００４８】
なお、対比するケースでは、エージェント１１は、自動車を制御対象とし、その自動車を直線道路の中心線に沿って走行させるようにＤＮＮ１２を学習させるものとした。エージェント１１は、状態ｓとして、車両の中心位置と道路の中心線との横方向距離ｌＣ、及び道路の中心線の方向に対する車両の進行方向ＯＣを用い、行動ａとしては、直進、右操舵、左操舵の３種類の行動からいずれかを選択するものとした。
【００４９】
車両の走行開始地点から車両の制御を開始し、所定の終了条件が成立して車両の走行を停止するまでを１エピソードと定義した。終了条件は、車両が所定距離離れたゴールに到達する、車両の中心位置が道路の中心線から所定距離以上離れる（道路から逸脱する）、もしくは、所定の時間が経過するとの３条件とした。報酬関数ｒｉは以下の数式４のように定義した。
【数４】
2018005739.tif 000006
【００５０】
数式４において、ｗｌ、ｗｏ、ｗｏｆｆｒｏａｄは、車両の横方向距離ｌＣ、車両の進行方向ＯＣ、及び道路逸脱に対するマイナスの報酬（罰則）を与えるための重み要素である。
【００５１】
ＤＮＮ１２は、４相構造を持ち、入力相である第１相のニューロン数が２、第２相のニューロン数が５０、第３相のニューロン数が２０、出力相である第４相のニューロン数が３である。ＤＮＮ１２の全ての重みは、−０．０５〜０．０５の範囲で均等に分散するようにランダムに初期化した。学習率は、初期値が０．００１であり、１回の学習当り割引率９９％で０．００００３まで徐々に低減されるものとした。
【００５２】
上述した条件の下で、ＦＩＦＯ方式でデータ削除を行った場合と、本実施形態によるデータ削除処理によってデータ削除を行った場合の、経験データの分散の様子を図５及び図６に示す。なお、図５及び図６において、経験データは、主成分分析により２次元に次元圧縮されている。
【００５３】
図５（ａ）は、ＦＩＦＯ方式において、経験データ記憶部１３がほぼ満杯となったとき、すなわち、まだデータの削除を行っていないときの、経験データの分散の様子を示す。また、図６（ａ）は、本実施形態において、同様に、経験データ記憶部１３がほぼ満杯となったときの経験データの分散の様子を示す。図５（ａ）及び図６（ａ）とも、上述した行動選択法によって多様な状態ｓと行動ａとの組が選択されるので、初期段階では、ほぼ同様に経験データが広く分散していることが分かる。
【００５４】
一方、図５（ｂ）は、ＦＩＦＯ方式により経験データの削除を行いつつ、エピソードを７０００回繰り返した後に、経験データ記憶部１３に保存されている経験データの分散の様子を示している。また、図６（ｂ）は、本実施形態によるデータ削除処理によってデータ削除を行いつつ、エピソードを７０００回繰り返した後に、経験データ記憶部１３に保存されている経験データの分散の様子を示している。
【００５５】
図５（ａ）では、経験データが中央付近に密集しており、その周辺の経験データはまばらになっていることが確認できる。これは、新しい経験データが保存されるごとに古い経験データが削除される場合、学習が進むにつれて、類似の状態ｓに対しては類似の行動ａを選択する傾向が強まるためであると推測される。それに対し、本実施形態によるデータ削除処理によってデータ削除を行った場合には、図６（ａ）に示す初期段階から大きく変化することなく、経験データが広い範囲に分布した状態を維持していることが確認できる。これは、上述したように、本実施形態では、経験データ削除処理において、類似している経験データを削除し、独自性の高い経験データを残すようにしているためである。
【００５６】
次に、ＦＩＦＯ方式でデータ削除を行いつつ、所定の学習実行条件が成立したときに、経験データ記憶部１３に保存されている経験データを用いてＤＮＮ１２の強化学習を繰り返した場合に、５回のエピソードが完了するごとに、それらエピソードの実行中に得られた報酬ｒの累積値をカウントした結果を図７に示す。同様に、本実施形態によるデータ削除処理によりデータ削除を行いつつ、所定の学習実行条件が成立したときに、経験データ記憶部１３に保存されている経験データを用いてＤＮＮ１２の強化学習を繰り返した場合に、５回のエピソードが完了するごとに、それらエピソードの実行中に得られた報酬ｒの累積値をカウントした結果を図８に示す。
【００５７】
図７から、ＦＩＦＯ方式で経験データを削除すると、学習回数が多くなっても、報酬の累積値の変動が収まらず、常に安定した報酬を得られるような学習ができていないことが確認できる。それに対し、本実施形態によるデータ削除処理によって経験データを削除した場合、学習が進展するにつれて、報酬ｒの累積値の変動が明らかに小さくなっていることが確認できる。これは、上述したように、経験データ記憶部１３に保存される経験データに関して、広い範囲に分布した状態を維持することができ、換言すれば、経験データ記憶部１３に多様な経験データが保存されているためである。この結果、経験データを用いた学習によって、類似性の高いデータに対しての過剰適合を抑制することができ、入力される状態ｓがレアなものであっても、良い報酬ｒが得られる行動ａを選択することが可能になる。
【００５８】
以上、本発明の好ましい実施形態について説明したが、本発明は、なんら上述した実施形態に制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００５９】
例えば、上述した実施形態では、エージェント１１が１つのＤＮＮ１２を有する例について説明したが、例えば、エージェント１１は、Actorとして用いられるニューラルネットワークと、Criticとして用いられるニューラルネットワークとを別個に備えるものであっても良い。
【００６０】
また、上述した実施形態では、エージェント１１が、制御対象としての自動車を道路の中心線に沿って走行させることを学習させる例について説明した。しかしながら、例えば障害物を避けつつ自動車を自動運転させるような、より複雑な制御の学習を行っても良いし、制御対象も自動車に限られず、画像（の認識）、音声（の認識）、ロボットなど、入ラルネットワークによって制御したり、処理したりすることができる対象であれば良い。
【００６１】
さらに、上述した実施形態では、１つのコンピュータが、エージェント１１、環境１４、データ削除部１５などの機能を実現する例について説明したが、それぞれの機能を複数のコンピュータによって実現するように構成しても良い。
【符号の説明】
【００６２】
１０  コンピュータ
１１  エージェント
１２  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ
１３  経験データ記憶部
１４  環境
１５  データ削除部
【図１】
2018005739.tif 000007
【図２】
2018005739.tif 000008
【図３】
2018005739.tif 000009
【図４】
2018005739.tif 000010
【図５】
2018005739.tif 000011
【図６】
2018005739.tif 000012
【図７】
2018005739.tif 000013
【図８】
2018005739.tif 000014