比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
私はc言語で作ったデータベースを使って人間と対戦できる将棋かチェス
みたいなソフトを作りたいと思ってますが、グラフィックインターフェースの
作り方がわからなくてつっかえているレベルです。
【オセロ,将棋】ボードゲーム【囲碁,War】
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
03/07/10 00:10ID:6FQp6G+O739535
2017/02/23(木) 20:58:02.50ID:ONUfwXLw 連続対戦してると突然落ちるバグがあるっぽいが意図的に再現できない。
どうデバッグすりゃいいんだ。orz.
どうデバッグすりゃいいんだ。orz.
740名前は開発中のものです。
2017/02/23(木) 23:03:49.03ID:ONUfwXLw 再現した!
けど一回再現させんのに1時間かかるw
けど一回再現させんのに1時間かかるw
741535
2017/02/24(金) 21:40:56.21ID:sIjNtQpy コアダンプの吐かせ方がわからん。T△T
デバッグオプション付けてulimit -c unlimitedだけじゃだめなんか。
ちな環境はcygwin。
デバッグオプション付けてulimit -c unlimitedだけじゃだめなんか。
ちな環境はcygwin。
742名前は開発中のものです。
2017/02/24(金) 21:43:59.65ID:P/wI/gFl age
743535
2017/02/26(日) 00:05:27.56ID:TbeyqTpr やっと落ちてる場所見つかった。
ぬるぽだった
ぬるぽだった
744535
2017/02/26(日) 23:30:45.62ID:TbeyqTpr 特徴量とか便利すぎる言葉考えたやつ誰だよ。
いつでも特徴量が効率よく計算できるとは限らんだろうが。
マジムカつく。
いつでも特徴量が効率よく計算できるとは限らんだろうが。
マジムカつく。
745310
2017/02/27(月) 01:19:56.03ID:kLJ7ziJk 全く同感orz
746535
2017/02/28(火) 21:58:57.62ID:+JAecqpe ファイルに2Gの壁とかあんの?
2G以上のデータはどうやって受け渡せばいいんだ。
2G以上のデータはどうやって受け渡せばいいんだ。
747名前は開発中のものです。
2017/03/01(水) 12:15:45.60ID:jElZYckW 「29歳既婚、2年前に会社を辞めた。ボードゲーム作りを始めて3700万円を
売り上げたけど何か聞きたいことはある?」回答いろいろ
http://labaq.com/archives/51880196.html
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
https://bodoge.hoobby.net/columns/00013
QRコード・クトゥルフ神話・24世紀などユニークすぎるデザインてんこ盛りのサイコロ「Dice Empire」レビュー
http://gigazine.net/news/20150313-dice-empire/
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
https://bodoge.hoobby.net/columns/00001
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/
実際のところ、自作ボードゲームってどれぐらい売れるもんなの?
http://roy.hatenablog.com/entry/2016/12/20/220102
ゲームマーケット2016春にて初参加サークルさんに作成数アンケートをとってきました
http://hidarigray.blog35.fc2.com/blog-entry-614.html
カフェも急増 ボードゲームにアラサーがハマる理由
http://style.nikkei.com/article/DGXMZO10921930R21C16A2000000?channel=DF260120166491
ボードゲームのオリジナルオーダー制作
http://www.logygames.com/logy/ordermade.html
売り上げたけど何か聞きたいことはある?」回答いろいろ
http://labaq.com/archives/51880196.html
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
https://bodoge.hoobby.net/columns/00013
QRコード・クトゥルフ神話・24世紀などユニークすぎるデザインてんこ盛りのサイコロ「Dice Empire」レビュー
http://gigazine.net/news/20150313-dice-empire/
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
https://bodoge.hoobby.net/columns/00001
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/
実際のところ、自作ボードゲームってどれぐらい売れるもんなの?
http://roy.hatenablog.com/entry/2016/12/20/220102
ゲームマーケット2016春にて初参加サークルさんに作成数アンケートをとってきました
http://hidarigray.blog35.fc2.com/blog-entry-614.html
カフェも急増 ボードゲームにアラサーがハマる理由
http://style.nikkei.com/article/DGXMZO10921930R21C16A2000000?channel=DF260120166491
ボードゲームのオリジナルオーダー制作
http://www.logygames.com/logy/ordermade.html
748535
2017/03/02(木) 19:55:15.50ID:ejFPCGdH がっつり連続対戦中。黒番対LV2だけ流し終わった。
100局目
黒(airandom.dll)の勝利回数: 73
白(ai-lv2.dll)の勝利回数: 27
なお他のレベルも平行して回してるけどいま黒番対LV3に1勝54敗中w
なんでこんなに差がでるのかなぁ。
100局目
黒(airandom.dll)の勝利回数: 73
白(ai-lv2.dll)の勝利回数: 27
なお他のレベルも平行して回してるけどいま黒番対LV3に1勝54敗中w
なんでこんなに差がでるのかなぁ。
749535
2017/03/02(木) 20:08:53.54ID:ejFPCGdH 対LV2はかなり同じパターンで勝ってるな。
勝利手順DBにずっぽり嵌ってくれてる感じだ。
LV3は嵌ってくれない。
勝利手順DBにずっぽり嵌ってくれてる感じだ。
LV3は嵌ってくれない。
750535
2017/03/02(木) 21:41:10.44ID:ejFPCGdH 序盤用DBはそこそこうまく動いているが
中盤〜終盤用のDBのせいで致命的に打ち手が狂ってるように見える。
LV3に勝てないのは多分これだな。
中盤〜終盤用のDBのせいで致命的に打ち手が狂ってるように見える。
LV3に勝てないのは多分これだな。
751535
2017/03/02(木) 23:28:08.02ID:ejFPCGdH ずいぶん昔に書いたコードにバグがあった。
ビビるくらい致命的な奴。
よく今まで動いてたな。
ビビるくらい致命的な奴。
よく今まで動いてたな。
752310
2017/03/03(金) 01:05:23.13ID:0ijSS6CX 次の1手もDCNNもなんか上手くいかないので、アルファ碁の原点に戻りました。
アルファ碁のMTCSとしての特徴は、各ノードで評価関数を動かして、そのノードに
点をつけて勝率と50%混合する事で、ノードの選択に事前に差をつけてしまう事に
あります。これによって、負けが多いけど1手だけ良い手があるルートを正しく評価
する可能性を高めていると解釈しています。
で、評価関数はオセロでは線形和で確立されているので、昔の奴をと思ったのですが、
どうせならMLPのライブラリ使ってしまえばEigenが使えるので信頼性高い上に、学習
率の最適化でモーメンタムどころかSMORMS3が使えるようになります。インプットが
とても疎なので、EigenのSparseMatrixを使って高速化を図ります。
早速作って学習させてみたところ…僕の記憶が確かなら以前のプログラムの数十倍
くらいの速度で動いています(汗。これなら100エポックくらい楽勝。
今は評価値を計算させていますが、一旦できたら、次のステップで勝率を計算させられ
ないかなぁと。ただ、評価値がある程度正確なら、勝率ではなく平均スコアでプレイアウト
しても良いのかなと思っています。
アルファ碁のMTCSとしての特徴は、各ノードで評価関数を動かして、そのノードに
点をつけて勝率と50%混合する事で、ノードの選択に事前に差をつけてしまう事に
あります。これによって、負けが多いけど1手だけ良い手があるルートを正しく評価
する可能性を高めていると解釈しています。
で、評価関数はオセロでは線形和で確立されているので、昔の奴をと思ったのですが、
どうせならMLPのライブラリ使ってしまえばEigenが使えるので信頼性高い上に、学習
率の最適化でモーメンタムどころかSMORMS3が使えるようになります。インプットが
とても疎なので、EigenのSparseMatrixを使って高速化を図ります。
早速作って学習させてみたところ…僕の記憶が確かなら以前のプログラムの数十倍
くらいの速度で動いています(汗。これなら100エポックくらい楽勝。
今は評価値を計算させていますが、一旦できたら、次のステップで勝率を計算させられ
ないかなぁと。ただ、評価値がある程度正確なら、勝率ではなく平均スコアでプレイアウト
しても良いのかなと思っています。
753535
2017/03/04(土) 22:29:00.76ID:ZrhUKe4E DB初期化に35秒かかる。
コンパイラを64bit版に変えると11秒になる。
なぜこんなに差が…
ちなみに囲連星本体が32bitプログラムだからコンパイラ変えられないT△T
なんとかならんか?
コンパイラを64bit版に変えると11秒になる。
なぜこんなに差が…
ちなみに囲連星本体が32bitプログラムだからコンパイラ変えられないT△T
なんとかならんか?
754535
2017/03/05(日) 03:39:08.88ID:LufQ1oMY コンパイラの問題じゃなくてライブラリを静的リンクするか動的リンクするかの違いみたいです。多分。
かなり早くなった^_^
かなり早くなった^_^
755535
2017/03/06(月) 18:17:26.36ID:XCrs8w8i 思考時間は試行回数に直結する
重いモンテカルロは一旦封印する
重いモンテカルロは一旦封印する
756310
2017/03/10(金) 01:25:20.88ID:4qfAid0y 評価関数の作り直しを始めたら、計算してはやり直しの繰り返しです。
計算速度が上がったので、比較的気楽に再計算できちゃうのがいかん。
勝率の計算もしてみましたが、結果は似たようなものでした。
いずれにせよ、もう少し精度を上げたいなぁ。
計算速度が上がったので、比較的気楽に再計算できちゃうのがいかん。
勝率の計算もしてみましたが、結果は似たようなものでした。
いずれにせよ、もう少し精度を上げたいなぁ。
757535
2017/03/14(火) 22:28:17.78ID:KNe/k0R5 LV1の棋譜はDBから削除したほうがいいみたい。
いいとこどりとはいかないか。
いいとこどりとはいかないか。
758535
2017/03/15(水) 21:45:36.14ID:gknDrLfY 囲連星のルールは囲碁と共通部分があるから囲碁AIを参考にするのが良いと思っていたが
7連を作れば勝ちというのは王様を詰ませれば勝ちという将棋のゲーム性に近いものがあるのかもしれない。
将棋AIの手法も調べてみるべきか?
7連を作れば勝ちというのは王様を詰ませれば勝ちという将棋のゲーム性に近いものがあるのかもしれない。
将棋AIの手法も調べてみるべきか?
759535
2017/03/18(土) 23:34:35.11ID:VnDB8sqw 手書き評価関数やっぱうまくいかないな。
LV0やLV1も実は結構強かったんだな。
反省。
LV0やLV1も実は結構強かったんだな。
反省。
760535
2017/03/19(日) 00:56:20.04ID:y6fifsqj やっぱ機械学習しかない。(無限ループ)
761535
2017/03/21(火) 22:23:02.18ID:xGpFrIPp 特徴量と棋譜は用意できる。
棋譜の勝者の着手に対してどの特徴量が優先的に選択されたか?を計算したい。
どうすればいいかな?
棋譜の勝者の着手に対してどの特徴量が優先的に選択されたか?を計算したい。
どうすればいいかな?
762名前は開発中のものです。
2017/03/22(水) 00:39:02.37ID:/GDSNvuJ 優先的とか無いでしょ
評価関数は全ての特徴量に対応する評価点を合計するだけ
その各評価点の絶対値が大きくて評価値に割と大きな影響を与えるとかゼロに近いとかはあるけど
評価関数は全ての特徴量に対応する評価点を合計するだけ
その各評価点の絶対値が大きくて評価値に割と大きな影響を与えるとかゼロに近いとかはあるけど
763310
2017/03/22(水) 09:25:05.89ID:sNSr7O3Z >>761
それを統計的に処理して求めるのが線形回帰。
収束アルゴリズムは最急降下法を使用するのが普通。
特徴量あり1、無し0で特徴量並べたベクトルを食わせて、
荷重値であるウェイトを同数用意して内積計算。
出て来たスカラ値が、教師データに合うようにウェイトを収束計算させる。
出て来たウェイトが対応する各特徴量の重要度を表す。
それを統計的に処理して求めるのが線形回帰。
収束アルゴリズムは最急降下法を使用するのが普通。
特徴量あり1、無し0で特徴量並べたベクトルを食わせて、
荷重値であるウェイトを同数用意して内積計算。
出て来たスカラ値が、教師データに合うようにウェイトを収束計算させる。
出て来たウェイトが対応する各特徴量の重要度を表す。
764535
2017/03/22(水) 20:48:28.79ID:rRrXmS1r765535
2017/03/22(水) 21:25:31.00ID:rRrXmS1r もう一度MM法トライしてみるか…
766310
2017/03/23(木) 17:35:49.51ID:xjqriUpX 線形回帰というか、最急降下法自体はたいした事ないよ。
ひたすらループ回して、答えを出して、教師データとの差に比例して
ウェイトを調整するだけ。ニューラルネットになるとバックプロパゲーション
が出てくる(これも似たようなものだけど)違いがあるけど。
とりあえず実装の参考にするならこれ。
http://sealsoft.jp/thell/learning.pdf
GitHUBとかで探すとなんかあるかも。裏ワザではMLPのライブラリ落として
来て、1層の活性化関数無しの全結合層で計算させるって手もある。
ひたすらループ回して、答えを出して、教師データとの差に比例して
ウェイトを調整するだけ。ニューラルネットになるとバックプロパゲーション
が出てくる(これも似たようなものだけど)違いがあるけど。
とりあえず実装の参考にするならこれ。
http://sealsoft.jp/thell/learning.pdf
GitHUBとかで探すとなんかあるかも。裏ワザではMLPのライブラリ落として
来て、1層の活性化関数無しの全結合層で計算させるって手もある。
767310
2017/03/23(木) 17:40:46.97ID:xjqriUpX こちらは、線形回帰の評価関数を作り直して、勝率と石差の2つ用意して、
アルファ碁っぽくMCTSに組み込んでみました。
で、テスト開始したらやたらと落ちる。
線形回帰の計算にEigen(行列パッケージ)を使用していたんだけど、こいつ
が並列処理に対応していないのが原因臭い。
というわけで、学習部分と、MCTSで使う評価関数を切り分けて、評価値を
求める時はEigenを使わないように改造中です。
果たして強くなっているのか。
アルファ碁っぽくMCTSに組み込んでみました。
で、テスト開始したらやたらと落ちる。
線形回帰の計算にEigen(行列パッケージ)を使用していたんだけど、こいつ
が並列処理に対応していないのが原因臭い。
というわけで、学習部分と、MCTSで使う評価関数を切り分けて、評価値を
求める時はEigenを使わないように改造中です。
果たして強くなっているのか。
768535
2017/03/23(木) 20:11:41.72ID:rddo+SDA >>766
ありがとうございます。
さらっと読んでみました。
いい感じの文章ですね。
なんとなくイメージは掴めましたが、実際実装するのは結構大変そうな気がします。
まずはMM法でやり直してみて、駄目だったら手を出してみます。
すいません。
ありがとうございます。
さらっと読んでみました。
いい感じの文章ですね。
なんとなくイメージは掴めましたが、実際実装するのは結構大変そうな気がします。
まずはMM法でやり直してみて、駄目だったら手を出してみます。
すいません。
769310
2017/03/25(土) 10:29:51.08ID:8t9unId8 学習時と使用時の評価関数の切り分け。簡単にやるつもりだったのに、
バグ一杯出してデバッグで大変な事に。
デバッグが行き詰ると、気になっていた箇所を綺麗に直して手を動かし
続けたくなるんだけど、つい計算結果に影響が出てしまうところまで
手を入れてしまい、結局また再度学習しなおしです。
一応バグは解消したと思っていますが・・・
この土日に確認まで行けるか微妙。
バグ一杯出してデバッグで大変な事に。
デバッグが行き詰ると、気になっていた箇所を綺麗に直して手を動かし
続けたくなるんだけど、つい計算結果に影響が出てしまうところまで
手を入れてしまい、結局また再度学習しなおしです。
一応バグは解消したと思っていますが・・・
この土日に確認まで行けるか微妙。
770名前は開発中のものです。
2017/03/25(土) 15:51:24.00ID:eEMcRod/ 自作アナログゲームを投稿・共有できる「紙ゲー.net」がオープン
http://www.moguragames.com/entry/kamigame-analog-game/
http://www.moguragames.com/entry/kamigame-analog-game/
771535
2017/03/25(土) 21:50:08.29ID:S05KfsXi 特徴量、用意できるって言ったけど、いざ作ろうとすると迷うw
あれもほしい、これもほしいとなって発散してしまう。
あれもほしい、これもほしいとなって発散してしまう。
772310
2017/03/25(土) 23:15:01.53ID:8t9unId8 特徴量の選択はね・・・
実際にその特徴量を使って統計処理(線形回帰でもMLPでもDCNNでも何でも可)して
みて、結果の精度に効くものを残して、効かないもの(ウェイトがゼロになるとか、外して
も精度が変わらないとか)を外して、結果的に決まるものじゃないかと思います。
そういう意味じゃ、仮説検証でトライアンドエラーしないといかん。
オセロではBuroさんが論文書いてくれているので、皆それをベースに小修正程度で、
ほぼ同じ精度のものができちゃいますが、そういう先行者がいないゲームだと、自分で
やらないといけないので大変だと思います。
DCNNで「特徴量を自動的に決めてくれる」ってのに、皆が胸熱になったのは、そういう
事です。自分はオセロに応用しようとして、失敗して、後回しにしちゃいましたが。
実際にその特徴量を使って統計処理(線形回帰でもMLPでもDCNNでも何でも可)して
みて、結果の精度に効くものを残して、効かないもの(ウェイトがゼロになるとか、外して
も精度が変わらないとか)を外して、結果的に決まるものじゃないかと思います。
そういう意味じゃ、仮説検証でトライアンドエラーしないといかん。
オセロではBuroさんが論文書いてくれているので、皆それをベースに小修正程度で、
ほぼ同じ精度のものができちゃいますが、そういう先行者がいないゲームだと、自分で
やらないといけないので大変だと思います。
DCNNで「特徴量を自動的に決めてくれる」ってのに、皆が胸熱になったのは、そういう
事です。自分はオセロに応用しようとして、失敗して、後回しにしちゃいましたが。
773310
2017/03/27(月) 01:55:55.89ID:n7C1rJ6D アルファチックなMCTSオセロですが、とりあえず途中まで学習してテストしたところ・・・。
終局しているのに両者パスでツリーが伸びて行ってしまう(汗
何度チェックしても原因不明。ブレークポイントでチェックすると、あり得ない場所で
ボードデータが書き換わっているように見えますが…。並列探索が原因かと思い、
シングル動作にしてみましたが、それでも同じ。かなり重症です。
が、それを除くと、途中までテストした感じでは、最善手を打てている模様。
まだ序盤なのにツリー成長が尋常ではなく、終局までツリーができています。
不要な手をカットする仕組みとして、十分すぎる性能になっています。
とはいえ、勝率判定はそれほど正確ではないので、変な局面に誘導されると、
読み抜けが問題になってくるかも知れません。
もしかしたら、終局後もパスでツリーが伸びている問題は、これまでもあったけど、
終盤完全読みにしていて見えなかっただけかも知れません。
終局しているのに両者パスでツリーが伸びて行ってしまう(汗
何度チェックしても原因不明。ブレークポイントでチェックすると、あり得ない場所で
ボードデータが書き換わっているように見えますが…。並列探索が原因かと思い、
シングル動作にしてみましたが、それでも同じ。かなり重症です。
が、それを除くと、途中までテストした感じでは、最善手を打てている模様。
まだ序盤なのにツリー成長が尋常ではなく、終局までツリーができています。
不要な手をカットする仕組みとして、十分すぎる性能になっています。
とはいえ、勝率判定はそれほど正確ではないので、変な局面に誘導されると、
読み抜けが問題になってくるかも知れません。
もしかしたら、終局後もパスでツリーが伸びている問題は、これまでもあったけど、
終盤完全読みにしていて見えなかっただけかも知れません。
774310
2017/03/28(火) 03:12:19.93ID:Cq+qEzvW パスが伸びる原因は判明。
着手後の盤面を返す関数で、合法手じゃない着手を要求された時を
エラーにせず、元の盤面をそのまま返していたため、手が進まなくなって
いたのが原因だった。
が、そもそも合法手以外の手を渡すはずがないから、エラートラップして
いなかっただけで・・・
まだ根本原因にはたどり着けず。
着手後の盤面を返す関数で、合法手じゃない着手を要求された時を
エラーにせず、元の盤面をそのまま返していたため、手が進まなくなって
いたのが原因だった。
が、そもそも合法手以外の手を渡すはずがないから、エラートラップして
いなかっただけで・・・
まだ根本原因にはたどり着けず。
775535
2017/03/29(水) 21:27:24.43ID:a7v8cJOT MM法動きました!
でも全然強くないw
特徴量が悪いのか棋譜が足りないのか…
でも全然強くないw
特徴量が悪いのか棋譜が足りないのか…
776310
2017/03/29(水) 21:53:37.26ID:4lOT7Sa+ 大体バグがとれました。
Zebraの学習モードと対局。
F5-D6から10手目までは定石使用。その後40手目まで新AIで手を分析。
途中数回-2の手を打つものの、そのまま終盤まで行き、−4〜−6くらいで安定。
40手前に負け趨勢が判明(勝率30%くらいかな?)するとご乱心モード入り(汗
というわけで、Zebraレベルまで、もう少しという感じです。
評価関数を使用したプレイアウトは、重すぎる上に結果も散々で、結局のところ
以前の角評価付相手着手可能数ヒューリスティックで3手を選択し、75%20%
5%で振り分けるものを使用しています。評価関数型の方は多分softmaxで
使うexpの計算が重いと思うので、テーブル化を検討してみようかと思います。
一番の改善点は・・・。評価関数で悪いと評価された手には、プレイアウトを割り当て
ないので、とにかくツリー展開が縦深します。30秒思考で12〜14手目には、一番
読んでいる枝は終局に達しています。これで、モンテカルロの偶然がかなり減って
いる印象です。また、余計な横枝が伸びていないので、メモリーにも優しいです。
2手ほど間違えるのは、ツリー展開の初期値で与える評価値の誤差が原因と思います。
ここは、今の評価関数では、これ以上精度出せないので、何か手を考える必要あり。
あと、いくつかの定数調整かな。
Zebraの学習モードと対局。
F5-D6から10手目までは定石使用。その後40手目まで新AIで手を分析。
途中数回-2の手を打つものの、そのまま終盤まで行き、−4〜−6くらいで安定。
40手前に負け趨勢が判明(勝率30%くらいかな?)するとご乱心モード入り(汗
というわけで、Zebraレベルまで、もう少しという感じです。
評価関数を使用したプレイアウトは、重すぎる上に結果も散々で、結局のところ
以前の角評価付相手着手可能数ヒューリスティックで3手を選択し、75%20%
5%で振り分けるものを使用しています。評価関数型の方は多分softmaxで
使うexpの計算が重いと思うので、テーブル化を検討してみようかと思います。
一番の改善点は・・・。評価関数で悪いと評価された手には、プレイアウトを割り当て
ないので、とにかくツリー展開が縦深します。30秒思考で12〜14手目には、一番
読んでいる枝は終局に達しています。これで、モンテカルロの偶然がかなり減って
いる印象です。また、余計な横枝が伸びていないので、メモリーにも優しいです。
2手ほど間違えるのは、ツリー展開の初期値で与える評価値の誤差が原因と思います。
ここは、今の評価関数では、これ以上精度出せないので、何か手を考える必要あり。
あと、いくつかの定数調整かな。
777310
2017/03/31(金) 20:13:06.62ID:Hurb1/nC expの計算は重さの原因ではありませんでした。やはり単純に評価関数が重い模様。
プレイアウトはヒューリスティックのsoftmax版に変更。
ツリーの初期の評価値は、数手読む事で精度アップを図ってみましたが、3手も読む
とかなり時間がかかって、プレイアウト回数が1/10以下になってしまうので、バランス
見て2手読みにしてみましたが、これで強さが変わるのか不明。
10〜15手目で1回。35手前後で1回づつ間違えて、負けを確信したところで乱心。
試しに15手まで定石DBを使うようにしてみたところ、35手目まで引き分けで行けました。
やはり35手目で間違えて−6。むむむ。
40手までの棋譜。
F5 D6 C3 D3 C4 F4 C5 B5 B4 B3
E7 C6 B6 E6 F6 D7 C8 A6 C7 E3
F3 G4 G3 E2 H3 G5 G6 F7 E8 B7
F2 B8 D1 F1 A8 A7 A5 D8 A4 A3
35手目のA8以下を、A5 A4 E1 C1 A8 A7としていれば引分でした。
評価の順番はA8/E1/A5と、正解を3番手に予想しています。
Zebraの中盤20手読みでもE1と間違える局面で24手読みだと正解するみたいです。
実をいうと、途中で邪魔が入って放置している間に、バックグラウンド探索で1000万
プレイアウトの上限に2回達しています。強さ図る時はバックグラウンド探索を止めない
と意味ないかも。
囲碁AIの本を読んでいたら、プレイアウトの精度の検証に、プレイアウト結果盤面を
統計的に処理して、終局予想図を出す方法と、重要な手を見つけるクリティカリティと
言う概念の説明がありました。この辺使って、プレイアウトの弱点探してみます。
プレイアウトはヒューリスティックのsoftmax版に変更。
ツリーの初期の評価値は、数手読む事で精度アップを図ってみましたが、3手も読む
とかなり時間がかかって、プレイアウト回数が1/10以下になってしまうので、バランス
見て2手読みにしてみましたが、これで強さが変わるのか不明。
10〜15手目で1回。35手前後で1回づつ間違えて、負けを確信したところで乱心。
試しに15手まで定石DBを使うようにしてみたところ、35手目まで引き分けで行けました。
やはり35手目で間違えて−6。むむむ。
40手までの棋譜。
F5 D6 C3 D3 C4 F4 C5 B5 B4 B3
E7 C6 B6 E6 F6 D7 C8 A6 C7 E3
F3 G4 G3 E2 H3 G5 G6 F7 E8 B7
F2 B8 D1 F1 A8 A7 A5 D8 A4 A3
35手目のA8以下を、A5 A4 E1 C1 A8 A7としていれば引分でした。
評価の順番はA8/E1/A5と、正解を3番手に予想しています。
Zebraの中盤20手読みでもE1と間違える局面で24手読みだと正解するみたいです。
実をいうと、途中で邪魔が入って放置している間に、バックグラウンド探索で1000万
プレイアウトの上限に2回達しています。強さ図る時はバックグラウンド探索を止めない
と意味ないかも。
囲碁AIの本を読んでいたら、プレイアウトの精度の検証に、プレイアウト結果盤面を
統計的に処理して、終局予想図を出す方法と、重要な手を見つけるクリティカリティと
言う概念の説明がありました。この辺使って、プレイアウトの弱点探してみます。
778310
2017/04/01(土) 01:30:30.93ID:Wq4mpDtN 直すところが無くなってきたのでパラメータ調整。
たまたまだと思いますが、初めてZebraの中盤24手読みと引き分けました。
こちらの設定は、バックグラウンド探索無しの1手1分(相手も30秒考えるという想定)
定石10手まで。完全読み切りルーチンなし。
F5 D6 C3 D3 C4 F4 C5 B5 B4 B3
D7 C6 B6 E6 F6 G5 G6 E3 A5 E7
F3 G4 E2 C2 H4 H3 H6 H5 C7 D8
G3 H7 A3 A4 A6 H2 F8 F7 C1 D2
C8 E8 F2 D1 F1 B1 E1 G1 B2 A1
A2 B8 A8 B7 A7 G2 H1 H8 G7 G8
ちなみにZebra側は全てBookにあった模様で、一度も中盤探索していません。
たまたまだと思いますが、初めてZebraの中盤24手読みと引き分けました。
こちらの設定は、バックグラウンド探索無しの1手1分(相手も30秒考えるという想定)
定石10手まで。完全読み切りルーチンなし。
F5 D6 C3 D3 C4 F4 C5 B5 B4 B3
D7 C6 B6 E6 F6 G5 G6 E3 A5 E7
F3 G4 E2 C2 H4 H3 H6 H5 C7 D8
G3 H7 A3 A4 A6 H2 F8 F7 C1 D2
C8 E8 F2 D1 F1 B1 E1 G1 B2 A1
A2 B8 A8 B7 A7 G2 H1 H8 G7 G8
ちなみにZebra側は全てBookにあった模様で、一度も中盤探索していません。
779535
2017/04/01(土) 11:28:54.33ID:Gu8vVrdS おおーZebra越えが見えてきましたか凄い!
こっちも頑張らねば…
こっちも頑張らねば…
780310
2017/04/01(土) 12:57:37.15ID:Wq4mpDtN あ、たまたま4月1日の投稿ですが、嘘ではありませぬ(^^;
Zebraがエイプリルフールしてくれたのかも知れませんが。
今回はZebra側は、全部Book上で打っていたので、思考時間実質ゼロです。
Bookを変化させるにして、最初にZebra側がBook評価で-0.5くらいの手を選んで
くれたので、緩まずに終盤まで行ったのかも知れません。
でも、流石に思考時間1分はやり過ぎですよね。
あと、Zebraの中盤探索と勝負したいのですから、ZebraもBookを切った方が良いかな。
Zebraがエイプリルフールしてくれたのかも知れませんが。
今回はZebra側は、全部Book上で打っていたので、思考時間実質ゼロです。
Bookを変化させるにして、最初にZebra側がBook評価で-0.5くらいの手を選んで
くれたので、緩まずに終盤まで行ったのかも知れません。
でも、流石に思考時間1分はやり過ぎですよね。
あと、Zebraの中盤探索と勝負したいのですから、ZebraもBookを切った方が良いかな。
781310
2017/04/01(土) 14:20:36.16ID:Wq4mpDtN ZebraをBook無しにして対戦したら、中盤で読み勝って+2勝ちになりました。
以下棋譜。
F5 D6 C3 D3 C4 F4 C5 B3 C2 E3
D2 C6 B4 B5 F2 E6 F3 C1 A3 A4
A5 A6 A7 D1 B6 E2 E7 D7 F1 E1
A2 G1 F7 G5 G4 G6 F6 H3 E8 C8
D8 G3 B8 B7 H5 H7 G2 H1 H6 G8
B1 A1 A8 C7 G7 H4 B2 H8 H2 F8
Zebra設定:白番、中盤24手探索、Book未使用、中盤変化せず
当方設定:黒番、10手目まで引分定石使用、思考時間1分、バックグラウンド探索なし
注)昨夜評価関数の学習を少し進めました。多分誤差範囲です。
Zebraの解析によれば23手目あたりで間違えてくれたみたいです。
こちらは10手までは定石使っておかないと、かなり滅茶苦茶な手を打ってしまったり
しますので、Zebraの序盤の精度は凄いですね。
次はどうしよう。
強化学習を調べているんだけど、いまいちどう応用したら良いのかがわからない。
以下棋譜。
F5 D6 C3 D3 C4 F4 C5 B3 C2 E3
D2 C6 B4 B5 F2 E6 F3 C1 A3 A4
A5 A6 A7 D1 B6 E2 E7 D7 F1 E1
A2 G1 F7 G5 G4 G6 F6 H3 E8 C8
D8 G3 B8 B7 H5 H7 G2 H1 H6 G8
B1 A1 A8 C7 G7 H4 B2 H8 H2 F8
Zebra設定:白番、中盤24手探索、Book未使用、中盤変化せず
当方設定:黒番、10手目まで引分定石使用、思考時間1分、バックグラウンド探索なし
注)昨夜評価関数の学習を少し進めました。多分誤差範囲です。
Zebraの解析によれば23手目あたりで間違えてくれたみたいです。
こちらは10手までは定石使っておかないと、かなり滅茶苦茶な手を打ってしまったり
しますので、Zebraの序盤の精度は凄いですね。
次はどうしよう。
強化学習を調べているんだけど、いまいちどう応用したら良いのかがわからない。
782310
2017/04/01(土) 16:16:54.26ID:Wq4mpDtN 1分探索では申し訳ないので、10秒探索+バックグラウンド探索にしてみました。
F5 D6 C4 D3 C3 F4 C5 B3 C2 E3
D2 C6 B4 B5 F2 E6 F3 C1 A3 A4
A5 A6 A7 D1 B6 E2 F1 E1 A2 G1
E7 D7 F7 G5 G4 G6 F6 H3 E8 C8
D8 G3 B8 B7 H5 H7 G2 H1 H6 G8
B1 A1 A8 C7 G7 H4 B2 H8 H2 F8
若干違うけど、ほとんど同じような進行で+2勝ち。
確認していないけど、手順前後で同じ終局図になっている気がする。
ちなみに23手目A7は、自分の手番でした。解析結果も、Zebra側が見落とした手
を発見している形になっています。恐らく、その手前の22手目のA6辺りで見落とし
が起きているのだと思います。
こちらが間違えていないという点は評価できるけど、Zebraを中盤変化させて色々な
パターンを試す必要ありそう。
まだ半信半疑だけど、10秒探索でこれって、ものすごく強くなってる気がしてきた。
F5 D6 C4 D3 C3 F4 C5 B3 C2 E3
D2 C6 B4 B5 F2 E6 F3 C1 A3 A4
A5 A6 A7 D1 B6 E2 F1 E1 A2 G1
E7 D7 F7 G5 G4 G6 F6 H3 E8 C8
D8 G3 B8 B7 H5 H7 G2 H1 H6 G8
B1 A1 A8 C7 G7 H4 B2 H8 H2 F8
若干違うけど、ほとんど同じような進行で+2勝ち。
確認していないけど、手順前後で同じ終局図になっている気がする。
ちなみに23手目A7は、自分の手番でした。解析結果も、Zebra側が見落とした手
を発見している形になっています。恐らく、その手前の22手目のA6辺りで見落とし
が起きているのだと思います。
こちらが間違えていないという点は評価できるけど、Zebraを中盤変化させて色々な
パターンを試す必要ありそう。
まだ半信半疑だけど、10秒探索でこれって、ものすごく強くなってる気がしてきた。
783310
2017/04/01(土) 17:37:16.14ID:Wq4mpDtN もう1局やって引分。
強化学習って、プレイアウト同士対局させながら、確率的勾配効果法で
1件づつ更新を繰り返す形で良いのかなぁ。
強化学習って、プレイアウト同士対局させながら、確率的勾配効果法で
1件づつ更新を繰り返す形で良いのかなぁ。
784310
2017/04/02(日) 18:48:15.03ID:xuvwd7i8 別のオープニングを試したところ、F5F6系や、F5D6C4G5系はZebraに勝てません。
試しにF5D6C4G5系を調べてみたところ、ツリー展開がなかなか深まらない様子で、
有望と評価される分岐が多すぎるのかと思います。最後はやけになって、1分読み
+要所でバックグラウンド放置探索で無理やりツリーを伸ばしたところ、途中経過で
Zebra評価値が−4まで行ったところから何と+4まで回復しました。
やはりポイントはツリーの深さであり、余計な枝を探索しない、ポリシーネットの精度
が重要になると。多分。
あと、相手パスの時にもおかしくなるバグを発見。今夜は、ここを調査。
試しにF5D6C4G5系を調べてみたところ、ツリー展開がなかなか深まらない様子で、
有望と評価される分岐が多すぎるのかと思います。最後はやけになって、1分読み
+要所でバックグラウンド放置探索で無理やりツリーを伸ばしたところ、途中経過で
Zebra評価値が−4まで行ったところから何と+4まで回復しました。
やはりポイントはツリーの深さであり、余計な枝を探索しない、ポリシーネットの精度
が重要になると。多分。
あと、相手パスの時にもおかしくなるバグを発見。今夜は、ここを調査。
785310
2017/04/03(月) 20:36:38.16ID:BqB2rFYT パスがおかしくなる奴は、やはりデバッグルーチン限定で、かつ直すと本処理にも
大きな修正が必要になるので、当該デバッグ処理を削除して対処。
F5D6C4G5系をテストプレイしていてわかったのは、中盤ことごとく読みがZebraと
一致しない事。一致しないだけなら良いけど、そこがところどころ悪手になってるっぽい。
読みが一致しないと、事前に読んでいない枝で探索する事になり、浅い探索のまま
間違いが連鎖する感じ。Zebraの着手は、こちらAIが予想は評価値順で3番目以降に
なっている。
これ、ロールポリシーが決めるプレイアウト割り当ての優先順位の問題か、それとも
プレイアウトの精度の問題か、はっきりしませんが、要するに評価値が間違っている
=弱いという事ですね。
で、この2点について、もう1ステップ先に進んでみようかと思います。
プレイアウトについては、強化学習で良いヒューリスティックを作れないか検討。
ロールポリシーについては、与えている棋譜のバラつきが原因かも知れないので、
強化学習の棋譜から自動生成する事を検討。
あと、終盤40手以降はほぼ間違えないので、Solverを削除してしまいました。
また、できれば、最終的には定石も無しにしたくなって来ました。
目指せピュアMCTS。
大きな修正が必要になるので、当該デバッグ処理を削除して対処。
F5D6C4G5系をテストプレイしていてわかったのは、中盤ことごとく読みがZebraと
一致しない事。一致しないだけなら良いけど、そこがところどころ悪手になってるっぽい。
読みが一致しないと、事前に読んでいない枝で探索する事になり、浅い探索のまま
間違いが連鎖する感じ。Zebraの着手は、こちらAIが予想は評価値順で3番目以降に
なっている。
これ、ロールポリシーが決めるプレイアウト割り当ての優先順位の問題か、それとも
プレイアウトの精度の問題か、はっきりしませんが、要するに評価値が間違っている
=弱いという事ですね。
で、この2点について、もう1ステップ先に進んでみようかと思います。
プレイアウトについては、強化学習で良いヒューリスティックを作れないか検討。
ロールポリシーについては、与えている棋譜のバラつきが原因かも知れないので、
強化学習の棋譜から自動生成する事を検討。
あと、終盤40手以降はほぼ間違えないので、Solverを削除してしまいました。
また、できれば、最終的には定石も無しにしたくなって来ました。
目指せピュアMCTS。
786310
2017/04/03(月) 20:41:47.20ID:BqB2rFYT 忘れていた。
>>782の22手目は、Zebraの当初予想はG4でしたが、このターンに達した時に、
A6に変わりました。そこでここで強制的にG4を打たせて続行してみましたが、
+4でこちらのAIが勝利しました。Zebraが間違えたのは、もう少し前の場所の
可能性があります。
>>782の22手目は、Zebraの当初予想はG4でしたが、このターンに達した時に、
A6に変わりました。そこでここで強制的にG4を打たせて続行してみましたが、
+4でこちらのAIが勝利しました。Zebraが間違えたのは、もう少し前の場所の
可能性があります。
787310
2017/04/05(水) 01:14:25.59ID:4SaLkpgr >>786
Zebraが間違えたのは14手目のB5だった模様。ここで引き分け手順から外れてます。
定石無しにしようと書いておきながら、少なくとも引分とわかっている盤面情報を活用
して、探索の省略ができないかと、あちこちに組み込んでみましたが、効果は不明。
効果がわからないというより、毎晩こつこつと評価関数のエポック数を稼いでいたところ、
どうも過学習に近い状況に陥っているみたいで、手の選択が変わってきて、むしろ、
どんどん弱くなりつつあります。むむむ。
一旦変な手を選んでしまうと、Zebraにしっぺ返しを食らって、せっかく読み貯めた
プレイアウトの大半がボツになり、短いツリーで手を選択するうちに、どんどん
間違った手を打っていく模様。結果的に勝った時は、ツリーがどんどん伸びて行く
のと対照的です。
で、結局、評価関数の良し悪しという話に逆戻りorz
評価関数から脱却するためにMCTS始めた頃が懐かしい・・・
Zebraが間違えたのは14手目のB5だった模様。ここで引き分け手順から外れてます。
定石無しにしようと書いておきながら、少なくとも引分とわかっている盤面情報を活用
して、探索の省略ができないかと、あちこちに組み込んでみましたが、効果は不明。
効果がわからないというより、毎晩こつこつと評価関数のエポック数を稼いでいたところ、
どうも過学習に近い状況に陥っているみたいで、手の選択が変わってきて、むしろ、
どんどん弱くなりつつあります。むむむ。
一旦変な手を選んでしまうと、Zebraにしっぺ返しを食らって、せっかく読み貯めた
プレイアウトの大半がボツになり、短いツリーで手を選択するうちに、どんどん
間違った手を打っていく模様。結果的に勝った時は、ツリーがどんどん伸びて行く
のと対照的です。
で、結局、評価関数の良し悪しという話に逆戻りorz
評価関数から脱却するためにMCTS始めた頃が懐かしい・・・
788535
2017/04/05(水) 23:08:13.71ID:laANBz/U 最新の対戦結果です。
LV2に白番で勝ち越したようです。
しかし、LV1に黒番で負け越している。
あとLV1とLV3で白番のほうが勝率がいいのが謎。
真面目に長連対策してないのが弱点になっているのだろうか?
それにしてもLV3強すぎる。
LV1との対戦も100戦やる予定でしたが途中で固まってしまったようです。
100局目
黒(airandom.dll)の勝利回数: 2
白(ai-lv3.dll)の勝利回数: 98
100局目
黒(ai-lv3.dll)の勝利回数: 92
白(airandom.dll)の勝利回数: 8
100局目
黒(airandom.dll)の勝利回数: 77
白(ai-lv2.dll)の勝利回数: 23
100局目
黒(ai-lv2.dll)の勝利回数: 45
白(airandom.dll)の勝利回数: 55
86局目
黒(airandom.dll)の勝利回数: 41
白(ai-lv1.dll)の勝利回数: 45
83局目
黒(ai-lv1.dll)の勝利回数: 7
白(airandom.dll)の勝利回数: 76
LV2に白番で勝ち越したようです。
しかし、LV1に黒番で負け越している。
あとLV1とLV3で白番のほうが勝率がいいのが謎。
真面目に長連対策してないのが弱点になっているのだろうか?
それにしてもLV3強すぎる。
LV1との対戦も100戦やる予定でしたが途中で固まってしまったようです。
100局目
黒(airandom.dll)の勝利回数: 2
白(ai-lv3.dll)の勝利回数: 98
100局目
黒(ai-lv3.dll)の勝利回数: 92
白(airandom.dll)の勝利回数: 8
100局目
黒(airandom.dll)の勝利回数: 77
白(ai-lv2.dll)の勝利回数: 23
100局目
黒(ai-lv2.dll)の勝利回数: 45
白(airandom.dll)の勝利回数: 55
86局目
黒(airandom.dll)の勝利回数: 41
白(ai-lv1.dll)の勝利回数: 45
83局目
黒(ai-lv1.dll)の勝利回数: 7
白(airandom.dll)の勝利回数: 76
789名前は開発中のものです。
2017/04/08(土) 13:24:07.33ID:mnzcHtDh 2003年に立てられたスレが最近になって動いてる…w
がんばってくださいな。
がんばってくださいな。
790310
2017/04/08(土) 17:26:32.31ID:cxbXAKoL 色々グチャグチャと改良(改悪)してましたが、一旦整理して、結局かなりシンプルな
形に落ち着きました。定石も無しにしましたので、2手目以後は考えます。プレイアウト
に時間がかかるので、序盤は考える時間が長すぎです。点数ベースの評価関数を弄り
倒して勝率っぽい数字をでっちあげる事で、勝率の評価関数を使わなくなりました。
今のところ対Zebraは勝ったり負けたりで、強さ的には匹敵するところまで行けたかなと。
両者定石無しなので、純粋にAI部の強さ比較という事で良いのかなぁと自負。
たまにはAI白番(Zebra黒)の棋譜を。自作AIの+2勝ちです。
F5 D6 C4 D3 C3 F4 C5 B3 C2 E3
D2 C6 B4 A3 G4 F3 E6 F7 B5 A4
A6 B6 G3 F6 E7 F8 D7 C7 G6 H5
D8 C1 H6 H4 E8 C8 G5 H7 B1 A1
B2 E2 A2 H3 F1 D1 G7 H8 G8 A5
A7 F2 E1 G1 H1 B7 G2 H2 B8 A8
MCTSじゃあまり強くならないと思っていたのが、ここまで来れて正直本人がびっくり。
アルファ碁のNature論文のお蔭です。
次ステップで強化学習とか考えていたけど、まだ何からどうすれば良いのかわからない(汗
形に落ち着きました。定石も無しにしましたので、2手目以後は考えます。プレイアウト
に時間がかかるので、序盤は考える時間が長すぎです。点数ベースの評価関数を弄り
倒して勝率っぽい数字をでっちあげる事で、勝率の評価関数を使わなくなりました。
今のところ対Zebraは勝ったり負けたりで、強さ的には匹敵するところまで行けたかなと。
両者定石無しなので、純粋にAI部の強さ比較という事で良いのかなぁと自負。
たまにはAI白番(Zebra黒)の棋譜を。自作AIの+2勝ちです。
F5 D6 C4 D3 C3 F4 C5 B3 C2 E3
D2 C6 B4 A3 G4 F3 E6 F7 B5 A4
A6 B6 G3 F6 E7 F8 D7 C7 G6 H5
D8 C1 H6 H4 E8 C8 G5 H7 B1 A1
B2 E2 A2 H3 F1 D1 G7 H8 G8 A5
A7 F2 E1 G1 H1 B7 G2 H2 B8 A8
MCTSじゃあまり強くならないと思っていたのが、ここまで来れて正直本人がびっくり。
アルファ碁のNature論文のお蔭です。
次ステップで強化学習とか考えていたけど、まだ何からどうすれば良いのかわからない(汗
791535
2017/04/09(日) 05:10:12.89ID:h/eXLfOt 相手に守りの手を強要させることが出来る有利な状態をいかに保ってゲームを進めるか。
終盤の要になりそうです。
終盤の要になりそうです。
792310
2017/04/09(日) 20:11:13.36ID:3mOyIMJx 評価関数の評価値計算でmin-Maxの時にやっていたのに、今回はやっていなかった
手抜き箇所を修正し、速度アップを図りました。
プレイアウトの速度が劇的に速くなりました。
最低でも10万プレイアウト貯め無いと、変な答えを返す(だろう)という事で、最大試行
回数の手が最低プレイアウト数を超えていない時は探索延長していました。そのため
序盤で探索延長頻発していましたが、今回の改造でほぼ延長無しになりました。
あと、評価関数のステージ分割を細かくしまして、再計算を開始。
1手20秒設定でやっていますが(他にバックグラウンド探索あり)、10秒でも実用になるかなぁ。
MCTSなオセロとしては、ある程度できちゃった気がする。
手抜き箇所を修正し、速度アップを図りました。
プレイアウトの速度が劇的に速くなりました。
最低でも10万プレイアウト貯め無いと、変な答えを返す(だろう)という事で、最大試行
回数の手が最低プレイアウト数を超えていない時は探索延長していました。そのため
序盤で探索延長頻発していましたが、今回の改造でほぼ延長無しになりました。
あと、評価関数のステージ分割を細かくしまして、再計算を開始。
1手20秒設定でやっていますが(他にバックグラウンド探索あり)、10秒でも実用になるかなぁ。
MCTSなオセロとしては、ある程度できちゃった気がする。
794535
2017/04/10(月) 23:19:01.03ID:Sai+9C2+ 完成したら論文書いてwebで公開してくださいw
おねがいしますw
おねがいしますw
795310
2017/04/11(火) 07:59:39.45ID:KmgeOKfx >>793
いや・・・それはないです。
オセロの場合、定石DBの学習が強さに直結するので、定石DBを持っていないAIは
かなり不利というか、対戦したら勝ち目ありません。何回も対戦するうちに苦手な定石
に誘導されちゃうので、勝ち目なしは確信しています。
また、アルゴリズムの優越比較という意味で、Zebraの定石DBも無しにしましたが、
Zebraの中盤も一昔前のレベルで、決して強くはないという評価をWEBで見た事が
あります。今回Zebraを使用したのは、対戦中に学習モードに切り替える事でどこで
間違えたかがわかりやすいからです。Edaxとはまだ対戦させません。
ただ、個人的に思い込みたいレベルでいうなら、MCTS系のオセロAIでは最強クラス
なんじゃないかなぁと(願望)。なにせ、いまどきオセロAIを開発している人はいないし、
ましてモンテカルロ系で試そうなんて人もいなさそうですから。言ったもの勝ち(汗
アルファ碁の論文のDeepでNeural networkではない部分を適用する事で、min-Maxで
なければ存在価値がないところまで行き着いていたオセロAIでもMCTSで結構強くなれる
事が証明できたかなぁと。本当にアルファ碁様様です。
ブログ作って解説でも作ろうかと準備していましたが、試しに開設したブログサービスでは
アップロードができなかったので、一旦閉鎖しました。どこか良いところないかな。
いや・・・それはないです。
オセロの場合、定石DBの学習が強さに直結するので、定石DBを持っていないAIは
かなり不利というか、対戦したら勝ち目ありません。何回も対戦するうちに苦手な定石
に誘導されちゃうので、勝ち目なしは確信しています。
また、アルゴリズムの優越比較という意味で、Zebraの定石DBも無しにしましたが、
Zebraの中盤も一昔前のレベルで、決して強くはないという評価をWEBで見た事が
あります。今回Zebraを使用したのは、対戦中に学習モードに切り替える事でどこで
間違えたかがわかりやすいからです。Edaxとはまだ対戦させません。
ただ、個人的に思い込みたいレベルでいうなら、MCTS系のオセロAIでは最強クラス
なんじゃないかなぁと(願望)。なにせ、いまどきオセロAIを開発している人はいないし、
ましてモンテカルロ系で試そうなんて人もいなさそうですから。言ったもの勝ち(汗
アルファ碁の論文のDeepでNeural networkではない部分を適用する事で、min-Maxで
なければ存在価値がないところまで行き着いていたオセロAIでもMCTSで結構強くなれる
事が証明できたかなぁと。本当にアルファ碁様様です。
ブログ作って解説でも作ろうかと準備していましたが、試しに開設したブログサービスでは
アップロードができなかったので、一旦閉鎖しました。どこか良いところないかな。
796535
2017/04/13(木) 22:33:44.03ID:vVAZxoH8 いろいろ試してみてるけどなんか勝利手順DBを充実させるのが一番手っ取り早く強くなる気がする。
いま12万局分棋譜あるけど100万局くらいまで増やしてみるか…
もっと計算リソースが欲しい。
いま12万局分棋譜あるけど100万局くらいまで増やしてみるか…
もっと計算リソースが欲しい。
797310
2017/04/18(火) 01:24:07.08ID:Ohai0OaC 評価関数のエポックを更に進めたら180エポック近辺から勝てなくなってきました。
もしかしてたまたま間違ったところが、zebraの弱点をついていたのかも知れないし、
評価関数の値にメリハリがついてきて、逆に見落としが起きやすくなったのかも
知れないし。過学習かも知れないし。
評価関数をブラッシュアップするには、負け手順を棋譜化して、学習データに投入
しなきゃならん。
ところが、負け確定後に例の自爆モードが作動してしまいます。棋譜として使えるよう
にするために、ソルバーを復活させました。ついでに色々やってたら、見なかった事
にしていたバグもとれました。ついでだからと偶数理論を実装したのですが、かえって
遅くなってしまった。他の人はどういう実装しているのだろう。
今の速度だと35手目から読み切らないといけない。今の速度だと時間の予測が難し
いというか、軽く1時間はかかりそう。
もしかしてたまたま間違ったところが、zebraの弱点をついていたのかも知れないし、
評価関数の値にメリハリがついてきて、逆に見落としが起きやすくなったのかも
知れないし。過学習かも知れないし。
評価関数をブラッシュアップするには、負け手順を棋譜化して、学習データに投入
しなきゃならん。
ところが、負け確定後に例の自爆モードが作動してしまいます。棋譜として使えるよう
にするために、ソルバーを復活させました。ついでに色々やってたら、見なかった事
にしていたバグもとれました。ついでだからと偶数理論を実装したのですが、かえって
遅くなってしまった。他の人はどういう実装しているのだろう。
今の速度だと35手目から読み切らないといけない。今の速度だと時間の予測が難し
いというか、軽く1時間はかかりそう。
798535
2017/04/19(水) 21:59:17.68ID:WjbK3YLE Ponanzaがディープラーニング取り込みに成功したとかなんとか。
ハードもものすごいものを用意するそうですね。
ハードもものすごいものを用意するそうですね。
799535
2017/04/21(金) 20:55:54.67ID:ZLYvyeQY 大分勝率上がってきた。
思考時間長いから数こなせないのが厳しいですね。
25局目
黒(airandom.dll)の勝利回数: 8
白(ai-lv3.dll)の勝利回数: 17
思考時間長いから数こなせないのが厳しいですね。
25局目
黒(airandom.dll)の勝利回数: 8
白(ai-lv3.dll)の勝利回数: 17
800535
2017/04/21(金) 22:05:48.97ID:ZLYvyeQY やっぱディープラーニング憧れるなぁ。
俺のAIにもブレークスルーを起こしてくれw
俺のAIにもブレークスルーを起こしてくれw
801310
2017/04/23(日) 20:02:43.30ID:Kquj3Rxt 色々係数調整したらめっちゃ弱くなって焦ってあちこちいじってました。
最初の調整の方向が逆だった模様で、反対に振ったら少し良くなりました。
過学習っぽい問題を何とかしたくて、ポリシーネットが作れないか、もう一度挑戦してます。
線形Softmaxでまた色々やっていたのですが、今まで上手く行かなかった理由が判明。
特徴を圧縮するのに…反転させたり回転させたりしていたので、盤面位置がわからなく
なった投入データに対して、盤面との対応ができてる教師データと整合性が取れなく
なっていたと…いまさら気づきまして…学習部分を全面的に作り直しとなっています。
なんて馬鹿な事をしていたんでしょう(涙
つまり、これが原因だったら、MLPも使えるかもって事です。
流石にDCNNは関係ないですが。
最初の調整の方向が逆だった模様で、反対に振ったら少し良くなりました。
過学習っぽい問題を何とかしたくて、ポリシーネットが作れないか、もう一度挑戦してます。
線形Softmaxでまた色々やっていたのですが、今まで上手く行かなかった理由が判明。
特徴を圧縮するのに…反転させたり回転させたりしていたので、盤面位置がわからなく
なった投入データに対して、盤面との対応ができてる教師データと整合性が取れなく
なっていたと…いまさら気づきまして…学習部分を全面的に作り直しとなっています。
なんて馬鹿な事をしていたんでしょう(涙
つまり、これが原因だったら、MLPも使えるかもって事です。
流石にDCNNは関係ないですが。
802535
2017/04/24(月) 23:38:10.10ID:Jt3D6fnV もう一回connect4に立ち返ってみるかな…
気分を変える意味でも…
気分を変える意味でも…
803535
2017/04/25(火) 21:31:44.16ID:I7r6uvd5 あ〜なんか新しいことすんの億劫だな。
プログラミングは少し充電期間をおいて本でも読もうかな。
プログラミングは少し充電期間をおいて本でも読もうかな。
804名前は開発中のものです。
2017/04/27(木) 01:15:37.14ID:KUFXWb0v 中学生が羽生さんに勝っちゃったとかでえらい盛り上がってるね
805310
2017/04/27(木) 22:32:29.06ID:gagL5fDM 億劫な時ありますね。アイデアが枯渇した時とか、陥りがちです。
しばらく放置するとアイデアが出て来たりします。
さて、線形Softmaxなポリシーネットですが、色々やって何とか計算開始しました。
回転同形の処理を真面目にやったらメモリーパンクでスワップしてしまってボツ。
仕方がないので、エポック事に回転同形をランダムに作る事に。
計算にものすごい時間がかかるので、ミニバッチサイズをミニとはとても言えない
ほどでかくして時短。お蔭で6時間越え→50分程度になりました。もっとでかくすると
更に時短できるかな。
序盤の盤面は重複が多く、学習に悪影響がありそうなので、%指定してカット。
(そのうち、同一盤面同一次着手は1件に集約しようかと思っています。)
こんな感じで現在2エポック目ですが、57%くらいの一致率という極めて優秀な成果が
出てきています。
それでも着手不能箇所が確率1位になっちゃったりするので、使用時に着手可能位置
のみ計算するようにしました。これで多少は一致率が上がるはず。
しばらく放置するとアイデアが出て来たりします。
さて、線形Softmaxなポリシーネットですが、色々やって何とか計算開始しました。
回転同形の処理を真面目にやったらメモリーパンクでスワップしてしまってボツ。
仕方がないので、エポック事に回転同形をランダムに作る事に。
計算にものすごい時間がかかるので、ミニバッチサイズをミニとはとても言えない
ほどでかくして時短。お蔭で6時間越え→50分程度になりました。もっとでかくすると
更に時短できるかな。
序盤の盤面は重複が多く、学習に悪影響がありそうなので、%指定してカット。
(そのうち、同一盤面同一次着手は1件に集約しようかと思っています。)
こんな感じで現在2エポック目ですが、57%くらいの一致率という極めて優秀な成果が
出てきています。
それでも着手不能箇所が確率1位になっちゃったりするので、使用時に着手可能位置
のみ計算するようにしました。これで多少は一致率が上がるはず。
806310
2017/04/27(木) 22:33:06.57ID:gagL5fDM 藤井4段凄いですね。
コンピュータ将棋で鍛えたからかな。
なんか新しい手を打ってるみたいですね。
コンピュータ将棋で鍛えたからかな。
なんか新しい手を打ってるみたいですね。
807名前は開発中のものです。
2017/04/28(金) 07:46:25.71ID:cnKbVTYz ニュースを見て藤井猛が勝利したのかと
勘違いした俺…
ニュースにならねえよ!
勘違いした俺…
ニュースにならねえよ!
808535
2017/04/29(土) 00:08:17.53ID:knMl9lYg ニューラルネットワーク自作入門という本を買ってきました。
平易に書こうとしてるのが伝わってくる本ですね。
平易に書くの最近の流行りなんですかね?
平易に書こうとしてるのが伝わってくる本ですね。
平易に書くの最近の流行りなんですかね?
809310
2017/05/03(水) 15:03:32.93ID:v36x8qrF 最近はもっぱらポリシーとバリューの両評価関数のテストです。
ポリシーの方は線形ソフトマックスで大丈夫そう。大体50%の正答率になります。
MLP版もコーディングはしてますが、まだテストまで至っていません。
バリューの方は、ステージ分割なしのMLP版を試してます。
計算に時間がかかりすぎて調整が進みません(汗
頭の片隅には、いつかはDCNNというのが残っています。
以前やった時に、畳み込みフィルタ演算の展開形を考えた事あります。
その時は、汎用性が無いという理由で、あまり乗り気じゃなかったのですが、
今となっては、そのまま進めればよかったかなと思う次第。
ポリシーの方は線形ソフトマックスで大丈夫そう。大体50%の正答率になります。
MLP版もコーディングはしてますが、まだテストまで至っていません。
バリューの方は、ステージ分割なしのMLP版を試してます。
計算に時間がかかりすぎて調整が進みません(汗
頭の片隅には、いつかはDCNNというのが残っています。
以前やった時に、畳み込みフィルタ演算の展開形を考えた事あります。
その時は、汎用性が無いという理由で、あまり乗り気じゃなかったのですが、
今となっては、そのまま進めればよかったかなと思う次第。
810名前は開発中のものです。
2017/05/04(木) 17:16:11.41ID:Hvuj7SvG pona負けたとかなんとか
811310
2017/05/05(金) 01:52:31.91ID:Orwfb9MI 世界コンピュータ将棋選手権ですね。
8勝1敗同率で、elmoに直接対決で負けた関係で予選2位通過みたいですね。
将棋は電王戦くらいしか見てなかったので、マシン制限があると思ったら、
こっちは凄いですね。CPU1092(Xeon)にGPU128基ですか…。
やっぱディープラーニングすると、それなりのマシンパワーがいるのよね。
しかも最速マシンは20億NPSとか言っているみたい(笑うしかない)。
8勝1敗同率で、elmoに直接対決で負けた関係で予選2位通過みたいですね。
将棋は電王戦くらいしか見てなかったので、マシン制限があると思ったら、
こっちは凄いですね。CPU1092(Xeon)にGPU128基ですか…。
やっぱディープラーニングすると、それなりのマシンパワーがいるのよね。
しかも最速マシンは20億NPSとか言っているみたい(笑うしかない)。
812310
2017/05/05(金) 02:46:05.76ID:Orwfb9MI で、Ponanza Chainerに対する半可通っぽい疑問。
アピール文章読んだけど、ディープラーニングは評価関数ではなく、
ポリシーネットに相当する次の1手導出に使われているっぽい。
何故バリューじゃなくてポリシーなのか?
で、αβ系探索でポリシーとなるとオーダリングに使うくらいしか思いつかない。
将棋ってオーダリングに良いヒューリスティックスないのかな?
YBWCのPV決定だと縦に並んじゃうから、並列にする意味がない。
確率の高い手は次の段でPVの数を増やしたりするのかな?
アピール文章読んだけど、ディープラーニングは評価関数ではなく、
ポリシーネットに相当する次の1手導出に使われているっぽい。
何故バリューじゃなくてポリシーなのか?
で、αβ系探索でポリシーとなるとオーダリングに使うくらいしか思いつかない。
将棋ってオーダリングに良いヒューリスティックスないのかな?
YBWCのPV決定だと縦に並んじゃうから、並列にする意味がない。
確率の高い手は次の段でPVの数を増やしたりするのかな?
813名前は開発中のものです。
2017/05/05(金) 08:17:59.66ID:cViTmSg9 将棋(やチェス)だとYBWCよりもLazy SMPが流行ってるみたいですね
Ponanza Chainerはそれのクラスタ版のeXtreme Lazy Smpらしいですが。
Ponanza Chainerはそれのクラスタ版のeXtreme Lazy Smpらしいですが。
814310
2017/05/05(金) 08:31:32.47ID:Orwfb9MI >>813
どうもです。早速見てみました。
自分のPCは2コアの擬似4コアなので恩恵なさそうです(汗
つか、並列化についてはPPLにお任せしちゃってるので、あまり要点が
わかっていないかも。
しかし、GPS将棋のクラスタすげーと思っていた時代は、一瞬で過去の
ものになってしまったのですねぇ。
どうもです。早速見てみました。
自分のPCは2コアの擬似4コアなので恩恵なさそうです(汗
つか、並列化についてはPPLにお任せしちゃってるので、あまり要点が
わかっていないかも。
しかし、GPS将棋のクラスタすげーと思っていた時代は、一瞬で過去の
ものになってしまったのですねぇ。
815310
2017/05/05(金) 17:24:07.29ID:Orwfb9MI elmo優勝でPonanzaが2位みたいですね。
なんか、将棋も強くなるスピードが尋常じゃない感じ。
目標設定して(前年比9割勝利とか)、マシンパワーとか確実性が
ある所にも、資源を振り向けて達成しているみたいにも見えますが。
なんか、将棋も強くなるスピードが尋常じゃない感じ。
目標設定して(前年比9割勝利とか)、マシンパワーとか確実性が
ある所にも、資源を振り向けて達成しているみたいにも見えますが。
816名前は開発中のものです。
2017/05/05(金) 17:48:22.87ID:hWowcZg5 ディープラーニングと将棋の相性が悪いてことだろうか?
elmoとやらは既存アルゴリズムなんですよね?
elmoとやらは既存アルゴリズムなんですよね?
817名前は開発中のものです。
2017/05/05(金) 18:47:05.96ID:hWowcZg5 elmoて公開されてるんです?
すごいなー
ソース読んでみようかなー
すごいなー
ソース読んでみようかなー
818310
2017/05/05(金) 20:43:38.31ID:Orwfb9MI819名前は開発中のものです。
2017/05/06(土) 09:18:07.29ID:ODpfq25G 自分もディープラーニングっぽいので将棋作ろうとしたけど
能力も価値も違う駒が複数あるから、それをどうするかで悩んで止まった
そのまま探索に掛けるわけにもいかず
ようするに駒割をどうするかわからなかった
一致率自体は普通に上げられるんだけどね
能力も価値も違う駒が複数あるから、それをどうするかで悩んで止まった
そのまま探索に掛けるわけにもいかず
ようするに駒割をどうするかわからなかった
一致率自体は普通に上げられるんだけどね
820名前は開発中のものです。
2017/05/06(土) 09:20:21.30ID:bJnH/Q0z そもそも将棋って、同種のゲームの中でAIにやらせるのは一番難しいくらいなんでしょ?
もっと簡単なゲームからやってみては。
もっと簡単なゲームからやってみては。
821310
2017/05/06(土) 09:41:02.64ID:eGOwqfr/ >>816
相性が悪いというより、効果を出し切れるところまで行かなかったのかも知れませんね。
Ponanzaは2位とはいえ、他の人には全部勝っているわけで、弱くなったわけではないと
思います。
elmoは予選で1敗しているので、予選時にponanzaに勝ったのまぐれかもと思っていたけど
直接対決2連勝で、決勝は全勝なので、やはりelmoの1年間での進歩が凄いかと。
1年間という時間制約の中で、レート向上の目標を200くらいとして、それを何で達成
するかと考えた時に、ディープラーニングを使わなくても同じくらいの向上はできたのかも
知れませんね。
とはいえ、今年は十分に活用しきれなかったけど、適用の仕方を煮詰める事で、来年から
はボーナスのレート向上が見込めるとか、そういう事はあるかも知れませんね。
相性が悪いというより、効果を出し切れるところまで行かなかったのかも知れませんね。
Ponanzaは2位とはいえ、他の人には全部勝っているわけで、弱くなったわけではないと
思います。
elmoは予選で1敗しているので、予選時にponanzaに勝ったのまぐれかもと思っていたけど
直接対決2連勝で、決勝は全勝なので、やはりelmoの1年間での進歩が凄いかと。
1年間という時間制約の中で、レート向上の目標を200くらいとして、それを何で達成
するかと考えた時に、ディープラーニングを使わなくても同じくらいの向上はできたのかも
知れませんね。
とはいえ、今年は十分に活用しきれなかったけど、適用の仕方を煮詰める事で、来年から
はボーナスのレート向上が見込めるとか、そういう事はあるかも知れませんね。
822535
2017/05/08(月) 22:06:30.07ID:bLY5QORw ディープラーニングやり直してみました。
与えられた局面の勝率を学習させて、一手読みで打たせてみました。
局面が均衡しているときは結構いい手を返すみたいですが、
不利に傾くと全然おかしい手を打ち始めます。
学習させた棋譜に偏りがあるんだろうか?
どちらかに不利に傾いた局面も学習させるべき?
与えられた局面の勝率を学習させて、一手読みで打たせてみました。
局面が均衡しているときは結構いい手を返すみたいですが、
不利に傾くと全然おかしい手を打ち始めます。
学習させた棋譜に偏りがあるんだろうか?
どちらかに不利に傾いた局面も学習させるべき?
823310
2017/05/08(月) 23:27:34.27ID:Byk3wJkT 悩ましいところですね。偏った棋譜を学習させるべきか、否か。
相手も弱いから、偏った棋譜になるわけで、そういう時にも問題が起きないように
探索と組み合わせるわけで。そう考えたら、そのままで良いのかも知れないし、
やってみないとわからないかも。自分的には、MCTSにおいてモンテカルロの
問題(隘路の騙し構造)に対して、先に避けるために、選択肢を偏らせるモノだと
認識していますので、拮抗している時に正しい手を返せばよいかと思っています。
自分は、Buroさんの特徴量をベースにしたMLPで評価関数作っているのだけど、
傾向としては線形回帰と変わらない印象です。与えている元データの偏りなのか、
それとも特徴量の選択の問題なのか、悩み中です。DCNNで特徴量抽出まで
やらせたいと、をもう一度試そうかなと言う機運になってます。
ただ、頭の中に、ワンチップマイコンで学習外だしというのがチラついていまして、
そこに入り込むと数か月、下手したら半年はとられるなぁと悶々中。
そうそう。アルファ碁のバリューネットの勝率ですが、割引率を考えたら…
という点に思い至りまして。普通勝率の評価関数はロクなもんじゃないのですが、
強化学習とセットなら、ありかもとちょっと思っています。
相手も弱いから、偏った棋譜になるわけで、そういう時にも問題が起きないように
探索と組み合わせるわけで。そう考えたら、そのままで良いのかも知れないし、
やってみないとわからないかも。自分的には、MCTSにおいてモンテカルロの
問題(隘路の騙し構造)に対して、先に避けるために、選択肢を偏らせるモノだと
認識していますので、拮抗している時に正しい手を返せばよいかと思っています。
自分は、Buroさんの特徴量をベースにしたMLPで評価関数作っているのだけど、
傾向としては線形回帰と変わらない印象です。与えている元データの偏りなのか、
それとも特徴量の選択の問題なのか、悩み中です。DCNNで特徴量抽出まで
やらせたいと、をもう一度試そうかなと言う機運になってます。
ただ、頭の中に、ワンチップマイコンで学習外だしというのがチラついていまして、
そこに入り込むと数か月、下手したら半年はとられるなぁと悶々中。
そうそう。アルファ碁のバリューネットの勝率ですが、割引率を考えたら…
という点に思い至りまして。普通勝率の評価関数はロクなもんじゃないのですが、
強化学習とセットなら、ありかもとちょっと思っています。
824310
2017/05/15(月) 09:41:45.01ID:hagdu+z8 オライリーさんのところのディープラーニング本(Pythonで学ぶ奴)を読んでみました。
自分で実装する人には、なかなか良いです。Python知らないですが、説明だけで結構
おなか一杯になります。
オライリー本で、畳み込み演算の実装(行列に落とし込む)の良い方法がわかりました。
自分が以前やって放置した展開形よりもっと良い方法があるんですね。ちと畳み込む気
が湧いてきました。
現在MLP版のポリシーネットを学習させていますが、テストデータに対して60%越え
まで来ました。一方で入力データサイズが89万(特徴)×16万(ミニwバッチ)とか
わけわからん事になっていて、もう畳み込んでも処理量大差ないんじゃないかと思って
いたところですので、学習限界が見えたら、畳み込みに行ってみようかと思います。
あと、やっぱり強化学習ですね。既存データで学習していても埒があかない気が強くして
きました。
自分で実装する人には、なかなか良いです。Python知らないですが、説明だけで結構
おなか一杯になります。
オライリー本で、畳み込み演算の実装(行列に落とし込む)の良い方法がわかりました。
自分が以前やって放置した展開形よりもっと良い方法があるんですね。ちと畳み込む気
が湧いてきました。
現在MLP版のポリシーネットを学習させていますが、テストデータに対して60%越え
まで来ました。一方で入力データサイズが89万(特徴)×16万(ミニwバッチ)とか
わけわからん事になっていて、もう畳み込んでも処理量大差ないんじゃないかと思って
いたところですので、学習限界が見えたら、畳み込みに行ってみようかと思います。
あと、やっぱり強化学習ですね。既存データで学習していても埒があかない気が強くして
きました。
825535
2017/05/15(月) 22:23:31.10ID:1z5ugcc4 ディープラーニング黒石を1、空点を0、白石を-1を入力として学習させたけど、
黒石かそうでないかの01データと空点かそうでないかの01データと白石かそうでないかの01のデータ
と3つに分けて食わせたほうがいいんだろうか?
黒石かそうでないかの01データと空点かそうでないかの01データと白石かそうでないかの01のデータ
と3つに分けて食わせたほうがいいんだろうか?
827535
2017/05/16(火) 21:15:39.88ID:3NTvf1qj828535
2017/05/17(水) 22:57:33.27ID:2rHwBE7R 今すごくいい勝ち方した。
必勝形を意識した連続攻撃。
こういうのが毎回打てればなぁ。
(;SZ[19]
;B[jj];W[ik];B[ij];W[hk];B[jk];W[gk];B[kl];W[hi]
;B[ji];W[jm];B[kh];W[km];B[jg];W[jl];B[kf];W[li]
;B[je];W[id];B[jf];W[jd];B[jh])
必勝形を意識した連続攻撃。
こういうのが毎回打てればなぁ。
(;SZ[19]
;B[jj];W[ik];B[ij];W[hk];B[jk];W[gk];B[kl];W[hi]
;B[ji];W[jm];B[kh];W[km];B[jg];W[jl];B[kf];W[li]
;B[je];W[id];B[jf];W[jd];B[jh])
829310
2017/05/19(金) 20:14:05.97ID:skXdWaLK 結局、tiny_dnnでDCNNを組んでテスト開始。
ウィンドウサイズ3で、Conv7層+fullcon2層構成。
隠れ層のチャンネル数は暫定で32。
入力は自分・相手・空白・着手可能位置の64×4個。
入力データをDCNN用に展開すると、メモリーに収まりきらずに盛大にスワップ。
BITBOARDの64ビットデータ(unsigned int64)が、32ビット(float)×64個のvectorに
膨らんでしまうのが原因です。
仕方がないので、ファイルを適当なサイズごと読み込みながら、中間バッチを作って、
それを順次学習する形にしました。
で、中間の時間を計ってみたところ、1エポック分学習するのに数日という予想に。
全く非実用的です。どうしよう。
ウィンドウサイズ3で、Conv7層+fullcon2層構成。
隠れ層のチャンネル数は暫定で32。
入力は自分・相手・空白・着手可能位置の64×4個。
入力データをDCNN用に展開すると、メモリーに収まりきらずに盛大にスワップ。
BITBOARDの64ビットデータ(unsigned int64)が、32ビット(float)×64個のvectorに
膨らんでしまうのが原因です。
仕方がないので、ファイルを適当なサイズごと読み込みながら、中間バッチを作って、
それを順次学習する形にしました。
で、中間の時間を計ってみたところ、1エポック分学習するのに数日という予想に。
全く非実用的です。どうしよう。
830535
2017/05/19(金) 20:21:41.55ID:z5dIsNlN 310氏は今のノート捨ててデスクトップでいい奴組むべきw
831310
2017/05/21(日) 16:44:31.83ID:kUdqCG8C ちょこっと直して学習して様子を見てとかやってるうちに、学習しない時間かかると
言う酷い状況に陥りました。最初にテストで1バッチやった時は18分で35%程度の
正答率だったのに。いまでは1バッチ1時間の癖にNaNになったり、正答率3%程度に
落ち着いちゃったり。いわゆる勾配消失になってる模様です。学習進めば進むほど、
勾配消失も進むので、活性化関数をLeaky_ReLUとかにしなきゃいけないかも。
で、段々と強化学習方向に逃げはじめました。
かなり小さいDCNNで学習できるかテストするつもりで、強化学習のプログラム書き
はじめました。まあ、学習するにも、余計時間かかりそうですが。
マジで、デスクトップ欲しいです・・・
言う酷い状況に陥りました。最初にテストで1バッチやった時は18分で35%程度の
正答率だったのに。いまでは1バッチ1時間の癖にNaNになったり、正答率3%程度に
落ち着いちゃったり。いわゆる勾配消失になってる模様です。学習進めば進むほど、
勾配消失も進むので、活性化関数をLeaky_ReLUとかにしなきゃいけないかも。
で、段々と強化学習方向に逃げはじめました。
かなり小さいDCNNで学習できるかテストするつもりで、強化学習のプログラム書き
はじめました。まあ、学習するにも、余計時間かかりそうですが。
マジで、デスクトップ欲しいです・・・
832535
2017/05/24(水) 20:50:33.25ID:NHCMa7e2 中盤で攻めがつながるうち回しが欲しいなぁ。
上手く探索したらかなり枝刈出来そうな気もするが、
それは手書き評価関数を書くのと変わらん難しさという。
上手く探索したらかなり枝刈出来そうな気もするが、
それは手書き評価関数を書くのと変わらん難しさという。
833535
2017/05/25(木) 21:07:01.59ID:nz71uY7p うあああああ、なんかおかしいと思ったらデータ読み込んでなかったw
全然変な手を打つと思ったらそういうことかーorz orz orz
全然変な手を打つと思ったらそういうことかーorz orz orz
834535
2017/05/26(金) 21:03:34.78ID:B39N4gaL バグが治ったらLV3にいい線まで迫ってきた凄い!
18局目
黒(airandom.dll)の勝利回数: 9
白(ai-lv3.dll)の勝利回数: 9
19局目
黒(ai-lv3.dll)の勝利回数: 12
白(airandom.dll)の勝利回数: 7
思考時間がめちゃくちゃ長いのが当面の課題ですね〜
18局目
黒(airandom.dll)の勝利回数: 9
白(ai-lv3.dll)の勝利回数: 9
19局目
黒(ai-lv3.dll)の勝利回数: 12
白(airandom.dll)の勝利回数: 7
思考時間がめちゃくちゃ長いのが当面の課題ですね〜
835535
2017/05/27(土) 01:33:58.68ID:vCz7BcHT 多分、あと二つくらい良い特徴量さえ見いだせればLV3に勝つる。
良い特徴量さえあれば!
良い特徴量さえあれば!
836310
2017/05/27(土) 20:17:57.81ID:TGXtrM6M 強化学習に大きく方向転換。
最初、ポリシーネットを模して学習しようとしたけど、出力がソフトマックスの時
負け側の教師データをどうするのか不安があったので、まずは普通にQ学習で
勝率を学ぶ事にしました。
ざっと作ったところでデバッグに時間がかかりまして、ようやく多分ちゃんと学習して
いるんじゃないかと思うところまで来ました。が、初期の学習をしないでランダム初期化
のまま開始してしまいましたので、学習はしているみたいだけど、実用レベルの学習
をするまで、どれくらいかかるのか、想像もつきません(汗
100回対戦して、1エポック学習するのに、大体8〜10分くらい。控えめに見て
1000万対戦としても、10万分。つまり2か月強必要です。アルファ碁は初期値を
学習した上で追加の強化学習が確か数千万対戦だから、年単位でも足りないかも(笑)
手を完全に固定(ランダム要素排除)した状態で学習により勝つ方向に遷移する事
は確認しましたが、最初の方をランダムにしたりε-greedyしたりして局面が偏らない
ようにしてから、1万対戦しても勝率が良くなる気配が無いので、まだすごく不安です。
最初、ポリシーネットを模して学習しようとしたけど、出力がソフトマックスの時
負け側の教師データをどうするのか不安があったので、まずは普通にQ学習で
勝率を学ぶ事にしました。
ざっと作ったところでデバッグに時間がかかりまして、ようやく多分ちゃんと学習して
いるんじゃないかと思うところまで来ました。が、初期の学習をしないでランダム初期化
のまま開始してしまいましたので、学習はしているみたいだけど、実用レベルの学習
をするまで、どれくらいかかるのか、想像もつきません(汗
100回対戦して、1エポック学習するのに、大体8〜10分くらい。控えめに見て
1000万対戦としても、10万分。つまり2か月強必要です。アルファ碁は初期値を
学習した上で追加の強化学習が確か数千万対戦だから、年単位でも足りないかも(笑)
手を完全に固定(ランダム要素排除)した状態で学習により勝つ方向に遷移する事
は確認しましたが、最初の方をランダムにしたりε-greedyしたりして局面が偏らない
ようにしてから、1万対戦しても勝率が良くなる気配が無いので、まだすごく不安です。
837310
2017/05/28(日) 21:36:00.20ID:354vTA35 ちょっと学習データの保管期限長くしたら100ゲーム14分になった。
あと、テストゲームで動くはずのない側(学習していない方)の手が変わったので
変だなと確認したら、バグ発見。後手番になっても、先手のAIを使用していた(汗
数万ゲーム行っていたのに、また一から学習しなおし。
どうせ適当に構成しているので、少しネットワークを簡素にしてみるかな。
あと、テストゲームで動くはずのない側(学習していない方)の手が変わったので
変だなと確認したら、バグ発見。後手番になっても、先手のAIを使用していた(汗
数万ゲーム行っていたのに、また一から学習しなおし。
どうせ適当に構成しているので、少しネットワークを簡素にしてみるかな。
838535
2017/05/30(火) 22:08:02.05ID:rOaQFKPq 囲連星における将棋で言うところの詰めろと必至を計算するルーチンが欲しい。
かなり切実に。
かなり切実に。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ★2 [♪♪♪★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- ワチが一番キライなスポーツ1つ当ててみ
- ウインナーを最初に考えた奴ってサイコパスだよな
- 16のヒッキー女に構って
- ネトウヨ「レアアースは日本でも採れるから輸入しなくてもOK!」 なお精製コストがバカ高く有害物質が大量に出ることは全く知らない模様 [314039747]
- 国籍答えろ!嫌儲民!! [279254606]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
