從 Geoguessr 的「找膠帶」玄學,看深度學習的捷徑學習(Shortcut Learning)迷思

從 Geoguessr 的「找膠帶」玄學,看深度學習的捷徑學習(Shortcut Learning)迷思,我們如果太依賴某特徵會發生什麼事情? 1. 那些被丟在荒郊野外的日子:Vibe Guessing 的浪漫 自從結束交換學生的日子後,我意外迷上了 Geoguessr 這款遊戲。它的魅力在於不用下載任何 App,打開瀏覽器就能隨時隨地被「隨機空投」到世界某個角落。在玩這款遊戲時,我不僅能複習曾經走過的街景,還發現自己漸漸長出了一種超能力——「Vibe guessing(直覺流)」。 多虧了在歐洲遊走的經驗,我開始能用直覺去感受一個地方的「氣味」:不依賴那些主流的meta側面破解技巧,而是靠著建築的冷暖色調、路邊植物的生長姿態,甚至是一種難以言喻的「破敗感」或「秩序感」來定位。雖然這種黑盒子演算法偶爾會讓我大落漆(把南美洲猜成東歐之類的),但這種真正用雙眼去感受地理的過程,才是遊戲靈魂。 2. Meta 玩家的玄學:現實世界沒有長著涉水管的 Google 車 但與此同時,我對 Geoguessr 圈內極度推崇的「Meta 策略」抱持著高度懷疑。 什麼是 Meta?高階玩家被丟到荒郊野外時,他們第一時間不是看風景,而是低頭看 Google 街景車。他們透過記憶 Google 街景車在各國的收錄瑕疵來上分: 「車頂有黑膠帶?這絕對是迦納。」 「車頭右邊有一根涉水管?不用看了,肯亞。」 「天空有明顯的第三代鏡頭接縫光暈?定位塞內加爾。」 這確實很聰明,也是遊戲規則內的完美必勝法。他們繞過了真正需要龐大知識量的地理分析,直接破解了題庫。但荒謬的是,如果今天把這些 Meta 玩家丟到真實世界的肯亞,他們會迷路—— 因為現實中的肯亞街頭,並沒有那台長著涉水管的 Google 街景車跟著他們。 3. 演算法也是個功利的玩家:什麼是 Shortcut Learning? 把場景換到 AI 領域,深度學習模型其實就是個死命想上分的 Geoguessr 玩家。 不管是在電腦視覺還是對抗性攻擊與防禦(Adversarial Attack/Defense,我最近跟者羅紹元老師的腳步在研究)中,模型唯一的目標就是把 Loss 降到最低。它才不管什麼大局觀,只要能最快達到目的,它就會毫不猶豫地走捷徑。 這在機器學習裡被稱為 捷徑學習(Shortcut Learning) 。 模型並沒有學會我們期望它學會的「真正特徵」,而是學到了「資料集裡的統計相關性(或是瑕疵)」。只要這個帶有強烈訊號的捷徑特徵一消失,模型的預測能力就會瞬間崩盤,毫無泛化性(Generalization)可言。 4. 殺傷力極強的隱形炸彈:相關性不等於因果關係 Shortcut Learning 在機器學習各個領域都是個災難,而且它比我們常說的Overfitting更難被發現、殺傷力更高。 Overfitting 是模型死背了訓練集,但在驗證集就會露餡。但 Shortcut Learning 可怕的地方在於,如果你的驗證集也包含了同樣的瑕疵,模型的表現會堪稱完美。 這就像經濟學和統計學裡常被拿出來鞭的鐵則:「相關性不代表因果」。模型只看到了高度相關,卻搞錯了因果。 套用回 Geoguessr 的比喻:如果哪天 Google 官方來個大更新,用 AI 把所有街景車的特徵、天線、膠帶全部 P 掉,那些高度依賴 Meta 的玩家積分絕對會迎來史詩級的雪崩。 ...

