teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

情報の追加 + 誤字の修正

2018/08/23 00:27

投稿

puroko3
puroko3

スコア185

answer CHANGED
@@ -22,9 +22,9 @@
22
22
 
23
23
  2.MiniMaxで先読みした評価値を学習させる(DQNでいうQ値なようなもの)。
24
24
  より少ない探索で正しい評価が出来るように必要です。
25
- 一手指す毎、もしくは一局終わる毎に正解ラベルを与えればいと思います。
25
+ 一手指す毎、もしくは一局終わる毎に学習させてます。
26
26
  AlphaGoZeroではモンテカルロ法(PUCTアルゴリズム)で8回探索する毎に学習が行われています。
27
- (教師データのサイズは8*19*19)
27
+ (教師データのサイズは8*19*19 トータル探索数は1600回)
28
28
  この時に局面をランダムで回転させる事で、局面が回転しても同じである事を教えています。
29
29
 
30
30
  3.最終結果から学習させる。(正解ラベルは負けなら-1 勝ちなら1を与えます)

1

誤字の修正

2018/08/23 00:26

投稿

puroko3
puroko3

スコア185

answer CHANGED
@@ -15,6 +15,7 @@
15
15
  ソルバーというゲームがどのようなものかはわかりませんが、オセロ、チェス将棋などのボードゲームのようなものだと仮定してもう少し詳しく実装に触れてみます。
16
16
 
17
17
  1.出力層にはTanh関数を使う。
18
+ -1であれば自分の勝率は0% 1であれば自分の勝率は100%として表現します。
18
19
  sigmoid関数よりも強い勾配を得られるので、学習がしやすいです。
19
20
  ただし重みが大きくなると-1か1しか返さなくなるので、l2ノルムやBatchNormalizationなどを使う事をお勧めします。
20
21
  AlphaGoZeroでは両方使われています。
@@ -31,7 +32,7 @@
31
32
  AlphaGoZeroでは、50万局毎に全ての局面を用いて、ミニバッチ学習を行っています。
32
33
  (最適化手法はMomentum ミニバッチサイズは2024 イテレーション数は1000)
33
34
 
34
- 先読み探索で得られた評価値 + 最終結果から得られた評価値を何かしらのタイミングで学習させていく感じですね。この辺りは完全に模倣しようとせず、手探りや好みで決めてもいいと思います。
35
+ 先読み探索で得られた評価値 + 最終結果からの学習を何かしらのタイミングで学習させていく感じですね。この辺りは完全に模倣しようとせず、手探りや好みで決めてもいいと思います。
35
36
 
36
37
  ちなみに以下リンクでは、Q値(先読み探索の評価値)の学習とゲーム結果の学習のバランスを変える事でAlphaGoZeroよりもいい結果が得られたという報告があります。
37
38
  http://tadaoyamaoka.hatenablog.com/entry/2018/07/01/121411