關聯性學習
- 目標是學習節點的特徵表示,預測兩個節點之間是否存在關係 。
- 正樣本:代表在數據集中,真實觀察到、確實存在的關係邊
- 負樣本:代表在數據集中,缺失、不存在的關係邊
- 訓練模型時,通常會把 1 個正樣本和 個負樣本打包成一個 Tuple。模型會透過損失函數不斷調整參數,目的是給予正樣本較高的關聯分數,並壓低負樣本的關聯分數 。
Batch Gradient Descent 全批次梯度下降
- 計算整個訓練集損失函數的梯度來更新參數
- 計算量極大
Stochastic Gradient Descent 隨機梯度下降
- 只隨機抽取一筆(單一個)資料來計算梯度
Mini-batch SGD 小批次隨機梯度下降
- 每次訓練時,從資料集中抽出一小批資料,計算這批資料的平均梯度,然後更新模型參數。
- 目前深度學習最標準的訓練方式。
Differentially Private SGD 差分隱私隨機梯度下降
-
傳統的 Mini-batch SGD 雖然有效率,但模型在訓練過程中容易死背特定的訓練資料,例如記住某個病患的病歷。
-
DP-SGD 是標準 SGD 演算法的一種變體,旨在確保機器學習模型的訓練過程符合差分隱私 。
-
最初是為樣本彼此獨立的數據所開發的。
-
針對 Mini-batch 中的每個訓練樣本,分別計算其獨立的梯度
-
梯度裁剪
- 透過將每個獨立梯度 除以 來進行單一樣本梯度裁剪,藉此控制梯度敏感度 。
- 這意味著沒有任何一筆單一資料能對模型產生超過閾值 的影響力。
-
添加噪音
- 將裁剪後的單一樣本梯度加總,並加入經過校準的高斯噪音來掩蓋個體貢獻
- 防止隱私外洩
-
只能用在獨立數據上,一旦數據間產生了關聯,DP-SGD 依賴的兩個核心數學機制會崩潰
- 敏感度會失去控制
- 假設在訓練影像辨識模型,Batch 裡面有 100 張獨立的圖片。如果我們為了符合差分隱私的定義去移除「圖片 A」,那麼在計算梯度時,就只有「圖片 A 的那 1 個梯度項」會受到影響 。透過設定裁剪閾值 ,我們很明確知道梯度的最大變動範圍就是 。
- 在關聯性學習中,若節點 A 是一個超級活躍用戶,他可能出現在好幾十個關係中。當我們為了保護節點 A 而將他移除時,所有包含節點 A 的邊(正樣本與負樣本)的梯度會「同時」發生改變 。這導致整體的梯度變動範圍(敏感度)變得非常高、無法預測。為了掩蓋這麼巨大的變動,DP-SGD 會被迫加入極端龐大的高斯噪音,這會破壞模型的預測能力。
- 隱私放大(Privacy Amplification)的數學證明會失效
- 「子採樣隱私放大」假設了資料集是一群獨立資料點的集合,且抽樣機制只不過是從中隨機輸出一個子集 。
- 耦合採樣(Coupled Sampling)打破規則,在圖學習中建立 Mini-batch,通常牽涉多個互相依賴的採樣步驟 。例如:程式會先抽出真實存在的關係(正樣本),接著拿這些正樣本去生成假的關係(負樣本) 。這代表「負樣本抽到誰」完全取決於「正樣本抽到了誰」。這種互相依賴的採樣方式,直接打破了傳統 DP 假設的「單步獨立抽樣」 。數學前提一旦不存在,傳統的隱私保護界限就無法直接套用 。
- 敏感度會失去控制
為何正樣本和負樣本之間存在相關性,會使得 DP-SGD 的隱私放大效果降低 破壞隨機性 數學證明的崩潰: 現有的隱私放大數學公式(例如 Mironov 的 RDP 放大定理),其推導的第一步就是假設 (A 和 B 獨立被抽中)。但在耦合採樣中,因為它們綁在一起,這個數學等式完全不成立 。數學前提一旦瓦解,我們就無法宣稱模型具有那樣的隱私保護力
Coupled Sampling 耦合採樣
Graph DP-SGD
報告
- 第一頁介紹完 直接講目標
- 在關聯式學習中提供實體級別的差分隱私保護
DP GNN 差分隱私圖神經網路
- 隱私機制意外成為正則化利器
- 反常現象: 實驗證實,為了隱私而引入的「節點度數限制 ()」,即使在無隱私限制的訓練下,效能反而超越了不設限的模型。
- 背後原因: 「度數限制」與「自適應裁剪」會自動打壓超級節點 (Hubs) 的權重,有效防止模型過擬合極端活躍用戶,反而提升了對普通節點的泛化能力。
結尾
- 設計更通用的自適應梯度裁剪函數
- 不僅考慮節點頻率,還可以考慮其他因素,如節點特徵、關係類型等,以更精細地調整裁剪閾值。
- 改進負樣本抽樣策略
- 例如,基於圖結構的分層抽樣,或引入難負樣本以提升對比學習效果