May 28, 2026 · 1 分鐘 · 柯柯

戳破「思考模型」的行銷幻覺:KV Cache 暴力美學與 Test-Time Compute 的真相

在深入研究 LLM 應用與 Agent 系統的過程中,我實在對業界那種「AI 馬屁精」式的玄學行銷感到反胃。現在廠商動不動就愛吹自家的新模型「會思考」、「有邏輯」,彷彿加了一個 “Pro” 或 “Thinking” 的後綴,神經網路就突然長出了人類的大腦。我們如果不採取懷疑與質問的態度,很容易就會被這些漂亮話牽著鼻子走。今天我們就冷酷地從底層運作機制與物理限制出發,拆解 Flash 模型與 Thinking 模型真正的差異,以及那些所謂的「思考過程」到底是什麼。 1. 根本不是「想久一點」:訓練目標與機率分佈的差異 很多人以為 Thinking 模型只是 Flash 模型跑得比較久,或者我們透過 Prompt 叫它「你想仔細一點喔」。這完全是個誤解。 Flash 模型的訓練目標是追求極致的推理速度與低延遲,它依賴強大的壓縮記憶和直覺式的 Pattern Matching。而標榜推理的 Thinking 模型,是在訓練階段引入了大量的RL,被「刻意訓練」成在給出最終答案前,必須先產生一長串的內部推理軌跡(Chain of Thought)。 無論是哪一種,它們本質上依然是在做 Next-Token Prediction。我們來看自迴歸生成最核心的機率公式:P(Y | X) = 根據過往生成的X個token 預測目前要接龍的下一個token Y的sampling長什麼樣子。 給定輸入 X,模型每一步都是在計算下一個 Token y_t 的最大條件機率。Thinking 模型並沒有跳脫這個框架,它只是被訓練成在生成最終答案的 y 之前,先利用這個公式接龍出一大堆中間步驟。 2. KV Cache 的暴力美學:破除「重新計算」的直觀迷思 既然是接龍出思考過程,這就帶出了第二個嚴重的迷思。很多人直觀地以為,Thinking 模型的運作方式是: 原始問題 -> 產出思考步驟 1。 接著把「原始問題+思考步驟 1」整包重新餵給 Transformer -> 產出思考步驟 2… 就這樣像俄羅斯娃娃一樣越疊越大。 如果真的是這樣運作,GPU 的算力早就原地爆炸了。真正的底層魔法,在於 KV Cache(Key-Value Cache)。 ...

May 22, 2026 · 1 分鐘 · datafox & 柯宥圻 (Yuchi Ko)

打破 Seq2Seq 迷思,從資訊理論看大模型的極致壓縮與湧現

