[Federal Learning + Blockchain] ブロックチェーンベースの分散型フェデレーテッド ラーニング: 安全でプライバシーを保護するシステム


論文アドレス: https://www.researchgate.net/profile/Endong-Tong/publication/360966550_Blockchain-based_decentralized_federated_learning_A_secure_and_privacy-preserving_system/links/6394567c484e65005bfa82d9/Blockchain-based-decentralized -federated-learning-A-secure -そしてプライバシーの保護-system.pdf


導入

この記事では、ブロックチェーンベースのフェデレーテッド ラーニング セキュリティおよびプライバシー保護フレームワーク (ブロックチェーン ベースのフェデレーテッド ラーニング セキュリティおよびプライバシー保護フレームワーク、BFLSP) を提案し、ブロックチェーン上にモデル ストレージ スキームを設計し、ノード スコアリング メカニズムとノードの選出スキームを追加します。モデルの精度を確保しながら、トレーニング プロセス中のモデルとデータのセキュリティを確保します。


BFLSP のフレームワーク

中央サーバーの代わりにブロックチェーンを使用してグローバル モデルをブロックチェーンにアップロードし、悪意のあるサーバーや単一障害点を回避します。BFLSP には、トレーニング ノードと検証ノードという 2 つの異なるノード タイプが含まれています。トレーニング ノードは、独自のローカル データを使用してモデルをトレーニングする責任を負い、トレーニングされたモデルの更新を検証ノードにアップロードします。検証ノードは、独自のローカル データを使用して受信したモデル更新を検証し、グローバル モデル集約に参加するモデル更新をいくつか選択します。『Lie to You』の本の登場人物は、トレーニング エポックごとに変化します。

A.BFLSPの作業の流れ

BFLSP ワークフロー図 1 図 11示すように、主に次の手順が含まれます

  • ステップ 1: グローバル モデルをダウンロードします。各ラウンドの開始前に、スマート コントラクトは、スコアに従って各ノードをトレーニング ノードと検証ノードに分割します。トレーニング ノードは、独自のデータに基づいて、ブロックチェーンからグローバル モデルをダウンロードします。ローカル データ ローカル トレーニングを実行します。
  • ステップ 2: ローカル更新をアップロードする: トレーニング ノードは、ローカル更新を通信先の検証ノードに送信し、検証ノードはローカル更新を他の検証ノードにブロードキャストします。
  • ステップ 3: 集約モデルのアップロード: 検証ノードは、独自のローカル データを使用してモデルの更新を検証し、精度率をトレーニング ノードの現在のラウンドのスコアとして使用します。一定数のモデル更新を受信した後、精度に応じてモデル更新の一部を選択してグローバル モデル集約に参加します。さらに、検証ノードは、このラウンドのモデル トレーニングに参加しているすべてのノードのスコアを記録し、現在のラウンドのトレーニング ノードのパフォーマンス スコアと履歴パフォーマンスに基づいて、次のラウンドの検証ノード置換リストを選択します。各ノードのスコアはブロックチェーンに記録されます。最後に、集約されたモデル、各ノードのスコア、およびバリデーターの代替リストがブロックチェーンにアップロードされます。
  • ステップ 4: 集計モデルを検証する スマート コントラクトは、ブロックチェーンにアップロードされたモデルの一貫性を判断し、新しい精度と履歴記録に基づいて新しいスコアを計算する必要もあります。
  • ステップ 5: グローバル モデルとノード スコアをアップロードするスマート コントラクトがこのラウンドのモデル集約が有効であることを検証した場合、新しいラウンドの初期モデルとしてブロックチェーンにアップロードされます。そうでない場合は、で使用されるグローバル モデルのアップロードを続けます。現在のラウンド。

ここに画像の説明を挿入

B. ブロック分割と記憶構造

ブロックは、図 2 に示すように、異なる記憶内容に従って、グローバル モデル ブロック、集約モデル ブロック、およびフラクショナル ブロックに分割されます図2示しますグローバル モデル ブロックには、次の反復で使用されるグローバル モデル、グローバル モデルのアップローダー、およびモデルの精度が格納されます。アップローダーは、グローバル モデルが破損した場合に悪意のある検証ノードを追跡するために、グローバル モデルをアップロードする検証ノードです。集約モデル ブロックには、集約モデルをアップロードした検証ノード、集約モデル、集約モデルの精度、トレーニング ノードのスコア、および次のラウンドの検証済みノードの置換リストが格納されます。トレーニング ノードによってアップロードされたローカル モデルの更新の精度率が、このラウンドのトレーニングのノード スコアとして取得されます。スコア ブロックには、以前のトレーニング ラウンドでの各ノードの平均スコア、スコアの分散、トレーニング ノードとしてアップロードされたローカル更新の数が格納されます。
ここに画像の説明を挿入

C. スコアリングのメカニズム

