Catálogo de categorías: Catálogo general "Comprensión profunda del aprendizaje federado"
Supongamos que el proveedor de datos para el aprendizaje federado es AAA yBBB , el tercero esCCC , entonces los pasos del aprendizaje federado vertical son los siguientes:
- La alineación de muestras cifradas se realiza a nivel del sistema y los usuarios que no se cruzan no quedarán expuestos a nivel de percepción empresarial.
- Alinee muestras para el entrenamiento de cifrado de modelos:
- CC por terceroC aAAA yBBB envía la clave pública para cifrar los datos que deben transmitirse;
- Automóvil club británicoA yBBB calcula respectivamente los resultados intermedios de las características relacionadas con él mismo y cifra la interacción.
- Automóvil club británicoA yBBB calcula sus respectivos gradientes cifrados, agrega máscaras y las envía aCC.C , mientras posee el lado estándar de la clase, calcula la pérdida cifrada y envíala aCCC
- CCC descifra el gradiente y la pérdida y se los devuelve aAAA yBBB
- Automóvil club británicoA yBBB quitar la máscara y actualizar el modelo.
Tomamos la regresión de crestas como ejemplo para ilustrar el proceso de formación del aprendizaje federado longitudinal. Supongamos que hay un conjunto de datos { xi A } ( i ∈ DA ) \{x_i^A\}(i\in D_A){ xiun} ( yo∈Dun)和数据集{ xi B , yi B } ( i ∈ DB ) \{x_i^B, y_i^B\}(i\in D_B){ xiB,yiB} ( yo∈DB) , dondeBBB es el propietario de los datos con la etiqueta de clase. Tomamos la regresión lineal como ejemplo para ilustrar el proceso de capacitación del aprendizaje federado vertical:
- Automóvil club británicoA yBBB inicializa los parámetros del modeloΘ A \Theta_AThun和Θ B \Theta_BThBPor ejemplo: min Θ A , Θ B ∑ i ( Θ A xi A + Θ B xi B − yi ) 2 + λ 2 ( ∣ ∣ Θ A ∣ ∣ 2 + ∣ ∣ Θ B ∣ ∣ 2 ) \ min_{\ Theta_A, \Theta_B}\sum_i(\Theta_Ax_i^A+\Theta_Bx_i^B-y_i)^2+\frac{\lambda}{2}(||\Theta_A||^2+||\Theta_B|| ^2)Thun, ThBmini∑( _unXiun+ThBXiB−yyo)2+2yo( ∣∣ Θun∣ ∣2+∣∣ ΘB∣ ∣2 )
- 令ui A = Θ A xi A u_i^A=\Theta_Ax_i^Atuiun=ThunXiunsumaui B = Θ B xi B u_i^B=\Theta_Bx_i^BtuiB=ThBXiB, entonces la función objetivo original está cifrada homomórficamente ( [ [ ⋅ ] ] [[\cdot]][[ ⋅ ]]表示同态加密)可表示为: [ [ L ] ] = [ [ ∑ i ( ui A + ui B − yi ) 2 + λ 2 ( ∣ ∣ Θ A ∣ ∣ 2 + ∣ ∣ Θ B ∣ ∣ 2 ) ] ] = [ [ ∑ i ( ui A ) 2 + λ 2 ∣ ∣ Θ A ∣ ∣ 2 ] ] ] + [ [ ∑ i ( ( ui B − yi ) 2 ) + λ 2 ∣ ∣ Θ B ∣ ∣ 2 ] ] + 2 ∑ i ( [ [ ui A ] ] ( ui B − yi ) ) \begin{aligned}[[L]] &= [[\sum_i(u_i^A+u_i^B-y_i)^ 2+\frac{\lambda}{2}(||\Theta_A||^2+||\Theta_B||^2)]]\\&=[[\sum_i(u_i^A)^2+\frac {\lambda}{2}||\Theta_A||^2]]+[[\sum_i((u_i^B-y_i)^2)+\frac{\lambda}{2}||\Theta_B||^ 2]]+2\sum_i([[u_i^A]](u_i^B-y_i))\end{alineado}[[ L ]]=[[i∑( túiun+tuiB−yyo)2+2yo( ∣∣ Θun∣ ∣2+∣∣ ΘB∣ ∣2 )]]=[[i∑( túiun)2+2yo∣∣ Θun∣ ∣2 ]]+[[i∑(( túiB−yyo)2 )+2yo∣∣ ΘB∣ ∣2 ]]+2i∑([[ tuiun]] ( túiB−yyo) )
- 我们令: [ [ LA ] ] = [ [ ∑ i ( ui A ) 2 + λ 2 ∣ ∣ Θ A ∣ ∣ 2 ] ] [ [ LB ] ] = [ [ ∑ i ( ( ui B − yi ) 2 ) + λ 2 ∣ ∣ Θ B ∣ ∣ 2 ] ] [ [ LAB = 2 ∑ i ( [ [ ui A ] ] ( ui B − yi ) ) ] ] [ [ di ] ] = [ [ ui A ] ] + [ [ ui B − yi ] ] \begin{aligned}[[L_A]]&=[[\sum_i(u_i^A)^2+\frac{\lambda}{2}||\Theta_A||^2]] \\ [[L_B]]&=[[\sum_i((u_i^B-y_i)^2)+\frac{\lambda}{2}||\Theta_B||^2]] \\ [[L_{AB} &=2\sum_i([[u_i^A]](u_i^B-y_i))]] \\ [[d_i]]&=[[u_i^A]]+[[u_i^B-y_i]]\ fin {alineado}[[ lun]][[ lB]][[ lA B[[ reyo] ]=[[i∑( túiun)2+2yo∣∣ Θun∣ ∣2 ]]=[[i∑(( túiB−yyo)2 )+2yo∣∣ ΘB∣ ∣2 ]]=2i∑([[ tuiun]] ( túiB−yyo))]]=[[ túiun]]+[[ túiB−yyo] ]则[ [ L ] ] = [ [ LA ] ] + [ [ LB ] ] + [ [ LAB ] ] [[L]]=[[L_A]]+[[L_B]]+[[L_{AB}]][[ L ]]=[[ lun]]+[[ lB]]+[[ lA B]]
- 计算梯度: [ [ ∂ L ∂ Θ A ] ] = ∑ i [ [ di ] ] xi A + [ [ λ Θ A ] ] [ [ ∂ L ∂ Θ B ] ] = ∑ i [ [ di ] ] xi B + [ [ λ Θ B ] ] \begin{aligned}[[\frac{\partial L}{\partial\Theta_A}]]&=\sum_i[[d_i]]x_i^A+[[\lambda\Theta_A]]\ \ [[\frac{\partial L}{\partial\Theta_B}]]&=\sum_i[[d_i]]x_i^B+[[\lambda\Theta_B]]\end{aligned}[[∂Θ _un∂L _]][[∂Θ _B∂L _] ]=i∑[[ reyo]] xiun+[[ λ Thun]]=i∑[[ reyo]] xiB+[[ λ ThB] ]
El proveedor de datos es AA.A yBBB y el tercero sonCCC. Los pasos de formación del aprendizaje federado vertical son los siguientes:
\qquad\quad | El proveedor de datos es AA.A | El proveedor de datos es BB.B | El tercero es CC.C |
---|---|---|---|
Paso 1 11 | Parámetro de inicialización Θ A \Theta_AThun | Parámetro de inicialización Θ B \Theta_BThB | Cree un par de claves de cifrado y envíe la clave pública al proveedor de datos como AAA yBBB |
Paso 2 22 | Cálculo [ [ u IA ] ] [[u_I^A]][[ túIun]] Suma[ [ LA ] ] [[L_A]][[ lun]] y enviado al proveedor de datosBBB | Cálculo [ [ u IB ] ] [[u_I^B]][[ túIB]]、[ [ di ] ] [[d_i]][[ reyo]] y[ [ L ] ] [[L]][[ L ]] y[ [ di ] ] [[d_i]][[ reyo]] Enviado al proveedor de datosAAA ,[[L]][[L]][[ L ]] Enviar a CCde tercerosC | |
Paso 3 33 | Máscara de inicialización RA R_ARun,计算[ [ ∂ L ∂ Θ A ] ] + [ [ RA ] ] [[\frac{\partial L}{\partial\Theta_A}]]+[[R_A]][[∂Θ _un∂L _]]+[[ Run]] y enviarlo alCCC | Máscara de inicialización RB R_BRB,计算[ [ ∂ L ∂ Θ B ] ] + [ [ RB ] ] [[\frac{\partial L}{\partial\Theta_B}]]+[[R_B]][[∂Θ _B∂L _]]+[[ RB]] y enviarlo alCCC | Descifrar LLL并发送∂ L ∂ Θ A + RA \frac{\partial L}{\partial\Theta_A} + R_A∂Θ _un∂L _+RunAl proveedor de datos AAA,发送∂ L ∂ Θ B + RA \frac{\partial L}{\partial\Theta_B} + R_A∂Θ _B∂L _+RunAl proveedor de datos BBB |
Paso 4 44 | Actualizar parámetros Θ A \Theta_AThun | Actualizar parámetros Θ B \Theta_BThB |
Durante todo el proceso, los participantes no conocen los datos y características de la otra parte, y después del entrenamiento, los participantes solo obtienen los parámetros del modelo de su propio lado, es decir, el medio modelo. Dado que cada participante solo puede obtener los parámetros del modelo relacionados con él mismo, la predicción requiere la colaboración entre ambas partes:
- CC de tercerosC envía la ID de usuario que se va a predecir al proveedor de datosAAA yBBB
- Proveedor de datos AAA yBBB cálculo de minutosu A u^AtuA和u B u^BtuB y realice cifrado homomórfico para obtener[ [ u A ] ] [[u^A]][[ túA ]]Suma[ [ u B ] ] [[u^B]][[ túB ]]
- Proveedor de datos AAA yBBB cifrado homomórficamente[ [ u A ] ] [[u^A]][[ túA ]]Suma[ [ u B ] ] [[u^B]][[ túB ]]CCde tercerosC
- CC de tercerosC calcula el valor predicho después del cifrado homomórfico[ [ y ] ] = [ [ u A ] ] + [ [ u B ] ] [[y]]=[[u^A]]+[[u^B]][[ y ]]=[[ túUn ]]+[[ túB ]]y luego descifre para obtener el valor previstoyyy
Referencias:
[1] Yang Qiang, Liu Yang, Cheng Yong, Kang Yan, Chen Tianjian, Yu Han. Federated Learning [M]. Electronic Industry Press, 2020 [2] WeBank, FedAI. Federated Learning White Paper V2.0.
Tencent Instituto de Investigación, etc., 2021