What is an example of associative learning?

Aprendizaje Asociativo en Redes Neuronales

Valoración: 4.76 (7705 votos)

Adentrarse en el entrenamiento de modelos complejos como las Redes Neuronales Profundas (DNNs) en la era digital presenta desafíos únicos, especialmente cuando se trata de manejar grandes volúmenes de datos distribuidos y proteger la información sensible de los usuarios. Las tecnologías subyacentes buscan optimizar el rendimiento, la eficiencia y, crucialmente, la privacidad de estos procesos. Dentro de este contexto, diversas técnicas innovadoras han surgido para mejorar métricas clave y permitir el avance en la inteligencia artificial.

What is an example of associative learning?
Training an animal with treats when they are good or punishments when they are bad is one example of associative learning. Learning a new language by associating new vocabulary with images or the same word in a native language is another example.

Una de las áreas de mayor interés es cómo entrenar modelos utilizando datos que residen en múltiples dispositivos o servidores sin necesidad de centralizarlos. Aquí es donde Federated Learning (aprendizaje federado) juega un papel protagónico. Esta técnica se dedica a optimizar los problemas de privacidad dentro de las métricas de rendimiento. Es un enfoque prometedor para mantener la privacidad mientras se utiliza la entrada de múltiples clientes para entrenar un modelo compartido de DNN. En lugar de recopilar y enviar datos a un centro de datos centralizado para el entrenamiento, los clientes (por ejemplo, dispositivos móviles) conservan su información. El servidor entrena un modelo compartido agregando actualizaciones calculadas localmente.

Índice de Contenido

Federated Learning y el Método FedAvg

Los aspectos más difíciles de Federated learning son la optimización y la comunicación. La tarea principal es mejorar el gradiente de un modelo compartido mediante actualizaciones de gradiente distribuidas en dispositivos móviles para el problema de optimización. Para ello, se utiliza el Descenso de Gradiente Estocástico (SGD). SGD es un método de descenso de gradiente simple pero ampliamente utilizado que actualiza el gradiente en subconjuntos extremadamente pequeños (mini lotes) del conjunto de datos.

Se han desarrollado protocolos como el SGD (SSGD) que permiten a los clientes entrenar sus propios conjuntos de datos mientras comparten selectivamente pequeñas secciones de los parámetros importantes de su modelo con el agregador centralizado. SSGD aborda tanto la privacidad como la pérdida de entrenamiento debido a la facilidad con la que SGD puede paralelizarse y ejecutarse de forma asíncrona. La pérdida de entrenamiento se minimizará al compartir los modelos entre clientes mientras se mantiene la privacidad del cliente, en comparación con entrenar solo con sus propias entradas. Sin embargo, una deficiencia notada es que no se tienen en cuenta los datos desequilibrados y no idénticamente distribuidos (no-IID).

Como extensión, se ha propuesto un enfoque descentralizado conocido como Federated learning, y se presenta un método llamado FedAvg para el aprendizaje asociativo con un promedio de modelos iterativos soportados por una DNN. El promedio de versiones iterativas implica que los clientes reemplazan la versión regionalmente con el uso de un SGD de un paso, y el servidor luego promedia los modelos consecuentes utilizando pesos. Debido a que los datos dispersos pueden originarse de una variedad de fuentes, la optimización en este estudio destaca las características de datos desequilibrados y no-IID.

El problema de la eficiencia de la comunicación se plantea por la red inestable e impredecible. En Federated learning, cada cliente transmite al servidor un modelo completo o una actualización completa del modelo en una ronda estándar. Debido a las conexiones de red inestables, esta fase probablemente será el cuello de botella para modelos grandes. Se ha propuesto extender el cálculo de las actualizaciones locales del lado del cliente. Sin embargo, esto es impracticable cuando los recursos computacionales de los clientes son severamente limitados. En respuesta a este problema, se ofrecen dos técnicas de actualización novedosas: actualización estructurada y actualización esquematizada, para reducir los costos de comunicación.

