コンピュータ将棋や囲碁の掲示板 過去ログ2021年版


Re: DeepMind’s MuZero picks up the ru... zakki 2021年 1月 3日(日)22時41分10秒
Leela 0.11.0について 灰色猫メール 2021年 1月 7日(木)03時25分42秒
Re: Leela 0.11.0について zakki 2021年 1月 8日(金)11時14分8秒
Re: Leela 0.11.0について 灰色猫メール 2021年 1月 8日(金)15時56分40秒
時間切れや同種の対戦を削除したCGOSのBa... 山下 2021年 1月11日(月)16時46分19秒
AobaZeroのリプレイバッファを100万棋譜に 山下 2021年 1月11日(月)16時52分12秒
CGOSの時間切れ zakki 2021年 1月12日(火)16時53分59秒
Re: CGOSの時間切れ 山下 2021年 1月12日(火)19時51分59秒
Re: CGOSの時間切れ 山下 2021年 1月16日(土)15時01分16秒
第12回UEC杯が3月20、21日に 山下 2021年 1月21日(木)17時03分39秒
kata1のCGOSでのBayesElo 山下 2021年 1月28日(木)21時58分31秒
AobaZeroでの800 playout/手 vs 1600 vis... 山下 2021年 2月 2日(火)21時11分59秒
playoutとvisitの定義 48 2021年 2月 5日(金)10時32分45秒
Re: playoutとvisitの定義 山下 2021年 2月 5日(金)19時06分41秒
LeelaZeroでの800 playout/手 vs 1600 vi... 山下 2021年 2月 6日(土)17時15分53秒
LeelaZeroが終了 山下 2021年 2月 9日(火)09時05分43秒
Re: 第12回UEC杯が3月20、21日に 山下 2021年 2月12日(金)15時36分43秒
Aobazero教師局面の更新について たややん 2021年 2月13日(土)19時00分0秒
Re: Aobazero教師局面の更新について 山下 2021年 2月13日(土)23時22分36秒
Re: Aobazero教師局面の更新について たややん 2021年 2月14日(日)09時11分0秒
Re: 第12回UEC杯が3月20、21日に 山下 2021年 2月15日(月)09時24分53秒
policy headの構造をdlshogiと同じ2187通り 山下 2021年 2月18日(木)08時47分14秒
Re: プロ棋士とfloodgateのレート 山下 2021年 3月 8日(月)11時28分8秒
AobaZeroの棋譜生成について やねうらおメール 2021年 3月12日(金)06時41分56秒
Re: AobaZeroの棋譜生成について 山下 2021年 3月12日(金)10時33分8秒
Re: AobaZeroの棋譜生成について やねうらおメール 2021年 3月12日(金)18時17分17秒
将棋GUIとやりとりについて トモ 2021年 3月16日(火)21時15分8秒
Re: 将棋GUIとやりとりについて 山下 2021年 3月19日(金)21時32分25秒
Re: 第12回UEC杯が3月20、21日に 山下 2021年 3月19日(金)21時35分5秒
Re: 将棋GUIとやりとりについて トモ 2021年 3月20日(土)09時29分25秒
SAIが20bx256に移行して+350Elo 山下 2021年 3月24日(水)17時50分37秒
lc0のkldgainでplayout数を可変にすると学... 山下 2021年 3月27日(土)17時04分2秒
3090はAobaZeroだと2080Tiの1.58倍 山下 2021年 4月 2日(金)16時24分15秒
playout数で弱くするよりも、Softmaxの温... 山下 2021年 4月 7日(水)16時02分2秒
Re: playout数で弱くするよりも、Softmax... 山下 2021年 4月 9日(金)12時39分50秒
(無題) 48 2021年 4月12日(月)13時07分44秒
Re: playout数で弱くするよりも、Softmax... 山下 2021年 4月12日(月)21時38分44秒
kata1は+60Eloほど強くなっている? 山下 2021年 4月17日(土)19時41分35秒
AobaZeroの追試を3日後に終了します 山下 2021年 4月23日(金)16時43分55秒
(無題) 48 2021年 4月23日(金)19時54分2秒
Re: AobaZeroの追試を3日後に終了します 山下 2021年 4月24日(土)14時11分32秒
(無題) tns 2021年 4月25日(日)08時42分39秒
Re: AobaZeroの追試を3日後に終了します 山下 2021年 4月26日(月)15時23分34秒
40ブロックの件 48 2021年 5月 3日(月)04時45分45秒
Re: 40ブロックの件 山下 2021年 5月 3日(月)11時34分20秒
(無題) 48 2021年 5月 4日(火)09時39分32秒
選手権の順位の推移 山下 2021年 5月 6日(木)06時38分49秒
40bで一瞬つよくなる現象 やねうらおメール 2021年 5月11日(火)08時24分27秒
Re: 40bで一瞬つよくなる現象 山下 2021年 5月12日(水)08時27分16秒
AobaZeroに3手詰を組み込んでもほぼ効果なし 山下 2021年 5月13日(木)12時46分33秒
(無題) tns 2021年 5月14日(金)16時52分36秒
Re: AobaZeroに3手詰を組み込んでもほぼ効... 山下 2021年 5月16日(日)14時25分18秒
選手権の順位順の星取表 山下 2021年 5月16日(日)14時27分59秒
Re: AobaZeroに3手詰を組み込んでもほぼ効... zakki 2021年 5月18日(火)23時05分19秒
Re: AobaZeroに3手詰を組み込んでもほぼ効... 山下 2021年 5月19日(水)13時48分39秒
(無題) zakki 2021年 5月19日(水)19時19分54秒
40blockに移行後の先手勝率と宣言勝ちの推移 山下 2021年 5月22日(土)15時25分47秒
PALの強化学習の詳細版が公開されています 山下 2021年 5月23日(日)01時01分53秒
将棋の駒落ちを人間の知識なしで学習させ... 山下 2021年 6月 6日(日)18時16分25秒
Aoba駒落ちの引き分け率の変化 tns 2021年 6月10日(木)09時29分19秒
Re: Aoba駒落ちの引き分け率の変化 山下 2021年 6月10日(木)16時15分38秒
gikou2_1c相手だと40blockは+100から+200... 山下 2021年 6月20日(日)17時41分18秒
Aoba駒落ちのWindows版を公開しました 山下 2021年 6月23日(水)14時16分54秒
Aoba駒落ちのWindows版を動かしてみました 48 2021年 6月24日(木)04時25分27秒
Re: Aoba駒落ちのWindows版を動かしてみま... 山下 2021年 6月24日(木)10時36分36秒
Aoba駒落ちの学習中のサンプルも公開しま... 山下 2021年 6月25日(金)21時42分0秒
Colab Proを試してみました 山下 2021年 6月27日(日)21時08分45秒
KataGoが1.9.0で+75Elo強く 山下 2021年 7月 3日(土)08時48分27秒
コラッツ予想が解けたら1億2千万円 山下 2021年 7月12日(月)11時39分48秒
CGFオープンが10月9日(土)、10日(日)に開催 山下 2021年 7月21日(水)16時16分15秒
StockfishがChessBaseを訴える 山下 2021年 7月25日(日)11時10分8秒
Policyのみの強さだと自己対戦の弊害は少... 山下 2021年 7月25日(日)12時49分28秒
駒落ちでは手数が長いほど下手勝率が高く... 山下 2021年 7月28日(水)10時38分54秒
KataGoの7路盤研究 山下 2021年 8月 7日(土)11時56分22秒
6枚落ちの上手だと時間をかけても水匠U、... 山下 2021年 8月 9日(月)15時30分18秒
KataGoが60bに移行 山下 2021年 8月10日(火)12時11分35秒
Colab Pro + が出来たようです 山下 2021年 8月27日(金)12時24分36秒
6枚落ちも平手とほぼ同じペースで強くなっ... 山下 2021年 9月 7日(火)01時26分53秒
LCBはAoba駒落ちで+80から+160の効果 山下 2021年 9月 7日(火)20時28分33秒
6枚落ちで負けました 山下 2021年 9月 8日(水)08時30分57秒
RE:6枚落ちで負けました 都万 2021年 9月 9日(木)05時59分47秒
Re: 6枚落ちで負けました 山下 2021年 9月 9日(木)11時34分58秒
六枚落ち 都万 2021年 9月 9日(木)17時43分28秒
六枚落ち 通りすがり 2021年 9月 9日(木)22時04分13秒
六枚落ち 48 2021年 9月11日(土)10時23分44秒
Re: 六枚落ち 山下 2021年 9月11日(土)16時55分2秒
(無題) 48 2021年 9月11日(土)19時02分37秒
40bが強くならないのは学習させてる変化が... 山下 2021年 9月11日(土)20時24分13秒
(無題) 48 2021年 9月11日(土)23時03分51秒
Re: 40bが強くならないのは学習させてる変... 山下 2021年 9月12日(日)04時51分49秒
1手800playoutだとkldgainは効果ありです... 山下 2021年 9月12日(日)12時57分18秒
相手が振飛車穴熊に組むだけで勝率95% 山下 2021年 9月16日(木)14時51分11秒
重複なしの(ユニークな)局面が50%を割ると... 山下 2021年 9月16日(木)21時35分44秒
Aoba駒落ちでの重複なしの局面の割合 山下 2021年 9月19日(日)11時58分16秒
KataGoの過去の学習棋譜サイトが停止中 山下 2021年 9月19日(日)13時49分34秒
kldgainで学習するようにしてみました 山下 2021年 9月20日(月)15時45分7秒
駒落ちの宣言勝ち対応エンジンは+35 Eloほ... 山下 2021年 9月20日(月)16時16分58秒
10blockのAobaZeroは20blockより120Elo弱い 山下 2021年 9月21日(火)11時30分36秒
Re: 重複なしの(ユニークな)局面が50%を割... zakki 2021年 9月21日(火)19時44分21秒
Re: 重複なしの(ユニークな)局面が50%を割... 山下 2021年 9月22日(水)19時19分39秒
重複なしの局面の割合、と選択されたPoli... 山下 2021年 9月23日(木)21時23分6秒
第35回身体知研究会で渡辺名人の対談 山下 2021年 9月24日(金)11時57分6秒
Re: 重複なしの局面の割合、と選択された... 山下 2021年 9月25日(土)11時28分55秒
AobaZeroで温度を変えた時のPolicyの平均... 山下 2021年 9月26日(日)14時11分8秒
kldgain適用後のハンデELOの推移 山下 2021年 9月28日(火)11時47分1秒
Computer Olympiad 2021の結果 山下 2021年 9月28日(火)12時54分19秒
AobaZeroの40 blockの学習を終了し20 blo... 山下 2021年10月 2日(土)10時17分53秒
CGFオープン、10月9日、10日開催の締め切... 山下 2021年10月 2日(土)10時29分29秒
CGFオープンの結果 山下 2021年10月16日(土)15時03分9秒
知識ゼロからの強化学習では宣言勝ちの割... 山下 2021年10月25日(月)12時10分39秒
宣言勝ち比率 48 2021年10月26日(火)11時37分54秒
Re: 宣言勝ち比率 山下 2021年10月27日(水)13時23分32秒
マルチスレッド 都万 2021年10月29日(金)16時18分7秒
Re:マルチスレッド 都万 2021年10月30日(土)15時43分34秒
UEC杯は2022年3月5日、6日に開催 山下 2021年10月31日(日)18時53分33秒
コンピュータ囲碁MLが消失、その代替は? 山下 2021年10月31日(日)19時11分41秒
Aoba駒落ちの温度を1.3に変更しました 山下 2021年11月 2日(火)19時25分15秒
KataGoはCGOSだとs964ぐらいから+50 ELOほ... 山下 2021年11月10日(水)16時06分7秒
GPWでAoba駒落ちの発表をしました 山下 2021年11月14日(日)10時47分38秒
KataGoの自己対戦による8路盤定石 山下 2021年11月17日(水)13時31分23秒
SAIはELF v0に追いついたようです 山下 2021年11月19日(金)13時55分48秒
電竜戦のA級の先手勝率は72% 山下 2021年11月22日(月)22時02分59秒
Re: 電竜戦のA級の先手勝率は72% 山下 2021年11月23日(火)13時40分57秒
MixNetとSwishで+104 ELO 山下 2021年11月23日(火)18時23分47秒
Re: MixNetとSwishで+104 ELO zakki 2021年11月24日(水)10時50分51秒
Re: MixNetとSwishで+104 ELO 山下 2021年11月24日(水)16時41分49秒
Leela Chess Zeroの現状 山下 2021年11月24日(水)18時14分53秒
YSS 1.0の自己対戦の棋譜 山下 2021年11月25日(木)19時35分51秒
Aoba駒落ちを終了しました。 山下 2021年12月 4日(土)17時15分0秒
Gumbel MuZero 匿名ファン 2021年12月 8日(水)12時35分21秒
Aoba駒落ちのGUIへの登録に失敗します。 masa 2021年12月10日(金)19時20分9秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 山下 2021年12月10日(金)23時43分22秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 masa 2021年12月11日(土)09時36分33秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 masa 2021年12月11日(土)10時07分12秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 山下 2021年12月11日(土)10時43分34秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 masa 2021年12月11日(土)12時01分58秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 山下 2021年12月11日(土)13時01分57秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 masa 2021年12月11日(土)13時16分7秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 masa 2021年12月11日(土)17時32分43秒
Re: Aoba駒落ちのGUIへの登録に失敗します。 masa 2021年12月12日(日)22時31分1秒
駒落ちの宣言勝ちで敵陣10枚以上が無理な... 山下 2021年12月18日(土)20時49分19秒
持将棋 都万 2021年12月19日(日)09時42分37秒
SwishとMishではSwishが良さそうです 山下 2021年12月19日(日)19時14分46秒
Re: 駒落ちの宣言勝ちで敵陣10枚以上が無... 山下 2021年12月20日(月)01時58分57秒
プロの駒落ちの入玉ルール 都万 2021年12月20日(月)05時19分37秒
Re: SwishとMishではSwishが良さそうです kobanium 2021年12月21日(火)01時04分21秒
Re: SwishとMishではSwishが良さそうです 山下 2021年12月21日(火)17時37分52秒
MixNetを試してみました 山下 2021年12月21日(火)17時47分16秒
Re: SwishとMishではSwishが良さそうです kobanium 2021年12月22日(水)02時24分39秒
Re: SwishとMishではSwishが良さそうです 山下 2021年12月22日(水)13時58分7秒
KataGoのg170のデータが再公開 山下 2021年12月22日(水)23時01分25秒
技巧2はgcc 8.4.0 では止まるがgcc5ならOK 山下 2021年12月24日(金)11時00分27秒
学習回数を4倍でもMixNetの性能は+130 EL... 山下 2021年12月24日(金)11時33分46秒
AobaZeroで温度を1から1.3に変更で+33 ELO 山下 2021年12月24日(金)17時52分10秒
単に温度を上げると質の悪い棋譜が多くで... 山下 2021年12月25日(土)21時08分6秒
AobaZeroで学習される局面の手数の割合 山下 2021年12月26日(日)19時28分59秒
Re: AobaZeroで学習される局面の手数の割合 zakki 2021年12月27日(月)15時04分28秒
Re: AobaZeroで学習される局面の手数の割合 山下 2021年12月27日(月)20時34分17秒
Re: AobaZeroで学習される局面の手数の割合 zakki 2021年12月27日(月)22時02分19秒
Re: AobaZeroで学習される局面の手数の割合 山下 2021年12月30日(木)12時30分5秒
Re: AobaZeroで学習される局面の手数の割合 zakki 2021年12月30日(木)15時42分27秒




Re: DeepMind’s MuZero picks up the rules of games as it pla  投稿者:zakki 投稿日:2021年 1月 3日(日)22時41分10秒
去年の棋精?(Go Genius)がMuZeroのプレプリントを参考にした実装をしてました。
http://entcog.c.ooco.jp/entcog/new_uec/past_uec/2019uec/appeal/GoGenius.pdf
https://arxiv.org/abs/1911.08265 

Leela 0.11.0について  投稿者:灰色猫メール 投稿日:2021年 1月 7日(木)03時25分42秒
少し前にGitHubで、Leela 0.11.0をlizzieで使えるようにするコードが発表されました。
https://github.com/featurecat/lizzie/issues/815
私はプログラミングについてはほとんど知識がないのですが、lizzieのコンパイル方法だけは知っていますので、現在lizzieでLeela 0.11.0が使えています。
しかし、自動分析ができないのと、分析状況が安定しないという問題があります。
https://github.com/kaorahi/Leela/tree/lz-analyze
ここに、パフォーマンスを改善するよう修正されたLeela 0.11.0のソースコードがあります。
これを使えば上記の問題が解決するような気がしています。
しかし私はLeelaのコンパイルができません。GitHubのLeelaの説明を読むと、コンパイルするためにはboostとOpenCLライブラリと開発ヘッダが必要だと書いてあります。ある程度ネットで調べたのですが、実現できる感じがしませんでした。
Leela 0.11.0のコンパイルの方法をご存じの方がいらっしゃいましたら教えて頂けないでしょうか?
不躾なお願いですが、気に留めて頂けましたら幸いです。


Re: Leela 0.11.0について  投稿者:zakki 投稿日:2021年 1月 8日(金)11時14分8秒
試してませんがLeelaZeroの開発環境を参考にできませんか?
LinuxならLZと同じapt installコマンド、WindowsならNuGet設定(packages.config)の流用とかで 

全2974件の内、新着の記事から10件ずつ表示します。

Re: Leela 0.11.0について  投稿者:灰色猫メール 投稿日:2021年 1月 8日(金)15時56分40秒
zakki様、ご回答頂き有難うございます。
プログラミングについての知識が乏しく、Nuget設定とか正直ピンとこない状況ですが、何とかヒントを生かせればと思います。


時間切れや同種の対戦を削除したCGOSのBayesElo  投稿者:山下 投稿日:2021年 1月11日(月)16時46分19秒
Remiさんによると最新の CrazyStone-81-TitV のBayesEloが
3年前の CrazyStone-18.04 より低くなっていて、BayesEloが正しくない、とのことです。
CrazyStone-81-TitV は CrazyStone-18.04 には100%近く勝つそうです。
https://www.mail-archive.com/computer-goxcomputer-go.org/msg17594.html

で、時間切れや同種の対戦を削除したCGOSのBayesEloを計算してみました。

19x19 BayesElo (時間切れを削除)
http://www.yss-aya.com/cgos/19x19/bayes_20210109_del_timeout.html
19x19 BayesElo (時間切れと、同種の対戦を削除)
http://www.yss-aya.com/cgos/19x19/bayes_20210109_del_timeout_same_program_match.html

最高レートとELFv2 (時間切れを削除)
  black_hole_v7        5245
  LZ_05db_ELFv2_p800   4005

最高レートとELFv2 (時間切れと、同種の対戦を削除)
  black_hole_v6        4958
  LZ_05db_ELFv2_p800   3855

最高レートとELFv2 (オリジナル)
  Katago_40b_s37_4V    4762
  LZ_05db_ELFv2_p800   3686
http://www.yss-aya.com/cgos/19x19/bayes.html

時間切れを削除すると black_hole_v7 が最強でした。
LZ_05db_ELFv2_p800 のレートも +320 ほど上がって、時間切れはかなり悪影響を与えています。

同種のプログラム同士の対戦、例えば LeelaZeroの400playout 対 800 playoutだと、
800 が7割から8割程度勝ちます。これは自己対戦の弊害で、他のプログラム相手だと6割程度です。
なので、同種のプログラム同士の対戦も削除して計算してみました。
最高レートは時間切れよりは300ほど下がって、自己対戦の弊害も大きそうです。

下のように 黒の名前に "LZ" が含まれ 白の名前に "lz" "Leela" "ELF" など含まれるなら削除しています。
LZとELFを同一、は少しやりすぎかもですが。

LZ | lz | Leela | ELF
kata | Kata | KG | k40b | k160 | Ka
Zen
CrazyStone | CS
Rnz | rn | Rn
Aya
myCtest
AQ
Dirichlet
CGI
DCNN-
Odin

731369 ... 全体局数
721122 ... 時間切れ削除後
592249 ... 時間切れと同種削除後 

AobaZeroのリプレイバッファを100万棋譜に  投稿者:山下 投稿日:2021年 1月11日(月)16時52分12秒
今まで直近の過去50万棋譜からミニバッチを作って学習させていたのを
過去100万棋譜に変更しました。

これはAlphaZeroの論文の pseudocode.py の記述に合わせています。
Supplementary Materials (Data S1 のリンク内のファイル)
https://science.sciencemag.org/content/suppl/2018/12/05/362.6419.1140.DC1 

CGOSの時間切れ  投稿者:zakki 投稿日:2021年 1月12日(火)16時53分59秒
時間制御で時間一杯まで使って終盤で負けるのはルール上しょうがないんですが、ネットワーク切断で序盤で時間切れになる処理を何とか出来ないでしょうか。

クライアントが対局中に落ちたときやCGOSプロセスを落として切断した場合は、コネクションが切断されていて再起動で同一対局を再開できます。
しかし、ネットワークごと切断された場合、CGOSサーバーのコネクションが残っていて、再起動しても多重ログイン扱いになって再開できません。

コネクションのチェックが全体のマッチ開始毎にしかされていないのを、一定時間ごとにキープアライブチェックしたり
多重ログイン時にコネクションを確認するようなのは難しいんでしょうか。

実際起きているのが前者が大半ならコスパ悪いですね。 

Re: CGOSの時間切れ  投稿者:山下 投稿日:2021年 1月12日(火)19時51分59秒
> 再起動しても多重ログイン扱いになって

これは時々おこるCGOSの欠点ですね。多重の場合は古いのを消せるか調べてみます。

なんとなく時間切れの大部分は
1. 時間ぎりぎりまで使う設定で400手を超えたら切れる。
2. マシンが落ちたり原因不明のネットワーク切断。戻ってこない

な気がします。
中国からのユーザは、通信不安定なことが多く、
またサーバは東京?にあるので欧米からだと、切れやすい、というのもあるかもしれません。
若干の時間ボーナス(1手ごとに0.25秒加算)はあるのですが。 

