【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
1-

131
(1): 310 [sage] 2020/02/23(日) 00:56:57.70 ID:9FygPBnT(1/4) AAS
間違い探しを続けるうちに、何故Zebraの評価値の方がまともに見えるか問題に
突き当りました。で、評価関数を手数毎に60種類に分割している事で、学習データ
が不足しているとか、スムージングしていないために、2手前の自分の番の盤面との
差分が取れないとかの問題があるのかなぁと思い立ちまして…。

また、4対称採用した事で学習時間も4倍になってしまいまして…。

思い切って、評価関数を1つにまとめてみたらどうだろうと思い立って、専用の学習
プロジェクトを作ってやってみました。通常数百回学習しないとまともな学習ができ
ないのですが、20回学習したところで、意外とフィットしてしまいました。学習時間も
少し減ってる気がする。

一旦評価関数の癖を変えたほうが強化学習も進むかなと思い、とりあえず本番採用
してみました。気持ち速度も速くなった気がしています。もっとも、評価関数の学習具合
によってαβのorderingも変わって速度が変わったりするので、今後学習を積み重ね
て、過学習気味になったりした時にどうなるのかは不明。

これから数日動かしてみて、良かったらこっちにしようかと思います。強いオセロAIを
作るのなら、対戦してどっちが強いとかやるのが本来なのですが、特にそういう目標も
現状あるわけでなし(汗
132: 310 [sage] 2020/02/23(日) 01:08:08.23 ID:9FygPBnT(2/4) AAS
>>127
127(2): 310 [sage] 2020/02/22(土) 21:32:51.12 ID:wHsEFeMN(1) AAS
間違える局面が特定できているて、間違えた手を訂正できるんなら、
訂正後から対戦再開させて、その棋譜で局面DB更新して、学習するとか。

特定できていなくても、基本強化学習は、対戦→DB更新&学習の
繰り返しで、徐々に間違いを訂正していく方法。もうちょっと工夫する
ならε-Greedyなどの手法で既存の棋譜の途中で無理やり別の手に
分岐させていく。その手が悪くても、「悪い手である」という認識を学習
させる事ができる。

線形計画だとモデルが上手くできていないと学習が飽和しちゃうけど、
DNNだったらある程度うまく学習してくれるかも。
に捕捉しとくと、

自分はGreedyな手法の精度をあげるために、浅い探索(9手)と組み合わせて、
評価値が少しだけ悪い手とか、Book登録ないのに評価値が良いとか、いくつかの
基準の訂正ロジックを作って、明らかに悪い手を排除したGreedy法をとって、
既存の棋譜に対して順次分岐を生成していく事で、Bookを埋めて行っています。

分岐は13手読みで作成していますが、この分岐も間違いがそれなりにあるため、
間違いを積み上げているのではないかという懸念もあります(汗

オセロの場合、黒白両者とも最善の場合、引き分けに収束する可能性が濃厚なため
初手から最善引き分けとなるツリーについては、先頭側からこのGreedy法で分岐を
生成し、また(後ろから)確定読み切りを優先して実行する事で、引き分け手順だけ
優先的に精度を上げています。

評価関数作るのに、こういう制約をつけた方法が良いのかは不明です。現に極端に
形勢が傾いた盤面の読み切りは、学習データが不足しているために、引き分け盤面
よりずっと時間がかかるように感じています。
133: 310 [sage] 2020/02/23(日) 03:01:39.99 ID:9FygPBnT(3/4) AAS
げげ。>>131の奴、本番に入れて学習させたらうまく動かん…。

原因箇所は特定できたけど、そもそもBook分だけで学習していて、後半の棋譜から
教師データ作ってなかったので、件数が大幅に違う。後ろ15手分が抜けている。

が、これが入ると学習の途中で無限ループに入ってしまう。
何かのオーバフローなんだと思うけど、今は原因不明orz
134: 310 [sage] 2020/02/23(日) 10:00:35.35 ID:9FygPBnT(4/4) AAS
たぶんなおった。

学習の進行具合インジケータの*印の数を作るところでオーバーフローして
延々と*を表示し続けてるだけだったw

こういうところで適当にint使っているのがいかん。
と、怪しそうなところをsize_tに直したら、整合性が取れなくなってワーニングの嵐w
適当にsize_tにすればよいというものでもなかったw
135: 535 [sage] 2020/02/23(日) 22:36:15.39 ID:xJvwRHu1(1) AAS
オーバーフローが嫌だからついlong longを使ってしまうw
メモリ余計に食うけど。
136: 535 [sage] 2020/02/24(月) 18:53:46.31 ID:S84dSY4F(1) AAS
タイルゲーム、完全解析した後でもそれなりに楽しめる不思議。自力では勝てないからな。
そういやconnect4より複雑で完全解析されててネットで遊べるゲームってなにかあるのかな?
137: 535 [sage] 2020/02/25(火) 20:37:07.39 ID:10rOW9ls(1) AAS
データ取りなおしたので再度DNN学習させてみます。
ついでにネットワーク少し大きくしてみます。
138: 535 [sage] 2020/02/26(水) 20:24:56.08 ID:LbNvrAvP(1/5) AAS
なんかDNNほぼ最悪の手を打つんだが…
真逆の学習させちまったか?
139: 535 [sage] 2020/02/26(水) 20:40:14.06 ID:LbNvrAvP(2/5) AAS
試しに評価値に*-1してみたがやっぱり悪い手を打つ。
真逆ってわけでもないのか?
わけわからん
140: 535 [sage] 2020/02/26(水) 20:50:37.02 ID:LbNvrAvP(3/5) AAS
モンテカルロ木探索の部分が間違ってたっぽい
141: 535 [sage] 2020/02/26(水) 21:22:57.03 ID:LbNvrAvP(4/5) AAS
うーん、なんかアルファ碁Leeみたいに、数手前の手順を学習データとして食わせるといいかもなぁ。
石がぶつかってる時の判断がちょっとおかしいんだよなぁ
142: 535 [sage] 2020/02/26(水) 21:35:19.66 ID:LbNvrAvP(5/5) AAS
もうヒューリスティックもモリモリ入れちゃおうかなぁ
143: 535 [sage] 2020/02/27(木) 19:12:50.92 ID:7f4H7cqb(1/2) AAS
お、微妙に勝ち越している。
でも微妙すぎw
144: 535 [sage] 2020/02/27(木) 21:11:32.40 ID:7f4H7cqb(2/2) AAS
先制攻撃を仕掛ける体制が整っているかどうかの判定が今後の課題ですね。
145: 535 [sage] 2020/03/01(日) 21:57:12.55 ID:X+Ti9n7n(1) AAS
先制攻撃を仕掛けた時に反撃で逆に取られる確率とか学習させたら駄目かなぁ?
146: 535 [sage] 2020/03/02(月) 06:27:35.74 ID:Td8MIT1I(1) AAS
ある局面に対し、それぞれの点が黒の地になる確率のベクタを返すようにDNNを学習したらどうだろう?
147: 535 [sage] 2020/03/03(火) 21:11:27.98 ID:PL4UDoSq(1) AAS
前回はスコア差を評価値に学習させましたが、今回は勝率で学習させてみます。
結局セオリー通りがいいのかもしれないので。
ホントはスコア最大化はぜひともやりたいんだけど。
148: 535 [sage] 2020/03/04(水) 20:23:35.42 ID:Q7ItuMwb(1/7) AAS
勝率で学習させたら黒番は勝ち越してますが、白番は負け越してますね。
白番でも勝てると思いましたが。
149: 535 [sage] 2020/03/04(水) 20:44:28.42 ID:Q7ItuMwb(2/7) AAS
うお、バグ発見w
DNNが全く働いてなかったww
黒番で勝ち越したのはたまたまやなこれは。
150: 535 [sage] 2020/03/04(水) 21:10:05.82 ID:Q7ItuMwb(3/7) AAS
うーん、石をくっつけて打つなぁ
もっとばらけさせたほうがいいと思うんだけど。
151: 535 [sage] 2020/03/04(水) 21:14:38.18 ID:Q7ItuMwb(4/7) AAS
うーん、石がくっついているか離れているか標準偏差のようなものを出して学習パラメータに渡すとか
152: 535 [sage] 2020/03/04(水) 21:17:15.27 ID:Q7ItuMwb(5/7) AAS
ホントはあんま手動で特徴量出そうとするのよくないアイディアなんだろうけど。
153: 535 [sage] 2020/03/04(水) 21:43:12.15 ID:Q7ItuMwb(6/7) AAS
結局モンテカルロの勝率データだけだとだめっぽくて、いろんな戦略の中からより良いものを探すようにしたいなぁ
154: 535 [sage] 2020/03/04(水) 22:34:42.21 ID:Q7ItuMwb(7/7) AAS
あれ、黒番、白番ともダブルスコアで勝ち越してる??
まだ対局数少ないからあれだけど。
155: 310 [sage] 2020/03/04(水) 22:39:44.37 ID:XCbeW9Ri(1) AAS
自分は、最近、学習効率アップさせようと入れていたヒューリスティックなロジックは
見つけ次第外す方向だったりします。

棋譜作成の元ネタだけは、結構たくさん手動で追加していますが、見つけ次第追加
みたいなやり方で、偏りが出そうな気がするのと、手動追加だと入力ミスも結構あって
面倒なので、どこかで後続棋譜が少ない手順を順次自動で追加していくようにしちゃ
おうかなと思ったりしています。ただ、本当に見てるだけになっちゃうのがちょっと嫌。

そんな事より、棋譜作成のペースが速すぎて、逆順での読み切り(スコア確定)が
追い付かない。
1-
あと 481 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.011s