En una actualización extremadamente estructurada, el modelo aprende una actualización directamente de un espacio limitado que se parametriza con un número reducido de variables, como máscaras aleatorias o de bajo rango. Al usar una actualización esquematizada, el modelo primero aprende una actualización completa del modelo y luego la comprime con una mezcla de cuantización, rotaciones aleatorias y submuestreo antes de enviarla al servidor. A pesar de que el método de Federated learning utiliza una arquitectura de aprendizaje profundo descentralizada, depende de un servidor central para agregar las actualizaciones locales.

Se considera también el caso de entrenar un modelo de DNN en una red completamente descentralizada, es decir, una red sin servidor central. Se presentan métodos bayesianos distribuidos en los que cada dispositivo cambia su creencia fusionando datos de sus vecinos en un solo salto para formar un modelo que se adapte mejor a las observaciones de la red. Además, utilizando la tecnología blockchain, se ofrece blockchain Federated learning (BlockFL), que utiliza blockchain para compartir y verificar las actualizaciones del modelo del dispositivo. BlockFL también se puede utilizar en una red completamente descentralizada, donde el modelo de machine learning se puede entrenar sin coordinación central, aunque algunos dispositivos no tengan su propio conjunto de datos de entrenamiento.

Control de Tasa de Agregación

Este enfoque se centra en reducir la sobrecarga de comunicación mientras se entrena un modelo de DNN. Un enfoque popular para entrenar modelos de aprendizaje profundo en un contexto de edge computing es primero entrenar modelos distribuidos localmente y luego agregar cambios de forma centralizada. La frecuencia de la adición de actualizaciones tiene un impacto importante en la sobrecarga de comunicación en esta situación. Como resultado, el proceso de agregación, incluyendo el contenido y la frecuencia de agregación, debe ser monitoreado de cerca.

Basándose en el conocimiento previo para el entrenamiento de modelos de DNN geo-distribuidos, se han construido sistemas que separan la comunicación dentro de un centro de datos de la comunicación entre centros de datos y permiten modelos alternativos de comunicación y consistencia para cada uno. Para ello, se han creado modelos para eliminar dinámicamente la comunicación poco importante entre centros de datos, con la frecuencia de agregación gobernada por un umbral de significancia. Sin embargo, algunos sistemas se concentran en centros de datos geo-distribuidos con capacidad ilimitada, lo que los hace inaplicables a nodos de edge computing con capacidad restringida.

Se presentan métodos que calculan el equilibrio más efectivo entre la actualización local y la agregación de parámetros globales dentro de un presupuesto de recursos dado, teniendo en cuenta la restricción de capacidad de los nodos de borde. La técnica se basa en el análisis de convergencia de descenso de gradiente distribuido y se puede utilizar para Federated learning en edge computing con convergencia probada. También se explora el problema de seleccionar un cliente con recursos limitados para realizar Federated learning en un entorno de computación de alta capacidad y recursos restringidos. En particular, existen protocolos de agregación de actualizaciones que permiten al servidor centralizado recopilar tantas actualizaciones de clientes como sea posible para mejorar el rendimiento del modelo ML.

Compresión de Gradiente

Otra técnica lógica para comprimir la actualización del modelo es la compresión de gradiente, que reduce los costos de comunicación impuestos por el entrenamiento descentralizado (es decir, la información de gradiente). Se han propuesto la cuantización de gradiente y la preservación de gradiente como soluciones a este problema. La cuantización de gradiente logra, en particular, la compresión con pérdida de vectores de gradiente cuantificando cada uno de sus componentes a un valor de bit finito de baja precisión. Enviar solo una parte de los vectores de gradiente ahorra el gradiente, minimizando así los costos de comunicación.

