Aprendizaje federado: guía sobre qué es y cómo funciona

El aprendizaje federado puede transformar la forma en que creamos modelos de IA. En lugar de recopilar grandes cantidades de datos sensibles en una única ubicación central, el aprendizaje federado lleva el proceso de entrenamiento directamente a los datos. Este enfoque descentralizado no solo puede ofrecer una sólida protección de la privacidad, sino que también ayuda a abrir nuevas posibilidades de colaboración y mejora de modelos en una amplia gama de sectores.

¿Qué es el aprendizaje federado?

El aprendizaje federado es un enfoque de aprendizaje automático que permite entrenar un modelo de IA compartido utilizando datos de numerosos dispositivos o servidores perimetrales descentralizados. Este proceso se lleva a cabo sin necesidad de intercambiar las muestras de datos locales. Se trata de un proceso de aprendizaje colaborativo en el que los participantes individuales contribuyen a un objetivo común sin revelar su información privada.

Esto contrasta enormemente con el aprendizaje automático tradicional, que suele requerir agregar todos los datos en un repositorio central para entrenar el modelo. Aunque los enfoques centralizados han impulsado avances significativos en la IA, pueden generar preocupaciones sobre la privacidad de los datos, la seguridad y el cumplimiento de normativas como el RGPD. El aprendizaje federado ofrece una alternativa que preserva la privacidad, ya que mantiene los datos sensibles localizados en el dispositivo del usuario o en el entorno seguro de una organización.

Aprendizaje federado frente a aprendizaje automático

Como hemos mencionado anteriormente, la principal diferencia entre el aprendizaje federado y el aprendizaje automático tradicional y centralizado radica en dónde residen los datos durante el proceso de entrenamiento.

  • Aprendizaje automático tradicional (centralizado): los datos se recogen de varias fuentes y se reúnen en un solo lugar, como un servidor en la nube o un centro de datos. A continuación, el modelo de aprendizaje automático se entrena directamente con este conjunto de datos consolidado. Este método puede ofrecer ventajas como un acceso directo a los datos y un desarrollo más sencillo, pero también puede crear riesgos de privacidad importantes y posibles vulnerabilidades si el repositorio de datos central se ve comprometido.
  • Aprendizaje federado (descentralizado): en lugar de mover los datos, el modelo de aprendizaje automático se envía a los datos, y los participantes (clientes) entrenan el modelo con sus datos locales. Solo las actualizaciones del modelo, como los pesos o los gradientes aprendidos, se envían de vuelta a un servidor central para su agregación. Este proceso permite que el modelo global aprenda de diversos conjuntos de datos sin acceder nunca a la información sensible y sin procesar de ningún participante.

Aunque el aprendizaje automático centralizado está bien establecido y suele ser más fácil de implementar, el aprendizaje federado está ganando terreno porque puede abordar de forma inherente los problemas de privacidad de los datos, reducir los requisitos de ancho de banda y permitir el entrenamiento de modelos con datos que, de otro modo, podrían ser inaccesibles debido a las normativas o los acuerdos de confidencialidad. 

Los diferentes tipos de aprendizaje federado

El aprendizaje federado se adapta a diversas necesidades. Las principales diferencias suelen estar relacionadas con la forma en que se distribuyen los datos o con la manera en que los participantes colaboran. Estos son algunos de los tipos más comunes:

Tipo de aprendizaje federado

Superposición de datos

Diferencia principal

Aplicaciones de ejemplo

Aprendizaje federado horizontal

El mismo espacio de características, pero con diferentes instancias de datos.

Los participantes comparten el mismo esquema de datos, pero tienen conjuntos de muestras distintos. El entrenamiento se distribuye entre estas muestras.

Predicción del teclado móvil, personalización de dispositivos inteligentes, detección de spam colaborativa.

Aprendizaje federado vertical

Las mismas instancias de datos, pero con distintas funciones.

Los participantes comparten las mismas muestras (por ejemplo, usuarios o clientes), pero tienen diferentes características para esas muestras.

Detección conjunta de fraudes (combinando datos financieros y de comercio electrónico), puntuación crediticia, recomendaciones personalizadas usando fuentes de datos complementarias.

