Aprendizaje federado - Federated learning

El aprendizaje federado (también conocido como aprendizaje colaborativo ) es una técnica de aprendizaje automático que entrena un algoritmo en múltiples dispositivos periféricos descentralizados o servidores que contienen muestras de datos locales , sin intercambiarlos. Este enfoque contrasta con las técnicas tradicionales de aprendizaje automático centralizado donde todos los conjuntos de datos locales se cargan en un servidor , así como con los enfoques descentralizados más clásicos que a menudo asumen que las muestras de datos locales se distribuyen de manera idéntica .

El aprendizaje federado permite que múltiples actores construyan un modelo de aprendizaje automático robusto y común sin compartir datos, lo que permite abordar problemas críticos como la privacidad de los datos, la seguridad de los datos, los derechos de acceso a los datos y el acceso a datos heterogéneos. Sus aplicaciones se distribuyen en una serie de industrias que incluyen defensa, telecomunicaciones, IoT y farmacéutica.

Definición

El aprendizaje federado tiene como objetivo entrenar un algoritmo de aprendizaje automático, por ejemplo , redes neuronales profundas , en múltiples conjuntos de datos locales contenidos en nodos locales sin intercambiar explícitamente muestras de datos. El principio general consiste en entrenar modelos locales en muestras de datos locales e intercambiar parámetros (por ejemplo, los pesos y sesgos de una red neuronal profunda) entre estos nodos locales con cierta frecuencia para generar un modelo global compartido por todos los nodos.

La principal diferencia entre el aprendizaje federado y el aprendizaje distribuido radica en las suposiciones hechas sobre las propiedades de los conjuntos de datos locales, ya que el aprendizaje distribuido originalmente apunta a paralelizar el poder de computación donde el aprendizaje federado originalmente apunta a la formación en conjuntos de datos heterogéneos . Si bien el aprendizaje distribuido también tiene como objetivo entrenar un solo modelo en múltiples servidores, una suposición subyacente común es que los conjuntos de datos locales están distribuidos de manera idéntica (iid) y tienen aproximadamente el mismo tamaño. Ninguna de estas hipótesis está hecha para el aprendizaje federado; en cambio, los conjuntos de datos suelen ser heterogéneos y sus tamaños pueden abarcar varios órdenes de magnitud. Además, los clientes involucrados en el aprendizaje federado pueden no ser confiables, ya que están sujetos a más fallas o abandonos, ya que comúnmente dependen de medios de comunicación menos potentes (es decir, Wi-Fi ) y sistemas que funcionan con baterías (es decir, teléfonos inteligentes y dispositivos IoT) en comparación con aprendizaje distribuido donde los nodos son típicamente centros de datos que tienen poderosas capacidades computacionales y están conectados entre sí con redes rápidas.

Aprendizaje federado centralizado

En el entorno de aprendizaje federado centralizado, se utiliza un servidor central para orquestar los diferentes pasos de los algoritmos y coordinar todos los nodos participantes durante el proceso de aprendizaje. El servidor es responsable de la selección de nodos al comienzo del proceso de entrenamiento y de la agregación de las actualizaciones del modelo recibidas. Dado que todos los nodos seleccionados tienen que enviar actualizaciones a una sola entidad, el servidor puede convertirse en un cuello de botella del sistema.

Aprendizaje federado descentralizado

En el entorno de aprendizaje federado descentralizado, los nodos pueden coordinarse para obtener el modelo global. Esta configuración evita fallas de un solo punto ya que las actualizaciones del modelo se intercambian solo entre nodos interconectados sin la orquestación del servidor central. Sin embargo, la topología de red específica puede afectar el desempeño del proceso de aprendizaje. Consulte el aprendizaje federado basado en blockchain y sus referencias.

Aprendizaje federado heterogéneo

