文章目錄
- 一、基本資訊與前置知識
- 1.1 基本資訊
- 1.2 前置知識
- Shapley Value(SV)
- 二、解決的問題
- 2.1 聯邦學習激勵
- 2.2 區塊鏈算力與Shapley Value計算的困難
- 三、系統框架
- 3.1 架構
- 3.2 系統角色
- 3.3 總體流程
- 四、創新的方法
- 4.1 PoSap共識演算法
- 演算法1:Shapley作業量證明共識演算法
- 區塊結構設計
- 演算法2:驗證區塊演算法:VerifyBlock
- 4.2 資金流向
- 五、總結
這個專案做了一個演示視頻:
http://demo.blockchain-neu.com/home/
從代碼上來看貌似只有前端的資料模擬程序,實際的完整的代碼運行還在撰寫?
部分基礎概念學習來自于:
一、基本資訊與前置知識
1.1 基本資訊
FedCoin: A Peer-to-Peer Payment System for Federated Learning
- 來源:arXiv
- 作者:Yuan Liu1? , Shuai Sun1 , Zhengpeng Ai1 and Shuangfeng Zhang1 , Zelei Liu2 , Han Yu2
- 出版期刊/會議:arXiv預收錄
- 磁區:\
- 出版時間:2020/02/26
1.2 前置知識
Shapley Value(SV)
關于這部分前置知識我的另一篇Shapley_Value全決議與公式推導文章做了詳細的介紹
二、解決的問題
2.1 聯邦學習激勵
想要讓資料持有者加入聯邦學習中,就需要公平的激勵機制去促進
使用區塊鏈解決聯邦學習的激勵公平問題
2.2 區塊鏈算力與Shapley Value計算的困難
傳統區塊鏈的共識演算法通過難題來解決,耗費了大量的無意義計算
而Shapley Value的計算復雜度是 O ( n ! ) O(n!) O(n!)的,難以計算
結合兩者,取長補短實作優化
區塊鏈的共識演算法設計需要滿足:計算困難,驗證簡單
三、系統框架
3.1 架構

并行的兩個網路:
- 聯邦學習網路:聯邦學習任務 (中心化)
- 區塊鏈網路:計算SV的值 (去中心化)
3.2 系統角色
| 角色名 | 作用 | 激勵 |
|---|---|---|
| FL 任務需求方 | 提出資金V,發布FL任務 | 支出:V |
| FL Client 聯邦學習客戶端 | 協同FL訓練,獲得報酬 | TrainPrice |
| FL Server 聯邦學習中央服務器 | 安全FL聚合,連接兩個網路的中間人 | ComPrice |
| 區塊鏈共識節點 | 計算SV指,分發給FL Client獎勵 | SapPrice |
(對于激勵一欄,下面會詳述)
3.3 總體流程
- FL任務需求方發布FL任務并提供賞金V
- FL服務器接收任務,向Clients發布FL任務,標注獎金TrainPrice
- FL網路實作FL相關任務,在客戶端與服務器之間全域迭代的程序中,區塊鏈網路也不斷計算每個Client節點SV貢獻度
- FL結束,FL服務器聯系區塊鏈網路出塊節點計算成功的SV貢獻按比例分配給Client激勵
四、創新的方法
4.1 PoSap共識演算法
我們提出了FedCoin,一個基于區塊鏈的點對點支付系統,以實作一個可行的基于SV的利潤分配,以公平的方式反應對全域FL模型的貢獻,
在FedCoin中,區塊鏈共識物體計算SVs(Shapley Value),并基于Shapley協議證明 (PoSap)創建新塊,
演算法1:Shapley作業量證明共識演算法
區塊結構設計


演算法的難度是動態調整的
演算法2:驗證區塊演算法:VerifyBlock
驗證演算法需要滿足三個規則才算成功:
- 新區塊內兩個引數的驗證
- 本地計算值與新區塊計算值的差值驗證
- 最長鏈驗證
4.2 資金流向
所有的資金流向通過區塊鏈交易系統保證不可篡改性以及安全
- 需求方 V -> 聯邦學習服務器
- 服務器計算TrainPrice, 留下ComPrice=V-TrainPrice-SapPrice, 剩下的(TrainPrice+SapPrice)-> 區塊鏈出塊節點
- 區塊鏈出塊節點 留下SapPrice,將TrainPrice按照VS值的比例 -> 各個FL Clinet
五、總結
將Shapley 值的計算與區塊鏈共識挑戰結合是非常有創新的
疑問:
-
中心化疊加去中心化是否可行?
-
SV值計算細節不是很理解(演算法1:3~14行),有懂得大佬歡迎評論區留言
-
FL訓練與區塊鏈SV計算時間上是一前一后串行還是并行?
演算法1中計算每個輪次是并行?演算法3中又是先訓練好模型再發布SV計算任務即時間上是串行?
不知道是不是理解有誤:)
覺得不錯的話,請點贊關注呦~~你的關注就是博主的動力
關注公眾號,查看更多go開發、密碼學和區塊鏈科研內容:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/295234.html
標籤:區塊鏈
