17/11/24 23:04:07.44 QoCCcG2C.net
結局、仮に大金つっこんでスレッドリッパーとか買ったとしても到底無理ってことじゃん。
まあ、まったくの無駄になるとは思わないけど。
96:535
17/11/24 23:04:57.72 QoCCcG2C.net
なんかIDにCがいっぱいあるな。
97:310
17/11/25 00:38:47.57 Dx7Nr2Ji.net
もういっちょ間違い発見orz
ソース喪失後焦って数日でパーッと書いて、そのまま学習させて、そこそこ
収束していたから放置していたのを思い出してきた。今度は全部チェックした。
しかし、いい加減な評価関数でも、結構収束していたってのが凄いな。
そこはかとなく表現力不足を感じていたのはその辺が原因かなぁ。
記譜と置換表データで1から学習させるのに、一気に500回学習させたら、
思いっきり過学習になってしまった。現在、強化学習で解きほぐし中。
回帰の方はほぼほぐれたけど、MLPの方はまだ時間がかかりそう。
98:310
17/11/25 00:54:30.38 Dx7Nr2Ji.net
>>95
某スレをウォッチしていたら、前から気になっていた事を指摘していた人がいた。
スレッドリッパーはAVX2命令の中に遅いものがあって、一つ下のインテルの奴の
方が、この手の計算は速いらしい。
あと、GPUをどう使うかだね。
けど学習だけならTensor Flowにやらせちゃえばよいのだろうけど、学習データを
使うところまで行ったら、GPU使った非同期並列処理とか考えなきゃならないし。
CUDAだっけ?GPU専用にコード書かないといけないし。
なんか道筋というか、そこまでやってる自分の姿がイメージしきれない(汗
その前に詰将棋を解くプログラム開発してそう(笑)
99:535
17/11/25 01:01:08.99 ekS5f4AB.net
某スレってどこですか?
GPGPUはもうちょっとハードル下がってほしいですねぇ
CPUよりも何十倍も速くなるケースもあるらしいし興味ありますね
CUDAをごりごり書くのは難しそうですがライブラリとかに期待。
100:310
17/11/25 01:26:03.49 Dx7Nr2Ji.net
コンピュータ囲碁か何かのスレです
この1か月くらいのカキこのどこかにありました(汗
101:535
17/11/25 23:11:08.18 ekS5f4AB.net
ちょっと目先を変えて9路囲連星やってみようかな。
9路なら序盤DBだけで押し切れそうな気がするw。
102:535
17/11/25 23:33:24.64 ekS5f4AB.net
310さんみたいに既存コード全捨てでやってみようかなぁ?
もう一度まっさらな気持ちになって…
103:535
17/11/25 23:53:52.98 ekS5f4AB.net
まっさらな状態から書いてみようとしたけど、
めんどくさくなってすぐ昔のコード確認しちゃうw
駄目すぎるw
104:310
17/11/26 13:10:07.09 kav93n5u.net
ソース喪失以外の時は、結構コピペしていますよw
書き直しの時は、たいていあちこちで使用しているクラスの構造変え
たりする類の後戻りが難しい変更加える時なので、中の関数は一緒です(汗
新しい評価関数は、だいぶ落ち着いてきましたが、遡り28手くらい
でタイムアウトになります。並べ替えに使っているので精度が上がる
と速度が速くなるのです。前は29手、調子が良い時は30手くらい
まで行っていたので、まだ精度が追い付いていないみたいです。
これでしばらく強化学習の具合見ながら待つだけになっちゃいました。
5×5の囲碁くらいならCNNで評価関数作れないかなぁとか、詰将棋を
作るならBitboardを2バイトに拡張しなきゃとか、悪い虫が疼き始めて
います。
105:535
17/11/26 21:08:25.02 wxjv7tgm.net
後のコード書きやすいように柔軟性のある設計にするかゴリゴリの最適化を目指すか悩み中w
106:535
17/11/26 21:53:28.37 wxjv7tgm.net
ああ、最適化の誘惑に駆られるw
107:310
17/11/26 22:28:47.97 kav93n5u.net
僕が読んだ本では、
最適化するな。アルゴリズムを考えろ。
アルゴリズムなら桁単位で速度アップし、過去に行った最適化は無駄になる。
と言うよな事がトップに書いてあって、それ以来(自分の)読みやすさ優先にしている。
BITBOARDのAVX2命令とか、その辺でいくつかの関数のみ、ゴリゴリにしている。
とはいえ、その辺も一応アルゴリズムの範疇かなぁ。
演算子のオーバーロードとか関数で隠ぺいしているしね。
問題は、最初にクラスの構造とかあんまり考えてないので、あとでごちゃごちゃに
なってしまう事。それで何度か書き直ししている。
108:535
17/11/26 22:35:57.72 wxjv7tgm.net
まあ、そのセオリーは私もどこかで聞いたことありますがw
アルゴリズムでの改善が行き詰まると結局泥臭い最適化に手を出すことにww
すでに一回実装したことのあるプログラムだしある程度勘所というか見通しは立つかなーと
109:535
17/11/27 23:15:23.55 jINzvSI7.net
勢いでコード書きなおしてるけどテストするのが
110:面倒くさいw 言ってもしょうがないけどw
111:310
17/12/01 20:29:48.04 ONM9KZwZ.net
またしても問題発覚。
タイムアウトなどでキャンセルしたとき、探索途中の中途半端な評価値の置換表
が作成されている模様。対象の特定はできないため、置換表データをいったん
削除して、全データに対して再度遡りチェックを実施する�
112:魔ナ、置換表データを 再作成する事にしました。 むむむ。 評価関数はそれなりの精度になっているので、それなりの速度ではチェックできる はずですが、またしても…って感じでがっかりです。 同一評価値で変化がある分、記譜は多少は膨れるはずなので、そちらに期待。
113:535
17/12/05 23:23:49.29 CujvIJMm.net
9路囲連星、一応ルールと簡単なモンテカルロAIはちゃんと動いたっぽいです。
ここからどう展開するか。
114:310
17/12/05 23:36:41.89 5HB6IIYO.net
とりあえず軽く遡りチェック完了。28~30まで遡ると時間かかるので当面25前後まで。
もっとも誤着手なしタイムアウト無しだと30手だろうと遡れちゃうから、28手あたりの
適度なところで止めちゃいましたが。
で、置換表データ激減。いままで間違ったものを相当学習に取り込んでいたっぽい。
あと、MCTSのツリーの末端(以後終盤探索しているので数値確定)の評価が時々
狂う問題がありまして、いつもではなかったので目をつぶってましたが、暇だった
ので着手。原因不明なれど、二重更新問題っぽかったので、ツリー部分のコード
を整理してみたところ、何故か治ってしまった模様。
本当に直っていたら自己対局の精度も少し良くなるはず。
つか、羽生永世7冠誕生ですね。
記譜みてみましたが、何が何だかわけわからんけどw
115:310
17/12/05 23:43:42.63 5HB6IIYO.net
Buroさん型特徴の評価関数もそろそろ限界っぽいのと、今のままだと強化学習にも
かなり時間がかかるので、新しいパソコンが欲しくなってきました。やはりCNNに行く
しかないかもという事で。
ものは試しにi9-7980でパソコン組んだら幾らになるのか、ネットで見積もってみた
のですが…そっと閉じてしまいました(汗
クロック数とか見ると、10コア20スレッドくらいの奴が、一番よさそうな気がするんだ
けど、どうなんだろう。
116:535
17/12/06 00:45:59.31 D/I5x6A8.net
メモリも山盛り積みたいですよね~
GPGPUも考えられるし。
117:535
17/12/06 21:27:03.05 D/I5x6A8.net
アルファ将棋爆誕w
118:310
17/12/06 21:37:40.75 fJiMVswg.net
今見たorz
夢想段階にあったものをことごとく圧倒的な力量でやられてしまふ。
そのうち、5分でオセロ作ったよとか言われるんだろうなぁ。
学習と評価の実行が完全に二分された今となっては、
学習に使用するハード性能は正義だと思い知らされる。
119:535
17/12/06 21:39:44.94 D/I5x6A8.net
グーグルのアルゴリズムはマジ万能なんですかね~?
必要マシンパワーがあれですが、ムーアの法則が解決するでしょう。
120:535
17/12/06 21:49:23.90 D/I5x6A8.net
そんなに万能ならライブラリとして公開してくれw
囲連星とライフゲーム碁を学習させたいww
121:535
17/12/06 22:03:23.36 D/I5x6A8.net
いっそ完全解析してくれたら諦めつくんですけどねw
122:535
17/12/06 22:49:40.35 D/I5x6A8.net
9路囲連星のDB作りはじめました。
何日かぶん回そう。
123:310
17/12/06 23:02:24.56 fJiMVswg.net
non-MonteCalroなツリー探索(勝手にそう呼んでる)は、MCTSがロールアウト
関数さえ作れれば万能なように、完全情報ゲームでは万能だと思う。
あと強化学習による評価関数の作成も。
ただ、まだAlpha碁Zeroの論文読んでないからわからないけど、CNNの入力
については、人間が介在しているかもしれない。少なくともアルファ碁の段階
では、ちょっと特殊な入力データを用意していた。
それと、完全情報ができない以上、強さの地平線を広げたに過ぎないのも確か。
それを実現するために圧倒的なマシンパワーを使っているわけで。そのマシン
パワーを前提に、それを完全に活かせるアルゴリズムにしたってところが、評価
ポイントなのかもしれない。
かなり悔し紛れな評価だけどorz
124:535
17/12/06 23:52:04.64 D/I5x6A8.net
ガンガンツリー展開して全部DBに突っ込んでたら意外と早くメモリがパンクした。
相変わらず学習しない俺w
しょうがないからDBに入れるのは序盤だけにするか。
125:310
17/12/07 00:22:37.97 EKyZH2pF.net
Googleがやらかしてから、後だしで俺も考えていたとか悔しいので、
前から思っている事をボソっと書いとく。
十分に深いDCNNの場合、表現の自由度が高いから、強化学習を繰り返す
事で過学習になる事が、起こりうる局面の大半を内部に保持する事につな
がっていて、実は汎化性能ガン無視で良いのではないか。起こりにくい局面の
評価値はグチャグチャでも構わないという事で。
と思っていたりする。
126:535
17/12/07 00:55:58.10 +QWWXInu.net
修正してみたけど、8プロセス並列で動かすと意外とまだメモリがきついな。
しょうがないから1プロセスだけで流すか。
127:535
17/12/07 01:11:55.19 +QWWXInu.net
うーん、なんか同じ局面しか選ばなくなっちゃう。
これは致命的な欠陥だなぁ。
どうしよう?
128:535
17/12/07 01:18:35.82 +QWWXInu.net
駄目だ分からん。
諦めて今日は寝よう。
129:535
17/12/07 20:11:24.86 +QWWXInu.net
あ~ツリーのノードに親ノードポインタ入れてなかったわw
変だと思ったw。
でも対称局面合流させちゃってるから親が一意にならないな。。。
どうしよう。。
130:535
17/12/07 20:23:43.87 +QWWXInu.net
親ポインタは諦めてほかの方法でごまかそうw
131:535
17/12/07 21:27:59.88 +QWWXInu.net
なんか、UCTって初期の探索で間違った結果出ると挽回するの凄い大変なのかね?
それこそ修正に指数的な試行が必要になっているような…
132:535
17/12/07 21:35:42.53 +QWWXInu.net
おっと、なんか挽回してきたw
それはそうとして、メモリが欲しいですねぇ。1TBくらい
133:535
17/12/07 22:05:33.83 +QWWXInu.net
うーん、局所解にずっぽり嵌ったっぽいorz
地力で脱出してくれないかな~
134:310
17/12/07 22:57:44.09 JixNNylG.net
>>129
大変です(汗
135:535
17/12/07 23:14:30.29 +QWWXInu.net
うおお、メモリ消費がじわじわ増えてきてる。
今晩一晩耐えられるかは微妙なラインだなぁ。
136:535
17/12/08 21:44:38.57 rkwPxGLh.net
あれえ、おかしいな。
かなり学習いい感じで進んだと思ったのに、公式AIに全く歯が立たない。
やっぱ読めてない局面に分岐されると無力なのかなぁ
137:535
17/12/08 21:55:53.54 rkwPxGLh.net
DBだけじゃ無理か。
期待が高かっただけにガックリ。
138:535
17/12/08 22:03:23.60 rkwPxGLh.net
ここでヒューリスティックに走るかDBの更なる肥大化に走るかCNNとかに手を出すか。
分岐点やな。
139:535
17/12/09 11:22:20.19 L/Fjd2gI.net
当たりの石をつがないなぁなぜか。
ロールアウトで当たりの石を抜く確率と当たりの石をつぐ確率増やすか。
140:535
17/12/09 19:05:03.36 L/Fjd2gI.net
キター!初勝利!
最終的にはアルファ碁みたいに100戦100勝したいな。
(
;FF[1]GM[1]SZ[9]
;B[de];W[dg];B[ef];W[cc];B[eg];W[fd]
;B[ec];W[eh];B[ed];W[ch];B[eb];W[fe]
;B[ee];W[ea];B[fa];W[hh];B[da];W[ac]
;B[ea])
141:535
17/12/09 20:29:04.06 L/Fjd2gI.net
酷いバグ発見w
8近傍求める関数間違ってたw
142:名前は開発中のものです。
17/12/09 21:36:39.83 L/Fjd2gI.net
ロールアウトの着手確率いじったら黒番の勝率5%だと…?
何が起こってるんだ…
143:535
17/12/09 22:53:03.29 L/Fjd2gI.net
着手不能点を着手候補にしてたw
だからか。
144:535
17/12/10 21:26:16.30 ecwKDJmF.net
局所解に落ち込むとなかなか抜け出せないのでUCB1のバイアス係数を思いっきり上げてみた。
これで局所解抜けてくれればいいが…
145:310
17/12/10 22:11:20.32 3vDAj4sl.net
MLP版の評価関数がNaN地獄
146:に落ちてた。 何回かやり直したけど、結構簡単にNaN地獄に落ちるので、一旦仕切り直しで、 線形回帰な評価関数に注力する事にしました。 MCTSでテストすると、途中まで割と見知ったオープニングになってきているけど、 評価値自体はあんまり安定していない感じ。まあ、相対関係があっていれば、 絶対値はずれていても関係ないといえば関係ないけど。 しばらく強化学習を続けながら、ちっと別な事を考えてみます。 というか、Alpha Zeroの強化学習の回数が、思ったより少ないなぁと思ったけど、 自分がこれまでにやった回数を概算で考えてみたら、桁が2~3くらい少なかったorz やっぱマシンパワーは正義だなぁ。
147:535
17/12/10 22:51:07.98 ecwKDJmF.net
今晩一晩ながして局所解抜け出せなかったら別の方法考えなきゃな…
zen+が超絶スペックという噂が流れてますが、デマリークともいわれていて、
本当だったらいいなあと思っている今日この頃。
148:535
17/12/11 21:43:28.43 fAOHhVpN.net
お、局所解抜けてる。
DBがTXTで1GB行っちゃったてへぺろ。
149:535
17/12/11 21:49:20.78 fAOHhVpN.net
お、凄い、いい感じの勝ち方した。
これの凄さが分かってくれる人がどれだけいるかわからないが…
(
;FF[1]GM[1]SZ[9]
;B[ee];W[eg];B[df];W[fd];B[dc];W[dg]
;B[fe];W[ge];B[gd];W[gf];B[fc];W[cd]
;B[ed];W[cc];B[cg];W[ch];B[bg];W[fg]
;B[gc];W[gh];B[bh];W[hh];B[ai];W[ba]
;B[fd])
150:535
17/12/11 22:02:11.19 fAOHhVpN.net
白番でも勝てるかもと思ったがそんなに甘くなかったw
151:535
17/12/11 22:20:09.34 fAOHhVpN.net
うあああ、白番で惜しいところまで行ってバグで不正終了w
とりあえずバグとらなきゃorz
152:535
17/12/11 22:31:43.51 fAOHhVpN.net
うーんまだまだだなぁ。
>>146はたまたまかorz.
153:535
17/12/12 19:50:54.43 sU/cgenP.net
新しいパソコン欲しいな~
現実的な線でいってもメモリ64GBくらい積みたい。
154:535
17/12/12 23:05:56.72 sU/cgenP.net
DB作成をマルチスレッド化したいな~
でもMCTSのマルチスレッド化って結構難しんだよな~
155:310
17/12/13 00:38:18.63 oWC3TnL7.net
MCTSのマルチスレッド化は簡単だと思う…
マルチコンピュータは難しいけど。
強化学習がなんかおかしい感じだったので、記譜学習で上書きしたら
かなり過学習になってしまった。強化学習で戻せばよいかと思ったけど
なんかなかなか戻らないorz
強化学習どっかおかしいのかもしれない。
156:535
17/12/13 20:33:14.21 6thdoy0s.net
えーそうですか?
排他制御とかしたら性能出なさそう
157:535
17/12/13 21:57:53.75 3yqEn+ak.net
ID違うと思うけど535です。
DBがTXTで1.7GBに。
実行時7GB程になりました。
std::mapを別のコレクションに変えたらメモリ使用量減らないかな~?
158:535
17/12/13 22:15:01.22 3yqEn+ak.net
unordered_mapにしてみたけどあんま変わんないやorz
159:310
17/12/14 00:19:28.11 9pKHf6s7.net
排他制御は、まあ普通にしてますけど、PPLのcritical_sectionでlockしたり、
int型ならatomic<int>していたりで、並列ライブラリにお任せです。
またVirtual Lossという方法があって、ツリーを下っていく時は、先に負けた事にして
降りて行って、末端から戻ってくる時に正しい勝敗に置き換える事で、並列探索
の各スレッドが同じ枝に集中しないようにして、排他がかかる可能性を減らしてます。
あとは、排他制御が必要な領域を細かい単位に分割する事ですかね。
#と思って、ソース見たらVirtual Drawになっていた(汗
あ、そうか。DB化しているって事は、合流ありだし、盤面をキーにしなきゃならないから
そうなるとちょっとややこしいのかな?
自分は合流無視で、各ノードに盤面情報を保持していません。直前着手のみ持って
いて、ノードをたどる時に盤面情報を更新しながら降りていきます。着手もBITBOARD
の64bitは無駄なので、char型にしちゃってます(内部的にはintなんだろうけど)。
160:535
17/12/14 21:56:41.20 IX7WwuCO.net
PPLなんてのがあるんですね。
頭の片隅に入れておきます。
とりあえず、子ノードへのポインタが結構メモリを食ってるような気がします。
これを無くして毎回子局面を計算するようにしてメモリ節約するという手もありますがあんまりやる気がしないなぁ。
161:310
17/12/15 10:32:05.09 +7BwQo/4.net
PPLはVC++専用の並列処理ライブラリです。
Intel TBBとかと中身はほぼ同じだと思います。
かなり抽象されていて、わかりやすいです。
自分はこれなしでは並列化できません(汗
ツリー構造だと子ノードへのポインタが一番大事な情報になっちゃいますね。
その場合ポインターと直前着手があれば盤面情報は不要になります。
一方で、ハッシュテーブル構造だと、子ノードポインタ不要で、キー(と衝突検出)
のために盤面情報が必須になります。
DB化するんならハッシュテーブルとかの方が向いていますよね。
自分はMCTSでツリーを作ったり消したりなので、ツリー型にしています。
shared_ptr使って、不要になったノードはシステム任せで自動的に削除して貰って
います。ハッシュテーブルだと、そう簡単にはいきませんね。
162:310
17/12/17 00:21:31.98 qILmYkkQ.net
ノートPCの冷却用(動作周波数に結構影響する)にUSB扇風機使ってましたが、
結構サイズでかくて持ち運び面倒だし、ノートPCのUSBポートに刺していると
安全装置が働いてしまうので、別途電源取っていました。
で、どうせ強化学習回しておくだけで暇だったので、専用のクーリングファンを
自作してみました。
タカチのアルミケースをぴったりサイズに切り欠いて、USBコネクタと5Vの
クーリングファンをセット。ノートPCに装着するとファンが回って冷却開始。
製作時間1時間程度。材料費は3000円くらい。
雑に作った割にはうまくできた。
163:310
17/12/17 02:09:30.95 qILmYkkQ.net
EigenのSparseMatrixのサイズ制限を変える方法が見つかりました。
現在、簡易版と詳細版の2種類の評価関数を学習していますが、
これにより詳細版を完全にBuroさんモデルにする事ができるように
なりました。
というわけで、詳細版は再度学習し直しです。
簡易版は、多少癖があるようだけど、そこそこまともになっています。
一方、詳細版は何度もやり直し中(汗
164:535
17/12/17 19:24:13.96 QB4rs7DZ.net
DBはメモリの勝負になる。
やはりCNNなどでメモリを圧縮する必要がある。
165:535
17/12/17 20:37:59.85 QB4rs7DZ.net
うお、試行回数0回のデータ削除したらメッチャメモリ使用量減ったw
これで当分DBで押せるww
166:535
17/12/18 21:48:20.69 2VaG9uC3.net
ちょっとづつ良くなってるとは思うけど今一歩だな~
もうちょっとヒューリスティック入れたほうがいいかな~
167:310
17/12/19 00:06:06.27 jyMFUoq3.net
気が付いたらTensorFlowがWindows対応になってるね。
New PC欲しい病再発の兆し・・・
168:535
17/12/19 22:55:01.32 BAiqwtex.net
とりあえず、ヒューリスティックのアイディアが2つあるんだが、
下手に手を加えないでDB肥大化で押したほうが、
真の棋理に近づくのかもしれないなどとも思ったり。
悩ましい。
169:535
17/12/20 00:23:35.05 S+Iz2Vgy.net
ヒューリスティック一個仮組みしてみたけど上手くいかないや。
がっかりorz.
170:535
17/12/20 22:02:26.64 S+Iz2Vgy.net
ちなみに仮組したヒューリスティックの内容は
適当な回数プレイアウトして7連が一番多くできたところ付近にしぼって
モンテカルロ木を展開するというもの。
171:535
17/12/21 20:13:56.96 TDrdSCuN.net
序盤はそんなに悪くないんだけど終盤がなぁ
やっぱ9路でも必至、詰めろルーチンいるなぁ
172:535
17/12/21 20:14:37.01 TDrdSCuN.net
でも遅くなるの見えてるからちょっとなぁ。
173:535
17/12/22 21:57:55.17 fGil/O5L.net
なんか落ちるバグがあるな。
そういえば直してなかった。
は~
174:310
17/12/23 09:08:48.88 V4gvcHPy.net
ノードを完全読み切りまで展開した時に、末端ノードの評価が狂う時があるという
バグが以前ありました。おそらく並列処理による2重更新問題だろうと言う事で、
UCT探索の排他部分を強化して対応していましたが、ここにきてまた発生。
昨日原因が判明しました。まさかの、浮動小数点誤差の問題でした。
スコアの合計値と、試行回数を持っていて、合計値÷試行回数で平均スコアを
計算しているのですが、合計値が3500万を超えたあたりで+2をしてもfloat的
には、その2差を表現できる精度が無くなって、少しづつ合計値が不足していく
状態になっていました。
とりあえずfloatをdoubeにしてみましたが、案の定メモリーを消費する速度が大幅
増加してしまいました。小数点以下1桁もあれば十分なのでintに10倍値を持つ
ようにしてみようかなぁと思っています。
175:310
17/12/24 00:22:00.25 XlhSPCGK.net
intに変更。桁溢れが無ければ、これで大丈夫だと思います。
ついでに速度アップしている分だけ、自己対局の探索時間を短くしました。
評価関数を簡易版・詳細版2種類使っていましたが、詳細版も十分に学習
できたようなので、詳細版一本に絞りました。というか、そろそろ追い抜いた
と思えるようになってきました。とはいえ自己対局の評価値を見ていると
30手目以後はそこそこまともな感じですが、序盤はまだデタラメかなぁ。
完全読み切りですが、30手より前に遡る事がなかなかできません。評価関数
の精度のためか、残り28手あたりから急激に読み切り時間がかかるようになり
ます。評価関数の精度が悪いのでオーダリングが正しくできていないからでは
無いかと想像しています。強化学習で補えるかと思っていますが、まだまだの
ようです。
現在、記譜学習は完全読み切りができている盤面しか使用していませんが、
せめてMCTS探索が始まって以後の盤面も学習に使用してみようか悩み中。
これ以上の精度を求めると、やはりDLに行かざるを得ないですね。
今の探索でもツリーがメモリー内に収まるギリギリに係数を設定しているので
探索延長が起きるとあっという間にスワップ開始になってしまいます。
というわけで大きなメモリーが欲しい今日この頃です。
176:535
17/12/25 21:28:02.81 iTZFwLsg.net
すっごい微妙な駆け引きができるようになって会心の勝利!
と思いきや勝利目前でバグが出てパス2回した後エラーはいて落ちたorz
くそくそくそくそ!
いい加減直さなきゃだけど再現性低いからバグ潰すの難しいんだよなぁ
(
;FF[1]GM[1]SZ[9]
;B[ee];W[dc];B[de];W[ce];B[ge];W[df]
;B[hc];W[fg];B[gd];W[gf];B[cf];W[eg]
;B[gg];W[gh];B[cd];W[fe];B[fd];W[dd]
;B[ff];W[hg];B[be];W[cg];B[];W[gg]
;B[];W[dg])
177:535
17/12/26 21:57:37.38 vTaELiqs.net
勝利が目前に近づくとパスする。
マジ原因がわからんorzorzorz
ログでも仕込むか?
178:535
17/12/26 22:08:58.18 vTaELiqs.net
石を取って必勝形になる形だとパスするのか?
条件絞り込みがムズイ。
とりあえず、ログかなぁ?
179:535
17/12/27 20:40:10.55 SLxZ+o46.net
ログ仕込んだら計ったように再現しなくなったwwww
しばらく対局しまくるしかないか
180:535
17/12/27 21:31:50.30 SLxZ+o46.net
バグの原因わかりました。
ノードに盤面情報登録し忘れてるパスがあった。
これで落ちずに連続対戦できるようになるかな。
181:535
17/12/27 22:15:38.79 SLxZ+o46.net
連続対戦上手く動いてるっぽいです。
今のところ黒番で8勝2敗
かなりいい感じ。
182:535
17/12/27 22:57:18.00 SLxZ+o46.net
黒番で13勝7敗
だいぶ追い上げられたorz
でも連続対戦ちゃんと動いてるようで嬉しい。
183:310
17/12/28 00:14:18.22 p44JRClR.net
やっぱりintでオーバーフローしてた(汗。仕方無いのでint64で。doubleでも
メモリーサイズは一緒だけど、intの方がオーバーフローがわかりやすい。
あと、効果あるかわからないけど、置換表再利用回りをちょっと機能追加。
途中でゲーム終了になった時のスコアカウントですが、FFO計算をチェックに
使っている関係で空白マスを勝者総取りにしています。しかし、学習の時には
空白マスを含めない方が回帰の計算的には良いのではないかなと思い始め
ています。MCTS的には終局判定を入れてあり正しく終局時スコアを返すので、
あくまで学習時だけの話です。
ただ、記譜を経由していればスコア再計算で良いのですが、置換表に溜まって
いる盤面情報では、アメリカルールのスコアを割り出しようが無いという…。
184:535
17/12/30 18:56:09.79 YPjfi6f/.net
実家に帰省しました。
DB作成を流しっぱなしにしてきたので
正月あけどれくらいデータ取れてるか楽しみ
185:名前は開発中のものです。
17/12/31 18:54:54.44 /rN76OKL.net
簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
G32792G4ML
186:535
18/01/04 19:09:06.91 mx9U9VEK.net
ふむう。学習は大分進んだと思うのですが、勝率が思うように上がりませんね。
187:535
18/01/04 19:40:03.61 mx9U9VEK.net
もうちょいヒューリスティック入れるか…
188:535
18/01/04 20:05:05.60 mx9U9VEK.net
leela zeroがもう有段者くらいの実力をつけているらしい。
もういちどleela zeroパクれるか検討するか?
うーむ。
189:310
18/01/05 08:48:12.97 DiPIPsFr.net
年末年始で学習進めてました。
学習が進んだ結果、33~35手目あたりは正確になり、評価値の精度が上がった
事からオーダリングが機能するようになり、遡りチェックの時間は少しづつ減ってきて
いる感じですが、30~32手目以前はまだまだばらつきがある感じです。
また、以前から気になっていたのですが、MCTSによる記譜作成では35手目以後で
急に頻繁に手を間違える症状が出ています。記譜を膨らますにはちょうど良いので
放置していましたが、いよいよバグ探しを開始。やっぱり、並列処理の排他が不十分
で、末端ノードまでたどり着いて同じノードに探索が集中した時に、スコアの更新が
ぶつかっておかしな値になる事で、別のノードを探索。また探索が集中し、スコアが
狂い別のノードを探索という感じになっていた模様です。
修正したら大幅スピードダウンしてしまいましたが、精度は上がりました。
速度を持ちなおせるか色々調べましたが、ちょっと厳しい感じです。
190:310
18/01/08 02:22:41.34 hx3YjBuD.net
記譜作成ですが、スコア差が大きなものが少ないため、ランダム着手の所に手を
加えてみましたが、今度は極端になりすぎて、パーフェクト勝敗な記譜が増えて
しまいました。どうしよう。
スピードダウンの影響は結構大きく、探索の終盤で、同じツリーに対する探索が集中
するためか、さらに大きく速度低下し、今度はそちらが原因で終盤間違えるように
なった感じです。あちらを立てればこちらが立たずです。
当初は、こういう問題はなかったはずなので、過去のソースを見直してみるつもり。
191:535
18/01/08 19:56:33.71 NhsCP7en.net
alpha zero を参考にしたプロジェクトがgithubにいくつかあるんですがパクれないか物色中。
オセロやコネクト4もあるみたいですね。
192:310
18/01/08 21:48:13.88 hx3YjBuD.net
ありゃ。すでにあるんだ。
たぶんディープラーニングしてるんだろうなぁ。
そりゃそうと、CPUのバグの影響どうなんでしょね。
あまりに時間がかかるので、ちょっと辛い。
記譜作成やめて、ひたすら強化学習にしてみようかなぁ。
後は細かい精度なので、その方が早い気がしてきた。
193:310
18/01/08 22:10:59.88 hx3YjBuD.net
わかりにくい文章でした。
「あまりに時間がかかるので、ちょっと辛い。」
は、現状の学習方法だとあまりに時間がかかるので、やはり新PC欲しいんだけど、
CPUバグの話が出たので、ちょっと様子見すべきかどうかって事です。
ただ、MCTSで排他待ち合わせによる速度低下が出ているのと、読み切り探索では
並列探索の効果が頭打ちになりやすいので、本当にCPUに投資した効果があるの
かが不安になってきている面もあります。
むむむ。
194:535
18/01/08 23:14:47.03 NhsCP7en.net
並列化で速度出すのは結構難しいですよねぇ
まあメモリ増やすだけでも大分違うかもですが。
python 読めるようになったほうが後々いいんだろうなぁ
でもメンドクサイw
195:535
18/01/10 22:40:05.04 woZtUoWo.net
アルファゼロを参考にしたコネクト4のプロジェクトのパイソンコード読んでるんですが
パイソンということを差し引いても結構難しいんだろうなって感じ
196:535
18/01/10 23:42:39.94 woZtUoWo.net
パイソンだからコード眺めるだけでどうせ動かせないやと諦めるのではなく
実際に実行できるところまでこぎつけるべきだろうか
197:535
18/01/10 23:57:49.33 woZtUoWo.net
うーんこれlinux用なのかなぁ
Cygwinじゃきびしいかなぁ
198:310
18/01/11 22:33:43.61 TAFrfVFR.net
しばらく学習しっぱなしというか、デバッグしながら中途半端に遡り状態で放置した
記譜をガッツリ遡りチェック中なので暇です。で、よからぬ蟲が疼きだして、そろそろ
ボードを作ろうかと思い始めました。ソース消失前は、min-Max版時代のボードが
あったのですが、また作り直しです。
オセロにも碁盤ソフトみたいなのがあれば良いのですが、無いようなので自作を検討。
囲碁のGTPみたいなプロトコルを作って、思考エンジンとGUIを分離できたら良いなぁと。
というわけで、匿名パイプを使ったプロセス間通信について勉強してました。
サンプルコードが10年前のC言語しかなくて解読に苦労しましたがエコーサンプル
を修正しながらテスト。coutとcerrを別パイプに分離して、スレッド管理はPPLにお任せ
にするところまでやって、ようやく納得。
ボードGUI作って、プロトコル決めて、AIエンジン部を対応させてと、まだまだやる事が
ありますが、最終的には自動対局までできたら良いなあと。リソースの限界はあります
が、パラメータで強弱が出そうなので、客観的に評価したい。
というか、GUIの作り方から学習し直しだ…
GUI触りたくないからボードソフト探していたのに、無いから自分で作るという罠。
199:310
18/01/11 22:48:49.47 TAFrfVFR.net
>>191
色々見直して、若干速度は回復しましたが、最初にRollout外した時のびっくりする
ほどの速度は出なくなっちゃいました。ただ、時々瞬間的に速い時があるので、
単純ではないかもしれません。
30手過ぎるとどんどん選択しが狭まっていきますので、ツリーサイズは小さくなって
いきます。ここで、一部の手に探索が集中して、100万探索単位で追加探索したとき
にようやく他の枝を調べ始めるようで、それでもツリーサイズはそれほど大きくならない
ので、メモリーはそれほどボトルネックになっていない感じです。
UCB1のCをいじったり、ポリシーの探索比率をいじったりして様子をみていますが、
あまりフラットに探索すると、正解にたどり着けないまま終盤を迎えてしまうし、
かといってスティープに探索すると、間違いを訂正するまでの追加探索が大量に
必要になるしで、調整が難しいです。そもそも評価関数の精度が十分じゃないと
言う事なんだと思います。
200:535
18/01/13 21:35:44.20 yngzNrQg.net
コネクト4、マルチスレッド化されてるみたいですね。
何か読みにくいと思ったら。
201:535
18/01/13 22:44:48.29 yngzNrQg.net
多分、コードに飛びつくのはまだ時期尚早なんだろな。
もうちょっとAlphaZeroの基本アイディアを理解してからじゃないと。
202:310
18/01/14 01:33:25.53 Wql34YtP.net
コネクト4のGitHUBってどこにありますか?
ちょっと見てみたいかも。
GUI作ろうと思って調べたら、VS2017からなんかだいぶ変わっているみたいです。
MFCは非推奨との事で、ユニバーサルWindowsとかってやつと、あとはCLRですか。
両方試してみようとしたのですが、ユニバーサルWindowsはWindows10じゃないと
ダメっぽい。CLRはなんかエラーで動かない…。他にもC#だと楽だとか色々ある
みたい。MFCは使えるのですが、もう忘れたし、面倒くさかった記憶しかない(汗
C#で作るって手もあるみたい。
とりあえずC#を勉強してみようかなぁというところです。
脱線しすぎだなぁ。
203:535
18/01/14 17:46:25.82 NeYy2Zy+.net
URLリンク(github.com)
これです
204:名前は開発中のものです。
18/01/15 19:10:16.04 SOjHonZe.net
>>310
オセロ用の確立された GUI はありませんが、
nboard
URLリンク(www.orbanova.com)
xboard / winboard (alien edition)
URLリンク(hgm.nubati.net)
Othello Engine Protocol (cassio)
URLリンク(cassio.free.fr)
Edax はいずれもサポートしているので、プロトコルは
ソースでも見られます。
205:535
18/01/15 22:46:04.01 iBxpq5YC.net
310さんと私以外の書き込みがあるとは珍しいですね。
実はROMも意外といるんだろうか
206:310
18/01/16 01:56:04.23 8d/ib1bw.net
>>200
どもです。ダウンロードしてみました。
酔っぱらって帰ってきたところなので、明日以後見てみます。
>>201
ありがとうございます。
cassioはmin-Max前提みたいですね。
nboardとxboardは明日以後見てみます。
とはいえ、もうすでに作り始めてしまいました(汗
c#はVBみたいな感じですね。10年くらいVBも触っていないので、VB自体も
昔とはだいぶ違うんだと思いますが。
まずは匿名パイプでのやり取りまで確認できました。
色々なソースのつぎはぎでわけわからんけど、何とかC++とAPIで作ったサーバ
側と同じ動作するものが動いています。
207:535
18/01/18 00:27:09.66 +dGVWc2f.net
GitHubでウインドウズでも簡単にビルドできそうなAlphaZeroクローンを物色中。
208:201
18/01/19 19:49:16.63 nx2VVS4x.net
ところで、
Learning to Play Othello with Deep Neural Networks
URLリンク(arxiv.org)
はチェックされていますか?
209:310
18/01/20 13:01:59.38 Zq3gts8j.net
>>205
ありがとうございます。
さっそくダウンロードしました。
210:535
18/01/20 23:55:57.24 1Kz+zB3+.net
いろいろ試してみてるけどスキルが足りなくてどれもうまくいかないデスネ。
今これ見てます。
URLリンク(github.com)
211:535
18/01/21 00:31:51.93 qH0IRvSF.net
ん~なんかアンチウイルスソフトが警告だしてきたorz
どうしようかな…
212:535
18/01/21 23:00:34.14 qH0IRvSF.net
gflagsとかglogとかいうのが必要らしいんだが
アンチウィルスソフトが勝手に何か裏で削除してるらしく
うまくmakeできないorz
なんなんだこれは?
213:535
18/01/25 20:47:17.06 deBVwh8E.net
モチベ保てなくてガッツリサボリ中w
仕事が忙しいのもあるけど
214:310
18/01/27 00:56:40.42 0QPAoXtC.net
自分もGUIでモチベ保てず、がっつりさぼり中。
技術的に難しそうな事は気合入るんだけど、どっちが黒番とかのラジオボタン
をどうしようかとか考え出すと、思考が止まってしまう(汗
一つの項目で諦めがつくまでに3日づつかかっていますorz
215:535
18/01/27 23:18:12.98 EzLPwnOa.net
URLリンク(postd.cc)
これ読んでます。
とりあえず、一旦コードから離れて基礎知識を充実させる方向で。
216:310
18/01/28 17:18:05.66 0oeW9Kee.net
GUIのパスの処理を真剣にチェックしだしたら、特定のケースで動作が
おかしいので、丸々一晩デバッグしていました。ケースは特定できてた
のですが、ぱっと見まったく原因がわからず。
C#はオブジェクトを代入すると参照になるのでした。やられた。
やっぱCというのは名前だけですね。
217:535
18/01/28 23:56:16.68 yuGXDS1r.net
URLリンク(github.com)
すいません。またコード見始めてます。
多分これがウィンドウズで動かすの一番簡単な奴な気がするw
218:535
18/01/29 20:05:24.91 WXPd8Jtc.net
human_play.pyでモンテカルロAIは動いたけど深層学習AIが動かないorz.
theanoとかいうライブラリが上手くインストールできてないっぽいorz
219:535
18/01/29 20:08:40.86 WXPd8Jtc.net
うう、心が折れそうorz
220:535
18/01/29 21:03:35.36 WXPd8Jtc.net
こんなエラーが出るんだが何がないって言われてるのかわからん。
誰かわかる人いる?
...
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.
221:535
18/01/29 23:39:21.86 WXPd8Jtc.net
ライブラリに互換性がないって言われてるような気がする。
Cygwinに入ってるライブラリは互換性ないってことか?
どこでライブラリ入手すりゃいいんだ??
222:310
18/01/31 00:01:03.41 EjEC4Ae7.net
すまん。わからんけど、collecdt2というフォルダ(ファイルかも)が無いと言ってる?
こちらは、どうしても画面が崩れてしまうので、最初から作り直し。
原因は、トップのFormでauto resizeをtrueにしていた事でした。
ゲームの進行を上手に管理する方法が無いか考えていると、つい寝てしまうorz
223:535
18/01/31 20:29:33.40 u/gx4uXy.net
すいません。
コマンドプロンプトで実行したら>>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.
これに続いて同じ名前のライブラリはあるけどコンパチブルでない的なメッセージが出ています。
224:535
18/02/04 02:31:39.86 8N3h1IXY.net
キタ━━━(゚∀゚)━━━ !!!!!
動いたっぽいです。
Theanoってライブラリのバージョンが0.7.0じゃないといけないみたいです。
ここまでめっさ時間かかったorz
遅れを取り戻さんとな。
225:535
18/02/04 18:58:20.09 8N3h1IXY.net
せっかく動いたけどpython読む根性がなかなか湧いてこない。
つか多分pythonじゃなくても読むのしんどいんだけど。
226:310
18/02/04 20:16:17.17 Wmf+lsae.net
他人のコードは読みづらいですよね。
1年前に書いた自分のコードもですがorz
Theano動作おめでとうございます。良かったです。
こちらは…GUI作るのに嫌気がさして、学習部をいじっていましたが、
そろそろ~30手の評価関数もそれほど酷いものではなさそうな気がしてきて、
中盤探索9手読み(なんの工夫も無し)で記譜作れる事に思い至りまして。
つまり、MCTSより短時間で記譜作成できると…。
この学習で、もし中盤探索の読みがそこそこな精度になってしまったら、
そもそもMCTSにする意味ないじゃんという現実からいかに目を背け続けるか
という戦いが始まりました(涙
227:535
18/02/05 18:27:38.68 Q1ssK5oS.net
やはりこの業界で生きていくには
パイソンの習得は必須…
228:535
18/02/05 20:15:05.78 kkO201mJ.net
ということでパイソンの入門本買ってきました。
とりあえず囲連星のルールを実装してみます。
229:310
18/02/05 23:37:11.58 tGe3CIWd.net
相変わらず、GUIから逃げています。
アルファ碁でいうところのポリシーネットの学習を放棄して、代わりに評価値から
P(UCT探索に対する絞り込み項)を生成していましたが、これをQ(UCT探索の
予想スコア:これまでの探索の加重平均)から、1プレイアウト毎に再計算するよう
にしてみました。
多少探索速度は落ちますが、良い感じかなぁ。
230:535
18/02/08 20:36:12.73 BwB5Lh8w.net
パイソン入門本、一回通して読もうとしてますが、ページ数あって結構大変。
コード書きながら読んだほうがいいかなぁ。
231:310
18/02/09 23:42:10.85 XzN5+u9b.net
新言語習得はストレスですよね。
C#ですら混乱して、C++に帰りたくなってます(汗
というか、メモリー管理できないC#にいらついて、記譜作成回りをいじって
慰みにしています。中盤探索に置換表を足して、反復深化っぽくしてみま
したが、あんまり早くならなくてがっかり。
Python本はまだ買ってません。ウェブ上の入門を眺めたくらいです。
Pythonは構造やら変数の型の考えやら、落とし穴になりそうなところが
色々とありますね。計算式だけ見ていればわかったような気になりますが、
どういう順番で処理が進むのか、慣れないとわからん感じ。
232:535
18/02/10 21:27:45.30 DQEki32w.net
パイソン、変数の型の宣言がないから他人のコード超読みずらいorz
引数に何与えていいのかとかパッとわからないorz
233:535
18/02/12 00:17:40.24 eWCzbr3d.net
9路囲連星の最低限のルールをパイソンに移植しました。
これからテストします。
234:535
18/02/12 02:17:04.85 eWCzbr3d.net
おおむねバグ取れたっぽい
あとはこれを>>214に移植できれば…
235:535
18/02/12 20:42:28.11 eWCzbr3d.net
他人のコード読むの辛いおT△T
これはかなり時間かかる…
236:535
18/02/12 22:23:10.54 eWCzbr3d.net
うーん、なんかこのコード五目並べのルールにべったり依存してる感じなのかなぁもしかして。
複数のゲームに対応しているAlpha Zeroプロジェクトのコードを見たほうがゲームのルールが分離されてるのかもしれないなぁ
一応、別のプロジェクトに手を出すことも視野に入れるか…
237:535
18/02/12 23:45:59.40 eWCzbr3d.net
アルファゼロって数手前の履歴情報が必要らしいけどなんでこんなものがいるんだろう?
謎だ…
238:310
18/02/13 13:07:22.56 SwoVylIU.net
アルファ碁の論文に書いてあったかな。次の1手的には意味なさそうだけど、
有った方が強くなるので外せなかったみたいな事が書いてあったような。
今現在の思いつきですが、ツリーサーチの末端近くでは、手の流れに応じて
点数が変わる事で、そのツリーのルート側の評価(加重平均)に影響が出てくる
可能性はある。
囲碁の場合、同一盤面が出る可能性が非常に高いのだけど、そこに至る経路で
隙があると、相手にその隙を突かれて、分岐が生じる事で、その点数は無意味に
なる。けど、それは途中の分岐をしっかり読まないと判明しない。経路情報によって
評価値(評価関数直)を下げてしまえば、プレイアウトの振り分けが減って、別の
もっと良い手に集中させることができる。こういう事かなぁ。
ま、本当に今思いついたばかりですが。
GUIに気が進まないまま、ぼーっと学習を見ていると、何故か(効果は微妙だけど)
速度アップの方法を思いついてしまうもので…。地味に色々改良しています。
239:535
18/02/13 22:47:18.55 75Woy+K4.net
310さんほどのプログラマがGUIで躓くというのも謎ですね。
単に凝り性なだけですかね。
240:310
18/02/14 20:49:32.16 I/pUqAGs.net
単にGUIが嫌いなんですorz
凝りたい気持ちと、画面遷移の罠から、心がデッドロックを起こして、
しまいに面倒くさくなってしまうという。
241:535
18/02/14 21:17:25.33 XBQY5lLn.net
オセロで画面遷移なんてほぼいらんでしょうに。
まいいけど。
242:535
18/02/14 22:23:18.42 XBQY5lLn.net
五目並べのプロジェクトだとコウの扱いがよくわからないな
囲碁のプロジェクトもgithubで漁るか…
243:535
18/02/17 21:19:34.66 9/16YNby.net
藤井聡太さん朝日杯将棋オープン戦優勝ですか
すごいすな
244:310
18/02/17 21:53:57.13 vz2S+0Ke.net
ドタバタしながら音だけ聞いていたけど、なんか普通に互角から徐々に優勢を
築いて、相手の奇手にも動ぜずにさばいて、勝利って感じで、強さが際立って
いましたね。
これで勝っても漫画なら編集長にバカにされるレベルと言われていましたが、
本当に笑うしかないですね。
245:535
18/02/19 21:32:59.37 k/eP19bS.net
>>214のプロジェクトに囲連星ルールを移植してみまして、モンテカルロAIが動いたみたいです。
ただし超絶遅い。絶望しかないってくらい遅い。
10プレイアウトで10秒くらいかかります。
デフォルト1000プレイアウトになっていたのでそれぐらいないとまともな強さは出ないんでしょう。
となると1手1000秒か?
絶望しかない。
orzorzorzorzorz
246:535
18/02/19 21:45:50.40 k/eP19bS.net
小路盤五目並べとかConnect4とかtic tac toe くらい小さなゲームじゃなきゃまともに動かんぞこれ
247:535
18/02/19 21:53:01.97 k/eP19bS.net
,.‐''" ̄`丶、 ひどい…!ひどすぎるっ……!
/ \ こんな話があるかっ…!
/´ \
/ |\_>、_ 、r‐、 \ 命からがら… やっとの思いで…
レ! ||_| |/_ ヽ\} \ 辿り着いたのに… やり遂げたのに……
|八|-/>、∪_ u`i ト、 \
/ / ,くィ夕u' | |/ ``‐- 、_.、__\ 実行速度っ…!
|/ / /_ヽ┐u | ,| / ,-,.=====ゝ
ヾ' / r┘|.l__�
248:l | /\// \ あの計算量がもぎ取ってしまった……! \ ) | N / //\./´ ̄`丶 |u | /|(l(l「| | | | せっかく手にした | u| / | ヾ-イ .|| l、 俺の未来…希望… _| |/| | \_|_|,. く. \ ハ.___ハ >、 \ \ \ Alpha Zero AI を……!
249:535
18/02/19 22:39:02.94 k/eP19bS.net
つか連想配列とか見るからに遅そうなクラス使いまくりなんだよなぁ
こうなったらC++に移植する方向で考えるか??
250:535
18/02/19 22:59:04.05 k/eP19bS.net
囲連星ルール部分をC++で書きなおしてパイソンと結合させるという手もあるんだろか??
とにかく今のままじゃ遅すぎる
囲連星ルール部分がどれくらいネックになってるかもよくわからないですが多分相当遅い
251:535
18/02/19 23:28:23.57 k/eP19bS.net
五目並べルールだとそこそこのスピード出ますね
当たり前か…
やっぱ囲連星ルール実装がネックか~
は~
死にたい
252:310
18/02/19 23:48:36.73 KY7Wcd5F.net
PythonからC++関数を呼べるみたいですね。
C++からPythonも呼べるみたいです。
前にPythonに手を出そうかと思った時にググったら出てきました。
前者の方が解説が多かったと思います。
自分はBitboardを使いまくりなので、Pythonに手を出しあぐねていました。
また、評価関数の学習部と、評価値計算をうまく分離できれば、前者を
Python、後者をC++で書けないかなぁと思っていますが、im2col関数の
うまい実装を考えるのが面倒で、放置になっています。
253:310
18/02/19 23:56:04.01 KY7Wcd5F.net
ここ数日強化学習の結果がよさげになってきたので、結果の良かった学習方法に
集中させたら、また変な学習になってしまったようで、迷走中です。
学習の具合が良いと、色々な探索も速度アップするんだけど、具合が悪いと全部
悪循環になってしまうという。
仕方無いので、中盤探索の反復深化を作り、その結果を置換表に溜めてオーダ
リングを行うようにしてみましたが、効果があったのかよくわからない罠。
こちらも、学習の具合が良くなったら、急激に効果が表れるのではないかと期待
しているんだけど。
254:535
18/02/21 01:00:17.47 65PdIEqg.net
SWIGっての調べてます。
なかなか手ごわい
255:535
18/02/21 22:17:30.79 65PdIEqg.net
まずは簡単なC++関数一個だけのパイソンモジュール作成に成功しました。
つぎは囲連星ルールパイソンモジュールの作成ですね~
256:535
18/02/21 23:35:14.72 65PdIEqg.net
なんかdeepcopyとかいうのに対応しなきゃいかんようなのだが。
257:310
18/02/22 01:36:26.61 pKMuaeJh.net
評価関数がどんどん悪化していく罠。
頭に来たので、評価関数をステージ分割。
ステージ分割すると学習部分の全面書き直しとなる。
どうせニューラルネットは使わないと決めたので、線形回帰にスケールダウン。
またしてもゴチャゴチャしてきた部分を全面書き直しパターンへ。
もうGUIはすっかり忘れていますorz
258:535
18/02/24 00:20:19.52 23+l5SrV.net
キタ━━━(゚∀゚)━━━ !!!!!
動きました!
C++版囲連星ルールパイソンモジュール!!!
10倍くらい速くなりました!
でも1000プレイアウト1手約100秒
まだまだ遅い
でもこれ以上速くするアイディアもないし、とりあえず、これで進めるか。
259:535
18/02/24 00:49:09.02 23+l5SrV.net
なんかトレーニングが不正終了しますね。。。
zipから解凍したソースそのままで実行しても不正終了になるのでちょっと謎ですね。
260:535
18/02/24 17:22:36.17 23+l5SrV.net
なんかteanoてライブラリが悪いっぽいorz
上手くインストールできたと思ってたけど実はまだ駄目だったのかなぁorz
261:535
18/02/24 20:56:43.77 23+l5SrV.net
あかん、さっぱりわからんorzorzorz
262:535
18/02/24 23:35:51.51 23+l5SrV.net
teano.functionってのが悪いっぽい
263:名前は開発中のものです。
18/02/24 23:45:38.80 23+l5SrV.net
teanoじゃなくてtheanoかスマソ
264:535
18/02/26 23:09:59.32 iAzX3KQf.net
Linuxインストールしてみようかなぁ(ボソ
265:名前は開発中のものです。
18/02/26 23:28:03.39 HIL9tQPi.net
「インストールした」なら使ってもいい
266:535
18/02/28 21:53:14.78 EHGfbJ7U.net
linux入れるならVMWareお勧め?
他に候補ある?
267:535
18/02/28 21:54:21.00 EHGfbJ7U.net
ちなみにHDDはパーティション切りなおすのメンドイ
268:310
18/02/28 22:12:43.27 4D1Jf52Q.net
評価関数変更ついでにまるっと作り直してます。
自己対戦など、汚いコードを綺麗に書き直し。
かけた工数的には自己対戦の方が大変だったかも。
評価関数を1手毎のステージ分割で60ステージにして、学習し直しです。
これで序盤を学習させると終盤が狂う問題は解消されると信じていますが、
学習に60倍の時間がかかる事が予想されるという状態で、記譜を幾ら作って
も追い付かない感じなので、強化学習主体にするつもりです。
というか、まだ、UCTの所は作りこんでいない。
まあ、ほとんどコピペですが。
で、ここまで来たところで、もういっちょ改造したくなってきた…。
269:535
18/02/28 23:51:16.48 EHGfbJ7U.net
MVWareでubuntu入れました。
270:535
18/03/01 00:04:15.57 Jxqcd31Q.net
ubuntuだと>>214のプログラム問題なく動くみたいですね
素晴らしい。
271:535
18/03/01 21:09:31.45 Jxqcd31Q.net
囲連星ルールをubuntuに移植してみましたがエラーが出ますね。
合法手が無い、みたいな感じに見えますが…
272:535
18/03/01 21:31:25.39 Jxqcd31Q.net
くそ~結局コツコツソース読み解くしかないかorz
いい線行ってると思うんだけどなぁ
273:535
18/03/01 21:44:17.24 Jxqcd31Q.net
うおお、しんどい、これはしんどいorzorzorz
274:535
18/03/01 23:35:08.53 Jxqcd31Q.net
ん、human_play.pyは動きますね…
train.pyと何が違うんだろう?
275:535
18/03/03 00:08:46.84 nviHj1ts.net
C++のクラスをディクショナリのキーに突っ込んでさらに参照しようとしたときにキーの比較に失敗してるっぽく見える
276:535
18/03/03 01:00:19.05 nviHj1ts.net
__hash__と__eq__を定義するといいみたいです。
__eq__はC++のoperator==で良いみたいです。
277:535
18/03/03 01:33:37.87 nviHj1ts.net
まだエラー出ますね。
行ったと思ったのにorz
278:535
18/03/03 19:12:35.59 nviHj1ts.net
お、処理が進み始めました。
Board.init_boardでC++のオブジェクトを初期化してなかったのがエラーの原因だったみたい�
279:ナす。
280:535
18/03/03 19:51:05.26 nviHj1ts.net
やっぱ小路盤五目並べと比べて時間かかりますね。
焦れるw
とりあえず、これでウェイトファイルが出力されれば第一段階クリアですが…
281:535
18/03/03 20:18:47.79 nviHj1ts.net
あ~これシングルスレッドなんですね。
まあ確かにコード読んでてもマルチスレッドには見えなかったけど。
282:535
18/03/06 20:34:35.86 4NZM8BU2.net
ベストポリシーとか言うファイルは出力されましたが…
いかんせん遅すぎますねぇ
並列化してハードも強化してあと30倍は速くしないと…
283:535
18/03/06 22:28:34.91 4NZM8BU2.net
んんん、もしかして仮想環境だとディスクアクセスめっちゃ重くなる?
CPUがほとんど仕事してないんだが…
284:535
18/03/06 22:40:05.64 4NZM8BU2.net
こりゃネイティブLinux環境構築も考えるか…
285:535
18/03/07 20:16:56.97 Xay4EsKj.net
ディスクアクセスが100近くいって処理がほとんど進まなくなっちまったorz
いったん止めるべきかな~
286:310
18/03/08 00:53:26.17 KJS05rsc.net
新評価関数版ようやく一通りできた。
強化学習にすごーく時間がかかりそう(汗
というわけでNew PC見繕ってます。
ノートPCでi7-8700Kの6コア12スレッドにメモリー32メガで
GTX1080搭載のノートPCがある。
むむむ。
287:535
18/03/08 18:17:36.63 GeAn+CtF.net
お高いんでしょう?
288:535
18/03/08 19:23:50.24 MQ3zVdYu.net
帰ってきてパソコン見てみたら学習が強制終了してました。
土曜からずっと動かしっぱなしでしたが、ここにきて強制終了は痛いですね。
解決しようにも再現させるだけで数日かかってしまうし目星を付けることすら難しそう。
289:535
18/03/08 20:05:12.94 MQ3zVdYu.net
途中で出力されたポリシーモデルで対戦してみましたが、
予想してたよりずっとまともな手を返してきますね。
ほぼランダムに着手すると思ってました。
これはちゃんと学習できる環境整えればかなり期待できるかも!
290:535
18/03/08 20:11:16.29 MQ3zVdYu.net
俺も良い目のノート一台買ってLinux入れようかなぁ
デスクトップ2台は手狭だからなぁ
291:535
18/03/08 21:30:30.05 MQ3zVdYu.net
とりあえず、Linuxならパイソン動くことはわかったから
他のもっと高速化に力入れたalpha zeroプロジェクトも試してみようかな
292:310
18/03/08 23:33:49.98 KJS05rsc.net
どもです。
お高いですが、デスクトップのフルスペックの1/3以下で済むようです。
回しっぱなしの奴がレアケースで異常終了すると萎えますね。
自分の奴は、たぶん怪しいところはほぼ蓋をしているので、今は安心しています。
とはいえ、評価値の保存に数秒かかるようになってしまったので、保存中にうっかり
終了してウェイトファイルを破壊しないように、いくつか策を講じました。最近はOSの
アップデートで勝手に再起動されちゃうので。
293:535
18/03/09 20:26:00.14 wTwCUiOb.net
デスクトップの1/3って性能がですか?
294:310
18/03/10 19:53:38.63 jEGGoWyJ.net
あ、価格と性能です(^^;
強化学習に凡ミス発見。
強化学習が良いのは、学習し続ければ何とか復旧できると思えるところorz
295:535
18/03/10 20:42:21.57 MfccYD4W.net
価格コムで調べたら>>281って50万以上ですよね?
296:310
18/03/10 23:47:40.15 jEGGoWyJ.net
こいつです。
URLリンク(www.pc-koubou.jp)
i9-7080XEのデスクトップだとメモリー頑張ると100万ですからね…
297:535
18/03/11 00:26:26.59 Rh0MFs+Y.net
>>291
ほほう?
ハイスペックノートの割には確かに安いですね。
298:535
18/03/12 23:17:36.89 t7pU5NWq.net
うわパイソン部分でルール間違ってたorz
やっぱ軽くでもテストはやっておかないとあかんなorz
299:310
18/03/14 21:17:53.41 Hsr0gVbu.net
うぬぬ。強化学習でどこかおかしい。
強化学習単純化しすぎちゃったかなぁ。
暫定的にひたすら記譜作成&記譜学習に戻しました。
遡り30手が鬼門。記譜学習で、ここをクリアする事を当面の目標にします。
とはいえ、残り29手完全読み切りの記譜がそれなりにあるのは、以前では
考えられない状況ではありますが。
300:310
18/03/15 22:46:56.01 CxmBs8oA.net
強化学習がおかしいというより、記譜のパターンが圧倒的に足りていなかった
のかもと思い始めました。それによって、着手して分岐しても±0となっている
みたいな。
とりあえず、記譜の増殖手段を模索中。
今は、ヌルウィンドウサーチを使用して、遡り探索を行っている関係で、間違った
着手(石損となる手)を捨ててますが、ある程度までその手も読み切って、記譜に
加えても良いのかなぁと思っています。
とりあえず、βカット(もっと良い手があった)時の評価関数は明らかに読み間違い
をしているので、そこ限定で記譜に加えていますが、ある程度以上の手数は全て
付け足しても良いのかなぁと。
301:310
18/03/17 02:14:23.31 Foa7nGV6.net
なんとなく想像しただけですが、何が悪かったのかわかり始めました。
今の学習は「良い手」しか学習していないという事です。
序盤はある程度ランダムな着手を入れて、結果がばらつくようにしていますが、
途中から読みを入れて、良い手だけで着手し、その結果を遡りで訂正しています。
遡りが有効なのは30手くらいまでで、序盤のランダムは20手程度までに抑えて
あります。とすると、遡れる範囲では、悪手を打ったらどういう事になるのかという
学習が抜けている。間違えた着手もちょっとだけ悪いだけでです。結果、最善手の
評価値はそこそこ正確なのですが、極端な悪手も、評価値としてはちょっとだけ
悪い数字でも問題が起きないという事になります。
これはこれで順序付けさえ合っていればそれで良いのですが、ちょっと学習が
進んで、微妙に係数が変わった時に、計算上0.1程度しか悪くない相当な悪手
をうっかり選択しやすくなってしまうという事で、これがオーダリングで悪さをして、
探索時間を長引かせてしまう可能性があります。
恐らく評価関数のステージ分割で、表現力がかなりアップした事から、こういう
学習漏れみたいな事が起きてくるのかなぁと。ほんと、評価関数はスカスカです。
というわけで、昨夜書いたように、ある程度深さを捨てて分岐をすべて記譜に残す
ようにしてみようかなぁと思っています。しばらく記譜作成しながら、この事を踏まえ
た強化学習をちょっと考えてみたいと思っています。
302:535
18/03/18 22:34:31.76 tUeDVO3T.net
結果が出るまで時間がかかり過ぎるなぁ。
もうちょっと様子見るけど。。。
やっぱマルチスレッド化された別のalpha zeroプロジェクト探そうかな…
303:535
18/03/20 21:45:14.39 /Ra5toxr.net
駄目だぁ、強くなる気配がないorz
別のalpha zero プロジェクト本気で探すか…
ここまで来てもったいない気もするけど…
304:535
18/03/23 21:13:02.23 Z4T42krD.net
なんかバグ直して再学習したら、ランダムに打ったほうがマシ、くらいに変な手(1の1とか)打つんだが?
もう嫌になっちゃう。
305:535
18/03/23 21:21:30.45 Z4T42krD.net
そういやLeela Zeroも学習過程では一線うってたな。。。
逆にいい傾向なのか???
306:310
18/03/25 02:23:39.84 Yig4cMbl.net
分岐をすべて記譜にリストアップするようにしてから、爆発的に記譜が増えてます。
2000程度だったのが、15000超えました。
が、まだまだスカスカみたいです。
ここまでするんなら、真面目に自己対戦して遡りせずに、ランダム着手に対して
分岐をリストアップさせても一緒というか、早い気がしてきています(汗
307:310
18/03/31 01:38:59.31 h3UgGfs1.net
ランダム着手も追加して記譜増殖中。ただいま32000超え。
もっとも、残り数手とかの記譜もあるけど(汗
ステージ分割しているので、記譜がなかなか生成されない25~30手近辺で
非常に少ない教師データで何度も学習する事になり、そのあたりが極端な
過学習になってしまった。
解消方法をいくつか検討中です。
1)時間かかっても良いので、25~30手の記譜ができるまで頑張る
2)前後の盤面を混ぜて、教師データを増やしてみる
3)ランダム強化学習してみる。
2)3)をやると、おそらく、平均化されて評価値がフラットになるが大小関係は
治ってくると思う。
というわけで、今夜は2)3)を試してみる予定。
308:310
18/03/31 01:43:35.07 h3UgGfs1.net
あと、時々スコア指定(ヌルウィンドウサーチ)の記譜作成処理で
エラー(スコア間違い)が出る時がある。
運が悪い事にハンドリングミスその他で、記譜を残せていないので、
現象の特定ができていない。
頻度としては数日に1回くらい。
たぶん、全滅と直前のパスがらみだと思うんだけど。
309:535
18/03/31 23:42:05.28 4ltMn3J2.net
Geforce GTX 1060を増設しました。
>>214をpytorchで学習してみます。
310:535
18/03/31 23:46:58.88 4ltMn3J2.net
んーうごかん。
GPUありとなしでポリシーファイルに互換性がないんですかね?
もしかして。
初めからやり直すか…
311:310
18/04/01 01:07:10.57 OBeH+1OH.net
おお。どんどん進んでますね。
こちらは、昨夜のバグの現象は特定しました。
スコアが62や-62で、mtd(f)の探索開始が64や-64の時に、
置換表に残った64や-64が悪さして、64や-64と誤答する模様。
とはいえ、どこを直すべきかはわかりません。探索開始が64や-64
の時に、62や-62にしてやる事で、姑息的に回避はできるので後回し。
あと、記譜作成に色々機能を加えていたら、どこかがおかしそうだという
不安な状態になってしまいまして。このまま記譜学習を進めて良いか自信
が無いので、今までのデータで安全な部分をテスト用に回して、新たに
記譜を作成開始。34手目までは全探索しながら普通に遡れる感じです。
33手目から先は探索時間がしんどいので、ひとしきり落ち着いてから、もう
一度、遡りチェックのプログラムをきちっと見直して、追加していこうかな
と思っています。この間に、強化学習混ぜて、過学習部分を解消して
いこうと思います。
312:535
18/04/01 12:43:33.62 lACu3cfl.net
お、ちゃんと時間測ってないからあれだけど、気持ち速くなってる気がする。
ちゃんと時間測りたいなぁ。
313:310
18/04/01 13:49:33.48 DAl+8Sdv.net
バグ問題は、結局姑息的手段では回避できず。
全滅がらみでほかのケースでも誤答するケースが発生しました。
元々FFO#59用にmin-Max探索に入れていた、全滅時の処理くらいしか
原因となりそうなものが思い当たらなかったので、とりあえずコメントアウト
して様子見です。全滅時の探索が速度低下しますが、仕方がありません。
314:310
18/04/02 20:15:06.48 9LYme7cN.net
結局バグ問題は…迷宮入り臭いです。
記譜作成で負荷テスト並みに探索を繰り返すと、全滅絡まなくても間違うケースが
出てきました。再現性が無いのが辛いところ。
その昔悩んでいた時も、やっぱり置換表がらみの問題で迷宮入りでしたが、
今回も、ケチって置換表を極力クリアせずに使用していた事から、何らかの
矛盾が起きているようです。それを言っちゃうと、置換表付mtd(f)でf値を変え
ながら探索することも、またその時に作成された置換表を流用して記譜作成
兼ねた読み切り処理を速度アップすることも、怪しいという事になるわけで。
315:間違えてしまった事が判明した時点で、その探索は捨てるくらいしか対策が 無いという事になります。 ネットで調べたら、将棋AI界隈でも置換表の問題点を書いている人がいまして。 少なくとも深さがあっていない置換表データは使うべきではない模様。 今の調子だと一晩動かすと結構な頻度で朝見たら止まっているとい状態なので せめて発生率を下げるべく、mtd(f)に入る前に置換表をクリアする事にしました。 なぜしなかったかというと、記譜データからスコアが確定している盤面を置換表に 入れて、それを見ながら既に読み切りしている盤面は飛ばす処理をしていたから です。置換表をクリアして盤面再構築に時間がかかるためです。別途盤面キャッシュ を持って、そちらは追記、置換表は毎回クリアという形に変更しました。
316:535
18/04/02 22:24:32.85 3iK+AnRP.net
Leela ZeroがKGSでかなり強くなってる。
俺がパクったプログラムも学習し続けたらあれくらい強くなるんだろうか?
317:535
18/04/04 20:42:51.24 Y0WMbzNW.net
え、ちょっとまってよ。
GPUありなしでポリシーファイルが違うってことは
成果物を配布しようとしたらGPU持ってる人しか遊べないってこと?
318:535
18/04/04 20:54:25.72 Y0WMbzNW.net
しかもCUDAとかも一緒にインストールしてもらわないといけない?
ええぇ?
319:310
18/04/06 22:00:28.44 952uhqxW.net
誤答問題は、置換表クリアで解消しました。
違う局面の探索で使用した置換表データは使いまわしてはいけないという事で。
なんか、結果的に、2年くらい前にも同じ事で騒いでいたような。
色々整ってきたので、あとはひたすら記譜作成しながら学習を回すだけになって
しまって、暇になってます。別PC買ってそっちで学習させながら、別の事をはじめ
ようかなぁと思い始めています。
320:535
18/04/07 20:43:17.69 SqbCC315.net
うーん、つよくならないorz
学習は継続しつつ別のalpha zero プロジェクトも物色するか…
321:535
18/04/08 22:10:18.77 ZB9Bj6DG.net
ん、なんかメモリリークあんのかな…
swigでC++から移植したクラスってデフォルトでガベージコレクトされないのかなぁ?
もしかして。
322:535
18/04/08 22:43:04.99 ZB9Bj6DG.net
VMWareの設定がメモリ1GBになってた。
とりあえず8GBに増やしてみた。
323:535
18/04/08 22:53:48.62 ZB9Bj6DG.net
お、メモリ増やして再起動かけたら結構いい感じで進みだした?
メモリ増やしたのと再起動かけたのどっちが効いたのかわからんが。
324:535
18/04/09 20:58:16.91 500BArdX.net
くそ~ベストポリシー更新が全く来ないorz
もう何回目だ?TT
325:535
18/04/11 20:46:51.70 uiOmKVU+.net
お、メモリ増やしたせいか連続運転が安定している。
しかしベストポリシー更新は相変わらずなしorz
326:535
18/04/11 23:07:04.06 uiOmKVU+.net
もしかして、ネットワークの初期値が糞すぎるんだろうか。
でも確かめようがないorz
327:535
18/04/15 20:07:24.81 8sCJrZFg.net
ベストポリシー更新まじコネ~
でも他のプロジェクトに浮気しようにもなかなか手ごろなのがないんだよなぁ
328:535
18/04/15 20:21:37.51 8sCJrZFg.net
いっそ実績のあるLeelaZeroを本気でパクりに行ってみるべきか…
でも多分、難解なんだろうな~
329:535
18/04/16 20:30:05.64 6KBtspgu.net
あんまりおかしいんでソースをオリジナルとdiffとったら学習係数が1/100になってたんだがwww
え~何時いじったかな全く記憶にないwww
これで学習が進んでくれれば!!
330:535
18/04/16 23:37:28.33 6KBtspgu.net
loss も entropyも減ってきてる!
これでベストポリシー更新が来れば!!
331:535
18/04/17 22:16:19.94 E16XJnGD.net
キタ━━━(゚∀゚)━━━ !!!!!
ベストポリシー更新きました!
次の切りのいいところで止めてプレーしてみよう
332:535
18/04/17 22:34:03.78 E16XJnGD.net
それはそうとzen+の発売日が迫ってますね。
金がないから買えないけど情報だけは追っかけてみます。
爆速だとい�
333:「な。
334:535
18/04/18 23:48:24.10 7NtNWbU1.net
あとちょっとだけ待とう
終局までの手数も順調に減ってきてるから意味のある手を打ってるんだろう多分
ワクワク
335:535
18/04/19 20:50:17.33 lyvIQrMy.net
打ってみました。
序盤、中盤は棋理の芽生えみたいなものが感じられました。
伸ばせそうなところを伸ばすとか伸ばされそうなところを止めに来るとか
でもわざと負けようとしても5連までは積極的に作りに来るのにそこからパタッと伸ばすのをやめて7連を作ってくれませんw
なぜw?
でもまあ、希望は感じられました。
もうすこし学習してみます。
336:535
18/04/19 23:51:35.82 lyvIQrMy.net
zen+なかなかよさげですね。
前世代と比べて一割前後性能アップ?
337:310
18/04/20 09:40:06.18 HgLFJ5UM.net
うーん。AMDはSIMD命令で遅い命令があって、速度低下するかもって
どこかで読んじゃったからなぁ。
こちらは地道に記譜作成しながら学習させてます。
深さ優先で記譜作成すると、分岐が少ない手筋ばかり増えていくので、
幅優先で、同じ深さである程度記譜溜まってから、次の深さとするように
したのですが、空きマス27からの記譜展開で、時間がかかるようになって
なかなか空き28マスに行けない。オーダリングの精度が出ていないから
だと思いますが、同時に選択肢も増えてきて、余計時間がかかる感じ。
空き30マス突破したら、かかる時間の増加率は下がるはずなんだけど。
338:535
18/04/20 22:59:48.32 1YRRGto3.net
もしかして終盤はあえてランダム性を残すことによって学習が進みやすくなるなどの深い理由があるのだろうか?
わからんが。
339:535
18/04/20 23:02:21.21 1YRRGto3.net
それとも序盤は同一局面のデータがたくさん現れるから学習できるけれど
終盤に行くとデータが散らばっちゃって学習できなくなるということだろうか
340:名前は開発中のものです。
18/04/20 23:03:29.26 1YRRGto3.net
あるいは一線や二線は打たないほうがいいと学習してしまっているがため、7連を作れないのだろうか?
341:310
18/04/21 20:32:42.81 AdkW58BW.net
オセロは記譜生成させてるだけで暇なので、将棋の事を考えてました。
KKPとかよくわからないし、同じ事をやってもつまらないので、利きを点数化
しようかと考えてみまして、実際の計算方法を考えていたら、自玉周辺と
相手玉に対する利きがKKPなのではないかと思い至ってしまいました。
持ち駒の点数は駒種毎に固定で振られていて、駒同士のぶつかりによる優劣
特に駒交換はmin-Maxにて補間しているのかなと。評価関数自体は意外と単純
な事しか学習していない感じで、探索で補っている部分が大きいように感じます。
こうやって見ると、上手く単純化しているなぁと。
自分で勝手に想像した内容に感心してしまいました。
ただ、これならこれで、自玉KPと相手玉KPの合算で、2駒関係に次元を落とせ
そうではないかと思ってしまいました。まあ、無理なんでしょうけど。
自分がやる上での一番のネックは、オセロの評価関数が点数だったために、
なんちゃって強化学習しかやった事がな点ですね。あと、みなさんライブラリ化
されていて、それに則れば色々な人の考えた高速化・高効率化のネタが利用
できる点で、一から車輪の再発明していては追い付けないよなぁと。
342:535
18/04/21 20:39:59.86 8g8p+RpI.net
ほう、将棋に進出ですか。
将棋AI界はオープンソースが進んでる感じなんですかね。
343:535
18/04/21 20:50:54.10 8g8p+RpI.net
alpha zero のパクりプログラムgithubから丸パクしてきたわけだけど
そろそろちゃんとソース読み解いてみようかな。難しいだろうけど
丁寧な解説がどこかにあればいいんだけどね
344:535
18/04/22 17:35:27.70 QOhFsFyf.net
お、AIが7作った。
いままではわざと負けようとしても勝ってくれなかったけど今回は勝ってくれた。
まだまだ弱いけどもっと学習させてみよう
345:535
18/04/22 19:13:47.98 QOhFsFyf.net
俺も学習見守るだけで暇になっちゃったからなんか始めたいけど
計算リソースが学習にもってかれちゃってるからそこどうするか。
やっぱPC新調か?
グラボも効果あるみたいだし今度はGeforce 1080 Tiとか試してみたいな。
金がないけど。
346:310
18/04/22 19:48:13.41 wf3ukgDl.net
だよね。自分も脳内妄想で我慢です。
PC新調しちゃうか思いっきり悩み中。
347:535
18/04/25 20:09:35.29 QZIUF0Ri.net
もっとネットワーク大きくしてみたいな。
でもさらに学習時間がかかると思うと躊躇する。
348:535
18/04/27 21:32:10.80 b1G/gV5U.net
お、損失が3点台だったのが2点台になった。
いい感じなんじゃないでしょうか?
349:535
18/04/28 17:38:12.12 MUOfiFNK.net
ジムケラーがインテルに来たとか。
いいCPU作ってくれるならどこでもいいけどね。
350:535
18/04/29 20:30:57.65 mX318X6T.net
序盤は素晴らしい棋理の芽生えを感じるが、いかんせん終盤がなぁ
ほかのアルファゼロクローンも似たような感じなのだろうか?
351:535
18/04/29 20:50:13.18 mX318X6T.net
公式AIともやってみたけど序盤センスは互角以上と感じられる。
実際、必至をかける一歩手前まで行った。
終盤力さえ磨かれればおそらく公式AI越えはある。
352:535
18/04/30 22:51:47.16 qAJqtYoj.net
学習が1000エピソード突破。
1500が規定値だから最後まで回したいな。
353:535
18/05/01 21:34:25.66 bYHVWZMu.net
もっとパワー、速度が欲しいな。
こんなことなら最初から1080 Ti いっときゃ良かったかな?
354:535
18/05/03 10:58:16.57 gNd8xJ5s.net
ちょっと思うところがあって、思い切ってネットワーク大きくしてみました。
学習最初からやり直しです。
さて吉と出るか凶とでるか。
355:535
18/05/03 13:28:58.30 gNd8xJ5s.net
ん、ネットワーク構成変えたら学習率もいじらないと上手くいかないのか?
ネットワークでかくしたら学習率は大きくすればいいのか小さくすればいいのか…
356:535
18/05/03 13:42:41.42 gNd8xJ5s.net
ネットワークでかくしたら学習率は小さくするのがいいみたい?
357:310
18/05/03 20:31:46.75 EAR7zekO.net
なんか順調でうらやましい。
俺もやっぱGPU付きのPC買うべかな。
一般的にLRでは、学習率は発散しない限界まで大きくするのが良いらしく、
昔は、最初大きく、試行回数増えるごとにだんだん小さくみたいな事をしてました。
NNではRMSPropとかADAMとかで自動調整する流れだと当時理解していました。
ただ、Googleの論文読むと、普通に学習率固定っぽく読めてしまうんですよね。
強化学習だと学習率固定が良いのかも知れません。
表現力大きいからあんまり問題ない気がするのですが、学習率は小さくすると
学習に時間がかかる代わりに、収束しやすくなります。局所解には陥りやすく
なるのではないかと愚考しますが、強化学習における局所解と、教師付学習に
おける局所解は現象が違うから、よくわかりません。
358:310
18/05/03 20:37:19.91 EAR7zekO.net
こちら、例によってひたすら分岐付き記譜を作成しています。
空きマス27の所(完全読みとしては26)のところから、計算時間が案の定すごく
かかるようになってしまって、遅々として進まなくなりました。
最後の手段でとっておいた、UCT探索で仮PV作成し、それでmtd(f)にて評価値を
迅速に確定して、その評価値で正しいPVを求めるという流れにしたところ、恐らく
数倍程度に高速化され、それによって記譜が集まり正確になる事で、評価関数の
精度が上がって、仮PVが正確になりという好循環に、ようやく入る事ができました。
ただ、それでもまだ時間はかかるというか、今空きマス28まで持っていったら、
また時間がかかる地獄に入りそう。最低でも空きマス30までは持っていきたい。
つか、待っている時間が長い…セカンドPCが欲しい。
359:310
18/05/03 20:41:41.51 EAR7zekO.net
>>351
>数倍程度に高速化され
あくまで仮PVが数手分合っている時の話で、仮PVが間違っていると、
むしろ遅くなる可能性があります。
あと、一つの局面に対し、最善手が複数あるケースでは、例えば最善手
が2つあると2倍程度時間がかかるという問題があるのは認識していて、
対策は可能なのですが、そうするとバグった時にβカットのエラーを吐か
ないという恐ろしい状態になってしまうので躊躇しています。
360:310
18/05/04 19:57:24.12 5CQB8Di3.net
世界コンピュータ将棋選手権の2次予選までで強さをみせつけている
T.N.K(通称たぬき)ですが、DL勢にして高速評価関数という事なので
アピール文書を見てみました。
これ、CNNではなく、全結合のDeep Networkの模様。追加で論文も
出ているので、見たところ5層のMLPです。
入力層に玉との2駒関係を使っていて、そこは計算量が多いので、
ここだけ差分計算で高速化しているとの事。自分は行列をEigenに
任せちゃってるので差分計算していませんが、オセロでも結構使え
るはず。
もう一度オセロをMLPに拡張したくなってきた(汗
361:535
18/05/07 20:19:04.83 m+uVPKyG.net
ネットワーク大きくすると学習が収束する確率下がるんですかね?
なんか学習がうまく進んでないようです。
362:535
18/05/08 00:21:37.96 VKk6NsC2.net
もしかして学習率だけでなく、ほかのパラメータにも手を加えなければならないってことですかね?
363:310
18/05/08 01:01:09.30 6noaUyVY.net
バックプロパゲーションで計算している以上、深さが深くなると、
その分初段まで誤差を遡らせるのに時間がかかるから、収束が
遅くなって当然かと思います。
あと、初期値のランダム値の幅も、適切に設定しないとなかなか
収束しなくなりますし、それでも初期値の運が悪いとまったく収束
しないなんて事もあり、ちょこっと不安定なところがあります。
XavierとかHeとか初期値の設定項目はありませんか?
本で読んだ知識なので、現実にどれくらい影響するのか良くわかりませんが(^^;
364:535
18/05/08 19:21:19.88 3yhYJr6O.net
おお、ありがとうございます。
しらべてみます。
365:535
18/05/09 21:58:37.29 53SriW94.net
パソコン壊れたかと思ったが放電したらなおった
あー怖かったTT
366:535
18/05/10 20:05:15.86 X+P+UxO/.net
学習率の変動率?を下げたら結構うまく動いてるっぽいです。
367:535
18/05/11 20:15:31.62 TPpBGuAT.net
loss とか entropyはいい感じに減ってるのに自己対局の結果がついてこないですね。
うーん、なんだろう?
368:535
18/05/12 17:16:50.40 UY4N1vvW.net
いや、自己対局もちょっとづつ改善してるみたいです。
もっと時間が必要かな。
369:535
18/05/13 18:33:11.99 jNzVm6ts.net
windowsがたまに夜中に勝手に再起動してしまうんだが?
マジむかつく(怒
370:310
18/05/13 19:53:17.92 i+O998yE.net
Windows Updateかな?
俺は通知もらうだけにして、タイミング見て自分で再起動かけてる。
まあ、24時間経つとカウントダウンが始まるので、早目に再起動する事になるけど。
371:535
18/05/16 19:41:44.02 zhHRqcbt.net
いままで50エピソード毎に自己対戦してたけど、自己対戦がかなり重いから200エピソード毎に自己対戦にしたらなかなかいい感じ。
372:535
18/05/16 20:52:45.23 zhHRqcbt.net
ネットワーク大きくしても詰めが甘いのはかわらないです�
373:ヒorz. 公式AIに勝つチャンスあったのに勝ちを逃してしまいました。
374:310
18/05/17 20:16:35.67 3wU0adoY.net
Surfaceの電源ケーブル、そろそろ断線しそうだなぁと思っていたら、
PCをひょいと動かした瞬間に、まさかの電源落ち。
ウェイトデータ書き込み中に停まらないように色々工夫していても、
この手の落ちには対処できるわけもなく、また大変に運が悪い事に
またしても後半10ステージ程度のウェイトデータが飛んでしまい
ました。バックアップとっていたのですが、気づかずにいたので、既に
上書き済みという罠。
後ろ10ステージ分のみゼロクリアして、そこだけ今のデータで再度
学習する羽目になりました。
orz
375:535
18/05/17 20:37:00.03 anbc4vLN.net
乙w
376:535
18/05/17 23:06:00.81 anbc4vLN.net
これはNew マシンを買えとの神のお告げww
377:535
18/05/18 20:48:52.38 UxmUzKYy.net
まただよw(再起動)
378:名前は開発中のものです。
18/05/18 21:21:28.72 UxmUzKYy.net
藤井聡太さんが7段昇格とか。
凄すぎ
379:535
18/05/19 20:01:16.80 PB1pw3rI.net
むう、AlphaZeroのポテンシャルはこんなものではないはずだが。
でも100万局くら学習させないと真価は発揮できないかもなぁ。
380:535
18/05/20 23:46:47.79 A2GqvvmZ.net
19路囲碁だと20層くらい層がないと駄目だとか。
うーん20層は厳しい。。。
381:310
18/05/21 20:17:29.25 aDShJzMX.net
畳み込み窓が3×3で、隣との関係を1マス分づつ認識しているとすると、19路で
19層必要で、出力の全結合層つけて20層って事なのかなぁ。
あとフィルタ数も大事だと思う。フィルタで認識する特徴の種類が決まっていると思う。
なんとなくだけど、こう仮定している。検証はしていない(汗
382:535
18/05/21 21:00:41.57 9qAF6usq.net
いまのところ192 * 6 でやってます。
9路だから192 * 10 にすればよかったかなぁ
383:310
18/05/22 20:12:53.71 do1nJaPu.net
五目系なら、周辺5マスが把握できていればよいかもよ。
比較検証しなきゃわからんけど。
384:535
18/05/22 20:18:42.34 025jAm4L.net
うーん、そうなんですか?。
ライフゲーム囲碁はもろ周辺5マスなんですけどね。
囲連星成功したらライフゲーム囲碁もやりたいですね。
385:535
18/05/23 23:49:25.39 z+TgzaXz.net
くそ~何時まで経っても一手の重みみたいなものを理解してくれないorz.
なんか足の遅い打ち方するんだよなぁ。
もういっそ20層にしちゃおうかな orz
386:535
18/05/24 20:38:02.47 g5FOS6wP.net
ん、ちょっとづつだけど強くなってる気がする。。。
くそ~Googleの計算リソースがあれば30分くらいで名人超えるんだろうけど。。。
387:535
18/05/24 20:57:44.30 g5FOS6wP.net
自己対戦が勝率100%行ってしまいました。
対戦相手も更新されていくなら勝率100%は行かないと思うんですが。
もともとの実装がなにかおかしいのだろうか…
388:535
18/05/25 23:18:10.63 Wo9ACErv.net
まだ公式AIに勝てないけど毎日ちょっとづつ進歩しているのは感じる。
まだ希望はある。
389:535
18/05/26 20:20:48.78 qA0Nw26t.net
Alpha Zeroのアルゴリズムは囲連星よりもライフゲーム囲碁に向いてる気がする。
390:535
18/05/26 21:33:20.38 qA0Nw26t.net
FacebookがELF OpenGoというのを公開したとか。
プロ棋士にも勝てるみたいですね。
391:535
18/05/27 19:07:25.97 kULpg0Pw.net
ELF OpenGo もGPU 2000台とか使わないと強くならないみたい?
は~絶望する。
392:535
18/05/28 22:00:33.18 hqRKJ+dG.net
昔のLeela zeroもそうでしたがシチョウが読めてないっぽいですねぇ
393:535
18/05/28 22:12:43.53 hqRKJ+dG.net
でもちょっとづつでも確かに前進してる気がします。
ロールアウトの回数増やしたら学習の質も上がるかなぁ?
やってみるか。。。
394:535
18/05/29 20:13:27.71 LETTkqJf.net
ん、lossとentropyがかなり増えてますね。
ロールアウトを増やしたえいきょうだろうか?
395:535
18/05/29 21:44:21.56 LETTkqJf.net
ネットワークを192 * 20 にしたい衝動に駆られるw
危険な賭けだが…
396:535
18/05/30 22:20:56.63 s+sw+z1r.net
キタ━━━(゚∀゚)━━━ !!!!!
公式AIに初勝利!
内容としては相手のミスに助けられただけだけどそれでも格段に進歩してる!
(
;FF[1]GM[1]SZ[9]
;B[fe];W[fc];B[de];W[dc];B[ed];W[ec]
;B[gc];W[gb];B[ee];W[cb];B[ce];W[hb]
;B[ge];W[fh];B[be];W[gd];B[he])
397:535
18/05/31 22:06:07.55 CLpDRjz4.net
惜しい!惜しいなぁ。
中盤まで内容は圧倒しておきながら最後の盤端のシチョウが読めずに逆転負け。
学習途中のAlpha Zero系の弱点が出てしまいました。
でも、ここ克服したら100戦100勝もあり得るかも。
(
;FF[1]GM[1]SZ[9]
;B[df];W[fe];B[de];W[cg];B[ef];W[hg]
;B[ff];W[gf];B[cf];W[gd];B[fg];W[gh]
;B[dg];W[gc];B[gg];W[ge];B[dc];W[hb]
;B[dd];W[dh];B[db];W[da];B[eh];W[ha]
;B[eg];W[hc];B[he];W[ie];B[hf];W[if]
;B[hd];W[id];B[he];W[ch];B[hf];W[hd]
;B[he];W[hf];B[di];W[he])
398:535
18/06/01 22:15:38.64 i1DTZ7p0.net
本来負けてたはずのゲームですが逆転勝利しました!
以前より大分、棋理のようなものが身についてきている感じがします。
ロールアウト増やしたのが効いたかな?
(
;FF[1]GM[1]SZ[9]
;B[df];W[fb];B[ef];W[ff];B[fe];W[ge]
;B[fg];W[gf];B[gg];W[cg];B[cf];W[hg]
;B[fd];W[gd];B[gc];W[hc];B[fc];W[hb]
;B[hf];W[hd];B[he];W[eg];B[dg];W[hh]
;B[eh];W[eb];B[dd];W[gb];B[db];W[dc]
;B[ec];W[de];B[cc];W[bc];B[ed];W[id]
;B[ce];W[ie];B[ei];W[bh];B[ee];W[ba]
;B[eg])
399:535
18/06/02 21:54:09.55 GZGHIXxE.net
ぼちぼちウインドウズに移植することも考え始めなければ…
400:535
18/06/04 20:50:12.16 Hw4HpbU5.net
毎日棋風がすこしずつ変わっていくな。
面白い。
3線を重視し始めたようだ。
401:535
18/06/04 21:29:44.63 Hw4HpbU5.net
なんかネットワークの規模が足りてない気がしてきたわ。orz orz orz
一気に256 * 20くらいに増やしてみようかな?
気が早いかな~
402:535
18/06/04 21:42:52.90 Hw4HpbU5.net
うーん、どうせやり直すなら早いほうがいいよね?
でもこのまま学習続けたら何が起こるかも知りたいし…
悩ましい。
403:535
18/06/04 22:55:50.50 Hw4HpbU5.net
思い切ってネットワーク構成を256 * 24 にしました。
激遅になりそうだが…
404:535
18/06/04 23:05:36.60 Hw4HpbU5.net
ネットワークを192 * 6 から 256 * 24 にしたら計算量は(256*24)/(192*6)=5.333倍であってる?
まさか指数的に計算量増えたりしないよね?
405:535
18/06/04 23:18:15.88 Hw4HpbU5.net
メモリが足らんといわれたぜwww
12GBも割り当てたのにwwww
こりゃニューマシン買うしかないな。
406:535
18/06/05 00:01:42.42 2ipfQYrF.net
とりあえず、64 * 24 にしてみました。
これでも6GB位メモリ食う。
まじでスレッドリッパーに128GB積みたい衝動に駆られるw
407:535
18/06/06 21:01:18.82 /EVpmksK.net
やっぱ24層は無理かもorz
全然学習が進んでるように見えないorz
408:310
18/06/06 21:38:17.47 dXECgVmr.net
残り28手のところで1か月足踏み。やっと記譜がたまってきた。
残り30手まで行くのに半年くらいかかりそうw
というか、まだまだパターンが足りていないかも。
>>396
隠れ層のサイズは2乗で効いてくるから、256^2/192^2。
深さは単純に計算量が4倍になるとして、ざっと7倍くらいになるのでは?
学習は深さが増えるとどんどんきつくなるかと。
誤差逆伝播の宿命です。
409:535
18/06/06 22:38:14.91 /EVpmksK.net
>隠れ層のサイズは2乗で効いてくるから
おお、そうなんですか。ありがとうございます。
>学習は深さが増えるとどんどんきつくなるかと。
24層は諦めました。
今12層くらいで試行錯誤しています。
410:535
18/06/07 00:15:51.92 FD/EuCH4.net
うーん、極めて微妙なバランス調整を強いられるのか?これは
411:310
18/06/07 22:47:08.28 3tsX2weq.net
マシンパワーが潤沢にあれば、かなり大きいネットワークから学習させて、
最低限どれくらいの大きさなら弱くならないかが求められるんだけどねぇ。
Googleみたいに。
412:535
18/06/07 22:50:20.44 FD/EuCH4.net
そういえば新しいスレッドリッパーは32コアになるとか。
うーん欲しい。
413:310
18/06/08 09:01:40.50 kLQfp5L9.net
今見た。64スレッドだってw
414:535
18/06/08 21:09:32.65 sd8J+TAa.net
あんまりうまくいかないから気分が萎えてきちゃった。
少し気分転換するか…
415:535
18/06/09 22:29:54.70 E47zq0gI.net
層を9層に減らして再チャレンジ
どんどん後退していくが仕方ない
416:535
18/06/10 22:48:39.36 vDwVPN5j.net
Googleが無料で12時間のクラウドGPUを提供してるとかなんとか
URLリンク(www.tdi.co.jp)
417:535
18/06/11 20:34:52.58 CmwqwxJa.net
くそーどうにもうまく行かね~
一回試すのに結構時間かかるのも痛いorz
418:535
18/06/12 18:16:53.37 ZNBJ6nca.net
あんまり上手くいかないんで頭おかしくなりそう
ちょっと休憩します
419:310
18/06/12 22:17:08.85 tW9CPEWd.net
NNの罠ですな。
自分が逃げたのは、それです(汗
420:535
18/06/12 22:59:32.98 0htatJhS.net
>>411 くそー
パラメータ100種類くらい用意して同時に実行したい orz
421:535
18/06/15 20:18:16.05 8McWyxkP.net
CPU Ryzen 2700X
GPU Geforce 1080
Memory 64GB
SSD 500GB
これを満たそうとするとやはり40万円近くなる。
厳しい。
422:535
18/06/15 23:05:29.07 8McWyxkP.net
フロンティアってショップかなり安くない?
なんか裏があんのかな?
423:310
18/06/16 09:22:12.72 zNyAzUlc.net
フロンティアと言えば懐かしのフロンティア神代(こうじろう)かなと思ったらビンゴでした。
Wikipedia情報によると、フロンティア神代はヤマダ電機に吸収されて解散していて、
BTOショップにフロンティアという名前だけ残っているみたいです。
ヤマダ電機なので裏は無いでしょうね。
7980XEに1080Tiで128Mとかにしていくと、だいぶ価格差は詰まっていきますが、
それでも多少安いみたいですね。というか、8700Kだったらかなり安いかも。
424:535
18/06/16 23:00:41.95 Xmjs3i0Q.net
pytorchってAMDのGPU使えないよね?
Cudaだよね?
425:535
18/06/16 23:08:34.52 Xmjs3i0Q.net
多層を重ねるのは諦めてフィルタ数で勝負というのもあるだろうか?
426:535
18/06/17 20:06:40.29 S/cw4ZOV.net
実はこっそり再開してましたが9層からさらに後退すべきか悩んでます。
ここから1層づつ減らしていって学習がまともに進むところまで後退するのを考えています。
427:535
18/06/18 21:07:45.14 Wo5CnXra.net
8層も望み薄
7層は囲連星が7目並べだからあるいみちょうどいいかも?
428:535
18/06/18 23:34:21.39 Wo5CnXra.net
お、7層はうまくいくかも
まだわからないけど
429:535
18/06/18 23:35:41.11 Wo5CnXra.net
でも6層でだめで7層でOKというのもちょっと考えづらいといえば考えづらいんだよなぁorz.
430:310
18/06/19 00:55:25.28 FOfYGuya.net
ゲームとして必要最低限と思われる最低限の層数から1層づつ増やして行って、
一つ前の奴に有為に勝てる様になるまでの学習時間を図っていくという手もある
かなと思います。
面倒でやりたくないですが。
自分はひたすら記譜作成。
少しづつ改良を加えていますが、残り28手(読み切りとしては27手)で足踏みして
います。早ければ6分程度で終わるのですが、いかんせん25~26手目の評価
関数が穴だらけみたいで、長いと4時間とかかかってしまい、なかなか棋譜が集め
切れません。記譜が集まると速くなるのですが、集まるまでの時間がかかりすぎ。
431:535
18/06/19 22:25:49.15 pDwqV+QB.net
パラメータ調整ってプログラミング本来の楽しみがほとんどなくてそこが辛い。
とくに他人のコードだと。
弱くてもオリジナルのヒューリスティック実装するのは楽しいんだよなぁ。
うーん。
432:310
18/06/19 23:13:29.58 FOfYGuya.net
すごくわかりますorz
だから、非効率でも、自分でNNのライブラリ作っちゃおうとしたりするのでする。
433:535
18/06/20 20:38:16.59 HpjQCtCz.net
7層も駄目っぽいorz orz orz
もう少し粘るか悩むorz orz orz
434:535
18/06/20 21:21:48.36 HpjQCtCz.net
そこそこ上手くいってた6層のバックアップを引っ張り出して続きの学習をさせてみることにしました。
結局、全部無駄だった orz orz orz
435:310
18/06/23 00:43:44.99 MYOaLSBl.net
長いと4時間…
出張中に丸48時間動かしっぱなしにしましたが、3つしかできなかった。
一つ16時間w
436:535
18/06/24 23:17:32.46 +0RpmqDG.net
なんか異様に辺の星を重視するようになった。
ちょっと単純化しすぎな気がするが、やっぱ層が足りてないのか?
437:535
18/06/25 20:09:56.17 EkJF+fRZ.net
んあ、なんか一線打つようになった?
過学習かなんかか?
438:535
18/06/25 20:42:46.09 EkJF+fRZ.net
結局6層も駄目なのかなぁ orz orz orz
アルファゼロのポテンシャルはこんなものではないはずだが。orz orz orz
439:535
18/06/25 21:48:22.04 EkJF+fRZ.net
もうちょっと粘ってみるけど、アルファゼロ(少なくとも>>214のプログラム)からの撤退も考え始めてるorz orz orz
440:535
18/06/26 21:04:26.12 1tkUkpm5.net
お、一線に打つのは治ったようです。
441:535
18/06/27 21:01:58.89 dPu535sz.net
お、すごい!
まだ詰めはあまいけど、まるで地を取ることはいいことだという棋理を理解したような打ち方で勝った!
まだ希望はある!
(
;FF[1]GM[1]SZ[9]
;B[ee];W[eg];B[ec];W[ff];B[gd];W[dg]
;B[cd];W[cg];B[fd];W[dd];B[de];W[fh]
;B[gg];W[gh];B[hh];W[gf];B[hg];W[dc]
;B[hf];W[bg];B[he];W[ah];B[hc];W[hd]
;B[id];W[ba];B[hb];W[bi];B[hd])
442:535
18/06/28 21:14:27.14 Owd80tJ7.net
まただよ(再起動)
443:535
18/06/28 21:14:59.02 Owd80tJ7.net
ネイティブリナックスにしたら再起動なくなるんだろか
444:535
18/06/29 21:22:30.04 24sRxbs9.net
ふと思ったけど詰みルーチンをルールに組み込んで詰みがあるときは詰みを打たなきゃいけないルールにして学習させて
十分学習したら詰みルールを外したら学習時間短縮できたりしないんだろうか?
ルールが違ったら全く重みが役に立たなくなっちゃうかな?
445:535
18/06/29 22:02:45.79 24sRxbs9.net
2線を重視し始めたようです。
毎日棋風が変わっていくな。
AIが自らいろいろ試してるみたいでホントに知性があるかのような錯覚を覚える。
446:535
18/06/29 22:37:39.80 24sRxbs9.net
相変わらず隅のシチョウが読めてないですね。
7連を作るにはほぼ必須なので克服してほしい。
447:535
18/06/30 22:29:57.74 8vhkC7kM.net
圧勝の形勢を築いておきながら隅の石が取れずに逆転負け。
ここは何としても克服せねばなりませんなぁ。
(
;FF[1]GM[1]SZ[9]
;B[hh];W[df];B[cg];W[fg];B[gc];W[ef]
;B[gf];W[ge];B[cc];W[fc];B[ce];W[ed]
;B[cf];W[cd];B[bd];W[dd];B[bc];W[bh]
;B[bg];W[ff];B[fb];W[eh];B[ec];W[fi]
;B[fd];W[dc];B[db];W[
448:eb];B[ea];W[cb] ;B[bb];W[dh];B[be];W[bf];B[ca];W[gb] ;B[cb];W[ch];B[gh];W[hb];B[de];W[ee] ;B[af];W[ba];B[fh];W[hc];B[ah];W[hd] ;B[eg];W[dg];B[gg];W[fe];B[ei];W[gd] ;B[ig];W[bi])
449:310
18/07/01 09:58:13.46 rTgUJVKi.net
強化学習は一通り失敗をして、ダメな手を覚えていくものですからね。
450:310
18/07/01 16:25:08.28 rTgUJVKi.net
過去に途中でプログラム止めて、中途半端な状態になっている記譜(棋譜としては
成立しているけど、他の記譜との接点が無い)を見つけて、続きを実行するような
仕組みを作りました。
これで心置きなく途中で止められる。
451:535
18/07/01 23:21:40.95 1CvUBjWR.net
いったん学習中断します。
気分を変えて囲連星やめてライフゲーム囲碁に逃げようかと思ってます。
プログラムもgithubから別の拾ってこようかと思います。
マルチスレッドに対応してて大規模ネットワークを想定してそうな奴。
452:535
18/07/04 19:57:24.45 t+xDGMvg.net
githubに落ちてて大規模ネットワークに対応してるとなるとleela zero とかだろうか?
453:535
18/07/04 21:32:30.05 t+xDGMvg.net
とりあえずAQって囲碁ソフトのソース見てます。
454:535
18/07/04 21:43:59.79 t+xDGMvg.net
んんん、AQってヒューリスティックてんこ盛りなんですかね?
他ゲームに応用が利かなさそうな怪しげなコードが見受けられるw
シチョウのコードとかあるっぽいし。
つっても囲連星なら応用効くだろうけど。
逆に19路囲連星に走るというのも考えられるw
455:535
18/07/04 23:19:04.05 t+xDGMvg.net
あかん、これは相当キツイわw
まあ勉強にはなるかもしれんがモノになるかは微妙だww
456:535
18/07/08 22:10:22.48 cyFrinl7.net
がっつりさぼってますw
457:535
18/07/12 22:46:30.45 sqTgsSS4.net
やる気が出なくて、昔作ったモンテカルロのAIを動かしたりしていますが
モンテカルロでも割といい線行ってたんだとちょっと思いました。
なにかもう一度動き出すきっかけが欲しい。
458:310
18/07/12 23:01:05.40 x4U4b182.net
相変わらずひたすら記譜作成中。
現状の記譜の中に、ランダム着手の記譜が混じっていて、そいつらを
遡るのにものすごく時間がかかる事が経験的にわかっています。
つまり、そこそこ最善に近い手を打っている記譜の遡りは早く、悪い手
ばかりの記譜は遅い。
現状、最善に近い手に対しては、そこそこまともな評価関数になっている
という事は言えるので、一旦遡り対象の記譜を消して、この評価関数で
作られる新しい記譜で継続学習させた方が良いかもと思い始めています…。
459:535
18/07/15 19:54:25.23 I+Rk5Prr.net
だめぽ
3連休も無為に過ごしてしまったorz
あと一日あるけど
460:310
18/07/16 22:12:02.39 99JpH5NZ.net
棋譜作成のロジックをだいぶ変更。
過去の奴に当てはめると結構面倒な事になるので、
>>449の予告通り記譜はいったんリセット。
あと、パブリックドロー(残り40手最善)な記譜が
いくつか見つかったので、そいつらも棋譜に混入。
もっとパブリックドローな記譜が欲しい。
461:535
18/07/19 22:43:05.06 7AkuvwH4.net
reinforcement learningとやらについてやさしく書かれた書籍ないかなぁ
462:535
18/07/22 21:40:49.08 W18yPuDN.net
勉強として>>214のソースちゃんと解読してみようかなぁ
やりっぱなしじゃ勿体ないかもしれないし。
463:535
18/07/23 21:26:02.08 h2uxnpW8.net
熱暴走なのかpcが急に再起動したw
もし学習連続運転してたら火吹いて火事にでもなってたかもな
464:535
18/07/24 21:22:08.00 65EBIksd.net
pcが起動しないorz
電源ボタン押すとファンが少し動いて止まってを繰り返す
暑さで逝ってしまったか?
465:535
18/07/25 21:55:40.30 P+agX1Gu.net
しばらく活動出来ませんねこれは、、、
466:310
18/07/27 22:29:42.44 yYgmXJLn.net
あれれ。大変ですね。
うちは、ここ2~3日回線ダウンでした。本日ようやくNTTに連絡して再開。
暑さでONUが死んでたみたいです。
棋譜作成は、結局元の棋譜もマージしてしまいました。
おかげさまでえらく時間がかかっています。
467:535
18/08/08 19:39:47.19 O1x6YwVI.net
活動やめたら楽チンすぎてなかなか復帰する気になれないw
何かに追われるように毎日過ごしてましたからね。
メインマシンも壊れたまんまだし。
それはそうと13日にスレッドリッパー発売ですね。
金がないから買えないけど1ファンとして楽しみにしてます。
468:310
18/08/09 22:24:55.93 86sArqqe.net
最近はボーっとしながらひたすら棋譜作成です。
そろそろハイクラスPCを買って、完全に放置プレーしようかと思っていたりします。
DCNNに対する興味はすっかり薄れてしまいました。
しばらくはゆっくりしたいですね。
469:535
18/08/15 22:34:00.44 BoOe3LxW.net
NVIDIAからグラボの新作がでるとか。
それを機にPC新調してこのスレに復帰するか…
470:535
18/08/25 20:51:29.15 rZw/NWPD.net
メインマシン復活させようと思ってたぶん壊れたのHDDだと予想して
新しいHDD買ってきて動かしてみたけどはずれだった見たいorz
あんまハードウェアのトラブルシュートの経験ないんだよなぁ
471:名前は開発中のものです。
18/08/26 10:48:28.72 FqCSlXSS.net
とりあえず外付の光学ドライブからlinuxの何か適当なデストリで起動させてみるべきでしょ
472:535
18/08/27 00:06:58.09 JrsDI1JE.net
お、レス付いてる。
ありがとうございます。
しかし、BIOSの画面すら立ち上がらない状態なのでどうしたものか…
473:310
18/08/27 09:30:35.26 QOs+gZK+.net
PC新調するとか言って、またプログラムいじってます。
もうやる事はないだろうとか思っても、なんか出てくるんですよね。
474:310
18/08/27 09:34:46.66 QOs+gZK+.net
BIOS上がらないんだとすると、保証期間があるうちに
販売店に持ち込んでチェックしてもらった方が良いかと思う。
ハード障害の切り分けとかスキルとしては面白いけど、今の本題じゃないし。
475:535
18/08/27 21:13:56.92 JrsDI1JE.net
うーん。もう保証書とかどっかいっちゃってますねorz
まあ、やはりここはしばらくお休みをいただいて
Geforce 2080のレビューが出るのをまって
よさそうだったらPC新調してそれから復帰します。
Geforce人工知能系も強化されてるとのうわさもありますし。
476:535
18/09/18 20:53:46.52 vzQA+msr.net
Geforceの発売が迫ってますね。
性能もいいけど値段もいい値段するとかって話で悩ましいですね。
しばらく様子見か。
477:535
18/09/21 21:09:54.51 2dO4A596.net
新Geforce、とりあえずpytorchが対応するのかどうか、
対応したとしてどれくらい性能上がるかみきわめてからですかね?
仮に大金だして買うとしても。
478:310
18/10/02 09:01:31.04 Rgg2Um0o.net
ご無沙汰です。
地味に棋譜作成を続けていますが、そろそろ色々と重くなってきたので、
裏で新バージョンを作り始めています。探索に関係ないところは、色々
整理して結構軽くなった(と思う)のですが、探索部分の速度が大幅に
低下してしまって悩み中。
現バージョンとまったく同じ条件で比較したところ中盤探索で3倍弱は遅い。
比較してないけど終盤探索は下手すると10倍近く遅い感じ。
中身はほぼ一緒なので、何が原因で遅くなっているのか不明。
コンパイルオプションなんかは一緒。共通で使用しているclassのどこかに
原因が潜んでいそうなんだけど、違いが見当たらない…
479:310
18/10/02 23:18:16.56 odJoEjbT.net
まさかまさかの__vectorcallが原因だった。
全部取っ払ったら中盤探索については逆に速度30%アップ。
変な事考えないでコンパイラに任せましょうというお話でした。
480:310
18/10/10 09:51:58.44 +G+W4fz+.net
28コア56スレッド…
18コア36スレッドが安くなるかなぁ。
棋譜作成を新バージョンに乗り換えました。
全体的に速くなる修正については、10~20%程度なので効果不明。
あと特定の条件で遅くなる原因を見つけて地味に潰しています。
後者については、一つ原因わかっていて直しようが無いものが。
並列処理にPPL使っているのですが、parallel_forではせっかく並び替えしても
ランダムに処理が走ってしまう事。ybwcなのでPVを最初に実行する事は保証され
ているのですが、PVが間違っていた時に、parallel_for内部で2番目の順位の
スレッドがいつキックされるのかわからないどころか、最悪一番最後の可能性も
ある点です。null window searchでβカットに強く依存しているので、ここは非常に
困ります。
解決策1)parallel_forの改良版を自分で書く
解決策2)スレッド数の多いPCに乗り換えて、この問題が起きる確率を下げる
どうしよう(汗
481:535
18/10/12 21:02:40.65 ji0aAVVe.net
9900Kも結構面白いかも?
結局新PC購入に踏み切れてないけど、
来るべきその日のためにGithub漁るところから再スタートしようかなぁ
482:310
18/10/12 23:00:16.66 CTNeLPXP.net
結局あきらめて解決策3)初段のみYBWCのお兄さんを2人にして様子を見てます。
forwardのロジック(最善手の手順で着手可能な手を展開)を全面改訂。
今まで降りていく手を、BitboardのLSBに近い方から1つだけ選択してましたが、
これによって局面の偏りが生じていたようなので、全て展開するようにしました。
棋譜の増殖が凄い事になっちゃうんだけど、仕方ありません。
同じ仕掛けでbackwardも書き直し。
Eigenの並列化、リソースモニタ見ても2コアしか使っていない感じ。4コア使う指定
しているのに。謎。
その他、並列化できるところは並列化を検討。
やっぱPC欲しい…12コアくらいでも良いかという気がしてきた。
483:310
18/10/14 23:06:48.18 Z3+yTgkQ.net
局面の偏りが結構酷い事になっていました。
新しいforwardでは反復深化の評価値を表示するようにしたのですが、探索が進む
ほどに0になっていきます。そこで盤面のパターンが一回も出てこないケース(0値)
を調べたところ、後ろの方が大量に…。前回書いたLSB問題の影響がかなり大きい
という事です。
というわけで、棋譜作成の時には、少なくとも複数選択しあるときにはランダムに
選択するように変更し、既存の棋譜については、仕方がないので後ろの方をランダム
を導入した仕組みで再探索したものを追加していく事にしました。
1件1秒程度でできるので、折に触れてランダム化していこうと思います。
全部展開すると件数が大変な事になるので、様子を見ながらこの辺でお茶を濁して
みようと思います。
484:名前は開発中のものです。
18/10/18 01:59:08.41 VXZ7Gx+W.net
ずっと昔にオセロを作っていた者です。
久しぶりに再燃したので熱があるうちに…
50万棋譜計画のバグっている棋譜、被っている棋譜を消去して、22マス空きからの読み切り訂正をやってます
プログラムを3つほど立ち上げて一日9万局…めどは一ヶ月ぐらい
最近寒くなってきたのでちょうどいいかなとw
FFO45が32秒ぐらいで、まだまだトッププログラムには及びませんけど、
この棋譜訂正で大幅に縮まらないかと希望を持ちつつ進めてます
485:535
18/10/20 22:43:08.00 T970svPP.net
zen2まで待つのはさすがに待ちすぎかなぁ?w
とりあえずAQのコードに結構詳細なコメントが付いてることにいまさらながら気づいて
もう一度チャレンジしてみるかどうか迷ってるところ。
486:310
18/10/21 22:20:35.21 wV/AjJxk.net
>>475
はじめまして。新規参入嬉しいですね。
50万記譜計画の記譜は今はHPからダウンロードできないですね。懐かしい。
評価関数が正しくないと、探索時間かかりますからね。
自分は今は、自作の記譜を後ろから順番に訂正していってます。
が、やはりすごく時間がかかりまするorz
487:310
18/10/21 22:39:45.97 wV/AjJxk.net
先日、局面の偏りで反復深化で評価値がゼロになっていく件を書きましたが、
もっと大きな問題な気がしてきました。
マイナスの評価値になるはずの局面から、中盤探索を反復深化で深くしていく時、
途中で評価関数的に未知の局面に入って、評価値0を返すようになる事があります。
もともと期待される評価値はマイナスなので、評価値0のルートに乗り換えてしまい
ます。どうもこの様な現象が起きる事で、探索を間違える事がありそうです。
これから、デバッグ用のプログラム書いて、現象を確認してみようと思います。
もしかしたら、評価関数の初期値をゼロから始めるのが、良くないのかもしれません。
初期値を-1にすると、未知の局面は-66点(パターンの種類)になるし、1つ2つ
混入したくらいでは、評価値への影響も小さいのかなと思っています。
評価関数のゼロデータを-1にして動かしてみる方が早いかなぁ?