比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
私はc言語で作ったデータベースを使って人間と対戦できる将棋かチェス
みたいなソフトを作りたいと思ってますが、グラフィックインターフェースの
作り方がわからなくてつっかえているレベルです。
【オセロ,将棋】ボードゲーム【囲碁,War】
レス数が900を超えています。1000を超えると表示できなくなるよ。
1名前は開発中のものです。
03/07/10 00:10ID:6FQp6G+O810名前は開発中のものです。
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 囲連星における将棋で言うところの詰めろと必至を計算するルーチンが欲しい。
かなり切実に。
かなり切実に。
839310
2017/05/30(火) 23:20:25.76ID:rROdfu2T バグ取りしながら、色々いじったら、バグとる前に別のバグを仕込んで・・・
と、長らくデバッグしてましたが、ようやくいじりたくなるところが収束し、バグが
とれて、学習が進むようになりました。
100ゲームプレイして学習のサイクル1回が4分弱になりましたので、
結構気持ちが楽になりました。とりあえず1週間くらい学習させてみます。
一通りできたら、ポリシーの方にもトライしてみようと思います。
と、長らくデバッグしてましたが、ようやくいじりたくなるところが収束し、バグが
とれて、学習が進むようになりました。
100ゲームプレイして学習のサイクル1回が4分弱になりましたので、
結構気持ちが楽になりました。とりあえず1週間くらい学習させてみます。
一通りできたら、ポリシーの方にもトライしてみようと思います。
840535
2017/06/01(木) 22:33:27.70ID:COhqrYJ6 棋譜から詰めろと必至になったパターンを抽出してDBを作ってみようかな。
841535
2017/06/02(金) 22:15:50.82ID:uf6z9S1Y 簡単に2手連打で必勝形ならば詰めろ、ということで仮組みしてみた。
どんな感じかな。
今度AMDからでるスレッドリッパーが気になってしょうがない。
どんな感じかな。
今度AMDからでるスレッドリッパーが気になってしょうがない。
842535
2017/06/03(土) 00:14:49.53ID:976t+GmL 詰めろルーチンなかなかいい感じ?
石の流れが良くなった気がする。
そろそろシチョウルーチンも書かないとだな。
石の流れが良くなった気がする。
そろそろシチョウルーチンも書かないとだな。
843535
2017/06/03(土) 18:55:22.80ID:976t+GmL 現在LV3と対戦中ですがなかなかいい感じです。
13局目
黒(airandom.dll)の勝利回数: 9
白(ai-lv3.dll)の勝利回数: 4
11局目
黒(ai-lv3.dll)の勝利回数: 9
白(airandom.dll)の勝利回数: 2
白番でもうちょっと勝ちたいですねぇ
あと対戦にめちゃめちゃ時間かかるのがどうにも。
13局目
黒(airandom.dll)の勝利回数: 9
白(ai-lv3.dll)の勝利回数: 4
11局目
黒(ai-lv3.dll)の勝利回数: 9
白(airandom.dll)の勝利回数: 2
白番でもうちょっと勝ちたいですねぇ
あと対戦にめちゃめちゃ時間かかるのがどうにも。
844535
2017/06/04(日) 20:33:26.28ID:55DsrXcK 黒番対LV3大きく勝ち越せるかと思ったけど、その後追いつかれちゃってがっかりして対戦止めちゃいました。
もう一工夫必要ですね。
もう一工夫必要ですね。
845535
2017/06/05(月) 00:12:02.90ID:7uLLK55W 気を取り直してLV1,LV2と対戦中
なかなかいい感じ
19局目
黒(airandom.dll)の勝利回数: 19
白(ai-lv1.dll)の勝利回数: 0
17局目
黒(airandom.dll)の勝利回数: 16
白(ai-lv2.dll)の勝利回数: 1
なかなかいい感じ
19局目
黒(airandom.dll)の勝利回数: 19
白(ai-lv1.dll)の勝利回数: 0
17局目
黒(airandom.dll)の勝利回数: 16
白(ai-lv2.dll)の勝利回数: 1
846535
2017/06/05(月) 19:22:25.72ID:7uLLK55W 引き続き対戦中
なかなかいい感じ
40局目
黒(airandom.dll)の勝利回数: 39
白(ai-lv1.dll)の勝利回数: 1
37局目
黒(airandom.dll)の勝利回数: 36
白(ai-lv2.dll)の勝利回数: 1
なかなかいい感じ
40局目
黒(airandom.dll)の勝利回数: 39
白(ai-lv1.dll)の勝利回数: 1
37局目
黒(airandom.dll)の勝利回数: 36
白(ai-lv2.dll)の勝利回数: 1
847310
2017/06/05(月) 19:52:31.59ID:PVR4/NQn 強化学習にトライ中。
最初の勝敗をQ学習する方法は目に見えて学習できていそうだったのですが、
ネットワークが小さすぎたのか、比較的早い段階で飽和。ネットワークを深くして
再試行しようかと思ったのですが、せっかくなのでポリシーの学習にトライ。
しかし、Q学習と違って、学習が上手く進みません。
初期値問題かと思って、最初に教師あり学習をさせてみましたが、やはり勝率が
上がらないというか、30%近辺に落ち込んだまま浮かんでも50%くらいにしか
ならない感じ。このまま続けたら、どこかで戻ってくるのか。100対局の強化学習
で30分かかるので、どうしようかと。
Q学習の方は、比較的簡単に、対象のAIに勝てるようになっていて、世代の追加が
順調に進んでいました。ポリシーだと何故ダメなのか考えれば考えるほど、頭が
混乱してます。
最初の勝敗をQ学習する方法は目に見えて学習できていそうだったのですが、
ネットワークが小さすぎたのか、比較的早い段階で飽和。ネットワークを深くして
再試行しようかと思ったのですが、せっかくなのでポリシーの学習にトライ。
しかし、Q学習と違って、学習が上手く進みません。
初期値問題かと思って、最初に教師あり学習をさせてみましたが、やはり勝率が
上がらないというか、30%近辺に落ち込んだまま浮かんでも50%くらいにしか
ならない感じ。このまま続けたら、どこかで戻ってくるのか。100対局の強化学習
で30分かかるので、どうしようかと。
Q学習の方は、比較的簡単に、対象のAIに勝てるようになっていて、世代の追加が
順調に進んでいました。ポリシーだと何故ダメなのか考えれば考えるほど、頭が
混乱してます。
848310
2017/06/06(火) 20:05:14.75ID:6owNcmqA バグ見つけた。簡単かつ破壊力があるやつ。
教師あり学習の一致率が試行回数少ないのに85%とかになっていて
おかしいとは思っていたんだけど。教師付学習も強化学習も同じバグ。
自分の盤面のところに、次の着手(要するに教師データ)を入れてた。
というわけで、教師付学習からやり直しています。
雰囲気的には、今のネットワークで一致率50%近くまで行きそうです。
あと、GitHUBでAlpha Goクローンを作っているプロジェクトを発見。
解説ページで評価関数部分を結構細かく解説してくれています。
そこで、ポリシーネットの負けた側について「学習率をマイナス」にして
学習すると書かれていて(@o@)。こんなスマートな方法があったとは
やられました。
教師あり学習の一致率が試行回数少ないのに85%とかになっていて
おかしいとは思っていたんだけど。教師付学習も強化学習も同じバグ。
自分の盤面のところに、次の着手(要するに教師データ)を入れてた。
というわけで、教師付学習からやり直しています。
雰囲気的には、今のネットワークで一致率50%近くまで行きそうです。
あと、GitHUBでAlpha Goクローンを作っているプロジェクトを発見。
解説ページで評価関数部分を結構細かく解説してくれています。
そこで、ポリシーネットの負けた側について「学習率をマイナス」にして
学習すると書かれていて(@o@)。こんなスマートな方法があったとは
やられました。
849535
2017/06/06(火) 20:11:39.11ID:7GjyRXFQ >GitHUBでAlpha Goクローンを作っているプロジェクトを発見。
URLくだしあ
URLくだしあ
850535
2017/06/06(火) 20:40:01.38ID:7GjyRXFQ851310
2017/06/06(火) 20:47:41.56ID:6owNcmqA それだす。
一致率は45%で頭打ち。
時間かけずに一致率上げる工夫方面に転進します。
一致率は45%で頭打ち。
時間かけずに一致率上げる工夫方面に転進します。
852535
2017/06/06(火) 21:12:36.87ID:7GjyRXFQ >>851
ありがとうございます。
LV1とLV2,ホントは100戦づつしたかったけど時間かかりすぎるから止めました。
でもまあ手ごたえありの結果ですねぇ。
LV1とLV2は卒業といってもいいかも。
54局目
黒(airandom.dll)の勝利回数: 51
白(ai-lv1.dll)の勝利回数: 3
60局目
黒(airandom.dll)の勝利回数: 58
白(ai-lv2.dll)の勝利回数: 2
ありがとうございます。
LV1とLV2,ホントは100戦づつしたかったけど時間かかりすぎるから止めました。
でもまあ手ごたえありの結果ですねぇ。
LV1とLV2は卒業といってもいいかも。
54局目
黒(airandom.dll)の勝利回数: 51
白(ai-lv1.dll)の勝利回数: 3
60局目
黒(airandom.dll)の勝利回数: 58
白(ai-lv2.dll)の勝利回数: 2
853535
2017/06/09(金) 22:02:57.35ID:N9z2bSO/ 黒番対LV3で難解なコウ争いの末、辛くも勝利!
地力がついてきた!
それにしてもLV3の粘りには驚かされますね。
(;SZ[19]
;B[jj];W[ji];B[ki];W[ik];B[ii];W[jl];B[jh];W[hi]
;B[hh];W[gh];B[kk];W[gg];B[jg];W[kf];B[jf];W[je]
;B[ie];W[hj];B[id];W[hg];B[ig];W[ih];B[hf];W[ge]
;B[hh];W[ij];B[ic];W[ih];B[ke];W[ji];B[lf];W[kl]
;B[kg];W[jk];B[fg];W[lm];B[mn];W[kj];B[gf];W[lk]
;B[jd];W[mk];B[mf];W[ml];B[nm];W[nf];B[if];W[of]
;B[kf])
地力がついてきた!
それにしてもLV3の粘りには驚かされますね。
(;SZ[19]
;B[jj];W[ji];B[ki];W[ik];B[ii];W[jl];B[jh];W[hi]
;B[hh];W[gh];B[kk];W[gg];B[jg];W[kf];B[jf];W[je]
;B[ie];W[hj];B[id];W[hg];B[ig];W[ih];B[hf];W[ge]
;B[hh];W[ij];B[ic];W[ih];B[ke];W[ji];B[lf];W[kl]
;B[kg];W[jk];B[fg];W[lm];B[mn];W[kj];B[gf];W[lk]
;B[jd];W[mk];B[mf];W[ml];B[nm];W[nf];B[if];W[of]
;B[kf])
854535
2017/06/09(金) 23:50:44.20ID:N9z2bSO/ シチョウルーチン組んでたら根本的なルール部分にバグ発見。
出現頻度は低い奴だけどまだこんなバグ残ってんのかとビビった。
出現頻度は低い奴だけどまだこんなバグ残ってんのかとビビった。
855310
2017/06/10(土) 16:27:27.71ID:PCeXyVVE こちらはかなり迷走中。精度を求めるとCNN時間がかかりすぎ。
やっぱり、Buroさんの評価関数の特徴を入力にして、畳み込み演算を使用しない方向で
進めるのが吉ではないかと思い始めています。最終的にオセロAIの中で実用的な速度で
答えが出せるものでないと使い物にならないので。
Buroさん特徴型でポリシーが作れるか。
バリューに相当する勝率ネットワークを作った時、その勝率が使い物になるのか?
それらを強化学習で強化できるのか。
この辺に目標を切り替えます。
ちなみに、今のはBuroさん型評価関数の、評価値(終局時の石数差の予想)を、適当な
線形変換で−1〜1の勝敗の確率っぽい数字とみなして使用していますので、そこの
精度はよくなるのではないかと期待。
やっぱり、Buroさんの評価関数の特徴を入力にして、畳み込み演算を使用しない方向で
進めるのが吉ではないかと思い始めています。最終的にオセロAIの中で実用的な速度で
答えが出せるものでないと使い物にならないので。
Buroさん特徴型でポリシーが作れるか。
バリューに相当する勝率ネットワークを作った時、その勝率が使い物になるのか?
それらを強化学習で強化できるのか。
この辺に目標を切り替えます。
ちなみに、今のはBuroさん型評価関数の、評価値(終局時の石数差の予想)を、適当な
線形変換で−1〜1の勝敗の確率っぽい数字とみなして使用していますので、そこの
精度はよくなるのではないかと期待。
856535
2017/06/10(土) 23:26:39.00ID:L+AkmAT7 思考時間短縮策を考えているんですが、
まだ強さが十分じゃないのに思考時間短縮を考えるのは悪手な気もする。
でも思考時間かかりすぎると統計とれないし悩ましい。
まだ強さが十分じゃないのに思考時間短縮を考えるのは悪手な気もする。
でも思考時間かかりすぎると統計とれないし悩ましい。
857535
2017/06/11(日) 21:28:22.80ID:SJZps56X やっぱハードを強化するしか…
AMDのスレッドリッパーあたり行っちゃうか?
AMDのスレッドリッパーあたり行っちゃうか?
858310
2017/06/11(日) 23:00:35.72ID:8gFXyRd+ Buroさん特徴型で2層パーセプトロン型のポリシー作って学習開始。
1エポック目でテストデータに対して正答率48%超え(汗
当然ながらスピードも速い。
やっぱBuroさん凄い。
1エポック目でテストデータに対して正答率48%超え(汗
当然ながらスピードも速い。
やっぱBuroさん凄い。
859535
2017/06/12(月) 20:43:30.74ID:b/m4vK+x 序盤、いままでDBから一番勝利数の高い手を選んで打ってたけど、
それだと布石が限られちゃうからランダムで第二候補も打つようにしたら
若干勝率下がったような気がする。
まあしょうがないか。
それだと布石が限られちゃうからランダムで第二候補も打つようにしたら
若干勝率下がったような気がする。
まあしょうがないか。
860535
2017/06/13(火) 21:33:01.28ID:Vwv80HwJ 囲碁プログラムなんかだとKGS行くとモンテカルロ350プレイアウト位でも結構強いプログラムあるんだけど、
なんでそんな少ない回数で強さを出せるのか謎すぎる。
なんでそんな少ない回数で強さを出せるのか謎すぎる。
861535
2017/06/17(土) 23:55:21.58ID:RoY4moNt あ〜アイディア湧かね〜
とりあえず LV3 vs LV3の棋譜取 回せるだけ回すか。
スレッドリッパーがあれば今の4倍速で棋譜収集できそうだが…
とりあえず LV3 vs LV3の棋譜取 回せるだけ回すか。
スレッドリッパーがあれば今の4倍速で棋譜収集できそうだが…
862535
2017/06/21(水) 20:57:42.26ID:jKeRi7uh プロファイル取ろうとするとメッチャ時間かかる。
マルチスレッドだと特に時間かかるんだろうか?
プロファイル無しなら2分もかからんのにもう30分くらい走らせてる気がする。
マルチスレッドだと特に時間かかるんだろうか?
プロファイル無しなら2分もかからんのにもう30分くらい走らせてる気がする。
863535
2017/06/21(水) 21:22:11.95ID:jKeRi7uh 将棋、連勝記録らしいですね。一位タイ?とかなんとか
864310
2017/06/22(木) 17:10:28.77ID:nCVESNnQ 昨日の大雨が原因か、ノートパソコンがダメっぽいです。サーフェースなので、SSDの中身が取り出せるか微妙。多分アウト。
という訳で、ソース全滅を半ば覚悟してます(>_<)
しばらく立ち直れないかも。
という訳で、ソース全滅を半ば覚悟してます(>_<)
しばらく立ち直れないかも。
865535
2017/06/22(木) 19:16:22.69ID:1hrbCk1w あちゃーご愁傷さまです
まあこれはあれですね
ハイスペックデスクトップを買えという
神のお告げですね
まあこれはあれですね
ハイスペックデスクトップを買えという
神のお告げですね
866310
2017/06/22(木) 21:45:09.96ID:qlJt6F9H bitlockとかいうセキュリティ保護状態になったのですが、そんな設定してないのです。解除には、解除コードが必要なのですが、そんなの設定してないし。ディスク初期化すれば復活するとの事なので、諦めて初期化しちゃいました。
ビットハックしまくったコードなので、再度コーディングするの面倒です。
ソース保管のためにも、別のPC買うべかなぁ。
ビットハックしまくったコードなので、再度コーディングするの面倒です。
ソース保管のためにも、別のPC買うべかなぁ。
867535
2017/06/22(木) 23:51:29.79ID:OkW8ZbGj そこはGitとか使えばいいんじゃないですかね〜
まあ公開するか金払うかしないとダメですが。
まあ公開するか金払うかしないとダメですが。
868535
2017/06/23(金) 00:39:34.50ID:IGj3LUd/ SSE4.2はセーフだけどAVXはアウト。
おかしなメモリ番地を見に行って落ちてしまう。
CPUは命令に対応してるはずだが?
もしかしたら囲連星の本体の制限なんだろうか?
よくわからん。
おかしなメモリ番地を見に行って落ちてしまう。
CPUは命令に対応してるはずだが?
もしかしたら囲連星の本体の制限なんだろうか?
よくわからん。
869535
2017/06/23(金) 21:17:34.43ID:IGj3LUd/ 俺のAIのレベルが上がれば上がるほどLV3の水準の高さに驚かされる。
いつか絶対超えてやる
いつか絶対超えてやる
870535
2017/06/25(日) 22:16:20.21ID:f6fx6Sdx ちょっと気分を変えてConnect4やってるんですが、
棋譜から学習というのは半永久的に完全解析までにはたどり着かないような気がしてます。
やはり完全解析には超強力な前向き枝刈が必要なのかなと。
一回ちゃんとConnect4の完全解析、勉強してみようかなぁ。
棋譜から学習というのは半永久的に完全解析までにはたどり着かないような気がしてます。
やはり完全解析には超強力な前向き枝刈が必要なのかなと。
一回ちゃんとConnect4の完全解析、勉強してみようかなぁ。
871310
2017/06/25(日) 22:19:41.68ID:rGuWTts8 地道にオセロライブラリ再構築中。
ビットボード回りのビットハックな処理部分は大体できて、着手までできるようになった。
ついでにちょっとだけ改良になりそうな変更を加えた。
ネットで調べていたらmobility関数は、もう少し性能アップしそうな方法があったけど、
ソースコピペではうまく動かなかったので後回し。
ところで、非常に大きな問題があります。
この数年で、多くのオセロ関係サイトが閉鎖されていまして…。
記譜データが集められなくなりました。
50万記譜計画も、EdaxのPVBOOKもアクセス不能です。
MCTSだと評価関数なしでもプレイはできるのですが、そこから記譜を
作るしかないのかなぁ。
つか、オセロやめて、いっそ囲碁に…。
ビットボード回りのビットハックな処理部分は大体できて、着手までできるようになった。
ついでにちょっとだけ改良になりそうな変更を加えた。
ネットで調べていたらmobility関数は、もう少し性能アップしそうな方法があったけど、
ソースコピペではうまく動かなかったので後回し。
ところで、非常に大きな問題があります。
この数年で、多くのオセロ関係サイトが閉鎖されていまして…。
記譜データが集められなくなりました。
50万記譜計画も、EdaxのPVBOOKもアクセス不能です。
MCTSだと評価関数なしでもプレイはできるのですが、そこから記譜を
作るしかないのかなぁ。
つか、オセロやめて、いっそ囲碁に…。
872535
2017/06/25(日) 22:41:07.34ID:f6fx6Sdx おお〜囲碁ですか。
打倒Masterですよ!!
打倒Masterですよ!!
873310
2017/06/26(月) 23:49:18.52ID:GJUXvwb3 藤井君凄かったね。
abemaの解説でも言ってたけど、互角のまま進行していたのに、
気が付いたら圧勝の情勢になるとか、AIチックな差し回しだよね。
じわじわとライブラリ構築中。
オセロ専用ライブラリはほぼ完成。
明日から終盤読み切り処理に取り掛かります。
abemaの解説でも言ってたけど、互角のまま進行していたのに、
気が付いたら圧勝の情勢になるとか、AIチックな差し回しだよね。
じわじわとライブラリ構築中。
オセロ専用ライブラリはほぼ完成。
明日から終盤読み切り処理に取り掛かります。
874535
2017/06/26(月) 23:59:45.84ID:EmG0vEj8 結局オセロですか。ちょっと残念w
まあ、結局自分の情熱が湧くものをやらないとですよね。
ライブラリほぼ完成とか流石に仕事速いですね。
まあ、結局自分の情熱が湧くものをやらないとですよね。
ライブラリほぼ完成とか流石に仕事速いですね。
875535
2017/06/28(水) 00:10:44.15ID:aRb2YNw2 Connect4やってます。
自己対局棋譜を取りまくってDBを作成。
勝利数の多い手を高い確率で着手するようにします。
いま40万局棋譜集めてDBなしAIに対してDBありAIで勝率8割りくらい。
やっぱDBの効果はConnect4でも有効のようだ。
でも先手で完全ソルバに一発入るまでにはいくかどうか?
行ったら楽しいけど。
自己対局棋譜を取りまくってDBを作成。
勝利数の多い手を高い確率で着手するようにします。
いま40万局棋譜集めてDBなしAIに対してDBありAIで勝率8割りくらい。
やっぱDBの効果はConnect4でも有効のようだ。
でも先手で完全ソルバに一発入るまでにはいくかどうか?
行ったら楽しいけど。
876535
2017/06/28(水) 21:56:23.76ID:aRb2YNw2 DBありの勝率9割まできました。
そろそろ自己対局は一旦打ち切りかな。
完全ソルバとやらせてみよう。
そろそろ自己対局は一旦打ち切りかな。
完全ソルバとやらせてみよう。
877535
2017/06/28(水) 22:15:10.75ID:aRb2YNw2 だめだ、5手目で間違える。
やっぱ自己対局じゃ完全解析までたどり着かないかなぁ。
やっぱ自己対局じゃ完全解析までたどり着かないかなぁ。
878535
2017/06/29(木) 23:11:55.06ID:VtwtdSs0 Connect4,対人だとなかなか強いんですが、
それでも全然勝てないってわけでもないですねぇ。
自分でプレーして一回勝ってしまった。
まだまだですね。
それでも全然勝てないってわけでもないですねぇ。
自分でプレーして一回勝ってしまった。
まだまだですね。
879535
2017/07/01(土) 00:13:06.32ID:A/qufpQM http://web.mit.edu/sp.268/www/2010/connectFourSlides.pdf
前半は読みやすくてわかりやすいけど後半一気に難しくなって結局理解できてない。
前半は読みやすくてわかりやすいけど後半一気に難しくなって結局理解できてない。
880310
2017/07/01(土) 02:11:20.40ID:HltHgVcC 終盤探索とりあえずのところまで完成。
盤面の持ち方をちょっと変えて__mm128iにしてみた。
パスの処理を変えてみた。
これで、FFO#40で時間計測。
YBWCで1200msくらい
置換表までで、1800msくらい
negascoutまでで、2200msくらい
nodeカウントを入れると15%くらいスピードダウンする(汗
そこから逆算して、200万nps以上出てる。
まあ結構な速度になりました。
偶数理論も作ってみましたが、空白マスを連続する単位で分離するオーバーヘッド
が大きく、採用すると70万nps程度に落ちてしまう。この処理の良い方法が見つから
ないため、いまだに偶数理論は使っていません。むむむ。
現在、素のMCTSに着手してます。
これができたら、対局集めて、EigenでMLPのライブラリ作って、評価関数(仮)作成。
評価関数をもとにPUCTにアップグレードして強化学習という予定です。
まだ先は長い(汗
盤面の持ち方をちょっと変えて__mm128iにしてみた。
パスの処理を変えてみた。
これで、FFO#40で時間計測。
YBWCで1200msくらい
置換表までで、1800msくらい
negascoutまでで、2200msくらい
nodeカウントを入れると15%くらいスピードダウンする(汗
そこから逆算して、200万nps以上出てる。
まあ結構な速度になりました。
偶数理論も作ってみましたが、空白マスを連続する単位で分離するオーバーヘッド
が大きく、採用すると70万nps程度に落ちてしまう。この処理の良い方法が見つから
ないため、いまだに偶数理論は使っていません。むむむ。
現在、素のMCTSに着手してます。
これができたら、対局集めて、EigenでMLPのライブラリ作って、評価関数(仮)作成。
評価関数をもとにPUCTにアップグレードして強化学習という予定です。
まだ先は長い(汗
881310
2017/07/01(土) 02:18:02.59ID:HltHgVcC >>877
自己対局だと局所解にはまっちゃう時ありますよね。
DBの内容がわからないので、以下頓珍漢かもしれませんが。
解消法としては、開始後数手については、ランダム着手にする。
途中でε-greedyみたいに、ランダムな着手を挟む。
こういった方法で、局所解から外れたところも学習対象に入れる工夫があります。
気持悪いやり方だけど、5手目だけif分で強制的に直して修正済み自己対戦データ
を蓄えて学習するという方法もあります。
自己対局だと局所解にはまっちゃう時ありますよね。
DBの内容がわからないので、以下頓珍漢かもしれませんが。
解消法としては、開始後数手については、ランダム着手にする。
途中でε-greedyみたいに、ランダムな着手を挟む。
こういった方法で、局所解から外れたところも学習対象に入れる工夫があります。
気持悪いやり方だけど、5手目だけif分で強制的に直して修正済み自己対戦データ
を蓄えて学習するという方法もあります。
882535
2017/07/01(土) 18:28:17.34ID:A/qufpQM ランダム着手をまぜるのはいいかもしれませんね。
ありがとうございます。
アルファ碁もやってる手法なんでしたっけ?
ありがとうございます。
アルファ碁もやってる手法なんでしたっけ?
883535
2017/07/01(土) 23:24:59.13ID:A/qufpQM 局所解を避けつつ有望な局面を多く調べるというのはまさにMCTSでやってることなんじゃ?
一回駄目出し食らった案ですが、モンテカルロ木をDBに保存して無限に成長させるという案がどうしても忘れられない。
局面数が大きくなるゲームだと木が大きくなりすぎて駄目ですがConnect4なら…
一回駄目出し食らった案ですが、モンテカルロ木をDBに保存して無限に成長させるという案がどうしても忘れられない。
局面数が大きくなるゲームだと木が大きくなりすぎて駄目ですがConnect4なら…
884535
2017/07/02(日) 00:25:04.48ID:iRJ6TibI 完全ソルバで遊んでるんですが、Connect4って思ったよりゲームバランス良いゲームなのかも。
先手が圧倒的優位かとおもってたけど、後手が完璧に打ってくるとき、
先手も正解が一手しかないという局面が結構あるんですね。
意外と奥が深い。
先手が圧倒的優位かとおもってたけど、後手が完璧に打ってくるとき、
先手も正解が一手しかないという局面が結構あるんですね。
意外と奥が深い。
885310
2017/07/03(月) 20:45:11.36ID:rpYi4lNg MCTS自己対戦させながらデバッグ。そろそろバグはなくなりましたが…
勝っていると緩んで、負けているとギャンブルする癖と、お互いに緩みあっている間に
引き分けに収束してしまう事から、そのままでは記譜に使えない事を自覚中。
とはいえ、記譜を真面目にZebraで並べて見てしまうと、疑問手だらけで、そこを直したく
なって、強化学習にならなくなってしまいますね。
序盤はMCTSで探索し、残り20手で終盤探索して後半中心の評価関数をまず作る事かな。
もともと、前半の何手かはランダム着手して、オープニングの種類が偏らないようにしよう
かと思っていましたが、この調子だと、最初の40手はランダム着手にして、残り20手を
読み切りにした方が、記譜数が稼げる気がしてきました(汗
勝っていると緩んで、負けているとギャンブルする癖と、お互いに緩みあっている間に
引き分けに収束してしまう事から、そのままでは記譜に使えない事を自覚中。
とはいえ、記譜を真面目にZebraで並べて見てしまうと、疑問手だらけで、そこを直したく
なって、強化学習にならなくなってしまいますね。
序盤はMCTSで探索し、残り20手で終盤探索して後半中心の評価関数をまず作る事かな。
もともと、前半の何手かはランダム着手して、オープニングの種類が偏らないようにしよう
かと思っていましたが、この調子だと、最初の40手はランダム着手にして、残り20手を
読み切りにした方が、記譜数が稼げる気がしてきました(汗
886535
2017/07/03(月) 22:52:12.07ID:NTU08E7X 40手もランダムに打たせるんですか?うーん。
にわかには信じられないですが偏らないようにするためには有効なんですかね〜
にわかには信じられないですが偏らないようにするためには有効なんですかね〜
887310
2017/07/06(木) 23:41:11.66ID:uY9At7Gi 終盤20手の盤面集めなので、ばらけた方がよいし、ランダム着手の方が速いかなと。
とはいえ、今はMCTS5秒読み+残り20マス完全読みで記譜集めしてます。
1譜3分弱で、今のところ重複記譜なしで、700譜くらい集まったところです。
さっきまで藤井四段のabemaTVにCPUを15%くらい持っていかれていました(汗
改良したいところはあちこちありますが、とりあえずニューラルネットのライブラリに専念。
optimizerをどうやって作ったか、まったく思い出せない(汗
とはいえ、今はMCTS5秒読み+残り20マス完全読みで記譜集めしてます。
1譜3分弱で、今のところ重複記譜なしで、700譜くらい集まったところです。
さっきまで藤井四段のabemaTVにCPUを15%くらい持っていかれていました(汗
改良したいところはあちこちありますが、とりあえずニューラルネットのライブラリに専念。
optimizerをどうやって作ったか、まったく思い出せない(汗
888310
2017/07/08(土) 20:32:28.67ID:bOmPmg/w ニューラルネットの計算でけました。たぶん。
頭が行列に切り替わるまでが憂鬱なんだよなぁ。
optimizerは計算式なぞるだけで楽勝でした。が、理解しないまま行列計算
に置き換えているので、何が何だかわからなくて、忘れちゃうんでしょうね。
続いて、tiny_dnnのstl的なインターフェースに憧れて、ミニバッチの処理
とかのインターフェースに凝りだしてしまった。
本当はレイヤー階層定義のところも凝りたかったのだけど、今のところ
MLPレベル(2層)までしかやらないと自分に言い聞かせて自粛中。
学習データは1200局くらい集まりましたが、全滅の時の完全読み切り
の手順取得処理にバグがあって、無限ループ入り。せっかくの全滅に
至る記譜が採れませんでした。無念。
頭が行列に切り替わるまでが憂鬱なんだよなぁ。
optimizerは計算式なぞるだけで楽勝でした。が、理解しないまま行列計算
に置き換えているので、何が何だかわからなくて、忘れちゃうんでしょうね。
続いて、tiny_dnnのstl的なインターフェースに憧れて、ミニバッチの処理
とかのインターフェースに凝りだしてしまった。
本当はレイヤー階層定義のところも凝りたかったのだけど、今のところ
MLPレベル(2層)までしかやらないと自分に言い聞かせて自粛中。
学習データは1200局くらい集まりましたが、全滅の時の完全読み切り
の手順取得処理にバグがあって、無限ループ入り。せっかくの全滅に
至る記譜が採れませんでした。無念。
889535
2017/07/09(日) 21:54:20.93ID:DDYaMcZG >モンテカルロ木をDBに保存して無限に成長させる
これやってます。
5手目は正解できるようになったようですが、まだまだ完全ソルバには勝てません。
メモリはそんな簡単に爆発しないみたいだけど、木が大きくなるにつれ速度がかなり遅くなる。
UCBの計算が遅いのだろうか?
これやってます。
5手目は正解できるようになったようですが、まだまだ完全ソルバには勝てません。
メモリはそんな簡単に爆発しないみたいだけど、木が大きくなるにつれ速度がかなり遅くなる。
UCBの計算が遅いのだろうか?
890310
2017/07/10(月) 00:58:02.21ID:NRizRRec 自分のはロールアウト関数がボトルネックなので、木が深くなると速度が上がっていき
ます。MCTSの設定も、どんどん深く行く方向で調整してます。UCBの計算は普通に
cmathのlogとかsqrtとか使ってます。
結局、今日は一日、ニューラルネットのライブラリのインターフェースをしこしこと
作って直して、してました。template使いまくりです。
まだやりたい事があるのですが、今の状況では不要だし、泥沼に入りそうなので、
いったんこの辺で。
記譜は1500超えたので、明日から終盤の評価関数作ってみる予定。
できたようなら、MCTSの探索方法を変えて、更に良い記譜を集めるか、それとも
置換表付き完全読み切りのバグを探すか。
ます。MCTSの設定も、どんどん深く行く方向で調整してます。UCBの計算は普通に
cmathのlogとかsqrtとか使ってます。
結局、今日は一日、ニューラルネットのライブラリのインターフェースをしこしこと
作って直して、してました。template使いまくりです。
まだやりたい事があるのですが、今の状況では不要だし、泥沼に入りそうなので、
いったんこの辺で。
記譜は1500超えたので、明日から終盤の評価関数作ってみる予定。
できたようなら、MCTSの探索方法を変えて、更に良い記譜を集めるか、それとも
置換表付き完全読み切りのバグを探すか。
891535
2017/07/10(月) 22:57:52.54ID:Ioy9WIYD きたああああああぁぁぁぁあああああ!!
完全ソルバに勝利!!!!
http://connect4.gamesolver.org/?pos=44444222242555777711776655625636363333111
この勝利を引くために数十回リトライしましたw
完全ソルバに勝利!!!!
http://connect4.gamesolver.org/?pos=44444222242555777711776655625636363333111
この勝利を引くために数十回リトライしましたw
892535
2017/07/10(月) 23:09:01.53ID:Ioy9WIYD ちなみにDBは初期曲面のプレイアウト回数が約36万回になりました。
少なそうに見えるかもだけどDBつくるのに結構時間かかってる。
囲連星にも応用したいな〜
少なそうに見えるかもだけどDBつくるのに結構時間かかってる。
囲連星にも応用したいな〜
893535
2017/07/10(月) 23:24:06.47ID:Ioy9WIYD DBの木の深さは一番深いところで37。
結構、深いところまで読んでるんじゃないでしょうか。
もちろん、途中で読んでない局面に分岐されると困ってしまうんですが…
結構、深いところまで読んでるんじゃないでしょうか。
もちろん、途中で読んでない局面に分岐されると困ってしまうんですが…
894535
2017/07/10(月) 23:38:14.93ID:Ioy9WIYD UCBの係数をいじれば木を浅く広くにもできそう?
完全ソルバに勝つにはそっちのほうがいいかもしれないですね。
完全ソルバに勝つにはそっちのほうがいいかもしれないですね。
895535
2017/07/11(火) 00:01:35.20ID:XEOuAfue >>890
プロファイル取ってみました。
logとかsqrtとかはインライン展開されて?計算時間がよくわからなかったですけど多分ボトルネックじゃなさそう。
ちなみに局面と勝率を保持するクラスのコピーコンストラクタに全体の60%の時間がかかってるという
完全に意味不明のプロファイル結果が出ました。
どう解釈すればいいんですかね?
プロファイル取ってみました。
logとかsqrtとかはインライン展開されて?計算時間がよくわからなかったですけど多分ボトルネックじゃなさそう。
ちなみに局面と勝率を保持するクラスのコピーコンストラクタに全体の60%の時間がかかってるという
完全に意味不明のプロファイル結果が出ました。
どう解釈すればいいんですかね?
896535
2017/07/11(火) 20:08:54.72ID:XEOuAfue んーもしかしてツリーを丸っとコピーしちゃってる?
問題の個所はどこだろう?
問題の個所はどこだろう?
897535
2017/07/11(火) 21:20:27.73ID:XEOuAfue え、めっちゃ早くなった?ww
我ながらこれはヒドスwwww
我ながらこれはヒドスwwww
898535
2017/07/11(火) 21:50:40.06ID:XEOuAfue うおっ一瞬でメモリパンクしたwwww
310さんの言ったとおりだったwwwww
310さんの言ったとおりだったwwwww
899535
2017/07/11(火) 22:02:05.79ID:XEOuAfue 局面の合流を検知しないでベタに木を展開してんのがまずいのかなぁ。
まあモンテカルロ木DB化はこの辺が限界かなぁ。
まあモンテカルロ木DB化はこの辺が限界かなぁ。
900535
2017/07/11(火) 22:31:32.07ID:XEOuAfue 本線じゃない分岐の間違いを修正するには指数的な試行回数が必要になるなこれは。
まあしょうがないか。
まあしょうがないか。
901310
2017/07/12(水) 20:10:09.86ID:b5nvOjQF 直ったようで何より(^^/
自分は合流させてません。
合流させるメリットよりデメリットの方が大きそうだったので考える事をやめました。
モンテカルロ木DB化って、よくよく考えたらQ学習みたいなものではないかと思います。
Q学習だと全部のノードにQ値を持つので、結局全局面保持することになります。
現在Deep Q学習が主流になってるのは、Q値をディープラーニングで近似計算する
事で、全局面のQ値を保持しなくても良くするためという側面もあるかと思います。
で、Q学習だと考えるなら、時々変な手を混ぜて木をきちんと分岐させるってのが、
強化学習の肝ではないかと思います。
当方、完全読み切りのバグとり完了。
ニューラルネットのライブラリも大体できて、1900譜で40手目以後を学習してみました。
やっぱ、疎行列対応の行列パッケージでの計算は、tiny_dnnと比較して圧倒的に早い
です。
データが少ないのと、同一の記譜内からテストデータ取っているのもあるのですが、
テスト誤差は十分小さな値になるのですが、FFOの盤面を評価させると、いまいち
合っていない感じで、あまり汎化できていない感じす。もっと記譜増やします。
やっつけで作ったmcts部分をきちっとさせるのと、とりあえず持っている評価関数
で、puct化できるか、ロールアウトの後半の精度を上げられるか、検討開始です。
強化学習までまだ遠いなぁ。でも、少し背中が見えてきたかな。
自分は合流させてません。
合流させるメリットよりデメリットの方が大きそうだったので考える事をやめました。
モンテカルロ木DB化って、よくよく考えたらQ学習みたいなものではないかと思います。
Q学習だと全部のノードにQ値を持つので、結局全局面保持することになります。
現在Deep Q学習が主流になってるのは、Q値をディープラーニングで近似計算する
事で、全局面のQ値を保持しなくても良くするためという側面もあるかと思います。
で、Q学習だと考えるなら、時々変な手を混ぜて木をきちんと分岐させるってのが、
強化学習の肝ではないかと思います。
当方、完全読み切りのバグとり完了。
ニューラルネットのライブラリも大体できて、1900譜で40手目以後を学習してみました。
やっぱ、疎行列対応の行列パッケージでの計算は、tiny_dnnと比較して圧倒的に早い
です。
データが少ないのと、同一の記譜内からテストデータ取っているのもあるのですが、
テスト誤差は十分小さな値になるのですが、FFOの盤面を評価させると、いまいち
合っていない感じで、あまり汎化できていない感じす。もっと記譜増やします。
やっつけで作ったmcts部分をきちっとさせるのと、とりあえず持っている評価関数
で、puct化できるか、ロールアウトの後半の精度を上げられるか、検討開始です。
強化学習までまだ遠いなぁ。でも、少し背中が見えてきたかな。
902310
2017/07/12(水) 20:27:07.87ID:b5nvOjQF 記譜集めですが、8手までランダム着手していたら、
9手目で白全滅という記譜が取れました(汗
9手目で白全滅という記譜が取れました(汗
903535
2017/07/14(金) 21:11:11.02ID:TTQj/Kki Connect4もひと段落ついたし囲連星もアイディア湧かないし
気分転換にライフゲーム囲碁のAIやろうかな。
気分転換にライフゲーム囲碁のAIやろうかな。
904310
2017/07/15(土) 02:17:52.56ID:qcpUcaKf 再帰呼出は関数オブジェクトを使うと速いというのを見つけて、あちこち試してみました。
static constな再帰関数は速くなるみたい。
クラス内でthisを参照するような類は効果が無いようです。
が…、なんか数か所おかしいような。
やっぱり、どこかでバグを仕込んでしまった模様。むむむ。
続きは明日だなぁ。
static constな再帰関数は速くなるみたい。
クラス内でthisを参照するような類は効果が無いようです。
が…、なんか数か所おかしいような。
やっぱり、どこかでバグを仕込んでしまった模様。むむむ。
続きは明日だなぁ。
905535
2017/07/15(土) 02:40:13.20ID:+mfEtycW 関数オブジェクトを使うと速いってのはどんな理屈なんですかね?
ちょっと想像つかない。
ちょっと想像つかない。
906310
2017/07/16(日) 00:06:25.07ID:z0mkcRg4 なんかもともと関数呼び出しの方が速いという事で数字で実証するサイトがありました。
まあ、コンパイルの最適化のかかり具合なのかなぁ。わからないです。
コンパイラのバージョンで違うのかも。
バグの原因はわかりました。関数呼び出しにするときに、同時にパスの扱いを変えた
のが原因だと思います。が、確かめる際にもとに戻したら、普通の関数の方が速かった
という結果に。バグってるときの実行時間なので、あてになりませんが。
というわけで、全部もとに戻して、少しだけ確認しましたが、あまり差はない模様orz
記譜の中に間違った読み切り手順が混じってしまったので、全部再計算。
こちらもパスの扱いを変えたのが原因で、別のバグが出ました(汗
二次災害大です。
再計算は2400記譜で1時間半くらいで、着手は最善手の中でのランダムなので、
1回実行してアペンドすると倍、2回で3倍というように、記譜の増殖が可能と思い
当たりました。これを使えば学習データを簡単に増やすことができます。
まあ、コンパイルの最適化のかかり具合なのかなぁ。わからないです。
コンパイラのバージョンで違うのかも。
バグの原因はわかりました。関数呼び出しにするときに、同時にパスの扱いを変えた
のが原因だと思います。が、確かめる際にもとに戻したら、普通の関数の方が速かった
という結果に。バグってるときの実行時間なので、あてになりませんが。
というわけで、全部もとに戻して、少しだけ確認しましたが、あまり差はない模様orz
記譜の中に間違った読み切り手順が混じってしまったので、全部再計算。
こちらもパスの扱いを変えたのが原因で、別のバグが出ました(汗
二次災害大です。
再計算は2400記譜で1時間半くらいで、着手は最善手の中でのランダムなので、
1回実行してアペンドすると倍、2回で3倍というように、記譜の増殖が可能と思い
当たりました。これを使えば学習データを簡単に増やすことができます。
907310
2017/07/17(月) 22:52:41.07ID:GI+vwgP1 評価関数まわりを作ってデバッグ。
その中で致命的がバグが発覚しました。
学習用に溜めた記譜データにおかしなデータがいくつかあるというもの。
学習やり直しです。
記譜データ消した後で気が付きましたが、復旧できないわけではなかった。
後の祭りですorz
その中で致命的がバグが発覚しました。
学習用に溜めた記譜データにおかしなデータがいくつかあるというもの。
学習やり直しです。
記譜データ消した後で気が付きましたが、復旧できないわけではなかった。
後の祭りですorz
908535
2017/07/19(水) 21:46:51.76ID:oWNrCACG うヴぉあー
プログラム組むのすっごいだるい。
心ときめくアイディアが欲しいところ。
プログラム組むのすっごいだるい。
心ときめくアイディアが欲しいところ。
909535
2017/07/20(木) 20:57:58.92ID:5PqobJjm ライフゲーム囲碁、DB使ったほうが弱くなる?
どういうことだこれは…
どういうことだこれは…
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★4 [BFU★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- マッサージ師だが
- 【訃報】日経平均先物逝く、円安株安債券安 [943688309]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- お返事まだカナ
- 教師(24)、5軒はしご飲酒→車を盗み飲酒運転→海水浴場で車を水没させ逃走→ずぶ濡れで別の車に乗り仮眠→持ち主に見つかり逃走の大暴れ [977261419]
