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

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

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


KataGoのg170のデータが再公開

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

https://katagoarchive.org/

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

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

Re: SwishとMishではSwishが良さそうです

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

Re: SwishとMishではSwishが良さそうです

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

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

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

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

MixNetを試してみました

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

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

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

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

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

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

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

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

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

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

Re: SwishとMishではSwishが良さそうです

 投稿者:山下  投稿日:2021年12月21日(火)17時37分52秒
  TanhExp、試してみました。

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

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

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

Re: SwishとMishではSwishが良さそうです

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

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

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

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

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

プロの駒落ちの入玉ルール

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

Re: 駒落ちの宣言勝ちで敵陣10枚以上が無理なケース

 投稿者:山下  投稿日:2021年12月20日(月)01時58分57秒
編集済
  平手の24点法でも大駒4枚と小駒4枚で24点、の場合
駒の枚数が8枚なので、「敵陣に10枚」を満たせないですね。

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

SwishとMishではSwishが良さそうです

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

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

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

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

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

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

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

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

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

持将棋

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

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

レンタル掲示板
/318