SlideShare a Scribd company logo
エネルギベースドモデルを用いた強化学習のための
多層パーセプトロン構造
An Architecture of Multilayer Perceptrons for
Energy-based Reinforcement Learning
東北大学 医工学研究科
吉田尚人
1F3-1
Mar. 30 JSAI 2015 1
強化学習
• 環境との相互作用から最適方策を学習する枠組み.
Environment
P(s’|s,a)
r = r(s,a,s’)
Action: a
State: s
Reward: r MDP
π
Mar. 30 JSAI 2015 2
Actor-Critic アーキテクチャ
• Actor (方策) と Critic (評価)を分離
– Actor
– Critic
Sutton & Barto, ‘98
(Sutton et al., ’00)
Mar. 30 JSAI 2015 3
πθ
エネルギ関数による方策表現
Mar. 30 JSAI 2015 4
ボルツマン分布
エネルギ関数
エネルギベース方策に対する方策勾配
• エネルギベース方策の方策勾配:
Mar. 30 JSAI 2015 5
Advantage関数 A(s,a) = Q(s,a) - V(s)
離散行動:
連続行動:
エネルギ関数の勾配は
誤差逆伝播法で計算できる
⇒Bernoulli方策
⇒Gaussian方策
Anderson, ‘87
古典的なMLP Actorの問題点@画像タス
ク
• 画像識別タスク:
– 28 x 28の数字画像を0,1,...,9のクラスに識別
– データ:強化学習のActorの状況を模擬したデータ
• MNIST Dataset (LeCun et al. ’98)
• 2種類のデータ
– Correct data
» 入力画像と教師信号(action)の対応が正しい
– Incorrect data
» 入力画像と教師信号の対応が間違っている
– いずれのデータであるかのラベル (TD error) が与えられる
Mar. 30 JSAI 2015 6
一般的な画像識別
タスクのデータ例
今回のデータ例
入力 教師信号
データの
種類
対応関係に誤りがある
データの比率
Correct : Incorrect
= 1 : 999
Mar. 30 JSAI 2015 7
画像タスクのMLP
• Stochastic Gradient Descent -based
– α = 0.1
– # of hidden unit : 20
– hidden activation : logistic
– 出力:
• μθ : softmax output
• 1-hot representation
Mar. 30 JSAI 2015 8
画像タスク:結果
CACLA/CACLA (Hasselt & Wiering ‘07)
有効な学習は
ほぼ行われない
TD = negativeのデータは捨ててしまう
correct dataのみでの学習
Mar. 30 JSAI 2015 9
N=10
Errorrate100
Samples
解決策:Twin-net アーキテクチャⅠ
• エネルギ関数を2つに分割
• 学習
Mar. 30 JSAI 2015 10
• 方策関数
discrete:
エネルギー:
解決策:Twin-net アーキテクチャⅡ
Mar. 30 JSAI 2015 11
Twin-netによる画像タスク
負例に対しても
学習が行われている
Mar. 30 JSAI 2015 12
N=10
Errorrate100
Samples
実験:強化学習ドメイン
Mar. 30 JSAI 2015 13
Critic:
- Linear FA
V(s) = wTs
- TD learning
α = 0.1
Actor:
Hidden nodes
N = 20 (Ep, Enそれぞれに対して)
logistic activation
α = (grid search)
β = 1.0
NORMAL/CACLA
TWIN
実験Ⅰ
• グリッドワールド
– Action ∈{N,S,E,W}
– State 47状態
• 1-hot representation
+ bias
– Reward
• Goal : +1
• Otherwise : 0
s = (0,0,..., 1, 0, ..., 0, 1)
47
Mar. 30 JSAI 2015 14
結果:Grid World
Episodes
1エピソードのステップ数
※Proceedingより実験エピソード数を増やした図を掲載しています
NORMAL
CACLA
TWIN
Mar. 30 JSAI 2015 15
N=10
実験Ⅱ
• グリッドワールド + 4ビット列行動
– Action 24=16 行動
– State 47状態
• 1-hot representation
+ bias
– Reward
• Goal : 0
• Otherwise : -1
Mar. 30 JSAI 2015 16
結果:Grid World + ビット列行動
1エピソードのステップ数
Episodes
NORMAL
CACLA
TWIN
Mar. 30 JSAI 2015 17
N=10
他の活性化関数での結果
Mar. 30 JSAI 2015 18
tanh ReLU
@ Grid World + Action vectors
実験Ⅲ
• Blocker (Sallans & Hinton, ‘00)
– Agentは3つの駒を操作
– Blockerは駒のend-zoneへの侵入を妨害
– 報酬
• end-zoneへの侵入 : +1
• その他 : -1
– 状態
• 駒とBlockers位置
• 141 = 28 x 5 + 1(bias)
– 行動
• 4x4x4= 64 行動
– エピソード終了
• end-zoneへの侵入(success)
• 40ステップ経過(failure)
Mar. 30 JSAI 2015 19
結果:Blocker
タスク成功率
success/1000 (eps)
Time step
NORMAL
CACLA
TWIN
Mar. 30 JSAI 2015 20
結言
• エネルギー関数に基づくActor-Critic手法
– Multilayer Perceptronとの関係
• Multilayer Perceptronを方策関数として用い
た場合の問題点
• 新たなエネルギ関数/ネットワークの提案
– Twin-net
 https://hal.archives-ouvertes.fr/hal-01138709
