誤差関数を求め、Q-networkの重みを更新します。設定した試行ステップごとにTarget-Networkの重みを更新します。at)のから任意の個数を取得します。そのデータを利用して、設定したミニバッチ数でTarget-networkの重みの学習を行ないます。求められたTarget-networkの重みをQ-networkと同期します。更新された重みが適用されたQ-networkで、1から4を繰り返します。Q-networkに状態を入力し、重みの学習をスタートします。出力された値で実際に行動をしてみます。行動の基準には、ε-greedy法と呼ばれる手法が使われますが、こちらは後ほどご紹介します。続いて、誤差関数(TD誤差)を用いて誤差を求めます。L0=E[1⁄2(R(s,a)+γmaxa′Q0i−1(s′,a′)−Q0(s,a))2]R(s,a)+γmaxa′Q0i−1(s′,a′)−Q0(s,a)が教師あり学習で言うところの教師ラベル時刻tで状態s1であった場合に行動a1を採用したとすると、出力層の値はQ(s1,a1)となります。出力層の値Q(s1,a1)が目標値Rt+1+γmaxQ(st+1,a)と近くなればいいことになります。誤差関数を求め、更新する新しい重みを最適化アルゴリズムにしたがって計算し、新しい重みを適用して学習を進めます。ここまでは通常のニューラルネットワークと同じ仕組みですが、DQNはもう一つのニューラルネットワークを使うことが特徴となっています。そのもう一つのニューラルネットワークをTarget-Networkと呼んでいます。at)のから任意の個数を取得し、そのデータを利用して、設定したミニバッチ数でTarget-networkの重みの学習を行ないます。Replayと呼びますが、詳細は後述します。求められたTarget-networkの重みをQ-networkと同期し、Q-networkの学習を続けます。このようにして、Q-networkでの学習を一定行い、それを元にTarget-networkの学習、その結果をさらにQ-networkに適用して学習・・・ということを続けて行なうのがDQNの特徴です。学習済みモデルはこのニューラルネットワークの重みが適用されたものになるため、ある状態を入力することでQ値が出力され、最もQ値が高い行動ノードが選択される、という仕組みになっています。Q-Network)の学習手順で紹介した用語をまとめておきましょう。DQNは様々なアルゴリズムが複雑に絡まり合うため、少し分かりづらいところがあるかもしれませんが、一つ一つ確認してみてください。行動選択の一定数をランダムに選択することで、他にいい行動がないかを探索させる手法です。強化学習では、最適な行動を見つけ出すために、Q値の高い行動を選択することが求められますが、そうするとデメリットがあります。それは、試行の最初の頃にQ値が高い行動を見つけると、とにかくその行動を取り続けるということです。いいことのようにも見えますが、Q値が高いと言ってもそれまでの行動の中でたまたま高いだけですので、もしかしたら試行していない行動の中にもっといい行動が存在しているかもしれません。0.3)し、行動選択の際に0~1の間の乱数を生成し、その値がε以下であればランダムに行動を選択するという手法です。基本的にはQ値が高い行動を取るけれども、たまには別の行動も試行してみよう、という考え方なのです。buffer)に各ステップの内容を保存しておき、メモリから内容をランダムに取り出して(replay)、ニューラルネットワークに学習させる方法です。各ステップごとにそのステップの内容を学習すると、時間的に相関が高い内容(つまり時刻tの学習内容と時刻t+1の学習内容はとても似ている)をニューラルネットワークが学習するので、学習が安定しづらい(過学習が起きやすい)という問題が発生します。Replayはこの問題を解決する工夫です。まとめいかがだったでしょうか?少し難しい内容になってしまったかもしれません。Q-Network)を始めとする深層強化学習アルゴリズムは、ディープニューラルネットワークを使用したディープラーニング(深層学習)が元になっているため、ディープラーニングを理解していないと難しくなってしまいます。ディープラーニングについて体系的に理解し、強化学習のプログラムも組めるセミナー(https://ai-kenkyujo.com/seminar/)も是非ご活用ください。私たちAI研究所は、ビジネス向けAI完全攻略セミナーを開催しています。初心者でも数学がわからなくてもより詳しく理解したい方でも満足いただける内容となっており、おかげさまで1,500人を超える受講者の方に受講していただきました。AI未経験者でも1日のセミナーを通してAIの理論や仕組みを理解し、AIを業務で活用できるようになります。AIプロジェクトを進めたい方にオススメのセミナーです。「AI(人工知能)ってなんだか分からないけど、凄そう」「ディープラーニングって用語を最近よく聞くけど、何の事を言っているのかさっぱり分からない」そういった人たちや、AI(人工知能)を使って業務効率を計りたいけど何をやったらいか分からないという方にもオススメのセミナーです。私たちAI研究所は、AIエンジニアになるための3日間集中セミナーを開催しています。AIやプログラム未経験者でも3日間のセミナーを通してAIの理論や仕組みを理解し、AIのプログラムを構築できるようになります。「AI(人工知能)ってなんだか分からないけど、凄そう」「ディープラーニングって用語を最近よく聞くけど、何の事を言っているのかさっぱり分からない」そういった人たちや、AI(人工知能)を使って業務効率を計りたいけど何をやったらいか分からないという方にもオススメのセミナーです。事務経験を経て、2016年9月よりAI研究所に入所。AIセミナー責任者、講師。AIについての幅広い知識を持ち、人に分かりやすく伝える技術を持つ。AIを事業や仕事に取り入れる方法について日々講義しています。RESERVED.ご希望のコースを選択してください。自分でコースを自由にカスタマイズする。