X



【オセロ,将棋】ボードゲーム Part2【囲碁,War】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
2017/10/15(日) 17:34:58.03ID:RaMh0le2
比較的地味なボードゲーム専用のスレが欲しくて立ててみました。

前スレ
【オセロ,将棋】ボードゲーム【囲碁,War】
http://mevius.2ch.net/test/read.cgi/gamedev/1057763418/
0215535
垢版 |
2018/01/29(月) 20:05:24.91ID:WXPd8Jtc
human_play.pyでモンテカルロAIは動いたけど深層学習AIが動かないorz.
theanoとかいうライブラリが上手くインストールできてないっぽいorz
0216535
垢版 |
2018/01/29(月) 20:08:40.86ID:WXPd8Jtc
うう、心が折れそうorz
0217535
垢版 |
2018/01/29(月) 21:03:35.36ID:WXPd8Jtc
こんなエラーが出るんだが何がないって言われてるのかわからん。
誰かわかる人いる?

...
File "C:\Python27\lib\site-packages\theano-1.0.1+unknown-py2.7.egg\theano\gof\
lazylinker_c.py", line 127, in <module>
preargs=args)
File "C:\Python27\lib\site-packages\theano-1.0.1+unknown-py2.7.egg\theano\gof\
cmodule.py", line 2359, in compile_str
(status, compile_stderr.replace('\n', '. ')))
Exception: Compilation failed (return status=1): /usr/x86_64-w64-mingw32/bin/ld.
exe: error while loading shared libraries: ?: cannot open shared object file: No
such file or directory. collect2: error: ld returned 127 exit status.
0218535
垢版 |
2018/01/29(月) 23:39:21.86ID:WXPd8Jtc
ライブラリに互換性がないって言われてるような気がする。
Cygwinに入ってるライブラリは互換性ないってことか?
どこでライブラリ入手すりゃいいんだ??
0219310
垢版 |
2018/01/31(水) 00:01:03.41ID:EjEC4Ae7
すまん。わからんけど、collecdt2というフォルダ(ファイルかも)が無いと言ってる?

こちらは、どうしても画面が崩れてしまうので、最初から作り直し。
原因は、トップのFormでauto resizeをtrueにしていた事でした。

ゲームの進行を上手に管理する方法が無いか考えていると、つい寝てしまうorz
0220535
垢版 |
2018/01/31(水) 20:29:33.40ID:u/gx4uXy
すいません。
コマンドプロンプトで実行したら>>217のようなメッセージでライブラリ名わからなかったのですが
Cygwinで実行したらライブラリ名が出てきました。
それぞれ4行づつ同じ行が出るのですが1行に削って張ります。

library stdc++ is not found.
library mingw32 is not found.
library gcc_s is not found.
library gcc is not found.
library moldname is not found.
library mingwex is not found.
library msvcrt is not found.
library advapi32 is not found.
library shell32 is not found.
library user32 is not found.
library kernel32 is not found.
library mingw32 is not found.
library gcc_s is not found.
library gcc is not found.
library moldname is not found.
library mingwex is not found.
library msvcrt is not found.

これに続いて同じ名前のライブラリはあるけどコンパチブルでない的なメッセージが出ています。
0221535
垢版 |
2018/02/04(日) 02:31:39.86ID:8N3h1IXY
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
動いたっぽいです。
Theanoってライブラリのバージョンが0.7.0じゃないといけないみたいです。
ここまでめっさ時間かかったorz
遅れを取り戻さんとな。
0222535
垢版 |
2018/02/04(日) 18:58:20.09ID:8N3h1IXY
せっかく動いたけどpython読む根性がなかなか湧いてこない。
つか多分pythonじゃなくても読むのしんどいんだけど。
0223310
垢版 |
2018/02/04(日) 20:16:17.17ID:Wmf+lsae
他人のコードは読みづらいですよね。
1年前に書いた自分のコードもですがorz

Theano動作おめでとうございます。良かったです。

こちらは…GUI作るのに嫌気がさして、学習部をいじっていましたが、
そろそろ〜30手の評価関数もそれほど酷いものではなさそうな気がしてきて、
中盤探索9手読み(なんの工夫も無し)で記譜作れる事に思い至りまして。
つまり、MCTSより短時間で記譜作成できると…。
この学習で、もし中盤探索の読みがそこそこな精度になってしまったら、
そもそもMCTSにする意味ないじゃんという現実からいかに目を背け続けるか
という戦いが始まりました(涙
0224535
垢版 |
2018/02/05(月) 18:27:38.68ID:Q1ssK5oS
やはりこの業界で生きていくには
パイソンの習得は必須…
0225535
垢版 |
2018/02/05(月) 20:15:05.78ID:kkO201mJ
ということでパイソンの入門本買ってきました。
とりあえず囲連星のルールを実装してみます。
0226310
垢版 |
2018/02/05(月) 23:37:11.58ID:tGe3CIWd
相変わらず、GUIから逃げています。

アルファ碁でいうところのポリシーネットの学習を放棄して、代わりに評価値から
P(UCT探索に対する絞り込み項)を生成していましたが、これをQ(UCT探索の
予想スコア:これまでの探索の加重平均)から、1プレイアウト毎に再計算するよう
にしてみました。

多少探索速度は落ちますが、良い感じかなぁ。
0227535
垢版 |
2018/02/08(木) 20:36:12.73ID:BwB5Lh8w
パイソン入門本、一回通して読もうとしてますが、ページ数あって結構大変。
コード書きながら読んだほうがいいかなぁ。
0228310
垢版 |
2018/02/09(金) 23:42:10.85ID:XzN5+u9b
新言語習得はストレスですよね。
C#ですら混乱して、C++に帰りたくなってます(汗

というか、メモリー管理できないC#にいらついて、記譜作成回りをいじって
慰みにしています。中盤探索に置換表を足して、反復深化っぽくしてみま
したが、あんまり早くならなくてがっかり。


Python本はまだ買ってません。ウェブ上の入門を眺めたくらいです。

Pythonは構造やら変数の型の考えやら、落とし穴になりそうなところが
色々とありますね。計算式だけ見ていればわかったような気になりますが、
どういう順番で処理が進むのか、慣れないとわからん感じ。
0229535
垢版 |
2018/02/10(土) 21:27:45.30ID:DQEki32w
パイソン、変数の型の宣言がないから他人のコード超読みずらいorz
引数に何与えていいのかとかパッとわからないorz
0230535
垢版 |
2018/02/12(月) 00:17:40.24ID:eWCzbr3d
9路囲連星の最低限のルールをパイソンに移植しました。
これからテストします。
0231535
垢版 |
2018/02/12(月) 02:17:04.85ID:eWCzbr3d
おおむねバグ取れたっぽい
あとはこれを>>214に移植できれば…
0232535
垢版 |
2018/02/12(月) 20:42:28.11ID:eWCzbr3d
他人のコード読むの辛いおT△T
これはかなり時間かかる…
0233535
垢版 |
2018/02/12(月) 22:23:10.54ID:eWCzbr3d
うーん、なんかこのコード五目並べのルールにべったり依存してる感じなのかなぁもしかして。
複数のゲームに対応しているAlpha Zeroプロジェクトのコードを見たほうがゲームのルールが分離されてるのかもしれないなぁ
一応、別のプロジェクトに手を出すことも視野に入れるか…
0234535
垢版 |
2018/02/12(月) 23:45:59.40ID:eWCzbr3d
アルファゼロって数手前の履歴情報が必要らしいけどなんでこんなものがいるんだろう?
謎だ…
0235310
垢版 |
2018/02/13(火) 13:07:22.56ID:SwoVylIU
アルファ碁の論文に書いてあったかな。次の1手的には意味なさそうだけど、
有った方が強くなるので外せなかったみたいな事が書いてあったような。

今現在の思いつきですが、ツリーサーチの末端近くでは、手の流れに応じて
点数が変わる事で、そのツリーのルート側の評価(加重平均)に影響が出てくる
可能性はある。

囲碁の場合、同一盤面が出る可能性が非常に高いのだけど、そこに至る経路で
隙があると、相手にその隙を突かれて、分岐が生じる事で、その点数は無意味に
なる。けど、それは途中の分岐をしっかり読まないと判明しない。経路情報によって
評価値(評価関数直)を下げてしまえば、プレイアウトの振り分けが減って、別の
もっと良い手に集中させることができる。こういう事かなぁ。

ま、本当に今思いついたばかりですが。

GUIに気が進まないまま、ぼーっと学習を見ていると、何故か(効果は微妙だけど)
速度アップの方法を思いついてしまうもので…。地味に色々改良しています。
0236535
垢版 |
2018/02/13(火) 22:47:18.55ID:75Woy+K4
310さんほどのプログラマがGUIで躓くというのも謎ですね。
単に凝り性なだけですかね。
0237310
垢版 |
2018/02/14(水) 20:49:32.16ID:I/pUqAGs
単にGUIが嫌いなんですorz

凝りたい気持ちと、画面遷移の罠から、心がデッドロックを起こして、
しまいに面倒くさくなってしまうという。
0238535
垢版 |
2018/02/14(水) 21:17:25.33ID:XBQY5lLn
オセロで画面遷移なんてほぼいらんでしょうに。
まいいけど。
0239535
垢版 |
2018/02/14(水) 22:23:18.42ID:XBQY5lLn
五目並べのプロジェクトだとコウの扱いがよくわからないな
囲碁のプロジェクトもgithubで漁るか…
0240535
垢版 |
2018/02/17(土) 21:19:34.66ID:9/16YNby
藤井聡太さん朝日杯将棋オープン戦優勝ですか
すごいすな
0241310
垢版 |
2018/02/17(土) 21:53:57.13ID:vz2S+0Ke
ドタバタしながら音だけ聞いていたけど、なんか普通に互角から徐々に優勢を
築いて、相手の奇手にも動ぜずにさばいて、勝利って感じで、強さが際立って
いましたね。

これで勝っても漫画なら編集長にバカにされるレベルと言われていましたが、
本当に笑うしかないですね。
0242535
垢版 |
2018/02/19(月) 21:32:59.37ID:k/eP19bS
>>214のプロジェクトに囲連星ルールを移植してみまして、モンテカルロAIが動いたみたいです。
ただし超絶遅い。絶望しかないってくらい遅い。
10プレイアウトで10秒くらいかかります。
デフォルト1000プレイアウトになっていたのでそれぐらいないとまともな強さは出ないんでしょう。
となると1手1000秒か?
絶望しかない。
orzorzorzorzorz
0243535
垢版 |
2018/02/19(月) 21:45:50.40ID:k/eP19bS
小路盤五目並べとかConnect4とかtic tac toe くらい小さなゲームじゃなきゃまともに動かんぞこれ
0244535
垢版 |
2018/02/19(月) 21:53:01.97ID:k/eP19bS
      ,.‐''" ̄`丶、         ひどい…!ひどすぎるっ……!
    /        \          こんな話があるかっ…!
 /´           \
 /    |\_>、_ 、r‐、    \     命からがら… やっとの思いで…
  レ! ||_| |/_ ヽ\}      \    辿り着いたのに… やり遂げたのに……
  |八|-/>、∪_ u`i  ト、      \
    / / ,くィ夕u' |   |/ ``‐- 、_.、__\      実行速度っ…!
     |/ / /_ヽ┐u |  ,|  /  ,-,.=====ゝ
    ヾ' / r┘|.l__人 |  /\//      \ あの計算量がもぎ取ってしまった……!
      \ ) |   N /  //\./´ ̄`丶
      |u  |  /|(l(l「|  | |   |       せっかく手にした
       | u| / | ヾ-イ .||  l、            俺の未来…希望…
       _|   |/| |  \_|_|,. く. \
      ハ.___ハ     >、 \ \  \      Alpha Zero AI を……!
0245535
垢版 |
2018/02/19(月) 22:39:02.94ID:k/eP19bS
つか連想配列とか見るからに遅そうなクラス使いまくりなんだよなぁ
こうなったらC++に移植する方向で考えるか??
0246535
垢版 |
2018/02/19(月) 22:59:04.05ID:k/eP19bS
囲連星ルール部分をC++で書きなおしてパイソンと結合させるという手もあるんだろか??
とにかく今のままじゃ遅すぎる
囲連星ルール部分がどれくらいネックになってるかもよくわからないですが多分相当遅い
0247535
垢版 |
2018/02/19(月) 23:28:23.57ID:k/eP19bS
五目並べルールだとそこそこのスピード出ますね
当たり前か…

やっぱ囲連星ルール実装がネックか〜
は〜
死にたい
0248310
垢版 |
2018/02/19(月) 23:48:36.73ID:KY7Wcd5F
PythonからC++関数を呼べるみたいですね。
C++からPythonも呼べるみたいです。
前にPythonに手を出そうかと思った時にググったら出てきました。
前者の方が解説が多かったと思います。

自分はBitboardを使いまくりなので、Pythonに手を出しあぐねていました。
また、評価関数の学習部と、評価値計算をうまく分離できれば、前者を
Python、後者をC++で書けないかなぁと思っていますが、im2col関数の
うまい実装を考えるのが面倒で、放置になっています。
0249310
垢版 |
2018/02/19(月) 23:56:04.01ID:KY7Wcd5F
ここ数日強化学習の結果がよさげになってきたので、結果の良かった学習方法に
集中させたら、また変な学習になってしまったようで、迷走中です。

学習の具合が良いと、色々な探索も速度アップするんだけど、具合が悪いと全部
悪循環になってしまうという。

仕方無いので、中盤探索の反復深化を作り、その結果を置換表に溜めてオーダ
リングを行うようにしてみましたが、効果があったのかよくわからない罠。
こちらも、学習の具合が良くなったら、急激に効果が表れるのではないかと期待
しているんだけど。
0250535
垢版 |
2018/02/21(水) 01:00:17.47ID:65PdIEqg
SWIGっての調べてます。
なかなか手ごわい
0251535
垢版 |
2018/02/21(水) 22:17:30.79ID:65PdIEqg
まずは簡単なC++関数一個だけのパイソンモジュール作成に成功しました。
つぎは囲連星ルールパイソンモジュールの作成ですね〜
0252535
垢版 |
2018/02/21(水) 23:35:14.72ID:65PdIEqg
なんかdeepcopyとかいうのに対応しなきゃいかんようなのだが。
0253310
垢版 |
2018/02/22(木) 01:36:26.61ID:pKMuaeJh
評価関数がどんどん悪化していく罠。
頭に来たので、評価関数をステージ分割。

ステージ分割すると学習部分の全面書き直しとなる。
どうせニューラルネットは使わないと決めたので、線形回帰にスケールダウン。

またしてもゴチャゴチャしてきた部分を全面書き直しパターンへ。

もうGUIはすっかり忘れていますorz
0254535
垢版 |
2018/02/24(土) 00:20:19.52ID:23+l5SrV
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
動きました!
C++版囲連星ルールパイソンモジュール!!!
10倍くらい速くなりました!
でも1000プレイアウト1手約100秒
まだまだ遅い
でもこれ以上速くするアイディアもないし、とりあえず、これで進めるか。
0255535
垢版 |
2018/02/24(土) 00:49:09.02ID:23+l5SrV
なんかトレーニングが不正終了しますね。。。
zipから解凍したソースそのままで実行しても不正終了になるのでちょっと謎ですね。
0256535
垢版 |
2018/02/24(土) 17:22:36.17ID:23+l5SrV
なんかteanoてライブラリが悪いっぽいorz
上手くインストールできたと思ってたけど実はまだ駄目だったのかなぁorz
0257535
垢版 |
2018/02/24(土) 20:56:43.77ID:23+l5SrV
あかん、さっぱりわからんorzorzorz
0258535
垢版 |
2018/02/24(土) 23:35:51.51ID:23+l5SrV
teano.functionってのが悪いっぽい
0260535
垢版 |
2018/02/26(月) 23:09:59.32ID:iAzX3KQf
Linuxインストールしてみようかなぁ(ボソ
0262535
垢版 |
2018/02/28(水) 21:53:14.78ID:EHGfbJ7U
linux入れるならVMWareお勧め?
他に候補ある?
0263535
垢版 |
2018/02/28(水) 21:54:21.00ID:EHGfbJ7U
ちなみにHDDはパーティション切りなおすのメンドイ
0264310
垢版 |
2018/02/28(水) 22:12:43.27ID:4D1Jf52Q
評価関数変更ついでにまるっと作り直してます。
自己対戦など、汚いコードを綺麗に書き直し。
かけた工数的には自己対戦の方が大変だったかも。

評価関数を1手毎のステージ分割で60ステージにして、学習し直しです。
これで序盤を学習させると終盤が狂う問題は解消されると信じていますが、
学習に60倍の時間がかかる事が予想されるという状態で、記譜を幾ら作って
も追い付かない感じなので、強化学習主体にするつもりです。

というか、まだ、UCTの所は作りこんでいない。
まあ、ほとんどコピペですが。

で、ここまで来たところで、もういっちょ改造したくなってきた…。
0265535
垢版 |
2018/02/28(水) 23:51:16.48ID:EHGfbJ7U
MVWareでubuntu入れました。
0266535
垢版 |
2018/03/01(木) 00:04:15.57ID:Jxqcd31Q
ubuntuだと>>214のプログラム問題なく動くみたいですね
素晴らしい。
0267535
垢版 |
2018/03/01(木) 21:09:31.45ID:Jxqcd31Q
囲連星ルールをubuntuに移植してみましたがエラーが出ますね。
合法手が無い、みたいな感じに見えますが…
0268535
垢版 |
2018/03/01(木) 21:31:25.39ID:Jxqcd31Q
くそ〜結局コツコツソース読み解くしかないかorz
いい線行ってると思うんだけどなぁ
0269535
垢版 |
2018/03/01(木) 21:44:17.24ID:Jxqcd31Q
うおお、しんどい、これはしんどいorzorzorz
0270535
垢版 |
2018/03/01(木) 23:35:08.53ID:Jxqcd31Q
ん、human_play.pyは動きますね…
train.pyと何が違うんだろう?
0271535
垢版 |
2018/03/03(土) 00:08:46.84ID:nviHj1ts
C++のクラスをディクショナリのキーに突っ込んでさらに参照しようとしたときにキーの比較に失敗してるっぽく見える
0272535
垢版 |
2018/03/03(土) 01:00:19.05ID:nviHj1ts
__hash__と__eq__を定義するといいみたいです。
__eq__はC++のoperator==で良いみたいです。
0273535
垢版 |
2018/03/03(土) 01:33:37.87ID:nviHj1ts
まだエラー出ますね。
行ったと思ったのにorz
0274535
垢版 |
2018/03/03(土) 19:12:35.59ID:nviHj1ts
お、処理が進み始めました。
Board.init_boardでC++のオブジェクトを初期化してなかったのがエラーの原因だったみたいです。
0275535
垢版 |
2018/03/03(土) 19:51:05.26ID:nviHj1ts
やっぱ小路盤五目並べと比べて時間かかりますね。
焦れるw
とりあえず、これでウェイトファイルが出力されれば第一段階クリアですが…
0276535
垢版 |
2018/03/03(土) 20:18:47.79ID:nviHj1ts
あ〜これシングルスレッドなんですね。
まあ確かにコード読んでてもマルチスレッドには見えなかったけど。
0277535
垢版 |
2018/03/06(火) 20:34:35.86ID:4NZM8BU2
ベストポリシーとか言うファイルは出力されましたが…
いかんせん遅すぎますねぇ
並列化してハードも強化してあと30倍は速くしないと…
0278535
垢版 |
2018/03/06(火) 22:28:34.91ID:4NZM8BU2
んんん、もしかして仮想環境だとディスクアクセスめっちゃ重くなる?
CPUがほとんど仕事してないんだが…
0279535
垢版 |
2018/03/06(火) 22:40:05.64ID:4NZM8BU2
こりゃネイティブLinux環境構築も考えるか…
0280535
垢版 |
2018/03/07(水) 20:16:56.97ID:Xay4EsKj
ディスクアクセスが100近くいって処理がほとんど進まなくなっちまったorz
いったん止めるべきかな〜
0281310
垢版 |
2018/03/08(木) 00:53:26.17ID:KJS05rsc
新評価関数版ようやく一通りできた。
強化学習にすごーく時間がかかりそう(汗

というわけでNew PC見繕ってます。
ノートPCでi7-8700Kの6コア12スレッドにメモリー32メガで
GTX1080搭載のノートPCがある。

むむむ。
0282535
垢版 |
2018/03/08(木) 18:17:36.63ID:GeAn+CtF
お高いんでしょう?
0283535
垢版 |
2018/03/08(木) 19:23:50.24ID:MQ3zVdYu
帰ってきてパソコン見てみたら学習が強制終了してました。
土曜からずっと動かしっぱなしでしたが、ここにきて強制終了は痛いですね。
解決しようにも再現させるだけで数日かかってしまうし目星を付けることすら難しそう。
0284535
垢版 |
2018/03/08(木) 20:05:12.94ID:MQ3zVdYu
途中で出力されたポリシーモデルで対戦してみましたが、
予想してたよりずっとまともな手を返してきますね。
ほぼランダムに着手すると思ってました。
これはちゃんと学習できる環境整えればかなり期待できるかも!
0285535
垢版 |
2018/03/08(木) 20:11:16.29ID:MQ3zVdYu
俺も良い目のノート一台買ってLinux入れようかなぁ
デスクトップ2台は手狭だからなぁ
0286535
垢版 |
2018/03/08(木) 21:30:30.05ID:MQ3zVdYu
とりあえず、Linuxならパイソン動くことはわかったから
他のもっと高速化に力入れたalpha zeroプロジェクトも試してみようかな
0287310
垢版 |
2018/03/08(木) 23:33:49.98ID:KJS05rsc
どもです。
お高いですが、デスクトップのフルスペックの1/3以下で済むようです。

回しっぱなしの奴がレアケースで異常終了すると萎えますね。
自分の奴は、たぶん怪しいところはほぼ蓋をしているので、今は安心しています。

とはいえ、評価値の保存に数秒かかるようになってしまったので、保存中にうっかり
終了してウェイトファイルを破壊しないように、いくつか策を講じました。最近はOSの
アップデートで勝手に再起動されちゃうので。
0288535
垢版 |
2018/03/09(金) 20:26:00.14ID:wTwCUiOb
デスクトップの1/3って性能がですか?
0289310
垢版 |
2018/03/10(土) 19:53:38.63ID:jEGGoWyJ
あ、価格と性能です(^^;

強化学習に凡ミス発見。
強化学習が良いのは、学習し続ければ何とか復旧できると思えるところorz
0290535
垢版 |
2018/03/10(土) 20:42:21.57ID:MfccYD4W
価格コムで調べたら>>281って50万以上ですよね?
0292535
垢版 |
2018/03/11(日) 00:26:26.59ID:Rh0MFs+Y
>>291
ほほう?
ハイスペックノートの割には確かに安いですね。
0293535
垢版 |
2018/03/12(月) 23:17:36.89ID:t7pU5NWq
うわパイソン部分でルール間違ってたorz
やっぱ軽くでもテストはやっておかないとあかんなorz
0294310
垢版 |
2018/03/14(水) 21:17:53.41ID:Hsr0gVbu
うぬぬ。強化学習でどこかおかしい。
強化学習単純化しすぎちゃったかなぁ。

暫定的にひたすら記譜作成&記譜学習に戻しました。
遡り30手が鬼門。記譜学習で、ここをクリアする事を当面の目標にします。

とはいえ、残り29手完全読み切りの記譜がそれなりにあるのは、以前では
考えられない状況ではありますが。
0295310
垢版 |
2018/03/15(木) 22:46:56.01ID:CxmBs8oA
強化学習がおかしいというより、記譜のパターンが圧倒的に足りていなかった
のかもと思い始めました。それによって、着手して分岐しても±0となっている
みたいな。

とりあえず、記譜の増殖手段を模索中。
今は、ヌルウィンドウサーチを使用して、遡り探索を行っている関係で、間違った
着手(石損となる手)を捨ててますが、ある程度までその手も読み切って、記譜に
加えても良いのかなぁと思っています。

とりあえず、βカット(もっと良い手があった)時の評価関数は明らかに読み間違い
をしているので、そこ限定で記譜に加えていますが、ある程度以上の手数は全て
付け足しても良いのかなぁと。
0296310
垢版 |
2018/03/17(土) 02:14:23.31ID:Foa7nGV6
なんとなく想像しただけですが、何が悪かったのかわかり始めました。
今の学習は「良い手」しか学習していないという事です。

序盤はある程度ランダムな着手を入れて、結果がばらつくようにしていますが、
途中から読みを入れて、良い手だけで着手し、その結果を遡りで訂正しています。
遡りが有効なのは30手くらいまでで、序盤のランダムは20手程度までに抑えて
あります。とすると、遡れる範囲では、悪手を打ったらどういう事になるのかという
学習が抜けている。間違えた着手もちょっとだけ悪いだけでです。結果、最善手の
評価値はそこそこ正確なのですが、極端な悪手も、評価値としてはちょっとだけ
悪い数字でも問題が起きないという事になります。

これはこれで順序付けさえ合っていればそれで良いのですが、ちょっと学習が
進んで、微妙に係数が変わった時に、計算上0.1程度しか悪くない相当な悪手
をうっかり選択しやすくなってしまうという事で、これがオーダリングで悪さをして、
探索時間を長引かせてしまう可能性があります。

恐らく評価関数のステージ分割で、表現力がかなりアップした事から、こういう
学習漏れみたいな事が起きてくるのかなぁと。ほんと、評価関数はスカスカです。

というわけで、昨夜書いたように、ある程度深さを捨てて分岐をすべて記譜に残す
ようにしてみようかなぁと思っています。しばらく記譜作成しながら、この事を踏まえ
た強化学習をちょっと考えてみたいと思っています。
0297535
垢版 |
2018/03/18(日) 22:34:31.76ID:tUeDVO3T
結果が出るまで時間がかかり過ぎるなぁ。
もうちょっと様子見るけど。。。
やっぱマルチスレッド化された別のalpha zeroプロジェクト探そうかな…
0298535
垢版 |
2018/03/20(火) 21:45:14.39ID:/Ra5toxr
駄目だぁ、強くなる気配がないorz
別のalpha zero プロジェクト本気で探すか…
ここまで来てもったいない気もするけど…
0299535
垢版 |
2018/03/23(金) 21:13:02.23ID:Z4T42krD
なんかバグ直して再学習したら、ランダムに打ったほうがマシ、くらいに変な手(1の1とか)打つんだが?
もう嫌になっちゃう。
0300535
垢版 |
2018/03/23(金) 21:21:30.45ID:Z4T42krD
そういやLeela Zeroも学習過程では一線うってたな。。。
逆にいい傾向なのか???
0301310
垢版 |
2018/03/25(日) 02:23:39.84ID:Yig4cMbl
分岐をすべて記譜にリストアップするようにしてから、爆発的に記譜が増えてます。
2000程度だったのが、15000超えました。

が、まだまだスカスカみたいです。

ここまでするんなら、真面目に自己対戦して遡りせずに、ランダム着手に対して
分岐をリストアップさせても一緒というか、早い気がしてきています(汗
0302310
垢版 |
2018/03/31(土) 01:38:59.31ID:h3UgGfs1
ランダム着手も追加して記譜増殖中。ただいま32000超え。
もっとも、残り数手とかの記譜もあるけど(汗

ステージ分割しているので、記譜がなかなか生成されない25〜30手近辺で
非常に少ない教師データで何度も学習する事になり、そのあたりが極端な
過学習になってしまった。

解消方法をいくつか検討中です。
1)時間かかっても良いので、25〜30手の記譜ができるまで頑張る
2)前後の盤面を混ぜて、教師データを増やしてみる
3)ランダム強化学習してみる。

2)3)をやると、おそらく、平均化されて評価値がフラットになるが大小関係は
治ってくると思う。

というわけで、今夜は2)3)を試してみる予定。
0303310
垢版 |
2018/03/31(土) 01:43:35.07ID:h3UgGfs1
あと、時々スコア指定(ヌルウィンドウサーチ)の記譜作成処理で
エラー(スコア間違い)が出る時がある。

