DQN
📑 目次を表示

DQLの仕組みについて

難易度⭐︎⭐︎

導入

こんにちは、こんばんは。

今回から、強化学習の一種であるDQLと、その中でもよく使われているDQNという手法について語っていきたいと思います。

機械学習の分類

皆さんはAI(Artificial Intelligence)という言葉をご存知ですか? このページを見ている皆さんですから知らない方は珍しいと思いますが、 一応簡単に説明すると、コンピュータが人間のように推論・思考や学習を行う技術です。

あるタスクを解決または思考するAIは、そのタスクに関する膨大なデータを用いて学習することで作られます。 そのような学習を機械学習といい、各手法は主に以下の3つのグループに分けることができます。

  • 教師あり学習
  • 教師なし学習
  • 強化学習

教師あり学習は教師データと呼ばれる、正解のラベルが存在し、学習中のAIが推論した結果とその正解を比較してAIの修正を行うことでAIを学習させていきます。

教師なし学習は正解ラベルが与えられず、与えられたデータから特徴を読み取り分類するよう自律的に学習させる方法です。

強化学習は、教師データを与えられる代わりに、AIが出した結果に対して報酬(または罰)を与えて、その報酬が最大となるように修正していく手法です。

そして、その強化学習の手法の一つが今回から解説していくDQL(DQN)になります。

DQL・DQNについて

DQLとは「Deep Q-Learning」、DQNは「Deep Q-Network」の頭文字をとった略語です。

同じ強化学習にQ学習という手法があり、このQ学習と深層ニューラルネットワーク(DNN)を合わせるアプローチ方法がDQLであり、その具体的な手法がDQNです。

昨今ではDQLとDQNはほぼ同義の語として使われているため、この2つの違いは特に気にする必要がないです。このサイトでも同義としてみなし、基本DQNとして紹介していきます。

話を元に戻しますが、Q学習とは、ある状態である行動を行った際の、 現在と将来得られる見込みの報酬の値(Q値)を表にまとめたQテーブルを更新することで、 Qテーブルを最適化し、ある状態での最適な行動を選択できるようにする学習方法です。

このQ学習は、Qテーブルが離散的な値しか持つことができず、 連続な値を処理したり状態や行動のパターンが多い場合、学習がなかなか収束(最適化)しない・ データ量が多くなるという点から、単純な状態や行動しか学習することができないこと がデメリットでした。

そんなQ学習が生まれて約24年後の2013年に、Deep Mind社(Googleの子会社)がQ学習とDNNを組み合わせたDQNを発表しました。

DQNでは、ニューラルネットワーク(後述)を使うため、連続な値を入力値として与えることができ、複雑な入力を素早く処理できるようになりました。

次のsectionでは具体的なDQNの仕組みについて解説していきます。