---
# System prepended metadata

title: 共享學習：螞蟻金服

---

# 共享學習：螞蟻金服

source:
[共享學習：螞蟻金服提出全新數據孤島解決方案](https://www.chainnews.com/zh-hant/articles/859199047711.htm)

## Background

通過數據共享的模式來「擴展」數據量、從而提升模型效果的訴求也變強烈

數據安全的重視、隱私保護法案的登場

1. Facebook's data breach in 2018, Cambridge Analytica
2. GDPR in 2018

`以前粗放式的數據共享`>`數據擁有者重新回到數據孤島的狀態`

## 如何解決數據孤島問題

1. TEE (Trusted Execution Environment)
2. MPC (Multi-party Computation)

## TEE (Trusted Execution Environment)

use as thired part hardware

similar as intel's SGX ,AMD's SEV and ARM's Trust Zone
TEE 字面意思是可信執行環境，核心概念爲以第三方硬件爲載體，數據在由硬件創建的可信執行環境中進行共享。這方面以 Intel 的 SGX 技術，AMD 的 SEV 技術，ARM 的 Trust Zone 技術等爲代表。TEE 方案的大致原理如下圖所示

![](https://i.imgur.com/Oe7mfp6.png)

SGX （Software Guard Extensions）是 Intel 提供的一套軟件保護方案。SGX 通過提供一系列 CPU 指令碼，允許用戶代碼創建具有高訪問權限的私有內存區域（Enclave），包括 OS，VMM，BIOS，SMM 均無法私自訪問 Enclave，Enclave 中的數據只有在 CPU 計算時，通過 CPU 上的硬件進行解密。同時，Intel 還提供了一套遠程認證機制（Remote Attestation），通過這套機制，用戶可以在遠程確認跑在 Enclave 中的代碼是否符合預期。

MPC （Multi-party Computation，多方安全計算）一直是學術界比較火的話題，但在工業界的存在感較弱，之前都是一些創業小公司在這個方向上有一些探索，例如 Sharemind，Privitar，直到谷歌提出了基於 MPC 的在個人終端設備的「聯邦學習」(Federated Learning）的概念，使得 MPC 技術一夜之間在工業界火了起來。MPC 方案的大致原理如下圖所示：

![](https://i.imgur.com/IE4kxPt.png)

在 MPC 領域，主要用到的是技術是混淆電路（Garbled Circuit）、祕密分享（Secret Sharing）和同態加密（Homomorphic Encryption）。

[Garbled Circuit](https://zhuanlan.zhihu.com/p/41172002)
[Differential Privacy](https://towardsdatascience.com/understanding-differential-privacy-85ce191e198a)

**祕密分享** 的基本原理是將每個數字隨機拆散成多個數並分發到多個參與方那裏。然後每個參與方拿到的都是原始數據的一部分，一個或少數幾個參與方無法還原出原始數據，只有大家把各自的數據湊在一起時才能還原真實數據。

**同態加密** 是一種特殊的加密方法，允許對密文進行處理得到仍然是加密的結果，即對密文直接進行處理，跟對明文進行處理後再對處理結果加密，得到的結果相同。同態性來自抽象代數領域的概念，同態加密則是它的一個應用。

## 共享機器學習： 螞蟻金服

螞蟻金服結合了 TEE 與 MPC 兩條路線，聚焦於在金融行業的應用

### 基於 TEE 的共享學習

底層使用 Intel 的 SGX 技術，兼容其它 TEE 實現

## 共享學習 VS. 聯邦學習

第一種聯邦學習，旨在解決雲 + 端的訓練過程中，端上的隱私不要被暴露的問題，是一個 To C + 數據水平切分的場景。除了保護端上的數據隱私外，其重點還在於如何解決訓練過程中，端自身可能掉線等問題。

第二種聯邦學習則主要用於解決 To B 場景中各方隱私不泄露的問題，即可以應用於數據的水平切分場景，也可以應用於數據垂直切分的場景。

![](https://i.imgur.com/OqGIG9i.png)

**聯邦學習只解決數據不出域的情況**，這就限制了其可以使用的技術（只有嚴格的 MPC 算法才符合這個要求），而共享學習目前基於 TEE 的集中式共享學習技術，是聯邦學習沒有涉及的；

聯邦學習講究的是參與各方的「身份和地位」的相同，所以叫聯邦；而共享學習則不強調各共享方的地位對等，在很多場景下，不同的參與方是擁有不同的角色的。



