teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]

【重要】teacup. byGMOのサービス終了について
 <思いやりのあるコミュニティ宣言>
 teacup.掲示板は、皆様の権利を守りながら、思いやり、温かみのあるコミュニティづくりを応援します。
 いつもご協力いただきありがとうございます。

 投稿者
 メール
  題名
  内容 入力補助画像・ファイル<IMG>タグが利用可能です。(詳細)
    
 URL
[ ケータイで使う ] [ BBSティッカー ] [ 書込み通知 ]


Re: KataGoの自己対戦から見るコミ、ルールによる勝率

 投稿者:山下  投稿日:2022年 3月12日(土)01時50分25秒
編集済
  「中国ルール、コミ6.5、ただし白が最初にパスすればコミ7.5」

結局、このルールは
「日本ルール、コミ6.5、ただしダメは必ず埋める。セキの眼は数える」

とほぼ同じだと思います。
強くなったAIでは石数も数える中国ルールよりは陣地だけを数える日本ルールの方が
より互角に近い、というのは面白いです。

それでも6.5、という0.5がついたコミで互角に近い、のは
神様から見たらKataGoはまだ差がある、のかもしれません。

SGFでの表記は下のようにバラバラです。
RU[]に入る名称を(できればルールを作った中国が)決めて欲しい気がします(Japanese, Chinese, AGA, NZ などが既存)。

GoG  RU[cn]KM[6.5]      黒が最初にPASS https://gameofgo.app/gawt2020/round4/katago-vs-badugi
GoG  RU[cn]KM[7.5]      白が最初にPASS https://gameofgo.app/gawt2020/round6/izisgo-vs-golaxy
OGS        KM[6.5]      ルール明記なし https://online-go.com/game/27247894
FOX  RU[Chinese]KM[325] 2020 予選  https://weiqi.qq.com/qipu/newlist/id/2020092863506835.html
yike RU[cn]KM[7]        2020 final 1
yike RU[cn]KM[6.5]      2021 final 3 http://home.yikeweiqi.com/#/live/room/81602/0/0

SGFでのRU[]に入るルールなど
https://www.red-bean.com/sgf/properties.html
 
 

KataGoの自己対戦から見るコミ、ルールによる勝率

 投稿者:山下  投稿日:2022年 3月10日(木)16時54分30秒
編集済
  2020年の中国の福建海峡銀行杯では、過去のAI大会での勝率を考慮して
「中国ルール、コミ6.5、ただし白が最初にパスすればコミ7.5」
というルールになっています。これは恐らく、KataGoでは
「中国ルール、コミ7.0、hasButton あり」
に相当すると思います。hasButton というのは最初にパスした方に+0.5、というルールです。

KataGoの最近の190万棋譜の自己対戦からこのルールでの黒の勝率を調べてみました。

中国ルールのコミ7.5               の黒勝率は 0.417
中国ルールのコミ7.0 hasButtonあり の黒勝率は 0.487

と、コミ7.5では黒がかなり不利ですが、hasButtonあり、は互角に近くなっています。

日本ルールのコミ6.5               の黒勝率は 0.489

で日本ルールだとコミ6.5でほぼ互角です。

中国ルールのコミ7.0               の黒勝率は 0.487

で、こちらも互角に近いのですが、この場合22%ほどが持碁になり
優劣を決める大会としては面倒そうです。


コミ    棋譜数 黒勝   引分  白勝 黒の勝率
5.5
   日本 129269,70558,   53,58658,0.5460
   中国  51897,27654,   17,24226,0.5330
   中ボ  31603,15932, 4274,11397,0.5717
6.0
   日本 156315,70250,21224,64841,0.5173
   中国  79817,43565,  352,35900,0.5480
   中ボ  45536,24951,   15,20570,0.5481
6.5
   日本 155809,76086,   70,79653,0.4886
   中国 104121,57690,   55,46376,0.5543
   中ボ  54600,24659, 7232,22709,0.5179
7.0
   日本 127919,49956,17274,60689,0.4580
   中国 111528,41867,24870,44791,0.4869
   中ボ  54175,26362,   30,27783,0.4869
7.5
   日本  87917,37873,   30,50014,0.4310
   中国  97935,40798,   46,57091,0.4168
   中ボ  43918,17193, 5813,20912,0.4577
