X



【オセロ,将棋】ボードゲーム Part2【囲碁,War】
レス数が1000を超えています。これ以上書き込みはできません。
0467535
垢版 |
2018/09/18(火) 20:53:46.52ID:vzQA+msr
Geforceの発売が迫ってますね。
性能もいいけど値段もいい値段するとかって話で悩ましいですね。
しばらく様子見か。
0468535
垢版 |
2018/09/21(金) 21:09:54.51ID:2dO4A596
新Geforce、とりあえずpytorchが対応するのかどうか、
対応したとしてどれくらい性能上がるかみきわめてからですかね?
仮に大金だして買うとしても。
0469310
垢版 |
2018/10/02(火) 09:01:31.04ID:Rgg2Um0o
ご無沙汰です。

地味に棋譜作成を続けていますが、そろそろ色々と重くなってきたので、
裏で新バージョンを作り始めています。探索に関係ないところは、色々
整理して結構軽くなった(と思う)のですが、探索部分の速度が大幅に
低下してしまって悩み中。

現バージョンとまったく同じ条件で比較したところ中盤探索で3倍弱は遅い。
比較してないけど終盤探索は下手すると10倍近く遅い感じ。

中身はほぼ一緒なので、何が原因で遅くなっているのか不明。
コンパイルオプションなんかは一緒。共通で使用しているclassのどこかに
原因が潜んでいそうなんだけど、違いが見当たらない…
0470310
垢版 |
2018/10/02(火) 23:18:16.56ID:odJoEjbT
まさかまさかの__vectorcallが原因だった。
全部取っ払ったら中盤探索については逆に速度30%アップ。

変な事考えないでコンパイラに任せましょうというお話でした。
0471310
垢版 |
2018/10/10(水) 09:51:58.44ID:+G+W4fz+
28コア56スレッド…
18コア36スレッドが安くなるかなぁ。

棋譜作成を新バージョンに乗り換えました。

全体的に速くなる修正については、10〜20%程度なので効果不明。
あと特定の条件で遅くなる原因を見つけて地味に潰しています。
後者については、一つ原因わかっていて直しようが無いものが。

並列処理にPPL使っているのですが、parallel_forではせっかく並び替えしても
ランダムに処理が走ってしまう事。ybwcなのでPVを最初に実行する事は保証され
ているのですが、PVが間違っていた時に、parallel_for内部で2番目の順位の
スレッドがいつキックされるのかわからないどころか、最悪一番最後の可能性も
ある点です。null window searchでβカットに強く依存しているので、ここは非常に
困ります。

解決策1)parallel_forの改良版を自分で書く
解決策2)スレッド数の多いPCに乗り換えて、この問題が起きる確率を下げる

どうしよう(汗
0472535
垢版 |
2018/10/12(金) 21:02:40.65ID:ji0aAVVe
9900Kも結構面白いかも?
結局新PC購入に踏み切れてないけど、
来るべきその日のためにGithub漁るところから再スタートしようかなぁ
0473310
垢版 |
2018/10/12(金) 23:00:16.66ID:CTNeLPXP
結局あきらめて解決策3)初段のみYBWCのお兄さんを2人にして様子を見てます。

forwardのロジック(最善手の手順で着手可能な手を展開)を全面改訂。
今まで降りていく手を、BitboardのLSBに近い方から1つだけ選択してましたが、
これによって局面の偏りが生じていたようなので、全て展開するようにしました。
棋譜の増殖が凄い事になっちゃうんだけど、仕方ありません。

同じ仕掛けでbackwardも書き直し。

Eigenの並列化、リソースモニタ見ても2コアしか使っていない感じ。4コア使う指定
しているのに。謎。

その他、並列化できるところは並列化を検討。

やっぱPC欲しい…12コアくらいでも良いかという気がしてきた。
0474310
垢版 |
2018/10/14(日) 23:06:48.18ID:Z3+yTgkQ
局面の偏りが結構酷い事になっていました。

新しいforwardでは反復深化の評価値を表示するようにしたのですが、探索が進む
ほどに0になっていきます。そこで盤面のパターンが一回も出てこないケース(0値)
を調べたところ、後ろの方が大量に…。前回書いたLSB問題の影響がかなり大きい
という事です。

というわけで、棋譜作成の時には、少なくとも複数選択しあるときにはランダムに
選択するように変更し、既存の棋譜については、仕方がないので後ろの方をランダム
を導入した仕組みで再探索したものを追加していく事にしました。

1件1秒程度でできるので、折に触れてランダム化していこうと思います。
全部展開すると件数が大変な事になるので、様子を見ながらこの辺でお茶を濁して
みようと思います。
0475名前は開発中のものです。
垢版 |
2018/10/18(木) 01:59:08.41ID:VXZ7Gx+W
ずっと昔にオセロを作っていた者です。
久しぶりに再燃したので熱があるうちに…
50万棋譜計画のバグっている棋譜、被っている棋譜を消去して、22マス空きからの読み切り訂正をやってます
プログラムを3つほど立ち上げて一日9万局…めどは一ヶ月ぐらい
最近寒くなってきたのでちょうどいいかなとw

FFO45が32秒ぐらいで、まだまだトッププログラムには及びませんけど、
この棋譜訂正で大幅に縮まらないかと希望を持ちつつ進めてます
0476535
垢版 |
2018/10/20(土) 22:43:08.00ID:T970svPP
zen2まで待つのはさすがに待ちすぎかなぁ?w
とりあえずAQのコードに結構詳細なコメントが付いてることにいまさらながら気づいて
もう一度チャレンジしてみるかどうか迷ってるところ。
0477310
垢版 |
2018/10/21(日) 22:20:35.21ID:wV/AjJxk
>>475
はじめまして。新規参入嬉しいですね。

50万記譜計画の記譜は今はHPからダウンロードできないですね。懐かしい。

評価関数が正しくないと、探索時間かかりますからね。
自分は今は、自作の記譜を後ろから順番に訂正していってます。
が、やはりすごく時間がかかりまするorz
0478310
垢版 |
2018/10/21(日) 22:39:45.97ID:wV/AjJxk
先日、局面の偏りで反復深化で評価値がゼロになっていく件を書きましたが、
もっと大きな問題な気がしてきました。

マイナスの評価値になるはずの局面から、中盤探索を反復深化で深くしていく時、
途中で評価関数的に未知の局面に入って、評価値0を返すようになる事があります。
もともと期待される評価値はマイナスなので、評価値0のルートに乗り換えてしまい
ます。どうもこの様な現象が起きる事で、探索を間違える事がありそうです。

これから、デバッグ用のプログラム書いて、現象を確認してみようと思います。

もしかしたら、評価関数の初期値をゼロから始めるのが、良くないのかもしれません。
初期値を−1にすると、未知の局面は−66点(パターンの種類)になるし、1つ2つ
混入したくらいでは、評価値への影響も小さいのかなと思っています。

評価関数のゼロデータを−1にして動かしてみる方が早いかなぁ?
0479310
垢版 |
2018/10/22(月) 22:40:29.62ID:cyPX+oid
一応、ゼロデータをすべて−1に置き換えてみたところ、それなりな感じで、
頻度はだいぶ減りました。が、まだ時々おかしな時があります。

