[過去ログ] 【オセロ,将棋】ボードゲーム Part2【囲碁,War】 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
607: 535 2019/01/19(土)20:54 ID:R+TIxYAB(4/4) AAS
tiny-dnn以外のGPU使えるライブラリで重みだけ学習してアプリケーションからはtiny-dnnを使うというのもあるのだろうか
608: 535 2019/01/20(日)02:28 ID:O7gh4nMQ(1/8) AAS
全く同じ結果ではなく微妙に違う結果を返してるのは確認できたけど。
単に学習量がたりてないのかなぁ。
609: 535 2019/01/20(日)15:00 ID:O7gh4nMQ(2/8) AAS
やっぱり全く同じ結果返してる??
混乱してきたorz
610: 535 2019/01/20(日)15:40 ID:O7gh4nMQ(3/8) AAS
層が多すぎたのが悪かったみたい?
層減らしたら違う値になった。
611: 535 2019/01/20(日)17:41 ID:O7gh4nMQ(4/8) AAS
お、LV1に勝った!
まあDNNの学習の効果の勝利というよりも序盤DBと詰みルーチンの補助による勝ちなんだけどね。
でもとりあえず、それっぽく動くところまで来ました。
612: 535 2019/01/20(日)17:54 ID:O7gh4nMQ(5/8) AAS
序盤DBが良すぎてDNNの真価がわからないから序盤DB外してみるか…
613: 535 2019/01/20(日)17:59 ID:O7gh4nMQ(6/8) AAS
酷すぎwwww
でもランダムよりはマシに見える。
614: 535 2019/01/20(日)18:24 ID:O7gh4nMQ(7/8) AAS
やっぱ序盤DBに頼るか…
こんなにプログラムが楽しいの久しぶりやな
615: 535 2019/01/20(日)20:01 ID:O7gh4nMQ(8/8) AAS
たぶんだけどまだまだ棋譜増やしたほうがいい。
ていうかあればあるほどいいい。まだまだ良くなる。
可能なら100万局を目指したい。
616: 310 2019/01/22(火)00:34 ID:9pySCUmT(1) AAS
赤黒木大体できたけど…ただの二分木よりほんの少し遅い…。
元々ハッシュでランダマイズしているから、二分木の末端ノードまでの深さは
綺麗な正規分布になっていて、赤黒木にしても木の最頻高さで3割程度しか
小さくならないという事で、ツリーを修正するオーバーヘッドが効いているのか、
それとも木全体でしか排他できないのが原因なのか。
もうちょっと調べてから諦めます。
617: 535 2019/01/22(火)22:52 ID:jAP2hLDv(1/3) AAS
要素が100個未満ならぶっちゃけvectorでいいと思いますが。。。
618(1): 535 2019/01/22(火)23:02 ID:jAP2hLDv(2/3) AAS
前も同じこと言ったような気がするけど、学習させるなら局面の勝率より次の一手のほうがいいのだろうか?
619(1): 2019/01/22(火)23:17 ID:LaaXTOn4(1) AAS
いまきたんですがここはどんなゲームを開発してるんですか
じぶんで開発したとして対戦相手=プログラムありますか
620: 535 2019/01/22(火)23:34 ID:jAP2hLDv(3/3) AAS
>>619
とりあえず、落ち着いて。
過去ログから読んでください。
621: 310 2019/01/23(水)01:56 ID:QHWWUXAJ(1/2) AAS
置換表に使ってるので要素数は現在残り28手で100万超える事もあります(汗
まあ、βカットの具合でだいぶ変わるので、学習進むと減るんですが。
最低でも残り30手まで行くつもりなので、1000万くらいは想定したいです。
次の一手ソート用の配列は、Array型にしています。32個確保すれば足ります。
こちらも比較したところ、明確に速度差がありました。この辺から、領域をチマチマ
確保されるオーバーヘッドが気になりだした次第です。
で、赤黒木ですが、実装が悪いのだと思いますが、現時点で2分木と比較して
およそ3倍時間がかかります。シングル動作でも同じくらいの差になるので、
排他待ちではなく、木のつなぎ替え処理の重さが原因かなと。置換表は追加が
の比率が大きいので、ポインタたどるロスは優位ではない感じ。
というわけで、赤黒木はちょっと放置。
というか、二分木もシングル動作は10倍くらい速い感じなので、今一度シングル
探索の並列化を試そうと思っています。
622: 310 2019/01/23(水)02:07 ID:QHWWUXAJ(2/2) AAS
>>618
min-Max前提だと、探索値を求める際には勝率(点数)が必須で、
次の1手評価関数はオーダリングや前方枝刈向きではないですか?
探索深さ1なら次の1手で行けますが。
初代アルファ碁も、両方組み合わせていますが、次の1手評価関数で
手の優先順位をつける事で読み深さを実現した変則mctsで、最終的には
評価値で判断していますよね。
623: 535 2019/01/23(水)20:43 ID:B65SvCza(1/3) AAS
ふーむ、勝率のほうが応用が利くってことですかね?
もうしばらく勝率で学習させてみます。
624: 535 2019/01/23(水)21:07 ID:B65SvCza(2/3) AAS
ついネットワークを大きくしたくなっちゃうけど。
本当は小さいネットワークでエポック数を稼いだほうがいいのかもしれない。
625: 535 2019/01/23(水)21:28 ID:B65SvCza(3/3) AAS
そういえば、対称局面も学習データとして使ったほうがいいんでしたっけ?
626: 310 2019/01/24(木)01:32 ID:cGqmeFv+(1/3) AAS
囲連星は初期配置ないんでしょ?
だったら対象局面ありの方が良いと思う。
オセロは悩み中。
初手をF5固定にした時に、本当に対称局面が出てくるのかわからない。
対称局面が同じ重要性で生じないのであれば、評価値を希釈しちゃうだけ。
学習の時間も単純に倍々で増えるので、今はやっていない。
強いて言うなら、F5F6E6の次がF4とD6で斜め対称になるので、ここだけは
記譜作成時にはF4固定にして、D6の対称局面を作っている。
627: 310 2019/01/24(木)01:49 ID:cGqmeFv+(2/3) AAS
置換表自作の件、目的を見失っている(汗
一旦リセットして、最初からやり直して、当初の目的に戻ろうと思うorz
628: 578 2019/01/24(木)01:53 ID:mzMMzuaC(1/2) AAS
私は教師データの数が8倍になるのは大きいと思って対称局面も入れて学習させてます
とくにDeep Learningさせてると(ネットワークの規模にもよりますが)だいぶ過学習しなくなります
もっとも、Deep Learningするんだったら対称性を考慮したネットワークにしたほうがいいのかもしれないですが・・・
629: 310 2019/01/24(木)02:08 ID:cGqmeFv+(3/3) AAS
着手できる場所の自由度が高いゲームは回転させるべきだと思う。
オセロは着手可能場所が限られるので、現れない局面が結構ありそう。
ちなみに、オセロは8倍じゃなくて4倍。初期配置が4対称だから。
囲連星は初手天元固定なのかな?
630: 578 2019/01/24(木)07:09 ID:mzMMzuaC(2/2) AAS
>オセロは8倍じゃなくて4倍
たしかに棋譜で考えると4対称しか無いですね
今のところ、学習させるときには現局面しか渡してないので、
90度回転で一致する局面が存在するかもしれないから8倍で良いはず…
631: 535 2019/01/24(木)22:03 ID:gSjgdU9w(1/2) AAS
うーん。今のやり方だとLV0やLV1とはいい勝負になるけどLV3には一生勝てないかも?
出来れば自己対戦による強化学習とか取り入れたいな〜
対称局面もやってみますね。
632: 535 2019/01/24(木)22:45 ID:gSjgdU9w(2/2) AAS
なんか長時間計算回してると画面が真っ暗になってマウスやキーボード押しても復帰しないことがあるんだが?
スリープは解除してるはずなんだけどなんなんだろう?
633: 535 2019/01/25(金)23:18 ID:gNQn5rdl(1) AAS
LV0ってやっぱ棋力低いな。
そんなLV0といい勝負の俺のAIもあれだけど。
やればやるほどLV3の完成度の高さが際立つ。
634: 310 2019/01/26(土)17:00 ID:VyVaK4H+(1) AAS
自作置換表ですが、大体のところがまとまりました。
結局のところ、unordered_mapを作っていた形になります(汗
当初は領域の追加について、データ部分をまとめて追加する方向で改造し、
ハッシュ配列については22ビット固定で、高速化をしました。で、ハッシュ配列が
22ビット固定は芸がないと、二分木・赤黒木などを試しましたが、速度大幅低下。
要するに、unordered_mapにmapを組み合わせて、ハッシュのメリットを相殺して
しまっていたという事で。
最終的に、ハッシュ配列の追加方法をようやく思いつき、組んでみたところ、それが
そのままunordered_mapのrehashだと気が付きました(汗。その後、max_load_factor
などを追加して、unordered_mapと条件を揃えて速度比較となりました。
iteratorと削除が無い分だと思いますが、unordered_map、concurrent_unordered_map
に対して、それぞれシングル版、concurrent版とも若干高速になりました。
新たな課題は…stlも自作版も、どちらも並列に動かしたconcurrent版の方が遅いと
言う事です。もともとそういうものなのか…テスト方法が並列向けじゃないのか。
635: 535 2019/01/26(土)17:38 ID:VGsbBdjp(1/13) AAS
8対称はメモリがやばいので4対称にします。
4対称で16GB位食ってる。
636: 535 2019/01/26(土)17:54 ID:VGsbBdjp(2/13) AAS
思い切っていいPC買ったけどまだ足りないとかorzorzorz
ケチらず64GB積むべきだったか?
上下前次1-新書関写板覧索設栞歴
あと 366 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.016s