0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

麻雀AIの頭の中を覗いたら、牌を「端からの距離」で並べていた【Attention・埋め込み・概念】【詳細③】

0
Posted at

はじめに

網羅編の「AIの頭の中を覗く」の詳細編③です。16年分で学習した強いモデル(6層・8ヘッド・d_model 256・約482万パラメータ)の中を、次の順に調べます。

  1. Attentionはどこを見ているか
  2. 34種類の牌の「埋め込み」は、層を進むとどう変わるか
  3. 中間層から「シャンテン数」などの概念を読み出せるか。読み出せたとして、判断に使っているのか
  4. 「どの入力が効いたか」を示す6つの手法は、信用できるか

この記事の解析は、ほとんどが探索的です。「モデルがこう考えている」と言える証拠ではなく、「こう見える」という観察として読んでください。

前提: 出力はどう作られるか

入力は、局情報1トークン + 牌トークン37個 + イベント系列(最大128)の1本の系列です。手牌・河・副露・ドラは、イベントではなく牌トークンの入力チャネルとして入っています。出力は、各牌トークンの最終隠れ状態に共通の Linear(256→1) をかけた37個のスコアです。CLSトークンやプーリングは使っていません。そのため、調べるのは「推奨牌の牌トークン」になります。

1. Attentionはどこを見ているか

各層で、牌トークン37個がどのグループを見ているかを集計しました(検証データ3,008局面)。

Attentionの見る先

注意の割合(%)は次のとおりです。

層 局情報 牌37 ドラ 自ツモ 自分の打牌 下家 対面 上家 鳴き リーチ
1 8 53 3 8 8 5 4 5 4 2
2 2 70 1 5 10 3 3 4 1 0
3 5 72 1 4 5 4 4 4 2 0
4 1 74 1 5 7 3 3 4 1 0
5 2 76 1 3 4 4 4 4 2 1
6 1 68 1 7 5 5 5 6 1 0
(参考)トークン数の割合 1 50 1 10 9 9 9 10 1 0
  • 1層目でも牌トークン同士の比較が5割を超え、2層目以降は7割前後を占めます
  • 最終層(6層目)では牌トークンが68%に下がり、自ツモや各家の打牌が3〜7%に戻ります
  • 河(他家の打牌)を見る割合は、トークン数の割合より少ないです。ただし、他家の河の情報は牌トークンの入力チャネル(現物など)にも入っているので、「河を見ていない」とは言えません

注意は一様ではない

Attentionがほぼ一様(何も選んでいない)だと、解釈する意味がありません。そこで、推奨牌のトークンの注意の正規化エントロピーを、層×ヘッドごとに求めました(5万局面)。

層×ヘッドのAttentionエントロピー

「一様とみなす」基準(区間の下限が0.95以上)に当てはまる層・ヘッドは0個でした。平均は0.73で、ヘッドごとに0.38〜0.92と差があります。注意は、ちゃんと偏っています。

2. 牌の埋め込みは、層でどう変わるか

牌の埋め込みの層ごとの変化

34種類の牌を、手牌にあるときの牌トークンの表現(256次元)の平均にして、2次元のPCAで描いたものです。上段が学習前(ランダムな重み)、中段が学習後です(赤=萬子、青=筒子、緑=索子、紫の菱形=字牌。同じ色の1から9を線でつないでいます)。

  • 学習前は、層を進んでもばらばらです
  • 学習後は、層1の時点で、数牌と字牌が分かれます。層2以降、同じ色の中で1と9、2と8、3と7が近くに集まり、真ん中の牌が別のところに集まります。網羅編の3Dの図(層4)と同じ傾向です

下段のグラフは、牌のペアの近さ(コサイン類似度)を層ごとに見たものです。

  • 同じ数で別の種類(5萬と5筒など): 入力で約0.32、層6で約0.50
  • 隣の数で同じ種類(4萬と5萬など): 入力で約0.22、層6で約0.43
  • 足して10になる同じ種類(1と9など): 入力で約0.07、層6で約0.50
  • 学習前のモデルでは、どれもほぼ0です

特に、「足して10」(端からの距離が同じ)の近さは、入力ではほぼ0だったものが、層を進むほど上がります。入力直後には並びが無く、層を進む中で作られているように見えます。

PCAは256次元を2次元に落とした図で、探索的な可視化です。因果の証拠ではありません。

3. 中間層から「概念」を読み出せるか

各層の隠れ状態から、線形モデル(プローブ)で次の量を予測しました(fit側20万局面で学習、別の対局で評価。推奨牌のトークンの表現を使用)。R²が高いほど、線形に読み出せます。

層ごとの概念の読み出し

(左: 学習済み、中: ランダム初期化のモデル、右: 差)

概念 入力 層5(学習済み) 層5(ランダム初期化)
シャンテン数 0.19 0.89 0.47
手牌に現物がある 0.11 0.71 0.17
手牌にドラがある 0.02 0.47 0.05
染め手の度合い 0.06 0.48 0.15
役牌の対子 0.00 0.52 0.03

シャンテン数は、層4〜5でR²=0.885と読み出せます。ランダムな重みでも0.47は読めるので、そこからの上乗せ(0.4前後)が、学習で作られた部分です。他の概念は、ランダムな重みではほとんど読めないので、学習の効果がはっきりしています。