Un número cada vez mayor de dominios de aplicaciones implica un gran conjunto de clientes heterogéneos, por ejemplo, teléfonos móviles y dispositivos IoT. La mayoría de las estrategias de aprendizaje federado existentes asumen que los modelos locales comparten la misma arquitectura de modelo global. Recientemente, se desarrolló un nuevo marco de aprendizaje federado llamado HeteroFL para abordar clientes heterogéneos equipados con capacidades de comunicación y computación muy diferentes. La técnica HeteroFL puede permitir el entrenamiento de modelos locales heterogéneos con complejidades de computación que varían dinámicamente y al mismo tiempo producir un único modelo de inferencia global.

Proceso general de aprendizaje federado en la configuración del orquestador central
Proceso general de aprendizaje federado en la configuración del orquestador central

Principales características

Aprendizaje iterativo

Para garantizar un buen desempeño de las tareas de un modelo de aprendizaje automático central y final, el aprendizaje federado se basa en un proceso iterativo dividido en un conjunto atómico de interacciones cliente-servidor conocido como ronda de aprendizaje federado. Cada ronda de este proceso consiste en transmitir el estado del modelo global actual a los nodos participantes, entrenar modelos locales en estos nodos locales para producir un conjunto de posibles actualizaciones del modelo en cada nodo, y luego agregar y procesar estas actualizaciones locales en una única actualización global y aplicándolo al modelo global.

En la siguiente metodología, se utiliza un servidor central para la agregación, mientras que los nodos locales realizan entrenamiento local según las órdenes del servidor central. Sin embargo, otras estrategias conducen a los mismos resultados sin servidores centrales, en un enfoque peer-to-peer , utilizando metodologías de chismes o consenso .

Suponiendo una ronda federada compuesta por una iteración del proceso de aprendizaje, el procedimiento de aprendizaje se puede resumir de la siguiente manera:

  1. Inicialización : de acuerdo con las entradas del servidor, se elige un modelo de aprendizaje automático (por ejemplo, regresión lineal , red neuronal, refuerzo ) para entrenarlo en los nodos locales e inicializarlo. Luego, los nodos se activan y esperan a que el servidor central dé las tareas de cálculo.
  2. Selección de cliente : se selecciona una fracción de los nodos locales para comenzar a entrenar con datos locales. Los nodos seleccionados adquieren el modelo estadístico actual mientras que los demás esperan la próxima ronda federada.
  3. Configuración : el servidor central ordena a los nodos seleccionados que se sometan a entrenamiento del modelo en sus datos locales de una manera preespecificada (por ejemplo, para algunas actualizaciones de mini lotes de descenso de gradiente ).
  4. Informes : cada nodo seleccionado envía su modelo local al servidor para su agregación. El servidor central agrega los modelos recibidos y envía las actualizaciones del modelo a los nodos. También maneja fallas para nodos desconectados o actualizaciones de modelos perdidas. La siguiente ronda federada comienza volviendo a la fase de selección de clientes.
  5. Terminación : una vez que se cumple un criterio de terminación predefinido (por ejemplo, se alcanza un número máximo de iteraciones o la precisión del modelo es mayor que un umbral), el servidor central agrega las actualizaciones y finaliza el modelo global.

El procedimiento considerado antes asume actualizaciones de modelo sincronizadas. Los desarrollos recientes del aprendizaje federado introdujeron técnicas novedosas para abordar la asincronicidad durante el proceso de capacitación o la capacitación con modelos que varían dinámicamente. En comparación con los enfoques síncronos en los que los modelos locales se intercambian una vez que se han realizado los cálculos para todas las capas de la red neuronal, los asincrónicos aprovechan las propiedades de las redes neuronales para intercambiar actualizaciones de modelos tan pronto como los cálculos de una determinada capa están disponibles. Estas técnicas también se denominan comúnmente aprendizaje dividido y se pueden aplicar tanto en el momento de la formación como en el momento de la inferencia, independientemente de los entornos de aprendizaje federado centralizado o descentralizado.

Datos no iid

