English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

guest
1 / ?
back to lessons

數據生活在幾何空間中

一切都是向量

詞嵌入向量 — 相似性作為方向

在機器學習中,數據生活在幾何空間中。每個具有 N 個特徵的數據點都是 N 維空間中的一個點。這不是比喻——它是每個算法的字面數學基礎。


手寫數字圖像(28×28 像素)是 784 維空間中的一個點。每個像素是一個座標。兩個看起來相似的數字是該空間中附近的點。兩個不同的數字相距甚遠。


詞嵌入將一個詞映射到 300 維空間中的一個點。意思相近的詞最終出現在同一個鄰域中。「狗」和「小狗」很近。「狗」和「議會」相距很遠。


具有 50 個特徵的用戶檔案(年齡、購買歷史、點擊模式)是 50 維空間中的一個點。推薦引擎找到在此空間中「附近」的用戶,並建議他們的幾何鄰居喜歡的內容。


幾何是我們推理這些空間的方式。距離、方向、角度、投影——這些是機器學習的基本操作。

向量操作 — 構建塊

點積驅動一切

在機器學習中,三個向量操作最重要:


向量加法 — 組合特徵或信號。如果你將兩個詞向量相加,你會得到一個表示兩個概念混合的向量。


標量乘法 — 縮放向量會改變其大小,而不改變其方向。梯度下降中的學習率是標量乘數。


點積 — 這是主力。向量 a 和 b 的點積等於 |a||b|cos(θ),其中 θ 是它們之間的角度。當向量被歸一化(單位長度)時,點積就是角度的余弦。


余弦相似度 = cos(θ) = (a·b) / (|a||b|)


這個單一公式驅動:

- 搜尋引擎 — 查找與查詢相似的文件

- 注意力機制 — 決定哪些令牌對彼此很重要

- 推薦引擎 — 將用戶檔案與項目檔案進行匹配

- 檢索增強生成 — 為語言模型尋找相關上下文


cos(θ) = 1 意味著向量指向完全相同的方向(意思相同)。cos(θ) = 0 意味著它們垂直(無關)。cos(θ) = -1 意味著它們指向相反的方向(對立的意思)。

余弦相似度

余弦相似度是現代機器學習系統中使用最廣泛的度量之一。

兩個詞嵌入向量的余弦相似度為 0.95。另一對的余弦相似度為 0.12。每個數字告訴你關於每對中的詞之間的關係是什麼?

測量距離的三種方式

距離度量的選擇改變「相似」的含義

三個距離度量 — 相同點、不同含義

給定空間中的兩個點,有許多方式來測量它們之間的「距離」。每個度量都定義不同的幾何,該幾何決定了你的模型認為什麼是「相似」的。


歐幾里得距離(L2) — 直線距離。d = √(Σ(aᵢ - bᵢ)²)。這是「烏鴉飛行」距離,你的直覺所期望的那個。它平等對待所有維度,對大小敏感。


曼哈頓距離(L1) — 網格行走距離。d = Σ|aᵢ - bᵢ|。就像在城市街道上導航——你只能沿著坐標軸移動,永遠不能對角線移動。對單個維度中的異常值更加穩健,因為它不會對差值進行平方。


余弦距離 — 測量向量之間的角度,完全忽略大小。d = 1 - cos(θ)。兩份關於同一主題的文件無論長度如何都有小的余弦距離。兩份長度相同但關於不同主題的文件有大的余弦距離。


選擇並非武斷。如果大小很重要(藥物劑量、反應堆溫度),使用歐幾里得。如果你關心比例而非絕對值(詞頻分佈、用戶偏好檔案),使用余弦。如果單個特徵差異比總大小更重要(故障診斷,其中一個傳感器峰值是有意義的),使用曼哈頓。

K 最近鄰 — 純幾何

KNN:最簡單的幾何算法

K 最近鄰是機器學習中最透明的幾何算法。它沒有訓練階段——它就是訓練數據。


要分類新點:找到訓練數據中最近的 K 個點。讓他們投票。多數類贏。這就是整個算法。


KNN 產生的決策邊界是 Voronoi 圖 — 一個空間的分割,其中每個點都屬於其最近訓練樣本的區域。邊界是相鄰訓練點之間的垂直平分線。


這裡是重要的幾何洞察:距離度量的選擇完全改變 Voronoi 圖。歐幾里得距離產生曲線、圓形邊界。曼哈頓距離產生鑽石形邊界。余弦距離產生角形、圓錐形邊界。


相同的訓練數據。相同的 K。不同的距離度量。完全不同的模型。幾何就是模型。

選擇距離度量

