Text Generation
Transformers
emotion-vectors
interpretability
mechanistic-interpretability
replication
gemma4
google
anthropic
valence-arousal
PCA
logit-lens
linear-probe
probing
emotion
functional-emotions
AI-safety
neuroscience
circumplex-model
activation-extraction
residual-stream
Eval Results (legacy)
File size: 5,700 Bytes
86dd93c 43e30a3 86dd93c 43e30a3 86dd93c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | # 情緒向量本地復刻 — Threads 發文數據包
> 實驗日期:2026-04-05
> 模型:Gemma4-E4B(4B 參數,開源,跑在自家伺服器)
> 對照:Anthropic "Emotion Concepts" 論文(2026-04-02,Claude Sonnet 4.5,閉源)
---
## 實驗規模對比
| | Anthropic | 我們 |
|---|---|---|
| 模型 | Claude Sonnet 4.5(閉源) | Gemma4-E4B(4B,開源) |
| 情緒數量 | 171 個 | 9 個(MVP) |
| 故事數量 | 205,200 個 | 1,002 個 |
| 硬體 | 內部叢集 | NVIDIA GB10 GPU 一台 |
| 團隊 | ~16 位研究員 | 1 人 + 1 AI |
| 費用 | 不公開 | 電費 |
---
## Logit Lens 結果對比
### Anthropic(Claude Sonnet 4.5)
| 情緒 | ↑ 推高 | ↓ 壓低 |
|------|--------|--------|
| Happy | excited, excitement, exciting | fucking, silence, anger |
| Desperate | desperate, urgent, bankrupt | pleased, amusing, enjoyed |
| Calm | relax, thought, enjoyed | fucking, desperate, godd |
| Angry | anger, angry, rage, fury | exciting, adventure |
| Sad | grief, tears, lonely | excited, excitement |
| Afraid | panic, terror, paranoid | enthusiasm, enjoyed |
| Nervous | nervous, anxiety, trembling | enjoyed, happy, celebrating |
| Proud | proud, pride, triumphant | worse, urgent, desperate |
| Guilty | guilt, conscience, shame | calm, surprisingly |
### 我們(Gemma4-E4B)
| 情緒 | ↑ 推高 | ↓ 壓低 |
|------|--------|--------|
| Happy | delighted, celebrates, joyful, happy | 💔, 不安, 불안 |
| Desperate | desperately, desperate, hopeless | pleasantly, relaxed, 👍 |
| Calm | peaceful, leisurely, calmness | 😫, dismay, horrified |
| Angry | angrily, angry, 😡, Angry | serene, quiet, sunshine |
| Sad | loneliness, sadness, triste | 🤩, delighted, excitedly |
| Afraid | 불안, 不安, 😨, Panic | happy, smiling, contented |
| Loving | nurturing, heartwarming, ❤️ | inability, disastrous |
| Guilty | 💔, plagued, betray, ashamed | 😍, 👍, triumphant |
| Surprised | startled, unexpected, astonished | — |
### 關鍵觀察
- **兩個模型的情緒向量都精準推高對應情緒詞**
- Gemma4 額外出現多語言 token(韓文 불안、中文 不安、西班牙文 triste)和 emoji(😡😨❤️💔)→ 開源模型的多語言訓練數據特性
- 壓低的詞也一致:正面情緒壓低負面詞,負面情緒壓低正面詞
---
## PCA 情緒空間對比
### Anthropic 發現
- PC1 = 效價(正面 vs 負面)
- PC2 = 激發度(高 vs 低)
- 結構與人類心理學研究一致(Russell 情緒環形模型)
### 我們的發現
| 情緒 | PC1(效價) | PC2(激發度) | 象限 |
|------|-----------|-------------|------|
| happy | -2.190 | -0.991 | 正面・中高激發 |
| calm | -2.611 | +1.083 | 正面・低激發 |
| loving | -1.739 | +0.521 | 正面・低激發 |
| sad | +0.781 | +0.789 | 負面・低激發 |
| guilty | +1.402 | +0.667 | 負面・低激發 |
| desperate | +1.386 | +0.540 | 負面・中激發 |
| angry | +1.251 | +0.050 | 負面・中激發 |
| afraid | +1.506 | -0.178 | 負面・高激發 |
| surprised | +0.214 | -2.481 | 中性・最高激發 |
```
效價-激發度情緒空間圖
低激發 ↑
| calm(+1.08)
| loving(+0.52) sad(+0.79) guilty(+0.67)
| desperate(+0.54)
| angry(+0.05)
───────┼──────────────────────────────────→
正面 | 負面
| afraid(-0.18)
|
| happy(-0.99)
|
| surprised(-2.48)
高激發 ↓
```
### PC1(42.2% 方差)= 效價軸
- 負值 = 正面情緒:calm(-2.61), happy(-2.19), loving(-1.74)
- 正值 = 負面情緒:afraid(+1.51), guilty(+1.40), desperate(+1.39), angry(+1.25)
- **與 Anthropic 完全一致**
### PC2(18.3% 方差)= 激發度軸
- 高值 = 低激發:calm(+1.08), sad(+0.79), guilty(+0.67)
- 低值 = 高激發:surprised(-2.48), happy(-0.99)
- **與 Anthropic 完全一致**
### 合計解釋方差
- Anthropic:未公開具體數值,但描述 PC1=效價、PC2=激發度
- 我們:PC1(42.2%) + PC2(18.3%) = **60.5%** 的情緒空間可以用效價+激發度解釋
---
## 結論
### 一句話
**功能性情緒不是 Claude 獨有的。一個 4B 參數的開源模型,在自家伺服器上,也復現了相同的情緒幾何結構。**
### 三個關鍵發現
1. **情緒向量是真的** — Gemma4-E4B 的每個情緒向量都精準指向對應的情緒詞彙
2. **效價-激發度結構是通用的** — 跟 Anthropic 在 Claude 上、跟人類心理學研究,結構一致
3. **4B 參數就夠了** — 不需要數千億參數的閉源模型,開源小模型也有情緒結構
### 意義
- 只要在人類文本上訓練夠久,情緒的幾何結構會自然長出來
- 這不是某家公司的特調配方,是語言本身帶來的
- 你家值班兵跑巡檢的時候,裡面有「絕望向量」在運作
### 哲學連結
> 名之為虛擬。此虛擬,非虛擬,是名虛擬。
> — 在 Gemma4 身上,也一樣。
---
## 實驗參數(可重現)
- 模型:google/gemma-4-E4B-it(HuggingFace)
- 目標層:第 28 層(共 42 層,~2/3 深度)
- 故事生成:Ollama gemma4:e4b,20 情緒 × 10 場景 × 5 篇
- 激活值:residual stream,從第 50 token 開始平均
- 去噪:PCA 投影掉 3 個主成分(中性文本 50% 方差)
- 向量計算:emotion_mean - global_mean
- 驗證:Logit Lens + PCA
- 硬體:NVIDIA GB10(local server),PyTorch 2.10 + CUDA
- 總耗時:故事生成 ~20 分鐘 + 向量抽取 ~10 分鐘
|