学習するロボット：
強化学習システムを用いた適応的制御の枠組み○木村 元， 小林 重信
東京工業大学 大学院総合理工学研究科
Learning Robots: A Framework of Adaptive Control using Reinforcement Learning System○ Ha jime Kimura,

Shigenobu Kobayashi

Interdisciplinary Graduate School of Science and Eng., Tokyo Institute of Technology
In this paper, we introduce a new adaptive control framework composed of reinforcement learning(RL). The RL is on-line learning of an input-output mapping through a process of trial and error designed toimprove its behavior. We show the features of this framework through a demonstration of learning control rules inreal robots.
Abstract:

1 はじめにエージェント（コントローラ）

6状態観測 xt

本稿では，強化学習という新しい枠組みを解説し ，ロボットの制御規則獲得問題への適用例を紹介する．

?行動 at6

報酬 rt

環境（ 制御対象）
1.1

強化学習：適応的学習制御の枠組み

Figure 1:

強化学習の枠組．エージェントは試行錯誤を通じて適切な制御規則を獲得していく．

強化学習とは，試行錯誤を通じて環境へ適応する学習制御と異なの枠組である．教師付き学習
り，状態入力に対する正しい行動出力を明示的に示す教師 1.2 制御の視点から見た強化学習の特徴が存在しない．その代わり報酬というスカラーの情報を手がかりにし て学習するが，報酬にはノイズや遅れがある． 強化学習が期待される理由の一つは，不確実性のある環境
そのため，行動を実行した直後の報酬をみるだけでは，学 を扱っている点にある．多くの実世界の制御問題において，習主体はその行動が正しかったかど うかを判断できないと 厄介な不確実性の扱いが求められる．もう一つの理由は，に示す．学習の 報酬に遅れが存在し，離散的な状態遷移も含んだ段取り的いう困難を伴う．強化学習の枠組を主体「エ−ジェント 」と制御対象「環境」は以下のやりと な制御規則の獲得を行う点にある．設計者がゴ−ル状態で報酬を与えるという形で，させたいタスクをエ−ジェントりを行う．に指示しておけば ，ゴ−ルへの到達方法はエ−ジェントのエ−ジェントは時刻 t において環境の状態観測 st に 試行錯誤学習によって自動的に獲得される．つまり，設計者は「何をすべきか 」をエ−ジェントに報酬という形で指応じて意志決定を行い，行動 at を出力示しておくだけで「どのように実現するか」をエ−ジェン
エ−ジェントの行動により，環境は st+1 へ状態遷移 トが学習によって自動的に獲得する枠組となっている．
し ，これに応じた報酬 rt をエ−ジェントへ与える．

(supervised learning)

Fig.1

1.
2.

3. 時刻 t を t + 1 に進めてステップ 1 へ戻る．
1.3 応用上期待できること
形式的には，エ−ジェントは利得（ return: 最も単純な場制御プログラミングの自動化・省力化
合，報酬の総計）の最大化を目的とし て，状態観測から行動出力への写像（政策（ policy ）と呼ばれる）を獲得する． 環境に不確実性や計測不能な未知のパラ メータが存在す
1.3.1

環境とエ−ジェントには一般に下記の性質が想定される． ると，タスクの達成方法やゴ ールへの到達方法は設計者にとって自明ではない．よってロボットへタスクを遂行するための制御規則をプログラムすることは設計者にとって重エ−ジェントは予め状態遷移の知識を持たない．
労働である．ところが，達成すべき目標を報酬によって指環境の状態遷移は確率的．
示することは 前記に比べれば 遥かに簡単である．そのため，タスク遂行のためのプログラミングを強化学習で自動報酬の与えられ方は確率的．
化することにより，設計者の負担軽減が期待できる．十分
状態遷移を繰返した後，やっと報酬にたどり着くよう に優れた性能を持つ強化学習エージェントをコントローラな，段取り的な行動を必要とする環境（報酬の遅れ）． として１つだけ開発しておけば，あとはロボットの目的に応じて報酬の与え方だけを設計者が設定するだけで，あらゆる種類のロボット制御方法を同一のコントローラによって自動的に獲得できる．



Figure 2: 学習対象のロボット（ 左 OCT1, 右 OCT2 ）各足は角度指令で動作するサーボモータ２個を持つ．
1.3.2

