2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【オセロ,将棋】ボードゲーム【囲碁,War】

1 :名前は開発中のものです。:03/07/10 00:10 ID:6FQp6G+O.net
比較的地味なボードゲーム専用のスレが欲しくて立ててみました。

私はc言語で作ったデータベースを使って人間と対戦できる将棋かチェス
みたいなソフトを作りたいと思ってますが、グラフィックインターフェースの
作り方がわからなくてつっかえているレベルです。

953 :535:2017/09/23(土) 19:55:53.86 ID:5wTLMOiz.net
tensorflow固有の問題じゃないかもですがとにかくメモリが足らんですね。
今のマシンは16GBなんですが、可能なら128GBくらい積みたい気分。
やはりスレッドリッパー欲しい。金がないけど。

954 :535:2017/09/23(土) 22:35:13.25 ID:5wTLMOiz.net
tensorflowに計算機占有されちゃうの意外と痛いですねorz
やはりスレッドリッパーしか…
でも金が…

955 :535:2017/09/23(土) 22:53:28.32 ID:5wTLMOiz.net
局面の勝率計算させてるけど今正解との誤差が平均0.14くらいっぽい
勝率で平均0.14違ったら使い物にならんじゃないのか?
うーん。

956 :310:2017/09/24(日) 01:20:18.11 ID:1rFk/uJ5.net
並列処理すると、何使っても計算機資源占有されちゃいますよw
だからGPUに逃がしてCPUを空けようとしたりするんですよね。

最近扇風機で冷やすようにしてますが、扇風機無しだとクロック数が80%以下まで
下がってしまって、そういう時に限って、読み切り処理でバグがあるような結果が出て
います。理屈ではありえないんだけど。

スレッドリッパーでもi-7900Xでも、CPUの温度対策は大事になると思います。

957 :310:2017/09/24(日) 01:47:25.30 ID:1rFk/uJ5.net
強化学習は、適当にコーディングして結果からデバッグしているので時々不安になり
ますが、それなりに学習してくれているみたい。学習内容は同じく勝率で、これをアル
ファ碁で言うところのポリシーに使用してます。

強化学習のポリシーを導入した事で、遡りチェックも調子よく遡るようになり、最善手を
指している率が上がったように感じています。しょせん強化学習だし、まだ学習しはじめ
なので、精度は高くありませんが、使い方次第ではいける感じです。

強化学習続けたら、定石DBの代わりになるんじゃないかと期待。

しばらく学習フェーズになりますが、次はロールポリシーを改良したいかな。

958 :535:2017/09/24(日) 18:11:33.99 ID:nEz2fGFF.net
損失がこれ以上下がらなそうなところまで来たので、
AIに組み込んでみようと思ったのですが、
tensorflowでの学習結果をどうやってC++にもってくればいいのかよくわからないというw
とりあえずググってみますが、見つかるかなぁ?

959 :535:2017/09/24(日) 20:00:11.56 ID:nEz2fGFF.net
C++にもってくるの現状そんな簡単じゃないっぽいorz.

960 :535:2017/09/24(日) 23:27:13.26 ID:nEz2fGFF.net
windows上でtensorflowをコードからビルドとかマジすか?

961 :310:2017/09/24(日) 23:40:11.06 ID:1rFk/uJ5.net
ウェイトデータをバイナリで持ってきて、フォワード計算を自分で書くってのじゃダメ?
パッケージに任せたい面倒くさいところって、バックワード部分だから。

自分の場合、mctsで並列処理していて、使用している行列パッケージのEigenも並列
計算していて、両方で並列化しちゃうとスレッド取り合って劇遅になっちゃうし、Eigenを
シングルスレッドで動かす時のオーバーヘッドが気になったので、AIで使用する時の
フォワード計算は自分で書きました。

962 :535:2017/09/24(日) 23:49:44.98 ID:nEz2fGFF.net
うーんそれが一番妥当ですかね〜
ありがとうございます。
でもバグなく書けるか若干心配w

963 :310:2017/09/26(火) 00:08:03.06 ID:TqyA8LQm.net
強化学習、ずっと学習続けていると、途中で弱くなっていく。
アルファ碁のやり方をまねていたけど、一旦超シンプルな方法に変えてみて、
とにかく施行回数を増やしてみます。

強化学習を使って、序盤の評価関数が作れないか検討開始。

