論文紹介: The Geometry of Concepts: Sparse Autoencoder Feature Structure

<!-- 論文紹介: The Geometry of Concepts: Sparse Autoencoder Feature Structure -->

## はじめに
今回は Sparse Autoencoder (SAE) の特徴構造について論じた論文 **"The Geometry of Concepts: Sparse Autoencoder Feature Structure"** を紹介します。この研究では、大規模言語モデル (LLM) が持つ概念空間の構造を '原子'、'脳'、'銀河' の 3 つのスケールで明らかにすることを目的としています。

参考文献:
Yuxiao Li, Eric J. Michaud, David D. Baek, Joshua Engels, Xiaoqing Sun, Max Tegmark. ["The Geometry of Concepts: Sparse Autoencoder Feature Structure"](https://arxiv.org/abs/2410.19750). arXiv:2410.19750 (2024).

> 🐣 ミクロからマクロへのスケールアップはちょっとドキドキしますよね！

## 1 論文の概要
この論文は、Sparse Autoencoder を用いて抽出された高次元特徴が、概念空間における構造的な特徴を持つかを調査するものです。具体的には以下の 3 つのスケールでの構造を議論しています。

1. **原子スケール (Atomic scale):** 単語間の類似性を表現する平行四辺形や台形の構造。
2. **脳スケール (Brain scale):** モジュール性を持つ「脳葉」に似た機能的クラスタ。
3. **銀河スケール (Galaxy scale):** 特徴点雲全体のクラスタリングや分布のべき則的性質。

## 補足: Sparce Autoencoder (SAE) とは？
この論文は SAE のことがわからないと何を言っているのかさっぱりな部分があるので簡単に補足しておきます。

Sparse Autoencoder（SAE）は、データを圧縮して特徴を抽出する通常のAutoencoder（AE）の進化版です。SAE は圧縮後のデータを**解釈しやすい形**にすることを目指しています。

### **普通のAutoencoderとの違い**
- **普通のAutoencoder**: 砂時計型の構造で、データを中央の層で圧縮（次元削減）し、元の形に復元します。
- **Sparse Autoencoder**: 中間層の次元を大幅に増やし、その上で多くのノードをゼロにするように設計されています。この論文では約 8 倍に増やしています。

> 🐣 増やした上でほとんどゼロにするって直観的には無駄に見えるんですよね

### **なぜ中間層を大きくして「ほとんどゼロ」にするのか？**
- **中間層の拡張**: データの隠れた意味や特徴を細かく表現するため。
- **スパース性の導入**: 発火するノードを少数に制限し、各ノードが具体的な意味を持つようにします。
  - 例: あるノードが「犬」を、別のノードが「猫」を表す。

例えば、2048 次元の入力を 32 次元に圧縮する AE で適用後の 32 次元実数値ベクトルを眺めてもなかなか解釈は難しいです。一方で、この論文のように入力を 16,000 次元に拡大しつつほとんどが 0 (この論文だと 41 個しか発火できない) という制約をかけると、どこ
が発火しているかという見方で人間でも解釈がしやすくなります。これが論文中の脳スケールを理解するポイントになります。

### **SAEの用途**
SAEは単なるデータ圧縮ではなく、圧縮した情報を「人間が理解しやすい形」で取り出します。主な用途は以下の通りです：
- **言語モデルの内部解析**: モデルが文法や単語の意味、数学的操作をどのように理解しているかを分析。
- **画像やパターン認識**: 特定のオブジェクトや特徴を抽出。

## 2 関連研究
これまでの研究では、Word2Vec や GloVe のような埋め込み表現における線形構造 (例: $f(\text{king}) - f(\text{man}) + f(\text{woman}) = f(\text{queen})$) が注目されてきました。また、近年では LLM の活性空間における特徴表現が幾何学的に解釈可能であることが示されています。この研究は、それらの流れを受けて SAE 特徴に焦点を当てたものです。

> 🐣 モデル自体の学習はせず、既に公開されている SAE 特徴量データの分析に関する研究です

---
## 補足: 使用したモデルとデータの概要
### 使用モデル
- Gemma-2-2b (20 億パラメータ)
  - residual stream: 2048 次元
- Gemma-2-9b (90 億パラメータ)
  - residual stream: 3072 次元

### SAEの設定
- "Gemma Scope" の公開済みSAEデータを使用
- 出力特徴量: 16,000 次元
- 平均 L0: 41（非ゼロ要素の数）

> 🐣 入力を 16,000 次元に増やして 41 個の発火しか許さないということです

なお、41 に固定されるのはレイヤー 12 のみです。全体が 24 レイヤーなので代表的な中間層として 12 が選ばれていると考えられます。論文に明記はされていませんがおそらくこの 41 が全層で最小のノード数となっているはずです。

### データセット
- The Pile データセット
- コンテキスト長: 最大 1024 トークン
- 分析単位: 256 トークンのブロック（最大 1024 トークンのコンテキストを 4 ブロックに分割）

---
## 3 LLM の概念空間における「原子スケール」の構造分析

まずは、一番ミクロな視点、「原子スケール」による構造分析についてです。具体的には LLM の内部で、単語や概念がどのように関係し合っているかの解析です。

### 概念間の幾何学的な関係性
LLM の活性化空間 (2048 次元) で、興味深い幾何学的な構造が発見されました。

1. **平行四辺形構造**
- 例: `man:woman::king:queen`
- 性別の変化と身分の変化が、ベクトル空間で規則的なパターンを形成

2. **台形構造**
- 例: `Austria:Vienna::Switzerland:Bern`
- 国と首都の関係性が、一貫したベクトルパターンとして表現

### 分析手法の改善
従来の Word2vec でも類似した解析はされていましたが、この研究では線形判別分析 (LDA) を使って**ノイズを除去**する新しい手法を提案しています。これにより、LLM が学習した概念間の関係性をより純粋な形で理解できるようになりました。

> 🐣 Word2vec の有名なキングとクイーンのあれの発展型ですね

---
## 4 脳スケール (Brain scale)
次は、一つ視点を上げた「脳スケール」による分析です。
ここでは、SAE 特徴の空間がモジュール的なクラスタ構造を持つかを検証しました。実験では SAE の出力のうち発火している index を追跡し、それらの共起パターンを分析しました。この手法により、16,000 次元の疎表現から意味のある機能グループを発見することに成功しています。例えば、数学やコードに関連する特徴群が一つの「脳葉」として、チャットや議会記録といった短文の特徴群が別の「脳葉」として観察されました。

具体的には以下の手法が使用されました:
- 特徴の同時発火頻度に基づくスペクトルクラスタリング
- φ係数や Jaccard 指数を用いたクラスタ間の類似度解析
- 機能的に類似する特徴が空間的にも密接に配置されていることをφ係数を用いて定量化

この論文の SAE では 16,000 次元の特徴空間において、各入力に対して平均して 41 個のノードだけが活性化 (値が 1 以上) する性質を持ちます。この「どの index が発火するか」というパターンを追跡・分析することで、LLM の内部表現の機能的な構造を明らかにしたということです。例えば、数学的な内容を処理する時と会話文を処理する時では、異なる index グループが一貫して発火することが観察されました。

> 🐣 ここに一番の価値があると感じました！

---
## 5 銀河スケール (Galaxy scale)
最後は、一番俯瞰してみる銀河スケールによる解析です。 ここでは SAE 特徴の大局的な構造を調査するため、主成分分析 (PCA) を用いて特徴点群の形状を分析しました。その結果、以下の知見が得られています。

### 分布の特徴
- 特定の層での特徴分布がパワーロー的な特性を持つ
- 特に中間層で顕著な構造化が観察される

特に発火ノードを 41 に限定したレイヤー 12 ではパワーロースロープが -0.47 と最も顕著で、初期層であるレイヤー 0 と最終層であるレイヤー 24 では -0.24 および -0.25 と緩やかであったことが報告されています。

> 🐣 つまり中間層レイヤー 12 が抽象化の中心地として機能していることを示唆しています

#### クラスタリングエントロピーによる分析
クラスタリングエントロピー $H_{\text{clust}}$ を以下のように定義します。

```math
H_{\text{clust}} = H_{\text{gauss}} - H
```

ここで：
- $H_{\text{gauss}}$: ガウス分布の理論エントロピー
- $H$: 実データのエントロピー ($k$-最近傍法で推定)
 
ガウス分布のエントロピー $H_{\text{gauss}}$ は次のように計算されます：
```math
H_{\text{gauss}} = \frac{d}{2}(1 + \log(2\pi)) + \sum_{i=1}^d \log(\lambda_i)
```
ここで $d$ は次元数、$\lambda_i$ は共分散行列の固有値です。

実データのエントロピー $H$ は $k$-最近傍法を用いて以下の式で推定されます：
```math
H = \frac{d}{n}\sum_{i=1}^n \log(r_i + \theta) + \log(n-1) - \Psi
```
ここで $r_i$ は点 $i$ の $k$-最近傍距離、$n$ はデータ点の数、$\Psi$ はディガンマ関数です。

ちなみに論文中では、これと「ネゲントロピー」(negentropy) の関連について触れています。ネゲントロピーは負のエントロピーの意味で、乱雑さを表すエントロピーとは逆に構造化の度合いを示します。クラスタリングエントロピーは、完全にランダムな場合のガウス分布からのずれを構造化の指標として用いていると解釈できます。

> 🐣 負のエントロピーから漂う中二病感、きらいじゃないです

### 結果と考察
クラスタリングエントロピーによる分析の結果、特に層 12 で最も高いクラスタリングエントロピーを示しランダムな分布仮定を大きく上回る構造化が観察されました。このことから、中間層では情報が効率的に抽象化・整理されており、早い層（層 0）や遅い層（層 24）と比べて、より高度な概念表現がなされていることが示されています。
これは中間層が情報の抽象化と整理の中心地として機能し、より効率的な高次表現を形成している可能性を示唆しています。
ただし、銀河スケールでの分析では、16,000 次元の SAE 特徴量を使用しているものの、疎表現性そのものが直接的な焦点ではなく、主に全体的な分布やクラスタリング構造の評価に重きを置いています。脳スケールにおける疎表現性の重要性と比較すると、**その役割が相対的に低い**点には注意が必要です。

---
## 6 まとめ
この研究は、LLM の概念空間を 3 つのスケールで分析しました：

1. 原子スケール: LDA を用いて概念間の幾何学的な関係性を明確化
2. 脳スケール: SAE の発火パターンから機能的な「脳葉」構造を発見
3. 銀河スケール: 特徴分布の構造化を定量評価し、中間層における高次表現の存在を確認

特に脳スケールでの分析により、LLM が人間の脳に似た機能的な組織化を獲得していることが示唆されました。この知見は LLM の理解と解釈可能性の向上に貢献すると期待されます。

---

## おわりに
この論文では、LLM の概念空間を「原子」、「脳」、「銀河」という 3 つの異なるスケールで分析することで、LLM が世界を見ている構造の理解を試みています。
私は最も面白いと思ったのが、SAE の「疎」な性質を活用した 脳 (Brain) スケールの分析です。16,000 次元中わずか 41 個の発火パターンを追跡することで、数学・コード・対話といった機能ごとの「脳葉」構造を発見した部分はちょっとワクワクしました。SAE で単語を疎空間に変換後、発火しているノードの index に着眼して分類するのはセンスがいいなぁと思いました。ではまた次の記事でお会いしましょう。