Aprendizaje federado por transferencia

Diferentes funciones y diferentes muestras.

Utiliza el conocimiento de una tarea o un dominio de origen para mejorar el rendimiento en una tarea o un dominio de destino relacionados pero diferentes. Esto suele implicar que los participantes adaptan o ajustan un modelo preentrenado con sus datos locales en un entorno federado.

Adaptar un modelo médico general a los datos de pacientes de un hospital concreto o aplicar modelos entrenados con grandes conjuntos de datos a aplicaciones industriales de nicho.


Tipo de aprendizaje federado

Superposición de datos

Diferencia principal

Aplicaciones de ejemplo

Aprendizaje federado horizontal

El mismo espacio de características, pero con diferentes instancias de datos.

Los participantes comparten el mismo esquema de datos, pero tienen conjuntos de muestras distintos. El entrenamiento se distribuye entre estas muestras.

Predicción del teclado móvil, personalización de dispositivos inteligentes, detección de spam colaborativa.

Aprendizaje federado vertical

Las mismas instancias de datos, pero con distintas funciones.

Los participantes comparten las mismas muestras (por ejemplo, usuarios o clientes), pero tienen diferentes características para esas muestras.

Detección conjunta de fraudes (combinando datos financieros y de comercio electrónico), puntuación crediticia, recomendaciones personalizadas usando fuentes de datos complementarias.

Aprendizaje federado por transferencia

Diferentes funciones y diferentes muestras.

Utiliza el conocimiento de una tarea o un dominio de origen para mejorar el rendimiento en una tarea o un dominio de destino relacionados pero diferentes. Esto suele implicar que los participantes adaptan o ajustan un modelo preentrenado con sus datos locales en un entorno federado.

Adaptar un modelo médico general a los datos de pacientes de un hospital concreto o aplicar modelos entrenados con grandes conjuntos de datos a aplicaciones industriales de nicho.


¿Cómo funciona el aprendizaje federado?

El aprendizaje federado funciona mediante un proceso iterativo que implica un coordinador central (normalmente un servidor) y varios clientes participantes (dispositivos u organizaciones). El flujo de trabajo general se puede dividir en estos pasos clave:

1. Distribución inicial del modelo

El proceso comienza con un servidor central que inicializa un modelo de aprendizaje automático global. Este modelo sirve como punto de partida para el entrenamiento colaborativo. A continuación, el servidor distribuye este modelo global a un subconjunto seleccionado de dispositivos cliente participantes.

2. Entrenamiento de modelos locales

Cada dispositivo cliente seleccionado recibe el modelo global. El cliente usa sus propios datos locales para entrenar el modelo y actualizar sus parámetros en función de los patrones y la información presentes en ese conjunto de datos local. Es importante destacar que los datos brutos permanecen en el dispositivo del cliente durante todo este paso y nunca se envían al servidor.

3. Agregación de actualizaciones de modelos

Tras el entrenamiento local, cada cliente envía los parámetros de su modelo actualizado (por ejemplo, gradientes o pesos) al servidor central. Estas actualizaciones representan lo que el modelo ha aprendido de los datos locales, pero no exponen los datos en sí.

4. Actualización del modelo global

El servidor central recibe las actualizaciones de los modelos de varios clientes. Después, agrega estas actualizaciones, a menudo calculando su media (un método común es el promedio federado o FedAvg), para crear una nueva versión mejorada del modelo global. Este modelo agregado se beneficia del aprendizaje colectivo de todos los clientes participantes. 

5. Refinamiento iterativo

A continuación, el servidor distribuye este modelo global actualizado a un nuevo conjunto de clientes (o al mismo) para otra ronda de entrenamiento local. Este ciclo se repite varias veces, refinando progresivamente el modelo global con cada iteración hasta que alcanza el nivel de precisión o convergencia deseado.

Componentes clave de un sistema de aprendizaje federado

Un sistema típico de aprendizaje federado consta de varios elementos interconectados:

Clientes (propietarios de los datos)

Son los dispositivos individuales o las organizaciones que almacenan los datos y entrenan los modelos localmente. Los clientes pueden ser desde teléfonos móviles y dispositivos de Internet de las cosas hasta hospitales o instituciones financieras. Se encargan de ejecutar el modelo localmente y de generar actualizaciones de parámetros.

