[過去ログ] 【オセロ,将棋】ボードゲーム Part2【囲碁,War】 (1002レス)
1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
201
(2): 名前は開発中のものです。 [] 2018/01/15(月) 19:10:16.04 ID:SOjHonZe(1) AAS
>>310
310(197): 535 [sage] 2018/04/02(月) 22:24:32.85 ID:3iK+AnRP(1) AAS
Leela ZeroがKGSでかなり強くなってる。
俺がパクったプログラムも学習し続けたらあれくらい強くなるんだろうか?
オセロ用の確立された GUI はありませんが、
nboard
外部リンク:www.orbanova.com
xboard / winboard (alien edition)
外部リンク[html]:hgm.nubati.net
Othello Engine Protocol (cassio)
外部リンク[htm]:cassio.free.fr
Edax はいずれもサポートしているので、プロトコルは
ソースでも見られます。
203: 310 [sage] 2018/01/16(火) 01:56:04.23 ID:8d/ib1bw(1) AAS
>>200
200(1): 535 [sage] 2018/01/14(日) 17:46:25.82 ID:NeYy2Zy+(1) AAS
外部リンク:github.com
これです
どもです。ダウンロードしてみました。
酔っぱらって帰ってきたところなので、明日以後見てみます。

>>201
ありがとうございます。
cassioはmin-Max前提みたいですね。
nboardとxboardは明日以後見てみます。

