データからベイジアンネットを自動生成モデルを使う

ランニングできず 英語できず

(1) 動的ベイジアンネットによるロボット制御では、Thrunの確率ロボテックスのPOMDPでも行っている。これは方策πが確信度の関数で最大価値Vを計算するモデルであるので、確信度を動的ベイジアンネットで計算するものである。

f:id:mabonki0725:20170704112835p:plain

ベイジアンネットにこだわるのは、データからベイジアンネットを生成する実験と論文を書いたことがあり、かなり納得できる成果が得られたことである。

https://www.slideshare.net/MasatoNakai1/inference-bayesian-network-from-data

動的ベイジアンネット図から特徴量を選択するアルゴリズムにより

https://www.researchgate.net/publication/221226205_Automatic_Feature_Selection_for_Model-Based_Reinforcement_Learning_in_Factored_MDPs

f:id:mabonki0725:20170704112444p:plain

(報酬のノードから時系列ベイジアンネット上に遡って関連するノードを選択するモデル)

データ→ベイジアンネット生成→特徴量選択→最適行動モデルが実現できると

考えられる。

これは、データから最適行動を採る逆強化学習そのものであり、これとの比較ができる。

 

動的ベイジアンネットのノードが特徴量の空間を張る

ランニングできず 英語できず

(1) 特徴量抽出の論文を探す。古いが、ようやく強化学習で動的ベイジアンネットによる特徴量抽出の論文に行き当たる。やはり確率的遷移のベイジアンネットの各ノードが特徴量を張るのかと思い当たる。

https://www.researchgate.net/publication/221226205_Automatic_Feature_Selection_for_Model-Based_Reinforcement_Learning_in_Factored_MDPs

(2)  Language & Roboticsのキックオフセミナーに出る。趣旨はロボットに言語理解をさせようとする話である。やはりM先生の話は統計的なアプローチでLDAやHMM系モデルで機械に理解させようとする機械学習なんだが、GoogleのK氏が、このアプローチについては、人間がロボットに教えるのではデータの充足度に問題があると異議を言っていた。これは、ロボット対ロボットの強化学習の分野で解決すべき話と思う。次のN先生の話は、上記のアプローチで人間がロボットに実際教える実験で迫力があった。これも労力の問題がいえるが、報酬設定の問題に言及していた。総じて機械が自分で自分を鍛えるSingularityの問題なんだが、だれも言及しないのは面白かった。M先生には来週会うので、できればこの問題について相談しようと思う。

第一回 Language & Robotics 研究会 (LangRobo) の開催 - 記号創発システム論調査研究会

 

 

 

大学の研修の被監査で、想定通り失望する

ランニングできず 英語できず

(1)  確率ロボテックス輪読 15章POMDP 方策(確信度)による価値推定

(2) Singularity勉強 特徴量の摘出の文献探し

(3) 大学の研修の被監査 監査人はデザイン出身の若い学者 殆ど中身が理解できないので、プレゼンの方法のみ監査となる。デザインの人は、中身は概念把握レベルで、見てくれのみ拘ると想定し、時間の無駄と思い被監査に臨んだが、想定通りでありであった。もうこの様な茶番は殆ど意味がないので断ることができなか相談するつもり。

Singularity-QLearning

 ランニング30分 英語できず

(1) Singularityの問題を詳細に詰め始める。数理的に明快なQ学習から行う。

Q学習はDQNモデルの設定とする。

・Q関数が下記で与えられる場合

{Q(s,a) = f_1(s,a) * \theta_1(s,a) + f_2(s,a) * \theta_2(s,a) + \cdots + f_n(s,a) * \theta_n(s,a)}

 ここで{f_i(s,a)}は状況s 行動a後 状況s'のi番目特徴量を示す

・損失関数{\mathcal{L}(\theta_i)}

{\mathcal{L}_i(\theta_i) = E_{s,a \sim p(\cdot)}[(y_i - Q(s,a;\theta_i))^2]}

・損失関数の偏微分