La compresibilidad del gradiente se demuestra por el hecho de que el 99.9% del intercambio en SGD distribuido (DSGD) es redundante. Se ha propuesto la compresión de gradiente profunda (DGC), que comprime gradientes para diversas CNNs y RNNs. DGC utiliza cuatro enfoques para mantener la precisión durante la compresión: corrección de impulso, corte de gradiente local, enmascaramiento del factor de impulso y entrenamiento de calentamiento. Se han sugerido las ventajas de SGD (ESGD), una serie de métodos dispersos que aseguran tanto la convergencia como el rendimiento práctico. ESGD comprende dos técnicas para mejorar la optimización de primer orden basada en gradientes de funciones objetivo estocásticas en edge computing: (1) identificar qué coordenadas de gradiente son relevantes y comunicar solo estas, y (2) construir impulso residual acumulado para rastrear coordenadas de gradiente residual obsoletas para evitar tasas de convergencia pobres causadas por actualizaciones infrecuentes.

Se ha proporcionado un breve estudio de convergencia del SGD disperso, donde el SGD se evalúa utilizando k-esparcificación o compresión (por ejemplo, top-k o random-k). Cuando está equipado con corrección de errores, esta técnica converge a la misma tasa que el SGD estándar según el estudio (manteniendo un registro de los errores acumulados en la memoria). Dicho de otra manera, la comunicación se reduce en un factor de la complejidad del problema (a menudo mucho más) mientras se mantiene convergente al mismo ritmo y se reduce el ancho de banda de transmisión cuantificando los gradientes a valores con baja precisión. Durante este tiempo, se crearon frameworks para el entrenamiento de compresión descentralizada y se introdujeron dos métodos alternativos para la compresión por extrapolación y la compresión diferencial. El examen de los dos métodos muestra que ambos convergen a O (1/nT), donde n es el número de clientes y T es el número de iteraciones. Esta es la tasa de convergencia para el entrenamiento centralizado de precisión.

What is associative learning in neural network?
Associative learning refers to the behavioral change that occurs when two or more stimuli are presented simultaneously.

Se implementó DSGD en el borde inalámbrico utilizando un servidor de parámetros remoto y se construyó DSGD en formatos digital y analógico. Con cada iteración del algoritmo DSGD, el DSGD digital (DDSGD) asume que los clientes están preocupados por el límite del rango de capacidad del canal de acceso múltiple (MAC), y, para comunicar sus estimaciones del gradiente dentro del presupuesto de bits permitido, emplea cuantización de gradiente y distribución de acumulación de errores. DSGD tiene un formato analógico (A-DSGD). Los clientes primero usan la acumulación de errores para esparcificar sus estimaciones de gradiente; luego, el ancho de banda del canal disponible dicta que se proyecten a un espacio de menor dimensión. Sin usar ninguna codificación digital, estas proyecciones se envían directamente a través del MAC.

División de DNN

La división de DNN se utiliza para proteger la privacidad. Al proporcionar datos parcialmente procesados en lugar de datos sin procesar, la división de DNN protege la privacidad de los usuarios. Tiene lugar entre los dispositivos superiores y el servidor de borde para permitir la protección de datos basada en el borde y el entrenamiento de preservación de modelos de DNN. Se han utilizado técnicas de privacidad diferencial para reducir el precio de los dispositivos móviles dividiendo una DNN después de la primera capa convolucional. La prueba en algunos estudios asegura que las tareas de entrenamiento se pueden externalizar a servidores de borde no confiables a través de un método de privacidad diferencial en la activación.

Se ha analizado el tema desde la perspectiva de los dispositivos móviles y los centros de datos en la nube. Para aprovechar el poder computacional de los centros de datos en la nube y evitar problemas de privacidad, se han desarrollado frameworks que dividen el modelo de DNN utilizando un enfoque de privacidad ligero. Estos frameworks logran la protección de datos a través de la cancelación aleatoria de datos y la adición de ruido aleatorio. Teniendo en cuenta el impacto perjudicial de la perturbación personal en los primeros datos, se ha mejorado la resistencia de la red del lado de la nube a los datos perturbados utilizando una técnica de entrenamiento ruidoso.

