Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6970949B2 - 行動学習装置 - Google Patents
[go: Go Back, main page]

JP6970949B2 - 行動学習装置 - Google Patents

行動学習装置 Download PDF

Info

Publication number
JP6970949B2
JP6970949B2 JP2020525532A JP2020525532A JP6970949B2 JP 6970949 B2 JP6970949 B2 JP 6970949B2 JP 2020525532 A JP2020525532 A JP 2020525532A JP 2020525532 A JP2020525532 A JP 2020525532A JP 6970949 B2 JP6970949 B2 JP 6970949B2
Authority
JP
Japan
Prior art keywords
learning
action
score
unit
behavior
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020525532A
Other languages
English (en)
Other versions
JPWO2019240047A1 (ja
Inventor
由仁 宮内
安規男 宇田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Publication of JPWO2019240047A1 publication Critical patent/JPWO2019240047A1/ja
Application granted granted Critical
Publication of JP6970949B2 publication Critical patent/JP6970949B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、行動学習装置、行動学習方法、行動学習システム、プログラム、及び記録媒体に関する。
近年、機械学習手法として、多層ニューラルネットワークを用いた深層学習(ディープラーニング)が注目されている。深層学習は、バックプロパゲーションと呼ばれる計算手法を用い、大量の教師データを多層ニューラルネットワークへ入力した際の出力誤差を計算し、誤差が最小となるように学習を行うものである。
特許文献1乃至3には、大規模なニューラルネットワークを複数のサブネットワークの組み合わせとして規定することにより、少ない労力及び演算処理量でニューラルネットワークを構築することを可能にしたニューラルネットワーク処理装置が開示されている。また、特許文献4には、ニューラルネットワークの最適化を行う構造最適化装置が開示されている。
特開2001−051968号公報 特開2002−251601号公報 特開2003−317073号公報 特開平09−091263号公報
しかしながら、深層学習では、教師データとして良質な大量のデータが必要であり、また、学習に長時間を要していた。特許文献1乃至4にはニューラルネットワークの構築のための労力や演算処理量を低減する手法が提案されているが、システム負荷等の更なる軽減のために、より簡単なアルゴリズムにより行動の学習が可能な行動学習装置が望まれていた。
本発明の目的は、環境及び自己の状況に応じた行動の学習及び選択をより簡単なアルゴリズムで実現しうる行動学習装置、行動学習方法、行動学習システム、プログラム、及び記録媒体を提供することにある。
本発明の一観点によれば、環境及び自己の状況を表す状況情報データに基づいて、取り得る複数の行動候補を抽出する行動候補取得部と、前記複数の行動候補の各々について、行動した結果に対して見込まれる効果を表す指標であるスコアを取得するスコア取得部と、前記複数の行動候補の中から、前記スコアが最も大きい行動候補を選択する行動選択部と、選択した前記行動候補を前記環境に対して実行した結果に基づいて、選択した前記行動候補に紐付けられている前記スコアの値を調整するスコア調整部と、を有し、前記スコア取得部は、前記状況情報データに基づく複数の要素値の各々に所定の重み付けをする複数の入力ノードと、重み付けをした前記複数の要素値を加算して出力する出力ノードと、を各々が含む複数の学習セルを有するニューラルネットワーク部を有し、前記複数の学習セルの各々は、所定のスコアを有し、前記複数の行動候補のうちのいずれかに紐付けられており、前記スコア取得部は、前記複数の行動候補の各々に紐付けられた前記学習セルのうち、前記複数の要素値と前記学習セルの出力値との間の相関値が最も大きい前記学習セルの前記スコアを、対応する前記行動候補のスコアに設定し、前記行動選択部は、前記複数の行動候補のうち、前記スコアが最も大きい前記行動候補を選択し、前記スコア調整部は、選択した前記行動候補を実行した結果に基づいて、選択した前記行動候補に紐付けられている前記学習セルの前記スコアを調整する行動学習装置が提供される。
また、本発明の他の一観点によれば、環境及び自己の状況を表す状況情報データに基づいて、取り得る複数の行動候補を抽出するステップと、前記複数の行動候補の各々について、行動した結果に対して見込まれる効果を表す指標であるスコアを取得するステップと、前記複数の行動候補の中から、前記スコアが最も大きい行動候補を選択するステップと、選択した前記行動候補を前記環境に対して実行した結果に基づいて、選択した前記行動候補に紐付けられている前記スコアの値を調整するステップとを有する行動学習方法が提供される。
また、本発明の更に他の一観点によれば、コンピュータを、環境及び自己の状況を表す状況情報データに基づいて、取り得る複数の行動候補を抽出する手段、前記複数の行動候補の各々について、行動した結果に対して見込まれる効果を表す指標であるスコアを取得する手段、前記複数の行動候補の中から、前記スコアが最も大きい行動候補を選択する手段、及び選択した前記行動候補を前記環境に対して実行した結果に基づいて、選択した前記行動候補に紐付けられている前記スコアの値を調整する手段として機能させるプログラムが提供される。
本発明によれば、環境及び自己の状況に応じた行動の学習及び選択をより簡単なアルゴリズムで実現することができる。
図1は、本発明の第1実施形態による行動学習装置の構成例を示す概略図である。 図2は、本発明の第1実施形態による行動学習装置におけるスコア取得部の構成例を示す概略図である。 図3は、本発明の第1実施形態による行動学習装置におけるニューラルネットワーク部の構成例を示す概略図である。 図4は、本発明の第1実施形態による行動学習装置における学習セルの構成例を示す概略図である。 図5は、本発明の第1実施形態による行動学習装置における学習方法を示すフローチャートである。 図6は、状況情報生成部が生成する状況情報データの一例を示す図である。 図7は、状況情報生成部が生成する状況情報データ及びその要素値の一例を示す図である。 図8は、本発明の第1実施形態による行動学習装置のハードウェア構成例を示す概略図である。 図9は、本発明の第2実施形態による行動学習装置における学習方法を示すフローチャートである。 図10は、本発明の第3実施形態による行動学習装置の構成例を示す概略図である。 図11は、本発明の第3実施形態による行動学習装置における学習方法を示すフローチャートである。 図12は、本発明の第4実施形態による行動学習装置の構成例を示す概略図である。 図13は、本発明の第4実施形態による行動学習装置におけるノウハウの生成方法を示すフローチャートである。 図14は、本発明の第4実施形態による行動学習装置における表象変換の一例を示す概略図である。 図15は、本発明の第4実施形態による行動学習装置における表象データの集計方法を説明する図である。 図16は、本発明の第4実施形態による行動学習装置における集計データの一例を示す図である。 図17は、同じ事象を示す正のスコアの集計データと負のスコアの集計データの一例である。 図18は、本発明の第4実施形態による行動学習装置における集計データの包含関係の整理方法を示す概略図である。 図19は、本発明の第4実施形態による行動学習装置によりノウハウとして抽出された集計データのリストである。 図20は、本発明の第5実施形態による行動学習装置の構成例を示す概略図である。
[第1実施形態]
本発明の第1実施形態による行動学習装置及び行動学習方法について、図1乃至図8を用いて説明する。
図1は、本実施形態による行動学習装置の構成例を示す概略図である。図2は、本実施形態による行動学習装置におけるスコア取得部の構成例を示す概略図である。図3は、本実施形態による行動学習装置におけるニューラルネットワーク部の構成例を示す概略図である。図4は、本実施形態による行動学習装置における学習セルの構成例を示す概略図である。図5は、本実施形態による行動学習装置における行動学習方法を示すフローチャートである。図6は、状況情報データの一例を示す図である。図7は、状況情報データ及びその要素値の一例を示す図である。図8は、本実施形態による行動学習装置のハードウェア構成例を示す概略図である。
はじめに、本実施形態による行動学習装置の概略構成について、図1乃至図4を用いて説明する。
本実施形態による行動学習装置100は、図1に示すように、行動候補取得部10と、状況情報生成部20と、スコア取得部30と、行動選択部70と、スコア調整部80と、を有する。行動学習装置100は、環境200から受け取った情報に基づき学習を行い、環境に対して実行する行動を決定する。すなわち、行動学習装置100は、環境200とともに行動学習システム400を構成する。
行動候補取得部10は、環境200から受け取った情報及び自己(エージェント)の状況に基づいて、その状況下で取り得る行動(行動候補)を抽出する機能を備える。なお、エージェントとは、学習し、行動を選択する主体である。環境とは、エージェントが働きかける対象である。
状況情報生成部20は、環境200から受け取った情報及び自己の状況をもとに、行動に関わる情報を表す状況情報データを生成する機能を備える。状況情報データに含まれる情報は、行動に関わるものであれば特に限定されるものではなく、例えば、環境情報、時間、回数、自己状態、過去の行動等が挙げられる。
スコア取得部30は、行動候補取得部10が抽出した行動候補の各々について、状況情報生成部20で生成した状況情報データに対するスコアを取得する機能を備える。ここで、スコアとは、行動した結果に対して見込まれる効果を表す指標として用いられる変数である。例えば、行動した結果の評価が高いと見込まれる場合のスコアは大きく、行動した結果の評価が低いと見込まれる場合のスコアは小さい。
行動選択部70は、行動候補取得部10が抽出した行動候補の中から、スコア取得部30で取得したスコアが最も大きい行動候補を選択し、選択した行動を環境200に対して実行する機能を備える。
スコア調整部80は、行動選択部70で選択した行動が環境200に与えた結果に応じて、選択した行動に紐付けられているスコアの値を調整する機能を備える。例えば、行動した結果の評価が高い場合はスコアを上げ、行動した結果の評価が低い場合はスコアを下げる。
本実施形態による行動学習装置100において、スコア取得部30は、例えば図2に示すように、ニューラルネットワーク部40と、判定部50と、学習部60と、を含む。学習部60は、重み修正部62と、学習セル生成部64と、を含む。
ニューラルネットワーク部40は、例えば図3に示すように、入力層と出力層とを含む2層の人工ニューラルネットワークにより構成され得る。入力層は、1つの状況情報データから抽出される要素値の数に対応する数のセル(ニューロン)42を備える。例えば、1つの状況情報データがM個の要素値を含む場合、入力層は、少なくともM個のセル42,42,…,42,…,42を含む。出力層は、少なくとも、取り得る行動の数に対応する数のセル(ニューロン)44を備える。例えば、出力層は、N個のセル44,44,…,44,…,44を含む。出力層を構成するセル44の各々は、取り得る行動のうちのいずれかに紐付けられている。また、各々のセル44には、所定のスコアが設定されている。
入力層のセル42,42,…,42,…,42には、状況情報データのM個の要素値I,I,…,I,…,Iが、それぞれ入力される。セル42,42,…,42,…,42の各々は、入力された要素値Iをセル44,44,…,44,…,44のそれぞれに出力する。
セル42とセル44とを繋ぐ枝(軸索)の各々には、要素値Iに対して所定の重み付けをするための重み付け係数ωが設定されている。例えば、セル42,42,…,42,…,42とセル44とを繋ぐ枝には、例えば図4に示すように、重み付け係数ω1j,ω2j,…,ωij,…,ωMjが設定されている。これによりセル44は、以下の式(1)に示す演算を行い、出力値Oを出力する。
Figure 0006970949
なお、本明細書では、1つのセル44と、そのセル44に要素値I〜Iを入力する枝(入力ノード)と、そのセル44から出力値Oを出力する枝(出力ノード)とを総称して学習セル46と表記することがある。
判定部50は、状況情報データから抽出した複数の要素値と学習セルの出力値との間の相関値を所定の閾値と比較し、当該相関値が閾値以上であるか閾値未満であるかを判定する。相関値の一例は、学習セルの出力値に対する尤度である。なお、判定部50の機能は、学習セル46の各々が備えていてもよい。
学習部60は、判定部50の判定結果に応じてニューラルネットワーク部40の学習を行う機能ブロックである。重み修正部62は、上記相関値が所定の閾値以上である場合に、学習セル46の入力ノードに設定された重み付け係数ωを更新する。また、学習セル生成部64は、上記相関値が所定の閾値未満である場合に、ニューラルネットワーク部40に新たな学習セル46を追加する。
次に、本実施形態による行動学習装置100を用いた行動学習方法について、図5乃至図7を用いて説明する。なお、ここでは理解を容易にするために、カードゲームの「大富豪」におけるプレイヤーの行動を例に挙げて適宜説明を補足するものとする。ただし、本実施形態による行動学習装置100は、環境200の状況に応じて行動を選択する用途に広く適用することができる。
まず、行動候補取得部10は、環境200から受け取った情報及び自己の状況に基づいて、その状況下で取り得る行動(行動候補)を抽出する(ステップS101)。行動候補を抽出する方法は、特に限定されるものではないが、例えば、ルールに基づいたプログラムを用いて抽出を行うことができる。
「大富豪」の場合、環境200から受け取る情報としては、例えば、場に出ている札の種類(例えば、1枚の札か複数枚の札か)や強さ、他のプレイヤーがパスをしているかどうか、などの情報が挙げられる。自己の状況としては、例えば、手札の情報、これまでに出した札の情報、何巡目か、などが挙げられる。行動候補取得部10は、「大富豪」のルールに則って、これら環境200及び自己の状況下において取り得る総ての行動(行動候補)を抽出する。例えば、場に出ている札と同じ種類でより強い札を複数、手札の中に所有している場合には、これら複数の札のうちのいずれかを出す行動の各々が行動候補となる。また、自分の順番をパスすることも、行動候補の一つである。
次いで、行動候補取得部10が抽出した行動候補の各々が、スコア取得部30のニューラルネットワーク部40に含まれる少なくとも1つの学習セル46に紐付けられているかどうかを確認する。学習セル46に紐付けられていない行動候補が存在する場合には、ニューラルネットワーク部40に、当該行動候補に紐付けられた学習セル46を新たに追加する。なお、取り得る行動の総てが既知である場合には、想定される総ての行動の各々に紐付けられた学習セル46を、予めニューラルネットワーク部40に設定しておいてもよい。
なお、学習セル46の各々には、前述の通り、所定のスコアが設定されている。学習セル46を追加する場合には、その学習セル46にスコアの初期値として任意の値を設定する。例えば−100〜+100の数値範囲でスコアを設定する場合、スコアの初期値として例えば0を設定することができる。
次いで、状況情報生成部20は、環境200から受け取った情報及び自己の状況をもとに、行動に関わる情報を写像した状況情報データを生成する(ステップS102)。状況情報データは、特に限定されるものではないが、例えば、環境や自己の状況に基づく情報をビットマップ状のイメージデータとして表すことにより生成することができる。状況情報データの生成は、ステップS101よりも前に或いはステップS101と並行して行ってもよい。
図6は、環境200や自己の状況を示す情報のうち、場の札、回数、手札、過去情報をビットマップイメージとして表した状況情報データの一例を示す図である。図中、「場の札」、「手札」、「過去情報」として示すイメージの横軸に表した「数」は、札の強さを表している。すなわち、「数」が小さいほど弱い札であることを示し、「数」が大きいほど強い札であることを示している。図中、「場の札」、「手札」、「過去情報」として示すイメージの縦軸に表した「ペア」は、札の組枚数を表している。例えば、1種類の数字で構成される役においては、1枚、2枚(ペア)、3枚(スリーカード)、4枚(フォーカード)の順に、「ペア」の値は多くなる。図中、「回数」は、現在のターンが1ゲームの開始から終了までのどの段階にあるかを横軸方向に2次元的に表したものである。なお、図示するプロットにおいて各点の境界をぼかしているのは汎化性能を向上する意図であるが、各点の境界は必ずしもぼかす必要はない。
状況情報の写像について、処理時間の短縮、学習セルの量の削減、行動選択の精度を良くするなどの目的で、情報の一部を切り出しながら段階的に処理を行う階層化、情報の変換、情報の組み合わせなどの処理を行ってもよい。
図7は、図6に示した状況情報データの「手札」の部分を抜き出したものである。この状況情報データに対しては、例えば右側の拡大図に示すように、1つの画素を1つの要素値に対応づけることができる。そして、白の画素に対応する要素値を0、黒の画素に対応する要素値を1と定義することができる。例えば、図7の例では、p番目の画素に対応する要素値Iは1となり、q番目の画素に対応する要素値Iは0となる。1つの状況情報データに対応する要素値が、要素値I〜Iである。
次いで、状況情報生成部20で生成した状況情報データの要素値I〜Iを、ニューラルネットワーク部40に入力する(ステップS103)。ニューラルネットワーク部40に入力された要素値I〜Iは、セル42〜42を介して、行動候補取得部10により抽出された行動候補に紐付けられた学習セル46の各々に入力される。要素値I〜Iが入力された学習セル46の各々は、式(1)に基づいて出力値Oを出力する。こうして、要素値I〜Iに対する学習セル46からの出力値Oを取得する(ステップS104)。
学習セル46が、各入力ノードに重み付け係数ωが設定されていない状態、すなわち一度も学習を行っていない初期状態である場合には、入力された要素値I〜Iの値を、当該学習セル46の入力ノードの重み付け係数ωの初期値として設定する。例えば、図7の例では、学習セル46のp番目の画素に対応する入力ノードの重み付け係数ωpjは1となり、学習セル46のq番目の画素に対応する入力ノードの重み付け係数ωqjは0となる。この場合の出力値Oは、初期値として設定した重み付け係数ωを用いて算出される。
次いで、判定部50において、要素値I〜Iと学習セル46からの出力値Oとの間の相関値(ここでは、学習セルの出力値に関する尤度Pとする)を取得する(ステップS105)。尤度Pの算出方法は、特に限定されるものではない。例えば、学習セル46の尤度Pは、以下の式(2)に基づいて算出することができる。
Figure 0006970949
式(2)は、尤度Pが、学習セル46の複数の入力ノードの重み付け係数ωijの累積値に対する学習セル46の出力値Oの比率で表されることを示している。或いは、尤度Pが、複数の入力ノードの重み付け係数ωijに基づく学習セル46の出力の最大値に対する、複数の要素値を入力したときの学習セル46の出力値の比率で表されることを示している。
次いで、判定部50において、取得した尤度Pの値と所定の閾値とを比較し、尤度Pの値が閾値以上であるか否かを判定する(ステップS106)。
行動候補の各々において、当該行動候補に紐付けられた学習セル46のうち、尤度Pの値が閾値以上である学習セル46が1つ以上存在した場合(ステップS106の「Yes」)には、ステップS107へと移行する。ステップS107では、当該行動候補に紐付けられた学習セル46のうち尤度Pの値が最も大きい学習セル46の入力ノードの重み付け係数ωを更新する。学習セル46の入力ノードの重み付け係数ωijは、例えば以下の式(3)に基づいて修正することができる。
ωij=(i番目の画素における黒の出現回数)/(学習回数) …(3)
式(3)は、学習セル46の複数の入力ノードの各々の重み付け係数ωが、対応する入力ノードから入力された要素値Iの累積平均値により決定されることを示している。このようにして、尤度Pの値が所定の閾値以上である状況情報データの情報を各入力ノードの重み付け係数ωに累積していくことにより、黒(1)の出現回数の多い画素に対応する入力ノードほど、重み付け係数ωの値が大きくなる。このような学習セル46の学習アルゴリズムは、人の脳の学習原理として知られるヘブ則に近似したものである。
一方、行動候補の各々において、当該行動候補に紐付けられた学習セル46の中に尤度Pの値が閾値以上である学習セル46が1つも存在しない場合(ステップS106の「No」)には、ステップS108へと移行する。ステップS108では、当該行動候補に紐付けられた新たな学習セル46を生成する。新たに生成した学習セル46の各入力ノードには、学習セル46が初期状態であった場合と同様、要素値I〜Iの値を重み付け係数ωの初期値として設定する。また、追加する学習セル46には、スコアの初期値として任意の値を設定する。このようにして、同じ行動候補に紐付けられた学習セル46を追加することにより、同じ行動候補に属する様々な態様の状況情報データを学習することが可能となり、より適切な行動を選択することが可能となる。
なお、学習セル46の追加は、尤度Pの値が閾値以上である学習セル46がいずれかの行動候補において1つも存在しない場合に、常に行う必要はない。例えば、尤度Pの値が閾値以上である学習セル46が総ての行動候補において1つも存在しない場合にのみ、学習セル46を追加するようにしてもよい。この場合、追加する学習セル46は、複数の行動候補の中からランダムに選択したいずれかの行動候補に紐付けることができる。
尤度Pの判定に用いる閾値は、その値が大きいほど、状況情報データに対する適合性は高くなるが、学習セル46の数も多くなり学習に時間を要する。逆に、閾値は、その値が小さいほど、状況情報データに対する適合性は低くなるが、学習セル46の数は少なくなり学習に要する時間は短くなる。閾値の設定値は、状況情報データの種類や形態等に応じて、所望の適合率や学習時間が得られるように、適宜設定することが望ましい。
次いで、行動候補の各々において、当該行動候補に紐付けられた学習セル46の中から、状況情報データに対する相関(尤度P)が最も高い学習セル46を抽出する(ステップS109)。
次いで、ステップS109において抽出した学習セル46の中から、最もスコアの高い学習セル46を抽出する(ステップS110)。
次いで、行動選択部70において、最もスコアの高い学習セル46に紐付けられた行動候補を選択し、環境200に対して実行する(ステップS111)。これにより、行動した結果の評価が最も高いと見込まれる行動を、環境200に対して実行することができる。
次いで、スコア調整部80により、行動選択部70により選択された行動を環境200に対して実行した結果の評価に基づき、最もスコアの高い学習セル46として抽出された学習セル46のスコアを調整する(ステップS112)。例えば、行動した結果の評価が高い場合はスコアを上げ、行動した結果の評価が低い場合ステップS112はスコアを下げる。このようにして学習セル46のスコアを調整することで、環境200に対して実行した結果の評価が高いと見込まれる学習セル46ほどスコアが高くなるように、ニューラルネットワーク部40は学習を進めることができる。
「大富豪」の場合、1ゲーム中における1回の行動によってその結果を評価することは困難であるため、1ゲームが終了したときの順位に基づいて学習セル46のスコアを調整することができる。例えば、1位で上がった場合には、そのゲーム中の各ターンにおいて最もスコアの高い学習セル46として抽出された学習セル46のスコアをそれぞれ10増やす。2位で上がった場合には、そのゲーム中の各ターンにおいて最もスコアの高い学習セル46として抽出された学習セル46のスコアをそれぞれ5増やす。3位で上がった場合には、スコアの調整は行わない。4位で上がった場合には、そのゲーム中の各ターンにおいて最もスコアの高い学習セル46として抽出された学習セル46のスコアをそれぞれ5減らす。5位で上がった場合には、そのゲーム中の各ターンにおいて最もスコアの高い学習セル46として抽出された学習セル46のスコアをそれぞれ10減らす。
このように構成することで、状況情報データに基づいてニューラルネットワーク部40を学習することができる。また、学習の進んだニューラルネットワーク部40に状況情報データを入力することで、複数の行動候補の中から環境200に対して実行した結果の評価が高いと見込まれる行動を選択することができる。
本実施形態による行動学習装置100におけるニューラルネットワーク部40の学習方法は、深層学習などにおいて用いられている誤差逆伝播法(バック・プロパゲーション)を適用するものではなく、1パスでの学習が可能である。このため、ニューラルネットワーク部40の学習処理を簡略化することができる。また、各々の学習セル46は独立しているため、データの追加、削除、更新が容易である。また、どのような情報であってもマップ化して処理することが可能であり、汎用性が高い。また、本実施形態による行動学習装置100は、いわゆるダイナミック学習を行うことが可能であり、状況情報データを用いた追加の学習処理を容易に行うことができる。
次に、本実施形態による行動学習装置100のハードウェア構成例について、図8を用いて説明する。図8は、本実施形態による行動学習装置のハードウェア構成例を示す概略図である。
行動学習装置100は、例えば図8に示すように、一般的な情報処理装置と同様のハードウェア構成によって実現することが可能である。例えば、行動学習装置100は、CPU(Central Processing Unit)300、主記憶部302、通信部304、入出力インターフェース部306を備える。
CPU300は、行動学習装置100の全体的な制御や演算処理を司る制御・演算装置である。主記憶部302は、データの作業領域やデータの一時退避領域に用いられる記憶部であり、RAM(Random Access Memory)等のメモリにより構成される。通信部304は、ネットワークを介してデータの送受信を行うためのインターフェースである。入出力インターフェース部306は、外部の出力装置310、入力装置312、記憶装置314等と接続してデータの送受信を行うためのインターフェースである。CPU300、主記憶部302、通信部304及び入出力インターフェース部306は、システムバス308によって相互に接続されている。記憶装置314は、例えばROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で構成することができる。
主記憶部302は、複数の学習セル46を含むニューラルネットワーク部40を構築し演算を実行するための作業領域として用いることができる。CPUは、主記憶部302に構築したニューラルネットワーク部40における演算処理を制御する制御部として機能する。記憶装置314には、学習済みの学習セル46に関する情報を含む学習セル情報を保存することができる。また、記憶装置314に記憶された学習セル情報を読み出し、主記憶部302においてニューラルネットワーク部40を構築するように構成することで、様々な状況情報データに対する学習環境を構築することができる。CPU300は、主記憶部302に構築したニューラルネットワーク部40の複数の学習セル46における演算処理を並列して実行するように構成されていることが望ましい。
通信部304は、イーサネット(登録商標)、Wi−Fi(登録商標)等の規格に基づく通信インターフェースであり、他の装置との通信を行うためのモジュールである。学習セル情報は、通信部304を介して他の装置から受信するようにしてもよい。例えば、頻繁に使用する学習セル情報は記憶装置314に記憶しておき、使用頻度の低い学習セル情報は他の装置から読み込むように構成することができる。
入力装置312は、キーボード、マウス、タッチパネル等であって、ユーザが行動学習装置100に所定の情報を入力するために用いられる。出力装置310は、例えば液晶表示装置等のディスプレイを含む。学習結果の通知は、出力装置310を介して行うことができる。
状況情報データは、通信部304を介して他の装置から読み込むように構成することもできる。或いは、入力装置312を、状況情報データを入力するための手段として用いることもできる。
本実施形態による行動学習装置100の各部の機能は、プログラムを組み込んだLSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、ハードウェア的に実現することができる。或いは、その機能を提供するプログラムを、記憶装置314に格納し、そのプログラムを主記憶部302にロードしてCPU300で実行することにより、ソフトウェア的に実現することも可能である。
このように、本実施形態によれば、環境及び自己の状況に応じた行動の学習及び選択をより簡単なアルゴリズムで実現することができる。
[第2実施形態]
本発明の第2実施形態による行動学習装置及び行動学習方法について、図9を用いて説明する。第1実施形態による行動学習装置と同様の構成要素には同一の符号を付し、説明を省略し或いは簡潔にする。
本実施形態による行動学習装置の基本的な構成は、図1に示す第1実施形態による行動学習装置と同様である。本実施形態による行動学習装置が第1実施形態による行動学習装置と異なる点は、スコア取得部30がデータベースにより構成されていることである。以下、第1実施形態による行動学習装置と異なる点を中心に、本実施形態による行動学習装置を、図1を参照して説明する。
状況情報生成部20は、環境200から受け取った情報及び自己の状況をもとに、データベースを検索するためのキーとなる状況情報データを生成する機能を備える。状況情報データは、第1実施形態の場合のように写像する必要はなく、環境200から受け取った情報や自己の状況をそのまま適用可能である。例えば、「大富豪」の例では、前述の、場の札、回数、手札、過去情報等を、検索を実行するためのキーとして利用することができる。
スコア取得部30は、状況情報データをキーとして、特定の行動に対するスコアを与えるデータベースを備える。スコア取得部30のデータベースは、状況情報データのあらゆる組み合わせについて、想定される総ての行動に対するスコアを保持している。状況情報生成部20で生成した状況情報データをキーとしてスコア取得部30のデータベースを検索することにより、行動候補取得部10が抽出した行動候補の各々に対するスコアを取得することができる。
スコア調整部80は、行動選択部70で選択した行動が環境200に与えた結果に応じて、スコア取得部30のデータベースに登録されているスコアの値を調整する機能を備える。このように構成することで、行動した結果に基づいてスコア取得部30のデータベースを学習することができる。
次に、本実施形態による行動学習装置を用いた行動学習方法について、図9を用いて説明する。
まず、行動候補取得部10は、環境200から受け取った情報及び自己の状況に基づいて、その状況下で取り得る行動(行動候補)を抽出する(ステップS201)。行動候補を抽出する方法は、特に限定されるものではないが、例えば、ルールベースに登録されたルールに基づいて行うことができる。
次いで、状況情報生成部20は、環境200から受け取った情報及び自己の状況をもとに、行動に関わる情報を表す状況情報データを生成する(ステップS202)。状況情報データの生成は、ステップS201よりも前に或いはステップS201と並行して行ってもよい。
次いで、状況情報生成部20で生成した状況情報データを、スコア取得部30に入力する(ステップS203)。スコア取得部30は、入力された状況情報データをキーとしてデータベースを検索し、行動候補取得部10が抽出した行動候補の各々に対するスコアを取得する(ステップS204)。
次いで、行動選択部70において、行動候補取得部10が抽出した行動候補の中から、スコア取得部30が取得したスコアの最も高い行動候補を抽出し(ステップS205)、環境200に対して実行する(ステップS206)。これにより、行動した結果の評価が最も高いと見込まれる行動を、環境200に対して実行することができる。
次いで、スコア調整部80により、行動選択部70により選択された行動を環境200に対して実行した結果の評価に基づき、スコア取得部30のデータベースに登録されているスコアの値を調整する(ステップS207)。例えば、行動した結果の評価が高い場合はスコアを上げ、行動した結果の評価が低い場合はスコアを下げる。このようにしてデータベースのスコアを調整することで、行動した結果に基づいてスコア取得部30のデータベースを学習することができる。
このように、本実施形態によれば、スコア取得部30をデータベースで構成する場合においても、第1実施形態の場合と同様、環境及び自己の状況に応じた行動の学習及び選択をより簡単なアルゴリズムで実現することができる。
[第3実施形態]
本発明の第3実施形態による行動学習装置及び行動学習方法について、図10及び図11を用いて説明する。第1及び第2実施形態による行動学習装置と同様の構成要素には同一の符号を付し、説明を省略し或いは簡潔にする。図10は、本実施形態による行動学習装置の構成例を示す概略図である。図11は、本実施形態による行動学習装置における行動学習方法を示すフローチャートである。
本実施形態による行動学習装置100は、図10に示すように、行動提案部90を更に有するほかは第1又は第2実施形態による行動学習装置と同様である。
行動提案部90は、環境200から受け取った情報及び自己の状況が特定の条件を満たす場合に、行動選択部70に、当該特定の条件に応じた特定の行動を提案する機能を備える。具体的には、行動提案部90は、特定の条件のときに取るべき行動を記録したデータベースを備えている。行動提案部90は、環境200から受け取った情報及び自己の状況をキーとしてデータベースを検索する。環境200から受け取った情報及び自己の状況がデータベースに登録されている特定の条件に合致した場合、行動提案部90は、当該特定の条件に対応する行動をデータベースから読み出し、行動選択部70に提案する。行動選択部70は、行動提案部90から行動の提案があった場合には、行動提案部90が提案した行動を優先して実行する機能を備える。
行動提案部90が提案する行動としては、いわゆるノウハウに属する行動が挙げられる。例えば、「大富豪」の例においては、1)候補の中で札の枚数が最大の手を出す、2)序盤では強い手を出さない、3)手札に強い札がないときは序盤から8切りをする、4)手札が弱いときは革命を行う、などが挙げられる。なお、8切りとは、出した札に8が含まれている場合に、場の札を流すことができるというルールである。
人の意識を説明する仮説の一つとして、受動意識仮説と呼ばれるものがある。受動意識仮説とは、無意識の方が先にあり、意識はその結果を後で受け取っているにすぎない、との考えに基づくものである。この受動意識仮説を元にした認知アーキテクチャを考慮すると、「無意識」に相当するものとして「状況学習」を、「意識」に相当するものとして「エピソード生成」を想定することが可能である。
ここで、状況学習とは、環境やこれまでの行動の結果等に基づき、報酬を最大限にするように行動を調整、学習することである。このような動作は、第1実施形態において説明した学習アルゴリズムや深層強化学習における学習アルゴリズムに相当するものと考えられる。エピソード生成とは、収集した情報、思考、知識から仮説・戦略を立て、その仮説・戦略を検証し、必要に応じて状況学習に再考を促すことである。エピソード生成の一例としては、ノウハウとして蓄積された知識に基づいて行動を実行することが挙げられる。すなわち、本実施形態による行動学習装置において行動提案部90が行動選択部70に行動の提案を行う動作は、エピソード生成に相当するものと考えることができる。
次に、本実施形態による行動学習装置を用いた行動学習方法について、図11を用いて説明する。
まず、状況情報生成部20は、環境200から受け取った情報及び自己の状況をもとに、行動に関わる情報を表す状況情報データを生成する(ステップS301)。
次いで、行動提案部90は、状況情報生成部20により生成された状況情報データをキーとしてデータベースを検索し、環境200及び自己の状況が特定の条件を満たしているかどうかを判定する(ステップS302)。「大富豪」の例では特定の条件として、出せる札の中に複数枚の札で構成される役を有していること、序盤であること、手札に強い札はないが出せる札の中に8の札を有していること、手札は弱いが出せる札の中にフォーカードを有していること、等が挙げられる。
判定の結果、環境200及び自己の状況が特定の条件を満たしていない場合(ステップS302における「NO」)には、スコア取得部30の構成に応じて、図5のステップS101或いは図9のステップS201へと移行する。
判定の結果、環境200及び自己の状況が特定の条件を満たしている場合(ステップS302における「YES」)には、ステップS303へと移行する。ステップS303において、行動提案部90は、当該特定の条件に紐付けられた行動を行動選択部70に提案する。
次いで、行動選択部70は、行動提案部90により提案された行動を、環境200に対して実行する(ステップS304)。「大富豪」の例では特定の条件に紐付けられた行動として、候補の中で札の枚数が最大の手を出す、強い手は出さない、8切りをする、革命を行う、などが挙げられる。
このように構成することで、過去の記憶や経験に応じたより適切な行動を選択することができ、環境200に対して実行した行動に、より評価の高い結果を期待することができる。
次に、本発明の効果を検証するために既成の「大富豪」のゲームプログラムを利用して学習及び対戦を行った結果について説明する。
本発明の効果の検証は、以下の手順により行った。まず、本発明の行動学習装置の学習アルゴリズムを備えた5つのクライアントを用意し、これら5つのクライアントを対戦させることにより学習を行った。次いで、ゲームプログラム上のクライアント4つと、学習を行ったクライアント1つとの対戦を行い、順位付けを行った。具体的には、100回の対戦を1セットとして、1セット毎に累計の順位付けを行った。これを10セット行い、10セットにおける順位の平均を最終的な順位とした。順位付けの対戦は、0回、100回、1000回、10000回、15000回の学習を行った後にそれぞれ実行した。
表1及び表2は、「大富豪」のゲームプログラムを利用して本発明の効果を検証した結果を示す表である。表1が第1実施形態による行動学習装置における検証結果であり、表2が本実施形態による行動学習装置における検証結果である。行動提案部90が提案する行動としては、ノウハウの例として挙げた前述の4つの条件を設定した。表1及び表2には参考として、学習カラム数と学習出札数とを示している。学習出札数は、取り得る行動の数である。
Figure 0006970949
Figure 0006970949
表1及び表2に示すように、学習時の対戦回数を増やすことにより、いずれの実施形態の態様においても平均順位を改善できることが判る。特に、本実施形態の態様によれば、平均順位を大幅に改善できることが検証できた。
このように、本実施形態によれば、環境及び自己の状況に応じた行動の学習及び選択をより簡単なアルゴリズムで実現することができる。また、特定の条件のときに当該特定の条件に応じた所定の行動を提案するように構成することで、より適切な行動を選択することができる。
[第4実施形態]
本発明の第4実施形態による行動学習装置について、図12乃至図19を用いて説明する。第1乃至第3実施形態による行動学習装置と同様の構成要素には同一の符号を付し、説明を省略し或いは簡潔にする。
図12は、本実施形態による行動学習装置の構成例を示す概略図である。図13は、本実施形態による行動学習装置におけるノウハウの生成方法を示すフローチャートである。図14は、本実施形態による行動学習装置における表象変換の一例を示す概略図である。図15は、本実施形態による行動学習装置における表象データの集計方法を説明する図である。図16は、本実施形態による行動学習装置における集計データの一例を示す図である。図17は、同じ事象を示す正のスコアの集計データと負のスコアの集計データの一例である。図18は、本実施形態による行動学習装置における集計データの包含関係の整理方法を示す概略図である。図19は、本実施形態による行動学習装置によりノウハウとして抽出された集計データのリストである。
本実施形態による行動学習装置100は、図12に示すように、ノウハウ生成部92を更に有するほかは、第3実施形態による行動学習装置と同様である。
ノウハウ生成部92は、スコア取得部30に対して行われた状況学習によって蓄積された学習データに基づいて、特定の条件に対して有利に働く行動(ノウハウ)のリストを生成する機能を備える。ノウハウ生成部92おいて生成されたリストは、行動提案部90のデータベースに格納される。行動提案部90は、環境200から受け取った情報及び自己の状況がデータベースに登録されている特定の条件に合致した場合には、当該特定の条件に対応する行動をデータベースから読み出し、行動選択部70に提案する。行動選択部70は、行動提案部90から行動の提案があった場合には、行動提案部90が提案した行動を優先して実行する。行動提案部90及び行動選択部70の動作は、第3実施形態の場合と同様である。
このように、本実施形態による行動学習装置は、スコア取得部30に蓄積された情報、思考、知識(学習データ)に基づいて、評価が高いと見込まれる行動を与える規則を発見し、その規則に基づいて行動提案部90が備えるデータベースを構築するものである。この動作は、前述の「エピソード生成」において、収集した情報からノウハウを生成することに相当する。
次に、本実施形態による行動学習装置におけるノウハウ生成方法について、図13乃至図19を用いて説明する。
まず、ノウハウ生成部92は、状況学習によってスコア取得部30に蓄積された学習データを、表象データに変換する(ステップS401)。
学習データとは、第1実施形態による行動学習装置においては、学習の結果、ニューラルネットワーク部40が有する学習セル46の各々に紐付けられた情報である。学習セル46の各々には、特定の条件下で特定の行動を取ったときのスコアが設定されている。学習データの各々は、例えば図14に示すように、特定の条件、特定の行動、スコアの各々を格納したデータとして構成することができる。また、第2実施形態による行動学習装置においては、例えば、特定の行動と、その特定の行動を検索するためのキーとなる状況情報データと、その特定の行動に対するスコアと、を組み合わせたものが1つの学習データとなる。
ここで言う表象変換とは、学習データを、表象変換情報をもとに「ことば」に変換することである。表象変換情報は、人が学習データの状態、挙動に対して感覚的に持つイメージをもとに作成する。表象変換に用いる変換テーブルは、データや行動の種類に応じて適宜設定する。
「大富豪」の場合、図14に示すように、例えば、「When」、「出札」、「8切」、「場札」、「持札」、「前回出札」の6つのパラメータを表象変換情報として選択することができる。例えば、「When」は、1ゲームの中で、「序盤」であるのか、「中盤」であるのか、「終盤」であるのか、を表すパラメータとして設定することができる。「出札」は、自分の出す札の強さが、「弱」であるのか、「普通」であるのか、「強」であるのか、「最強」であるのか、を表すパラメータとして設定することができる。「8切」は、8切りの有無、「Yes」,「No」を表すパラメータとして設定することができる。「場札」は、場に出ている札の強さが、「弱」であるのか、「普通」であるのか、「強」であるのか、「最強」であるのか、「空」であるのか、を表すパラメータとして設定することができる。「持札」は、手持ちの札の強さが、「弱」であるのか、「普通」であるのか、「強」であるのか、「最強」であるのか、を表すパラメータとして設定することができる。「前回出札」は、前回自分が出した札の強さが、「弱」であるのか、「普通」であるのか、「強」であるのか、「最強」であるのか、を表すパラメータとして設定することができる。
表象変換では、特定の条件及び特定の行動を表すデータを、表象変換情報として選択したパラメータとその評価値に置き換える。例えば、図14の例では、ある学習セル46の学習データを、“When:中盤;出札:弱;8切:No;場札:弱;持札:弱;前回出札:弱;…”のように変換している。また、別の学習セル46の学習データを、“When:中盤;出札:弱;8切:No;場札:弱;持札:弱;前回出札:普通;…”のように変換している。
次いで、ノウハウ生成部92は、ステップS401において生成した表象データをもとに、共起性の抽出を行う(ステップS402)。
共起性の抽出では、頻繁に現れる(共起性のある)有利な事象を抽出する。抽出の方法は、表象データを見て人が判断する考えを参考にしてもよい。ここでは、各要素の組み合わせを作り、組み合わせ毎にスコアを集計(合算)し、集計後のスコアが高い組み合わせを見つけることで、共起性を抽出するものとする。
図15は、上述の「大富豪」の例における表象データを集計する例を示している。この例では、「When」、「出札」、「8切」、「場札」、「持札」、「前回出札」の6つのパラメータの中から選択した2つ以上のパラメータの組み合わせについて、同じ事象を示すデータをまとめている。例えば、[When:序盤;出札:強]の事象を示す表象データとして、上から3番目と6番目と7番目の表象データが集計される。また、[When:序盤;出札:弱;8切:No]の事象を示す表象データとして、上から1番目と4番目の表象データが集計される。図中、「*」印は、ワイルドカードを表す。
同じ事象を示す表象データのスコアの集計は、正のスコアを示す表象データの群と、負のスコアを示す表象データの群とに分け、それぞれの群において表象データのスコアを積算することにより行う。正のスコアを示す表象データと負のスコアを示す表象データとを分けるのは、これらを単純に積算すると両者のスコアが相殺し合って正確な状況が把握できなくなるからである。
図16は、[出札:弱;持札:弱]の事象を示す表象データを集計した集計データの例を示している。上段が正のスコアを示す表象データを集計した集計データであり、下段が負のスコアを示す表象データを集計した集計データである。
次いで、ノウハウ生成部92は、ステップS402において生成した集計データの各々について、価値評価を行う(ステップS403)。
集計データの価値評価は、例えば、同じ事象を示す正のスコアの集計データと負のスコアの集計データとの関係、スコアの絶対値等に応じて行うことができる。
ある共起性の事象における正のスコアと負のスコアとの間に顕著な差異のないものは、事象としての示唆がなく、共起性ルールとしては不適切であると考えられる。そこで、このような集計データは、ノウハウの候補から除外する。
正のスコアと負のスコアとの間に顕著な差異があるかないかの基準は、特に限定されるものではなく、適宜設定することができる。例えば、正のスコアの絶対値が負のスコアの絶対値の5倍以上の場合には、正のスコアの集計データを、ノウハウの候補としての価値が高いものであると判定することができる。逆に、正のスコアの絶対値が負のスコアの絶対値の1/5倍以下の場合には、負のスコアの集計データを、ノウハウの候補としての価値が高いものであると判定することができる。
また、正のスコアと負のスコアとの間に顕著な差異が認められた場合でも、スコアの絶対値が相対的に小さいものは、事象としての示唆が低いものと考えられる。したがって、そのような集計データは、ノウハウの候補から除外することが望ましい。例えば、正のスコアの絶対値及び負のスコアの絶対値のうち大きい方の値が10000以上の場合にのみ、その集計データを、ノウハウの候補としての価値が高いものであると判定することができる。
図17は、同じ事象を示す正のスコアの集計データと負のスコアの集計データの一例である。この例では、正のスコアの値が24002であり、負のスコアの値が−4249であるため、正のスコアの絶対値は負のスコアの絶対値の5倍以上である。また、正のスコアの絶対値は10000以上である。したがって、上記基準に基づけば、この集計データの組を、ノウハウの候補としての価値が高いものであると判定することができる。
なお、集計データに紐付けられた正のスコアは、行動の結果の評価が高いことを表すものである。すなわち、正のスコアの集計データは、その事象のもとで行う行動として好ましいことを示すものである。逆に、集計データに紐付けられた負のスコアは、行動の結果の評価が低いことを表すものである。すなわち、負のスコアの集計データは、その事象のもとで行う行動として不適当であることを示すものである。
次いで、ノウハウ生成部92は、ステップS403において価値評価を行った集計データについて、包含関係の整理を行う(ステップS404)。
共起性のある事象には包含関係を有するものが存在する。包含関係を有する多数の集計データが存在する状態は冗長であり、集計データも多量になるため、包含される側の集計データを除去し、包含する側の集計データのみを残す処理を行う。
例えば、図18の上段に示す[出札:弱;持札:弱]の事象を示す集計データは、下段に示す[出札:弱;持札:弱;前回出札:弱]の事象を示す集計データと、[出札:弱;持札:弱;前回出札:普通]の事象を示す集計データと、を包含している。そこで、このような場合には、ステップS404において、下段に示す2つの集計データを除去する処理を行う。
次いで、ノウハウ生成部92は、ステップS404において整理した集計データの中から、価値の高い集計データを抽出する(ステップS405)。抽出された集計データは、ノウハウのリストとして行動提案部90のデータベースに格納する。
図19は、既成の「大富豪」のゲームプログラムを用いて15000回の対戦を行うことにより学習を行ったスコア取得部30から抽出した学習データをもとに、上述の手順によりノウハウとして抽出された集計データのリストである。なお、図19における「解釈」の欄は、上述の手順で抽出したノウハウ(共起性ノウハウ)を人が見て解釈した表象データの例である。
次に、本実施形態の効果を検証するために既成の「大富豪」のゲームプログラムを利用して学習及び対戦を行った結果について説明する。
本発明の効果の検証は、以下の手順により行った。まず、本発明の行動学習装置の学習アルゴリズムを備えた5つのクライアントを用意し、これら5つのクライアントを対戦させることにより学習を行った。次いで、ゲームプログラム上のクライアント4つと、学習を行ったクライアント1つとの対戦を行い、順位付けを行った。具体的には、100回の対戦を1セットとして、1セット毎に累計の順位付けを行った。これを10セット行い、10セットにおける順位の平均を最終的な順位とした。順位付けの対戦は、0回、15000回の学習を行った後にそれぞれ実行した。また、行動提案部90が提案するノウハウとしては、共起性ノウハウ(本実施形態)と、特化ノウハウ(第3実施形態)と、特化ノウハウ+共起性ノウハウと、について検証を行った。
表3は、「大富豪」のゲームプログラムを利用して本発明の効果を検証した結果を示す表である。
Figure 0006970949
表3に示すように、本実施形態の共起性ノウハウを適用することにより、ノウハウを適用しない場合よりも平均順位を向上できることが検証できた。特に、本実施形態の共起性ノウハウを第3実施形態で説明した特化ノウハウと併用することで、平均順位を大幅に改善できることが検証できた。
このように、本実施形態によれば、環境及び自己の状況に応じた行動の学習及び選択をより簡単なアルゴリズムで実現することができる。また、特定の条件のときに当該特定の条件に応じた所定の行動を提案するように構成することで、より適切な行動を選択することができる。
なお、本実施形態では、行動学習装置100がノウハウ生成部92を有する構成として説明したが、ノウハウ生成部92は行動学習装置100とは別の装置に構成することも可能である。例えば、スコア取得部30から学習データを外部装置に読み出し、外部装置に構成されたノウハウ生成部92を用いてノウハウのリストを生成し、生成したリストを行動提案部90のデータベースに読み込むように構成することができる。
[第5実施形態]
本発明の第5実施形態による行動学習装置について、図20を用いて説明する。第1乃至第4実施形態による行動学習装置と同様の構成要素には同一の符号を付し、説明を省略し或いは簡潔にする。図20は、本実施形態による行動学習装置の構成例を示す概略図である。
本実施形態による行動学習装置100は、図20に示すように、行動候補取得部10と、スコア取得部30と、行動選択部70と、スコア調整部80と、を有している。
行動候補取得部10は、環境及び自己の状況を表す状況情報データに基づいて、取り得る複数の行動候補を抽出する。スコア取得部30は、複数の行動候補の各々について、行動した結果に対して見込まれる効果を表す指標であるスコアを取得する。行動選択部70は、複数の行動候補の中から、スコアが最も大きい行動候補を選択する。スコア調整部80は、選択した行動候補を環境200に対して実行した結果に基づいて、選択した行動候補に紐付けられているスコアの値を調整する。
このように構成することで、環境及び自己の状況に応じた行動の学習及び選択をより簡単なアルゴリズムで実現しうる行動学習装置を実現することができる。
[変形実施形態]
本発明は、上記実施形態に限らず種々の変形が可能である。
例えば、いずれかの実施形態の一部の構成を他の実施形態に追加した例や、他の実施形態の一部の構成と置換した例も、本発明の実施形態である。
また、上記実施形態では、本発明の適用例としてカードゲームの「大富豪」におけるプレイヤーの行動を例に挙げて説明したが、本発明は環境及び自己の状況に基づいて行動する場合における行動の学習及び選択に広く適用することができる。
また、上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
該記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS上で動作して処理を実行するものも各実施形態の範疇に含まれる。
上記実施形態は、いずれも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならない。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
環境及び自己の状況を表す状況情報データに基づいて、取り得る複数の行動候補を抽出する行動候補取得部と、
前記複数の行動候補の各々について、行動した結果に対して見込まれる効果を表す指標であるスコアを取得するスコア取得部と、
前記複数の行動候補の中から、前記スコアが最も大きい行動候補を選択する行動選択部と、
選択した前記行動候補を前記環境に対して実行した結果に基づいて、選択した前記行動候補に紐付けられている前記スコアの値を調整するスコア調整部と
を有することを特徴とする行動学習装置。
(付記2)
前記スコア取得部は、前記状況情報データに基づく複数の要素値の各々に所定の重み付けをする複数の入力ノードと、重み付けをした前記複数の要素値を加算して出力する出力ノードと、を各々が含む複数の学習セルを有するニューラルネットワーク部を有し、
前記複数の学習セルの各々は、所定のスコアを有し、前記複数の行動候補のうちのいずれかに紐付けられており、
前記スコア取得部は、前記複数の行動候補の各々に紐付けられた前記学習セルのうち、前記複数の要素値と前記学習セルの出力値との間の相関値が最も大きい前記学習セルの前記スコアを、対応する前記行動候補のスコアに設定し、
前記行動選択部は、前記複数の行動候補のうち、前記スコアが最も大きい前記行動候補を選択して前記環境に対して実行し、
前記スコア調整部は、選択した前記行動候補を実行した結果に基づいて、選択した前記行動候補に紐付けられている前記学習セルの前記スコアを調整する
ことを特徴とする付記1記載の行動学習装置。
(付記3)
前記スコア取得部は、前記ニューラルネットワーク部の学習を行う学習部を更に有し、
前記学習部は、前記学習セルの出力値に応じて、前記学習セルの前記複数の入力ノードの重み付け係数を更新し、又は、前記ニューラルネットワーク部に新たな学習セルを追加する
ことを特徴とする付記2記載の行動学習装置。
(付記4)
前記学習部は、前記複数の要素値と前記学習セルの出力値との間の相関値が所定の閾値未満の場合に、前記新たな学習セルを追加する
ことを特徴とする付記3記載の行動学習装置。
(付記5)
前記学習部は、前記複数の要素値の値と前記学習セルの出力値との間の相関値が所定の閾値以上の場合に、前記学習セルの前記複数の入力ノードの前記重み付け係数を更新する
ことを特徴とする付記3記載の行動学習装置。
(付記6)
前記相関値は、前記学習セルの前記出力値に関する尤度である
ことを特徴とする付記2乃至5のいずれか1項に記載の行動学習装置。
(付記7)
前記尤度は、前記複数の入力ノードの各々に設定されている重み付け係数に応じた前記学習セルの出力の最大値に対する前記複数の要素値を入力したときの前記学習セルの前記出力値の比率である
ことを特徴とする付記6記載の行動学習装置。
(付記8)
前記環境及び前記自己の状況に基づき、行動に関わる情報を写像した前記状況情報データを生成する状況情報生成部を更に有する
ことを特徴とする付記2乃至7のいずれか1項に記載の行動学習装置。
(付記9)
前記スコア取得部は、前記状況情報データをキーとして前記複数の行動候補の各々に対する前記スコアを与えるデータベースを有する
ことを特徴とする付記1記載の行動学習装置。
(付記10)
前記行動選択部は、前記環境及び前記自己の状況が特定の条件を満たす場合に、前記特定の条件に応じた所定の行動を優先して実行する
ことを特徴とする付記1乃至9のいずれか1項に記載の行動学習装置。
(付記11)
前記スコア取得部の学習データに基づいてノウハウのリストを生成するノウハウ生成部を更に有し、
前記行動選択部は、前記ノウハウのリストの中から前記特定の条件に応じた前記所定の行動を選択する
ことを特徴とする付記10記載の行動学習装置。
(付記12)
前記ノウハウ生成部は、前記学習データに基づく表象データの共起性を利用して集計データを生成し、前記集計データの中から、前記集計データのスコアに基づいて前記ノウハウを抽出する
ことを特徴とする付記11記載の行動学習装置。
(付記13)
環境及び自己の状況を表す状況情報データに基づいて、取り得る複数の行動候補を抽出するステップと、
前記複数の行動候補の各々について、行動した結果に対して見込まれる効果を表す指標であるスコアを取得するステップと、
前記複数の行動候補の中から、前記スコアが最も大きい行動候補を選択するステップと、
選択した前記行動候補を前記環境に対して実行した結果に基づいて、選択した前記行動候補に紐付けられている前記スコアの値を調整するステップと
を有することを特徴とする行動学習方法。
(付記14)
前記取得するステップでは、前記状況情報データに基づく複数の要素値の各々に所定の重み付けをする複数の入力ノードと、重み付けをした前記複数の要素値を加算して出力する出力ノードと、を各々が含む複数の学習セルを有し、前記複数の学習セルの各々が、所定のスコアを有し、前記複数の行動候補のうちのいずれかに紐付けられているニューラルネットワーク部において、前記複数の行動候補の各々に紐付けられた前記学習セルのうち、前記複数の要素値と前記学習セルの出力値との間の相関値が最も大きい前記学習セルの前記スコアを、対応する前記行動候補のスコアに設定し、
前記選択するステップでは、前記複数の行動候補のうち、前記スコアが最も大きい前記行動候補を選択し、
前記調整するステップでは、選択した前記行動候補を実行した結果に基づいて、選択した前記行動候補に紐付けられている前記学習セルの前記スコアを調整する
ことを特徴とする付記13記載の行動学習方法。
(付記15)
前記取得するステップでは、前記状況情報データをキーとして前記複数の行動候補の各々に対する前記スコアを与えるデータベースを検索することにより、前記複数の行動候補の各々に対する前記スコアを取得する
ことを特徴とする付記13記載の行動学習方法。
(付記16)
前記選択するステップでは、前記環境及び前記自己の状況が特定の条件を満たす場合に、前記特定の条件に応じた所定の行動を優先して実行する
ことを特徴とする付記13乃至15のいずれか1項に記載の行動学習方法。
(付記17)
コンピュータを、
環境及び自己の状況を表す状況情報データに基づいて、取り得る複数の行動候補を抽出する手段、
前記複数の行動候補の各々について、行動した結果に対して見込まれる効果を表す指標であるスコアを取得する手段、
前記複数の行動候補の中から、前記スコアが最も大きい行動候補を選択する手段、及び
選択した前記行動候補を前記環境に対して実行した結果に基づいて、選択した前記行動候補に紐付けられている前記スコアの値を調整する手段
として機能させるプログラム。
(付記18)
前記取得する手段は、前記状況情報データに基づく複数の要素値の各々に所定の重み付けをする複数の入力ノードと、重み付けをした前記複数の要素値を加算して出力する出力ノードと、を各々が含む複数の学習セルを有するニューラルネットワーク部を有し、
前記複数の学習セルの各々は、所定のスコアを有し、前記複数の行動候補のうちのいずれかに紐付けられており、
前記取得する手段は、前記複数の行動候補の各々に紐付けられた前記学習セルのうち、前記複数の要素値と前記学習セルの出力値との間の相関値が最も大きい前記学習セルの前記スコアを、対応する前記行動候補のスコアに設定し、
前記選択する手段は、前記複数の行動候補のうち、前記スコアが最も大きい前記行動候補を選択し、
前記調整する手段は、選択した前記行動候補を実行した結果に基づいて、選択した前記行動候補に紐付けられている前記学習セルの前記スコアを調整する
ことを特徴とする付記17記載のプログラム。
(付記19)
前記取得する手段は、前記状況情報データをキーとして前記複数の行動候補の各々に対する前記スコアを与えるデータベースを有する
ことを特徴とする付記17記載のプログラム。
(付記20)
前記選択する手段は、前記環境及び前記自己の状況が特定の条件を満たす場合に、前記特定の条件に応じた所定の行動を優先して実行する
ことを特徴とする付記17乃至19のいずれか1項に記載のプログラム。
(付記21)
付記17乃至20のいずれか1項に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
(付記22)
付記1乃至12のいずれか1項に記載の行動学習装置と、
前記行動学習装置が働きかける対象である環境と
を有することを特徴とする行動学習システム。
この出願は、2018年6月11日に出願された日本出願特願2018−110767及び2018年12月17日に出願された日本出願特願2018−235204を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10…行動候補取得部
20…状況情報生成部
30…スコア取得部
40…ニューラルネットワーク部
42,44…セル
46…学習セル
50…判定部
60…学習部
62…重み修正部
64…学習セル生成部
70…行動選択部
80…スコア調整部
90…行動提案部
92…ノウハウ生成部
100…行動学習装置
200…環境
300…CPU
302…主記憶部
304…通信部
306…入出力インターフェース部
308…システムバス
310…出力装置
312…入力装置
314…記憶装置
400…行動学習システム