距離度量不可互換——正確的選擇取決於你的數據的「相似」含義。

在比較文件時,為什麼你可能使用余弦距離而不是歐幾里得距離?想想當兩份文件討論同一主題但一份要長得多時會發生什麼。

超平面 — 高維中的平坦邊界

每個線性分類器都找到一個超平面

決策邊界 — 線性、非線性和核技巧

線性分類器找到一個平坦的表面,將兩個類別分開。此表面的維度取決於空間:


- 在 2D 空間中,邊界是一條 (1 維)

- 在 3D 空間中,邊界是一個 平面(2 維)

- 在 784D 空間中(MNIST 數字圖像),邊界是一個 783 維超平面


一般模式:在 N 維空間中,決策邊界是一個(N-1)維平坦表面,稱為 超平面


邏輯迴歸、支持向量機和單層感知器都是超平面查找器。它們在尋找最佳超平面的方式上有所不同:

- 邏輯迴歸最大化正確分類的概率

- SVM 最大化幾何邊距——從超平面到最近數據點的距離

- 感知器只是找到任何分隔數據的超平面,不保證最優性


線性分類器的權重向量就是超平面的法向量。偏差項將超平面從原點移開。這些是具有幾何解釋的幾何對象。

超越平坦邊界

當數據不是線性可分時

許多現實問題無法用平坦邊界解決。考慮分類貓和狗的圖像——像素空間中沒有單個超平面能完全分隔它們。


存在兩個幾何策略:


策略 1:核技巧 — 將數據轉換到更高維空間,在那裡它是線性可分的。經典例子:圓內的點(A 類)和圓外的點(B 類)在 2D 中。沒有線能分隔它們。但添加第三個維度 z = x² + y²,內部點(小 x² + y²)坐在下方,而外部點(大 x² + y²)坐在上方。現在一個平坦平面完美地分隔它們。


具有核函數的 SVM 隱式執行此操作——它們在高維空間中計算點積,而無需構建實際的高維向量。這稱為「核技巧」,這是一個純粹的幾何洞察。


策略 2:神經網路 — 堆疊線性轉換與非線性激活函數。每層應用線性變換(矩陣乘法 = 旋轉 + 縮放 + 剪切),後跟非線性「彎曲」(ReLU、sigmoid、tanh)。許多線性-then-bend 操作的組合可以近似任何連續邊界形狀。


深度神經網路是扭曲輸入空間的幾何變換序列,直到類別在最終層中變成線性可分。

分隔圓形數據

這是機器學習中最重要的幾何問題之一。

在 2D 中,你有圓內的紅點和圓外的藍點。直線無法分隔它們。描述兩個幾何策略來解決這個問題。

損失表面

訓練 = 在表面上向下行走

損失景觀 — 導航表面

每個機器學習模型都有參數——權重和偏差。損失函數測量模型預測的錯誤程度。在一起,這些定義了一個 損失表面:一個景觀,其中每個點對應於一組特定的參數值,高度是損失。


對於具有 2 個參數的模型,損失表面是一個 3D 景觀,你可以可視化——丘陵、山谷和平原。對於具有 1750 億個參數的模型(如 GPT-3),損失表面存在於 1750 億維空間中。數學是相同的。


梯度下降是導航此表面的算法。梯度是一個幾何對象——一個指向最陡上升方向的向量。要減少損失,向相反方向移動:負梯度。這字面上是向下走。


學習率控制步長。太大了,你就超過山谷。太小了,你就慢慢爬行。梯度告訴你方向;學習率告訴你要走多遠。

鞍點、最小值和高維幾何

損失景觀不是簡單的碗

訓練的幼稚圖像想像一個光滑的碗,底部有一個最低點。現實要複雜得多:


局部最小值 — 不是最深的山谷。梯度下降可以卡在這裡,滿足於每個方向都上升,即使存在更深的山谷。


鞍點 — 形狀像馬鞍。損失在某些維度中向下彎曲,在其他維度中向上彎曲。在 2D 中,這很少見。在高維中,鞍點 比局部最小值指數級更常見。1000 維空間中的臨界點必須在所有 1000 個維度中向上彎曲才能是局部最小值。如果甚至一個維度向下彎曲,它就是一個鞍點。


平坦高原 — 梯度接近零的區域。訓練停滯,因為沒有斜坡可供跟隨。


尖銳與平坦最小值 — 尖銳最小值是一個狹窄的山谷。平坦最小值是一個寬闊的山谷。研究表明 平坦最小值泛化得更好 到看不見的數據,因為對參數的小擾動(來自新數據中的噪聲)不會戲劇性地改變損失。