Con respecto al problema de la privacidad, se presenta una arquitectura híbrida usuario-nube que utiliza un extractor de características privado como componente central y divide modelos de profundidad grandes y complicados para el análisis colaborativo y la protección de la privacidad. El módulo de extracción de características en este framework está construido correctamente para volcar la característica privada que está restringida a retener la información inicial mientras rechaza todas las demás estadísticas sensibles. Para realizar mediciones sensibles inesperadas, se utilizan tres enfoques distintos: reducción de dimensionalidad, adición de ruido y ajuste fino siamés. Es asombroso observar cuán eficazmente este sistema maneja la gran computación de una DNN al emplear la división de DNN para la preservación de la privacidad. Aprovechando el hecho de que el edge computing generalmente implica manejar el procesamiento de DNN en un gran número de dispositivos, se utilizan comúnmente métodos de paralelización.

El paralelismo de datos y el paralelismo de modelos son dos tipos de paralelismos utilizados en el entrenamiento de DNN. El paralelismo de datos puede resultar en una sobrecarga de comunicación significativa, mientras que el paralelismo de modelos a menudo resulta en una subutilización significativa de los recursos computacionales. Para abordar estos problemas, el paralelismo de pipeline es una variación del paralelismo de modelos en la que se inyectan muchos micro-lotes directamente en el sistema para garantizar una utilización eficiente y concurrente de los recursos computacionales. Se han desarrollado tecnologías que permiten el entrenamiento en pipeline e identifican automáticamente cómo se divide sistemáticamente el trabajo de un modelo particular entre los nodos computacionales disponibles basándose en el paralelismo de pipeline. Estas tecnologías demuestran los beneficios de minimizar la sobrecarga de comunicación y utilizar eficazmente los recursos computacionales.

Transferencia de Conocimiento (Transfer Learning)

El enfoque de división de DNN está fuertemente vinculado a la transferencia de conocimiento o, en resumen, a Transfer Learning. Para reducir los costos de energía del entrenamiento del modelo de DNN en dispositivos inestables, primero entrenamos una red básica (red maestra) en un conjunto de datos básico y luego usamos las funciones recién aprendidas, es decir, transfer learning. Para ser entrenadas en un conjunto de datos objetivo, deben ser movidas a la segunda red objetivo (red estudiante). Este procedimiento intentará determinar si las características son universales (es decir, aplicables tanto a las tareas base como objetivo) en lugar de específicas de la tarea.

Se involucra una interacción del consenso a la particularidad con el cambio. El enfoque de transfer learning parece prometedor para el aprendizaje de dispositivos erráticos debido a los requisitos de recursos extremadamente bajos, pero falta un estudio intensivo de su eficacia. Para llenar este vacío, se han llevado a cabo investigaciones significativas sobre el rendimiento de transfer learning (en términos de precisión y velocidad de convergencia), teniendo en cuenta las diferentes topologías de las redes estudiantes y las diferentes estrategias para transferir información del maestro al estudiante. Algunas técnicas fallan estrepitosamente, e incluso algunas tienen un impacto perjudicial en el rendimiento.

Las capas planas de una DNN previamente entrenada en un conjunto de datos se tratan en el enfoque de transfer learning como un extractor de componentes general que se puede aplicar a diversas tareas objetivo o colecciones de información. El movimiento en el aprendizaje se utiliza en varios proyectos de investigación e inspira el desarrollo de diferentes sistemas a la luz de esta propiedad. Se ha utilizado esta técnica para determinar el nivel de simplificación excesiva y distinción de una propiedad individual. Algunos sistemas comparten una DNN entre el dispositivo móvil y el centro de datos en la nube, con las secciones planas de la DNN en el lado del dispositivo móvil transformando la información. La planificación de la división de la DNN en algunos sistemas está inspirada en transfer learning.

Entrenamiento Gossip

