Skip to content

Conversation

@tttak
Copy link

@tttak tttak commented Aug 24, 2020

こんばんは。
以前のプルリクエスト( #36 )と同様に
評価関数の学習時にWDLを使うオプションを追加してみました。
learn use_wdl 1 ... のように指定すると、sigmoidを使うwinning_percentage()の代わりに
win rate modelによるWDLを用いた勝率を使うようになります。

以前のプルリクエストの際はクロスエントロピーの微分が難しく、一旦Revertして頂きました。
今回の実装では解析的な微分はあきらめて、数値微分にしました。

デバッグ用に、(WDLではなく)通常のsigmoidによる勝率の場合に
数値微分で計算した結果と、解析的な微分結果である(q - p)や(q - t)を比べると
誤差の範囲でほぼ一致することを確認しました。
(スケールをあわせるため、数値微分の結果をwinning_probability_coefficientで割っています)

最近導入されたconvert_teacher_signal_to_winning_probabilityが指定された場合にも対応したつもりです。
なお、LOSS_FUNCTIONとしては、今回はLOSS_FUNCTION_IS_ELMO_METHODにだけ対応しました。

ただ、手元で少し学習させてみましたところ、学習にはあまり効果がないようでした。(というより、逆効果でした)

※現在、機械学習バイナリのリリースに向けて、Stockfish masterマージ後のリグレッションテストを実施されている旨、twitterで拝見しました。
 このプルリクエストをマージして頂ける場合、次回リリース後で構いません。

@nodchip
Copy link
Owner

nodchip commented Aug 24, 2020

Thank you for the pull request. I'm planning to release a new binary, and a regression test is on going. I will merge this pull request after a new binary set is released.

@nodchip
Copy link
Owner

nodchip commented Aug 27, 2020

I decided to postpone the release because there is a critical bug in the training data generator and the trainer. I want to merge this pull request before the next release. Could you please resolve the conflict?

@tttak
Copy link
Author

tttak commented Aug 28, 2020

OK.
I resolved the conflict and committed.

@nodchip nodchip merged commit def6ec4 into nodchip:master Aug 28, 2020
@nodchip
Copy link
Owner

nodchip commented Aug 28, 2020

Thank you for resolving the conflict. I merged it.

@tttak tttak mentioned this pull request Sep 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants