- 1 名前:名前は開発中のものです。 [2017/10/15(日) 17:34:58.03 ID:RaMh0le2.net]
- 比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
前スレ 【オセロ,将棋】ボードゲーム【囲碁,War】 mevius.2ch.net/test/read.cgi/gamedev/1057763418/
- 28 名前:名前は開発中のものです。 mailto:sage [2017/10/27(金) 01:34:38.06 ID:3GgMcLzr.net]
- rollout無しにして探索速度がかなり上がったのですが、10手目近辺には
ツリーの深さが50手まで達してしまいまして、今度はスワップとの闘いに なりつつあります。探索幅をケチればスワップは回避できるのですが、 そうすると読み漏れが・・・。 8ギガ程度じゃこの速度を活かせません(汗
- 29 名前:310 mailto:sage [2017/10/27(金) 09:09:34.47 ID:InThdIzI.net]
- あれれ。また名前が消えていた(汗
お分かりの通り、今のところ名無しは310です。
- 30 名前:535 mailto:sage [2017/10/27(金) 21:44:23.84 ID:DjbLG1y4.net]
- なんかキャッチできたみたいです。
bad allocation だそうです。 いまはmain全体をtryでくくっているのでどこで例外が出ているのかよくわからないですね。 まずはそこの絞り込みですかね。
- 31 名前:535 mailto:sage [2017/10/27(金) 22:06:52.63 ID:DjbLG1y4.net]
- なんかスタックオーバーフローっぽい。
- 32 名前:535 mailto:sage [2017/10/27(金) 22:12:35.89 ID:DjbLG1y4.net]
- 盤面のデータをvectorに突っ込んで返す関数があるのですが、
盤面のデータがでかすぎるってことみたいですね。どうやら
- 33 名前:535 mailto:sage [2017/10/27(金) 22:13:39.78 ID:DjbLG1y4.net]
- >>27
解決したみたいです。 ありがとうございました。 助かりました。
- 34 名前:535 mailto:sage [2017/10/27(金) 22:45:06.44 ID:DjbLG1y4.net]
- スタックオーバーフローじゃなくて32bitだとメモリが足りないってことみたい。
64bitでコンパイルしたら正常に動いたみたいです。
- 35 名前:535 mailto:sage [2017/10/27(金) 23:11:51.03 ID:DjbLG1y4.net]
- 動いてるように見えるけどエポックが進んでも損失が変わらない。。。
何を間違えてるんだろう?
- 36 名前:535 mailto:sage [2017/10/28(土) 01:11:42.69 ID:MUiBaiII.net]
- ネットワーク少し複雑にしたら激遅になったorz.
も〜ムカつく。
- 37 名前:535 mailto:sage [2017/10/28(土) 01:24:04.86 ID:MUiBaiII.net]
- ん、これシングルスレッドで動いてるん?
マルチスレッドに出来るのかな… もう今日は寝ます。
- 38 名前:310 mailto:sage [2017/10/28(土) 13:51:26.14 ID:rt9aGKVT.net]
- ネットワーク1段増やすだけで信じられないくらい遅くなりますよね。
最初に十分に深くして学習させて、だんだん減らしながら適切な深さを 求めたいんだけど、この速度低下を考えると、本当に学習できるのか わからないままだんだん深くしていくしか無いというのが萎える点です。 スレッドについては、リソースモニターで確認するとわかりますね。 ヘッダのどこかに並列化の設定があったはずです。 コンパイラがVSならOpenMPのオプションを設定します。 コンパイラのオプションの方もOpenMPの設定をお忘れなく。
- 39 名前:535 mailto:sage [2017/10/28(土) 22:22:00.33 ID:MUiBaiII.net]
- 一応マルチスレッドで動いてるみたいですけど、CPUが50%位しか行かないですね。
あと、エポックが進んでも損失が変わらない原因がさっぱりわからないorz.
- 40 名前:535 mailto:sage [2017/10/28(土) 23:21:37.85 ID:MUiBaiII.net]
- 畳み込み層の設定がおかしいみたい。
畳み込み層外したら損失減った。
- 41 名前:310 mailto:sage [2017/10/28(土) 23:37:15.46 ID:rt9aGKVT.net]
- CPU使用率はそんなもんかも。
ヘッダの話、Eigenとごっちゃになってるかも。 強化学習ですが、徐々に進んでいます。もっと早くSMORMS3にしとけば良かった。 終盤読み切りのソート順に評価値を使用しているのですが、目に見えて速度が 上がってきています。また自己対局の精度も上がってきたようで、遡りチェックで 30手まで何度か行きました。逆に記譜収集の方は、スコアのばらつきが無くなって きて、記譜的に良い事なのか不安。 というわけで、手ごたえを感じつつ、現状に合わせて若干設定変更。
- 42 名前:535 mailto:sage [2017/10/29(日) 00:36:11.21 ID:zJx7nuOS.net]
- なんか畳み込みにこだわらなくても全結合でも結構いい線いきそうな?
まあ試しに全結合で進めてみるか。
- 43 名前:535 mailto:sage [2017/10/29(日) 18:55:23.53 ID:zJx7nuOS.net]
- AIに組み込んでみましたが全く強くなってないですw
そういえば、ライフゲーム囲碁はDBつかっても強くならないんだったww 囲連星に転進するか…
- 44 名前:535 mailto:sage [2017/11/01(水) 00:19:41.19 ID:M72WSH0d.net]
- 囲連星のDB全部vec_tに変換したらメモリパンクした^^
学習しないな俺w マジでスレッドリッパーに128GB積みたい気分
- 45 名前:535 mailto:sage [2017/11/01(水) 00:42:51.08 ID:M72WSH0d.net]
- データ減らしたら動き始めました。
でも遅いな〜こりゃそう簡単には終わらんぞorz. まあ今晩一晩流してみますが…
- 46 名前:310 mailto:sage [2017/11/01(水) 01:06:46.90 ID:FDjtq7R7.net]
- バラして部分づつ学習する手もあるかも。
あ、元データはランダムに並び替えた方が良いですよ。 わかってると思いますが。 こちらは、しばらく強化学習していたら、それなりに学習が進んだ結果、 対戦相手側の手のばらつきが足りなくなって、局所解に陥ってた感じ。 急きょばらつきを広げて学習再開させたところです。 バリューの方は地道に損失が減っているんだけど、ポリシーの損失が 増えてきた。ポリシーはsigmoidがあるので、ウェイトが絶対値でとてつも なく大きくなって、なかなか修正しきれない状況になってるかもしれない。 一旦リセットすべきか悩み中。
- 47 名前:535 mailto:sage [2017/11/01(水) 19:51:55.33 ID:M72WSH0d.net]
- 1エポック5000秒、しかも損失があんまり減っていかないorz
これはかなり厳しい
- 48 名前:535 mailto:sage [2017/11/01(水) 20:00:50.18 ID:M72WSH0d.net]
- ネットワークの大幅な簡素化が必要か?
でも今のネットワークでも損失が減っていかないところを見るとそれも望み薄かなぁ
- 49 名前:310 mailto:sage [2017/11/01(水) 20:13:34.50 ID:A50hx8cn.net]
- たぶん、損失の減り方は最初はゆっくりだと思います。
「特徴抽出しながら」誤差修正していってますから。 僕と同じ悩みですね。 ネットワークの大幅簡素化の結果、最終的に線形回帰まで戻ってしまいました(汗 もっとも、オセロはBuroさんの特徴抽出があったから線形回帰まで戻れたのですが。 スリッパとGPUが呼んでます(笑) でも、もしかしたらAMDよりINTELの方が良いかもしれない。 高いけど。
- 50 名前:535 mailto:sage [2017/11/01(水) 23:16:09.92 ID:M72WSH0d.net]
- 簡素化してみました。
1エポック650秒位。 損失はあんまり減っていかない。 うーん。
- 51 名前:535 mailto:sage [2017/11/01(水) 23:18:55.84 ID:M72WSH0d.net]
- >>49
買うとしてもZen+まで待ちます。
- 52 名前:535 mailto:sage [2017/11/02(木) 20:54:58.92 ID:PGhNTWut.net]
- 60エポック回したけど損失減らずorz
くそ〜どうすりゃいいのさ
- 53 名前:535 mailto:sage [2017/11/02(木) 21:57:25.36 ID:PGhNTWut.net]
- ライフゲーム囲碁は結構損失減ったのになぜ囲連星はあんまり損失が減らないんだろう?
入力のサイズがでかいのは確かにあるけど。
- 54 名前:535 mailto:sage [2017/11/02(木) 22:35:50.49 ID:PGhNTWut.net]
- 石を中央寄せにして19x19の盤面を9x9くらいに削ってみるか…
- 55 名前:535 mailto:sage [2017/11/02(木) 23:58:27.26 ID:PGhNTWut.net]
- お、損失ちょっと減った。
これで一晩回してみるか
- 56 名前:535 mailto:sage [2017/11/03(金) 20:29:00.55 ID:MdRaqfZr.net]
- うーん。学習率がでかすぎるっぽい?
- 57 名前:535 mailto:sage [2017/11/03(金) 20:40:20.21 ID:MdRaqfZr.net]
- ユニット数少な目段数多めがいいみたい?
- 58 名前:535 mailto:sage [2017/11/03(金) 21:52:31.44 ID:MdRaqfZr.net]
- ミニバッチサイズも何気に速度に影響ありですねぇ
ここでもパラメータいじりの沼か。。。
- 59 名前:535 mailto:sage [2017/11/04(土) 20:21:38.30 ID:N2Ul/N+d.net]
- あかん、まったく使い物にならないっぽい。orz
学習が足りないだけなのか根本的に無理筋なのか。。。
- 60 名前:535 mailto:sage [2017/11/04(土) 21:18:12.47 ID:N2Ul/N+d.net]
- 勝率予想だからダメなのか?
次の一手予想のほうがいいんだろか? うーん。
- 61 名前:535 mailto:sage [2017/11/04(土) 22:07:45.27 ID:N2Ul/N+d.net]
- あとは畳み込み試してないか…
畳み込みに賭けるか…
- 62 名前:535 mailto:sage [2017/11/05(日) 00:31:37.24 ID:BZBdQob/.net]
- お、畳み込み動いた。
後はどれだけ損失が減ってくれるかだな…
- 63 名前:310 mailto:sage [2017/11/05(日) 01:04:52.45 ID:BooXEMcV.net]
- 同じ道をたどってますね(汗
こちらは、MCTSで構築したツリーを使って、完全読み切りが速くならないか 試していますが、謎のバグのオンパレードでかなり戦線縮小。一応、それなり に動作するレベルまで撤退してテストしていますが、なんとなく速度アップは している模様。 ただ、バグの過程で置換表データに変なものが混じったらしく、学習させると 異常終了になります。記譜は1700件くらい集まっているので、一旦全消去して しまいました。
- 64 名前:310 mailto:sage [2017/11/05(日) 17:40:16.26 ID:BooXEMcV.net]
- ツリー探査がおかしくなる状態を確認。
けど、カーっとなって即座に終了してしまったので、詳細判明せず。 なんとなく症状は見えたので、しばらく目視デバッグします。 というか、これにより直近に遡りチェックやった記譜の正確さに不安が生じてます。 やけに遡りチェックが簡単に通るなぁと思っていたけど、これが原因かもしれない。 というわけでタイムアウトまで行った記譜を50件ほど再チェックしなきゃならん。 全部で54時間くらいかかる予想。今週はまるまるパーになりそうです。 その分、良質な置換表データが補えるんだけど。
- 65 名前:310 mailto:sage [2017/11/05(日) 17:50:28.12 ID:BooXEMcV.net]
- 計算間違い。全部で80時間くらいだorz
- 66 名前:535 mailto:sage [2017/11/05(日) 20:13:01.98 ID:BZBdQob/.net]
- 畳み込み駄目でしたorz
くそ〜ディープラーニングからは一時撤退するか…
- 67 名前:310 mailto:sage [2017/11/05(日) 23:36:09.29 ID:BooXEMcV.net]
- ぬがーーーーーーーーーーーー!
バグって、記譜データがすべて上書きされて消えてしまったorz ツリー利用探索のデバッグ用にput処理にエラートラップ仕掛けた時に やっちゃいました。 学習済のデータが残っているのだけが救いだ・・・。 ここから記譜作ると、そこそこ精度が良い記譜になるはずなのが救いだ…。
- 68 名前:535 mailto:sage [2017/11/06(月) 20:40:50.16 ID:opZqsFg1.net]
- バックアップ取れしw
一回コード全飛ばししてるでしょうに。
- 69 名前:535 mailto:sage [2017/11/06(月) 21:50:55.01 ID:opZqsFg1.net]
- アルファ碁Zeroの手法まねできないかなぁ
でも論文読んでもわかんねぇだろうなぁ ていうかGoogleがライブラリとして公開してくんねかなぁw(他力本願)
- 70 名前:310 mailto:sage [2017/11/07(火) 15:06:28.24 ID:8EOI4Ksy.net]
- >>68
おっしゃる通りですorz 評価関数の方は要所要所でコピー残していたのに、記譜はなめてました。 >>69 ライブラリ公開されても、実行できる環境構築の方がハードル高いかなと。 論文はいまだに読んでいませんが、rollout無し(バリューネットに100%依存) はうまく機能しています。圧倒的にツリー探索性能がアップしているため、評価関数 の精度の低さを、力技でカバーしている感じですが。 とはいえまだ30手以前の評価値はでたらめに近い状態なので頻繁に間違えます。 強化学習でここまで治るのにどれくらいの時間がかかるのかは不明。後ろの方の 精度が上がらないと、前の方は間違った学習を繰り返すことになりますので。 後ろの方の評価関数がそこそこまともになったので、読み切り処理や遡りチェックの 時間はかなり早くなりました。タイムアウト1時間設定で時々空白31マスまで遡れる ようになってきています。
- 71 名前:535 mailto:sage [2017/11/09(木) 21:31:59.52 ID:H3GhZh8x.net]
- とりあえず、ディープラーニングは一時中断します。
囲連星の序盤のDBは非常にうまく動いてるので、 終盤もDBを生かせないか検討中です。 それと同時にLV3 vs LV3の棋譜取も再開しました。 データは多いほどいいので。 あと310さんの遡りチェックというワードが気になってます。 例えば囲連星の終盤DB作るときにどこから勝負ありの状態になったか チェック出来たらどうだろう。とか考えています。
- 72 名前:535 mailto:sage [2017/11/10(金) 23:45:05.32 ID:8vC+UsNi.net]
- 天頂7買ってみました。
9段に5子置きで勝てましたが4子で勝つのは相当厳しそう。 天頂6より「あ〜そこ大きそうだよね」ってところを的確に打ってくるみたいです。
- 73 名前:535 mailto:sage [2017/11/12(日) 20:00:47.41 ID:UqBtKmZ3.net]
- 終盤DBの試作、作ってみましたがあんまり上手く動いてないみたい。
データが終局までの手数しかないのがまずいのかも。
- 74 名前:535 mailto:sage [2017/11/12(日) 21:02:51.28 ID:UqBtKmZ3.net]
- 将棋電王戦あったみたいですね。
ポナンザは優勝ならずみたいですね。
- 75 名前:310 mailto:sage [2017/11/12(日) 22:19:15.47 ID:Uu7EAeJ9.net]
- しばらく出張してました。
終盤DBといえばチェスですかね。 遡りチェックは詰みを回避できるかチェックになるのかなぁ。 オセロだと何にも考えずに終局の石差でやっちゃうので。 言われてみて気付いたけど、ゲームの種類によって結構違う考えが必要なんですね。 最近、藤井四段に触発された友人の影響で将棋を始めました。 負けたくないので、3手詰め問題解いていると、どうやってプログラムしようか とか雑念が沸いてきてしまいます(汗
- 76 名前:310 mailto:sage [2017/11/12(日) 22:31:15.55 ID:Uu7EAeJ9.net]
- MCTSのツリーを使ったオーダリングは、たぶんバグが取れたと思います。
が、なんか別のところで意味不明の動作をして、速度が出せませんorz また、テストの際に半日経っても終了しなかった盤面を使ってしまい、 何度もやり直しをしていたために、強化学習が滞ってしまいました。 これ曲者過ぎるので、今夜一晩解かせてパスしたい。 朝までにとけなかったらどうしよう。
- 77 名前:535 mailto:sage [2017/11/13(月) 23:59:34.34 ID:0hUAGldi.net]
- 試しにMCTSとか必至ルーチンとか重い処理全部取っ払ってみたけど思ったより弱くならなかった。
思ったよりってだけで弱いことは弱いけど。
- 78 名前:535 mailto:sage [2017/11/14(火) 00:20:44.53 ID:7RkiqcHt.net]
- LV1,LV2にも負け越すみたい。
やっぱ弱いわw 勝負が十数秒でつくのは面白いけど。
- 79 名前:310 mailto:sage [2017/11/14(火) 00:31:34.47 ID:ZeqYQGfh.net]
- 重い局面は6〜7時間くらいかけてクリアしました。
MCTSの速度が出ない問題は、解消というか、原因不明のまま別の方法で回避。 parallel_forの問題かと思っていたけど、shared_ptrの方の問題だったっぽい。 遡りチェックの時、PVは探索せずに、その他の手をチェックしていくので、他の手 にも探索を振り向けたかったのですが、単純に1手先の局面からUCTを実行すると 10万プレイアウトくらいで突然数十秒宇固まったようになって、それを何度も繰り 返す結果、まったくツリー探索が進まないという症状です。UCT探索の方に1回目 だけランダムに着手する関数を作って、そちらを呼び出したところ、固まらなくなり ました。 ようやくまともにツリーをオーダリングに再利用できるようになったのですが、要所 要所で極端に探索が遅くなって、逆に時間がかかります。 今しばらく調査が必要な模様。
- 80 名前:535 mailto:sage [2017/11/14(火) 00:38:47.74 ID:7RkiqcHt.net]
- 途中経過
70局目 黒(airandom.dll)の勝利回数: 29 白(ai-lv2.dll)の勝利回数: 41 61局目 黒(ai-lv2.dll)の勝利回数: 53 白(airandom.dll)の勝利回数: 8 58局目 黒(airandom.dll)の勝利回数: 18 白(ai-lv1.dll)の勝利回数: 40 46局目 黒(ai-lv1.dll)の勝利回数: 26 白(airandom.dll)の勝利回数: 20
- 81 名前:535 mailto:sage [2017/11/14(火) 08:46:58.91 ID:7RkiqcHt.net]
- 途中経過
311局目 黒(airandom.dll)の勝利回数: 97 白(ai-lv2.dll)の勝利回数: 214 275局目 黒(ai-lv2.dll)の勝利回数: 237 白(airandom.dll)の勝利回数: 38 259局目 黒(airandom.dll)の勝利回数: 114 白(ai-lv1.dll)の勝利回数: 145 213局目 黒(ai-lv1.dll)の勝利回数: 144 白(airandom.dll)の勝利回数: 69
- 82 名前:310 mailto:sage [2017/11/14(火) 23:35:06.48 ID:ZeqYQGfh.net]
- MCTSのツリーを使用する奴は、どうも挙動が変なのですが原因不明なので後回し。
アルファ碁Zeroでは、強化学習に軽い探索を取り入れたというのを見かけたので、 想像で真似してみる事にしました。 序盤はランダム着手。そこから5手読みの中盤探索を入れて、残り10手完全読み。 評価関数はValueを使用。たぶん、学習はマシになると思います。 もっと精度が上がったら、3手読みにしてスピードアップしたいです。 今はまだ結構ボロボロなので、これで我慢。
- 83 名前:535 mailto:sage [2017/11/15(水) 00:08:07.85 ID:hR/pxKTk.net]
- 丸一日回してみました。
1000局くらい軽くいくだろうと思ってたけど意外と時間かかってますね。 これはこの辺にしておきます。 533局目 黒(airandom.dll)の勝利回数: 175 白(ai-lv2.dll)の勝利回数: 358 475局目 黒(ai-lv2.dll)の勝利回数: 407 白(airandom.dll)の勝利回数: 68 450局目 黒(airandom.dll)の勝利回数: 198 白(ai-lv1.dll)の勝利回数: 252 365局目 黒(ai-lv1.dll)の勝利回数: 252 白(airandom.dll)の勝利回数: 113
- 84 名前:310 mailto:sage [2017/11/17(金) 23:19:33.73 ID:0nQ3gtJu.net]
- 浅い探索付き強化学習は結構有効に機能しているようです。
学習の速度が明らかに上がったし、精度も良くなっているようで、テスト盤面の 誤差が結構減りました。ただ、そろそろ飽和したか、局所解に入ったような印象。 で、色々考えたあげく、線形回帰ではこの辺が限界かもしれないという事で、 評価関数をmlpにしてみました。valueの方がうまく学習しなかったので、回帰型 ではなくsigmoid出力にして0〜1の数字を石差に変換かけてます。 強化学習は、回帰版の評価関数の結果をそのまま利用してます。 そろそろそこそこ使えそうな誤差になってきたようだし、強化学習は自分に対して 行った方が良いはずなので、全面的にmlpに移行しちゃおうか悩み中。
- 85 名前:535 mailto:sage [2017/11/17(金) 23:58:50.71 ID:8tEb8SWm.net]
- やっぱ思考時間短いといろいろいいんだよなぁ。
モンテカルロは確かにある程度強さ出せるけど 遅いのどうやって克服していいかわからんし。 悩ましい。
- 86 名前:310 mailto:sage [2017/11/18(土) 20:23:37.47 ID:TwYSqk9E.net]
- やっぱスピードは万能ですよねぇ。
モンテカルロですが、評価関数ができたら、アルファ碁Zero方式で(汗 緩やかに読み筋を絞り込みながら、有望な手を深読みする形になります。 mlp版を試していますが、中間層を64にしたら、学習は良いのですが、 モンテカルロが劇遅になりました…。今、中間層8で強化学習していますが、 なんか早々と線形回帰と同様に飽和状態になってしまった模様。 速度的には8が限界な気がする。 途中まで線形回帰の強化学習記譜で学習させていて、同じような癖がついて しまったのかもしれないので、今晩一晩まっさらから学習させてみようかな。
- 87 名前:310 mailto:sage [2017/11/19(日) 15:23:45.94 ID:O7LFJYCP.net]
- あちゃー。
学習がいまいち変に感じていたのは、これは恥ずかしくて言えないレベルの 仕様ミスでした。あれ?と思って、良く考えずに念のため追加したコードが 数か所。ことごとく悪さしていました。 数日損をしたなぁ。
- 88 名前:310 mailto:sage [2017/11/20(月) 22:18:43.00 ID:/GG7G9SR.net]
- ぎゃー。
評価関数に入れるデータの変換テーブルに間違い見つけた。 評価関数がいまいち収束しなかったのはこれが原因かも。 もともとの線形回帰版の時代から隠れていたものなので、 線形回帰版も計算し直しです。 というわけで、数日パーどころか1か月単位でパーですorz
- 89 名前:310 mailto:sage [2017/11/20(月) 22:23:13.40 ID:/GG7G9SR.net]
- 申し遅れましたが、これにて評価関数は最初から計算しなおしです。
幸い、記譜が60件+遡り時の訂正前分100件ほどの合計160件と、 置換表から拾ったものが10万件単位でありますので、最近得ていた 感触だと、これをベースに強化学習で補えそうだというのが、 唯一の救いです。
- 90 名前:535 mailto:sage [2017/11/21(火) 23:12:52.06 ID:orTiLUyu.net]
- やっぱアルファ碁ゼロは理想形なんだよなぁ。
全てが理想的すぎる。 まあ必要計算資源があれですが。。
- 91 名前:535 mailto:sage [2017/11/23(木) 19:54:22.22 ID:5nKVQF7K.net]
- アルファ碁ゼロには興味あるが詳細情報は意外とWebで探すの大変ですね。
かといってネイチャー買うのも金もかかるし読んでも多分理解できないからなぁ。 でも終盤DBとかやってても全然成果あがらなさそうだし生きてて辛い。
- 92 名前:535 mailto:sage [2017/11/23(木) 21:16:22.89 ID:5nKVQF7K.net]
- 囲碁ソフトにLeela Zeroというオープンなフリーソフトがあるそうな。
何か参考になるだろうか?
- 93 名前:310 mailto:sage [2017/11/23(木) 21:17:40.34 ID:A/JPNP9D.net]
- アルファ碁ゼロの論文はまだ読んでませんが、アルファ碁の正常進化ですよ。
自分はDeep Learningのところは「しかと」しているので、MCTSの進化形として とらえてみると、まあ想像ですうが、当たり前の事を当たり前にやっただけかなぁ と思っています。 それより大問題が… また、評価関数の入力データ作るための変換に間違いを見つけてしまいました。 前回どころではない大きな間違いで、良くこの評価関数でそこそこ収束していたなぁ というレベルの間違いでした。ソース喪失して書き直していたところから仕込まれて いたんだと言う事で。 なんか入力いい加減でもそこそこな評価関数ができちゃう事にびっくり。 今度こそ大丈夫と信じて・・・
- 94 名前:535 mailto:sage [2017/11/24(金) 22:55:40.11 ID:QoCCcG2C.net]
- なんかleela zeroのreadme読んでみたけど、一般人が買えるハードウェアだと
アルファ碁zeroの強さを再現するのに1700年トレーニングしなきゃならんとかw は〜絶望するわ。
- 95 名前:535 mailto:sage [2017/11/24(金) 23:04:07.44 ID:QoCCcG2C.net]
- 結局、仮に大金つっこんでスレッドリッパーとか買ったとしても到底無理ってことじゃん。
まあ、まったくの無駄になるとは思わないけど。
- 96 名前:535 mailto:sage [2017/11/24(金) 23:04:57.72 ID:QoCCcG2C.net]
- なんかIDにCがいっぱいあるな。
- 97 名前:310 mailto:sage [2017/11/25(土) 00:38:47.57 ID:Dx7Nr2Ji.net]
- もういっちょ間違い発見orz
ソース喪失後焦って数日でパーッと書いて、そのまま学習させて、そこそこ 収束していたから放置していたのを思い出してきた。今度は全部チェックした。 しかし、いい加減な評価関数でも、結構収束していたってのが凄いな。 そこはかとなく表現力不足を感じていたのはその辺が原因かなぁ。 記譜と置換表データで1から学習させるのに、一気に500回学習させたら、 思いっきり過学習になってしまった。現在、強化学習で解きほぐし中。 回帰の方はほぼほぐれたけど、MLPの方はまだ時間がかかりそう。
- 98 名前:310 mailto:sage [2017/11/25(土) 00:54:30.38 ID:Dx7Nr2Ji.net]
- >>95
某スレをウォッチしていたら、前から気になっていた事を指摘していた人がいた。 スレッドリッパーはAVX2命令の中に遅いものがあって、一つ下のインテルの奴の 方が、この手の計算は速いらしい。 あと、GPUをどう使うかだね。 けど学習だけならTensor Flowにやらせちゃえばよいのだろうけど、学習データを 使うところまで行ったら、GPU使った非同期並列処理とか考えなきゃならないし。 CUDAだっけ?GPU専用にコード書かないといけないし。 なんか道筋というか、そこまでやってる自分の姿がイメージしきれない(汗 その前に詰将棋を解くプログラム開発してそう(笑)
- 99 名前:535 mailto:sage [2017/11/25(土) 01:01:08.99 ID:ekS5f4AB.net]
- 某スレってどこですか?
GPGPUはもうちょっとハードル下がってほしいですねぇ CPUよりも何十倍も速くなるケースもあるらしいし興味ありますね CUDAをごりごり書くのは難しそうですがライブラリとかに期待。
- 100 名前:310 mailto:sage [2017/11/25(土) 01:26:03.49 ID:Dx7Nr2Ji.net]
- コンピュータ囲碁か何かのスレです
この1か月くらいのカキこのどこかにありました(汗
- 101 名前:535 mailto:sage [2017/11/25(土) 23:11:08.18 ID:ekS5f4AB.net]
- ちょっと目先を変えて9路囲連星やってみようかな。
9路なら序盤DBだけで押し切れそうな気がするw。
- 102 名前:535 mailto:sage [2017/11/25(土) 23:33:24.64 ID:ekS5f4AB.net]
- 310さんみたいに既存コード全捨てでやってみようかなぁ?
もう一度まっさらな気持ちになって…
- 103 名前:535 mailto:sage [2017/11/25(土) 23:53:52.98 ID:ekS5f4AB.net]
- まっさらな状態から書いてみようとしたけど、
めんどくさくなってすぐ昔のコード確認しちゃうw 駄目すぎるw
- 104 名前:310 mailto:sage [2017/11/26(日) 13:10:07.09 ID:kav93n5u.net]
- ソース喪失以外の時は、結構コピペしていますよw
書き直しの時は、たいていあちこちで使用しているクラスの構造変え たりする類の後戻りが難しい変更加える時なので、中の関数は一緒です(汗 新しい評価関数は、だいぶ落ち着いてきましたが、遡り28手くらい でタイムアウトになります。並べ替えに使っているので精度が上がる と速度が速くなるのです。前は29手、調子が良い時は30手くらい まで行っていたので、まだ精度が追い付いていないみたいです。 これでしばらく強化学習の具合見ながら待つだけになっちゃいました。 5×5の囲碁くらいならCNNで評価関数作れないかなぁとか、詰将棋を 作るならBitboardを2バイトに拡張しなきゃとか、悪い虫が疼き始めて います。
- 105 名前:535 mailto:sage [2017/11/26(日) 21:08:25.02 ID:wxjv7tgm.net]
- 後のコード書きやすいように柔軟性のある設計にするかゴリゴリの最適化を目指すか悩み中w
- 106 名前:535 mailto:sage [2017/11/26(日) 21:53:28.37 ID:wxjv7tgm.net]
- ああ、最適化の誘惑に駆られるw
- 107 名前:310 mailto:sage [2017/11/26(日) 22:28:47.97 ID:kav93n5u.net]
- 僕が読んだ本では、
最適化するな。アルゴリズムを考えろ。 アルゴリズムなら桁単位で速度アップし、過去に行った最適化は無駄になる。 と言うよな事がトップに書いてあって、それ以来(自分の)読みやすさ優先にしている。 BITBOARDのAVX2命令とか、その辺でいくつかの関数のみ、ゴリゴリにしている。 とはいえ、その辺も一応アルゴリズムの範疇かなぁ。 演算子のオーバーロードとか関数で隠ぺいしているしね。 問題は、最初にクラスの構造とかあんまり考えてないので、あとでごちゃごちゃに なってしまう事。それで何度か書き直ししている。
- 108 名前:535 mailto:sage [2017/11/26(日) 22:35:57.72 ID:wxjv7tgm.net]
- まあ、そのセオリーは私もどこかで聞いたことありますがw
アルゴリズムでの改善が行き詰まると結局泥臭い最適化に手を出すことにww すでに一回実装したことのあるプログラムだしある程度勘所というか見通しは立つかなーと
- 109 名前:535 mailto:sage [2017/11/27(月) 23:15:23.55 ID:jINzvSI7.net]
- 勢いでコード書きなおしてるけどテストするのが
- 110 名前:面倒くさいw
言ってもしょうがないけどw [] - [ここ壊れてます]
- 111 名前:310 mailto:sage [2017/12/01(金) 20:29:48.04 ID:ONM9KZwZ.net]
- またしても問題発覚。
タイムアウトなどでキャンセルしたとき、探索途中の中途半端な評価値の置換表 が作成されている模様。対象の特定はできないため、置換表データをいったん 削除して、全データに対して再度遡りチェックを実施する
- 112 名前:魔ナ、置換表データを
再作成する事にしました。 むむむ。 評価関数はそれなりの精度になっているので、それなりの速度ではチェックできる はずですが、またしても…って感じでがっかりです。 同一評価値で変化がある分、記譜は多少は膨れるはずなので、そちらに期待。 [] - [ここ壊れてます]
- 113 名前:535 mailto:sage [2017/12/05(火) 23:23:49.29 ID:CujvIJMm.net]
- 9路囲連星、一応ルールと簡単なモンテカルロAIはちゃんと動いたっぽいです。
ここからどう展開するか。
- 114 名前:310 mailto:sage [2017/12/05(火) 23:36:41.89 ID:5HB6IIYO.net]
- とりあえず軽く遡りチェック完了。28〜30まで遡ると時間かかるので当面25前後まで。
もっとも誤着手なしタイムアウト無しだと30手だろうと遡れちゃうから、28手あたりの 適度なところで止めちゃいましたが。 で、置換表データ激減。いままで間違ったものを相当学習に取り込んでいたっぽい。 あと、MCTSのツリーの末端(以後終盤探索しているので数値確定)の評価が時々 狂う問題がありまして、いつもではなかったので目をつぶってましたが、暇だった ので着手。原因不明なれど、二重更新問題っぽかったので、ツリー部分のコード を整理してみたところ、何故か治ってしまった模様。 本当に直っていたら自己対局の精度も少し良くなるはず。 つか、羽生永世7冠誕生ですね。 記譜みてみましたが、何が何だかわけわからんけどw
- 115 名前:310 mailto:sage [2017/12/05(火) 23:43:42.63 ID:5HB6IIYO.net]
- Buroさん型特徴の評価関数もそろそろ限界っぽいのと、今のままだと強化学習にも
かなり時間がかかるので、新しいパソコンが欲しくなってきました。やはりCNNに行く しかないかもという事で。 ものは試しにi9-7980でパソコン組んだら幾らになるのか、ネットで見積もってみた のですが…そっと閉じてしまいました(汗 クロック数とか見ると、10コア20スレッドくらいの奴が、一番よさそうな気がするんだ けど、どうなんだろう。
- 116 名前:535 mailto:sage [2017/12/06(水) 00:45:59.31 ID:D/I5x6A8.net]
- メモリも山盛り積みたいですよね〜
GPGPUも考えられるし。
- 117 名前:535 mailto:sage [2017/12/06(水) 21:27:03.05 ID:D/I5x6A8.net]
- アルファ将棋爆誕w
- 118 名前:310 mailto:sage [2017/12/06(水) 21:37:40.75 ID:fJiMVswg.net]
- 今見たorz
夢想段階にあったものをことごとく圧倒的な力量でやられてしまふ。 そのうち、5分でオセロ作ったよとか言われるんだろうなぁ。 学習と評価の実行が完全に二分された今となっては、 学習に使用するハード性能は正義だと思い知らされる。
- 119 名前:535 mailto:sage [2017/12/06(水) 21:39:44.94 ID:D/I5x6A8.net]
- グーグルのアルゴリズムはマジ万能なんですかね〜?
必要マシンパワーがあれですが、ムーアの法則が解決するでしょう。
- 120 名前:535 mailto:sage [2017/12/06(水) 21:49:23.90 ID:D/I5x6A8.net]
- そんなに万能ならライブラリとして公開してくれw
囲連星とライフゲーム碁を学習させたいww
- 121 名前:535 mailto:sage [2017/12/06(水) 22:03:23.36 ID:D/I5x6A8.net]
- いっそ完全解析してくれたら諦めつくんですけどねw
- 122 名前:535 mailto:sage [2017/12/06(水) 22:49:40.35 ID:D/I5x6A8.net]
- 9路囲連星のDB作りはじめました。
何日かぶん回そう。
- 123 名前:310 mailto:sage [2017/12/06(水) 23:02:24.56 ID:fJiMVswg.net]
- non-MonteCalroなツリー探索(勝手にそう呼んでる)は、MCTSがロールアウト
関数さえ作れれば万能なように、完全情報ゲームでは万能だと思う。 あと強化学習による評価関数の作成も。 ただ、まだAlpha碁Zeroの論文読んでないからわからないけど、CNNの入力 については、人間が介在しているかもしれない。少なくともアルファ碁の段階 では、ちょっと特殊な入力データを用意していた。 それと、完全情報ができない以上、強さの地平線を広げたに過ぎないのも確か。 それを実現するために圧倒的なマシンパワーを使っているわけで。そのマシン パワーを前提に、それを完全に活かせるアルゴリズムにしたってところが、評価 ポイントなのかもしれない。 かなり悔し紛れな評価だけどorz
- 124 名前:535 mailto:sage [2017/12/06(水) 23:52:04.64 ID:D/I5x6A8.net]
- ガンガンツリー展開して全部DBに突っ込んでたら意外と早くメモリがパンクした。
相変わらず学習しない俺w しょうがないからDBに入れるのは序盤だけにするか。
- 125 名前:310 mailto:sage [2017/12/07(木) 00:22:37.97 ID:EKyZH2pF.net]
- Googleがやらかしてから、後だしで俺も考えていたとか悔しいので、
前から思っている事をボソっと書いとく。 十分に深いDCNNの場合、表現の自由度が高いから、強化学習を繰り返す 事で過学習になる事が、起こりうる局面の大半を内部に保持する事につな がっていて、実は汎化性能ガン無視で良いのではないか。起こりにくい局面の 評価値はグチャグチャでも構わないという事で。 と思っていたりする。
- 126 名前:535 mailto:sage [2017/12/07(木) 00:55:58.10 ID:+QWWXInu.net]
- 修正してみたけど、8プロセス並列で動かすと意外とまだメモリがきついな。
しょうがないから1プロセスだけで流すか。
- 127 名前:535 mailto:sage [2017/12/07(木) 01:11:55.19 ID:+QWWXInu.net]
- うーん、なんか同じ局面しか選ばなくなっちゃう。
これは致命的な欠陥だなぁ。 どうしよう?
- 128 名前:535 mailto:sage [2017/12/07(木) 01:18:35.82 ID:+QWWXInu.net]
- 駄目だ分からん。
諦めて今日は寝よう。
|

|