Aprendizaje federado FedAvg: aprendizaje de comunicación eficiente basado en datos descentralizado para redes profundas

        Con la mejora de la potencia informática de las computadoras, el aprendizaje automático, como tecnología de análisis y procesamiento de datos masivos, ha servido ampliamente a la sociedad humana. Sin embargo, el desarrollo de la tecnología de aprendizaje automático enfrenta dos desafíos importantes: uno es que es difícil garantizar la seguridad de los datos y el problema de la fuga de privacidad debe resolverse con urgencia, y el otro es el aislamiento de la seguridad de la red y la privacidad de la industria. compartido de forma segura, y el rendimiento del modelo de aprendizaje automático entrenado solo en los datos independientes de cada departamento no puede lograr una optimización global. Para resolver los problemas anteriores, Google propuso tecnología de aprendizaje federado (FL, aprendizaje federado).

        Este artículo interpreta y resume principalmente el contenido clave de "Aprendizaje de redes profundas con comunicación eficiente a partir de datos descentralizados", el trabajo pionero del aprendizaje federado.

Enlace al artículo: Aprendizaje eficiente en la comunicación de redes profundas a partir de datos descentralizados

Implementación del código fuente: https://gitcode.net/mirrors/WHDY/fedavg?utm_source=csdn_github_accelerator 

Tabla de contenido

Resumen

1. Introducción

1.1 Fuente del problema

1.2 Contribución de este artículo

1.3 Características del aprendizaje federado

1.4 Optimización de la federación

1.5 Trabajo relacionado

1.6 Marco de aprendizaje federado

2. Introducción al algoritmo

2.1 Descenso del gradiente estocástico federado (FedSGD)

2.2 Algoritmo de promedio federal (FedAvg)

3. Diseño e implementación de experimentos.

3.1 Inicialización del modelo

3.2 Configuración del conjunto de datos

3.2.1 Conjunto de datos MNIST

3.2.2 Colección de Shakespeare

3.3 Optimización experimental

3.3.1 Agregar paralelismo

3.3.2 Incrementar el monto de cálculo del cliente

 3.4 Explorando la optimización excesiva de conjuntos de datos del lado del cliente

3.5 experimento CIFAR

3.6 Experimentos LSTM a gran escala

4. Resumen de perspectivas

 Resumen

Los dispositivos móviles modernos tienen una gran cantidad de datos adecuados para el aprendizaje de modelos, y los modelos entrenados en base a estos datos pueden mejorar enormemente la experiencia del usuario. Por ejemplo, el modelo de lenguaje puede mejorar la precisión del reconocimiento de voz y la eficiencia de la entrada de texto, y el modelo de imagen puede filtrar automáticamente buenas fotografías. Sin embargo, los datos enriquecidos que poseen los dispositivos móviles a menudo contienen información privada confidencial sobre los usuarios y la cantidad total de datos almacenados por múltiples dispositivos móviles es grande, por lo que no es adecuado cargar los datos de cada dispositivo móvil en el centro de datos y luego Utilice métodos tradicionales para el entrenamiento de modelos. Los autores proponen un enfoque alternativo que aprende un modelo compartido basado en datos distribuidos entre dispositivos (sin cargarlos en un centro de datos) y luego agregados a través de actualizaciones calculadas localmente. Los autores definen este enfoque descentralizado como "aprendizaje federado". Los autores proponen un enfoque práctico para la tarea de aprendizaje federado de redes profundas que promedia el modelo varias veces durante el proceso de aprendizaje. Al mismo tiempo, los autores utilizaron cinco modelos diferentes y cuatro conjuntos de datos para validar experimentalmente este método. Los resultados experimentales muestran que este método es robusto para datos desequilibrados y no IID. En este método, la sobrecarga de recursos generada por la comunicación es el principal cuello de botella, y los resultados experimentales muestran que las rondas de comunicación de este método se reducen entre 10 y 100 veces en comparación con el descenso de gradiente estocástico sincrónico.

1. Introducción

1.1 Fuente del problema

        Hay una gran cantidad de datos en los dispositivos móviles adecuados para tareas de aprendizaje automático y, aprovechar estos datos, puede a su vez mejorar la experiencia del usuario. Por ejemplo, los modelos de reconocimiento de imágenes pueden ayudar a los usuarios a elegir buenas fotografías. Sin embargo, estos datos son muy privados y tienen una gran cantidad de datos, por lo que nos resulta imposible llevarlos al servidor en la nube para una capacitación centralizada. El artículo propone un método de aprendizaje automático distribuido llamado Federal Learning (Aprendizaje federal), en este marco, el servidor envía el modelo global al cliente, el cliente usa el conjunto de datos local para el entrenamiento y carga los pesos entrenados al servidor para actualizar. El modelo mundial.