El entrenamiento gossip, que se basa en algoritmos gossip aleatorios y tiene como objetivo reducir la latencia de entrenamiento, podría ser una nueva técnica de entrenamiento descentralizado. El promedio gossip es un estudio temprano sobre algoritmos gossip aleatorios que tiene como objetivo llegar rápidamente a un acuerdo con los centros compartiendo los datos distribuidos. Debido a que no requieren nodos o variables centralizados, los algoritmos distribuidos gossip ofrecen asincronización completa y descentralización definitiva.

GoSGD es un método propuesto para el entrenamiento descentralizado y asíncrono de modelos de DNN. GoSGD es un sistema que mantiene una colección de hubs autónomos, cada uno de los cuales contiene un modelo de DNN y se repite en dos etapas: actualización de ángulo y actualización de mezcla. En la fase de actualización de gradiente, cada nodo cambia internamente su modelo de DNN alojado y, en el paso de actualización combinada, comparte su conocimiento con otro nodo seleccionado aleatoriamente. Los procesos se repiten hasta que todas las DNNs han llegado a un acuerdo. El objetivo de GoSGD es resolver el problema de acelerar el entrenamiento de redes convolucionales. En cambio, gossiping SGD, un algoritmo basado en gossip, está diseñado para preservar los beneficios de las técnicas de SGD tanto síncronas como asíncronas.

Gossiping SGD logra el entrenamiento asíncrono reemplazando la actividad de agregación all-diminish del entrenamiento coordinado con una técnica de tattle total. Cuando se aplican algoritmos gossip a las actualizaciones de SGD, ninguno experimenta una degradación significativa del rendimiento. Sin embargo, los cálculos triviales basados en tattle a gran escala conducen a irregularidades de correspondencia, convergencia deficiente y alta sobrecarga de correspondencia cuando se implementan en sistemas grandes. Para abordar estas dificultades, se ofrece GossipGraD, un cálculo SGD dependiente del protocolo de correspondencia tattle, que es útil para escalar cálculos de aprendizaje profundo para organizaciones a gran escala.

GossipGraD disminuye la complejidad general de correspondencia y tiene en cuenta la difusión para que los nodos computacionales compartan indirectamente sus actualizaciones (gradientes) después de cada paso. También tiene en cuenta la rotación de los socios de comunicación para soportar la difusión directa de gradientes y la mezcla de muestras distribuidas asíncronas durante la fase de avance para evitar el sobreajuste.

Si quieres conocer otros artículos parecidos a Aprendizaje Asociativo en Redes Neuronales puedes visitar la categoría Neurociencia.

Foto del avatar

Jesús Porta Etessam

Soy licenciado en Medicina y Cirugía y Doctor en Neurociencias por la Universidad Complutense de Madrid. Me formé como especialista en Neurología realizando la residencia en el Hospital 12 de Octubre bajo la dirección de Alberto Portera y Alfonso Vallejo, donde también ejercí como adjunto durante seis años y fui tutor de residentes. Durante mi formación, realicé una rotación electiva en el Memorial Sloan Kettering Cancer Center.Posteriormente, fui Jefe de Sección en el Hospital Clínico San Carlos de Madrid y actualmente soy jefe de servicio de Neurología en el Hospital Universitario Fundación Jiménez Díaz. Tengo el honor de ser presidente de la Sociedad Española de Neurología, además de haber ocupado la vicepresidencia del Consejo Español del Cerebro y de ser Fellow de la European Academy of Neurology.A lo largo de mi trayectoria, he formado parte de la junta directiva de la Sociedad Española de Neurología como vocal de comunicación, relaciones internacionales, director de cultura y vicepresidente de relaciones institucionales. También dirigí la Fundación del Cerebro.Impulsé la creación del grupo de neurooftalmología de la SEN y he formado parte de las juntas de los grupos de cefalea y neurooftalmología. Además, he sido profesor de Neurología en la Universidad Complutense de Madrid durante más de 16 años.

Subir