搜尋課程與筆記

搜尋筆記

輸入主題、關鍵字或單元編號,例如 Flow Matching、U4。

    按 Esc 關閉 · ⌘ / Ctrl K 開啟搜尋

    G1.0 6 分鐘閱讀 2026年10月

    G1.0 同一張地圖換個方向,答案應該怎麼變?

    手機轉過去,哪一個答案要跟著轉?

    想像你在台大附近找總圖。手機地圖本來朝北,現在你把畫面轉了九十度。總圖還是總圖,但它在螢幕上的座標變了;「往右走」這支導航箭頭也不能留在原來的方向。

    所以,在問模型能不能認出同一個地方之前,我們應該先問:這個任務到底要輸出什麼? 如果答案只是「這是台大」,轉動地圖不該改變它;如果答案是總圖的座標,答案就必須一起轉。

    這是 Geometric Deep Learning 的起點:利用資料的幾何結構,要求模型用正確的方式回應變換。Bronstein、Bruna、Cohen 與 Veličković [1] 用這個觀點連起格點、集合、graph 與幾何資料;我們先從可以親手轉動的地圖開始。

    把「一起變」寫下來

    用 xx 表示整張地圖,用 f(x)f(x) 表示模型的答案。gg 是一次指定的變換,例如旋轉九十度;Tin(g)xT_{\mathrm{in}}(g)x 表示變換後的輸入。這裡的 xx 是模型輸入,不一定是某個地點的二維座標。

    對地點分類,我們想要求

    f(Tin(g)x)=f(x).f(T_{\mathrm{in}}(g)x)=f(x).

    這叫 invariance(不變性):輸入改了,任務要求的答案沒有改。它不是說影像相同,而是說模型應忽略這個任務不需要的變化。

    但定位總圖時,右邊不能仍是原來的座標。我們需要另一個動作 Tout(g)T_{\mathrm{out}}(g),說明答案如何變換:

    f(Tin(g)x)=Tout(g)f(x).f(T_{\mathrm{in}}(g)x)=T_{\mathrm{out}}(g)f(x).

    這叫 equivariance(等變性)。左邊先改輸入,再請模型回答;右邊先讓模型回答,再用正確規則改答案。兩條做法應該得到同一個結果。

    接下來,我們不先給出架構,再問它有沒有這個性質,而是從這條要求出發:它會限制哪些運算?還需要加入哪些設計假設,才能建立一個可用的模型? 例如先選線性層或局部處理,再看同一個規則該如何共享。

    這是我們構造 CNN、集合模型、Transformer 與 GNN 的共同方法。Symmetry 限制答案如何回應變換,不會單獨指定整個架構;invariance 則是其中「答案不用變」的情況。

    座標與箭頭,真的用不同規則

    假設地圖上的座標 p∈R2p\in\mathbb R^2 經過旋轉矩陣 RR 與平移 bb,變成

    p′=Rp+b.p'=Rp+b.

    如果模型輸出的是總圖座標,就要遵守這個規則。但箭頭 vv 描述的是兩個位置的差,不是某個位置本身。把箭頭的頭尾都變換後,

    (Rp2+b)−(Rp1+b)=R(p2−p1)=Rv.(Rp_2+b)-(Rp_1+b)=R(p_2-p_1)=Rv.

    平移被減掉了,所以向量只需要旋轉,不需要再加上 bb。把位置與向量用同一條 affine transformation 處理,導航就會出錯。

    任務輸出畫面旋轉、平移後
    這是不是台大?地點 label保持不變
    總圖在哪裡?座標 ppRp+bRp+b
    往哪裡走?向量 vvRvRv
    哪些像素是建築?mask建築區域一起移動

    Mask 的每個值可以是 scalar,但它們所在的位置仍要一起變。Scalar 不等於所有情況都 invariant;先看它是一個全局答案,還是附在每個位置上的答案。

    補充Invariance 是輸出 action 為 identity 的特例

    若 Tout(g)y=yT_{\mathrm{out}}(g)y=y 對所有答案都成立,equivariance 的式子就退回 invariance。兩者不是誰比較高階,而是同一種一致性要求對應不同輸出。

    不是所有影像變化,都能當成對稱

    把同一塊城市完整轉過去,和把總圖裁出畫面,是兩件事。後者真的移除了資訊;看不到總圖時,模型不一定還能回答它在哪裡。

    因此,我們先把對稱的討論限制在:變換保留任務需要的資訊,且輸出的變換規則可以說清楚。 有限螢幕、裁切與缺失資料會在後面另外處理,不能直接用理想等式略過。

    也不能只靠 equivariance 就保證答案正確。一個永遠輸出零向量的模型可以 rotation-equivariant,卻完全不會導航。架構的一致性要求與 task error,從一開始就要分開。

    同一個任務有兩條計算路:先變換輸入再回答,或先回答再變換輸出;equivariance 要求它們相同。
    同一個任務有兩條計算路:先變換輸入再回答,或先回答再變換輸出;equivariance 要求它們相同。

    課堂提問

    如果導航箭頭做得 rotation-invariant,每次轉動地圖後都輸出同一支螢幕方向的箭頭,這是我們想要的嗎?

    先想一想,再展開看整理後的答案

    不是。目的地沒變,但座標系改了。箭頭是向量,必須乘上同一個旋轉矩陣;保持原方向反而破壞輸入與答案的關係。

    動手看一次

    轉動地圖後,切換 label、座標與方向。這個 demo 是輸出變換規則的示意,不是神經網路的預測。注意箭頭跟著轉,但不把平移量當成箭頭的一部分。

    快速回顧一下

    想一想座標與向量平移時有什麼差別?

    想一想地點分類應要求什麼?

    想一想對稱性保證能否取代正確率?

    參考文獻

    1. Bronstein、Bruna、Cohen 與 Veličković(2021),Geometric Deep Learning