1.2 Contribución de este artículo

  • Se propone que entrenar modelos a partir de datos descentralizados almacenados en varios dispositivos móviles sea una dirección de investigación importante.
  • Se propone un algoritmo simple y práctico para resolver este problema de aprendizaje en un entorno descentralizado.
  • Se realizaron extensos experimentos para evaluar el algoritmo propuesto.

        Específicamente, este artículo presenta el algoritmo de "promedio federado", que fusiona el cálculo de descenso de gradiente estocástico local en el cliente con el promedio del modelo en el servidor. El autor ha realizado extensos experimentos con este algoritmo y los resultados muestran que este algoritmo es robusto para datos desequilibrados y no IID, y permite la comunicación necesaria para el entrenamiento profundo de la red en datos almacenados no centralmente. Las rondas se reducen en varios órdenes de magnitud.

1.3 Características del aprendizaje federado

  • El entrenamiento de modelos a partir de datos reales almacenados en múltiples dispositivos móviles es más ventajoso que el entrenamiento de modelos a partir de datos almacenados en centros de datos.
  • Debido a la privacidad de los datos y la gran cantidad de datos almacenados en múltiples dispositivos móviles, no es adecuado cargarlos en el centro de datos para el entrenamiento del modelo.
  • Para tareas de aprendizaje supervisadas, la información de la etiqueta en los datos se puede inferir de las interacciones del usuario con la aplicación.

1.4 Optimización de la federación

        El aprendizaje distribuido tradicional se centra en cómo distribuir el entrenamiento de una gran red neuronal, y los datos aún pueden almacenarse en varios centros de entrenamiento grandes. Sin embargo, el aprendizaje federado presta más atención a los datos en sí y utiliza el aprendizaje federado para garantizar que los datos no salgan del área local y mejorar el modelo de aprendizaje de acuerdo con las características de los datos. En comparación con los problemas típicos de optimización distribuida, la optimización federada tiene varias características clave:

  • No IID: Las características y distribución de los datos son diferentes entre las distintas partes.
  • Desequilibrado: algunos usuarios utilizarán más el servicio o la aplicación, lo que dará como resultado una diferencia en la cantidad de datos de entrenamiento locales.
  • Distribuido masivamente: la cantidad de usuarios que participan en la optimización >> la cantidad promedio de datos por usuario
  • Comunicación limitada: no se puede garantizar una comunicación eficiente entre el cliente y el servidor.

 Este artículo se centra en problemas no relacionados con IID y de desequilibrio en tareas de optimización, así como en la propiedad crítica de comunicación limitada.

Nota: Supuesto de distribución independiente e idéntica (IID)

        Función objetivo para una red neuronal no convexa:

Para un problema de aprendizaje automático, existe , es decir, la pérdida de instancias de predicción con parámetros del modelo w .

        Hay K clientes, los puntos de datos del k-ésimo cliente son Paquete}y el número de conjuntos de datos correspondientes es n_ {k} = \ izquierda |  P_{k}\right |La fórmula anterior se puede escribir como:

Si Paquete}el conjunto de datos anterior se muestrea de manera aleatoria y uniforme, se denomina configuración IID y en este momento:

Si no está establecido se denomina No IID. 

1.5 Trabajo relacionado

        En un trabajo relacionado, en 2010 se llevó a cabo el entrenamiento distribuido de perceptrones promediando iterativamente modelos entrenados localmente, en 2015 se estudió el entrenamiento distribuido de redes neuronales profundas para el reconocimiento de voz y en un método de artículo de 2015 se estudió el entrenamiento asincrónico utilizando promedios "suaves". Todos estos trabajos consideran la capacitación distribuida en el contexto de la centralización de datos y no consideran tareas de aprendizaje federadas con desequilibrio de datos y características no IID. Pero proporcionan una manera de resolver el problema del aprendizaje federado promediando iterativamente el algoritmo de modelos entrenados localmente. De manera similar a la motivación de la investigación de este artículo , en este artículo se analizan las ventajas de proteger la privacidad de los datos del usuario en los dispositivos . En este artículo, los autores se centran en entrenar redes profundas, enfatizando la importancia de la privacidad y reduciendo los gastos generales de comunicación al compartir solo una parte de los parámetros en cada ronda de comunicación; sin embargo , tampoco consideran el desequilibrio de datos y la distribución no independiente, y su trabajo de investigación carece de evaluación experimental.

1.6 Marco de aprendizaje federado

2 Introducción al algoritmo

2.1 Descenso del gradiente estocástico federado (FedSGD)

Establezca una tasa de aprendizaje fija η y calcule el gradiente de pérdida para los datos de K clientes:

El servidor central agrega los gradientes calculados por cada cliente para actualizar los parámetros del modelo:

en,

2.2 Algoritmo de promedio federal (FedAvg)

Actualice el modelo local en el lado del cliente:

El servidor central realiza una media ponderada de los parámetros actualizados de cada cliente:

Cada cliente puede actualizar de forma independiente los parámetros del modelo varias veces y luego enviar los parámetros actualizados al servidor central para obtener un promedio ponderado:

El importe del cálculo de FedAvg está relacionado con tres parámetros:

  • C: La proporción de clientes seleccionados para cada ronda de capacitación.
  • E: Un factor diseñado para el número de ciclos para actualizar los parámetros de cada cliente.
  • B: Cuando el cliente actualiza los parámetros, la cantidad de datos utilizados para cada descenso de gradiente

Para un n_ {k}cliente con muestras de datos, la cantidad de actualizaciones de parámetros locales por ronda es:

Nota: FedSGD es solo un caso especial de FedAvg, es decir, cuando los parámetros E=1, B=∞, FedAvg es equivalente a FedSGD.
 
Diagrama esquemático de la relación entre FedSGD y FedAvg:

3 Diseño e implementación de experimentos.

3.1 Inicialización del modelo

configuración del experimento
  • Conjunto de datos: 600 muestras independientes e idénticamente distribuidas sin repetición en MNIST
  • E=20; C=1; B=50; El servidor central se agrega una vez
  • Diferentes modelos utilizan diferentes/mismos modelos de inicialización, y los parámetros de los dos modelos se ponderan y suman por θ
       

Estudie el efecto del promedio del modelo en el rendimiento del modelo:

        Aquí hay dos casos, uno es que diferentes modelos usan diferentes modelos de inicialización; el otro es que diferentes modelos usan el mismo modelo de inicialización. Y la suma ponderada del modelo se puede realizar controlando la relación de peso a través de parámetros.

        Se puede ver que después de usar diferentes parámetros de inicialización para el promedio del modelo, el efecto del modelo promedio empeora y el rendimiento del modelo es peor que el de los dos modelos principales; después de usar los mismos parámetros de inicialización para el promedio del modelo, el promedio de el modelo se puede reducir significativamente. En cuanto a la pérdida de todo el conjunto de entrenamiento, el modelo supera a los dos modelos principales.

        Esta conclusión es un apoyo importante para realizar el aprendizaje federado. Durante cada ronda de capacitación, el servidor libera el modelo global para que cada cliente use el mismo modelo de parámetros para la capacitación, lo que puede reducir efectivamente la pérdida del conjunto de capacitación.

3.2 Configuración del conjunto de datos

        La investigación preliminar incluye dos conjuntos de datos y tres familias de modelos: los dos primeros modelos se utilizan para reconocer el conjunto de datos MNIST y el último se utiliza para realizar la predicción de palabras de las obras de Shakespeare.

3.2.1 Conjunto de datos MNIST

2NN: modelo de perceptrón multicapa con dos capas ocultas, 200 neuronas en cada capa, activación ReLu;

CNN: dos capas convolucionales con un tamaño de núcleo de convolución de 5X5 (32 canales y 64 canales respectivamente, cada capa va seguida de una capa de agrupación máxima de 2X2);

IDD: los datos se mezclan aleatoriamente y se distribuyen a 100 clientes, cada uno con 600 muestras;

Sin IDD: divida el conjunto de datos en 200 fragmentos de tamaño 300 por etiqueta numérica, dos fragmentos por cliente;

  • 3.2.2 Colección de Shakespeare

LSTM: incruste los caracteres de entrada en un espacio aprendido de 8 dimensiones, luego procese los caracteres incrustados a través de dos capas LSTM, cada una con 256 nodos, y finalmente, la salida de la segunda capa LSTM se envía a cada carácter con una capa de salida softmax. del nodo se entrena utilizando la longitud de 80 caracteres de desenrollado;

Desequilibrado-No IID: cada rol forma un cliente, un total de 1146 clientes;

Balanced-IID: divida el conjunto de datos directamente en 1146 clientes;

3.3 Optimización experimental

        En la optimización del almacenamiento del centro de datos, la sobrecarga de comunicación es relativamente pequeña y domina la sobrecarga computacional. En la optimización federada, cualquier dispositivo tiene una pequeña cantidad de datos y los dispositivos móviles modernos tienen procesadores relativamente rápidos , por lo que aquí se presta más atención a la sobrecarga de comunicación . Por lo tanto, queremos utilizar el cálculo adicional para reducir la cantidad de rondas de comunicación necesarias para entrenar el modelo . Hay dos métodos principales, que son aumentar el grado de paralelismo y aumentar la cantidad de cálculo de cada cliente.