帶動量的 SGD 幫助逃離鞍點和尖銳最小值。隨機梯度下降的隨機性就像在表面上搖晃一個球——它從狹窄的陷阱中反彈,找到更寬、更平坦的山谷。

SGD 對比全批量梯度下降

這是機器學習訓練中最重要的實踐洞察之一。

為什麼隨機梯度下降(SGD)經常比全批量梯度下降找到更好的解決方案,從幾何角度來看?

詞作為向量 — 語義算術

意思有方向

詞嵌入空間 — 語義幾何

Word2Vec、GloVe 和現代轉換器嵌入將離散令牌(詞、子詞)映射到連續向量空間。結果是一個幾何世界,其中意思有座標。


著名的例子:king - man + woman ≈ queen


這是向量算術。從「man」到「king」的向量表示「應用於男性的皇室」的概念。從「woman」到「queen」的向量表示「應用於女性的皇室」。這些向量大約是 平行 — 相同的方向、相同的關係、不同的起點。


從訓練文本中出現的其他幾何關係:

- Paris - France + Italy ≈ Rome(「...的首都」關係)

- walked - walk + swim ≈ swam(過去式轉換)

- bigger - big + small ≈ smaller(比較級形式)


沒有人對這些關係進行編程。該模型通過閱讀數十億詞發現意思有幾何結構。嵌入空間中的方向對應於語義關係。這是機器學習中最深刻的幾何發現之一。

流形假設

高維數據生活在低維表面上

一個 64×64 灰度臉部圖像有 4,096 個像素值——它是 4,096 維空間中的一個點。但不是該空間中的每個點都是有效的臉。大多數隨機 4,096 維向量看起來像靜態噪聲,而不是臉。


流形假設指出,現實世界的高維數據實際上位於或接近嵌入在高維空間中的 低維彎曲表面(流形)。臉的流形可能只有 50 維——由光照角度、頭部姿勢、表情、膚色、年齡等因素參數化。


這是一個具有實踐後果的幾何聲明:


- 降維(PCA、t-SNE、UMAP)有效,因為數據大致低維。這些算法找到流形並投影到它上面。

- 自動編碼器學習將數據壓縮到低維潛在空間(流形)並從中重建。

- 生成模型(VAE、擴散模型)學習流形並在其上採樣新點——生成看起來真實的新臉、新音樂、新文本,因為它位於學習的流形上。


當你的模型無法泛化時,一個幾何解釋是:它學到了錯誤的流形。訓練數據追蹤了與真實數據分佈不相符的表面。

向量類比

嵌入空間的幾何結構是現代機器學習中最令人驚訝的結果之一。

如果詞嵌入在幾何上捕捉意思,從「man」到「king」的向量大約平行於從「woman」到「queen」的向量是什麼意思?什麼幾何概念在起作用?

ROC 曲線 — 分類質量作為面積

評估度量生活在幾何空間中

ROC 空間 — 分類質量作為幾何

ROC(接收器操作特性)曲線繪製 真正率(y 軸)對比 假正率(x 軸),因為你掃過分類閾值從 0 到 1。


這是一個帶有有意義地標記的幾何空間:

- (0, 1) — 左上角 — 完美分類。每個正數檢測到,零假警報。

- (0, 0) — 左下角 — 模型將一切分類為負數。

- (1, 1) — 右上角 — 模型將一切分類為正數。

- 對角線從 (0,0) 到 (1,1) — 一個隨機分類器。在每個閾值處,它有相等的真正率和假正率。


AUC(曲線下面積)是字面上的幾何面積測量。AUC = 0.5 意味著模型是隨機的(對角線下的面積)。AUC = 1.0 意味著完美分類(整個單位正方形)。一個好模型的 ROC 曲線向左上角彎曲,包圍更多面積。


AUC 有一個美妙的概率解釋:它等於模型對隨機正樣本的評分高於隨機負樣本的概率。但在幾何上,它只是面積——正是那個幾何簡單性使其直觀。

精確率-召回率空間

不同的幾何權衡

精確率-召回率曲線位於與 ROC 曲線不同的幾何空間中,他們講述不同的故事。


精確率 = 模型標記為正的所有內容中,實際上是正的的比例是多少?

召回率 = 在所有實際的正面中,模型找到了多少比例?


當你降低分類閾值(標記更多的東西為正)時,召回率增加(你捕捉更多的真正正面),但精確率通常下降(你也捕捉更多的假正面)。這個權衡在精確率-召回率空間中追蹤一條曲線。


F1 分數 = 2 × (精確率 × 召回率) / (精確率 + 召回率) — 調和平均。從幾何上,F1 分數等於精確率-召回率曲線上精確率等於召回率的點。它是曲線與精確率-召回率正方形對角線的交點。