Claims (8)

  1. 環境及び自己の状況を表す状況情報データに基づいて、取り得る複数の行動候補を抽出する行動候補取得部と、
    前記複数の行動候補の各々について、行動した結果に対して見込まれる効果を表す指標であるスコアを取得するスコア取得部と、
    前記複数の行動候補の中から、前記スコアが最も大きい行動候補を選択する行動選択部と、
    選択した前記行動候補を前記環境に対して実行した結果に基づいて、選択した前記行動候補に紐付けられている前記スコアの値を調整するスコア調整部と、を有し、
    前記スコア取得部は、前記状況情報データに基づく複数の要素値の各々に所定の重み付けをする複数の入力ノードと、重み付けをした前記複数の要素値を加算して出力する出力ノードと、を各々が含む複数の学習セルを有するニューラルネットワーク部を有し、
    前記複数の学習セルの各々は、所定のスコアを有し、前記複数の行動候補のうちのいずれかに紐付けられており、
    前記スコア取得部は、前記複数の行動候補の各々に紐付けられた前記学習セルのうち、前記複数の要素値と前記学習セルの出力値との間の相関値が最も大きい前記学習セルの前記スコアを、対応する前記行動候補のスコアに設定し、
    前記行動選択部は、前記複数の行動候補のうち、前記スコアが最も大きい前記行動候補を選択し、
    前記スコア調整部は、選択した前記行動候補を実行した結果に基づいて、選択した前記行動候補に紐付けられている前記学習セルの前記スコアを調整する
    ことを特徴とする行動学習装置。
  2. 前記スコア取得部は、前記ニューラルネットワーク部の学習を行う学習部を更に有し、
    前記学習部は、前記学習セルの出力値に応じて、前記学習セルの前記複数の入力ノードの重み付け係数を更新し、又は、前記ニューラルネットワーク部に新たな学習セルを追加する
    ことを特徴とする請求項記載の行動学習装置。
  3. 前記学習部は、前記複数の要素値と前記学習セルの出力値との間の相関値が所定の閾値未満の場合に、前記新たな学習セルを追加する
    ことを特徴とする請求項記載の行動学習装置。
  4. 前記学習部は、前記複数の要素値の値と前記学習セルの出力値との間の相関値が所定の閾値以上の場合に、前記学習セルの前記複数の入力ノードの前記重み付け係数を更新する
    ことを特徴とする請求項記載の行動学習装置。
  5. 前記相関値は、前記学習セルの前記出力値に関する尤度である
    ことを特徴とする請求項乃至のいずれか1項に記載の行動学習装置。
  6. 前記尤度は、前記複数の入力ノードの各々に設定されている重み付け係数に応じた前記学習セルの出力の最大値に対する前記複数の要素値を入力したときの前記学習セルの前記出力値の比率である
    ことを特徴とする請求項記載の行動学習装置。
  7. 前記環境及び前記自己の状況に基づき、行動に関わる情報を写像した前記状況情報データを生成する状況情報生成部を更に有する
    ことを特徴とする請求項乃至のいずれか1項に記載の行動学習装置。
  8. 前記行動選択部は、前記環境及び前記自己の状況が特定の条件を満たす場合に、前記特定の条件に応じた所定の行動を優先して実行する
    ことを特徴とする請求項1乃至のいずれか1項に記載の行動学習装置。
