No es inteligencia artificial lo que me preocupa, es la estupidez humana”

Neil Jacobstein

El aprendizaje federado (también llamado aprendizaje colaborativo) es una técnica de aprendizaje automático en la que se entrena a un algoritmo a través de una arquitectura descentralizada que está formada por múltiples dispositivos los que contienen sus propios datos locales y privados. El aprendizaje federado es una herramienta muy potente en los sectores médicos, de defensa, telecomunicaciones, Internet de las cosas o farmacia entre otros muchos campos. El principio general de la herramienta consiste en entrenar modelos locales sobre muestras de datos también locales e intercambiar con cierta frecuencia parámetros (por ejemplo, los pesos de una red neuronal profunda) entre los nodos locales para generar un modelo global compartido por todos los nodos.

En 2016, Google propuso en Communication Efficient Learning of Deep Networks from Decentralized Data un primer ejemplo de modelos de aprendizaje automático, siendo ese el origen del aprendizaje federado, aunque el término no se termina de consolidar hasta la publicación de Federated Learning: Collaborative Machine Learning without Centralized Training Data. En 2017, Google publicó una actualización en su blog sobre un nuevo enfoque de aprendizaje automático. A diferencia del método estándar, que requiere que los datos estén centralizados en un solo lugar, su algoritmo era capaz de aprender de distintas fuentes de datos distribuidas en múltiples dispositivos. Gracias a ese enfoque, Google entrenó su modelo de texto predictivo a partir de todos los mensajes enviados y recibidos por los usuarios de Android, sin siquiera leerlos ni extraerlos de sus teléfonos.

A pesar de su inteligencia, en aquel momento el aprendizaje federado (como lo bautizaron los investigadores) generó poca influencia dentro de la comunidad de inteligencia artificial. Pero eso ha ido cambiado porque su estrategia para salvaguardar la privacidad daría respuesta al mayor obstáculo que enfrenta la adopción de inteligencia artificial en la atención médica. Según el profesor asociado de informática del MIT Ramesh Raskar, cuyas investigaciones se centran en la inteligencia artificial en el campo de la salud, «Hay una falsa dicotomía entre la privacidad de los datos del paciente y la utilidad de esos datos para la sociedad. La gente no se da cuenta de que la arena se está moviendo bajo sus pies y que, de hecho, ahora se puede obtener privacidad y utilidad al mismo tiempo.

La principal diferencia entre el aprendizaje federado y el distribuido radica en los supuestos que se hacen sobre las propiedades de los conjuntos de datos locales. Mientras que el aprendizaje distribuido tiene como objetivo original paralelizar la potencia de cálculo, el aprendizaje federado tiene como objetivo el entrenamiento en conjuntos de datos heterogéneos. Los usuarios que participan en el aprendizaje federado pueden ser poco fiables, ya que están sujetos a más fallos o abandonos.

El funcionamiento general es el siguiente: el dispositivo descarga del servidor central el modelo actualizado y entrena al modelo utilizando los datos locales sin enviar nada al servidor, es decir, cada dispositivo cuenta con un batch de datos diferente. La única condición es que la estructura de los datos de cada nodo/dispositivo/usuario sea la misma. Una vez se ha actualizado el modelo, cada dispositivo devuelve al servidor central los cambios en los coeficientes encriptados, de esta forma los datos de los usuarios nunca salen de los dispositivos. El servidor central combina todos los modelos individuales y actualiza el modelo general que vuelve a ser enviado a los dispositivos. Existen tres formas de implementarlo:

Algoritmo Centralizado: Se utiliza un servidor central que ejerce como director para coordinar los pasos del algoritmo y coordinar al resto de los nodos. Ese servidor es el responsable de la elección de los nodos participantes al inicio del algoritmo, de su entrenamiento y de las actualizaciones pertinentes durante las corridas del algoritmo. El principal problema de la distribución centralizada es que todos los nodos participantes tienen que enviar actualizaciones a una única entidad (nodo central) por lo que ese se puede convertir en un cuello de botella para el sistema.

