[過去ログ] 【オセロ,将棋】ボードゲーム【囲碁,War】 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
959: 535 2017/09/24(日)20:00 ID:nEz2fGFF(2/4) AAS
C++にもってくるの現状そんな簡単じゃないっぽいorz.
960: 535 2017/09/24(日)23:27 ID:nEz2fGFF(3/4) AAS
windows上でtensorflowをコードからビルドとかマジすか?
961: 310 2017/09/24(日)23:40 ID:1rFk/uJ5(3/3) AAS
ウェイトデータをバイナリで持ってきて、フォワード計算を自分で書くってのじゃダメ?
パッケージに任せたい面倒くさいところって、バックワード部分だから。
自分の場合、mctsで並列処理していて、使用している行列パッケージのEigenも並列
計算していて、両方で並列化しちゃうとスレッド取り合って劇遅になっちゃうし、Eigenを
シングルスレッドで動かす時のオーバーヘッドが気になったので、AIで使用する時の
フォワード計算は自分で書きました。
962: 535 2017/09/24(日)23:49 ID:nEz2fGFF(4/4) AAS
うーんそれが一番妥当ですかね〜
ありがとうございます。
でもバグなく書けるか若干心配w
963: 310 2017/09/26(火)00:08 ID:TqyA8LQm(1) AAS
強化学習、ずっと学習続けていると、途中で弱くなっていく。
アルファ碁のやり方をまねていたけど、一旦超シンプルな方法に変えてみて、
とにかく施行回数を増やしてみます。
強化学習を使って、序盤の評価関数が作れないか検討開始。
あと、時々出ていた終盤探索のバグ。
今度はたぶん大丈夫だと思う。
何度目の大丈夫だって状態だけど(汗
964: 535 2017/09/26(火)00:31 ID:Q8jANAxD(1) AAS
学習率って何気に大事なパラメータですね。
速度がかなり違う。
もっと大胆に攻めた値にすべきかな?
965: 310 2017/09/27(水)10:06 ID:CCZHsP7K(1) AAS
学習率は大事だけど、今時はRMSPropとかADAMとかで
自動計算にしちゃうんじゃないの?
966: 535 2017/09/27(水)21:24 ID:PlFiGlJN(1) AAS
詳しいことはよくわかりませんが、最適化の関数名はAdamOptimizerとなっているのでそうなのかもしれませんね。
学習率のパラメータ渡すところも引数省略可能っぽいですね〜
自動計算のほうがいいんだろか?。
参考にした本には学習率設定してありましたのでマネしました。
967: 310 2017/09/29(金)10:10 ID:Cw2Mz5dw(1) AAS
それならAdamですね。Tensor Flowなら当たり前ですね。
学習率ってだけだったので、Optimizer無しの学習率だと思いました(汗
省略時引数はたぶんモデル発表者の提示した推奨値です。
まあ、パラメータをいじるかどうかは、個々人の好みとい事で。
968: 535 2017/09/30(土)19:50 ID:d6qWS2yh(1/3) AAS
フィルターの数も多けりゃ多いほど誤差が減るって単純なものでもないみたいですね。
多すぎると最適化が収束しなくなるっぽい。
969: 535 2017/09/30(土)20:37 ID:d6qWS2yh(2/3) AAS
パラメータいじりの沼にはまりそうorz
970: 535 2017/09/30(土)20:50 ID:d6qWS2yh(3/3) AAS
メモリ!メモリが足らん!
971: 310 2017/09/30(土)23:21 ID:WQNilA4m(1/3) AAS
フィルタ数は大きければ大きいほど良いのですが、学習に必要な時間が恐ろしく
長くなります。十分に多いフィルタ数で収束できる事を確認したうえで、だんだんと
減らして行くなんて作業になります。段数についても一緒。
ロースペックマシンだと1回試すのに下手すると数週間とかあり得るのです。
かといって、精度が出せないレベルの簡素なモデルで試しても、いつまでたって
も収束せずに、まだかなみたいな。モデルの複雑さが足りているかいないかが
わからない点が、困ったちゃんなのです。
さて、強化学習ですが、なんとなく学習しているようにも見えるし、最適解の周囲を
振動しているようにも見えます。ふと思い付いたのですが、最適化(SMORMS3って
奴を使用)をやめて、ただの学習率(もしくは、学習率の漸減)にした方が、動きが
素直になって良いのかも。
今のスピードは1時間に100万対戦。1億対戦するのに4日強かかるわけで。まだ
試行回数が足りていないかもしれないし、そもそもただの線形ではモデルが簡単すぎ
るのかもしれません。
というわけで、CNN使わずに線形でやっても同じ問題が起きまするorz
972: 310 2017/09/30(土)23:46 ID:WQNilA4m(2/3) AAS
フィルタ数は大きければ大きいほど良いのですが、1回の学習に必要な時間が
フィルタ数に比例して長くなります。十分に多いフィルタ数で収束できる事を確認
したうえで、だんだんと減らして行くなんて作業になります。段数についても一緒。
これ、1サイクルの計算時間の話なので、収束しやすさについては、複雑さが
増すとさらに時間がかかる可能性あります。
ロースペックマシンだと収束できるか確認するのに下手すると1か月とかあり得ます。
かといって、精度が出せないレベルの簡素なモデルで試しても、いつまでたって
も収束せずに、まだかなみたいな。モデルの複雑さが足りているかいないかが
わからない点が、困ったちゃんなのです。
さて、強化学習ですが、なんとなく学習しているようにも見えるし、最適解の周囲を
振動しているようにも見えます。ふと思い付いたのですが、強化学習に限っては、
最適化(SMORMS3を使用)をやめて、ただの学習率(もしくは、学習率の漸減)に
した方が、動きが素直になって良いのかも。
今のスピードは1時間に100万対戦。1億対戦するのに4日強かかるわけで。まだ
試行回数が足りていないかもしれないし、そもそもただの線形ではモデルが簡単すぎ
るのかもしれません。
というわけで、CNN使わずに線形でやっても同じ問題が起きまするorz
973: 310 2017/09/30(土)23:46 ID:WQNilA4m(3/3) AAS
あれ、2度書きになってしまった。
しかも内容が微妙に違うw
974: 310 2017/10/02(月)22:13 ID:GHWiob/2(1) AAS
いやぁ、またやっちまった。
バリューの評価値計算が間違っているの気が付いて、リセットしようとしたら、
間違えてポリシーの強化学習の方をリセットしてしまった。またやり直しです。
ちなみに、ただの学習率ってのSGDですね。ようやく思い出した。
ついでなので、若干パラメータ変えて強化学習再開。
時間あたり試行回数は減るけど、トータルで少しは学習が速くなるはず。
975: 535 2017/10/04(水)21:07 ID:Ls8WOlwm(1) AAS
CNNのフォーワード計算自前で書くの結構面倒くさいなぁ。
バグなく書けるかも心配だし。
うーん。
ここで足踏みしてます。
976: 310 2017/10/04(水)22:00 ID:GdIdmn03(1) AAS
オライリー本のゼロから作るDeep Learningって本ではPythonでのコードが載ってた
けど、畳み込みのところをim2colとかいう関数で展開して、行列計算に落としこんでた。
im2colのソースを探したけど、見つからなくて放置してますが、あれが常道だと思います。
977: 310 2017/10/05(木)22:33 ID:sIPpafz3(1) AAS
ポリシーの強化学習、遅々として進んでいます(汗
時々、テストでMCTS動かしてポリシーの学習値を見ているのですが、
学習対象の全48手のうち、後ろ12手分くらい、それっぽく濃淡がついてきてます。
このまま続けたら、もっと前の方まで学習してくれると期待しているのですが、ここ
からが分岐が多い箇所なので、どれくらい時間がかかるか想像がつかない。
で、ポリシーの強化学習の結果を使って、バリューの方も学習させていたのですが、
やはり無理がある事に思い至りました。バリューはバリューで別途強化学習をさせ
ないといけない模様。どちらかというとバリューの方が大事なので、このままポリシー
の学習を続けるか、一旦棚上げしてバリューの方に乗り換えるか、悩み中。
学習中のポリシーをMCTSに組み込んだところ、速度低下が著しい。メモリーのランダム
アクセスが原因だと思う。速度アップネタをいくつか模索してみたいと思いますが、
変更が重いので、いつやるかこちらも悩み中。
978: 535 2017/10/06(金)23:07 ID:Zz+2m3w3(1) AAS
天頂7発売するらしいですね
これは買うしか無い
それに合わせてpcも買い換えるチャンスか?
悩ましい
979: 535 2017/10/08(日)00:36 ID:wvFd88H+(1/2) AAS
tensorflowを捨ててC++で使いやすい別のフレームワークを探そうかと思案中
でもtensorflow捨てるの勿体ないなぁとも思う
980: 535 2017/10/08(日)01:13 ID:wvFd88H+(2/2) AAS
ググったらtiny-dnnというのがヒットした。
ちょっと調べてみるか
981: 310 2017/10/08(日)01:29 ID:rkcq5jaW(1) AAS
C++なフレームワークってほとんどないです。
自分はtiny_dnnくらいしか見つけられなかったけど、あまりに学習に時間がかかった
ので放置です。やっぱ、それなりのPC環境無いとダメなんでしょうね。
自分といえば、やっぱりバリューが大事と言う結論に。
あわせてグチャグチャになっていた強化学習回りのソースの全面整理と、mcts時の
速度改善のために、ポリシーとバリューのウェイトをセットで扱うように変更。
先ほど、ようやくまともに学習するようになったと思います。そう思いたい(汗
これでまた1週間かなぁ。
バリューは記譜使って、多少は事前学習できるけど。
982: 535 2017/10/09(月)22:53 ID:6ifm6Vf2(1/3) AAS
tiny-dnnパッと見なかなか良さげな感じだがネットの情報だけだとよくわからん。orz.
tiny-dnnの良い入門書籍ないかな〜
983: 535 2017/10/09(月)23:43 ID:6ifm6Vf2(2/3) AAS
うお、examplesがビルド通らね〜
めんどくせ〜
984: 535 2017/10/09(月)23:54 ID:6ifm6Vf2(3/3) AAS
コンパイラがC++14に対応してないといかんのか?
よくわからんorz.
985: 535 2017/10/10(火)21:01 ID:CbL+/Tjp(1/4) AAS
std::threadがないとかなんとか。
うーん。コンパイラ変えなきゃダメかなぁ?
986: 535 2017/10/10(火)21:28 ID:CbL+/Tjp(2/4) AAS
すいません。>>310さんはtiny-dnn動かせたんですよね?
コンパイラは何使ってますか?
987: 310 2017/10/10(火)22:31 ID:FL07aRsc(1) AAS
Visual Studio Communityの2017です。C++14対応してます。
GitHUBのtiny_dnnのページにC++14必須となってますね。
C++11あたりからC++がほとんど別物になっちゃったみたいですね。
自分は最近始めたばかりなので、詳しく知りませんが。
988: 535 2017/10/10(火)22:35 ID:CbL+/Tjp(3/4) AAS
VC++ですか〜ありがとうございます。
しょうがない、乗り換えるかorz.
上下前次1-新書関写板覧索設栞歴
あと 14 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.016s