強化学習
エージェントと呼ばれる個体が環境において観測した状態と学習した方策をもとに行動を決定し、環境から受け取った報酬をもとに方策を変化させるというのを繰り返す
なんのこっちゃと思うかもしれないので一例を図説。
例えば 4 x 4 のマス目を考える。GOAL にいるときエージェントは報酬をもらえるとしよう。これが環境である
https://gyazo.com/e806e6705f5c464b8e60b9bce15c17a9
赤い場所にエージェントがいたとしてその位置を $ (2, 1) と表すとする。エージェントは自身の位置を知ることができる。これが状態である
https://gyazo.com/e75018a710909c1e66cd510f8057881f
エージェントは上下左右の行動を選ぶことができ、行動によって自分の状態(この場合位置)が変わる
https://gyazo.com/d2996a035678a8640d962378c0f9c17e
どの行動を選ぶかを決めるのが方策である
方策の決め方は色々ある
最初は行動をランダムに動きマスごとに適当な重みを振っていって、学習の最後は重みに従って動くとしよう
重みはマス目(状態)から見て上下左右の方向(行動)にそれぞれ割り振るとしよう。初期値はゼロとする
https://gyazo.com/e49b8bae93b4ae0ea0c0562352fab6bf
学習を初めて行う場合、エージェントは完全にランダム動く。その結果以下のような道筋をたどって START から GOAL にたどり着いたとする
https://gyazo.com/9943a85ca477ee5d9b61ed7e7627fe20
今通った経路をもとにゴールへ向かう重みを 0.1 ずつ上げてみよう
https://gyazo.com/2c7360f8d658bf57ad74169af18b47a7
重みはマス目でどの方向に行けば GOAL にたどり着くかヒントになる
しかしこの場合は明らかに最短とは言えない経路を辿っている
そこで 2 回目の学習を行う
ただし1 回目とは違い完全にランダムではなく、90% はランダム、残り 10% は重みが一番大きい方向に行くとする
このようにランダムに行動する確率を段々と少なくしていき学習を繰り返すといずれ最短(っぽい)道が重み付けによって表される