JP2020525532A 2018-06-11 2019-06-07 行動学習装置 Active JP6970949B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2018110767 2018-06-11
JP2018110767 2018-06-11
JP2018235204 2018-12-17
JP2018235204 2018-12-17
PCT/JP2019/022781 WO2019240047A1 (ja) 2018-06-11 2019-06-07 行動学習装置、行動学習方法、行動学習システム、プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2019240047A1 JPWO2019240047A1 (ja) 2021-03-11
JP6970949B2 true JP6970949B2 (ja) 2021-11-24

Family

ID=68842199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020525532A Active JP6970949B2 (ja) 2018-06-11 2019-06-07 行動学習装置

Country Status (4)

Country Link
US (1) US20210125039A1 (ja)
JP (1) JP6970949B2 (ja)
CN (1) CN112262399B (ja)
WO (1) WO2019240047A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019102984A1 (ja) * 2017-11-22 2019-05-31 Necソリューションイノベータ株式会社 学習装置及び学習方法、識別装置及び識別方法、プログラム並びに記録媒体
WO2021145185A1 (ja) * 2020-01-17 2021-07-22 Necソリューションイノベータ株式会社 行動認識装置、行動認識方法、プログラム及び記録媒体
JP7155447B2 (ja) * 2021-01-21 2022-10-18 株式会社Cygames ユーザが選択するアクションを予測するための学習済みモデルを生成するための方法等

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018490A (ja) * 2005-02-23 2007-01-25 Sony Corp 行動制御装置および行動制御方法、並びに、プログラム
JP2011204036A (ja) * 2010-03-25 2011-10-13 Institute Of National Colleges Of Technology Japan 経験強化型強化学習システム、経験強化型強化学習方法および経験強化型強化学習プログラム
JP5879899B2 (ja) * 2011-10-12 2016-03-08 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
US20160260024A1 (en) * 2015-03-04 2016-09-08 Qualcomm Incorporated System of distributed planning
CN108701252B (zh) * 2015-11-12 2024-02-02 渊慧科技有限公司 使用优先化经验存储器训练神经网络
JP6550678B2 (ja) * 2016-05-27 2019-07-31 日本電信電話株式会社 行動決定装置、未来予測モデル学習装置、ネットワーク学習装置、方法、及びプログラム
CN109641354B (zh) * 2016-08-30 2022-08-05 本田技研工业株式会社 机器人的控制装置和机器人的控制方法
JP6330008B2 (ja) * 2016-10-13 2018-05-23 株式会社 ディー・エヌ・エー Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法
US10762424B2 (en) * 2017-09-11 2020-09-01 Sas Institute Inc. Methods and systems for reinforcement learning
US10254759B1 (en) * 2017-09-14 2019-04-09 Waymo Llc Interactive autonomous vehicle agent
US11027751B2 (en) * 2017-10-31 2021-06-08 Nissan North America, Inc. Reinforcement and model learning for vehicle operation
WO2019089015A1 (en) * 2017-10-31 2019-05-09 Nissan North America, Inc. Autonomous vehicle operation with explicit occlusion reasoning