Servidor central (agregador)

El servidor central actúa como orquestador del proceso de aprendizaje federado. Inicializa y distribuye el modelo global, recoge las actualizaciones de los modelos de los clientes, las agrega para refinar el modelo global y, a continuación, redistribuye el modelo actualizado. No accede directamente a los datos en bruto de los clientes.

Protocolo de comunicación

Define cómo intercambian información los clientes y el servidor, principalmente los parámetros y las actualizaciones del modelo. Los protocolos de comunicación eficientes y seguros son cruciales, especialmente teniendo en cuenta el potencial de un gran número de clientes y las diferentes condiciones de red. 

Algoritmo de agregación de modelos

Este es el método que usa el servidor central para combinar las actualizaciones de los modelos que recibe de varios clientes. Se suelen usar algoritmos como el de promediado federado para calcular la media de los pesos o los gradientes, lo que permite crear un modelo global único y mejorado.

Ventajas del aprendizaje federado

El aprendizaje federado puede ofrecer algunas ventajas interesantes, sobre todo en situaciones en las que la privacidad, la seguridad y la distribución de los datos son factores clave.

Mayor privacidad y seguridad de los datos

Este es, sin duda, el beneficio más importante. Al mantener los datos localizados en los dispositivos cliente, el aprendizaje federado puede reducir drásticamente el riesgo de exposición de información sensible durante la transmisión o el almacenamiento. Esto mejora intrínsecamente la privacidad de los usuarios y ayuda a las organizaciones a cumplir las estrictas normativas de protección de datos.

Acceso a datos diversos

El aprendizaje federado permite que los modelos aprendan a partir de una amplia variedad de fuentes de datos del mundo real que, de otro modo, podrían estar aisladas o ser inaccesibles. Esta diversidad puede dar lugar a modelos más sólidos, generalizables y precisos, ya que se entrenan con un espectro más amplio de comportamientos, condiciones o entornos de usuario en comparación con los modelos entrenados con un único conjunto de datos centralizado. 

Costes de comunicación reducidos

Transmitir actualizaciones de modelos (que suelen ser más pequeñas que los conjuntos de datos sin procesar) suele ser más eficiente en términos de ancho de banda y menos costoso que transferir grandes cantidades de datos sin procesar a un servidor central, especialmente en situaciones que implican muchos dispositivos perimetrales o ubicaciones geográficamente dispersas. 

Mejora colaborativa de modelos

El aprendizaje federado permite a las organizaciones o a los usuarios colaborar en la creación y mejora de modelos de IA sin necesidad de compartir datos sensibles o de propiedad exclusiva. Esto ayuda a fomentar un ecosistema de desarrollo de IA más inclusivo y permite combinar la inteligencia de distintas fuentes. 

Cumplimiento normativo optimizado

El diseño inherente del aprendizaje federado mantiene los datos a nivel local, lo que puede ayudar significativamente a cumplir normativas complejas de privacidad de los datos como el RGPD, la CCPA y la HIPAA. Al minimizar la transferencia y la centralización de datos, las organizaciones pueden asegurarse mejor de que se cumplen los requisitos de residencia de datos y reducir la carga de cumplimiento asociada al tratamiento de información personal o sanitaria sensible.

Mantener la soberanía de los datos

Este enfoque respeta la propiedad y el control de los datos. Las organizaciones o personas que participan en el programa conservan la plena autoridad sobre sus recursos de datos. Incluso cuando se contribuye a un modelo colectivo, los datos en bruto permanecen de forma segura en su entorno original, lo que permite la gobernanza de datos y mantiene la confianza entre los colaboradores.

Retos y consideraciones del aprendizaje federado