モデルのトレーニングに参加している各ノードの平均スコアが記録され、分散を使用してトレーニングの各ラウンドでの各ノードのパフォーマンス スコアの変動を評価し、単一の悪意のある状況を回避します。ノードがnnに参加しているとします。nラウンドのトレーニングで、各ラウンドで得られるスコアはx = { x 1 , x 2 , x 3 . . . , xn } x = \{x_1,x_2,x_3...,x_n \}バツ={ ×1バツ2バツ3... バツ}という意味です。nnラウンドのトレーニングの平均パフォーマンス スコアは、 AVG n ( x ) = x 1 + x 2 + x 3 + . . . + xnn AVG_n(x)= \frac{x_1+x_2+x_3+...+ として表すことができますx_n}{ n}A V G( × )=nバツ1+ ×2+ ×3+ ... + x、二乗平均はAVG n ( x ) = x 1 2 + x 2 2 + x 3 2 + . . . + xn 2 n 2 AVG_n(x)= \frac{ {x_1}^2+{x_2 として表すことができます。 } ^ 2+{x_3}^2+...+{x_n}^2}{n^2}A V G( × )=n2バツ12 +×22 +×32 +...+x2n + 1 の場合 n+1n+1ラウンドのトレーニングxn + 1 x_{n+1}バツn + 1、次にn + 1 n+1n+1ラウンド後の平均パフォーマンスは AVG n + 1 ( x ) = x ∗ AVG n ( x ) + xn + 1 n + 1 AVG_{n+1}(x)=\frac{x*AVG_n(x)+x_ {n+1}}{n+1}A V Gn + 1( × )=n + 1× AVG _ _( x ) + xn + 1、二乗平均はAVG n + 1 ( x 2 ) = n ∗ AVG n ( x 2 ) + xn + 1 2 n + 1 AVG_{n+1}(x^2)=\frac{n*AVG_n として表されます。 (x ^2)+x_{n+1}^2}{n+1}A V Gn + 1( ×2 )=n + 1n AVG _ _( ×2 )+xn + 12分散は、VAR n ( x ) = AVG n ( x 2 ) − AVG n 2 ( x ) VAR_n(x)=AVG_n(x^2)-AVG_n^2(x) として表すことができますWAR _ _( × )=A V G( ×2 )A V Gn2( × )

上記の内容に従って、スマートコントラクトは、各ラウンドの集約が完了した後に、各ノードの累積パフォーマンススコアとスコアの分散を再計算できます。スコア ブロックでは、各ラウンドのスコアを記録する代わりに、各ノードのスコアの平均、二乗平均、分散を記録するだけでよいため、ストレージと計算のオーバーヘッドが削減されます。

D. ノード選出メカニズム

トレーニング ノード間の共謀を防ぐために、この記事ではノード選出スキームを設計します。検証ノードがローカルでモデルの集約を完了した後、各トレーニング ノードの現在のラウンド パフォーマンスと過去のパフォーマンスに従って候補リストが選択され、このリストは集約モデルとともにブロックチェーンにアップロードされます。候補ノードの選択には次の制約があります。

  • 制約 1: 前のラウンドのバリデーター ノードは引き続きバリデーター ノードであり続けることはできません
  • 制約 2: 過去のパフォーマンス スコアと差異は特定の要件を満たす必要がある
  • 制約 3: 正直なノードによって送信された候補リストのみが有効です

次に、スマート コントラクトは、バリデーターによってアップロードされた候補リストから次のラウンドのバリデーターをランダムに選択します。これにより、各ラウンドで、スコアが高くパフォーマンスに明らかな変動がないノードから検証ノードが選択されると同時に、トレーニングの各ラウンドで、前のラウンドの検証ノードが前のラウンドの検証ノードを認識しなくなります。次のラウンドでは、検証ノード間の結託を避けるため、検証ノードの信頼性が向上します。

結論

このペーパーでは、ブロックチェーン ベースのフェデレーテッド ラーニング フレームワークにおけるデータとモデルのセキュリティに焦点を当て、次の 2 つの主要な課題に取り組みます: (1) ブロックチェーン ベースのフェデレーテッド ラーニング アーキテクチャでポイズニング攻撃と推論攻撃の保護のバランスをとる方法、(2) )参加している各ノードの信頼性を測定して、アーキテクチャのセキュリティを向上させます。これらの課題に対処するために、Federated Learning Security and Privacy Preservation のためのブロックチェーンベースのフレームワーク (BFLSP) が提案されています。このフレームワークでは、グローバル モデルと各ノードのパフォーマンス スコアのみがブロックチェーンに保存され、モデルのトレーニング中の中間勾配は少数のノードのみが利用できます。これにより、推論攻撃のリスクを軽減しながら、中間勾配の検証が可能になります。ノード スコア メカニズムとノード選択メカニズムは、ノードの信頼性を向上させ、ノード間の共謀を回避するように設計されています。最後に、フレームワークの下でトレーニングされたグローバル モデルの精度を検証するために実験が設計され、フレームワークのセキュリティを検証するためにポイズニング攻撃と推論攻撃用に悪意のあるノードが追加されます。実験結果は、このフレームワークがポイズニング攻撃に抵抗し、モデルの精度を確保しながら、元のデータのセキュリティに対する推論攻撃の被害を軽減できることを示しています。

おすすめ

転載: blog.csdn.net/WuwuwuH_/article/details/132017719