mei28 / TSUNDOKU

読んだ論文をまとめていく
1 stars 0 forks source link

Learning Models of Indeividual Behavior in Chess #45

Open mei28 opened 1 year ago

mei28 commented 1 year ago

一言で言うと

論文リンク

著者/所属機関

投稿日付(yyyy/MM/dd)

KDD2022

先行研究と比べてどこがすごい?

技術・手法のキモはどこ?

どうやって有効だと検証した?

コメント

次はなに読む?

mei28 commented 1 year ago

ABSTRACT

人間の振る舞いを捉えるAIは役に立つ

既存研究では,集団的人間の振る舞いを模すことは行っているが,個人的な振る舞いを持つことは行っていない.

人間の振る舞いを模して訓練されたAlpha zeroのライブラリMaiaから出発し,個人の動きを系列のfine-tuningを適用することで向上させた.

個人化したstylometryを適用することで,特定の人間の意思決定を再現できる.

スタイロメトリー 文章スタイル上の特徴を統計的に分析して,特定,同定すること

mei28 commented 1 year ago

機械学習モデルが人間の能力をはるかに上回り,人間が機械と学ぶようになってきた.

チェスを題材に,人間の振る舞いを学ぶことについて考える

集団の振る舞いを模すことはできたが,個人レベルでは未だ至っていない.

チェスモデルを個人適用するために,fine-tuningを用いる. これまでの集約モデルとは違って個人の予測精度が向上した.

個別化されたプレイヤーモデルは一意に差別化できる.

mei28 commented 1 year ago

related work

転移学習の文脈を取りれいてる.→ 他にも模倣学習,ドメイン適応,メタラーニング,マルチタスク学習にもちかい.

転移学習においては,できるだけ,少ないサンプル数での学習を目標にしている.しかし我々は多いデータを用いて,個別化することを目標にしている.

我々の問題は,個人と近い個別のモデルを獲得することである.通常の機械学習は,専門家を模倣するように学習していくが,今回は,すごいモデルからそれぞれ個別に変化することを目標としている.

個別のモデルを特定するために,既存研究では,プレイヤー識別しか行うことができず,埋め込みを介してのみ動作していた.

opponent modddeling literatureでは,cardinal や mixture-of-experts戦略などをとるが,我々は,resnetを利用する

個人を模倣する方法は,いろいろ行われている.既存のチェスエンジンのレベルを弱くして合わせているだけで,模倣しているわけではない.

mei28 commented 1 year ago

データについて

Lichess:Lichessと呼ばれるチェスのオープンソースプラットフォームを使う

mei28 commented 1 year ago

提案手法では,Maiaを利用し,特定のレベルのプレイヤーの次の一手の予測.さらに,各個人に特化した予測を行う.

mei28 commented 1 year ago

パラメータ散策をするために,2つの方法について考える

  1. 40,000以上の対戦(10人以上) で初期セットを作成.その後96人のフルデータで学習.データの検証については,10plt以降を用いる. → 初期の動き方はある程度決まっており,当てやすいため 途中の結果から,次の手を予測するため,本研究の目的は,未知の状態からプレイヤーの特徴を獲得すること.

既存研究に従って,二つの戦略について考える. 深層残差ネットワークの上流部分を固定もしくわ,既存モデルのパラメータをランダムに設定

合理的な停止点でモデルを固定するのを試したところ,一般的に、勾配が浅いほど性能が向上することを見つけた. また,Maiaの重みで初期化すると,深い低視点で性能を向上させることがわかった.

既存研究では,Maiaモデルはレベルが近いモデルで学習したやつの予測が良いことがわかる.このことから,次の一手の予測を行うときに,レーティングに依存するkと尾が考えられる.予測として,レーティングが近いモデルから学習した方が効果的だとお思っていたが,実際にはどれから始めてもあまり変わらないことがわかった. ここから,一番大切なのはfine-tuningの部分をどうするか?と言える.ここからは問題を簡単にするために,maia1900からモデルの学習をおこなう.

初めの探索では,大きいステップ(15,000),で検証誤差についてみていた.12,000ステップぐらいに向上し始めた.最終的なモデルでは,15,000, 20,000, 25,000で学習率を1/10に減少させた.

初期の行動は限られているため,学習時に利用するサンプル選択を少し工夫した.中盤,終盤を強く学習したいt前,ベータ分布に従い,どれを用いるかを決める.これは初期セットでは,検証精度の向上に役に立ったが,フルデータに対しては役に立たなかった.

最終的に学習する流れとしては, Maiaのモデルパラメータから初期化する.(モデル自体は1900から) レイヤーは固定しない.固定すると性能が失われたから ステップ数とサンプリング関数は最適化する.

mei28 commented 1 year ago

Maiaをもとにして,転移学習をおこなう.400人のプレイヤーを評価データとする. 各プレイヤーの80%のデータを使って個別モデルの学習を行い,10%,10%を検証,テストデータとする.メインタスクとしては,ターゲットのプレイヤーの動きを予測する.サブタスクとして,プレイヤーの動きを与えて,どのプレイヤーかを同定してもらう.

対抗手法としてMaiaモデルを用いる.Maiaは人間の手を予測するSoTAであるが,レベルやチェスの評価は結構荒い.レベルが同じMaiaモデルは予測精度が高いことを期待している.

image

結果的には,レーティングが近いやつほど,当てやすいことは確認した.さらに,自分達の手法では,4-5%精度の向上を確認することができた.

自分達の手法が精度が高い理由として,初期の動きの予測しやすさがあると考える

image

序盤は訓練データにある盤面が多いが,だんだん手数が増えると,未知の場面が多くなる.Maiaでは,途中からガクッと精度が落ちる場面が存在する.

image

この研究では,個人の意思決定をとらえる転移学習の可能性を示したい.特にチェスを使っている理由として,学習データのサイズが個人の意思決定をどれだけとらえることができるかが容易に計算が可能.

image

試合数とモデルの性能には相関が見られた.少なくとも5,000試合以上データがある際は,Maiaのベースモデルよりも性能が高くなることは確認.一方で1,000ゲームではMaiaの方が優れている.これはOver fittingのせいじゃないかと考えている.

Maiaとくらべ,個別モデルのスキルレベルの推定は,ターゲットのレートに依存しない.

mei28 commented 1 year ago

個別モデルが高い精度を達成するとき,これらのモデルがどれだけ個別化(ユニークなのか?)が気になる.どのくらいまで,個別の動きを把握できるのか?

より細かく見るために,400人のプレイヤーをもとに,plyのcutoffとゲーム数の関係について分析する. cutoffが遅いほど,初期段階の手が少なくなり,タスクとしては難しくなる.cutoffの数字が高くても,試合数がある程度あると,十分な精度が出る.ランダムな予測だと25%ぐらい

image

プレイヤーのミスについても同様に見てみる.ここでいうミスの定義は勝率を10%以上下げるものとして,誰のミスか?を同定するタスクを行う.精度がわずかに向上した. -> ミスが同定するのに高い要素であることが言える.

じゃぁ個別モデルをどう使っていくのか? 既存のMaiaモデルと比べて,個人としての性能が高かった → プレイヤーがもたらすミスを再現できるので,そこを改善するために利用できる.