TD学習メモ

dW(t)/dt=α(P(t+1)-P(t)Σλ▽P(i)

※Wは評価関数の重み
※P(x)は予想勝利確率
※P(x)=1/(1+e(-eval(x)/delta)でP(x)は評価関数をシグモイドで正規化した値
※▽P(i)は勾配で、=(dP(i)/dW1,dP(i)/dW2,……,dP(i)/dWn)
※P(x)=T[ΣWX] 探索末端の評価関数をシグモイドに入れた値(こうするとTD-leaf?)
※dP/dW=dT/dx[ΣWX]ΣX


P(x)はシグモイドだから微分した関数はインパルスでボナメソのフィルターと同じ形
(x=0近傍で大きく、差が広がると0で、負にはならない)


ということは、P(t+1)-P(t)の正負で更新される値の向きが決まり、
フィルターの大きさが小さくなると更新幅が収束する
tは1手1手のタイムスケールらしい。
1手指して、勝率予測の差を出して、勝率予測の差の勾配をかけた値でWを更新する?
兄弟手じゃなくて、親子関係で学習する?
局面が良くなれば盤面の特徴は強化され、局面が悪くなれば盤面の特徴は抑制される?


プロの棋譜と探索結果の差を0にするように学習するのがボナメソで、
次の1手後の探索結果と今の探索結果の差を0にするのTD学習?(教師無し学習)


これだと学習対象がいかにも少ないし、ボナメソは1万局の差を貯めて多数決で更新するけど
インクリメンタルに更新すると、近視眼的な更新になりそうな気がする。
ボナメソの良さを取り入れて、なにか改良できそうな気がする


指した手だけを対象にせず、兄弟手をすべて学習対象にしたら?
探索した手は特別扱いにして。
局面が悪くなった場合は、探索手による盤面を抑制するのはやるとして、
兄弟手による盤面も抑制する。でも、本当は探索手より良い手が兄弟に含まれている
その兄弟の評価の差をどう解決するか? 教師はいないので