Algoritmo Descentralizado: Éste a diferencia del centralizado, no tiene un servidor central que gobierne el algoritmo. En ese entorno se sigue una topología de red, donde serán los propios nodos quienes se coordinen entre sí, sin la necesidad de ser gobernados por un servidor central. De esa forma se evita el problema del cuello de botella que ocurría en la arquitectura centralizada. No obstante, el uso de esa descentralización provocará una serie de complicaciones que pueden afectar en el proceso de aprendizaje

Algoritmo Heterogéneo: Un número cada vez mayor de dominios de aplicación implican un gran conjunto de clientes heterogéneos, ese caso se puede dar en dispositivos como teléfonos móviles o dispositivos de Internet de las cosas. La mayoría de las estrategias de aprendizaje federado existentes asumen que los modelos locales comparten la misma arquitectura de modelo global.

Actualmente este tipo de aprendizaje se utiliza principalmente en tres áreas. Transporte: Conducción autónoma, Industria 4.0: Fabricación Inteligente y Medicina.

Transporte: Conducción autónoma

La conducción autónoma de un auto necesita multitud de tecnologías de aprendizaje automático para funcionar: Visión para analizar obstáculos, aprendizaje para la adaptación de la velocidad al entorno, y otros. Debido a la cantidad de vehículos autónomos que se usarán, y la necesidad imperiosa de respuestas rápidas, el enfoque tradicional de aprendizaje en la nube generaría grandes riesgos de seguridad. El aprendizaje federado puede ser una solución para limitar ese volumen de transferencia de datos y acelerar los procesos de aprendizaje de los autos autónomos.

Industria 4.0: Fabricación Inteligente

La industria 4.0 tiene una tendencia generalizada a la adopción de técnicas de aprendizaje automático, con el objetivo de mejorar la eficiencia de los procesos industriales al tiempo que garantiza la seguridad. Sin embargo, pueden existir problemas con la privacidad de los datos confidenciales que las empresas poseen. Debido a esto, el aprendizaje federado puede resolver ese problema al no revelar ningún dato sensible, al trabajarlos localmente.

Medicina

El aprendizaje federado ha encontrado en el campo médico un sector en el que desplegar su máximo potencial, debido a que maneja los datos localmente, garantizando así la confidencialidad en el tratamiento de éstos. Con un aprendizaje tradicional en la nube, todos los datos se verían expuestos de una forma muy clara. Este nuevo aprendizaje, puede entrenar las redes de los hospitales, para utilizar sus inmensas bases de datos como entrenamiento sin comprometer la seguridad de los mismos.

Los algoritmos actuales requieren una gran cantidad de datos para aprender; en la mayoría de los casos, cuantos más datos, mejor. Los hospitales y las instituciones de investigación deberían combinar todas sus bases para conseguir un conjunto de datos lo suficientemente grande y diverso para resultar útil. Pero, como era de esperar, la idea de centralizar mucha información médica confidencial en manos de empresas tecnológicas genera mucho rechazo. Lo que ha originado que la investigación sobre los usos diagnósticos de la inteligencia artificial haya mantenido un alcance y aplicación limitados. No se puede implementar un modelo de detección de cáncer de mama en todo el mundo, que solo se ha entrenado en unos pocos miles de pacientes del mismo hospital. Pero todo eso podría cambiar con el aprendizaje federado.

Esas herramientas pueden entrenar a un algoritmo con datos almacenados en múltiples hospitales distintos sin que esos datos salgan de sus instalaciones ni tengan que ser copiados a los servidores de una empresa tecnológica. Para ello, primero hay que entrenar a distintos modelos separados en cada hospital con los datos locales disponibles. Luego, todos los modelos se envían a un servidor central donde se combinan en un modelo maestro. A medida que cada hospital adquiere más datos, puede descargar el último modelo maestro, actualizarlo con su nueva información y enviarlo de vuelta al servidor central. Durante ese proceso, los datos sin procesar nunca se intercambian, lo único que se transfiere son los algoritmos, que no pueden diseñarse a la inversa para revelar esos datos.