8.0
   日本  52111,18012, 6952,27147,0.4124
   中国  71015,30011,  343,40661,0.4250
   中ボ  29981,12972,   13,16996,0.4329
8.5
   日本  29185,11946,   15,17224,0.4096
   中国  43638,19373,   32,24233,0.4443
   中ボ  17685, 6091, 2251, 9343,0.4081

日本:日本ルール
中国:中国ルール
中ボ:中国ルール + hasButton

※1. 他にtax(切り賃)、suicide(自殺手あり)、Ko SITUATIONAL(手番を含む同型反復禁止)、なども
     あるのですが、全部同じ扱いで無視してます。
※2. kata1の学習棋譜(2004万棋譜から2553万棋譜の間の190万棋譜、19路のみ)。

Chinese rules, komi is 3.25 stones but if white passes first it's 3.75.
https://senseis.xmp.net/?2020WorldArtificialIntelligenceGoCompetition
世界人工智能囲碁大会
https://baike.baidu.com/item/%E4%B8%96%E7%95%8C%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%9B%B4%E6%A3%8B%E5%A4%A7%E8%B5%9B/53587702
gtp_example.cfg (個々のルール設定の解説)
https://github.com/lightvector/KataGo/blob/master/cpp/configs/gtp_example.cfg#L83
kata1の分散学習
https://katagotraining.org/
 

△91馬(19)の着手確率が6%から11%に上がってきました

 投稿者:山下  投稿日:2022年 3月 7日(月)15時11分48秒
編集済
  NNの入力に利き情報を入れて45万棋譜を作った現在、
初期段階で5.8%だった着手学習が11%まで上がってきました。
利き情報なしだと141手中、最下位の141番目と、まったく候補になりません。
Aoba駒落ちだと89%で順位も1位なので、この程度の確率まで上がるのが目標でしょうか?

追記:w3931で39%です。

△91馬(19)のPolicyの着手確率

重み  順位 着手確率
w3880 141  0.000001602  AlphaZeroと同じ、利き情報なし、の最後の重み
w3881   4  0.058689989  既存の棋譜で再学習しただけ。利き情報あり
w3884   3  0.069590986
w3886   3  0.085979924
w3888   3  0.081378505
w3889   3  0.087000273
w3890   3  0.086610518
w3891   3  0.086443976
w3892   3  0.085460894
w3896   3  0.110290587
w3898   3: 0.130699471
w3900   3: 0.139028728
w3904   3: 0.165251121
w3905   3: 0.178882584
w3909   3: 0.230860993
w3915   2: 0.336291760
w3931   1: 0.389929682

w1250   1  0.891603410  (参考 Aoba駒落ち、最後の重み)

policy headの構造をdlshogiと同じ2187通り
http://www.yss-aya.com/bbs_log/bbs2021.html#bbs22
△91馬(19)と馬をタダで取られる
http://www.yss-aya.com/bbs_log/bbs2020.html#bbs87
 

UEC杯の優勝はYILEGO

 投稿者:山下  投稿日:2022年 3月 7日(月)11時25分45秒
編集済
  上位8チーム総当たりの決勝の結果、優勝は6勝1敗のYILEGOでした。
2位はWuWeiGo、3位はeg。1位、2位、4位、5位は中国勢で
3位のeg、6位、8位のKohada,Rayが日本、7位のCrazyZeroがフランスです。

1位 YILEGO  6-1
2位 WuWeiGo 6-1
3位 eg      5-2

5回戦のYILEGO - DaPangGoは途中で回線が切れて中断し、7回戦終了後に持ち時間を半分の15分で
行いました。

下位8チームのB級の優勝はBSKでした。

大橋拓文七段と上野愛紗美女流棋聖、聞き手:長井 多葉紗さんによるオンライン解説会
https://www.youtube.com/channel/UCNWUetG2UmtaBcy9XmhoXig/featured
棋譜中継
http://www.yss-aya.com/uec2022/
大会ページ
http://entcog.c.ooco.jp/entcog/new_uec/
 

Re: Policyと着手後のValue

 投稿者:山下  投稿日:2022年 3月 7日(月)07時39分12秒
編集済
  ご紹介ありがとうございます。読んでみます。
