El aprendizaje federado (también conocido como aprendizaje colaborativo ) es una técnica de aprendizaje automático que se centra en entornos en los que varias entidades (a menudo denominadas clientes) entrenan de forma colaborativa un modelo al tiempo que garantizan que sus datos permanezcan descentralizados . [1] Esto contrasta con los entornos de aprendizaje automático en los que los datos se almacenan de forma centralizada. Una de las principales características definitorias del aprendizaje federado es la heterogeneidad de los datos . Debido a la naturaleza descentralizada de los datos de los clientes, no hay garantía de que las muestras de datos que posee cada cliente se distribuyan de forma independiente e idéntica .
El aprendizaje federado generalmente se ocupa de cuestiones como la privacidad de los datos , la minimización de los datos y los derechos de acceso a los mismos y está motivado por ellas. Sus aplicaciones abarcan una variedad de áreas de investigación, entre ellas la defensa , las telecomunicaciones , la Internet de las cosas y los productos farmacéuticos .
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 muestras de datos explícitamente. 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 realizadas sobre las propiedades de los conjuntos de datos locales, [2] ya que el aprendizaje distribuido originalmente apunta a paralelizar la potencia informática , mientras que el aprendizaje federado originalmente apunta al entrenamiento en conjuntos de datos heterogéneos . Si bien el aprendizaje distribuido también apunta al entrenamiento de un solo modelo en múltiples servidores, una suposición subyacente común es que los conjuntos de datos locales son independientes e idénticamente distribuidos (iid) y tienen aproximadamente el mismo tamaño. Ninguna de estas hipótesis se hace para el aprendizaje federado; en cambio, los conjuntos de datos son típicamente heterogéneos y sus tamaños pueden abarcar varios órdenes de magnitud. Además, los clientes involucrados en el aprendizaje federado pueden ser poco 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 alimentados por batería (es decir, teléfonos inteligentes y dispositivos IoT) en comparación con el aprendizaje distribuido donde los nodos son típicamente centros de datos que tienen potentes capacidades computacionales y están conectados entre sí con redes rápidas. [3]
La función objetivo para el aprendizaje federado es la siguiente:
donde es el número de nodos, son los pesos del modelo tal como los ve el nodo y es la función objetivo local del nodo, que describe cómo los pesos del modelo se ajustan al conjunto de datos local del nodo.
El objetivo del aprendizaje federado es entrenar un modelo común en todos los conjuntos de datos locales de los nodos, en otras palabras:
En el contexto del 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. [3]
En el entorno de aprendizaje federado descentralizado, los nodos pueden coordinarse para obtener el modelo global. Esta configuración evita fallas puntuales, 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 rendimiento del proceso de aprendizaje. [3] Consulte el aprendizaje federado basado en blockchain [4] y las referencias allí incluidas.
Un número cada vez mayor de dominios de aplicación implican un gran conjunto de clientes heterogéneos, por ejemplo, teléfonos móviles y dispositivos IoT. [5] La mayoría de las estrategias de aprendizaje federado existentes suponen 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 computación y comunicación muy diferentes. [6] La técnica HeteroFL puede permitir el entrenamiento de modelos locales heterogéneos con complejidades de computación y datos no IID que varían dinámicamente y al mismo tiempo producen un único modelo de inferencia global preciso. [6] [7]
Para garantizar un buen rendimiento 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 actual del modelo global 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 aplicarla al modelo global. [3]
En la metodología que se presenta a continuación, se utiliza un servidor central para la agregación, mientras que los nodos locales realizan el entrenamiento local en función de 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 consenso o de chismes [8] . [9]
Suponiendo una ronda federada compuesta por una iteración del proceso de aprendizaje, el procedimiento de aprendizaje se puede resumir de la siguiente manera: [10]
El procedimiento considerado anteriormente supone actualizaciones sincronizadas del modelo. Los recientes desarrollos de aprendizaje federado introdujeron técnicas novedosas para abordar la asincronicidad durante el proceso de entrenamiento, o el entrenamiento con modelos que varían dinámicamente. [6] En comparación con los enfoques sincrónicos 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 del modelo tan pronto como estén disponibles los cálculos de una determinada capa. Estas técnicas también se conocen comúnmente como aprendizaje dividido [11] [12] y se pueden aplicar tanto en el momento del entrenamiento como en el de la inferencia, independientemente de las configuraciones de aprendizaje federado centralizadas o descentralizadas. [3] [6]
En la mayoría de los casos, la suposición de muestras independientes e idénticamente distribuidas en los nodos locales no se cumple en las configuraciones de aprendizaje federado. En esta configuración, el rendimiento del proceso de entrenamiento puede variar significativamente según las muestras de datos locales desequilibradas, 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 la preimpresión de Peter Kairouz et al. de 2019. [3]
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 según 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: [3]
La pérdida de precisión debido a datos no iid se puede limitar mediante el uso de medios más sofisticados de normalización de datos, en lugar de la normalización por lotes. [13]
La forma en que se agrupan los resultados estadísticos locales y la forma en que los nodos se comunican entre sí pueden 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 un servidor central de orquestación o comunicación estocástica. [14]
En particular, las redes distribuidas sin orquestador 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 aleatoriamente, que agregan sus resultados localmente. Esto limita el número de transacciones, lo que a veces reduce el tiempo de entrenamiento y el costo computacional. [15]
Una vez elegida la topología de la red de nodos, se pueden controlar diferentes parámetros del proceso de aprendizaje federado (además de los propios hiperparámetros del modelo de aprendizaje automático) para optimizar el aprendizaje:
También se pueden modificar otros parámetros que dependen del modelo, como por ejemplo:
Esos parámetros deben optimizarse en función de las limitaciones de la aplicación de aprendizaje automático (por ejemplo, potencia de cálculo disponible, memoria disponible, ancho de banda ). Por ejemplo, la elección estocástica de una fracción limitada de nodos para cada iteración disminuye el costo de cálculo y puede evitar el sobreajuste [ cita requerida ] , de la misma manera que el descenso de gradiente estocástico puede reducir el sobreajuste.
El aprendizaje federado requiere una comunicación frecuente entre nodos durante el proceso de aprendizaje. Por lo tanto, no solo requiere suficiente potencia de procesamiento local y memoria, sino también conexiones de alto 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, lo que puede requerir recursos significativos antes de comenzar el aprendizaje automático centralizado. No obstante, los dispositivos que se emplean normalmente en el aprendizaje federado tienen limitaciones de comunicación; por ejemplo, los dispositivos IoT o los teléfonos inteligentes generalmente están conectados a redes Wi-Fi; por lo tanto, incluso si los modelos suelen ser menos costosos de transmitir en comparación con los datos sin procesar, los mecanismos de aprendizaje federado pueden no ser adecuados en su forma general. [3]
El aprendizaje federado plantea varios desafíos estadísticos:
Se han propuesto varios algoritmos diferentes para la optimización federada.
El entrenamiento de aprendizaje profundo se basa principalmente en variantes del descenso de gradiente estocástico , donde los gradientes se calculan en un subconjunto aleatorio del conjunto de datos total y luego se utilizan para realizar un paso del descenso de gradiente.
El descenso de gradiente estocástico federado [19] es la transposición directa de este algoritmo a la configuración federada, pero utilizando una fracción aleatoria de los nodos y utilizando todos los datos de este nodo. El servidor promedia los gradientes proporcionalmente a la cantidad de muestras de entrenamiento en cada nodo y los utiliza para realizar un paso de descenso de gradiente.
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. La razón detrás de esta generalización es que en FedSGD, si todos los nodos locales comienzan desde la misma inicialización, promediar los gradientes es estrictamente equivalente a promediar los pesos mismos. Además, promediar los pesos ajustados que provienen de la misma inicialización no necesariamente perjudica el rendimiento del modelo promediado resultante. [20] Se han propuesto variaciones de FedAvg basadas en optimizadores adaptativos como ADAM y AdaGrad , y generalmente superan a FedAvg. [21]
Los métodos de aprendizaje federado sufren cuando los conjuntos de datos de dispositivos están distribuidos de forma heterogénea. El dilema fundamental en la configuración de dispositivos distribuidos de forma heterogénea es que minimizar las funciones de pérdida de dispositivos no es lo mismo que minimizar el objetivo de pérdida global. En 2021, Acar et al. [22] introdujeron el método FedDyn como una solución a la configuración de conjuntos de datos heterogéneos. FedDyn regulariza dinámicamente la función de pérdida de cada dispositivo de modo que las pérdidas de dispositivo modificadas converjan a la pérdida global real. Dado que las pérdidas locales están alineadas, FedDyn es robusto a los diferentes niveles de heterogeneidad y puede realizar de forma segura una minimización completa en cada dispositivo. En teoría, FedDyn converge al óptimo (un punto estacionario para pérdidas no convexas) al ser agnóstico a los niveles de heterogeneidad. Estas afirmaciones se verifican con amplias experimentaciones en varios conjuntos de datos. [22]
Minimizar la cantidad de comunicaciones es el estándar de oro para la comparación en el aprendizaje federado. También podemos querer disminuir los niveles de computación local por dispositivo en cada ronda. FedDynOneGD [22] es una extensión de FedDyn con menos requisitos de computación local. FedDynOneGD calcula solo un gradiente por dispositivo en cada ronda y actualiza el modelo con una versión regularizada del gradiente. Por lo tanto, la complejidad de computación es lineal en el tamaño del conjunto de datos local. Además, la computación de gradiente puede ser paralelizable dentro de cada dispositivo, lo que es diferente de los pasos sucesivos de SGD. Teóricamente, FedDynOneGD logra las mismas garantías de convergencia que en FedDyn con menos computación local. [22]
Los métodos de aprendizaje federado no pueden lograr un buen rendimiento global en entornos que no sean IID, lo que motiva a los clientes participantes a generar modelos personalizados en la federación. Recientemente, Vahidian et al. [23] introdujeron Sub-FedAvg, lo que abrió un nuevo paradigma de algoritmo de aprendizaje federado personalizado al proponer una poda híbrida (poda estructurada + no estructurada) con un promedio en la intersección de las subredes dibujadas por los clientes, que maneja simultáneamente la eficiencia de la comunicación, las limitaciones de recursos y la precisión de los modelos personalizados. [23]
Sub-FedAvg es el primer trabajo que muestra la existencia de boletos ganadores personalizados para clientes en aprendizaje federado a través de experimentos. [23] Además, también propone dos algoritmos sobre cómo dibujar efectivamente las subredes personalizadas. [23] Sub-FedAvg intenta extender la "hipótesis del boleto de lotería", que es para redes neuronales entrenadas centralmente a redes neuronales entrenadas en aprendizaje federado, lo que conduce a este problema de investigación abierto: "¿Existen boletos ganadores para las redes neuronales de los clientes que se entrenan en aprendizaje federado? Si es así, ¿cómo dibujar efectivamente las subredes personalizadas para cada cliente?"
IDA (Inverse Distance Aggregation) es un nuevo enfoque de ponderación adaptativa para clientes basado en metainformación que maneja datos no balanceados y no iid. Utiliza la distancia de los parámetros del modelo como estrategia para minimizar el efecto de los valores atípicos y mejorar la tasa de convergencia del modelo. [24]
Existen muy pocos métodos para el aprendizaje federado híbrido, donde los clientes solo tienen subconjuntos de características y muestras. Sin embargo, este escenario es muy importante en entornos prácticos. Hybrid Federated Dual Coordinate Ascent (HyFDCA) [25] es un algoritmo novedoso propuesto en 2024 que resuelve problemas convexos en el entorno FL híbrido. Este algoritmo extiende CoCoA, un algoritmo de optimización distribuida primal-dual introducido por Jaggi et al. (2014) [26] y Smith et al. (2017), [27] al caso donde tanto las muestras como las características están particionadas entre los clientes.
HyFDCA afirma varias mejoras con respecto a los algoritmos existentes:
Solo hay otro algoritmo que se centra en FL híbrido, HyFEM propuesto por Zhang et al. (2020). [30] Este algoritmo utiliza una formulación de coincidencia de características que equilibra los clientes que construyen modelos locales precisos y el servidor que aprende un modelo global preciso. Esto requiere una constante de regularizador de coincidencia que debe ajustarse en función de los objetivos del usuario y da como resultado modelos locales y globales dispares. Además, los resultados de convergencia proporcionados para HyFEM solo prueban la convergencia de la formulación de coincidencia, no del problema global original. Este trabajo es sustancialmente diferente al enfoque de HyFDCA, que utiliza datos sobre clientes locales para construir un modelo global que converge a la misma solución como si el modelo se hubiera entrenado de forma centralizada. Además, los modelos locales y globales están sincronizados y no requieren el ajuste de un parámetro de coincidencia entre los modelos locales y globales. Sin embargo, HyFEM es adecuado para una amplia gama de arquitecturas, incluidas las arquitecturas de aprendizaje profundo, mientras que HyFDCA está diseñado para problemas convexos como la regresión logística y las máquinas de vectores de soporte.
HyFDCA se compara empíricamente con el mencionado HyFEM, así como con el popular FedAvg para resolver problemas convexos (específicamente problemas de clasificación) para varios conjuntos de datos populares (MNIST, Covtype y News20). Los autores encontraron que HyFDCA converge a un valor de pérdida más bajo y una mayor precisión de validación en menos tiempo general en 33 de las 36 comparaciones examinadas y 36 de las 36 comparaciones examinadas con respecto al número de iteraciones externas. [25] Por último, HyFDCA solo requiere el ajuste de un hiperparámetro, el número de iteraciones internas, a diferencia de FedAvg (que requiere el ajuste de tres) o HyFEM (que requiere el ajuste de cuatro). Además de que FedAvg y HyFEM son hiperparámetros bastante difíciles de optimizar, lo que a su vez afecta en gran medida la convergencia, el hiperparámetro único de HyFDCA permite implementaciones prácticas más simples y metodologías de selección de hiperparámetros.
El aprendizaje federado comenzó a surgir como un tema de investigación importante en 2015 [2] y 2016 [31] , con las primeras publicaciones sobre promedios federados en entornos de telecomunicaciones. Antes de eso, en un trabajo de tesis titulado "Un marco para la precarga de múltiples fuentes a través de peso adaptativo", [32] se propuso un enfoque para agregar predicciones de múltiples modelos entrenados en tres ubicaciones de un ciclo de respuesta de solicitud. Otro aspecto importante de la investigación activa es la reducción de la carga de 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 [20] [33] entre nodos con algoritmos de chismes [34], así como en la caracterización de la robustez a los ataques de privacidad diferencial [35] . 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 esparsificación y cuantificación, [33] donde los modelos de aprendizaje automático se esparcen y/o comprimen antes de compartirlos con otros nodos. El desarrollo de arquitecturas DNN ultralivianas es esencial para el aprendizaje de dispositivos y bordes, y trabajos recientes reconocen tanto los requisitos de eficiencia energética [36] para el futuro aprendizaje federado como la necesidad de comprimir el aprendizaje profundo, especialmente durante el aprendizaje. [37]
Los últimos avances en la investigación están empezando a considerar canales de propagación del mundo real [38], ya que en las implementaciones anteriores se asumían canales ideales. Otra dirección activa de la investigación es desarrollar el aprendizaje federado para entrenar modelos locales heterogéneos con diferentes complejidades computacionales y producir un único modelo de inferencia global poderoso. [6]
Recientemente se desarrolló un marco de aprendizaje denominado aprendizaje asistido para mejorar las capacidades de aprendizaje de cada agente sin transmitir datos privados, modelos e incluso objetivos de aprendizaje. [39] 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.
El aprendizaje federado se aplica normalmente cuando los actores individuales necesitan entrenar modelos en conjuntos de datos más grandes que los suyos, pero no pueden permitirse compartir los datos con otros (por ejemplo, por razones legales, estratégicas o económicas). La tecnología aún requiere buenas conexiones entre servidores locales y una potencia computacional mínima para cada nodo. [3]
Los coches autónomos encapsulan muchas tecnologías de aprendizaje automático para funcionar: visión artificial para analizar obstáculos, aprendizaje automático para adaptar su ritmo al entorno (por ejemplo, los baches de la carretera). Debido a la gran cantidad potencial de coches 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. [40] [41]
En la Industria 4.0 , existe una adopción generalizada de técnicas de aprendizaje automático [42] para mejorar la eficiencia y la eficacia del proceso industrial al tiempo que se garantiza un alto nivel de seguridad. Sin embargo, la privacidad de los datos confidenciales para las industrias y las empresas manufactureras es de suma importancia. Los algoritmos de aprendizaje federado se pueden aplicar a estos problemas, ya que no revelan ningún dato confidencial. [31] Además, FL también se implementó para la predicción de PM2.5 para respaldar las aplicaciones de detección de ciudades inteligentes. [43]
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 los 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 fundamental. Nature Digital Medicine publicó el artículo "El futuro de la salud digital con el aprendizaje federado" [44] 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 los resultados clínicos en pacientes con COVID-19", [45] mostraron la precisión y la 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. Además, en un artículo publicado "Una revisión sistemática del aprendizaje federado en el área de atención médica: desde la perspectiva de las propiedades y aplicaciones de los datos", los autores intentan proporcionar un conjunto de desafíos para el aprendizaje federado en una perspectiva centrada en los datos médicos. [46]
Una coalición de la industria y el mundo académico ha desarrollado MedPerf, [47] una plataforma de código abierto que permite la validación de modelos de IA médica en datos del mundo real. La plataforma se basa técnicamente en la evaluación federada de modelos de IA con el objetivo de aliviar las preocupaciones sobre la privacidad del paciente y conceptualmente en diversos comités de referencia para construir las especificaciones de puntos de referencia neutrales con impacto clínico. [48]
La robótica incluye una amplia gama de aplicaciones de métodos de aprendizaje automático: desde la percepción y la toma de decisiones hasta el control. A medida que las tecnologías robóticas se han implementado cada vez más desde tareas simples y repetitivas (por ejemplo, manipulación repetitiva) hasta tareas complejas e impredecibles (por ejemplo, navegación autónoma), aumenta la necesidad de aprendizaje automático. El aprendizaje federado proporciona una solución para mejorar los métodos de entrenamiento de aprendizaje automático convencionales. En el artículo, [49] los robots móviles aprendieron la navegación en diversos entornos utilizando el método basado en FL, lo que ayuda a la generalización. En el artículo, [50] el aprendizaje federado se aplica para mejorar la navegación de múltiples robots en escenarios de ancho de banda de comunicación limitado, que es un desafío actual en tareas robóticas basadas en aprendizaje del mundo real. En el artículo, [51] el aprendizaje federado se utiliza para aprender la navegación basada en visión, lo que ayuda a una mejor transferencia de simulación a realidad.