Re: CGOSの時間切れ  投稿者:山下 投稿日:2021年 1月16日(土)15時01分16秒
Donさんも当時悩んでいたようです。
先にusernameだけ来て、後からpasswordがくるので
ちょっと厄介そうです。
同時に来るような仕様だと比較的簡単なのですが。

https://github.com/yssaya/CGOS/blob/main/server/cgos.vfs/lib/app-cgos/cgos.tcl#L843 

第12回UEC杯が3月20、21日に  投稿者:山下 投稿日:2021年 1月21日(木)17時03分39秒
UEC杯の参加申し込みが始まっています。
3月20日(土)、21日(日)の2日間です。
締め切りは2月14日までです。
今年はオンライン開催となっています。

第12回UEC杯
http://entcog.c.ooco.jp/entcog/new_uec/ 

kata1のCGOSでのBayesElo  投稿者:山下 投稿日:2021年 1月28日(木)21時58分31秒
公式では初期から(v1.4.5付属の40blockのs509)+70Eloぐらい伸びてる感じです。
CGOSでは+30程度?でしょうか。対局数が100局程度と少ない、
のでかなりぶれていますが。
自己対戦でなく主にLeelaZeroとの比較、なので半分のこの程度かもしれません。
https://katagotraining.org/


AobaZeroでの800 playout/手 vs 1600 visit/手  投稿者:山下 投稿日:2021年 2月 2日(火)21時11分59秒
AobaZeroで1手800 playoutと1手1600 visit、どちらが強いか試してみました。
800playout/手が勝率0.58で勝ち越しました。800局で互角局面先後入れ替え。w3020。1スレッド。
消費時間は800plyoutが1.005倍で多く使ってますが、ほぼ同じ消費時間です。
同じ消費時間なら1600visitが勝ち越すだろう、と思ってたのですが意外でした。

1手800playout、1手800visitを学習用に自己対戦させた場合、rootで探索した合計は下のようになります。

               800 playout/手          800 visit/手
             root合計 実際の回数   root合計 実際の回数
0手目           800       800         800       800
1手目▲48玉     818       800         800       800
2手目△44歩    1016       800         800       626
3手目▲26歩    1395       800         800       261
4手目△34歩    2149       800         800         1
5手目▲36歩     836       800         800       787

0手目や、1手目に▲48玉と予想外の手が指された場合、playoutとvisitは同じです。
しかし3手目に▲26歩や4手目に△34歩と予想通りの手を指した場合、visitの実際の探索回数は
261回、1回、とかなり少なくなります。つまり予想が当たった場合に短時間で探索を終えることができます。
これはハッシュ表に前回の探索の結果を記憶して再利用しているためです。

他のプロジェクトでの1手ごとのplayout数は

AlphaGoZeroでは1手1600 playout
AlphaZeroでは  1手 800 playout
LeelaZeroでは  1手1600 visit
ELFでは        1手1600 playout
KataGoは       1手 600 visit(非学習局面では100 visit)から1000 visit(200 visit)
AobaZeroは     1手 800 playout

Remiは1手400playoutで学習させているそうです。AQの山口さんの話だと
減らしすぎるとPolicyの分布が得られなくてダメなのでは、とのことでした。
下では800-1200 visitぐらいでOK?みたいな結論になっています。

Optimal amount of visits per move
https://github.com/leela-zero/leela-zero/issues/1416

探索量は多い方がいいのは間違いないのでしょうが、1600playout/手以上は効果がなく?
逆に800playout/手 以下だとダメなのでしょうか。

この実験をするのは大変なので、
100,200,400,800,1600,3200 playout/手
100,200,400,800,1600,3200 visit/手
での強化学習をしたときのELOの変化グラフ、とかをDeepMindさんが出してくれないでしょうか・・・。 


playoutとvisitの定義  投稿者:48 投稿日:2021年 2月 5日(金)10時32分45秒
playoutとvisitの違いが分かってなかったのですが
再利用の差なのですね。
文字通りのplayoutをしなくなってから呼び名を変えただけかと思ってました。 


Re: playoutとvisitの定義  投稿者:山下 投稿日:2021年 2月 5日(金)19時06分41秒
最初にvisit、という用語を使いだしたのはLeelaZeroで、この用語は囲碁以外ではメジャーではない気がします。

simulation ... 最初から最後まで。rolloutをしない場合でもOK?
rollout    ... UCTで末端まで降りて、そこから最後まで?カナダのアルバータ大が使い始めてAlphaGoでも。
playout    ... UCTで末端まで降りて、そこから最後まで?simulationと同じ?
visit      ... Rootの合計数

こんな感じでしょうか?simulation以外はいい加減な定義な気がします。
私は何となくplayoutが好きなのでよく使ってます。
MCTSもモンテカルロを使ってない現在も、普通に使われていますけど。

KataGoは学習時には探索木の再利用はせずに、
NNの結果をキャッシュしています。
再利用するとDirichlet Noiseの影響が小さくなってしまうため、だそうです。
この場合、visitとplayoutは一緒ですけど。
AobaZeroは単純に再利用なので必然手順ではDirichlet Noiseの影響はかなり小さくなってると思うのですが
論文通りなのでこのままにしています。

AlphaZeroの著者の一人のMatthewさんがGCPの質問に答えてますが、Dirichlet Noiseについては答えてませんが
最初の30手でのVisit count samplingに関しては、再利用の影響はあまりない、とのことです。
http://talkchess.com/forum3/viewtopic.php?p=782297#p782297 

LeelaZeroでの800 playout/手 vs 1600 visit/手  投稿者:山下 投稿日:2021年 2月 6日(土)17時15分53秒
LeelaZeroでも試してみました。
800playout/手の 94勝106敗、勝率 0.47 でほぼ互角でした。
(最初の10手をプロの100棋譜から選び白黒交互で200局。重みはLZ_286。どちらも4スレッド)
消費時間は1600visitが1.08倍多く使ってます。

着手の強さ的には
AlphaGoZero(1手1600playout)よりも
AlphaZero  (1手 800playout)に近く、
40 blockでMaster(20 block?)を超えたAlphaGoZeroの追試にはなってないかもです。 

LeelaZeroが終了  投稿者:山下 投稿日:2021年 2月 9日(火)09時05分43秒
1年遅れ?ですがLeelaZeroが学習を停止するそうです。
https://github.com/leela-zero/leela-zero/issues/2560#issuecomment-775434978


Re: 第12回UEC杯が3月20、21日に  投稿者:山下 投稿日:2021年 2月12日(金)15時36分43秒
参加申し込みは2月14日までとなっています。

中国から2チームとフランスからRemiさんが参加する予定になってます。
http://entcog.c.ooco.jp/entcog/new_uec/list.html
http://entcog.c.ooco.jp/entcog/new_uec/


Aobazero教師局面の更新について  投稿者:たややん 投稿日:2021年 2月13日(土)19時00分0秒
お世話になります。
いつもAobazeroの成長に注目しています。

ところで,Aobazeroの強化学習で作成した棋譜について,GoogleDriveにアップロードされているのが12月22日の棋譜が最後となっていますが,最新棋譜のアップロードは難しい状況でしょうか(Aobazeroの棋譜を再利用して色々検証したいと思いまして…)。
もしよろしければご確認くださいますようお願いいたします。 

Re: Aobazero教師局面の更新について  投稿者:山下 投稿日:2021年 2月13日(土)23時22分36秒
更新が遅れていてすみません。
とりあえず
arch000026060000.csa.xz
から
arch000031950000.csa.xz
までを下にアップロードしました。
https://drive.google.com/drive/folders/13Z5i8Vi2oiQ1p8-Xt8fmXPHR6JNNtopw?usp=sharing

近日中に通常の場所に最新のものもアップロードする予定です。 

Re: Aobazero教師局面の更新について  投稿者:たややん 投稿日:2021年 2月14日(日)09時11分0秒
早速の対応ありがとうございます。利用させていただきます。
今後とも何卒よろしくお願い申し上げます。 

Re: 第12回UEC杯が3月20、21日に  投稿者:山下 投稿日:2021年 2月15日(月)09時24分53秒
申し込み締め切りが22日まで延長になっています。
現在15チームが参加予定です。
http://entcog.c.ooco.jp/entcog/new_uec/list.html
中国4、フランス1、アメリカ1、と海外勢が6です。
KataGoの作者自身による参加申し込みもあります。 

policy headの構造をdlshogiと同じ2187通り  投稿者:山下 投稿日:2021年 2月18日(木)08時47分14秒
AobaZeroのPolicy Headは
駒の移動元(81) から 8方向 に 何マス進むか、で11259通り(9x9 x139)です。
これをdlshogiと同じ
駒の移動先(81) に どの方向(8+2)から来たか、で 2187通り(9x9 x27)にして性能を簡単ですが調べてみました。

192x10b とdlshogiと同じサイズで(AobaZeroの256x20bの約4分の1)
AobaZeroの1850万番目の棋譜から10万回だけmini-batch=128、学習率=0.01 で
学習させたデータで比較しました。
入力は駒の配置、持ち駒を現在+過去7手前まで、と同一局面になった回数、手数、手番です。
出力は指し手(Policy、11259通り or 2187通り)、Value(1つ)です。

1 playoutしかしない同士(常にPolicyで最大確率の手を選ぶ)で対戦させた場合、2187通りが

503勝237敗260引分(勝率0.633)

で勝ち越しました。(互角局面使用)

この結果だけを見ると2187通りの方が効率良さそうです。
移動元が方向だけで何マス動くか、はNNが考えないといけないので難しいかな、と思ってたのですが。

48さん指摘の長い利きをうっかりする△91馬(19)の読み抜けは

△91馬(19)のPolicy順位
 11259通り 141番目の最下位
  2187通り  51番目

と、2187通りの方がかなりマシになります。とはいっても51番目なのでほぼ候補にはならないレベルですが。
やはり長い利きの情報を入力として与えないと、この長い利きを見落とす問題は解決しないのかもしれません。
ちなみに最新の w3200.txt でもこの手は最下位のままで読み抜けます。

△91馬(19)と馬をタダで取られる
http://www.yss-aya.com/bbs_log/bbs2020.html#bbs91

Policy HeadはどちらもConvolution層(1x1)のみで、全結合は試していません。
2187通りで表現する方法は元々は not522 さんのアイデアですが、うまい方法ですね。
盤外からの移動とかを消すと1600通りぐらいに減るのでそれも試してみようかと思います。
将棋の最大可能手数は593手なので、その倍程度まで減らせそうです。

将棋でディープラーニングする その46(出力ラベルの表現方法)
https://tadaoyamaoka.hatenablog.com/entry/2017/11/18/001726 


Re: プロ棋士とfloodgateのレート  投稿者:山下 投稿日:2021年 3月 8日(月)11時28分8秒
以前プロ棋士のfloodgateでのレートを推定したのですが間違ってました。
千田さんが1時間、切れたら1分で対戦した結果を4倍時間を使ったAperyと対戦した、として
+199 補正したのですが、千田さんが4倍の思考時間をかけるとソフトと同じように
+199 強くなる、と仮定すると、その必要はありませんでした。

つまり、
apery_WCSC25_E5-2687W_8t が495局対戦して3066点。

3066のAperyに勝率2割、は 240点差。千田さんの2015年は2826点。

棋士別成績一覧では、千田さんの2015年6月のレートは1683点。
http://kishibetsu.com/2015R/1291.html
このページのレートに 1143点 (2826-1683) 足せば floodgate のレートに一致します。

2021-03-07のトップは藤井聡太二冠の2014点(棋士別サイト)なので+1143でfloodgateでは3157点。

藤井聡太二冠 2014点(2021-03-07)   floodgate 3157?
千田さん     1763点(2021-03-07)   floodgate 2906?
             1683点(2015-06-02)   floodgate 2826?

こちらの点数の方が不屈の棋士(講談社、2016)での千田さんの考察
「平均的な棋士は2600、高く見積もって2800」
に近いかもしれません。

人間とソフトの持時間を増やしたときのレート差、はどうなるのでしょうか?
1手5秒とか極端に少ないとソフトが有利で、1手15秒から1手1分、では
人間の伸びの方が大きい気がします。
1手1分から1手10分、とかでも人間が大きい気がします。
20年以上前のデータでは対人間だとソフトの思考時間2倍での伸びは+100でなく、+63とかもっと小さかったです。

プロ棋士とfloodgateのレート
http://www.yss-aya.com/bbs_log/bbs2020.html#bbs109 


AobaZeroの棋譜生成について  投稿者:やねうらおメール 投稿日:2021年 3月12日(金)06時41分56秒
最近のAobaZeroの棋譜、早い段階で投了するので入玉が学習できていないように思います。
おそらく、floodgateとの棋譜のとの指し手一致率(policyのaccuracy)も下がってるのではないかと思います。

棋譜を利用させていただいている立場で言うのも何なのですが、詰みの局面まで投了しないようにしていただくわけにはいきませんでしょうか。

// dlshogiの山岡さん、水匠のたややんさんたちもそうして欲しいそうです。

棋力の推移グラフに、policy/valueのaccuracyもプロットして、accuracyが悪化していないかを確認されたほうが良いのではないかと思います。

あと、自己対局が800poなの、増やしていただくわけにはいかないでしょうか。
// 棋力的には、とっくにサチっているように見えるのでそろそろnetworkを大きくするか、800をもっと大きくするかしないと…。

それから、入力特徴量をdlshogiに合わせていただくわけにはいかないでしょうか。
dlshogiの入力特徴量のように利きも入力するとずいぶん強くなります。

欲を言えば、入力特徴量がdlshogiと同一で、かつ、CUDA(TensorRT)で実装されていれば、modelファイルをdlshogiで読み込ませることが出来るので探索性能の違いを評価したりできるようになるのですが…。現時点では、探索の性能の差を公平に比較することすら出来ませんし、modelファイルに互換性がないので評価関数のみの強さの比較を行うこともできません。


Re: AobaZeroの棋譜生成について  投稿者:山下 投稿日:2021年 3月12日(金)10時33分8秒
AobaZeroはAlphaZeroの追試をするのが目的なので
論文とは異なる手法を試すのは難しいと思います。
投了の棋譜ですが、現在も投了の閾値を自動調節するために全体の10%の棋譜で投了を禁止しています。

2212万棋譜以降で、棋譜の3行目に "-r 0.0" がついている棋譜のみを対象とした場合、
'-q -r 0.0

棋譜の最後が下のいずれかで終わっているのが閾値で投了した棋譜で
%TORYO,'autousi
%TORYO,'autousi,resign-th=

何もついていない下の形式が投了を禁止して詰み上がりまで指した棋譜になります。
%TORYO

棋譜数は減ってしまいますが、この形式の棋譜だけを学習対象とすれば長手数の棋譜も以前と
ほぼ同じ割合で含まれていると思われます。

棋力がほぼ変化がないのはご指摘の通りで、いったん終了した段階で、
ブロック数を増やすかplayout数を増やすなどを検討いたします。
floodgateの棋譜に対する一致率は調べていませんが一度試してみようと思います。

下はKristallweizenと1手800playoutで対戦させた場合の宣言勝ちの割合です。
現在は先手では60%、後手では25%が宣言となっています。
一番多かったときは先手で80%で、w2770付近から急に減少しています。
ほぼweight_decayを小さくした時期(w2750)と一致しますが、それより少し前の
投了10%(w2250)、投了自動調整(w2564)の影響かもしれません。


Re: AobaZeroの棋譜生成について  投稿者:やねうらおメール 投稿日:2021年 3月12日(金)18時17分17秒
返信ありがとうございます。諸々承知致しました。
ご対応、ありがとうございます。


