G3.1 把每個點的資訊加起來,能留下什麼?
本篇重用1 篇
清點地標時,我們本來就不靠名單順序
想像要整理一群地標的資訊。我們可以逐一觀察每個點,記下同一套摘要,最後把摘要加起來。不論先看總圖還是先看公館站,總和都應相同。
將這個動作寫成模型:先用共享函數 把每個 變成 feature,再加總,最後用 回答全局問題:
可以是 MLP, 也是可學的函數。Zaheer 等人 [1] 將這種結構稱為 Deep Sets。我們先檢查它如何解決順序,再問它是否足以回答我們的任務。
每個元素都算一次,換順序沒有差
令重排後第 個元素是原來的 。因為 恰好把每個 index 使用一次,
因此送進 的向量相同,。這個證明沒有要求 線性,也沒有要求訓練已經完成;關鍵是每個點使用同一個 ,且 aggregation 不依賴排列。
與直接把所有座標 flatten 不同,這個結構還可以接收不同數量的點。但能接收不同 ,不代表訓練後就一定能泛化到遠遠更大的集合。
平均與最大值,也一樣嗎?
Mean 與 max 也不依賴排列,卻留下不同資訊。先用最簡單的 看:
有相同 mean、相同 max,但 sum 分別為 。若任務要數人數,直接 mean 或 max 就看不見重複次數。
反過來, 與 的 sum 都是 。如果任務要判斷分散程度,單一 sum 也不夠。Aggregation 的對稱性與它保留的資訊,是兩個問題。
可以讓 提供更多量:
加總後得到點數、總和、平方和:
因此 可以算平均與 variance,例如 。剛才兩個集合的平方和分別是 ,現在就能分開。
這也說明「先學 feature,再加總」和「把原座標直接加總」不同。非線性 可以讓相同的 aggregation 保留更豐富的資訊。
能不能代表所有集合函數?
Deep Sets 的理論說明這種形式有很強的表示能力,但我們不能把它簡化成「任意小 feature 向量都能表示任意集合」。
Wagstaff 等人 [2] 指出,在連續實數輸入與連續函數的設定下,latent dimension 是重要限制。固定大小的摘要可能讓兩組不同集合碰在同一個向量上;如果 target 剛好要區分它們,後面的 再大也無法補回。
我們這裡不需要先證整個 universal approximation theorem。只要掌握可檢查的原則:先問任務需要分辨什麼,再檢查摘要有沒有把它們混在一起。
補充Set 的重複、點數與有效元素要先決定
數學上純 set 不記重複;資料常以 multiset 形式保留重複抽樣。若用 padding 補到相同長度,padding 不是新的真實元素,不能當成零座標的點一起送進 aggregation。實作章節會用 mask 排除它們。
這個共享規則還能往哪裡走?
目前 回答的是整群點的問題。它把所有資訊壓成同一份摘要,所以不會直接保留每個地標自己的答案。
但逐點分類也需要知道整群地標的環境。下一步我們要問:能不能讓每個點保留自己的資訊,同時讀取一份不依賴排列的共同摘要?
課堂提問
兩組點的 raw coordinate sum 相同,是否表示任何 Deep Sets 模型都分不開它們?
先想一想,再展開看整理後的答案
不是。學到的 φ 可以包含平方、其他非線性特徵,讓 feature sum 不同。但對某個已固定的 φ,若摘要真的相同,後面的 ψ 就無法再區分。
動手看一次
切換 sum、mean 與 max,再勾選整組重複一次。它們都不受重排影響,卻不一定保留相同的點數與內容資訊。