平均精確率(AP) = 精確率-召回率曲線下的面積。像 AUC-ROC 一樣,它將整條曲線總結為一個表示幾何面積的單個數字。


ROC 曲線和精確率-召回率曲線是相同模型的互補幾何視圖。ROC 曲線在不平衡數據集(99% 負類)上可能會誤導性地樂觀。精確率-召回率曲線仍然信息豐富,因為它關注正類。

AUC-ROC 解釋

在幾何上理解 AUC-ROC 測量的內容幫助你在模型之間進行選擇。

兩個模型有相同的精確度(85%)。模型 A 的 AUC-ROC 為 0.92。模型 B 的 AUC-ROC 為 0.78。為什麼你可能更喜歡模型 A?他們的 ROC 曲線中的幾何差異告訴你什麼?

轉換器 — 點積作為注意力

注意力是幾何相似度測量

注意力 = 查詢和鍵之間的幾何對齐

轉換器架構——現代語言模型的基礎——建立在一個幾何操作上:點積。


對於序列中的每個令牌,轉換器計算三個向量:查詢(Q)鍵(K)值(V),每個通過將輸入嵌入乘以學習的權重矩陣獲得。


兩個令牌之間的注意力分數是:score = Q · K^T / √d


這是一個 縮放點積 — 一個幾何相似度測量。當 Q 和 K 指向同一方向(它們之間的角度很小)時,點積很大:此鍵與此查詢高度相關。當它們垂直時,點積為零:無關。


分數通過 softmax 傳遞以創建概率分佈:注意力權重總和為 1。輸出是值向量的加權和,其中權重由幾何對齐確定。


在一個句子中,如「貓坐在墊子上,因為它累了」,注意力計算:對於詞「it」,哪些其他詞具有最多的幾何對齐?如果「it」的 Q 向量最接近「cat」的 K 向量對齊,模型就會關注「cat」——通過幾何解決代詞參考。

多頭注意力 — 多個幾何視角

為什麼多個頭?

自注意力,只有一組 Q、K、V 矩陣,計算一種類型的幾何對齐。但語言有許多類型的關係——句法、語義、位置、參考。


多頭注意力使用多組 Q、K、V 投影矩陣,每個都投影到嵌入的不同 子空間 中。每個頭在其自己的幾何子空間中測量對齐。


研究人員在檢查注意力頭時所觀察的:

- 頭 1 可能注意前一個詞(位置接近度)

- 頭 2 可能注意來自主體的動詞(句法依賴)

- 頭 3 可能注意語義相關的詞更早在上下文中

- 頭 4 可能注意最近的名詞(共指)


每個頭都是相同數據上的不同幾何透鏡。投影以不同方式旋轉和縮放嵌入空間,使不同的關係通過對齐可見。


這就是為什麼轉換器的表現優於具有單一注意力機制的模型。單個點積在完整嵌入空間中捕捉一個相似性概念。不同子空間中的多個點積同時捕捉多個、互補的概念。

多頭注意力

多頭注意力是轉換器的關鍵架構創新之一。

在轉換器中,與單個頭相比,為什麼使用多個注意力頭有幫助?在幾何子空間方面回答。

機器學習是應用幾何

統一的線索

看看我們涵蓋的內容。機器學習中的每個主要概念都有一個幾何核心:


數據 = 高維空間中的點

特徵 = 該空間的維度

相似度 = 點之間的距離或角度

分類 = 在類別之間找到幾何邊界

訓練 = 通過遵循梯度導航損失表面

嵌入 = 學習的坐標系,其中幾何編碼意思

評估 = 度量空間中曲線下的面積

注意力 = 點積測量角對齐


這不是巧合。機器學習從線性代數和微分幾何領域繼承了其數學框架——這些領域從根本上關於空間、形狀和轉換。


理解幾何給你一些記憶算法無法做到的事情:直覺。當你的模型失敗時,幾何視圖建議去哪裡看。類別無法分隔?查看邊界。訓練卡住?檢查損失景觀。嵌入差?檢查相似項是否在幾何上接近。注意力分散?檢查子空間投影。


無論你使用 3 個維度還是 30 億個維度,幾何都是相同的。數學規模。直覺轉移。這就是什麼使幾何成為機器學習的通用語言。

幾何調試

我們涵蓋了向量、距離、邊界、訓練、嵌入、評估和注意力——都通過幾何的鏡頭。

選擇本課程中的一個概念,並解釋理解其幾何性質如何改變調試或改進使用它的模型的方式。要具體。