Comprensión profunda del aprendizaje federado: aprendizaje federado vertical

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:

  1. 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.
  2. 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.

aprendizaje federado vertical

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} ( yoDun)和数据集{ xi B , yi B } ( i ∈ DB ) \{x_i^B, y_i^B\}(i\in D_B){ xiB,yiB} ( yoDB) , 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:

  1. 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+ThBXiByyo)2+2yo( ∣∣ Θun2+∣∣ ΘB2 )
  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( iun+tuiByyo)2+2yo( ∣∣ Θun2+∣∣ ΘB2 )]]=[[i( iun)2+2yo∣∣ Θun2 ]]+[[i(( iByyo)2 )+2yo∣∣ ΘB2 ]]+2i([[ tuiun]] ( iByyo) )
  3. 我们令: [ [ 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( iun)2+2yo∣∣ Θun2 ]]=[[i(( iByyo)2 )+2yo∣∣ ΘB2 ]]=2i([[ tuiun]] ( iByyo))]]=[[ iun]]+[[ iByyo] ][ [ L ] ] = [ [ LA ] ] + [ [ LB ] ] + [ [ LAB ] ] [[L]]=[[L_A]]+[[L_B]]+[[L_{AB}]][[ L ]]=[[ lun]]+[[ lB]]+[[ lA B]]
  4. 计算梯度: [ [ ∂ 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]][[ Iun]] Suma[ [ LA ] ] [[L_A]][[ lun]] y enviado al proveedor de datosBBB Cálculo [ [ u IB ] ] [[u_I^B]][[ 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:

  1. CC de tercerosC envía la ID de usuario que se va a predecir al proveedor de datosAAA yBBB
  2. Proveedor de datos AAA yBBB cálculo de minutosu A u^AtuAu B u^BtuB y realice cifrado homomórfico para obtener[ [ u A ] ] [[u^A]][[ A ]]Suma[ [ u B ] ] [[u^B]][[ B ]]
  3. Proveedor de datos AAA yBBB cifrado homomórficamente[ [ u A ] ] [[u^A]][[ A ]]Suma[ [ u B ] ] [[u^B]][[ B ]]CCde tercerosC
  4. CC de tercerosC calcula el valor predicho después del cifrado homomórfico[ [ y ] ] = [ [ u A ] ] + [ [ u B ] ] [[y]]=[[u^A]]+[[u^B]][[ y ]]=[[ Un ]]+[[ 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

Supongo que te gusta

Origin blog.csdn.net/hy592070616/article/details/132699917
Recomendado
Clasificación