¿Qué es el aprendizaje federado?

Compartir por correo electrónico
pensar, persona, persona que piensa

Hoy en día, una cantidad masiva de datos es generada por dispositivos como smartphones y objetos conectados (IoT). Estos datos se utilizan para entrenar modelos de aprendizaje automático (ML) de alto rendimiento, haciendo que la inteligencia artificial (IA) esté presente en nuestra vida cotidiana. Generalmente, los datos se envían a la nube, donde se almacenan, procesan y utilizan para entrenar modelos de forma centralizada. La IA centralizada es la arquitectura más común. Sin embargo, las transferencias repetitivas de enormes volúmenes de datos generan un elevado coste en términos de comunicación de red y dan lugar a muchas preguntas sobre la privacidad y la seguridad de los datos. Desde el punto de vista de la seguridad, los datos sensibles están muy expuestos a ataques y ciberriesgos. Entre las violaciones más graves registradas en el siglo XXI, Equifax con 147,9 millones de clientes afectados en 2017, Marriott con 500 millones de clientes afectados en 2018, y eBay con 145 millones de usuarios afectados en 2014. En este contexto, un nuevo reglamento de la Unión Europea, denominado "Reglamento general de protección de datos", se ha aplicado. El objetivo es asegurar y proteger los datos personales mediante la definición de normas y limitaciones, lo que complica el proceso de formación y adaptación de modelos centralizados de aprendizaje automático.

Viñeta extraída de https://federated.withgoogle.com/

Se ha propuesto un enfoque de aprendizaje distribuido para tratar este problema. Consiste en devolver el código a los datos. Cada dispositivo periférico (teléfono móvil, dispositivo IoT, etc.) entrena su modelo localmente sin beneficiarse de los datos y la experiencia de los demás. Este enfoque garantiza la privacidad de los usuarios, pero los modelos distan mucho de ser eficientes, principalmente debido a la falta de datos en el dispositivo, el almacenamiento limitado y la capacidad informática.

El aprendizaje federado pretende resolver los problemas de privacidad causados por la centralización de los datos en grandes bases de datos. Cuando aplicas un enfoque de aprendizaje federado, tus datos permanecen en tus dispositivos (o servidor), es la IA la que se mueve (y aprende) de una base de datos a otra en lugar de aprender en una única gran base de datos.

Google publicó (en 2016) una nueva arquitectura de aprendizaje llamada Federated Learning para abordar las limitaciones de los enfoques centralizados y distribuidos existentes. Así, ¿qué es el aprendizaje federado?

Figura 1. Arquitecturas de aprendizaje automático Arquitecturas de aprendizaje automático

Dígame... ¿qué es Federated Learning?

El aprendizaje federado surge principalmente para resolver el problema de la privacidad. Este enfoque de aprendizaje consiste en entrenar un modelo de forma colaborativa a partir de los datos locales de cada participante compartiendo únicamente sus parámetros cifrados en lugar de compartir datos. Este enfoque fue propuesto por primera vez por Google para predecir la entrada de texto del usuario en decenas de miles de dispositivos Android, manteniendo los datos en los dispositivos (Brendan McMahan et al. 2017). Para lograr este objetivo, Google definió tres pasos principales para la comunicación entre el dispositivo y el servidor (Bonawitz et al. 2019):

  • Selección: Los dispositivos que cumplen los criterios de elegibilidad (por ejemplo, en carga y conectados a una red ilimitada) se registran en el servidor. El servidor selecciona un subconjunto de los participantes (población) para realizar una tarea (entrenamiento, evaluación) sobre un modelo.
  • Configuración: el servidor envía un plan a la población que contiene la información de entrenamiento del modelo para el dispositivo y la información de agregación para el servidor.
  • Informe: en esta fase, el servidor espera las actualizaciones de los dispositivos, para agregarlas mediante el algoritmo de promediado federado.
Figura 2. Enfoque de entrenamiento propuesto por google para entrenar el modelo en el aprendizaje federado

El aprendizaje federado se ha desarrollado rápidamente en la literatura, encontramos varias arquitecturas (Aledhari et al. 2020) que dependen principalmente de las aplicaciones. Sin embargo, los autores de (Q. Yang et al. 2020) han podido categorizar las arquitecturas de aprendizaje federado en función de la distribución de los datos. Estas arquitecturas difieren en términos de estructura y definición:

Aprendizaje federado horizontal (AFH)

Los datos siguen una partición horizontal. Para ello, encontramos que los datos se solapan en el "espacio de características" pero difieren en el nivel del "espacio de muestras", como se muestra en la Figura 3 (Aledhari et al. 2020; Q. Yang et al. 2019, 2020). Este aprendizaje se utiliza cuando la población pertenece al mismo dominio. Por ejemplo, dos bancos de la misma región pueden colaborar para detectar a los usuarios que piden préstamos malintencionados a un banco para pagarlos en otro.

Según (Q. Yang et al. 2020), podemos implementar el aprendizaje federado horizontal siguiendo dos tipos de arquitectura: una arquitectura cliente-servidor o una arquitectura peer-to-peer (P2P). Estas arquitecturas difieren en los procesos de formación y agregación.

Arquitectura cliente-servidor

La arquitectura cliente-servidor se ilustra en la figura siguiente. En este sistema, los participantes (también llamados clientes o usuarios o partes) con el mismo esquema de datos manejan en colaboración un modelo global (también llamado servidor de parámetros o servidor de agregación o coordinador).

FedAVG (Federated Averaging) es el algoritmo utilizado por Google para agregar los datos de los participantes. Este algoritmo orquesta el entrenamiento a través del servidor central que aloja el modelo global. Sin embargo, la optimización real se realiza localmente en los clientes utilizando, por ejemplo, el Gradiente Estocástico Decente (SGD). El algoritmo FedAvg comienza inicializando y seleccionando un subconjunto de clientes para entrenar el modelo global. Una ronda de comunicación consta de los dos pasos siguientes:

  • Primer paso: Tras actualizar su modelo local, cada cliente divide sus datos locales en lotes de tamaño B, realiza E épocas del SGD y, a continuación, carga su modelo local entrenado en el servidor.
  • Segundo paso: A continuación, el servidor genera el nuevo modelo global calculando una suma ponderada de todos los modelos locales recibidos.
Proceso de formación en arquitectura cliente-servidor

Arquitectura Peer2Peer

P2P es la segunda arquitectura propuesta para el aprendizaje horizontal (Q. Yang et al. 2020). En esta arquitectura, los dispositivos se organizan para entrenar un modelo global sin servir de servidor central. (Roy et al. 2019) presenta algoritmos para esta arquitectura. La solución es tolerante a fallos y no es necesario tener un servidor central en el que todos confíen. Así, un cliente aleatorio puede iniciar un proceso de actualización en cualquier momento.

El proceso de formación se realiza en 3 pasos:

  • Primer paso: Cada participante entrena un modelo localmente.
  • Segundo paso: Un cliente aleatorio del entorno inicia el proceso de entrenamiento global. Envía una petición al resto de clientes para obtener sus últimas versiones del modelo generado.
  • Paso 3: todos los participantes envían al cliente sus pesos y el tamaño de la muestra de aprendizaje.
Proceso de formación sobre la arquitectura Peer2Peer

Aprendizaje federado vertical (AFV)

En esta categoría, y contrariamente al enfoque horizontal, los datos de la población se solapan en el "espacio muestral", pero difieren en el "espacio de características". Es aplicable a dos entidades pertenecientes a dos dominios complementarios. Por ejemplo, dos empresas diferentes en la misma ciudad: una es un banco y la otra una empresa de comercio electrónico. Su "espacio muestral" contiene a la mayoría de los residentes de la zona; por tanto, la intersección de su "espacio muestral" es muy amplia. Sin embargo, como el banco registra el comportamiento del usuario en términos de ingresos y gastos y el comercio electrónico conserva la navegación del usuario y las compras, sus espacios de características son muy diferentes.

La VFL puede agregar las características de ambas partes para obtener un modelo de previsión de compras de productos basado en la información del usuario y del producto. (Q. Yang et al. 2019).

Supongamos que dos empresas A y B colaboran entre sí para entrenar un modelo común, el proceso de entrenamiento nos obliga a añadir un tercero honesto C para garantizar un cálculo seguro. El entrenamiento del modelo se realiza en dos pasos:

  • Alineación de identificadores: La técnica de alineación de identificadores se utiliza para confirmar los usuarios comunes compartidos por ambas partes sin exponer sus respectivos datos brutos.
  • Entrenamiento encriptado de modelos: Una vez determinadas las entidades comunes, podemos utilizar los datos de estas entidades comunes para entrenar un modelo ML común. El proceso de entrenamiento puede dividirse en cuatro pasos: 
    • Primer paso: C crea pares de cifrado y envía la clave pública a A y B.
    • Segundo paso: A y B encriptan e intercambian los resultados intermedios para los cálculos de gradiente y pérdida.
    • Paso 3: A y B calculan los gradientes numéricos y añaden una máscara adicional, respectivamente. B también calcula la pérdida numérica. A y B envían los resultados numéricos a C.
    • Paso 4: C desencripta los gradientes y las pérdidas y devuelve los resultados a A y B. A y B desenmascaran los gradientes y actualizan los parámetros del modelo en consecuencia.