将棋GUIとやりとりについて  投稿者:トモ 投稿日:2021年 3月16日(火)21時15分8秒
WindowsForm(c#)で将棋のプログラムを作り始めました。
標準入出力を使って将棋GUIとやりとりしたいのでですが、
将棋GUIからのメッセージを受信する部分をどう作っていいかわからず困ってます。

アドバイスいただけると助かります。 

Re: 将棋GUIとやりとりについて  投稿者:山下 投稿日:2021年 3月19日(金)21時32分25秒
C#は分からないのですがこの辺など参考にはならないでしょうか?

自プロセスの標準入出力
https://smdn.jp/programming/netfx/standard_streams/0_console/ 

Re: 第12回UEC杯が3月20、21日に  投稿者:山下 投稿日:2021年 3月19日(金)21時35分5秒
UEC杯が明日開催されます。
1日目がスイス式7回戦で、上位6ソフトが2日目の決勝5試合を戦います。
7位から12位までは別のリーグで5試合を行います。

UEC杯
http://entcog.c.ooco.jp/entcog/new_uec/
棋譜中継 Youtube
https://www.youtube.com/channel/UCt5CU4KCMtsQQmG2v3q51Qw/
棋譜中継(30秒ごとに更新)
http://www.yss-aya.com/uec2021/
大橋プロによる棋譜解説。最終日のみ。
http://entcog.c.ooco.jp/entcog/new_uec/watch.html
19プログラムが参加予定です。(Maruはキャンセルです)
http://entcog.c.ooco.jp/entcog/new_uec/list.html


Re: 将棋GUIとやりとりについて  投稿者:トモ 投稿日:2021年 3月20日(土)09時29分25秒
>C#は分からないのですがこの辺など参考にはならないでしょうか?
山下さん、アドバイスありがとうございます。

■Console.ReadLine()メソッドを使った時に、並列して他の処理ができず困ってました。

ThreadPool.QueueUserWorkItem(new WaitCallback(MyReadLine), null);

void MyReadLine(object userState)
{
    while (true) CallBackReadLine(Console.ReadLine());
}

で自己解決しました。
※標準入力が入った時に、 CallBackReadLine()関数が呼ばれるようにしました。 


SAIが20bx256に移行して+350Elo  投稿者:山下 投稿日:2021年 3月24日(水)17時50分37秒
SAIがようやく?20block x256に移行して+350ほど強くなったそうです。

LeelaZeroの最後の20bはLZ_173で、その一つ前のLZ_172が800playoutで
CGOSで 3407点、SAIの12bx256の 1600 playoutがほぼ同じ 3410点なので
SAIの800 playoutでも20bはLZを抜いてそうです。
もっともLZは収束またずにすぐ40bに上げてしまいましたが。
20bで40bの棋譜を学習させた LZ20b_se_1e50_p800 は3629点なので、そこには届いていないかも。

                     BayesElo
LZ20b_se_1e50_p800   3629
SAI_668_8702_p1600   3410
LZ_172_b1c3_p800     3407

http://sai.unich.it/ 


lc0のkldgainでplayout数を可変にすると学習棋譜が+100Eloほど上がるようです  投稿者:山下 投稿日:2021年 3月27日(土)17時04分2秒
lc0で使われているkldgainという手法を試してみました。
1手800playout固定、ではなく可変にする方法です。

自己対戦          +108 Elo   平均 750 playout/手(最大8000回、最小101回)
対Kristallweizen   +94 Elo   平均 704 playout/手(最大8000回、最小101回)

比較対象は 800 playout/手固定のAobaZeroで、
kldgainだと自己対戦で 750, 対Kristallweizenだと 704 と
少ないplayout数で +100 Elo 強くなっています。
自己対戦でなく、Kristallweizenでも同じくらい強くなったのが意外でした。

互角局面集使用。400局面を先後入れ替えで800局。w3020.txt
minimum-kldgain-per-node=0.000002  (最大でも8000回を上限)

kldはカルバック・ライブラー情報量(Kullback Leibler divergence)の略で
例えばA,B,Cの3つの手があって、100回playoutしたとき、調べた回数が
A 50回
B 30回
C 20回

さらに100回playout(合計200回)で
A 102回
B  59回
C  39回

だとすると、着手確率がほぼ同じ(A 50%,B 30%, C 20%)なので
本来800回playoutするのを200回で打ちきってしまおう、という手法です。

この手法がよさそうなのは、AobaZeroは着手の分布を学習しているので
分布の形が変わらないなら学習には影響なさそうな点です。
200回でなく、400、800と探索させれば別の手を発見する可能性も高いので何とも言えませんけど。

Leela Chess Zeroウォッチ
https://tadaoyamaoka.hatenablog.com/entry/2019/12/26/234734
lc0の実装
https://github.com/LeelaChessZero/lc0/blob/master/src/mcts/stoppers/stoppers.cc#L151

lc0では +120 強くなってます。kld がどの程度小さくなったら打ち切るか、は
minimum-kldgain-per-node=0.000005    平均  766 playout/手(最大5300、最小200)

AobaZeroだと
minimum-kldgain-per-node=0.000005    平均  642 playout/手(最大8000、最小200)
minimum-kldgain-per-node=0.000002    平均  750 playout/手(最大8000、最小101)
minimum-kldgain-per-node=0.0000005   平均 1243 playout/手(最大8000、最小200)
minimum-kldgain-per-node=0.000002    平均 2324 playout/手(最大8000、最小101) ... w0001.txt の自己対戦(学習初期)

lc0のデータは探索木の再利用なし、でAobaZeroはありです(0回と比較、すでに100回分以上探索済みなら)。
ディリクレノイズが入ったり、学習の初期だと minimum-kldgain-per-node はもう少し大きくする
必要があるかもしれません。 

3090はAobaZeroだと2080Tiの1.58倍  投稿者:山下 投稿日:2021年 4月 2日(金)16時24分15秒
RTX 3090を買ったのでubuntu20.04でAobaZeroの速度を計ってみました。
バッチサイズ28 で 2080 Ti の 1.58倍の速度が出るようです。
バッチサイズ42 まで性能が伸びて、最速で、21314 局面/秒 でした。

 batch  2080 Ti    3090

  1     1820       2950 局面/秒
  3     4800       8265 局面/秒
  7     9200      14633 局面/秒
 14    10900      15573 局面/秒
 28    12100      19094 局面/秒
 42               21314 局面/秒
 56               18621 局面/秒

上の速度は下のように net-test で計測したもので理想的な最大速度が出ます。
$ xz -dc data/w485-out.txt.xz | bin/net-test -r 16 -w -b 42 -u 0 ./w000000000485.txt

aobaz単体だとバッチ7、スレッド28ぐらいで 13500 局面/秒 ぐらいが最速のようです。
$ ./aobaz -p 80000 -h 1 -b 7 -t 28 -w ./w000000003020.txt

autousiは下の設定(バッチ42、126プロセス)だと1時間で1000棋譜以上でるようです。
Device        O-1:42:126W
SleepOpenCL   1

- Send:   Sent 6232, Lost 0, Waiting 0
- Recv:   Weight's ID 3371, resign-th 0.230, Last Check 04/01/21 00:10:50
- Engine: Idle 0, 5061msec/move, 1033.0send/hour, 6.0 hours running

CPUはRyzen 7 3700X(8コア16スレッド)で load average: 13.59 ぐらいです。
コア数足りない感じです。

Caffeは, CUDA 11.2, cuDNN 8.1.1 を下の非公式版を入れました。

Install OpenCV 4.4.0 and Caffe on Ubuntu 20.04 for Python 3
https://qengineering.eu/install-caffe-on-ubuntu-20.04-with-opencv-4.4.html

最初、CUDA 10.2, cuDNN v7.6.5 で公式のCaffe 1.0 を動かしていたのですが、
mnist の学習で accuracy = 0.113 (正しくはaccuracy = 0.991) と正しく収束せず
cuDNNなしだと正常、prototxtの読み込みで10分ほど固まる、と色々問題があって上のを使いました。
そもそもRTX 3090はCUDA 11.1以上じゃないと動かないみたいですね。
Caffeは更新をやめてしまって、さすがにそろそろ諦めるべきかもしれません・・・。 

playout数で弱くするよりも、Softmaxの温度で弱くする方が正しい?  投稿者:山下 投稿日:2021年 4月 7日(水)16時02分2秒
例えば800playoutで上位3手だけを探索して、
A 400回
B 300回
C 100回
だとすると、温度が0だと常に最大回数、Aの手を選びます。
温度 1.0 でA,B,Cを選ぶ確率が 4:3:1 (50%,37%,13%)になります。
温度が+無限大で選ぶ確率が均等(33%,33%,33%)になります。
この方法で常に1手800playoutで温度を変えて弱くすると、最大で1503点弱くなります。

1手800playoutを400、200、と減らしていくと1playoutでは最大1829点弱くなります。
(1手800playoutと1手400playoutを対戦させた場合)

ところが、1手 1 playout と互角の強さになるのは温度1.3 の 累計 692.4 点差でした。
これでplayout数のレート差を補正(692.4 / 1829 = 0.378)すると
playout数を倍にしたときのレートの伸びは

+273 --->  +103

と小さくなります(800playout -> 400playoutの場合)。
一般に自己対戦での思考時間倍での棋力の変化は前者(+273)ですが、
こちらの(+103)の方が他のソフト相手での変化に近いです。

MCTSで棋力を落とすときは、playout数で弱くするよりも、Softmaxの温度で
調整する方が正しいのかもしれません。

   温度   レート差  累計レート差
    0                    0
    0.01      13        13
    0.1        0        13
    0.5       67        80
    0.7      114       194
    0.8       79       273
    1.2      366       639
    1.3                692.4   --> ここで1手1playoutと互角
    1.7      267       906
    2.5      217      1123
    3.8      150      1273
    6.0       99      1372
   10         35      1407
  100         63      1470
10000         33      1503

playout数  レート差  累計レート差    補正レート差(x 0.378)
  800                    0
  400        273       273                103
  200        254       527                 96
  100        246       773                 92
   50        232      1005                 88
   25        216      1221                 82
   12        242      1463                 92
    6        183      1646                 69
    1        183      1829                 69

AobaZeroをw3020.txt を1スレッドで800局、互角局面利用(400局面を先後)で測定

Softmax
https://en.wikipedia.org/wiki/Softmax_function#Reinforcement_learning

(グラフの横軸は対数スケール)


Re: playout数で弱くするよりも、Softmaxの温度で弱くする方が正しい?  投稿者:山下 投稿日:2021年 4月 9日(金)12時39分50秒
floodgateで1手1playout、は2150点でした。
1手800playoutが3100点ぐらいなので950点差ぐらいです。
自己対戦の1829点差の倍ぐらい小さく、Softmax換算の692点差よりは大きいです。
floodgateは弱いプレイヤーが少ないので正確なレートが出てるかは微妙ですが。
(2300点のYSSが2502点になってます)

AobaZero_w3392_p1 2150
http://wdoor.c.u-tokyo.ac.jp/shogi/view/show-player.cgi?event=LATEST&filter=floodgate&show_self_play=1&user=AobaZero_w3392_p1%2B707d4f98d9d2620cdaab58f19d02a2e4 

(無題)  投稿者:48 投稿日:2021年 4月12日(月)13時07分44秒
面白い試みに思いますが
棋力を落とすときに保存しようとしているパラメータが何かうまく言語化できません。
そこが出来ないと伝わりにくい「正しさ」だと思います。
温度の影響はNNの出来に大きく依存すると思いますので本件はAobaZeroの現状のように
完成度が高い前提の議論ですよね。 

Re: playout数で弱くするよりも、Softmaxの温度で弱くする方が正しい?  投稿者:山下 投稿日:2021年 4月12日(月)21時38分44秒
正しいレート差?は人間の棋力基準のような気もしますが
それも曖昧な気もします。
ノード数を倍にしての棋力差は、ノード数の上が下を完全に飲み込むいびつ?な強さなのかもしれません。
ただ、温度を変えての弱さは時々ひどい悪手を指すので、不自然な感じは残ります。

NNの出来に依存するのは確実で、最初の重み、w0001.txtで温度変えてもほとんど変わらないです。
αβでも似たことは出来そうな気はしますけど。
ただ、人間的な「自然な弱さ」はこんな方法では実現できなそうです。 

kata1は+60Eloほど強くなっている?  投稿者:山下 投稿日:2021年 4月17日(土)19時41分35秒
kata1のレート推移をCGOSで調べてみました。

LZ_282_0410_p400 を相手にした時の勝率だと近似直線で
最初のs517で勝率41%(-63)
最後のs773で勝率33%(-123)
なので +60 Elo 上昇

BayesEloだと、近似直線で
最初のs517で 3900点
最後のs773で 3990点
なので +90 Elo 上昇

kata1のページのグラフ(自己対戦)だと
13170 -> 13310
なので +140 Elo 上昇
https://katagotraining.org/

自己対戦を完全に排除したLZとの結果が一番正確な気がします。
もっともCGOSは100visit、と極端に探索数が少ないので800visitとかだと
もっとElo上昇は大きいかもしれません。


AobaZeroの追試を3日後に終了します  投稿者:山下 投稿日:2021年 4月23日(金)16時43分55秒
3日後くらいを目途にAobaZeroの追試(AlphaZeroの追試)を終了します。
その後は、40blockへ移行します。

AlphaZeroには推定で108点(後手番では48点、先手番で319点)負けています(後述)。
ただ、後手番ではほぼ追いついた、と言ってもいいのではないかと思います。

将棋のルールだけを教えて「勝ちやすい」という条件だけで一般的に指されてる囲い、戦型の大部分を再発見することができました。

確認された囲い:雁木、矢倉、美濃囲い、高美濃、銀冠、左美濃、中住まい、右玉、矢倉穴熊
確認された戦型:相掛かり、横歩取り、横歩取り青野流、角換わり棒銀、角換わり早繰り銀、角換わり腰掛け銀、
                後手四間飛車、矢倉脇システム、ひねり飛車

先手番では振飛車は指しませんが、後手番では四間飛車を好んで指していました。
穴熊も矢倉から穴熊に組み替える矢倉穴熊は指します(▲78金▲67金型)。
▲78金▲79金の正統な?穴熊は見つけていません。

半面、一目散に穴熊を目指す指し方や、多彩な振飛車(中飛車、三間飛車)などは見つけていません。
人間によって長く指されている指し方を一部発見できていないのはこの手法が万能ではないことも示していると思います。

AlphaZeroの1手10秒換算でのAobaZeroの対elmo(WCSC27)との176局だと

・勝率     0.741 (127勝7分42敗)          差183
・先手勝率 0.806 ( 69勝4分15敗) 宣言68勝 差247
・後手勝率 0.676 ( 58勝3分27敗) 宣言39勝 差128
*AobaZeroは 1手580k playout/手、elmoは 1手251000k/手 (6スレッド)

AlphaZeroは持ち時間3時間で対elmo(WCSC27)に1000局で
・勝率     0.918                         差420
・先手勝率 0.982                         差695
・後手勝率 0.853                         差305
*AlphaZeroは第1世代TPUを4つ(探索速度 58k/秒)。elmoはXeon 2.2GHz 44CPU、44スレッド(25100k/秒)

AobaZeroの重みがw1650と最新より40ほど弱い、
elmoを1手25100k固定とした場合、44スレッドは6スレッドより89弱い、を考慮して
(対Kristallweizenの16スレッド、1手5500kノードとの比較で)

(平均) 108 (420 - 183 - 89 - 40 より)
(先手) 319 (695 - 247 - 89 - 40 より)
(後手)  48 (305 - 128 - 89 - 40 より) 

(無題)  投稿者:48 投稿日:2021年 4月23日(金)19時54分2秒
良い決断に思います。
可能ならPyTorchかTensorFlowなどのモダンな学習ライブラリへ移行されると嬉しいです。 


Re: AobaZeroの追試を3日後に終了します  投稿者:山下 投稿日:2021年 4月24日(土)14時11分32秒
今回は40blockに切り替えるだけですが、Caffeは今では環境作るのも大変なので検討いたします。 


(無題)  投稿者:tns 投稿日:2021年 4月25日(日)08時42分39秒
AlphaZeroの追試が終了ということは、論文にはなかった手法等もテスト、導入していく方針になるのでしょうか。 

Re: AobaZeroの追試を3日後に終了します  投稿者:山下 投稿日:2021年 4月26日(月)15時23分34秒
とりあえず40blockを試そう、という段階で、今後の方針はまだ未定です。 

40ブロックの件  投稿者:48 投稿日:2021年 5月 3日(月)04時45分45秒
選手権直前でどうかと思うのですがひとつ教えて下さい。
40ブロック移行の最初のモデルはどうやって作成しましたか?
ちなみにうちではAobaZero教師のありったけを約2周ロスが安定するまで回した後
20ブロックで作った最新の2億局面を5,6周学習させました。
それでやっと20ブロックに追いついた感じです。 

Re: 40ブロックの件  投稿者:山下 投稿日:2021年 5月 3日(月)11時34分20秒
1974万棋譜までは20blockと同様の条件(学習率の推移)で学習させていました。
そこから3970万棋譜までは1局面を平均1回学習、でなく平均(1/8)回学習になるように
8倍速で学習させたものをベースにしています。
(学習が棋譜生成速度に追いつかないため)

去年の4月、700万棋譜では40blockは20blockとほぼ同じ強さで、
学習率を現在と同じ 0.000001 に下げて(ミニバッチ 64)
1590万棋譜の時点で+70ぐらい20blockより強くなりました。
学習率 0.00001 だと同程度の強さにしかならなかったのかもしれません。

KataGoは 20b -> 40b で200Eloほどしか上がっていないので(同じplayout数で)
AobaZeroもそのぐらいかな、と思っています。

CGOS name          BayesElo 対局数
kata145b40s509v800     4396    342   ... 256x40 block
kata145b30s482v800     4396    342   ... 320x30 block
kata145b20s530v800     4215    513   ... 256x20 block (40 blockの棋譜で学習)

下は8倍速で学習させた途中の棋力ですが、valueのサンプルが増えて精度が上がる?かと思ったのですが
強さ的には変わりませんでした。

対Kristallweizen 500k/手への勝率
                     勝 分  負     勝率          ELO
40b 1590万棋譜 800p 494-18-288 800 0.629(0.033)(  91), ほぼ20blockと同一条件で学習。+70ほど20blockより強い
40b 1590万棋譜 400p 350-11-439 800 0.444(0.034)( -38), 半分のplayout数だと20blockより60ほど弱い
40b 2490万棋譜 800p 474-15-311 800 0.602(0.034)(  71), 1974万棋譜から8倍速で学習
40b 2792万棋譜 800p 484-15-301 800 0.614(0.033)(  80),
40b 3296万棋譜 800p 484-18-298 800 0.616(0.033)(  82),
40b 3670万棋譜 800p 480-13-307 800 0.608(0.034)(  76),

こちらにも少し書いています。
https://github.com/kobanium/aobazero/issues/54 

(無題)  投稿者:48 投稿日:2021年 5月 4日(火)09時39分32秒
ありがとうございます。
これからレートが伸びていくのを期待しております。 

選手権の順位の推移  投稿者:山下 投稿日:2021年 5月 6日(木)06時38分49秒
2年ぶりに順位の推移表を更新しました。
http://www.yss-aya.com/csa_all.html

ずいぶん横長になって歴史を感じます。
こうして見ると上位は15位の習甦以外は若いプログラムばかりで
8位の大将軍さんで参加8回で一番古いです。
一番悔しそうなのは確実に強くなってるのに決勝に進めない
9位のsakura(旧nozomi)さんでしょうか。

表は清愼一さんに作成していただいきました。 

40bで一瞬つよくなる現象  投稿者:やねうらおメール 投稿日:2021年 5月11日(火)08時24分27秒
40bでの教師生成、ありがたいです。

ところで、40bに変更した瞬間だけ一時的にR40ほど上がっていますが、これは教師の性質が変わる節目で、(たぶんpolicyが)過渡状態になっていたため、強かったのではないかと思います。

// 私の手元の実験でもこの現象がよく見られます。

直近の100万棋譜だと、どうしても教師の性質が似ているので、よろしくないということです。
もっと古い教師からもサンプリングしたほうが良いです。

// 古い教師ほどサンプリングする割合を減らしながら。

AobaZeroプロジェクトではずっと学習を回しっぱなしなので、比較実験がなかなかしにくいように思いますが、この手の実験は比較しないと手法の優秀性が評価できないことが多いです。


Re: 40bで一瞬つよくなる現象  投稿者:山下 投稿日:2021年 5月12日(水)08時27分16秒
40blockに移行してから約90万棋譜を作りましたが
レートの上昇がみられないのは、やや意外ではあります。
現在は過去100万棋譜まで見ていますが、これが少ないのか、の判断は難しいです。
過去50万棋譜からサンプリングで作った1590万棋譜時点での40blockは
20ブロックの平均より+80強く、過去50万棋譜で十分なのかもしれません。

まだ20blockが作った棋譜も学習している段階なので
200万から300万棋譜作成した時点での変化を待ちたいです。

40block 800playout/手 の Kristallweizen 500k/手 への勝率

            勝 分  負     勝率          ELO
                          0.516       (  11) 直近の20 blockの平均。過去100万棋譜からサンプリング
1590万棋譜 494-18-288 800 0.629(0.033)(  91) 過去50万棋譜からサンプリング
2363万棋譜 437- 9-354 800 0.552(0.034)(  36) 過去50万棋譜からサンプリング

2490万棋譜 474-15-311 800 0.602(0.034)(  71) 過去50万棋譜からサンプリング1974万棋譜から8倍速で学習
2792万棋譜 484-15-301 800 0.614(0.033)(  80) 過去50万棋譜からサンプリング              8倍速で学習
3296万棋譜 484-18-298 800 0.616(0.033)(  82) 過去50万棋譜からサンプリング              8倍速で学習
3670万棋譜 480-13-307 800 0.608(0.034)(  76) 過去50万棋譜からサンプリング              8倍速で学習。最初の40blockはこれを34285棋譜学習したもの
w3460      495-17-288 800 0.629(0.033)(  91) ここから強化学習。過去100万棋譜からサンプリング
w3465      462-14-324 800 0.586(0.034)(  60)
w3470      457-22-321 800 0.585(0.034)(  59)
w3475      452-20-328 800 0.578(0.034)(  54)
w3480      442-16-342 800 0.562(0.034)(  43)
w3485      456-10-334 800 0.576(0.034)(  53)
w3490      437-15-348 800 0.556(0.034)(  38) 

AobaZeroに3手詰を組み込んでもほぼ効果なし  投稿者:山下 投稿日:2021年 5月13日(木)12時46分33秒
AobaZeroですべてのノードで3手詰を調べる、を試してみました。
結論から言うと効果はなかったです。

「3手詰あり」の「3手詰みなし」に対する勝率。自己対戦。互角局面利用。

               重み             勝  分   負 対局数   勝率   ELO
1手 10playout w3020           2275-556-2169   5000  0.511(   +7)
1手800playout w3020            371- 88- 341    800  0.519(  +13)
1手800playout  乱数            799-  0-   1    800  0.999(+1161)
1手 10playout w3020 AND/OR木  2332-577-2091   5000  0.524(  +16)
1手800playout w3020 AND/OR木   735 150- 714   1599  0.507(   +5)
1手800playout  w448 AND/OR木   500- 28- 272    800  0.643( +101) 64x15 block, floodgate 2250点
1手800playout  乱数 AND/OR木   800-  0-   0    800  1.000(     )

対Kristallweizen 500k/手
3手詰なし     w3020            405- 17- 378    800  0.517(  +11)
3手詰あり     w3020 AND/OR木   447-  9- 344    800  0.564(  +44) 対Kristだと +33 強い

重みが初期状態(乱数でvalue,policyを割り当て)だと「3手詰あり」が全勝するほど強いのですが
十分学習されてる重み(w3020, 20 block)だと+10 ELO強いかどうか、という程度です。
学習前半のw448(64x15block)だと、+101 Elo 強いです。

大きなネットワークだと3手詰の概念はほぼ取り込まれているのかもしれません。
ただ、こんな3手詰を見落として負けたりしてますが・・・。
(3手詰を入れると、44手目は△86角でなく△77飛を指します)
http://wdoor.c.u-tokyo.ac.jp/shogi/view/2021/05/10/wdoor+floodgate-300-10F+frenzy_human+AobaZero_w3483_n_p800+20210510130008.csa

対Kristallweizen だと+33、と自己対戦よりは効果があるかもしれません(差が小さいので誤差の可能性大)。

dlshogiで採用されている詰んだ場合はその手を選ばない(MCTSにAND/OR木)も
試してみたのですがほぼ効果ないです。
ちなみに、dlshogiが230ノードで負けを認識する局面は9248局面で認識でした(w3020で。w448だと2241局面)。

将棋AIの進捗 その32(MCTSの探索にAND/OR木を導入する)
https://tadaoyamaoka.hatenablog.com/entry/2019/08/10/212840

Bonanzaには3手詰を高速で調べるルーチンが入っていてそれを利用しました。
まれに1手詰があるのに3手詰を選んで連続王手の千日手で負けるので過去に同一局面がある局面では無視してます。

直接の効果はないですが、強化学習で使えばネットワークが3手詰の概念を理解するのに使う資源を
別の概念の学習に使えそうで、それなりの効果はあるかもしれません。 


(無題)  投稿者:tns 投稿日:2021年 5月14日(金)16時52分36秒
AND/OR木と詰み探索を組み合わせてもあまり強くなってないのは、直感的には違和感ありますね。
高ノードで初めて探索効率の向上効果が現れるのでしょうか。 


Re: AobaZeroに3手詰を組み込んでもほぼ効果なし  投稿者:山下 投稿日:2021年 5月16日(日)14時25分18秒
3手詰も並べ詰みや、下段に落として頭金、みたいなよく出てくる形はほぼ学習して
下で頓死したようなちょっと難しい3手詰だと読み抜ける気がします。
98%ぐらいで出現する3手詰は認識している?ようでノード数を増やしてもあまり効果はないかもしれません。 

選手権の順位順の星取表  投稿者:山下 投稿日:2021年 5月16日(日)14時27分59秒
遅ればせながら順位順の星取表を作ってみました。
今年も例によって大混戦で、3.5勝で3位、は選手権史上初な気がします。
4-3で2位、は以前ありましたけど。

            elmo PAL  Ryfa Qugi W@nd 白ビ Daig 大将   勝数  SB   MD  DB
elmo               ×   ○   =   ○   ○   ○   ○     5.5              優勝
PAL           ○        ×   ○   ○   ×   ○   ○     5                 2位
Ryfamate      ×   ○        ○   ×   =   ×   ○     3.5  10   3.5     3位
Qugiy         =   ×   ×        ○   ○   ○   ×     3.5   9   3.5  1  4位
W@nderER      ×   ×   ○   ×        ○   ○   =     3.5   9   3.5     5位
白ビール      ×   ○   =   ×   ×        ○   ○     3.5   8.5 2.0     6位
DaigorillaEX  ×   ×   ○   ×   ×   ×        ○     2                 7位
大将軍        ×   ×   ×   ○   =   ×   ×          1.5               8位


Re: AobaZeroに3手詰を組み込んでもほぼ効果なし  投稿者:zakki 投稿日:2021年 5月18日(火)23時05分19秒
Exact-Win Strategy for Overcoming AlphaZeroは囲碁だとLeelaZerベースの9路にナイーブにPASS-PASSで勝敗確定したときに探索木更新しても効果ありませんでした。
大渡さんとツイートしてたんですが、Leela Zeroのオリジナルに対して勝率61%の条件がよくわかりません…
https://twitter.com/k_matsuzaki/status/1264216598363037702 

Re: AobaZeroに3手詰を組み込んでもほぼ効果なし  投稿者:山下 投稿日:2021年 5月19日(水)13時48分39秒
そういえば1年前のzakkiさんのツイートはこれでしたか。
さくっとLZに実装されてたんですね。
やっぱり効果ないですよね・・・特に囲碁だと。

論文だとLZ_161, 20x256 で、それに近いLZ_166がp800で3333点(BayesElo)なので
それほど弱くもないですか。

LZ_166_9c56_p800   3333  (20x256)

将棋、チェスだと実装した方が少なくとも強くなると思うのですが
囲碁で61%も出るかはかなり疑問です。

100局のSGFも見てみましたが、そのうち45局ぐらいは中押しで終わっていて、PASSは関係なさそうです。
100局で勝率61%、は相当少なく、せめて400局か1000局はやって欲しかったですね。

https://github.com/leela-zero/leela-zero/issues/2276
https://github.com/zxkyjimmy/ewin-data/releases/tag/leelazero-games-go-19x19-2019-03-13


(無題)  投稿者:zakki 投稿日:2021年 5月19日(水)19時19分54秒
探索ログ見る限り囲碁だと自陣に手を入れる手を延々読み続けられるので私のやつのようなシンプルな実装だとそう言う手すら列挙し切れるくらい終盤にならないと全く動作しませんでした。
将棋だとポリシー低い詰みあれば効果出そうなのにそうじゃないのは、かなりNN賢いんですね。 

40blockに移行後の先手勝率と宣言勝ちの推移  投稿者:山下 投稿日:2021年 5月22日(土)15時25分47秒
40blockに移行前後での学習棋譜における
先手の勝率、千日手の数、宣言勝ちの局数
を調べてみました。

あまり面白い変化はありませんでした。
先手勝率が0.55から0.58ぐらいまで上がった、ことぐらいでしょうか。
先手での宣言勝ちは緩やかな減少傾向にあるようです。


PALの強化学習の詳細版が公開されています  投稿者:山下 投稿日:2021年 5月23日(日)01時01分53秒
PAL、強化学習していたのですね。
2万棋譜を1世代で220世代、440万棋譜を作ったそうです。
入力の特徴の種類から具体的な学習方法まで詳細に書かれていて
とても参考になりました。
学習初期局面が比較的強ければ400万棋譜程度で十分、というのが意外でした。
V100を平均35枚で20000GPU時間、なので571時間、23日間、3週間程度ですか。早い。

https://www.apply.computer-shogi.org/wcsc31/appeal/PAL/wcsc31_PAL_detail.pdf 


将棋の駒落ちを人間の知識なしで学習させる「Aoba駒落ち」  投稿者:山下 投稿日:2021年 6月 6日(日)18時16分25秒
将棋の駒落ちを人間の知識なしで学習させる「Aoba駒落ち」を始めました。
香落、角落、飛落、2枚落、4枚落、6枚落、平手の7種類を同時に学習します。
勝率が5割になるように下手の強さを自動調整します。
AIは駒落ちの新定跡を発見できるでしょうか?
または二歩突き切りや銀多伝を再発見できるでしょうか?
気長に楽しんでいただければ幸いです。

Aoba駒落ち
http://www.yss-aya.com/komaochi/

AobaZeroとの違いや、NNの入力、強さの調整などはこちらを。

AobaZeroとの違い
http://www.yss-aya.com/komaochi/diff.html

現在のノイズなしの棋譜サンプル。まだめちゃくちゃ弱いです・・・。
http://www.yss-aya.com/komaochi/no_noise/sample.html


Aoba駒落ちの引き分け率の変化  投稿者:tns 投稿日:2021年 6月10日(木)09時29分19秒
Aoba駒落ちの引き分け率の変化が面白いですね。
1手詰のバグ修正直後は引き分け率が0.3%程度だったのが、今は平手の引き分け率が約99%まで上がってます。 

Re: Aoba駒落ちの引き分け率の変化  投稿者:山下 投稿日:2021年 6月10日(木)16時15分38秒
さすがに引き分け(千日手)が多すぎると思ったので
学習で、最終結果と探索勝率の平均、を取るのをやめて最終結果のみに変更してみました。
また投了の自動調節もやめて、すべて詰み上がりまで指すようにしてみました。
学習がどういう方向に進むのか、まったく予想できません。
バグの可能性も高いので引き続き調べてみます・・・。 

gikou2_1c相手だと40blockは+100から+200ぐらい強くなっている?  投稿者:山下 投稿日:2021年 6月20日(日)17時41分18秒
floodgateのgikou2_1cのAobaZeroに対する勝率(レート差)を調べてみました。
グラフは低いほどAobaZeroが強い、を意味しています。

40blockに移行してから+200ぐら強くなっているようにも見えます。
20blockはw3283あたりまではレート差100、そこからw3453(最後の20blockでの計測)まではレート差200ぐらいと
なぜか弱くなっているようにも見えます。

Kristallweizen相手の800局の計測だと20blockが3120程度、40blockが3170程度で+50ぐらいしか強くなっていないように見えるのですが、
Kristallweizenの互角局面利用だと序盤の24手の強さは反映されないので40blockでは主に
序盤が強くなっている?のかもしれません。

20blockだと対局数が1局から20局程度、とかなり少なく、ブレが大きいです。
40blockだと20局から40局程度です。
勝率が1.00、もしくは0.00は除いています。


Aoba駒落ちのWindows版を公開しました  投稿者:山下 投稿日:2021年 6月23日(水)14時16分54秒
こちらで公開しています。
将棋所とShogiGUIでの動作は確認しています。
https://github.com/yssaya/komaochi/releases

最初に学習が失敗して正しくない重みで千日手が多い棋譜が生成された影響で
しばらく棋力が停滞していたのですが、
少し順調に強くなってきたようにも見えます。
http://www.yss-aya.com/komaochi/index.html

ただ、Policy(指し手選択)はある程度強くなると思うのですが
下手の棋力を調整して駒落ちの初期局面が勝率5割になる、学習は
上手くいくのか心配です。
KataGoでは強さが違う学習をPlayout Doubling Advantage(PDA)、として
NNの入力にすることで、強気、弱気な棋風を実現してるようで
Aoba駒落ちも似たような入力を与えるべきなのかもしれません。

KataGoの解説
https://github.com/lightvector/KataGo/releases/tag/v1.3
KataGoの*.cfg内での説明
https://github.com/lightvector/KataGo/blob/master/cpp/configs/gtp_example.cfg#L150
KataGoの実装
https://github.com/lightvector/KataGo/blob/master/cpp/neuralnet/nninputs.cpp#L2400 

Aoba駒落ちのWindows版を動かしてみました  投稿者:48 投稿日:2021年 6月24日(木)04時25分27秒
少し動かしてみましたがこれは上手も0からの強化学習でなければならないのでしょうか。
人間でも駒落ち戦はある程度強い上手に教わるものと認識しています。
また興味の中心である下手はハンデ付きなので強化学習を遅くする方向になると思います。
平手戦に比べても相当の負担なのではないでしょうか? 

Re: Aoba駒落ちのWindows版を動かしてみました  投稿者:山下 投稿日:2021年 6月24日(木)10時36分36秒
動かしてただいてありがとうございます。
上手の初期weightはAobaZeroを使う、というのはあったかもしれません。
ただ学習初期は上手が全勝しそうで、それはそれで難しそうな気もします。
まだ駒の損得や歩が成る、ことも覚えていない段階で、かなり学習の進み具合は遅いかもしれません。
学習率が0.01だと途中で失敗したのが痛かったです。
今にしても思えば最初はReplay Buffer 50万棋譜、でなく10万棋譜で
100万棋譜ぐらいまでは回した方がよかったのかもしれません。
ただ10万だと個々の2枚落ち、などは7分の1の1万4000程度とかなり少なくなってしまうのが心配ではありました。


Aoba駒落ちの学習中のサンプルも公開しました  投稿者:山下 投稿日:2021年 6月25日(金)21時42分0秒
学習用の棋譜のサンプル(下手の強さは勝率5割になるよう調整されています)
http://www.yss-aya.com/komaochi/train/sample.html
0手目のコメントが handicapR 0:5:43:72:161:210:275 で2枚落ちなら、下手は 161 ELO弱くされてます。
学習初期は100ELO差で勝率0.64でなく0.55など相対的な単位になります。

しかし何度見てもルールだけ教えて強くなっていく強化学習の過程は面白いですね。
AobaZeroで一度見てるのですが、こんなので強くなっていくのが不思議です。

最初に覚えるのは1手詰の形で、それで勝ちなのが分かると、徐々にその数手前の局面も勝ちやすい、と評価され
それが0手目まで伝播していく感じです。
大駒、特に飛車を使って詰ますのが一番簡単なようで、最初に飛車の使い方が一番上手くなっていくように見えます。

この辺りは人間にも似ているかも。
ただ人間(の初心者?)は駒得重視で、王から遠い駒(特に歩)でも取りたがる傾向が高い、と思うのですがAIは
いきなり寄せ重視で、敵玉の周囲しか相手にしない感じです。 

Colab Proを試してみました  投稿者:山下 投稿日:2021年 6月27日(日)21時08分45秒
最近、3.6時間程度で無料枠が終了するようになったので
1072円/月で24時間で終了するProに申し込んでみました。
きっかり24時間3分ぐらいでセッションが終了して、
2回試してP100がどちらも割り当てられました。

250WのGPU(P100)を一か月使うと、電気代が4800円ぐらいかかるのですが
電気代よりかなり安くてお得ですね。24時間ごとにクリックしなおすのがやや面倒ですが・・・。

追記:
3回目、4回目でV100を引きました。Aoba駒落ちの棋譜生成速度はだいたい下のような感じです。
V100,P100は設定を変えればもう少し速くなると思います。
(Colab Proで割り当てられたGPU:1回目から、
P100,P100,V100,V100,V100,P100,P100,P100,V100,P100,P100,P100,V100,P100,P100,V100,P100,P100,P100,P100,V100,V100,P100,P100,P100)

V100   287棋譜/時  Device O-1:28:65W   ... ミニバッチ28、65プロセス同時に起動
V100   323棋譜/時  Device O-1:28:85W
P100   198棋譜/持  Device O-1:28:65W
P100   213棋譜/持  Device O-1:28:85W
T4     140棋譜/持  Device O-1:28:65W
1050Ti  38棋譜/持  Device O-1:7:21W
1080   122棋譜/持  Device O-1:28:65W
3090   800棋譜/持  Device O-1:42:126W
2080Ti 400棋譜/持  Device O-1:28:85W


KataGoが1.9.0で+75Elo強く  投稿者:山下 投稿日:2021年 7月 3日(土)08時48分27秒
KataGoの最新版が公開されていて、探索部の改良で+75Elo強くなったそうです。
CGOSでやや古いですが40blockのs509で強さを調べてみました。
対局数が202局と少ないですが、1.4.5 と比べてBayesEloで +17 の向上、
LeelaZeroの#282、1手400playout相手だと、やや勝率が下がってます。

対局数が少ないのもありますが、1手 100visit、とかなり少ない数だと
そこまで強くなっていない感じです。

名前                BayesElo   対局数
kata190b40s509v100     3898       202
kata145b40s509v100     3881      1130
LZ_282_0410_p400       3838      8575

LZ_282_0410_p400 に対する勝率は下です。

                    勝ち 局数    勝率
kata190b40s509v100   17 / 33     51.5
kata145b40s509v100   39 / 68     57.3

http://www.yss-aya.com/cgos/19x19/cross/kata190b40s509v100.html
http://www.yss-aya.com/cgos/19x19/cross/kata145b40s509v100.html

KataGoの最新版 1.9.1(BugFixがすでに出ています)
https://github.com/lightvector/KataGo/releases

追加された2つの手法
Dynamic Variance-Scaled cPUCT
https://github.com/lightvector/KataGo/blob/master/docs/KataGoMethods.md#dynamic-variance-scaled-cpuct
Uncertainty-Weighted MCTS Playouts
https://github.com/lightvector/KataGo/blob/master/docs/KataGoMethods.md#uncertainty-weighted-mcts-playouts


コラッツ予想が解けたら1億2千万円  投稿者:山下 投稿日:2021年 7月12日(月)11時39分48秒
3x+1問題が解けたら1億2千万円の賞金がかけられています。

1997年ぐらいに小谷先生がホームページを作られて、どこまで解けたか、を募集していました。
ランキングには森田将棋の森田和郎さんや詰将棋を最良優先探索(探索木をすべて記憶、河野さんのは
動的評価で局面を選択)で解くプログラムを作られた河野泰人さん、などが名前を連ねています。
トップの藤波さんは「ハッカーの楽しみ」の翻訳をされた方です。

!!3X+1問題現在の記録!!
https://web.archive.org/web/19991114113824/http://www.tuat.ac.jp/~kotani/3xp1-rec.htm
3X+1の問題
https://web.archive.org/web/19990428131459/http://www.tuat.ac.jp/%7Ekotani/3xplus1.htm
藤波さんのアセンブラを駆使した高速化手法
https://web.archive.org/web/20001006212452/http://www.csl.sony.co.jp/person/fnami/asm.htm#example

「懸賞金1億2000万円」音楽系の企業が、数学の未解決問題に なぜ?
https://www.itmedia.co.jp/business/articles/2107/07/news136.html
コラッツ予想 懸賞金1億2000万円
https://mathprize.net/ja/posts/collatz-conjecture/ 


CGFオープンが10月9日(土)、10日(日)に開催  投稿者:山下 投稿日:2021年 7月21日(水)16時16分15秒
CGFオープンが10月9日(土)、10日(日)に開催されます。
今年も新型コロナウイルスの影響で、オンラインでの開催となります。
当日の対局の連絡などはSlack、Zoomで行います。
LeelaZeroやKataGoなどのオープンソースに独自の改良を加えたソフトでの参加も可能です。
皆様のご参加をお待ちしております。

参加申し込み締め切り 2021年 10月 4日(月)
大会                 2021年 10月 9日(土) 10:00-17:00  9路盤のみ
                     2021年 10月10日(日)  9:30-16:00 19路盤のみ
会場:               オンライン開催

CGFオープン2021、大会要綱
http://hp.vector.co.jp/authors/VA012620/cgf2021/cgf2021.html
現在の参加者予定リスト
http://hp.vector.co.jp/authors/VA012620/cgf2021/list2021.html
CGFオープン
http://hp.vector.co.jp/authors/VA012620/ 

StockfishがChessBaseを訴える  投稿者:山下 投稿日:2021年 7月25日(日)11時10分8秒
StockfishがGPL違反だとしてChessBaseを訴えたそうです。
しかしGIGAZINEの記事はNNUEなどの技術的な詳細まで細かく調べていますね。

オープンソースチェスエンジンの「Stockfish」がチェスソフトの販売企業を訴える
https://gigazine.net/news/20210721-stockfish-lawsuit-against-chessbase/ 

Policyのみの強さだと自己対戦の弊害は少ない?  投稿者:山下 投稿日:2021年 7月25日(日)12時49分28秒
Aoba駒落ちでは初期は1手1playoutの手抜きで棋力を計測していたのですが
最近の対Kristallweizenの1手10kとの推移の比較を見てると
w117からw225で自己対戦の伸びが+311、対Kristが+329とほぼ同じです。
探索させないPolicyだけの計測だと、自己対戦の弊害はほぼなさそうです。

これが正しいとすると、ほぼランダム(重み w1)のfloodgateでの強さは
1974 - 1060 = 914 ぐらいかもしれません。

重み  自己対戦レート  対Krist(1手100playout)
w117     1060          1974
w225     1371(+311)    2303(+329)

Aoba駒落ち、グラフなど
http://www.yss-aya.com/komaochi/ 

駒落ちでは手数が長いほど下手勝率が高くなる?  投稿者:山下 投稿日:2021年 7月28日(水)10時38分54秒
Aoba駒落ちで、手数の長さと下手の勝率を調べてみました。
予想では、下手は意図的に弱くしているので、手数が長くなるほど
下手の勝率は下がる、というものでした。
実際は、予想に反して手数が長いほど下手の勝率は上がってるように見えます。
200は200手以上、の合計で6枚落ちで下手勝率が低いのは入玉将棋だと
上手の方が宣言勝ちで勝ちやすいためです。

過去50万棋譜での宣言勝ちの局数

       下手  上手
平手   1001  1131
香落ち  719   746
角落ち  956  1468
飛落ち  715  1026
2枚落ち 676  2097
4枚落ち 455  2819
6枚落ち 220  4287

下は20手ごとの投了手数と下手の勝率です(40手以下、と200手以上は合計)。
平手だとfloodagteで2600点ぐらい(1手800プレイアウト)で
6枚落ちだと下手は720 Elo弱いです。


KataGoの7路盤研究  投稿者:山下 投稿日:2021年 8月 7日(土)11時56分22秒
囲碁は5路盤までしか完全解析はされていませんが
KataGoの自己対戦で7路盤の巨大な定石を作ったそうです。

日本ルールでの適切なコミは9目でなく、8目らしい、そうです。

下のサイトでは1手ごとに場所ごとの勝率が出て面白いです。
日本ルール、中国ルール、どちらでも初手の最善は天元になってます。

日本ルール、コミ8目での7路盤の結果
https://katagobooks.org/book7jp/root/root.html
中国ルール、コミ9目での7路盤の結果
https://katagobooks.org/book7tt/root/root.html
KataGo Opening Books
https://katagobooks.org/
5路盤の完全解析(2002年) 5x5 GO IS SOLVED
http://erikvanderwerf.tengen.nl/5x5/5x5solved.html 

6枚落ちの上手だと時間をかけても水匠U、elmoは強くならない  投稿者:山下 投稿日:2021年 8月 9日(月)15時30分18秒
Aoba駒落ちの1手1playoutを下手に固定して1手100k、1手1000kでの
水匠U、Kristallweizen、elmo(WCSC27)の強さを調べてみました。
手合いは2枚落ち、4枚落ち、6枚落ちの3種類です。

どの手合いでも思考時間10倍での棋力の伸びが+100程度、と小さいです。
特に6枚落ちでは水匠U、elmoは +12、+19、とほとんど強くなっていません。

最初の16手はAoba駒落ちの学習棋譜から作った定跡を使ってます。
Kristallwiezenの自己対戦から作った6枚落ちの定跡でも試したのですが
水匠Uだと、100kから1000kで+67、1000kから10000kで+30とほとんど伸びないです。

水匠Uは2枚落ちの上手を想定して作られているだけあって、2枚落ちでは一番強いです。
それでも10倍で+104と伸びは小さいです。

平手専用で作られている評価関数で駒落ちを対戦させること自体がかなり無茶なのですが。
NNUEはともかく3駒関係で個々の位置関係を足し合わせてるelmoなら6枚落ちでも
時間をかければ伸びると思ったのですが、そうでもないようです。
ただ、平手ではNNUEに2割程度しか勝てないelmoも駒落ちではほぼ互角の強さです。

Aoba駒落ち(w334)は800playoutでfloodgateで2750点ぐらい、なのでAobaZeroと同じ割合で下がるとすると
1playoutだと950点弱くなって1800点ぐらいでしょうか。
駒落ち下手での強さが平手と同じ、と仮定するとfloodgate1800点相手に6枚落ちだと
水匠U、Kristallweizen、elmoはほとんど勝てないかもしれません。

Aoba駒落ちは自己対戦になるので微妙ですが、6枚落ちだと100playoutで互角以上(50)になってます。
ただ、Aoba駒落ちもKristallweizenで作った定跡では 100p -> 1000p で+168しか伸びてないです。
10倍の探索時間でこの伸びはかなり小さいです。

ある程度形勢に差が付いた時に、今のAIはあっさり指して負けることが多いので改良の余地があるのかもしれません。
もっとも6枚落ち程度まで差がついた状況なら多少粘っても仕方がない気もしますが・・・。

Aoba駒落ちの1手1playout(下手)に対する上手のレート(ELO)

                    水匠U      Kristallweizen   elmo(WCSC27) Aoba駒落ち  dlshogi(dr2_ex)
6枚落ち(1手 100k)  -384        -428            -373          -372         -623
6枚落ち(1手1000k)  -372( +12)  -355( +73)      -354(+19)       50(+422)   -487(+136)

4枚落ち(1手 100k)  -161        -248            -220          -169
4枚落ち(1手1000k)   -74( +87)  -132(+116)      -153(+67)      350(+519)

2枚落ち(1手 100k)     5         -48             -64           -87         -304
2枚落ち(1手1000k)   109(+104)    48( +96)        35(+99)      280(+367)   -300(  +4)
2枚落ち(1手10000k)  131( +22)    30( -18)        57(+22)      545(+265)

* -384 は6枚落ちで水匠Uの1手100kはAoba駒落ちの1手1playout相手に勝率0.099 を意味します。
*(+12) は10倍の思考時間でのレートの伸びを示します。
*探索部はYanauraou 6.00 の NNUE(水匠U,Kristallweizen) と KPPT(elmo)
*Aoba駒落ちの上手は1手10pと1手100p、1手1000p。
*すべて400対局以上。最初の16手は定跡集から選択。
*Aoba駒落ちの学習棋譜で2回以上出現した16手目までの800棋譜を定跡集として利用。
*Aoba駒落ちの重みはw334。
*持将棋は27点法(上手は落とした駒も自分の点数)。
*dlshogiは1手800pと1手8000p

Aoba駒落ちの1手1playout(下手)に対する水匠U(上手)とAoba駒落ち(上手)のレート(ELO)

                    水匠U
6枚落ち(1手  100k)  -318
6枚落ち(1手 1000k)  -251( +67)
6枚落ち(1手10000k)  -221( +30)

                   Aoba駒落ち
6枚落ち(1手  10p)   -351
6枚落ち(1手 100p)     35(+386)
6枚落ち(1手1000p)    203(+168)

*Kristallweizenの1手40k(下手)対1手10000k(上手)の自己対戦で作った定跡(16手まで)を使った場合
*下手はすぐに攻めずに王を囲っている定跡が多いです。
*Aoba駒落ちの1手1000pでは勝ちの28%が宣言勝ち。

駒落ち定跡集、各800局、16手まで。Aoba駒落ちの学習棋譜から。およびKristallweizenの自己対戦から(6枚落ちのみ)
http://www.yss-aya.com/20210809_komaochi_book_800_16.zip

以下のような設定で2枚、4枚、6枚落ちを対戦させてます。
$ komaochi/bin/playshogi -frsm 800 -d 4 -o opening/20210805_2mai.sfen -c /bin/bash -0 "~/komaochi/bin/aobak -p 1 -h 1 -w ~/w000000000334.txt" -1 "cd ../elmo; ./yane600_kppt_zen2 usi , setoption Threads value 2 , setoption USI_Hash value 64 , setoption NodesLimit value 100000 , isready" >> 2mai_w334_1p_vs_elmo600_100k_t2_64MB.csa
$ komaochi/bin/playshogi -frsm 800 -d 5 -o opening/20210805_4mai.sfen -c /bin/bash -0 "~/komaochi/bin/aobak -p 1 -h 1 -w ~/w000000000334.txt" -1 "cd ../suisho_u/; ./yane600_zen2 usi , setoption Threads value 2 , setoption USI_Hash value 64 , setoption NodesLimit value 100000 , isready" >> 4mai_w334_1p_vs_suisho_u600_100k_t2_64MB.csa
$ komaochi/bin/playshogi -frsm 800 -d 6 -o opening/20210805_6mai.sfen -c /bin/bash -0 "~/komaochi/bin/aobak -p 1 -h 1 -w ~/w000000000334.txt" -1 "cd ../Kristallweizen; ./yane600_zen2 usi , setoption Threads value 4 , setoption USI_Hash value 64 , setoption NodesLimit value 1000000 , isready" >> 6mai_w334_1p_vs_Krist600_1000k_t4_64MB.csa 

KataGoが60bに移行  投稿者:山下 投稿日:2021年 8月10日(火)12時11分35秒
今まで40bが自動的にアップされてましたが今後は60bがアップされるそうです。
60bとは言っても、
40b が 40b x256、
60b が 60b x320
とフィルターの数も256から320に増えてるので実際の重みファイルのサイズは
圧縮状態で165MBから384MBと2.3倍近くなってます。

CGOSでの棋力はv100だとほぼ40bと同じ強さで同じ思考時間だとまだ40bよりは弱いようです。

追記:
新たに40bもアップされました。棋譜生成に使うのは40bで、まだ60bは使っていないそうなので
しばらく40bと60bが混合してアップされるのかもしれません。

                      BayesElo
kata1_b40s815v100     4136
kata1_b40s955v100     4093
kata1_b40s773v100     4078
kata1_b40s980v100     4063
kata1_b40s802v100     4063
kata1_b60s436v100     4061   60b
kata1_b40s901v100     4058
kata1_b40s864v100     4053
kata145b20s530v400    4051
kata1_b40s740v100     4050
kata1_b40s911v100     4046
kata1_b40s964v100     4041
kata1_b40s985v100     4037
kata1_b40s660v100     4031
kata1_b40s767v100     4029
kata1_b40s782v100     4028
kata1_b40s959v100     4025
kata1_b60s405v100     4017   60b

Networks for kata1
https://katagotraining.org/networks/


Colab Pro + が出来たようです  投稿者:山下 投稿日:2021年 8月27日(金)12時24分36秒
Colab Proは月1072円でしたが、上位の
Colab Proが月5243円で8月12日ぐらいから使えるようです。
ブラウザを閉じても実行が続くことや、より上位のGPUが安定して使えるそうです。

現在、Colab Proを10アカウント使っているのですが
今までV100かP100を使えていたのが
8月17日からT4が登場して、最近ではT4が半分を超えてきてます。
使いすぎかな、と思ってたのですがPro+が登場してリソースが制限されたせいっぽいですね。

2021/07/28 17:28 P100:7 V100:2
2021/07/29 16:54 P100:9 V100:1
2021/07/30 16:59 P100:8 V100:2
2021/07/31 17:02 P100:8 V100:2
2021/08/01 17:32 P100:8 V100:2
2021/08/02 17:29 P100:9 V100:1
2021/08/03 18:33 P100:10 V100:0
2021/08/04 22:44 P100:10 V100:0
2021/08/06 09:26 P100:8 V100:2
2021/08/07 18:20 P100:8 V100:2
2021/08/08 18:02 P100:9 V100:1
2021/08/10 22:43 P100:9 V100:1
2021/08/11 23:41 P100:8 V100:2
2021/08/13 21:06 P100:9 V100:1
2021/08/15 23:49 P100:7 V100:3
2021/08/16 23:55 P100:7 V100:3
2021/08/17 22:28 P100:7 V100:2 T4:1
2021/08/20 18:20 P100:7 V100:3
2021/08/22 04:43 P100:8 V100:2
2021/08/24 09:02 P100:8 V100:0 T4:2
2021/08/25 11:20 P100:7 V100:0 T4:3
2021/08/26 13:58 P100:4 V100:0 T4:6
2021/08/27 12:27 P100:6 V100:0 T4:4
2021/08/29 08:45 P100:5 V100:0 T4:5   P100:2 T4:3
2021/08/30 08:05 P100:4 V100:0 T4:6   P100:0 T4:5
2021/08/31 15:51 P100:2 V100:0 T4:8   P100:0 T4:5
2021/09/01 14:06 P100:3 V100:0 T4:7   P100:3 T4:2
2021/09/02 14:24 P100:2 V100:0 T4:8   P100:0 T4:5
2021/09/03 13:39 P100:2 V100:0 T4:8   P100:1 T4:4
2021/09/04 15:25 P100:2 V100:0 T4:8   P100:1 T4:4
2021/09/05 13:56 P100:1 V100:0 T4:9   P100:1 T4:5
2021/09/06 14:02 P100:0 V100:0 T4:10  P100:0 T4:6 (cancel K80 x2)
2021/09/07 14:06 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80 x2)
2021/09/08 14:24 P100:0 V100:0 T4:8   P100:2 T4:6  K80:1 P4:1 (cancel K80 14: 3,3(P4),1,8(K80),1,1,1(P100),5,3,5,3,1,1,5)
2021/09/09 14:32 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:6, P4:1)
2021/09/10 14:44 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:12)
2021/09/11 18:20 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel P4:1,K80:9) 11時間程で14停止
2021/09/12 18:59 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:11, P4:3) 10時間程で11個停止
2021/09/13 19:06 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:12, P4:1)
2021/09/14 19:31 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:16, P4:2) 9時間で7停止
2021/09/15 19:49 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:9, P4:0)
2021/09/16 20:07 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:0, P4:0) 7時間で2停止, 0.7時間で4停止
2021/09/17 21:03 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:0, P4:0)
2021/09/18 20:58 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:0, P4:0) 6分後にrobotでパネル探しx8
2021/09/19 21:31 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:0, P4:0)
2021/09/20 22:10 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:4, P4:2)
2021/09/21 22:37 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:6, P4:0)
2021/09/22 23:57 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:3, P4:1)
2021/09/23 22:06 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:0, P4:0)
2021/09/24 22:39 P100:0 V100:0 T4:10  P100:0 T4:8 (cancel K80:2, P4:3) 連続reset後、ほぼ確実にrobotか聞かれるように
2021/09/25 22:47 P100:1 V100:0 T4:9   P100:0 T4:8 (cancel K80:0, P4:1)
2021/09/26 22:28 P100:9 V100:0 T4:1   P100:7 T4:1 (cancel K80:0, P4:0)
2021/09/27 22:30 P100:10 V100:0 T4:0  P100:8 T4:0 (cancel K80:0, P4:0)
2021/09/29 00:28 P100:5  V100:0 T4:5   P100:1 T4:7 (cancel K80:0, P4:0)
2021/09/30 08:41 P100:9  V100:0 T4:1   P100:7 T4:1 (cancel K80:0, P4:0)
2021/10/01 09:22 P100:10 V100:0 T4:0   P100:7 T4:1 (cancel K80:0, P4:0)
2021/10/02 09:42 P100:10 V100:0 T4:0   P100:8 T4:0 (cancel K80:0, P4:0)
2021/10/04 09:55 P100:10 V100:0 T4:0   P100:6 T4:0 (cancel K80:0, P4:0) cannot connect GPU backend x2(17,18)
2021/10/05 09:55 P100:1  V100:0 T4:0   P100:0 T4:0 (cancel K80:0, P4:0) cannot connect GPU backend x17 10/3に17アカウント購入停止。
2021/10/06 07:45 P100:1  V100:0 T4:0   P100:0 T4:0 (cancel K80:0, P4:0) cannot connect GPU backend x16 購読停止の16アカウントはすべて6時間で切断。以降18時間待ち。購入を続けてる1アカウントは24時間で切断。最後の購入から1か月は使える、のcolabの説明は正しくない。
https://colab.research.google.com/signup