ハンド コーディングよりも優れた解試行錯誤を通じて学習するため，人間のエキスパートが得た解よりも優れた解を発見する可能性がある．特に不確実性（ 摩擦やガタ，振動，誤差など ）や計測が困難な未知パラメータが多い場合，人間の常識では対処し切れないことが予想され，強化学習の効果が期待できる．エキスパートの制御規則を学習初期状態に設定して，それを改善する場
合と，全くのゼロから学習を開始し，設計者にとっては意外な新しい解を発見する場合とが考えられる．
1.3.3

自律性と想定外の環境変化への対応

機械故障など の急激な変化やプラントの経年変化のような緩慢な変化など ，予め事態を想定してプログラミングしておくことが困難な環境の変化に対しても自動的に追従することが期待できる．特に宇宙や海底など ，通信が物理的に困難な場合や，通信ネットワークの制御のように現象のダイナミクスが人間にとって速すぎる場合において，強化学習の自律的な適応能力が特に威力を発揮する．

2 強化学習の適用例：ロボット の歩行動作獲得
前章で説明し た強化学習の利点について，具体例を挙げに示すように，２種類の４足ロボットて説明する．とイヌ型の）に対し，完全に同一（クモ型のの強化学習アルゴ リズムを適用し，効率よく前進する動作を獲得する ．エージェントすなわちロボットのコント
ローラが獲得すべき制御規則は，現在の関節の角度を状態入力として与えられたとき，前進するような動きとなるよ
うにモータの目標値とすべき関節の角度を出力することである．ロボットの学習目標は，効率よくまっすぐ 前進することなので，各時刻におけるボデ ィの前進速度と曲がり具合の評価値をエージェントが報酬として受け取るよう設定する．

Fig.2
OCT1
[4]

OCT2

(1)

エージェントとロボットは以下のやりとりを行う．
エージェントは状態観測とし てロボットの関節の角度を受エージェントは行動出力とし て関節モータのけ取る．

(2)

(3)
(4) 0.3 0.5(5)

ロボットは目標角度の方向へ各角度の目標値を出力．
約〜
秒後，ロボットはボディモータを動かす．
が移動した距離や曲がり具合を計測し ，その値を報酬としステップ に戻って繰り返てエージェントに与える．
す．
上記の設定により，ロボットを効率よく前進させる学習問
題は，エージェントが利得（報酬の総計）を最大化するよう政策を探索する最適化問題へ帰着される．

1

OCT1 OCT2

ここで注目すべき点は，ロボットとがメカニズム的に全く異なるにもかかわらず，強化学習問題とし て見ると同じになる点と，求めるべき制御規則が比較的複雑である割に，報酬の設定が極めて簡単な点である．
へ適用可能な強化学習アルゴ リズムが，何よって，にも適用できるという意味と，も変更することなく設計者が極めて簡単な報酬設定をするだけで複雑な制御規則を自動的に得られるという２つの意味において，強化学習による制御規則プログラミングの自動化・省力化を実現している．

OCT1

OCT2Fig.2

ロボットの各脚はに示すように２個の位置制御サーボモータで駆動され，全体で８自由度である．クモ型では，各脚の２つのモータはそれぞれロボットのリフト 脚，スイング脚を受け持つ．リフト 脚は上下方向，スイング脚は前後方向へ足先を運ぶ役割を持つ．これに対では，各脚の２つのモータがし イヌ型ロボットの駆動する関節軸は平行であり，足先を運ぶ方向について役割分担がなく，互いの動作が干渉するため，制御規則の構よりも困難である．各モータと関節は図中で築はでは反時計回りに対応付けられている示すとおり，では左側前後，右側前後の順番で割り当のに対し ，のロボット後てられている点でも構造的に異なる．
方に見える 個の車輪は，ボディの移動を検出し報酬信号を生成する．２つの車輪の移動速度平均はロボットの前進速度を示し，２つの車輪の移動速度の差分はロボットが旋回していることを示す．ロボットの学習目標はまっすぐに前進することなので，各時間ステップでの報酬は，２つの車輪の移動速度平均から差分の絶対値を引いた値とし た．

OCT1

OCT2

OCT1
OCT1OCT2280 120
OCT1 Fig.10
OCT1(leg2)

Fig.2

Fig.10(leg4)(leg1)

実時間でおよそ 〜分学習後の様子をに示
では左側に示すようにカ メのような歩す．
では右側の前足と左側の行動作を獲得した．
はほぼ同位相で，また左側の前足と後ろ足

(leg3)(trot)

