●どのテキストを読めば良いか
強化学習(Reinforcemnet Learning)をタイトルにしたもの以外に、機械学習関係の書籍の中にも、強化学習が説明されている場合もあります。とりあえず、私のチョイスは以下の3冊です。参考文献[1]は、Suttonによるバイブルとも言われる書籍です。丁寧に書かれていますが、500ページを越える分量にちょっと圧倒されます。これは大相撲で言えば、三役級でしょう。参考文献[2]は、著者の教育研究経験から、「分かりやすさ、易しさ」を重視していますが、後半はかなり高度な内容となっています。少なくとも幕内級〜三役級。
参考文献[3]、これこそが、今回取り上げた「20ページで具体的に理解できる」書籍なのです。これは、大内東教授(当時北大)らが、2002年に出版したものです。タイトルは、マルチエージェントとなっていますが、第3章第2節「強化学習」20ページ分が素晴らしい。分かりやすく簡潔にして厳密な説明が一貫しており、簡単な例題に対しては自分でプログラムを書いて(書籍には示されていません)確かめることまでできます。これをマスターすれば、少なくとも十両級。
●20頁だけで学ぶ強化学習の基本事項
この書籍の強化学習で学ぶことは、マルコフ性とマルコフ決定過程、それに基づく状態価値関数とその計算のためのTD(0)学習、行動価値関数とその計算のためのQ学習などです。具体的な数式は図2のとおりですが、ここに出てくる記号、数式で挫折しないように、丁寧かつ一定の厳密さで説明されています。なかなか素晴らしと思います。
さらに、大規模な問題でQ学習を行う際に問題となる、「知識利用と探索のジレンマ」の説明もあります。Q学習の高速化を図るために、エージェントはランダム方策以外に、グリーディ方策やεグリーディ方策も取れることを、簡単な例で(その長所短所も)説明しています。
●簡単な例題に対してQ学習プログラムを自作する
基本事項を学んだあとは、簡単な例題で具体的に動作を確認することが重要です。この書籍では、3x3のタイルワールドにおいて、初期状態からゴールまでの最短経路をたどるタスクを取り上げています。図3(a)左側のものですが、ゴール状態に達した時のみ報酬10.0がもらえるようになっています。人間なら、それは最短経路は斜めに進むこと、と直ぐに分かります。この強化学習では、行動価値関数をQ学習で求めることにより、それと同じ結論に達します。図3(a)の右側にその様子を示しました。(右側の図はテキストには載っていません。自作です。)
次に少しだけ条件を変えてみます。参考文献[1]の例題にあった「ワープ」を取り入れてみます。すなわち、状態1に到達した場合は直ちに(そのステップにおいて)状態4へワープすることにします。それに対するQ学習の結果が、図3(b)右側です。Q(0,NE) = Q(0,E) = 9.0となったこと、また、Q(1,NE) = Q(4, NE) = 10.0となったことから、この場合もQ学習がうまく行ったと言えます。
図3(a)、図3(b)の右側のような学習結果を得るために、図4のようなJavaプログラムを書きました。50行ほどの短いものです。書籍には、Q学習アルゴリズムはPseudo Codeとして示されていますが、具体的なソースリストは提供されていません。それがまた良いところです。自作することで、強化学習の理解がさらに深まると思いますので。
以上で、小生の強化学習は、幕下から十両まで昇進しました。(ちょっと甘いかも?)その後は、参考文献[2]や[1]がかなり読みやすくなると感じています。また、MATLABやAmazon AWSなどには、強化学習ツール/フレームワークがあり、種々のプロパティを設定するなど、宣言的記述を主とした少ないコーデイングでタスクを実行できる環境を提供しています。今回の基本知識を得た後は、それらも(それほど容易とは思われませんが)活用できるようになるかと思います。
[参考文献]
[1] Richard S. Sutton, Andrew G. Barto : Reinforcement Learning: An Introduction 2nd Edition (Adaptive Computation and Machine Learning series), The MIT Press, 2018.(pdf版は無償公開されているのでびっくりです)
[2] 曽我部東馬:強化学習アルゴリズム入門: 「平均」からはじめる基礎と応用、オーム社、2019.
[3] 大内東、川村秀憲、山本雅人:マルチエージェントシステムの基礎と応用―複雑系工学の計算パラダイム、コロナ社、2002.
0 件のコメント:
コメントを投稿