あと、時々出ていた終盤探索のバグ。
今度はたぶん大丈夫だと思う。
何度目の大丈夫だって状態だけど(汗

964 :535:2017/09/26(火) 00:31:24.69 ID:Q8jANAxD.net
学習率って何気に大事なパラメータですね。
速度がかなり違う。
もっと大胆に攻めた値にすべきかな?

965 :310:2017/09/27(水) 10:06:01.04 ID:CCZHsP7K.net
学習率は大事だけど、今時はRMSPropとかADAMとかで
自動計算にしちゃうんじゃないの?

966 :535:2017/09/27(水) 21:24:40.34 ID:PlFiGlJN.net
詳しいことはよくわかりませんが、最適化の関数名はAdamOptimizerとなっているのでそうなのかもしれませんね。
学習率のパラメータ渡すところも引数省略可能っぽいですね〜
自動計算のほうがいいんだろか?。
参考にした本には学習率設定してありましたのでマネしました。

967 :310:2017/09/29(金) 10:10:45.06 ID:Cw2Mz5dw.net
それならAdamですね。Tensor Flowなら当たり前ですね。
学習率ってだけだったので、Optimizer無しの学習率だと思いました(汗

省略時引数はたぶんモデル発表者の提示した推奨値です。
まあ、パラメータをいじるかどうかは、個々人の好みとい事で。

968 :535:2017/09/30(土) 19:50:26.02 ID:d6qWS2yh.net
フィルターの数も多けりゃ多いほど誤差が減るって単純なものでもないみたいですね。
多すぎると最適化が収束しなくなるっぽい。

969 :535:2017/09/30(土) 20:37:24.31 ID:d6qWS2yh.net
パラメータいじりの沼にはまりそうorz

970 :535:2017/09/30(土) 20:50:21.36 ID:d6qWS2yh.net
メモリ!メモリが足らん!

971 :310:2017/09/30(土) 23:21:48.52 ID:WQNilA4m.net
フィルタ数は大きければ大きいほど良いのですが、学習に必要な時間が恐ろしく
長くなります。十分に多いフィルタ数で収束できる事を確認したうえで、だんだんと
減らして行くなんて作業になります。段数についても一緒。

ロースペックマシンだと1回試すのに下手すると数週間とかあり得るのです。
かといって、精度が出せないレベルの簡素なモデルで試しても、いつまでたって
も収束せずに、まだかなみたいな。モデルの複雑さが足りているかいないかが
わからない点が、困ったちゃんなのです。


さて、強化学習ですが、なんとなく学習しているようにも見えるし、最適解の周囲を
振動しているようにも見えます。ふと思い付いたのですが、最適化(SMORMS3って
奴を使用)をやめて、ただの学習率(もしくは、学習率の漸減)にした方が、動きが
素直になって良いのかも。

今のスピードは1時間に100万対戦。1億対戦するのに4日強かかるわけで。まだ
試行回数が足りていないかもしれないし、そもそもただの線形ではモデルが簡単すぎ
るのかもしれません。

というわけで、CNN使わずに線形でやっても同じ問題が起きまするorz

972 :310:2017/09/30(土) 23:46:13.87 ID:WQNilA4m.net
フィルタ数は大きければ大きいほど良いのですが、1回の学習に必要な時間が
フィルタ数に比例して長くなります。十分に多いフィルタ数で収束できる事を確認
したうえで、だんだんと減らして行くなんて作業になります。段数についても一緒。
これ、1サイクルの計算時間の話なので、収束しやすさについては、複雑さが
増すとさらに時間がかかる可能性あります。

ロースペックマシンだと収束できるか確認するのに下手すると1か月とかあり得ます。
かといって、精度が出せないレベルの簡素なモデルで試しても、いつまでたって
も収束せずに、まだかなみたいな。モデルの複雑さが足りているかいないかが
わからない点が、困ったちゃんなのです。


さて、強化学習ですが、なんとなく学習しているようにも見えるし、最適解の周囲を
振動しているようにも見えます。ふと思い付いたのですが、強化学習に限っては、
最適化(SMORMS3を使用)をやめて、ただの学習率(もしくは、学習率の漸減)に
した方が、動きが素直になって良いのかも。

今のスピードは1時間に100万対戦。1億対戦するのに4日強かかるわけで。まだ
試行回数が足りていないかもしれないし、そもそもただの線形ではモデルが簡単すぎ
るのかもしれません。

というわけで、CNN使わずに線形でやっても同じ問題が起きまするorz

973 :310:2017/09/30(土) 23:46:51.18 ID:WQNilA4m.net
あれ、2度書きになってしまった。
しかも内容が微妙に違うw

974 :310:2017/10/02(月) 22:13:03.03 ID:GHWiob/2.net
いやぁ、またやっちまった。
バリューの評価値計算が間違っているの気が付いて、リセットしようとしたら、
間違えてポリシーの強化学習の方をリセットしてしまった。またやり直しです。

ちなみに、ただの学習率ってのSGDですね。ようやく思い出した。

ついでなので、若干パラメータ変えて強化学習再開。
時間あたり試行回数は減るけど、トータルで少しは学習が速くなるはず。

975 :535:2017/10/04(水) 21:07:28.40 ID:Ls8WOlwm.net
CNNのフォーワード計算自前で書くの結構面倒くさいなぁ。
バグなく書けるかも心配だし。
うーん。
ここで足踏みしてます。

976 :310:2017/10/04(水) 22:00:17.02 ID:GdIdmn03.net
オライリー本のゼロから作るDeep Learningって本ではPythonでのコードが載ってた
けど、畳み込みのところをim2colとかいう関数で展開して、行列計算に落としこんでた。
im2colのソースを探したけど、見つからなくて放置してますが、あれが常道だと思います。

977 :310:2017/10/05(木) 22:33:23.90 ID:sIPpafz3.net
ポリシーの強化学習、遅々として進んでいます(汗
時々、テストでMCTS動かしてポリシーの学習値を見ているのですが、
学習対象の全48手のうち、後ろ12手分くらい、それっぽく濃淡がついてきてます。
このまま続けたら、もっと前の方まで学習してくれると期待しているのですが、ここ
からが分岐が多い箇所なので、どれくらい時間がかかるか想像がつかない。

で、ポリシーの強化学習の結果を使って、バリューの方も学習させていたのですが、
やはり無理がある事に思い至りました。バリューはバリューで別途強化学習をさせ
ないといけない模様。どちらかというとバリューの方が大事なので、このままポリシー
の学習を続けるか、一旦棚上げしてバリューの方に乗り換えるか、悩み中。

学習中のポリシーをMCTSに組み込んだところ、速度低下が著しい。メモリーのランダム
アクセスが原因だと思う。速度アップネタをいくつか模索してみたいと思いますが、
変更が重いので、いつやるかこちらも悩み中。

978 :535:2017/10/06(金) 23:07:13.96 ID:Zz+2m3w3.net
天頂7発売するらしいですね
これは買うしか無い
それに合わせてpcも買い換えるチャンスか?
悩ましい

979 :535:2017/10/08(日) 00:36:58.52 ID:wvFd88H+.net
tensorflowを捨ててC++で使いやすい別のフレームワークを探そうかと思案中
でもtensorflow捨てるの勿体ないなぁとも思う

980 :535:2017/10/08(日) 01:13:04.86 ID:wvFd88H+.net
ググったらtiny-dnnというのがヒットした。
ちょっと調べてみるか

981 :310:2017/10/08(日) 01:29:43.31 ID:rkcq5jaW.net
C++なフレームワークってほとんどないです。
自分はtiny_dnnくらいしか見つけられなかったけど、あまりに学習に時間がかかった
ので放置です。やっぱ、それなりのPC環境無いとダメなんでしょうね。

自分といえば、やっぱりバリューが大事と言う結論に。
あわせてグチャグチャになっていた強化学習回りのソースの全面整理と、mcts時の
速度改善のために、ポリシーとバリューのウェイトをセットで扱うように変更。

先ほど、ようやくまともに学習するようになったと思います。そう思いたい(汗

これでまた1週間かなぁ。
バリューは記譜使って、多少は事前学習できるけど。

982 :535:2017/10/09(月) 22:53:42.22 ID:6ifm6Vf2.net
tiny-dnnパッと見なかなか良さげな感じだがネットの情報だけだとよくわからん。orz.
tiny-dnnの良い入門書籍ないかな〜

983 :535:2017/10/09(月) 23:43:40.71 ID:6ifm6Vf2.net
うお、examplesがビルド通らね〜
めんどくせ〜

984 :535:2017/10/09(月) 23:54:11.92 ID:6ifm6Vf2.net
コンパイラがC++14に対応してないといかんのか?
よくわからんorz.

985 :535:2017/10/10(火) 21:01:26.86 ID:CbL+/Tjp.net
std::threadがないとかなんとか。
うーん。コンパイラ変えなきゃダメかなぁ?

986 :535:2017/10/10(火) 21:28:45.95 ID:CbL+/Tjp.net
すいません。>>310さんはtiny-dnn動かせたんですよね?
コンパイラは何使ってますか?

987 :310:2017/10/10(火) 22:31:39.17 ID:FL07aRsc.net
Visual Studio Communityの2017です。C++14対応してます。
GitHUBのtiny_dnnのページにC++14必須となってますね。

C++11あたりからC++がほとんど別物になっちゃったみたいですね。
自分は最近始めたばかりなので、詳しく知りませんが。

988 :535:2017/10/10(火) 22:35:28.36 ID:CbL+/Tjp.net
VC++ですか〜ありがとうございます。
しょうがない、乗り換えるかorz.

989 :535:2017/10/10(火) 23:21:21.89 ID:CbL+/Tjp.net
もしかしてインストールメッチャ時間かかる?
今日は一晩放置かな?

990 :535:2017/10/11(水) 21:40:19.82 ID:IapPKNMM.net
とりあえず、mnistのtest.cppはコンパイル通りました。
examplesのmain.cppは

main.cpp(305): error C2065: 'num_hidden_units': 定義されていない識別子です。

って言われた。
これからボチボチいろいろ動かしてみます。

991 :535:2017/10/11(水) 23:13:49.39 ID:IapPKNMM.net
そろそろスレ立ての季節ですね。
次スレどうします?

992 :310:2017/10/13(金) 00:57:16.39 ID:eAclV2CT.net
mnistは動かしたけど、examplesは文字通り構文サンプルとしてしか見てなかったかも。

995踏んだあたりで次スレ建てましょう。

993 :535:2017/10/13(金) 22:13:12.16 ID:XE+Je04C.net
>995踏んだあたりで次スレ建てましょう。

了解です。

>mnistは動かしたけど、examplesは文字通り構文サンプルとしてしか見てなかったかも。

なんかnum_hidden_unitsは定義されてるんですが定義される前に参照してるみたいですね。
順番入れ替えたらコンパイル通りました。

994 :535:2017/10/14(土) 20:24:52.02 ID:FkZ1SFjZ.net
tiny-dnn 懇切丁寧な入門書籍が欲しいな…
かなり良さげなのにモチベーションがなかなか高まってこないorz.

995 :310:2017/10/15(日) 16:38:11.54 ID:2Uv+INOwO
http://toro.2ch.sc/test/read.cgi/gamedev/1508051775/l50

建ててみたけど、うまく行ってるか不明

996 :310:2017/10/15(日) 16:22:39.70 ID:Y3hjOlZC.net
解説無いですねぇ。
まあ、わかってればわかってるなりに使えるツールみたいになってますが、
自分はウェイトデータを保存して再利用みたいなところまでたどりついていない
のですが、テンソルの構造がいまいちわかっていなかったりして。

997 :310:2017/10/15(日) 16:59:10.56 ID:Y3hjOlZC.net
http://mevius.5ch.sc/test/read.cgi/gamedev/1508051775/

書けるかな?

998 :310:2017/10/15(日) 17:01:24.30 ID:Y3hjOlZC.net
あ、urlが2chだとNGワードになっちゃうので、5chにしてみたけど、リンクできず。

というか、どうも.scの方にスレ作ってしまったかも。
このスレもメッセージ同期していたので、気が付かなかった。

なんかわけわからん。

999 :310:2017/10/15(日) 17:36:19.71 ID:Y3hjOlZC.net
今度は大丈夫だ。

【オセロ,将棋】ボードゲーム Part2【囲碁,War】
http://mevius.2ch.net/test/read.cgi/gamedev/1508056498/

2ちゃん5ちゃん問題がこんなところで影響するとは・・・

1000 :535:2017/10/15(日) 21:50:20.35 ID:dinC5uru.net
スレたて乙です。
tiny-dnnの勉強全く進んでませんorz.

1001 :名前は開発中のものです。:2017/10/16(月) 19:38:44.87 ID:QfTFwjlG.net
ぶっちゃけNNなんて、Deepが付いても大雑把じゃね?
あんなんで人間様に勝てるんかいな???
数学の回帰というのが、本質的に大雑把なんだから

1002 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1002
392 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★