右側の後ろ足がほぼ同位相で同期して動いており， とが目標である．本稿のロボット学習問題では，状態空間に近い．カーペット上とゴ ムマット が上下界の存在する８次元の連続な空間であり，行動空間歩容はトロットで獲得された動作にはやや違いが見られた． も同じである．
上ではエージェントカーペット上では，ボディは容易に床をすべることが可能なのでしばしばボディを引きず る動作が見られた．これ
stat
は，支持脚で体重を支える動作よりも前進させる動作を優確率的政策 先して学習した結果と考えられる．一方，摩擦の大きなゴat
ムマット上では，ロボットのボディが床から離れた状態を保持し続ける傾向が見られた．これらの結果は，ロボット
rt V st+1 V stがそれぞれ周囲の状況に応じて適応的に動作を獲得できでも右側に示すようたことを示している．
stに足先以外の脚部やボディをひきずる動作となったが，左V srt
右に大きく傾きながらも高速に直進する動作が得られた．
このような動作は実際に試行錯誤しない限り，獲得するの状態観測は困難である．
環境

OCT1

Actor-OCT2

6reinforcement for+ ^(Fig.10) ^ ( ) TD-error- Critic ^ ( ) 

RewardFigure 3:

3 強化学習の基礎
強化学習アルゴリズムの解析は，マルコフ決定過程 (Markovdecision process: MDP) で表現される環境において数多く示されている．この強化学習の基礎理論により，環境がマルコフ決定過程で表現できることさえ分かれば ，エージェントが予め遷移確率や報酬についての知識を持っていなくても学習できることが示されている．強化学習を実問題へ適用する場合，問題表現がマルコフ決定過程となるよ
うに状態表現や報酬の与え方を設計することが重要である．以下，強化学習の基礎について，マルコフ決定過程と代表的な強化学習アルゴ リズムを簡単に説明する．

Action ?

actor-critic
actor TD-error

CriticActor
TD-error

一般的なアルゴリズムの枠組．
は状態評価値を推定しにを与える．
は確率的政策に基づいて行動選択すると同時に，を手がかりに政策を改善する．

sa
2. Critic は報酬 rt を受取り，次状態 st+1 を観測し，1. エージェントは環境において状態 t を観測
Actor は確率的政策 に従い行動 t を実行

actor への強化信号として以下の TD-error を計算：
(TD-error) =

rt + V^ (st+1 )V^ (st) ,は割引率，3.1V^ (s) は critic が推定した割引報酬の期待値．

マルコフ決定過程による環境モデル化

S2S

3. TD-error を用いて actor の行動選択確率を更新

MDP

環境のダイナミクスを以下のようにモデル化したのがである．状態空間を ，行動空間を ，実数の集合をと表す．各離散時間ステップ t において，エージェントはを観測して行動 atを実行し ，状態遷移
状態 stを受け取る．一般に報酬と遷移先のの結果，報酬 rt
ではその分布は st と at だけ
状態は確率変数だが，に依存する．遷移先の状態 st+1 は遷移確率 T st ; a; st+1に従い，報酬 rt は期待値 r st ; a に従って与えられる．

A> 0 ならば，実行した行動 a は比較的好ましいと考えられるので，この選択確率を増やす．
逆に (TD-error) < 0 ならば ，実行した行動 a は比較的好まし くないものと考えられるので，この選択確率を減らす．
(TD-error)

R2A2R

4. TD 法を用いて critic の value の推定値を更新
MDP
例えば TD(0) ならば 以下のように計算する．
()
V^ (s ) V^ (s ) + (TD-error), ただし は学習率．
( )5. 手順 1. から繰り返す．
学習エージェントは T (st ; a; st+1) や r(st ; a) についての知識は事前に持たない．強化学習の目的はエージェントのパフォーマンスを最大化する政策 (policy) を生成するこ Figure 4: 一般的な actor-critic アルゴ リズムの処理手順

ttとである．無限期間のタスクにおいて自然な評価規範として，以下の割引報酬合計による評価がある．

Vt =0 11

X

k=0

krt+k(1) 4 強化学習アルゴリズム,

ただし割引率は未来の報酬の重要度を示し，Vtは時刻 t の評価値を表す．
では，評価値は以下のように定義できる：( )=EV sfg"

MDP

1

Xt=0

#trt s0= s;  ,

MDP

2

4.1

Actor-Critic アルゴリズム

Actor-critic 法 [1](Fig.3) は基本となる仕組みが単純な上，連続空間への適用が容易で，ロボットの制御規則獲得において有望な手法である．処理手順の概要を Fig.4 に示す．
(2) Actor は，状態から行動への確率分布である確率的政策 に従ってランダムに行動を選び実行する．Critic は，actor