Proceso de formación de la VFL

Aprendizaje por transferencia federado

El HFL y el VFL requieren que los participantes compartan el espacio de características o el espacio de muestras para entrenar el modelo de forma colaborativa. Sin embargo, en el mundo real los datos de los usuarios pueden compartir solo un pequeño número de muestras o características, y los datos también pueden estar distribuidos de forma desequilibrada entre los usuarios, o no todos los datos están etiquetados. Frente a estas limitaciones, el trabajo de (Y. Liu et al. 2018; Q. Yang et al. 2019, 2020) ha propuesto combinar el aprendizaje federado con técnicas de transferencia de aprendizaje (Pan et al. 2011) que implican mover el conocimiento de un dominio (es decir, el dominio de origen) a otro dominio (es decir, el dominio de destino) para lograr mejores resultados de aprendizaje. Esta combinación se denomina aprendizaje federado de transferencia.

El trabajo (Y. Liu et al. 2018) propone una implementación basada en la plataforma FATE. La arquitectura implementada es la misma que VFL con dos hosts que contienen los datos y el árbitro que asegura, por un lado, la agregación de gradientes y comprobar si la pérdida converge, y por otro lado la distribución de claves públicas para los dos hosts para evitar el intercambio de datos. Para entrenar el modelo, los dos hosts primero calculan y cifran localmente sus resultados intermedios utilizando sus datos, que se utilizan para los cálculos de gradiente y pérdida. A continuación, envían los valores cifrados al árbitro. Por último, el invitado y el anfitrión obtienen del árbitro los gradientes y pérdidas descifrados para actualizar sus modelos.

¿Cuáles son las aplicaciones del aprendizaje federado?

El aprendizaje federado es un tema de creciente interés en la comunidad investigadora y de IA. La asociación de este enfoque con la confidencialidad ha llevado a los investigadores y a la industria a aplicarlo en numerosos ámbitos. Actualmente se están estudiando varias aplicaciones.

Predicción de palabras con teclado virtual

Este es el primer proyecto propuesto para FL. El trabajo (T. Yang et al. 2018) utiliza el aprendizaje federado global para entrenar, evaluar y desplegar el modo de regresión logística para mejorar la calidad de las sugerencias de búsqueda del teclado virtual sin acceso directo a los datos subyacentes del usuario. Existen varios requisitos que los clientes deben cumplir para validar su elegibilidad para participar en el proceso FL, tales como, requisitos ambientales, especificaciones del dispositivo y restricciones de idioma. Por otra parte, otras restricciones en las tareas FL son definidas por el servidor, que incluye el número de clientes objetivo para participar en el proceso, el número mínimo de clientes necesarios para iniciar alrededor, la frecuencia de la formación, un umbral de tiempo de espera para recibir actualizaciones de los clientes, y la fracción de clientes que deben informar de iniciar alrededor. En el trabajo de (Hard et al. 2018), entrenaron una red neuronal para demostrar que el enfoque federado se desempeña mejor que el enfoque central. En este contexto, existen otros trabajos elaborados para adaptar LF a este tipo de aplicaciones como la pérdida de emojis (Ramaswamy et al. 2019).

Sanidad

LF presenta una nueva oportunidad para este ámbito. Las nuevas regularizaciones han comenzado a impedir la centralización de datos sensibles, como los datos de los pacientes en los hospitales. En este contexto, multitud de trabajos han propuesto ya una adaptación de este enfoque al ámbito sanitario. La tabla del apéndice muestra algunas aplicaciones. La predicción de la mortalidad representa una de las aplicaciones más comunes en este campo. Los autores de (D. Liu et al. 2018) han propuesto una nueva estrategia para entrenar una red neuronal de forma personalizada para cada hospital. Para ello, la primera capa se entrenará de forma colaborativa mientras que las demás se constituirán localmente en función de los datos almacenados. Esta estrategia ha mostrado un alto rendimiento en comparación con el método centralizado. (Huang et al. 2019) proponen un algoritmo LF basado en la comunidad para predecir la mortalidad y la duración de la estancia hospitalaria. Los registros médicos electrónicos se agrupan en grupos dentro de cada hospital en función de aspectos médicos comunes. Cada grupo aprende y comparte un modelo de LF particular, que mejora la eficiencia y el rendimiento, y está personalizado para cada comunidad en lugar de ser un modelo global general compartido en todos los hospitales y, por lo tanto, en los pacientes. Otro tipo de aplicación en este campo es el reconocimiento de la actividad humana (Chen et al. 2019) propusieron una estrategia para entrenar modelos basados en datos de dispositivos médicos portátiles. Los datos de los dispositivos pueden estar distribuidos en diferentes nubes dependiendo del proveedor y no intercambiarse debido a regulaciones impuestas. Los autores propusieron aplicar el aprendizaje de transferencia federado para compartir conocimientos. Además, esta práctica permite la personalización necesaria de los modelos porque los distintos usuarios tienen características y modelos de negocio diferentes.