6枚落ちも平手とほぼ同じペースで強くなってるようです  投稿者:山下 投稿日:2021年 9月 7日(火)01時26分53秒
Aoba駒落ちで6枚落ちの上手がどのくらい強くなってるのか調べてみました。
大雑把ですが、平手が400点上昇した時、6枚落ちの上手は300点ほど上昇しています。

平手 : Aoba駒落ちの1手100playout vs Kristallweizenの1手20kノード
6枚落: Aoba駒落ちの1手 20playout vs 水匠4改の1手1000ノード(下手に固定)

平手は互角局面集、6枚落ちはAoba駒落ちの学習で出現した棋譜から抽出した定跡を使いました。

最新の重みw611では6枚落ちの上手の勝ちの6割(167/263=0.63)は入玉しての宣言勝ちです。
ここまで宣言が多いと、駒落ちで入玉宣言できて下手を持てるソフトは存在しないので
一方だけルールが分かってない状態で測定するのが、かなり不公平な感じはします。

重み  勝 分 敗 局数 (宣 千 宣)  上手勝率 95%   ELO
w611 263-28-109 400 (167-21-0)  0.693(0.043)( 141)
w511 202-54-144 400 (132-44-1)  0.573(0.045)(  50)
w411 198-57-145 400 (109-35-0)  0.566(0.045)(  46)
w334 130-66-204 400 ( 56-41-0)  0.407(0.044)( -65)
w215 134-58-208 400 ( 62-54-0)  0.407(0.044)( -65)
w170  95-53-252 400 ( 43-42-0)  0.304(0.041)(-144)