最初の論文の著者の一人のRémi Munosさんて、昔MoGoを作ってた人の一人ですね。

それとegの重みの公開、ありがとうございました。
40ブロックだったのですか。学習も棋譜生成も相当大変そうです・・・。

egのウェイト。b40c256v4-s13619968-d8983824.bin.gz が大会版。
https://twitter.com/k_matsuzaki/status/1500439706743746561

この掲示板お手軽で便利だったのですが終了は残念です。
スパム対策とかが出来てる別の掲示板サービスに移行しようと思います。
文字は過去ログとして保存してるのですが投稿画像が保存されないのは少し痛いです。
 

Policyと着手後のValue

 投稿者:zakki  投稿日:2022年 3月 6日(日)22時01分2秒
  懇親会で何かあったような記憶がと言っていたのは、たぶんMCTS as regularized policy optimizationから参照されてたMaximum a Posteriori Policy Optimisationで、読もうとして途中で投げたような気がします。
意味あり得る方向なのか、そもそも筋違いな方向なのかすら判断ついてません。
https://arxiv.org/abs/2007.12509
https://arxiv.org/abs/1806.06920

ところでこの掲示板のサービス終了なんですね。
 

UEC杯の2日目が行われています

 投稿者:山下  投稿日:2022年 3月 6日(日)09時47分59秒
編集済
  上位8チームの総当たりで優勝が決まります。
中国4,フランス1,日本3です。
昨日の予選で上位勢に勝った日本のegが注目です。

下位8チームもBリーグを行っています。

大橋拓文七段と上野愛紗美女流棋聖、聞き手:長井 多葉紗さんによるオンライン解説会
https://www.youtube.com/channel/UCNWUetG2UmtaBcy9XmhoXig/featured
棋譜動画中継
https://www.youtube.com/watch?v=gZUYwV9ls5s
棋譜中継
http://www.yss-aya.com/uec2022/
大会ページ
http://entcog.c.ooco.jp/entcog/new_uec/
予選結果
https://twitter.com/ohashihirofumi/status/1500050666886098944
 

AobaZeroのネットワークの構造を変更しました

 投稿者:山下  投稿日:2022年 2月25日(金)00時33分57秒
編集済
  以前とは互換性はありません。w3880 までは v18 をご利用下さい。
w3881以降はv28でのみ動作します。

変更点は下記です

・ネットワークの入力に駒の利きの数、利きの種類、王手かどうかを追加。
・ネットワークのPolicyの出力を11259通り(139x9x9)から2187通り(27x9x9)に(Aoba駒落ちと同じ)。
・ネットワークの活性化関数をReLUからSwishに変更
・3手詰までの詰将棋を常に調べるように。
・30手までの乱数性を今までは
  Policyの値を元に800playoutした後の訪問回数の割合、からランダムに選ぶ。
 から
  1手指した後のValueの分布を元に、playoutなしで(探索なし)でランダムに選ぶ。
 に変更しました。
 大雑把には初期局面で▲76歩の着手確率が0.64%から12%に上がっています。
 これは最善手以外のPolicyは時々極端な値が付いて、その手を指さなくなるのを防ぐためです。
 メモリと時間の節約のため、実際は0手目から10手目程度の手だけにValueを適用して、それ以外は
 単にPolicyを使っています。
 Value,Policy、どちらの場合もディリクレノイズを足しています。
・30手後の瞬間的なvalueの値が 0.35 ~ (0.55) ~ 0.75 に収まるようにしています。
 今までは温度1.3でひどい悪手も選ぶため、31手目ですぐに投了する棋譜が4割ほどになっていました。
 これを避けて、30手後の勝率が低すぎる(高すぎる)場合は、再度0手目からやりなおしています。
 過去100万棋譜の先手勝率を基準に前後0.20です。
 また、途中で勝率の範囲を超えた場合は、1手戻して、直前の手はPolicyの最善手を選ぶようにしています。
 30手までの手順が決まれば、少なくともその手を1回は探索するようにして、800playout後に強制的にその手を選びます。
・温度は1.0。探索なしだと、この温度でもノイズの手が選ばれやすいです。
・これらにより30手後にユニークな局面が出来る割合は4万棋譜作成で99.1%ぐらい、とほぼ同じ棋譜にはなりません。
・詰を見つけた後の局面は学習しない。