ただし Eは期待値演算を表す．
では式 で定義される各状態 s における評価値を最大化する政策を探すこの政策のもとでのそれぞれの状態の評価値を推定する．ある状態 st で行動 at を選択後，報酬 rt を受け取って状態st+1 へ遷移した時，critic は以下の TD 法に従って状態評価の推定値 V^ (st ) を更新する：

5 実験結果Fig.6 に示すように各ロボットをネットワー
TD error = rt + V^ (st+1) V^ (st)(3) 本実験では，ク上のサーバとし て設定し ，LAN を介し て TCP プロト(4) コルによってそれぞれのサーバへ接続して通信する．同一V^ (st )V^ (st ) + TD errorの学習エージェントプログラムによってそれぞれ異なるロ
ただし 0 <  1 は学習率，0  < 1 は割引率を表す． ボットを学習させた．
Actor は，critic で計算される TD error を手がかりにして政策を改善する．TD error が正のとき，エージェントは良PC 強化学習エージェント
い状態へ遷移したと考えられるので，状態 st における行動 at の選択確率を高くするよう修正する．逆に TD error(java アプ リケーション)
が負のとき，エージェントは悪い状態へ遷移したと考えらLANれるので，状態 st における行動 at の選択確率を低くするよう修正する．この原理は行動空間が連続であってもそのまま拡張できる．
probability density

0.40.3

ヘビ型
OCT1
OCT2(サーバ)
(サーバ)
(サーバ)
Figure 6: 実験に用いたシステムのネットワーク構成．各ロボットは，ネットワーク上の異なるサーバに見える．

0.2

0.1

Carpet10sigma(s)Action a

Figure 5: Actor において 1 次元連続値行動を扱う例．中心値 mu(s)，標準偏差 sigma(s) の正規分布に従ったランダム
サンプルによって行動 a を選択．状態遷移の結果，TD errorが 正なら ，中心値 mu(s) を a の方向へ修正．行動 a がsigma(s) の内側だったなら ，sigma(s) を小さくする方向へ，外側なら大きくする方向へ修正する．TD error が負なら逆の操作を行う．

Averaged Reward (100 steps)-sigma(s) mu(s)Rubber mat
50-5-1002000

40006000

8000

10000

Learning Steps

4.2

Figure 7: OCT1 の学習の様子．10000 ステップ（約 80 分）

連続な行動空間を扱う Actor-Critic

actor
actor-critic

前述のように，の確率的政策  を確率分布関数とする10を連続行動空間へ拡張できる．
ことで，では ，一般に確率的政策をパラ メータ関数表現し ，その8は確率パラメータを勾配法によって更新していく．
6を用的政策として正規分布を用いた例を示す．このOct2 normals ，標準偏差s
いたエージェントは，中心値4の正規分布に従ったランダムサンプ リングによって行動a を選択する．状態遷移後，式 に従ってを計2の政策パラメータを更新す
算し ，この値に基づいて0が正のとき，エージェントは良い状態へ遷る．
移したと考えられるので，状態 st における行動 at の選択-2
確率を高める方向へ修正するが，正規分布の場合は中心値s を a の方向へ修正し ，行動 a がs の内側 -405000
10000
15000
20000
25000
30000
35000
40000
s を小さくする方向へ，外側なら大きだったなら，Learning Stepsが負くする方向へ修正することで実現できる．の場合は逆の操作を行う．本ロボットの問題においては，の学習の様子．
ステップ（約分）
行動空間に上下界が存在するため，この正規分布による行を動選択に修正を加えている．実装方法の詳細は文献
は比較的よく滑べるカーペット 上および 摩擦の参照していただきたい．
はカーペット大きなゴ ムマット上で実験を行った．

mu( )sigma( )

actor

mu( )
3

Fig.5
actor
sigma( )TD error

Averaged Reward (100 steps)

TD errorActorsigma( )TD error[4]Figure 8: OCT2
OCT1上のみで実験を行った．

Fig.7 OCT1

40000

160

OCT2

100はにおける学習曲線を表す．縦軸はス
テップ毎の報酬の平均値を表すが，報酬は １ステップで() (２つの車輪が前進した平均値 − １ステップでの２つの が床についているかど うかなど を報酬に反映させれば，よ車輪の差分の絶対値 という形式で与えられるため，学習 りロボティクス的に好ましい動作の獲得が期待できるもの
初期において値が負の値を示しているのはロボットが後進 であり，強化学習の特長を損なうものではない．
しているせいではなく，左右に旋回しているためである．
しかし，実問題では「試行錯誤」が許されない場合が多ロボットはカーペットおよびゴ ムマット上の両方の く，満足な動作を獲得する前にロボットが壊れてし まうな
ステップ 約１時間 以下という実時間 ど 問題も多い．そのため，強化学習に対して批判的な意見設定においてステップ後の実際の があるのも事実だが，他の学習のテクニックと組み合わせで良好な挙動を獲得している．
である．
移動速度は約ることによって学習速度が向上し ていくことが 期待され)

