三年前,Google一篇聯合學習(Federated Learning,又稱聯邦學習)部落格文章,解釋了如何以分散式訓練方法,把資料留在本地端,打造出可部署至上百萬支手機的輸入字推薦模型。這個作法,不再需要收集大量個人資料至資料中心,不僅取代傳統集中式機器學習,更一舉成為現在AI大數據與個資隱私瓶頸的解套方法。
2017年,Google為改善自家Android虛擬鍵盤Gboard的輸入功能,設計出一套加密分散式機器學習方法。首先,個別用戶的手機會從中央主機下載一套模型,接著在數以萬計的用戶端,根據用戶端的使用行為,來訓練Local端模型。
訓練好後,用戶手機會上傳模型權重(亦稱參數)至中央主機,中央主機收集一定數量的權重後,就會聚合(Aggregation),計算出一個優化過的權重,再回放到用戶端手機,進行下一輪訓練。
這個過程會不斷重複,直到模型達到理想的表現。在這過程中,只會上傳模型參數,完全不會上傳使用者資料。Google指出,這個方法訓練出來的模型,不只讓搜尋功能變得更好,還能部署到「數百萬支Android手機上。」
AI浪潮興起以來,為打造高準確度、高適應性的模型,就必須使用量大且多樣的訓練資料。但在2018年,歐盟祭出史上最嚴格的個資保護規範GDPR,限制了企業蒐集、使用個人資料的行為,這與AI熱浪的大數據需求,發生衝突。
而聯合學習藉分散式訓練,以共享模型取代共享資料,能藉眾人之力,打造效能不輸集中式訓練的模型。這個方法,近年來在著重隱私的金融、醫療領域發酵,比如中國純網銀微眾銀行發起聯合學習框架,邀集全球金融業者,來打造信用卡防詐欺模型,或是在醫療界,Nvidia聯手倫敦國王學院,共同打造一款醫療聯合學習平臺。
今年,臺北榮總率先發表了臺灣第一個聯合學習試驗的成果,以國產AI超級電腦來試驗聯合學習可行性,隨後,三總也在6月時宣布,加入全球20多家醫院聯手的聯合學習研究計畫,要來打造一個COVID-19病情預測模型。臺灣也開始跟上了新一波聯合學習全球浪潮。
Q:什麼是聯合學習?
A 聯合學習(Federated Learning)是一種分散式機器學習訓練方法,最常見的形式為Server-Client形式,由一個中央伺服器,搭配分散各地來參與訓練的多個節點(也就是Client)。各節點主機先從中央伺服器下載模型,在本地端以自己的資料來進行訓練,完成訓練後,再將各自模型的權重上傳至中央伺服器,由中央伺服器來聚合(Aggregate)這些權重。這種分散式訓練方法,可套用在不同機器學習模型的訓練過程。
接著,中央伺服器會將優化過的權重,回傳給各節點,各節點再利用新的權重,進行下一輪訓練。這個過程會不斷重複,直到模型收斂至理想狀態。
Q:聯合學習最大好處是?
A 聯合學習靠各節點貢獻自己的模型參數,來同步優化所有模型,而不需要像傳統集中式的訓練方式,需將所有資料集中來訓練。因此,就算資料因故無法共享,也可以進行聯合學習。只要加入訓練的節點夠多、資料多樣性夠高,聯合學習也能解決資料不足和模型偏見問題,訓練出最具代表性的模型。
Q:什麼是權重?所有節點都回傳權重後,才能聚合嗎?
A 類神經網路模型由兩部分組成,一是架構,另一是權重(Weight),也就是參數。聯合學習的每一輪訓練中,不一定要取得所有節點的權重,也可以在過半數節點回傳後就進行聚合。至於這一輪未上傳權重的節點,自己訓練完模型、上傳權重後,就會得到第一輪聚合過的權重,再以新權重繼續訓練模型。
Q:採用聯合學習,得有哪些事前準備?
A 參與模型訓練的節點,得採用相同的訓練程式和軟體平臺,在資料方面,也得先定義出要使用的訓練資料類型和規格。甚至執行聯合學習時,各方需採用同規格模型,像是類神經網路的層數。
Q:聯合學習有哪些種類?適合哪些產業?
A 聯合學習可分為兩種,首先是跨裝置(Cross-device),比如Google利用聯合學習來訓練數萬支Android手機的Gboard模型,最後再部署到上百萬支手機。另一個是跨組織(Cross-silo),比如英特爾聯手賓州大學醫學院,與29家跨國醫療機構利用聯合學習,來開發腦瘤偵測AI演算法。聯合學習適合重個資隱私的領域,比如醫療、金融業。
Q:聯合學習與集中式訓練的模型,準確度有差別嗎?
A 根據臺灣人工智慧實驗室創辦人杜奕瑾的經驗,他們多次用聯合學習來訓練醫療AI模型時,比較過兩種訓練方法的效果,只要各節點的資料分散程度越多元,訓練迭代次數越多,聯合學習的AI模型準確度可以媲美集中式訓練,甚至可以比集中式訓練更高。
Q:聯合學習有哪些框架?
A 常見的包括Google的Tensorflow Federated、臉書的PySyft,不過兩者只限於模擬,無法用來部署。其他框架還有Nvidia的Clara、百度的Paddle Federated Learning(PFL),以及中國純網銀微眾銀行的FATE。
臺灣人工智慧實驗室也在今年六月,開源自家聯合學習框架Harmonia,已開放Harmonia-operator SDK和差分隱私(Differential privacy)函式庫下載。
Q:國際上,聯合學習有哪些應用案例?
A 在金融方面,中國純網銀微眾銀行發起開源聯合學習專案,要集結全球金融業者,來打造信用卡防詐欺偵測模型。在醫療方面,則有Nvidia與英國倫敦國王學院,以聯合學習打造腦瘤影像分割模型;此外,還有波士頓大學與麻州總醫院MGH聯手,以電子健康紀錄(EHR)和聯合學習方法,來訓練一套預測心臟病患者住院率的模型。
Q:臺灣也有聯合學習實例?
A 臺北榮總今年利用國產AI超級電腦臺灣杉二號的雲端環境,設置了5個節點,來代表不同的虛擬醫院,並利用自家和開源的腦瘤MR影像,以聯合學習方式來訓練模型。
臺灣人工智慧實驗室也利用聯合學習,開發不少醫療AI模型,比如武漢肺炎胸腔X光片偵測模型。三總也在六月,加入Nvidia與麻州總醫院體系醫院MGB發起的COVID-19聯合學習計畫。
Q:臺灣已有健保大數據計畫可供學術分享,為何還需要聯合學習?
A 三總AIoT中心執行長暨醫務企畫管理室副主任李家政指出,健保大數據並未提供AI模型訓練所需的數值,比如只顯示患者在特定時間至某家醫院,進行血鉀濃度檢查,不會顯示血鉀濃度的數值。
另一方面,臺灣人工智慧實驗室創辦人杜奕瑾指出,這些開放研究使用的資料,未必是最多樣的,而且會有選擇性偏見的問題。比如,為了確保無個資隱憂,可能選擇開放好幾年前的舊資料。透過聯合學習,可突破上述瓶頸。
Q:聯合學習有哪些挑戰?
A 雖然聯合學習不必將原始資料上傳,但在傳遞權重的過程中,仍可能受到模型逆推攻擊(Model Inversion Attack),透過權重來回推特定的使用者資料。常見的解法包括同態加密、差分隱私(Differential Privacy),在傳送的權重中添加雜訊(Noise)。
熱門新聞
2024-11-18
2024-11-12
2024-11-20
2024-11-15
2024-11-15
2024-11-19