運が悪い事にハンドリングミスその他で、記譜を残せていないので、
現象の特定ができていない。

頻度としては数日に1回くらい。

たぶん、全滅と直前のパスがらみだと思うんだけど。
0304535
垢版 |
2018/03/31(土) 23:42:05.28ID:4ltMn3J2
Geforce GTX 1060を増設しました。
>>214をpytorchで学習してみます。
0305535
垢版 |
2018/03/31(土) 23:46:58.88ID:4ltMn3J2
んーうごかん。
GPUありとなしでポリシーファイルに互換性がないんですかね?
もしかして。
初めからやり直すか…
0306310
垢版 |
2018/04/01(日) 01:07:10.57ID:OBeH+1OH
おお。どんどん進んでますね。

こちらは、昨夜のバグの現象は特定しました。
スコアが62や−62で、mtd(f)の探索開始が64や−64の時に、
置換表に残った64や−64が悪さして、64や−64と誤答する模様。

とはいえ、どこを直すべきかはわかりません。探索開始が64や−64
の時に、62や−62にしてやる事で、姑息的に回避はできるので後回し。

あと、記譜作成に色々機能を加えていたら、どこかがおかしそうだという
不安な状態になってしまいまして。このまま記譜学習を進めて良いか自信
が無いので、今までのデータで安全な部分をテスト用に回して、新たに
記譜を作成開始。34手目までは全探索しながら普通に遡れる感じです。