En la mayoría de los casos, la suposición de muestras independientes e idénticamente distribuidas en los nodos locales no es válida para las configuraciones de aprendizaje federado. Bajo esta configuración, el rendimiento del proceso de entrenamiento puede variar significativamente según el desequilibrio de las muestras de datos locales, así como la distribución de probabilidad particular de los ejemplos de entrenamiento (es decir, características y etiquetas ) almacenados en los nodos locales. Para investigar más a fondo los efectos de los datos no iid, la siguiente descripción considera las categorías principales presentadas en el por Peter Kairouz et al. en 2019.

La descripción de datos no iid se basa en el análisis de la probabilidad conjunta entre características y etiquetas para cada nodo. Esto permite desacoplar cada contribución de acuerdo con la distribución específica disponible en los nodos locales. Las principales categorías de datos no iid se pueden resumir de la siguiente manera:

  • Cambio de covarianza : los nodos locales pueden almacenar ejemplos que tienen distribuciones estadísticas diferentes en comparación con otros nodos. Un ejemplo ocurre en conjuntos de datos de procesamiento de lenguaje natural donde las personas suelen escribir los mismos dígitos / letras con diferentes anchos o inclinaciones de trazos.
  • Cambio de probabilidad previo : los nodos locales pueden almacenar etiquetas que tienen distribuciones estadísticas diferentes en comparación con otros nodos. Esto puede suceder si los conjuntos de datos tienen particiones regionales y / o demográficas. Por ejemplo, los conjuntos de datos que contienen imágenes de animales varían significativamente de un país a otro.
  • Deriva del concepto ( misma etiqueta, características diferentes ): los nodos locales pueden compartir las mismas etiquetas, pero algunas de ellas corresponden a características diferentes en diferentes nodos locales. Por ejemplo, las imágenes que representan un objeto en particular pueden variar según las condiciones climáticas en las que fueron capturadas.
  • Cambio de concepto ( mismas características, diferentes etiquetas ): los nodos locales pueden compartir las mismas características, pero algunas de ellas corresponden a diferentes etiquetas en diferentes nodos locales. Por ejemplo, en el procesamiento del lenguaje natural, el análisis de sentimientos puede producir diferentes sentimientos incluso si se observa el mismo texto.
  • Desequilibrio : la cantidad de datos disponibles en los nodos locales puede variar significativamente en tamaño.

La pérdida de precisión debida a datos que no son iid se puede limitar mediante el uso de medios más sofisticados para realizar la normalización de datos, en lugar de la normalización por lotes.

Hiperparámetros algorítmicos

Topología de la red

La forma en que se agrupan las salidas locales estadísticas y la forma en que los nodos se comunican entre sí puede cambiar con respecto al modelo centralizado explicado en la sección anterior. Esto conduce a una variedad de enfoques de aprendizaje federado: por ejemplo, sin servidor de orquestación central o comunicación estocástica.

En particular, las redes distribuidas sin orquestadores son una variación importante. En este caso, no hay un servidor central que envíe consultas a los nodos locales y agregue modelos locales. Cada nodo local envía sus resultados a varios otros seleccionados al azar, que agregan sus resultados localmente. Esto restringe el número de transacciones, lo que a veces reduce el tiempo de capacitación y los costos de computación.

Parámetros de aprendizaje federado

Una vez elegida la topología de la red de nodos, se pueden controlar diferentes parámetros del proceso de aprendizaje federado (en oposición a los propios hiperparámetros del modelo de aprendizaje automático) para optimizar el aprendizaje:

  • Número de rondas de aprendizaje federadas:
  • Número total de nodos utilizados en el proceso:
  • Fracción de nodos utilizados en cada iteración para cada nodo:
  • Tamaño de lote local utilizado en cada iteración de aprendizaje:

También se pueden modificar otros parámetros dependientes del modelo, como:

  • Número de iteraciones para el entrenamiento local antes de la agrupación:
  • Tasa de aprendizaje local:

Esos parámetros deben optimizarse en función de las limitaciones de la aplicación de aprendizaje automático (por ejemplo, potencia informática disponible, memoria disponible, ancho de banda ). Por ejemplo, elegir estocásticamente una fracción limitada de nodos para cada iteración disminuye el costo de computación y puede prevenir el sobreajuste , de la misma manera que el descenso de gradiente estocástico puede reducir el sobreajuste.

