2021年6月9日水曜日

「強化学習理論入門」の最終章は深層学習だった

 【what is this】強化学習理論入門を書籍[1]で学んできましたが、その最終章(第5章)は深層学習でQ-Learningを行うものでした。ここでその技術を述べることはできませんが、最後の例題「あるけあるけゲーム」でその魅力に浸りたいと思います。

DQN(Deep Q Network)
 これまでに、行動ポリシーπについて、状態価値関数Vπ(s)や、行動-状態価値関数qπ(s, a)を計算して、最善の行動ポリシーを求めることをやってきました。しかし、状態(s)の数が非常に大きい場合などは、全ての状態についてこれらの関数値を保存しながら利用することは困難となります。(例えば、囲碁の場合、盤面の状態の数は10の172乗というとてつもない数になると言われています。)
 そういう状況で、状態価値関数や行動-状態価値関数の近似値を、ニューラルネットワークを利用して計算するというのが、この書籍[1]の最終章のテーマです。特に、先に述べたQ-Learningをニューラルネットワークで行うのが、DQN(Deep Q Network)です。また、この実行性能をさらに高めるために、「モンテカルロ・ツリーサーチ」の基本(実行時の一歩先読み)についても取り上げられています。

DQNによる「あるけあるけゲーム」
 ここでとりあげる「あるけあるけゲーム」の規則は、図1の右側の説明にあります。キャラクターは障害物(および自分の辿った場所)を避けて、できるだけ長く歩く、というものです。何の方策もなく歩くと、図1の結果のように、長さ(Length)5程度で短く終わる場合が多いです。自分の軌跡に戻ってしまってゲーム終了となる場合も多いです。


 これに対して、DQNで一定程度学習した後に歩かせると、図2のとおり、長さ20程度まで伸びる場合が多いです。


 このDQNでの学習結果を使って、実行時にさらに一歩先読みする方法(モンテカルロ・ツリーサーチの考え方に基づく)によれば、図3のとおり、著しく長く歩くことができます。なかなか素晴らしい結果だと思います。


上記DQNの構成と実行時間
 このゲームを、如何にしてベルマン方程式に結びつけるか(アクション、報酬、状態の設計)、そして、さらにどのようにニューラルネットワークで学習させるのか、それを学べるのが、この書籍の第5章なのです。図4はその最終的な結論としてのDQNのネットワーク構成です。詳細を掴むにはこの書籍を読んで戴く必要がありますが、画像認識で多用されている畳み込みフィルター(conv2d層)が使われている点がポイントの一つです。これは、別々のレイヤーに置かれたキャラクタと障害物の位置関係を把握するためです。


 畳み込みフィルタ(5x5を8種)、隠れ層2層(2,048ニューロンと1,024ニューロン)などが含まれているので、辺の重みやフィルタ値など合計で約500万個のパラメータを最適化することになります。そのため、Google Colab(GPU利用)で、図2に示した学習に約30分を要しました。しかし、パラメータ数は膨大のようにみえますが、上記のゲーム場面のすべての状態数よりははるかに少ないです。

本書[1]で学んだ感想
 基礎から始めて高度な強化学習理論が実に丁寧に説明されており、最後まで挫折せずに読めました。書籍によっては、最初は緻密な説明がなされていても、途中から杜撰な叙述になったり、急に飛ばしはじめたりする場合もあるのですが、本書は全くぶれることなく、最後まで緻密な説明で貫かれています。Pythonのコードの説明も、同様に非常に詳しく、読者にとってとてもありがたい。完全に理解したとは言えないかも知れないが、この強化学習理論の専門書(5章構成、全283ページ)を丸々一冊読み上げたということで、力がついた気がします。
 なお、著者自身によって、この書籍全体を要約解説したスライド50枚も公開[2]されており、(本書を読み終わった後に)知識を整理するのに大いに役立つと感じました。

本書に関する小生のブログ記事
 実は、この書を読みながら、自分のメモとして、これまでに、以下の記事をこのブログに書いて来ましたので、よろしけばご参考にされたい。

[第1章] 強化学習のゴールと課題
[第2章] 環境モデルを用いた強化学習の枠組み
[第3章] 行動ポリシーの改善アルゴリズム
[第4章] サンプリングを用いた学習法
[第5章] ニューラルネットワークによる関数近似
 ・「強化学習理論入門」の最終章は深層学習だった(↑今回の記事)

[参考文献]
[1] 中井悦司:ITエンジニアのための強化学習理論入門、技術評論社、2020年7月
[2] 中井悦司:60分で学ぶ「強化学習理論入門」、2020/09/04
https://speakerdeck.com/enakai00/60fen-dexue-bu-qiang-hua-xue-xi-li-lun-ru-men?slide=50

0 件のコメント:

コメントを投稿