Giter Site home page Giter Site logo

deep-q-network's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

ono-lab

deep-q-network's Issues

grad_norm_clipping

open ai実装では,勾配をnormが10までにクリッピングしている.
勾配をクリッピングするんじゃなくて,誤差をクリッピングするんだと思ってた.
10ってのもよくわからない.

CNNモデルなどについて

研究にすごく役立ちました。レポジトリありがとうございます。
今はすでにつばめで実行できましたが、いくつ問題があります。
1.CNN第二層の設定でdata_format='channels_first'がないため、出力が(None, 15, 9, 64)になりましたが、多分間違ったと思います。
2.元論文と違って、第三層を抜けた原因は計算量を抑えるためでしょうか。
3.epsilonの最終値はなぜ0.01に設定していますか。元論文の0.1より効果が良いですか。

gym.envのpongとbreakoutの行動数が6

本来pongとbreakoutは行動は[何もしない,上(左),下(右)]の3つであるはずだが,なぜかenv.actionspaceはDiscrete(6)を返す.

Q_Networkのinputのshapeが怪しい

model.pyのtest_init_q_networkで初期化すると,modelのinputのshape=(?, 4, 84, 84)になる.
なんで不定にしてるのかを忘れた.

記事構成memo

暫定的な記事構成めも

  • 概要
  • MDP
  • 価値関数法
  • Q-learning
  • 関数近似
  • DQN(とサーベイ)
  • 実験

状態の各値が取りうる範囲が謎

グレースケール化した場合,0から255が範囲になるが,Open AIの実装では255.0で割ることで0から1に正規化してる.
以下,Open AIのコメントに書いてあったこと,

careful! This undoes the memory optimization, use with smaller replay buffers only.

重みの初期化がよくわからない問題

概要

global_variables_initializer の初期化が何に基づいているのかよくわからない

解決案

networkつくるときに明示的に指定したほうがいい気がする

todoリスト bakanaouji

・gym.envのラッパークラス作成:完了
・DQNクラス作成:とりあえず完了
・メインクラス作成:とりあえず完了
・DQN実験:pong完了,breakoutもできるところまで実験中
・issues対処:更新中
・執筆:完了
・公開用のコード整理:まだ

todoリスト nomura

  • 文章書く 9/30(土)まで
  • サーベイ 9/30(土)まで
    • 書いたらあべくんにレビューもらう

考察実験の項目について

とりあえず候補
・普通のDQN:パラメータはなるべく論文と合わせたいけど,おそらく無理なので考え中.Open AIと合わせるか?
・Replay Memoryなし:Replay Memoryのサイズ=ミニバッチ数とすることで,過去のサンプルをなるべく用いないようにする
・Networkの構造:出力層の入力ユニット数を512→256にしてみる.Open AIと合わせたver.あんまり結果が変わらなそうなので,やらないかも.
・報酬クリッピングなし:報酬を[-1,1]にクリッピングしない.
・フレームスタックなし:状態を直近4step分の観測履歴→直近1step分の観測にする.画像のサイズは(84,84)で変えない.
・グレースケール化しない:観測した画像をそのまま用いる.フレームスタックもなしにしたほうがテンソルの次元数的にはいいかも.
・状態正規化しない:255で割るかどうか.単純に興味がある.

Tensorflowのunittestの仕方がわからない問題

入力に対してモデルの出力があっているかや,モデルの構造が意図したものかが確認の仕方がわからない.
モデルの構造に関してはビジュアル的に確認するのが最善な気がする.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.