Pero como siempre en la vida, existen algunos retos para el aprendizaje federado. Por un lado, la combinación de modelos separados corre el riesgo de crear un modelo maestro peor que cada una de sus partes. Los investigadores están refinando las técnicas existentes para asegurarse de que eso no sucede. Por otro, el aprendizaje federado requiere que cada hospital tenga la infraestructura y el personal cualificado para entrenar los algoritmos de aprendizaje automático. También hay fricciones en la estandarización de la recopilación de datos en todos los hospitales.

Varias compañías, como IBM Research, han empezado a trabajar para aplicar el aprendizaje federado en la asistencia médica y la salud del mundo real. La start-up francesa Owki, respaldada por Google Ventures, ha utilizado este método para predecir la resistencia de los pacientes a diferentes tratamientos y medicamentos, así como sus tasas de supervivencia para ciertas enfermedades. La compañía ha hablado con varios centros de investigación del cáncer en Estados Unidos y Europa para aplicar sus datos a esos modelos. Sus creadores explican que entrenarán a un nuevo algoritmo para que analice las probabilidades de supervivencia para una forma rara de cáncer a partir de las imágenes patológicas de los pacientes. Ese estudio dará un gran paso hacia la validación de los beneficios de esa técnica en un entorno real.

Existen tres tipos principales de aprendizaje federado:

  1. Horizontal: donde el modelo está entrenado en conjuntos de datos similares. Por ejemplo: En Deep Federated Learning for Autonomous Driving se propone una estructura peer-to-peer que utiliza toda la información de los usuarios sin comprometer la privacidad, y que además consigue mejorar ligeramente los resultados frente el estado del arte en modelos centralizados.
  2. Vertical: donde los conjuntos de datos son complementarios. Por ejemplo, las reseñas de libros y películas se pueden combinar para predecir los intereses musicales de alguien. En el ámbito médico, el especialista cuenta con resultados concretos de las pruebas, lo que sería la salida del modelo de clasificación, y el centro de medicina primaria cuenta con el histórico general del usuario, las características del modelo. Para poder realizar una predicción es necesario que el mismo identificador se encuentre en ambas bases de datos.
  1. Aprendizaje de transferencia federado: donde un modelo que realiza una tarea se entrena en un conjunto de datos diferente para realizar otra tarea. Por ejemplo, los bancos podrían entrenar un modelo de inteligencia artificial para detectar el fraude y luego reutilizarlo en otro lugar, o una aseguradora y un banco que compartan información, si la aseguradora tuviese un modelo de riesgo y cruzara información con el banco quedaría al descubierto cuáles de sus clientes tienen cuenta en el banco y, por lo tanto, está consiguiendo más información de la que el banco, en principio, debería poner a su disposición.

Estas técnicas todavía se encuentran en etapas incipientes de desarrollo y su utilización no está extendida en todos los ámbitos, siendo todavía su nicho de mercado principal los asistentes personales como Siri o Alexa. En los próximos años se espera un gran desarrollo de esas tecnologías, aprovechando la posibilidad de utilizar datos de diferentes empresas sin perder la confidencialidad en los mismos, se crearán modelos que estén mejor preparados para el mundo real.

Esto es solo el comienzo; a muchas industrias y sectores, que actualmente no tienen datos suficientes por si solos, el aprendizaje federado podría permitirles trabajar juntos y crear herramientas que podrían transformar sus operaciones utilizando datos de sus dispositivos de Internet de las cosas en el borde entre otros.

Beneficios del aprendizaje federado

Dado que los modelos están entrenados en el dispositivo, las aplicaciones pueden continuar funcionando incluso cuando el dispositivo no tiene acceso a Internet. Los usuarios que tienen conexiones de baja calidad también apreciarán la capacidad del aprendizaje federado para ahorrar ancho de banda. En muchos casos, la inferencia en el dispositivo es mucho más eficiente desde el punto de vista energético que el envío constante de datos a la Nube. Dado que los datos de entrenamiento permanecen en el dispositivo, también se pueden usar para entrenar modelos para brindar una experiencia personalizada.