とはいえ、もうすでに作り始めてしまいました(汗
c#はVBみたいな感じですね。10年くらいVBも触っていないので、VB自体も
昔とはだいぶ違うんだと思いますが。

まずは匿名パイプでのやり取りまで確認できました。
色々なソースのつぎはぎでわけわからんけど、何とかC++とAPIで作ったサーバ
側と同じ動作するものが動いています。
206: 310 [sage] 2018/01/20(土) 13:01:59.38 ID:Zq3gts8j(1) AAS
>>205
205(1): 201 [] 2018/01/19(金) 19:49:16.63 ID:nx2VVS4x(1) AAS
ところで、
Learning to Play Othello with Deep Neural Networks
外部リンク:arxiv.org
はチェックされていますか?
ありがとうございます。
さっそくダウンロードしました。
211: 310 [sage] 2018/01/27(土) 00:56:40.42 ID:0QPAoXtC(1) AAS
自分もGUIでモチベ保てず、がっつりさぼり中。

技術的に難しそうな事は気合入るんだけど、どっちが黒番とかのラジオボタン
をどうしようかとか考え出すと、思考が止まってしまう(汗

一つの項目で諦めがつくまでに3日づつかかっていますorz
213: 310 [sage] 2018/01/28(日) 17:18:05.66 ID:0oeW9Kee(1) AAS
GUIのパスの処理を真剣にチェックしだしたら、特定のケースで動作が
おかしいので、丸々一晩デバッグしていました。ケースは特定できてた
のですが、ぱっと見まったく原因がわからず。

C#はオブジェクトを代入すると参照になるのでした。やられた。
やっぱCというのは名前だけですね。
219: 310 [sage] 2018/01/31(水) 00:01:03.41 ID:EjEC4Ae7(1) AAS
すまん。わからんけど、collecdt2というフォルダ(ファイルかも)が無いと言ってる?

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

ゲームの進行を上手に管理する方法が無いか考えていると、つい寝てしまうorz
223: 310 [sage] 2018/02/04(日) 20:16:17.17 ID:Wmf+lsae(1) AAS
他人のコードは読みづらいですよね。
1年前に書いた自分のコードもですがorz

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

こちらは…GUI作るのに嫌気がさして、学習部をいじっていましたが、
そろそろ〜30手の評価関数もそれほど酷いものではなさそうな気がしてきて、
中盤探索9手読み(なんの工夫も無し)で記譜作れる事に思い至りまして。
つまり、MCTSより短時間で記譜作成できると…。
この学習で、もし中盤探索の読みがそこそこな精度になってしまったら、
そもそもMCTSにする意味ないじゃんという現実からいかに目を背け続けるか
という戦いが始まりました(涙
226: 310 [sage] 2018/02/05(月) 23:37:11.58 ID:tGe3CIWd(1) AAS
相変わらず、GUIから逃げています。

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

多少探索速度は落ちますが、良い感じかなぁ。
228: 310 [sage] 2018/02/09(金) 23:42:10.85 ID:XzN5+u9b(1) AAS
新言語習得はストレスですよね。
C#ですら混乱して、C++に帰りたくなってます(汗

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

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

Pythonは構造やら変数の型の考えやら、落とし穴になりそうなところが
色々とありますね。計算式だけ見ていればわかったような気になりますが、
どういう順番で処理が進むのか、慣れないとわからん感じ。
235: 310 [sage] 2018/02/13(火) 13:07:22.56 ID:SwoVylIU(1) AAS
アルファ碁の論文に書いてあったかな。次の1手的には意味なさそうだけど、
有った方が強くなるので外せなかったみたいな事が書いてあったような。

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

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

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

GUIに気が進まないまま、ぼーっと学習を見ていると、何故か(効果は微妙だけど)
速度アップの方法を思いついてしまうもので…。地味に色々改良しています。
237: 310 [sage] 2018/02/14(水) 20:49:32.16 ID:I/pUqAGs(1) AAS
単にGUIが嫌いなんですorz

凝りたい気持ちと、画面遷移の罠から、心がデッドロックを起こして、
しまいに面倒くさくなってしまうという。
241: 310 [sage] 2018/02/17(土) 21:53:57.13 ID:vz2S+0Ke(1) AAS
ドタバタしながら音だけ聞いていたけど、なんか普通に互角から徐々に優勢を
築いて、相手の奇手にも動ぜずにさばいて、勝利って感じで、強さが際立って
いましたね。

これで勝っても漫画なら編集長にバカにされるレベルと言われていましたが、
本当に笑うしかないですね。
248: 310 [sage] 2018/02/19(月) 23:48:36.73 ID:KY7Wcd5F(1/2) AAS
PythonからC++関数を呼べるみたいですね。
C++からPythonも呼べるみたいです。
前にPythonに手を出そうかと思った時にググったら出てきました。
前者の方が解説が多かったと思います。

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

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

仕方無いので、中盤探索の反復深化を作り、その結果を置換表に溜めてオーダ
リングを行うようにしてみましたが、効果があったのかよくわからない罠。
こちらも、学習の具合が良くなったら、急激に効果が表れるのではないかと期待
しているんだけど。
253: 310 [sage] 2018/02/22(木) 01:36:26.61 ID:pKMuaeJh(1) AAS
評価関数がどんどん悪化していく罠。
頭に来たので、評価関数をステージ分割。

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

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

もうGUIはすっかり忘れていますorz
264: 310 [sage] 2018/02/28(水) 22:12:43.27 ID:4D1Jf52Q(1) AAS
評価関数変更ついでにまるっと作り直してます。
自己対戦など、汚いコードを綺麗に書き直し。
かけた工数的には自己対戦の方が大変だったかも。

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

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

で、ここまで来たところで、もういっちょ改造したくなってきた…。
281
(1): 310 [sage] 2018/03/08(木) 00:53:26.17 ID:KJS05rsc(1/2) AAS
新評価関数版ようやく一通りできた。
強化学習にすごーく時間がかかりそう(汗

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

むむむ。
287: 310 [sage] 2018/03/08(木) 23:33:49.98 ID:KJS05rsc(2/2) AAS
どもです。
お高いですが、デスクトップのフルスペックの1/3以下で済むようです。

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

とはいえ、評価値の保存に数秒かかるようになってしまったので、保存中にうっかり
終了してウェイトファイルを破壊しないように、いくつか策を講じました。最近はOSの
アップデートで勝手に再起動されちゃうので。
289: 310 [sage] 2018/03/10(土) 19:53:38.63 ID:jEGGoWyJ(1/2) AAS
あ、価格と性能です(^^;

強化学習に凡ミス発見。
強化学習が良いのは、学習し続ければ何とか復旧できると思えるところorz
291
(1): 310 [sage] 2018/03/10(土) 23:47:40.15 ID:jEGGoWyJ(2/2) AAS
こいつです。
外部リンク[php]:www.pc-koubou.jp

i9-7080XEのデスクトップだとメモリー頑張ると100万ですからね…
294: 310 [sage] 2018/03/14(水) 21:17:53.41 ID:Hsr0gVbu(1) AAS
うぬぬ。強化学習でどこかおかしい。
強化学習単純化しすぎちゃったかなぁ。

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

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

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

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

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

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

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

というわけで、昨夜書いたように、ある程度深さを捨てて分岐をすべて記譜に残す
ようにしてみようかなぁと思っています。しばらく記譜作成しながら、この事を踏まえ
た強化学習をちょっと考えてみたいと思っています。
301: 310 [sage] 2018/03/25(日) 02:23:39.84 ID:Yig4cMbl(1) AAS
分岐をすべて記譜にリストアップするようにしてから、爆発的に記譜が増えてます。
2000程度だったのが、15000超えました。

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

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

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

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

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

というわけで、今夜は2)3)を試してみる予定。
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.839s*