昨日は強化学習の「強化」とは何なのかについて説明した。
今日は、強化学習で考える具体的な状況や、そこで使われる用語について。
エージェントと環境
強化学習では、学習したり行動を決定する主体(つまりAI自身)のことを、エージェントと呼ぶ。
そして、エージェントが行動した結果、状態を変えたり、あるいは報酬/罰を与えるもののことを、環境と呼ぶ。
例えば、昨日の猿の例で言えば、エージェントは「猿」で、環境は「檻の中」だ。
環境は、いくつかの状態を持つ。
環境の可能な状態の集合をと書くことにする。
例えば、猿の例だと、
となる。
さて、環境の状態はエージェントが行動を行っていくと、変化していく。
そこで、時間ステップ(これはエージェントが行動を行うと進んでいく)をとしたときに、それぞれの状態をで表すことにする。
例えば、猿の例だと、
で、猿が小さな箱を選ぶという行動を行えば、
となるし、大きな箱を選ぶという行動を行えば、
という状態になる。
ところで、環境の状態がであるとき、エージェントが選択することが可能な行動というのは、限られている。
そこで、状態がのときにエージェントが選択可能な行動の集合をと書くことにする。
例えば、猿の例だと、
だし、
となる。
エージェントが状態で行った行動をとすると、次の状態が定まり、そして、報酬を受け取ることになる。
(もちろん、報酬は0の場合もあるし、マイナスならそれは罰を意味する)
例えば、猿の例であれば、であるとき、
そして、例えばであるとき、
となる。
気をつけなければならないのは、「小さな箱を選ぶ」とか「大きな箱を選ぶ」では、報酬も罰も与えられないということ。
「評価を与える」という表現だと、「小さい箱を選ぶ」よりも「大きな箱を選ぶ」方がより正解に近いので、ついつい「大きな箱を選ぶ」という行動に評価を与えてしまいそうになるけれど、そうではない。
「報酬や罰」というのは、環境からエージェントに対して与えられるものであって、それ以外の知識などから与えられるものではないということに注意しなければならない。
(これが強化学習について学んでみた。(その1) - いものやま。で“本当は「評価」ではなく「報酬」が与えられる”と書いた理由)
まとめると、次のような繰り返しが行われることになる。
- エージェントに環境の状態が与えられる。
- エージェントはその状態で選択可能な行動の集合から行動を一つ選択する。
この行動をとする。 - エージェントの選択した行動により、環境の状態はになり、報酬が与えられる。
- 状態を次にエージェントに与えられる状態として、1.に戻る。
図に表すと、次のような感じ。
方策と価値関数
ところで、状態で行動を選択したときの次の状態と報酬は環境によって決められるので、エージェントの学習で変化していくようなものではない。
では、エージェントが学習することで変わっていくものはなんなのかというと、それは「エージェントの行動の選び方」を表す確率である、方策(ポリシー)が更新されていくことになる。
時間ステップにおける方策は]という写像で、例えば]というのは、状態のときにエージェントが行動を選ぶ確率を表すことになる。
じゃあ、どうやってこの方策をどうやって改善していくのかというと、エージェントは内部的に「行動(や状態)の価値」を表現する価値関数というものを持っていて、得られた報酬を使ってこの価値関数を更新していくことで、方策を改善していくことになる。
「やった行動」と「それによって得られた報酬」とを結びつけることで、「行動(や状態)の価値」の推定、改善していくわけで、これがまさに(心理学の用語の)「強化」になる、というわけだ。
今日はここまで!
- 作者: Richard S.Sutton,Andrew G.Barto,三上貞芳,皆川雅章
- 出版社/メーカー: 森北出版
- 発売日: 2000/12/01
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 76回
- この商品を含むブログ (29件) を見る