LCBはAoba駒落ちで+80から+160の効果  投稿者:山下 投稿日:2021年 9月 7日(火)20時28分33秒
MCTSでは通常Rootで最大選択回数の手を選ぶのですが、LeelaZeroでは LCB という
勝率ベースの値を元に選んでいます。

Aoba駒落ちの平手でこのLCBを試してみました。
自己対戦だと1手100playoutでは+157 Elo、1手800playoutでは+103 Elo、と
かなり強くなります。
ただplayoutが増えるほど効果は減るのかもしれません。
LCBはRootでのみ、適用しています。
1手100playoutの対Kristallweizenだと +79 Elo(126-47)でした。

自己対戦(1手100playoutと800playout)でのLCBありのLCBなしに対する勝率(w616)

            勝 分  敗 局数 (宣 千 宣)    先手勝率       勝率   95%   ELO
100playout 273-24-103 400 ( 9-24- 9)(s=182-194,0.484), 0.713(0.043)( 157)
800playout 249-18-133 400 ( 9-18-15)(s=200-182,0.524), 0.645(0.046)( 103)

Kristallweizen(6,00)1手20kに対するAoba駒落ち(1手100playout, w615)の勝率

LCBなし    226- 2-172 400 (19- 2- 0)(s=198-200,0.497), 0.568(0.048)(  47)
LCBあり    268- 4-128 400 (10- 4- 0)(s=196-200,0.495), 0.675(0.046)( 126)

ただKataGoの学習ではLCBは悪影響だそうで、学習では使えないのかもしれません。
LCBが1位の手の探索回数を通常の最大回数の手の値に、以下、2位を2番目の回数の値に、と書き換えてみようかと思ってます。

Is LCB actually a benefit in self-play?
https://github.com/leela-zero/leela-zero/issues/2411

最初、UCBのように簡単に計算できるのかと思ったのですが、実装を見るとplayoutごとに返されるNNの勝率の分散を計算していて意外と面倒でした。
Virtual Lossの補正も必要でした。

Aoba駒落ちでの実装
https://github.com/yssaya/komaochi/commit/73258b38a52da395456ed180ea07edea8c491225


6枚落ちで負けました  投稿者:山下 投稿日:2021年 9月 8日(水)08時30分57秒
Aoba駒落ちに6枚落ちの下手で対戦してみました。
さすがに余裕で勝つだろうと思ったら負けました・・・。
棋力はアマ4段、とか吹聴してたのですがこれは恥ずかしいかも。
6枚落ちの下手を指すのは40年ぶりくらいで、相手の桂、香が取れないので
簡単に角とか切って寄せに行こうとすると駒不足で攻めが切れます。

6枚落ちの上手は歩は何枚取らせてもいいから飛車は成らせない、金銀は取らせない、
下図のように空中要塞を築いて、とにかく寄せるまでに手数がかかるように、
みたいな大局観で指すのがいいようです。

改めて思ったのは6枚落ちだと大局観が平手と相当違うので、将棋の学習(人間)で
駒落ちから始めるのはイマイチな気もしました。

下は棋譜です。
重みはw593で1手800playoutです。ノートPCのオンボードGPU(X1 Carbon)で、1手10秒くらい考えます。

1局目 http://www.yss-aya.com/komaochi/csa/sample.html#21Sep07a_6mai_game1 (負け)
2局目 http://www.yss-aya.com/komaochi/csa/sample.html#21Sep07b_6mai_game2 (勝ち)
3局目 http://www.yss-aya.com/komaochi/csa/sample.html#21Sep07c_6mai_game3 (負け)

3局指して1勝2敗でした。勝った1局は224手もかかってます。
6枚落ちですら勝つのは神経使って大変で2枚落ちでは指す気(勝てる気)はしないです・・・。
Aoba駒落ちの評価値は、下手の実際の勝ちやすさを基準にいい感じで出ているような気がします。
納得できない勝率の時もありましたが。


RE:6枚落ちで負けました  投稿者:都万 投稿日:2021年 9月 9日(木)05時59分47秒
6枚落ちというのは、定跡があって、下手だけ書くと7六歩、6六角、7七桂から9筋の端を狙う指し方があって、それが間に合わない場合は5六歩から5七角と1筋を破りますよと脅して上手の駒を分散させれば簡単に勝てると思います。
この局面図を見ると桂馬がどちらも跳ねてないし、飛車は遊んでいるし、うーん、下手の方の棋力が低すぎるような気がします。
人間は6枚落ちなんて滅多に指さないから、人間の勉強不足のような気がします。 

Re: 6枚落ちで負けました  投稿者:山下 投稿日:2021年 9月 9日(木)11時34分58秒
9筋を破る指し方などは所司さんの「【決定版】駒落ち定跡」を読んでそれなりに勉強したのですが
△84歩をただで捨ててきたり簡単に飛車が成る変化に持ち込めなかったです。

今までの将棋ソフトとはかなり違った駒落ちを指してくるので
よかったら一度試してみていただければ、と思います。

実行ファイルはこちらから、
https://github.com/yssaya/komaochi/releases

さらに下の「将棋所で遊んでみたい」の手順で
aobak.batを編集した後、ShogiGUIで aobak.bat を登録します。
GUIとしては将棋所よりShogiGUIの方が画面が大きくて遊びやすいです。
https://github.com/yssaya/komaochi 

六枚落ち  投稿者:都万 投稿日:2021年 9月 9日(木)17時43分28秒
六枚落ちの場合は、7六歩、6六角と出て、9三の地点に駒のキキを集中すると、上手は苦しくなって△8四歩なんかを指してごまかしてきます。「大駒は近づいて受けよ」という受け方なんですが、これには▲同角と取って、次に▽8三金のような手で生角をいじめようとすると思うんです。これには早めに5六歩とついて、角を5七の地点に引くようにします。
すると、今度は1三の地点が狙えるようになって▲1六歩、▲1五歩とかやると今度は1三の地点が受けれなくなるので、あとは自然に下手がよくなります。

この5七の地点に角を引く指し方はNHK将棋講座で確か田中寅彦九段(?)がん十年前に講義した内容だったと思います。
だから、六枚落ちは上手が勝つのは難しいと思います。 

六枚落ち  投稿者:通りすがり 投稿日:2021年 9月 9日(木)22時04分13秒
5六歩とついて5七角と引くのはノイズを含まない棋譜でAobaZero下手もやってるので山下さんもご存知かと
それでその後2筋を突破されてもうまいこと空中戦に持ち込んでしまいます。まあ最後は無論上手が負けますが 

六枚落ち  投稿者:48 投稿日:2021年 9月11日(土)10時23分44秒
六枚落ちの上手は何点で宣言でしょうか?
27点法だと手番で変わると思いますが上手は先手でしょうか?

やねうら王にIssues上げて置きました。
https://github.com/yaneurao/YaneuraOu/issues/190 

Re: 六枚落ち  投稿者:山下 投稿日:2021年 9月11日(土)16時55分2秒
Aoba駒落ちでは同点(27点)なら上手の勝ち、としています。
平手で同点なら不利な後手勝ち、としてるので、不利な方に有利なように、しています。

奨励会の香落ちでどうなってるのかは不明です。24点法かとは思うのですが。

追記:CSA例会で勝又さんによると、奨励会では今でも香落ちが行われていて
上手は23点(落とした香を足すと24点)で引き分け、とのことです。
27点法だとすると、香落ちなら上手は26点(香を足して27点)で上手の勝ち、ではないか、
とのことでした。

駒落ちでは上手は落とした駒も自分の点数として計算(連盟ページより)
https://www.shogi.or.jp/faq/rules/ 

(無題)  投稿者:48 投稿日:2021年 9月11日(土)19時02分37秒
ありがとうございます。この話題が出るまで駒落ち戦の宣言は考えたことが無かったです。
まだまだ未知なものがあるものですね。
ちなみに,やねうら王はオプション対応頂けそうです。 

40bが強くならないのは学習させてる変化が狭いから?  投稿者:山下 投稿日:2021年 9月11日(土)20時24分13秒
AobaZeroの40bは+50程度しか強くなっていません。
学習率を10分の1にして試しても棋力は上がらず、
学習率を10倍にして1000万棋譜から8倍速で4000万棋譜まで学習させても20bと同程度の強さで
棋力を上げる学習方法が思いつかないです。

実装にバグがあるから、という可能性も高いのですが
20bでほぼ収束してる状態で40bに移行したため
学習させる変化が狭い、せいもある気がします。

下は100万棋譜ごとに16手目で同一局面になった回数です。
最大、2番目、3番目、1,2,3の合計、の4つ描画してます。

2300万棋譜以降はほぼ変化ないです(40bは4000万棋譜から)。
100万棋譜のうち、8万棋譜ぐらいはまったく同じ棋譜を作っています。
最近のノイズなしの棋譜も50手目近くまで、同一、といったのが増えてます。

初期局面にプロの棋譜やfloodgateを使っているdlshogiやPALがより強くなってるのは
学習させる局面により多様性があるからな気もします。

最近、KataGoが40bから倍の60b(40bx256 -> 60bx320)に以降したのですが
ほとんど強くなっておらず、今のAobaZeroの40bに似ています。

学習が収束してる状態でネットワークのサイズを増やしても効果は少なく、
もっと前の段階で40bに移行すべきだった、のかもしれません。


(無題)  投稿者:48 投稿日:2021年 9月11日(土)23時03分51秒
現在は教師データに勝率は入っているんでしょうか?
中終盤はValueが安定しないと探索で収束する方向が定まらないように感じます。
ざっくり言うと詰めるのか受けきるのか入玉するのかって方向性ですね。

AobaZero教師を流用した二番絞りも当初はそれほど強くなかったんですが
勝率項のクロスエントロピーを評価する強化学習をするようになってから中終盤が強化されました。 


Re: 40bが強くならないのは学習させてる変化が狭いから?  投稿者:山下 投稿日:2021年 9月12日(日)04時51分49秒
勝率は見ていないです。
一度試してみようと思います。
囲碁のように盤面を左右反転も効果がありそうな気がするのですが
初期乱数状態から少し学習させた実験だと強くはならなかったです。 


1手800playoutだとkldgainは効果ありですがLCBはなし  投稿者:山下 投稿日:2021年 9月12日(日)12時57分18秒
Aoba駒落ちの平手でkldgainとLCBの組み合わせを調べてみました。
1手800playoutで対Kristallweizenだと

kldgain      :  +71 Elo(47 -> 118)
kldgain + LCB:  +34 Elo(47 ->  81)
         LCB:   +0 Elo(47 ->  47)

kldgain単体は +71 と効果があるのですが、LCBも追加すると +34 で下がり、LCB単独だと +0 と効果なしでした。

1手100playoutでのLCBを再度調べると対Kristallweizenで

         LCB:  +79 Elo(47 -> 126)
         LCB:  +90 Elo(47 -> 137) 追試

+79、+90と、やはり効果はあるようです。
LCBは1手100playoutでは効果がありますが、1手800playoutだと自己対戦では効果ありですが
対Kristallweizenだとほぼ効果はなくなるようです。

Aoba駒落ち(1手800playout,w645,平手)の対Kristallwiezen(6.00,1手100k)の勝率
勝 分  敗 局数 (宣 千 宣)      先手勝率    勝率   95%   ELO
223- 8-169  400 (31-8-0)(s=197-195,0.503), 0.568(0.048)(  47)
263- 5-132  400 (45-5-0)(s=197-198,0.499), 0.664(0.046)( 118) kldgain
246- 0-154  400 (29-0-0)(s=198-202,0.495), 0.615(0.048)(  81) kldgain + LCB
225- 4-171  400 (21-4-0)(s=201-195,0.508), 0.568(0.048)(  47)           LCB

kldgainは下の設定にしています。
最大1手5000 playout、minimum-kldgain-per-node = 0.000002 (平均 789playout/手)

Aoba駒落ち(1手100playout)の対Kristallweizen(6,00)1手20kの勝率

LCBなし    226- 2-172 400 (19- 2- 0)(s=198-200,0.497), 0.568(0.048)(  47) w615
LCBあり    268- 4-128 400 (10- 4- 0)(s=196-200,0.495), 0.675(0.046)( 126) w615
LCBあり    274- 3-123 400 (11- 3- 0)(s=206-191,0.519), 0.689(0.045)( 137) w645