Variaciones de aprendizaje federado

En esta sección, la exposición del artículo publicado por H. Brendan McMahan y al. en 2017 se sigue.

Para describir las estrategias federadas, introduzcamos algunas notaciones:

  •  : número total de clientes;
  •  : índice de clientes;
  • : número de muestras de datos disponibles durante la capacitación para el cliente ;
  • : vector de peso del modelo en el cliente , en la ronda federada ;
  •  : función de pérdida de pesos y lotes ;
  •  : número de actualizaciones locales;

Descenso de gradiente estocástico federado (FedSGD)

El entrenamiento de aprendizaje profundo se basa principalmente en variantes de descenso de gradiente estocástico , donde los gradientes se calculan en un subconjunto aleatorio del conjunto de datos total y luego se utilizan para dar un paso del descenso de gradiente.

El descenso de gradiente estocástico federado es la transposición directa de este algoritmo al entorno federado, pero utilizando una fracción aleatoria de los nodos y utilizando todos los datos de este nodo. El servidor promedia los gradientes proporcionalmente al número de muestras de entrenamiento en cada nodo y se usa para realizar un paso de descenso de gradiente.

Promedio federado

El promedio federado (FedAvg) es una generalización de FedSGD, que permite a los nodos locales realizar más de una actualización por lotes de datos locales e intercambia los pesos actualizados en lugar de los gradientes. El fundamento de esta generalización es que en FedSGD, si todos los nodos locales comienzan con la misma inicialización, promediar los gradientes es estrictamente equivalente a promediar los pesos mismos. Además, promediar ponderaciones ajustadas provenientes de la misma inicialización no necesariamente perjudica el desempeño del modelo promediado resultante.

Limitaciones técnicas

El aprendizaje federado requiere una comunicación frecuente entre nodos durante el proceso de aprendizaje. Por lo tanto, no solo requiere suficiente potencia de cálculo local y memoria, sino también conexiones de gran ancho de banda para poder intercambiar parámetros del modelo de aprendizaje automático. Sin embargo, la tecnología también evita la comunicación de datos, que puede requerir importantes recursos antes de iniciar el aprendizaje automático centralizado. No obstante, los dispositivos que normalmente se emplean en el aprendizaje federado tienen limitaciones de comunicación, por ejemplo, los dispositivos de IoT o los teléfonos inteligentes generalmente están conectados a redes Wi-Fi, por lo que, incluso si los modelos suelen ser menos costosos de transmitir en comparación con los datos sin procesar, los mecanismos de aprendizaje federado puede no ser adecuado en su forma general.

El aprendizaje federado plantea varios desafíos estadísticos:

  • Heterogeneidad entre los diferentes conjuntos de datos locales: cada nodo puede tener algún sesgo con respecto a la población general, y el tamaño de los conjuntos de datos puede variar significativamente;
  • Heterogeneidad temporal: la distribución de cada conjunto de datos local puede variar con el tiempo;
  • La interoperabilidad del conjunto de datos de cada nodo es un requisito previo;
  • El conjunto de datos de cada nodo puede requerir curaciones regulares;
  • Ocultar los datos de entrenamiento podría permitir a los atacantes inyectar puertas traseras en el modelo global;
  • La falta de acceso a los datos globales de capacitación dificulta la identificación de sesgos no deseados al ingresar a la capacitación, por ejemplo, edad, género, orientación sexual;
  • Pérdida parcial o total de las actualizaciones del modelo debido a fallas en los nodos que afectan al modelo global.

Propiedades del aprendizaje federado

Privacidad por diseño

La principal ventaja de utilizar enfoques federados para el aprendizaje automático es garantizar la privacidad o el secreto de los datos. De hecho, no se cargan, concatenan o intercambian datos locales de forma externa. Dado que toda la base de datos está segmentada en bits locales, esto hace que sea más difícil piratearla.