{\nabla_{\theta_i}\mathcal{L}_i(\theta_i)} = E_{s,a \sim p(\cdot);a' \sim \varepsilon} [\left(r + \gamma \max_{a’} Q(s',a';\theta_{i-1})- Q(s,a;\theta_i)\right) \nabla_{\theta_i} Q(s,a;\theta_i) ]  

Q関数は{\theta_i}のパラメータで構成され、最適な{\theta_i}を求めるため偏微分している。

Q学習で最も難しいのは適切な{f_i(s,a)}を探すことである。DQNはゲーム場面の画像からDeepLearningが暗黙に抽出しているが、画像でない一般的な問題では特徴量の抽出方法は定まった方法がない。下記の迷路問題では特徴量を自分のセルの位置と移動できる方向とすると、旨くQ学習した事例である。

Sattonの強化学習では、あらゆる特徴を組込む方法を採っている。これは問題解決に寄与しない特徴量は、学習するとその特徴量のθは殆ど0になってしまうので意味がないからである。

f:id:mabonki0725:20170619060549p:plain

 

 

 

 

 

 

 

 

 

 

 

大学の研修の方向性が決まる

ランニングできず 英語できず

(1) Singularityの説明を大学の研修で説明するも、自分でも未消化であることが明白になった。

(2)大学の研修では、ラベリングが簡単な動作(バスケットボールのシュート等)をOpenPoseで多数データを取り、時系列解析して回帰分析する方向となった。多分時系列の分析が一番大変と考える。LSTMが簡単に特徴量を抽出してくれれば助かるが、これを何個結合するのか等のパラメータチューニングが大変と思う。

以下は以前にC言語で実装したLSTM結果だが、長さが異なる系列データの特性をきちんと捉えている。

Deep Learning LSTM

(3) K君が音声解析のJulia(GMM-HMMベース)で起動してくれた。昔GMMとHMMをPRMLの本をもとにC言語で実装した事があり懐かしかった。これらのモデルの考えかたや性能に驚いたことがある。

GMM(混合ガウス分布モデル)の実装結果

変分ベイズ

HMM(隠れマルコフモデル)の実装結果

隠れマルコフモデル

 

 

Singularityの試行No.2

ランニングできず 英語できず

(1) Singularity達成の問題を引き続き詰める

 定義:計算機が考えるとは以下の処理とする

  計算機上で 現実的な動きをするオブジェクトが複数存在する。

  自己オブジェクト以外のオブジェクトには確率的な動作が加わる

  自己オブジェクトは目的を達成するまで、以下を繰返す。

   A)自己オブジェクト目的に照らして現状況の価値を推定する

   B)状況の価値を最も損なう他オブジェクトの動作を推定できる

   C)障害動作に従って、現状での最適な行動を選択し新状況にする

 方法:

  A)の価値推定の方法(GANによる状況生成)

   自己や各オブジェクトの現実的な行動をGANで複数生成して、目的達成

   まで模擬する。その達成確率が高い程、状況の価値は高いとする。 

  B)障害行動の推定方法(敵対的モデル)

   自己オブジェクトの目的を阻害することを目的とする敵対的モデルで

   阻害行動を生成する。敵対オブジェクトは目的以外は自己オブジェクトと

   同じモデルである。

  C)最適行動選択の方法(Q学習)

   他オブジェクトの阻害行動の状況下で、自己の選択行動後毎に生起する状況

   の価値を計算する。その行動で価値を偏微分して、その最大傾斜を採る

   行動の組合わせと最適行動とする。

 

 

 

   

  

Singularityの試案

ランニング30    英語できず

(1) 学校の研修の企画書のため、Singularityモデルの資料を作成し始める。

 Singularityとは、計算機が自分で考える機能を持つことと定義

 計算機が自分で考えるとは以下と捉える。

 考えるとは、計算機が最適な方策を決定するまで、以下を繰り返すこととする

 1)設定した状況の価値を推定することができる

 2)その状況の価値を損なう状況を生成することができる

 3)今までの状況も損なわなわず、新たな状況に対する最適な手段をとれる

 

 

 1)状況の価値を推定する方法

  a)前提として

   ・状況は特徴量の組合せで表現できるものとする。

   (例えば迷路なら、迷路の壁の位置、現在位置が特徴量となる)

   ・計算機に目的と選択手段が与えられてる。

   (例えば目的は出口に至る、選択手段は進む方向)

   ・選択した手段毎に状況が変わる

  b)方法

  状況が特徴量に分解できるとすると、GANによって擬似的な状況が生成できる

  生成した状況から手段による新状況を作り出す。これをランダムに繰り返せば

  目的に到達できる可能性がある。達成できれば、そこから逆算して現状況の価値

  が計算できる。達成できなければ、現状況はその目的に関して無価値である。

  c) GAN

  設定された状況に似た状況を生成するとは、半教師学習のモデル化であり

  まさにGANの生成機能である。GANで似た状況を多数生成できれば、状況の

  生起確率は計測できるはずである。発生確率が高い状態で目的が達成できれば

  その状況は価値が高く、発生確率が低ければ価値は低いと看做してよい。

 2)その状況の価値を減じる状況の生成

  価値を最も損なう状況を作ることを目的とする敵対的モデルを駆動する。

  最も損なうとは、目的を損なわせる確率が高い状況を生成することである。

  その様な状況が生成できなければ、終了

 3)敵対的な状況設定でも、目的を最も達成し易い手段を提供する

  状況の価値が計算できれば、手段毎に価値を微分して、最大価値増加

  できる手段が決定できる。(Q学習そのもの)

 

試案上の問題

 1) 状況を特徴量に分解できる、有意な方法が無い。画像であればCNNが

  自動で特徴量を把握しているが一般には使えない

 2)手段を選択する毎に新たな状況が出現し、特徴量を見出す必要がある

 3)選択手段と新状況の繰返しで、無限に状況が生成される問題の対策

  確率的に発生がレアな状況は無視する

  同様な状況があれば、再利用する(記憶の利用)

  計算機パワーに期待する

 

考察

 DeepMindのモデルに沿って考察

 ・Alpha碁

        SLモデルでは特徴量が64個

  敵対モデルは相手側の計算機の最適着手決定モデル

  CNNのパターン認識による着手予想で探査空間を狭めている