《NTP-VFL - A New Scheme for Non-3rd Party Vertical Federated Learning》模型原理

一、概要

目前现存算法的三个局限性:

  1. 理论上的可信三方现实不存在,通常是联邦学习的主要瓶颈。
  2. 通信和计算成本随着迭代次数的提升,增长很快。
  3. 扩展性不好,隐私保护的最优模型在两方和多方中不兼容。

本文提出一个没有第三方的联邦学习LR算法,使用同态加密计算,该算法允许多方模型训练,并保证数据隐私。使用泰勒展开式作为梯度的近似形式和使用最小批量SGD更新参数训练模型。

二、模型详情

1、推导逻辑回归模型:
P ( y = 1 ∣ X ) = 1 1 + e − w T x P(y=1|X)=\frac{1}{1+e^{-w^Tx}} P(y=1∣X)=1+ewTx1
通过将y标转换成{-1,1},可以得到似然函数如下:
L ( w ) = ∏ i = 1 m ( 1 1 + e − y i w T x ) L(w)=\prod_{i=1}^m(\frac{1}{1+e^{-y_iw^Tx}}) L(w)=i=1m(1+eyiwTx1)
取对数,得到log损失函数:
J ( w ) = − 1 m l n ( L ( w ) ) = 1 m ∑ i = 1 m l n ( 1 + e − y i w T x ) J(w) = -\frac{1}{m}ln(L(w))=\frac{1}{m}\sum_{i=1}^mln(1+e^{-y_iw^Tx}) J(w)=m1ln(L(w))=m1i=1mln(1+eyiwTx)
加密后的安全loss:
J ( w ) = 1 m ∑ i = 1 m l n ( 1 + e [ [ − y i w T x ] ] ) J(w) = \frac{1}{m}\sum_{i=1}^mln(1+e^{[[-y_iw^Tx]]}) J(w)=m1i=1mln(1+e[[yiwTx]])
l n ( 1 + e − z ) ln(1+e^{-z}) ln(1+ez)进行在0处的泰勒展开:
l n ( 1 + e − z ) ≈ l n 2 − 1 2 z + 1 8 z 2 ln(1+e^{-z}) \approx ln2-\frac{1}{2}z+\frac{1}{8}z^2 ln(1+ez)ln221z+81z2
将其带入loss函数:
J ( w ) ≈ 1 m ∑ i = 1 m ( l n 2 − 1 2 y i w T x + 1 8 ( w T x ) 2 ) J(w) \approx \frac{1}{m}\sum_{i=1}^m(ln2-\frac{1}{2}y_iw^Tx+\frac{1}{8}(w^Tx)^2) J(w)m1i=1m(ln221yiwTx+81(wTx)2)
最后得到梯度:
g w j = 1 m ∑ i = 1 m ( − 1 2 y i + 1 4 ( w T x i ) ) x i j g_{w_j}=\frac{1}{m}\sum_{i=1}^m(-\frac{1}{2}y_i+\frac{1}{4}(w^Tx_i))x_i^j gwj=m1i=1m(21yi+41(wTxi))xij
加密计算公式:
g w j = 1 m ∑ i = 1 m ( [ [ − 1 2 y i + 1 4 ( w T x i ) ] ] ) x i j g_{w_j}=\frac{1}{m}\sum_{i=1}^m([[-\frac{1}{2}y_i+\frac{1}{4}(w^Tx_i)]])x_i^j gwj=m1i=1m([[21yi+41(wTxi)]])xij

2、模型训练过程
假设各方为A,Bs,C,其中Bs为可以扩展为多方的设计,A方生成密钥对,并将公钥发送给Bs和C。
各方计算本方的 [ y ] [y] [y]
image
C接收各方发送 的 [ y ] 的[y] [y],并作如下计算:
image
B接收 [ y f o r w a r d ] [y_{forward}] [yforward]计算 [ g B s + R B s ] [g_{Bs}+R_{Bs}] [gBs+RBs]发送给A。
A接收B和C发送的 [ g f o r w a r d ] , [ g w x ] ∗ , [ g B s + R B s ] , [ g C + R C ] [g_{forward}],[gwx]^*,[g_{Bs}+R_{Bs}],[g_C+R_C] [gforward],[gwx],[gBs+RBs],[gC+RC],并作如下计算:
image
g B s + R B s g_{Bs}+R_{Bs} gBs+RBs, g C + R C g_C+R_C gC+RC分别发送给B和C,然后各方更新各自的权重。
image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值