7章ニューラルネットワークとQ学習

これまで私たちは、状態と行動のサイズが小さな問題だけを扱ってきました。たとえば「3×4のグリッドワールド」の問題では、状態の候補が12個、行動の候補が4個だったので、Q関数の候補は全部で12 \times 4 = 48個です。それぐらいのサイズであれば、Q関数をテーブルとして(Pythonのコードではディクショナリとして)保持することには何の問題もありません。しかし、現実はより複雑です。状態も行動の候補も膨大になる可能性があります。そのような問題に対して、これまでどおりテーブルとしてQ関数を持つことは現実的ではありません。

たとえばチェスの場合、コマの並びのパターンは10の123乗通りあります。つまり、状態がその数だけあるということです。それをテーブルとして保持することは現実には不可能です。さらに問題なのが、テーブルのひとつひとつの要素を独立して評価・改善しなければならない点です。それだけ莫大な数をすべて経験することは現実的ではありません。

この問題を解決するには、Q関数をコンパクトな関数で近似することが考えられます。そのための最も有力な手法が、ディープラーニングです。強化学習とディープラーニングが合わさることで、これまで多くのイノベーションが起きてきました。これから私たちは、ついに深層強化学習へと進みます。

本章では、初めにDeZeroというディープラーニングのフレームワークの使い方を説明します。そしてDeZeroを使って、ニューラルネットワークの基礎を学びます。その後に、前章で実装したQ学習を、今度はニューラルネットワークを使って実装します。 ...

Get ゼロから作るDeep Learning ❹ ―強化学習編 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.