Internet de los objetos (IoT)

El número de objetos conectados aumenta cada año (Lueth 2018). Estos objetos envían una cantidad masiva de datos que aumenta el coste de comunicación, cálculo y almacenamiento. FL es una nueva implementación del aprendizaje basado en dispositivos (Dhar et al. 2019) para garantizar, por un lado, la privacidad y, por otro, minimizar el consumo de computación y comunicación. En la literatura científica ya encontramos un buen número de aplicaciones de FL en este campo. El trabajo (Nguyen et al. 2019) propone un sistema de detección de intrusos basado en detección de anomalías para IoT. Este sistema se compone de diferentes pasarelas de seguridad, cada una de las cuales monitoriza el tráfico de un tipo de dispositivo concreto, y al mismo tiempo maneja el modelo Gated Recurrent Unit según un proceso federado que se basa en la recuperación y entrenamiento local del modelo y posteriormente envía actualizaciones a un servicio de seguridad IoT para realizar la agregación. Este sistema funciona sin usuarios y es capaz de detectar nuevos ataques.

ZonaTipo de dispositivo de formaciónObjetivoModelo entrenadoAlgoritmo de agregación
Aplicación GboardTeléfonos móvilesModelado del lenguaje: Sugerencia de búsqueda en el teclado
Modelización del lenguaje: Predicción de la palabra siguiente
Modelado del lenguaje: Prodicción de emoji
Modelización del lenguaje: Aprendizaje fuera de vocabulario
Regresión logística
RNN
RNN - LSTM
RNN - LSTM
FedAvg
FedAvg
FedAvg
FedAvg
SanidadHospitales
Escenario 1: Hospitales
Escenario 2: Pacientes
Teléfonos conectados
a los dispositivos de los pacientes
Organizaciones
Conters
Instituciones
Dispositivos de electroencefalografía (EEG)
Predicción de mortalidad
Predicción de mortalidad y estancia hospitalaria
Predicción de hospitalización
Detección de anomalías en sistemas médicos
Reconocimiento de la actividad humana
Análisis de los cambios cerebrales en las enfermedades neurológicas
Tumor cerebral
Clasificación por imágenes
Clasificación de señales HEG
Red neuronal
Aprendizaje profundo
SVM dispersa
Red neuronal
Redes neuronales profundas
Extracción de características
CNN: U-Net
Redes neuronales profundas
CNN
Una propuesta de FADL
FedAvg
Una propuesta de CPDS
Media (no ponderada) de los parámetros
n/a
Método de los multiplicadores de sentido alterno
FedAvg
FedAvg
FedAvg
Sistemas IoTGateway de supervisión de dispositivos IoT
Objetos loT o Coordinador (Cloud Server Edge Device)
Dispositivos IoT
Teléfonos móviles y servidor de informática móvil
Detección de anomalías
Aprendizaje ligero para dispositivos con recursos limitados
Descarga informática
Mejora de los servicios de loT Manufacturers
RNN GRU
Redes neuronales profundas
Aprendizaje Q doblemente profundo
Entrenamiento del modelo Doep particionado
FedAvg
n/a
n/a
n/a
Computación de bordeEquipo del usuario
Nodos de borde
Descarga informática
Cobro en ventanilla
Refuerzo
Aprender
n/a
RedDispositivos de tipo máquina (MTD)Asignación de bloques de recursos y transmisión de energíaCadena de MarkovAgregación de MTDs Modbls de tráfico
RobóticaRobotsDecisión de navegación de robotsAprendizaje por refuerzoAlgoritmo de fusión de conocimientos
Mundo-redAgentesCreación de políticas Q-networkRed QPerceptrón multicapa
Mejora FLNodos de bordeDeterminación de la frecuencia de agregaciónModelos ML basados en el descenso gradualFedAvg
Sistema de recomendaciónCualquier dispositivo de usuario (portátiles, teléfonos, etc.)Generación de recomendaciones personalizadasFiltrado colaborativoGradientes Agregación para actualizar los vectores factoriales
CiberseguridadPasarelas que supervisan los nodos de escritorioDetección de anomalíasAutocodificadorFedAvg
Minoristas en líneaClientes
Usuarios de RA
Predicción del flujo de clics
Cobro en ventanilla
RNN - GRU
Autocodificador
FedAvg
n/a
Comunicación inalámbricaRadios
Entidades de la red central
Gestión del espectro
Red 5G Com
un modelo de utilización del espectro
n/a
n/a
n/a
Vehículos eléctricosVehículosPredicción de fallos en vehículos eléctricosRNN LSTMMedia ponderada basada en la función de pérdida