LCBはAoba駒落ちで+80から+160の効果
https://524.teacup.com/yss/bbs/3800
lc0のkldgainでplayout数を可変にすると学習棋譜が+100Eloほど上がるようです
http://www.yss-aya.com/bbs_log/bbs2021.html#bbs32 

相手が振飛車穴熊に組むだけで勝率95%  投稿者:山下 投稿日:2021年 9月16日(木)14時51分11秒
下の局面で、後手が振飛車穴熊に組むだけで21手目の先手のAobaZeroは +1744 で勝勢と思っています。
AobaZeroの最新の重み(w3682,256x40block)だと先手勝率が95%、Aoba駒落ち(w704,256x20block)でも勝率85%です。

これはさすがにおかしいです(実際本譜では負けてますが)。
学習局面に振飛車、穴熊がほぼ出てこないのが原因だと思います。

AlphaZeroでは30手目までは乱数性を持たせる仕組みがありますが
それでも勝率が悪い変化は選択されにくいので、ほとんど振飛車は試しません。
人間が実際に指す戦法に近いような分布になる方法はないものでしょうか・・・。

21手目でAobaZeroは +1744 で勝勢と評価
http://wdoor.c.u-tokyo.ac.jp/shogi/view/2021/03/27/wdoor+floodgate-300-10F+AobaZero_w3190_kld_ave_p704+Yss1000k+20210327200013.csa


重複なしの(ユニークな)局面が50%を割ると棋力は上がらない?  投稿者:山下 投稿日:2021年 9月16日(木)21時35分44秒
前回16手までで同一局面の数を調べましたが30手目も調べてみました。

下のグラフはAobaZeroの4600万棋譜から
「30手目での、100万棋譜ごとの重複なしの(ユニークな)局面の数(右軸)」です。

分かったのは
1. 16手目から30手目まで一本道が多い。
2. 重複なしの局面数が50%(50万)を切ったあたりの1700万棋譜で棋力の上昇も止まっている。
3. 学習率を下げると重複なしの局面もガクンと減る。

表を作って思ったのはAlphaZeroの30手、や温度のパラメータ、ディリクレノイズの係数などは
こういった性質になるように試行錯誤で決められた、感じがします。
温度を上げて、重複を減らしても、それはそれで棋力の最大値が下がるような気がします。


Aoba駒落ちでの重複なしの局面の割合  投稿者:山下 投稿日:2021年 9月19日(日)11時58分16秒
下は30手目でのAoba駒落ちでの重複なしの(ユニークな)局面の割合です(50万棋譜ごと)。

面白いことに手合いごとに傾向がはっきり違います。
2枚落ちはほぼ100%重複なし、つまりほぼ全部ばらばらの局面にばらけています。
平手は最新では60%程度で、AobaZeroと同じ傾向ならこれ以上の棋力の向上は小さいかもしれません。

手合いの順番になるか、と思ったのですが、そうでもなく角落ちは最新でも94%でかなりばらけています。
ハンデが大きいほど、30手目までの下手の温度は1より高くなるので2枚、4枚、6枚では
重複は少ないだろう、というのはやや予想通りです。
6枚落ちは隠れて分かりにくいですが角落ちとほぼ同じ推移です。

一番意外なのは角落ちがほとんど重複していない、ことでした。

かなり乱暴に推測すると、2枚落ち(角落ち)は変化が広く、上手、下手、ともに何をやっても大差なく?
香落ちは上手は振飛車(三間限定?)にするしか対策がなく
平手も相掛かりか角換わり系統しか互角に戦えない、と判断しているのかもしれません。


KataGoの過去の学習棋譜サイトが停止中  投稿者:山下 投稿日:2021年 9月19日(日)13時49分34秒
lightvectorさんによると誰かが全体のデータサイズを超える数TBものデータを落として
サーバ代が負担なので6月から停止してるそうで見えなくなってます。

https://discord.com/channels/417022162348802048/583775968804732928/852242023527481384
> I'm taking that site down for now, until I learn what's going on, since the bandwidth cost is not small.

KataGoの古い学習棋譜(9月現在見えません)
https://d3dndmfyhecmj0.cloudfront.net/ 

kldgainで学習するようにしてみました  投稿者:山下 投稿日:2021年 9月20日(月)15時45分7秒
Aoba駒落ちをkldgainを使って学習するようにしてみました。
1手800playout固定だったのが1手200〜3200playoutまで可変になります。
Kristallweizen相手だと1手平均790playoutで+80 Eloぐらい強くなります。
ただ、AlphaZero方式の学習では1手800playout以上であれば
着手の強さはあまり学習に影響を与えないようで
Rootでのノイズの分布で多くの変化に分岐するか、の方が大事?なのかもしれません。

100万棋譜ぐらい作成して様子を見てみたいです。

学習用には最新のreleaseが必要になります。
http://www.yss-aya.com/komaochi/index.html 

駒落ちの宣言勝ち対応エンジンは+35 Eloほど強い  投稿者:山下 投稿日:2021年 9月20日(月)16時16分58秒
以前6枚落ちで上手のAoba駒落ちの宣言勝ちが多い、と書きましたが
やねうらおさんにエンジンの駒落ち宣言勝ちに対応していただいたので
違いを調べてみました。

結果は+35 Eloほど、宣言勝ち対応版の方が強いようです。
評価関数で対応しないとほぼ変化はないだろう、と思っていたのですが。

Kristallweizenの1手2k(400局)と4k(800局)を試して
2kは 84-50 = +34, 4kは -51-(-86) = +35でした。

6枚落ち、上手はAoba駒落ち(w745)、1手20playout固定。下手はKristallweizen(6.05)、1手2kと4k

     勝 分 敗 局数 (宣 千 宣) 上手勝率 95%  ELO
1手2k 237-21-142 400 (149-6-0)  0.619(0.046)(  84)
1手2k 220-18-162 400 (141-3-0)  0.573(0.047)(  50) 宣言勝ちあり(CSARule27H)
1手4k 331-21-448 800 (242-4-0)  0.427(0.034)( -51)
1手4k 290-24-486 800 (199-9-1)  0.378(0.033)( -86) 宣言勝ちあり(CSARule27H)

16手目まではAoba駒落ちの学習で出現した棋譜から抽出した定跡集を利用。

最新の6.05で駒落ちの宣言勝ちに対応されており、
setoption EnteringKingRule value CSARule27H
で駒落ちの27点法(上手は27点、下手は28点で勝ち。上手は落とした駒は自分の点数)となります。

やねうら王がAobaZeroに駒落ちで負けまくっている件について
https://yaneuraou.yaneu.com/2021/09/14/yaneuraou-is-losing-too-much-to-aobazero/ 

10blockのAobaZeroは20blockより120Elo弱い  投稿者:山下 投稿日:2021年 9月21日(火)11時30分36秒
AobaZeroのResnetのサイズを通常の20blockの半分、10blockにして
学習させると120Elo弱いものが出来ました。

     ELO    training loss(policy+value)
40b  +50    1.684                         (公開学習中)
20b    0    1.799
10b -120    1.983

と微妙な結果です。それでも40bは弱すぎますが。
(追記:最後の300個ぐらいのlossの平均も追加しました。大きいモデル程小さくなってます)

予想は -150ぐらい弱い、と思ったのですが。
192x15b(同じようなサイズ)だともう少し強くなるかもしれません。
10bで棋譜を作れば-150か-200ほど弱いとは思います。
LeelaZeroだと256x40bと、40bで作った棋譜で学習させた192x15bが同じ思考時間で同じくらいの強さでした。

棋譜の最初から100万棋譜Windows、ミニバッチ256、で学習率0.01から開始して、
20万回学習(320万棋譜)ごとに学習率を2分の1にしました。

w3455(20b)に対するレート差。
Kristallweizen(6.00)の1手20kと水匠4改の1手30kの結果の平均。1手100playoutで400局

棋譜数     レート差  学習回数  学習率

1220万棋譜   -272     500000  lr = 0.00125
2020万棋譜   -199    1000000  lr = 0.0003125
2820万棋譜   -151    1500000  lr = 0.000039062
3620万棋譜   -138    2000000  lr = 0.000009765
4420万棋譜   -124    2500000  lr = 0.000001220
4661万棋譜   -120    2650625  lr = 0.000000610

10blockの重み
http://www.yss-aya.com/aobazero/20210904_234438_win1000k_lr0005_wd00002_10b_m256_wait_0ms_id0_from_20210902_122651_4200k_games_iter_2650625.txt.xz 

Re: 重複なしの(ユニークな)局面が50%を割ると棋力は上がらない?  投稿者:zakki 投稿日:2021年 9月21日(火)19時44分21秒
KataGoのForced Playouts and Target Pruningあたりは囲碁に限らず将棋でも良い感じに利くんじゃないでしょうか?
ランダムノイズ分を強制的に探索して駄目だったら捨てて学習には使わない感じです。 


Re: 重複なしの(ユニークな)局面が50%を割ると棋力は上がらない?  投稿者:山下 投稿日:2021年 9月22日(水)19時19分39秒
うろ覚えでしたので論文読み直してみました。
仮に100playoutして、Polciyが0.30(ノイズで大きな値に)という手の場合、

nForced(c) = sqrt( k*P(c)*Sum(All visits) )   , k=2

nForced(c) = sqrt( 2*0.30*100 ) = 7.7

なので8回は必ず探索する、という感じでしょうか。800playoutなら22回。
最後に、最大回数で選ばれなかったら、PUCT(best) の値を超えないようにノイズで探索したplayout数を引く。
1playout、の手は削除。

30手目以降もこの手法なら枝分かれがしやすい感じはします。

AlphaZeroの30手に相当する部分は下のようになってるようです。

19路だと 0.04 * 19^2 = 14手まではPolicyの分布で打つ(これはノイズを足した後の分布?)。
9路だと  0.04 *  9^2 =  3手まで。
19路だと15手目以降は温度が0.8から0.2まで下がる(19路なら平均手数220手の半分の110手ぐらいまで?)

他にも
・ 5%の棋譜で9手後付近で3手から10手のランダム候補の中から最善を1手打って開始。
・ 2.5%の局面で70%で温度1、25%で温度2、5%で温度無限大で選ぶ。

色々やってますね・・・。

今考えてるのは激指の確率探索のように、Policyの確率が高い手を選んだ場合は温度が上がりやすい、
つまり、実現確率が高い局面ほど、温度が高い、
みたいな感じで30手目まで分布させてはどうか、と思ってます。 


重複なしの局面の割合、と選択されたPolicyの確率の関係  投稿者:山下 投稿日:2021年 9月23日(木)21時23分6秒
下は学習用の自己対戦で、最初の30手で選択された手のPolicyの値を
30回掛けた値(100棋譜の平均)と、重複なしの局面の割合です。
ぼんやりと関係性があるように見えます。

例えば、飛車落ちだと重複なしの割合は72.33%、
この時、実際に選択された手のPolicyの確率の平均は
-45.59 / 30 = -1.368,  e^(-1.368) = 0.218

つまりAlphaZero方式で温度1で30手まで訪問数の分布で手を選んだ場合(Rootノイズあり)
1手の平均確率が0.218だとほぼ30手後は72.33%でばらばらになる、という感じです。
Policyの値はノイズを足す前です。

2枚落ちは0.129と確率が低く、各局面で盤上この1手、といった手が少なく
どれを選んでも1局、という感じなのかもしれません。

Aoba駒落ちの50万棋譜における重複なしの割合から(700万棋譜時点)
Policyの計算にはw754を使用。

    logの平均  Policyの平均確率  重複なしの割合(%)
平手     -37.89       0.282         59.35
香落ち   -38.04       0.281         66.39
角落ち   -51.74       0.178         93.81
飛落ち   -45.59       0.218         72.33
2枚落ち  -61.36       0.129         99.8
4枚落ち  -48.05       0.201         86.33
6枚落ち  -56.59       0.151         93.41


第35回身体知研究会で渡辺名人の対談  投稿者:山下 投稿日:2021年 9月24日(金)11時57分6秒
2021年10月23日(土)に下記の対談が行われるとのことです。
Zoomで行われ、聴講は無料で下のページから申し込み可能です。

【特別対談2】
「将棋と身体知」
招待話者:渡辺 明(わたなべ あきら)

渡辺名人は、押しも押されもせぬ当代トッププロ棋士です。高度な思考を要求される
将棋というゲームをどのように思考し、この地位を維持していらっしゃるのか、思考
法、学習法を伺うとともに、身体と思考の関係についてお話を伺っていきたいと考え
ています。特に近年現れた将棋AIと人間の思考との関係、それをどのように使える知
識に変えて対戦に活かしていくのかについても掘り下げてみたいと思います。カーリ
ングもお好きとのことなので、カーリングの戦略的思考と将棋との類似点などについ
ても、可能であれば小笠原さんも交えてお話を伺えればと考えています。
(聞き手:伊藤 毅志(いとう たけし)ゲームを題材とした認知科学研究者。)

第35回身体知研究会
http://www.sigskl.org/activity/pg143.html 

Re: 重複なしの局面の割合、と選択されたPolicyの確率の関係  投稿者:山下 投稿日:2021年 9月25日(土)11時28分55秒
AobaZeroでも調べてみました。
Policyの平均確率で比較してます。
同じ曲線上に載るか、と思ったのですがAobaZeroとAoba駒落ちでは傾向が違うようです。
重複が多いほど平均確率は高い、は一緒ですが。
(AobaZeroは100万棋譜での重複、Aoba駒落ちは50万棋譜での重複です)

Policyの平均確率  重複なしの割合(%) 学習棋譜数  weight
0.35709           34.6%             4000万棋譜   w3455
0.36059           47.9%             2000万棋譜   w2350
0.31504           66.2%             1500万棋譜   w1850
0.25701           79.2%             1000万棋譜   w1350
0.23470           90.1%              400万棋譜   w0750


AobaZeroで温度を変えた時のPolicyの平均と重複なしの局面割合(予想)  投稿者:山下 投稿日:2021年 9月26日(日)14時11分8秒
AobaZeroのw3455(20block)で温度を変えて、30手まで学習棋譜を100棋譜作ったときの
選択された手の平均Policyの確率を調べてみました。

平均確率と重複の割合が同じ、とすると
温度 1.2 ぐらいで重複なしの割合が、34%から80%ぐらいに上昇する?かもしれません。

温度   Policyの平均確率
1.0    0.357
1.1    0.291
1.2    0.253
1.25   0.211
1.3    0.179
1.5    0.148
2.0    0.080

AobaZeroの各重みによるPolicyの平均確率(30手まで)と重複なしの割合(100万棋譜)、温度1、(再掲)
  学習棋譜数  weight  Policyの平均確率  重複なしの割合(%)
  4000万棋譜   w3455  0.35709           34.6%
  2000万棋譜   w2350  0.36059           47.9%
  1500万棋譜   w1850  0.31504           66.2%
  1000万棋譜   w1350  0.25701           79.2%
   400万棋譜   w0750  0.23470           90.1%


kldgain適用後のハンデELOの推移  投稿者:山下 投稿日:2021年 9月28日(火)11時47分1秒
下はkldgain適用前後(794万棋譜)のハンデELOの推移です。
ほとんど変化がないですが、6枚落ちだけはわずかに上がっています(788 -> 803)。
逆に角落ちは下がってます(393 -> 385)。

棋力(平手)は+40ぐらい上がっているようにも見えますが変動が大きくてまだ何とも言えません。
http://www.yss-aya.com/komaochi/index.html

しかし、香落ちと角落ちのハンデの差が300点ぐらいあって大きいです。
この中間の手合い割(香車2枚落とし?)があってもいいのかもしれません。


Computer Olympiad 2021の結果  投稿者:山下 投稿日:2021年 9月28日(火)12時54分19秒
8月23日から30日にかけてComputer Olympiadが開かれていたそうです。

14競技が参加者が2チームだけでした。
参加者が多かったのは下です。

Chinese Dark Chess  6チーム
Outer Open Gomoku   5チーム
Connect6            4チーム
麻雀                4チーム
Go 9x9              3チーム

麻雀が開催されてたのが意外でした。
Outer Open Gomoku は15路盤を使った5目並べで
黒は最初の1手を1線か2線に打つ、以外は普通の5目並べのようです。
黒の33禁止の制限とかもない?みたいです。

結果
https://drive.google.com/file/d/1_1lQ8uE6VtbBvtB3JRh_qc51EB6w8a1N/view
Computer Olympiad 2021
https://www.tcga.tw/icga-computer-olympiad-2021/en/
ICGA
http://icga.org/ 

AobaZeroの40 blockの学習を終了し20 blockでの温度を上げた実験を始めました  投稿者:山下 投稿日:2021年10月 2日(土)10時17分53秒
AobaZeroの40 blockの実験を終了しました。
協力していただいた皆様、ありがとうございました。
725万棋譜を作成し、結果は+40 Elo程度の向上と、やや残念な結果ではありました。

引き続き、20 blcokで温度を1.0から1.3に上げた実験を行っています。
100万棋譜で30手目時点での重複なしの棋譜が30%程度だったのが90%以上になると思われます。
つまり似たような棋譜が多いのを減らし、なるべく違った局面を学習させよう、という試みです。

この変更で強くなるかは微妙です。30手目までの悪手を多く生成するので
弱くなる可能性もあります。
40blockで作った棋譜は使わず、現在のw3703はw3459(最後の20block)と同一のものです。
サーバも変更し、以前のv1.9はでは動作しませんので更新をお願いします。
開発側で棋譜生成に使っていたマシン群を縮小しました。
ペースは遅くなりますが気長に楽しんでいただければ、と思います。

http://www.yss-aya.com/aobazero/ 

CGFオープン、10月9日、10日開催の締め切りは10月4日(月)です  投稿者:山下 投稿日:2021年10月 2日(土)10時29分29秒
10月9,10日のCGFオープン(コンピュータ囲碁大会)の参加申し込み締め切りは10月4日(月)までです。
現在の参加予定者はゲストを含めて9,19路とも7チームです。
http://hp.vector.co.jp/authors/VA012620/cgf2021/list2021.html

今年もオンラインでの開催となります。
LeelaZeroやKataGoなどのオープンソースに独自の改良を加えたソフトでの参加も可能です。
CGFの会員でなくても、どなたでも参加可能です。
参加費は無料ですが賞品はでます。
皆様のご参加をお待ちしております。

CGFオープン
http://hp.vector.co.jp/authors/VA012620/ 

CGFオープンの結果  投稿者:山下 投稿日:2021年10月16日(土)15時03分9秒
9路は13勝1敗でRayが優勝、19路は7戦全勝でKohadaが優勝でした。
棋譜や詳細は下記をご覧ください。
http://hp.vector.co.jp/authors/VA012620/cgf2021/result2021.html 


知識ゼロからの強化学習では宣言勝ちの割合は高くなるようです  投稿者:山下 投稿日:2021年10月25日(月)12時10分39秒
Aoba駒落ちも勝数のうちの宣言勝ちの割合が8%から40%と高いです。
今のAobaZeroだと40%近くが宣言勝ち(対Kristallweizen 4.83、500k/move)でそれよりは低いですが。

またAoba駒落ちの1手100playoutだと12%ぐらいで(対Kristallweizen 6.00, 40k/move)
思考時間が長いほど宣言勝ちの割合が増えるようです。
AobaZero(w1650)の1手58万playoutでは対elmo(4.79, 251000k/move)で78%が宣言勝ちです。勝率は0.68。

対dlshogiだと明らかに宣言勝ちが減って、入玉将棋はdlshogiの方がelmoや水匠4改より強そうです。

Aoba駒落ちの宣言勝ちの割合(平手)。400局。Aoba駒落ちは1手800playout。w870

 1手ノード数   elmo(WCSC27) 水匠4改   水匠U  dlshogi(dr2e)
  100k            20%         33%       18%       8%
 1000k            32%         43%       27%       0%

* 探索部はすべて6.50
* Aoba駒落ちの学習棋譜から抽出した16手目までの初期局面集を利用
* dlshogiの100k,1000kは 1000playout,10000playout

   勝 分 敗 局数(宣 千 宣)    先手勝率      勝率   95%   ELO
 313- 3- 84 400 (63- 3-0)(s=205-192,0.516), 0.786(0.040)( 226)elmo650_100k_t1_64MB
 123- 5-272 400 (39- 5-0)(s=213-182,0.539), 0.314(0.045)(-135)elmo650_1000k_t1_64MB
 204- 6-190 400 (67- 6-0)(s=208-186,0.528), 0.517(0.049)(  12)suisho4kai_100k_t1_64MB
  40- 9-351 400 (17- 9-1)(s=204-187,0.522), 0.111(0.030)(-360)suisho4kai_1000k_t1_64MB
 295- 1-104 400 (53- 1-0)(s=213-186,0.534), 0.739(0.043)( 180)suisho_u650_100k_t1_64MB
  95- 8-297 400 (26- 6-0)(s=208-184,0.531), 0.247(0.042)(-193)suisho_u650_1000k_t1_64MB
 120-49-231 400 (10-49-0)(s=208-143,0.593), 0.361(0.044)( -99)dlshogi_dr2e_1000p_noresign
   5- 9-386 400 ( 0- 9-0)(s=201-190,0.514), 0.024(0.013)(-645)dlshogi_dr2e_10000p_noresign


宣言勝ち比率  投稿者:48 投稿日:2021年10月26日(火)11時37分54秒
深層学習モデルでは詰みを学習するのが難しいことが知られています。
同様に勝ち確定の局面は学習するのが難しいと思われますが,例外が宣言勝ち局面だろうと思います。

また,別件で二番絞りにAobaZero教師を学習させたところ宣言勝ち傾向が強いものになりましたが,
二回強化学習をさせると詰みを読むようになりました。
その際にValueを入れておいたのが有効だったと評価値グラフの成長過程から推測しています。
勝敗項のみだと概ね勝勢までは学習できてもそこからのValue精度がうまく出ないようでした。 

Re: 宣言勝ち比率  投稿者:山下 投稿日:2021年10月27日(水)13時23分32秒
詰将棋が苦手なのが最大の原因ぽい感じはします。
宣言勝ちは50万棋譜とかかなり早い段階で学習してしまうので、かなり簡単?なのかもしれません。
3手から11手程度の詰将棋を読むようにすると傾向はガラッと変わりそうです。

