現代機器學習演算法在實際應用場景中可能會受到各種對抗性攻擊,包括資料和模型更新過程中中毒( Data and Model Update Poisoning)、模型規避(Model Evasion)、模型竊取(Model Stealing)和對使用者的私人訓練資料的資料推理性攻擊(Data Inference Attacks)等等。在聯邦學習的應用場景中,訓練資料集被分散在多個客戶端裝置(如桌面、手機、IoT 裝置)之間,這些裝置可能屬於不同的使用者 / 組織。這些使用者 / 組織雖然不想分享他們的本地訓練資料集,但希望共同學習得到一個全域性最優的機器學習模型。由於聯邦學習框架的這種分散式性質,在使用安全聚合協議(Secure Aggregation)的情況下,針對機器學習演算法的故障和攻擊的檢測糾正更加困難。 在聯邦學習應用中根據攻擊目標的不同,可以將對抗性攻擊大致分為兩類,即非定向攻擊(Untargeted Attacks)和定向攻擊(Targeted Attacks)。非定向攻擊的目標是破壞模型,使其無法在主要任務中達到最佳效能。在定向攻擊(通常被稱為後門攻擊(Backdoor Attacks))中,對手的目標是令模型在主要任務中保持良好的整體效能的同時在某些特定的子任務中表現出較差的效能。例如,在影像分類中,攻擊者可能希望模型將某些 「綠色汽車」 誤分類為鳥類,同時確保其能夠正確分類其它汽車。由於非定向攻擊會降低主要任務的整體效能,因此更容易被發現。由於對手的目標往往是事先不知道的,後門定向攻擊則較難檢測。 對於非定向攻擊和定向攻擊,可以根據攻擊者的能力進一步將攻擊分為兩種型別:模型攻擊(Model Attack)或資料攻擊(Data Attack)。資料攻擊是指攻擊者可以改變所有訓練樣本中的一個子集,而這個子集對模型的學習者來說是未知的。模型攻擊是指被攻擊的客戶端改變本地模型的更新,從而改變全域性模型。特別的,當聯邦學習框架中引入了安全聚合協議 (Secure Aggregation,SecAgg) 確保伺服器無法檢查每個使用者的更新時,在本地更新的聚合中部署了安全聚合(SecAgg),模型攻擊就更難對付了。關於安全聚合協議的解釋,感興趣的讀者可閱讀文獻[1]。 在這篇文章中,我們重點聚焦模型攻擊。在聯邦學習應用框架中,惡意參與者(攻擊者)直接破壞全域性模型,因此比資料攻擊的破壞性更大。在下文詳細分析的文獻《How To Backdoor Federated Learning》中提到:聯邦學習中的任何參與者都可以用另一個模型替換全域性模型,這導致 (i)新模型在聯邦學習任務上是同樣準確的,但是 (ii) 攻擊者卻能夠控制模型在攻擊者所選擇的後門子任務上的表現。圖 1 中給出了一種模型攻擊的過程,攻擊者控制聯邦學習框架中的一個或多個參與者 / 客戶端在後門資料上訓練一個模型,將訓練得到的結果模型提交給中央伺服器,平均後的聯合模型作為聯邦學習的最終全域性模型。
圖 1:模型攻擊概覽《How To Backdoor Federated Learning》 隨著聯邦學習的推廣應用,越來越多的研究人員聚焦於解決聯邦學習框架中的模型攻擊問題。我們從近兩年公開的研究成果中選取了四篇文章進行詳細分析,重點關注模型攻擊類的魯棒聯邦學習(Robust Federated Learning)。 1. How To Backdoor Federated Learning
論文地址:https://arxiv.org/abs/1807.00459 本文是 Cornell Tech 研究團隊貢獻的一篇文章,首次公開於 2018 年,最新收錄於 AISTATS'20。這篇文章也是幫助理解聯邦學習模型在遭受惡意使用者攻擊前後所出現的變化情況的一篇重要文章。本文研究重點是:如何對聯邦學習框架進行後門攻擊?即,重點描述如何能夠有效攻擊的方法,而不是解決攻擊的方法。本文的研究屬於定向攻擊(Targeted Attacks)和模型攻擊(Model Attack)類別。 1.1 聯邦學習介紹 聯邦學習透過將區域性模型迭代聚合成一個聯合全域性模型,將深度神經網路的訓練分佈在 n 個參與者之間。在每一輪 t 迭代過程中,中央伺服器隨機選擇 m 個參與者的子集 Sm,並向他們傳送當前的聯合模型 G^t。選中的參加者基於儲存於本地客戶端的私人資料訓練得到新的本地模型 L^(t+1)。區域性更新演算法如下:
其中 s 是所有全域性模型引數變化方向的列向量,w 是攻擊前全域性模型,w’是攻擊後全域性模型。 攻擊 Krum:假定 w 為沒有攻擊情況下的選定的區域性工作節點裝置。目標是製作 c 個折衷的區域性模型,以使 Krum 選擇的區域性模型與 w 的最大有向偏差。因此,目標是解決公式(1)中 w’ = w’_1 的最佳化問題,並且聚合規則為 Krum。 在掌握全面知識的情況下,解決最佳化問題的關鍵挑戰是最佳化問題的約束是高度非線性的,並且區域性模型的搜尋空間非常大。作者提出下面兩個假設。首先,將 w’_1 限制如下:w’_1=w_Re-λs,其中 w_Re 是當前迭代中從主裝置接收的全域性模型(即上一次迭代中獲得的全域性模型),並且λ> 0。其次,為使 w_1 更有可能被 Krum 選擇,將其他 c-1 折衷的區域性模型設計為接近 w’_1。基於這兩個假設,將最佳化問題轉換如下:
在掌握部分知識的情況下,攻擊者不知道正常工作節點裝置上的區域性模型,也就無法掌握方向 s 的變化,也無法解決最佳化問題。但是,攻擊者可以訪問受到攻擊的 c 個裝置上的攻擊前區域性模型。因此,需要根據這些攻擊前的區域性模型來設計折衷的區域性模型。首先,計算 c 個攻擊前區域性模型的均值。其次,使用平均區域性模型估算變化方向。第三,將受攻擊的工作節點裝置上的攻擊前區域性模型視為是正常工作節點裝置上的區域性模型,目標是在生成的區域性模型和 c 攻擊前區域性模型中找到區域性模型 w’_1。此時,最佳化問題如下:
修整均值攻擊:假設 w_i 在第 i 個工作節點裝置上是第 j 個攻擊前區域性模型引數,而在當前迭代中是第 j 個攻擊前全域性模型引數。 在掌握全域性知識的情況下,從理論上講,可以證明以下攻擊可以使全域性模型的有向偏差最大化。本文的攻擊會根據最大或最小正常區域性模型引數來設計折衷的區域性模型,具體取決於哪個引數會使全域性模型朝著沒有攻擊的情況下更改全域性模型的方向的反方向偏離。取樣的 c 數目應接近 w_(max,j) 或 w_(min,j),以避免離群和易於檢測。在實施攻擊時,如果 s_j = -1,那麼將在間隔 [w_(max,j) ,b·w_(max,j) ] 中隨機取樣 c 個數字,否則,將以[w_(min,j)/ b, w_(min,j)] 間隔對 c 個數字進行隨機取樣。 在掌握部分知識的情況下,攻擊者面臨兩個挑戰。首先,攻擊者不知道變化的方向變數,因為不知道正常工作節點裝置上的區域性模型。其次,出於相同的原因,攻擊者不知道最初的正常區域性模型的最大 w_(max,j),最小 w_(min,j)。為了解決第一個挑戰,使用受破壞的工作節點裝置上的區域性模型來估算變化方向的變數。解決第二個挑戰的一種簡單策略是使用非常大的 w_(max,j),或使用非常小的 w_(min,j)。如果基於 w_(max,j)、w_(min,j)來設計折衷的區域性模型,而這些模型與真實值相差甚遠,那麼生成的區域性模型可能會是異常值,並且主裝置可能會容易地檢測到折衷的區域性模型。 中位數攻擊:採用與修整均值攻擊同樣的攻擊策略來進行中值攻擊。例如,在完全知識方案中,如果 s_j=-1,隨機抽取區間 [w_(max,j) ,b·w_(max,j)] 或[w_(max,j) ,w_(max,j)/b]中的 c 數;否則隨機抽取區間 [w_(min,j)/ b, w_(min,j)] 或[b·w_(min,j), w_(min,j)]中的 c 數。 3.4 實驗分析 本文在四個資料庫中進行實驗:MNIST,FashionMNIST,CH-MNIST 和 Breast Cancer Wisconsin(診斷)資料庫。MNIST 和 Fashion-MNIST 分別包含 60,000 個訓練示例和 10,000 個測試示例,其中每個示例都是 28×28 灰度影像。這兩個資料集都是 10 類分類問題。CH-MNIST 資料庫包含來自結腸直腸癌患者的 5000 張組織切片影像。資料庫是一個 8 類分類問題。每個影像具有 64×64 灰度畫素。我們隨機選擇 4000 張影像作為訓練示例,其餘 1000 張作為測試示例。Breast Cancer Wisconsin(診斷)資料庫是診斷人是否患有乳腺癌的二元分類問題。該資料集包含 569 個示例,每個示例都有 30 個描述一個人細胞核特徵的特徵。隨機選擇 455 個(80%)示例作為訓練示例,並使用其餘 114 個示例作為測試示例。 聯邦學習架構中考慮的分類方法包括:多類邏輯迴歸(Multi-class logistic regression,LR)、深度神經網路(Deep neural networks ,DNN)。本文采用的攻擊對比基線方法包括:高斯攻擊(Gaussian attack)、標籤翻轉攻擊(Label flipping attack)、基於反向梯度最佳化的攻擊(Back-gradient optimization based attack)、全部知識攻擊或部分知識攻擊(Full knowledge attack or partial knowledge attack)。 A 已知聚合規則的結果
表 1:測試各種攻擊的錯誤率 表 1 顯示了在四個資料庫上進行比較的攻擊的測試錯誤率。首先,這些結果表明我們的攻擊是有效的,並且大大優於現有的攻擊。其次,除了在 Breast Cancer Wisconsin(診斷)資料庫上,Krum 與中位數攻擊的效果相當之外,Krum 對本文的攻擊的魯棒性不如均值和中位數高。
表 2:聚合規則之間的可轉移性 C 防禦方法介紹 本文將用於防禦資料中毒攻擊的 RONI 和 TRIM 概括用於防禦本文提出的的區域性模型中毒攻擊。在聯邦學習的每次迭代計算全域性模型之前,兩種通用防禦都刪除了可能有害的區域性模型。一種廣義防禦方法刪除了對全域性模型的錯誤率具有較大負面影響的區域性模型(受 RONI 的啟發,後者刪除了對模型的錯誤率具有較大負面影響的訓練示例),而另一種防禦方法則除去了區域性模型導致大量損失(受 TRIM 的啟發,刪除了對損失有較大負面影響的訓練示例)。在這兩種防禦中,都假定主裝置具有一個小的驗證資料集。像現有的聚合規則(例如 Krum 和修整均值)一樣,假設主裝置知道受破壞的工作節點裝置數量的上限 c。 表 3 給出了針對不同聚合規則的攻擊的防禦結果,表中的數字表示錯誤率,實驗環境設定為 MNIST 資料庫和 LR 分類器。「 Krum」和 「 Trimmed Mean」 列表示攻擊者在進行攻擊時假定的聚合規則,而各行則表示實際的聚合規則和防禦措施。對於每個區域性模型,當包含區域性模型時,使用聚合規則來計算全域性模型 A;在排除區域性模型時,使用全域性規則 B 來計算全域性模型 B。該實驗在驗證資料庫上計算全域性模型 A 和 B 的錯誤率,分別記為 EA 和 EB,將 EA-EB 定義為區域性模型的錯誤率影響,基於錯誤率的拒絕(Error Rate based Rejection,ERR)。較大的 ERR 表示如果在更新全域性模型時將區域性模型包括在內,則區域性模型會顯著增加錯誤率。此外,實驗中還考慮另外一個指標:基於損失函式的拒絕(Loss Function based Rejection,LFR)。像基於錯誤率的拒絕一樣,對於每個區域性模型,計算全域性模型 A 和 B。在驗證資料庫上計算模型 A 和模型 B 的交叉熵損失函式值,分別記為 LA 和 LB,將 LA-LB 定義為區域性模型的損失影響。像基於錯誤率的拒絕一樣,刪除損失影響最大的 c 個區域性模型,並彙總其餘區域性模型以更新全域性模型。表 3 中的 Union 表示 ERR+LFR。 本實驗中考慮部分知識攻擊。表 3 的結果說明兩方面問題,一是,LFR 與 ERR 相當或比 ERR 更有效,即 LFR 的測試錯誤率與 ERR 相似或小得多。二是,在大多數情況下,Union 與 LFR 相當,但在一種情況下(Krum + LFR 對 Krum 和 Krum + Union 對 Krum),Union 更有效。第三,LFR 和 Union 可以在某些情況下有效防禦本文提出的攻擊方法。
表 3:防禦結果 3.5 文章小結 本文提出了一種模型中毒攻擊方法,並證明了機器學習社群中給出的對某些工作節點裝置的拜占庭式故障具有魯棒性的聯邦學習方法很容易受到本文所提出的區域性模型中毒攻擊方法的攻擊。在針對攻擊的防禦問題中,作者對現有的資料中毒攻擊的防禦措施進行了歸納總結,用以抵禦本文提出的模型中毒攻擊方法。不過,這些歸納後得到的防禦措施在某些情況下是有效的,但在其他情況下卻是無效的。本文重點關注聯邦學習中的非定向攻擊,作者提出將會在今後的工作中開展更多針對定向攻擊的研究。 4. Federated Variance-Reduced Stochastic Gradient Descent with Robustness to Byzantine Attacks
論文地址:https://arxiv.org/abs/1912.12716 本文是 University of Minnesota Georgios B. Giannakis 教授團隊的成果,主要研究的是對拜占庭攻擊具有魯棒性的聯合方差縮減隨機梯度下降方法。具體的,本文討論在惡意拜占庭攻擊的情況下,在聯邦學習網路中進行分散式有限最佳化學習的問題。為了應對這種攻擊,迄今為止,大多數方法是將隨機梯度下降(stochastic gradient descent,SGD)與不同的魯棒性聚合規則相結合。然而,SGD 誘發的隨機梯度噪聲使我們很難區分由拜占庭攻擊者傳送的惡意資訊和 「真實」 客戶端傳送的隨機梯度噪聲。這促使本文作者考慮透過降低隨機梯度的方差,作為在拜占庭式攻擊中魯棒性 SGD 的手段,即:如果隨機梯度噪聲很小,惡意資訊應該很容易識別。為減少隨機最佳化過程中的方差,本文選擇了 SAGA[2] 。在有限求和最佳化中 SAGA 被證明是最有效的,同時適合於分散式的環境,因此能夠滿足聯邦學習架構的要求。 4.1 演算法分析 考慮一個網路有一個主節點(中央伺服器)和 W 個工作節點(客戶端裝置),其中 B 個工作節點是拜占庭攻擊者,他們的身份不為主節點所知。W 是所有工作節點的集合,B 是拜占庭攻擊者的集合。資料樣本均勻地分佈在誠實的工作節點 W 上。f_w,j(x) 表示第 j 個資料樣本在誠實工作節點 w 處的損失相對於模型引數 x 的損失。有限求和最佳化問題記為:
其中,ɸ^(k+1)_(w,j)是指在最近的 k 輪次結束時計算得到最新的 f’_(w,j)值的迭代。具體的,i^k_w 是本地資料樣本的索引,即在輪次 k 由工作節點 w 基於資料樣本 i^k_w 進行訓練。f’_(w,j)(ɸ^k_(w,j))是指在工作節點 w、輪次 k 中,之前儲存的第 j 個資料樣本的隨機梯度,以及可以計算得到: