G3.2 每個點都要一個答案,還能忽略排列嗎?
本篇重用1 篇
每個地標需要自己的答案,也需要知道附近是什麼
如果只有一個點的座標,我們可能分不清它是不是校園邊緣;看到整群點的分佈,判斷才更完整。但讓每個點都只讀全局 sum,又會失去它自己與別人的差別。
一個自然做法是:自己保留一份資訊,大家共享一份環境資訊。 令
所有點使用相同 。重排後 ,新第 列就讀原來對應點的 ,因此
也就是 。這個結構不要求各個點答案一樣,而是要求相同內容與相同環境,使用同一條判斷規則。
一般線性 layer 會被限制成什麼?
先讓每個點只有一個 scalar,,考慮 。Permutation equivariance 要求
對每個 permutation 都成立。等價地,:把輸入與輸出點一起重編,權重表不變。
對角線 描述自己對自己的影響。任意兩個點都能被重編互換,所以每個 diagonal entry 要相同,記成 。同理,對所有不同的 ,我們可以一起重編成另一組不同點,因此所有 off-diagonal entries 要相同,記成 。
所以
第 個答案為
第一項是自己的訊息,第二項是共同摘要。剛才生活例子提出的做法,現在從線性 equivariance 的限制重新得到了。
這個推導固定 ,且假設所有元素的 permutation 都合法。若資料另有角色、型別或固定分割槽,允許的 permutation 可能比較少,權重限制也要隨之改變。
多個 feature,型態怎麼寫?
回到 。讓 分別作用在自己的 feature 與加總 feature,得到
輸出是 ,每個 row 都有自己的答案。因為 且 ,
若再加上一個所有 row 共享的 bias,也不破壞等式。相同的逐點 activation 可依照 G1 的組合規則繼續接。
Equivariant 會不會限制點只能一樣?
不會。當 不同,自己的那一項就不同,最後答案可以不同。只有在兩個點的 input 與模型可見的環境完全相同時,架構才不能靠「它恰好排第一列」製造差別。
這其實是我們想要的限制:不能因存檔順序不同而改判;但仍要利用真正的內容區分點。
Zaheer 等人 [1] 對 permutation-equivariant layers 給出這類結構分析。下一篇把它用在 point cloud:先看每個點,再把全局形狀接回每個點,讓同一個模型同時能分類整群點與標記各個部分。
課堂提問
如果兩個點 feature 完全相同,但想只因第一個排在第一列,就給它不同答案,這與 permutation equivariance 相容嗎?
先想一想,再展開看整理後的答案
不相容。交換兩點後輸入矩陣相同,equivariance 又要求輸出交換,因此兩點答案只能相同。要有不同答案,就需要模型能看見的內容或關係有差別。
動手看一次
先看全局摘要,再切到 Attention 的逐點輸出,按下重排資料列。全局答案不變,逐點答案則要跟著同一個點重排。