OCT1

8000
()
10000
5cm/sec
Fig.8 は OCT2 における学習曲線を表す．OCT2 では各 る．さらに今後，強化学習の使用を前提とし たハード ウエ
脚の２つのモータは 足先を運ぶ方向について役割分担が ア設計がなされれば，強化学習のポテンシャルを十分に生なく，互いの動作が干渉するという困難さから OCT1 に かし た新しい製品やサービ スが出現する可能性がある．
比べ動作獲得までに３〜４倍の学習ステップ数を要している．それでも約２時間という実時間で動作獲得できた．

OCT

さらに我々は，ロボットに用いた強化学習エージェに示すヘビ 型ロボットへ適用し ，適切な移ントを，動制御規則が得られ るかど うかを試した ．このロボッ

Fig.9

References[1] Barto, A.G., Sutton, R.S. & Anderson, C.W.: Neuronlike adaptive elements that can solve diÆcult
learning control problems, IEEE Transactions onSystems, Man, and Cybernetics , vol. SMC{13, no.5,pp. 834{846 (1983).
[2] 木村 元，宮崎 和光，小林 重信：強化学習システムの設計指針，計測と制御, Vol.38, No.10, pp.618{623(1999).
[3] 木村 元，小林 重信：Actor に適正度の履歴を用いた
Actor-Critic アルゴ リズム{ 不完全な Value-Functionのもとでの強化学習，人工知能学会誌, Vol.15, No.2,pp.267{275 (2000).
[4] 木村 元，山下 透，小林 重信：強化学習による４足ロボットの歩行動作獲得，電気学会 電子情報システ
ム部門誌, Vol.122-C, No.3, pp.330{337 (2002).
[5] 楠 義寛，木村 元，小林 重信：蛇型ロボットの強化学
Figure 9: ヘビ 型ロボット
習による制御規則獲得，計測自動制御学会 第 30 回
知能システムシンポジウム, pp.161-166 (2003).
トは，2 自由度の関節 4 個で構成されており，計 8 個のモーターを用いているため OCT ロボットと同じ 入出力を
[6] Sutton, R.S. & Barto, A.: Reinforcement Learning:
持っている．胴体中央の横に，移動距離と方向を計測する
An Introduction, A Bradford Book , The MIT Press(1998).
車輪が取り付けてあり，側面方向移動タスク学習時は，真横に直進した場合に最大の報酬が与えられる．また，旋回[7] Sutton, R.S., McAllester, D., Singh, S. & Man動作タスク学習時は，旋回時に報酬が最大になるよう報酬
sour, Y.: Policy Gradient Methods for Reinforceが設定される．学習の結果得た動作の一例を Fig.11 に示
ment Learning with Function Approximation, Adす．当初，側面方向への移動動作とし てサイド ワインダー
vances in Neural Information Processing Systems 12（ガラガラヘビ ）のように体をくねらせながら移動する動(NIPS12) , pp. 1057{1063 (2000).
作の獲得を期待していたのだが，学習させた結果，頭とシッポをオールのように動かす動作を獲得した．これは， [8] Williams, R.J.: Simple Statistical Gradient Fol胴体中央に速度と方向検出用車輪を取り付けたため，体をlowing Algorithms for Connectionist Reinforcement
くねらせると報酬が負になってし まうためであり，報酬獲Learning, Machine Learning 8 , pp. 229{256 (1992).
得最大化の意味で合理的な動作を獲得している．
[5]

6 おわりに本稿では，強化学習の特徴について解説することに重点を置き，ロボットの制御規則獲得問題へ適用した例を紹介した．実験において獲得された動作では，ボディを引きずるなど 好まし くないように思える動作が見られたが，ボディFigure 10: カーペット上にて 10000 ステップ（ 約 80 分）
学習後に得た動作の一例．左側：約 10000 ステップ後（ 80 Figure 11: ヘビ型ロボットが得た動作の一例．左側：側面分），右側：約 30000 ステップ後（ 120 分）．
方向移動動作，右側：旋回動作．