[過去ログ]
【オセロ,将棋】ボードゲーム【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
508: 460 [sage] 2016/08/24(水) 01:02:17.32 ID:elb1k4A2 色々チューニングしてトライしましたが、FFO57を大きく落としてしまい、放心中ですw FFO57以外は全体的に高速化しているのですが、合計としてはあまり変わらない結果に・・・ 終盤MPC探索中にa6とg7でかなりふらつくので、置換表に次善手も入れておかないとダメかもしれません。 とりあえずEdaxとゼブラのオーダリングあたりのソースを見直す予定です。 name move time[s] node[Mn] FFO#40 a2:+38 1.05 10.61 FFO#41 h4:+0 3.23 37.85 FFO#42 g2:+6 2.43 31.69 FFO#43 G3:-12 7.69 79.04 FFO#44 D2:-14 5.09 48.95 FFO#45 b2:+6 30.21 409.43 FFO#46 b3:-8 7.23 78.8 FFO#47 G2:+4 3.1 38.9 FFO#48 F6:+28 19.58 207.46 FFO#49 e1:+16 45.11 527.45 FFO#50 d8:+10 144.14 1330 FFO#51 E2:+6 39.91 502.74 FFO#52 a3:+0 52.56 687.22 FFO#53 d8:-2 617.63 8360 FFO#54 c7:-2 944.7 13410 FFO#55 G6:+0 測定中 FFO#56 H5:+2 262.85 3410 FFO#57 a6:-10 1523.67 19710 FFO#58 g1:+4 674.09 9760 FFO#59 g8:+64 1.08 5.57 合計4385.35[s](FFO55未測定) 合計ノード数:58645.71[Mn] http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/508
509: 310 [sage] 2016/08/24(水) 10:40:19.04 ID:GpcelPIW こちらも大バグを見つけて放心中です(汗 ミニバッチサイズごときで収束具合が大きく変わるのがおかしい点。 ミニバッチサイズを大きくすると、収束点がかなり規則的に減少していくように見える点。 この2点から、寝ながらデバッグしてたんですが、テストデータの件数で平均を出すべき ところで、ミニバッチサイズで割っていた事に思い当りました。 で、修正して、行列の列数で割るようにしたのですが、今度は列数がリセットされていない 事が判明。どうもポインタ渡しで行列を渡した時に行数・列数が正しく引き継がれないよう な現象のようです。 というわけで、一瞬大喜びしましたが、全くのやり直しとなりました。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/509
510: 460 [sage] 2016/08/24(水) 14:56:52.40 ID:Kkx6VEyM >>509 学習プログラムのバグはやっかいですよね。 自分も何回ひどい目に遭ったか… 今でもまだありそうな気がして怖いですw http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/510
511: 460 [sage] 2016/08/24(水) 22:16:05.70 ID:elb1k4A2 FFO57をどうにかしようとチューニングをして、なんとかFFO57が1200秒台に縮まりました。 ある程度縮まったので、期待せずにもう一度全部を測定してみると 全体がかなり高速化されていて、FFO55がまさかの3774秒までに縮まりました!(奇跡) とりあえずこれをオーダリングの暫定最終結果として、次は並列化に手を出してみようと思います。 まずはYBWCアルゴリズムの実装方法の検討から・・・ FFO#40 (a2:+38) 1.05s FFO#41 (h4: +0) 3.19s FFO#42 (G2: +6) 2.55s FFO#43 (G3:-12) 7.82s FFO#44 (D2:-14) 4.18s FFO#45 (b2: +6) 29.77s FFO#46 (b3: -8) 6.99s FFO#47 (G2: +4) 3.10s FFO#48 (F6:+28) 19.49s FFO#49 (e1:+16) 36.63s FFO#50 (d8:+10) 128.15s FFO#51 (E2: +6) 50.46s FFO#52 (a3:+0) 36.88s FFO#53 (d8:-2) 427.77s FFO#54 (c7:-2) 730.26s FFO#55 (G6:+0) 3774.07s FFO#56 (H2:+0) 185.22s FFO#57 (a6:-10) 1281.31s FFO#58 (g1:+4) 556.86s FFO#59 (g8:+64) 1.08s 合計:7286.83[s] http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/511
512: 310 [sage] 2016/08/25(木) 00:17:23.06 ID:ZE8G6YuY >>510 Eigen導入前のプログラムみたいにFFOの盤面渡して評価値見るようにしていれ ば良かったのですが、あまりに収束しないので、収束の兆しが見えてからやろう なんて放置していたのが失敗でした。あまりに急速に状況が改善していったので、 0.5石切るか知りたくなって、確認が後回しになってました。反省orz ちなみに、列数がリセットされない問題も、原因がわかりました。 これも自分のミスというか、Eigenの使い方間違ってました。 Eigen便利すぎて、少なくとも行列演算部分に関してはバグフリーで、簡単に先に 進めちゃうので、細かいところがなおざりになっていたような感じです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/512
513: 460 [sage] 2016/08/25(木) 11:20:22.96 ID:PNQVZmVa そういえばFFOに夢中すぎて中盤の強さ評価を忘れていました。 現在は180万局の学習が終わっていますが、ゼブラ(24手読みBookなし中盤誤差なし)と黒と白で戦い、 それぞれ+8と-2という結果になりました。 完全にBook無しだと、白黒両方とも虎定石からのe3酉定石に分岐するため、 金魚や大量取りなどの主要な引き分けオープニングからの勝率を測定しようと思います。 あとHTML5版のMasterReversiレベル3とも対戦してみましたが、白黒両方とも-2という結果に…orz Book構築方法もそのうち考えようと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/513
514: 460 [sage] 2016/08/27(土) 00:02:49.98 ID:ct+QEGYU 学習プログラムのバグが怖くなって見直してたら超大バグを見つけました・・・ パターンモデルのうち、triangle(Thellが用いているモデル)だけが 局面出現数のカウントリセットされておらず延々と増え続けていましたw あと同じ棋譜が結構あり、ダブった棋譜を全て除去すると180万局よりも10%程度減りそうです。 とりあえず除去中の150万局の棋譜でもう一度再学習します・・・orz http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/514
515: 460 [sage] 2016/08/27(土) 13:15:04.86 ID:ct+QEGYU 学習プログラムのバグを直して再学習させたWZebraとの対局結果ですが、芳しくないです。。 棋譜生成で次善手を選ぶ時、打った後の7手読み(対局が8手読みなので)評価値で全ての手をソートしてから 2番目を選んでいるのですが、評価誤差を全く気にせずに選んでいました。 最善手が+10でも次善手が-4とかいう局面も結構あるので、そういった誤差が大きい手を選んでしまうと棋譜の質が低下します。 なので、最善手と次善手との誤差が-2以下の場合のみ次善手を打つようにしました。 その代わり85%で1回打つという処理を単に5%で打つように変えています。 これでなんとか中盤が強くなればいいですが・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/515
516: 460 [sage] 2016/08/27(土) 13:18:13.50 ID:ct+QEGYU WZebra24手読みBOOK無し評価誤差なしとの対局結果 ゼブラは評価誤差がEdaxやMasterReversiに比べて大きいので、本来負けちゃいけないんですよね。。 実際50万棋譜計画のやつで学習させた場合はほとんど勝っていました。(負けても-8とかはありえない) 牛定石[f5f6d6] 黒持ち:+2 白持ち:+0 酉フック[f5d6c3d3c4f4c5b3c2e3] 黒持ち:+8 白持ち:-8 金魚[f5d6c3d3c4f4c5b3c2e6] 黒持ち:-2 白持ち:+4 FJT[f5d6c3d3c4f4c5b3c2e6] 黒持ち:-4 白持ち:+2 コンポス[f5d6c3d3c4f4f6] 黒持ち:-2 白持ち:-6 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/516
517: 名前は開発中のものです。 [sage] 2016/09/01(木) 22:33:13.77 ID:PkLGbL4G マイナーゲームで良質の棋譜が大量にない場合、どうやって学習させればいいんだろう? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/517
518: 名前は開発中のものです。 [sage] 2016/09/02(金) 09:47:35.76 ID:+DjGOwAN 事前学習じゃなくて、強化学習な手法を試したら良いのではないかな。 何をどうすれば良いのか、俺はわからんけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/518
519: 名前は開発中のものです。 [sage] 2016/09/03(土) 00:54:14.21 ID:lICUKSF2 うおお線形回帰とか最小二乗化とかわかんねぇぇ http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/519
520: 名前は開発中のものです。 [sage] 2016/09/03(土) 20:21:58.46 ID:lICUKSF2 とりあえず自己対戦棋譜が1000局集まりそう。 まだ足りないかな? ここからどう学習させればいいのか… http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/520
521: 名前は開発中のものです。 [sage] 2016/09/03(土) 21:00:16.00 ID:DJdWXbUx 自分も機械学習とか興味あって細々作ってるけど、とても難しい 学習以外の部分も難しくて辛かったけど、学習はなかなか思い通りにするのに苦労する とりあえずオンライン学習ってので、自分なりに色々やってみたけど やっとちょっと上手くいき始めたかなってところ ミスって学習やり直しとか何回もしてしまった http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/521
522: 名前は開発中のものです。 [sage] 2016/09/03(土) 22:28:55.42 ID:lICUKSF2 今ブラッドリーテリーのモデルとやらを調べてる 数式ムズイT△T http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/522
523: 460 [sage] 2016/09/04(日) 01:59:20.91 ID:f4dqEnZp >>520 オセロは今でこそ強いソフト同士の棋譜が手に入りますが、 初期は人が対局した棋譜(ISOなど)を残り十数手のみ修正して学習させていたようです。 マイナーゲームが何かによりますが、オセロみたく終盤で神のような読み切りが出来る場合は 自己対局の教師あり学習で適当なモデルでもかなり強くすることはできるかと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/523
524: 460 [sage] 2016/09/04(日) 02:00:39.37 ID:f4dqEnZp レス番号間違えました。。>>523は>>517宛てです。。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/524
525: 460 [sage] 2016/09/04(日) 02:14:06.21 ID:f4dqEnZp 自己対局中は暇なので、GUIの拡大縮小対応に手を出してみようと思ってドツボにはまりました。。 C#って描画ほんと遅いですね。。フルスクリーンにするとリスケールも含めて150msecぐらいかかります。 1024x768くらいだと50msecなのでギリギリ許容範囲内かなぁ。 あとGUIの実装に合わせて定石の変化度をツールバーから選べるよう実装していたのですが、 変化度を上げると着手時になぜか頻繁に落ちることが判明。 調べると、定石の木構造を作る処理に壮大なバグがあり、 30万近くある定石のうち1万くらいしか読み込めておらず、 リストも頻繁に上書きされてめちゃめちゃ状態でした。バグというか実装になっていないレベル。。 変化度を弄った時の処理をほとんどテストしなかった数年前の自分を殴りたい。。 かなり昔のコードなので、もう修正をあきらめて再設計して一新しているところです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/525
526: 310 [sage] 2016/09/04(日) 17:00:43.77 ID:WEaBeSKk 実際、開発中ってアドレナリン出てるから、ほとんどノーテストで行けるところまで 行っちゃって後で何やってるの俺?って事がしばしば(汗 というかここ数日も、非常につまらない確認漏れというか、毎回間違うswitch文でバグ 出しているのに気づかずに、これはメモリーリークか?それとも計算式が間違ったのか? みたいな状態になっていました・・・。 さて、今いじってるディープラーニングの仕組みは、かなり汎用性持たせて作ってます。 あまりに収束具合が悪いので、試しに、Buroさんモデルにしてみました。1層の活性化 関数無しにして、入力プログラムを流用するだけなので簡単です。でも、なかなか収束 しない。そこで、過去にどこまで収束したのか、残ってるログを探したところ・・・実際、 同じような感じ(1σ=約3.5石)でした・・・つまり、なんかできてると言えばできているし これで満足かといえば満足ではなしと。また、なまじデバッグでまじまじ評価値を見ちゃっ たため、これで本当に使えてるのか?状態です。 で、ミイラ取りがミイラになって、ディープラーニングの学習係数の最適化手法とか、 学習効率向上の方法を色々実装してました。勾配ノイズなる手法も入れてみました。 一体自分はどこに向かっているのだろうって状態です。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/526
527: 460 [sage] 2016/09/05(月) 19:53:28.81 ID:5Av5ahUz そういえば散々オセロソフトを開発しておきながらネット対戦のオセロを一回もやった事ないなと思い・・・ やってみると案外勝ててしまいました。 この形は有利不利とかイメージだけで打っていましたが、、人間のパターン認識も結構優秀ってことですかねw http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/527
528: 460 [sage] 2016/09/05(月) 20:11:21.05 ID:5Av5ahUz >>526 ディープランニングはやはりなかなか曲者のようですな。 こちらも終盤の評価値が悪いところはよく見えて良いところは悪く見えるという平均化が起こっていてやばいです・・・ まずは次善手の割合を調整したのでどうなることやら。。 というかもうランダム数手をやめて、引き分けオープニングからの棋譜生成を重点的にやった方がいいのか考え中です。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/528
529: 名前は開発中のものです。 [sage] 2016/09/05(月) 20:52:57.56 ID:A3E5Chzv 学習始めたら速いPCが欲しくなってしまった 結果が出るまで時間掛かるなあ http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/529
530: 310 [sage] 2016/09/05(月) 22:33:11.28 ID:KkVISbKe 上に書いた通り、線形回帰はディープラーニングに内包される計算手法ですので (実際に最急降下法とバックプロパゲーション部分以外の計算式はほぼ同じ)、 学習率の設定にディープラーニングの最新の手法が使えるんじゃないかと思います。 学習率を外から与えるのではなく、初期値だけ与えて、後は誤差の具合を管理して 動的に変える。しかも、各重み毎に個別に学習率を変える。という発想です。 参考) http://postd.cc/optimizing-gradient-descent/#gradientdescentoptimizationalgorithms http://qiita.com/skitaoka/items/e6afbe238cd69c899b2a ※)数式で、ただの変数のように書いてますが、行列だったりベクトルだったり解読が必要です 自分はこの中で一番新しいSMORMS3を使用してみたところ、モーメンタム法の10倍 以上の速さ(学習回数)で収束するようになったと感覚的に感じています。大体30〜 50回も回せば収束してしまう感じです。実装&テストだけして確認していませんが、 AdamやRMSpropでもそん色ない程度には速くなると思います。 でも、早いPCで解決できるんなら、それに越した事はありませんねorz http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/530
531: 名前は開発中のものです。 [sage] 2016/09/05(月) 22:36:42.16 ID:omFelghI remi coulomの書いたMM法のコード見つけたが難しくて読めないorzorzorz 頑張って読むか http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/531
532: 310 [sage] 2016/09/05(月) 22:41:44.52 ID:KkVISbKe いかなディープラーニングでも評価関数をいきなり作るのは厳しい気がしてきてます。 ここはアルファ碁の学習の仕方にならって、最初は次の1手を学習させてみようかと。 で、今までは頭でわかったつもりになっていた、多クラス分類問題を調べてみると、 Softmax関数の微分(バックプロパゲーションで必要)がわからない事にあらためて 気が付きました。 幸い、Softmax関数の定義があるひな形プログラムがあったので、これから解読です。 人さまのプログラムを見ると、自分がいかにC++を知らないのか、思い知らされますorz http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/532
533: 460 [sage] 2016/09/07(水) 01:48:41.72 ID:UfwPrMcb 自己対局ですが、8手読みの20マス空き完全読み設定だと、2日で大体20万局終わることが分かりました。 ここまで速いと10手読みの22マス空き読みにランクアップしてみたいところ。。 体感だと1/3くらい遅くなっているのですが、22マス空き読みだと偏りもひどくて、 1〜2日やってみないとなんとも言えない感じです。 2日で7万局程度終えられるなら、それでのんびりやろうかと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/533
534: 460 [sage] 2016/09/07(水) 03:02:28.63 ID:UfwPrMcb 今しがた動かし中ですが、400局完了まで16〜17分でした。 1時間で1400局程度できそうなので、1か月で100万局くらい行けそうです。 とりあえずこのまま100万局集めようと思いますw あと、初手ラムダムをやめて最悪手が数%程度で打つよう、評価値によって着手確率を調整しました。 最悪手の絶対値の1.2倍をそれぞれの評価値に加算した後の総和を使って それぞれ加算した評価値を除算という古典的な方法ですが・・・ この方法だと絶対値が0に近いと悲惨な事が起こるので、絶対値は>=4にしています。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/534
535: 名前は開発中のものです。 [sage] 2016/09/07(水) 23:27:08.71 ID:4MEE20eO 誰かヘルプ! このページのmm.tar.bz2の使い方わかる人いない? http://www.remi-coulom.fr/Amsterdam2007/ makeしてexe作るところまではできたんだけど README通りにmm.exe < input.dat > output.dat ってやってもoutput.datが空ファイルにしかならない。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/535
536: 460 [sage] 2016/09/07(水) 23:57:41.97 ID:UfwPrMcb >>535 とりあえずmm.exe < input.datでコンソールに何が出てきてるか見た方が良いかも。 Cygwinでやるとこんなの出てきました。 $ ./mm < input.dat .. Games = 2 Feature1 -0.89588 2.44949 0.0285792 Feature2 -0.867301 2.38048 0.15838 Feature2 -0.708921 2.0318 0.0737065 Feature2 -0.635214 1.88743 0.0358307 Feature2 -0.599384 1.821 0.0187057 ・・・(略)・・・ 0 1.49416 1 1.21426 2 0.586193 3 0.668003 4 2.13451 outputは下5行だけが出力されるみたいです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/536
537: 535 [sage] 2016/09/08(木) 00:10:42.63 ID:/oQCQhP8 >>536 おお、返信ありがとうございます。 mm.exe < input.datやってみましたが何も出ないです。 もしかしてinput.datはなにか編集しないといけないのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/537
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 465 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s