聯邦學習簡介

閱讀原文算法

什麼是聯邦學習
聯邦學習能夠在不直接訪問訓練數據的狀況下構建機器學習系統。數據保留在原始位置,這有助於確保隱私並下降通訊成本。編程

爲何須要聯邦學習
隱私問題(我不想分享個人本身的照片),聯邦學習能夠不將你的數據共享出去。安全

監管須要(HIPAA,GDPR等),保護用戶私有數據,使用聯邦學習能夠將模型下發到用戶側進行訓練。服務器

解決數據孤島問題,如:互聯網企業、銀行間數據不可能共享,模型使用聯邦學習能夠在各家企業、銀行的私有數據上進行訓練。網絡

工程障礙,數據量太大,網絡鏈接昂貴,速度慢或不可靠等,採用聯邦學習能夠避免這些問題。架構

聯邦學習能作什麼
如今讓咱們看一下你能夠用聯邦學習作些什麼的一些例子。框架

1.智能手機機器學習

機器學習具備改善智能手機用戶體驗的巨大潛力。應用程序能夠學習發現好的寶貝照片,並主動提供與朋友和家人分享。他們能夠更容易地編寫更有可能收到快速回復的電子郵件。經過準確地建議下一個短語,不管語言如何,他們均可以更快速,更輕鬆地撰寫短信。分佈式

可是,除了將這些數據從鏈接速度較慢的設備中取出的實際挑戰以外,某些數據的我的方面(人們輸入的內容,他們旅行的地點,他們訪問的網站)使其成爲問題。用戶不肯意共享這些敏感數據,擁有它會使技術公司面臨安全風險和監管負擔。這些特性使其很是適合聯邦學習。用例很是引人注目,谷歌的研究人員一般會將其發明歸功於此,三星工程師也提出了重要的想法。ide

2.衛生保健

醫療行業爲開發有效的治療方法和預測結果提供了巨大的經濟激勵。可是,將機器學習應用於這些問題所需的培訓數據固然很是敏感。實際和潛在隱私侵犯的後果可能很嚴重。

經過將培訓數據保存在患者或提供者手中,聯合學習有可能協做構建拯救生命併產生巨大價值的模型。總部位於巴黎的Owkin是咱們在研究期間與之交談的最雄心勃勃的聯邦學習用戶之一。它們提供了一個平臺,使醫療保健提供商可以就各類醫療保健問題進行合做。

3.預測性維護

假設製造商想要爲他們銷售的設備開發預測性維護模型。該模型須要培訓數據 - 可是爲了得到該數據而對於製造商來講,測試許多渦輪機直到它們失敗爲止。若是製造商的客戶要發送這樣的數據,那麼製造商的成本會下降。更重要的是,實際客戶體驗的失敗將比製造商在工廠實驗中看到的更能表明現實世界的使用。簡而言之,從客戶那裏得到的培訓數據會更便宜,更好。

4.分散數據的聚合分析

一個用戶在多家銀行借貸,可是多家銀行數據不通,經過聯邦學習的聚合分析能夠分析出用戶是否在多家銀行借貸,從而避免風險。

  1. URL輸入建議

Firefox實施的聯邦學習系統,是改進Firefox URL欄中顯示的部分建議。

Firefox URL欄顯示用戶鍵入搜索查詢時的建議。這些建議的一部分由搜索引擎直接提供。其餘由Firefox自己生成,例如基於用戶的歷史記錄,書籤或打開的選項卡。咱們嘗試使用咱們的項目優化歷史記錄和書籤建議。

更多信息,請訪問Federated Fearning For Firefox/

如何進行聯邦學習
下面給出一些公司的解決方案:

  1. OpenMend

從技術角度來看,OpenMined將聯邦學習的原理與同態加密和區塊鏈智能合約等尖端技術相結合,使協做模型可以以徹底分散的方式實現深度學習應用。

Open-Mined-Architecture

OpenMined架構基於四個基本構建塊:

Capsule

用於生成公鑰和私鑰的PGP服務器,以保證Sonar神經網絡的不一樣組件的完整性。

Sonar

OpenMined平臺的核心,Sonar是一個聯邦學習服務器,運行在區塊鏈上,用於控制深度學習應用程序不一樣部分的執行。該庫與Capsule通訊以生成PGP密鑰,並將最終的,通過培訓的結果發送回Data Scientist。它還與礦工溝通,收集Gradients並相應地分發Bounty。

Mine

該組件託管特定用戶的各個數據存儲庫。地雷常常與聲納相互做用,以探測新的神經網絡。上傳到礦山的數據越多,它與Sonar的相關性就越高。

Syft

包含神經網絡的庫,能夠在加密狀態下進行訓練(這樣礦工就沒法竊取他們下載的神經網絡進行訓練)。

更多信息,請訪問 OpenMined Github

  1. TensorFlow_Federated(TFF)

TensorFlow Federated(TFF)是一個開源框架,用於機器學習和分散數據的其餘計算。TFF的開發旨在促進聯邦學習(FL)的開放式研究和實驗,這是一種機器學習方法,在這種方法中,共享的全球模型在許多參與的客戶中進行培訓,這些客戶將他們的培訓數據保存在本地。例如,FL已被用於訓練移動鍵盤的預測模型,而無需將敏感的鍵入數據上載到服務器。

TFF使開發人員可以在其模型和數據上模擬所包含的聯邦學習算法,並嘗試新穎的算法。TFF提供的構建塊還可用於實現非學習計算,例如對分散數據的聚合分析。TFF的界面分爲兩層:

1)Federated Learning(FL)API

該層提供了一組高級接口,容許開發人員將所包含的聯合培訓和評估實現應用於現有的TensorFlow模型。

2)Federated Core(FC)API

該系統的核心是一組低級接口,經過在強類型函數編程環境中將TensorFlow與分佈式通訊運算符相結合,簡潔地表達新的聯合算法。這一層也是咱們創建聯邦學習的基礎。

更多信息,請訪問 Tensorflow Federated

  1. Cloudera Federated

Cloudera 提供一個交互式聯合學習原型,Turbofan Tycoon ,它是Cloudera Fast Forward Labs的研究原型,隨着cloudera的聯邦學習報告而創建。它使用逼真的渦輪風扇數據來顯示使用聯邦學習預測模型的好處。

更多信息,請閱讀An introduction to Federated Learning

結論聯邦學習的明顯好處是在大量設備上分配知識質量,而無需集中用於優化和訓練模型的數據。該方法還可以在保持訓練數據集的隱私的同時提升集中式機器學習模型的質量。可是,聯邦學習並不是沒有問題。與任何其餘軟件架構同樣,分散化在工做協調,管理或監控等領域引入了挑戰。若是不出意外,聯邦學習將是傳統的集中式監督和半監督學習架構的一個補充,而不必定是替代。