33手目から先は探索時間がしんどいので、ひとしきり落ち着いてから、もう
一度、遡りチェックのプログラムをきちっと見直して、追加していこうかな
と思っています。この間に、強化学習混ぜて、過学習部分を解消して
いこうと思います。
0307535
垢版 |
2018/04/01(日) 12:43:33.62ID:lACu3cfl
お、ちゃんと時間測ってないからあれだけど、気持ち速くなってる気がする。
ちゃんと時間測りたいなぁ。
0308310
垢版 |
2018/04/01(日) 13:49:33.48ID:DAl+8Sdv
バグ問題は、結局姑息的手段では回避できず。
全滅がらみでほかのケースでも誤答するケースが発生しました。
元々FFO#59用にmin-Max探索に入れていた、全滅時の処理くらいしか
原因となりそうなものが思い当たらなかったので、とりあえずコメントアウト
して様子見です。全滅時の探索が速度低下しますが、仕方がありません。
0309310
垢版 |
2018/04/02(月) 20:15:06.48ID:9LYme7cN
結局バグ問題は…迷宮入り臭いです。

記譜作成で負荷テスト並みに探索を繰り返すと、全滅絡まなくても間違うケースが
出てきました。再現性が無いのが辛いところ。

その昔悩んでいた時も、やっぱり置換表がらみの問題で迷宮入りでしたが、
今回も、ケチって置換表を極力クリアせずに使用していた事から、何らかの
矛盾が起きているようです。それを言っちゃうと、置換表付mtd(f)でf値を変え
ながら探索することも、またその時に作成された置換表を流用して記譜作成
兼ねた読み切り処理を速度アップすることも、怪しいという事になるわけで。
間違えてしまった事が判明した時点で、その探索は捨てるくらいしか対策が
無いという事になります。

ネットで調べたら、将棋AI界隈でも置換表の問題点を書いている人がいまして。
少なくとも深さがあっていない置換表データは使うべきではない模様。

今の調子だと一晩動かすと結構な頻度で朝見たら止まっているとい状態なので
せめて発生率を下げるべく、mtd(f)に入る前に置換表をクリアする事にしました。
なぜしなかったかというと、記譜データからスコアが確定している盤面を置換表に
入れて、それを見ながら既に読み切りしている盤面は飛ばす処理をしていたから
です。置換表をクリアして盤面再構築に時間がかかるためです。別途盤面キャッシュ
を持って、そちらは追記、置換表は毎回クリアという形に変更しました。
0310535
垢版 |
2018/04/02(月) 22:24:32.85ID:3iK+AnRP
Leela ZeroがKGSでかなり強くなってる。
俺がパクったプログラムも学習し続けたらあれくらい強くなるんだろうか?
0311535
垢版 |
2018/04/04(水) 20:42:51.24ID:Y0WMbzNW
え、ちょっとまってよ。
GPUありなしでポリシーファイルが違うってことは
成果物を配布しようとしたらGPU持ってる人しか遊べないってこと?
0312535
垢版 |
2018/04/04(水) 20:54:25.72ID:Y0WMbzNW
しかもCUDAとかも一緒にインストールしてもらわないといけない?
ええぇ?
0313310
垢版 |
2018/04/06(金) 22:00:28.44ID:952uhqxW
誤答問題は、置換表クリアで解消しました。
違う局面の探索で使用した置換表データは使いまわしてはいけないという事で。
なんか、結果的に、2年くらい前にも同じ事で騒いでいたような。

色々整ってきたので、あとはひたすら記譜作成しながら学習を回すだけになって
しまって、暇になってます。別PC買ってそっちで学習させながら、別の事をはじめ
ようかなぁと思い始めています。
0314535
垢版 |
2018/04/07(土) 20:43:17.69ID:SqbCC315
うーん、つよくならないorz
学習は継続しつつ別のalpha zero プロジェクトも物色するか…
■ このスレッドは過去ログ倉庫に格納されています

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