連載「探索と活用のアルゴリズム」
公開順に読み進められる連載です。
- ε-greedy法は人生に似ている、という話を実際に手を動かして確かめてみた
強化学習の基本手法であるε-greedy法を多腕バンディット問題の実験で確認しながら、「基本の方針を守りつつ、たまに未知の選択をする」ことの意味を人生になぞらえて考えてみた
- 「そろそろ攻めるか」を勘で決めない。UCBとThompson samplingをε-greedyと競走させた
ε-greedyの「探索するかどうかをサイコロで決める」やり方を卒業して、不確実性そのものを計算して探索を決める2大手法——楽観主義のUCBと、信念からのサンプリングで決めるThompson sampling——を実装した。10本腕バンディットでの累積後悔はε-greedy 395 / UCB 185 / Thompson 79と明確な差がつき、UCBの信頼ボーナスが縮んでいく様子と、Thompsonの信念分布が尖っていく様子をアニメーションで確かめた
- Q学習で迷路を解いたら、報酬が出口から逆向きに染みてきた。そして崖っぷちを攻めるQ学習と、遠回りするSARSA
バンディットの次は迷路——「状態」と「遅れてくる報酬」の世界へ。Q学習をnumpyで実装し、価値が出口から逆向きに伝播してくる様子を矢印マップのアニメーションで可視化した。初回178ステップの迷子が400エピソードで23ステップに。さらに崖歩き問題でQ学習とSARSAを競わせると、同じ迷路で「崖っぷちの最短路を攻める楽観主義者」と「安全な遠回りを選ぶ慎重派」に性格が分かれた。おまけ: np.argmaxの仕様のせいでエージェントが北の壁に頭を打ち続けた失敗談つき