3.3.1 Agregar paralelismo

El parámetro E es fijo y se analizan C y B.

  •  Cuando B = ∞, al aumentar la proporción de clientes, la ventaja de la mejora del efecto es pequeña;
  • Cuando B=10, hay una mejora significativa, especialmente en el caso de No-IID;
  • En B = 10, cuando C≥0.1, la velocidad de convergencia mejora significativamente, y cuando el número de usuarios alcanza un cierto número, el aumento de la velocidad de convergencia ya no es obvio.

3.3.2 Incrementar el monto de cálculo del cliente

Para aumentar el monto de cálculo de cada cliente, se puede realizar reduciendo B o aumentando E.

  • Agregar más actualizaciones locales de SGD por ronda puede reducir significativamente los costos de comunicación;
  • Para los datos de Shakespeare de Unbalanced-Non-IDD, el número de rondas de comunicación se reduce en más múltiplos. Se especula que algunos clientes pueden tener conjuntos de datos locales relativamente grandes, lo que hace que sea más valioso aumentar la capacitación local;

 Los resultados experimentales anteriores se muestran en forma de gráfico de líneas, donde la línea azul representa el resultado del descenso del gradiente estocástico federado:

  • En comparación con FedSGD, FedAvg no solo reduce el número de rondas de comunicación, sino que también tiene una mayor precisión de las pruebas. Se especula que el modelo promedio produce un efecto de regularización similar al abandono; 

 3.4  Explorando la optimización excesiva de conjuntos de datos del lado del cliente

        Bajo las configuraciones de E=5 y E=25, para una gran cantidad de actualizaciones locales, la pérdida de entrenamiento del promedio de la federación se estancará o divergirá; por lo tanto, en aplicaciones prácticas, para algunos modelos, reducir el ciclo de entrenamiento local en las últimas etapas etapa de formación tendrá una ayuda para converger. 

3.5 experimento CIFAR

Experimente con el conjunto de datos CTFAR. El modelo es el modelo del tutorial de TensorFlow, que incluye dos capas convolucionales, dos capas completamente conectadas y una capa de transmisión lineal, aproximadamente 10 ^ 6 parámetros. La siguiente tabla muestra el número de rondas de comunicación para baselineSGD, FedSGD y FedAvg para lograr tres objetivos de precisión diferentes.

Curvas de FedSGD y FedAvg a diferentes tasas de aprendizaje:

3.6 Experimentos LSTM a gran escala

 Para demostrar la eficacia de nuestro método para resolver problemas prácticos, llevamos a cabo una tarea de predicción de palabras a gran escala.

El conjunto de formación contiene 1 millón de publicaciones públicas de grandes redes sociales. Agrupamos publicaciones por autor, con un total de más de 50 clientes. Limitamos el conjunto de datos de cada cliente a un máximo de 5000 palabras. El modelo es un LSTM de 256 nodos con un vocabulario de 10.000 palabras. Las incrustaciones de entrada y salida para cada palabra son de 192 dimensiones y están entrenadas conjuntamente con el modelo; hay 4.950.544 parámetros en total, utilizando un desenrollado de 10 caracteres.

Curvas de tasa de aprendizaje óptimas para el promedio federado y el descenso de gradiente estocástico federado:

  • En el caso de la misma tasa de precisión, FedAvg tiene menos rondas de comunicación, la variación de la precisión de la prueba es menor;
  • E=1 funciona mejor que E=5; 

4 Resumen de perspectivas

         Nuestros experimentos muestran que el aprendizaje federado se puede lograr en la práctica, ya que puede entrenar modelos de alta calidad utilizando relativamente pocas rondas de comunicación, como se demuestra en varias arquitecturas de modelos: un perceptrón multicapa, dos NN convolucionales diferentes, un LSTM de dos capas y un LSTM a gran escala. Si bien el aprendizaje federado proporciona muchas protecciones prácticas de la privacidad, se pueden proporcionar garantías más sólidas a través de la privacidad diferencial, la computación multipartita segura o una combinación de ellas, lo que constituye una dirección interesante para el trabajo futuro. Tenga en cuenta que estas dos clases de técnicas se aplican de forma más natural a algoritmos de sincronización como FedAvg.

Artículo de referencia:

https://blog.csdn.net/qq_41605740/article/details/124584939?spm=1001.2014.3001.5506

https://blog.csdn.net/weixin_45662974/article/details/119464191?spm=1001.2014.3001.5506 

https://zhuanlan.zhihu.com/p/515756280 

Supongo que te gusta

Origin blog.csdn.net/SmartLab307/article/details/132583309
Recomendado
Clasificación