Con el aprendizaje federado, solo se intercambian los parámetros de aprendizaje automático. Además, dichos parámetros se pueden cifrar antes de compartirlos entre rondas de aprendizaje para ampliar la privacidad y se pueden utilizar esquemas de cifrado homomórfico para realizar cálculos directamente sobre los datos cifrados sin descifrarlos de antemano. A pesar de tales medidas de protección, estos parámetros aún pueden filtrar información sobre las muestras de datos subyacentes, por ejemplo, al realizar múltiples consultas específicas sobre conjuntos de datos específicos. La capacidad de consulta de los nodos es, por tanto, un punto de atención importante, que se puede abordar utilizando privacidad diferencial y agregación segura.

Se descubrió que los problemas de privacidad del aprendizaje federado a menudo se deben a la ejecución de estimaciones, lo que dificulta el uso de modelos avanzados de aprendizaje profundo. Se desarrolló una normalización por lotes estática (sBN) para optimizar las redes neuronales profundas con restricciones de privacidad. Durante la fase de entrenamiento, sBN no realiza un seguimiento de las estimaciones en ejecución, sino que simplemente normaliza los datos por lotes. Solo se calculan las estadísticas de las representaciones ocultas de los datos locales después de la convergencia del modelo. Este método es adecuado para el marco de FL, ya que los modelos locales no necesitan cargar estimaciones de ejecución durante el entrenamiento. Los modelos locales solo cargan sus estadísticas una vez después de la optimización, lo que reduce significativamente el riesgo de fuga de datos.

Personalización

El modelo generado ofrece información basada en los patrones globales de nodos. Sin embargo, si un nodo participante desea aprender de los patrones globales pero también adaptar los resultados a su estado peculiar, la metodología de aprendizaje federado se puede adaptar para generar dos modelos a la vez en un marco de aprendizaje multitarea . Además, las técnicas de agrupación en clústeres se pueden aplicar a los nodos agregados que comparten algunas similitudes después de que se completa el proceso de aprendizaje. Esto permite la generalización de los modelos aprendidos por los nodos de acuerdo también con sus datos locales.

En el caso de las redes neuronales profundas, es posible compartir algunas capas entre los diferentes nodos y mantener algunas de ellas en cada nodo local. Por lo general, las primeras capas que realizan el reconocimiento de patrones generales se comparten y entrena todos los conjuntos de datos. Las últimas capas permanecerán en cada nodo local y solo se entrenarán en el conjunto de datos del nodo local.

Los primeros métodos de personalización a menudo introducen una sobrecarga adicional de computación y comunicación que puede no ser necesaria. Para reducir significativamente los costos de computación y comunicación en FL, se desarrolló un enfoque de "Truco de enmascaramiento". El “Truco de enmascaramiento” permite a los clientes locales contribuir de manera adaptativa al entrenamiento de modelos globales de manera mucho más flexible y eficiente en comparación con el aprendizaje federado clásico.

Ventajas legales del aprendizaje federado

Los marcos legales occidentales hacen cada vez más hincapié en la protección y la trazabilidad de los datos. El Informe de la Casa Blanca de 2012 recomendó la aplicación de un principio de minimización de datos, que se menciona en el RGPD europeo . En algunos casos, es ilegal transferir datos de un país a otro (por ejemplo, datos genómicos), sin embargo, los consorcios internacionales a veces son necesarios para los avances científicos. En tales casos, el aprendizaje federado brinda soluciones para entrenar un modelo global respetando las restricciones de seguridad.

Temas de investigación actuales

El aprendizaje federado ha comenzado a emerger como un tema de investigación importante en 2015 y 2016, con las primeras publicaciones sobre promedios federados en entornos de telecomunicaciones. Otro aspecto importante de la investigación activa es la reducción de la carga de la comunicación durante el proceso de aprendizaje federado. En 2017 y 2018, las publicaciones han enfatizado el desarrollo de estrategias de asignación de recursos, especialmente para reducir los requisitos de comunicación entre nodos con algoritmos de chismes, así como en la caracterización de la robustez ante ataques diferenciales de privacidad. Otras actividades de investigación se centran en la reducción del ancho de banda durante el entrenamiento a través de métodos de esparcimiento y cuantificación, donde los modelos de aprendizaje automático se esparcen y / o se comprimen antes de compartirlos con otros nodos. El desarrollo de arquitecturas DNN ultraligeras es esencial para el aprendizaje de dispositivos / borde y el trabajo reciente reconoce tanto los requisitos de eficiencia energética para el aprendizaje federado futuro como la necesidad de comprimir el aprendizaje profundo, especialmente durante el aprendizaje.