w3881 は100万棋譜から5200万棋譜までをCosine Annealingで5億局面学習させたものです。
weightの強さとしてはほぼ今までの最新(w3880)と同じです。
3手詰ありは、+20 ELO程度でほとんど効果はありません。
初手で▲76歩を指す確率は上がっていますが、振飛車は飛車を振るだけで勝率が10%近く下がるので
valueを元にしても、ほとんど指してくれません。
平均手数が77手から103手に伸びたこと、Swishの実装で15%程度速度が低下したことで
棋譜生成速度は1.5倍程遅くなっています。
詰将棋、駒の利き情報などを使ってますが、全体としては「人間の知識は使っていない」を継続していると考えています。

AobaZero v28, Windows用のバイナリ
https://github.com/kobanium/aobazero/releases/tag/v28
 

(無題)

 投稿者:tns  投稿日:2022年 2月22日(火)19時18分3秒
  やはり最終的には教師の質が重要になるんですね。
これまでの実験で良さそうなものを取り入れて、またゼロから棋譜を生成して学習させたら面白い結果が出そうな気がします。
 

Cosine Annealingを複数回繰り返さず1回だけ、が効果的でした

 投稿者:山下  投稿日:2022年 2月20日(日)14時20分55秒
編集済
  AobaZeroの棋譜で学習率の下げ方を変えて実験してみました。

1. 20万回学習ごとに学習率を0.01から半分ずつ下げる(0.01 -> 0.005 -> 0.0025 -> ...)
2. 20万回学習ごとに学習率を0.01から0.000002 まで下げる、を10回繰り返す。(Cosine Annealingを10回)
3. 200万回学習で  学習率を0.01から0.000002 まで下げる。          (Cosine Annealingを 1回)

下のグラフは学習回数によるELOの変化と、学習率の変化の仕方です。
(3),(1),(2) の順に最終的なELOが高かったです。
Tristanの論文でもそうですが、(3)のCosine Annealingを1回、が最後に追い抜きました。

学習条件が微妙に違うので参考程度にしていただきたいのですが、
Tristanの論文でもCosine Annealingを複数回でなく1回だけ、で、原論文でも1回だけが結構成績いいので
大きな学習率で長時間頑張る?のが効果的なのかもしれません。

学習条件は

1.1800万棋譜から5063万棋譜までを200万回学習。探索勝率と最終的な勝敗の平均を学習。30手までの選択回数を減らす。
2. 4800万棋譜から5024万棋譜までを200万回学習。探索勝率と最終的な勝敗の平均を学習。30手までの選択回数を減らす。
3. 100万棋譜から5060万棋譜までを200万回学習。探索勝率と最終的な勝敗の平均、はなし。30手まで選択を減らす、なし。

すべてAobaZeroの棋譜を使い、ミニバッチ256で200万回学習(step)、5億局面を学習。
ネットワークはAobaZeroと同じ256x20blockで活性化関数をReLUからSwishに変更、
Policyは11259通りでなく2176通り、NNの入力に利きの情報を追加、です(入力はAoba駒落ちと同じ)。

ELOは1手100playout対Kristallweizen(7.00)の1手50k、を互角局面集利用の400局で測定しました。
なお、AobaZero(w3839)はこの条件で -103 ELOで、一番成績のいい(3)でも -124 ELOで 20 ELOほど弱いです。
利きの情報を使っているですが、棋譜そのものが長い利きでの正解を間違えている(△91同馬(19)、といった
長い距離の正解を間違える)ので、そのせいだと思います。
LeelaZeroの棋譜を使って、シチョウの情報あり、で学習させても棋譜自体がシチョウを間違えてるので
効果がなかった、のに似ていています。やはり利きの情報あり、で実際に棋譜を作らないとダメっぽいです。

Cosine Annealing, Mixnet and Swish Activation for Computer Go (Tristanの論文)
https://icga.org/wp-content/uploads/2021/11/ACG_2021_paper_9.pdf
SGDR: Stochastic Gradient Descent with Warm Restarts (Cosine Annealingの原論文)
https://arxiv.org/abs/1608.03983
 

レンタル掲示板
/318