Also Published As

Publication number Publication date
JPWO2019240047A1 (ja) 2021-03-11
CN112262399A (zh) 2021-01-22
WO2019240047A1 (ja) 2019-12-19
US20210125039A1 (en) 2021-04-29
CN112262399B (zh) 2024-08-06

Similar Documents

Publication Publication Date Title
CN109496318A (zh) 基于深度强化学习的自适应博弈算法
JP6970949B2 (ja) 行動学習装置
CN112138403A (zh) 交互行为的识别方法和装置、存储介质及电子设备
JP6908302B2 (ja) 学習装置、識別装置及びプログラム
CN107341548A (zh) 一种数据处理方法、装置及电子设备
CN108970119A (zh) 难度自适应游戏系统策略规划方法
CN120086453B (zh) 一种面向多模态沉浸式内容的智能协同推荐方法及设备
US11461656B2 (en) Genetic programming for partial layers of a deep learning model
CN116943220A (zh) 一种游戏人工智能控制方法、装置、设备及存储介质
CN115329191A (zh) 基于好奇心的个性化推荐方法、系统、计算机设备和存储介质
Khan Genetic algorithm technique in hybrid intelligent systems for pattern recognition
CN119557465A (zh) 一种多媒体数据推荐方法、相关装置、设备以及存储介质
CN120873493B (zh) 面向地理空间分析任务的gis工具智能识别方法及系统
JP7058183B2 (ja) チーム編成装置、チーム編成方法及びチーム編成プログラム
JP7338858B2 (ja) 行動学習装置、行動学習方法、行動決定装置及び行動決定方法
Chakraborty et al. Prediction of winning team in soccer game: A supervised machine learning-based approach
Özer et al. A machine learning-based framework for predicting game server load
CN115935067B (zh) 面向社会化推荐的语义与结构视图融合的物品推荐方法
O'Hanlon Using supervised machine learning to predict the final rankings of the 2021 formula one championship
CN117224958A (zh) 虚拟角色的动作决策方法、装置、设备及存储介质
CN117036131A (zh) 一种战场信息优先级排序方法及装置
Kamalakumar et al. Forecasting the Outcome of an IPL Match using Machine Learning Techniques
CN115222011A (zh) 神经网络架构搜索方法及电子设备
Chiang Cooperation could evolve in complex networks when activated conditionally on network characteristics
Romaniuk Fitting AdaBoost Models From Imbalanced Data with Applications in College Basketball

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211021

R150 Certificate of patent or registration of utility model

Ref document number: 6970949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150