A pesar de sus ventajas, el aprendizaje federado también presenta algunos retos únicos que deben tenerse en cuenta:

  • Heterogeneidad de los datos y los dispositivos: los clientes de una red de aprendizaje federado pueden variar significativamente en cuanto a la distribución de sus datos (datos no independientes e idénticamente distribuidos, o datos no IID) y sus capacidades computacionales (hardware del dispositivo, conectividad de red). Esta diversidad puede afectar a la convergencia del modelo y al rendimiento general.
  • Sobrecarga de comunicación: aunque se reduce en comparación con la transferencia de datos centralizada, el aprendizaje federado sigue requiriendo una comunicación frecuente entre los clientes y el servidor. Gestionar esta comunicación de forma eficiente, sobre todo con un gran número de clientes o redes poco fiables, sigue siendo un reto técnico. 
  • Vulnerabilidades de seguridad y privacidad: aunque el aprendizaje federado se ha diseñado para proteger la privacidad, no es inmune a todas las amenazas de seguridad. Las actualizaciones de los modelos pueden filtrar información sobre los datos locales mediante técnicas avanzadas como los ataques de inferencia o el envenenamiento de datos. Para mitigar estos riesgos, se suelen emplear medidas de seguridad sólidas, como la privacidad diferencial y la agregación segura, aunque pueden suponer un equilibrio entre la precisión y el coste computacional.
  • Deriva del modelo: con el tiempo, la distribución de datos en los dispositivos de los clientes individuales puede cambiar, lo que provoca una "deriva del modelo" en la que los modelos locales se desvían del modelo global. Para abordar este problema, se necesitan mecanismos de adaptación continua o enfoques de aprendizaje federado personalizados. 

Aplicaciones del aprendizaje federado

El aprendizaje federado permite a los usuarios crear aplicaciones sofisticadas que protegen la privacidad en una gran variedad de dominios. Algunos casos prácticos potenciales del aprendizaje federado son los siguientes:

Desarrollar aplicaciones móviles que prioricen la privacidad

Los usuarios pueden aprovechar el aprendizaje federado para crear aplicaciones móviles que aprendan de los datos de los usuarios sin poner en riesgo su privacidad. Esto es fundamental para funciones como el texto predictivo en teclados (por ejemplo, Gboard), las sugerencias de la siguiente palabra, las recomendaciones personalizadas y el reconocimiento de voz en el dispositivo. Al entrenar los modelos directamente en los dispositivos de los usuarios, los desarrolladores pueden mejorar la funcionalidad de las aplicaciones y la experiencia de usuario adaptándose a los patrones de interacción individuales, al tiempo que se aseguran de que los datos personales sensibles permanezcan locales y protegidos, en consonancia con normativas como el RGPD y la HIPAA. 

Crear soluciones de IA entre organizaciones

El aprendizaje federado permite a los usuarios crear sistemas de IA colaborativos para empresas en las que los datos están aislados en diferentes organizaciones. Esto es muy valioso en sectores como el de la sanidad y las finanzas, donde el uso compartido de datos está restringido por las normativas de privacidad o por cuestiones de propiedad. Los usuarios pueden crear plataformas que permitan a varias instituciones (por ejemplo, hospitales para investigación médica o bancos para la detección de fraude) entrenar modelos compartidos con sus datos combinados sin exponer información sin procesar. Esto fomenta la colaboración, mejora la precisión de los modelos mediante conjuntos de datos diversos y ayuda a cumplir los estrictos requisitos de cumplimiento.

Habilitar dispositivos perimetrales inteligentes en el Internet de las cosas (IoT) y el Internet de las cosas industrial (IIoT)

Para quienes trabajan con dispositivos del Internet de las cosas (IoT) y del Internet de las cosas industrial (IIoT), el aprendizaje federado ofrece una forma eficaz de integrar la inteligencia en el perímetro. Esto permite crear aplicaciones como el mantenimiento predictivo de equipos industriales, la detección de anomalías en redes de sensores o la optimización del uso de recursos en ciudades inteligentes. Los modelos se pueden entrenar con datos generados por sensores y maquinaria distribuidos directamente en los dispositivos perimetrales. Este enfoque reduce la sobrecarga de comunicación, permite obtener información valiosa en tiempo real y mantiene los datos operativos sensibles dentro de los límites seguros de la fábrica o el dispositivo, lo cual es esencial para proteger la información de propiedad exclusiva.

Crear plataformas de analíticas de datos seguras y conformes

