比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
前スレ
【オセロ,将棋】ボードゲーム【囲碁,War】
http://mevius.2ch.net/test/read.cgi/gamedev/1057763418/
【オセロ,将棋】ボードゲーム Part2【囲碁,War】
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2017/10/15(日) 17:34:58.03ID:RaMh0le22535
2017/10/16(月) 21:32:43.84ID:nZcg7vL7 ここって書きこみないと落ちちゃうとかあるんでしたっけ?
とりあえず、スレたて乙です。
とりあえず、スレたて乙です。
3535
2017/10/16(月) 22:46:32.02ID:nZcg7vL7 どこかにtiny-dnnのまとまったドキュメントないですかね〜
とりあえずvec_tというのが何者かわからないorz.
とりあえずvec_tというのが何者かわからないorz.
2017/10/16(月) 22:57:12.10ID:hLbjq5wm
どもです。
強化学習ですが、まだまだ時間がかかりそうで、業を煮やして学習率あげたら、
バリューが発散してやり直し(汗
ちょっと工夫を加えて、強化学習を数回したら、MCTSで自己対戦して記譜作成。
記譜を見て学習の進捗を計りながら、過去に採取した記譜で軽く教師付き学習
させて、学習の方向性を補正しつつう、後半部分の精度を少しづつ上げて、強化
学習がはかどるようにしようとしてます。
というわけで、純粋な強化学習ではなくなってしまった。
強化学習ですが、まだまだ時間がかかりそうで、業を煮やして学習率あげたら、
バリューが発散してやり直し(汗
ちょっと工夫を加えて、強化学習を数回したら、MCTSで自己対戦して記譜作成。
記譜を見て学習の進捗を計りながら、過去に採取した記譜で軽く教師付き学習
させて、学習の方向性を補正しつつう、後半部分の精度を少しづつ上げて、強化
学習がはかどるようにしようとしてます。
というわけで、純粋な強化学習ではなくなってしまった。
5535
2017/10/16(月) 23:09:26.31ID:nZcg7vL7 名前はどうしましょうかね〜
新スレだし310,535を名乗るのもなんですね…
新スレだし310,535を名乗るのもなんですね…
2017/10/16(月) 23:10:47.72ID:hLbjq5wm
>>3
日本語紹介記事
https://qiita.com/nyanp/items/11c6bb6fb539486c5069
作者の実装ノート
https://github.com/tiny-dnn/tiny-dnn/wiki/%E5%AE%9F%E8%A3%85%E3%83%8E%E3%83%BC%E3%83%88
英語
https://github.com/tiny-dnn/tiny-dnn/wiki
http://tiny-dnn.readthedocs.io/en/latest/how_tos/How-Tos.html
こんなの見てました。
vec_tについては、3番目のwikiのData-Format
> https://github.com/tiny-dnn/tiny-dnn/wiki/Data-Format
に、vector<double>であると書かれています。
なんちゃらparserってのは、外部のデータをtiny_dnnの内部形式である、
vec_tやlabel_tに変換するユーザ関数で、用途に合わせて自分で書かなけ
ればならないものです。入力データが2次元であっても、左上から右下に
一列のベクトルとしてセットして、縦横の情報はレイヤー定義で与えます。
日本語紹介記事
https://qiita.com/nyanp/items/11c6bb6fb539486c5069
作者の実装ノート
https://github.com/tiny-dnn/tiny-dnn/wiki/%E5%AE%9F%E8%A3%85%E3%83%8E%E3%83%BC%E3%83%88
英語
https://github.com/tiny-dnn/tiny-dnn/wiki
http://tiny-dnn.readthedocs.io/en/latest/how_tos/How-Tos.html
こんなの見てました。
vec_tについては、3番目のwikiのData-Format
> https://github.com/tiny-dnn/tiny-dnn/wiki/Data-Format
に、vector<double>であると書かれています。
なんちゃらparserってのは、外部のデータをtiny_dnnの内部形式である、
vec_tやlabel_tに変換するユーザ関数で、用途に合わせて自分で書かなけ
ればならないものです。入力データが2次元であっても、左上から右下に
一列のベクトルとしてセットして、縦横の情報はレイヤー定義で与えます。
7535
2017/10/16(月) 23:18:52.91ID:nZcg7vL7 おお、ありがとうございます。
読んでみます。
読んでみます。
8535
2017/10/19(木) 00:44:02.75ID:NEwsyYTL 気が散ってほかのことをしてしまうorz.
先延ばし先延ばしにしてしまうorz.
先延ばし先延ばしにしてしまうorz.
9535
2017/10/19(木) 00:44:48.21ID:NEwsyYTL IDがNEWSや!
2017/10/19(木) 15:52:29.71ID:ETYZ9m/m
アルファ碁ZEROだそうな。
自己対局の強化学習のみだそうな。
レート5000越えだそうな。
囲碁AIやらなくてよかった・・・
自己対局の強化学習のみだそうな。
レート5000越えだそうな。
囲碁AIやらなくてよかった・・・
11535
2017/10/19(木) 17:50:51.04ID:9y30JekY 旧アルファ碁に100戦100勝て
宇宙やばいってレベルじゃねーぞ?
宇宙やばいってレベルじゃねーぞ?
2017/10/20(金) 15:58:45.15ID:AyXCD9Rq
掲示板情報を総合するとMCTSなんだけどRolloutを使っていないという事らしい。
現在出張中なので、論文ダウンロードを躊躇しているけど、読みたいなぁ。
自分のオセロでは、スピードを稼ぐためにRolloutにヒューリスティックスな次の1手
を使用しているけど、自己対戦見ていると序盤良い感じで来ていると、Rolloutが間違
えて、負け手順に入る事が多い。それで、Rolloutせずに(したふり)Valueの遡りだけ
でQ値を計算したらどうかと思っていたんだけど、そういう事なのかなぁ。Rolloutを
省略しちゃうと、ものすごいスピードアップするので、探索が深くなるんだよなぁ。
先にやっちゃえばよかった(汗
現在出張中なので、論文ダウンロードを躊躇しているけど、読みたいなぁ。
自分のオセロでは、スピードを稼ぐためにRolloutにヒューリスティックスな次の1手
を使用しているけど、自己対戦見ていると序盤良い感じで来ていると、Rolloutが間違
えて、負け手順に入る事が多い。それで、Rolloutせずに(したふり)Valueの遡りだけ
でQ値を計算したらどうかと思っていたんだけど、そういう事なのかなぁ。Rolloutを
省略しちゃうと、ものすごいスピードアップするので、探索が深くなるんだよなぁ。
先にやっちゃえばよかった(汗
13535
2017/10/20(金) 22:03:42.47ID:NnxpZZEA すいません、310じゃなくてもいいのでなんかコテつけてくれませんか?
どうせ2人しかいないからわかるっちゃわかるけどw
どうせ2人しかいないからわかるっちゃわかるけどw
14310
2017/10/20(金) 22:21:51.68ID:AyXCD9Rq あ、つけ忘れ失礼。
Rollout無し版を試してますが、何故か最近静まっていた終盤読み切りのエラーが(汗
撲滅していたはずなんですが・・・
Rollout無し版を試してますが、何故か最近静まっていた終盤読み切りのエラーが(汗
撲滅していたはずなんですが・・・
2017/10/24(火) 00:38:25.07ID:lvcSYEt0
Rollout無しのMCTSは圧倒的な探索深さを実現できるかわりに、今までRolloutで
修正かけていた評価値の誤りがダイレクトに出て、読み間違いは相変わらずです。
強化学習が進めば治るはずですが、SGDでは遅々として学習が進まないので、
optimizerをSMORMS3に戻して、一旦記譜学習を増やしてみました。やはり学習速度
が圧倒的に違います。そして、このやり方でも大丈夫っぽいです。
どうも遠回りしていたようです(汗
修正かけていた評価値の誤りがダイレクトに出て、読み間違いは相変わらずです。
強化学習が進めば治るはずですが、SGDでは遅々として学習が進まないので、
optimizerをSMORMS3に戻して、一旦記譜学習を増やしてみました。やはり学習速度
が圧倒的に違います。そして、このやり方でも大丈夫っぽいです。
どうも遠回りしていたようです(汗
16535
2017/10/25(水) 20:54:40.99ID:atHU9A83 なんだろう、このtiny-dnnの得体のしれぬハードルの高さは…
パッと見、すごくよさげに見えるのに全然前に進めない。
なんだろう…なんだろう…
パッと見、すごくよさげに見えるのに全然前に進めない。
なんだろう…なんだろう…
17535
2017/10/26(木) 00:13:05.87ID:vVm7O/8N とりあえず、mnistのやつは正解をlabel_tで渡すみたいだけど
局面の勝率を正解にしたい場合はどうすればいいんだろう?
ラベルと勝率じゃデータ構造違うよね多分?
それとも同じなんだろうか…
局面の勝率を正解にしたい場合はどうすればいいんだろう?
ラベルと勝率じゃデータ構造違うよね多分?
それとも同じなんだろうか…
18535
2017/10/26(木) 00:16:30.06ID:vVm7O/8N 内積とると考えれば勝率を一次元のベクタと見なせばつじつまが合うのか?
2017/10/26(木) 09:53:53.13ID:43FvyXwK
>>17
mnistは、分類器(他クラス分類)なので、活性化関数はsoftmaxになり、教師データ
はlabel_tで与えます。別にvec_tでも良いですが、例えば3という答えに対して、
label_tは{3}なのに対し、vec_tは{0,0,0,1,0,0,0,0,0,0}などとなって冗長なので、label_tが
用意されているわけです。他にも、誤差の計算方法が違うなんてのもあります。
一方、ゲームの勝敗予想は2値分類問題なので、活性化関数はsigmoidで、教師
データはvec_tとして、勝利を{1}、敗北を{0}として与えて学習させます。
オセロには引き分けがあるので、引き分けは{0.5}としてみましたが、勝率50%と引き
分けでは意味がまったく違うのが悩みの種です。2人ゼロ和完全情報ゲームでは
勝率50%というのは理論上存在しないのですが、強化学習の途中などでは生じます
からね。
なお、tiny_dnnでは2値分類や回帰の学習には入力データも教師データもともにvec_t
で与えてfitを用い学習します。mnistのような他クラス分類でlabel_tで教師データを与え、
学習をする時はtrainを使用します。
mnistは、分類器(他クラス分類)なので、活性化関数はsoftmaxになり、教師データ
はlabel_tで与えます。別にvec_tでも良いですが、例えば3という答えに対して、
label_tは{3}なのに対し、vec_tは{0,0,0,1,0,0,0,0,0,0}などとなって冗長なので、label_tが
用意されているわけです。他にも、誤差の計算方法が違うなんてのもあります。
一方、ゲームの勝敗予想は2値分類問題なので、活性化関数はsigmoidで、教師
データはvec_tとして、勝利を{1}、敗北を{0}として与えて学習させます。
オセロには引き分けがあるので、引き分けは{0.5}としてみましたが、勝率50%と引き
分けでは意味がまったく違うのが悩みの種です。2人ゼロ和完全情報ゲームでは
勝率50%というのは理論上存在しないのですが、強化学習の途中などでは生じます
からね。
なお、tiny_dnnでは2値分類や回帰の学習には入力データも教師データもともにvec_t
で与えてfitを用い学習します。mnistのような他クラス分類でlabel_tで教師データを与え、
学習をする時はtrainを使用します。
2017/10/26(木) 09:55:34.54ID:43FvyXwK
× 他クラス分類
○ 多クラス分類
ですね。IMEのアホたれ(汗
○ 多クラス分類
ですね。IMEのアホたれ(汗
21535
2017/10/26(木) 21:09:13.33ID:vVm7O/8N おおーありがとうございます。
trainの代わりfitってのがあるんですね。
ドキュメント読もうとしても英語ということを差し引いても
気が散っちゃって目が滑っちゃってどうにも駄目です。
試してみます。
trainの代わりfitってのがあるんですね。
ドキュメント読もうとしても英語ということを差し引いても
気が散っちゃって目が滑っちゃってどうにも駄目です。
試してみます。
2017/10/26(木) 22:02:22.81ID:/MbW7Vlw
CNNの例題は大抵が多クラス分類問題ですからね。
説明がfit中心になりがちです。
つか、僕もかなり目が滑りました(汗
説明がfit中心になりがちです。
つか、僕もかなり目が滑りました(汗
23535
2017/10/26(木) 23:07:10.48ID:vVm7O/8N うお、コンパイル通ったけど不正終了するorz
ネットワークの形が不整合起こしてるのかなぁ
ネットワークの形が不整合起こしてるのかなぁ
24535
2017/10/26(木) 23:47:16.17ID:vVm7O/8N 動いた!
入力の形がおかしかったみたい。
入力の形がおかしかったみたい。
25535
2017/10/27(金) 00:51:01.21ID:DjbLG1y4 cross_entropyだと動くのにmseだと落ちる
完全に意味不明
完全に意味不明
26535
2017/10/27(金) 01:02:07.81ID:DjbLG1y4 cross_entropyでも動かなくなったw
なんなのwww
もう寝る
なんなのwww
もう寝る
2017/10/27(金) 01:02:52.52ID:3GgMcLzr
その辺まで来ると記憶があやふやに(汗
でも落ちた記憶はないかなあ。
http://tiny-dnn.readthedocs.io/en/latest/how_tos/How-Tos.html#handle-errors
この辺の参考にしてcatchしてエラーの内容表示してみました?
でも落ちた記憶はないかなあ。
http://tiny-dnn.readthedocs.io/en/latest/how_tos/How-Tos.html#handle-errors
この辺の参考にしてcatchしてエラーの内容表示してみました?
2017/10/27(金) 01:34:38.06ID:3GgMcLzr
rollout無しにして探索速度がかなり上がったのですが、10手目近辺には
ツリーの深さが50手まで達してしまいまして、今度はスワップとの闘いに
なりつつあります。探索幅をケチればスワップは回避できるのですが、
そうすると読み漏れが・・・。
8ギガ程度じゃこの速度を活かせません(汗
ツリーの深さが50手まで達してしまいまして、今度はスワップとの闘いに
なりつつあります。探索幅をケチればスワップは回避できるのですが、
そうすると読み漏れが・・・。
8ギガ程度じゃこの速度を活かせません(汗
29310
2017/10/27(金) 09:09:34.47ID:InThdIzI あれれ。また名前が消えていた(汗
お分かりの通り、今のところ名無しは310です。
お分かりの通り、今のところ名無しは310です。
30535
2017/10/27(金) 21:44:23.84ID:DjbLG1y4 なんかキャッチできたみたいです。
bad allocation
だそうです。
いまはmain全体をtryでくくっているのでどこで例外が出ているのかよくわからないですね。
まずはそこの絞り込みですかね。
bad allocation
だそうです。
いまはmain全体をtryでくくっているのでどこで例外が出ているのかよくわからないですね。
まずはそこの絞り込みですかね。
31535
2017/10/27(金) 22:06:52.63ID:DjbLG1y4 なんかスタックオーバーフローっぽい。
32535
2017/10/27(金) 22:12:35.89ID:DjbLG1y4 盤面のデータをvectorに突っ込んで返す関数があるのですが、
盤面のデータがでかすぎるってことみたいですね。どうやら
盤面のデータがでかすぎるってことみたいですね。どうやら
34535
2017/10/27(金) 22:45:06.44ID:DjbLG1y4 スタックオーバーフローじゃなくて32bitだとメモリが足りないってことみたい。
64bitでコンパイルしたら正常に動いたみたいです。
64bitでコンパイルしたら正常に動いたみたいです。
35535
2017/10/27(金) 23:11:51.03ID:DjbLG1y4 動いてるように見えるけどエポックが進んでも損失が変わらない。。。
何を間違えてるんだろう?
何を間違えてるんだろう?
36535
2017/10/28(土) 01:11:42.69ID:MUiBaiII ネットワーク少し複雑にしたら激遅になったorz.
も〜ムカつく。
も〜ムカつく。
37535
2017/10/28(土) 01:24:04.86ID:MUiBaiII ん、これシングルスレッドで動いてるん?
マルチスレッドに出来るのかな…
もう今日は寝ます。
マルチスレッドに出来るのかな…
もう今日は寝ます。
38310
2017/10/28(土) 13:51:26.14ID:rt9aGKVT ネットワーク1段増やすだけで信じられないくらい遅くなりますよね。
最初に十分に深くして学習させて、だんだん減らしながら適切な深さを
求めたいんだけど、この速度低下を考えると、本当に学習できるのか
わからないままだんだん深くしていくしか無いというのが萎える点です。
スレッドについては、リソースモニターで確認するとわかりますね。
ヘッダのどこかに並列化の設定があったはずです。
コンパイラがVSならOpenMPのオプションを設定します。
コンパイラのオプションの方もOpenMPの設定をお忘れなく。
最初に十分に深くして学習させて、だんだん減らしながら適切な深さを
求めたいんだけど、この速度低下を考えると、本当に学習できるのか
わからないままだんだん深くしていくしか無いというのが萎える点です。
スレッドについては、リソースモニターで確認するとわかりますね。
ヘッダのどこかに並列化の設定があったはずです。
コンパイラがVSならOpenMPのオプションを設定します。
コンパイラのオプションの方もOpenMPの設定をお忘れなく。
39535
2017/10/28(土) 22:22:00.33ID:MUiBaiII 一応マルチスレッドで動いてるみたいですけど、CPUが50%位しか行かないですね。
あと、エポックが進んでも損失が変わらない原因がさっぱりわからないorz.
あと、エポックが進んでも損失が変わらない原因がさっぱりわからないorz.
40535
2017/10/28(土) 23:21:37.85ID:MUiBaiII 畳み込み層の設定がおかしいみたい。
畳み込み層外したら損失減った。
畳み込み層外したら損失減った。
41310
2017/10/28(土) 23:37:15.46ID:rt9aGKVT CPU使用率はそんなもんかも。
ヘッダの話、Eigenとごっちゃになってるかも。
強化学習ですが、徐々に進んでいます。もっと早くSMORMS3にしとけば良かった。
終盤読み切りのソート順に評価値を使用しているのですが、目に見えて速度が
上がってきています。また自己対局の精度も上がってきたようで、遡りチェックで
30手まで何度か行きました。逆に記譜収集の方は、スコアのばらつきが無くなって
きて、記譜的に良い事なのか不安。
というわけで、手ごたえを感じつつ、現状に合わせて若干設定変更。
ヘッダの話、Eigenとごっちゃになってるかも。
強化学習ですが、徐々に進んでいます。もっと早くSMORMS3にしとけば良かった。
終盤読み切りのソート順に評価値を使用しているのですが、目に見えて速度が
上がってきています。また自己対局の精度も上がってきたようで、遡りチェックで
30手まで何度か行きました。逆に記譜収集の方は、スコアのばらつきが無くなって
きて、記譜的に良い事なのか不安。
というわけで、手ごたえを感じつつ、現状に合わせて若干設定変更。
42535
2017/10/29(日) 00:36:11.21ID:zJx7nuOS なんか畳み込みにこだわらなくても全結合でも結構いい線いきそうな?
まあ試しに全結合で進めてみるか。
まあ試しに全結合で進めてみるか。
43535
2017/10/29(日) 18:55:23.53ID:zJx7nuOS AIに組み込んでみましたが全く強くなってないですw
そういえば、ライフゲーム囲碁はDBつかっても強くならないんだったww
囲連星に転進するか…
そういえば、ライフゲーム囲碁はDBつかっても強くならないんだったww
囲連星に転進するか…
44535
2017/11/01(水) 00:19:41.19ID:M72WSH0d 囲連星のDB全部vec_tに変換したらメモリパンクした^^
学習しないな俺w
マジでスレッドリッパーに128GB積みたい気分
学習しないな俺w
マジでスレッドリッパーに128GB積みたい気分
45535
2017/11/01(水) 00:42:51.08ID:M72WSH0d データ減らしたら動き始めました。
でも遅いな〜こりゃそう簡単には終わらんぞorz.
まあ今晩一晩流してみますが…
でも遅いな〜こりゃそう簡単には終わらんぞorz.
まあ今晩一晩流してみますが…
46310
2017/11/01(水) 01:06:46.90ID:FDjtq7R7 バラして部分づつ学習する手もあるかも。
あ、元データはランダムに並び替えた方が良いですよ。
わかってると思いますが。
こちらは、しばらく強化学習していたら、それなりに学習が進んだ結果、
対戦相手側の手のばらつきが足りなくなって、局所解に陥ってた感じ。
急きょばらつきを広げて学習再開させたところです。
バリューの方は地道に損失が減っているんだけど、ポリシーの損失が
増えてきた。ポリシーはsigmoidがあるので、ウェイトが絶対値でとてつも
なく大きくなって、なかなか修正しきれない状況になってるかもしれない。
一旦リセットすべきか悩み中。
あ、元データはランダムに並び替えた方が良いですよ。
わかってると思いますが。
こちらは、しばらく強化学習していたら、それなりに学習が進んだ結果、
対戦相手側の手のばらつきが足りなくなって、局所解に陥ってた感じ。
急きょばらつきを広げて学習再開させたところです。
バリューの方は地道に損失が減っているんだけど、ポリシーの損失が
増えてきた。ポリシーはsigmoidがあるので、ウェイトが絶対値でとてつも
なく大きくなって、なかなか修正しきれない状況になってるかもしれない。
一旦リセットすべきか悩み中。
47535
2017/11/01(水) 19:51:55.33ID:M72WSH0d 1エポック5000秒、しかも損失があんまり減っていかないorz
これはかなり厳しい
これはかなり厳しい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ★2 [♪♪♪★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- ワチが一番キライなスポーツ1つ当ててみ
- ウインナーを最初に考えた奴ってサイコパスだよな
- 16のヒッキー女に構って
- ネトウヨ「レアアースは日本でも採れるから輸入しなくてもOK!」 なお精製コストがバカ高く有害物質が大量に出ることは全く知らない模様 [314039747]
- 国籍答えろ!嫌儲民!! [279254606]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
