読んでいる本(出典): 強化学習 : Richard S.Sutton, Andrew G.Barto, 三上 貞芳, 皆川 雅章 : 本 : Amazon.co.jp
今日読んだページ: 60~68ページ
以下、自分の解釈・感想・雑談。
- (前回)強化学習問題は、エージェント/環境と、その間を行き来する行動/状態/報酬で定義される。
- 報酬を掘り下げる。
- エージェントは総報酬の最大化を目指して環境と相互作用していく。その意味で報酬はエージェントの目標を形式化したものといえる(60ページ)。
- 61ページ前半に出てくる報酬設定の色々な例(ロボットに空き缶を集めさせるために空き缶を見つけたときに報酬+1を与えるとか)、とりあえずその報酬を大きくすることを目指すと学習ができるだろうというのは理解できるが、それが見通しのよい報酬設定なのかどうか全くわからない。そのような話は後で取り扱うのだろうけど。
- 報酬で「どのように目標を達成してほしいかではなく、何を達成してほしいか(61ページ)」を伝える。
- Ex. チェスを学習させたいときに報酬に駒の取り方のような部分目標を込めるとよくない(61ページ)。
- 今週ニュースになっていたリストラ助成金厳格化というのも、報酬設定が適切でなかった例だろう。雇用安定がゴールなのに、現行制度では人材派遣会社による支援という部分目標に報酬を与えたせいで、かえってリストラ教唆を誘因していたのなら。でも目標志向型タスクでも国の政策や投資戦略の類はファクターが多すぎてかつ動的なので抜け漏れをつぶすのは不可能に近いんだろう。
- 総報酬たる収益は、単なる報酬の合計にすることもあるし(有限ステップの場合)、 ステップ未来の報酬には割引率 を適用することもある(62~63ページ)。
- なんか急に現在価値みたいな話に。
- これら2パターン(後者は前者を包含するが)以外はあるのか(許容されるのか)わからなかった。
- 次に状態の話に入る。
- 「マルコフ性」のふりかえり。
- DLMの教科書で出てきた。そこでのマルコフ性はDLMのみならず状態空間モデルにおかれる仮定であって、状態 が を満たすことであった。
- マルコフ連鎖モンテカルロ法でマルコフ性が導入されるのはそれで便利なアルゴリズムになる上に評価もしやすい、ということでいいんだろうか。例えば各サンプル点が直前のサンプル点ではなくてもっと前のサンプル点に依存したっていいはずだけど、そうしてもそうなったことによる煩雑さを凌駕するほどの性能向上があるわけではないんだろう(MCMCの本を全部読んでいないので、全く間違ったことを言っているかもしれない)。状態空間モデルなどでも、それを仮定することによって便利に取り扱えるようになる(かつ、実際上の問題にもなじむ仮定である)ということではあると思うけど。
- 状態はそれを測定する機構も含み、もとの知覚より高度なものでありうる(67ページ)。
- 状態として各時点の温度の値を利用するのであれば、それは本来「温度」というより「温度計の目盛りが指す値を、自分の視力で読み取れる精度で読み取った値」などという方が正確なものだが、それを踏まえてその値を状態として扱うということだろう。
- 「yesという言葉を聞き、(67ページ)」のくだりの解釈: 相手の口から yes という言葉を聞くとき、我々が得る情報は、「この人 yes って言った」ではなく「この人は飲み会きてくれるぞ」などであるはず(状態を得るうえで知覚を処理している)。
- 「ある物体を見て、その後に目をそらせても、それがまだそこにあることを知っている(67ページ)」をみると、何かエージェントに状態を誤解させるようないたずらができそうな気がしてしまう。
- 人間の目には数字の5に見えないけど、手書き数字分類器に通したら5と判定されてしまうグレースケール画像をつくれるように。
- 話それるけど、大学院生のときホログラフィーの研究をしていて、ホログラフィーを人に説明するときに「そこにリンゴがなくても、そこにリンゴがあった場合と同じ波長で同じ角度の光が目に入ってきたら、あたかもそこにリンゴがあるように見える」と言っていたのでこれも似ていると思う。この導入を研究室見学にした学部生にしたらここで「そんなに噛み砕かなくていいですよw」と言われたけど。何も噛み砕いてなくこれが自分の言葉だけど。聞きたいスコープがあるならそっちから言ってほしいんだけど。もうどうでもいいけど。
- 練習問題 3.3
- 車の運転をタスクと捉えると、エージェントと環境の境界はどこに引くべきだろうかという問題。
- 自動車学校に通っていた期間しか車を運転したことがないのでイメージしづらいけど、人間と車の物理的な境界で線を引くと、人間は自分の体をいつも適切に制御できないのでは、という問題を取り扱えなくなる気はする。人間が運転する前提なら、教科書でいう「脳と身体の接点」で線引きする方がしっくりくる。ブレーキとアクセルを踏み間違える事故を起こしたとき、それは何にせよ「行動」を誤ったのだけど、それを「人間が車の部品への動作を誤った」と表現するより「脳から筋肉への指示を誤った」と表現する方が再発防止策(Ex. 脳のはたらきを阻害するような、携帯電話の使用などをしないこと)も打てるだろう。死んでいなければ。
- しかし車の運転によって目的地ににたどり着くことに焦点を当てるなら、風景や表式をみて直進したり右折したり左折したりすればよくて、直進も右折も左折も基本的に自分の意図通りにできるはずなので、自分も車もエージェント内部のように思える。自動運転の場合も、車の内部は機械的に制御できるような気がするので、車の内か外かというのが境界に思える。
- 練習問題 3.4
- 台車に取り付けられている棒が倒れないようにするタスクで、倒れてしまった場合のみに報酬-1を与える場合、各時点での収益を何にすればよいかという問題。
- 倒れるまでを1タスクとするなら、報酬の合計にしてはダメなのは明らか。どうあがいても-1なんだから。なので時間ステップに割引率を適用する。Q.E.D.
- 繰り返し試行し続けることをタスクとするなら、時間ステップが無限になるので結局割引率を適用する。
- 両者の差異は、後者では次以降のターンも意識する。棒がリセットされても台車の位置がリセットされないのなら、部屋の隅まで行くことによってこのターンの棒転倒を少しでも先延ばしにするより、部屋の真ん中近くで倒れておいて次のターン以降を有利に進めるということもあり得るのかもしれない。部屋の隅まで行くと台車の可動域に制約が出て棒の制御がしづらくなってくるだろうから。
- 練習問題 3.5
- 明らかに、ロボットに迷路を脱出させるのに、「脱出したときに+1の報酬を与え総報酬を収益とする」ということをやっては駄目。その収益は1にしかならないので、ロボットは永遠に迷路の脱出について習熟せず、迷路内をさまよって偶然に出られるのを待つだけの能力から進歩しない。これを修正するには、教科書61ページの例のパクリだけどあらゆる時間ステップで報酬-1を与えてその収益を総報酬としてもいいし、脱出したときにのみ報酬+1を与える方法であっても割引率を適用すれば、なるべく早い時間ステップで脱出することに優位性をもたせられるだろう。
3章の内容は、まだ完全に数式で記述されたタスクの具体例が出てきていないので、腹落ちしづらい。
2章のバンディットタスクなら数式で記述できるけどそこでの「状態」が何なのかこの時点でまだわからないので。