Los usuarios pueden usar el aprendizaje federado para crear plataformas de analíticas de datos sólidas para empresas que necesiten extraer información valiosa de conjuntos de datos distribuidos y sensibles. Ayuda a garantizar que los modelos analíticos se puedan entrenar y ejecutar sin centralizar los datos, lo que contribuye significativamente al cumplimiento de normativas como el RGPD, la CCPA y la HIPAA. Esto permite a las organizaciones obtener información valiosa sobre su negocio, identificar tendencias o crear modelos predictivos en sus distintos departamentos o entidades, al tiempo que mantienen estrictos protocolos de gobernanza y seguridad de los datos.

Mejorar la ciberseguridad con el aprendizaje distribuido

El aprendizaje federado se puede aplicar para crear soluciones de ciberseguridad más resilientes y eficaces. Los modelos se pueden entrenar en varios endpoints (por ejemplo, ordenadores, servidores o dispositivos móviles) para detectar malware, identificar intrusiones en la red o señalar actividades sospechosas sin exfiltrar datos sensibles de sistemas individuales. Este enfoque de entrenamiento descentralizado puede dar lugar a capacidades de detección de amenazas más exhaustivas, ya que aprende de una mayor variedad de comportamientos de red y eventos de seguridad locales, todo ello respetando la privacidad de los usuarios o sistemas individuales. 

Frameworks de aprendizaje federado

Para que el aprendizaje federado sea más fácil de usar, han surgido varios frameworks comerciales y de código abierto. Estas herramientas ofrecen a los desarrolladores lo que necesitan para gestionar el entrenamiento en distintos dispositivos, cómo se comunican y cómo mantener la privacidad de los datos.

  • TensorFlow Federated (TFF): desarrollado por Google, TFF es un framework de código abierto para el aprendizaje automático y otros cálculos con datos descentralizados. Se integra a la perfección con TensorFlow y es excelente para simular el entrenamiento federado y crear nuevos algoritmos de aprendizaje federado. 
  • PySyft forma parte del ecosistema OpenMined y es una biblioteca de Python centrada en la IA que preserva la privacidad. Permite el aprendizaje federado y funciona con frameworks de aprendizaje profundo populares, como PyTorch y TensorFlow, y admite técnicas como la privacidad diferencial y la computación multipartita segura (SMPC).
  • Flower: Flower es un framework de aprendizaje federado independiente del framework y altamente personalizable. Funciona con cualquier biblioteca de aprendizaje automático, como PyTorch, TensorFlow y scikit-learn, lo que la hace versátil para equipos con diferentes pilas de aprendizaje automático. 
  • NVIDIA FLARE: este framework está diseñado para la imagenología médica y la genómica, y permite el desarrollo colaborativo de la IA en el ámbito sanitario. También se usa en aplicaciones como los vehículos autónomos.
  • FATE (Federated AI Technology Enabler): desarrollada por WeBank, FATE es una plataforma centrada en las empresas que admite el aprendizaje federado con técnicas de privacidad avanzadas, como el cifrado homomórfico. Ofrece una interfaz basada en la Web para gestionar flujos de trabajo. 
  • Substra: se desarrolló inicialmente para un proyecto de investigación médica con varios partners, pero ahora lo aloja la Fundación Linux. Es especialmente útil en el ámbito médico, ya que hace hincapié en la propiedad, la privacidad y la trazabilidad de los datos. 

El futuro del aprendizaje federado

El ámbito del aprendizaje federado está evolucionando rápidamente. Las investigaciones actuales se centran en abordar sus retos, como mejorar la solidez de los datos y la heterogeneidad de los sistemas, desarrollar técnicas de preservación de la privacidad más sofisticadas, crear protocolos de comunicación más eficientes y permitir experiencias de aprendizaje federado verdaderamente personalizadas. A medida que la IA se integra más en ámbitos sensibles, el aprendizaje federado está llamado a desempeñar un papel aún más crucial a la hora de habilitar una inteligencia segura, privada y colaborativa. Aunque actualmente muchos sistemas de aprendizaje federado se coordinan mediante un servidor central, es probable que en el futuro se exploren enfoques más descentralizados o de aprendizaje federado punto a punto, lo que mejorará la solidez y la escalabilidad, y eliminará los puntos únicos de fallo.

Ve un paso más allá

Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.

Google Cloud