[過去ログ]
【オセロ,将棋】ボードゲーム Part2【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム Part2【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
567: 310 [sage] 2018/12/27(木) 22:00:15.50 ID:APLuuq5f 色々あがいた挙句、そこそこ時間がかかる26手空きを、それぞれで解いてみた。 並列探索で6分。シングル単独動作で12分。シングル4並列動作で18分。 やはり、シングルも4並列する事でなにがしかのオーバーヘッドがあるようです。 単純計算だと並列探索6分を4個で24分に対して、シングル18分で4つ解ける 事から33%の速度アップが見込める事になるけど、体感そこまでの効果が感じ られないというか、時間がかかる問題では更に差が大きくなっていて、そいつらに 足を引っ張
られている印象。 そのうえで、裏でゴソゴソやりながら計算させる時に色々弊害があるので、 CPUの増強を決断するまで放置しようかと思います。 色々あがいた結果か、並列探索ですこーし速度アップした感じ。 10%行くかいかないか。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/567
568: 535 [sage] 2018/12/27(木) 22:05:17.88 ID:gYB4tQZF よくわからんがハイパースレッディングって単純に性能2倍になるわけではないということではなくて? http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/568
569: 310 [sage] 2018/12/27(木) 23:06:53.59 ID:APLuuq5f もちろんそうなんだけど、排他待ちを要するデータも、待ち合わせロスも 無いので、もうちょっと性能出るんじゃないかと思っていたのです。 あと、うまく説明できないけど、ノード数が多い探索は、ノード数比以上に 時間がかかっている気がしています。まだ感覚の話ですが。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/569
570: 535 [sage] 2018/12/28(金) 20:37:08.10 ID:HWMCAOZD LV3は強いんだけど詰み状態から詰みを逃してる棋譜が散見される。 直せるもんなら直したほうがいいんだろうけどかなり大変だろうな http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/570
571: 310 [sage] 2018/12/29(土) 09:40:46.33 ID:hnomLa8j んー。シングル並列動作で6時間かかっても解けずに諦めた盤面とを見つけて、 パラレルで解いたら1時間40分だった。空きマス26だと通常1分程度なんだけど、 時々こういう時間がかかる盤面がある。今までテストが面倒なので、10分以内に 終わりそうな奴でテストしていたけど、もしかしたら探索ノードが多い奴ほど、 シングル並列動作での速度低下が大きいのかも知れない。 時間がかかる奴ほど、シングル・パラレル比が悪化するなら、今考えている大体 3倍程度ってのは成り立たなく
なって、もっと悪い事になる。それなら感覚的に 合致する。普通に流れている時には、シングル並列で高速化できそうな手ごたえ があるんだけど、時間がかかる盤面が来ると急速に逼塞していって、なかなか 回復しないという感じ。 パフォーマンスモニタにらみながら、unordered_mapのメモリアロケーションの方法 を想像してみた。初期確保件数指定(倍々で自動追加される)してみたけど、溢れて もいないのにダラダラとメモリー使用量が増えていく。もしかしたらOSにメモリーを 貰いに行く動作が排他待ちになっているのかも知れない。どうやって検証し
よう。 やっぱ自前置換表作るしかないのかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/571
572: 310 [sage] 2019/01/01(火) 10:13:37.88 ID:y24geaJt あけおめです。 ヒープをダラダラと確保するのが気になったので、色々いじりました。 ordering用のvectorを、配列にしてスタックに。ついでにクラス化してメンテ性アップ。 少しだけ速度アップした気がする。 自前ハッシュテーブル型の置換表を作ってみた。 最初に大きく領域確保して、溢れた時以外領域確保しないようにした。 基本、余計な機能は実装していないので、処理は軽いはずなんだけど… 極ほんの少しだけ速度ダウンした感じ… 記譜作成はunordered_map版で実行しながら、改良
をしてみたいと思います。 とはいえ、ソース的にはあんまり改良の余地がないんだよなぁ。 速度がそん色ないところまで行けたら、シングル版の並列での速度低下が メモリー確保が原因か検証できるかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/572
573: 310 [sage] 2019/01/05(土) 09:07:42.68 ID:KwyVlHZX チェーン型でハッシュを組んでましたが、テーブルがあふれると結局ダラダラと メモリー獲得し始めるので、オープンアドレス型に変更して、まとめて領域を追加 するようにしました。 この辺、もう趣味の世界ですね。 何をしても、速度は上がりも下がりもしない(汗 やっぱり探索ノードを減らす工夫が重要ですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/573
574: 535 [sage] 2019/01/05(土) 21:26:02.72 ID:TXR2vHHf 自己対戦のみで強くなるアルファゼロは理想ですが実装が難しそうなので せっかく棋譜も集めてるので教師あり学習をやってみようかと思案中。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/574
575: 535 [sage] 2019/01/06(日) 00:55:45.70 ID:6f3tqt5A とりあえず、棋譜データからmin-max探索して黒有利の局面か白有利の局面かの2択を学習させようかな。とか思ってます。 そろそろ寝るか。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/575
576: 535 [sage] 2019/01/06(日) 02:33:16.90 ID:6f3tqt5A 寝るタイミングを逸してしまったw プログラミングってこれがあるから怖いよねw http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/576
577: 535 [sage] 2019/01/06(日) 02:46:46.55 ID:6f3tqt5A なんか100兆局くらい棋譜を集めると序盤DBだけでもかなり押せるんじゃないかなぁ。 そんな感じ。 いかん、寝なければww http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/577
578: 名前は開発中のものです。 [sage] 2019/01/06(日) 03:01:38.94 ID:aGENq217 質の悪い棋譜ばかり100兆局集めてもあんまり強くならない気がするのですがどうなんでしょう 質のいい棋譜がそれだけ集まればいいですがそれはほぼ不可能ですし… http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/578
579: 535 [sage] 2019/01/06(日) 03:14:04.86 ID:6f3tqt5A そうはいってもLV3の棋力はかなり高い。 囲碁将棋でいえばアマチュア3段くらいには相当するはず。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/579
580: 535 [sage] 2019/01/06(日) 03:18:59.57 ID:6f3tqt5A 波があるからアマチュア3段は言い過ぎだったかなw でもまあ強い時はかなり強い。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/580
581: 310 [sage] 2019/01/06(日) 14:23:08.43 ID:a93oWf/5 置換表一時調子が良かったのですが、修正加えたら崩壊。 なんとなく読み取りが変な感じなんだけど、どこがおかしいのか全くわからず。 >>578 棋譜たくさん集めて序盤DB作ったら、その序盤DBのMax手順以外の手について は、分岐した以後の盤面だけで学習させると序盤の穴が埋まるというか、間違った 盤面でぼやっとした学習するの避けられるかも。 今、序盤についてはそのやり方で学習させてます。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/581
582: 535 [sage] 2019/01/06(日) 20:12:44.73 ID:6f3tqt5A とりあえず、昔作ったTINY-DNNのプログラムを引っ張り出してきて学習プログラムを仮組したが絶望的に遅いorz グラボ使えればちっとは違うんだろか?うーむ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/582
583: 310 [sage] 2019/01/06(日) 20:34:20.52 ID:a93oWf/5 オープンアドレスうまく動くようになりました。 ここに愚痴ると、直後に原因がわかる罠w この数日の葛藤は何だったんだ。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/583
584: 310 [sage] 2019/01/06(日) 20:36:40.74 ID:a93oWf/5 >>582 Tiny-DNNはGPU対応していないんじゃないかなぁ。 結局、DCNNはGPUで処理しないと無理っつー気がする。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/584
585: 535 [sage] 2019/01/06(日) 20:44:29.63 ID:6f3tqt5A >>584 あ〜やっぱそうなんですかねぇ。 GPUも結構いいの買ったのでぜひ活用したいところではあります。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/585
586: 535 [sage] 2019/01/06(日) 22:23:00.36 ID:6f3tqt5A 明日は仕事なのでハマらないうちに切り上げようww 社会人として自制しなければwww http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/586
587: 535 [sage] 2019/01/07(月) 20:55:27.41 ID:4rY/alBf 学習回しても損失が全く減らない。。。 そういやそんなのあったな。orz http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/587
588: 535 [sage] 2019/01/07(月) 23:12:38.14 ID:4rY/alBf なんかネットワーク初期化忘れてたみたいw 初期化したら損失減ったw ちょっと希望が出てきた。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/588
589: 535 [sage] 2019/01/08(火) 23:12:12.87 ID:1omQC7Mg 損失減ることは減るんだけどホントにちょっとづつしか減っていかない。 ネットワークの形状が悪いんだろうか?学習率だろうか? うーん、深みにはまりそうorz http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/589
590: 310 [sage] 2019/01/09(水) 20:33:25.82 ID:9GUGdavc 学習の速度はオプティマイザに依存します。 普通のSGDだと、あちこちぐるぐる回ったり、平野トラップで立ち往生したり、 局所最適解から抜け出せなくなったり。また、SGDは学習率(α)を大きくすると、 簡単に発散しちゃったりしますので、学習率を低めにして1000回とか学習する 事になります。それでも上記の問題で、なかなか収束しなかったり、うまく学習 できなかったりします。 そういうものなのです。昔は、初期値(乱数設定しているはず)を変えてみたりして トライ&エラーし
てましたが、今なら別のオプティマイザ(RMSpropやADAM)を試す べきかと思います。それでも数百回は学習を繰り返さないといけないと思います。 久々に検索したら結構種類が増えてた。 https://qiita.com/ZoneTsuyoshi/items/8ef6fa1e154d176e25b8 自分は線形回帰モデルですが、SMORMS3を使って効率化を図っています。 それでも、数百回学習しないと損失は落ち着いてきません。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/590
591: 310 [sage] 2019/01/09(水) 22:31:13.85 ID:9GUGdavc 置換表ですが、結局のところ、ハッシュのビット数を増やしてチェーン接続があまり 生じないようにし、メモリーをある程度のサイズでまとめて確保する、チェーン型 ハッシュに落ち着いています。 普段速度計測に使っているFFO#40-49ではconcurrent_unordered_map版より若干 遅いのです。が、どうも残り28手(現在はそのあたりをチェック中)では、自作チェーン ハッシュの方が早いというか、ノード数が増えた時に速度低下が少ないように感じて おり、現在は自作置換表を使っています。 と
はいえ、29手や30手まで行った暁にはチェーン接続が多発し始めて速度低下が 始まると思われるので、対策を考えて行きたいと思います。28手が終わるまでまだ 一カ月くらいかかるので、幸か不幸か時間はたっぷりあります(--; 今のところチェーンの代わりに2分木を置いて、ハッシュが衝突したときの速度低下を O(n)からO(log(2)n)にしてみようかと考えています。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/591
592: 535 [sage] 2019/01/09(水) 23:20:11.40 ID:ED/1LPLd ふーむ。要素が少ない時はリストやツリーは遅く、配列が圧倒的に早いという認識でしたが。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/592
593: 535 [sage] 2019/01/12(土) 00:34:20.08 ID:I11IVt9R あれ、序盤DBに棋譜を追加したら全然おかしな手を打つようになっちゃった。 棋譜がまずいのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/593
594: 535 [sage] 2019/01/12(土) 01:02:50.64 ID:I11IVt9R くそ〜強いAI(自我があるとかではないよ)作りてぇなぁ http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/594
595: 535 [sage] 2019/01/12(土) 01:39:38.14 ID:I11IVt9R 三連休とはいえそろそろ寝なければな。 生活のリズム崩すのはいくない。 http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/595
596: 535 [sage] 2019/01/12(土) 21:33:08.59 ID:I11IVt9R 質にばらつきのある棋譜から良いデータを抽出する方法はあるのだろうか? http://mevius.5ch.net/test/read.cgi/gamedev/1508056498/596
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 406 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s