Los avances de investigación recientes están comenzando a considerar canales de propagación de palabras reales, ya que en implementaciones anteriores se asumían los canales ideales. Otra dirección activa de la investigación es desarrollar el aprendizaje federado para entrenar modelos locales heterogéneos con diversas complejidades de computación y producir un único y poderoso modelo de inferencia global.

Recientemente se desarrolló un marco de aprendizaje llamado Aprendizaje asistido para mejorar las capacidades de aprendizaje de cada agente sin transmitir datos privados, modelos e incluso objetivos de aprendizaje. En comparación con el aprendizaje federado que a menudo requiere un controlador central para orquestar el aprendizaje y la optimización, el aprendizaje asistido tiene como objetivo proporcionar protocolos para que los agentes optimicen y aprendan entre ellos sin un modelo global.

Casos de uso

El aprendizaje federado generalmente se aplica cuando los actores individuales necesitan entrenar modelos en conjuntos de datos más grandes que los suyos, pero no pueden permitirse compartir los datos en sí mismos con otros (por ejemplo, por razones legales, estratégicas o económicas). La tecnología aún requiere buenas conexiones entre los servidores locales y una potencia computacional mínima para cada nodo.

Transporte: coches autónomos

Los automóviles autónomos encapsulan muchas tecnologías de aprendizaje automático para funcionar: visión por computadora para analizar obstáculos, aprendizaje automático para adaptar su ritmo al entorno (por ejemplo, los baches de la carretera). Debido al potencial alto número de vehículos autónomos y la necesidad de que respondan rápidamente a situaciones del mundo real, el enfoque tradicional en la nube puede generar riesgos de seguridad. El aprendizaje federado puede representar una solución para limitar el volumen de transferencia de datos y acelerar los procesos de aprendizaje.

Industria 4.0: fabricación inteligente

En la Industria 4.0 , existe una adopción generalizada de técnicas de aprendizaje automático para mejorar la eficiencia y eficacia de los procesos industriales al tiempo que se garantiza un alto nivel de seguridad. Sin embargo, la privacidad de los datos confidenciales para las industrias y las empresas de fabricación es de suma importancia. Los algoritmos de aprendizaje federado se pueden aplicar a estos problemas, ya que no revelan ningún dato sensible.

Medicina: salud digital

El aprendizaje federado busca abordar el problema de la gobernanza y la privacidad de los datos mediante el entrenamiento de algoritmos de forma colaborativa sin intercambiar los datos en sí. El enfoque estándar actual de centralizar datos de múltiples centros tiene el costo de preocupaciones críticas con respecto a la privacidad del paciente y la protección de datos. Para resolver este problema, la capacidad de entrenar modelos de aprendizaje automático a escala en múltiples instituciones médicas sin mover los datos es una tecnología crítica. Nature Digital Medicine publicó el artículo "El futuro de la salud digital con el aprendizaje federado" en septiembre de 2020, en el que los autores exploran cómo el aprendizaje federado puede proporcionar una solución para el futuro de la salud digital y destacan los desafíos y consideraciones que deben abordarse. . Recientemente, una colaboración de 20 instituciones diferentes de todo el mundo validó la utilidad de entrenar modelos de IA utilizando el aprendizaje federado. En un artículo publicado en Nature Medicine "Aprendizaje federado para predecir resultados clínicos en pacientes con COVID-19", mostraron la precisión y generalización de un modelo de IA federado para la predicción de las necesidades de oxígeno en pacientes con infecciones por COVID-19.

Referencias

enlaces externos