Mar. 30 JSAI 2015 21

More Related Content

Similar to JSAI2015_Twin_net

Learning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value GradientsLearning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value Gradients
mooopan
 
能動学習による多関係データセットの構築
能動学習による多関係データセットの構築能動学習による多関係データセットの構築
能動学習による多関係データセットの構築
Hiroshi Kajino
 
201803NC
201803NC201803NC
201803NC
Naoki Hayashi
 
アイテム分散表現の階層化・集約演算に基づくセッションベース推薦システム
アイテム分散表現の階層化・集約演算に基づくセッションベース推薦システムアイテム分散表現の階層化・集約演算に基づくセッションベース推薦システム
アイテム分散表現の階層化・集約演算に基づくセッションベース推薦システム
Okamoto Laboratory, The University of Electro-Communications
 
Feature engineering for predictive modeling using reinforcement learning
Feature engineering for predictive modeling using reinforcement learningFeature engineering for predictive modeling using reinforcement learning
Feature engineering for predictive modeling using reinforcement learning
harmonylab
 
Computational Motor Control: Reinforcement Learning (JAIST summer course)
Computational Motor Control: Reinforcement Learning (JAIST summer course) Computational Motor Control: Reinforcement Learning (JAIST summer course)
Computational Motor Control: Reinforcement Learning (JAIST summer course)
hirokazutanaka
 

Similar to JSAI2015_Twin_net (6)

Learning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value GradientsLearning Continuous Control Policies by Stochastic Value Gradients
Learning Continuous Control Policies by Stochastic Value Gradients
 
能動学習による多関係データセットの構築
能動学習による多関係データセットの構築能動学習による多関係データセットの構築
能動学習による多関係データセットの構築
 
201803NC
201803NC201803NC
201803NC
 
アイテム分散表現の階層化・集約演算に基づくセッションベース推薦システム
アイテム分散表現の階層化・集約演算に基づくセッションベース推薦システムアイテム分散表現の階層化・集約演算に基づくセッションベース推薦システム
アイテム分散表現の階層化・集約演算に基づくセッションベース推薦システム
 
Feature engineering for predictive modeling using reinforcement learning
Feature engineering for predictive modeling using reinforcement learningFeature engineering for predictive modeling using reinforcement learning
Feature engineering for predictive modeling using reinforcement learning
 
Computational Motor Control: Reinforcement Learning (JAIST summer course)
Computational Motor Control: Reinforcement Learning (JAIST summer course) Computational Motor Control: Reinforcement Learning (JAIST summer course)
Computational Motor Control: Reinforcement Learning (JAIST summer course)
 

JSAI2015_Twin_net