デバッグ用のプログラムが案外簡単にできたので、評価値の計算を確認して
みたところ、反復深化の計算のどこかにバグがありそうだという結論に…。
ただ、ほとんどのケースでは正しそうなんだなぁ。
0480310
垢版 |
2018/10/22(月) 22:53:50.11ID:cyPX+oid
ソース見てたら、一瞬で判明(汗
ほぼtypoの類でしたorz

これで探索少し早くなるかな?
0481310
垢版 |
2018/10/23(火) 01:08:22.60ID:rwBd0O0t
ウェイトのゼロデータを−1にしてみましたが、関係なさそうなので0に戻しました。
原理的にはマイナス評価値の問題は起きそうなのですが、評価値ゼロはあまり
発生していない感じです。


残り27手読み切りあたりから今のやり方では追い付かなくなって来ていますので、
MPCモドキの導入を考えています。MPCのスレッショルドの計算を真面目に
やると、それだけで日が暮れてしまいそうなので、あくまでモドキですが(汗

置換表から作り直しになるし、記譜作り直しで、まだ27手まで時間がたっぷりある
ので、1週間くらいじっくり考えてから始めようかと思います。
0482535
垢版 |
2018/10/28(日) 21:48:30.83ID:X2c31b1r
うう、やっぱPCに30万はおいそれと出せないorz orz orz
しかし、何もしないままでただ時間が過ぎていくほうが怖いような気もする。
0483535
垢版 |
2018/10/30(火) 23:21:10.12ID:pl1cfUhR
なんかRTXに不具合があるとか何とか
マジ?
もうしばらく様子見が正解か…
0484310
垢版 |
2018/11/01(木) 00:10:54.87ID:D90j6hyj
MPCですが、完全読み切りをIterative Wideningで速度アップするためのProbCutを
作ってます。とりあえずスレッショルド計算のところまでできました。線形近似と誤差の
標準偏差の計算ですが、以前はループでゴリゴリ計算してました。今回はEigen使って
行列で計算するようにしたら超簡単でびっくりするほど早くなりました。
結局、計算時間の大半は浅い探索になります。

で、結果を見れば見るほど、無理に計算しなくてよいのではないかと思えてきます(汗
誤差は1σ=4〜5程度の固定値。線形近似は、1次係数は1.0で0次の定数(バイアス)
を、深さが偶数で+1〜+2、奇数−1〜−2くらい。探索の深さを変えると、誤差は
減っていきますが、あまり頑張るとオーバーヘッドになります。

そもそもIterative Wideningでは、探索精度ではなく、徐々に探索対象を広める事で、
置換表の精度を上げていく事で高速化をしますので、アドホックな値でも良いのかなと。
誤差やバイアスは今の自分の評価関数での値ですが、気が向いた時に再度チェック
するくらいで良いのかなと思う次第。

というわけで、大幅に簡素化・定数化して、読み切り処理の方に移る事にしました。
0485535
垢版 |
2018/11/02(金) 23:35:29.24ID:1vnWpGba
9900K発売ですか。
かなり入手困難みたいですね。
0486535
垢版 |
2018/11/04(日) 21:31:50.64ID:AYd3OzR3
11/6にAMDからなにか発表があるとか
ZEN2くるかなー?
とりあえず今は待ちか。
0487535
垢版 |
2018/11/08(木) 22:14:39.88ID:l30eANOm
結局zen2は春ごろなんですかね?
いまはRyzen 2700xを買っていつでも乗り換えられる体勢を取るのが正解かなぁ?
0488310
垢版 |
2018/11/10(土) 22:53:18.40ID:MAqAiuT/
ぬぬぬ。

ProbCutのバグ取りに時間がかかりました。というか、なかなか高速化できません。
むしろ倍以上時間がかかってしまいます。

もっとひどい事に、今までのやり方のうち、比較的単純なやつが最も早い可能性が
高いという事に気が付いてしまいました…。下手すると40%くらい早いかも。
ProbCut比では3〜4倍速いという事です。

もともとProbCu自体は中盤探索で前方枝刈するための仕組みです。
これを読み切りしながら順次探索範囲を広げる事でソート順を修正する方向で
活用しようとしているのですが、下位のところを何度も読むオーバーヘッドがあり、
そこを置換表で高速化と考えていましたが、どこかがおかしい…。
そうこうするうちに、評価関数の精度が上がって、反復深化で十分実用になる
ソート順がセットできる事になった模様です。

まだバグの可能性は捨てきれませんが、一旦諦めようかな。
0489310
垢版 |
2018/11/15(木) 23:13:39.64ID:Gy98Zi+i
ProbCutは一旦放置して、地道にSolverの速度アップを始めました。

作り直した時に、末端ノードの処理を結構簡素化しちゃったので、やり直しです。
で、Zebraの初期バージョンのオーダリングを日本語で解説した資料を見つけて
色々とノウハウを得まして、Fastest Fastの処理を見直したり、その他色々やった
ところ、速度が倍になりました。

が、見たくない現実としては、まだZebraの当時のFFOテストより若干遅い感じです。
以前はFFO#20限定で0.3秒くらいまで行っていたのですが、まだ1〜2秒前後。
ちなみに、似たスペックのPCでの計測値が公表されているマスターオセロは、
更に10倍程度高速です。ぬぬぬ。

棋譜作って学習していくと、探索時間が地味に短くなっていくし、時にはオーダリング
の間違いが直ってジャンプするように特定の盤面で高速化する事がありますので、
まだまだ辛抱かなぁ。
0490名前は開発中のものです。
垢版 |
2018/11/17(土) 11:28:45.78ID:8gp5y6uH
なんとか棋譜訂正が終わりました
それだけだと終盤探索にあまり効き目はなかったようです…
これで終わりたくなくて色々見直したところ、なんとかFFO55が6000秒から2500秒切るレベルまで高速化されました
ただ問題があって、空きマスリストを用意していない影響で、空きマスが2つになるまでビット演算で着手番号を取得してるので、NPSがかなり低くなっています
ここを改善するだけでも20%ぐらいは高速化するのではないかと…今週はそのへんやってみようかと思います
0491名前は開発中のものです。
垢版 |
2018/11/17(土) 11:43:10.64ID:8gp5y6uH
テスト結果を載せます
ここから2倍ぐらいになれば、MasterReversiの背中が見えてくるレベル・・・まだまだです
YBWCとかやらないとなぁ

Microsoft Windows 10
Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
キャッシュサイズ256MB

FFO#40 ( Exact:(a2:+38) 1.19sec node: 12.33[Mn] nps:10323[Knps] )
FFO#41 ( Exact:(h4: +0) 2.99sec node: 35.31[Mn] nps:11825[Knps] )
FFO#42 ( Exact:(g2: +6) 2.86sec node: 39.98[Mn] nps:13961[Knps] )
FFO#43 ( Exact:(G3:-12) 2.49sec node: 25.47[Mn] nps:10236[Knps] )
FFO#44 ( Exact:(D2:-14) 4.08sec node: 40.86[Mn] nps:10006[Knps] )

FFO#45 ( Exact:(b2: +6) 29.92sec node: 449.45[Mn] nps:15022[Knps] )
FFO#46 ( Exact:(b3: -8) 7.48sec node: 87.43[Mn] nps:11687[Knps] )
FFO#47 ( Exact:(G2: +4) 3.71sec node: 49.65[Mn] nps:12851[Knps] )
FFO#48 ( Exact:(F6:+28) 18.78sec node: 216.42[Mn] nps:11523[Knps] )
FFO#49 ( Exact:(e1:+16) 53.12sec node: 655.97[Mn] nps:12350[Knps] )
FFO#50 ( Exact:(d8:+10) 141.11sec node: 1.39[Gn] nps: 9873[Knps] )

FFO#51 ( Exact:(E2:+6) 39.81sec node: 509.68[Mn] nps:12804[Knps] )
FFO#52 ( Exact:(a3:+0) 54.33sec node: 725.60[Mn] nps:13355[Knps] )
FFO#53 ( Exact:(d8:-2) 774.22sec node: 10.74[Gn] nps:13873[Knps] )
FFO#54 ( Exact:(c7:-2) 965.65sec node: 14.37[Gn] nps:14973[Knps] )
FFO#55 ( Exact:(G6:+0) 7124.95sec node: 105.41[Gn] nps:14794[Knps] )

FFO#56 ( Exact:(H5:+2) 244.72sec node: 3.22[Gn] nps:13475[Knps] )
FFO#57 ( Exact:(a6:-10) 926.60sec node: 11.06[Gn] nps:13352[Knps] )
FFO#58 ( Exact:(g1:+4) 551.11sec node: 8.16[Gn] nps:14803[Knps] )
FFO#59 ( Exact:(g8:+64) 0.94sec node: 5.28[Mn] nps: 5626[Knps] )
0492名前は開発中のものです。
垢版 |
2018/11/17(土) 11:45:17.49ID:8gp5y6uH
間違えて前のバージョンを載せてしまいましたw
今回はこちらです。比較になってちょうどよかったかも

FFO#40 ( Exact:(a2:+38) 1.29sec node: 10.63[Mn] nps: 8244[Knps] )
FFO#41 ( Exact:(h4: +0) 2.97sec node: 25.54[Mn] nps: 8599[Knps] )
FFO#42 ( Exact:(g2: +6) 2.24sec node: 20.58[Mn] nps: 9189[Knps] )
FFO#43 ( Exact:(C7:-12) 2.54sec node: 19.23[Mn] nps: 7572[Knps] )
FFO#44 ( Exact:(B8:-14) 4.32sec node: 32.07[Mn] nps: 7418[Knps] )

FFO#45 ( Exact:(b2: +6) 27.68sec node: 294.61[Mn] nps:10644[Knps] )
FFO#46 ( Exact:(b3: -8) 7.56sec node: 68.56[Mn] nps: 9070[Knps] )
FFO#47 ( Exact:(G2: +4) 3.25sec node: 36.70[Mn] nps:11293[Knps] )
FFO#48 ( Exact:(F6:+28) 21.11sec node: 195.99[Mn] nps: 9286[Knps] )
FFO#49 ( Exact:(e1:+16) 34.84sec node: 346.90[Mn] nps: 9958[Knps] )
FFO#50 ( Exact:(d8:+10) 108.94sec node: 960.91[Mn] nps: 8820[Knps] )

FFO#51 ( Exact:(E2:+6) 36.21sec node: 378.54[Mn] nps:10453[Knps] )
FFO#52 ( Exact:(a3:+0) 63.95sec node: 730.82[Mn] nps:11429[Knps] )
FFO#53 ( Exact:(d8:-2) 545.77sec node: 6.17[Gn] nps:11304[Knps] )
FFO#54 ( Exact:(c7:-2) 626.09sec node: 7.42[Gn] nps:11848[Knps] )
FFO#55 ( Exact:(G6:+0) 2492.74sec node: 31.10[Gn] nps:12475[Knps] )

FFO#56 ( Exact:(H5:+2) 212.26sec node: 2.52[Gn] nps:11894[Knps] )
FFO#57 ( Exact:(a6:-10) 520.85sec node: 6.35[Gn] nps:12183[Knps] )
FFO#58 ( Exact:(g1:+4) 588.80sec node: 8.54[Gn] nps:14512[Knps] )
FFO#59 ( Exact:(g8:+64) 1.88sec node: 8.86[Mn] nps: 4722[Knps] )
0494535
垢版 |
2018/11/17(土) 17:38:57.27ID:s4ulT91Q
なんか買っただけで満足してしまっている自分がいるwww
0495名前は開発中のものです。
垢版 |
2018/11/17(土) 18:39:02.10ID:8gp5y6uH
空きマスリストを作る方式でやってみたのですがビット演算のほうが5%速かったみたいです
こうなるとオーダリングのコストを下げるしか無くなってきました
0497535
垢版 |
2018/11/17(土) 19:32:43.11ID:s4ulT91Q
>>496
せっかくなのでなにか͡コテ名乗ってくれませんか?
まあ無理強いはしませんが。
0498535
垢版 |
2018/11/17(土) 20:03:37.36ID:s4ulT91Q
シネベンチマルチ1705CB
うーん、壊れる前のマシンの倍くらいにはなってるんですかね?
0499535
垢版 |
2018/11/17(土) 20:20:24.98ID:s4ulT91Q
さて本題のAI開発は何から始めようか?w
差しあたっての目標はAQをwindowsでビルドかな
0500535
垢版 |
2018/11/17(土) 22:39:28.71ID:s4ulT91Q
>>491
よくみたらキャッシュ256MBってどうゆうこっちゃw
0501535
垢版 |
2018/11/18(日) 00:16:59.82ID:rI0UFOUu
windowsでビルドするの結構難しそう。

気分転換にAQのあらかじめexeになってるものを落として動かしてみたら割とサクサク動く。
そして当たり前だけど強い。

これは期待が高まるw
0502310
垢版 |
2018/11/18(日) 01:01:51.11ID:CiNHjYBr
おお。大体僕の倍くらいの速度ですね。
なお、気が短いし、記譜訂正が26手目くらいまでしかできていないので、
今は#40-#44の5つしか計測していません。昔から#41がピンポイントで遅い。

空きマスのビット演算、ちょうどやったところです。
mobility使わずに、flip関数がゼロだと着手不能ってパターンです。
静的オーダリングを使っていますが、角優先×最後って事で。
パターン配列作ってループ回してAND版と、先に空きマスをpextで並び替えて、
テーブル引いて元に戻して着手する版と2種類トライしまいしたが、速度差は
誤差としか言いようが無いレベルでしたorz
元に戻す演算を思いついたらまたトライする予定。

本日はProbCutを再トライ。今度はちゃんと高速化しているようです。
スレッショルド1.0σで反復無しで、その結果を用いてアスピレーションウィンドウ
サーチして、少し高速化できたかなぁと言う感じ。

ただ、投機的に高速化しているので、FFOで比較しても、苦手盤面がありそうです。
棋譜が揃って来たら投機のヒット率が上がると信じて、しばらく使ってみます。
0503310
垢版 |
2018/11/18(日) 01:13:00.25ID:CiNHjYBr
535さんニューマシンおめ!

自分はSurface3で、i7-4650Uの1.7GHz(2.29GHz)×4です。
キャッシュとかどこで見れるのかなぁ。
0504310
垢版 |
2018/11/18(日) 01:19:18.37ID:CiNHjYBr
ちなみに、偶数理論は何度かトライしていますが、速度低下してしまうので
使えずにいます。

ZebraはUndo方式で空きマスリストを常時更新しているようです。
僕はCopy方式で、末端の該当ノードで空きマスリストを作ろうとしているので
すが、なかなかうまくできません。

過去にpaint処理みたいな方法で完全な空きマスリストを作成しましたが、
当然オーバーヘッドが大きくて使い物になりませんでした。

最近は「どうせ4隅でしょ?」という事で、盤面を4分割して空きマス計算して
いますが、それでも遅い。

「どうせ4隅」が良くないのか、偶数理論の理解が間違っているのか…
0505535
垢版 |
2018/11/18(日) 17:01:14.00ID:rI0UFOUu
高負荷時のファンが意外とうるさいorz
熱風もなかなかorz
あんまり連続実行しないほうがいいのかもorz
0506535
垢版 |
2018/11/18(日) 17:56:00.38ID:rI0UFOUu
なんかクロームがメモリ1GBとか使ってるんだがこれで平常運転なのか?
メモリに余裕あるからってなめすぎじゃね?
0507495
垢版 |
2018/11/18(日) 18:39:39.38ID:w1KaGZJD
>>497
なるほど、では495ということで…
あとキッシュサイズは置換表のサイズです
0508535
垢版 |
2018/11/18(日) 18:55:52.33ID:rI0UFOUu
>>507
コテありがとうございます。よろしくお願いします。
CPUのキャッシュかと思ってビビりましたw。
0509535
垢版 |
2018/11/18(日) 19:17:18.42ID:rI0UFOUu
AQのビルド、linuxだとBAZELで、windowsだとCMakeでって書いてあるんだけど、
CMake用の入力ファイルが見当たらないorz
windowsもBAZELでやるんだろうか?そこからわからんorz
0510535
垢版 |
2018/11/20(火) 20:47:23.74ID:sCHL0ufM
いかん、投資に見合った成果を挙げねばww
とは思うが腰が重いorz
0511535
垢版 |
2018/11/21(水) 22:15:48.48ID:YJjwR4VH
windowsは一旦保留にしてLinuxに走るのが正解だろうか?
0512535
垢版 |
2018/11/22(木) 23:20:13.56ID:ak7z/rHD
ネイティブリナックスをデュアルブートにするかVMWareでいくか。
なんかwindows10とlinuxのデュアルブートは罠があるらしくちょっと怖い。
0513535
垢版 |
2018/11/23(金) 15:43:50.93ID:uREb6qVe
うーん、やっぱAQ無理かもorz.
もっと簡単そうなのに逃げるべきだろうか?
とほほ
0514名前は開発中のものです。
垢版 |
2018/11/24(土) 05:53:44.23ID:quW8CQIk
同一HDD 内で、Windows10・Linux のデュアルブートは、素人では元に戻せない。
だから、日経Linux では、仮想OS を使うように書いてある。
Virtual Box が多いかな

Ruby できるなら、Vagrant, Chef から使うのもよい

漏れは、WSL・Ubuntu16.04 を使っている。
ただし、WSL はGUI なし。コマンドのみ

開発用だから、本番では使えないし、Docker なども使えないけど、
WSLは単なるアプリだから、遊ぶには気楽
0515535
垢版 |
2018/11/24(土) 20:30:54.02ID:CNsuI7eC
うーん、今後の方向性が定まらないorz.
最終的にはwindowsでやりたいからそこも悩みどころ。
0516名前は開発中のものです。
垢版 |
2018/11/24(土) 23:59:56.87ID:MjnwrHjN
ボードゲームスレだよな?なんの話してんの?
0517310
垢版 |
2018/11/25(日) 09:01:51.50ID:Mml0PIJf
Iterative Widening何とかできた。平均的に高速化できていると思う。

FFOについては相変わらず>>495さんと比較して速度は半分くらいかな。

一方で記譜作成的には倍速になったイメージ。細かく4σまでWideningして
いる事で、仮探索の誤答が減った事が効いています。

 仮探索で増える時間
   > 仮探索が正解した時に減る時間 + 誤答した時に増える時間

Iterative Wideningで、仮探索時間の削減と正答率の向上の両方が実現できた
感じです。この辺、課題盤面との相性がある話なので、統計的に計ろうとすると
かなり面倒です。というか、統計的に計るためには、前提となる評価関数をロック
しなきゃなりませんが、現在記譜作成しながら評価関数学習させてますので、
前提が常に動いてしまいます。

現在オーバーヘッドが嫌で、ノード数をとっていません。並列化するとロック
の待ち時間で数%〜10%くらい速度が落ちちゃうからです。ノード数をとれば
純粋な速度比較がしやすいのですが、悩みどころです。
0518535
垢版 |
2018/11/25(日) 22:15:31.15ID:MnTu6mxc
なんも進展がないのでとりあえず昔作った19路囲連星AIをビルドする環境を新マシンに構築しました。
リハビリの意味でもしばらくこれいじってようかな。
0519名前は開発中のものです。
垢版 |
2018/11/26(月) 11:23:16.87ID:3TlDlboD
オンラインボードゲームって作れば流行ると思うんだけど、誰もやらないってことはサーバの維持費の方が高くなるんかね?
0521535
垢版 |
2018/11/26(月) 22:59:02.56ID:PdBnQCC1
気持ちだけ焦るけど、何も進まないというorz
とりあえず、結果だけ求めるのは謹んで、
地道に愚直にディープラーニングの勉強するのが正解だろうか?
0522310
垢版 |
2018/11/27(火) 09:45:52.43ID:IL6H1udh
自分の場合、プログラムいじるネタが欲しくて、ヘウレーカ!って感じを味わいたくて、
続けているだけだからなぁ(汗

目標でかすぎるとか、期限切りすぎると、焦って嫌になるだけだよ。

オセロなんて、既にやってる人ほとんどいないから、ちょうど良いのだw
今の目標は、60歳になるまで続ける事w
0523535
垢版 |
2018/11/27(火) 18:36:07.13ID:oxbu/SRL
そうですね
結局自分のペースで一歩一歩進んでいくしかないですよね
ありがとうございます
0524535
垢版 |
2018/11/27(火) 20:02:14.21ID:DriHkSnO
これからどうしようかなぁ。
以前、途中までうまくいきかけた9路囲連星を移植したalpha zero クローンのコードを読み解くのやってみようかなぁ。
それとももっと本とか読んで理論の基礎から固めていくべきだろうか。
0525名前は開発中のものです。
垢版 |
2018/11/27(火) 21:15:20.03ID:8ndts6Rn
loser_sのブログ読んだけど、重大発表やばすぎだろ
0526535
垢版 |
2018/11/28(水) 22:14:06.77ID:h+t1ldhF
VMWareのubuntuで9路囲連星のalphazeroクローン動かしてみたらなんかメモリリークする。
前のマシンではメモリリークなかったのに?
OSとかpython とかCUDAのバージョンが変わったせいだろうか?
うーん、解決する気力がいまいち湧いてこないorz
0527535
垢版 |
2018/11/28(水) 22:31:22.70ID:h+t1ldhF
やっぱ出来ればwindows & C++ で行きたいなぁ。
うーん。
0528535
垢版 |
2018/11/28(水) 22:44:28.01ID:h+t1ldhF
悶々としつつ19路囲連星AIでLV3と対戦させたら素晴らしい勝ち方した。
(;SZ[19]
;B[jj];W[ji];B[ii];W[hi];B[ih];W[ik];B[ki];W[jl]
;B[hh];W[ij];B[jh];W[lh];B[gg];W[ff];B[fg];W[gi]
;B[kg];W[eg];B[lg];W[hg];B[hf];W[jg];B[jf];W[km]
;B[ig];W[hj];B[fh];W[ln];B[mo];W[lj];B[hg];W[mj]
;B[jg])
自然な流れからのダブル必勝形。
こういうのがたまにあるから止められないんだよなぁ。
0529535
垢版 |
2018/11/29(木) 20:09:22.49ID:vNqglcEX
ふーむ。ダブル必勝形で勝負ありかと思ったら白にも粘り筋があって意外と奥が深い。
でも正しく打てばたぶん黒の勝ち。
0530535
垢版 |
2018/11/30(金) 20:09:22.21ID:QHRZJCgT
やっとこさ週末か。でもどうせ進まない予感orz
せめてなにかこれだという方針が定まらないと。

焦っちゃダメと頭では分かっていてもついww
0531535
垢版 |
2018/11/30(金) 20:59:59.07ID:QHRZJCgT
理想を言えばwindows & C++ & reinforcement learning
その線で探ってみるか
0532535
垢版 |
2018/12/01(土) 19:46:42.48ID:1G6ID0fa
まだまだ方向が定まらないけど、来るべき時のために今のうちに棋譜集めを始めるべきだろうか?
無駄になるかもしれないけど、何もしないよりはいいよね?
0533535
垢版 |
2018/12/01(土) 20:48:59.14ID:1G6ID0fa
16プロセス並列棋譜取り
なかなか圧巻ですな

ファンがうるさいけど
0534535
垢版 |
2018/12/01(土) 23:10:46.72ID:1G6ID0fa
全コア使い切っちゃうとほかの作業がしづらいorz
開発用と計算ぶん回す用で2台欲しいwww
ありえないけど。
0535310
垢版 |
2018/12/02(日) 10:27:19.04ID:YQiXDU8o
使用コア数制限するパラメータないの?

自分のは並列化処理に使用コア数カウンタ入れて、同時並列数を制限している。
もっとも常に4コアで4多重マックスで動かしているけどorz。16コアなら1つくらい
他のプロセスに空けても、あんま速度低下なさそうでうらやましい。


今現在は記譜作成がメインなので、気が向かない時もほっとけば棋譜を訂正しながら
勝手に学習して、少しづつ速度アップしてくれている。気が向かない時に焦らずに済む
のでお勧め(^^;

一時速度アップに燃えていたけど、1勝9敗以上の比率で速度アップに失敗して(まあ
そんなもんなんだけど)、今は停滞期間中w
0536535
垢版 |
2018/12/02(日) 21:28:29.33ID:tVJh9ePf
>>535
その手がありましたねww
作業中は12プロセス位にしとくか

なにはなくとも棋譜取りだけはコツコツつづけます。
一日で多分3〜4000局くらい取れるはず。

ちなみに今これ見てるけど速攻挫折しそうorz
https://github.com/HerveFrezza-Buet/RLlib
0537535
垢版 |
2018/12/03(月) 20:43:08.98ID:M6xR0Sx+
一日回して4652局
思ったより取れてる。
0538535
垢版 |
2018/12/03(月) 23:14:26.77ID:M6xR0Sx+
平日まとまった時間が取れなくてもちょっとづつでも進んでいかないとねぇ。
まあ、棋譜取りしてるだけでもいくらか気がまぎれるけど。
100万局目指すか。
0539535
垢版 |
2018/12/08(土) 23:40:47.79ID:BUSkl7iI
RLlibやっとサンプルがコンパイルできた
ここまで長かった
つかリンクオプションで-lgslつけなきゃいけないとかずっぽり嵌ったわ
0540310
垢版 |
2018/12/09(日) 13:20:20.42ID:j5g2lrg3
まったりと記譜取りしてても仕方ないので、速度アップできないか色々あがいてました。

久々にプロファイラで確認したところflip関数が30%、mobility関数が8%ほどでした。
Edaxのソース見つけたので禁断の答え合わせ。flip関数は一つ昔のタイプなので、
恐らく自分の方が早い。mobilitiy関数は少し早そうなので、考え方を導入。でも誤差
範囲の効果しかなかった。

速度計測ルーチンを作って、並列単体速度比が1.2程度しか無い事が判明。
並列処理で排他待ちしそうなところに無駄がないかチェックしたところ、ほぼ全部無駄
だった事が判明(汗。無駄箇所を全て削除したけど、誤差範囲(汗

後方枝刈(ヒューリスティックスなオーダリング)が気になるので、ノード採取してみた。
やはり2割程度速度ダウンするので、プリプロセッサで普段は切り離す事に。

その他もろもろ誤差範囲の改良を積み上げた結果、なんとなく1〜2割は速度アップ
した気がしますが、並列処理の効率が悪いのと、後方枝刈の工夫が足りていないの
2か所が、これからの課題かなと思います。

あれ?なんか、ループしてmin-Max探索の高速化に目的が戻ってきている(笑)
0541535
垢版 |
2018/12/09(日) 15:16:13.02ID:jd/NSaBy
んあ?RLlibって強化学習のライブラリではあるけどalpha zeroとは直接関係ないのか?
全部無駄だった?
www
0543535
垢版 |
2018/12/09(日) 21:08:44.25ID:jd/NSaBy
g++ にfilesystemってヘッダがないorz
とりあえずいまVSインストールしてる
0544535
垢版 |
2018/12/09(日) 21:40:01.98ID:jd/NSaBy
動いたっぽい。
久しぶりに一歩進んだ気分。
0545535
垢版 |
2018/12/10(月) 22:15:43.67ID:wVpZGnnS
なんか非合法手を選んでしまうみたいなんだが?
うーんなんだろ?
0546535
垢版 |
2018/12/12(水) 22:24:55.51ID:eFK7VQKv
他人のコードに頼るのやめて自力実装に走るべきだろうか?
他人のコードってなによりいまいち情熱が湧いてこない。

でも他人のコードも読めるようにならないと先はないんだろうなぁ。
我流じゃすぐ限界迎えそう。

悩ましい。
0547535
垢版 |
2018/12/14(金) 00:02:46.12ID:52LN5bpq
まただよ(再起動)
windows10でも変わらずか…
0548535
垢版 |
2018/12/14(金) 22:52:23.39ID:52LN5bpq
コーディングは進まないけど棋譜だけは溜まっていきます。
今、LV3 vs LV3の棋譜が61950局分溜まってます。
ファンがうるさいから夜中は回してないから日中だけなのにこのペース。
8コアはさすがといったところか。
アルファ碁Leeが16万局分の棋譜を使ったらしいからとりあえずその辺目指すか。
0549310
垢版 |
2018/12/18(火) 00:10:23.05ID:4TPQUuZQ
FFOテスト(#40−#49)、色々誤差範囲の改良を加えてじわじわスピードアップ
していたけど、ある日突然20%くらい悪化。元に戻せるところは戻したけど、
結局ダメで、裏で評価関数の学習し続けた結果、途中経過でたまたま探索が
悪化するところにはまってしまったと言う事かなぁと。

実際、悪化しているの#49だけで他は改善していたし、学習都度表示している
FFO問題の8手読みの次の一手の合否が、14/20から11/20に悪化している。

こういうのあると、速度アップで何を信じて良いのかわからなくなるよね…
0550310
垢版 |
2018/12/18(火) 00:14:29.31ID:4TPQUuZQ
という問題もありながら、ノード数表示して、>>492さんの結果と比較すると、
ノード数に圧倒的な差が。NPSは速いけど、それ以上にノード数が多い。
枝刈の差というにはあまりに大きな差で、一桁近い差です。

これ、Iterativeな手法で生じる置換表探索の差じゃないかと思う。
自分のは置換表の動作が遅いので、あまり深い探索まで置換表を適用できず、
読切において後ろの方は置換表が無い(そもそも使用していない)事で、何度も
再探索しているからかなと。

concurrent_unordered_mapを使っているけど、自前でハッシュDB作った方が
良いかもと思い始めた。そこで速度アップすると、置換表適用深度を深くできる。

こういう時、自前で作る人はチェーンハッシュ使っているのかな?
0551535
垢版 |
2018/12/18(火) 23:29:10.84ID:N5ttC8SJ
昔自前でハッシュ作ったことありますが素朴な実装だとさほど性能出なかった記憶がありますね。
自分の場合STLでいいじゃんみたいな結果でした。
テーブルのサイズをでかくすると意外と巡回が遅くなるみたいな。
0552535
垢版 |
2018/12/19(水) 21:16:40.83ID:REA/9P4B
スマホでconnect4のパーフェクトソルバーをちょくちょく遊んでるのですが
パターンをかなり覚えて7割くらい勝てるようになりました
囲碁とかも真の棋理が明らかになった方が
逆に人間がコンピュータに勝てるようになるかもしれませんね
0553310
垢版 |
2018/12/19(水) 22:48:18.33ID:T2sH1fj1
ハッシュの構想し始めましたが、確かに自分が作って早くなる保証はないですね。
インターフェースを既存のstlに合わせようとか思って調べ始めたら面倒になりました。

で、色々見ていたら、そのまんま効率化できそうな使い方を見つけた。
有れば読み込んで更新、無ければ追加の方法です。

あとバケットサイズとか個数とか、その辺を調べていった方が早くなるかも。

並列処理だとtry_emplaceが使えないのね。これが使えたらきっと早くなるのに。
0554535
垢版 |
2018/12/20(木) 23:32:19.98ID:zB5frbtZ
また再起動してる。。。
まあいいけど、もう諦めぎみ。

なんか仕事が急に忙しくなってますますコーディングから遠ざかってますが、
棋譜だけは地味に溜まってます。今82889局分溜まってます。

並列化ハッシュってどんななんですかね。そういえば知らない。
0555310
垢版 |
2018/12/21(金) 00:04:37.10ID:kvniGc89
いや。まぁ。バケットか中のレコードか、どちらかの単位で排他かけるだけです。
Hash関数がきちんとばらけさせてくれたら、基本的にあんまり排他で捕まる事は
無いので、それほど気にしなくてもパフォーマンスに影響ないかなぁと。実際に
concurrent_unordered_mapの配列用意して、適当にハッシュでばらけさせて格納
してみたら(つまり、同じmapじゃなければ排他はおきない)、排他で遅くなっている
訳ではない事が確認できています。

と言いながら、iteratorとか考えだすと、何を並列セーフにして、何をアンセーフに
するかみたいな事で悩んじゃいます。

先日の続きでmax_load_factorとかbacketサイズとかいじってみましたが、
パフォーマンスにほとんど影響がないです。というか、どうせ後で逐次的に拡張する
くらいならと、backetサイズを増やしても性能は上がらないし、max_load_factorを
増やしても、性能が落ちるだけだったり…。

棋譜作成だけなら並列化レベルをもう1段上げて、4記譜同時作成とかすれば、
個々の読み切りはシングルスレッドに下げられて、ただのunordered_mapが使えるし
その方が棋譜作成的には速度アップしそうな気がしてきた(汗

FFO的には別処理になるけど。
0556535
垢版 |
2018/12/22(土) 00:08:33.74ID:w0ekMTPt
採りためた棋譜をもとに序盤DBを更新してみましたが、
確かにうち筋は変わってる気がしますが強くなってるかはよくわからないというorz
まあ序盤DBは誤魔化しみたいなものだから期待しすぎもよくないか。
0557535
垢版 |
2018/12/22(土) 00:42:25.73ID:w0ekMTPt
序盤DB更新で強くなってるか統計とってみたいけどモンテカルロが遅すぎてそれもままならないというorz
やはりモンテカルロに代わる何かを実装しなければ…
0558535
垢版 |
2018/12/26(水) 00:12:59.86ID:2Tvqp++w
棋譜USBメモリにコピーしたらめっちゃ時間かかるorz
130MBくらいなのにUSBメモリってやっぱ遅いんだな。
0559310
垢版 |
2018/12/26(水) 00:20:29.39ID:Rkthqh0l
4記譜並列作成実装してみました。ただいま本番状態でテスト中。
並列処理の基本は、なるべく上位の層で並列化すべしでした。

現状、並列探索の速度は、シングル探索の2倍程度です。
1つ1つの探索には時間が2倍かかるけど、4つ並列なので、トータルでは
半分の時間で処理できるので、実質2倍みたいな。

探索中のオーバーヘッドはほぼ無いはずで、待ち合わせロスくらいなので、
大量に一気に処理する分には、ほぼ無視できるかなと。

これやると、スレッドの数がモロに効いてくるんで…48並列くらいできたら…
0560535
垢版 |
2018/12/26(水) 00:30:44.15ID:2Tvqp++w
310さんはintel派なんでしたっけ?
AMDでもzen2はかなりコスパいいものが来ると思いますが…
0561535
垢版 |
2018/12/26(水) 00:40:17.50ID:2Tvqp++w
試しにSSDに棋譜コピーしてみたらかなり速いw
やっぱそうなのか。
0562310
垢版 |
2018/12/26(水) 03:07:45.74ID:Rkthqh0l
あれれ。思ったほど速度が出ない…というか、単体の速度が半分どころか、
1/4くらいになっているイメージ…。深さが深いものほど遅いという事は、
置換表周りかなぁ。

棋譜作成する対象によって速度が結構変わるので、評価しづらい。

メモリー配置等の問題も考えないといかんような気がしてきた。

いかん。夜も更けていく…。

>>561
なんか、フラッシュメモリー自体は書き込みが遅くて、SSDだとその辺を並列
化とかキャッシュとかで回避しているらしいです。USBメモリーは、その辺真面目
にやっているもの(高価)と、そうじゃないもの(安価)で差があるけど、それでも
SSDには敵わないとか。
0563535
垢版 |
2018/12/26(水) 21:06:48.31ID:2Tvqp++w
明日か明後日あたりで棋譜10万局分溜まりそう
深層学習のプログラム、組みたいなぁ
でも難しいんだよなぁ
0564310
垢版 |
2018/12/27(木) 00:00:43.02ID:APLuuq5f
悩ましい。

シングルmin-Maxの並列動作と、パラレルmin-Maxのシングル動作。
どうも速度的には大差ない感じ。
2倍くらい速度出ると思ったのに…。

スレッド数が増えたら差が出てくるのかなぁ。
0565535
垢版 |
2018/12/27(木) 20:54:08.52ID:gYB4tQZF
10万局いきました。
0566535
垢版 |
2018/12/27(木) 21:18:27.23ID:gYB4tQZF
多分俺が世界で一番囲連星LV3の計算を回した人だろうなw
0567310
垢版 |
2018/12/27(木) 22:00:15.50ID:APLuuq5f
色々あがいた挙句、そこそこ時間がかかる26手空きを、それぞれで解いてみた。

並列探索で6分。シングル単独動作で12分。シングル4並列動作で18分。
やはり、シングルも4並列する事でなにがしかのオーバーヘッドがあるようです。

単純計算だと並列探索6分を4個で24分に対して、シングル18分で4つ解ける
事から33%の速度アップが見込める事になるけど、体感そこまでの効果が感じ
られないというか、時間がかかる問題では更に差が大きくなっていて、そいつらに
足を引っ張られている印象。

そのうえで、裏でゴソゴソやりながら計算させる時に色々弊害があるので、
CPUの増強を決断するまで放置しようかと思います。

色々あがいた結果か、並列探索ですこーし速度アップした感じ。
10%行くかいかないか。
0568535
垢版 |
2018/12/27(木) 22:05:17.88ID:gYB4tQZF
よくわからんがハイパースレッディングって単純に性能2倍になるわけではないということではなくて?
0569310
垢版 |
2018/12/27(木) 23:06:53.59ID:APLuuq5f
もちろんそうなんだけど、排他待ちを要するデータも、待ち合わせロスも
無いので、もうちょっと性能出るんじゃないかと思っていたのです。


あと、うまく説明できないけど、ノード数が多い探索は、ノード数比以上に
時間がかかっている気がしています。まだ感覚の話ですが。
0570535
垢版 |
2018/12/28(金) 20:37:08.10ID:HWMCAOZD
LV3は強いんだけど詰み状態から詰みを逃してる棋譜が散見される。
直せるもんなら直したほうがいいんだろうけどかなり大変だろうな
0571310
垢版 |
2018/12/29(土) 09:40:46.33ID:hnomLa8j
んー。シングル並列動作で6時間かかっても解けずに諦めた盤面とを見つけて、
パラレルで解いたら1時間40分だった。空きマス26だと通常1分程度なんだけど、
時々こういう時間がかかる盤面がある。今までテストが面倒なので、10分以内に
終わりそうな奴でテストしていたけど、もしかしたら探索ノードが多い奴ほど、
シングル並列動作での速度低下が大きいのかも知れない。

時間がかかる奴ほど、シングル・パラレル比が悪化するなら、今考えている大体
3倍程度ってのは成り立たなくなって、もっと悪い事になる。それなら感覚的に
合致する。普通に流れている時には、シングル並列で高速化できそうな手ごたえ
があるんだけど、時間がかかる盤面が来ると急速に逼塞していって、なかなか
回復しないという感じ。

パフォーマンスモニタにらみながら、unordered_mapのメモリアロケーションの方法
を想像してみた。初期確保件数指定(倍々で自動追加される)してみたけど、溢れて
もいないのにダラダラとメモリー使用量が増えていく。もしかしたらOSにメモリーを
貰いに行く動作が排他待ちになっているのかも知れない。どうやって検証しよう。
やっぱ自前置換表作るしかないのかなぁ。
0572310
垢版 |
2019/01/01(火) 10:13:37.88ID:y24geaJt
あけおめです。

ヒープをダラダラと確保するのが気になったので、色々いじりました。

ordering用のvectorを、配列にしてスタックに。ついでにクラス化してメンテ性アップ。
少しだけ速度アップした気がする。

自前ハッシュテーブル型の置換表を作ってみた。
最初に大きく領域確保して、溢れた時以外領域確保しないようにした。
基本、余計な機能は実装していないので、処理は軽いはずなんだけど…
極ほんの少しだけ速度ダウンした感じ…

記譜作成はunordered_map版で実行しながら、改良をしてみたいと思います。
とはいえ、ソース的にはあんまり改良の余地がないんだよなぁ。

速度がそん色ないところまで行けたら、シングル版の並列での速度低下が
メモリー確保が原因か検証できるかなぁ。
0573310
垢版 |
2019/01/05(土) 09:07:42.68ID:KwyVlHZX
チェーン型でハッシュを組んでましたが、テーブルがあふれると結局ダラダラと
メモリー獲得し始めるので、オープンアドレス型に変更して、まとめて領域を追加
するようにしました。

この辺、もう趣味の世界ですね。
何をしても、速度は上がりも下がりもしない(汗

やっぱり探索ノードを減らす工夫が重要ですね。
0574535
垢版 |
2019/01/05(土) 21:26:02.72ID:TXR2vHHf
自己対戦のみで強くなるアルファゼロは理想ですが実装が難しそうなので
せっかく棋譜も集めてるので教師あり学習をやってみようかと思案中。
0575535
垢版 |
2019/01/06(日) 00:55:45.70ID:6f3tqt5A
とりあえず、棋譜データからmin-max探索して黒有利の局面か白有利の局面かの2択を学習させようかな。とか思ってます。
そろそろ寝るか。。。
0576535
垢版 |
2019/01/06(日) 02:33:16.90ID:6f3tqt5A
寝るタイミングを逸してしまったw
プログラミングってこれがあるから怖いよねw
0577535
垢版 |
2019/01/06(日) 02:46:46.55ID:6f3tqt5A
なんか100兆局くらい棋譜を集めると序盤DBだけでもかなり押せるんじゃないかなぁ。
そんな感じ。

いかん、寝なければww
0578名前は開発中のものです。
垢版 |
2019/01/06(日) 03:01:38.94ID:aGENq217
質の悪い棋譜ばかり100兆局集めてもあんまり強くならない気がするのですがどうなんでしょう
質のいい棋譜がそれだけ集まればいいですがそれはほぼ不可能ですし…
0579535
垢版 |
2019/01/06(日) 03:14:04.86ID:6f3tqt5A
そうはいってもLV3の棋力はかなり高い。
囲碁将棋でいえばアマチュア3段くらいには相当するはず。
0580535
垢版 |
2019/01/06(日) 03:18:59.57ID:6f3tqt5A
波があるからアマチュア3段は言い過ぎだったかなw
でもまあ強い時はかなり強い。
0581310
垢版 |
2019/01/06(日) 14:23:08.43ID:a93oWf/5
置換表一時調子が良かったのですが、修正加えたら崩壊。
なんとなく読み取りが変な感じなんだけど、どこがおかしいのか全くわからず。

>>578
棋譜たくさん集めて序盤DB作ったら、その序盤DBのMax手順以外の手について
は、分岐した以後の盤面だけで学習させると序盤の穴が埋まるというか、間違った
盤面でぼやっとした学習するの避けられるかも。

今、序盤についてはそのやり方で学習させてます。
0582535
垢版 |
2019/01/06(日) 20:12:44.73ID:6f3tqt5A
とりあえず、昔作ったTINY-DNNのプログラムを引っ張り出してきて学習プログラムを仮組したが絶望的に遅いorz
グラボ使えればちっとは違うんだろか?うーむ。
0583310
垢版 |
2019/01/06(日) 20:34:20.52ID:a93oWf/5
オープンアドレスうまく動くようになりました。
ここに愚痴ると、直後に原因がわかる罠w

この数日の葛藤は何だったんだ。
0584310
垢版 |
2019/01/06(日) 20:36:40.74ID:a93oWf/5
>>582
Tiny-DNNはGPU対応していないんじゃないかなぁ。
結局、DCNNはGPUで処理しないと無理っつー気がする。
0585535
垢版 |
2019/01/06(日) 20:44:29.63ID:6f3tqt5A
>>584
あ〜やっぱそうなんですかねぇ。
GPUも結構いいの買ったのでぜひ活用したいところではあります。
0586535
垢版 |
2019/01/06(日) 22:23:00.36ID:6f3tqt5A
明日は仕事なのでハマらないうちに切り上げようww
社会人として自制しなければwww
0587535
垢版 |
2019/01/07(月) 20:55:27.41ID:4rY/alBf
学習回しても損失が全く減らない。。。
そういやそんなのあったな。orz
0588535
垢版 |
2019/01/07(月) 23:12:38.14ID:4rY/alBf
なんかネットワーク初期化忘れてたみたいw
初期化したら損失減ったw

ちょっと希望が出てきた。
0589535
垢版 |
2019/01/08(火) 23:12:12.87ID:1omQC7Mg
損失減ることは減るんだけどホントにちょっとづつしか減っていかない。
ネットワークの形状が悪いんだろうか?学習率だろうか?
うーん、深みにはまりそうorz
0590310
垢版 |
2019/01/09(水) 20:33:25.82ID:9GUGdavc
学習の速度はオプティマイザに依存します。

普通のSGDだと、あちこちぐるぐる回ったり、平野トラップで立ち往生したり、
局所最適解から抜け出せなくなったり。また、SGDは学習率(α)を大きくすると、
簡単に発散しちゃったりしますので、学習率を低めにして1000回とか学習する
事になります。それでも上記の問題で、なかなか収束しなかったり、うまく学習
できなかったりします。

そういうものなのです。昔は、初期値(乱数設定しているはず)を変えてみたりして
トライ&エラーしてましたが、今なら別のオプティマイザ(RMSpropやADAM)を試す
べきかと思います。それでも数百回は学習を繰り返さないといけないと思います。


久々に検索したら結構種類が増えてた。
https://qiita.com/ZoneTsuyoshi/items/8ef6fa1e154d176e25b8
自分は線形回帰モデルですが、SMORMS3を使って効率化を図っています。
それでも、数百回学習しないと損失は落ち着いてきません。
0591310
垢版 |
2019/01/09(水) 22:31:13.85ID:9GUGdavc
置換表ですが、結局のところ、ハッシュのビット数を増やしてチェーン接続があまり
生じないようにし、メモリーをある程度のサイズでまとめて確保する、チェーン型
ハッシュに落ち着いています。

普段速度計測に使っているFFO#40-49ではconcurrent_unordered_map版より若干
遅いのです。が、どうも残り28手(現在はそのあたりをチェック中)では、自作チェーン
ハッシュの方が早いというか、ノード数が増えた時に速度低下が少ないように感じて
おり、現在は自作置換表を使っています。

とはいえ、29手や30手まで行った暁にはチェーン接続が多発し始めて速度低下が
始まると思われるので、対策を考えて行きたいと思います。28手が終わるまでまだ
一カ月くらいかかるので、幸か不幸か時間はたっぷりあります(--;

今のところチェーンの代わりに2分木を置いて、ハッシュが衝突したときの速度低下を
O(n)からO(log(2)n)にしてみようかと考えています。
0592535
垢版 |
2019/01/09(水) 23:20:11.40ID:ED/1LPLd
ふーむ。要素が少ない時はリストやツリーは遅く、配列が圧倒的に早いという認識でしたが。
0593535
垢版 |
2019/01/12(土) 00:34:20.08ID:I11IVt9R
あれ、序盤DBに棋譜を追加したら全然おかしな手を打つようになっちゃった。
棋譜がまずいのかな?
0594535
垢版 |
2019/01/12(土) 01:02:50.64ID:I11IVt9R
くそ〜強いAI(自我があるとかではないよ)作りてぇなぁ
0595535
垢版 |
2019/01/12(土) 01:39:38.14ID:I11IVt9R
三連休とはいえそろそろ寝なければな。
生活のリズム崩すのはいくない。
0596535
垢版 |
2019/01/12(土) 21:33:08.59ID:I11IVt9R
質にばらつきのある棋譜から良いデータを抽出する方法はあるのだろうか?
0597535
垢版 |
2019/01/12(土) 22:30:56.75ID:I11IVt9R
うーんせっかく3連休なのに捗らないな。
これだというアイディアが湧くまでこねくり回すしかないか。
0598535
垢版 |
2019/01/13(日) 22:01:49.93ID:vPz6niN1
結局アルファゼロという正解がある限りその呪縛から逃れるのはかなり難しいorz
うーん。
0599535
垢版 |
2019/01/14(月) 21:36:22.16ID:yfXkG3lc
やっぱグラボも活用したいなぁ。
でも難しいんだよなぁ。
とくにウィンドウズだと。
0600535
垢版 |
2019/01/16(水) 00:51:29.20ID:ecOlQUBV
昨日一日学習回して損失が初期値の2/3位になった。
この辺が限界かなぁ
それともぞうきんを絞るようにまだまだ損失減るんだろうか?
0601310
垢版 |
2019/01/18(金) 00:47:06.53ID:YI61Q9H1
NN系は学習してるんだかわからない時があるよね。
とことんまで回すと今度は過学習も怖くなってくるし。


こちらは、自作concurrent_mapクラスができました。
ハッシュキーは二分木で、ハッシュ値は64bit。
配列ハッシュキー版と同様に、削除もiteratorも無し。
すこーし速度があがったかなぁ程度。
衝突時の処理はチェーン式。流石に64bitだとキーの衝突が無い。

棋譜訂正は時間がかかるので、暇つぶしが必要な状態。
二分木を赤黒木に変えてみようかと思い始めています(汗。

本当はヒューリスティックスの改良の方が効果あるんだろうなぁ。
0602535
垢版 |
2019/01/18(金) 22:51:46.73ID:glnAkAuX
今週は残業がひどかったorz
でも土日は休める。
0603310
垢版 |
2019/01/19(土) 09:03:58.77ID:/dbSBJQm
赤黒木を検討してますが、これ並列処理だと木全体をロックしないと
いかんのではないかと…。置換表のように追加の頻度が高いケース
では、排他待ちでパフォーマンス出ないかも。

まあ、やってみるしかないけれど。
0604535
垢版 |
2019/01/19(土) 11:25:42.95ID:R+TIxYAB
赤黒木とかめっちゃむずかしいやつですやん。
さすがですな。
0605535
垢版 |
2019/01/19(土) 19:50:28.36ID:R+TIxYAB
ん、なんか学習したネットワークがすべてのデータに対して同じ結果を返してるっぽい?
0606535
垢版 |
2019/01/19(土) 19:58:01.80ID:R+TIxYAB
学習開始時のネットワークの重みの初期化をミスってるんだろうか
うーん。
0607535
垢版 |
2019/01/19(土) 20:54:13.90ID:R+TIxYAB
tiny-dnn以外のGPU使えるライブラリで重みだけ学習してアプリケーションからはtiny-dnnを使うというのもあるのだろうか
0608535
垢版 |
2019/01/20(日) 02:28:47.86ID:O7gh4nMQ
全く同じ結果ではなく微妙に違う結果を返してるのは確認できたけど。
単に学習量がたりてないのかなぁ。
0609535
垢版 |
2019/01/20(日) 15:00:24.16ID:O7gh4nMQ
やっぱり全く同じ結果返してる??
混乱してきたorz
0610535
垢版 |
2019/01/20(日) 15:40:18.18ID:O7gh4nMQ
層が多すぎたのが悪かったみたい?
層減らしたら違う値になった。
0611535
垢版 |
2019/01/20(日) 17:41:45.52ID:O7gh4nMQ
お、LV1に勝った!
まあDNNの学習の効果の勝利というよりも序盤DBと詰みルーチンの補助による勝ちなんだけどね。
でもとりあえず、それっぽく動くところまで来ました。
0612535
垢版 |
2019/01/20(日) 17:54:10.26ID:O7gh4nMQ
序盤DBが良すぎてDNNの真価がわからないから序盤DB外してみるか…
0613535
垢版 |
2019/01/20(日) 17:59:21.27ID:O7gh4nMQ
酷すぎwwww
でもランダムよりはマシに見える。
0614535
垢版 |
2019/01/20(日) 18:24:44.15ID:O7gh4nMQ
やっぱ序盤DBに頼るか…
こんなにプログラムが楽しいの久しぶりやな
0615535
垢版 |
2019/01/20(日) 20:01:09.83ID:O7gh4nMQ
たぶんだけどまだまだ棋譜増やしたほうがいい。
ていうかあればあるほどいいい。まだまだ良くなる。
可能なら100万局を目指したい。
0616310
垢版 |
2019/01/22(火) 00:34:53.58ID:9pySCUmT
赤黒木大体できたけど…ただの二分木よりほんの少し遅い…。

元々ハッシュでランダマイズしているから、二分木の末端ノードまでの深さは
綺麗な正規分布になっていて、赤黒木にしても木の最頻高さで3割程度しか
小さくならないという事で、ツリーを修正するオーバーヘッドが効いているのか、
それとも木全体でしか排他できないのが原因なのか。

もうちょっと調べてから諦めます。
0617535
垢版 |
2019/01/22(火) 22:52:21.02ID:jAP2hLDv
要素が100個未満ならぶっちゃけvectorでいいと思いますが。。。
0618535
垢版 |
2019/01/22(火) 23:02:42.33ID:jAP2hLDv
前も同じこと言ったような気がするけど、学習させるなら局面の勝率より次の一手のほうがいいのだろうか?
0619名前は開発中のものです。
垢版 |
2019/01/22(火) 23:17:25.29ID:LaaXTOn4
いまきたんですがここはどんなゲームを開発してるんですか
じぶんで開発したとして対戦相手=プログラムありますか
0620535
垢版 |
2019/01/22(火) 23:34:54.50ID:jAP2hLDv
>>619
とりあえず、落ち着いて。
過去ログから読んでください。
0621310
垢版 |
2019/01/23(水) 01:56:46.43ID:QHWWUXAJ
置換表に使ってるので要素数は現在残り28手で100万超える事もあります(汗
まあ、βカットの具合でだいぶ変わるので、学習進むと減るんですが。
最低でも残り30手まで行くつもりなので、1000万くらいは想定したいです。

次の一手ソート用の配列は、Array型にしています。32個確保すれば足ります。
こちらも比較したところ、明確に速度差がありました。この辺から、領域をチマチマ
確保されるオーバーヘッドが気になりだした次第です。

で、赤黒木ですが、実装が悪いのだと思いますが、現時点で2分木と比較して
およそ3倍時間がかかります。シングル動作でも同じくらいの差になるので、
排他待ちではなく、木のつなぎ替え処理の重さが原因かなと。置換表は追加が
の比率が大きいので、ポインタたどるロスは優位ではない感じ。

というわけで、赤黒木はちょっと放置。

というか、二分木もシングル動作は10倍くらい速い感じなので、今一度シングル
探索の並列化を試そうと思っています。
0622310
垢版 |
2019/01/23(水) 02:07:28.76ID:QHWWUXAJ
>>618
min-Max前提だと、探索値を求める際には勝率(点数)が必須で、
次の1手評価関数はオーダリングや前方枝刈向きではないですか?
探索深さ1なら次の1手で行けますが。

初代アルファ碁も、両方組み合わせていますが、次の1手評価関数で
手の優先順位をつける事で読み深さを実現した変則mctsで、最終的には
評価値で判断していますよね。
0623535
垢版 |
2019/01/23(水) 20:43:46.28ID:B65SvCza
ふーむ、勝率のほうが応用が利くってことですかね?
もうしばらく勝率で学習させてみます。
0624535
垢版 |
2019/01/23(水) 21:07:20.14ID:B65SvCza
ついネットワークを大きくしたくなっちゃうけど。
本当は小さいネットワークでエポック数を稼いだほうがいいのかもしれない。
0625535
垢版 |
2019/01/23(水) 21:28:27.72ID:B65SvCza
そういえば、対称局面も学習データとして使ったほうがいいんでしたっけ?
0626310
垢版 |
2019/01/24(木) 01:32:42.88ID:cGqmeFv+
囲連星は初期配置ないんでしょ?
だったら対象局面ありの方が良いと思う。

オセロは悩み中。
初手をF5固定にした時に、本当に対称局面が出てくるのかわからない。
対称局面が同じ重要性で生じないのであれば、評価値を希釈しちゃうだけ。
学習の時間も単純に倍々で増えるので、今はやっていない。

強いて言うなら、F5F6E6の次がF4とD6で斜め対称になるので、ここだけは
記譜作成時にはF4固定にして、D6の対称局面を作っている。
0627310
垢版 |
2019/01/24(木) 01:49:46.37ID:cGqmeFv+
置換表自作の件、目的を見失っている(汗
一旦リセットして、最初からやり直して、当初の目的に戻ろうと思うorz
0628578
垢版 |
2019/01/24(木) 01:53:14.72ID:mzMMzuaC
私は教師データの数が8倍になるのは大きいと思って対称局面も入れて学習させてます
とくにDeep Learningさせてると(ネットワークの規模にもよりますが)だいぶ過学習しなくなります
もっとも、Deep Learningするんだったら対称性を考慮したネットワークにしたほうがいいのかもしれないですが・・・
0629310
垢版 |
2019/01/24(木) 02:08:25.51ID:cGqmeFv+
着手できる場所の自由度が高いゲームは回転させるべきだと思う。
オセロは着手可能場所が限られるので、現れない局面が結構ありそう。

ちなみに、オセロは8倍じゃなくて4倍。初期配置が4対称だから。
囲連星は初手天元固定なのかな?
0630578
垢版 |
2019/01/24(木) 07:09:21.18ID:mzMMzuaC
>オセロは8倍じゃなくて4倍
たしかに棋譜で考えると4対称しか無いですね
今のところ、学習させるときには現局面しか渡してないので、
90度回転で一致する局面が存在するかもしれないから8倍で良いはず…
0631535
垢版 |
2019/01/24(木) 22:03:23.55ID:gSjgdU9w
うーん。今のやり方だとLV0やLV1とはいい勝負になるけどLV3には一生勝てないかも?
出来れば自己対戦による強化学習とか取り入れたいな〜

対称局面もやってみますね。
0632535
垢版 |
2019/01/24(木) 22:45:59.18ID:gSjgdU9w
なんか長時間計算回してると画面が真っ暗になってマウスやキーボード押しても復帰しないことがあるんだが?
スリープは解除してるはずなんだけどなんなんだろう?
0633535
垢版 |
2019/01/25(金) 23:18:39.41ID:gNQn5rdl
LV0ってやっぱ棋力低いな。
そんなLV0といい勝負の俺のAIもあれだけど。
やればやるほどLV3の完成度の高さが際立つ。
0634310
垢版 |
2019/01/26(土) 17:00:37.38ID:VyVaK4H+
自作置換表ですが、大体のところがまとまりました。
結局のところ、unordered_mapを作っていた形になります(汗

当初は領域の追加について、データ部分をまとめて追加する方向で改造し、
ハッシュ配列については22ビット固定で、高速化をしました。で、ハッシュ配列が
22ビット固定は芸がないと、二分木・赤黒木などを試しましたが、速度大幅低下。
要するに、unordered_mapにmapを組み合わせて、ハッシュのメリットを相殺して
しまっていたという事で。

最終的に、ハッシュ配列の追加方法をようやく思いつき、組んでみたところ、それが
そのままunordered_mapのrehashだと気が付きました(汗。その後、max_load_factor
などを追加して、unordered_mapと条件を揃えて速度比較となりました。

iteratorと削除が無い分だと思いますが、unordered_map、concurrent_unordered_map
に対して、それぞれシングル版、concurrent版とも若干高速になりました。

新たな課題は…stlも自作版も、どちらも並列に動かしたconcurrent版の方が遅いと
言う事です。もともとそういうものなのか…テスト方法が並列向けじゃないのか。
0635535
垢版 |
2019/01/26(土) 17:38:15.71ID:VGsbBdjp
8対称はメモリがやばいので4対称にします。
4対称で16GB位食ってる。
0636535
垢版 |
2019/01/26(土) 17:54:22.18ID:VGsbBdjp
思い切っていいPC買ったけどまだ足りないとかorzorzorz
ケチらず64GB積むべきだったか?
0637535
垢版 |
2019/01/26(土) 18:59:37.97ID:VGsbBdjp
1エポック4539秒
これは厳しいorzorzorz
GPUが使えれば…
0638535
垢版 |
2019/01/26(土) 19:45:15.05ID:VGsbBdjp
ん、1エポック目だけど損失がかなり少ない。。
対称局面を入力とすることで特徴量がよりはっきりしたということだろうか?
0639535
垢版 |
2019/01/26(土) 19:46:56.43ID:VGsbBdjp
ん、動きが断然よくなってる?
まだわからんが。
0640535
垢版 |
2019/01/26(土) 19:53:15.64ID:VGsbBdjp
対称局面学習以前はどちらかというとランダムに近かったが
対称局面学習以後はどちらかというと知性があるっぽく見える。
まだわからんが。
0641535
垢版 |
2019/01/26(土) 20:02:51.02ID:VGsbBdjp
これでエポックが進めばとんでもなく強くなる?
まだわからんが。
0642535
垢版 |
2019/01/26(土) 20:15:10.01ID:VGsbBdjp
マシンパワーが欲しい!
Googleに匹敵するマシンパワーが!
0643535
垢版 |
2019/01/26(土) 20:40:08.93ID:VGsbBdjp
まだLV3には遠く及ばないな。
でも希望が出てきた。
0644535
垢版 |
2019/01/26(土) 21:34:58.78ID:VGsbBdjp
学習用、棋譜採取用、対戦統計用、開発用で4台マシンほしいw
0645535
垢版 |
2019/01/26(土) 22:03:09.49ID:VGsbBdjp
やっぱ思考時間短いのはいいな。
モンテカルロは強いけど思考時間長すぎたからな。
0646535
垢版 |
2019/01/26(土) 23:04:44.42ID:VGsbBdjp
棋力が低すぎてすさまじい泥仕合になるの切ないorz
0647535
垢版 |
2019/01/26(土) 23:32:04.39ID:VGsbBdjp
メモリがもっとあれば異なるネットワークを並列に学習とかもできたかもなぁ
まさか32GBで足りないとは…
0648535
垢版 |
2019/01/27(日) 14:58:44.29ID:RY/5cpPz
DNNの評価値とMM法の評価値の和で最終評価値を算出するようにしてみました。
多分DNNのみより強くなってます。
0649535
垢版 |
2019/01/27(日) 15:49:50.57ID:RY/5cpPz
黒番で軽く動かしてみました。

10局目
黒(airandom.dll)の勝利回数: 8
白(ai-lv1.dll)の勝利回数: 2

まずまずの結果かな。
ちなみに白番はうまく動いてなくて1の1とか打っちゃうので途中で中断しました。
0650535
垢版 |
2019/01/27(日) 16:41:37.92ID:RY/5cpPz
うお、猛烈に追い上げられてるorz
悪くない手ごたえがあったと思いましたが…

25局目
黒(airandom.dll)の勝利回数: 15
白(ai-lv1.dll)の勝利回数: 10
0651535
垢版 |
2019/01/27(日) 19:54:22.32ID:RY/5cpPz
ちょっとヒューリスティックを入れました。
詰めろがあるときは詰めろを優先的に打つ。
当たりの点数を恣意的に上げる。
0652535
垢版 |
2019/01/27(日) 21:09:49.27ID:RY/5cpPz
うおお、キター
DNNでLV3に初勝利!

(;SZ[19]
;B[jj];W[kj];B[ji];W[jk];B[kk];W[kl];B[lk];W[ih]
;B[li];W[mj];B[lj];W[kh];B[ki];W[mi];B[lh];W[ll]
;B[lg];W[lf];B[kf];W[ik];B[le];W[mf];B[jh];W[mk]
;B[ke];W[ml];B[kj];W[kg];B[jg];W[mh];B[mg];W[mm]
;B[mn];W[kd];B[kh];W[ld];B[kg])

対LV1も流しなおしててこんな感じ

24局目
黒(airandom.dll)の勝利回数: 18
白(ai-lv1.dll)の勝利回数: 6
0653535
垢版 |
2019/01/27(日) 21:11:57.38ID:RY/5cpPz
ついDNNの学習に計算リソースを使いたくなっちゃうけど
ぐっとこらえてすべての源泉である棋譜取りにリソースを回すのが正解かも?
0654535
垢版 |
2019/01/27(日) 21:39:45.24ID:RY/5cpPz
いやーこんなに充実してるの久しぶりだな。
長いトンネルを抜けたようだ。
0655535
垢版 |
2019/01/27(日) 22:08:36.61ID:RY/5cpPz
うお、またLV3に勝った!
まだまだ負け越すだろうけど、偶然の勝利じゃないってことか。

(;SZ[19]
;B[jj];W[ik];B[ii];W[jk];B[kk];W[lk];B[ll];W[kj]
;B[kl];W[hh];B[mm];W[ji];B[ij];W[ih];B[nn];W[oo]
;B[jm];W[ml];B[hg];W[hk];B[om];W[lm];B[ln];W[nl]
;B[nm];W[im];B[pm];W[km];B[kn];W[pp];B[km];W[qp]
;B[lm])
0656535
垢版 |
2019/01/27(日) 22:25:29.35ID:RY/5cpPz
明日は仕事だから夜更かしは社会人として自制しなければwwwww
そろそろ切り上げるかwwww
0657535
垢版 |
2019/01/28(月) 19:44:18.33ID:m5wr/yMi
そういえば赤黒木って深さキャッシュして置くんですか?オーダーlogで深さを求める方法が思いつかない
0658535
垢版 |
2019/01/28(月) 21:07:17.34ID:LAfUnJ6o
長連判定入れなかったのが意外と響いてるな。
ちょくちょく長連に引っかかる
0659535
垢版 |
2019/01/28(月) 21:36:36.08ID:LAfUnJ6o
ん、DNN学習の裏で棋譜取りしたら計算速度落ちてるな。
コア数は足りてるはずだがメモリ帯域が足を引っ張ったのだろうか?
0660535
垢版 |
2019/01/28(月) 22:36:38.66ID:LAfUnJ6o
こちらの棋力が上がるのに呼応するようにLV3も素晴らしい手を返してくる。
奥が深いすな。
0661535
垢版 |
2019/01/28(月) 22:50:40.16ID:LAfUnJ6o
LV3との対戦統計とってみたいけどまだ時期尚早かな。
まずは大量の棋譜を手に入れる。
量が質に転換する地点が必ずあるはず。
0662535
垢版 |
2019/01/28(月) 22:57:44.79ID:LAfUnJ6o
将来的には自己対戦による強化学習は絶対取り入れたい。
0663535
垢版 |
2019/01/29(火) 20:45:33.27ID:PoANmAul
今一手読みで打ってるから、3手読みとかモンテカルロか入れたらもちっと改善するかな?
でも計算量がどうなるかだなぁ。
遅いのはコリゴリ。
0664535
垢版 |
2019/01/29(火) 22:13:06.04ID:PoANmAul
とりあえず2手読みにしてみたけど2手読みが限界かなぁ
3手は計算量的に相当厳しそう。
0665535
垢版 |
2019/01/29(火) 22:33:10.05ID:PoANmAul
2手読み、なかなかいい感じ。
1手読みから明らかにうち筋が良くなっている。
もし3手読みにしたら…
0666535
垢版 |
2019/01/30(水) 21:21:00.00ID:d36pZkYy
3手読みを仮組してみました。
計算時間がやばいので前方枝刈で思いっきり枝刈してます。
0667535
垢版 |
2019/01/30(水) 22:07:01.71ID:d36pZkYy
あああ、惜しいなぁ!
今すごくいい勝ち方しそうだったのに!

(;GM[1]FF[4]AP[Zenith:7.0]SZ[19]HA[0]KM[6.5]CA[UTF-8]PB[]BR[]PW[]WR[]
ZT[60]DT[]RE[];B[jj];W[ik];B[kk];W[hj];B[ii];W[jk];B[ll];W[hh];B[mm];
W[nn];B[hi];W[gi];B[jl];W[hl];B[ki];W[km];B[lh];W[mi];B[kg];W[kl];B[ke];
W[kf];B[jf];W[lf];B[jd];W[ie];B[je];W[ig](;B[jg];W[jh];B[ih];W[ji];B[kh];
W[jh];B[ji];W[gg];B[jh])(;B[kh];W[jg];B[ih];W[gg];B[nm];W[gk];B[fh];W[gh];
B[gj];W[fj];B[gl];W[ek];B[fk];W[fl];B[mk];W[gm];B[mh];W[gl];B[jh];W[gj]))

もしこの勝ち方ができてたら瞬間最大棋力は名人に届く、ってくらいすごかった。
0668535
垢版 |
2019/01/30(水) 22:44:38.83ID:d36pZkYy
実装もひと段落ついた感じがあるので対戦統計とってみます。
0669535
垢版 |
2019/01/31(木) 20:38:25.44ID:wmRSa8/r
やはりLV3は強いですね。
正直、もっと勝てるかと思ってました。
まだまだ精進せねば。


41局目
黒(airandom.dll)の勝利回数: 33
白(ai-lv1.dll)の勝利回数: 8

58局目
黒(airandom.dll)の勝利回数: 48
白(ai-lv2.dll)の勝利回数: 10

32局目
黒(airandom.dll)の勝利回数: 6
白(ai-lv3.dll)の勝利回数: 26
0670535
垢版 |
2019/02/01(金) 20:50:18.97ID:YKCFM9Y9
序盤DBがlv3 vs lv3の生の勝率データだからちょっと加工したらもっと有益なデータにならないかな
0671535
垢版 |
2019/02/01(金) 23:25:50.28ID:c38ZEsSq
バグは小説よりも奇なり
0672535
垢版 |
2019/02/03(日) 19:29:39.51ID:AT8t8or9
(;SZ[19]
;B[jj];W[ij];B[ik];W[hk];B[hj];W[ii];B[hl];W[gk]
;B[gm];W[ki];B[jl];W[fl];B[km];W[gi];B[ji];W[jh]
;B[lm];W[im];B[il];W[in];B[ml];W[ll];B[lk];W[gl]
;B[nl];W[kl];B[kk];W[ol];B[ll];W[pl];B[kl])
0673535
垢版 |
2019/02/03(日) 20:43:10.48ID:AT8t8or9
(;SZ[19]
;B[jj];W[ij];B[ik];W[hk];B[hj];W[ii];B[hl];W[jk]
;B[gk];W[hi];B[jl];W[kk];B[gi];W[km];B[kl];W[im]
;B[il];W[gl];B[gm];W[fl];B[ki];W[fn];B[lk];W[mk]
;B[fk];W[lh];B[kj];W[jn];B[kk];W[mg];B[hk];W[ng]
;B[jk])
0674535
垢版 |
2019/02/04(月) 21:24:20.28ID:xSiFrXwQ
コア数が足りていたとしても性能が落ちるのは
ターボブーストが利かなくなる分クロックが落ちるということだろうか?
0675535
垢版 |
2019/02/04(月) 21:32:25.91ID:xSiFrXwQ
単独で学習流すと1エポック5000秒強くらいだが棋譜取りと並列にすると1エポック8000秒弱かかる。
結構違いますね。
0676535
垢版 |
2019/02/05(火) 19:35:44.19ID:LeUKzWtY
自分からすぐ取られる手を打たない、必敗の手順をちゃんと読む、などの地味な改良をした結果だいぶ改善したようです。

38局目
黒(airandom.dll)の勝利回数: 37
白(ai-lv1.dll)の勝利回数: 1

28局目
黒(airandom.dll)の勝利回数: 28
白(ai-lv2.dll)の勝利回数: 0

30局目
黒(airandom.dll)の勝利回数: 12
白(ai-lv3.dll)の勝利回数: 18
0677535
垢版 |
2019/02/05(火) 19:37:52.43ID:LeUKzWtY
そろそろ白番もちゃんと動くようにしなければ…
0678535
垢版 |
2019/02/05(火) 20:01:16.79ID:LeUKzWtY
白番が動かないことには自己対局による強化学習も不可能…
0679535
垢版 |
2019/02/05(火) 20:07:09.73ID:LeUKzWtY
>>676の棋譜を見ていますが自分からすぐ取られる手を打たなくしたはずなのですが打ってますね。。。
バグか。
0680535
垢版 |
2019/02/05(火) 20:47:39.46ID:LeUKzWtY
すげぇぇぇええええぇえ!
ゲタ打った!!!


(;SZ[19]
;B[jj];W[ji];B[ki];W[ii];B[ik];W[kh];B[jh];W[kj]
;B[li];W[hi];B[lh];W[mg];B[kk];W[lj];B[mi];W[mj]
;B[ni];W[ij];B[jk];W[hk];B[nk];W[gl];B[kg];W[fm]
;B[en];W[hm];B[gj];W[il];B[mh];W[hh];B[hj];W[gi]
;B[oh];W[fi];B[ih];W[ei];B[di];W[jg];B[nh];W[ig]
;B[kh])
0681535
垢版 |
2019/02/05(火) 20:55:47.56ID:LeUKzWtY
ゲタなんか一切教えてないのにゲタ打った。
この衝撃がみんなに伝わるかなぁ。
0682535
垢版 |
2019/02/05(火) 21:18:10.97ID:LeUKzWtY
あれ、ネットワークのファイル更新したらLV2に負けるようになっちゃった。
なぜ?
0683535
垢版 |
2019/02/05(火) 23:23:47.50ID:LeUKzWtY
ネットワークじゃなくて序盤DBがおかしいのかなぁ。
0684310
垢版 |
2019/02/06(水) 01:11:54.97ID:uzcir1oY
久々です。

置換表は、だいぶ前にリハッシュ対応して、この辺にしとこうか状態になってます。
多分unordered_mapの仕組みはそこそこ理解できたと思います。
deleteとガベージコレクション、iteratorを除いてですが。

Edaxのソースを解析しようと、VC++で読み込んでみましたが、Edaxは裸のCで…
_s地獄とコンパイラの違いで、動かすところまで持ち込むのが相当大変な感じ。
一番の地獄は、探索部のソースを見ても何がなんだかわからない事。
せめて偶数理論のところは見つけたいんだけど。滅茶諦めモード。

というわけで、記譜作成を動かし続けるしかなくなってしまいましたorz

WZebraのソースが見たい…。
0685310
垢版 |
2019/02/06(水) 01:14:08.23ID:uzcir1oY
>>675
メモリバスの帯域とか、L2キャッシュ溢れとか…
わかっているけど、エビデンスが取れないので、認められないorz
0686535
垢版 |
2019/02/06(水) 20:19:19.81ID:s2iJEq7C
ゲタっぽい手また打った。
パッと見成立しないんだけど、なんとなく味が悪いことわかってるんだな。
すごい!

(;SZ[19]
;B[jj];W[ji];B[ki];W[ij];B[ii];W[jk];B[jh];W[li]
;B[kk];W[kg];B[ik];W[jl];B[hj];W[lj];B[lh];W[hl]
;B[jg];W[if];B[mk];W[lk];B[ll];W[kl];B[kj];W[lm]
;B[ml];W[mm];B[mi];W[il];B[mj];W[gj];B[nj];W[lj]
;B[li];W[jm];B[lk];W[oi];B[ij];W[pi];B[lj])

>>685
マルチ性能も大事だけどシングル性能も結構大事で
並列計算するか結構悩みどころですね。
学習結果が早くほしい時は棋譜取りしないというのもありっちゃあり。
0687535
垢版 |
2019/02/06(水) 21:11:19.34ID:s2iJEq7C
ん、なんかいままでは序盤DBの力で勝ってきたようなものだけど、
むしろ中盤力のほうが勝り始めてる気がする。
序盤DBが物足りなく感じる。。。
0688535
垢版 |
2019/02/06(水) 21:50:52.85ID:s2iJEq7C
いろいろ試してみたくなるけど、やっぱ棋譜取りがすべての源泉な気がする。
日中は棋譜取りに専念するのが吉か?
0689535
垢版 |
2019/02/07(木) 21:28:54.73ID:GJ+3NG1C
やはり更なる上を目指すには強化学習が必須か?
0690535
垢版 |
2019/02/07(木) 21:49:04.85ID:GJ+3NG1C
どうやっても勝ちってかんじではあるけど
17手目が面白い手でうまく必勝形につなげた。
正直この手は俺にも見えてなかった。

(;SZ[19]
;B[jj];W[ij];B[ii];W[hi];B[ik];W[ih];B[hj];W[gh]
;B[gi];W[fj];B[hh];W[hg];B[fh];W[jl];B[gg];W[kk]
;B[kh];W[ig];B[li];W[fi];B[mi];W[ji];B[jh];W[km]
;B[ki];W[ln];B[hi];W[mn];B[ji])
0691310
垢版 |
2019/02/08(金) 00:11:00.05ID:Ar3tbH3V
偶数理論なかなか良い実装を思いつきました。

オーバーヘッドが極小なのは、オーダリングへ影響する値だけゼロにして、
ほぼ速度低下が無い事で確認済です。が…何をどうしても速度がダウンします。

というわけで、またしても偶数理論挫折。

次ネタ考え中。
ネタを一つ見つけたけど、結構全面改訂になりそう。
0692535
垢版 |
2019/02/09(土) 16:38:22.33ID:Y3QZLQMW
なんかひと段落ついちゃったら次何すればいいかわかんなくなっちゃったな。
とりあえず、棋譜取りだけは地味に続けるけど。
0693535
垢版 |
2019/02/09(土) 16:39:13.34ID:Y3QZLQMW
白番がバグってるの直すのあったなそういえば。。。
0694310
垢版 |
2019/02/09(土) 21:06:41.89ID:bf+o2ihZ
次ネタ結構大変だと思ったら、意外と簡単にできた。
FFO40-49のタイムは30%強短縮した。
FFO40が悪化して、49はだいぶ短縮しているので、探索深さが深い方が
効果が出る傾向に見える。という事は、残り28か所空きをやっている棋譜
作成では、もっと改善する可能性あるかも。

思い込みって怖い。正直、何故今まで思い付かなかったのだろうというレベルorz
0695535
垢版 |
2019/02/10(日) 00:11:19.28ID:CIRPPqWT
白番動くようになったみたいです。
白番でLV2に勝ちました!

(;SZ[19]
;B[ef];W[eg];B[fg];W[fh];B[eh];W[dg];B[gh];W[fi]
;B[gf];W[di];B[df];W[fe];B[cg];W[dh];B[gi];W[ff]
;B[gg];W[ge];B[hi];W[ej];B[ij];W[de];B[hd];W[hj]
;B[he];W[if];B[hf];W[ih];B[hh];W[ig];B[hc];W[hg]
;B[gj];W[hk];B[gl];W[gk];B[fj];W[ei];B[cd];W[cf]
;B[jk];W[kl];B[ed];W[ee];B[ek];W[dj];B[jh];W[dk]
;B[il];W[df])
0696310
垢版 |
2019/02/10(日) 09:57:20.94ID:WWsJbkKo
パラメータの調整というか、使い方変えたら、更に5%くらい改善。

残り28手空きの記譜作成は、トータル倍弱まで速度アップした模様。
とはいえl、記譜作成の方は、解く問題によってばらつきが大きすぎる
ので、もう少し様子を見ないと、どれくらい早くなったかはなんとも
言えない。早くなったのは確実。

さて、またネタが無くなった(汗
0697535
垢版 |
2019/02/10(日) 14:13:32.91ID:CIRPPqWT
分かってたつもりだったけどLV2の黒番のうち筋が思ったより良くて、
序盤DBに取り込んでもいいかなってちょっと思うようになった。
0698535
垢版 |
2019/02/10(日) 14:38:22.21ID:CIRPPqWT
lv2 vs lv3で棋譜取りしてlv2のいいところを抽出しようとしたら
lv3が強すぎてlv2のいいところが取れないっぽいんだがwwww
これは計算外
0699535
垢版 |
2019/02/10(日) 16:41:39.34ID:CIRPPqWT
lv2 vs lv3はlv2の勝率が3割3分くらい。
思ったよりはlv2が善戦してるかな?
0700535
垢版 |
2019/02/11(月) 00:03:36.62ID:upj5oiO/
lv2の棋譜を取り込んで対戦統計とり始めました。

15局目
黒(airandom.dll)の勝利回数: 13
白(ai-lv1.dll)の勝利回数: 2

14局目
黒(airandom.dll)の勝利回数: 14
白(ai-lv2.dll)の勝利回数: 0

7局目
黒(airandom.dll)の勝利回数: 0
白(ai-lv3.dll)の勝利回数: 7

10局目
黒(ai-lv1.dll)の勝利回数: 1
白(airandom.dll)の勝利回数: 9

6局目
黒(ai-lv2.dll)の勝利回数: 3
白(airandom.dll)の勝利回数: 3

6局目
黒(ai-lv3.dll)の勝利回数: 3
白(airandom.dll)の勝利回数: 3

lv1には文句なく勝ってますね。
lv2もトータル勝ち越せるかも。
lv3は白番でいい勝負なのはすごいですが、
黒番で勝ててないのが気になりますね。
0701535
垢版 |
2019/02/11(月) 19:03:47.89ID:N2auq0Bn
黒番対lv2は勝率100% w
序盤DBが完全に筋に入ってる感じですかね。
対lv3の戦績もlv2 vs lv3の戦績と比較して決して悪くないです。

40局目
黒(airandom.dll)の勝利回数: 36
白(ai-lv1.dll)の勝利回数: 4

42局目
黒(airandom.dll)の勝利回数: 42
白(ai-lv2.dll)の勝利回数: 0

25局目
黒(airandom.dll)の勝利回数: 9
白(ai-lv3.dll)の勝利回数: 16

50局目
黒(ai-lv1.dll)の勝利回数: 7
白(airandom.dll)の勝利回数: 43

30局目
黒(ai-lv2.dll)の勝利回数: 22
白(airandom.dll)の勝利回数: 8

33局目
黒(ai-lv3.dll)の勝利回数: 24
白(airandom.dll)の勝利回数: 9
0702535
垢版 |
2019/02/11(月) 21:10:52.87ID:N2auq0Bn
でも悲しいことに俺のAIには怖さがないんだよなぁ。
ちょっと気を抜くと負かされてしまうような怖さが。
lv2とlv3にはそれがある。
0703535
垢版 |
2019/02/12(火) 20:26:23.49ID:G3iO6dyJ
こんな感じです。

50局目
黒(airandom.dll)の勝利回数: 45
白(ai-lv1.dll)の勝利回数: 5

50局目
黒(airandom.dll)の勝利回数: 50
白(ai-lv2.dll)の勝利回数: 0

40局目
黒(airandom.dll)の勝利回数: 14
白(ai-lv3.dll)の勝利回数: 26

50局目
黒(ai-lv1.dll)の勝利回数: 7
白(airandom.dll)の勝利回数: 43

48局目
黒(ai-lv2.dll)の勝利回数: 39
白(airandom.dll)の勝利回数: 9

46局目
黒(ai-lv3.dll)の勝利回数: 32
白(airandom.dll)の勝利回数: 14

ホントは全部50局打ちたかったんだけど時間がかかるので打ち切りました。
0704535
垢版 |
2019/02/13(水) 19:55:00.78ID:7bnMzRQL
DNNの教師データを棋譜からの生勝率ではなく、少し探索した結果にしてみようかと思ってます。
0705535
垢版 |
2019/02/14(木) 22:04:12.79ID:yW8Bcw4A
なんか変な手打つorz
結局、生勝率が一番いいのかな…
0706名前は開発中のものです。
垢版 |
2019/02/15(金) 23:01:57.18ID:szQyRPlV
>>684
https://github.com/okuhara/edax-reversi-AVX
は VC でもコマンドラインならビルド可能です。(NMakefile)
(本家の Edax も NMakefile は付いているが、多少変更が必要)
Edax の偶数は基本的に Zebra と同じ。QUADRANT_ID あたりを追ってみては?
0707310
垢版 |
2019/02/15(金) 23:44:55.03ID:fcveN5+T
>>706
情報ありがとうございます。そのソースなのですが、コマンドラインなのですね。

ビルドしたかった理由はデバッグモードを使いたかったからです。
QUADRANT_IDのあたりは追っかけたのですが、もともとの探索の構造が
読めなくて、デバッグモードに頼ろうとした次第です。

で、処理内容を予想して自分で組んでみたのですが、FFOテストでは速度が
若干ですが、落ちてしまうのです。


あと、実はVC++しか使った事ないというか、オセロ開発でC++使い始めたので、
makefileが何やってるのかわからないです(汗
というわけで、ちと調べてみます。
動くだけでも、自動対戦の相手になってもらえる可能性ありますから。
0708535
垢版 |
2019/02/16(土) 00:14:31.55ID:MvwJSI7c
310さんってC++のエキスパートなのかと思ってたっす。
ちょっと意外。
0709535
垢版 |
2019/02/17(日) 21:11:39.54ID:23WhPvCR
ネタがなくなってちょっと熱も冷めた感じ。
とりあえず、自己対局による強化学習をぼちぼち何とかしたい。
0710535
垢版 |
2019/02/18(月) 23:23:00.57ID:dOglmLQj
俺のAI vs 俺のAIの棋譜

(;SZ[19]
;B[jj];W[kj];B[kk];W[ji];B[lj];W[ki];B[ij];W[lk]
;B[ll];W[mk];B[ii];W[ml];B[mm];W[nn];B[hh];W[gg]
;B[oo];W[on];B[ih];W[nm];B[po];W[mj];B[nk];W[ok]
;B[ol];W[ni];B[nl];W[mo];B[ln];W[mn];B[lm];W[li]
;B[hk];W[oj];B[oi];W[pi];B[oh];W[qj];B[pk];W[nj]
;B[pj];W[pl];B[il];W[qk];B[in];W[pj];B[im];W[lj])

両当たりかけられるところを放置したり抜かなくていい石を抜いたりいろいろ危なっかしいところはあるが
現状、こんな感じです。
0711535
垢版 |
2019/02/19(火) 22:08:59.80ID:d5ndvgDR
いまよりもっと人工知能技術が普及して働き口が増えたら人工知能系の職に転職したいwww
0712535
垢版 |
2019/02/19(火) 22:42:38.22ID:d5ndvgDR
次のアイディアが出るまで

対LV3の棋譜をとる→序盤DBを更新する→DNNを更新する→対LV3の棋譜をとる

のサイクルを繰り返すことにします。
0713535
垢版 |
2019/02/20(水) 21:16:37.27ID:d5NzdsVZ
珍しい負け方した。
白必勝形のダブルリーチ
この形は非常に珍しいと思う。

(;SZ[19]
;B[jj];W[kk];B[ki];W[ik];B[ii];W[hi];B[ij];W[jk]
;B[hk];W[hl];B[gj];W[hj];B[gk];W[gl];B[jl];W[gi]
;B[fi];W[jm];B[kl];W[km];B[ll];W[im];B[fm];W[lm]
;B[hh];W[mm];B[hm];W[lk];B[gh];W[hn];B[gm];W[mk]
;B[li];W[nl];B[om];W[ok];B[nj];W[nk])
0714535
垢版 |
2019/02/21(木) 19:59:44.77ID:PxV5X23E
日に日にじわじわ強くなってる気がする。
どこかのタイミングで爆発的に強くなったりしないかな?
0715310
垢版 |
2019/02/22(金) 00:24:39.77ID:e/VjvE/W
ようやく評価関数が安定してきたのか、遡り記譜作成の速度が上がってきた気がする。

暇なので、mctsでも組んどこうかと考え始めたら、置換表の新アイデアが。

今までは、unordered_mapにとらわれていましたが、もともと探索木は文字通り
ツリー構造なので、その形のまんま置換表にして、探索しながら木を同時並行
でたどっていけば、置換表内で「探す」必要が無い上に、着手リストがそのまま
ノードとして存在しているので、反復系の探索の時に何度もmobility関数を呼ぶ
必要が無い。

結構大掛かりな修正になりましたが、とりあえず基礎的な探索まではできるように
なりました。速度計測はこれから。

あと、shared_ptr使った事で、不要な置換表データを自動削除できるので、minMaxで
AIを組んだ時に、置換表を縮小しながら再利用できるかなと。
あ、mctsはどこに行ってしまったんだろう(汗
0716535
垢版 |
2019/02/22(金) 20:49:26.61ID:pJcyJywR
10並列でLV3と対戦しました。

29局目 黒(airandom.dll)の勝利回数: 15 白(ai-lv3.dll)の勝利回数: 14
32局目 黒(airandom.dll)の勝利回数: 15 白(ai-lv3.dll)の勝利回数: 17
32局目 黒(airandom.dll)の勝利回数: 20 白(ai-lv3.dll)の勝利回数: 12
34局目 黒(airandom.dll)の勝利回数: 16 白(ai-lv3.dll)の勝利回数: 18
30局目 黒(airandom.dll)の勝利回数: 12 白(ai-lv3.dll)の勝利回数: 18
32局目 黒(airandom.dll)の勝利回数: 6 白(ai-lv3.dll)の勝利回数: 26
30局目 黒(airandom.dll)の勝利回数: 12 白(ai-lv3.dll)の勝利回数: 18
33局目 黒(airandom.dll)の勝利回数: 18 白(ai-lv3.dll)の勝利回数: 15
37局目 黒(airandom.dll)の勝利回数: 17 白(ai-lv3.dll)の勝利回数: 20
32局目 黒(airandom.dll)の勝利回数: 13 白(ai-lv3.dll)の勝利回数: 19
トータル 144勝 177敗
勝率 44.9%

これはLV2 vs LV3 と比べてかなりいい数字です!
0717310
垢版 |
2019/02/23(土) 17:22:38.75ID:XSOOC+yB
>>715の続き

良く考えたら、ツリー構造で自分の値を残しておくという意味で、mtd(f)や
反復深化の系統には効果あるけど、同じ局面を見つける事ができないので
そもそも置換表ではありませんねorz

その代り、並列探索でも排他制御をしなくて良い事になります。
メモリー使用量も少なくて済みます。

速度については、今のところ微妙。
棋譜作成が一段落したらPCリセットしてクリーンな状態で再計測の予定。
0718535
垢版 |
2019/02/23(土) 19:16:16.09ID:ThnkYxTz
対戦統計って10000局くらいやらないと±10%くらいの誤差は簡単に出てしまうのかもしれない。
何局くらいやれば信頼できるんだろ?あんま統計詳しくないんだよな〜
0719535
垢版 |
2019/02/23(土) 19:28:15.18ID:ThnkYxTz
そういえば「コンピュータ囲碁 ―モンテカルロ法の理論と実践」になんか書いてあったような気もする。
0720535
垢版 |
2019/02/24(日) 21:49:18.42ID:auCrr5Wc
なんか弱くなってる気がするorz
LV0とかLV1にも序盤不利になったりするorz
最終的に逆転できることもあるんだけど、そのまま押し切られることもあるorz
まずいでしょうこれはorz
0721310
垢版 |
2019/02/24(日) 23:56:43.56ID:GBomweD/
んごー。めっちゃスピードダウンorz
ダメ筋だったかも。

途中速度アップしてる気がしていたけど、単にバグっていただけだった。

置換表機能が消えて、余計な筋を読んでいるのか。
それとも、パラパラとmake_sharedしているからなのか。
どうせやる事ないので、しばし検討。
0722535
垢版 |
2019/02/25(月) 20:30:16.25ID:/PmJxqQK
もっとマシンパワーが欲しい!
モアパワー、モアトルクだ!
0723535
垢版 |
2019/02/25(月) 20:48:25.65ID:/PmJxqQK
大学で統計の単位とっとくんだったorz
独学は厳しいorz
0724535
垢版 |
2019/02/26(火) 20:20:50.08ID:veq8AgWN
序盤DBはもう少し工夫しないと駄目かもなぁ
0725535
垢版 |
2019/02/26(火) 22:16:04.17ID:veq8AgWN
あの伝説の手筋が実現しかけたが、残念ながら実現しなかった。
あとちょっとだったのに、悔しい!!

(;SZ[19]
;B[jj];W[jk];B[ki];W[ij];B[ik];W[hk];B[il];W[kj]
;B[ji];W[ih];B[hl];W[gm];B[ii];W[hi];B[gl];W[li]
;B[hh];W[ig];B[kk];W[ll];B[km];W[jl];B[jn];W[kl]
;B[lh];W[mg];B[lj];W[hj];B[gk];W[gh];B[lm];W[hf]
;B[he];W[kh];B[gi];W[hg];B[gj];W[jg];B[gg];W[lg]
;B[kf];W[fg];B[ef];W[kg];B[ng];W[gf];B[fe];W[gg])
0726535
垢版 |
2019/02/26(火) 23:53:19.73ID:veq8AgWN
負けたけど、7連までの手数が絡んだ微妙な駆け引きが素晴らしい名局だった。
勝つチャンスはあったと思うけどな〜惜しいな〜

(;SZ[19]
;B[jj];W[kj];B[jk];W[ki];B[kk];W[kh];B[il];W[lk]
;B[ll];W[ml];B[in];W[ji];B[im];W[ih];B[nm];W[hi]
;B[jo];W[gi];B[li];W[fh];B[ij];W[ii];B[io];W[ei]
;B[ip];W[fi])
0727535
垢版 |
2019/02/27(水) 21:30:22.80ID:Y++kUwc3
モンテカルロ木探索とDNNと組み合わせてみようかなぁ
そのほうがランダム性も出せるし
でも遅くなったらやだな。うーん
0728535
垢版 |
2019/02/27(水) 22:03:24.47ID:Y++kUwc3
なんか取れないシチョウを追いかけたw
シチョウルーチンにバグがあるのか、DNNの評価値でシチョウを追いかけてしまったのかイマイチ判断がつかないな。
0729535
垢版 |
2019/02/27(水) 22:47:59.69ID:Y++kUwc3
ん、なんかLV2にコロコロ負けるようになった。
自分のAI vs lv 3 の棋譜を取り入れたせいで序盤DBが狂っちゃったかな。
0730535
垢版 |
2019/02/28(木) 22:39:23.34ID:VN3HTH0V
なんか新しいアイディアが欲しいな。
>>712のサイクルはちょっと手詰まり感。
0731535
垢版 |
2019/03/04(月) 20:07:01.61ID:+UlAfF8J
ここ数日さぼりっぱなし。
棋譜取りも逆に弱くなりそうでさぼってます。
0732535
垢版 |
2019/03/04(月) 22:26:37.19ID:+UlAfF8J
やっぱ序盤の大局観で優位に立ちたいんだよなぁ。
中盤、終盤はある程度読みでカバーできるけど序盤はマジ謎が多いからな。
0733310
垢版 |
2019/03/04(月) 23:03:17.87ID:2gMEJXd0
バグでドツボ中。

再現性がなさすぎて、よーわからん。
頻度の低さと、再現性の無さから、置換表の二重更新だと思うんだけど…
それっぽい箇所も見当たらない。
0734535
垢版 |
2019/03/09(土) 21:06:39.62ID:jNDDSRBd
完全にさぼり状態。
アイディアも枯渇したし。
どこかにネタ落ちてないかな。
0735535
垢版 |
2019/03/10(日) 00:25:59.41ID:BU7hKn7v
禁断の人間(俺)vs lv3の棋譜取りをやろうかと思ってます。
これは手間が半端ないw
0736535
垢版 |
2019/03/10(日) 00:40:34.55ID:BU7hKn7v
早くもギブアップwwwww
なかなかいい棋譜が取れない
基本的に無理筋orz.
0737535
垢版 |
2019/03/10(日) 20:17:25.17ID:BU7hKn7v
自分のAI vs lv3 で 手筋炸裂!!
うって返しでました!

(;SZ[19]
;B[jj];W[ki];B[ii];W[kj];B[kk];W[ih];B[hh];W[gg]
;B[ll];W[mm];B[mk];W[jk];B[jl];W[ik];B[il];W[hk]
;B[hl];W[gl];B[gk];W[ji];B[hj];W[ij];B[jj];W[hi]
;B[jk];W[gi];B[ik];W[nk];B[lk];W[ok];B[hk])
0738535
垢版 |
2019/03/11(月) 19:47:21.03ID:X4t/4BPO
棋譜取り再開しました。
弱くなる可能性は潰せてないのですが、何もしないよりはましだと思って。
0739535
垢版 |
2019/03/11(月) 21:55:27.12ID:X4t/4BPO
10並列 対戦結果

30局目 黒(airandom.dll)の勝利回数: 16 白(ai-lv3.dll)の勝利回数: 14
21局目 黒(airandom.dll)の勝利回数: 10 白(ai-lv3.dll)の勝利回数: 11
29局目 黒(airandom.dll)の勝利回数: 12 白(ai-lv3.dll)の勝利回数: 17
22局目 黒(airandom.dll)の勝利回数: 6 白(ai-lv3.dll)の勝利回数: 16
24局目 黒(airandom.dll)の勝利回数: 14 白(ai-lv3.dll)の勝利回数: 10
27局目 黒(airandom.dll)の勝利回数: 14 白(ai-lv3.dll)の勝利回数: 13
27局目 黒(airandom.dll)の勝利回数: 14 白(ai-lv3.dll)の勝利回数: 13
30局目 黒(airandom.dll)の勝利回数: 15 白(ai-lv3.dll)の勝利回数: 15
23局目 黒(airandom.dll)の勝利回数: 10 白(ai-lv3.dll)の勝利回数: 13
28局目 黒(airandom.dll)の勝利回数: 13 白(ai-lv3.dll)の勝利回数: 15

トータル 124勝137敗 勝率 47.5%

悪くない
0740535
垢版 |
2019/03/12(火) 20:57:52.00ID:ACQKgt0P
LV3に勝利。
途中負けかけたけど相手がミスした。
終盤の数手が素晴らしい一局だった。

(;SZ[19]
;B[jj];W[ki];B[ji];W[jh];B[ih];W[ig];B[kh];W[jg]
;B[kj];W[hf];B[li];W[kg];B[lg];W[gf];B[lk];W[mj]
;B[hi];W[fg];B[eg];W[mi];B[lf];W[lj];B[fi];W[gi]
;B[gj];W[gh];B[ej];W[fk];B[fj];W[ij];B[ik];W[ge]
;B[ii];W[hj];B[hk];W[fd];B[ki];W[me];B[ij];W[ne]
;B[hj])
0741535
垢版 |
2019/03/12(火) 21:01:50.73ID:ACQKgt0P
それにしてもディープラーニングの学習がメモリ20GB食ってるんだがw
奮発してメモリ32GBにしといてよかった。

やっぱハードウェア性能は正義だな。
Zen2のスリッパ出たらうっかり買いそうで自分が怖いw
0742535
垢版 |
2019/03/13(水) 20:46:36.19ID:7rSi15yT
12並列対戦

29局目 黒(airandom.dll)の勝利回数: 12 白(ai-lv3.dll)の勝利回数: 17
30局目 黒(airandom.dll)の勝利回数: 17 白(ai-lv3.dll)の勝利回数: 13
28局目 黒(airandom.dll)の勝利回数: 11 白(ai-lv3.dll)の勝利回数: 17
28局目 黒(airandom.dll)の勝利回数: 10 白(ai-lv3.dll)の勝利回数: 18
36局目 黒(airandom.dll)の勝利回数: 13 白(ai-lv3.dll)の勝利回数: 23
25局目 黒(airandom.dll)の勝利回数: 11 白(ai-lv3.dll)の勝利回数: 14
31局目 黒(airandom.dll)の勝利回数: 14 白(ai-lv3.dll)の勝利回数: 17
28局目 黒(airandom.dll)の勝利回数: 13 白(ai-lv3.dll)の勝利回数: 15
32局目 黒(airandom.dll)の勝利回数: 13 白(ai-lv3.dll)の勝利回数: 19
33局目 黒(airandom.dll)の勝利回数: 17 白(ai-lv3.dll)の勝利回数: 16
31局目 黒(airandom.dll)の勝利回数: 17 白(ai-lv3.dll)の勝利回数: 14
25局目 黒(airandom.dll)の勝利回数: 8 白(ai-lv3.dll)の勝利回数: 17

156勝200敗 勝率 43.8%

弱くなったのか誤差の範囲なのか、うーん。
0743535
垢版 |
2019/03/14(木) 23:27:52.29ID:V04VYcAB
>>742の棋譜を序盤DBに取り込んで、その序盤DBをもとにDNNの学習をやり足しました。
DNNは序盤DB拡張と学習のサイクルを繰り返し行っているので秘伝のタレみたいになってますw
これで今夜からもう一度対LV3対戦やってみます。
0744535
垢版 |
2019/03/14(木) 23:40:56.98ID:V04VYcAB
7局目 黒(airandom.dll)の勝利回数: 3 白(ai-lv3.dll)の勝利回数: 4
7局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 3
7局目 黒(airandom.dll)の勝利回数: 3 白(ai-lv3.dll)の勝利回数: 4
5局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 1
7局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 3
5局目 黒(airandom.dll)の勝利回数: 3 白(ai-lv3.dll)の勝利回数: 2
4局目 黒(airandom.dll)の勝利回数: 1 白(ai-lv3.dll)の勝利回数: 3
5局目 黒(airandom.dll)の勝利回数: 3 白(ai-lv3.dll)の勝利回数: 2
9局目 黒(airandom.dll)の勝利回数: 7 白(ai-lv3.dll)の勝利回数: 2
6局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 2
6局目 黒(airandom.dll)の勝利回数: 2 白(ai-lv3.dll)の勝利回数: 4
7局目 黒(airandom.dll)の勝利回数: 4 白(ai-lv3.dll)の勝利回数: 3

42勝33敗 勝率56%

出だしは好調!
明日一日回してどうなるか… 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0745535
垢版 |
2019/03/14(木) 23:44:29.21ID:V04VYcAB
ありゃなんかRock54ついとる。
文章の繰り返しが駄目なんか?
0746535
垢版 |
2019/03/15(金) 20:06:11.54ID:PqqnV2Up
残念ながら駄目でしたorz

155勝 209敗 勝率 42.6%

やっぱ対局回数増やすとこの辺に落ち着くのか、うーん
0747535
垢版 |
2019/03/16(土) 18:31:00.14ID:7iioDFjE
>>746から対戦を止めずに継続していましたが

211勝289敗 勝率42.2%

となりました。

やっぱこの辺が真の値なのかな。
0748535
垢版 |
2019/03/17(日) 00:52:38.93ID:5SZpbjE6
更に学習を続けます
0749535
垢版 |
2019/03/17(日) 21:35:48.21ID:5SZpbjE6
まじでZen2スリッパでたら買ってしまいたい衝動に駆られる
0750535
垢版 |
2019/03/18(月) 00:19:09.18ID:eJisfZab
8勝2敗だと95%の確率で強いといえるらしいが、12並列もしてると1つは8勝2敗ぐらいになったりするw。
まあ確率的にはそうなのかも。
結局1000局くらいやらないと駄目ってことかな?
0751535
垢版 |
2019/03/18(月) 21:25:08.42ID:eJisfZab
やっぱ弱くなってるかもT△T

143勝 220敗 勝率 39.4%

このままこの学習サイクルを進めていいか迷うorz
0752535
垢版 |
2019/03/18(月) 21:37:35.02ID:eJisfZab
禁断のモンテカルロ木探索の封印を解くか?
しかしあれは計算時間が半端ないからな。
出来れば避けたい。
0753535
垢版 |
2019/03/18(月) 21:52:51.93ID:eJisfZab
プロのタイトル戦が7番勝負とかだけど7番ぽっちじゃ真の強者はわからんってことやなw
0754535
垢版 |
2019/03/18(月) 23:53:39.58ID:eJisfZab
モンテカルロ実装したけど、なんか素朴な手を選ぶようになってしまった。
うーん、コレジャナイ感がorz
0755535
垢版 |
2019/03/19(火) 21:06:00.35ID:87DWY+/2
なんかおかしい。
LV3が強すぎる気がするw
もしかしてLV3には学習機能がついていて計算回せば回すほど強くなるとか?w
んなわけないか。
0756535
垢版 |
2019/03/21(木) 03:04:06.19ID:gYmqCPQ5
祝日だって油断してたらこんな時間w
弱くなってもいいから計算量削る方向で調整しています。
0757535
垢版 |
2019/03/21(木) 17:29:13.47ID:gYmqCPQ5
対戦統計とってます。

66勝 70敗 勝率48.5%

今のところむしろ勝率上がってます!
速度も若干だけど速くなったはず…

勝率50%が欲しい!
0758535
垢版 |
2019/03/22(金) 19:55:26.77ID:9WNMIpie
161勝188敗 勝率 46.1%

悪くない。
0759535
垢版 |
2019/03/22(金) 20:13:46.91ID:9WNMIpie
次のアイディアが欲しいところだ
0760310
垢版 |
2019/03/23(土) 00:07:59.98ID:QKAaRf+n
久々です。

新型版はテストのためにいちいち学習を止めるのが面倒で、放置しています。
一晩耐久テストやらないとわからないので。

で、未だずーっと棋譜作成&学習を続けています。
もともと800件強の記譜をベースに間違い訂正をしたり、確定しているところ以降
の全分岐を作成したりして学習データにしていたのですが、昔作った記譜なので
序盤で結構間違いが多く、効率よく学習できないのではないかと考えました。

で、最近は序盤の定石6〜20手からスタートして記譜を作成したりしていました。
そこそこ序盤の間違いが訂正されてきたのですが、まだところどころおかしい
ところがあって、Zebraで並べてみながら、多分間違えたであろう箇所を特定して
それ以後の記譜を作らせる事で、強制的に正しい手順に戻すなんていう、禁断の
ドーピング技を始めてしまいました。

現在は1200記譜くらいまで増えていますが、まだまだ間違いも散見されますし、
パブリックドローの変化っぽいのに、記譜が無いものもあり、まだまだ記譜が足り
ていない感じです。

あと、ドーピング作業やりながらZebraの評価値見ていると、20〜30手目あたりは
進行の種類によってはZebraの評価値もあまりあてにならないなぁと言う事に気付い
てしまいました。ここら辺の精度を上げると、もっと強くできるのではないかと思います。
自動対戦してくれる序盤DB付きのオセロプログラムがあると、ドーピング作業が更に
楽になるんだけど(汗

現在残り20手目以後の学習に使う盤面は70万件くらいになっています。それでも
残り20手以後の初見の盤面の評価値では結構な誤差があります。本当にBuroさん
の線形評価関数で良いのかというのも相変わらず悩ましいところです。
0761535
垢版 |
2019/03/23(土) 09:44:42.00ID:C9QFpANM
197勝 233敗 勝率 45.8%

悪くない。

一旦対局中断します。
0762535
垢版 |
2019/03/23(土) 17:57:32.40ID:C9QFpANM
やっぱ1手1秒くらいで打ちたいなぁ。
そうすれば対戦統計も棋譜も全然もっと取れるのに
0763535
垢版 |
2019/03/23(土) 21:04:03.52ID:C9QFpANM
LV2と対戦してみました。
50局目 黒(airandom.dll)の勝利回数: 48 白(ai-lv2.dll)の勝利回数: 2
勝率 96%
0764535
垢版 |
2019/03/24(日) 10:11:30.45ID:IEpX66ro
LV1ともやってみました。
50局目 黒(airandom.dll)の勝利回数: 45 白(ai-lv1.dll)の勝利回数: 5
勝率 90%
0765535
垢版 |
2019/03/24(日) 21:21:09.27ID:IEpX66ro
ふーむ、損失が減らない地点まで学習が進んでしまったようです。
一回止めるか。
0766535
垢版 |
2019/03/24(日) 21:27:42.78ID:IEpX66ro
うーん、やっぱ現状を打破する画期的なアイディアが必要かな。
ちなみにいまは強さよりも速度が欲しいかも。
0767535
垢版 |
2019/03/25(月) 05:48:57.06ID:9reqTGkG
対戦してます。

黒番 対 LV3 107勝 102敗 勝率 51.2%

200戦以上して勝率50%超えはすごい!
今日一日回してみます。
0768535
垢版 |
2019/03/25(月) 21:18:02.28ID:9reqTGkG
結局負け越しでした

165勝 174敗 勝率48.7%

でも決して悪い結果ではない!
0769535
垢版 |
2019/03/26(火) 21:11:49.41ID:AISc91ZO
まだ回してました

239勝 237敗 勝率 50.2%

キター!

まあ、今だと50%行くかどうかはホント運しだいなんだろな。
0770535
垢版 |
2019/03/26(火) 21:12:45.47ID:AISc91ZO
そろそろ対局止めて次の学習のターンに入ります。
0771535
垢版 |
2019/03/26(火) 21:59:22.07ID:AISc91ZO
うお、棋譜が多すぎてls */*.sgfがコアダンプするようになったw
分割しないと駄目か〜
0772535
垢版 |
2019/03/27(水) 21:35:10.22ID:4D2b4lCy
そろそろ人間(俺)相手に勝利が欲しいところだがまだむずかしいかな。
素人相手なら勝てるんだろうか?
0773535
垢版 |
2019/03/28(木) 19:32:56.94ID:ZCt2CXW9
165勝 176敗 勝率 48.4%
0774310
垢版 |
2019/03/30(土) 20:46:31.09ID:IsrC9h82
既知のパブリックドローのリストが見つかったというか、
今年になってブログでまとめて発表してくれている人がいた。

ちょうど良いタイミングすぎる(汗

2種類あるのと、自分がZebraから拾った奴を合体して、32手目まででカット。
ソートして重複削除したら450件程度に。多分既存の記譜と多少重複してると思う。

全部やるとかなり記譜が偏る気がするけど、やっちゃうかな。
0775535
垢版 |
2019/03/30(土) 23:47:00.24ID:o6pzrkpp
序盤DBを劇的に改善する方法ないかな?
不利なオープニングを避けるだけで勝率めちゃくちゃ上がりそうな予感がするんだが。
0776310
垢版 |
2019/03/31(日) 01:39:32.24ID:5poc64Oc
棋譜から序盤DB作れない?
0777535
垢版 |
2019/03/31(日) 09:41:09.06ID:eFSA5935
作ってるですがそれでも不利な局面になったりしますorz
0778310
垢版 |
2019/03/31(日) 20:14:25.76ID:5poc64Oc
棋譜から序盤DB作る時に、その盤面からの勝率入れて、勝率が高い手を指す
ようにするとか。まあ、ぶっちゃけ記譜単位でmctsやってるような事になるの。
0779535
垢版 |
2019/03/31(日) 20:34:17.11ID:eFSA5935
いや、それに近いイメージのものはすでに実装してあるんですが、たまに変な手を打つのです。
0780310
垢版 |
2019/04/01(月) 20:17:52.98ID:JaNWOXQ3
普通DB化すると同じ手順だと毎回同じに間違えるはず。
だとするなら、DBの棋譜をテキストに吐き出すなどして、チェックしたら?

間違いっぽい分岐見つけたら、正解着手させてその後を対戦させて記譜を
強制的に正しい分岐を学習させるの。そのあとでも間違えて、なかなか治らない
事もあるけど。

これが>>760で書いたドーピング。
0781310
垢版 |
2019/04/01(月) 20:22:42.07ID:JaNWOXQ3
>>774のリスト。パブリックドローはFJT分だけだった。
2種類あって、もう一つは代表的な序盤定石から適度に着手した後で、
残り30手を読み切ったリストで、ドローとは限らなかった。

遡りチェックの時にあり得ない奴があったので、気が付いた。

試しにZebraで並べて評価値見てみたら、中盤で結構変な手順になっていたりする。
まあ記譜の足しにはなるかなぁという感じ。
0782535
垢版 |
2019/04/01(月) 22:13:58.23ID:58wx0Qom
手動でDB書き換えるのは工数的に地獄の苦しみなのですw
まあ、負けた棋譜だけ水増ししてDBに登録するのはあるかも?
0783535
垢版 |
2019/04/01(月) 23:15:44.55ID:58wx0Qom
自動対局プログラムに手を入れて棋譜のファイル名に黒が勝ったか白が勝ったか入れるようにしました。
0784535
垢版 |
2019/04/02(火) 20:42:13.63ID:IVxd4rzM
やっぱ手動で棋譜を訂正するのはムリゲーだなぁ。
棋譜訂正も自動化すべきかな。
うーん
0785310
垢版 |
2019/04/02(火) 20:42:16.77ID:BP3gZfVl
そうか。オセロだとある程度定石はあるし、ZebraやEdaxで並べれば
終局スコアの予想はできて、間違いが見つけやすいけど、囲連星では
そうはいかないですね。

途中で変な手を打つのは、恐らく記譜が足りていないからではないかと
思います。オセロでもドーピングやらないで純粋に自己対局学習だけで
やった場合、1万〜10万対局くらいは必要かなと思っています。
0786535
垢版 |
2019/04/02(火) 22:11:14.64ID:IVxd4rzM
勝った棋譜水増しするのと負けた棋譜水増しするのどっちがいいんだろ?
おんなじ割合で水増ししたら意味ないかもw

とりあえず負けたほう増やすか
0787535
垢版 |
2019/04/03(水) 22:07:38.48ID:+wdY9CJ5
とりえあず、負けた棋譜を100倍にして序盤DBに注入してます。
定型パターンにはまりやすいLV2にはかなり効果あるのですが
変幻自在なLV3には今一つみたいです。
0788535
垢版 |
2019/04/04(木) 20:30:39.10ID:QG8xddyq
負けた棋譜だけ増やすとバランス崩れるかも?と思い始めました。
うーん。
0789535
垢版 |
2019/04/04(木) 22:06:44.84ID:QG8xddyq
やはり大量、多種類の棋譜が欲しい。
棋力が下がっても計算量を抑えて、速度を稼ぐ方向で行くべきか?
0790535
垢版 |
2019/04/04(木) 22:52:58.55ID:QG8xddyq
2手読みだったところを1手読みにしたら大分早くなったけど、やっぱ棋力は落ちるな。
これはちょっと採用するか迷う。
0791535
垢版 |
2019/04/05(金) 22:13:28.38ID:6lxF2ret
ん、なんか白番が絶望的に負けてる。
なんか評価値の計算まちがえたか?
0792535
垢版 |
2019/04/05(金) 22:26:12.15ID:6lxF2ret
それとも棋譜水増しで入れた序盤DBが狂ったのかな?
0793535
垢版 |
2019/04/06(土) 00:52:52.21ID:Uoezh941
白番で、相手が初手端のほうに打ってきたときに、盤が狭くなって序盤DBどおりに打つのが悪くなるみたい?

とりあえず、白番持った時に相手が初手天元付近に打たなかったときは、中央寄りの斜めに打つように変えた。
これで少しでも緩和されるといいな。
0794535
垢版 |
2019/04/06(土) 01:11:14.50ID:Uoezh941
水増しした分の棋譜はいったん削りました。
確率の理論を根底から壊してしまうみたいなので。
やっぱ遅いようでもじっくり行くのが確実っぽい。
0795535
垢版 |
2019/04/10(水) 20:58:12.46ID:x47ianNw
今、極端な水増しはやめてほどほどの水増しにしてます。
新しい棋譜が古い棋譜の1〜2%程度になるくらいに水増ししてます。
0796310
垢版 |
2019/04/10(水) 23:44:48.34ID:R42Zvvs5
どんより…
バグを見つけてしまった。

今ある記譜50万件の数%くらいに間違いがありそう。
直管的には、全データに対して読み切り処理を噛まさないと間違いの有無すら確認できない。
多分、逆順探索処理を簡素化した時にバグが入り込んだのだと思う。
暇なのでログ書き出しの処理を作ってたら見つかった。

うぐぐ。

もうしばらく様子を確認して、他にもバグが無いか見た上で…どうしよう。
一旦記譜をリセットして作り直すべか。
0797310
垢版 |
2019/04/10(水) 23:48:12.99ID:R42Zvvs5
と、書いた直後に気が付いた。
ログの側のバグだった事に…

お騒がせ様でした。
0798535
垢版 |
2019/04/15(月) 23:21:56.01ID:+vRjXb2F
いままで8対称中4対称で学習してましたが、のこりの4対称も学習させてみることにしました。
8対称すべてはメモリに収まらないので半分づつ学習させます。
0799535
垢版 |
2019/04/16(火) 20:45:49.68ID:+pjTjN+Q
178勝192敗 勝率 48.1%
8対称、勝率あんまり上がらないですね。
うーん、うち筋は悪くないと思うんだけど。
なにかブレークスルーが欲しいですね。
0800535
垢版 |
2019/04/16(火) 21:15:27.46ID:+pjTjN+Q
2手読みに戻したら勝率上がるかな?
うーん。
0801535
垢版 |
2019/04/16(火) 22:50:30.94ID:+pjTjN+Q
まじでZen2スリッパ欲しい。
0802535
垢版 |
2019/04/17(水) 20:33:59.36ID:5Verubd2
154勝178敗 勝率46.4%
2手読みに戻したらかえって勝率さがりましたね。
誤差の範囲かもわかんないですが。
0803535
垢版 |
2019/04/18(木) 22:39:13.48ID:Bi+APi3V
お、素晴らしい勝ち方した。
必勝形のダブルリーチ
これほど少ない石数でこの形を作れるとは…

(;SZ[19]
;B[jj];W[kj];B[jk];W[li];B[ji];W[lh];B[kl];W[jm]
;B[ih];W[lk];B[ig];W[jf];B[il];W[ik];B[hk];W[if]
;B[im];W[ij];B[hj];W[lg];B[ii];W[in];B[ik];W[jn]
;B[ij])
0804535
垢版 |
2019/04/19(金) 21:34:26.27ID:NHUtwCQF
ふーむ、いままで勝率のいい手かつ沢山選ばれた手を優先的に選択するように序盤DB周りを組んでいたのだけど、
それだと手が固定されてしまうかなと思って勝率のいい手かつあまり選ばれてない手を優先的に選ぶようにしたら

147勝 220敗 勝率40.1%

これは誤差とは言えないほどの差ですねぇ。
0805535
垢版 |
2019/04/23(火) 20:49:51.89ID:rLrZWc/a
205勝 246敗 勝率45.5%
棋譜取り&序盤DBへの取り込みを継続したら少し勝率戻りました。
50%付近まで頑張ろう。
0806535
垢版 |
2019/04/24(水) 19:17:49.68ID:DcbjCIK3
なかなかの快勝だった
こういう風に毎回打てるといいんだけど

(;SZ[19]
;B[jj];W[ij];B[ki];W[ii];B[ik];W[ih];B[jh];W[ji]
;B[kj];W[jg];B[kh];W[if];B[hj];W[ig];B[lk];W[jk]
;B[jl];W[hk];B[kk];W[km];B[hl];W[gk];B[gm];W[fn]
;B[kg];W[kf];B[lf];W[mg];B[lg];W[gi];B[le];W[lh]
;B[mh];W[mi];B[li];W[ie];B[id];W[md];B[lh];W[nd]
;B[lj])
0807535
垢版 |
2019/04/25(木) 23:58:43.25ID:DQ0GFyMT
192勝 212敗 勝率 47.5%
棋譜取り、序盤DB更新、DNN更新だけでは50%の壁は突破できないかもな。
0808535
垢版 |
2019/04/26(金) 20:16:53.04ID:F5QY8KS+
130勝 195敗 勝率40.0%
ん、勝率かなり落ちた。
何が起きた?
0809535
垢版 |
2019/04/27(土) 23:11:18.27ID:zszgzhMg
ん、序盤DB壊れたか?
0810535
垢版 |
2019/04/27(土) 23:25:35.40ID:zszgzhMg
序盤DB外したほうが勝率あがるかも?
0811310
垢版 |
2019/04/30(火) 03:48:07.73ID:RyvRJxq2
どもです。
ひたすら記譜作成中に、やっぱり暇なので、記譜管理周りをリニューアルしていたら、
結局記譜ファイルの形式を大きくいじってしまい、かなり全面的なリニューアルに。
そしたら、あちこちバグが出て、結局記譜作成より新作デバッグ優先に(汗

>>809-810
序盤DBは、記譜溜めていくと途中で弱くなるけど、いずれ直ってくるものだと思う。

正しい手順があるとして、1回間違えると、間違えた側が負ける記譜ができる。
負ける事で、その手は選ばれない事が記譜に登録される。

しかし、探索の精度が低い状態で記譜作ると、2回間違える記譜ができて、本来
負けのルートで勝ってしまう。これが記譜に登録されると、この2回目の間違いが
訂正されるまでは勝率が下がる。

どのくらいで直るのかは、直接なのか評価関数経由の間接なのかなど、フィード
バックのかかり方で変わってくる。直接的なら割とすぐに直るはず。

自分のは間接なのでかなり時間がかかりそうで面倒なので、Zebraで2つ目の間違い
箇所を特定して、そこまで着手した後探索をする棋譜を作って、かなり強制的に直し
ちゃった。

序盤は大体良いのだけど、確定値で学習している箇所と、序盤DBで学習している
箇所の境目で、確定値が足りないまま過学習になっている評価値ステージがあって
そこらあたりで大抵間違える(汗
0812535
垢版 |
2019/05/02(木) 21:41:13.81ID:uWEPsgK5
天頂の囲碁を使って9路を徹底的に調べたら面白いかも
ま、やらないけどね
0813535
垢版 |
2019/05/04(土) 19:08:14.82ID:wk+bg2Ip
GWは何もしませんでした(過去形)
0814310
垢版 |
2019/05/04(土) 22:14:44.08ID:fzBCFIZ6
新作の探索周りを、例のバグ付のやつにしたら、案の定バグ発生。
色々と入れ替えながらバグ発生箇所を特定に成功しました。
が、なぜそこでバグっているのかわかりませんorz
まともに動いたから良しとするしかない感じ。

あと2か所改良したいところがあります。
あと2日では無理だなぁ。
0815310
垢版 |
2019/05/04(土) 22:17:34.69ID:fzBCFIZ6
と思ったら、またいきなりバグ発生。
原因は複数ありそうですorz
0816310
垢版 |
2019/05/05(日) 20:55:26.72ID:GksqIPP4
原因判明。アホなミスでした。
やっぱり当初の置換表に変なデータが登録されているのが正解だった。

残した課題のうち1つもできた。
0817310
垢版 |
2019/05/05(日) 23:26:28.04ID:GksqIPP4
最後の課題は、学習の速度アップを目論みましたが、まったくダメでしたorz

さて、何をしよう。
0818535
垢版 |
2019/05/06(月) 19:55:01.10ID:uIBlT68N
長連対策そろそろしなければ…
0819535
垢版 |
2019/05/06(月) 20:33:01.71ID:uIBlT68N
序盤DBがおかしくなってたので、序盤DBの手の採用基準をもとに戻しました。
あと中盤終盤でDNNの値の比重を大きくしました。
0820535
垢版 |
2019/05/07(火) 22:40:16.02ID:hqvfZJCN
59勝 62敗 勝率48.8%
なんとか勝率50%弱まで戻せました。
0821535
垢版 |
2019/05/08(水) 21:43:00.75ID:c2FYdM3E
来たっ
262勝 248敗 勝率51.4%
誤差の範囲かもしれないけど嬉しいっ
0822535
垢版 |
2019/05/08(水) 21:52:12.23ID:c2FYdM3E
そろそろ白番も着手していくか、もうちょっと黒番を突き詰めるか。
悩ましいい。
0823535
垢版 |
2019/05/09(木) 20:06:42.08ID:w95MoSGU
ありゃ、わずかな棋譜を序盤DBに加えただけなのに勝率めっちゃさがった
149勝 202敗 勝率 42.5%

そんなに微妙なものではないと思ってたが??
0824535
垢版 |
2019/05/09(木) 20:28:40.86ID:w95MoSGU
棋譜さらっと見てみたけど序盤DBが壊れたって感じでもないなぁ
実は微妙なものだったのか、誤差の範囲なのか?
0825535
垢版 |
2019/05/09(木) 22:32:58.01ID:w95MoSGU
なんか誤差の可能性が微レ存
0826535
垢版 |
2019/05/10(金) 21:38:12.73ID:5KPSEUAN
163勝 202敗 勝率44.7%
±5%くらいは誤差ででるのかもしれないなぁ
0827535
垢版 |
2019/05/10(金) 21:42:26.07ID:5KPSEUAN
こんな時統計の知識があれば真の勝率は○○%〜××%の間とか論じられるんだろうなぁ
0828535
垢版 |
2019/05/11(土) 11:49:39.90ID:fuy9y7gB
うお、すげぇ

179勝 149敗 勝率54.6%

この数字をどう解釈すればいいのか…
0829535
垢版 |
2019/05/11(土) 17:43:16.57ID:fuy9y7gB
まだ勝ってる。
222勝 194敗 勝率53.4%

そろそろ棋譜反映させるか。
0830535
垢版 |
2019/05/11(土) 22:40:54.90ID:fuy9y7gB
長連対策、完全じゃないけど簡単な判定入れてみた。
さてどうかな?
0831535
垢版 |
2019/05/12(日) 10:03:08.61ID:7HaK6dtp
かなりいい
対LV2 白番はもうちょっと勝ちたいかな

対LV1
黒番 61勝 9敗 勝率87.1%
白番 49勝 4敗 勝率92.5%

対LV2
黒番 57勝 0敗 勝率100.0%
白番 10勝 28敗 勝率26.3%

対LV3
黒番 25勝 16敗 勝率61.0%
白番 13勝 28敗 勝率31.7%
0832535
垢版 |
2019/05/12(日) 18:17:47.41ID:7HaK6dtp
ふむ。かなりいい。
一回止めるか。

対LV1
黒番 90勝 10敗 勝率90.0%
白番 64勝 6 敗 勝率91.4%

対LV2
黒番 78勝 0敗 勝率100.0%
白番 14勝 33敗 勝率29.8%

対LV3
黒番 39勝 23敗 勝率62.9%
白番 19勝 40敗 勝率32.2%
0833535
垢版 |
2019/05/12(日) 18:46:46.62ID:7HaK6dtp
ここらでドカンとブレークスルーが欲しいところだ。
0834535
垢版 |
2019/05/13(月) 20:57:06.68ID:rQSLa/J8
お、すごい
249勝 204敗 勝率55.0%
0835535
垢版 |
2019/05/13(月) 21:55:46.89ID:rQSLa/J8
LV3 vs LV3の黒番の勝率が65%くらいだったはずだから、黒番で勝率70%位いけばLV3越えといえるかも
0836535
垢版 |
2019/05/13(月) 23:06:54.58ID:rQSLa/J8
地味な学習も必要だとは思うけどアイディア一発でドカンと強くなるのも諦めきれない。
0837535
垢版 |
2019/05/14(火) 21:30:20.81ID:kAvibZwR
ん、なんかDNN学習させたらうち筋はそんなに悪くなってないと思うんだけど勝てなくなったな。
なんだろう?
0838535
垢版 |
2019/05/15(水) 21:00:42.40ID:ce+jhpkV
173勝 176敗 勝率 49.6%
対戦してみたけど思ったほど負けてないな?
0839535
垢版 |
2019/05/15(水) 21:22:39.79ID:ce+jhpkV
初期アルファ碁のようにポリシーネットとバリューネットに分けてみるか?
0840535
垢版 |
2019/05/15(水) 21:35:41.77ID:ce+jhpkV
そこそこの精度でも軽い評価関数は結構ほしいかも。
モンテカルロで役に立つし。
0841535
垢版 |
2019/05/15(水) 22:07:54.43ID:ce+jhpkV
というわけで、今使ってるDNNより大幅に簡素化したネットワークで学習させてみる。
データは同じ。
0842535
垢版 |
2019/05/15(水) 22:45:22.49ID:ce+jhpkV
あれ、大幅に簡素化したのに学習時間が思ったより短くならないな。
10倍速くらい早くなると思ってたのに3倍速くらいだ。
0843535
垢版 |
2019/05/15(水) 23:06:58.43ID:ce+jhpkV
更に簡素化して10倍速くらいにしました。
ちょっと簡素化しすぎかも?
0844310
垢版 |
2019/05/15(水) 23:27:46.15ID:2Iqikd3t
新バージョンで色々プログラム見直し。
探索部は全く改善していませんが、その他の部分が大幅にスピードアップ。
自動記譜作成時のオーバーヘッド(探索以外の時間)がかなり減った。

あとは学習の時間を減らしたい。
0845535
垢版 |
2019/05/16(木) 19:50:22.50ID:bKmJMMur
大きい方のネットワークの損失が3500位なのに対して小さい方のネットワークの損失が5300位。
さて、使い物になるかな?
0846535
垢版 |
2019/05/16(木) 20:26:43.20ID:bKmJMMur
うおお,遅え!
モンテカルロに使おうと思ったらプレイアウト回数かなり減らさなきゃだめだな。
0847535
垢版 |
2019/05/16(木) 20:40:14.63ID:bKmJMMur
一回打ってみたけど打ち筋は決して悪くない。
だが激遅。
だかが300プレイアウトでここまで遅いとは…
0848535
垢版 |
2019/05/16(木) 20:49:50.51ID:bKmJMMur
ん、でも打ち筋がいい。
ブレークスルー来たか??
0849535
垢版 |
2019/05/16(木) 21:05:06.63ID:bKmJMMur
すごいな、こちらの打ち筋は相当改善されたのにLV3がその上を行ってくる。
奥が深い。
0850535
垢版 |
2019/05/16(木) 22:04:27.02ID:bKmJMMur
ん、まだ学習飽和してないみたい。
ジリジリ損失減ってる。
0851535
垢版 |
2019/05/16(木) 22:42:50.95ID:bKmJMMur
LV1と対戦させ始めてみたけど、かえって勝率落ちてるな?
まだ対戦回数少なすぎて結論出すのは早いけど、もっと50連勝くらいするかと思った。

対LV1
黒番 17勝 3敗 勝率85.0%
白番 13勝 3敗 勝率81.3%
0852535
垢版 |
2019/05/17(金) 21:14:13.13ID:Af3ltV5Z
勝率上がってるみたいです。やった!

対LV1
黒番 156勝 15敗 勝率91.2%
白番 109勝 8敗 勝率93.2%
0853535
垢版 |
2019/05/17(金) 21:17:20.41ID:Af3ltV5Z
小さいネットワークの損失も5180くらいまで減ってます!
次は本丸、LV3と決戦や!
0854535
垢版 |
2019/05/17(金) 22:31:13.53ID:Af3ltV5Z
対LV3 黒番
47勝 34敗 勝率58.0%

ふーむ、まあ悪くないけど、正直もっと期待していたw
400〜500戦くらいはしないとまだ結論は早いけど。
0855535
垢版 |
2019/05/18(土) 01:00:18.55ID:NdCkwblz
ほほう、6割行った。
120勝 80敗 勝率60.0%
0856535
垢版 |
2019/05/18(土) 16:28:24.45ID:NdCkwblz
291勝 231敗 勝率55.7%
ふーむ、まあ悪くないけど。
最終的には対LV3黒番勝率 70% を目指したい。
0857535
垢版 |
2019/05/18(土) 21:21:56.33ID:NdCkwblz
そういえば、勝率ばかり気にして肝心の棋譜をあまり見てなかったな。
どんな負け方してるのかちゃんと把握せねば。
0858535
垢版 |
2019/05/18(土) 22:11:34.39ID:NdCkwblz
ふーむ、必敗を避けるルーチンに若干バグがあるな。
0859535
垢版 |
2019/05/19(日) 07:21:38.98ID:GRYTxzHT
GPU使いたいなぁ。
せっかくいいの買ったんだから。
0860535
垢版 |
2019/05/19(日) 07:52:25.50ID:GRYTxzHT
ライフゲーム囲碁も平行で開発しようかなぁ。
アルファゼロアルゴリズムが心のどこかで捨てきれない。
0861535
垢版 |
2019/05/19(日) 13:54:34.49ID:GRYTxzHT
ライフゲーム囲碁 コード書き始めました。
ルール実装が結構効率的な奴思い付いて、1000万プレイアウト/s位出ました。

並行でやるっつっても計算資源が問題だなぁ。

囲連星はアイディアないしちょっとお休みかなぁ。
0862535
垢版 |
2019/05/19(日) 17:10:04.89ID:GRYTxzHT
GUIがないと不便だなぁ。うーん。
0863535
垢版 |
2019/05/21(火) 00:59:34.87ID:rSRUkqQW
うお、ついに人間(俺)に勝った!
内容的にも文句ない勝ち方だ!

(;SZ[19]
;B[jj];W[ji];B[ii];W[ih];B[ki];W[jh];B[kk];W[kh]
;B[lj];W[ij];B[hi];W[hk];B[hh];W[lg];B[gl];W[mg]
;B[gg];W[ff];B[gk];W[gj];B[ll];W[mm];B[fj];W[fi]
;B[gi];W[hj];B[hl];W[jk];B[ik];W[hj];B[gj];W[gf]
;B[gm];W[gh];B[fn];W[fh];B[lh])
0864535
垢版 |
2019/05/21(火) 01:06:56.53ID:rSRUkqQW
ここまでくると囲連星はいったん公開してもいいかもな。
本当は白黒総合勝率でLV3に勝ってからが理想なんだけど。
あとDBのファイルサイズでかいんだよなぁ。
0866535
垢版 |
2019/05/23(木) 20:03:18.47ID:boQDU2Sa
反応がなくて寂しい。。。
まあもともと過疎スレだからしかたないか。
0867310
垢版 |
2019/05/25(土) 01:28:48.60ID:rX0QQhRb
すんまそん。
ダウンロードしたけど、記譜作成中なので、CPU食いたくなくて(汗
0868535
垢版 |
2019/05/25(土) 21:14:03.65ID:LKgjurKe
囲碁ディープラーニングプログラミングという本があったので買ってみた
0870535
垢版 |
2019/05/25(土) 22:44:29.26ID:LKgjurKe
C#からC++を呼び出すの結構難しい。
マネージドコードとアンマネージドコードがどうたらとか、、、
0871535
垢版 |
2019/05/27(月) 14:54:14.96ID:6xYMMPUB
AMD Ryzen 3900来た
0872535
垢版 |
2019/05/27(月) 17:52:37.02ID:8VbKHTBW
囲碁ディープラーニングプログラム読んでるけどすっごい目が滑る
でも12章のactor critics法というのが面白そうで頑張って読みたい
0873535
垢版 |
2019/06/01(土) 23:30:05.61ID:bijpxRGI
俺のマザーボードRyzen3000シリーズに対応しないらしいorz
ショック
0874535
垢版 |
2019/06/02(日) 18:07:27.02ID:rgij2qjY
はぁ〜だめだあぁ
目が滑る
頭に入ってこない
0875535
垢版 |
2019/06/02(日) 21:33:07.07ID:rgij2qjY
うお、betago(>>868の本のプログラム)動いた。
そして意外と強い。
0876535
垢版 |
2019/06/02(日) 21:38:17.03ID:rgij2qjY
ん、終局の仕方がわからん。
終局は実装されてないのかな?
0877名前は開発中のものです。
垢版 |
2019/06/02(日) 21:42:02.90ID:pCuEsXAG
いまからやってみるか
0878310
垢版 |
2019/06/04(火) 01:18:15.20ID:11K0AF4X
強化学習本興味あります。
棋譜作成がいまいち上手く行っていないので。
0879535
垢版 |
2019/06/04(火) 21:25:33.03ID:eotmjR11
くそう、時間が欲しい。
金さえあればニートになるのにww
0880535
垢版 |
2019/06/05(水) 21:45:28.39ID:tAUB+cOz
これから仕事が忙しくなりそうな予感。
まあさすがに土日は休めるだろうけど。
0881535
垢版 |
2019/06/08(土) 18:42:48.95ID:bTp76tLI
うおお、目が滑りまくりorz
一日無駄になったorz
0882535
垢版 |
2019/06/08(土) 21:38:02.44ID:bTp76tLI
目が滑るのは取り組み方が間違ってる証拠。
0883名前は開発中のものです。
垢版 |
2019/06/10(月) 12:52:10.55ID:/Ra7JNmg
囲碁は完全に人工知能に負け人間が追いつくことはないとおもうが。
これや将棋は微妙な線で、人間に勝ち目あるかもしれん。
囲碁より勝ち方、有利のさせ方が分かりやすい差。
人工知能なしの人間技で、人工知能に勝てる方法あるんじゃないかと。
0884名前は開発中のものです。
垢版 |
2019/06/10(月) 17:27:02.16ID:sKxIYoYq
大人も子供も白熱!最新ゲーム「ノッカノッカ」が面白い
https://ima.goo.ne.jp/column/article/5290.html
ビビットカラーを使ったポップなデザインの二人用ボードゲーム「ガブル」
http://boardgame-kikou.blog.jp/archives/9311305.html
LOGY GAMES ボードゲームカタログ
http://www.logygames.com/index.html#catalogue
オシャレで簡単、だけど深いボードゲーム
http://sweetint.com/ic/tinttile-game
コンポーネントに酔いしれて、戦略にゆったり溺れる「箱庭の国」
http://sake.saloon.jp/dojin_miniaturized-world/
『すずめ雀』初心者でも本格的な駆け引きを楽しめるミニマル麻雀ゲームが登場
https://www.inside-games.jp/article/2018/05/02/114450.html
エクストリーム将棋の企画から販売まで
https://nakagawa-hands.com/digital-fabrication/ex-shogi_a2z/
0885535
垢版 |
2019/06/11(火) 18:15:44.55ID:a3oKL+Tm
「来た!」「16コア来た!」「メイン16コア来た!」「これで勝つる!」
0886535
垢版 |
2019/06/11(火) 22:20:28.87ID:R+B8a+a7
囲碁ディープラーニングプログラミング相変わらず目が滑ってるんだけど、
しつこく食らいついてたらすこしずつ目が滑らなくなってきてる。
何とかものにしたい。
0887535
垢版 |
2019/06/12(水) 19:47:45.91ID:UjRskMNa
githubのリポジトリbetagoとは別に囲碁ディープラーニングプログラミング用のやつがあんのか!
気が付かなかったぜ!
これで勝つる!
0888535
垢版 |
2019/06/13(木) 21:23:37.11ID:ip5cHIAR
囲碁ディープラーニングプログラミングのgithubのコードいいかも。
マルチスレッドにも対応してるっぽいし。
これはかなり期待できる。
0889535
垢版 |
2019/06/13(木) 21:36:37.70ID:ip5cHIAR
GPUが使えてないみたいだな。
tensorflow-gpuうまく入ってないみたいだ。
0890535
垢版 |
2019/06/13(木) 21:38:46.69ID:ip5cHIAR
それにしてもZen2 スリッパが欲しい。
16C32Tじゃ足りない。
64C128Tが欲しいww
0891535
垢版 |
2019/06/14(金) 21:40:47.35ID:AD5EB04u
ん、27000回学習を回した時点から過去のAIに対する勝率が10%〜30%位しか行かなくなったみたい。
なぜ?
こんなことってあるのか?
0892535
垢版 |
2019/06/14(金) 22:09:53.32ID:AD5EB04u
ん、学習したネットワークと対戦する方法がわからんなぁ。
web_demo.pyあたりで行けそうな気もするが…
0893535
垢版 |
2019/06/15(土) 17:55:00.43ID:ANVzDRfZ
human_v_bot.pyというのでランダムAIと対戦できるようなので、これをちょっといじれば自作AIと対戦できそう。
0894535
垢版 |
2019/06/15(土) 19:41:51.27ID:ANVzDRfZ
ヤバイ、待ってる時間がじれったい。
やはり zen2 スレッドリッパー買うしか…
0895535
垢版 |
2019/06/15(土) 21:21:58.56ID:ANVzDRfZ
LifeGameGoのルールを早く移植したいけど、もうちょっとgithubコードの感触つかんでからかな。
0896535
垢版 |
2019/06/15(土) 22:03:51.50ID:ANVzDRfZ
ふーむ、まじで>>891の状態から抜け出せないな。
ネットワークが小さすぎるんだろうか?
0897535
垢版 |
2019/06/16(日) 19:35:53.70ID:OMA3ZwQu
あかんな、遅すぎる。
うーん。アルファゼロに幻想持ちすぎかも知れんな。
0898535
垢版 |
2019/06/16(日) 20:37:51.38ID:qjgvbRbv
囲碁よりもシンプルなLifeGameGoならもっと速く学習できるという可能背もありますが…
とりあえず、GPUを使えるように頑張るのが先かなぁ?
0899310
垢版 |
2019/06/17(月) 17:09:51.93ID:pTM6WQ3W
Surface Pro2の液晶が割れたorz
仕事で使うPCなので慌ててPro6の発注をかけました。
一応コア数2倍の4コア8スレッド、メモリーも16Gになる予定。
そろそろスピードの限界を感じていたので、痛しかゆしなところ。

ようやくIntelの呪縛から解放されるAVX2対応のCPUがAMDから出るというのに、
専用新型PCが遠のきました。



どのくらいスピードアップするかなぁ…。
0900535
垢版 |
2019/06/17(月) 19:55:14.11ID:KSoga8dR
仕事で使うpcが自腹なんかよ?
乙です
0901535
垢版 |
2019/06/21(金) 20:05:05.51ID:wxbtZaxz
なんかちょっとモチベが落ちてます。
せっかく週末なのになぁ。
0902535
垢版 |
2019/06/22(土) 20:40:40.51ID:s675JLMo
あああああ、だめだ完全に気持ちがしぼんでしまった。
0903535
垢版 |
2019/06/23(日) 23:02:35.16ID:wqGRreNQ
つかやっぱpythonはちょっと厳しいんだよなぁ…
0904310
垢版 |
2019/06/25(火) 22:00:54.87ID:i36dK7DH
あ、会社のPCです。流石に性能2倍なので、買うモチベーションが下がったのです。

現在液晶の表面パネルバキバキで、タブレット機能止めて、
セロテープで補強してだましだまし使ってますが、発熱によって
内部が歪んじゃっているみたいで、通常状態でも液晶が湾曲してます。


で、将棋の探索の深さが意味不明だったので、色々考えていましたが、
なんとなく想像がついてきました。多腕バンディット使って、反復深化と
絞り込みを行っているのではないかと思います。

現状中盤探索の速度がいまいち遅く、シングルプローブカットすると
何故かさらに遅くなるという状態。棋譜作成メインだったので、あまり
気にしていなかったのですが、新しいPC来たらちょっとトライしてみよう
かなと思っています。
0905310
垢版 |
2019/06/28(金) 22:23:55.68ID:jdIE39If
新PCセットアップ中。

前回思いついた中盤探索ロジック。具体的に実装を考え始めたら、
MCTSでいいじゃんということに(汗

これからVisual Studioのダウンロードです。
0906名前は開発中のものです。
垢版 |
2019/06/29(土) 09:41:43.34ID:aAhzQFUl
セットアップ完了して、開発環境の移行も終わりました。
VS2017→VS2019でエラーチェックが厳格化したものがあったようで、ソース修正。
Win8→Win10でコマンドプロンプトがなんか変わって、CTRL-Sの動作がよくわからない。
などなど、細かい点はいくつかありますが、速度的には思いのほか効果が出ていて、
ほぼ倍速くらいな感じです。並列のオーバーヘッド増加分を、クロック他CPU単体の
パフォーマンスアップで吸収していると思われます。
0907310
垢版 |
2019/06/29(土) 09:42:10.63ID:aAhzQFUl
↑は僕です。
0908535
垢版 |
2019/06/29(土) 17:06:05.94ID:6alt1Zxx
倍速はなかなかいいですね。おめでとうございます。
俺も頑張らねば。。。
0909535
垢版 |
2019/06/30(日) 17:26:00.32ID:5SElYd7b
逃げちゃだめだ、逃げちゃだめだ、逃げちゃだめだ(pythonから)
0910535
垢版 |
2019/07/04(木) 18:51:35.21ID:JLZZWsF4
VMWareだとどうにもtensorflow-gpuが使えないのでネイティブubuntuを入れるか迷い中
SSD丸ごと1個あけて別ドライブにインストールすればwin10とも干渉しないはず…
0911535
垢版 |
2019/07/05(金) 20:11:11.37ID:gv5AG18i
一応ubuntu入ったっぽい。
でも環境構築する根性が湧いてこない。
あしたにするか。。。
0912535
垢版 |
2019/07/06(土) 17:14:44.78ID:YqSGwJgi
あかん、ubuntuすっごい固まるorz
今日だけで4回フリーズしたorz
0913535
垢版 |
2019/07/07(日) 19:22:27.22ID:8kGyRN1E
ここまで固まられるとネイティブubuntuは正直、撤退かなぁ
うーん。惜しいなぁ。
0914535
垢版 |
2019/07/07(日) 22:36:19.30ID:8kGyRN1E
VMWareのubuntuは固まらないんだよなぁ
バージョンが違うからかなぁ
0915535
垢版 |
2019/07/08(月) 23:58:39.11ID:J+Oysvfm
50万局学習させても知性とは程遠い打ち筋orz
絶望した!
0916535
垢版 |
2019/07/12(金) 20:02:35.26ID:5KSDfXOV
さんれんきう
0917535
垢版 |
2019/07/14(日) 01:02:14.40ID:BHfYEZqG
AQZという囲碁AIが50万局の学習でプロに勝ったそうな。
なんで俺が試したプログラムとそんなに違うんだ?
0918535
垢版 |
2019/07/15(月) 07:10:16.79ID:U2als8ec
徹夜してしまった
反省(反省するとは言っていない)
0919535
垢版 |
2019/07/21(日) 20:03:14.96ID:E/xzPLNe
二進も三進もいかないorz
しばらく休憩するか…
0921535
垢版 |
2019/07/28(日) 15:53:29.60ID:afiNgtjO
すっかりさぼってしまっています。
0922310
垢版 |
2019/07/31(水) 22:58:56.92ID:RoaGFb2p
地味に改良&棋譜作成継続中。

評価値で黒番+2、白番−1くらいの差が生じているので、
評価関数にバイアス項を導入しました。

他、若干の高速化ネタ。

中盤探索でProbcutすると遅くなる問題を回避。本格修正するか悩み中。
というか、そもそもZebraより圧倒的に遅い原因がわからん。
0923535
垢版 |
2019/08/04(日) 00:47:49.68ID:kSURYkNt
ようやっと>>920のプログラムにライフゲーム囲碁のルールを実装しました。
python 超つらい…
0924535
垢版 |
2019/08/04(日) 01:56:43.25ID:kSURYkNt
CPU使用率10%か。。。切ない。。。
0925535
垢版 |
2019/08/04(日) 20:02:48.59ID:kSURYkNt
計算がある程度進むと必ずOSごとフリーズするorz
きょうびOSごと落ちるってどういうことだよ?
0926535
垢版 |
2019/08/04(日) 20:18:18.16ID:kSURYkNt
これはもうアルファゼロには手を出すなという神のお告げかもorz orz orz
0927535
垢版 |
2019/08/07(水) 20:34:05.86ID:cRW9S7xJ
そもそも、気温が高すぎて留守にしてる最中計算回しっぱなしにするの怖いってのもあるんだよなぁ
0928310
垢版 |
2019/08/10(土) 21:39:26.19ID:iTdjAaDm
中盤探索を改良。

一つは、普通に無駄な処理を見つけて修正。

もう一つは、評価値の計算に差分計算を取り入れました。
今まで並列処理で差分ってどうやるんだろうと思っていましたが、
単にDepth=1のところ(次がLeaf)で、順次評価値計算するのを
差分すればよかったのね。

この2つで、中盤探索で2手ほど深く読めるようになりました。
0929535
垢版 |
2019/08/13(火) 19:47:02.79ID:wzsq2qR8
今、実家に帰省してるんですが>>865のAIを動かしてみようとしたけどdllが認識されませんね?
何が悪いんだろう?
0930310
垢版 |
2019/08/15(木) 23:44:11.68ID:NhTCTcJa
小人閑居して不善をなす…。

思い切って、不要そうに思える棋譜をバッサリ削除してみました。
削除しすぎたかも。

いろいろ細かく修正と、デバッグ用表示の改良。

とかやっていたら、丸1日近く動かしたところで、なぜか急激にパフォーマンス低下。
もともと空きが少なかったSDDが一杯になっている…。とはいえ30Gはあったはず。
再起動していたらもとに戻った。原因不明。

対症療法で不要プログラムアンインストールしていたら、使っているOfficeを間違えて
アンインストールしてしまった。

HDD一杯が原因なのか、評価値のファイルが壊れていた。
ギリギリ間に合ってバックアップから復旧できた…と思う。
0931310
垢版 |
2019/08/16(金) 14:28:22.00ID:MY5mY5kZ
SDD一杯の犯人判明。
セキュリティー対策ソフトの監視対象管理DBのファイルが合計で400G越え(汗
ところが、管理者権限ないと停止できず、ファイル掴んでいるため削除できない。
今日は管理者休暇中。

logファイルを頻繁に追記しすぎて、ファイルサイズ変化する都度DBファイルが
作られているのではないかと想像。棋譜バッサリ削除して、一気に遡り探索やり直し
していて、これまでと比較にならないペースと数で追記処理が起きているので、
その影響の可能性が。


Officeは再インストールしてもらったけど、何故かセキュリティ解除キーの入力ができない。
来週月曜日は出張なので、来週火曜日までだましだまし行きます。

古い方のPCがまだ生きているので、Excel作業はそちらでやる事にしました。
0932535
垢版 |
2019/08/23(金) 19:05:38.98ID:KljXhF7+
AQZ敗退か
残念
0934310
垢版 |
2019/09/05(木) 22:24:16.41ID:NIzTzKyA
棋譜の作り方全面改訂。
分岐のチェックで、以前は全ての分岐を棋譜化していたけど、今度のは軽い探索で
怪しい評価値(同一評価値〜−4程度まで)のものだけ棋譜化するようにして、
棋譜数を大幅節約。学習が楽になるという算段です。

棋譜づくりが順調になり暇ができると、細かく気になっていた、どーでもよいところを
改良し始めて、バグとりで棋譜づくりが滞るという悪循環orz


よくよく考えたら、PCのパワーアップしたので、またDCNNトライとかしてみようかな
とか思い始めた。tiny-dnnしか選択肢無いんだけど。
0935535
垢版 |
2019/09/11(水) 20:42:08.54ID:EGEM/7RV
googleがminigoというオープンソースやってるらしいですね。
最近さぼりっぱなしだったけど、ちょっと見てみるか。
0936535
垢版 |
2019/09/12(木) 19:49:22.62ID:qOi8eRBu
すげー難しそう
まだちゃんと見てないけど
0937310
垢版 |
2019/09/17(火) 23:33:38.68ID:KoOw8EHX
相変わらずしこしこ棋譜作って学習繰り返してます。
もう無いだろうと思いつつ、ちょこっとした事に気づいて修正を繰り返してます。

置換表のハッシュ関数を改良。
格納効率が結構良くなったので、衝突が減ったはず。

終盤探索の時にBOOK(確定)も参照して余計な探索を減らしました。
基本遡りで確定させているので、運が良い時に滅茶苦茶早くなりました。
無い時は今まで通り(汗

学習データが不足しているのではないかと、置換表内に残っているスコアが確定
した局面FIFOで貯めて、折々に学習に回してみました。1回探索で100〜500件
程度。これをFIFOで500万件。棋譜に残っていない局面で学習する事で、過学習
が防止できるかなと思っていますが…。

現在、27手確定局面で大体14000件の棋譜とその分岐で合計23万件ほどですが、
まだ棋譜が足りていない感じです。が、件数が増えすぎて手に負えません。
BOOKの確認ができるWindowsアプリ作ろうかと思い始めています。
0938535
垢版 |
2019/09/22(日) 19:52:21.38ID:ctBLCdpw
このまま失踪しそうな感じです。
やっぱアルファゼロは手を出してはいけないかったんや。
0939310
垢版 |
2019/09/22(日) 19:56:33.01ID:x3eDgHtk
DCNNになってから、一般人のPCでは手が出せなくなってるからね。

計算プロセス自体は、NNを極端に単純化したものが線形回帰だと思えば、
NNで生まれた計算ノウハウが流用できますよ。

というか、今の時代、ただのLRでDCNNとほぼ同じ強さ、とかの方がオシャレ
ではないかと思う、ひねくれものの僕。
0940310
垢版 |
2019/09/23(月) 19:34:01.85ID:taOqGsoO
所詮趣味なので、あまり無理せず、やる気になるときにやればよいかと思います。
0941535
垢版 |
2019/09/23(月) 20:58:22.95ID:T5ohU9uM
うーむ、やりたい気持ちはあるのですが、いかんせん難しすぎて…
githubにもっと易しそうなのでてくるまで待つか?うーん。
0942535
垢版 |
2019/09/25(水) 21:31:58.87ID:/O9j0jn/
気温が徐々に下がってますね。
そろそろ計算回しっぱなしにしてもいいかな。
つっても回せるプログラムがないけど。
0944535
垢版 |
2019/10/01(火) 22:13:53.83ID:r/X1idNR
3日くらい計算回したけど全く強くなる気配がないなorz
もしかしたら微妙に強くなってるのかもしれないけどあまりに成長速度が遅すぎる
やっぱアルファゼロは計算時間が半端ないのかも?
0945535
垢版 |
2019/10/01(火) 23:21:06.21ID:r/X1idNR
やっぱアルファゼロはいったん諦めて、囲連星でやったようにモンテカルロAIの棋譜取り&勝率DB作り&教師ありDNNでライフゲーム囲碁やるべきか?
うーむ
0946310
垢版 |
2019/10/02(水) 01:57:09.42ID:FIHYKLNY
DCNN強化学習はマシンパワーが恐ろしいほど必要だからね。
満足できる教師データがそろってから評価関数に使ってみる程度にしないと…。
自由度が高すぎるので、まともな評価関数に収束するまでに、相当な試行回数が
必要なんじゃないかと思う。

自分は棋譜作成をずーっとやっていますが、現在は棋譜作りの目的がBook充実
になりつつあります。なんというか、現在の形はいつの間にかQ学習+ε-Greedy
っぽくなってきています。

アルファ様のお陰で、目標を見失いましたので、手段のためなら目的を選ばない感じ
で、プログラム作る楽しみという方向になっています(^^;
0947535
垢版 |
2019/10/02(水) 22:58:01.64ID:BtKMO/4x
ライフゲーム囲碁、モンテカルロAIの棋譜取り始めました。
ヒューリスティックなしのモンテカルロで1手10000プレイアウトで1局に約1分かかります。
それを16並列で1分当たり約16局採取できる予定。
棋譜の質があまりよくないのが難点ですがとりあえず、これでやってみます。
0948535
垢版 |
2019/10/03(木) 21:37:56.85ID:tdDOcoA1
18257局分棋譜が取れたようです。大体13.2局/分くらい取れるっぽい。
全コア動かすとシングルよりやっぱ少し遅くなるみたいですね。
0949535
垢版 |
2019/10/06(日) 00:55:35.61ID:V0Jk6SKR
DB作成まで来ました。
ライフゲーム囲碁は囲連星と比べてもっと沢山の棋譜が必要になるかもしれません。
オープニングのバリエーション的に。
0950310
垢版 |
2019/10/11(金) 20:52:12.13ID:Tdz7win8
評価関数を変えたくなってきた。
偶数手番と奇数手番の癖が顕著になってきたので、スムージングをしたく
なったのだけど、キーを手番優先にしているので、1手進むと盤面がひっくり
返ってしまい、連続性が無くなってしまう。

キーを黒番優先にして、評価値も黒番サイド(白番の場合は−1を掛ける)に
統一するとスムージングしやすくなる。

ただし、評価関数からBookから、あちこち影響が出る。

そろそろソースの整理がしたくなってきていたので、バッサリやっちゃおうかな。
台風で暇だし。
0951310
垢版 |
2019/10/12(土) 09:18:22.01ID:acZ84t7K
一晩考えてやっぱ辞めました(^^;
単純じゃない。
0952535
垢版 |
2019/10/12(土) 19:26:22.43ID:pRNoi8N2
あ〜なんか情熱が湧いてこないな。
プログラム書くのがすごい億劫。
0953535
垢版 |
2019/10/13(日) 05:54:00.56ID:ZL98wLBj
とりあえず、囲連星のコード流用してDNN学習回せるところまで来ました。
あとはAIプレイヤーのコードを移植すればひと段落かな。
0954535
垢版 |
2019/10/13(日) 07:51:43.32ID:ZL98wLBj
モンテカルロAIとDNNAIで対戦できるところまで来ました。
DNNAIの動きはまあ第一弾にしては悪くない感じ。
0955535
垢版 |
2019/10/13(日) 08:07:20.35ID:ZL98wLBj
パッと見DNNAIには知性の芽生えのようなものを感じる。
勝率に結びつくかは微妙だけど。
0956535
垢版 |
2019/10/13(日) 08:47:17.90ID:ZL98wLBj
勝率に結びついてませんね…。
残念過ぎる…。

寝るか。。。
0957535
垢版 |
2019/10/13(日) 10:43:15.62ID:ZL98wLBj
うーん、ハッキリと弱くなってますね。
ライフゲーム囲碁って昔勝率DB使った時も勝率落ちたし何でだろう?
0958535
垢版 |
2019/10/13(日) 10:48:13.56ID:ZL98wLBj
モンテカルロAIにトリプルスコアで負けてますね〜
かなc
0959535
垢版 |
2019/10/14(月) 19:34:30.99ID:+gotlTkI
ここからどうしていけばいいのかわからんなぁ。
負けるDNNAIで棋譜取りして勝てるようになるのかといえばかなり期待薄。
でもやれることもないし一応やってみるか。
0960535
垢版 |
2019/10/15(火) 23:46:30.99ID:ttnyLWCi
DNNの評価値を得点差から勝率と得点差/81の平均にしたところ
トリプルスコアで負けてたのがダブルスコアになったようです。
まだ負けてるけど。

囲碁では得点差で評価値を付けるのはほぼタブーで勝率を評価値にするのがセオリーなのですが、試してみたかった。
0961535
垢版 |
2019/10/17(木) 22:06:11.66ID:AT1bNTwz
やっぱ、負けてるなぁ。
0962535
垢版 |
2019/10/22(火) 14:18:39.16ID:Mqr1tYDA
うーむ相手から攻撃されたときに反撃しない癖があるようだ。
反撃さえすれば楽に勝てるはずなんだが…。
0963535
垢版 |
2019/10/22(火) 16:38:49.29ID:Mqr1tYDA
DNNの入力にに盤面の情報だけじゃなくて、石がぶつかってるところの情報も与えてみるか。
かなり肝になる情報のはずだから。
0964535
垢版 |
2019/10/22(火) 17:02:51.95ID:Mqr1tYDA
うお、メモリがパンクしたorz
もー新スレッドリッパーにメモリ1TB載せたいorz
0965535
垢版 |
2019/10/22(火) 17:31:13.35ID:Mqr1tYDA
データベースがでかすぎるのかなぁ。
500万局面を4対称で2000万局面分くらいあるんだが、初期アルファ碁でも3000万局面くらいだったっていうし減らそういかなぁ。
うーん。
0966535
垢版 |
2019/10/23(水) 20:19:32.52ID:VmufmFSW
前も言ったかもしれないけどいたずらにネットワークを巨大化するよりコンパクトにしてエポック数を稼いだほうがいいかもしれないな。
0967535
垢版 |
2019/10/26(土) 19:36:09.88ID:4XMH/3Nj
学習するほどに弱くなる理由がさっぱりわからんorz
ちょっと休憩
0968535
垢版 |
2019/10/27(日) 18:41:08.53ID:OnknjOzZ
またgithubでアルファゼロ探ししようかなぁ(懲りてない)
0969535
垢版 |
2019/11/05(火) 18:52:29.53ID:F2Rnn9oI
新スレッドリッパー今日発表見たいですね
ワクワク
0970535
垢版 |
2019/11/05(火) 22:09:32.07ID:GKFgjg5l
あれ、今日じゃないのか…
0971535
垢版 |
2019/11/07(木) 23:17:24.41ID:OiCk9RdB
スレッドリッパー 32コア ベース3.7GHz ターボ4.5GHz 1999$
素晴らしい
金がないけど
0973535
垢版 |
2019/11/10(日) 20:01:17.40ID:KZcBl7Ju
せっかく良さそうなの見つけたのに、イマイチモチベーション上がんないな〜
なんでだろ。ホントよさそうなのに。
0974535
垢版 |
2019/11/17(日) 21:06:42.27ID:eK7f1inq
コツコツpythonやってます。
リストの使い方がわかってくると書く速度あがりそう。
0975535
垢版 |
2019/11/17(日) 21:48:33.74ID:eK7f1inq
>>972にライフゲーム碁のロジックを実装しました。
ランダムプレーヤーと対戦できるところまで確認しました。
意外と拡張しやすい作りになってるっぽい。
0976535
垢版 |
2019/11/17(日) 22:00:36.51ID:eK7f1inq
インターフェースの作りがうまいプログラムは心が躍りますね。
見習いたい。
0977535
垢版 |
2019/11/17(日) 22:24:52.29ID:eK7f1inq
うおおお、遅えええええええ
6x6オセロだと結構速いけど9x9ライフゲーム囲碁だとめちゃ遅いorz
なにか高速化策を考えねば…
0978535
垢版 |
2019/11/17(日) 22:33:57.28ID:eK7f1inq
並列化されてないっぽいな。うーむ
並列化狙うか…
0979535
垢版 |
2019/11/18(月) 20:52:01.98ID:mPMMCB5I
今日一日、強化学習回してたんですが途中でOS固まってたorz
でも一応、3回ベストポリシー更新されたみたい。
ランダムボットと対戦させてみます。
0980535
垢版 |
2019/11/18(月) 21:16:14.14ID:mPMMCB5I
ランダムボットと黒白25戦づつやってディープラーニングAIの39勝11敗
でだしとしてはまあまあかな。

純モンテカルロAIともやってみよう。
0981535
垢版 |
2019/11/18(月) 21:19:24.26ID:mPMMCB5I
あれ、純モンテカルロAIないのか?
うーん。
0982535
垢版 |
2019/11/19(火) 19:48:59.11ID:EOzKZ0AX
うーむOS固まるなぁ。
今日も固まった。
グラボの熱が悪いのだろうか?
0983535
垢版 |
2019/11/19(火) 20:34:57.86ID:EOzKZ0AX
パソコンの調子が悪いのならいっそAWSとか検討するという手も…
でも金が…
0985535
垢版 |
2019/11/20(水) 21:49:44.28ID:lMEK9Bn7
名前忘れた
0986535
垢版 |
2019/11/20(水) 22:46:44.07ID:lMEK9Bn7
固まったけど少し更新されてたようです
ランダムボットと対戦したら48勝2敗
結構ハッキリ強くなってるな。
0987535
垢版 |
2019/11/21(木) 19:44:58.21ID:xK6B/ksk
今日も当たり前のように固まってるorz
どうすりゃいいんだ?
0988535
垢版 |
2019/11/21(木) 21:11:44.62ID:xK6B/ksk
そろそろ次スレの季節ですね。
順番的に私の番か。
995くらいで立てたらいいですかね。
0989535
垢版 |
2019/11/22(金) 19:54:12.78ID:nusik7MY
今日も固まった
いまのところ100%
0990310
垢版 |
2019/11/22(金) 20:03:28.74ID:bJtjxKyJ
どもです。そろそろ次スレですね。

相変わらず、色々小改造しながら相変わらず棋譜作り続けています。

Book確認のデバッグ用プログラム作って、棋譜の間違い特定が飛躍的に早くなり、
その分、訂正用の棋譜が膨れて遡り探索がおろそかになっています。

評価関数の学習は進めていますが、どちらかというと評価関数が怪しくて間違えて
いそうなところで、わざと分岐させてBookで正解手順(に近い)の分岐を登録していく
事で、棋譜の精度を上げようとしています。BookをQ値と考えると、選択的なε-Greedy
でQ学習しているような感じになりつつあります。

もちろん、最終的には評価関数に反映しますが、今はBook構築が先みたいな。


VC++のバージョンアップ通知が来たので更新したら、あちこちワーニングや
エラーが出て来まして、ソースの整理をしながら、ワーニングにならないソース
に書き換え中です。急いでも仕方がないので、裏で棋譜作り動かしながら、
ちんたらやってます。

久々にMCTS部分を見たら、バグだらけだったので、直したところ、マシンパワーが
上がったことからか、残り30手程度ならすぐに終局まで枝が伸びて比較的正確に
最善手順が生成できそうかなと思っています。全てのプログラムの書き換えが
終わったところで、テストしてみたいと思っています。
0991535
垢版 |
2019/11/23(土) 14:12:48.21ID:0YM91Vba
昨日の晩からいままで連続で動いてます。
なかなかベストポリシーが更新されなくて焦れる
0992535
垢版 |
2019/11/23(土) 17:50:36.12ID:0YM91Vba
ランダムボットに白黒25戦づつやって50勝0敗来ました!
このゲームはほかのゲームと比べてランダムボットが比較的強いから素晴らしいですね。
0993535
垢版 |
2019/11/23(土) 18:12:06.28ID:0YM91Vba
うーん、人間に勝てるほどは強くないな
0995535
垢版 |
2019/11/23(土) 20:58:35.29ID:0YM91Vba
こっち埋めちゃいますね。
0996535
垢版 |
2019/11/23(土) 20:59:10.47ID:0YM91Vba
0997535
垢版 |
2019/11/23(土) 21:00:52.15ID:0YM91Vba
AWSでいいマシンを使うというのも憧れるが、
買うのとどっちが安いかは微妙かな。
0998535
垢版 |
2019/11/23(土) 21:02:40.43ID:0YM91Vba
スレッドリッパー11月30日発売。
コア数はいわずもがなベースクロックもかなり高い。
0999535
垢版 |
2019/11/23(土) 21:05:07.92ID:0YM91Vba
pythonの文法は結局何がいいのかよくわからんな。
ライブラリが充実してるってのはそうなんだろうけど。
1000535
垢版 |
2019/11/23(土) 21:05:51.11ID:0YM91Vba
1000 !
お疲れさまでした。
次スレでまたお会いしましょう。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 769日 3時間 30分 53秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況