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


『宮本定跡2020』の公開 宮本憲一メール 2020年 1月 1日(水)08時29分55秒
一二三羽生善治の大逆転将棋2020 羽生ひふ... おせら 2020年 1月 4日(土)12時58分42秒
山下様へのお願い 宮本憲一メール 2020年 1月11日(土)15時21分45秒
Self attention zakki 2020年 1月14日(火)21時57分27秒
Re: Self Attention ohto 2020年 1月15日(水)20時30分14秒
Re: Self Attention zakki 2020年 1月16日(木)12時28分31秒
(無題) 最新weightファイル 2020年 1月26日(日)19時58分13秒
Re: 最新weightファイル 山下 2020年 1月27日(月)19時33分51秒
コンピュータ将棋選手権の締め切りは1月3... 山下 2020年 1月30日(木)23時22分21秒
LZのデータセットを50万棋譜毎にスライド... oubeika 2020年 2月 1日(土)08時28分55秒
最新weightファイル 匿名 2020年 2月 1日(土)17時40分18秒
Re: LZのデータセットを50万棋譜毎にスラ... 山下 2020年 2月 1日(土)20時56分14秒
Re: 最新weightファイル 山下 2020年 2月 1日(土)20時58分32秒
Re: LZのデータセットを50万棋譜毎にスラ... oubeika 2020年 2月 3日(月)21時01分34秒
Re: LZのデータセットを50万棋譜毎にスラ... zakki 2020年 2月 3日(月)22時37分0秒
Re: LZのデータセットを50万棋譜毎にスラ... 山下 2020年 2月 3日(月)23時37分2秒
Re: LZのデータセットを50万棋譜毎にスラ... zakki 2020年 2月 4日(火)00時48分48秒
Re: LZのデータセットを50万棋譜毎にスラ... 山下 2020年 2月 4日(火)01時39分37秒
(無題) zakki 2020年 2月 4日(火)08時36分15秒
LZの学習率 山下 2020年 2月 4日(火)11時11分29秒
Re: LZの学習率 zakki 2020年 2月 4日(火)13時32分52秒
Re: LZの学習率 oubeika 2020年 2月 4日(火)17時49分54秒
Re: LZの学習率 山下 2020年 2月 5日(水)00時23分41秒
Re: LZの学習率 山下 2020年 2月 5日(水)22時18分3秒
(無題) 48 2020年 2月10日(月)15時56分45秒
LZのLCB 山下 2020年 2月11日(火)04時05分47秒
Re: LZの学習率 山下 2020年 2月11日(火)05時08分28秒
(無題) 48 2020年 2月11日(火)06時53分51秒
Stochastic Weight Averaging(SWA) 山下 2020年 2月11日(火)07時59分15秒
囲碁でのplayoutとValueの精度 山下 2020年 2月11日(火)08時27分58秒
囲碁の将棋のPolicy,Valueのloss 山下 2020年 2月11日(火)08時28分45秒
valueのターゲット ohto 2020年 2月13日(木)08時31分39秒
Re: valueのターゲット 山下 2020年 2月13日(木)20時50分0秒
Re: Re: valueのターゲット ohto 2020年 2月14日(金)14時28分18秒
KataGo 1.3.2 対 Leela Zero 263 山下 2020年 2月25日(火)22時19分56秒
floodgateの256手引き分け 山下 2020年 3月 6日(金)03時09分0秒
(無題) 48 2020年 3月 6日(金)15時28分46秒
宣言勝ちが上手くなってる? 山下 2020年 3月 6日(金)20時54分41秒
yss-aya.comが見えない場合 山下 2020年 3月 8日(日)08時22分47秒
Re: Stochastic Weight Averaging(SWA) 山下 2020年 3月16日(月)09時01分29秒
次期ver tns 2020年 3月18日(水)10時09分32秒
Re: 次期ver 山下 2020年 3月19日(木)05時37分51秒
ネットワークの有効数字は2桁でも十分? 山下 2020年 3月20日(金)18時15分24秒
絶芸がシチョウを逃げて勝った碁 山下 2020年 3月20日(金)20時08分36秒
Re: ネットワークの有効数字は2桁でも十分? 48 2020年 3月25日(水)13時05分35秒
Re: ネットワークの有効数字は2桁でも十分? 山下 2020年 3月25日(水)16時14分21秒
fp16 zakki 2020年 4月10日(金)18時57分29秒
Re: fp16 山下 2020年 4月11日(土)02時12分58秒
Re: fp16 zakki 2020年 4月11日(土)09時06分52秒
Re: fp16 山下 2020年 4月11日(土)13時51分1秒
CGOSの9路でGnugo-3.7.10-a1だけCross-Ta... 山下 2020年 4月23日(木)22時16分43秒
コンピュータ将棋のオンライン大会 山下 2020年 5月 2日(土)21時41分0秒
1日目の結果 山下 2020年 5月 4日(月)04時43分21秒
2日目の結果 山下 2020年 5月 5日(火)05時59分39秒
AobaZeroは去年より+955ほど強く 山下 2020年 5月 5日(火)06時33分44秒
GLOBIS-AQZが公開 山下 2020年 5月11日(月)22時44分43秒
AobaZeroは将棋は点数で勝つゲームと思っ... 山下 2020年 5月14日(木)10時33分36秒
宣言勝ち 伊和 2020年 5月15日(金)20時16分14秒
Re: 宣言勝ち 山下 2020年 5月16日(土)02時29分45秒
Re: AobaZeroは将棋は点数で勝つゲームと... 山下 2020年 5月16日(土)05時13分58秒
(無題) 48 2020年 5月18日(月)13時29分51秒
Re: AobaZeroは将棋は点数で勝つゲームと... 山下 2020年 5月19日(火)23時27分36秒
(無題) 48 2020年 5月21日(木)11時18分51秒
ポーカーAIが人間のプロと対戦したログ 山下 2020年 6月11日(木)08時16分31秒
CGOSのELFv2を二人目のアンカーに 山下 2020年 6月12日(金)14時10分55秒
スターティングハンドによるレイズの割合 山下 2020年 6月24日(水)10時38分57秒
AobaZeroのColabが5倍ほど速く 山下 2020年 6月29日(月)17時47分39秒
Re: AobaZeroのColabが5倍ほど速く 48 2020年 6月30日(火)13時13分47秒
Re: AobaZeroのColabが5倍ほど速く 山下 2020年 6月30日(火)14時38分26秒
宣言勝ち 48 2020年 7月 1日(水)13時03分57秒
Re: 宣言勝ち 山下 2020年 7月 1日(水)15時06分35秒
Lcbとは何ですか? 灰色猫メール 2020年 7月 3日(金)12時31分16秒
(無題) 48 2020年 7月 3日(金)12時46分36秒
Re: Lcbとは何ですか? 山下 2020年 7月 3日(金)16時59分58秒
CGOSの最高レーティングの推移 山下 2020年 7月 3日(金)17時18分32秒
有難うございます 灰色猫メール 2020年 7月 3日(金)20時29分41秒
CGOS9路 zakki 2020年 7月 3日(金)23時28分11秒
Re: CGOS9路 山下 2020年 7月 4日(土)03時12分43秒
Re: CGOS9路 zakki 2020年 7月 4日(土)08時06分23秒
CGOS 9路の互角相手の黒の勝率と持碁の割合 山下 2020年 7月 4日(土)11時44分38秒
AobaZeroの学習率を0.00002に下げました 山下 2020年 7月 8日(水)11時06分2秒
電竜戦 第2回予行演習 山下 2020年 7月21日(火)22時53分46秒
Synchronized Batch Normalization 48 2020年 7月29日(水)18時42分40秒
Re: Synchronized Batch Normalization 山下 2020年 7月29日(水)21時36分22秒
(無題) 48 2020年 8月 3日(月)06時42分56秒
AobaZeroの学習 山下 2020年 8月 3日(月)19時40分7秒
△91馬(19)と馬をタダで取られる 山下 2020年 8月 3日(月)20時04分27秒
(無題) nn 2020年 8月 3日(月)22時40分10秒
(無題) 48 2020年 8月 4日(火)08時03分24秒
Re: △91馬(19)と馬をタダで取られる 山下 2020年 8月 4日(火)20時20分6秒
宣言勝ちは先手の方が簡単? 山下 2020年 8月 4日(火)20時28分21秒
10000棋譜ごとの自己対戦での宣言勝ちの棋... 山下 2020年 8月13日(木)12時50分46秒
Re: 10000棋譜ごとの自己対戦での宣言勝ち... 山下 2020年 8月16日(日)22時28分47秒
18の角でも 48 2020年 8月17日(月)00時37分34秒
Re: 18の角でも 山下 2020年 8月17日(月)06時41分51秒
Re: 10000棋譜ごとの自己対戦での宣言勝ち... 48 2020年 8月18日(火)17時23分29秒
Re: 10000棋譜ごとの自己対戦での宣言勝ち... 山下 2020年 8月20日(木)00時07分30秒
(無題) 48 2020年 8月20日(木)15時06分19秒
KataGoが1.6.0になってCPU版に対応 山下 2020年 8月24日(月)15時58分7秒
AobaZeroの紹介記事 山下 2020年 8月24日(月)16時05分23秒
value net 再挑戦 HiraBot 2020年 8月26日(水)15時37分12秒
CGFオープンが10月10日(土)、11日(日)に開催 山下 2020年 8月30日(日)12時06分23秒
KataGoのKataは日本語の「型」 山下 2020年 9月 8日(火)19時42分4秒
自己対戦と、対Kristallweizenとの宣言勝... 山下 2020年 9月11日(金)13時00分0秒
技巧2を基準にしたAobaZeroのレート 山下 2020年 9月11日(金)20時07分47秒
AlphaZeroは思考時間が長いと先手勝率が高い 山下 2020年 9月11日(金)20時09分7秒
AWAKEの映画 山下 2020年 9月15日(火)22時33分29秒
互角局面集を使うとAobaZeroは +150 ELOほ... 山下 2020年 9月18日(金)19時25分46秒
プロ棋士とfloodgateのレート 山下 2020年 9月27日(日)22時00分30秒
(無題) 48 2020年 9月28日(月)11時54分22秒
Re: プロ棋士とfloodgateのレート 山下 2020年 9月28日(月)23時04分46秒
2020 World Artificial Intelligence Go ... 山下 2020年 9月30日(水)03時35分39秒
Re: CGFオープンが10月10日(土)、11日(日... 山下 2020年10月 1日(木)16時12分12秒
CGFオープンの結果 山下 2020年10月12日(月)06時55分17秒
Re: CGFオープンの結果 zakki 2020年10月13日(火)21時08分48秒
Re: CGFオープンの結果 山下 2020年10月14日(水)08時43分58秒
KataGoの自己対戦の学習棋譜 山下 2020年10月14日(水)08時46分3秒
Re: CGFオープンの結果 zakki 2020年10月14日(水)12時26分28秒
Re: CGFオープンの結果 山下 2020年10月14日(水)15時00分18秒
LeelaZeroのshuffle buffer 山下 2020年10月14日(水)15時01分45秒
AobaZeroの棋譜で 48 2020年10月18日(日)14時26分55秒
Re: AobaZeroの棋譜で 山下 2020年10月18日(日)16時13分29秒
(無題) 48 2020年10月18日(日)22時52分18秒
LeelaZero zakki 2020年10月20日(火)21時51分15秒
Re: LeelaZero 山下 2020年10月20日(火)22時43分16秒
(無題) 48 2020年10月21日(水)14時52分13秒
KataGo vs Golaxy 山下 2020年10月21日(水)20時40分59秒
AobaZeroのWindows版が5倍程速く 山下 2020年10月23日(金)08時38分43秒
AobaZeroの自己対戦で投了するように 山下 2020年10月24日(土)10時12分9秒
SAI、20x256への移行をあきらめる 山下 2020年10月25日(日)10時29分35秒
Re: SAI、20x256への移行をあきらめる zakki 2020年10月26日(月)20時16分22秒
Re: SAI、20x256への移行をあきらめる 山下 2020年10月27日(火)10時04分9秒
アナザーストーリーズ「名人がAIに負け... 山下 2020年11月10日(火)14時33分8秒
GPW2020の論文が公開されています 山下 2020年11月10日(火)17時57分46秒
Re: GPW2020の論文が公開されています zakki 2020年11月10日(火)21時54分51秒
Re: GPW2020の論文が公開されています 山下 2020年11月11日(水)10時26分46秒
KataGoの論文が微修正 山下 2020年11月12日(木)13時15分24秒
Re: GPW2020の論文が公開されています zakki 2020年11月13日(金)18時16分33秒
電竜戦の締め切りは15日まで 山下 2020年11月13日(金)21時42分50秒
KataGo独自の手法の解説 山下 2020年11月16日(月)13時16分38秒
Re: KataGoの論文が微修正 zakki 2020年11月16日(月)13時22分53秒
Re:電竜戦の締め切りは15日まで うさぴょんの育ての親 2020年11月16日(月)13時23分33秒
Re:電竜戦の締め切りは15日まで 山下 2020年11月16日(月)15時24分38秒
SkipInit zakki 2020年11月20日(金)10時35分24秒
Re: SkipInit 山下 2020年11月20日(金)17時38分19秒
野田さんのGPWのNNUEがstokfishに移植され... 山下 2020年11月20日(金)17時45分22秒
Re: SkipInit zakki 2020年11月20日(金)22時06分15秒
Re: SkipInit 山下 2020年11月20日(金)23時23分5秒
Google ColabでAobaZeroがコンパイル失敗 山下 2020年11月22日(日)08時47分13秒
AobaZeroのv1.7をリリース 山下 2020年11月25日(水)10時40分59秒
AobaZeroの棋譜の二次配布について 加納 2020年11月25日(水)22時24分49秒
Re: AobaZeroの棋譜の二次配布について 山下 2020年11月26日(木)01時16分28秒
Re: AobaZeroの棋譜の二次配布について 加納 2020年11月26日(木)01時28分54秒
Re: AobaZeroの棋譜の二次配布について 加納 2020年11月26日(木)20時43分37秒
2020 World Artificial Intelligence Go ... 山下 2020年12月 1日(火)13時08分2秒
現在のAobaZeroの対elmoの勝率 山下 2020年12月 3日(木)22時17分46秒
詰みの局面で、評価値が反転? nn 2020年12月 6日(日)05時03分35秒
詰みの局面で、評価値が反転? 山下 2020年12月 7日(月)01時57分7秒
マルチGPU 48 2020年12月11日(金)17時15分0秒
Re: マルチGPU 山下 2020年12月11日(金)17時50分31秒
w800とSWA nn 2020年12月13日(日)02時02分18秒
Re: w800とSWA 山下 2020年12月13日(日)11時54分37秒
KataGoのユーザ参加版 山下 2020年12月23日(水)19時20分54秒
AobaZeroのweightの更新を10000棋譜から3... 山下 2020年12月28日(月)10時38分28秒
DeepMind’s MuZero picks up the rules ... おせら 2020年12月30日(水)15時24分36秒




『宮本定跡2020』の公開  投稿者:宮本憲一メール 投稿日:2020年 1月 1日(水)08時29分55秒
皆様、明けましておめでとうございます。

1998年から、ほとんど男性プロ棋士の指した棋譜のみを登録した、無料柿木将棋用定跡ファイル
『宮本定跡』の2020年版が106万手を超えました。

「一般型」と「従来型」がありますが、多くの方が「一般型」を面白いと感じる見込みです。
ご意見、ご感想等、お寄せください。

http://jyouseki.g1.xrea.com/


一二三羽生善治の大逆転将棋2020 羽生ひふみん三番勝負 第3ラウンドオセロ  投稿者:おせら 投稿日:2020年 1月 4日(土)12時58分42秒
私的検討してみました。著作権等問題あるようでしたら消してください。

一二三羽生善治の大逆転将棋2020
羽生ひふみん三番勝負 第3ラウンドオセロ

羽生善治53-11加藤一二三(敬称略)
f5f4e3d6e6g5g6f6c4b4e7h7g3f3h4e8h6h5h8h3g4g7h2e2f2g2c5c6g8f7f8d7d8c7c8b5b6h1g1d3c3f1e1d2d1a6a5b8a7b3c2c1b2a1b1a3a2b7a8a4

##:羽生善治 ():加藤一二三

一手目: ##

   a  b  c  d  e  f  g  h
1 |54|55|52|45|43|42|39|38| 1
2 |57|53|51|44|24|25|26|23| 2
3 |56|50|41|40| 3|14|13|20| 3
4 |60|10| 9|()|##| 2|21|15| 4
5 |47|36|27|##|()| 1| 6|18| 5
6 |46|37|28| 4| 5| 8| 7|17| 6
7 |49|58|34|32|11|30|22|12| 7
8 |59|48|35|33|16|31|29|19| 8
   a  b  c  d  e  f  g  h

白 2手目f4:緩手
黒 5手目e6:緩手 互角。 黒f3がbetter。
白 6手目g5:白f6も有力
黒 7手目g6:黒g4、黒c5も有力
黒 9手目c4:黒e7が有力       やや白よし
白10手目b4:敗着 白f3から行きたい。 以降形勢は終局まで黒よし
黒11手目e7:?どこへ打っても黒よしだが、黒d3あるいは黒g4では?
白12手目h7:悪手。白d3、白f7、白d7、白f3 どこへ打っても本譜よりはよい。
黒13手目g3:緩手。f5の白石を消したい。黒h5がbetter。
白14手目f3:悪手。黒がf5を消さなかったので白f7で黒e6を消し、黒g4を防ぐのが筋。
黒15手目h4:緩手。黒g4で黒f5に種石を作り黒d3を狙うのが筋。
白16手目e8:大悪手。白f7の1手で黒h6も黒g4も同時に防がなくてはならないが黒h6を放置した。
黒17手目h6:この1手。
白18手目h5:大悪手。白被害拡大。白1桁になる形勢。
黒19手目h8:この1手。
白20手目h3:悪手。白被害拡大。8か所打てるうちワースト2に入るのでは?64-0 黒+64(白全滅)
白30手目パス
黒36手目b5:4石損の悪手で白全滅回避。62-2 黒+60
白37手目b6:4か所打てる内で4石損の最悪手 64-0 黒+64(白全滅)
黒42手目f1:4石損の悪手で62-2 黒+60。白全滅回避。黒b8あるいは黒a5がbetter。
黒46手目a6:6石損の悪手で59-5 黒+54。ここに来て変調?
白47手目a5:6石損の悪手で62-2 黒+60。白b3がbetter
黒50手目b3:8石損の悪手で58-6 黒+52。黒a3がbetter。
黒52手目c1:18石損の大悪手で49-15 黒+34。黒a3の1手。
白53手目b2:20石損の大悪手で59-5 黒+54。白a2の1手。
黒58手目b7:12石損の大悪手で53-11 黒+42。 

山下様へのお願い  投稿者:宮本憲一メール 投稿日:2020年 1月11日(土)15時21分45秒
山下宏様へ
昔、山下様の棋力はアマチュア5段程度と、雑誌で読んだ記憶があります。

私は22年かけて100万手を超える柿木形式の定跡ファイルを作成しました。
大変おこがましいのですが、柿木将棋\に宮本定跡2020を導入したものと
戦っていただいたら、いい勝負になると思うのですが、やって結果を書き込んで
いただけないでしょうか。

ぜひ、ご検討ください。よろしくお願いします。

http://jyouseki.g1.xrea.com/


Self attention  投稿者:zakki 投稿日:2020年 1月14日(火)21時57分27秒
盤面上の遠くの情報取ってくるっていうので自然言語で流行ってるattentionを画像処理でも使うという話があるようです。
囲碁や将棋にも使えないでしょうか?

128フィルタの時、3*3畳み込みレイヤーと同じ計算コストで19*19のアテンションレイヤー行けるって言ってますが何故そうなるのかは理解出来てません。

https://arxiv.org/abs/1906.05909
http://jbcordonnier.com/posts/attention-cnn/ 

Re: Self Attention  投稿者:ohto 投稿日:2020年 1月15日(水)20時30分14秒
どんなゲームでも全てのオブジェクトを固定長ベクトルで表してSelf-Attentionをとれば万能AIができるという考えは正統派だと思いますが、はっきり位置情報があるものに適用して成果が出れば面白いですね。

計算量の件、仮にQKVが全て全結合で作成、single headで相対位置考慮なしとすれば
画像サイズを H x W として一層の計算量が

3x3Conv
3 x 3 x 128 x 128 x H x W  = 147456 x H x W

19x19SA
query, key, valueの計算 128 x 128 x 3 x H x W
query, key -> attention 128 x 19 x 19 x H x W
attention, value -> output 128 x 19 x 19 x H x W
計 141568 x H x W

のような比較になるのではないでしょうか。 

Re: Self Attention  投稿者:zakki 投稿日:2020年 1月16日(木)12時28分31秒
なるほど、attentionとvalueの次元を勘違いしてました。
3*3畳み込みのスーパーセットにするのに9ヘッド必要って言ってるのはそういうことなんですね。

Relative Positional Encodingのところに囲碁のstringやdragonや将棋の利き情報追加して、幸せにならないですかね。 

(無題)  投稿者:最新weightファイル 投稿日:2020年 1月26日(日)19時58分13秒
合計 5196088 棋譜。現在のweight番号= w871。貢献ありがとうございます!
?まだweightファイルがDLできないです。
確認お願い致します。 

Re: 最新weightファイル  投稿者:山下 投稿日:2020年 1月27日(月)19時33分51秒
GPUの一時的なメモリ不足で変換に失敗していました。
手動で更新してweighgt、棋譜配布サーバにアップいたしました。
ご指摘ありがとうございました。 

コンピュータ将棋選手権の締め切りは1月31日まで  投稿者:山下 投稿日:2020年 1月30日(木)23時22分21秒
選手権の申し込み締め切りは31日までとなっています。
http://www2.computer-shogi.org/ 

LZのデータセットを50万棋譜毎にスライドする方法  投稿者:oubeika 投稿日:2020年 2月 1日(土)08時28分55秒
去年12月のUEC杯で山下さんから「LZはデータセットを50万棋譜毎にスライドしている」といったことをお聞きしましたが、具体的にどのような方法なのかもう一度教えて頂けると嬉しいです。

気になっているのは以下の2つです。

1. 追加棋譜が50万局あることが前提で、まるごと入れ替えるのかどうか

2. そうでないとしたら、testデータはそのままでtrainデ−タだけを新しく追加して、古いtrainデータを後ろから消していくかどうか

よろしくお願いします! 


最新weightファイル  投稿者:匿名 投稿日:2020年 2月 1日(土)17時40分18秒
最新weightファイル
現在のweight番号= w876。貢献ありがとうございます!
また最新weight fileが落ちてこない感じです。

最近サバの調子が悪そうですね。大丈夫でしょうか。 


Re: LZのデータセットを50万棋譜毎にスライドする方法  投稿者:山下 投稿日:2020年 2月 1日(土)20時56分14秒
すみません、具体的な手順はよく分からないです。
ここだと50万から75万に増やす、とありますが。
https://github.com/leela-zero/leela-zero/issues/2560

AobaZeroだと20分毎に約200棋譜を追加して古い200棋譜を捨てて、合計50万棋譜、という仕様になっています。
1棋譜(約120局面)あたり128mini-bacthだと1回学習させてます。

testは使わずに全部のデータをtrainとして扱っています。 

Re: 最新weightファイル  投稿者:山下 投稿日:2020年 2月 1日(土)20時58分32秒
w876を手動で更新しました。
少しGPUを使うプログラムが多すぎたので減らしました。
ご指摘ありがとうございました。 

Re: LZのデータセットを50万棋譜毎にスライドする方法  投稿者:oubeika 投稿日:2020年 2月 3日(月)21時01分34秒
>山下さん

50万から75万に増やすというのは、LZサーバーのネットワーク(例えばLZ258とか)がセルフプレイ棋譜を生成する最大数(window_size?)だと思います。

LZのネットワークを生成する部分の情報少ないですよねー。 

Re: LZのデータセットを50万棋譜毎にスライドする方法  投稿者:zakki 投稿日:2020年 2月 3日(月)22時37分0秒
> The replay buffer is a ?xed-capacity FIFO queue of game records.

ELF OpenGoだとFIFOキューで実装しててAGZとAZの比較のあたりを見ると50万棋譜単位じゃなくて順次差し替えてるような気がします。 

Re: LZのデータセットを50万棋譜毎にスライドする方法  投稿者:山下 投稿日:2020年 2月 3日(月)23時37分2秒
たしかに情報少ないですよね・・・。詳細はコードみてね、というスタンスなのだとは思いますが。

私もLZの棋譜を使ってAobaZeroで使ってるやり方と、LZのtraining/tf/parse.py を使って
二通りで学習させてみました。

LZだとここにある棋譜で
https://leela.online-go.com/training/
例えば train_a8ed7652.zip を
unzipで展開して、(それ以上の*.gzは展開しない)

python3 training/tf/parse.py /home/yss/go/LZ_sgf/gz/train_a8ed7652
としてやれば、この棋譜での学習が開始するようです。

python3 training/tf/parse.py /home/yss/go/LZ_sgf/gz/train_a8ed7652 leelaz-model-184000
で途中の状態から開始できるようです。

githubには
python3 training/tf/parse.py 6 128 /home/yss/go/LZ_sgf/gz/train_f01f55e0
でネットのサイズを指定できる、とありますがこれは古い情報で現在は直接ソースの
tfprocess.py で
self.RESIDUAL_FILTERS = 192
self.RESIDUAL_BLOCKS = 15
を変えないとダメなようです。

AobaZeroのやり方で直近の400万棋譜を2週間ほど192x15bで学習させてみたのですが、
lizzieに付属する192x15bのネットに1playoutで15%しか勝てず、強さを再現するだけでも苦戦しています。 

Re: LZのデータセットを50万棋譜毎にスライドする方法  投稿者:zakki 投稿日:2020年 2月 4日(火)00時48分48秒
> githubには
> python3 training/tf/parse.py 6 128 /home/yss/go/LZ_sgf/gz/train_f01f55e0
> でネットのサイズを指定できる、とありますがこれは古い情報で現在は直接ソースの

これはたぶんmasterブランチの話だと思いますが、トップページのデフォルトはnextブランチになっていて
python3 training/tf/parse.py 6 128〜もそっちでは指定できます。 

Re: LZのデータセットを50万棋譜毎にスライドする方法  投稿者:山下 投稿日:2020年 2月 4日(火)01時39分37秒
ほんとだ、いろいろ追加されていますね。
https://github.com/leela-zero/leela-zero/blob/next/training/tf/parse.py

見るべきはnextブランチでしたか・・・。

あと、複数のファイル群を同時に学習させるには
train_a8ed7652_0.gz
train_a8ed7652_1.gz
...
train_f01f55e0_0.gz
train_f01f55e0_1.gz
...
などを
train_all_0.gz
train_all_1.gz
...
と連番に変換するしか方法ないのでしょうか?

ついでに関係ないですが、Training Dataの仕様上では
「each 361 bits longs」と石の配置は361bit、と書いてあるのですが
実際は最初の360bitは正しいのですが、最後の1bitだけ364bit目に書いてあります。
そのため最初は盤の右隅だけ打たない変な棋譜を作っていました。
学習部の chunkparser.py はこれを補正して読んでいます。 

(無題)  投稿者:zakki 投稿日:2020年 2月 4日(火)08時36分15秒
https://github.com/leela-zero/leela-zero/blob/next/training/tf/parse.py#L49
glob.glob(data_prefix + "*.gz")
なので
python training/tf/parse.py 10 128 "train*/"
のような指定は出来ます。
自分では
def get_chunks(data_prefix):
    return glob.glob(data_prefix + "*.gz", recursive=True)
にして、
python training/tf/parse.py 10 128 "train*/**/"
のようなことできるようにして使ってます。

強くするの難しいですね。特徴量追加した20x256で同じく20x256の#173に35%程度しか勝ててません。 

LZの学習率  投稿者:山下 投稿日:2020年 2月 4日(火)11時11分29秒
> python training/tf/parse.py 10 128 "train*/"

なるほど!こういう指定の仕方が出来たのですか。ありがとうございます。

LZのbatch_sizeと学習率は下のような感じらしいです(issueを適当に検索した限りでは)。
去年の年末までの BS=96, LR=0.0001 は結構大きいな、という印象です。

 #                         size     games  batch_size Learning rate
 255 2019-12-20 b12e8925  40x256  17700000   96       0.00001
 201 2019-01-13 cacf4cbf  40x256  11913297   96       0.0001
 158 2018-07-28 dc011d01  20x256   8728635  128       0.00035
 117 2018-04-09 ba748d40  15x192   6642917  256       0.0001  ?
  58 2018-01-20 ed002cf3   6x128   2861140  512 ?

ただCaffeで学習させた結果だと 0.0001 より小さくしてもあまり強くならない感じです。
batch_size は96と64で違いますが。

LZ_15b_a4b5に対する勝率(1 playoutで1000局)と学習率

 勝率 学習率
  5%  0.0004
 11%  0.0002
 13%  0.0001
 13%  0.00005
 11%  0.000025
 14%  0.0000125
 14%  0.00000625
 15%  0.000003125
 14%  0.0000015625

batch_size  : 64
weight_decay: 0.0001
400000 stepごとに学習率を半分に

ここだと正則化いらない、と書いてるので weight_decay は0なのかもしれないですが。
https://github.com/leela-zero/leela-zero/issues/2560#issuecomment-566478053
> I found to help a lot...is to get rid of regularization entirely. 


Re: LZの学習率  投稿者:zakki 投稿日:2020年 2月 4日(火)13時32分52秒
ELFが10^-5で2Mミニバッチ学習しても強くならなかったとか、
#255がミニバッチ2048換算で0.00001/96*2048≒2*10^-4程度と考えると妥当っぽいですね。

40x256の時に
lost = policy x4 +mse x4 +reg にしたり https://github.com/leela-zero/leela-zero/issues/1681#issuecomment-420504901
policy x4 したり https://github.com/leela-zero/leela-zero/issues/1681#issuecomment-431552680
してたの、reg_termの影響は落としてるのかもしれません。
その後、どういうlossで学習してるのか見つけられてません。 


Re: LZの学習率  投稿者:oubeika 投稿日:2020年 2月 4日(火)17時49分54秒
BSKは以下のページを参考にして128000stepごとに学習率を変えて128000 × 3 = 384000stepを1つの世代として学習を進めています。
https://github.com/pangafu/LeelaMasterWeight/blob/master/How_to_Training_Yourself_Weight(CN).md

384000stepまで学習したらtraining/tf/net_to_model.pyを使って、txt形式のネットワークを初期値にしてチェックポイントを生成しています。
そして次に新しいチャンクデータを追加して、生成したチェックポイントから2世代目の学習を開始、というサイクルですね。

余談ですが、現在BSKはsaiプロジェクトに移行して最初から学習しています。
自己対戦 + 人間(戦闘狂only)の棋譜数50万弱(train 9 : 1 test)を1178000step学習させて野狐囲碁で8段弱くらいの実力のようです。 

Re: LZの学習率  投稿者:山下 投稿日:2020年 2月 5日(水)00時23分41秒
lossもpolicyを重視するように変えているのですか。
この辺も試す必要がありますか・・・。

そういえば parse.py に
BATCH_SIZE = 512
RAM_BATCH_SIZE = 128
とありますが、
BATCH_SIZE = 128、など RAM_BATCH_SIZE と同じにされてますか?

AobaZeroだと学習させたときのELOの上昇で比較すると

ミニバッチ 4096, 学習率 0.02,    ELO上昇  +83 (mb=128, stepsize=32)
ミニバッチ  128, 学習率 0.0005,  ELO上昇  +83

がほぼ同じぐらいでした。0.02 / (4096/128) = 0.000625 なのでだいたい同じでしょうか。

「棋譜番号252万から294万まで43万棋譜を学習(ほぼ棋力が一定の棋譜)」

ミニバッチ 4096, 学習率 0.02,    ELO上昇  +83 (mb=128, stepsize=32)
ミニバッチ 4096, 学習率 0.02,    ELO上昇  +81 (mb= 64, stepsize=64)
ミニバッチ  180, 学習率 0.001,   ELO上昇  +70
ミニバッチ  128, 学習率 0.0002,  ELO上昇 +132
ミニバッチ  128, 学習率 0.0005,  ELO上昇  +83
ミニバッチ   64, 学習率 0.00001, ELO上昇 +140
ミニバッチ   64, 学習率 0.0001,  ELO上昇 +158
ミニバッチ   64, 学習率 0.001,   ELO上昇  -18

AlphaZeroだと0.0002まで下げてるので、LZももう少し下げても強くなる気が少しするのですが。

ミニバッチ 4096,          学習率 0.2    (囲碁は最初から0.02)
ミニバッチ 4096, 10万step,学習率 0.02
ミニバッチ 4096, 30万step,学習率 0.002
ミニバッチ 4096, 50万step,学習率 0.0002 

Re: LZの学習率  投稿者:山下 投稿日:2020年 2月 5日(水)22時18分3秒
そういえば今のLZはLCBで着手を選んでいるので、30手目以降で
打った手と訪問回数(確率)が最大の手が異なる場合は
実際の着手の確率を上げてやる、とかするといいのかもしれません。 

(無題)  投稿者:48 投稿日:2020年 2月10日(月)15時56分45秒
素人考えですが,LCBを使うってのは相対的にpolicyよりvalueを信頼しているように思います。
間違ってますでしょうか?


LZのLCB  投稿者:山下 投稿日:2020年 2月11日(火)04時05分47秒
> policyよりvalueを信頼

だと思います。
ソースを見ると2回以上探索してればLCBの値を使っているようです。
昔のMCTSのAyaでは探索回数でなく勝率の高い手を選ぶ、を試すと明らかに弱く、
結局、現在の最大回数と同じ回数まで全敗しても、勝率で上回るなら選ぶ、
で選んでいました。

LZのvalueはMCTSに比べると格段に信頼できるので、LCBが有効に
働くのかもしれません。

https://github.com/leela-zero/leela-zero/blob/next/src/UCTNode.cpp#L257 

Re: LZの学習率  投稿者:山下 投稿日:2020年 2月11日(火)05時08分28秒
AlphaZero方式で、
最終的な勝敗でなく、「1手ごとの探索結果の勝率」を教師データに使う、
もしくは「1手ごとの勝率+最終的な勝率」の組み合わせをlossに使う
とか試されてると思うのですがあまり有名になってないところを見ると
うまくいかないのでしょうね・・・。 

(無題)  投稿者:48 投稿日:2020年 2月11日(火)06時53分51秒
valueが信頼できるとしたら囲碁の局面評価が難しいと言った古典的難問はクリアされたように感じます。
もちろん相対的なものですが力ずくでカバーするのが今風でしょうか。

うまく言語化できてませんが,囲碁と将棋では探索で保証されるものの質が異なる気がしています。 

Stochastic Weight Averaging(SWA)  投稿者:山下 投稿日:2020年 2月11日(火)07時59分15秒
LeelaZeroのTensorflowの学習コードを見てたら
SWA(Stochastic Weight Averaging)なる手法が使われてました。
ある程度の間隔のweightの平均を取るだけ、という手法らしいので
やってみたらAobaZeroでも効果ありました。

w848からw857までの10個の平均を取ったものが微差ですが今まで一番強くなってます。

                勝 分 敗 局数 (宣 千 宣)    先手勝率     勝率   95%   ELO
10個の平均     449- 4-347 800 (5- 4-1)(s=424-372,0.533) ,0.564(0.034)( +44)
w855-Kris_200k 412-15-373 800(13-15-3)(s=396-389,0.504) ,0.524(0.034)( +16)
w850-Kris_200k 414-11-375 800(10-11-0)(s=403-386,0.511) ,0.524(0.034)( +16)
w845-Kris_200k 410- 9-381 800 (8- 9-2)(s=378-413,0.478) ,0.518(0.034)( +12)
w840-Kris_200k 392-12-396 800(11-11-1)(s=418-370,0.530) ,0.498(0.034)(  -1)
w835-Kris_200k 443- 9-348 800 (9- 9-1)(s=401-390,0.507) ,0.559(0.034)( +41)
w830-Kris_200k 435- 3-362 800 (9- 3-2)(s=416-381,0.522) ,0.546(0.034)( +31)

実際のSWAはBatch Normalizationの平均と分散は出来たweightを使って
再計算させる必要があるようで、LZでも200回バッチを回して計算してます。

w848.txt などの10個の平均を取るだけのコード(BNの再計算なし)
https://github.com/kobanium/aobazero/tree/develop/learn/swa
Stochastic Weight Averaging in PyTorch
https://pytorch.org/blog/stochastic-weight-averaging-in-pytorch/ 

囲碁でのplayoutとValueの精度  投稿者:山下 投稿日:2020年 2月11日(火)08時27分58秒
> 囲碁の局面評価が難しい

今のLZなどは終盤のコウ争いの途中での半目勝負とかを相当正確に判断してると思います。
知識を利用したAyaのplayoutも少し前までは終盤だけは
NNのValueよりも正確だったのですが、今では最終盤でもほとんど負けてる感じです。
万年コウなどの特殊な形が出来たときぐらいでしょうか。 


囲碁の将棋のPolicy,Valueのloss  投稿者:山下 投稿日:2020年 2月11日(火)08時28分45秒
私の学習してる範囲だと囲碁の方がValue、Policyのlossが大きくて
学習が難しいようです。

囲碁の方が手数が長い       = 初期局面など勝率0.5近いのが多いのでlossが大きくなる
囲碁の方が平均可能手が多い = やっぱりlossが大きくなる?

なので当然かもしれませんが・・・。

      Value Loss  Policy Loss
 囲碁     0.4005       1.8503   LeelaZeroの直近400万棋譜。学習率0.00005, mini_batch=64, 192x15b
 将棋     0.3133       1.3607   AobaZero の直近 50万棋譜。学習率0.0002,  mini_batch=64, 256x20b

*Value Lossは2倍したらAlphaZeroのlossと一致します。 


valueのターゲット  投稿者:ohto 投稿日:2020年 2月13日(木)08時31分39秒
valueのターゲットに探索結果を使うのは、データが少ない時には有効だと思われますし、実際にそういう適用の論文を見たことはあります。
ただし、勝敗をターゲットにするのと価値をターゲットにするのではMSEの勾配の値が変わってくるので、それが総合的に見て良くないということはあるのかもしれません。

あと、ルートの探索結果よりは、「ルートの各手の探索結果と、遷移時の選択確率の内積」をターゲットにする方が直感的には自然な気がします。 

Re: valueのターゲット  投稿者:山下 投稿日:2020年 2月13日(木)20時50分0秒
> 「ルートの各手の探索結果と、遷移時の選択確率の内積」

これは下のような場合に、Valueではなく内積(0.57 * 0.70 = 0.399) を
予測する感じでしょうか?

着手   探索評価値  選択回数  選択回数の割合          内積
A            0.57     700回            0.70  (0.57 * 0.70)
B            0.55     200回            0.20  (0.55 * 0.20)
C            0.52     100回            0.10  (0.52 * 0.10)

個々の手の探索評価値を直接予測する方法とかもありそうですか。 

Re: Re: valueのターゲット  投稿者:ohto 投稿日:2020年 2月14日(金)14時28分18秒
あ、出力のことではなくVの学習ターゲットの話です!

ルートの手は最善手を探すためにノイズやらのexplorationの仕組みを加えているはずで、
最終的に温度0でベストの手を選ぶならばベストな手のQ値を学習ターゲットとする方が勝敗の近似としては自然に思えます。

Q値系の値を学習するのと方策、状態価値を学習するのは強化学習ではある程度等価に近いことだと思うのですが、
確定性のボードゲーム系では状態価値を予測する方が基本有利でしょうね。 

KataGo 1.3.2 対 Leela Zero 263  投稿者:山下 投稿日:2020年 2月25日(火)22時19分56秒
プレイアウト数を固定で強さを調べてみました。

 playout数/手  KataGo 1.3.2 の勝率
       1              0.444        (1000局、どちらも 1スレッド)
      10              0.539        (1000局、どちらも 1スレッド)
     100              0.679        (1000局、どちらも 4スレッド)
    1000              0.686        ( 344局、どちらも 4スレッド)
   10000              0.624        ( 157局、どちらも10スレッド)

1手1playoutではLeelaZeroの方が強いのですが、増えるとKataGoが逆転します。
Policyの精度はLeelaZeroの方がまだ少し上なのですがValueの精度はKataGoが
上なのかもしれません。

KataGoはv1.3.2 に付属の s1.91 (256x20b) でLeela Zeroは#263 (256x40b) です。

1局にかかる時間の平均は1手10000の時で下です(2080 Tiで。裏で色々動作中)
LeelaZero 1643秒 (OpenCL版)
KataGo    1365秒 (OpenCL版)

CUDA版より遅いOpenCL版でも短い思考時間で勝ち越しているので
KataGoがLeelaZeroをはっきり抜いたと言っていいと思います。

対戦は序盤10手まではプロの棋譜、500局から選んで先後交代して1000局、としています。
重複している棋譜はないはずです。
KataGoはmaxVisitsをコメントアウトしてmaxPlayoutsを指定しています。
#maxVisits = 800
maxPlayouts = 1000

起動コマンドは下のような感じです。
java -jar ~/go/gogui-twogtp.jar -black "~/go/leelaz17 -p10000 --noponder -r1 -g -t10 -q -d -w ~/networks/0a47677f8247c032f95b83bafff1bfe8ade0accb9eff50ed1c92bf82b1524daf" -white "~/go/katago_1.3.2/cpp/katago gtp -model ~/go/katago_1.3/g170-b20c256x2-s1913382912-d435450331.txt.gz -config ~/go/katago_1.3.2/gtp_p10000.cfg" -games 1000 -size 19 -alternate -sgffile memo -auto -komi 7.5 -openings "~/go/gogui/sgf/openings/19x19_gogod_2014_1000"
序盤10手の棋譜はこちらです。
https://github.com/yssaya/leela-zero-ladder/tree/next/opening/19x19_gogod_2014_1000 

floodgateの256手引き分け  投稿者:山下 投稿日:2020年 3月 6日(金)03時09分0秒
選手権は320手目を指して321手目に何か指せれば引き分け、
なのですがfloodgateでは256手で詰んでいても引き分けなのですね。
http://wdoor.c.u-tokyo.ac.jp/shogi/view/2020/03/05/wdoor+floodgate-300-10F+22ndChild+AobaZero_w903_n_p800+20200305210007.csa

先手は128回詰ますチャンスがあるのに後手は127回しかないので
257手で無条件引き分け、にしてもよかった気がします。

w898のAobaZeroから宣言勝ちを内部、rootと入れたのですが
今のソフトは連続王手や駒得無視で敵陣10枚の駒を取りに来て
宣言勝ちを避けますね。しぶとい・・・。

1局だけ宣言勝ちできてるのもありました。
http://wdoor.c.u-tokyo.ac.jp/shogi/view/2020/03/05/wdoor+floodgate-300-10F+AobaZero_w903_n_p800+elmo_WCSC27_479_100k+20200305063003.csa 

(無題)  投稿者:48 投稿日:2020年 3月 6日(金)15時28分46秒
floodgate初宣言勝ちおめでとうございます。
気づいておりませんでした。
やはり探索中に読んでおくのが重要に思います。
数世代かかると思いますが棋譜生成時にも入れておくと局面評価が変わってくると予想します。
具体的には相手の持ち駒の評価でしょうか。 

宣言勝ちが上手くなってる?  投稿者:山下 投稿日:2020年 3月 6日(金)20時54分41秒
ありがとうございます。

プロセス間のバッチ処理に対応した次版で同時にこの修正も行う予定です。

下の将棋は先手27点、後手27点の同点なのですが
先手のAobaZero、後手のelmo、ともに勝と思っています。
(先手28点、後手27点で宣言勝ちなのでAobaZeroが正しい。27点法の場合)
入玉模様の宣言勝ちに関してはかなり正確に判断できてる気がします。

先手:elmo、後手:AobaZero、後手27点、先手27点
http://wdoor.c.u-tokyo.ac.jp/shogi/view/2020/02/28/wdoor+floodgate-300-10F+elmo_WCSC27_479_1000k+AobaZero_w898_n_p800+20200228040003.csa

最近はあまり強くなってないのですが
対Kristallweizen相手だと、宣言勝ちが上手くなっている?ようにも見えます。


yss-aya.comが見えない場合  投稿者:山下 投稿日:2020年 3月 8日(日)08時22分47秒
ドメイン名を管理しているサイトが落ちている関係で
http://www.yss-aya.com/
が見えないことがあるようです。

IPを直接指定すると見えます。

AobaZero
http://183.181.22.81/aobazero/
CGOS 19路
http://183.181.22.81/cgos/19x19/standings.html 

Re: Stochastic Weight Averaging(SWA)  投稿者:山下 投稿日:2020年 3月16日(月)09時01分29秒
以前は10個のweightの平均を足すだけだったのですが、BNだけは
6000回128mini-batchを回して再計算させてみました。

2400局の1手800playout対Kristallweizen 1手200kだと「BNだけ再計算」が+1 Eloだけ強い、で
ほぼ差は分かりませんでした。
ただ、自分同士で1手10playoutで10000局だと「BNだけ再計算」が+13 Eloだけ有意に強くなるようです。

他の実験でSWAの効果を試すと「BN再計算なし」でも
過去5つのweightの平均を取ったものが強く、はっきり効果があるようです。

                5つの平均
実験1  +0  -->  +33 Elo (+33 Elo 上昇)
実験2 +87  --> +100 Elo (+13 Elo 上昇)

w848からw857の10個の平均を取っただけ vs Krist 200k。同じ実験を4回
  勝 分 敗 局数(宣 千 宣)    先手勝率      勝率   95%    ELO
 479- 8-313 800(22- 8-6)(s=374-418,0.472) ,0.604(0.034)( +73)
 488- 3-309 800(31- 3-2)(s=413-384,0.518) ,0.612(0.034)( +79)
 476- 9-315 800(21- 8-0)(s=393-398,0.497) ,0.601(0.034)( +70)
 499- 9-292 800(20- 9-0)(s=387-404,0.489) ,0.629(0.033)( +91)
--------------------------------------------------------------
                                                   平均( +78)
BNだけ再計算 vs Krist 200k
 484- 8-308 800(20- 6-3)(s=378-414,0.477) ,0.610(0.034)( +77)
 487-12-301 800(25-12-0)(s=394-394,0.500) ,0.616(0.033)( +82)
 475-10-315 800(18- 9-1)(s=388-402,0.491) ,0.600(0.034)( +70)
 494- 4-302 800(16- 4-1)(s=386-410,0.485) ,0.620(0.034)( +85)
--------------------------------------------------------------
                                                   平均( +79)

BNだけ再計算 vs 平均を取っただけ
4664-1049-4287 10000(25-1049-23)(s=4677-4274,0.523) ,0.519(0.009)( +13) 


次期ver  投稿者:tns 投稿日:2020年 3月18日(水)10時09分32秒
SWAはAobaZeroでも効果があるようですね。
最近githubで頻繁に更新されていますが、近日中にアップデートがあるのでしょうか? 


Re: 次期ver  投稿者:山下 投稿日:2020年 3月19日(木)05時37分51秒
時期は断言できないのですがアップデートに向けて改良しています。 

ネットワークの有効数字は2桁でも十分?  投稿者:山下 投稿日:2020年 3月20日(金)18時15分24秒
AobaZeroのネットワークの有効数字をfloatの有効数字6桁から3桁、2桁、1桁と減らした場合の
棋力の低下を調べてみました。
1手10playout、とかなり小さいのですが1万局の自己対戦だと
意外なことに有効数字2桁でもほぼ棋力は変わりませんでした。1桁にするとさすがに弱くなっていますが。
NNの計算は推論だけなら桁数が短くても(charの8bitでも?)精度が落ちにくいみたいです。
LeelaZeroは有効数字3桁にしています。

1手10playoutでの自己対戦、10000局(NNの内部での計算はfp32)

             勝   分   敗  局数  (宣  千 宣)          先手勝率   勝率   95%    ELO
6桁 vs 3桁   4405-1095-4500 10000 (45-1095-32)(s=4496-4409,0.505) ,0.495(0.009)(  -3)
6桁 vs 2桁   4330-1193-4477 10000 (31-1191-28)(s=4420-4387,0.502) ,0.493(0.009)(  -5)
6桁 vs 1桁   6732- 567-2701 10000 (16- 567-10)(s=4803-4630,0.509) ,0.702(0.009)(+148)

weightの最初から3番目までの数値はこんな感じです。

                                           *.txt のサイズ
通常 0.00139596 -0.0216267 -0.00781634     268MB
3桁   .0014      -.0216     -.00782        175MB
2桁   .0014      -.022      -.0078         152MB
1桁   .001       -.02       -.008          130MB 

絶芸がシチョウを逃げて勝った碁  投稿者:山下 投稿日:2020年 3月20日(金)20時08分36秒
以前大橋6段に野狐で絶芸がシチョウを逃げて勝った碁がある、と教えていただきました。
103手目から3回逃げ出して、ちょっと大きくしておいて
下辺の死活に手を戻したタイミングも完璧らしいです。
相手の咆哮さんは多分プロだったと思います。

棋譜再生
https://gokifu.net/t2.php?s=7851584711699386

(;GM[1]SZ[19]
PB[咆哮]
PW[絶芸指導A]
DT[2019-12-30]
RE[W+R]
HA[2]KM[7.5]RU[Chinese]PC[foxgo]
AB[pd][dp]
;W[cd];B[pp];W[fd];B[hc];W[fq];B[cn];W[qn];B[nq];W[jc];B[he]
;W[nc];B[dd];W[cc];B[df];W[dc];B[ff];W[dr];B[qf];W[pb];B[hq]
;W[fo];B[cq];W[qh];B[ho];W[jq];B[jo];W[mp];B[mq];W[kp];B[pn]
;W[pm];B[on];W[qp];B[qm];W[ql];B[qo];W[rm];B[ro];W[ep];B[gr]
;W[do];B[co];W[dq];B[ln];W[cp];B[bp];W[lq];B[kr];W[lr];B[jr]
;W[iq];B[ir];W[hp];B[ip];W[gp];B[lo];W[oe];B[qc];W[qb];B[ph]
;W[pi];B[pg];W[oi];B[od];W[nd];B[ne];W[of];B[me];W[ng];B[qi]
;W[qj];B[rb];W[ld];B[ck];W[gf];B[ge];W[fe];B[gg];W[op];B[pq]
;W[oq];B[or];W[rg];B[ob];W[oc];B[pc];W[nb];B[qa];W[oa];B[rd]
;W[np];B[nr];W[lp];B[mo];W[ko];B[kn];W[jn];B[kq];W[pr];B[qr]
;W[jp];B[io];W[hf];B[if];W[hg];B[hh];W[ig];B[jg];W[nn];B[no]
;W[ih];B[ii];W[lm];B[km];W[kl];B[ll];W[hn]) 

Re: ネットワークの有効数字は2桁でも十分?  投稿者:48 投稿日:2020年 3月25日(水)13時05分35秒
AlphaZeroの推論(棋譜生成)はINT8ですよね。 

Re: ネットワークの有効数字は2桁でも十分?  投稿者:山下 投稿日:2020年 3月25日(水)16時14分21秒
棋譜生成には5000個の第1世代のTPUを使ったそうで、
第1世代は8bitの演算だけらしいので、そうだと思います。 

fp16  投稿者:zakki 投稿日:2020年 4月10日(金)18時57分29秒
 
最近LeelaZeroをベースに各種特徴量やヒューリスティックを追加して9路の強化学習をしてます。
ところが学習が進むにつれて、生成棋譜での初手の分布とポリシーネットワークの分布がかけ離れてきました。
原因はウェイトの値が大きくなったことでGPUでのhalf float評価で精度が落ちたせいのようで、single floatでのGPU評価やCPUでの評価ではそれっぽい値が得られます。
レートでもsingle float版では同一プレイアウト数の別バージョンやKataGo相手の計測で+100前後改善しました。
フリーランチじゃないので注意が必要ですね。


Re: fp16  投稿者:山下 投稿日:2020年 4月11日(土)02時12分58秒
学習はfp32で行って、できた重みの推論の計算を
fp16で行った結果が一番上の図で2番目がfp32、
3番目がCPUでの計算(fp32)ということでしょうか。
fp16でここまでひどくなるのはビックリです。

weightの個々の数値の絶対値がどんどん大きくなってしまう?のでしょうか。
そういえばLeelaZeroのHALFを有効にすると本家のLZでは
SelfCheck(5%以上の誤差がCPUとの計算であると止まる)で止まることはないのですが
AobaZeroではHALFだと5%のエラーで止まりやすいです。
LZは掛け算も足し算もfp16でやってるのですが
掛け算だけをfp16で足し算はfp32にして将棋専用に最適化したHALFだと
誤差は最大でも2%程度で5%を超えることはないようです。 

Re: fp16  投稿者:zakki 投稿日:2020年 4月11日(土)09時06分52秒
すみません、half演算自体のせいじゃなくて、half処理の初期化もれでした。
half以外で起きないのと、最近の重みの値が増えてるのと、最近の重み以外では違いが見えないのとで誤解しました。

> 学習はfp32で行って、できた重みの推論の計算をfp16で行った結果が一番上の図で2番目がfp32、3番目がCPUでの計算(fp32)ということでしょうか。

その通りです。
SelfCheckはたまに落ちるので、AobaZeroの実装見てみます。 

Re: fp16  投稿者:山下 投稿日:2020年 4月11日(土)13時51分1秒
バグでしたか。

AobaZeroの実装だとLZのOpenCLより1.7倍くらい速く動くようです(fp32で)。
2080Tiのfp16だとさらに1.2倍ぐらい速くなります。
9x9囲碁だとかなり使いまわせるかもしれません。

実装したのは保木さんなので私はちっとも理解していませんが・・・。
ちなみにbatched_play ブランチのこの辺りがそうです。
https://github.com/kobanium/aobazero/blob/batched_play/src/common/nnet-ocl.cpp

ミニバッチの数 * 9 が2^nに収まるのがもっとも効率がいいらしく
ミニバッチ=3 (3*9 < 32)
ミニバッチ=7 (7*9 < 64)
ミニバッチ=14 (14*9 < 128)
ミニバッチ=28 (28*9 < 256)
あたりがお勧めです。 

CGOSの9路でGnugo-3.7.10-a1だけCross-Tableの更新を停止  投稿者:山下 投稿日:2020年 4月23日(木)22時16分43秒
tclkit webmain.tcl ../cgos9.cfg
でgnugoのページの作成が終わった瞬間に下のエラーで落ちるようになったので
gnugoだけ更新を停止してます。調査中です。
sqlite3関連ぽいのですが。
web更新プログラムが不調なだけで対戦サーバは正常に動いています。

*** glibc detected *** tclkit: double free or corruption (out): 0x0000000005969c70 *** 

コンピュータ将棋のオンライン大会  投稿者:山下 投稿日:2020年 5月 2日(土)21時41分0秒
明日の10時からオンラインの将棋大会が開催されます。
http://www2.computer-shogi.org/wcso1.html
棋譜の中継も行われます。
http://live4.computer-shogi.org/wcso1/
特設サイトもあります。
http://sizer.main.jp/wcsoc2020/ 

1日目の結果  投稿者:山下 投稿日:2020年 5月 4日(月)04時43分21秒
上位16チームが今日の2日目に参加します。
シードの12チームを加えて合計28チームでスイス式6回戦〜8回戦ぐらいをやる予定です。
+------------------+----+----+----+----+----+----+----+----+------+----+-----+----+
|     対局者名     |1局|2局|3局|4局|5局|6局|7局|8局|勝敗分|ソル|SB/MD|順位|
+------------------+----+----+----+----+----+----+----+----+------+----+-----+----+
| 1.W@nderER       |LOSE|ichb|Argo|koro|Supe|人生|Daig|Fluk| 5-3-0|35.5| 17.0|   9|
|                  |先○|  ×|先○|  ○|先×|  ○|  ×|  ○|   5.0|    | 11.0|    |
| 2.Daigorilla∞   |Easy|山田|Mias|ichb|GCT |Sylw|W@nd|Supe| 7-0-1|40.0| 33.5|   1|
|                  |先○|  ○|先○|先○|  ○|  =|先○|先○|   7.5|    | 25.0|    |
| 3.Argo           |Sylw|きの|W@nd|TMOQ|CGP |Fluk|人生|たこ| 4-4-0|34.5| 14.0|  13|
|                  |  ×|先○|  ×|先○|  ○|先×|先○|先×|   4.0|    |  7.0|    |
| 4.あやめ         |SNNS|手抜|GCT |Mias|koro|まっ|Supe|Aoba| 3-4-1|34.0|  7.5|  18|
|                  |先○|  ○|先×|  ×|先=|先○|  ×|先×|   3.5|    |  3.5|    |
| 5.たこっと       |koro|Mias|LOSE|芝浦|ichb|CGP |山田|Argo| 5-3-0|33.0| 16.5|  10|
|                  |  ×|  ×|先○|先○|先×|先○|  ○|  ○|   5.0|    | 12.0|    |
| 6.CGP            |762a|芝浦|山田|Aoba|Argo|たこ|LOSE|きの| 4-4-0|27.5|  9.5|  16|
|                  |  ○|先×|先○|  ×|先×|  ×|先○|  ○|   4.0|    |  5.0|    |
| 7.ねね将棋       |隠岐|Aoba|芝浦|Supe|山田|Mias|まっ|koro| 4-4-0|35.0| 14.5|  12|
|                  |  ○|  ×|先○|先×|  ○|  ×|先○|先×|   4.0|    |  7.5|    |
| 8.AobaZero       |Supe|ねね|手抜|CGP |Fluk|GCT |Sylw|あや| 5-3-0|36.5| 19.0|   8|
|                  |  ×|先○|先○|先○|  ○|  ×|先×|  ○|   5.0|    | 11.5|    |
| 9.芝浦将棋Softmax|Fluk|CGP |ねね|たこ|きふ|きの|koro|手抜| 4-4-0|31.5| 13.0|  14|
|                  |先×|  ○|  ×|  ×|先○|  ○|先×|先○|   4.0|    |  6.5|    |
|10.Miasis         |きふ|たこ|Daig|あや|Sylw|ねね|Fluk|GCT | 5-3-0|39.0| 19.0|   6|
|                  |  ○|先○|  ×|先○|  ×|先○|先○|  ×|   5.0|    | 11.5|    |
|11.手抜き         |まっ|あや|Aoba|きふ|762a|koro|隠岐|芝浦| 3-4-1|29.0|  7.5|  19|
|                  |  =|先×|  ×|  ○|先○|先×|  ○|  ×|   3.5|    |  2.5|    |
|12.きのあ将棋     |GCT |Argo|隠岐|まっ|人生|芝浦|Easy|CGP | 3-5-0|30.0|  9.0|  22|
|                  |先×|  ×|先○|  ○|  ×|先×|  ○|先×|   3.0|    |  3.0|    |
|13.山田将棋       |人生|Daig|CGP |762a|ねね|隠岐|たこ|きふ| 4-4-0|31.0| 10.5|  15|
|                  |  ○|先×|  ×|  ○|先×|先○|先×|  ○|   4.0|    |  5.5|    |
|14.ichbinichi     |TMOQ|W@nd|koro|Daig|たこ|Supe|GCT |Sylw| 6-2-0|44.5| 30.5|   3|
|                  |  ○|先○|先○|  ×|  ○|  ○|先○|  ×|   6.0|    | 20.5|    |
|15.TMOQ           |ichb|LOSE|Sylw|Argo|隠岐|SNNS|762a|人生| 4-4-0|25.5|  6.0|  17|
|                  |先×|  ○|先×|  ×|先×|  ○|  ○|先○|   4.0|    |  2.5|    |
|16.人生送りバント |山田|Easy|まっ|Sylw|きの|W@nd|Argo|TMOQ| 3-5-0|32.5|  9.0|  21|
|                  |先×|  ○|  ○|先×|先○|先×|  ×|  ×|   3.0|    |  3.0|    |
|17.GCT            |きの|Sylw|あや|Fluk|Daig|Aoba|ichb|Mias| 6-2-0|40.5| 27.0|   4|
|                  |  ○|先○|  ○|先○|先×|先○|  ×|先○|   6.0|    | 17.5|    |
|18.まったりゆう   |手抜|SNNS|人生|きの|Easy|あや|ねね|762a| 3-4-1|22.0|  5.0|  20|
|                  |先=|  ○|先×|先×|  ○|  ×|  ×|先○|   3.5|    |  2.0|    |
|19.きふわらべ     |Mias|koro|Easy|手抜|芝浦|LOSE|SNNS|山田| 2-5-1|25.5|  1.0|  24|
|                  |先×|  ×|  =|先×|  ×|  ○|先○|先×|   2.5|    |  0.0|    |
|20.Fluke          |芝浦|762a|Supe|GCT |Aoba|Argo|Mias|W@nd| 4-4-0|36.0| 15.0|  11|
|                  |  ○|先○|先○|  ×|先×|  ○|  ×|先×|   4.0|    |  8.0|    |
|21.Super うさ2X   |Aoba|隠岐|Fluk|ねね|W@nd|ichb|あや|Daig| 5-3-0|38.0| 20.5|   7|
|                  |先○|先○|  ×|  ○|  ○|先×|先○|  ×|   5.0|    | 12.5|    |
|22.隠岐           |ねね|Supe|きの|SNNS|TMOQ|山田|手抜|LOSE| 3-5-0|24.5|  5.0|  23|
|                  |先×|  ×|  ×|先○|  ○|  ×|先×|先○|   3.0|    |  0.5|    |
|23.762alpha       |CGP |Fluk|SNNS|山田|手抜|Easy|TMOQ|まっ| 2-6-0|26.0|  3.0|  26|
|                  |先×|  ×|  ○|先×|  ×|先○|先×|  ×|   2.0|    |  0.0|    |
|24.koron          |たこ|きふ|ichb|W@nd|あや|手抜|芝浦|ねね| 5-2-1|33.5| 19.0|   5|
|                  |先○|先○|  ×|先×|  =|  ○|  ○|  ○|   5.5|    | 11.5|    |
|25.SNNS           |あや|まっ|762a|隠岐|LOSE|TMOQ|きふ|Easy| 0-7-1|21.5|  0.0|  28|
|                  |  ×|先×|先×|  ×|先=|先×|  ×|先×|   0.5|    |  0.0|    |
|26.Sylwi          |Argo|GCT |TMOQ|人生|Mias|Daig|Aoba|ichb| 6-1-1|40.5| 27.0|   2|
|                  |先○|  ×|  ○|  ○|先○|先=|  ○|先○|   6.5|    | 18.0|    |
|27.EasyShogi      |Daig|人生|きふ|LOSE|まっ|762a|きの|SNNS| 2-5-1|22.5|  1.0|  25|
|                  |  ×|先×|先=|  ○|先×|  ×|先×|  ○|   2.5|    |  0.0|    |
|28.LOSER          |W@nd|TMOQ|たこ|Easy|SNNS|きふ|CGP |隠岐| 0-7-1|26.5|  0.0|  27|
|                  |  ×|先×|  ×|先×|  =|先×|  ×|  ×|   0.5|    |  0.0|    |
+------------------+----+----+----+----+----+----+----+----+------+----+-----+----+
○:勝ち ×:負け =:引き分け  先:先手(後手は空白)
 No. Program Name        1   2   3   4   5   6   7   8   Pt   SOS  SB   MD
  1     Daigorilla∞    25+ 15+  6+  3+  4+  2=  9+  7+  7.5 40.0 33.5 25.0
  2     Sylwi           13+  4- 17+ 21+  6+  1=  8+  3+  6.5 40.5 27.0 18.0
  3     ichbinichi      17+  9+  5+  1- 10+  7+  4+  2-  6.0 44.5 30.5 20.5
  4     GCT             22+  2+ 18+ 11+  1-  8+  3-  6+  6.0 40.5 27.0 17.5
  5     koron           10+ 24+  3-  9- 18= 19+ 14+ 12+  5.5 33.5 19.0 11.5
  6     Miasis          24+ 10+  1- 18+  2- 12+ 11+  4-  5.0 39.0 19.0 11.5
  7     Super うさ2X     8+ 23+ 11- 12+  9+  3- 18+  1-  5.0 38.0 20.5 12.5
  8     AobaZero         7- 12+ 19+ 16+ 11+  4-  2- 18+  5.0 36.5 19.0 11.5
  9     W@nderER        27+  3- 13+  5+  7- 21+  1- 11+  5.0 35.5 17.0 11.0
 10     たこっと         5-  6- 27+ 14+  3- 16+ 15+ 13+  5.0 33.0 16.5 12.0
 11     Fluke           14+ 26+  7+  4-  8- 13+  6-  9-  4.0 36.0 15.0  8.0
 12     ねね将棋        23+  8- 14+  7- 15+  6- 20+  5-  4.0 35.0 14.5  7.5
 13     Argo             2- 22+  9- 17+ 16+ 11- 21+ 10-  4.0 34.5 14.0  7.0
 14     芝浦将棋Softmax 11- 16+ 12- 10- 24+ 22+  5- 19+  4.0 31.5 13.0  6.5
 15     山田将棋        21+  1- 16- 26+ 12- 23+ 10- 24+  4.0 31.0 10.5  5.5
 16     CGP             26+ 14- 15+  8- 13- 10- 27+ 22+  4.0 27.5  9.5  5.0
 17     TMOQ             3- 27+  2- 13- 23- 28+ 26+ 21+  4.0 25.5  6.0  2.5
 18     あやめ          28+ 19+  4-  6-  5= 20+  7-  8-  3.5 34.0  7.5  3.5
 19     手抜き          20= 18-  8- 24+ 26+  5- 23+ 14-  3.5 29.0  7.5  2.5
 20     まったりゆう    19= 28+ 21- 22- 25+ 18- 12- 26+  3.5 22.0  5.0  2.0
 21     人生送りバント  15- 25+ 20+  2- 22+  9- 13- 17-  3.0 32.5  9.0  3.0
 22     きのあ将棋       4- 13- 23+ 20+ 21- 14- 25+ 16-  3.0 30.0  9.0  3.0
 23     隠岐            12-  7- 22- 28+ 17+ 15- 19- 27+  3.0 24.5  5.0  0.5
 24     きふわらべ       6-  5- 25= 19- 14- 27+ 28+ 15-  2.5 25.5  1.0  0.0
 25     EasyShogi        1- 21- 24= 27+ 20- 26- 22- 28+  2.5 22.5  1.0  0.0
 26     762alpha        16- 11- 28+ 15- 19- 25+ 17- 20-  2.0 26.0  3.0  0.0
 27     LOSER            9- 17- 10- 25- 28= 24- 16- 23-  0.5 26.5  0.0  0.0
 28     SNNS            18- 20- 26- 23- 27= 17- 24- 25-  0.5 21.5  0.0  0.0 

2日目の結果  投稿者:山下 投稿日:2020年 5月 5日(火)05時59分39秒
スイス式8回戦の結果、優勝は水匠でした。

世界コンピュータ将棋オンライン大会 決勝
          2020.5.4
+------------------+----+----+----+----+----+----+----+----+------+----+-----+----+
|     対局者名     |1局|2局|3局|4局|5局|6局|7局|8局|勝敗分|ソル|SB/MD|順位|
+------------------+----+----+----+----+----+----+----+----+------+----+-----+----+
| 1.Hefeweizen-2020|CGP |Sylw|Hone|Novi|水匠|elmo|Daig|究極| 6-1-1|38.5| 25.0|   2|
|                  |先○|  ○|先○|  ○|先×|  =|先○|  ○|   6.5|    | 17.5|    |
| 2.究極タヌポン   |山田|Daig|elmo|ichb|nozo|習甦|水匠|Hefe| 4-3-1|39.0| 14.5|   9|
|                  |  ○|先○|  ×|先○|  =|先○|  ×|先×|   4.5|    |  9.0|    |
| 3.elmo           |芝浦|dlsh|究極|水匠|Nine|Hefe|Sylw|Novi| 6-1-1|36.0| 22.5|   3|
|                  |先○|  ○|先○|先×|  ○|先=|  ○|  ○|   6.5|    | 17.0|    |
| 4.Qhapaq from Neo|Argo|習甦|GCT |Hone|Novi|ichb|dlsh|水匠| 6-2-0|36.5| 26.5|   4|
|                  |先○|  ×|  ○|  ○|先×|先○|  ○|先○|   6.0|    | 16.5|    |
| 5.水匠           |ねね|nozo|習甦|elmo|Hefe|Novi|究極|Qhap| 7-1-0|41.0| 35.0|   1|
|                  |先○|  ○|先○|  ○|  ○|  ○|先○|  ×|   7.0|    | 25.5|    |
| 6.名人コブラ     |Fluk|Hone|Aoba|CGP |習甦|ねね|Nine|dlsh| 5-3-0|30.0| 16.0|   7|
|                  |先○|  ×|  ×|先○|  ×|  ○|先○|先○|   5.0|    | 10.0|    |
| 7.NineDayFever   |たこ|Novi|Mias|dlsh|elmo|Sylw|名人|koro| 4-4-0|33.5| 13.0|  14|
|                  |  ○|  ×|先○|  ○|先×|先×|  ×|先○|   4.0|    |  6.0|    |
| 8.Novice         |W@nd|Nine|ichb|Hefe|Qhap|水匠|Aoba|elmo| 4-3-1|43.0| 19.0|   8|
|                  |  ○|先○|  ○|先×|  ○|先×|  =|先×|   4.5|    |  9.0|    |
| 9.HoneyWaffle    |Aoba|名人|Hefe|Qhap|Fluk|dlsh|Supe|Sylw| 4-3-1|36.0| 15.0|  11|
|                  |  ○|先○|  ×|先×|  ○|  ×|先○|先=|   4.5|    |  8.0|    |
|10.nozomi         |Supe|水匠|koro|W@nd|究極|Daig|習甦|Argo| 4-3-1|35.0| 14.0|  12|
|                  |  ○|先×|先○|  ○|先=|  ×|  ×|先○|   4.5|    |  7.0|    |
|11.習甦           |Mias|Qhap|水匠|Aoba|名人|究極|nozo|Daig| 5-2-1|38.0| 22.5|   5|
|                  |  ○|先○|  ×|先=|先○|  ×|先○|  ○|   5.5|    | 13.5|    |
|12.dlshogi        |koro|elmo|Supe|Nine|Aoba|Hone|Qhap|名人| 4-4-0|37.0| 15.5|  13|
|                  |  ○|先×|  ○|先×|  ○|先○|先×|  ×|   4.0|    |  8.0|    |
|13.Daigorilla∞   |GCT |究極|W@nd|芝浦|koro|nozo|Hefe|習甦| 4-4-0|32.0| 11.5|  16|
|                  |先○|  ×|  ×|  ○|先○|先○|  ×|先×|   4.0|    |  6.0|    |
|14.Sylwi          |ichb|Hefe|Argo|ねね|W@nd|Nine|elmo|Hone| 4-3-1|36.5| 14.0|  10|
|                  |  ×|先×|  ○|先○|先○|  ○|先×|  =|   4.5|    |  7.0|    |
|15.ichbinichi     |Sylw|CGP |Novi|究極|Supe|Qhap|GCT |Aoba| 5-3-0|33.5| 18.5|   6|
|                  |先○|  ○|先×|  ×|  ○|  ×|先○|先○|   5.0|    | 11.0|    |
|16.GCT            |Daig|山田|Qhap|koro|Mias|W@nd|ichb|Supe| 3-5-0|29.0|  7.0|  19|
|                  |  ×|先○|先×|  ×|  ○|先○|  ×|  ×|   3.0|    |  3.0|    |
|17.koron          |dlsh|芝浦|nozo|GCT |Daig|Supe|たこ|Nine| 3-5-0|27.5|  7.0|  21|
|                  |先×|  ○|  ×|先○|  ×|先×|先○|  ×|   3.0|    |  3.0|    |
|18.Miasis         |習甦|Argo|Nine|Supe|GCT |Fluk|CGP |W@nd| 3-5-0|28.5|  8.0|  20|
|                  |先×|  ○|  ×|先×|先×|先○|  ○|  ×|   3.0|    |  3.0|    |
|19.Super うさ2X   |nozo|ねね|dlsh|Mias|ichb|koro|Hone|GCT | 4-4-0|30.0| 12.0|  17|
|                  |先×|  ○|先×|  ○|先×|  ○|  ×|先○|   4.0|    |  6.0|    |
|20.AobaZero       |Hone|Fluk|名人|習甦|dlsh|たこ|Novi|ichb| 3-3-2|33.5| 10.0|  15|
|                  |先×|  ○|先○|  =|先×|  ○|先=|  ×|   4.0|    |  3.0|    |
|21.W@nderER       |Novi|たこ|Daig|nozo|Sylw|GCT |芝浦|Mias| 4-4-0|27.5| 11.0|  18|
|                  |先×|  ○|先○|先×|  ×|  ×|先○|先○|   4.0|    |  6.0|    |
|22.たこっと       |Nine|W@nd|ねね|山田|CGP |Aoba|koro|Fluk| 3-5-0|23.0|  5.0|  25|
|                  |先×|先×|  ×|  ○|  ○|先×|  ×|先○|   3.0|    |  2.0|    |
|23.Fluke          |名人|Aoba|CGP |Argo|Hone|Mias|山田|たこ| 2-6-0|25.5|  3.0|  26|
|                  |  ×|先×|  ×|先○|先×|  ×|先○|  ×|   2.0|    |  0.0|    |
|24.ねね将棋       |水匠|Supe|たこ|Sylw|芝浦|名人|Argo|山田| 3-5-0|27.5|  4.0|  22|
|                  |  ×|先×|先○|  ×|  ○|先×|先×|  ○|   3.0|    |  1.0|    |
|25.Argo           |Qhap|Mias|Sylw|Fluk|山田|芝浦|ねね|nozo| 3-5-0|24.0|  4.0|  24|
|                  |  ×|先×|先×|  ×|先○|先○|  ○|  ×|   3.0|    |  1.0|    |
|26.芝浦将棋Softmax|elmo|koro|山田|Daig|ねね|Argo|W@nd|CGP | 1-7-0|26.5|  0.0|  27|
|                  |  ×|先×|  ○|先×|先×|  ×|  ×|先×|   1.0|    |  0.0|    |
|27.山田将棋       |究極|GCT |芝浦|たこ|Argo|CGP |Fluk|ねね| 0-8-0|22.5|  0.0|  28|
|                  |先×|  ×|先×|先×|  ×|  ×|  ×|先×|   0.0|    |  0.0|    |
|28.CGP            |Hefe|ichb|Fluk|名人|たこ|山田|Mias|芝浦| 3-5-0|25.5|  3.0|  23|
|                  |  ×|先×|先○|  ×|先×|先○|先×|  ○|   3.0|    |  1.0|    |
+------------------+----+----+----+----+----+----+----+----+------+----+-----+----+
○:勝ち ×:負け =:引き分け  先:先手(後手は空白)

    World Computer Shogi Open Swiss Tournament (The Final)    5/4/2020
 No.  Program Name       1   2   3   4   5   6   7   8   Pt   SOS  SB   MD
  1     Suisho          22+ 12+  5+  3+  2+  8+  9+  4-  7.0 41.0 35.0 25.5
  2     Hefeweizen-2020 23+ 10+ 11+  8+  1-  3= 16+  9+  6.5 38.5 25.0 17.5
  3     elmo            27+ 13+  9+  1- 14+  2= 10+  8+  6.5 36.0 22.5 17.0
  4     Qhapaq from Neo 24+  5- 19+ 11+  8-  6+ 13+  1+  6.0 36.5 26.5 16.5
  5     Shueso          20+  4+  1- 15=  7+  9- 12+ 16+  5.5 38.0 22.5 13.5
  6     ichbinichi      10+ 23+  8-  9- 17+  4- 19+ 15+  5.0 33.5 18.5 11.0
  7     Meijin Cobra    26+ 11- 15- 23+  5- 22+ 14+ 13+  5.0 30.0 16.0 10.0
  8     Novice          18+ 14+  6+  2-  4+  1- 15=  3-  4.5 43.0 19.0  9.0
  9     Tanuki's bane   28+ 16+  3-  6+ 12=  5+  1-  2-  4.5 39.0 14.5  9.0
 10     Sylwi            6-  2- 24+ 22+ 18+ 14+  3- 11=  4.5 36.5 14.0  7.0
 11     HoneyWaffle     15+  7+  2-  4- 26+ 13- 17+ 10=  4.5 36.0 15.0  8.0
 12     nozomi          17+  1- 21+ 18+  9= 16-  5- 24+  4.5 35.0 14.0  7.0
 13     dlshogi         21+  3- 17+ 14- 15+ 11+  4-  7-  4.0 37.0 15.5  8.0
 14     NineDayFever    25+  8- 20+ 13+  3- 10-  7- 21+  4.0 33.5 13.0  6.0
 15     AobaZero        11- 26+  7+  5= 13- 25+  8=  6-  4.0 33.5 10.0  3.0
 16     DaigorillaInfty 19+  9- 18- 27+ 21+ 12+  2-  5-  4.0 32.0 11.5  6.0
 17     Super Usapyon2X 12- 22+ 13- 20+  6- 21+ 11- 19+  4.0 30.0 12.0  6.0
 18     W@nderER         8- 25+ 16+ 12- 10- 19- 27+ 20+  4.0 27.5 11.0  6.0
 19     GCT             16- 28+  4- 21- 20+ 18+  6- 17-  3.0 29.0  7.0  3.0
 20     Miasis           5- 24+ 14- 17- 19- 26+ 23+ 18-  3.0 28.5  8.0  3.0
 21     koron           13- 27+ 12- 19+ 16- 17- 25+ 14-  3.0 27.5  7.0  3.0
 22     NENE Shogi       1- 17- 25+ 10- 27+  7- 24- 28+  3.0 27.5  4.0  1.0
 23     CGP              2-  6- 26+  7- 25- 28+ 20- 27+  3.0 25.5  3.0  1.0
 24     Argo             4- 20- 10- 26- 28+ 27+ 22+ 12-  3.0 24.0  4.0  1.0
 25     takotto         14- 18- 22- 28+ 23+ 15- 21- 26+  3.0 23.0  5.0  2.0
 26     Fluke            7- 15- 23- 24+ 11- 20- 28+ 25-  2.0 25.5  3.0  0.0
 27     ShibauraSoftmax  3- 21- 28+ 16- 22- 24- 18- 23-  1.0 26.5  0.0  0.0
 28     Yamada Shogi     9- 19- 27- 25- 24- 23- 26- 22-  0.0 22.5  0.0  0.0 

AobaZeroは去年より+955ほど強く  投稿者:山下 投稿日:2020年 5月 5日(火)06時33分44秒
AobaZeroは去年と比べてweightが (+465)
w474(+2501) -> w1090相当(+2966)

探索速度が (推定+440、22倍=2^4.4, 2倍で+100として)
550/sec     -> 12000/sec (22倍)

予測読みありで (+50)

合計で +955 Elo (465+440+50) ほど強くなっていたのではないかと思います。

速度が上がったのはOpenCLの高速化(1.7倍)、内部でバッチを組む(4倍)、GPU 2080Tiを1枚でなく6枚使う
のおかげでです。GPU 6枚は使い切っていないのであと3倍以上はでるとは思います。

入玉将棋は得意な方だと思うのですが、学習では512手以内に宣言できればいい、と思ってるので
Novice戦で320手引き分けになったのが惜しかったです。
http://live4.computer-shogi.org/wcso1/kifu/WCSO1_F7_ABZ_NVC.html

168手目ぐらいで勝率97%以上で勝てる(寄せる or 宣言)と思っていて
歩を無駄に捨てて28点確保で勝とうしてました。
floodgateでも256手以内に宣言できるのはまれなので、修正してみます。

予選の順位(8位/28チーム)と比べても決勝(15位/28チーム)はかなり運がよかったと思いました。 

GLOBIS-AQZが公開  投稿者:山下 投稿日:2020年 5月11日(月)22時44分43秒
GLOBIS-AQZが公開されています。

GLOBIS-AQZ
https://github.com/ymgaq/AQ
v4.0.0
https://github.com/ymgaq/AQ/releases
囲碁AI「GLOBIS−AQZ」をオープンソースとしてGitHubに公開しました!
https://twitter.com/ymg_aq/status/1259729010851844097

CGOSでAQ400_p200として動かしています。
GTX 1050Tiだと1手、200playoutで4秒ぐらいのようです(CUDA 10.2, Windows10)。
http://www.yss-aya.com/cgos/19x19/cross/AQ400_p200.html 


AobaZeroは将棋は点数で勝つゲームと思ってる?  投稿者:山下 投稿日:2020年 5月14日(木)10時33分36秒
3月にも宣言勝ちが上手くなってる、と書きましたが、
https://524.teacup.com/yss/bbs/3594

現在、宣言勝ちで勝つ割合が非常に高いです。
勝率は5割前後なのですが、一番多いもので800局で396勝、そのうち80局は宣言勝ちです。勝ち将棋20%は宣言しています。

予想ですが寄せに行くと駒を渡して寄らなかったときの反動(頓死)
が怖いので、優勢なら入玉して点数で勝つ、という方向に進んでる感じです。
これは27点法、という入玉したら必ず勝ち、負けがついて引き分けがない、というルールのせいかもしれません。
24点法だとこうなるかは微妙です。


宣言勝ち  投稿者:伊和 投稿日:2020年 5月15日(金)20時16分14秒
今って、Aobazeroは500手くらいまで自己対戦で指してるんでしたっけ?
もしそうならその影響もありそうですね。

320手に到達した時点で引き分けってするとまた指し手の傾向が変わりそうな気がします。 


Re: 宣言勝ち  投稿者:山下 投稿日:2020年 5月16日(土)02時29分45秒
513手目を指せる場合は引き分けにしています。
ですので正しくは「512手目以内で宣言するのが上手くなってる」ですね。
floodgateの255手以内で宣言、にすると+30 Elo程弱くなります(宣言できずに)。
Kristallweizenとの800局だと512手制限での引分は3局ぐらい、から255手制限だと90局ぐらいに増えます。 


Re: AobaZeroは将棋は点数で勝つゲームと思ってる?  投稿者:山下 投稿日:2020年 5月16日(土)05時13分58秒
面白いことに学習で作ってる自己対戦の棋譜では
宣言勝ちは10000棋譜で120局程度(1.2%)程度で安定しています。
つまり自分同士だと点数勝負でなく寄せに行くのですが
Kristallweizen相手だと寄せに行かず、点数勝負に持ち込む、感じです。

下は千日手と宣言勝ちの10000棋譜ごとの局数です。
420万棋譜で学習率を下げて千日手が増えています。


(無題)  投稿者:48 投稿日:2020年 5月18日(月)13時29分51秒
Kristallweizen相手の棋譜で学習しているわけではないですよね。
そう考えると非常に面白いですね。
手数制限を厳しくした棋譜から学習すると早く入玉するようになるのでしょうか。
それとも寄せに行くのでしょうか。 

Re: AobaZeroは将棋は点数で勝つゲームと思ってる?  投稿者:山下 投稿日:2020年 5月19日(火)23時27分36秒
AobaZeroにとっては点数で勝つ、のは簡単なのかもしれません。

> 手数制限を厳しくした棋譜から学習すると

下は単に手数制限を厳しくした場合の結果ですが、256手だと
ほとんど宣言できないようです(80局 -> 10局)。
なんとなく300手以下の手数制限だと寄せに行くようになる気がします。

引分の手数を変えた場合のAobaZeroの勝率。w1126, Kristallweizen 1手200kと800局

                勝  分  敗 局数(宣 千 宣)     先手勝率     勝率    95%   ELO
 513手で引分   396- 10-394 800 (80-10-2)(s=389-401,0.492) ,0.501(0.034)(  +0)
 321手で引分   367- 61-372 800 (36-16-0)(s=361-378,0.488) ,0.497(0.033)(  -2)
 256手で引分   315-104-381 800 (10-10-0)(s=334-362,0.480) ,0.459(0.032)( -28)

*(80-10-2)は「AobaZeroの宣言勝ち」が80局、「千日手で引分」が10局、「Kristallweizenの宣言勝ち」が2局、です。 

(無題)  投稿者:48 投稿日:2020年 5月21日(木)11時18分51秒
回答ありがとうございます。
寄せに行くmctsに受けるαβの対戦を見てみたい気がします。
手数どうなるのか興味あります。 

ポーカーAIが人間のプロと対戦したログ  投稿者:山下 投稿日:2020年 6月11日(木)08時16分31秒
ポーカーAIが人間のプロと10000回対戦したログを調べてみました。
プリフロップ(2枚の手札が配られただけの状態)での行動の統計では、AIもプロも行動が似てます。

1. foldする割合は80%ぐらい。
2. SB,BB以外ではfoldしなければ、ほぼraise
3. BBではfoldは50%ぐらい。半分は勝負に行く。
4. 一番最初にbetするUTGから順にfoldする割合は微妙に下がる。

ポーカーではポジションが相当大事なんですね。予想以上でした。
"Pluribus" がAIで "MrBlue" , "MrOrange" は人間のプロです。

MrBlueさんは UTG+1 -> UTG+2 でfold率が80%から68%までガクンと下がり、
明らかに戦略を変えてるのが分かります。

テキサスホールデムではSB,BBは最低賭金を強制的に取られます(SBは半分)。
最初の1周目(プリフロップ)のベットは UTG から始まり、UTG+1,UTG+2,UTG+3,SB,BB, ... と続きます。
2,3,4周目はSBから始まります。

下は参考記事です。
下の記事で木原さんも書かれてますが
単純な合計ではPluribusは負け越し(-70866)ていて、それなのに
人間に勝った、と書いてるのはちょっともやもやします。

AIが6人プレーのポーカーで人間に圧勝--FacebookとCMUの「Pluribus」
https://japan.cnet.com/article/35139838/
ポーカーAIがポーカートッププロに勝ったと宣言するのは時期尚早である
https://kihara-poker.hatenablog.com/entry/2019/07/20/164318
Let's analyze Pluribus's Hands!
http://kevinwang.us/lets-analyze-pluribuss-hands/

「人間5人 vs AI 1人、ポジションによるプリフロップでの行動割合。10000ゲーム」

Pluribus, games=10000,利益合計= -70866 (BB=100)
           fold          call        raise           合計
SB      :  1152(70.3%)   262(16.0%)   224(13.7%)  /  1638
BB      :   800(48.4%)   704(42.6%)   149( 9.0%)  /  1653
UTG     :  1356(81.5%)     2( 0.1%)   305(18.3%)  /  1663
UTG+1   :  1322(79.1%)    11( 0.7%)   339(20.3%)  /  1672
UTG+2   :  1285(76.4%)    31( 1.8%)   366(21.8%)  /  1682
UTG+3   :  1221(72.2%)    93( 5.5%)   378(22.3%)  /  1692

MrBlue,   games= 9121,利益合計= 150081 (BB=100)
SB      :   970(63.8%)   362(23.8%)   188(12.4%)  /  1520
BB      :   474(31.2%)   910(59.9%)   135( 8.9%)  /  1519
UTG     :  1255(81.9%)     0( 0.0%)   278(18.1%)  /  1533
UTG+1   :  1218(80.2%)    18( 1.2%)   282(18.6%)  /  1518
UTG+2   :  1037(68.1%)    52( 3.4%)   434(28.5%)  /  1523
UTG+3   :  1029(68.2%)    80( 5.3%)   399(26.5%)  /  1508

MrOrange, games= 7512,利益合計= -91017 (BB=100)
SB      :  1012(80.4%)    53( 4.2%)   194(15.4%)  /  1259
BB      :   625(49.8%)   519(41.3%)   112( 8.9%)  /  1256
UTG     :  1061(84.3%)    11( 0.9%)   187(14.9%)  /  1259
UTG+1   :  1047(84.2%)    24( 1.9%)   173(13.9%)  /  1244
UTG+2   :  1014(81.4%)    30( 2.4%)   201(16.1%)  /  1245
UTG+3   :  1003(80.3%)    37( 3.0%)   209(16.7%)  /  1249

*人間は13人参加。参加上位2人のみ記載。
*最初の1回目の行動のみの統計(レイズされて再度の行動は無視)。 

CGOSのELFv2を二人目のアンカーに  投稿者:山下 投稿日:2020年 6月12日(金)14時10分55秒
19路の LZ_05db_ELFv2_p800 の点数を3102から3670固定、に変更しました。
3670はBayesEloの点数です。
これはBayesEloとの差が568点も開いて、どんどん大きくなるのを補正するためです。

standingのページではGNU Goを1800に固定してるのですが、
4000を超えるプログラムが多数存在する現在、だんだん上位の点数が圧縮されていきます。
例えばELFv2が3600で最上位に一人だけいて、そこに4000のKataGoを投入すると
ELFv2は3550ぐらいに下がってKataGoは3950で安定します。
これを繰り返して下がっていく感じです。 

スターティングハンドによるレイズの割合  投稿者:山下 投稿日:2020年 6月24日(水)10時38分57秒
ポーカーAIと人間プロのログから、
スターティングハンド(最初の2枚)によるレイズの割合を調べてみました。
例えばAIである "Pluribus" の ATs(同じスート)なら79%の割合でレイズ、ATo(違うスート)なら55%でレイズしてます。
AAならほぼ100%レイズしてます。ただ MrBlue さんは80%、と意図的にレイズ率を下げて
安くみせかけて?います。

面白いのは45s、56s、67s など連番で同じスーツだと高確率でレイズしてることです。AIも人間も。
人間のプロの "MrBlue" さんは34sで76%の確率でレイズ。
ランダムな相手でのこれらの勝率は互角程度なのですが。
いい手ばかりでレイズしてると見抜かれるので、ブラフなのかもしれません。

表は下と同じ配置で右上が同じスート(suited),左下が違うスート(off suit)です。

ポーカーのよくある状況別の確率一覧
https://shura-poker.com/holdem-poker-probability-in-several-situations

プリフロップにおけるスターティングカードによるレイズの割合。単位は%

Pluribus games=10000, profit=  -70866 (BB=100)
      A   K   Q   J   T   9   8   7   6   5   4   3   2
A :  98 100  81  66  79  59  71  51  37  68  55  69  57
K :  91  90  67  70  64  85  55  61  63  16  16  12   6
Q :  81  77  89  71  82  55  29  13  28  10  11  17   3
J :  65  47  49  82  63  58  28  18   3  17  15   0   0
T :  55  35  20  33  76  56  37  14  19  12   0   0   0
9 :  17  16  11   5  18  66  48  19   3  10   0   0   0
8 :  23   8   5   1  12  13  63  55  26  13   0   0   0
7 :  13   4   0   1   1   2   3  55  74  17   7   3   0
6 :  16   1   1   2   0   1   0   1  70  69   5   3   0
5 :  11   1   0   0   0   1   0   0   0  60  40   0   0
4 :   9   2   0   1   1   0   0   1   0   0  62   2   0
3 :  10   0   0   0   1   0   0   0   0   0   1  31   0
2 :   2   0   0   0   1   0   0   0   0   0   0   0  20

MrBlue   games= 9121, profit=  150081 (BB=100)
      A   K   Q   J   T   9   8   7   6   5   4   3   2
A :  80  96  64  79  66  55  69  54  45  54  52  61  55
K :  81  91  68  68  56  55  33  37  25  20   9  16   6
Q :  85  51  88  52  66  48  34  24  12  26  19  17  11
J :  57  34  29  63  67  69  45  30  18   5  11  17   3
T :  34  19  26  19  67  64  77  17  17   0  10   3   3
9 :  17  15  12  10  13  63  63  60  17   9  11   6   0
8 :  31   6   8   4   4   8  57  74  48  17  18   0   0
7 :  19   0   2   0   0   0  10  57  51  50  19   9   0
6 :  12   0   0   0   0   0   2  11  50  71  45  21   6
5 :  19   0   0   0   1   3   0   2   6  59  73  33   6
4 :  16   0   0   0   1   0   0   1   0   1  47  76  14
3 :  16   1   1   0   0   2   0   1   3   3   4  65  19
2 :  25   0   0   0   1   3   1   2   2   1   1   3  38

MrOrange games= 7512, profit=  -91017 (BB=100)
      A   K   Q   J   T   9   8   7   6   5   4   3   2
A :  94  76  65  65  68  66  74  55  40  73  65  76  46
K :  96 100  90  77  73  54  19   9   5   6   3   4   4
Q :  77  73  95  57  64  67  11   0   6   5   5  13   0
J :  71  31  19  70  67  43  15  20   0  15   7   5   0
T :  27  21  16  10  70  68  19   0   0   5   0   5   0
9 :   5   8   3   1   5  71  89  37  15   0   4   0   5
8 :  12   0   3   1   1   2  55  53  22   4   0   0   0
7 :   8   3   0   0   0   0   1  57  41  11   0   3   0
6 :  11   1   0   0   0   2   1   0  43  14   0   0   4
5 :   5   1   0   1   0   2   1   1   1  73  25   9   0
4 :  11   1   0   0   1   0   0   2   0   0  59   9   0
3 :  11   1   0   0   0   0   0   0   0   0   0  24   0
2 :   7   1   0   0   0   0   1   0   0   0   0   0  35

*プリフロップで最初の1回目の行動でレイズしたか(レイズされて再度のレイズも含む)。

6人の時のスターティングハンドの勝率。(1/6)=16.6% なら互角の手
ランダムな相手、6人に対して。一番強い手はAAの49.2%で弱い手は27の違うスーツで8.6%

     A    K    Q    J    T    9    8    7    6    5    4    3    2
A : 49.2 31.1 29.4 27.8 26.7 24.2 23.3 22.5 21.7 22.2 21.6 21.0 20.4
K : 27.9 43.0 28.3 26.9 25.8 23.2 21.3 20.8 20.1 19.5 19.0 18.4 18.1
Q : 25.9 25.1 37.9 26.1 25.2 22.5 20.7 19.2 18.5 18.1 17.6 17.0 16.6
J : 24.4 23.5 22.9 33.6 24.7 22.4 20.5 18.9 17.4 17.0 16.4 16.0 15.6
T : 23.1 22.3 21.6 21.5 30.0 22.5 20.6 19.0 17.4 16.0 15.6 15.1 14.8
9 : 20.3 19.5 19.0 18.7 18.9 26.6 20.2 18.9 17.4 16.0 14.6 14.3 13.9
8 : 19.4 17.4 16.9 16.8 16.9 16.6 24.0 18.9 17.6 16.3 14.8 13.6 13.3
7 : 18.4 16.7 15.1 14.9 15.1 15.1 15.4 21.9 18.0 16.7 15.3 14.0 12.8
6 : 17.5 16.0 14.4 13.2 13.4 13.5 13.9 14.2 20.1 17.0 15.9 14.5 13.3
5 : 18.0 15.4 13.9 12.8 11.9 12.0 12.4 12.8 13.3 18.5 16.5 15.2 14.0
4 : 17.3 14.7 13.3 12.3 11.5 10.5 10.8 11.4 12.0 12.6 17.3 14.7 13.7
3 : 16.7 14.2 12.8 11.7 11.0 10.1  9.5  9.9 10.6 11.4 10.7 16.2 13.0
2 : 16.1 13.7 12.3 11.3 10.6  9.6  9.1  8.6  9.1 10.0  9.5  8.9 15.5 

AobaZeroのColabが5倍ほど速く  投稿者:山下 投稿日:2020年 6月29日(月)17時47分39秒
AobaZeroの棋譜をColabで生成する場合に
開発版のブランチ(develop)を使用するようにしました。
http://www.yss-aya.com/aobazero/colab.html

Tesla K80   36.2 棋譜/時
Tesla T4   130.0 棋譜/時
Tesla P100 138.3 棋譜/時
Tesla P4    52.7 棋譜/時

ほどの速度が出ます。T4だと今までの5倍以上速くなってると思います。
これはaobazのプロセスを65個同時に起動して
バッチサイズ28でネットワークの計算をするようにしたためです。
OpenCLの将棋盤向けの高速化や2080TiではHALFを使った高速化にも対応しています。
Windows版への対応はもうしばらくかかると思います。

           Core  Memory
Tesla K80  4992  24GB
Tesla T4   2560  16GB  Tensor 320
Tesla P4   2560   8GB
Tesla P100 3584  16GB 

Re: AobaZeroのColabが5倍ほど速く  投稿者:48 投稿日:2020年 6月30日(火)13時13分47秒
早速試してみました。
表示される指し手(と時間)は以前より随分遅いなぁと思っていたのですが
56プロセス並行とは驚きました。
56本のグラフがでるのがその経過なのですね。Windowsバイナリ楽しみにしております。

序ででもないのですが,ひとつ教えて下さい。
学習のミニバッチを4096にするのを諦めたのはGPUのメモリに乗らないからというのが第一の理由でしょうか。
どこかに最適サイズがあると思いますがAlphaZeroより大きいサイズを試した例がないので気にしています。 


Re: AobaZeroのColabが5倍ほど速く  投稿者:山下 投稿日:2020年 6月30日(火)14時38分26秒
動かして頂いてありがとうございます。

developのLinux版でfloodgateでは下のようにすると
96手目からNNに与える手数を実際の手数より大きくして(256手で512手)
3倍くらい宣言勝ちしやすくなっています。棋力の低下はほぼないようです。
AobaZero_w1375_n_p800 からこれを使ってます。
./aobaz -p 25000 -b 7 -t 18 -h -i -drawmove 256 -q -w ./w1083.txt

> 学習のミニバッチを4096にするのを諦めたのは

はい。GPUに載らないのが一番の理由です。Caffeの機能でミニバッチ128のlossを32回足し合わせて
疑似的に4096にする方法があるのですが、これだと個々のミニバッチのBatch Normalizationの
平均と分散は128のまま計算されるので、厳密には正しくない、ので諦めました。 

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

宣言勝ち  投稿者:48 投稿日:2020年 7月 1日(水)13時03分57秒
CSA例会で説明されていたものが実装できたのですね。
日に2,3の宣言勝ちが出ているので増えたなぁと思っていました。

バッチサイズはやはり物理的要因でしたか。
以前マルチGPUのマシンで教師データ作られていたと思いますが
Caffeではデータパラレルの学習でミニバッチ大きくできないのでしょうか? 

Re: 宣言勝ち  投稿者:山下 投稿日:2020年 7月 1日(水)15時06分35秒
Kristallweizen相手だと宣言勝ちはさらに増えて
最新だと勝ち将棋の半分くらいが宣言になっています(391勝中、176局が宣言)。
自己対戦でもやや増えて全体の3%ぐらいです。

CaffeでもマルチGPUで学習できて、2台でバッチサイズが2倍、になります。
ただ、やっぱりGPU1つで128ミニバッチ、BNの計算も128、なので
BNを使う場合は擬似的にミニバッチが増えてることになります。
AlphaZeroの4096も複数のTPUだったはずで、おそらくBNの計算も4096でなく、
小さいサイズだと思うのですが、確信は持てません。
(BNを4096で計算させようとするとかなり遅くなると思います)
(BNのサイズが128でも4096でも大差はないとは思うのですが・・・)


Lcbとは何ですか?  投稿者:灰色猫メール 投稿日:2020年 7月 3日(金)12時31分16秒
囲碁アプリのlizzieを使っていて分からないことがあったので質問させてください。
既出でしたら申し訳ありません。
lizzieの設定項目に「勝率の表示方法」というのがあって、「Lcb」と「Winrate」という2種類が用意されています。
「Lcb」を選択した場合、スコア差が非常に大きくなると勝率が「-1.5%」や「101.5%」などのように上限或いは下限を超えた表示になることがあります。
この「Lcb」とは一体どのような意味なのでしょうか? 

(無題)  投稿者:48 投稿日:2020年 7月 3日(金)12時46分36秒
モンテカルロ木探索で使われるUCBは分かりますでしょうか?
UCBが信頼区間の上限でLCBが信頼区間の下限です。
計算上マイナスになることはあっても100%超えるの変ですね。 

Re: Lcbとは何ですか?  投稿者:山下 投稿日:2020年 7月 3日(金)16時59分58秒
LeelaZeroだと、例えばQ3を10回探索して、勝率の平均が43.16%とします。
この時のLCBは40.86%です。

  Q3 ->      10 (V: 43.16%) (LCB: 40.86%)

10回の探索だと43.16%という勝率は上下に2.3%(43.16 - 40.86)ズレる、
つまり真の勝率は下の範囲に入る感じです。

40.86% <= 43.16% <= 45.46%

この小さい方がLCBで、探索回数が増えるほど、ズレは小さくなって、LCBは43.16%に近づきます。
一般的にMCTSではRootで探索回数が最大のものを着手するのですが、LeelaZeroはLCBが最大のものを
選ぶようになってます。こちらの方が+70Eloほど強かったそうです。

Fresh max_lcb_root experiments
https://github.com/leela-zero/leela-zero/issues/2282 

CGOSの最高レーティングの推移  投稿者:山下 投稿日:2020年 7月 3日(金)17時18分32秒
下は9路(青)と19路(赤)のCGOSの最高レーティングの推移です。

2006年はモンテカルロ法が登場した時期で緩やかに上昇してますが2012年ぐらいで止まってます。
2016年にDeep Learningが登場してから19路は一気に上昇してます。
9路も上がってますが、緩やかです。

GNU Goの1800点を基準にして、9路は2012年まではコミ7.5、2016年からはコミ7.0です。
持ち時間は2012年まで19路が20分、2016年からは15分。9路はすべて5分です。
BayesELOの値が使えるものは使ってます。
2012年から2015年は休止してたのでデータがないです。


有難うございます  投稿者:灰色猫メール 投稿日:2020年 7月 3日(金)20時29分41秒
48様、山下様、有難うございます。
検討でlizzieはよく使っていますが、ディープラーニングや機械学習についてはほとんどわかりません。UCBもMCTSも初耳ですが、せっかく教えて頂いたのでこの機会に理解してみたいと思います。
今回質問させていただいたきっかけとなった経緯を説明します。
lizzieで勝率の表示方法をLcbにして9子局を設定します。
一手目、黒右上隅星、二手目、白パス、三手目、黒左上隅星・・・これで9子局を設定します。
これを勝率グラフで描画させると、2〜3手目以降は黒の勝率ほぼ100%に張り付くはずですが、
実際はギザギザの形になります。
白の手番で白の勝率が0%を下回った時に、グラフは50%ラインで動きません。次の黒の手番で一手前の白の勝率が100%(つまり下に張り付く)であったように描画されます。
コンパイル直後のlizzieではこんなことがなかったのに、どうしたんだろう?と調べた結果、勝率の表示方法をLcbに変更したのが原因だった、というわけです。


CGOS9路  投稿者:zakki 投稿日:2020年 7月 3日(金)23時28分11秒
CGOS 9路でelo差と勝ち点(勝ち+持碁/2)に持碁/2の占める割合をプロットしてみました。
なんとなくコミ7目の9路は格下には持碁にさせずレーティングを落とさず、格上相手に持碁でレーティングをもぎ取るか戦いで7.5目の時とゲーム性に違いがあるんじゃないかと思えます。
cgosサーバーからの応答を見て、対局相手に応じて布石を変えるような小細工でレーティングをちょっと稼げないですかね。


Re: CGOS9路  投稿者:山下 投稿日:2020年 7月 4日(土)03時12分43秒
このグラフの見方、難しいですね(汗)。

例えば
katab40s37-pda1  3550 だと
CrazyStone-0005  3341 相手に
10 / 8 / 18 77.78
10勝8引分0敗、なので  8*0.5 / (10+8*0.5) = 4/14 = 0.36
レート差は 3550 - 3341 = +209
という感じでしょうか。
http://www.yss-aya.com/cgos/9x9/cross/katab40s37-pda1.html

グラフの1点が1.0とか0.5に張り付いてるのは対局数が1局か2局で
全部引き分けとかで、これは無視してもいい感じですか。

格下はほとんど引き分けに持ち込めずに負けてる。
+200ぐらい格上だと引き分けになりやすい。

これは全部のレートが対象でしょうか?
レート2800以上限定、とかだともう少し違うグラフになりそうな気もします。

> 対局相手に応じて布石を変えるような小細工で

大橋プロが9路でレート差が大きいときは最善は持碁でもあえて
複雑な間違いやすい変化に持ち込んで勝ちに行く、ということを話されてたので
レート差があるときに、持碁を負け扱いにして探索する、とかはありそうですね。 


Re: CGOS9路  投稿者:zakki 投稿日:2020年 7月 4日(土)08時06分23秒
解釈はその通りです。
自己対局の結果見ながら引き分けが多い気がして、プロットしてみてましたが良い分析方法見つけられてません。

双方のレート2600以上で、対局数を円の大きさにするとこんな感じです。
対局数の多いsai_S1_9461_p10k LZ20_128_65_p3000 Aya800e_0721_10kのcrossページだけプロットしています。真面目にやるには全対局のBayesEloを取って対局数で加重平均とかでしょうか?


CGOS 9路の互角相手の黒の勝率と持碁の割合  投稿者:山下 投稿日:2020年 7月 4日(土)11時44分38秒
> プロットしてみてましたが良い分析方法見つけられてません。

グラフの右側が相手の方が強い場合、ですよね?
レートが200差以上で何かあるような気もします。

2020年1月から6月までの互角の相手に対する黒勝率と持碁の割合を調べてみました。
持碁の割合はレートが高いほど確実に上がってます。
このまま推移すると4500点ぐらいですべての対局が持碁になるのかも?
黒の勝率は微妙ですがレートが高いほど5割を切っていくように見えます。
11万局の中から2900点台同士、3000点同士、・・・の結果のみを集計してます。

1800:    32 =(   18/    0/   14), b_win_rate=0.563, d_rate=0.000
1900:     0 =(    0/    0/    0), b_win_rate=0.000, d_rate=0.000
2000:    62 =(   28/    7/   27), b_win_rate=0.508, d_rate=0.113
2100:   296 =(  132/   23/  141), b_win_rate=0.485, d_rate=0.078
2200:     0 =(    0/    0/    0), b_win_rate=0.000, d_rate=0.000
2300:    33 =(   14/    2/   17), b_win_rate=0.455, d_rate=0.061
2400:    68 =(   30/    2/   36), b_win_rate=0.456, d_rate=0.029
2500:   122 =(   54/   10/   58), b_win_rate=0.484, d_rate=0.082
2600:   280 =(   98/   45/  137), b_win_rate=0.430, d_rate=0.161
2700:    51 =(   23/    9/   19), b_win_rate=0.539, d_rate=0.176
2800:   582 =(  245/  153/  184), b_win_rate=0.552, d_rate=0.263
2900:  1458 =(  570/  433/  455), b_win_rate=0.539, d_rate=0.297
3000:   554 =(  153/  196/  205), b_win_rate=0.453, d_rate=0.354
3100:   450 =(  116/  157/  177), b_win_rate=0.432, d_rate=0.349
3200:   131 =(   34/   52/   45), b_win_rate=0.458, d_rate=0.397
3300:   124 =(   22/   55/   47), b_win_rate=0.399, d_rate=0.444
3400:     0 =(    0/    0/    0), b_win_rate=0.000, d_rate=0.000

2年前のデータはこちら。
CGOSで持碁になる割合
https://524.teacup.com/yss/bbs/3395


AobaZeroの学習率を0.00002に下げました  投稿者:山下 投稿日:2020年 7月 8日(水)11時06分2秒
学習率を
0.0002 から
0.00002
に変更しました。

10980422棋譜、weightは w1450 から新しい学習率となります。
(w1449までが古い学習率での更新)

AlphaZeroは1000万棋譜で2回目の学習率変更なので、約100万棋譜遅い更新となります。
http://www.yss-aya.com/aobazero/index.html 

電竜戦 第2回予行演習  投稿者:山下 投稿日:2020年 7月21日(火)22時53分46秒
カツ丼将棋の松本さんを中心に「電竜戦」というオンラインのコンピュータ将棋大会が
開催されています。

特徴は形勢グラフが出る、総当たり、繋ぎっぱなしで寝ている間に終わる、などでしょうか。
19日に第2回予行演習が行われ、AobaZeroも2080Tiを6枚で参加しました。
選手権よりは1.5倍ほど高速化されて6枚で18000 局面/秒ほどの速度でした。

AobaZeroは3位でした。
5月のオンライン大会優勝の水匠に勝っていたのがビックリでした。

9回戦 水匠-aobazero 510手目 勝ち宣言
https://golan.sakura.ne.jp/denryusen/dr1_test2/dist/denryusen.php?gi=dr1test1test0+tu-9_suisho_aobazero-300-5F+suisho+aobazero+20200720011011&te=510&mv=%E5%8B%9D%E3%81%A1%E5%AE%A3%E8%A8%80&gn=%E4%BA%88%E8%A1%8C%E6%BC%94%E7%BF%92%209%E5%9B%9E%E6%88%A6%E2%98%97%E6%B0%B4%E5%8C%A0-%E2%98%96aobazero

170手目では右から入玉するのかな、と思ってたのですが、押し戻されて340手目では左側から入玉する、
という気が遠くなる棋譜になってます。水匠はTR3990Xでフルで動いていたそうです。

他にも15勝のうち、3分の1の5局は宣言で勝っています。

1回戦 aobazero-Viper 402手目 勝ち宣言
https://golan.sakura.ne.jp/denryusen/dr1_test2/dist/denryusen.php?gi=dr1test1test0+tu-1_aobazero_viper-300-5F+aobazero+viper+20200719201040&te=402&mv=%E5%8B%9D%E3%81%A1%E5%AE%A3%E8%A8%80&gn=%E4%BA%88%E8%A1%8C%E6%BC%94%E7%BF%92%201%E5%9B%9E%E6%88%A6%E2%98%97aobazero-%E2%98%96Viper
6回戦 Daig振り-aobazero 451手目 勝ち宣言
https://golan.sakura.ne.jp/denryusen/dr1_test2/dist/denryusen.php?gi=dr1test1test0+tu-6_daigorilla_aobazero-300-5F+daigorilla+aobazero+20200719231715&te=451&mv=%E5%8B%9D%E3%81%A1%E5%AE%A3%E8%A8%80&gn=%E4%BA%88%E8%A1%8C%E6%BC%94%E7%BF%92%206%E5%9B%9E%E6%88%A6%E2%98%97Daig%E6%8C%AF%E3%82%8A-%E2%98%96aobazero
11回戦 aobazero-W@ndre 432手目 勝ち宣言
https://golan.sakura.ne.jp/denryusen/dr1_test2/dist/denryusen.php?gi=dr1test1test0+tu-11_aobazero_wandre-300-5F+aobazero+wandre+20200720023229&te=432&mv=%E5%8B%9D%E3%81%A1%E5%AE%A3%E8%A8%80&gn=%E4%BA%88%E8%A1%8C%E6%BC%94%E7%BF%92%2011%E5%9B%9E%E6%88%A6%E2%98%97aobazero-%E2%98%96W%40ndre
13回戦 aobazero-地ビール 416手目 勝ち宣言
https://golan.sakura.ne.jp/denryusen/dr1_test2/dist/denryusen.php?gi=dr1test1test0+tu-13_aobazero_hefeweizen-300-5F+aobazero+hefeweizen+20200720034211&te=416&mv=%E5%8B%9D%E3%81%A1%E5%AE%A3%E8%A8%80&gn=%E4%BA%88%E8%A1%8C%E6%BC%94%E7%BF%92%2013%E5%9B%9E%E6%88%A6%E2%98%97aobazero-%E2%98%96%E5%9C%B0%E3%83%93%E3%83%BC%E3%83%AB

宣言勝ちが増えだしたのは500万棋譜ぐらいからで、1200万棋譜の現在、
Kristallweizenとの棋力測定では勝ち将棋の54%近くは宣言勝ちになっています。
入玉できそうになると、まったく寄せにいかず、ひたすら
点数勝ちを目指す棋風になってるようです。
駒を渡して寄せに行くと王手の連続で要駒を抜かれる、とか難しいので
点数で勝つ方が安全なのかもしれません。

AobaZeroは独自のスクリプトで1局ごとに再起動する設定で動かしていました。

予行演習3は9月5日(土)に開催予定とのことです。

電竜戦
http://denryu-sen.jp/
第二回予行演習
https://golan.sakura.ne.jp/denryusen/dr1_test2/dr1_live.php 

Synchronized Batch Normalization  投稿者:48 投稿日:2020年 7月29日(水)18時42分40秒
以前話題にしていたバッチサイズの件に関してですが
CaffeではSynchronized Batch Normalizationは使えないのでしょうか?
可能ならマルチGPUでバッチサイズは増やせると思うのですが
https://pytorch.org/docs/master/generated/torch.nn.SyncBatchNorm.html 

Re: Synchronized Batch Normalization  投稿者:山下 投稿日:2020年 7月29日(水)21時36分22秒
Caffeでは調べた範囲だと独自実装しないと無理そうでした。
5倍ぐらい遅い程度なら運用はできるかもしれません。

バッチサイズの違いと学習率の違いはよく分かってなくて
今回の学習率の変更で+50Eloぐらいしか上がらない、と思っていたのですが
+120ぐらいは上がっていて、本来後1回下げるだけなのですが
後2回ぐらい下げても伸びそうな気もしています。


(無題)  投稿者:48 投稿日:2020年 8月 3日(月)06時42分56秒
Caffeを使ったことがないのでソースを読んでも読めていない部分があると思うので
お手数とは思いますが確認させて下さい。

学習は1万棋譜毎に行う。(初期は2000?)
過去10万棋譜からランダムに選んだ128(初期は64)局面のミニバッチ学習を2万ステップ行う。
学習時のロス計算は局面評価値を使わないでAlphaZeroと同じ交差エントロピーと勝敗項の和。
また,Caffeでは内部でstep状に学習率を変化させている?

ロスはレーティング上昇のタイミングで減っているのでしょうか?
つまり学習が進むタイミングで強くなっているんでしょうか?

私の手元では別用途にやねうら王で作った教師データをNNに学習させていますが
バッチサイズは1000くらいにした方が学習が進む感じになっています。 

AobaZeroの学習  投稿者:山下 投稿日:2020年 8月 3日(月)19時40分7秒
> 学習は1万棋譜毎に行う。(初期は2000?)

20分おきに棋譜サーバから棋譜を取得して学習しています。
現在ですと約1600棋譜ごとです。古い1600棋譜は捨てられます。
そして10000棋譜を学習した時点(ミニバッチ128で、10000回学習)で新しいweightを作ってます。
(1棋譜の手数が128手と仮定しています)。

> 過去10万棋譜からランダムに選んだ128(初期は64)局面のミニバッチ学習を2万ステップ行う。

過去50万棋譜からランダムに選んだ128局面のミニバッチを10000回(ステップ)です。

> 学習時のロス計算は局面評価値を使わないでAlphaZeroと同じ交差エントロピーと勝敗項の和。

はい。

> また,Caffeでは内部でstep状に学習率を変化させている?

学習率は一定です。現在は learning rate = 0.00002 です。

> ロスはレーティング上昇のタイミングで減っているのでしょうか?

上から順に2020年3月28日から学習率を下げる前の7月8日までの
value loss
policy loss
7月8日以降の
value loss
policy loss
です。

valueもpolicyも単調減少でないので何とも言えませんが、
現時点ではpolicyは変化がほぼ同じでvalueは 1.39 -> 1.38 に少し下がってるようにも見えます。


△91馬(19)と馬をタダで取られる  投稿者:山下 投稿日:2020年 8月 3日(月)20時04分27秒
48さんが発見されたAobaZeroが初心者レベルの悪手を指す件ですが
バグというよりも着手の出現頻度の低さとpolicy headの構造に依存した問題な気がします。

AobaZeroで遊ぼう13(近況編)
https://bleu48.hatenablog.com/entry/2020/07/23/034057

△91馬(19)と馬を取られる手を読み抜けます。
w1525で試すと△91馬(19)は141手の可能手の中で141番目の最下位でした。
Policyの値も0.000002と極端に低いです。

調べてみると
1. w0001.txt の一番最初から△91馬(19)のPolicyは 0.000000 とほぼ 0
2. 19から91に不成で移動する手、の出現頻度は低い
3. 人間のプロの32000棋譜(3595002手)では2回しか出てこない(駒取り含み全てで)。
   最大は 77 -> 76で70618回(後手番は反転で、すべて先手の符号です)。
4. しかし、同じく出現頻度が低い18から81に移動して馬を取る手はPolicyが正常(高い)。
5. 18から81に不成で移動は32000棋譜で0回。
6. 19から91に移動する手、はPolicyの出力が11259通り(139面*9*9)あるうちの
   47番目の面にあり、その面で唯一の着手可能な手。残りの80個は不可能
   (斜め方向に8マス移動できるのは1か所だけ)
7. ミニバッチ4096で11万棋譜学習したw786でも同じく低い
8. 正則化(wd)を10分の1に下げたものでも同じく低い
9. 左右反転させて99馬(11)としても同じく低い
10. 後手番でなく先手番で▲91馬(19)と馬を取る手も同じく低い
11. 実際の学習だと(681万棋譜から776万棋譜まで。96万棋譜,11733万手)
      実際に指した回数
        19から91 移動 全部       33回
        19から91 移動 (馬を取る)  6回

      実際に指さなくてもvisitで出現(Policy分布で学習される。225000万局面)
        19から91 移動 全部       2023回
        19から91 移動 (馬を取る)  116回

policy headの問題な気がしてます。

91 -> 19 へ不成で移動する動きはchannel=47で表現され、実際に指せる動きの手は1つだけです。
92 -> 29 へ不成で移動する動きはchannel=46で表現され、実際に指せる動きの手は4つです。

channel=47, 右斜め下への8マス移動。不成(91 -> 19 の1つのみ)
O********
*********
*********   「O」が可能な動き。「*」は着手不可能
*********
*********
*********
*********
*********
*********

channel=46, 右斜め下への7マス移動。不成(92 -> 29 など4つ)
OO*******
OO*******
*********
*********
*********
*********
*********
*********
*********

どちらも出現確率が低いのですが、
92->29の方は同じように低い手が4つ集まってるので、このchannelが学習される回数は4倍になります。
なので、学習されやすく、そこまで低い値にならない、のかもしれません。

policy headを全結合にするか、出現確率が低い動きの手を同一channelにまとめる、とかすれば
この問題は解決できるのかもしれません。

下は「91 -> 19」への不成の移動を実際より多く学習させた結果です。
無理やり出現割合を上げると、それなりの値と順位になります。
「91 -> 19」という移動自体の計算がバグっているわけではないようです。

▲19馬(91)のPolicyの値と全141手の中での順位

学習棋譜数  順位   Policyの値
w01073       141  0.000001104   ... 再学習する前のweight
_20000       140  0.000048874
_40000        12  0.010207972
_60000        13  0.006309384
_80000         9  0.018566459
100000        16  0.006096750
120000        17  0.002419752
140000        16  0.003961458
160000        13  0.008528376

* 160000棋譜の学習で 91 ->19 の実際の移動は通常は4回選択される。
* これを714回(馬取り(26回)と竜取り(688回))、と約180倍選択されやすくした場合
* 160000棋譜で学習局面は160000 * 128 = 20480000 局面 

(無題)  投稿者:nn 投稿日:2020年 8月 3日(月)22時40分10秒
dlshogiだと△91馬(19)はPolicyの確率96.2%でした
何かの理由で上手く学習してるようです。 


(無題)  投稿者:48 投稿日:2020年 8月 4日(火)08時03分24秒
丁寧にグラフまで作成頂きありがとうございます。
参考に学習してみようと思います。
91馬の件,policy headの構造にも一因があるのですね。
自分で作成しているNNの方も確認してみます。 


Re: △91馬(19)と馬をタダで取られる  投稿者:山下 投稿日:2020年 8月 4日(火)20時20分6秒
すみません、やっぱりPolicy Headは無関係で、単に出現確率とか
別の問題な気がしています。
4月までの棋譜で作った256x40bの大きなネットワークでも
この現象は改善してませんでした(40bはほとんど20bと同じ強さです)。 

宣言勝ちは先手の方が簡単?  投稿者:山下 投稿日:2020年 8月 4日(火)20時28分21秒
AlphaZeroはelmoに対して勝率91.2%(先手番だと98.2%(+700)、後手で84.2%(+290))
と極端に先手での勝率が高いのですが、理由が少し分かったかもしれません。

今までKristallweizen相手の手番での勝率は見てなかったのですが、
800局(AobaZero w1650, 800 playout, vs 500k/move、348勝22分430敗)で

AobaZeroが先手  179勝(投了 50、宣言129)
AobaZeroが後手  169勝(投了115、宣言 54)

で圧倒的に先手番での宣言が多いです。
宣言勝ちは先手番の方が簡単なようです。
先手は28点、後手は27点で、先手の方が宣言は難しい気がするのですが。

AlphaZeroも宣言で勝つのが上手くなるように学習していた気がします。
まだKristallweizen相手の先手勝率はそこまで高くないですですが、今後もっと宣言勝ちの割合が増えると
先手勝率も上がっていくのかもしれません。


10000棋譜ごとの自己対戦での宣言勝ちの棋譜数の推移  投稿者:山下 投稿日:2020年 8月13日(木)12時50分46秒
AobaZeroの自己対戦の学習の棋譜では宣言勝ちは
全体の4%ほどで対Kristallweizenの54%ほど高くはないのですが
900万棋譜の1%から徐々に増えてきています。
また先手での宣言勝ちもはっきり増えていて、今では先手での
宣言勝ちは後手の倍くらいです。
全体の宣言勝ちの増加はそろそろ止まりそうな気配もあります。

1360万棋譜の時点では10000棋譜で下のような割合です。
投了89%、千日手7%、宣言勝ち4%


Re: 10000棋譜ごとの自己対戦での宣言勝ちの棋譜数の推移  投稿者:山下 投稿日:2020年 8月16日(日)22時28分47秒
宣言勝ちの増加が止まりそうに見えるのは1100万棋譜から
学習率を下げたせいで、実際はまだまだ上がるのかもしれません。 

18の角でも  投稿者:48 投稿日:2020年 8月17日(月)00時37分34秒
先日の馬の話と同じですが角換わりで18の角が81に成る筋を読めずに大ポカやってました。これも学習機会の問題でしょうか。

position startpos moves 2g2f 8c8d 2f2e 8d8e 7g7f 4a3b 8h7g 3c3d 7i8h 2b7g+ 8h7g 3a2b 3i3h 2b3c 3g3f 7a6b 3h3g 6c6d 3g4f 6b6c 5i6h 6c5d 6h7h 4c4d 5g5f 6a5b 3f3e 5d4c 6i6h 5a4b 9g9f 9c9d 6g6f 1c1d 4i5h 1d1e 3e3d 4c3d 7h8h 4b3a 6h7h 3a2b 5h6h 7c7d 4f5e 8b6b 6h6g B*4i B*1h P*3h


Re: 18の角でも  投稿者:山下 投稿日:2020年 8月17日(月)06時41分51秒
これも簡単な手ですが指せないですね・・・。
41個ある可能手の中で81角成は40番目、81角不成は41番目でした。
プロの32000棋譜でも18から81(成)は0回、81(不成)は1回、と
かなり少ないので同じような問題の気がします。
policyの値自体は前回の△91馬ほど低くはないのですが

今回の▲81角成(18)  policy=0.000201618
前回の△91馬  (19)  policy=0.000001977 

Re: 10000棋譜ごとの自己対戦での宣言勝ちの棋譜数の推移  投稿者:48 投稿日:2020年 8月18日(火)17時23分29秒
ふと思ったのですが現状Google Colabで棋譜生成する説明などで
教師データ生成のエンジンの探索部に入玉判定入っていますよね。
これ,グラフ上でどのタイミングでしょうか。
以前もコメントしたかもしれませんが影響大と想像してます。 

Re: 10000棋譜ごとの自己対戦での宣言勝ちの棋譜数の推移  投稿者:山下 投稿日:2020年 8月20日(木)00時07分30秒
探索内部で宣言勝ちと千日手判定を同一局面2回から4回に変えたのは570万棋譜の時点です。
対kristallweizenでの宣言勝ちの増加はそれより少し前の500万棋譜から始まっているので
どのくらいの影響があったかはよく分かりません。


(無題)  投稿者:48 投稿日:2020年 8月20日(木)15時06分19秒
なかなか断定的に話しづらいですね。
探索部に入れると防ぐ側が防げる範囲は邪魔するようになると思いますので
若干減るのかと思うのですが,既に大勢ついていて対応できない状況が多いのでしょうか。 


KataGoが1.6.0になってCPU版に対応  投稿者:山下 投稿日:2020年 8月24日(月)15時58分7秒
KataGoが1.6.0になってGPUを使わないCPU版が付属しています。

Eigen (CPU) version and Other Improvements
https://github.com/lightvector/KataGo/releases

リリース直前のソースだと、最新の30b、50visit(4スレッド) で ELF の 800 playoutよりやや弱いぐらいの強さです。1手3秒ほど。
http://www.yss-aya.com/cgos/19x19/cross/kata150b30_cpu_v50.html

ubuntu 16で 20 block のベンチは下で、10年前の古いCPUに比べて
AVX2に対応したCPUだとは19路で6スレッド利用で3倍以上速いです。

weight
katago_1.4.5/g170e-b20c256x2-s5303129600-d1228401921.bin.gz
8月23日時点でのmasterのソースを下でビルド
$ cmake . -DUSE_BACKEND=EIGEN -DNO_GIT_REVISION=1 -DCMAKE_CXX_FLAGS='-march=native'

Intel Core i7 980X 3.33GHz (AVX2非対応、6コア12スレッド 2010年発売)
19路
thread   visit/sec
     1     2.57
     4     8.27
     6     9.72

9路
thread   visit/sec
     1     5.9
     4    17.1
     6    20.5

Intel 8700 3.2GHz          (AVX2対応、6コア12スレッド   2017年発売)
19路
thread   visit/sec
     1     8.6
     4    27.8
     6    33.2


AobaZeroの紹介記事  投稿者:山下 投稿日:2020年 8月24日(月)16時05分23秒
AobaZeroの紹介記事をライターの藤木さんに書いて頂きました。

AI同士の対局から新たな将棋戦法は生まれるか〜AobaZeroプロジェクト
https://media.dglab.com/2020/08/20-aobazero-01/
【執筆しました】人工知能に将棋のルールを教えて、人工知能同士で戦わせたら、
人間が見つけたように、美濃囲いとか振り飛車とか戦法を編み出すものでしょうか?
https://twitter.com/fujiki_toshiaki/status/1296351141630885888 

value net 再挑戦  投稿者:HiraBot 投稿日:2020年 8月26日(水)15時37分12秒
久しぶりに HiraBot 用の value net の基礎データを取ってみました
2万局面の学習データを使い初めに lr=0.0001 で 200Kiter 学習しました
(lr0.0001 参照の事) このグラフから loss が最小になるのは 100Kiter
位でそれ以上学習すると loss は増大しました自己対戦のデータは下記の通り

1300局自己対戦 500po 勝率 27.8% vNo393-No4204-0.0001-4K.dat
850局自己対戦 500po 勝率 30.1% vNo393-No4204-0.0001-10K.dat
1200局自己対戦 500po 勝率 35.0% vNo393-No4204-0.0001-50K.dat
750局自己対戦 500po 勝率 33.7% vNo393-No4204-0.0001-100K.dat

このデータから 50Kiter が最良で loss 最小の約半分になりました
そこでこれより小さい 20Kiter から lr=0.00001 で fine tuning してみました
(lr0.0001-0.00001 参照の事) とりあえず 150Kiter までのグラフですが
まだまだ loss は低下し続けるように見えます

900局自己対戦 500po 勝率 32.9% 20Kiter 学習後 4Kiter 追加学習
450局自己対戦 500po 勝率 37.6% 20Kiter 学習後 100Kiter 追加学習

このデータから追加学習で勝率が向上する事が分かります


CGFオープンが10月10日(土)、11日(日)に開催  投稿者:山下 投稿日:2020年 8月30日(日)12時06分23秒
CGFオープンが10月10日(土)、11日(日)に開催されます。
今年は新型コロナウイルスの影響で、オンラインでの開催となります。
当日の対局の連絡などはSlack、Zoomで行います。
皆様のご参加をお待ちしております。

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

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

KataGoのKataは日本語の「型」  投稿者:山下 投稿日:2020年 9月 8日(火)19時42分4秒
どこの言葉なんだろうと思ったら日本語の武術の「型」から来てるそうです。
強化学習で、自分自身を絶え間なく鍛錬して、独自のフォームを完成させる自己対戦のボット、
からの連想だそうです。

The Name of KataGo
https://github.com/lightvector/KataGo/issues/311 

自己対戦と、対Kristallweizenとの宣言勝ちの推移を先手番、後手番で  投稿者:山下 投稿日:2020年 9月11日(金)13時00分0秒
自己対戦と、対Kristallweizenとの宣言勝ちの推移を先手番、後手番で分けて調べてみました。

10000棋譜ごとの自己対戦での宣言勝ちの推移(上のグラフ)
http://www.yss-aya.com/20200911declare.png

1000万棋譜から先手番での宣言勝ちが増えています。
現在もゆるやかに上昇中です。
ただ後手番の宣言勝ちは増加が止まってます。
それでも10000局で合計400局、4%程度が宣言勝ちなだけです。

10000棋譜ごとの自己対戦での引き分けの数(中のグラフ)
http://www.yss-aya.com/20200911draw.png

こちらは引き分けの数です。やや最近は増加傾向です。
800局なので全体の8%程度が引き分けです。
512手超えはほぼなく、99%以上が千日手です。

対Kristallweizenでの宣言勝ちの推移(下のグラフ)
http://www.yss-aya.com/20200911declare_krist.png

対Kristallweizenでもw950(600万棋譜)から先手番での宣言勝ちの
割合が増えています。
w1360(1000万棋譜)ではもうすでに、先手では60%の勝、と
大きく差が出てます。自己対戦では1000万棋譜で
ようやく先手が増えだしたのとは、かなり異なります。

現在では先手の勝ちの75%近くは宣言勝ち、後手では35%、と
大きな差が出ています。
ただ、先手、後手の勝率には差はほぼないです。AlphaZeroは
対elmoでは先手勝率98%、後手84%と大きな差があります。


技巧2を基準にしたAobaZeroのレート  投稿者:山下 投稿日:2020年 9月11日(金)20時07分47秒
floodgateだとAobaZeroは max_moves が多くレートが正しく測れていない感じです。
gikou2_1c は悪くなると投げて max_moves にならないので技巧2相手だけでレートを計算すると、

過去30日だと gikou2_1c は w1705 から w1905 までの11個に対し72勝30敗
勝率 0.706 は 152 ELO差。技巧2 が 3300 なので、AobaZeroは 3148 程度で、
現在の3000程度より150ぐらい上かもしれません。 

AlphaZeroは思考時間が長いと先手勝率が高い  投稿者:山下 投稿日:2020年 9月11日(金)20時09分7秒
今まで気づかなかったのですが、論文のFig 2をよく見ると
AlphaZeroはelmoに対して思考時間が長いほど、先手での勝率が上がっています。

下はグラフから読み取ったAlphaZeroの対elmoの勝率です。
グラフに合わせて、AlphaZeroが後手のとき、先手のとき、の勝と引き分けの値、
そして先手と後手での勝率の差です。

思考時間が1/100の時は、先手と後手の差は+30 ELO、勝率で0.54程度の差で、
これなら通常の将棋の勝率に近いです。
しかし、思考時間を増やすごとに先手と後手の差は広がり、
same time(持時間3時間)では +390 ELO もの差になっています。

AlphaZeroは探索速度は4TPUで 58000回/秒 なので持時間3時間の100分の1、108秒だと
1手1秒程度かと思います。elmoは 44 threadで 25100k /秒 です。

現在のAobaZero(w1650)の勝率は
1手  800 playout 対 elmoの1手   346k   勝率 87.9%  (先手勝率 89%、後手勝率 87%)
1手 8000 playout 対 elmoの1手  3462k   勝率 80.9%  (先手勝率 83%、後手勝率 79%) 先手で宣言勝ちは94%の割合
1手58000 playout 対 elmoの1手 25100k   勝率 計測中

まだ先手勝率が上がっていく気配はないです。
1手1秒の再現実験でも20日間かかり、持時間3時間で1000局の再現実験は3年ぐらいで厳しそうです。

AlphaZeroの対elmoでの思考時間を変えた時の勝率(グラフから読み取った数値)

     勝  引分  勝率    ELO   先手と後手の差(ELO)
1/100
  42.8%, 5.6% (45.6%   -31 )
  49.6%, 0.5% (49.9%    -1 )  +30
1/30
  68.0%  2.1% (69.1%  +140 )
  79.1%  0.9% (79.6%  +237 )  +97
1/10
  69.9%  2.8% (71.3%  +158 )
  91.2%  0  % (91.2%  +406 ) +248
1/3
  80.0%  1.6% (80.8%  +250 )
  95.2%  0.8% (95.6%  +535 ) +285
same time
  84.2%  2.2% (85.3%  +305 )
  98.2%  0  % (98.2%  +695 ) +390

A general reinforcement learning algorithm that masters chess,shogi,and Go through self-play
https://science.sciencemag.org/content/sci/362/6419/1140.full.pdf


AWAKEの映画  投稿者:山下 投稿日:2020年 9月15日(火)22時33分29秒
2015年電王戦の阿久津8段 vs AWAKEをモチーフにした映画が
今年の12月に公開されるそうです。
主役の吉沢亮さんは2021年のNHK大河の主役を演じる予定の俳優さんです。
CSAも少し手伝っており滝沢さんと私が昨年、撮影現場にお邪魔していました。

吉沢亮、AI将棋のプログラミングにのめり込む! 伝説の将棋電王戦描く「AWAKE」12月公開
https://eiga.com/news/20200812/4/
映画「AWAKE」公式サイト
https://awake-film.com/ 

互角局面集を使うとAobaZeroは +150 ELOほど弱くなる  投稿者:山下 投稿日:2020年 9月18日(金)19時25分46秒
AobaZeroは対Kristallweizenとの棋力計測に磯崎氏が作成された互角局面集を使っています。
これを使わずに「やねうら王 標準定跡」を相手側だけつかうようにすると

AobaZero w1650の1手800 playoutは

Kristallweizen 1手500k 相手だと +114 ELO 強く、
elmo           1手346k 相手だと +155 ELO 強くなります。

これは互角局面集にAobaZeroが指さない戦型(穴熊や先手振飛車、対振で船囲いから急戦など)が
含まれてるためと思われます。

AobaZero(w1650)の1手800playout 対 Kristallweizen、elmoで互角局面集、standard_book.dbを使った場合。
AobaZeroは一切乱数性なし。

Kristallweizen 1手500k           勝 分 敗 局数 (宣 千 宣) 先手勝率        勝率   95%    ELO
互角局面集                      348-22-430 800 (183-14-4)(397-381,0.510), 0.449(0.034)( -35)
standard_book.db, 同一棋譜 3局, 482-15-303 800 (268- 9-1)(401-384,0.511), 0.612(0.033)(  79) +114差

elmo           1手346k
互角局面集                      580-11-209 800 (338- 9-0)(412-377,0.522), 0.732(0.030)( 174)
standard_book.db, 同一棋譜 5局, 693- 5-102 800 (423- 3-2)(403-392,0.507), 0.869(0.023)( 329) +155差

※1 standard_book.db は v4.73_book の「standard_book.zip : やねうら王 標準定跡」
※2 elmoは「elmo WCSC25版」に付属の standard_book.db を使うと800局で同一棋譜が5局から75局に増えます。
    AobaZero側で最初30手までは勝率2%以内ならsoftmax samplingで選ぶようにすると75局が5局程度に減ります。
    最終的な勝率も0.879程度とあまり変わらないです。

自己対局用に互角の局面集を公開しました
http://yaneuraou.yaneu.com/2016/08/24/%E8%87%AA%E5%B7%B1%E5%AF%BE%E5%B1%80%E7%94%A8%E3%81%AB%E4%BA%92%E8%A7%92%E3%81%AE%E5%B1%80%E9%9D%A2%E9%9B%86%E3%82%92%E5%85%AC%E9%96%8B%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/
やねうら王 定跡ファイル詰め合わせ
https://github.com/yaneurao/YaneuraOu/releases/tag/v4.73_book 


プロ棋士とfloodgateのレート  投稿者:山下 投稿日:2020年 9月27日(日)22時00分30秒
プロ棋士のfloodgateでのレートを推定してみました。
基準となるのはプロ棋士の千田さんが2015年にAperyと持時間1時間1分で54局対戦して
勝率2割(10勝40敗4千日手)だったことです。

Apery_WCSC25 1時間(2015年6月)
http://blog.livedoor.jp/mizumon_/archives/728040.html

千田さんのマシンは「i7_5960X_8c 16GB」
E5-2687W(3.1GHz, 8コア,16スレッド)で8スレッド使ってfloodgateで apery_WCSC25_E5-2687W_8t で走らせました。
495局対戦して3066点。
http://wdoor.c.u-tokyo.ac.jp/shogi/view/show-player.cgi?event=LATEST&filter=floodgate&show_self_play=1&user=apery_WCSC25_E5-2687W_8t

floodgateは5分10秒。1手15秒として1手60秒は4倍。思考時間10倍で+330とすると、4倍で+199。
3066+199 = 3265

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

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

現在のトップは藤井聡太二冠の1978点(棋士別サイト)なので+1342でfloodgateでは3320点。

藤井聡太二冠 1978点(2020-09-27)   floodgate 3320?
千田さん     1837点(2020-09-27)   floodgate 3179?
             1683点(2015-06-02)   floodgate 3025?

思考時間10倍で+330、は下を基準としています。
KristallWeizenが
1手1000k -> 100m で +712 (100倍)。10倍で+356
elmoが
1手1000k -> 10m  で +303

レート3100点ぐらいから10倍で+356と+303なので、中間をとって+330としました。
(10倍で+330は2倍で+99です)

Krist_483_473stb_16t_100m    3962     +712 (100倍)
Krist_483_473stb_1000k       3250     +443
Krist_483_473stb_100k        2807

elmo_WCSC27_479_4t_10m       3330     +303
elmo_WCSC27_479_1000k        3027     +372
elmo_WCSC27_479_100k         2655 


(無題)  投稿者:48 投稿日:2020年 9月28日(月)11時54分22秒
メモリが16GB程度ではハッシュテーブルが考慮時間分もたない気もしますが
以前から千田先生が言われてるようなgikou2のdepth11か12のレーティングにも近いのですね。
http://blog.livedoor.jp/mizumon_/archives/20452513.html

次はプロ棋士にAobaZeroのp800と対戦して頂きたいです。


Re: プロ棋士とfloodgateのレート  投稿者:山下 投稿日:2020年 9月28日(月)23時04分46秒
千田さん、技巧2のdepth11,12とも50局対戦されていたのですか。
貴重なデータでありがたいです。
以前チェスソフトの開発者のDon Daileyが、
持時間を増やしたときのレートの伸びはソフトより人間の方がはっきり高い、と言われてました。 

2020 World Artificial Intelligence Go Competitionの予選結果  投稿者:山下 投稿日:2020年 9月30日(水)03時35分39秒
9月27日から中国で開催されていた
2020 World Artificial Intelligence Go Competition(福建海峡銀行杯)
はスイス式7回戦で予選が行われ上位の8チームが準々決勝に進むそうです。
ネットの問題で70試合のうち、28試合が時間切れや相手が不在、などで終わってます(senseisの結果より)。
LeelaZeroが通過で、より強いKataGoが9位で予選落ちしてる、のも残念な結果です。

上位はKataGoをベースにしたソフトが多数、という話もありました。
https://twitter.com/ohashihirofumi/status/1310943040618532864

           勝数 SB 順位
Myrtyle Go   6  30  1
ChoRanGo     6  29  2
Golaxy       5  28  3
Tian Go      5  26  4
YiLeGo       4  30  5
DolBaram     4  29  6
LeelaZero    4  29  7
izisgo       4  25  8
KataGo       4  25  9
Clear Stone  4  19 10
Yixiaotian   3  28 11
AiqiGo       3  25 12
WeiHuGo      3  25 13
FlyingTiger  3  23 14
Handtalk     3  23 15
DaPangGo     3  19 16
BaduGI       3  18 17
XiaofeiGo    2  19 18
Go Sprit     1  21 19
BSK          0  19 20

Result (BSKの作者の神宮司さんのツイッター)
https://twitter.com/oubeika11/status/1310903786483802115
公式?な結果と棋譜(中国語)
http://game.egcode.cn/#/match/7
2020 World Artificial Intelligence Go Competition
https://senseis.xmp.net/?2020WorldArtificialIntelligenceGoCompetition
2020 World Artificial Intelligence Go Competition Rules & Information
https://gameofgo.app/general/world-go-artificial-intelligence-tournament-2020
大会の紹介記事(中国語)
https://sports.sina.com.cn/go/2020-09-08/doc-iivhvpwy5522546.shtml 

Re: CGFオープンが10月10日(土)、11日(日)に開催  投稿者:山下 投稿日:2020年10月 1日(木)16時12分12秒
CGFオープンが10月10日(土)、11日(日)に開催されます。
今年は新型コロナウイルスの影響で、オンラインでの開催となります。
当日の対局の連絡などはSlack、Zoomで行います。
現在の参加予定者は2名となっています。
皆様のご参加をお待ちしております。

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

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

CGFオープンの結果  投稿者:山下 投稿日:2020年10月12日(月)06時55分17秒
10日、11日にCGFオープンが行われ以下の通りでした。

9路の結果
10月10日(土) 9路 10分切れ負け、中国ルール、コミ7.0目

          Ray   Rn  BSK  Koha Aya  GNU  Pyaq 勝也  勝数  順位
Ray             =1   11   11   01   11   11   11   12.5    1
Rn         0=        01   =1   11   11   11   11   11      2
BSK        00   01        ==   01   11   11   11    9      3
Kohada     00   0=   ==        1=   11   11   11    9      4
Aya        01   00   01   =0        11   11   10    7.5    5
GNU Go     00   00   00   00   00        11   11    4      6
PyaqArgo   00   00   00   00   00   00        11    2      7
勝也       00   00   00   00   10   00   00         1      8

* "=1" は黒番で持碁、白番で勝ち、の意味。= は0.5勝計算。
* 1回戦の1局目 Pya(黒)-勝也(白)、は勝也が動作せず時間切れ負け。
* 1回戦の2局目 BSK(白)-Rn  (黒)、はRnが持時間30分とサーバから情報が来ていて時間切れ負け。棋譜はその後も打ち続け持碁。
* 2回戦の1局目 Aya(黒)-勝也(白)、は持時間30分で打たれてAyaの時間が10分を過ぎたがAyaの勝とした。

19路結果
10月11日(日) 19路 30分切れ負け、日本ルール、コミ6.5目

順位  Program Name       1   2   3   4   5   6   Pt   SOS  SB   MD
  1     Rn               8+  3+  2+  5+  6+  4+  6.0 17.0 17.0 12.0
  2     Kohada           5+  4+  1-  3+  7+  6+  5.0 19.0 13.0  8.0
  3     BSK              6+  1-  4+  2-  8+  7+  4.0 17.0  6.0  3.0
  4     Ray              7+  2-  3-  8+  5+  1-  3.0 19.0  4.0  1.0
  5     Aya              2-  7+  6+  1-  4-  8+  3.0 17.0  3.0  1.0
  6     GNU Go           3-  8+  5-  7+  1-  2-  2.0 19.0  1.0  0.0
  7     勝也             4-  5-  8+  6-  2-  3-  1.0 17.0  0.0  0.0
  8     PyaqArgo         1-  6-  7-  4-  3-  5-  0.0 19.0  0.0  0.0

* PyaqArgo - Rn は Argo がWifi回線不調のため時間切れ負け。
* 勝也 - Pyaq は417手で、400手超えで審判裁定
* Rn-BSKは原因不明で対局が停止し、持ち時間を15分で再試合を行った

2020年 CGFオープン結果
http://hp.vector.co.jp/authors/VA012620/cgf2020/result2020.html
棋譜
http://hp.vector.co.jp/authors/VA012620/cgf2020/cgf2020.zip 

Re: CGFオープンの結果  投稿者:zakki 投稿日:2020年10月13日(火)21時08分48秒
参考までにCGFオープン版Rnについて。

9路 LeelaZeroをベースにRayの囲碁知識をNNの入力に加え、
また強化学習にKataGo方式をいくつか導入しました。
初期棋譜に一部AyaとCGOSの棋譜を使ってる以外は自己対局棋譜で強化学習しています。
基本的にcgosのrn.6.3.945と同じものですが、
ponderingの再開タイミングはNNGS-GTPブリッジ向けに調整しています。
https://github.com/zakki/leela-zero/tree/9x9-endstate

19路 Ray(8.0)ベースの探索部分とLeelaZeroのNNを使っていました。
CGOSのRLO.0.8と同じでネットワークだけ#278に更新しました。
https://github.com/zakki/Ray/tree/lz

UEC杯に向けては独自の19路ネットワーク作れるくらいに強化学習コストを減らす方法が欲しいところです。 

Re: CGFオープンの結果  投稿者:山下 投稿日:2020年10月14日(水)08時43分58秒
詳細な解説ありがとうございます。
Ayaは19路はLZの棋譜からシチョウなどの情報を追加して
192x15bで学習させたモデルを作ったのですが
LZの 192x15b(a4b5)にPolicyだけで勝率25%程度にしからならず、
これで参加しようと思ったのですが直前に時間をかけるとCaffeが落ちる現象が発生して、前回のUEC杯と同じもので参加しました。
KataGoの棋譜があるのを見つけたので、UEC杯はこれで学習してみようかと思ってます。

> UEC杯に向けては独自の19路ネットワーク作れるくらいに

LZにシチョウだけ追加して強化学習させるには100万棋譜ぐらいで何とかならないですかね・・・。 

KataGoの自己対戦の学習棋譜  投稿者:山下 投稿日:2020年10月14日(水)08時46分3秒
katago-public/g170/selfplay
https://d3dndmfyhecmj0.cloudfront.net/g170/selfplay/index.html
katago-public
https://d3dndmfyhecmj0.cloudfront.net/index.html


Re: CGFオープンの結果  投稿者:zakki 投稿日:2020年10月14日(水)12時26分28秒
> Ayaは19路はLZの棋譜からシチョウなどの情報を追加して
> 192x15bで学習させたモデルを作ったのですが
> LZの 192x15b(a4b5)にPolicyだけで勝率25%程度にしからならず、

LZの棋譜から学習するのはRnでも前回UEC杯の時に試してたんですが
LZの学習済みウェイトにnet2netで入力特徴追加して学習すると追加した特徴がほとんど使われないし、
完全に新規ネットワークから学習するとLZよりだいぶ弱くなるというので何か課題がありそうです。

今回自己対局からやった9路は普通には強くなっていくので特徴追加自体がまずいってことは
無いとおもうんですがよくわかってません。 


Re: CGFオープンの結果  投稿者:山下 投稿日:2020年10月14日(水)15時00分18秒
> 追加した特徴がほとんど使われない

そうなんですか・・・。ある程度役割が決まってて、もう入る余地がない、という感じなのでしょうか。

> 完全に新規ネットワークから学習するとLZよりだいぶ弱くなる

入力の特徴含めて棋譜がそれに特化されている、とかはあるんでしょうかね?
NNは本当に賢くてバグがあってもそれなりに学習してくれるのでデバッグ難しいです。


LeelaZeroのshuffle buffer  投稿者:山下 投稿日:2020年10月14日(水)15時01分45秒
AlphaGoZeroの Replay Buffer (window_size) は 50万棋譜なので
本来、50万 * 1棋譜平均220手 = 11000 万局面 ぐらいのshuffle buffer が必要?だと思うのですが。

実際は
shuffle_size=1<<20  (1048576 個、104万個)
で100分の1です。
11000万局面だと230GBくらいメモリを必要とするので多分ほとんどのマシンで動かないですが。

これを緩和するため?に

DOWN_SAMPLE = 16

という値があって、16局面から1つぐらいしか取り出さないです。
ただ、50万棋譜分の局面を指定してAGZに合わせるには100分の1のサイズなので100倍の

DOWN_SAMPLE = 100

ぐらいにしないと釣り合わない気がします。

shuffle bufferはミニバッチに使われたデータは即削除して別の新しいデータをそこに埋め込むようになってます。

LeelaZeroは他にも同時に子プロセスを8個ぐらい起動して、それぞれが最初に
ランダムに局面群(*.gz)をシャッフルして読んで、最初にshuffle bufferを埋める、
という仕様になっています。
コード眺めてつくづく思うのはLZは論文が発表されて1か月くらいでよくこのシステムを
作り上げたなぁ、ということです。感心します。 

AobaZeroの棋譜で  投稿者:48 投稿日:2020年10月18日(日)14時26分55秒
保木先生にお願いしてAobaZeroの棋譜を大量転送頂きました。
以後はこちらを参考に追加しました。
https://tokumini.hatenablog.com/entry/2020/09/11/140000

pythonだとlzmaライブラリが標準であるので前処理プログラム自体は意外と簡単でした。
GILがあるのでスクリプト8つ同時稼働しましたが1PC一晩でほぼ変換終わりました。
将棋ではやねうら王はじめ多くの教師データがハフマン符号化されてますが
囲碁では圧縮構造は使われてないのでしょうか? 

Re: AobaZeroの棋譜で  投稿者:山下 投稿日:2020年10月18日(日)16時13分29秒
LeelaZeroは内部で棋譜でなく局面(NNへの入力生データ)で持っていて圧縮はしていないです。
Policyの個々の確率は圧縮してもあまり小さくならないかもしれません。
ただそのお陰で汎用性はあると思います。

AobaZeroの学習は棋譜で持っていて、最近だと50万棋譜で9GBくらいで収まってます。 

(無題)  投稿者:48 投稿日:2020年10月18日(日)22時52分18秒
教師データがone-hotじゃないんですね。
うちでは面倒なのでone-hotにしちゃってました。その代わり数億局面メモリに乗ります。 

LeelaZero  投稿者:zakki 投稿日:2020年10月20日(火)21時51分15秒
ファイルとしてはgzip圧縮してて、メモリ上でもpack形式にはしてて節約してはいますね。 

Re: LeelaZero  投稿者:山下 投稿日:2020年10月20日(火)22時43分16秒
そうでした。石の配置はbit列で詰まってますね。
AobaZeroをLZの学習コードで動かしてみようと、改造してたのですが
Policyの教師がLZだと19*19+1=362 (* float 4 byte) なのですが
将棋だと9*9*139=11259 と巨大になって思案してます。 

(無題)  投稿者:48 投稿日:2020年10月21日(水)14時52分13秒
その辺,囲碁の方がずっと楽なんですよね。
私は当初から入力は現局面だけにして後は探索任せにしてます。 

KataGo vs Golaxy  投稿者:山下 投稿日:2020年10月21日(水)20時40分59秒
KataGoとGolaxyをハイスペックで打たせた結果、KataGoが2連勝しています。

KataGoは2080Tiを8枚、Golaxyはwebで利用できる?x24というものです。
持ち時間1時間1分。

Golaxyって50blockだったんですね。

White: Golaxy Pro AI 24x speed         -  5.6k playouts per second on 50 block engine
Black: Katago 1.61 with 8 2080ti gpu's -  8  k playouts per second on 40 block engine

Post subject: KataGo Versus Golaxy - Kata's got game
https://lifein19x19.com/viewtopic.php?f=18&t=17820&sid=16a7a000967543f693110cf991aa175e 


AobaZeroのWindows版が5倍程速く  投稿者:山下 投稿日:2020年10月23日(金)08時38分43秒
AobaZeroのWindows版を1年ぶりに更新しました。
GPU使用時に速度が5倍ほど速くなっています。
エンジン登録時に3分ほど時間がかかります。
https://github.com/kobanium/aobazero/releases


AobaZeroの自己対戦で投了するように  投稿者:山下 投稿日:2020年10月24日(土)10時12分9秒
現在、developブランチで勝率10%以下で棋譜生成の自己対戦を投了するようにしています。
ただし、投了の間違い(最後まで指せば勝つのに投げてしまった)の割合が5%以下なのを確認するために
対戦の10%の棋譜では投了しないようにしています。
勝率10%で投了させることで間違う割合は1.23%ほどです。
投了させることで、囲碁の9路では棋力の向上があった、とのRayの小林さんの報告があります。
勝敗に影響のない局面(26%ほど)が減り、より重要な局面を学習できるためかもしれません。
この影響で平均手数も141手から132手に減ってます。aobazのバージョン13から適用されてます。、
Colabで動かすと投了が適用されます。近日中にv1.6にリリースも更新します。

投了勝率  全棋譜数  勝率で投げた数  間違った投了 割合  全手数  減る手数 割合
     1%      2926        2526              1( 0.04 %)  408681    57413( 14.0 %)
     2%      2926        2580              4( 0.15 %)  408681    64262( 15.7 %)
     5%      2926        2655              9( 0.33 %)  408681    79470( 19.4 %)
    10%      2926        2668             33( 1.23 %)  408681   107107( 26.2 %)
    15%      2926        2670             77( 2.88 %)  408681   132870( 32.5 %)
    20%      2926        2677            152( 5.67 %)  408681   159443( 39.0 %)
    25%      2926        2687            279(10.38 %)  408681   189917( 46.4 %)
    30%      2926        2704            443(16.38 %)  408681   220909( 54.0 %)
    35%      2926        2726            659(24.17 %)  408681   256285( 62.7 %)


SAI、20x256への移行をあきらめる  投稿者:山下 投稿日:2020年10月25日(日)10時29分35秒
12x256 で生成した棋譜を 20x256 で学習させて棋力が
追いつけば移行しようとしてましたが
追いつかず移行を断念して 12x256 を続けるそうです。

> Training of 20x256 ended with nets that are no stronger than 12x256.
> They are available, but we will go on doing self-plays on 12x256 to save resources.

なんとなく伸び悩んでるのは意図的に直前手の情報を与えていないのが
大きい気がします。

大きなネットワークで学習させたから必ずしも強くなる、というわけでもないのでしょうか?
AobaZeroも 20b x256 で作った棋譜を 40b x256 で学習させたものは
ほぼ同じ強さにしかなっていないです。
100万棋譜ぐらいの時に、15b x64 で作ったものを 20b x256 で学習させたときはそれだけで
自己対戦だと+100ほどは強くなったのですが(同じplayout数で)。

SAI
http://sai.unich.it/ 

Re: SAI、20x256への移行をあきらめる  投稿者:zakki 投稿日:2020年10月26日(月)20時16分22秒
Rnの9路はネットワーク大きくして以前の教師データで訓練しても若干弱いくらいなのは
なんかそういうものだと思って若干弱いところから強化学習再開してました。
最初から15x192と割と大きいネットワークから初めてからなんでしょうか。 

Re: SAI、20x256への移行をあきらめる  投稿者:山下 投稿日:2020年10月27日(火)10時04分9秒
> 以前の教師データで訓練しても若干弱いくらい

それでも大きなネットの方が強くなっていくのは何か不思議な感じです。

今にして思えば、AlphaZeroはStockfishやAGZを抜けなければ
どんどんネットの大きさを倍、倍、にしていくつもりだったのでしょうね。
倍にしたときの速度の低下(1.5倍くらい?)に比べれば
棋力の伸び(2.0倍くらい?)の方が若干大きい気がします。 

アナザーストーリーズ「名人がAIに負けた日 〜人間VS将棋ソフト〜」  投稿者:山下 投稿日:2020年11月10日(火)14時33分8秒
11月3日にNHKのBSで放送された番組の再放送が12日あります。
コンピュータ将棋の関係者も多数登場します。私も少し出てきます。

アナザーストーリーズ「名人がAIに負けた日 〜人間VS将棋ソフト〜」
[NHKBSプレミアム] 2020年11月12日 午前8:00 ~ 午前9:00 (60分)
https://www.nhk.jp/p/anotherstories/ts/VWRZ1WWNYP/schedule/ 

GPW2020の論文が公開されています  投稿者:山下 投稿日:2020年11月10日(火)17時57分46秒
GPW(ゲームプログラミングワークショップ)の論文が公開されています。
https://ipsj.ixsq.nii.ac.jp/ej/index.php?action=pages_view_main&active_action=repository_view_main_item_snippet&index_id=10402&pn=1&count=20&order=7&lang=japanese&page_id=13&block_id=8

今年の招待講演はStockfishに移植されたNNUEの野田さんと25周年を記念して松原さんです。
https://www.logos.ic.i.u-tokyo.ac.jp/~tsuruoka/sig-gi/gpw/2020/program.html 

Re: GPW2020の論文が公開されています  投稿者:zakki 投稿日:2020年11月10日(火)21時54分51秒
リンク先の論文を眺めていて、MC Softmax探索というのを初めて知ったんですが、将棋で有効なんでしょうか?
別手法でMonte-Carlo tree search as regularized policy optimizationのπに基づいた確率的探索を囲碁で試した限りでは探索ノードの選択を確率分布で行うのは、それなりの頻度で1路のような意味のない手を読んで微妙でした。バックアップ側でも確率分布を使ってるのがいいんでしょうか 

Re: GPW2020の論文が公開されています  投稿者:山下 投稿日:2020年11月11日(水)10時26分46秒
まだ既存の手法を上回る、という感じではなかったと思います。 

KataGoの論文が微修正  投稿者:山下 投稿日:2020年11月12日(木)13時15分24秒
11月9日に微修正されてます。
気が付かなったのですが、こまめに修正されていますね。
40bの結果が載ってる、とかではないようで、どこが変わったかはパッと見には分かりません。

Accelerating Self-Play Learning in Go
https://arxiv.org/abs/1902.10565 


Re: GPW2020の論文が公開されています  投稿者:zakki 投稿日:2020年11月13日(金)18時16分33秒
なるほど。
ちゃんと読んでみると実験結果も選択温度とバックアップ温度を極端に下げると既存手法の挙動に近づき結果として強さも既存手法程度でそれ以外だと弱くなっていますね。 


電竜戦の締め切りは15日まで  投稿者:山下 投稿日:2020年11月13日(金)21時42分50秒
11月21日、22日に電竜戦が行われます。
1日目に10試合で、上位10チームが2日目に総当たり9回戦を行います。
残りの下位チームも9回戦を行います。
優勝賞金は100万円以上、と豪華です。
参加費は5000円です。
すべてオンラインでfloodgateのように繋ぎっぱなしで対戦が進んでいきます。
(囲碁のKGSトーナメントと似ています)
現在30チームのエントリーのようです。

電竜戦
https://www.denryu-sen.jp/ 

KataGo独自の手法の解説  投稿者:山下 投稿日:2020年11月16日(月)13時16分38秒
論文には書いてないKataGo独自の手法の解説が公開されてます。
最近試した "subtree value bias correction" という手法で 30-60 Elo ほど強くなったそうです。

Posted a doc describing a few methods in KataGo
https://github.com/lightvector/KataGo/issues/349 

Re: KataGoの論文が微修正  投稿者:zakki 投稿日:2020年11月16日(月)13時22分53秒
論文に書いてない小ネタがgithubにいくつかのってました。
試そうとしてた、バッチ正規化から簡易な正規化への差し替えやPolicy Surprise WeightingのあたりがKataGoに実装済みで流石lightvectorです。
安心して実装できるけどKataGoに勝てる気がしないです…
https://github.com/lightvector/KataGo/blob/master/docs/KataGoMethods.md


Re:電竜戦の締め切りは15日まで  投稿者:うさぴょんの育ての親 投稿日:2020年11月16日(月)13時23分33秒
賞金『総額』が100万円以上、なので、
優勝にほとんどの賞金を注ぎ込むのでなければ、
優勝賞金は100万円もいかないのではないかと思います。
(たぶん) 

Re:電竜戦の締め切りは15日まで  投稿者:山下 投稿日:2020年11月16日(月)15時24分38秒
ほんとだ、総額、ですね。失礼しました。 

SkipInit  投稿者:zakki 投稿日:2020年11月20日(金)10時35分24秒
KataGoが使ってるFixup Initializationよりさらに簡易化してBatch Normalizationを失くしてResNetブロックの加算の前に0で初期化したスカラー変数を掛けるだけのSkipInitを試してみましたがBNありと同じ学習率で同じように学習進みます。
全体としての強さや強化学習したときの挙動は分かりませんが、それにしてもあの面倒な処理は一体…
https://arxiv.org/abs/2002.10444 

Re: SkipInit  投稿者:山下 投稿日:2020年11月20日(金)17時38分19秒
あまり理解してませんが、Batch Normalizaionはもういらない感じなんでしょうか。
学習時間が1.6倍くらい速くなる、とのことで既存の棋譜から学習させる場合にはかなり助かりそうですね。 

野田さんのGPWのNNUEがstokfishに移植されたスライド  投稿者:山下 投稿日:2020年11月20日(金)17時45分22秒
GPWの野田さんの招待講演のスライドが公開されています。
野田さんの初期の版だと1000局に1回しか勝てなかったのが
海外のStockfishコミュニティの努力で +130 Eloまで強くなった理由は
学習させた棋譜の質、なのでしょうかね?

Stockfish NNUEプロジェクト - 第25回ゲームプログラミングワークショップ (GPW-20)
https://www.slideshare.net/HisayoriNoda/stockfish-nnue-25-gpw20 

Re: SkipInit  投稿者:zakki 投稿日:2020年11月20日(金)22時06分15秒
画像認識だとバッチサイズが大きい(1024とか)時はBatch Normalizationのほうが精度が出るらしいです。
チェスのポーンのプロモーションや囲碁のセキのような稀にしか発生しない重要なケースでBNが問題起こすとかなんとかlc0の人々がネットワークのウェイトや計算中の値まで見てデバッグしてるの凄まじい。 


Re: SkipInit  投稿者:山下 投稿日:2020年11月20日(金)23時23分5秒
Batch Normalizationもまだ有力な場合があるのですね。ありがとうございます。

> 稀にしか発生しない重要なケースでBNが問題起こす

おー。やっぱりこれぐらい気合が入ってないとダメですか。
出現率が低い現象にはBNはいまいち、というのはなんとなく納得いきます。 


Google ColabでAobaZeroがコンパイル失敗  投稿者:山下 投稿日:2020年11月22日(日)08時47分13秒
とりあえず下記のようにすれば棋譜生成されます。

%cd
!git clone -b develop https://github.com/kobanium/aobazero.git
!apt install libboost-dev libboost-program-options-dev
!apt install libboost-filesystem-dev liblzma-dev zlib1g-dev
!apt install opencl-headers ocl-icd-libopencl1 ocl-icd-opencl-dev
%cd aobazero
!sed -i -e "1i #include " src/common/err.hpp
!make -j2
!./bin/autousi


AobaZeroのv1.7をリリース  投稿者:山下 投稿日:2020年11月25日(水)10時40分59秒
v1.7がリリースされています。
棋譜生成される方は更新をお願いします。
投了勝率が自動調節になりました。間違った投了の割合が5%未満になるようにしています。

現在の投了の勝率は23%とかなり大きな値です。
この影響で投了なしだったときは平均手数が141手だったのが
10%で投了、で105手に
23%で投了、で82手ぐらいまで下がってます。

これに関連して棋譜(*.csa)のフォーマットが変更になってます。

+6978KI,'v=0.545,800,6978KI, ...

のように "v=" でMCTSで探索して最大回数の手の勝率、を追加しています。(実際に着手した手ではないです)。
勝率は自分の手番から見た勝率でv=1.0で自分が勝ち、v=0.0で負けです。

https://github.com/kobanium/aobazero/releases

また2225万棋譜まで公開されています。
https://drive.google.com/drive/folders/1dbE5xWGQLsduR00oxEGPpZQJtQr_EQ75

水たまりさんが、一括してダウンロードできるスクリプトを公開されてます。

AobaZeroの棋譜をコマンドラインからダウンロードする
https://tokumini.hatenablog.com/entry/2020/09/11/140000 

AobaZeroの棋譜の二次配布について  投稿者:加納 投稿日:2020年11月25日(水)22時24分49秒
山下さん

電竜戦、お疲れ様でした。
GCTです。

AobaZeroの棋譜を活用させていただき、電竜戦を優勝することができました。
ありがとうございます。

電竜戦モデル、学習に使用したColabと学習データ一式の公開を予定しております。

AobaZeroの棋譜(CSA→hcpe形式に加工済み)を配布させていただいても大丈夫でしょうか。

ご検討をよろしくお願いします。


Re: AobaZeroの棋譜の二次配布について  投稿者:山下 投稿日:2020年11月26日(木)01時16分28秒
加納 様、

優勝おめでとうございます!Deep Learningが優勝したことは
大きなマイルストーンだと思うのでビックリでした。
またAobaZeroの棋譜も使っていただいた、とのことでうれしく思います。

変換した棋譜の二次配布、ぜひ自由に行ってください。
電竜戦モデルの公開、楽しみにいたしております。 

Re: AobaZeroの棋譜の二次配布について  投稿者:加納 投稿日:2020年11月26日(木)01時28分54秒
山下さん

ご快諾ありがとうございます。

電竜戦モデルの方は、公開させていただきました。

「GCT電竜」とdlshogi(NVIDIA GPU非搭載PC対応版)の公開
https://tadaoyamaoka.hatenablog.com/entry/2020/11/25/223328

学習資材についても同様に、山岡さんブログ経由で、
公開させていただきます。

電竜戦の成果が、Deep Learning系の普及と発展の助力になればと考えております。 

Re: AobaZeroの棋譜の二次配布について  投稿者:加納 投稿日:2020年11月26日(木)20時43分37秒
以下のとおり、公開させていただきました。
ご協力ありがとうございます。

「GCTの学習に使用したデータセットとノートブックを公開します」
https://tadaoyamaoka.hatenablog.com/entry/2020/11/26/203912


2020 World Artificial Intelligence Go Competitionのベスト4が決定  投稿者:山下 投稿日:2020年12月 1日(火)13時08分2秒
9月27日から9月30日に予選が行われていた
2020 World Artificial Intelligence Go Competition(福建海峡銀行杯)の
準々決勝が11月30日に行われ
MyrtleGo, TianGo, Golaxy が 2-0、LeelaZero が 2-1 でベスト4に残ったようです。
LeelaZeroの1敗は回線トラブルのようです。

以下のスケジュールは下記のようです。特定?がよく分かりませんけど。

11月30日 準々決勝(8チーム)
12月1日 準決勝(4チーム)
12月2日 準決勝、決勝
12月3日 決勝
12月4日 決勝(特定)

【2020世界囲碁AI大会・8強戦】LeelaZero勝利
https://okao-golab.com/2020-baduk-ai-world-championship-best8/
海峡銀行杯2020世界人工智能囲碁1/4決勝
https://sports.sina.com.cn/go/2020-11-30/doc-iiznezxs4490912.shtml
World Go AI championship tournament schedule
https://www.reddit.com/r/cbaduk/comments/jzb60d/world_go_ai_championship_tournament_schedule/
2020 World Artificial Intelligence Go Competitionの予選結果
https://524.teacup.com/yss/bbs/3668 

現在のAobaZeroの対elmoの勝率  投稿者:山下 投稿日:2020年12月 3日(木)22時17分46秒
論文に近い条件でelmo(WCSC25)対戦させた結果が下です。

AlphaZeroはelmoに対して

勝率91.2%(+410)(先手番だと98.2%(+695)、後手で84.2%(+291))  持時間3時間15秒。1手3分?

AobaZeroはelmoに対して

勝率73.8%(+179)(先手番だと78.3%(+223)、後手で69.1%(+140))  1手10秒相当

ですので、+231 ほどまだ差があります。
w1650 と少し古いweightの結果で最新は +40 ほど強いので差は +191 ほどかもしれません。

先手番の差は +472(695 - 223)
後手番の差は +151(291 - 140)

と、先手番での差が大きいです。
気になる要因としてはAlphaZeroは思考時間が長いほど先手勝率が高く、
1手10秒相当のAobaZeroもその傾向が出ています。1手3分相当で今の20倍ほど
時間をかければレート差は小さくなるのかもしれません。

AlphaZeroは思考時間が長いと先手勝率が高い
https://524.teacup.com/yss/bbs/3662

AobaZero vs elmo(WCSC25) (AlphaZeroの論文の1手10秒相当)

全体勝率 0.738 (86勝5分29敗)           +179 Elo
先手勝率 0.783 (46勝2分12敗) 宣言45勝  +223 Elo  (後手との差 +83 Elo)
後手勝率 0.691 (40勝3分17敗) 宣言25勝  +140 Elo

AobaZero,    w1650. 580000 playout/手, 最初の30手までは勝率2%以下ならSoftmaxで選択。
elmo(WCSC25)        251000k       /手, 6 threads, HASH 8GB, elmo付属の定跡使用

この120局で、2080Tiの学習の空き時間を使って2か月半かかってます。 

詰みの局面で、評価値が反転?  投稿者:nn 投稿日:2020年12月 6日(日)05時03分35秒
aobazero v1.7 w2620の1プレイアウトで対局していたのですが、先手勝ちの一手詰みの局面で評価値が-5000になるみたいです
先手勝ちのゲームで起こるようで、後手勝ちだと反転しないようです

局面
position startpos moves 6i7h 3c3d 7g7f 4a3b 2g2f 8c8d 2f2e 8d8e 2e2d 2c2d 2h2d 8e8f 8g8f 8b8f 2d3d 2b3c 5i5h P*2h 3i2h 8f8b 3d3f P*8f 8h3c+ 2a3c P*8h 8b8d B*6f 8d2d 6f3c+ 3b3c 3f3c+ 2d2h+ G*3h 2h2a P*2c B*5d 3c2d 7a7b N*3d B*5e 5g5f 5e4d 2c2b+ 3a2b 3d2b+ S*5g 5h5g 4d2b P*2c 2b4d S*5e 5a6b 5e5d 5c5d S*3c 4d5c 2c2b+ 2a5a 2b1a 6b7a 5g4h S*6e 6g6f 6e6f P*6g 6f6g+ 7h6g 8f8g+ 8h8g N*2f 3h2h P*3b 3c3b+ 5c4d 8i7g 5d5e 5f5e 5a5e P*5f 5e3e 2d2a 7a8b 3b4b 3e3d P*6b 4d6b S*5b P*2g 2h2g 3d6d P*6e 6a5b 6e6d 5b4b 6d6c+ 7b6c P*6d 6c7b 6d6c+ 7b6c P*6d 6c7b 6d6c+ 7b6c L*6f P*6d 6f6d 6c6d P*6e P*6f 6g6f 6b4d 6f6g S*6f 6g6h 6f7g+ 2g2f 7g6h 7i6h P*6g 6h6g P*6f 6g5h P*5g 4h5g G*6g 5g4h P*5g 5h6g 6f6g+ 4h3h 4d2f 2a2f 6d5c 5f5e S*5h 4i4h 5h5i 4h4i 5g5h+ 4i5i L*8c 5i5h 6g5h 3h2g N*1d 2f2a S*2f 2a2f 1d2f R*2a 5c6b 2a2f+ 5h4h N*7e R*3i G*2h G*7b N*6d 7b7a 5e5d 3i9i+ 5d5c+ 4b5c P*5d 5c5d P*5e 5d6e P*6c P*2e 2f2e 6e6d 6c6b+ 7a6b P*6c 6d6c 7e6c+ P*2f 2e2f 6b6c P*6d 6c6d S*5c 6d6c S*5d 6c5d 5e5d 9i3i S*7a 8b7a G*6b 7a8b

この局面から71角打、92玉、82金打と進むのですが、82金打でcpが-5000になって投了値を設定していると投了してしまいます。
82金打のnet_v=0.979なのに-1.000がおかしい?

先手 71角打
info depth 1 score cp 3504 nodes 1 nps 142 pv B*7a
  0(  0) 0071KA,    1, 0.994,bias=0.9101502299
best:0071KA,  1, 99.71%( 0.994),bias= 0.910
+0071KA
0.01 sec, c=219,net_v=0.989,h_use=2,po=1,143/s,ave_ply=1.0/1 (192/0),Noise=0,g=1,mt=1,b=1

後手 92玉
info depth 1 score cp -2713 nodes 1 nps 166 pv 8b9b
  0(  0) 8292OU,    1,-0.979,bias=1.0000000000
best:8292OU,  1,  1.07%(-0.979),bias= 1.000
-8292OU
0.01 sec, c=1,net_v=-0.994,h_use=3,po=1,143/s,ave_ply=1.0/1 (193/0),Noise=0,g=1,mt=1,b=1

先手 82金打
info depth 1 score cp -5000 nodes 1 nps 1000 pv G*8b
  0(  0) 0082KI,    1,-1.000,bias=0.9898798466
best:0082KI,  1,  0.00%(-1.000),bias= 0.990
+0082KI
0.00 sec, c=219,net_v=0.979,h_use=4,po=1,500/s,ave_ply=1.0/1 (194/0),Noise=0,g=1,mt=1,b=1

追記
この行が影響してそうです
https://github.com/kobanium/aobazero/blob/release/src/usi-engine/bona/ysszero.cpp#L1131


詰みの局面で、評価値が反転?  投稿者:山下 投稿日:2020年12月 7日(月)01時57分7秒
ご指摘ありがとうございます!
ご指摘の通り、その行が間違っていました。
developブランチを修正しました。近日中にリリースも更新いたします。

▲71角を打つ前から探索させると、最初に▲82金の局面に着いた時だけ、
NNを呼ぶ関数が(実際には詰んでるのでNNは呼ばずに)先手勝ち(+1)なのに負け(-1)と間違った値を返していました。
2回目以降は探索内部で可能手がないときは負け、と正しい値を返すため、
探索回数が増えるほど気づきにくかったです。

1手10playoutでw2755同士を互角局面で800局対戦させると
バグ修正の363勝-83分-354敗、勝率=0.506(+3 Elo) とほぼ棋力には変化はないようです。 


マルチGPU  投稿者:48 投稿日:2020年12月11日(金)17時15分0秒
マルチGPUでautousi.cfgはどのように表記すればいいのでしょうか?
単純にプロセス数を増やした方がいいのでしょうか? 

Re: マルチGPU  投稿者:山下 投稿日:2020年12月11日(金)17時50分31秒
そういえば書いてなかった気がします・・・。失礼しました。
2枚の2080Tiだと下記のように指定します。

Device        O0:28:85W O1:28:85W

6枚全部指定だとこちらの環境ではプロセスが多すぎる、とエラーになるので
別のディレクトリのautousiを3つ起動しています。
Linuxの環境だと、
SleepOpenCL   1
にすると若干CPUの使用率が下がるかもしれません。
(Windows環境だと有効にするとかなり遅くなります) 

w800とSWA  投稿者:nn 投稿日:2020年12月13日(日)02時02分18秒
普通に詰ませていたw800をw2821と3-7の割合でSWAしたところ
割とまともに詰ませるようになりました。
強さはw800より強くw2821より弱いという感じです

最新ウエイトの割合を上げるほど元の強さを維持しますが
詰ます能力はあまり上がらないようです。

詰ます手のポリシーがSWAの割合に応じて復活する感じです


Re: w800とSWA  投稿者:山下 投稿日:2020年12月13日(日)11時54分37秒
面白い情報ありがとうございます。
宣言勝ちが増えだしたのは570万棋譜(w930)ぐらいからですので
それ以前のweightは王を詰ませる傾向が高いのかもしれません。 

KataGoのユーザ参加版  投稿者:山下 投稿日:2020年12月23日(水)19時20分54秒
まだテストのようですが、KataGoをLeelaZeroのように世界中の人の協力で強くするプロジェクトが動いてます。
11月28日に始まって現在は40bの棋譜を作成中のようです。

KataGo Distributed Training
https://katagotraining.org/networks/

上のnetworkを動かすにはv1.7.0では動かず、githubのmasterからコンパイルする必要があります

The weight of kata1 becomes an error in lizzie
https://github.com/lightvector/KataGo/issues/371

9月9日から12月11日までは、3路から15路の大きさまでのすべての長方形サイズの碁盤( 8x7, 13x15 など)で
自己対戦で422万棋譜を作って人間より強いのが出来たそうです。

KataGo Distributed Training Test
https://test.katagodistributed.org/ 

AobaZeroのweightの更新を10000棋譜から34285棋譜ごとに  投稿者:山下 投稿日:2020年12月28日(月)10時38分28秒
重みの更新を10000棋譜から34285棋譜に変更しました。
これはAlphaZeroが2400万棋譜、70万回学習、mini-batch=4096、1000回学習ごとに重み更新、なので
3.4285万棋譜(=2400/(700000/1000))に合わせたためです。

今までは1万棋譜ごとで50万棋譜なので50世代、
3.4285万棋譜だと15世代が含まれます。

mini-batch=128 だと32000回学習((4096/128)*1000)ごとに重み更新、なので3.4285万棋譜で32000回学習になるように
1棋譜あたり1.07142回学習されるように棋譜追加時の学習回数も調整しています。


DeepMind’s MuZero picks up the rules of games as it plays  投稿者:おせら 投稿日:2020年12月30日(水)15時24分36秒
MuZero 参戦希望 (^▽^)

https://venturebeat.com/2020/12/23/deepminds-muzero-picks-up-the-rules-of-games-as-it-plays/