Condensation 簡短總結
Condensation 是由 Sam Eisenstat 提出的一套關於概念(concepts)的理論。論文原文可在此閱讀 。Abram 在 Lesswrong 上寫了一篇評論 以及一篇後續探討 。這篇論文非常值得一讀,如果你時間有限,也可以略讀以了解其動機。
什麼是概念?一個粗略的指引是「作為單詞或短語之『意義』的小型資訊包」。另一個指引則是事物空間的集群結構(cluster structure of thingspace) 中所發現的集群。或許我們可以將它們視為生成模型(generative model)的小型區塊,這些區塊組合在一起,構成了複雜世界的完整模型。
這種區塊化(chunking)通常看起來是任意的,因為劃分生成模型的方法不止一種。它取決於假設類別(hypothesis class)、先驗(prior)和實現細節。但某些概念似乎比這更具客觀性,因為我們預期具有不同實現細節的不同智能體(agents)會使用相同的概念。Condensation 回答的一個問題是:「在什麼條件下,概念可以更具客觀性?」 。該理論提供了一些假設和指標,可用於在**潛變量模型(latent variable models, LVMs)**中進行選擇,以找到使用更「客觀」^([1] )概念的模型。如果我們對兩個智能體的潛變量模型做出這些假設,它就能告訴我們他們何時會(以及何時不會)使用相同的潛變量。
這與 John Wentworth 的 Natural Latents 的動機非常相似,Condensation 論文中也提到了這一點,但目前還沒有人從數學層面梳理這兩者之間的相似之處。因此,本篇文章的主要目標是展示這兩個理論之間的一些簡單關係。次要目標則是深入探討一個非平凡 Condensation 的直觀範例,這也是我們開始的地方。
Condensation 是如何運作的?
組織生成模型有多種方式。我們將「組織生成模型的方式」稱為一個 LVM。Condensation 是一種對這些模型進行排序的方法,旨在找出那些也可能被執行相同任務的其他智能體所發現的模型。
如果我們有一組隨機變量 $X_1, \dots, X_n$,LVM 的空間可以(非常粗略地)被視為以 $X_i$ 為葉節點的貝氏網路(Bayesian Networks)空間。除非兩個潛變量位於同一組 $X_i$ 子集的上游,否則我們會將它們合併為單個變量。因此,我們可以用下標標註所有潛變量 ($H_A$),下標表示它們所貢獻的變量集合。
例如,對於變量 $X_1, \dots, X_6$,一個 LVM 可能看起來像這樣:
*對於 $X$ 變量的每個子集都有一個 $H$ 變量,但在正常情況下,其中許多會是常數隨機變量,因此我們可以忽略它們(圖中省略了這些變量以使範例更簡潔)。
Condensation 的核心指標是條件分數(conditioned score)$\chi(A)$,這是 LVM 中每個變量 $H_A$ 的得分。其核心思想是,如果兩個 LVM 同時最小化每個 $\chi(A)$,它們最終會(在某種意義上)「共享相同的概念」。
應用範例
潛變量更具「客觀性」的一個簡單例子是集群問題(clustering problems)。「客觀正確」的潛變量是集群參數。如果某些集群具有相似性,那麼我們就得到了一個「客觀正確」的集群層次結構。請花點時間直觀地理解這組數據的生成過程:
我們首先獲得一組觀測變量的分佈。在這個例子中,我們有一序列 36 個二維觀測值。
為了後續使用,我們將計算這些變量中某些(精心挑選的)組別的聯合熵:
$H(X_1, \dots, X_{36}) = 133.2$
$H(X_1, \dots, X_{18}) = 67.8$
$H(X_1, \dots, X_9) = 34.7$
$H(X_1) = 4.2$
正如你觀察動畫一段時間後所見,這些數據背後有一個層次化的生成過程。總是有四個集群,分為兩組。在每個集群內,每個樣本彼此獨立。在每個組中,集群中心彼此相對接近。每個集群的形狀與其他集群的形狀大致相同。
我們有很多建模選擇。我們可以擬合一個自回歸序列模型,使其輸出一個分佈並在每個時間步進行採樣。這看起來像:
$X_1 \to X_2 \to X_3 \to \dots \to X_{36}$
每個節點都以之前所有的節點作為父節點。每個節點都標註了它的熵(以所有父節點為條件)。所有的熵都是近似值(這裡有幾個被低估了)。每個節點都標註了給定其父節點後的條件熵。我們可以使用這些值來查看該模型根據 $\chi$ 分數表現如何。為了計算分數 $\chi(A)$,我們查看 $X$ 變量的一個子集 $A$,並將所有對該集合有貢獻的 $H$ 變量的條件熵相加。然後我們將其與 $H(A)$ 進行比較。$\chi(A)$ 總是會大於 $H(A)$,如果它們接近,則分數良好。如果我們對自回歸模型嘗試 $\chi({X_1, \dots, X_{36}})$,我們得到 $133.2$。這與 $H(X_1, \dots, X_{36})$ 相同,因此在 $A={X_1, \dots, X_{36}}$ 時分數完美。
相比之下,如果我們嘗試 $\chi({X_1})$,我們得到 $133.2$。這遠高於 $H(X_1) = 4.2$,因此在 $A={X_1}$ 時分數很差。同樣地,$\chi({X_1, \dots, X_9}) = 133.2$,大多數其他集合的分數也非常糟糕。
現在讓我們看看另一種模型結構。我們可以使用 GAN、VAE 或正規化流(Normalizing Flow)同時擬合所有數據點的生成模型。這些生成模型都涉及從簡單分佈中採樣向量 $Z$,然後將其通過神經網路以產生來自學習分佈的樣本。
這對於大多數 $A$ 的選擇來說分數都很差,特別是當 $A$ 是一個小集子集時。唯一好的分數是 $\chi({X_1, \dots, X_{36}})$。
相比之下,如果我們將其表示為如下的貝氏網路,我們可以更清楚地看到結構:
$H_G$ 是一個包含集群中心的變量,$H_S$ 包含組中心(一個包含兩個集群的集群),而 $H_C$ 是一個 3 種結果的隨機變量,決定每個 $X_i$ 的協方差矩陣是右對角、左對角還是圓形。這對於大多數子集都有更好的分數。例如,$\chi({X_1, \dots, X_9}) = H(H_{{X_1 \dots X_{36}}}) + H(H_{{X_1 \dots X_{18}}} | H_{{X_1 \dots X_{36}}}) + H(H_{{X_1 \dots X_9}} | H_{{X_1 \dots X_{18}}}, H_{{X_1 \dots X_{36}}}) + \dots$。與 $H(X_1, \dots, X_9)$ 相比,它表現不錯,比之前的模型接近得多。對於 $\chi({X_1})$,它接近 $H(X_1)$。
你可能會好奇為什麼這些分數不是完美的,即為什麼 $\chi(A)$ 不等於 $H(A)$。其差異將是 $H(H_A | A)$,這代表了我們在觀察 $A$ 後能多精確地確定 $H_A$ 中的參數。這應該能讓你對何時可能達成良好的 Condensation 產生一些直覺:當模型中相關的潛變量可以從單次觀察(或觀察的小子集)中精確估計時。這就是為什麼它在集群參數上表現良好。集群的位置參數 ($H_A$) 可以從該集群的單個樣本中相當準確地估計出來。
我們可以看到,在所有地方最小化 $\chi$ 分數要求我們劃分噪聲變量的方式是:僅將它們精確地附加到它們影響的觀測變量上。它還迫使每個 $H_A$ 變量具有最小可能的熵,因此任何不必要的熵都會被移除。最終,我們得到這個最小潛變量模型,它被分解成有意義的區塊。
Sam 論文中的精選結果
何時可以實現完美的 Condensation?
論文 中的定理 5.10^([2] ) 給出了完美 Condensation(即每個分數 $\chi(A)$ 都等於 $H(A)$ 的 Condensation)的必要且充分條件:
如果 $B \subseteq A$,則每個 $H_A$ 都是任何 $X_B$ 的函數。也就是說,只需一個範例就足以確定其上方的所有潛變量。
$H$ 變量滿足貝氏網路結構^([3] ),使得 $H_B$ 是 $H_A$ 的父節點,若且唯若 $A$ 是 $B$ 的子集(即父節點總是超集,子節點總是子集)。
需要記住的第三個條件是由潛變量模型的定義(定義 4.2)強制執行的:每個 $X_i$ 變量都需要能從貢獻於它的潛變量集合中恢復。
LVM 在何種程度上會近似等價?
當分數完美時,存在一種精確的對應關係(定理 5.15)。我們取一個 $H_A$ 及其所有的父節點、祖父節點等 ($H_{\supseteq A}$),並將這個組合對象視為一個概念。那麼對於任何兩個具有完美分數的 LVM,每個概念都是等價的,因為這些隨機變量彼此是確定性函數 ($H(H_{\supseteq A} | H'_{\supseteq A}) = 0$)。
在完美的 Condensation 中,$H_{\supseteq A}$ 是 $H'{\supseteq A}$ 的函數,反之亦然。對於 $H {\supseteq B}$ 也是如此。這些是潛變量的向上錐體。當分數不完全完美時,情況會變得更複雜,因為定理需要考慮可能混雜在周圍鄰近概念中的資訊。
Sam 針對不完美情況(分數未完全最小化)有一個更通用的定理 (6.8),它從兩個方面擴展了上述定理:
對於每個 $H_A$,我們不再僅對 $H(H_A | H'A)$ 有界限,而是可以對更通用的條件熵項 $H(H_A | H' {\text{near } A})$ 進行界定,其中我們在選擇集合 $H'{\text{near } A}$ 上有一定的自由度。因此,我們通常會讓 $H' {\text{near } A}$ 成為比 $H'A$ 稍大的集合(以便捕捉大部分「洩漏」到周圍概念中的資訊),然後定理將證明我們幾乎可以從 $H' {\text{near } A}$ 中恢復 $H_A$。
只要違反了完美 Condensation 的「貝氏網路結構」,我們就可以通過「貝氏網路結構被違反的程度」(由某些條件互資訊項衡量)來界定條件熵。
Natural Latents 與 Condensations 之間的對應關係
這裡我們有一系列定理,展示了 Condensation 理論與 Natural Latents 理論之間的密切關係。它們也有助於凸顯兩者之間的差異。
定義
Natural Latent (自然潛量)
讓我們首先回顧 Natural Latent 的定義。相對於變量 $X_1, \dots, X_n$ 的一個 $\epsilon$-近似自然潛量 $L$ 滿足兩個條件:
中介性 (Mediation) : $I(X_i ; X_j | L) \le \epsilon$ ^([4] )
冗餘性 (Redundancy) : $H(L | X_i) \le \epsilon$ ^([5] )
Condensation
現在讓我們更正式地寫下 Condensation 的定義。相對於變量 $X_1, \dots, X_n$ 的一個 $\epsilon$-近似 Condensation 是一組潛變量 ${H_A}_{A \subseteq {1 \dots n}}$,其中 $A$ 可以代表 ${1 \dots n}$ 的任何子集。
潛變量必須滿足兩個條件:
條件分數 (Conditioned Score) :
分數 $\chi(A) = \sum_{B \supseteq A} H(H_B | H_{>B})$ 被稱為條件分數,其中 $H_{>B}$ 是 $H_B$ 「上方」的 $H$ 變量集合。它的下界是 $H(X_A)$。
當條件分數幾乎最小時,我們得到一個 $\epsilon$-近似 Condensation:
$\forall A \subseteq {1 \dots n}: \chi(A) \le H(X_A) + \epsilon$
潛變量模型條件 ( 定義 4.2 ) : 我們可以從潛變量集合 ${H_B : i \in B}$(所有「上方」的潛變量)中精確恢復每個 $X_i$。
近似 Condensation 可用於構造近似弱自然潛量
如果我們有一組觀測值的近似 Condensation,那麼我們可以為這些觀測值的任何子集構造一個弱*自然潛量。弱自然潛量不能從任何單個觀測值中恢復,而是可以從「除了一個以外的所有觀測值」中恢復(與上述定義略有不同)。我們通過將所有對多個觀測值有貢獻的 Condensation 潛變量收集在一起來構造自然潛量。
設定
我們說一個潛變量模型滿足 $\epsilon$-近似 Condensation,如果以下成立:
$\forall A \in \mathcal{P}^+({1 \dots n}): \chi(A) \le H(X_A) + \epsilon$ ^([6] )
假設我們有一個 $\epsilon$-近似 Condensation ${H_A}$。
現在固定觀測值的一個子集 $S \subseteq {1 \dots n}$。我們通過捆綁所有滿足 $|A \cap S| > 1$ 的潛變量 $H_A$(來自完美 Condensation),在 $S$ 上構造一個自然潛量 $L_S$。
證明
我們首先證明中介性條件。
令 $H_{\supseteq A} = {H_B : B \supseteq A}$,其中 $A \subseteq {1 \dots n}$。
每個 $X_i$ 都是 $H_{\supseteq {i}}$ 的確定性函數,這意味著:
$H(X_S | {H_A : A \cap S \neq \emptyset}) = 0$ (1)
根據我們對條件分數的假設,我們得到:
$\sum_{A \cap S \neq \emptyset} H(H_A | H_{>A}) \le H(X_S) + \epsilon$ ^([7] ) (2)
利用 (1) 和 (2) ,我們可以證明 $L_S$ 的中介誤差小於 $\epsilon$:
$I(X_i ; X_j | L_S) \le H(X_S | L_S) - \sum_{i \in S} H(X_i | L_S) \le \epsilon$
現在我們證明近似弱冗餘性質。
當 $H(L | X_{S \setminus {i}}) \le \epsilon$ 時,潛變量 $L$ 對 $S$ 中的變量滿足弱冗餘性質。
我們從命題 5.2 的 $H(H_A | X_A) \le \epsilon$ 開始(對於任意 $A$),並應用 $\epsilon$-近似 Condensation 的定義得到:
由於 $H_A$ 是 $H_{\supseteq A}$ 的確定性函數,我們有 $H(H_A | X_A) \le \chi(A) - H(X_A) \le \epsilon$。
結合這些,我們有(對於任何 $A \subseteq S \setminus {i}$):
$H(H_A | X_{S \setminus {i}}) \le H(H_A | X_A) \le \epsilon$
如果我們對任何 $i \in S$ 將 $L_S$ 設為 ${H_A : |A \cap S| > 1}$,這就給出了弱冗餘性質:
$H(L_S | X_{S \setminus {i}}) \le \sum_{A: |A \cap S| > 1} H(H_A | X_{S \setminus {i}}) \le |{A : |A \cap S| > 1}| \cdot \epsilon$
這是因為我們可以將 $X_{S \setminus {i}}$ 轉化為 $X_A$,因為當 $|A \cap S| > 1$ 且 $i \notin A$ 時,$A$ 包含在 $S \setminus {i}$ 中。
何時可以恢復近似強自然潛量?
前述陳述是關於弱自然潛量的。這一個告訴我們何時可以從 Condensation 中獲得自然潛量的通常定義,結果恰好是當該子集內部沒有更低層次的結構時。對於這個定理和上述定理,我們都是從單個 Condensation 中獲得許多自然潛量。
設定
給定一個滿足 $\chi(S) \le H(X_S) + \epsilon$ 的 $\epsilon$-近似 Condensation ${H_A}$。對於任何子集 $S$,我們定義 $L_S = {H_A : A \supseteq S}$ 並令 $X_S = {X_i : i \in S}$。如果我們有 $H(X_S) \approx \sum H(X_i | L_S) + H(L_S)$,那麼 $L_S$ 是 $S$ 上的一個 $\epsilon$-近似自然潛量。
直觀地說,這個條件意味著 $S$ 中的變量之間大約沒有更低層次的結構。這些變量之間幾乎所有的共享資訊都存儲在 $L_S$ 中。
證明
展示強冗餘性:
對於每個 $i \in S$,$L_S$ 是 $H_{\supseteq {i}}$ 的子集,因此 $X_i$ 是 $H_{\supseteq {i}}$ 的確定性函數(由於潛變量模型條件)。
且通過應用 $A=S$ 的 $\epsilon$-近似 Condensation 定義,得到 $H(L_S | X_S) \le \epsilon$。
結合這些,對於所有 $i \in S$:
$H(L_S | X_i) \le H(L_S | X_S) + H(X_S | X_i) \dots$(此處需更詳細證明強冗餘)
展示中介性:
$L_S$ 是如前一節所述為 $S$ 構造的近似弱自然潛量。
對於任何隨機變量 $Y$,我們有 $I(X_i ; X_j | Y) \le H(X_S | Y) - \sum H(X_i | Y)$ ^([8] ) (1)
我們還有 $H(X_S) = \sum H(X_i | H_{\supseteq {i}}) + \sum_{A \cap S \neq \emptyset} H(H_A | H_{>A})$ ^([9] ) (2)
將 (1) 應用於每個 $X_i$ 項,將 (2) 應用於 $X_S$,我們得到中介性。
如果我們有自然潛量,我們可以構造一個 Condensation
這是上述過程的反向。任何時候我們有一個自然潛量,我們都可以用它來構造一個 Condensation。因為自然潛量是一個相對簡單的結構,我們得到一個具有簡單結構的 Condensation(誤差加倍,因為我們從中介性和冗餘性屬性中都獲得了誤差貢獻)。
設定
給定 $S$ 上的一個 $\epsilon$-近似自然潛量 $L$,我們通過設置 $H_S = L$,$H_{{i}} = X_i | L$,並將其餘潛變量設為空,來構造一個 $2\epsilon$-近似 Condensation ${H_A}$。
證明
潛變量模型條件得到滿足,因為 $H_{\supseteq {i}}$($X_i$ 上方的所有 $H$ 變量)等價於 ${L, X_i | L}$,這完全決定了 $X_i$。
自然潛量的中介性質可以重排為 $\sum H(X_i | L) \le H(X_S | L) + \epsilon$。
我們將其代入條件分數以獲得此界限:
$\chi(S) = H(H_S) + H(H_{>S}) = H(L) + 0 = H(L)$
$\chi({i}) = H(H_S) + H(H_{{i}} | H_S) = H(L) + H(X_i | L)$
然後我們可以使用強冗餘性質 $H(L | X_i) \le \epsilon$:
這給出了條件分數上的 $2\epsilon$ 界限。
Condensation 與 Natural Latents 一致性定理之比較
Condensation 的一致性(agreement)指出,如果我們在一組觀測值 $X$ 上有兩個完美 Condensation ${H_A}$ 和 ${H'A}$,那麼對於所有子集 $A$,$H {\supseteq A}$ 將是關於 $H'{\supseteq A}$ 的確定性函數,同樣地,$H' {\supseteq A}$ 也將是關於 $H_{\supseteq A}$ 的確定性函數。
Natural Latent 的一致性條件指出,如果我們相對於一組觀測值 $X$ 有兩個自然潛量 $L$ 和 $L'$,那麼 $L$ 和 $L'$ 將互為確定性函數。
Natural Latent 一致性定理可以被視為 Condensation 一致性定理的一個特例。為了看到這一點,假設我們在某些觀測值 $X$ 上有兩個自然潛量 $L, L'$。我們可以通過設置 $H_S = L$ 和 $H'_S = L'$ 來構造兩個潛變量模型。請注意,兩者都將是完美 Condensation,因為我們的構造與前一節中的定理相同。
根據 Condensation 一致性定理,$H_{\supseteq S}$ 是 $H'_{\supseteq S}$ 的函數,但由於 $S$ 在索引集中沒有嚴格超集,這意味著 $L$ 是 $L'$ 的函數,反之亦然。因此我們得出結論,$L$ 和 $L'$ 互為確定性函數。
總而言之,Condensation 在更通用的環境中提供了一致性結果,在這種環境中,你的潛變量可以分解為更小的碎片(而不僅僅是單個未分化的潛變量 $L$),並且我們可以推論這些較小碎片的唯一性。當然,在這種更通用的情況下,我們得到的不是潛變量模型的精確同構,而是較弱的保證:$H_{\supseteq A}$ 是 $H'_{\supseteq A}$ 的函數。
這篇文章是作為 PIBBSS × Iliad 研究駐點計畫 的一部分撰寫的。Daniel C 還有更多關於 Natural Latents 和 Condensations 之間關係的結果,但我們沒有時間將它們全部包含在本文中,希望稍後會單獨發布。
^(^ )更準確地說,我們應該說是「主體間性」(inter-subjective),因為它取決於每個智能體擁有相似的觀察以及其他共享假設。
^(^ )定理 5.10。
^(^ )貝氏網路是一組條件獨立性陳述。所謂「滿足」,是指它必須滿足所有這些獨立性陳述,但也可能與更多陳述相容。
^(^ )在 John 的文章中通常寫作 $X_i \perp X_j | L$。
^(^ )這是來自這裡 的確定性冗餘條件。
^(^ )我們使用 $\mathcal{P}^+$ 表示冪集減去空集,而 $n$ 僅代表 ${1 \dots n}$。因此 $\mathcal{P}^+(n)$ 是所有可能的潛變量索引集。
^(^ )我們從 $\chi(S) = \sum_{A \cap S \neq \emptyset} H(H_A | H_{>A})$ 開始。
(要看到這一點,根據鏈式法則展開 $H(X_S)$,我們可以看到左側比右側條件化了更多變量,而條件化只能減少熵)。
應用 $\epsilon$-近似 Condensation 的定義:
$\chi(S) \le H(X_S) + \epsilon$
重排後可得所需不等式。
^(^ )兩邊減去 $H(X_S | Y)$ 即可得到所需不等式。
^(^ )根據定義 4.2。