あと、探索時間が増えるほど宣言が増えるのもいまいち理由が分かりません。
(AlphaZeroがelmoに先手番で極端に強いのは、この傾向も理由の一つかと思ってます)

二番絞りはdlshogiベースなので5手詰は常にチェックしている?
ので、それで宣言勝ちが減ったとかもありそうでしょうか?


マルチスレッド  投稿者:都万 投稿日:2021年10月29日(金)16時18分7秒
最近、隠岐の思考ルーチンが暴走する変な現象があって、ここ数日悩まされました。
機械語を追いかけまわしてもどうしてもわからず、どっかでプログラムを壊して暴走してると思って、古いバージョンをVC2012でコンパイルしたりしてみたりしたんですが、古いバージョンでも起こる事に気付きました。
で、治す方法を模索したところ、マルチスレッドを外すと正常に動作する事に気づきました。

隠岐の思考はマルチスレッドを使っていてるんですが、こんな現象どなたか起こっていませんか?

VC2012で作ったソースをベースにして、VC2019でコンパイルしてるんですが、最近VC2019のバージョンを11.5の最新バージョンにしたのと、KB5006738のWindows Updateをかけました。
KB5006738は、外してみたのですが、どうも完全に外れず、少し残っている印象があります。
ただ、これはキーボード入力の変更らしいんで、違う印象があるのですが、それにしてはWindows updateが長いというか、大きい。うーん、よくわからん。

ただ、マルチスレッドを外して、シングルスレッドにすると暴走は止まる。
まっ、隠岐の思考部は1000万ステップと異常に大きいのが原因の可能性もある。
よー、わからん。 

Re:マルチスレッド  投稿者:都万 投稿日:2021年10月30日(土)15時43分34秒
自己レスでもうしわけありません。
この現象、ソース等を別マシンに移して、コンパイルリンクすると起きないことを確認しました。
従って、ソフト依存の障害じゃなくて、ハード依存の障害なので、Windowsの再インストールも含めて、再度検討することにしました。

可能性としては、マシンが古くて、SSD等が4年目で寿命に近いのと、隠岐が暴走すると、ハードのどっかにメモリディスクを含めて壊す可能性があるので、ちょっとこちらで調査します。
どうもお騒がせして申し訳ありません。 

UEC杯は2022年3月5日、6日に開催  投稿者:山下 投稿日:2021年10月31日(日)18時53分33秒
次回のUEC杯は2022年の3月5日(土)、6日(日)に開催される予定です。
http://entcog.c.ooco.jp/entcog/new_uec/
参加費は無料です。
KataGoやLeelaZeroのソースに独自の改良を加えてソフトの参加も可能です。
参加申し込みは12月1日の予定です。

前回のようにオンラインか、参加者が実際に集まる形式か、もしくはその両方のハイブリッドかは未定です。
おそらく海外からの参加はオンライン限定になると思います。

資金募集のためにクラウドファンディングも立ち上げられています。
https://academia.securite.jp/donation/detail?c_id=12
AI研究や大会の運営資金、講習会の費用などに使われる予定です。
ご興味がある方はぜひご協力をお願いします。 

コンピュータ囲碁MLが消失、その代替は?  投稿者:山下 投稿日:2021年10月31日(日)19時11分41秒
海外向けのコンピュータ囲碁メーリングリストのドメイン computer-go.org が更新忘れ?か
第三者に取られ、もうメール配信はされなくなりました。

管理者とも連絡が取れなくなりこのまま自然消滅すると思われます。
30年近く歴史のあるMLだっただけに途絶えてしまったのは残念です。
新たなメーリングリストを作る、などもありそうですが、とりあえずの代替先として
下の2つがありそうです。

Computer Go forum (Remi Coulumさんが運営)
https://www.game-ai-forum.org/viewforum.php?f=25
Leela Zeroのdiscord。現在はKataGoの話題が盛んです。
https://discord.com/channels/417022162348802048

以下はツイッターでの会話です。少しですが。
https://twitter.com/Remi_Coulom/status/1438520745366151180

最後の管理者の方は Michael Richard (aka. roveg) さんですが、去年の3月19日を最後に
ツイートも途絶え、連絡できませんでした。

theRobot Vegetable   (2021年9月現在、ドメインは別の人物で取得?)
https://twitter.com/roveg  (2020年3月19日からツイートなし)

簡単な歴史

1995年?        computer-go computer-go mailing list 発足(もっと古いかも)
2010年02月10日 computer-goxdvandva.org に移行
2010年03月02日 2つのドメインで動作。computer-goxcomputer-go.org avandva.org はそのうち終了。
2019年02月     一部のユーザにメールが届かない現象が多発。
2021年07月?   別サイトに飛ばされるように

https://computer-go.org/mailman/listinfo/computer-go (このページは見えます)
上のリンクの mailman/... 以下を削除したリンクは別のサイトに飛ばれます。 

Aoba駒落ちの温度を1.3に変更しました  投稿者:山下 投稿日:2021年11月 2日(火)19時25分15秒
Aoba駒落ちの30手までの温度を1.0から1.3に変更しました。
AobaZeroの現在の設定と同じです。

これは下図のように、飛落ち、香落ち、平手、で重複なしの局面の割合が60%近くまで下がっているので
30手までの変化を増やそう、という狙いです。
2枚、角落ち、6枚、などは現状でも90%以上でばらけているので
特に変える必要はないのですが、すべての手合いの温度を1.0から1.3に変更しています。
30手までに悪手を指す割合も増えるので強くなるかは不明です。

最終的な勝敗、でなく、最終的な勝敗と探索した勝率の平均、を学習するようにしたのは+20 ELO程度効果があったようにも見えます。


KataGoはCGOSだとs964ぐらいから+50 ELOほど強くなってるようです  投稿者:山下 投稿日:2021年11月10日(水)16時06分7秒
KataGo(kata1、40block)はほとんど強くなっていない印象だったのですが
CGOSの結果だとBayesELO、対LZ_282_0410_p400 だと
s964ぐらいから+50ほど急に強くなっているようです。

BayesELO、対LZの勝率、ともにs964付近から急に変化しています。

KataGo Distributed Training
https://katagotraining.org/
CGOS BayesELO
http://www.yss-aya.com/cgos/19x19/bayes.html


GPWでAoba駒落ちの発表をしました  投稿者:山下 投稿日:2021年11月14日(日)10時47分38秒
昨日のGPWでAoba駒落ちの発表をしました

論文「将棋の駒落ちの強化学習」
https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=213425&item_no=1&page_id=13&block_id=8
スライド資料
http://www.yss-aya.com/komaochi/20211113gpw_komaochi.pdf

大雑把な各手合いのまとめは下記になります。

・平手   ... 相掛かりや角換わり。AobaZeroより100点弱い
・香落ち ... 相振り。上手も下手も三間飛車
・角落ち ... 下手が陽動三間飛車
・飛落ち ... 下手は角交換を狙ってから右四間
・2枚落  ... 銀多伝(金多伝)に似た形に囲って攻める
・4枚落  ... 下手は囲わない。9筋を狙う
・6枚落  ... 下手は囲わない。1筋を棒銀

勝又さんによると、
飛落ちで早々に腰掛銀から角交換を狙うのは定跡どおり、とのことです。
また、6枚落ちで上手が早い段階で△24歩や△84歩と(ただで取られても)突くのは
裏定跡、で普通とのことです。単純に指すと端を突破されるので、ごまかしにかかる手順ですね。

結局、香落ち、飛落ち、4枚落ち、6枚落ち、ではほぼ定跡どおりの展開を再発見してることになります。

香車落ち、角落ちで三間飛車が出てきます。四間飛車はほぼ指しません。
三間だけなのは同一のネットワークで上手、下手を共に学習している影響もあるかもしれません。
芝さんにも指摘されましたが、特に学習初期では、その傾向が高いです。
下は75万棋譜時点で飛落ちの棋譜で、上手は△12香△14歩、下手は▲98香▲96歩、と同じ形を指します。
http://www.yss-aya.com/komaochi/no_noise/sample.html#25

それでも、平手ではまったく出てこない振飛車が駒落ちでは出てくる、のは面白いですが。
角落ちの下手三間飛車は1000万棋譜ぐらいから出てきたので、また変わってしまう可能性はあります。
これは他のすべてにも言えることですが。

スライドで紹介している棋譜
平手    http://www.yss-aya.com/komaochi/no_noise/sample9.html#1134
香落ち  http://www.yss-aya.com/komaochi/no_noise/sample9.html#1133
角落ち  http://www.yss-aya.com/komaochi/no_noise/sample9.html#1132
飛落ち  http://www.yss-aya.com/komaochi/no_noise/sample9.html#1131
2枚落ち http://www.yss-aya.com/komaochi/no_noise/sample9.html#1137
4枚落ち http://www.yss-aya.com/komaochi/no_noise/sample9.html#1136
6枚落ち http://www.yss-aya.com/komaochi/no_noise/sample9.html#1135

遊びやすいように最終の重み(w1250)を同封したリリースを作りました。
よろしければこちらからお試しください。
https://github.com/yssaya/komaochi/releases
ノートPCのCPU内臓GPUでもOpenCL版は動きますので(CPU版より速い)、こちらを
最初に試していただければ、と思います。
将棋所に登録した後、ShogiGUIにも登録すると時間切れで失敗しにくいです。
思考時間を変えるには aobak.bat をメモ帳(エディタ)などで開いて
-p 4000 の4000を変更してください。

Aoba駒落ち
http://www.yss-aya.com/komaochi/index.html
戦型、指し方の変化の細かい記録は「更新履歴」を
http://www.yss-aya.com/komaochi/news.html 


KataGoの自己対戦による8路盤定石  投稿者:山下 投稿日:2021年11月17日(水)13時31分23秒
KataGoの作者が7路盤に続いて8路盤でも自己対戦による定石を作っています(完全解析ではないです)。
8路盤では黒の初手の最善は中央の4か所で、白の2手目はその反対がに打つのが最善らしいです。
ただ、白の2手目は他の候補も有力らしいです。

  ABCDEFGH   ABCDEFGH
08┌┬┬┬┬┬┬┐ 08┌┬┬┬┬┬┬┐  黒の初手の最善は中央の4か所(左図)
07├┼┼┼┼┼┼┤ 07├┼┼┼┼┼┼┤
06├┼┼┼┼┼┼┤ 06├┼┼┼┼┼┼┤  それに対する白はの最善は反対側に。
05├┼┼┼★┼┼┤ 05├┼┼┼●┼┼┤
04├┼┼┼┼┼┼┤ 04├┼┼☆┼┼┼┤
03├┼┼┼┼┼┼┤ 03├┼┼┼┼┼┼┤
02├┼┼┼┼┼┼┤ 02├┼┼┼┼┼┼┤
01└┴┴┴┴┴┴┘ 01└┴┴┴┴┴┴┘

コミは8路だとTromp-Taylorルールで10目らしいです。
7路が9目、8路が10目、9路が7目?と法則性がよく分かりません。

7路 Tromp-Taylorルール、コミ 9目
7路 日本ルール、        コミ 8目
8路 Tromp-Taylorルール、コミ10目
8路 日本ルール、        コミ 9目
9路 中国ルール、        コミ 7目?

Tromp-Taylorは中国ルールとほぼ同じです。一番の違いは2子以上の自殺手がOKな点です。

KataGo Opening Books
https://katagobooks.org/
KataGo Opening Books - 8x8 Highlights and Discoveries
https://katagobooks.org/8x8highlights.html
discoard, LeelaZero and Friends
https://discord.com/channels/417022162348802048/583775968804732928 


SAIはELF v0に追いついたようです  投稿者:山下 投稿日:2021年11月19日(金)13時55分48秒
LeelaZeroでコミの調整を出来るようにして学習を続けていたSAIですが
ELFのv0(最初に公開されたもの)にほぼ追いついたようです。
ELFのv2(最強)には100 ELO負けてるぐらい、です。
40blockのLeelaZeroには300 ELOほど負けてます。

下はネットワークの大きさでplayout数を調整したものです。
12x256は1手1600playout、20x256は1手800playoutでCGOSで
計測しています。


電竜戦のA級の先手勝率は72%  投稿者:山下 投稿日:2021年11月22日(月)22時02分59秒
電竜戦のA級の90局の先手勝率は
先手の63勝23敗4千日手、
で72%、と7割超えてるんですね。

電竜戦は先手、後手2局で1セットなので公平ですが
先後が乱数で1局しかしない選手権だと、運不運の差が大きすぎるかも。

第2回電竜戦 A級
https://golan.sakura.ne.jp/denryusen/dr2_production/league_table_pa.html 

Re: 電竜戦のA級の先手勝率は72%  投稿者:山下 投稿日:2021年11月23日(火)13時40分57秒
ここまで差が出るのか、と少し疑問ではあります。
PUCTだと勝率が不利な方は多くの候補手を選ぶようになるので
そのせいで、最初から不利と思ってる後手がさらに負けやすくなってる気もします。
後手の勝率を初期局面では0.50になるように補正してやると
もう少し後手が勝つ気もします。 

MixNetとSwishで+104 ELO  投稿者:山下 投稿日:2021年11月23日(火)18時23分47秒
今夜から開催されるACGでコンピュータ囲碁に関する発表も
あって、下のMixNetとSwishを使ったら+104 ELO強くなった、
というTristanの論文が面白そうです。

T. Cazenave, J. Sentuc and M. Videau
Cosine Annealing, Mixnet and Swish Activation for Computer Go
https://icga.org/wp-content/uploads/2021/11/ACG_2021_paper_9.pdf

Advances in Computer Games 2021
https://icga.org/?page_id=3328 

Re: MixNetとSwishで+104 ELO  投稿者:zakki 投稿日:2021年11月24日(水)10時50分51秒
こういうケースだとCosine Annealing便利ですね。強化学習で連続的に学習する場合どうなんでしょうか。

それから参照されてるTristanの別の論文も面白そうですね。

Improving Model and Search for Computer Go
https://arxiv.org/abs/2102.03467

Batch Monte Carlo Tree Search
https://arxiv.org/abs/2104.04278


Re: MixNetとSwishで+104 ELO  投稿者:山下 投稿日:2021年11月24日(水)16時41分49秒
> 強化学習で連続的に学習する場合どうなんでしょうか。

調べるとCosine Annealingって2016年からある、学習率を変動させながら小さくする手法なんですね。
論文だと追い抜くのが学習の最後の方なので、だらだら強化学習する場合ちょっと心配ですね。
最小の学習率、を段階的に変えて行く感じ?なのでしょうか。

参照の上はMobileNetが効果的で、PUCTを少し変形させると成績いいよで
下は探索木を2つ持って、一つは通常探索、もう一つはミニバッチ作成専用、ですか。

KataGoが作った学習用棋譜の方がはっきりLZよりいい、というのが一番役に立つかも。
KataGoの棋譜ってPolicyの分布や地合いなどが別ファイルになっていて使いずらそうでしたけど
SGFだけでも十分ぽいですね。 

Leela Chess Zeroの現状  投稿者:山下 投稿日:2021年11月24日(水)18時14分53秒
ACGでEndgameデータベースと比較してLC0の性能を調べてる論文があるのですが、
それにLC0のまとめがあって分かりやすかったです。

・2020年にAlphaZeroの強さを超えた
・「残りの投了までの手数」(moves left)を予想
・「勝ち、負け、引き分け」(WDL)を個別に予想
・「T」ネットワークは自己対戦から学習され
・「J」ネットワークは「T」で作られた自己対戦の棋譜から学習
・「J」の方が強い

・・・。TもJも同じに思えますけど何が違うのでしょう?
下を見るとJは「jhorthos」さんが独自に作ってるようで
色々学習パラメータが違うようです。
40ブロックで作った棋譜を20ブロックで学習、みたいな感じなのでしょうか?
(その方が20ブロックは強くなるので)

What is Lc0? (for non programmers)
https://lczero.org/dev/wiki/what-is-lc0-for-non-programmers/

On the Road to Perfection? Evaluating LeelaChess Zero Against Endgame Tablebases
https://icga.org/wp-content/uploads/2021/11/ACG_2021_paper_13.pdf 

YSS 1.0の自己対戦の棋譜  投稿者:山下 投稿日:2021年11月25日(木)19時35分51秒
30年前に最初に作ったYSS1.0がエミュレータで動いたので自己対戦の棋譜を作ってみました。

YSS 1.0の自己対戦の棋譜
http://www.yss-aya.com/komaochi/csa/sampleyss100.html

弱いのですが、局面を全く動かさずに(1手も読まない)利きテーブルと
駒配置だけから優先順位で指し手を決めてる割には
結構まともな将棋になっています。
しかし、この頃の将棋はその手を指した理由、を作者が完璧に説明出来て
なんか妙な安心感はあります。

YSS 1.0 のソースコード(N88-BASIC)
http://www.yss-aya.com/yss100.html


Aoba駒落ちを終了しました。  投稿者:山下 投稿日:2021年12月 4日(土)17時15分0秒
6ヵ月で1300万棋譜を作成して駒落ちをルールだけから深層強化学習させるAoba駒落ちを終了しました。
香落ちは上手が三間に振れば下手も振る相振り、角落ちは下手の陽動三間飛車、二枚落ちは銀多伝に似た新型に、など
面白い発見があったと思います。
棋譜作成や遊んでいただいた皆様、ありがとうございました!
論文や資料などはこちらです。

GPWでAoba駒落ちの発表をしました
https://524.teacup.com/yss/bbs/3840 


Gumbel MuZero  投稿者:匿名ファン 投稿日:2021年12月 8日(水)12時35分21秒
また興味深いものが出てきましたね。
真偽不明ですが、PDF中で、
ポリシーネットワークにディリクレノイズを加えてアクションを選択し、摂動されたポリシーを用いて探索を行う。しかし、これではポリシーの改善を確実に行うことはできない。
と言っていますね。

https://openreview.net/forum?id=bERaNdoegnO


Aoba駒落ちのGUIへの登録に失敗します。  投稿者:masa 投稿日:2021年12月10日(金)19時20分9秒
Aoba駒落ちOpenCL版のGUIへの登録に失敗します。
CPUは2950x、GPUは GTX1080tiです。
dataディレクトリのtune-ocldev0-sgemmb-b25m256n63k256H.txt
の内容です。
# CPU AMD Ryzen Threadripper 2950X 16-Core Processor  1800.11 (sse2,avx) 32 3500
NLM:16
NLN:8
NPM:16
NPN:8
NPK:16
TUS:3163

登録に成功する場合のtune-ocldev0-sgemmb-b25m256n63k256H.txtです。
CPUはi9-10850K、GPUは RTX3090です。
# GPU NVIDIA GeForce RTX 3090 471.41 82 1695
NLM:8
NLN:8
NPM:4
NPN:4
NPK:8
TUS:38

GPUが認識されていないのでしょうか。 

Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:山下 投稿日:2021年12月10日(金)23時43分22秒
もしShogiGUIで登録に失敗する場合は
将棋所で先に登録できるかお試しいただけないでしょうか?
最初の登録時にOpenCLでベンチマークを取って最適な値を探すのですが
GPUによっては3分ほど時間がかかる場合があります。
ShogiGUIは30秒ほどで登録できないと失敗します。
将棋所は時間制限がないようです。

dataフォルダにファイルがない場合だけベンチマークを行います。
またノートPCでバッテリーで動かしてる場合だと時間切れになりやすいです。

それでも失敗する場合は "-h 2" を試すか、 "-h 1" を削除してみてください。
速度が低下する可能性が高いのですが。 

Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:masa 投稿日:2021年12月11日(土)09時36分33秒
ご回答有難うございます。

将棋所v4.9.2ですが、10分以上待ちましたが登録できませんでした。
"-h 2" および "-h 1 削除"でも登録できませんでした。
dtatディレクトリのファイルは毎回削除して試しました。

いずれの場合も data\ 以下に作成されるファイルは、CPU名で始まっていました。

ShogiGUI v7.2.6 の場合は、dataディレクトリに将棋所の場合と同様のファイルが作成された後、"エンジンの起動に失敗しました"というメッセージが表示されました。


Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:masa 投稿日:2021年12月11日(土)10時07分12秒
このPC、デバイスマネージャー=>ディスプレイアダプター の所に
Microsoft Remote Display Adapter と
NVIDIA GeForce GTX 1080 Ti
の二つが登録されています。 

Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:山下 投稿日:2021年12月11日(土)10時43分34秒
bin\ocldevs.bat を実行して 1080Ti が
- Device ID: 1
などと見えている場合は "-u 1" を追加してください。"Device ID: 2" の場合は "-u 2" です。

bin\aobak -q -i -p 800 -h 1 -u 1 -name AobaK_26_GPU_w1250 -w weight\w000000001250.txt

標準は"-u 0" ですが、この場合、CPUがOpenCLのデバイスとして認識されているように見えます。 

Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:masa 投稿日:2021年12月11日(土)12時01分58秒
実行してみました。

E:\将棋関連\aobakomaochi\aobakomaochi-26-w64-opencl\bin>ocldevs.exe
Platform ID: 0
Profile:    FULL_PROFILE
Version:    OpenCL 2.0 AMD-APP (1800.11)
Name:       AMD Accelerated Parallel Processing
Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
- Device ID: 0
  Type:                 CPU
  Name:                 AMD Ryzen Threadripper 2950X 16-Core Processor
  Driver Version:       1800.11 (sse2,avx)
  Compute Units:        32
  Max Work-Group Size:  1024
  Max Clock Freq (MHz): 3500
  Global Mem Size:      34247864320
  Max Mem Alloc Size:   8561966080
  Local Mem Type:       GLOBAL
  Local Mem Size:       32768
  Rough Evaluation:     5600

CPUしか見えていないという事でしょうか。。 

Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:山下 投稿日:2021年12月11日(土)13時01分57秒
OpenCLから認識していないですか。下を試されるか、