Referencias

  • S. Dhar, J. Guo, J. Liu, S. Tripathi, U. Kurup y M. Shah, "On-device machine learning: Una perspectiva de algoritmos y teoría del aprendizaje", arXiv. 2019.
  • H. Brendan McMahan, E. Moore, D. Ramage, S. Hampson y B. Agüera y Arcas, "Communication-efficient learning of deep networks from decentralized data", 2017.
  • K. Bonawitz et al., "Towards federated learning at scale: Diseño del sistema", arXiv. 2019.
  • M. Aledhari, R. Razzak, R. M. Parizi y F. Saeed, "Federated Learning: A Survey on Enabling Technologies, Protocols, and Applications", IEEE Access. 2020, doi: 10.1109/ACCESS.2020.3013541.
  • Q. Yang, Y. Liu, Y. Cheng, Y. Kang, T. Chen y H. Yu, "Federated Learning", en Synthesis Lectures on Artificial Intelligence and Machine Learning, 2020.
  • Q. Yang, Y. Liu, Tianjian Chen y Yongxin Tong, "Federated Machine Learning: Concepto y aplicaciones", arXiv. 2019.
  • H. B. McMahan, E. Moore, D. Ramage, S. Hampson y B. A. y Arcas, "Federated Learning of Deep Networks using Model Averaging", Arxiv, 2016.
  • A. G. Roy, S. Siddiqui, S. Polsterl, N. Navab y C. Wachinger, "BrainTorrent: Un entorno peer-to-peer para el aprendizaje federado descentralizado", arXiv. 2019.
  • Y. Liu, Y. Kang, C. Xing, T. Chen y Q. Yang, "A secure federated transfer learning framework", arXiv. 2018.
  • S. J. Pan, I. W. Tsang, J. T. Kwok y Q. Yang, "Domain adaptation via transfer component analysis", IEEE Trans. Neural Networks, 2011, doi: 10.1109/TNN.2010.2091281.
  • OpenMined, "PySyft", 2020. https://github.com/OpenMined/PySyft.
  • Google, "Tensorflow", 2020. https://www.tensorflow.org/federated?hl=fr (consultado el 18 de enero de 2021).
  • Google, "tensor i/o", 2020. https://www.tensorflow.org/io?hl=fr (consultado el 18 de enero de 2021).
  • AI Webank's, "FATE", 2020. https://fate.fedai.org/ (consultado el 18 de enero de 2021).
  • T. Yang et al., "APRENDIZAJE FEDERADO APLICADO: MEJORA DE LAS SUGERENCIAS DE CONSULTA DEL TECLADO DE GOOGLE", arXiv. 2018.
  • A. Hard et al., "Federated learning for mobile keyboard prediction", arXiv. 2018.
  • S. Ramaswamy, R. Mathews, K. Rao y F. Beaufays, "Federated learning for emoji prediction in a mobile keyboard", arXiv. 2019.
  • D. Liu, T. Miller, R. Sayeed y K. D. Mandl, "FADL:Federated-Autonomous Deep Learning for Distributed Electronic Health Record", arXiv. 2018.
  • L. Huang, A. L. Shea, H. Qian, A. Masurkar, H. Deng y D. Liu, "Patient clustering improves efficiency of federated machine learning to predict mortality and hospital stay time using distributed electronic medical records", J. Biomed. Inform., 2019, doi: 10.1016/j.jbi.2019.103291.
  • Y. Chen, J. Wang, C. Yu, W. Gao y X. Qin, "FedHealth: A federated transfer learning framework for wearable healthcare", arXiv. 2019.
  • K. L. Lueth, "Number-of-global-device-connections-2015-2025-Number-of-IoT-Devices", 2018. https://iot-analytics.com/state-of-the-iot-update-q1-q2-2018-number-of-iot-devices-now-7b/.
  • T. D. Nguyen, S. Marchal, M. Miettinen, H. Fereidooni, N. Asokan y A. R. Sadeghi, "DÏoT: A federated self-learning anomaly detection system for IoT", 2019, doi: 10.1109/ICDCS.2019.00080.

Más ...

Scroll al inicio