Editor's Notes

  1. 東北大の吉田が発表します
  2. まず本日の強化学習一発目ということで,強化学習について簡単に説明する 強化学習では環境がマルコフ決定過程でモデル化できることを仮定している. エージェントは現在の状態sに対して行動aを取ることで環境に作用し, 環境は現在の状態と行動から次の状態と報酬をエージェントに返す. 強化学習の目的は,現在から未来に獲得される重み付き累積報酬和を最大化する方策πを得ることで, これを環境との相互作用で得られたデータを元にして,獲得することを目指します.
  3. このような強化学習だが,エージェントが選択できる行動の数が非常に大きかったり, 連続値で表される場合に効果的な手法として, Actor-Criticアーキテクチャが知られている. Actor-Criticでは,Actorである方策と,その方策の評価Criticを明示的に分けて構成する. Actor-CriticではこのCriticの値,具体的にはこの価値関数をつかって, 方策のパラメータをこの方策勾配という量で改善する手法になっている. Actor-Criticの特徴は,ほぼ任意のパラメタ化された方策に対して適用できる点. 方策関数の表現に多層パーセプトロンをはじめいろんな方法をつかうことができるようになる.
  4. 本研究ではActor-Criticアーキテクチャに対して, 特に方策がこちらのエネルギ関数をもちいたボルツマン分布で表現される場合のものを考える.
  5. このようなエネルギーを主体にして考えると, 方策の勾配はこのようなAdvantage関数とエネルギーの勾配との積として表される. この更新式は実は古典的なActor-Criticと関連があり, 行動が離散的に表現される場合にはクロスエントロピー, 連続的に表現される場合は2乗ノルムをエネルギ関数として使い, それぞれミューが多層パーセプトロンで表されているとすると, ActorをBackpropで更新する古典的なActor-Criticと一致する. ただし行動が離散的に表現される場合,このようなBackpropによるActorの改善は Actorに与えるデータの質によっては大きく阻害されることをすぐ後に示す.
  6. そのために,予備実験としてActor-CriticのActorでの学習を模擬した画像識別タスクを用いる. MNISTデータセットから採取した,28x28の0から9の10種類の画像を3層パーセプトロンで識別することを考える. 入力は0〜1の実数に正規化している. ---- ただしこのタスクでは多層パーセプトロンの学習に,強化学習のActorの状況を模擬したデータを用いることにする. --- 1つはCorrect dataで,入力画像と教師信号,Actorの文脈ではactionの対応が正しい. もう片方はIncorrect dataで,入力画像と教師信号の対応が間違っている. さらに,渡されたデータがいずれの種類であるかという,Actorの文脈ではTDエラーに相当するラベル情報が与えられる.
  7. 2つのでーたについて,具体的な例を示す. Correct dataは入力画像と教師信号の対応関係が正しい一方, Incorrect dataではその対応関係に誤りがある. さらに,対応関係が正しいか誤りかのラベルが付加されている. この実験では1ステップに1つずつ,2種類のデータのうちの1つが確率的に与えられる. 強化学習では学習初期の状況において多くの行動が誤りであると考えられるため, トレーニングでは99,9%の確率でIncorrect dataが与えられるものとした.
  8. この実験では標準的な確率的勾配法をベースとした更新を考える. エネルギー関数は離散出力に対するクロスエントロピーで表現する. 従って,ここでのトレーニングは3層パーセプトロンで表されるActorを Backpropで更新することに対応する.
  9. このデータを用いて3層パーセプトロンを更新した結果が図の青線になる. これは100個のテストデータに対するエラー率をプロットしたもの. 通常のBackpropをもとに更新しても,test dataによる結果はチャンスレベルの性能しか持たなかった. 一方点線はcorrectデータのみを与えて学習させた結果だが, これら2つから学習に用いるデータの質によってActorの性能に大きな差が生まれることを示している. - - - - 近年の研究ではTDエラーが正の時だけデータをフィルタリングして学習を行う方法が提案されている. 緑線は,データのラベルをもとに0.1%のcorrectデータを使って学習させた方法だが,それによって有効な学習が行われていることがわかる. ただし,TDが負の時のデータを全て捨ててしまうので,データの効率性の点で問題がある.
  10. そこで,本研究ではこのようにエネルギーを明示的に,2つに分割した手法を提案する. それぞれのエネルギーに対して個別にネットワークとパラメータをもつ. 学習はTDエラーが正の場合はEpを更新し,負の場合はEnを更新する. Critic : TDエラー ⇒ 二値判別器 これを多値判別化してみる?
  11. このとき,たとえばKビットのビット列で行動が表される場合は, 方策関数は離散行動の場合このような関数で表現できる. この場合も行動は効率的にサンプリングできる.
  12. これが,先の画像タスクに対してTwin netを適用した結果. CACLAより学習が速く,負例に対しても学習が行われていることが示されている.
  13. 最後に当初の目的であったActor-CriticアーキテクチャへのTwin netの適用結果を示す. Criticは線形関数,でTD学習 Actorは3層パーセプトロンで構成した.
  14. 1つ目は古典的なグリッドワールドで試した. 行動は4行動,状態は47状態で与えられる. スタートからゴールまでの最短経路を学習させる. 報酬設定はゴールへの遷移のみで+1としている.
  15. 結果:縦軸は1エピソードのステップ数,横軸はエピソード数. NORMALは通常のアクタークリティック手法を示している. TWIN netが最も速く最適方策を獲得していることがわかる.
  16. 次に,同様のグリッドワールドで行動の表現が異なっている場合の実験を行った. ここで行動は4ビットのビット列で表現される. 取りうる16個の行動のうち,4つだけが4方向への移動に対応し,その他では同じ状態に留まるとした. 報酬は,今回はゴール時のみ報酬ゼロ, その他の状況では-1とした.
  17. 結果:TWIN netのみで最適方策が学習され,その他の方法では学習が極めて遅い結果となった.
  18. 他の活性化関数を隠れ層に使った結果. 基本的に,他の活性化関数でも同様の結果なようだ. ただ,このタスクでReLUは差がわかりにくい.
  19. Blockersは予め設定されている. 各AgentやBlockerは重ならない。 141ビットの状態表現.
  20. タスク成功率:そのtime step以前の直近の1000エピソードに対する成功率 TWIN NETはsuccessfulなpolicyを早く学習する. が,平均報酬で評価した場合,実は最終的なパフォーマンスはあまり良くない. この原因究明は後の研究で明らかにしていきたい.
  21. エネルギ関数に基づくActor-Critic手法に関する研究を行った. etc.