※ うまく動作しないときには、フォルダ OpenCL-ICD-Loader 以下にある OpenCL.DLL
   をフォルダ bin にコピーしてください。Intel ならば v2.2.1, AMD ならば
   v25.20.14012 にあるものが良いかもしれません。

GPUのドライバをアップデートしてみる、とかでしょうか。
https://www.nvidia.co.jp/Download/index.aspx?lang=jp
Geforce, Geforce 10 Series, 1080Ti, Game Ready ドライバ 

Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:masa 投稿日:2021年12月11日(土)13時16分7秒
山下さま

このPCではあきらめる事にします。
i9 + RTX3090 の環境では使えていますので、そちらで使わせていただきます。

いろいろお手数をかけすみませんでした。


Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:masa 投稿日:2021年12月11日(土)17時32分43秒
本件、解決しました。

1)passを比較すると、CUDA へのパスが通っていないか
インストールされていない様に思えたので、
cuda_11.5.1_496.13_windows.exe を入手してインストール。
2)opencl-icd-loader\.. からコピーした、OpenCL.dll を削除
3)-u 0 オプションは未使用

でインストールできました。

普段、Anaconda経由のPyTorchでGPUを使っているので、素のWindows
環境には CUDA がインストールされていなかったのかもしれません。

お騒がせしました。


Re: Aoba駒落ちのGUIへの登録に失敗します。  投稿者:masa 投稿日:2021年12月12日(日)22時31分1秒
CUDAの有無は直接は関係ないそうです。
最新のCUDAは以前の物にくらべ他のツールも(driverも?)同封されている様で、それが良かったのかもしれません。   


駒落ちの宣言勝ちで敵陣10枚以上が無理なケース  投稿者:山下 投稿日:2021年12月18日(土)20時49分19秒
27点法なら6枚落ちの上手は27点(13点+落とした駒(14点))で宣言勝ちできるのですが
上手の駒が「馬」(5点)+小駒8枚だと、王以外の駒が9枚しかないので

「宣言側の敵陣三段目以内の駒は、玉を除いて10枚以上存在する。」
https://www.shogi.or.jp/faq/rules/

という条件を満たせないのですね。
上手の駒が「竜」「馬」+小駒3枚だと5枚でもっと足りません。

この条件は
「宣言側の敵陣三段目以内の駒は、玉を除いて10点以上存在する。」
と点数に書き換えないとダメそうです。

ただ、
> 上手の駒が「竜」「馬」+小駒3枚
このケースだと上手玉が寄りそうな気もします。

下の将棋では上手が27点ですが、その後、駒を取られて負けてます。
https://lishogi.org/gD3K0OaQ#402

そもそも駒落ちで27点法、というのが無理なのかもしれません・・・。   

持将棋  投稿者:都万 投稿日:2021年12月19日(日)09時42分37秒
持将棋については、武者野先生から変なことを聞いたんです。
27点法とか、いろいろあるんですが、実は大駒の多い方が有利なんです。
大駒が多い方が、その駒を軸に小駒をバックしていきますと、エリアが少ない側が自殺しないといけなくなるんです。
将棋はパスできないんで、自害をはからないといけない。
すると、最後は大駒が多い方は勝つ。

駒落ちの場合は、落とした方がその駒も含めて、点数になるんですが、ちょっとねー、宣言ルールには疑問があります。   

SwishとMishではSwishが良さそうです  投稿者:山下 投稿日:2021年12月19日(日)19時14分46秒
活性化関数をReLUからSwish、Mishに変えて性能を試してみました。
比較対象は192x10blockのResNet(ReLU)、です。
それぞれ3回学習を繰り返して1手1playoutで強さを比較してみました。

SwishのReLUに対する勝率
勝  引  負 局数  ELO
477-34-289 800 (  83) 1回目
479-48-273 800 (  91) 2回目
468-30-302 800 (  73) 3回目

MishのReLUに対する勝率
413-49-338 800 (  32) 1回目
487-41-272 800 (  95) 2回目
431-71-298 800 (  58) 3回目

一番成績の良かったSwishの対Mish(一番成績のよい)の勝率
349-91-360 800 (  -4)

たまたまかもしれませんが、Swishの方が安定して +80 ELOぐらい強いです。
Swish対Mishはほぼ互角なので、どちらでもいい感じですが、計算はSwishの方が
若干速いと思うのでSwishが良さそうです。

1手1playoutでなくvalueが入る100playoutでも同じような強さでした。

1手100playoutでのSwishのReLUに対する勝率
238-16-146 400 (  81)

実験条件は
Aoba駒落ちの棋譜を1000万棋譜から1040万棋譜まで、学習率0.01、ミニバッチ128で10万回学習、での比較です。
局面数では1280万局面を学習、になります。PolicyとValueを学習しています。

将棋AIの実験ノート:活性化関数Swishを試す
https://tadaoyamaoka.hatenablog.com/entry/2020/08/14/144244   

Re: 駒落ちの宣言勝ちで敵陣10枚以上が無理なケース  投稿者:山下 投稿日:2021年12月20日(月)01時58分57秒
平手の24点法でも大駒4枚と小駒4枚で24点、の場合
駒の枚数が8枚なので、「敵陣に10枚」を満たせないですね。

プロの将棋で宣言による勝敗はまだないらしいですが、
このルールは破綻してる気がします。
27点法なら大駒4枚+小駒7枚で合計11枚、なので
「敵陣に10枚」ルールは問題ないのですが。   

プロの駒落ちの入玉ルール  投稿者:都万 投稿日:2021年12月20日(月)05時19分37秒
プロの駒落ちは奨励会で香落ちだけだと思う。
で、入玉が生じた場合は、24点法で計算して、24点に足りない方が負けになる。
ただし、上手は落とした香の1点を加算して計算する。
ただ、今はチェスクロックを使っているので、時間切れが発生するので、その辺はどうなったかは知らない。   

Re: SwishとMishではSwishが良さそうです  投稿者:kobanium 投稿日:2021年12月21日(火)01時04分21秒
囲碁クエスト9路の棋譜の教師あり学習でReLU, Swish, Tanhexpを同じ学習設定で比較した時は

ReLU : policy loss = 1.217563, value loss = 1.499925
Swish : policy loss = 1.212207, value loss = 1.492818
Tanhexp : policy loss = 1.207857, value loss = 1.488038

と言った感じで, LossはTanhexp, Swish, ReLUの順に小さく、
強さもTanhexpがSwishより僅かに強く(+20elo)、ReLUはSwishより劣っている(-50elo)感じでした。

ただ最初から強化学習したモデルだとSwishとTanhexpの差はあまり見られないので、
出力が0以下になった時にも誤差がちゃんと伝搬するか否かがキーになっているっぽいです。

前回のUEC杯で使ったFReLUはSwish, Mish, Tanhexpよりもいい性能が出ましたが、
Depthwise Convolutionを使っているので、計算時間はだいぶ遅いです。   

Re: SwishとMishではSwishが良さそうです  投稿者:山下 投稿日:2021年12月21日(火)17時37分52秒
TanhExp、試してみました。

TanhExpのReLUに対する勝率
勝  引  負 局数  ELO
420-55-325 800 (  41)

+41 ELOで、1回だけなので何ともですがSwishの +80 ELOよりはやや弱かったです。

FReLUの方がもっと性能いいのですか。
UEC杯のアピール文に書かれてますね。CUDA部分は自作なのですか・・・。
http://entcog.c.ooco.jp/entcog/new_uec/past_uec/2020uec/appeal/Ray.pdf   

MixNetを試してみました  投稿者:山下 投稿日:2021年12月21日(火)17時47分16秒
Tritanの論文で紹介されていたMixNetを試してみました。
比較対象のResNet(192x10block)とほぼ同じパラメータ数で
+114 ELO 、さらにSwishに変更で +134 ELOでした。

192x10block(3x3)のResNetに対する勝率。mb64 はミニバッチ64での比較。それ以外はミニバッチ128

勝   引  負 局数  ELO                           モデルのサイズ
358- 56-386 800 ( -12) mobile_20b                    10MB 半分で互角。強い。Tristanの論文から
385- 44-371 800 (   6) mobile_30b                    15MB 1.5倍でも棋力上昇なし
490- 75-235 800 ( 114) mobile_20b_1024         mb64  38MB 強いけどサイズが大きい
461- 90-249 800 (  94) mix 512-128 3x3,5x5     mb64  16MB
441- 74-285 800 (  68) mix 512-128 3x3,5x5,7x7 mb64  22MB
503- 85-212 800 ( 132) mix 768-196 3x3,5x5     mb64  33MB
500- 55-245 800 ( 114) mix 640-160 3x3,5x5     mb64  24MB
489-117-194 800 ( 134) mix 640-160 3x3,5x5     mb64  24MB, swish
492- 44-264 800 ( 101) mix 640-160 3x3,5x5           24MB
376- 72-352 800 (  10) 256x20b                       89MB サイズが4倍(192x10bは26MB)
299- 62-439 800 ( -61) 192x 5b                       13MB

ただ、ResNetのパラメータ数を4倍(256x20block)にしても +10 ELO とほとんど同じだったので、
もっと学習を収束するまでやらないと、最終的な差は何とも言えない気はします。

Caffeだと学習にResNetの4倍ぐらいのメモリを必要とし、また学習時間も4倍かかるので、
使い勝手としてはResNet+Swish、がいいのかもしれません。

MixNetの構造はTristanの下の論文で紹介されている bottleneck_block を
丸ごと構造 3x3 と 5x5 で並列にしています。
DepthWiseだけを並列、だとなぜかCaffeで動きませんでした。

filters = 512 -> 640
trunk   = 128 -> 160 (3x3が80、5x5が80)
にそれぞれ変更して、これが19ブロックです。
大雑把に書くと下のよう感じ。

conv        160 1x1, bn,relu  1層目のみ
------------------------------------------  bottleneck block, これを繰り返し
conv        640 1x1, bn,relu  <- input
dw_conv     640 3x3, bn,relu                dw...depthwise convolution
conv         80 1x1, bn       -> A
conv        640 1x1, bn,relu  <- input
dw_conv     640 5x5, bn,relu
conv         80 1x1, bn       -> B
concat                        <- A, <- B
eltwise <- input
------------------------------------------

CaffeのDepthwise layerは下を使ってます。
https://github.com/yonghenglh6/DepthwiseConvolution

MixNetとSwishで+104 ELO
https://524.teacup.com/yss/bbs/3845
Mobile Networks for Computer Go (Tristanの論文)
https://www.researchgate.net/publication/343848982_Mobile_Networks_for_Computer_Go
caffeでの実装(ミニバッチ128ではメモリ24GBでは動かず、64にしてます。それにしても長い・・・)
https://github.com/yssaya/komaochi/blob/master/learn/aoba_mix_640_swish.prototxt   

Re: SwishとMishではSwishが良さそうです  投稿者:kobanium 投稿日:2021年12月22日(水)02時24分39秒
こちらで試した時のネットワークはBatchNorm抜きとかいろいろ工夫を重ねたものなので、
一概に比較はできませんが、妥当な結果だと思います。

FReLUについては、下記ソースのConvForward関数を参考に作りました。
https://github.com/yonghenglh6/DepthwiseConvolution/blob/master/caffe/src/caffe/layers/depthwise_conv_layer.cu

Depthwise Convolutionは理論値に対して実測値の計算速度が遅すぎる問題もあり、
MobileNetを実装はしてみたものの、使ってはいない状態です。
学習もめちゃくちゃ遅いじゃないかっていうので、それを高速化した研究もありました。
https://arxiv.org/pdf/1803.09926.pdf

Pytorchはいろいろ便利で好きなのですが、Depthwise Convolutionの実行速度については
TensorFlowが圧勝というのは現在も変わっていないみたいです。   
 

Re: SwishとMishではSwishが良さそうです  投稿者:山下 投稿日:2021年12月22日(水)13時58分7秒
DepthwiseはTensorFlowの方が速いのですか。
最近PyTorchに移行しつつあるのですが、悩ましいですね・・・。   


KataGoのg170のデータが再公開  投稿者:山下 投稿日:2021年12月22日(水)23時01分25秒
6月ぐらいに閉鎖されていたKataGoのg170のデータが再公開されています。

https://katagoarchive.org/

kata1のsgfは個別には落とせますが、一括はないみたいですね。

SGFS url can't be opened
https://github.com/lightvector/KataGo/issues/562#issuecomment-985922410   

技巧2はgcc 8.4.0 では止まるがgcc5ならOK  投稿者:山下 投稿日:2021年12月24日(金)11時00分27秒
技巧2がubuntu 20, gcc 8.4.0 では Segmentation fault で止まります。
$ make release
$ cd bin
$ ./release
usi
isready
go infinite
Segmentation fault (core dumped)

make develop だと go infinite で下で止まります。
development: src/move.h:376: Move::Move(Piece, Square, Square, bool, Piece): Assertion `IsOk()' failed.

setoption name Threads value 1
でも同じでした。

gcc 5.4.0 では問題なく、下の情報でもg++-4.9 だと動くらしいので

$ sudo nano /etc/apt/sources.list
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
を追加して
$ sudo apt update
$ sudo apt install build-essential
$ sudo apt install gcc-5 g++-5

でMakefileを
CXX       = g++-5
とすれば動きました。

Linux 将棋ソフト「技巧」のビルド
https://reiwa-period.com/computer/gikou/
技巧
https://github.com/gikou-official/Gikou   

学習回数を4倍でもMixNetの性能は+130 ELOぐらい、と落ちない  投稿者:山下 投稿日:2021年12月24日(金)11時33分46秒
学習回数を10万回から40万回、20万回で学習率10分の1、で MixNetの性能を調べてみました。
MixNetは、+135 Elo、と学習回数を4倍に増やしても強さが同じで、ResNet+swish は+40 ELOとい
10万回の+83ELOから上昇がやや下がってます。
256x20bの4倍ResNetは10万回では+10だったのが+48とやや上昇。
MixNetをw1250(Aoba駒落ちの最終重み)と戦わせると-233 ELOでさすがに負けるのですが
それしか差がない、とも言えます。学習を続ければ4分の1のサイズで同じ性能になりそうです。

192x10block(3x3)のResNetに対する勝率。ミニバッチ64での比較。学習40万回。

勝   引  負 局数  ELO                           モデルのサイズ
484-130-186 800 ( 135) mix 640-160 3x3,5x5     mb64  24MB, swish
398-115-287 800 (  48) 256x20b                 mb64  89MB
401- 91-308 800 (  40) 192x10b                 mb64  26MB  swish
247- 95-458 800 ( -93) 192x 5b                 mb64  13MB

MixNet(40万回学習)の w1250(256x20b)、Aoba駒落ちの最終版に対するの勝率
117- 97-586 800 (-233) mix 640-160 3x3,5x5     mb64  24MB, swish

(再掲)学習10万回での比較
勝   引  負 局数  ELO                           モデルのサイズ
489-117-194 800 ( 134) mix 640-160 3x3,5x5     mb64  24MB, swish
376- 72-352 800 (  10) 256x20b                       89MB サイズが4倍(192x10bは26MB)
299- 62-439 800 ( -61) 192x 5b                       13MB
477- 34-289 800 (  83) 192x10b                       26MB  swish

実験条件は
Aoba駒落ちの棋譜を1000万棋譜から1050万棋譜まで、学習率0.01、ミニバッチ64で40万回学習。
20万回で学習率を0.001。ReplayBufferは30万棋譜。局面数では2560万局面を学習、になります。
PolicyとValueを学習しています。対戦は互角局面利用。   

AobaZeroで温度を1から1.3に変更で+33 ELO  投稿者:山下 投稿日:2021年12月24日(金)17時52分10秒
温度を1.3に上げてから195万棋譜作りました。
直近の85万棋譜での平均だと +33.2 ELO 強くなっています。

平均手数は88手から74手に下がり、千日手の割合は8.7%から3.2%に下がってます。

           以前   温度1.3   変化
レート     3130     3163    +33 ELO (5つの重みでの平均)
平均手数   88手     74手    -12 手
先手勝率   0.563    0.556   0.007
千日手率   8.7%     3.2%    5.5%

30手目での重複なしの棋譜の割合は30%から78%と、かなりバラバラになっています。
ただ予想で90%を超えると思っていたのですが。
30手目まで投了しないようにしています。31手目、32手目で投了する棋譜は多いです。

20blockでの比較です。40blockの棋譜は使っていません。
グラフだと40blockから続いているように見えますがたまたまです。
(重みは34285棋譜ごと、計測は5つの重みごと、なので34285 * 5 *5 = 857125 棋譜)

AobaZero(ELOのグラフなど)
http://www.yss-aya.com/aobazero/
重複なしの(ユニークな)局面が50%を割ると棋力は上がらない?
https://524.teacup.com/yss/bbs/3814
 

単に温度を上げると質の悪い棋譜が多くできる  投稿者:山下 投稿日:2021年12月25日(土)21時08分6秒
AobaZeroで温度1の時と、温度1.3での投了手数の分布を調べてみました。
温度1.3だと40%近くの棋譜が30手〜39手で投了しています。
30手までの投了を禁止してるので、31,32手目での投了が多いだろうな、と
思いましたが、予想以上でした。

温度を単に上げただけでは、質の悪い短手数の棋譜がたくさん出来てしまい、
強化学習の性能は落ちてる気がします。
つまり互角に近い変化にたくさん分岐するような手法が好ましい気がします。
(なおかつ、なるべくバラバラの局面になるように)
Policyの分布確率(+ノイズ)で30手まで進めて、30手での評価関数の勝率が
0.4〜0.6の間のものだけ採用する、とか。

強くなればなるほど、互角に近い局面を生成するのは難しそうです。
グラフの100、は100手以上の投了です。温度1.3でも30手以下があるのは
詰まされてるせいだと思います。
 

AobaZeroで学習される局面の手数の割合  投稿者:山下 投稿日:2021年12月26日(日)19時28分59秒
学習される局面の手数の割合を温度1.0と温度1.3で調べてみました。
どちらも序盤、50手目ぐらいまでを学習してる割合が高く
中盤以上の手数が長い局面は少ないです。

序盤の手数が短いところは10分の1くらいに減らした方がいい気がします。
なんとなく80手ぐらいを中心とした正規分布みたいな形の方が強くなりそうな気がします。
初期局面が一番多いですが、これは単に統計を取っても(着手の回数と勝率)だいたい同じでしょうし、
0手目でなく、10手目ぐらいまでは学習させなくても統計取るだけで十分な気がしてきました。

温度1.3は30手前投了しない、という制約でガクンと下がっています。
200手以上、は200手に含めています。
 

Re: AobaZeroで学習される局面の手数の割合  投稿者:zakki 投稿日:2021年12月27日(月)15時04分28秒
egの自己対局(この部分に関してはKataGoと同一)での手数とPolicy Surprise Weightingの平均値のグラフです。
19路の囲碁だと50〜150手目ぐらいがネットワークの生出力値と探索結果の差が大きくてそれ以降はどんどんPNやVNとの差が減っていて、囲碁の難しさは中盤>序盤>終盤のようです。
400手目以降はサンプル数10とかでぶれてます。

将棋と囲碁でゲーム性は違いますが似たような統計値使って調整できるんじゃないかと思います。

https://github.com/lightvector/KataGo/blob/master/docs/KataGoMethods.md#policy-surprise-weighting
 

Re: AobaZeroで学習される局面の手数の割合  投稿者:山下 投稿日:2021年12月27日(月)20時34分17秒
これ面白いですね!
eg的には一番難しいのは130手前後、ということですか。
逆に序盤は200手ぐらいの大ヨセ?ぐらいの難しさ、ですか。

なんとなく囲碁だと序盤が一番難しい気もするのですが。
もっと強くなるとピークがだんだん短手数になるのかも。

AobaZeroだと1局面を1回学習する割合(平均手数128の場合、今は80ぐらいなので1.5回ぐらい)なのですが
egだと400手の局面は少なくとも1回は学習する、130手では3回、みたいな感じなのでしょうか?

いまいちPolicy Surprise Weightingの計算式が分かっていませんが
AobaZeroでもKL情報量で同じようなグラフを作ってみます。

そういえば、1年前のzakkiさんのツイートで既に指摘されてましたね。
https://twitter.com/k_matsuzaki/status/1327926016279523330
> katago方式で棋譜生成する時にランダムな局面じゃなくて最小限探索したあとに
> PNやVNと探索結果の相互情報量の大きい局面でフルの探索数まで進めて教師データに
> するみたいなので効率上がんないかな?

KataGoがやってないことを探すのが難しい・・・。   

Re: AobaZeroで学習される局面の手数の割合  投稿者:zakki 投稿日:2021年12月27日(月)22時02分19秒
75%の確率で少ないプレイアウト数で探索するので教師局面に使わない
25%の確率でフルの探索をして教師局面として使う
その25%の手うち、このウェイトが200だと2局面として使う、50だと50%の確率で教師局面として使う感じだったと思います。

KataGoの最新のネットワークの自己対局棋譜を100くらい持ってきてプロットすると似たような傾向のようです。
何となく下にあるように見えるのはネットワークが大きく賢くなってて探索せずに分かるようになってきてるんでしょうか。
 
 

Re: AobaZeroで学習される局面の手数の割合  投稿者:山下 投稿日:2021年12月30日(木)12時30分5秒
自己対戦の途中で、教師局面にするか、の判定にも使っているのですか。複雑ですね・・・。
KataGoの棋譜コメントの「weight」はこれの意味だったのですか。少し謎が解けました。
下にあるように見えますね。左右に揺れるのでなく、強くなると
下に下がっていく感じなのかも。

AobaZeroでも調べてみました。32万局面ぐらいの集計です。
200手以上の長手数ではほぼ0で、難しいのは56手目前後、のようです。
31手目付近でグラフが変なのは30手目まで投了禁止、のせいだと思います。


Re: AobaZeroで学習される局面の手数の割合  投稿者:zakki 投稿日:2021年12月30日(木)15時42分27秒
将棋は終盤も詰みあってPNが外すこと結構あるのかと思ってましたがそうでも無さそうですね