他家のリーチの有無は、入力の時点でR²(正答率)が0.87、層1で1.00になります。これは入力から自明で、プローブが成り立たない(ランダムな重みでも読める)ので、「中間層で作られた概念」とは言えません。

読み出せることと、使っていることは別

概念を読み出す方向(CAV)を、層4で操作して、出力がどれだけ変わるかも調べました。

概念方向を操作したときの用量反応

safety(安全度)・speed(速さ)・value(打点)の3つの概念で、方向を除去したときの確率質量の変化は、最大でも0.10ポイントでした。予測した向きには有意に動く概念もありますが、実質的にはほとんど動きません。概念の情報が、他のトークンや層にも冗長に入っているため、1つの位置から1つの方向を抜いても、出力が変わらないのだと考えています。

「層4で、較正・TCAV・因果の基準をすべて満たした」のは、3概念のうちvalue(ドラ・役牌の対子・染め手)だけでした。safetyとspeedは、どれかの基準を満たしませんでした。

4. 「どの入力が効いたか」は信用できるか

Attentionの重みは、「その情報を使った」証拠ではありません。そこで、Attentionに基づく手法と勾配に基づく手法、合わせて6種類の帰属手法で、各入力の重要度を出しました。

  • raw attention、ノルムベース、rollout、勾配×Attention、IG(Integrated Gradients)の平均基準、IGのpad基準

重要だと言われた入力を消すと、確率は下がるか(忠実性)

入力を消したときの確率の低下

重要度の高い入力から消していくと、ランダムに消すより、推奨牌の確率が大きく下がりました。6手法・2つの除去方法・deletionとinsertionの48通りすべてで、ランダムより有意でした(Holm補正後のp最大5.7e-81)。ただし、ランダムとの比較は低いハードルで、手法同士はこれでは区別できません。

手法どうしは、同じ入力を重要と言うか

手法間の順位の一致

トークン単位のSpearman順位相関は、中央値で、raw attentionとIG(平均)が0.26、ノルムベースとIG(pad)が0.08と低いです。グループ単位(牌トークン、各家の河など)では0.69〜0.98まで上がります。どのグループが大事かでは意見が合うが、どのトークンが大事かでは合わないということです。

事後の比較(探索)では、8条件の平均順位がいちばん良かったのはIG(平均)でした。ただし、これで「正解の説明」が決まったわけではありません。

モデルを壊したら、手法は反応するか

モデルの重みを層ごとにランダムに入れ替えた後の説明が、元の説明と近いままなら、その手法はモデルを見ていません(Adebayoらのsanity check)。全段階をランダム化した後のSpearman相関の中央値は、6手法すべてで0.2以下でした(−0.07〜0.18)。どの手法も、モデルの重みに依存しています。

5. 負の結果: 「形」という概念は、読み出せなかった

麻雀の牌効率では、受け入れの枚数だけでなく、「形」(聴牌したときの待ちの良さ、1手先の受け入れの期待値)も大事です。この「形」を、ルールで計算した量で定義し、事前に基準を決めて調べました。

  • 中間層から読み出すと、R²は0.129でした。ところが、答えをシャッフルした対照課題(control task)では0.440で、対照に負けました
  • 層3〜6からその方向を消しても、「形が最良の牌」への確率質量は+0.06ポイントで、変わりませんでした
  • 形の量の大半(R² 0.685)は、速さ(シャンテン・受け入れ)を読み出すプローブだけで説明できました(R² 0.706)

AIの中の形の情報は、速さの表現の中に入っていて、独立した概念としては読み出せません。ただし、聴牌直前(1向聴)の候補の待ちの良さは、層5でR²=0.611と、対照の最大(0.572)を上回りました(因果は未確認)。

限界

  • 1つのモデル(1つのシード)、探索的な解析です。可視化(PCA)は特にそうです
  • Attentionの重みは、「使った」証拠ではありません。6つの手法は、どの局面でも同じ答えを出すわけではありません
  • 概念の読み出し(R²)が高くても、判断に使っているとは限りません。操作して出力が動いたのはvalueなど一部で、変化も0.1ポイント以下でした
  • 教師なしのクラスタリングも試しましたが、部分標本で結果が安定せず(ARI最大0.643、基準の0.8に届かず)、記事に載せるものはありませんでした
  • 解析はfp32で行いました。bf16だと約4%の局面で推奨牌が変わります

まとめ

  • Attentionは一様ではなく、2層目以降は牌トークン同士の比較が7割前後。最終層でイベントに戻る
  • 牌の埋め込みは、入力では並びが無く、層を進むと「端からの距離」が似た牌が集まる
  • シャンテン数など複数の概念が、中間層から線形に読み出せる(ランダムな重みを大きく上回る)。ただし、操作しても判断はほとんど動かない
  • 帰属手法は、ランダムよりは確かに効くが、手法どうしでトークン単位の順位が合わない。「正解の説明」はまだ無い
  • 「形」は、独立した概念としては読み出せなかった(負の結果)

「AIの頭の中が分かった」とは、まだ言えません。分かったのは、「こういう情報は、中にある」というところまでです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?