〜ITとかの勉強レポート〜ボクが勉強したプログラミングやIT関連の情報を記事にしていきます。機械学習や深層学習なども取り扱います。この広告は、90日以上更新していないブログに表示しています。Gymのフローズンレイクに挑戦します。目標は前回までのQラーニングよりさらにゲームが上手いAIを作ることです。Q-Networkについて簡単に説明しておきます。ステートと重みをかけ合わせてQ値を求めます。メモリの節約や計算の高速化ができます。Q値の目標値と推定値の二乗和誤差を最小にする重みを計算する手法です。損失関数は下の通りです。Q)2ひとまずコーディングしてみます。Pythonでサクサク書いていきましょう。dtype=tf.float32)#重みを正規分布で用意する。Qout))#勾配降下法。trainer.minimize(loss)ここまでをまず説明します。input1は1×16のベクトルです。15個の0と1個の1が格納されています。ゲームのフィールドのどこにいるかの情報を入れておく変数です。Wは16×4のベクトルでinputs1と掛け算できる形に作ります。inputs1とWをかけ合わせるとQ値が1×4のベクトルで得られます。このベクトルの中身で最大の値をとるindexを1の値にして取り出します。アクションした後のQ値と比較します。今選んだQ値とその結果得られるQ値の差が最小になる重みWを求めていくことでAIが賢くなっていきます。学習させるコードを一気に書いていきましょう。#トレーニングをする。"%")全ゲーム中、どれくらいゴールできたか:67.50500000000001%前回よりかなり賢くなってますね。ゴールもちゃんとできています。Gymに挑戦!Tweet広告を非表示にする関連記事2018-04-25OpenCVの基本操作の一部OpenCVをPythonで操作する基本的な話をメモ的に記載します。一言で言うと多層のQネットワークです。»プロフィールid:realJボクが勉強したプログラミングやIT関連の情報を記事にしていきます。機械学習や深層学習なども取り扱います。2019でVBA使って登録フォーム作ってみたUnityでクソゲー再び久しぶりにUnityでクソゲー作ってたPyQの1個目のコースをコンプしたPyQの中級編コンプした!月別アーカイブはてなブログをはじめよう!realJさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。