當時的我會覺得,Decoder 說穿了根本只是看著輸入做「文字接龍」,沒辦法預先知道整體要生成什麼。但現在回頭看,如果我們不跟著那些 AI 馬屁精瞎起鬨、講一些「因為 GPT 比較有靈性」的漂亮話,而是冷酷地從Information Theory與工程現實的底層來拆解,你會發現 Decoder-only 的勝出,根本是一場數學與物理限制下的必然。 1. 統一架構的暴力美學:交叉熵與自作聰明的代價 Seq2Seq 雖然邏輯清晰,但它把「理解」與「生成」拆成兩個模組,其實在數學目標函數上「自我閹割」了資訊壓縮的純粹性。 我們回到機率與資訊理論最純粹的定義——熵的鏈律(Chain Rule for Entropy): $$H(X_1, X_2, \dots, X_n) = \sum_{i=1}^{n} H(X_i | X_{i-1}, \dots, X_1)$$ 這條公式告訴我們,要量化一段人類語言的總體不確定性,最完美、最無損的拆解方式,就是去計算「在給定所有歷史資訊的情況下,下一個字的條件熵」並全部加總。 而 LLM 每天在跑的 Next-Token Prediction,其損失函數本質上就是最小化真實世界人類語言分佈 $p$ 與模型預測分佈 $q$ 之間的交叉熵(Cross-Entropy): $$H(p, q) = H(p) + D_{\text{KL}}(p \parallel q)$$ 這裡面的物理意義非常優雅:$H(p)$ 是「上帝的熵」,人類語言本身自帶的終極亂度;而 KL 散度 $D_{\text{KL}}(p \parallel q)$ 則是模型因為不夠聰明,導致我們在進行接龍時,平均每一步要多付出的資訊代價(雜訊)。優化模型的終極目標,就是要把這個代價逼近到 0。反觀 Seq2Seq,它偏要把這個統一的優化任務拆開,用雙向 Attention 去搞 Span Corruption(挖空填空),再用 Cross-Attention 去撈 Embedding。這打碎了能量化一切的條件熵鏈律,讓參數空間的優化目標變得極度不純粹。 2. 質問:我們真的希望 KL 散度歸零嗎? 好,這時候如果有人舉手質問:「照你這樣說,我們希望 $D_{\text{KL}}$ 越低越好,那終極目標不就是讓它等於 0?如果模型分佈跟人類真實資料採樣完全一模一樣,那它不就只是個死記硬背的隨機鸚鵡?你們天天掛在嘴邊的『湧現能力』到底從哪裡蹦出來的?」這個質問,就是解開 Decoder-only 勝出謎題的終極鑰匙。 ...

May 21, 2026 · 1 分鐘 · datafox & 柯宥圻 (Yuchi Ko)

為什麼現在的 LLM 都是 Decoder-only?從 Seq2Seq 到 GPT 的架構演進與思考

「如果要通往圖靈機的路上,Seq2Seq 本身比 Decoder 還要合理。」這是我在 2022 年的筆記裡寫下的一句話。 當時我試玩了早期的 GPT-2,心裡總覺得:這到底是個什麼東西?相比之下,基於 Seq2Seq 概念的 BART 或是 T5 看起來合理太多了。沒想到幾年後的現在,在這場 AI 軍備競賽中,竟然是 Decoder-only 架構拿下了 MVP。 當時的我會覺得,Decoder 說穿了根本只是看著輸入做「文字接龍」。它沒辦法預先知道自己整體要生成什麼,只能不斷在 Sample Space (樣本空間) 中選擇「現在這個情況下,下一個字機率最大的是誰」。 相較之下,Seq2Seq 才是完整使用 Transformer 架構的「好學生」: Encoder 負責看懂整個句子架構,並生成富含語意細節的 Embedding。 Decoder 應用 Encoder 給的全局上下文 (Context) 來輸出序列。 這樣的分工聽起來超合理,對吧?但為什麼現在的發展卻完全偏向了 Decoder-only?以下是我後來自己的反思,以及結合近期與 AI 討論後整理出的幾個關鍵原因。 1. 統一架構的暴力美學:Scaling Law 與目標函數 Seq2Seq 雖然邏輯清晰,但它把「理解」與「生成」拆成了兩個模組。Encoder 負責理解並產生針對細部觀念的 Embedding。這其實帶來了一個隱形的代價:訓練目標的不一致。 Seq2Seq 常常使用 Span Corruption(例如把一段話挖空,讓 AI 填空,類似 BERT/T5 的作法)來預訓練;而 GPT 則是貫徹到底的 Next Token Prediction (預測下一個詞)。 後來的事實證明,當模型參數規模放大到百億、千億等級時,遵守 Scaling Law (規模法則) 的 Next Token Prediction 是最能榨取資料價值的「目標函數」。當我們要壓低 Loss Function,讓 Decoder-only 的模型表現越來越好時,因為要預測下一個字足夠準確,模型被迫要在內部「模擬」出整個世界的邏輯、常識甚至物理規律。 ...

May 14, 2026 · 1 分鐘 · datafox & 柯宥圻 (Yuchi Ko)