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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
727: 535 2017/02/09(木)22:03 ID:qkkjChao(1) AAS
>>726
そうですかw
まあそんな気もしますが、でも終盤の積みルーチンだけなら手書きでイケそうな気もするんですよねぇ
そこだけでもなんとかできれば…
728: 535 2017/02/10(金)19:40 ID:M6OFVkZO(1) AAS
黒番だとDBのせいで対LV1よりも対LV2のほうが勝率いいみたいw
めちゃくちゃ歪んだAIになってしまったw。
729: 310 2017/02/10(金)23:52 ID:HUcinQI4(1) AAS
3日かけて学習したオートエンコーダ型はやっぱりダメでした。
可能性すら見えなかった。

というわけで、開き直ってDCNN開始。
前回はオセロ専用で展開形を作ってましたが、それではmnistなどでテストできない
ので、max_poolingも含めて、本格的にちゃんとしたものを作ってみました。
とはいえ、まだ畳み込み層の誤差逆伝播の解釈が正しいか、自信はありません。
また、テストで動かしたところ、なんかすごく重い印象です。

ちゃんと動くのかなぁ。
730
(1): 2017/02/11(土)10:06 ID:CnQo/DsP(1) AAS
GGSはmimosaというソフトを使うと入れますよ
731: 310 2017/02/13(月)22:45 ID:d/p+PbrG(1) AAS
>>730
そのmimosaのサイトがリンク切れで見つからないのです。
732: 310 2017/02/14(火)20:21 ID:lpq90WbI(1) AAS
自作ライブラリにDCNNのレイヤーを書いたのですが、あまりの計算時間にデバッグ中に
めげて、試しにtiny_dnnというC++専用のNNライブラリを入れてみましたところ、自作の
10倍以上の速度で・・・こちらに乗り換えです。

で、tiny_dnnでmnistやって感度をつかんだところで、オセロの盤面を変換する処理を
書いて、小手調べに簡単なネットワークで動かそうとしてみたところ・・・盤面データの
変換の段階でメモリーが溢れて盛大にスワップ開始(^^;

5000,000盤面×100マス(Padding含む)×4チャンネル×4バイト(float)でデータだけで
8Gbytes。自分のパソコンのメモリーは8Gで、空いているメモリーは5Gちょいとメモリー
不足が判明しました。

いまどきのパソコンはメモリーでかいから一括でも大丈夫とか言って、このざまです(笑)。

tiny_dnnは全データ一括で渡して指定エポック回してくれる仕組みなのですが、仕方ない
ので、入力データを分割して、自分でループ回します。

α碁のハード環境がうらやましいorz
733: 310 2017/02/15(水)23:06 ID:DozmM7Z3(1) AAS
色々細かく改造。やっぱライブラリがあると気が楽です(汗

簡単なネットワークの初期の学習の具合では正答率50%くらいが上限な印象だったので、
ネットワークを複雑にしてみました。で、1エポック8時間以上かなぁ。

もっとハードを・・・って真剣に思いますorz
734: 2017/02/17(金)23:21 ID:ZDoCs64T(1) AAS
AMDが今度発売するcpuが結構いいかもしれない
735: 310 2017/02/19(日)20:31 ID:PM1ZzNLK(1) AAS
DCNNで学習させてるのですが、あまりに時間がかかるので、裏でもう一度
アルファ碁の論文を。日本語解説ページがいくつかできていて助かります。

で、読んでいたら、ロールアウトポリシーなる線形Softmaxでプレイアウトの
手を選択していると・・・。つまりはオセロ評価関数のような特徴を渡して、線形
回帰の代わりに出力をSoftmaxで確率分布にしたものです。
ロールアウトポリシーは棋譜との一致率が25%程度だけど、計算が圧倒的
に速く、このばらけ具合がちょうど良いとの事。

むむむ。アルファ碁はプレイアウトの手の選択にDCNN使ってないのねorz

日本語解説のおかげで、MCTS部の構造もようやくわかった。
いくらマシンが早くても無理だろと思っていた計算も、これなら何とかなりそう
レベルの構造に落とし込まれていて、納得しました。

でも、実はまだインプットに何を食わせているのかが、よくわからない(汗
736: 535 2017/02/19(日)22:19 ID:FX6EUVR+(1) AAS
ついにアルファ碁論文まで…
英語かつ有料記事ということで私は手を出せずにいましたが日本語サイトもあるんですか。
ちょっとググってみるか…
737: 310 2017/02/20(月)20:05 ID:L40mCRWI(1/2) AAS
論文自体はだいぶ前にダウンロードしてたんですが(汗
MCTSやらない段階では、やはり理解は難しかったと思います。
DCNN部分の投入データあたりは囲碁の知識が必要だったりしますので、
まだよくわからない点が多いです。

で、MCTS的な視点から眺めると、巷の解説とは違うところにフォーカスが
あたったりします。強化学習使ったRL PolicyはValue netの事前学習で
使っていますが、プレイアウトの手の選択では線形Softmax、ノードの分岐
では教師付学習のものを使用しているなど、工夫が見られまして。オセロ
は既に評価関数があるので、無理やりDCNNしなくても応用が効くのでは
ないかと思ったりします。

とはいえ、今学習中の奴は、学習終わるまで1ヶ月くらいかかりそうではあり
ますが、どこまで手の一致率が高められるか、見てみたい気もしています。
738: 310 2017/02/20(月)20:09 ID:L40mCRWI(2/2) AAS
追記。なんか格好良く書きすぎですね。

ちょうど今MCTSで悩んでいる箇所に見事な回答を与えている点に感動。
日本語で読めたので、そこに速攻で気づく事ができたという事で。

とはいえ、アルファ碁の線形SoftmaxによるRollout関数の入力データは、
囲碁の特性がわからない事から、意味不明な事もまだあり、いずれにして
もそのままでは使え無さそうで、オセロに合わせて別途考えるしかなさそうです。
739: 535 2017/02/23(木)20:58 ID:ONUfwXLw(1/2) AAS
連続対戦してると突然落ちるバグがあるっぽいが意図的に再現できない。
どうデバッグすりゃいいんだ。orz.
740: 2017/02/23(木)23:03 ID:ONUfwXLw(2/2) AAS
再現した!
けど一回再現させんのに1時間かかるw
741: 535 2017/02/24(金)21:40 ID:sIjNtQpy(1) AAS
コアダンプの吐かせ方がわからん。T△T
デバッグオプション付けてulimit -c unlimitedだけじゃだめなんか。
ちな環境はcygwin。
742: 2017/02/24(金)21:43 ID:P/wI/gFl(1) AAS
age
743: 535 2017/02/26(日)00:05 ID:TbeyqTpr(1/2) AAS
やっと落ちてる場所見つかった。
ぬるぽだった
744: 535 2017/02/26(日)23:30 ID:TbeyqTpr(2/2) AAS
特徴量とか便利すぎる言葉考えたやつ誰だよ。
いつでも特徴量が効率よく計算できるとは限らんだろうが。
マジムカつく。
745: 310 2017/02/27(月)01:19 ID:kLJ7ziJk(1) AAS
全く同感orz
746: 535 2017/02/28(火)21:58 ID:+JAecqpe(1) AAS
ファイルに2Gの壁とかあんの?
2G以上のデータはどうやって受け渡せばいいんだ。
747: 2017/03/01(水)12:15 ID:jElZYckW(1) AAS
「29歳既婚、2年前に会社を辞めた。ボードゲーム作りを始めて3700万円を
売り上げたけど何か聞きたいことはある?」回答いろいろ
外部リンク[html]:labaq.com
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
外部リンク:bodoge.hoobby.net
QRコード・クトゥルフ神話・24世紀などユニークすぎるデザインてんこ盛りのサイコロ「Dice Empire」レビュー
外部リンク:gigazine.net
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
外部リンク:bodoge.hoobby.net
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
外部リンク:gigazine.net
実際のところ、自作ボードゲームってどれぐらい売れるもんなの?
外部リンク:roy.hatenablog.com
ゲームマーケット2016春にて初参加サークルさんに作成数アンケートをとってきました
外部リンク[html]:hidarigray.blog35.fc2.com
カフェも急増 ボードゲームにアラサーがハマる理由
外部リンク:style.nikkei.com
ボードゲームのオリジナルオーダー制作
外部リンク[html]:www.logygames.com
748: 535 2017/03/02(木)19:55 ID:ejFPCGdH(1/4) AAS
がっつり連続対戦中。黒番対LV2だけ流し終わった。

100局目
黒(airandom.dll)の勝利回数: 73
白(ai-lv2.dll)の勝利回数: 27

なお他のレベルも平行して回してるけどいま黒番対LV3に1勝54敗中w

なんでこんなに差がでるのかなぁ。
749: 535 2017/03/02(木)20:08 ID:ejFPCGdH(2/4) AAS
対LV2はかなり同じパターンで勝ってるな。
勝利手順DBにずっぽり嵌ってくれてる感じだ。
LV3は嵌ってくれない。
750: 535 2017/03/02(木)21:41 ID:ejFPCGdH(3/4) AAS
序盤用DBはそこそこうまく動いているが
中盤〜終盤用のDBのせいで致命的に打ち手が狂ってるように見える。
LV3に勝てないのは多分これだな。
751: 535 2017/03/02(木)23:28 ID:ejFPCGdH(4/4) AAS
ずいぶん昔に書いたコードにバグがあった。
ビビるくらい致命的な奴。
よく今まで動いてたな。
752: 310 2017/03/03(金)01:05 ID:0ijSS6CX(1) AAS
次の1手もDCNNもなんか上手くいかないので、アルファ碁の原点に戻りました。
アルファ碁のMTCSとしての特徴は、各ノードで評価関数を動かして、そのノードに
点をつけて勝率と50%混合する事で、ノードの選択に事前に差をつけてしまう事に
あります。これによって、負けが多いけど1手だけ良い手があるルートを正しく評価
する可能性を高めていると解釈しています。

で、評価関数はオセロでは線形和で確立されているので、昔の奴をと思ったのですが、
どうせならMLPのライブラリ使ってしまえばEigenが使えるので信頼性高い上に、学習
率の最適化でモーメンタムどころかSMORMS3が使えるようになります。インプットが
とても疎なので、EigenのSparseMatrixを使って高速化を図ります。

早速作って学習させてみたところ…僕の記憶が確かなら以前のプログラムの数十倍
くらいの速度で動いています(汗。これなら100エポックくらい楽勝。

今は評価値を計算させていますが、一旦できたら、次のステップで勝率を計算させられ
ないかなぁと。ただ、評価値がある程度正確なら、勝率ではなく平均スコアでプレイアウト
しても良いのかなと思っています。
753: 535 2017/03/04(土)22:29 ID:ZrhUKe4E(1) AAS
DB初期化に35秒かかる。
コンパイラを64bit版に変えると11秒になる。
なぜこんなに差が…
ちなみに囲連星本体が32bitプログラムだからコンパイラ変えられないT△T
なんとかならんか?
754: 535 2017/03/05(日)03:39 ID:LufQ1oMY(1) AAS
コンパイラの問題じゃなくてライブラリを静的リンクするか動的リンクするかの違いみたいです。多分。
かなり早くなった^_^
755: 535 2017/03/06(月)18:17 ID:XCrs8w8i(1) AAS
思考時間は試行回数に直結する
重いモンテカルロは一旦封印する
756: 310 2017/03/10(金)01:25 ID:4qfAid0y(1) AAS
評価関数の作り直しを始めたら、計算してはやり直しの繰り返しです。
計算速度が上がったので、比較的気楽に再計算できちゃうのがいかん。

勝率の計算もしてみましたが、結果は似たようなものでした。
いずれにせよ、もう少し精度を上げたいなぁ。
1-
あと 246 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.012s