[過去ログ]
【オセロ,将棋】ボードゲーム【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
711: 535 [sage] 2017/01/30(月) 23:07:35.87 ID:nIJrclSx ファイル出力が思いのほか重い。 知識では知ってたけど今回、実感しました。 DB作るときは棋譜をまとめて読み込んで書きこみは1回だけとか工夫しないとだめですな。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/711
712: 310 [sage] 2017/01/31(火) 01:06:15.90 ID:tF0OU/RM >>709 ドカンとは強くならないけど、やっている事から推測すると遺伝的アルゴリズムが 合ってそうな気がします。茨の道ですが(汗 >>711 いまどきはメモリが大きいので、全部読み込んで一括処理とか、思いのほか可能ですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/712
713: 310 [sage] 2017/01/31(火) 01:17:50.59 ID:tF0OU/RM 困った。3層MLPで次の1手を、 http://qiita.com/kanlkan/items/6bff417519ed7d5ce4da を参考にして求めている(若干やり方が違う)のだけど、思ったように学習してくれない。 NNの計算どっかおかしい気がしてきたorz http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/713
714: 310 [sage] 2017/02/01(水) 15:57:52.90 ID:DrzIg7bz ひょんな事から学習できました。デバッグ用に学習データを減らしてテストをしようとしたら 学習できてしまいまして。件数を増やすとダメになる模様。 これは仮説ですが、多種多様な棋譜を学習させると、ネットワークの自由度が不足して、 ウェイト更新が相互に打ち消し合った結果、ウエイトがゼロ(勾配消失)に陥ってしまうと。 学習に失敗した時は、大半のテストの結果が、全て同じ確率(softmaxのため)となってい ます。中身は見ていませんが、softmax関数を通す前はオールゼロとなって
いる事が十分 に想像できます。 今から思うと、NNで評価関数を作ろうとして失敗していた時も、同じ状態だったのかなと。 学習データを減らすと精度が落ちますので、ネットワークをより複雑かつ大規模にしない といけないのかなぁと。結局、同じ問題(ネットワークを大規模化しなきゃいけないけど、 自前のパソコンでは計算が厳しい上に、結果を使用する方もタイムクリティカルなので あまりややこしくしたくない)の周りをグルグルしはじめてしまいました(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/714
715: 535 [sage] 2017/02/02(木) 23:55:47.04 ID:JZtX1mUx まとめて読むようにしたら3日かかったDB作成が数分で終了しましたw しかしDBがかなり肥大化してしまいました。 読み込みに5秒くらいかかる。 しかもこの手法だとLV2には勝てるけどLV3には勝てないし。 LV2はパターン少ないからDBで勝利手順なぞれるけどLV3はパターンが多くてカバーできない(多分)。 そろそろ別の手を考えなければ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/715
716: 535 [sage] 2017/02/03(金) 20:14:00.97 ID:jkxdJ711 DBを使ってモンテカルロ木探索の探索結果を永続的に蓄積するというのをちょっと思案中。 計算すればするほどDBが洗練されていく感じで。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/716
717: 310 [sage] 2017/02/03(金) 20:39:47.64 ID:dv6j41bl >>716 同じ事妄想したけど、それなら後方枝刈付のmin-Maxの探索結果をひたすら ため込んでいく方が容量的にも速度的にも有利で、それができないからモンテ カルロだって事に思いいたりました(汗 min-Maxなら、いらない枝カットできるかと思いきや、相手がそこに打っちゃった 時の事を考えたら捨てられない事にも気づきました(汗汗 で、適当なところだけ保存して、残りは別途探索・・・って、これ定石DBやん! というオチでした。 http://mevius.5ch.net/test/read.cgi/gamedev/1
057763418/717
718: 名前は開発中のものです。 [sage] 2017/02/03(金) 20:45:51.93 ID:jkxdJ711 ボツ案でしたか。 でもまあ、とりあえずDBを充実させる方向でやってみます。 他に案がないので。 ディープラーニングがうまくいけばなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/718
719: 535 [sage] 2017/02/03(金) 20:49:10.94 ID:jkxdJ711 今のところ黒番対LV2は2勝一敗ペースてな感じです。 もっと勝てるかと思ったけどそうでもないですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/719
720: 310 [sage] 2017/02/03(金) 20:58:39.46 ID:dv6j41bl こちとらディープラーニングで完全にドツボってますorz http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/720
721: 535 [sage] 2017/02/04(土) 19:33:24.33 ID:neMma6zi ディープラーニングは盤面情報だけじゃなくてこちらでなにがしかの特徴量を計算してやって その数値も食わせたほうがすこしはましになるんだろうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/721
722: 310 [sage] 2017/02/04(土) 20:57:26.78 ID:ycMSfQXf オセロではBuroさんの評価関数と同じ特徴を入力にしたMLPで評価関数を作った オセロプログラムがあります。vsOthaというソフトです。 今回はディープなので、できれば特徴量は自動抽出してもらいたいものではあります。 一応、黒白の盤面情報の他、着手可能位置は与えています。 と、ここまで書いて、着手可能位置を求めるように学習させられるのか、ふと気になった。 何らかの事前学習に使えそうな気がする。 やらずに悶々としているだけなのですが、DCNNの四角い窓ではオセロの特徴はう
まく 抽出できないのではないかと思っていますが、他に方法が思いつかないのが悲しい。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/722
723: 名前は開発中のものです。 [] 2017/02/05(日) 08:03:16.57 ID:36jlTAsU そうかそうか http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/723
724: 535 [sage] 2017/02/07(火) 20:48:43.68 ID:qiXxRrUf 機械学習じゃだめだ、手書き評価関数しかない… しばらくするといや、手書き評価関数じゃやっぱりだめだ、機械学習だ… の無限ループw http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/724
725: 310 [sage] 2017/02/08(水) 21:46:39.89 ID:GrcF81sn 昔mnistでオートエンコーダのテストした時のように、学習内容(ウェイト)をBMPにして 可視化してました。テストに時間がかかるので、色々すったもんだバグとりに時間が かかってましたが、ようやくなんとか表示できるようになりました。で、とりあえず想定より 少な目の隠れ層4096個でテスト開始。 勾配ノイズ(焼きなまし)の設定値もでかすぎたので、設定値を自動計算するようにしたり。 NN復活当初うまく動かなかった原因がこれでした。 で、まだ学習途中なのですが、ウェイトデー
タ見ると192個(=64×3)毎に1ビットづつ ずれるパターンに収れんしていっています。192といえば入力データのサイズで、 横に64個づつ並べたビットマップ画像に、まるで光子の回析実験のような縦じまが(汗 そんな周期性が生まれるはずがないので、どこかにバグがあるんじゃないかと。 表示するプログラムのバグかも知れないけど、1エポックに3時間かかるので、止めて デバッグに入るか、それとも続行するかで悶々中…。 どっちにしても時間がかかるので、裏でDCNNをもう一度コーディング開始。 あまりにネストが深いのでミニバッチは
一旦放棄してSGDで。 GoogleのTensorFlowがテンソルな意味が良くわかった。 DCNNだと元データが2次元で、更にチャンネルがある行列では次元が足りないorz 今最大の懸案は、とりあえず隠れ層4096でオートエンコーダの事前 学習しているけど、 それが終わり全体の学習にいって上手く行かなかった時、中間層を増やして再トライ するか、それともDCNNに行ってしまうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/725
726: 310 [sage] 2017/02/08(水) 21:47:47.17 ID:GrcF81sn >>724 そこは…絶対的に機械学習である!という信念が必要だと思います(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/726
727: 535 [sage] 2017/02/09(木) 22:03:30.31 ID:qkkjChao >>726 そうですかw まあそんな気もしますが、でも終盤の積みルーチンだけなら手書きでイケそうな気もするんですよねぇ そこだけでもなんとかできれば… http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/727
728: 535 [sage] 2017/02/10(金) 19:40:14.89 ID:M6OFVkZO 黒番だとDBのせいで対LV1よりも対LV2のほうが勝率いいみたいw めちゃくちゃ歪んだAIになってしまったw。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/728
729: 310 [sage] 2017/02/10(金) 23:52:07.84 ID:HUcinQI4 3日かけて学習したオートエンコーダ型はやっぱりダメでした。 可能性すら見えなかった。 というわけで、開き直ってDCNN開始。 前回はオセロ専用で展開形を作ってましたが、それではmnistなどでテストできない ので、max_poolingも含めて、本格的にちゃんとしたものを作ってみました。 とはいえ、まだ畳み込み層の誤差逆伝播の解釈が正しいか、自信はありません。 また、テストで動かしたところ、なんかすごく重い印象です。 ちゃんと動くのかなぁ。 http://mevius.5ch.net/test/read.cgi
/gamedev/1057763418/729
730: 名前は開発中のものです。 [sage] 2017/02/11(土) 10:06:04.43 ID:CnQo/DsP GGSはmimosaというソフトを使うと入れますよ http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/730
731: 310 [sage] 2017/02/13(月) 22:45:03.11 ID:d/p+PbrG >>730 そのmimosaのサイトがリンク切れで見つからないのです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/731
732: 310 [sage] 2017/02/14(火) 20:21:59.60 ID:lpq90WbI 自作ライブラリにDCNNのレイヤーを書いたのですが、あまりの計算時間にデバッグ中に めげて、試しにtiny_dnnというC++専用のNNライブラリを入れてみましたところ、自作の 10倍以上の速度で・・・こちらに乗り換えです。 で、tiny_dnnでmnistやって感度をつかんだところで、オセロの盤面を変換する処理を 書いて、小手調べに簡単なネットワークで動かそうとしてみたところ・・・盤面データの 変換の段階でメモリーが溢れて盛大にスワップ開始(^^; 5000,000盤面×100マス(Padding含む
)×4チャンネル×4バイト(float)でデータだけで 8Gbytes。自分のパソコンのメモリーは8Gで、空いているメモリーは5Gちょいとメモリー 不足が判明しました。 いまどきのパソコンはメモリーでかいから一括でも大丈夫とか言って、このざまです(笑)。 tiny_dnnは全データ一括で渡して指定エポック回してくれる仕組みなのですが、仕方ない ので、入力データを分割して、自分でループ回します。 α碁のハード環境がうらやましいorz http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/732
733: 310 [sage] 2017/02/15(水) 23:06:48.81 ID:DozmM7Z3 色々細かく改造。やっぱライブラリがあると気が楽です(汗 簡単なネットワークの初期の学習の具合では正答率50%くらいが上限な印象だったので、 ネットワークを複雑にしてみました。で、1エポック8時間以上かなぁ。 もっとハードを・・・って真剣に思いますorz http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/733
734: 名前は開発中のものです。 [sage] 2017/02/17(金) 23:21:12.85 ID:ZDoCs64T AMDが今度発売するcpuが結構いいかもしれない http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/734
735: 310 [sage] 2017/02/19(日) 20:31:51.68 ID:PM1ZzNLK DCNNで学習させてるのですが、あまりに時間がかかるので、裏でもう一度 アルファ碁の論文を。日本語解説ページがいくつかできていて助かります。 で、読んでいたら、ロールアウトポリシーなる線形Softmaxでプレイアウトの 手を選択していると・・・。つまりはオセロ評価関数のような特徴を渡して、線形 回帰の代わりに出力をSoftmaxで確率分布にしたものです。 ロールアウトポリシーは棋譜との一致率が25%程度だけど、計算が圧倒的 に速く、このばらけ具合がちょうど良いとの事。 むむ
む。アルファ碁はプレイアウトの手の選択にDCNN使ってないのねorz 日本語解説のおかげで、MCTS部の構造もようやくわかった。 いくらマシンが早くても無理だろと思っていた計算も、これなら何とかなりそう レベルの構造に落とし込まれていて、納得しました。 でも、実はまだインプットに何を食わせているのかが、よくわからない(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/735
736: 535 [sage] 2017/02/19(日) 22:19:16.15 ID:FX6EUVR+ ついにアルファ碁論文まで… 英語かつ有料記事ということで私は手を出せずにいましたが日本語サイトもあるんですか。 ちょっとググってみるか… http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/736
737: 310 [sage] 2017/02/20(月) 20:05:00.30 ID:L40mCRWI 論文自体はだいぶ前にダウンロードしてたんですが(汗 MCTSやらない段階では、やはり理解は難しかったと思います。 DCNN部分の投入データあたりは囲碁の知識が必要だったりしますので、 まだよくわからない点が多いです。 で、MCTS的な視点から眺めると、巷の解説とは違うところにフォーカスが あたったりします。強化学習使ったRL PolicyはValue netの事前学習で 使っていますが、プレイアウトの手の選択では線形Softmax、ノードの分岐 では教師付学習のものを使用しているなど、工夫が見
られまして。オセロ は既に評価関数があるので、無理やりDCNNしなくても応用が効くのでは ないかと思ったりします。 とはいえ、今学習中の奴は、学習終わるまで1ヶ月くらいかかりそうではあり ますが、どこまで手の一致率が高められるか、見てみたい気もしています。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/737
738: 310 [sage] 2017/02/20(月) 20:09:54.18 ID:L40mCRWI 追記。なんか格好良く書きすぎですね。 ちょうど今MCTSで悩んでいる箇所に見事な回答を与えている点に感動。 日本語で読めたので、そこに速攻で気づく事ができたという事で。 とはいえ、アルファ碁の線形SoftmaxによるRollout関数の入力データは、 囲碁の特性がわからない事から、意味不明な事もまだあり、いずれにして もそのままでは使え無さそうで、オセロに合わせて別途考えるしかなさそうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/738
739: 535 [sage] 2017/02/23(木) 20:58:02.50 ID:ONUfwXLw 連続対戦してると突然落ちるバグがあるっぽいが意図的に再現できない。 どうデバッグすりゃいいんだ。orz. http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/739
740: 名前は開発中のものです。 [sage] 2017/02/23(木) 23:03:49.03 ID:ONUfwXLw 再現した! けど一回再現させんのに1時間かかるw http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/740
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 262 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s