萬字整理聯邦學習系統架構設計參考
引 言
聯邦學習定義了一個機器學習框架,在這個框架下,不同的資料擁有方可以在不交換彼此資料的情\ 況下,建立一個虛擬的共有模型,這個虛擬模型的效果等同於各方把資料聚合在一起建立的最優模型。\ 這樣,建好的模型在各自的區域僅為本地的目標服務。在這樣一個聯邦機制下,各個參與者的身份和地\ 位相同,而聯邦系統幫助大家建立了“共同富裕”的策略。由於在建立虛擬模型的時候,資料本身不移\ 動,也不會洩露使用者隱私或影響資料規範,因此,聯邦學習是資料孤島問題的一個可能的解決方案。\ 為了在保護資料隱私、滿足合法合規要求的前提下繼續進行機器學習,更好地運用聯邦學習的方法\ 解決資料孤島問題,特制定此標準。
1 範圍
本標準規範了聯邦學習參考架構( FLRA),包括 FLRA 概念、使用者檢視、功能檢視以及他們之間的\ 關係。\ 本標準適用於:\ a) 計劃使用聯邦學習技術的組織選擇和使用聯邦學習服務;\ b) 計劃使用聯邦學習技術的組織建設聯邦學習系統;\ c) 指導使用聯邦學習技術的服務提供組織提供聯邦學習服務。
2 術語、 定義和縮略語
2.1 術語和定義
ITU-T Y.3500|ISO/IEC 17788 界定的以及下列術語和定義適用於本檔案。
2.1.1 架構 architecture
通過系統元素、元素間的關係,以及系統設計和進化原則體現出來的一個系統在其環境中的基本概\ 念或屬性。\ [ISO/IEC/IEEE 42010:2011]
2.1.2 活動 activity
一組特定任務的集合。\ [GB/T 32399-2015]
2.1.3 加密 encipherment/encryption
對資料進行密碼變換以產生密文的過程。一般包含一個變換集合,該變換使用一套演算法和一套輸入\ 參量。輸入參量通常被稱為金鑰。\ [GB/T 25069-2010]
2.1.4 功能元件 functional component
參與活動(2.1.1)所需的,可實現的一個功能性基本構件塊。\ [GB/T 32399-2015]
2.1.5 互操作 interoperability
a) 兩個或多個系統或元件交換資訊並相互使用已交換的資訊的能力;\ b) 兩個或兩個以上系統可互相操作的能力。\ [GB/T 11457-2006]
2.1.6 模組化 modularization
把系統分成若干模組(模組變成元素)以便於設計和開發。\ [GB/T 11457-2006]
2.1.7 角色 role
一組服務於共同目的的活動(2.1.1)的集合。\ [GB/T 32399-2015]
2.1.8 子角色 sub-role
給定角色( 3.2.7)的活動( 3.2.1)的子集。
2.1.9 聯邦學習 federated learning
一種多個參與方在各方資料不出本地的前提下共同完成某項機器學習任務的活動。
2.1.10 聯邦學習服務 federated learning service
與一組商業條款一同被提供的一個聯邦學習服務。\ 注: 商業條款包括定價、定級和服務水平。
2.1.11 聯邦學習參與方 federated learning participant
參與到聯邦學習網路的組織或機構,為其他一個或多個參與方提供聯邦學習的資料,或作為及建模\ 的發起者。
2.2 縮略語
API 應用程式設計介面( Application Programming Interface)\ FLRA 聯邦學習參考架構( Federated Learning Reference Architecture)\ CPU 中央處理單元( Central Processing Unit)\ FLS 聯邦學習服務( Federated Learning Service)\ FLU 聯邦學習使用者( Federated Learning User)\ FLP 聯邦學習參與方( Federated Learning Participant)\ FLC 聯邦學習協調方( Federated Learning Coordinator)
3 概述
3.1 約定
本標準採用的約定包括:\ a) 採用圖來幫助理解FLRA;\ b)對第二章中術語的引用採用粗體字標識。\ 圖1給出了圖中使用的圖例。\
3.2 FLRA 的目的
聯邦學習參考架構提供了一個體系框架,用於有效描述聯邦學習角色、 子角色、 聯邦學習活動、共同關注點、功能架構和聯邦學習功能元件。\ FLRA的目的包括:\ a) 描述聯邦學習的利益相關者群體;\ b) 描述聯邦學習系統的基本特徵;\ c) 規範基本的聯邦學習活動和功能元件,描述它們之間的關係以及它們與環境之間的關係;\ d) 識別FLRA設計和改進的指導原則。
3.3 FLRA 的目標
FLRA的目標包括:\ a) 幫助制定一系列協調配套的聯邦學習標準;\ b) 為定義聯邦學習標準提供技術中立的參考點;\ c) 在識別聯邦學習利益和風險時提倡開放性和透明性。
4 參考架構概念
4.1 聯邦學習概述
4.1.1 內涵
為得到更優的機器學習模型,各參與方需藉助其他方資料進行聯合建模。 各方無需共享資料資源,即資料不出本地的情況下,進行資料聯合訓練,建立機器學習模型的框架。\ 聯邦學習系統的約束條件為:\
其中, VFED指聯邦學習模型的效果, VSUM指傳統方法(即,資料聚合方法)所建模型的效果, δ 為有\ 界正數。
4.1.2 分類
以包含兩個參與方的聯邦學習為例,雙方各自擁有一個數據集,資料集的分佈可分為:\ a) 兩個資料集的樣本特徵( X1,X2,… )重疊部分較大,而樣本ID(U1, U2…)重疊部分較小,如圖\ 2所示;\
b) 兩個資料集的樣本ID(U1, U2…)重疊部分較大,而樣本特徵( X1,X2,…)重疊部分較小,如圖\ 3所示;\
c) 兩個資料集的樣本ID(U1, U2…)與樣本特徵重疊( X1,X2,… )部分都比較小或沒有重疊部分,\ 如圖4所示。\
根據資料分佈形式,聯邦學習可分為橫向聯邦學習、縱向聯邦學習與聯邦遷移學習。
4.2 參考架構概述
本標準定義的 FLRA 能作為聯邦學習標準化的基本參考點,同時可為聯邦學習系統的基本概念和原則提供總體框架。 FLRA 的架構檢視\ 聯邦學習系統能採用檢視方法進行描述。\ FLRA可採用檢視進行描述,包括:\ a) 使用者檢視;\ b) 功能檢視;\ c) 實現檢視;\ d) 部署檢視。\ 不同檢視的轉換關係,如圖5所示。\ \ 表1給出對每個檢視的描述。\ 表1 FLRA檢視
| FLRA檢視 | 檢視描述 | 範圍 | | ------ | --------------------------- | --- | | 使用者檢視 | 系統環境、 參與方、 角色、 子角色和聯邦學習活動 | 範圍內 | | 功能檢視 | 支撐聯邦學習活動的所需功能 | 範圍內 | | 實現檢視 | 實現服務、基礎設施部件內的聯邦學習服務所需的功能 | 範圍外 | | 部署檢視 | 基於已有或新增的基礎設施,對聯邦學習服務功能的技術實現 | 範圍外 |
注:雖然本標準包含了對使用者檢視和功能檢視的詳細描述,但並不包含對實現檢視和部署檢視的描述,\ 因為實現檢視和部署檢視與技術,以及供應者特定的聯邦學習實現和部署方式相關。
4.3 聯邦學習使用者檢視
使用者檢視涉及的聯邦學習內容包括:\ a) 聯邦學習活動;\ b) 角色和子角色;\ c) 參與方;\ d) 聯邦學習服務;\ e) 共同關注點。
4.4 聯邦學習功能檢視
功能檢視是構建聯邦學習系統所必需功能的技術中立的檢視。功能檢視描述了支援聯邦學習活動所必需功能的分佈, 定義了功能之間的依賴關係。\ 功能檢視涵蓋的聯邦學習內容包括:\ a) 功能元件;\ b) 功能層;\ c) 跨層功能。\ 圖 6 展示了功能、層和功能元件的概念。\
4.5 使用者檢視與共同關注點以及功能檢視與共同關注點之間關係
共同關注點適用於:\ a) 使用者檢視中的角色和子角色,並且直接或間接影響這些角色所執行的活動;\ b) 功能檢視中的功能元件, 在執行使用者檢視所描述的活動時被使用。\ 共同關注點包括:\ a) 安全;\ b) 模組化;\ c) 互操作。
4.6 聯邦學習實現檢視
實現檢視不在本標準的範圍之內。
4.7 聯邦學習部署檢視
部署檢視不在本標準的範圍之內。
5 使用者檢視
5.1 角色、子角色和聯邦學習活動概述
聯邦學習的核心是分散式服務及服務交付。據此將所有聯邦學習相關的活動包括使用服務的活動、提供服務的活動和支撐服務的活動。\ 聯邦學習的角色包括:\ a) 服務使用者;\ b) 參與方;\ c) 協調方。\ d) 注:在任意給定的時間點,一個參與方可承擔多個角色。當承擔一個角色時,參與方可限制其只承 擔該角色的一個或多個子角色。對於給定角色,子角色是其聯邦學習活動的子集。
5.2 聯邦學習使用者
5.2.1 概述
為使用聯邦學習服務,聯邦學習服務使用者可與聯邦學習服務提供者建立業務關係, 也可與聯邦學習服務合作者建立業務關係。\ 注: 聯邦學習使用者可以是自然人, 或代表該自然人的實體(如參與機構或組織)。\ 與聯邦學習使用者及子角色相關的活動如圖7所示。\
5.2.2 子角色
聯邦學習使用者子角色包括:\ a) 聯邦學習服務使用者。聯邦學習服務使用者的聯邦學習活動主要有使用聯邦學習服務;\ b) 聯邦學習業務管理者。聯邦學習業務管理者是一個機構或組織。它的主要活動包括髮現資料的元資料、發現服務能力及提出服務需求;\ c) 聯邦學習服務整合者是一個機構或組織。它的主要活動包括與現有系統整合。\ 5.2.3 活動\ 聯邦學習服務的主要活動包括:\ a) 使用聯邦學習服務;\ b) 從網路中發現數據的元資料;\ c) 從網路中發現服務能力;\ d) 提出服務需求。
5.3 聯邦學習參與方
5.3.1 概述
聯邦學習參與方主要參與聯邦學習的計算,以及對其他聯邦學習參與方或聯邦學習服務使用者提供服務。\ 聯邦學習參與方為聯邦學習系統中共同參與機器學習過程的自然人, 或代表該自然人的實體(如參\ 與機構或組織)。\ 與聯邦學習參與方的子角色相關的聯邦學習活動如圖8所示。\
5.3.2 子角色
聯邦學習參與方子角色包括:\ a) 聯邦學習計算參與者;\ b) 聯邦學習服務提供者。\ 注1:聯邦學習計算參與者主要參與演算法活動,如計算活動(建模、預測等)、模型管理;\ 注2: 聯邦學習服務提供者主要負責管理本方提供的能力,如服務管理、資料管理等。
5.3.3 活動
聯邦學習參與方的主要活動包括:\ a) 計算活動, 如發起建模、參與建模、發起預測、參與預測、接收安全加密計算協議、資料加密;\ b) 模型管理, 如模型資料管理、模型元資訊管理(版本、參與方、建模時間、有效時間等)、模\ 型釋出、模型使用;\ c) 服務管理, 如建模及預測能力、對使用者提供的服務清單、服務接入、服務規劃;\ d) 資料服務, 包括髮布資料元資訊、發現網路中的資料、本方原始資料管理(包括但不限於儲存\ 方式、使用方式、加密方式)、資料使用。
5.3.2 子角色
聯邦學習參與方子角色包括:\ a) 聯邦學習計算參與者;\ b) 聯邦學習服務提供者。\ 注1:聯邦學習計算參與者主要參與演算法活動,如計算活動(建模、預測等)、模型管理;\ 注2: 聯邦學習服務提供者主要負責管理本方提供的能力,如服務管理、資料管理等。
5.3.3 活動
聯邦學習參與方的主要活動包括:\ a) 計算活動, 如發起建模、參與建模、發起預測、參與預測、接收安全加密計算協議、資料加密;\ b) 模型管理, 如模型資料管理、模型元資訊管理(版本、參與方、建模時間、有效時間等)、模\ 型釋出、模型使用;\ c) 服務管理, 如建模及預測能力、對使用者提供的服務清單、服務接入、服務規劃;\ d) 資料服務, 包括髮布資料元資訊、發現網路中的資料、本方原始資料管理(包括但不限於儲存\ 方式、使用方式、加密方式)、資料使用。
5.4 聯邦學習協調方
5.4.1 概述
聯邦學習協調方是為聯邦學習參與方的活動提供支撐或輔助功能的參與方, 具備聯邦學習參與方的職能, 承擔部分聯邦學習網路管理與仲裁之職責。\ 注1: 聯邦學習協調方的聯邦學習活動隨著合作者的型別及其與聯邦學習服務提供者和聯邦學習服務客戶之間關係的不同而變化;\ 注2: 聯邦學習協調方宜為機構或組織。\ 與聯邦學習協調方相關的聯邦學習活動如圖9所示:\
5.4.2 子角色
聯邦學習協調方子角色包括:\ a) 聯邦學習開發者,主要負責聯邦學習的功能開發;\ b) 聯邦學習演算法協調者,主要負責協調聯邦學習演算法執行過程中各參與方的計算行為;\ c) 聯邦學習參與方協調者,主要負責協調聯邦學習參與方活動中的行為,同時也是聯邦學習的元\ 資料提供方。\ 注: 典型場景如聯邦學習參與方能力協調與資料管理。
5.4.3 活動
聯邦學習協調方活動包括:\ a) 聯邦學習功能開發, 如演算法開發、基礎架構開發、服務開發;\ b) 計算活動, 如發起建模、多方安全計算管理(約定安全協議、金鑰生成、資料解密);\ c) 模型管理, 如模型發現、模型元資訊管理、模型金鑰管理;\ d) 服務能力協調, 如服務接入、服務能力釋出、聯邦學習網路中服務元資訊管理、參與方元資訊\ 管理;\ e) 資料管理, 如資料元資訊管理、資料元資訊釋出、資料元資訊發現。
5.5 共同關注點
5.5.1 概述
共同關注點適用於 FLRA 描述範圍內或與 FLRA 例項系統運營相關的多個元素。這些共同關注點在多個角色、活動和元件中共享。\ 聯邦學習的共同關注點如圖 10 所示。\ \ 針對共同關注點, 應定義一組聯邦學習活動和元件。不同的角色和解決方案可能使用這些共同關注點的不同子集。\ 共同關注點包括:\ a) 安全(見5.5.2);\ b) 模組化(見5.5.3);\ c) 互操作性(見5.5.4)。
5.5.2 安全
安全性是聯邦學習的重要共同關注點,包括:\ a) 資料安全。原始資料或能夠推測出原始資料的資料,不應洩漏給其他參與方、協調方或使用者;\ b) 隱私保護。互動的資料不應包含以任何形式被夠定位或被大致定位到個體的資料;\ c) 傳輸安全。資料傳輸的協議及軟硬體應安全可靠,能夠防止被攻擊。
5.5.3 模組化
為提高聯邦學習功能的研發效率、可維護性和可移植性,聯邦學習系統的構建應實現模組化、可配置和可擴充套件,以便快捷地複用,以構建上層應用。
5.5.4 互操作性
聯邦學習語境下的互操作性包括聯邦學習服務客戶與聯邦學習服務之間按照規定的方法互動和交換資訊並獲得可預測結果的能力。\ 實現聯邦學習不同服務或元件間的互操作,各方應採用有效的通訊協議、統一的API和資料格式。
6 功能檢視
6.1 功能架構
6.1.1 分層框架
聯邦學習功能架構用一組高層的功能元件來描述聯邦學習。功能元件代表了為執行第5章描述的與聯邦學習相關的各種角和子角色的聯邦學習活動的功能集合。\ 功能架構通過分層框架來描述元件。在分層框架中,特定型別的功能被分組到各層中,相鄰層次的元件之間通過介面互動。\ FLRA的分層框架包括4層,以及一個跨越各層的跨層功能集合,如圖11所示:\
6.1.2 服務層
服務層實現聯邦學習服務提供者提供的服務, 包含和控制實現服務所需的軟體元件。\ 服務層使用演算法層的元件,根據業務需求實現具體邏輯,為聯邦學習使用者提供服務。 服務層包括但不限於:\ a) 將聯邦學習服務能力通過一種或多種訪問機制展現出來。在聯邦學習上下文中,典型的服務能力例子包括進行分類、聚類、迴歸等基本服務,以及語音識別、生物特徵識別、計算機視覺、NLP等各類具體應用服務;\ b) 為聯邦學習服務能力的訪問提供合適的安全功能。服務層負責通過使用者證書、使用者的身份資訊來驗證使用者請求,驗證使用者是否被授權使用特定的能力。服務層還負責在需要時進行加密處理,檢查請求的完整性;\ c) 對來自使用者( 如服務請求)和流向使用者層的( 如服務的輸出)流量採取各種可行策略,以保障服務的高效與可用;\ d) 基於核心層提供的各類演算法進行各類任務的訓練,最終形成上層服務層所需的聯合模型;\ e) 提供資料釋出與發現服務,能夠將本地資料釋出到聯邦學習網路,或從聯邦學習網路中發現數據,供本地建模/預測使用。
6.1.3 演算法層
演算法層實現聯邦學習的基本演算法。演算法層的實現應是通用的,不與具體業務耦合。\ 演算法層使用運算元層的元件,實現聯邦學習演算法的邏輯,為服務層提供支援。\ 演算法層的功能包括但不限於:\ a) 樣本對齊;\ b) 特徵對齊;\ c) 聯合特徵工程;\ d) 領域自適應;\ e) 通用聯邦學習演算法的實現;\ f) 演算法評估;\ g) 加密建模與預測。
6.1.4 運算元層
運算元層包含實現聯邦學習演算法邏輯所需的高抽象通用元件。運算元層提供的元件應是通用的,可被不同的聯邦學習演算法複用,不與具體聯邦學習演算法耦合。\ 運算元層使用基礎架構層提供的功能,向演算法層提供高抽象的元件,使演算法開發者可以基於這些運算元,快速實現聯邦學習演算法。\ 運算元層至少包含以下元件:\ a) 多方安全計算運算元;\ b) 聚合運算元;\ c) 啟用函式;\ d) 正則化處理器;\ e) 代價函式;\ f) 優化方法;\ g) 梯度處理器。
6.1.5 基礎架構層
基礎架構層為聯邦學習服務提供執行時的基礎架構。\ 基礎架構層可視作聯邦學習服務的基礎支撐,向上提供通用的計算、儲存、通訊的能力。\ 基礎架構層職責包括:\ a) 提供程式設計介面,使得上層服務可以使用基礎架構;\ b) 提供計算力,執行建模或預測任務;\ c) 提供儲存機制,對產出模型與必要的資料進行儲存,以及提供資料匯入/匯出的實用工具;\ d) 提供資源排程與管理機制,跟蹤與記錄資源的狀態;\ e) 提供通訊基礎設施,在各參與方之間安全地傳遞資訊。
6.1.6 跨層功能
跨層功能包括一系列功能元件。這些功能元件與上述四層的元件進行互動以提供支撐能力。\ 跨層能力包括但不限於:\ a) 訓練能力;\ b) 運營能力;\ c) 資料安全能力;\ d) 監督和評估能力。
6.2 功能元件
6.2.1 概述
本節從聯邦學習服務功能元件通用集的角度描述了聯邦學習參考架構。 功能元件是 FLRA 的功能元素,用來執行活動或活動的一部分。該功能元件在具體的參考架構實現中有相應的實現構件, 如軟體元件、子系統或應用等。
6.2.2 服務層元件
常見的服務層功能元件應包括:\ a) 使用者服務元件;\ b) 參與方協調服務元件;\ c) 通用演算法服務元件;\ d) 場景服務元件;\ e) 資料服務元件;\ f) 任務管理元件。
6.2.2.1 使用者服務元件
使用者服務元件支援聯邦學習服務使用者訪問和使用聯邦學習服務(使用聯邦學習服務活動)。 聯邦學\ 習服務提供方可根據情況,提供合適的使用者功能元件給客戶使用。\ 典型使用者服務元件的功能應包括:\ a) 使用者介面:聯邦學習服務客戶與聯邦學習服務進行互動的功能,可以是命令列介面或圖形使用者介面以及 API 等形式;\ b) 任務提交:將聯邦學習服務客戶的特定任務需求(建模、線上預測、離線預測等)提交到聯邦學習網路;\ c) 資料與模型的匯入與匯出工具:將資料、模型等匯入到聯邦學習服務,或從聯邦學習服務中匯出資料與模型;\ d) 資料釋出與發現:聯邦學習的參與方可以將本方的資料釋出,供其他參與方使用;聯邦學習參與方也可以在網路中發現其他參與方已釋出的資料,供本方使用。
6.2.2.2 參與方協調服務元件
參與方協調服務元件支援:聯邦學習服務管理者的聯邦學習活動,包括參與方身份和配置檔案管理、對服務活動和服務使用的監控、事件處理和問題報告、安全管理服務。聯邦學習協調能力只供聯邦學習網路協調者使用,只能通過使用聯邦學習服務來獲取。\ 典型的參與方協調服務元件功能應包括:\ a) 成員管理服務:為聯邦學習服務客戶提供身份管理、許可權管理、資料保密以及可審計的服務;\ b) 監控管理:為聯邦學習服務客戶提供故障監測和聯邦學習網路執行狀態的監控服務;\ c) 事件管理:為聯邦學習服務客戶提供預定義或自定義事件的服務;\ d) 問題管理:為聯邦學習服務客戶提供聯邦學習網路問題跟蹤、報告的服務;\ e) 安全管理:確保聯邦學習服務客戶賬號安全性的服務。
6.2.2.3 通用演算法服務元件
通用演算法服務元件提供通用的演算法功能,使得演算法可以應用到資料中。通用演算法元件提供的能力與具體場景與業務耦合性不強。\ 常見的通用服務元件包括:\ a) 分類:分類是一種監督式學習,即每個訓練樣本的資料物件已經有類標識,通過學習可以形成表達資料物件與類標識間對應的知識,目標就是根據樣本資料形成的類知識並對源資料進行分類,進而也可以預測未來資料的歸類;\ b) 聚類:聚類是一種無監督學習任務,該演算法基於資料的內部結構尋找觀察樣本的自然族群(即叢集),聚類的結果將產生一組集合,集合中的物件與同集合中的物件彼此相似,與其他集合中的物件相異;\ c) 迴歸:迴歸是一種對數值型連續隨機變數進行預測和建模的監督學習演算法。迴歸任務的特點是標註的資料集具有數值型的目標變數。也就是說,每一個觀察樣本都有一個數值型的標註真值以監督演算法,預測產生的結果也一般是數值型的。
6.2.2.4 場景服務元件
場景服務元件提供與業務耦合性較強的功能元件。這層元件隨著業務或聯邦學習使用者的需要而變更。\ 典型的應用場景包括:\ a) 語音識別:機器通過識別和理解過程把語音訊號轉變為相應的文字或命令。語音識別涉及的技術主要包括語音特徵提取技術、模式匹配準則及模型訓練技術三個方面;\ b) 生物特徵識別:機器利用人體所固有的生理特徵(指紋、虹膜、面相、 DNA等)或行為特徵(步態、擊鍵習慣等)來進行個人身份鑑定;\ c) 計算機視覺:使用機器代替人眼對目標進行識別、跟蹤和測量等,並進一步做圖形處理,使目標成為更適合人眼觀察或傳送給儀器檢測的影象;\ d) 自然語言處理NLP:機器通能理解自然語言文字的含義、意圖,也能以自然語言文字來表達給定的意圖、思想等。
6.2.2.5 資料服務元件
資料服務元件包括:\ a) 資料釋出, 指參與方將本方擁有資料的元資訊,通過安全方式告知協調方,以供其他聯邦學習參與方進行聯邦學習活動;\ b) 資料發現,指參與方在協調方中尋找與發現其他聯邦學習參與方已釋出的資料元資訊,供本方進行聯邦學習活動。\ 資料釋出與發現服務的功能包括:\ a) 所有聯邦學習參與方都應支援資料釋出功能;\ b) 需要建模/預測活動的參與方應支援資料發現功能;\ c) 應具備明確的資料元資訊管理方案,確保聯邦學習活動正常進行。
6.2.2.6 任務管理元件
任務管理元件用於管理聯邦學習活動中的建模與預測活動。\ 任務管理元件的功能包括但不限於:\ a) 支援新建(即提交)聯邦學習任務;\ b) 支援查詢聯邦學習任務的狀態與日誌,包括正在執行的任務,以及已完成的任務;\ c) 支援結束正在執行的聯邦學習任務;\ d) 宜提供機制,在可能的情況下讓使用者恢復部分失敗的任務;\ e) 宜提供API,提供聯邦學習任務管理能力。
6.2.3 演算法層元件
常見的演算法層元件應包括:\ a) 樣本對齊元件;\ b) 特徵對齊元件;\ c) 聯合特徵工程元件;\ d) 領域自適應元件;\ e) 通用聯邦學習演算法元件;\ f) 演算法評估元件。
6.2.3.1 樣本對齊元件
樣本對齊元件通常用於縱向聯邦學習。樣本對齊元件應保證以下兩點:\ a) 各方在不公開各自資料的前提下確認資料來源的重疊樣本;\ b) 不暴露非重疊樣本。
6.2.3.2 特徵對齊元件
特徵對齊元件通常用於恆向聯邦學習, 應包括:\ a) 各方在不公開各自資料的前提下確認資料來源的重疊特徵屬性;\ b) 不暴露非重疊特徵屬性。
6.2.3.3 聯合特徵工程元件
聯合特徵工程的功能應包括:\ a) 聯合特徵使用方案;\ b) 聯合特徵獲取方案;\ c) 聯合特徵處理;\ d) 聯合特徵監控。
6.2.3.4 領域自適應元件
領域自適應元件的目標是把分佈不同的源域和目標域的資料,對映到一個特徵空間中,使其在該空間中的距離儘可能近。\ 注: 由於聯邦遷移學習的核心是找到源領域與目標領域間的相似性,故此元件功能應圍繞具體的需求定製。
6.2.3.5 通用聯邦學習演算法元件
通用聯邦學習演算法元件包含聯邦學習針對不同的應用場景,不同的訓練任務所需的各大類基礎演算法。常見演算法包括:\ a) 聯邦學習的邏輯迴歸。典型演算法包括縱向邏輯迴歸與橫向邏輯迴歸;\ b) 聯邦學習的決策樹。典型演算法包括GBDT;\ c) 聯邦遷移學習;\ d) 聯邦深度學習。
6.2.3.6 演算法評估元件
演算法評估元件包含對聯邦學習演算法效果的評估, 包括:\ a) 正確性評估;\ b) 無損性評估;\ c) 有效性評估;\ d) 效能評估;\ e) 安全性評估;\ f) 參與方貢獻評估。
6.2.4 運算元層元件
常見的運算元層元件包括:\ a) 多方安全計算運算元;\ b) 聯邦學習聚合運算元;\ c) 聯邦學習啟用函式;\ d) 聯邦學習正則化處理器;\ e) 聯邦學習代價函式;\ f) 聯邦學習優化方法;\ g) 聯邦學習梯度處理器。
6.2.4.1 多方安全計算運算元
多方安全計算是聯邦學習底層安全機制的核心。在聯邦學習參與方在進行活動時,此元件對資料進行加密或脫敏,使得原資料不被洩漏。在典型場景中,聯邦學習參與方在傳送資料到另一參與方前,加密/脫敏元件即對本方資料進行處理。 包括:\ a) 基本原則包括:
- 參與方的加密/脫敏元件使用其他參與方、協調方知道且支援的加密/脫敏演算法,對資料進\ 行處理,移除與原資料直接有關的資訊;
- 對資料的加密, 協調方中的加密元件使用金鑰,對密文進行加密。\ b) 實現方式包括:
- 同態加密( Homomorphic Encryption);
- 祕密共享( Secret Sharing);
- 遺忘傳輸( Oblivious Transfer);
- 混淆電路( Garbled Circuit);
- RSA 加密演算法,且金鑰為 1024bit 或以上;
- 可信執行環境( Trusted Execution Environment, TEE)。\ c) 常見運算元包括:
- 四則運算運算元;
- 大小比較運算元;
- 邏輯與/或/非運算元;
- 向量計算運算元。
6.2.4.2 聯邦學習聚合運算元
聯邦學習聚合運算元是聯邦學習特有的運算元, 應根據聚合的策略、加密方式進行定製。常見的聯邦學習聚合運算元是基於隨機數與多方安全協議進行變化。
6.2.4.3 聯邦學習啟用函式
聯邦學習啟用函式應包括但不限於:\ a) 傳統機器學習的啟用函式,如sigmoid、 softmax、 tanh、 softsign;\ b) 聯邦學習的聯合啟用函式,如基於半同態加密的泰勒展開sigmoid、基於祕密共享的ReLU。
6.2.4.4 聯邦學習正則化處理器
聯邦學習正則化處理器應包括但不限於:\ a) 傳統機器學習的正則化處理器,如L1、 L2;\ b) 聯邦學習的聯合正則化處理器,如基於半同態加密的泰勒展開L1、基於半同態加密的泰勒展開L2。
6.2.4.5 聯邦學習代價函式
聯邦學習代價函式應包括但不限於:\ a) 傳統機器學習的代價函式,如交叉熵( Cross Entropy)、均方誤差( Mean Squared Error)、平均絕對誤差( Mean Absolute Error);\ b) 聯邦學習的聯合代價函式,如基於半同態加密的二分類交叉熵。
6.2.4.6 聯邦學習優化方法
聯邦學習優化方法應包括但不限於:\ a) 傳統機器學習的優化方法,如隨機梯度下降( SGD)、 RMSProp、 AdaGrad、 Adam;\ b) 聯邦學習的聯合優化方法。
6.2.4.7 聯邦學習梯度處理器
聯邦學習梯度處理器應包括但不限於:\ a) 傳統機器學習的梯度處理器;\ b) 聯邦學習的聯合梯度處理器。
6.2.5 基礎架構層元件
常見的基礎架構層元件應包括:\ a) 計算元件;\ b) 儲存元件;\ c) 通訊元件;\ d) 資源排程與管理元件。\ 6.2.5.1 計算元件\ 計算框架包括但不限於:\ a) 支援任務在單機上執行,宜支援分散式任務執行;\ b) 應具備明確的任務元資訊管理方案,確保聯邦學習活動正常執行,任務資訊在一定時間內可追溯;\ c) 宜具備一定的容錯性,如任務的失敗與恢復功能;\ d) 應提供API,以提供聯邦學習演算法開發能力。
6.2.5.2 儲存元件
儲存元件功能應包括但不限於:\ a) 支援KV儲存;\ b) 支援其他儲存系統到儲存元件的資料匯入與匯出;\ c) 支援資料儲存的外部儲存持久化;\ d) 宜支援記憶體資料儲存,以提升任務執行效能;\ e) 宜支援資料的分散式儲存,以提升資料讀寫效能;\ f) 具備明確的資料元資訊管理方案,確保聯邦學習活動正常執行;\ g) 提供API,提供儲存元件訪問能力;\ h) 宜具備明確的資料可用性、可靠性策略與方案,以及儲存丟失時的恢復方案。
6.2.5.3 通訊元件
通訊元件功能應包括但不限於:\ a) 支援雙向通訊;\ b) 支援跨叢集及跨資料中心的通訊;\ c) 支援國際主流的安全通訊方案,如HTTPS、 TLS/SSL;\ d) 在參與方對外通訊時,應使用安全通訊方案,對通訊進行加密;\ e) 宜對傳送(包括主動傳送與被動應答)到其他聯邦學習參與方或聯邦學習協調方的內容保留審\ 計功能,以確保原始資料沒有離開本方;\ f) 提供API,以提供聯邦學習演算法開發能力。
6.2.5.4 資源排程與管理元件
資源排程與管理元件功能包括但不限於:\ a) 對計算、儲存、通訊請求作出合理的資源分配;\ b) 對硬體資源的變動進行記錄與管理,並反饋到資源分配的策略上;\ c) 宜提供機制,以便開發者對排程規則進行定製;\ d) 提供API,以提供資源的實時使用情況。
6.2.6 跨層功能元件
跨層功能元件應包括:\ a) 運營功能元件;\ b) 資料安全功能元件;\ c) 監管與審計功能元件。
6.2.6.1 運營功能元件
運營功能元件包括一組與操作有關的管理功能,這些功能用於管理和控制提供給使用者使用的聯邦學習服務。運營功能元件包括:\ a) 服務目錄。服務目錄功能提供聯邦學習系統的所有服務列表。服務列表包括進行聯邦學習活動的各類服務,比如針對不同需求和場景的各類訓練和預測服務以及其他支撐性服務;\ b) 策略管理。策略管理功能提供聯邦學習服務的定義、更新和訪問策略及針對這些策略的管理。\ 這些策略包括用於聯邦學習本身及其使用的業務、技術、安全、隱私和認證等策略;\ c) 異常和問題管理。異常問題管理功能提供事故和問題報告的捕獲能力,並通過分析來管理這些報告。事故和問題可由聯邦學習服務提供方系統或聯邦學習服務使用者,即聯邦學習各參與方檢測和報告;\ d) 服務交付管理。服務交付管理功能提供聯邦學習服務交付的管理功能,比如交付的功能介面、SLA 等。同時,該功能提供必需的工作流,以確保這些服務元素以正確的順序提供。
6.2.6.2 安全功能元件
安全功能元件主要為聯邦學習各功能元件層、層間互動以及各參與方互動的所有資料提供保密性、\ 完整性、可用性和隱私保護等安全屬性的保障。\ 資料安全功能元件功能應包括但不限於:\ a) 賬號管理。確保所有相關方都擁有賬號;\ b) 身份認證及管理。確保所有相關方在進行操作前是通過身份認證的;\ c) 授權和安全策略管理。確保相關方只能對被授權的內容進行操作;\ d) 資料完整性管理。通過完整性檢測和各種規範要求,防止由於誤操作,惡意破壞,格式不符合要求等造成的資料完整性喪失;\ e) 資料銷燬。提供各參與方在各類資料使用後的資料銷燬功能,負責將資料徹底刪除,並無法復原,以免造成資訊洩露;\ f) 隱私洩露防護。主要是保護聯邦學習使用者身份和事務處理等敏感資訊不被洩露或非法獲取,這些資訊只有通過充分授權才能被訪問。隱私洩露防護功能元件功能宜包括:
- 支援將資料的傳輸限制在特定授權節點間;
- 支援用加解密方法對使用者資料的訪問採用許可權控制;
- 支援對聯邦學習活動(任務)發起方/接收方的資訊及事務資訊本身進行資訊隱藏;
- 支援採用例如零知識證明、同態加密等隱私保護演算法,規避隱私暴露。
6.2.6.3 監管與審計功能元件
監管與審計功能元件根據聯邦學習參與方的治理要求,使聯邦學習服務符合可監管與可審計的特性,避免聯邦學習違反相關法律法規的要求,沒有實現真正意義的資料安全,洩露資料隱私;並作為權威方評估聯邦學習訓練預測過程以及最終模型的各方面指標是否滿足要求。\ 監管與審計功能元件功能包括但不限於:\ a) 應具備完善健全的監管治理體系.通過事前准入控制、事中許可權控制、事後追溯等技術手段實現監管目標,保證記錄不可篡改、可追溯與可稽核;\ b) 宜實現監管機構作為聯邦成員即時監管,可對資料完整性、有效性和流程合規性進行即時的審計與監督;監管幹預活動相關的資料和證據應進行完整記錄和儲存;\ c) 設定明確的監管治理規則。應同時支援由人蔘與監督管理的、無法用技術自動實現的規則,由組織機構或管理人員依據法律、行政法規、部門規章等進行監管治理的規則;\ d) 儲存與服務、資源、效能相關的審計資訊。這些審計資訊至少應包括協議所有相關方的活動和運營環境條件的記錄和日誌,並需要以安全的方式收集和維護。
7 使用者檢視與功能檢視之間關係
7.1 概述
在第6章介紹聯邦學習角色與活動的使用者檢視,第7章介紹包含功能元件的功能檢視的基礎上,本章描述角色和活動與功能元件之間的邏輯對映關係。
7.2 關係
標準中的對映關係可應用於:\ a) 明確資訊流或其它型別互操作的程度;\ b) 確保指定的質量(例如安全或服務水平)。\ 本架構中定義的邏輯關係是確定FLRA及其行為的重要組成部分。該邏輯關係描述內容包括FLRA元件間互動所需的資訊流。\ 圖12展示了FLRA主要元素的常用配置,包括角色、聯邦學習活動和元件。\
- YoloV5實戰:手把手教物體檢測——YoloV5
- 基於阿里Semantatic Human Matting演算法,實現精細化人物摳圖
- PPv3-OCR自定義資料從訓練到部署
- 如何下載pytorch的歷史版本?
- WinForm——Button總結
- WinForm——MDI窗體
- 升級 pip
- 將8位的tif圖片改為png圖片
- RepLKNet實戰:使用RepLKNet實現對植物幼苗的分類(非官方)(二)
- 關於OpenCV imread和imdecode讀取圖片是BGR的證明
- opencv讀取圖片通道以及顯示
- 萬字整理聯邦學習系統架構設計參考
- 編譯器堆空間不足
- 【影象分類】實戰——使用EfficientNetV2實現影象分類(Pytorch)
- MMDetection實戰:MMDetection訓練與測試
- UNet語義分割實戰:使用UNet實現對人物的摳圖
- MobileVIT實戰:使用MobileVIT實現影象分類
- SwinIR實戰:如何使用SwinIR和預訓練模型實現圖片的超分
- 【影象分類】手撕ResNet——復現ResNet(Pytorch)
- Deeplab實戰:使用deeplabv3實現對人物的摳圖