Existen muchos tipos de redes neuronales artificiales ( ANN ).
Las redes neuronales artificiales son modelos computacionales inspirados en las redes neuronales biológicas y se utilizan para aproximar funciones que generalmente son desconocidas. En particular, se inspiran en el comportamiento de las neuronas y las señales eléctricas que transmiten entre la entrada (como de los ojos o las terminaciones nerviosas de la mano), el procesamiento y la salida del cerebro (como la reacción a la luz, el tacto o el calor). La forma en que las neuronas se comunican semánticamente es un área de investigación en curso. [1] [2] [3] [4] La mayoría de las redes neuronales artificiales solo tienen cierta semejanza con sus contrapartes biológicas más complejas, pero son muy efectivas en sus tareas previstas (por ejemplo, clasificación o segmentación).
Algunas redes neuronales artificiales son sistemas adaptativos y se utilizan, por ejemplo, para modelar poblaciones y entornos que cambian constantemente.
Las redes neuronales pueden estar basadas en hardware (las neuronas están representadas por componentes físicos) o en software (modelos de computadora) y pueden utilizar una variedad de topologías y algoritmos de aprendizaje.
La red neuronal de propagación hacia adelante fue el primer tipo de red y el más simple. En esta red, la información se mueve solo desde la capa de entrada directamente a través de cualquier capa oculta hasta la capa de salida sin ciclos/bucles. Las redes de propagación hacia adelante se pueden construir con varios tipos de unidades, como las neuronas binarias McCulloch-Pitts , la más simple de las cuales es el perceptrón . Las neuronas continuas, frecuentemente con activación sigmoidea , se utilizan en el contexto de la retropropagación .
El método de manejo de datos en grupo (GMDH) [5] ofrece una optimización de modelos estructurales y paramétricos totalmente automática. Las funciones de activación de nodos son polinomios de Kolmogorov-Gabor que permiten adiciones y multiplicaciones. Utiliza un perceptrón multicapa profundo con ocho capas. [6] Es una red de aprendizaje supervisado que crece capa por capa, donde cada capa se entrena mediante análisis de regresión . Los elementos inútiles se detectan utilizando un conjunto de validación y se podan mediante regularización . El tamaño y la profundidad de la red resultante dependen de la tarea. [7]
Un autocodificador, autoasociador o red Diabolo [8] : 19 es similar al perceptrón multicapa (MLP): con una capa de entrada, una capa de salida y una o más capas ocultas que las conectan. Sin embargo, la capa de salida tiene el mismo número de unidades que la capa de entrada. Su propósito es reconstruir sus propias entradas (en lugar de emitir un valor objetivo). Por lo tanto, los autocodificadores son modelos de aprendizaje no supervisados . Un autocodificador se utiliza para el aprendizaje no supervisado de codificaciones eficientes , [9] [10] típicamente con el propósito de reducción de dimensionalidad y para aprender modelos generativos de datos. [11] [12]
Una red neuronal probabilística (PNN) es una red neuronal de propagación hacia adelante de cuatro capas. Las capas son Entrada, patrón oculto/suma y salida. En el algoritmo PNN, la función de distribución de probabilidad (PDF) principal de cada clase se aproxima mediante una ventana de Parzen y una función no paramétrica. Luego, utilizando la PDF de cada clase, se estima la probabilidad de clase de una nueva entrada y se emplea la regla de Bayes para asignarla a la clase con la probabilidad posterior más alta. [13] Se derivó de la red bayesiana [14] y un algoritmo estadístico llamado análisis discriminante Kernel Fisher . [15] Se utiliza para la clasificación y el reconocimiento de patrones.
Una red neuronal con retardo temporal (TDNN) es una arquitectura de retroalimentación para datos secuenciales que reconoce características independientemente de la posición de la secuencia. Para lograr la invariancia del desplazamiento temporal, se agregan retardos a la entrada para que se analicen juntos varios puntos de datos (puntos en el tiempo).
Suele formar parte de un sistema de reconocimiento de patrones más amplio. Se ha implementado utilizando una red de perceptrones cuyos pesos de conexión se entrenaron con retropropagación (aprendizaje supervisado). [16]
Una red neuronal convolucional (CNN, o ConvNet o invariante de desplazamiento o invariante espacial) es una clase de red profunda, compuesta por una o más capas convolucionales con capas completamente conectadas (que coinciden con las de las ANN típicas) en la parte superior. [17] [18] Utiliza pesos vinculados y capas de agrupación . En particular, agrupación máxima. [19] A menudo se estructura a través de la arquitectura convolucional de Fukushima. [20] Son variaciones de perceptrones multicapa que utilizan un preprocesamiento mínimo . [21] Esta arquitectura permite que las CNN aprovechen la estructura 2D de los datos de entrada.
Su patrón de conectividad unitaria se inspira en la organización de la corteza visual . Las unidades responden a estímulos en una región restringida del espacio conocida como campo receptivo . Los campos receptivos se superponen parcialmente, cubriendo todo el campo visual . La respuesta unitaria se puede aproximar matemáticamente mediante una operación de convolución . [22]
Las CNN son adecuadas para procesar datos visuales y otros datos bidimensionales. [23] [24] Han mostrado resultados superiores tanto en aplicaciones de imágenes como de voz. Se pueden entrenar con retropropagación estándar. Las CNN son más fáciles de entrenar que otras redes neuronales regulares, profundas y de propagación hacia adelante y tienen muchos menos parámetros para estimar. [25]
Las redes neuronales en cápsula (CapsNet) agregan estructuras llamadas cápsulas a una CNN y reutilizan la salida de varias cápsulas para formar representaciones más estables (con respecto a varias perturbaciones). [26]
Ejemplos de aplicaciones en visión artificial incluyen DeepDream [27] y navegación robótica . [28] Tienen amplias aplicaciones en reconocimiento de imágenes y videos , sistemas de recomendación [29] y procesamiento de lenguaje natural . [30]
Una red de apilamiento profundo (DSN) [31] (red convexa profunda) se basa en una jerarquía de bloques de módulos de red neuronal simplificados. Fue introducida en 2011 por Deng y Yu. [32] Formula el aprendizaje como un problema de optimización convexa con una solución de forma cerrada , enfatizando la similitud del mecanismo con la generalización apilada . [33] Cada bloque DSN es un módulo simple que es fácil de entrenar por sí mismo de manera supervisada sin retropropagación para todos los bloques. [8]
Cada bloque consta de un perceptrón multicapa simplificado (MLP) con una sola capa oculta. La capa oculta h tiene unidades sigmoideas logísticas y la capa de salida tiene unidades lineales. Las conexiones entre estas capas están representadas por la matriz de pesos U; las conexiones de entrada a capa oculta tienen la matriz de pesos W. Los vectores de destino t forman las columnas de la matriz T y los vectores de datos de entrada x forman las columnas de la matriz X. La matriz de unidades ocultas es . Los módulos se entrenan en orden, por lo que los pesos de la capa inferior W se conocen en cada etapa. La función realiza la operación sigmoidea logística elemento por elemento . Cada bloque estima la misma clase de etiqueta final y y su estimación se concatena con la entrada original X para formar la entrada expandida para el siguiente bloque. Por lo tanto, la entrada del primer bloque contiene solo los datos originales, mientras que la entrada de los bloques posteriores agrega la salida de los bloques anteriores. Luego, aprender la matriz de pesos de la capa superior U dados otros pesos en la red se puede formular como un problema de optimización convexa:
que tiene una solución de forma cerrada. [31]
A diferencia de otras arquitecturas profundas, como las DBN , el objetivo no es descubrir la representación de características transformadas . La estructura de la jerarquía de este tipo de arquitectura hace que el aprendizaje paralelo sea sencillo, como un problema de optimización en modo por lotes. En tareas puramente discriminativas , las DSN superan a las DBN convencionales.
Esta arquitectura es una extensión de DSN. Ofrece dos mejoras importantes: utiliza información de orden superior de las estadísticas de covarianza y transforma el problema no convexo de una capa inferior en un subproblema convexo de una capa superior. [34] Las TDSN utilizan estadísticas de covarianza en un mapeo bilineal de cada uno de dos conjuntos distintos de unidades ocultas en la misma capa a predicciones, a través de un tensor de tercer orden .
Si bien la paralelización y la escalabilidad no se consideran seriamente en las DNN convencionales , [35] [36] [37] todo el aprendizaje para DSN y TDSN se realiza en modo por lotes, para permitir la paralelización. [32] [31] La paralelización permite escalar el diseño a arquitecturas y conjuntos de datos más grandes (más profundos).
La arquitectura básica es adecuada para diversas tareas como clasificación y regresión .
Las redes de retroalimentación reguladora comenzaron como un modelo para explicar los fenómenos cerebrales que se encuentran durante el reconocimiento, como la explosión en toda la red y la dificultad con la similitud que se encuentra universalmente en el reconocimiento sensorial. Se crea un mecanismo para realizar la optimización durante el reconocimiento utilizando conexiones de retroalimentación inhibitoria con las mismas entradas que las activan. Esto reduce los requisitos durante el aprendizaje y permite que el aprendizaje y la actualización sean más fáciles sin dejar de poder realizar un reconocimiento complejo.
Una red de retroalimentación reguladora realiza inferencias utilizando retroalimentación negativa . [38] La retroalimentación se utiliza para encontrar la activación óptima de las unidades. Es más similar a un método no paramétrico , pero se diferencia del vecino más cercano K en que emula matemáticamente las redes de retroalimentación.
Las funciones de base radial son funciones que tienen un criterio de distancia con respecto a un centro. Las funciones de base radial se han aplicado como reemplazo de la característica de transferencia de capa oculta sigmoidea en perceptrones multicapa. Las redes RBF tienen dos capas: en la primera, la entrada se asigna a cada RBF en la capa "oculta". La RBF elegida suele ser gaussiana. En los problemas de regresión, la capa de salida es una combinación lineal de valores de capa oculta que representan la salida media prevista. La interpretación de este valor de capa de salida es la misma que la de un modelo de regresión en estadística. En los problemas de clasificación, la capa de salida suele ser una función sigmoidea de una combinación lineal de valores de capa oculta, que representa una probabilidad posterior. El rendimiento en ambos casos suele mejorarse mediante técnicas de contracción , conocidas como regresión de cresta en estadística clásica. Esto corresponde a una creencia previa en valores de parámetros pequeños (y, por lo tanto, funciones de salida suaves) en un marco bayesiano .
Las redes RBF tienen la ventaja de evitar los mínimos locales de la misma manera que los perceptrones multicapa. Esto se debe a que los únicos parámetros que se ajustan en el proceso de aprendizaje son el mapeo lineal de la capa oculta a la capa de salida. La linealidad asegura que la superficie de error sea cuadrática y, por lo tanto, tenga un único mínimo que se pueda encontrar fácilmente. En los problemas de regresión, esto se puede encontrar en una operación matricial. En los problemas de clasificación, la no linealidad fija introducida por la función de salida sigmoidea se maneja de manera más eficiente utilizando mínimos cuadrados reponderados iterativamente .
Las redes RBF tienen la desventaja de requerir una buena cobertura del espacio de entrada mediante funciones de base radiales. Los centros RBF se determinan con referencia a la distribución de los datos de entrada, pero sin referencia a la tarea de predicción. Como resultado, los recursos de representación pueden desperdiciarse en áreas del espacio de entrada que son irrelevantes para la tarea. Una solución común es asociar cada punto de datos con su propio centro, aunque esto puede expandir el sistema lineal a resolver en la capa final y requiere técnicas de contracción para evitar el sobreajuste .
La asociación de cada dato de entrada con una función de base de referencia (RBF) conduce naturalmente a métodos de núcleo como las máquinas de vectores de soporte (SVM) y los procesos gaussianos (la función de base de referencia es la función de núcleo ). Los tres enfoques utilizan una función de núcleo no lineal para proyectar los datos de entrada en un espacio donde el problema de aprendizaje se puede resolver utilizando un modelo lineal. Al igual que los procesos gaussianos, y a diferencia de las SVM, las redes RBF se entrenan típicamente en un marco de máxima verosimilitud maximizando la probabilidad (minimizando el error). Las SVM evitan el sobreajuste maximizando en su lugar un margen . Las SVM superan a las redes RBF en la mayoría de las aplicaciones de clasificación. En aplicaciones de regresión pueden ser competitivas cuando la dimensionalidad del espacio de entrada es relativamente pequeña.
Las redes neuronales RBF son conceptualmente similares a los modelos de K-vecinos más cercanos (k-NN). La idea básica es que entradas similares producen salidas similares.
Supongamos que cada caso de un conjunto de entrenamiento tiene dos variables predictoras, x e y, y que la variable objetivo tiene dos categorías, positiva y negativa. Dado un nuevo caso con valores predictores x=6, y=5,1, ¿cómo se calcula la variable objetivo?
La clasificación del vecino más cercano realizada para este ejemplo depende de cuántos puntos vecinos se consideren. Si se utiliza la clasificación 1-NN y el punto más cercano es negativo, entonces el nuevo punto debe clasificarse como negativo. Alternativamente, si se utiliza la clasificación 9-NN y se consideran los 9 puntos más cercanos, entonces el efecto de los 8 puntos positivos circundantes puede superar al 9.º punto (negativo) más cercano.
Una red RBF posiciona las neuronas en el espacio descrito por las variables predictoras (x, y en este ejemplo). Este espacio tiene tantas dimensiones como variables predictoras. La distancia euclidiana se calcula desde el nuevo punto hasta el centro de cada neurona, y se aplica una función de base radial (RBF, también llamada función kernel) a la distancia para calcular el peso (influencia) de cada neurona. La función de base radial se llama así porque la distancia del radio es el argumento de la función.
El valor del nuevo punto se obtiene sumando los valores de salida de las funciones RBF multiplicados por los pesos calculados para cada neurona.
La función de base radial de una neurona tiene un centro y un radio (también llamado dispersión). El radio puede ser diferente para cada neurona y, en las redes RBF generadas por DTREG, el radio puede ser diferente en cada dimensión.
A mayor dispersión, las neuronas situadas a distancia de un punto tienen mayor influencia.
Las redes RBF tienen tres capas:
Los siguientes parámetros están determinados por el proceso de entrenamiento:
Se han utilizado varios métodos para entrenar redes RBF. Un enfoque utiliza primero la agrupación en K-medias para encontrar los centros de los clústeres que luego se utilizan como centros para las funciones RBF. Sin embargo, la agrupación en K-medias requiere un gran esfuerzo computacional y, a menudo, no genera la cantidad óptima de centros. Otro enfoque consiste en utilizar un subconjunto aleatorio de los puntos de entrenamiento como centros.
DTREG utiliza un algoritmo de entrenamiento que utiliza un enfoque evolutivo para determinar los puntos centrales y las distribuciones óptimas para cada neurona. Determina cuándo dejar de agregar neuronas a la red monitoreando el error estimado de dejar una fuera (LOO) y finalizando cuando el error LOO comienza a aumentar debido al sobreajuste.
El cálculo de los pesos óptimos entre las neuronas de la capa oculta y la capa de suma se realiza mediante regresión de cresta. Un procedimiento iterativo calcula el parámetro Lambda de regularización óptimo que minimiza el error de validación cruzada generalizada (GCV).
Una GRNN es una red neuronal de memoria asociativa similar a la red neuronal probabilística , pero se utiliza para regresión y aproximación en lugar de clasificación.
Una red de creencias profundas (DBN) es un modelo generativo probabilístico compuesto por múltiples capas ocultas. Puede considerarse una composición de módulos de aprendizaje simples. [39]
Una red neuronal profunda (DBN) se puede utilizar para entrenar previamente de forma generativa una red neuronal profunda (DNN) utilizando los pesos aprendidos de la DBN como pesos iniciales de la DNN. Varios algoritmos discriminativos pueden ajustar estos pesos. Esto es particularmente útil cuando los datos de entrenamiento son limitados, porque los pesos mal inicializados pueden dificultar significativamente el aprendizaje. Estos pesos entrenados previamente terminan en una región del espacio de pesos que está más cerca de los pesos óptimos que las opciones aleatorias. Esto permite tanto un mejor modelado como una convergencia final más rápida. [40]
Las redes neuronales recurrentes (RNN) propagan datos hacia adelante, pero también hacia atrás, desde etapas de procesamiento posteriores a etapas anteriores. Las RNN se pueden utilizar como procesadores de secuencias generales.
Esta arquitectura se desarrolló en la década de 1980. Su red crea una conexión dirigida entre cada par de unidades. Cada una tiene una activación (salida) de valor real (más que cero o uno) que varía con el tiempo. Cada conexión tiene un peso de valor real modificable. Algunos de los nodos se denominan nodos etiquetados, otros nodos de salida y el resto nodos ocultos.
Para el aprendizaje supervisado en entornos de tiempo discreto, las secuencias de entrenamiento de vectores de entrada de valor real se convierten en secuencias de activaciones de los nodos de entrada, un vector de entrada a la vez. En cada paso de tiempo, cada unidad que no es de entrada calcula su activación actual como una función no lineal de la suma ponderada de las activaciones de todas las unidades de las que recibe conexiones. El sistema puede activar explícitamente (independientemente de las señales entrantes) algunas unidades de salida en ciertos pasos de tiempo. Por ejemplo, si la secuencia de entrada es una señal de voz correspondiente a un dígito hablado, la salida de destino final al final de la secuencia puede ser una etiqueta que clasifique el dígito. Para cada secuencia, su error es la suma de las desviaciones de todas las activaciones calculadas por la red a partir de las señales de destino correspondientes. Para un conjunto de entrenamiento de numerosas secuencias, el error total es la suma de los errores de todas las secuencias individuales.
Para minimizar el error total, se puede utilizar el descenso de gradiente para cambiar cada peso en proporción a su derivada con respecto al error, siempre que las funciones de activación no lineales sean diferenciables . El método estándar se llama " retropropagación a través del tiempo " o BPTT, una generalización de la retropropagación para redes de propagación hacia adelante. [41] [42] Una variante en línea más costosa computacionalmente se llama " aprendizaje recurrente en tiempo real " o RTRL. [43] [44] A diferencia de BPTT, este algoritmo es local en el tiempo pero no local en el espacio . [45] [46] Existe un híbrido en línea entre BPTT y RTRL con complejidad intermedia, [47] [48] con variantes para tiempo continuo. [49] Un problema importante con el descenso de gradiente para arquitecturas RNN estándar es que los gradientes de error desaparecen exponencialmente rápidamente con el tamaño del desfase temporal entre eventos importantes. [50] [51] La arquitectura de memoria a corto plazo larga supera estos problemas. [52]
En los entornos de aprendizaje por refuerzo , ningún profesor proporciona señales objetivo. En su lugar, se utiliza ocasionalmente una función de aptitud , una función de recompensa o una función de utilidad para evaluar el rendimiento, que influye en su flujo de entrada a través de unidades de salida conectadas a actuadores que afectan al entorno. A menudo se utilizan variantes de computación evolutiva para optimizar la matriz de ponderaciones.
La red de Hopfield (al igual que otras redes similares basadas en atractores) es de interés histórico, aunque no es una red neuronal recurrente general, ya que no está diseñada para procesar secuencias de patrones. En cambio, requiere entradas estacionarias. Es una red neuronal recurrente en la que todas las conexiones son simétricas, lo que garantiza su convergencia. Si las conexiones se entrenan mediante el aprendizaje hebbiano, la red de Hopfield puede funcionar como una memoria robusta direccionable por contenido , resistente a la alteración de las conexiones.
La máquina de Boltzmann puede considerarse como una red de Hopfield ruidosa. Es una de las primeras redes neuronales que demuestra el aprendizaje de variables latentes (unidades ocultas). Al principio, la simulación del aprendizaje automático de Boltzmann era lenta, pero el algoritmo de divergencia contrastiva acelera el entrenamiento de las máquinas de Boltzmann y los productos de expertos .
El mapa autoorganizado (SOM) utiliza aprendizaje no supervisado . Un conjunto de neuronas aprende a mapear puntos en un espacio de entrada a coordenadas en un espacio de salida. El espacio de entrada puede tener dimensiones y topología diferentes a las del espacio de salida, y el SOM intenta preservarlas.
La cuantificación vectorial de aprendizaje (LVQ) puede interpretarse como una arquitectura de red neuronal. Los representantes prototípicos de las clases se parametrizan, junto con una medida de distancia adecuada, en un esquema de clasificación basado en la distancia.
Las redes recurrentes simples tienen tres capas, con la adición de un conjunto de "unidades de contexto" en la capa de entrada. Estas unidades se conectan desde la capa oculta o la capa de salida con un peso fijo de uno. [53] En cada paso de tiempo, la entrada se propaga de manera estándar hacia adelante y luego se aplica una regla de aprendizaje similar a la retropropagación (sin realizar un descenso de gradiente ). Las conexiones hacia atrás fijas dejan una copia de los valores anteriores de las unidades ocultas en las unidades de contexto (ya que se propagan sobre las conexiones antes de que se aplique la regla de aprendizaje).
La computación de yacimientos es un marco computacional que puede considerarse una extensión de las redes neuronales . [54] Normalmente, se introduce una señal de entrada en un sistema dinámico fijo (aleatorio) llamado yacimiento , cuya dinámica asigna la entrada a una dimensión superior. Se entrena un mecanismo de lectura para asignar el yacimiento a la salida deseada. El entrenamiento se realiza solo en la etapa de lectura. Las máquinas de estado líquido [55] son un tipo de computación de yacimientos. [56]
La red de estado de eco (ESN) emplea una capa oculta aleatoria escasamente conectada. Los pesos de las neuronas de salida son la única parte de la red que se entrena. Las ESN son buenas para reproducir ciertas series temporales . [57]
La memoria de corto plazo a largo plazo (LSTM) [52] evita el problema del gradiente de desaparición . Funciona incluso con grandes retrasos entre las entradas y puede manejar señales que mezclan componentes de baja y alta frecuencia. La RNN LSTM superó a otras RNN y otros métodos de aprendizaje de secuencias como HMM en aplicaciones como el aprendizaje de idiomas [58] y el reconocimiento de escritura a mano conectada. [59]
Las RNN bidireccionales, o BRNN, utilizan una secuencia finita para predecir o etiquetar cada elemento de una secuencia basándose tanto en el contexto pasado como en el futuro del elemento. [60] Esto se hace sumando las salidas de dos RNN: una que procesa la secuencia de izquierda a derecha, la otra de derecha a izquierda. Las salidas combinadas son las predicciones de las señales objetivo proporcionadas por el profesor. Esta técnica resultó ser especialmente útil cuando se combinó con LSTM. [61]
La RNN jerárquica conecta elementos de varias maneras para descomponer el comportamiento jerárquico en subprogramas útiles. [62] [63]
Un distrito de redes neuronales convencionales, red neuronal artificial estocástica utilizada como aproximación a funciones aleatorias.
Una RNN (a menudo una LSTM) en la que una serie se descompone en una serie de escalas, donde cada escala informa la longitud primaria entre dos puntos consecutivos. Una escala de primer orden consta de una RNN normal, una de segundo orden consta de todos los puntos separados por dos índices, y así sucesivamente. La RNN de orden N conecta el primer y el último nodo. Los resultados de todas las distintas escalas se tratan como un Comité de Máquinas y las puntuaciones asociadas se utilizan genéticamente para la siguiente iteración.
Los estudios biológicos han demostrado que el cerebro humano funciona como una colección de pequeñas redes. Esta constatación dio origen al concepto de redes neuronales modulares , en las que varias redes pequeñas cooperan o compiten para resolver problemas.
Un comité de máquinas (CoM) es una colección de diferentes redes neuronales que juntas "votan" sobre un ejemplo determinado. Esto generalmente da un resultado mucho mejor que las redes individuales. Debido a que las redes neuronales sufren de mínimos locales, comenzar con la misma arquitectura y entrenamiento pero usar pesos iniciales aleatoriamente diferentes a menudo da resultados muy diferentes. [ cita requerida ] Un CoM tiende a estabilizar el resultado.
El CoM es similar al método general de empaquetado de aprendizaje automático , excepto que la variedad necesaria de máquinas en el comité se obtiene mediante entrenamiento a partir de diferentes pesos iniciales en lugar de entrenamiento en diferentes subconjuntos seleccionados aleatoriamente de los datos de entrenamiento.
La red neuronal asociativa (ASNN) es una extensión del comité de máquinas que combina múltiples redes neuronales de propagación hacia adelante y la técnica de los k vecinos más cercanos. Utiliza la correlación entre las respuestas del conjunto como una medida de la distancia entre los casos analizados para la kNN. Esto corrige el sesgo del conjunto de redes neuronales. Una red neuronal asociativa tiene una memoria que puede coincidir con el conjunto de entrenamiento. Si se encuentran nuevos datos disponibles, la red mejora instantáneamente su capacidad predictiva y proporciona una aproximación de datos (autoaprendizaje) sin necesidad de volver a entrenar. Otra característica importante de la ASNN es la posibilidad de interpretar los resultados de la red neuronal mediante el análisis de las correlaciones entre los casos de datos en el espacio de los modelos. [64]
Una red neuronal física incluye material de resistencia ajustable eléctricamente para simular sinapsis artificiales. Algunos ejemplos incluyen la red neuronal basada en memristores ADALINE . [65] Una red neuronal óptica es una implementación física de una red neuronal artificial con componentes ópticos .
A diferencia de las redes neuronales estáticas, las redes neuronales dinámicas adaptan su estructura y/o parámetros a la entrada durante la inferencia [66] mostrando un comportamiento dependiente del tiempo, como fenómenos transitorios y efectos de retardo. Las redes neuronales dinámicas en las que los parámetros pueden cambiar con el tiempo están relacionadas con la arquitectura de pesos rápidos (1987), [67] donde una red neuronal genera los pesos de otra red neuronal.
La correlación en cascada es una arquitectura y un algoritmo de aprendizaje supervisado . En lugar de simplemente ajustar los pesos en una red de topología fija, [68] la correlación en cascada comienza con una red mínima, luego entrena automáticamente y agrega nuevas unidades ocultas una por una, creando una estructura de múltiples capas. Una vez que se ha agregado una nueva unidad oculta a la red, sus pesos del lado de entrada se congelan. Esta unidad luego se convierte en un detector de características permanente en la red, disponible para producir salidas o para crear otros detectores de características más complejos. La arquitectura de correlación en cascada tiene varias ventajas: aprende rápidamente, determina su propio tamaño y topología, conserva las estructuras que ha construido incluso si el conjunto de entrenamiento cambia y no requiere retropropagación .
Una red neurodifusa es un sistema de inferencia difuso en el cuerpo de una red neuronal artificial. Según el tipo de FIS, varias capas simulan los procesos involucrados en una inferencia difusa, como la fuzzificación , la inferencia, la agregación y la defuzzificación . Incorporar un FIS en una estructura general de una ANN tiene el beneficio de usar los métodos de entrenamiento de ANN disponibles para encontrar los parámetros de un sistema difuso.
Las redes productoras de patrones compositivos (CPPN, por sus siglas en inglés) son una variación de las redes neuronales artificiales que difieren en su conjunto de funciones de activación y en cómo se aplican. Si bien las redes neuronales artificiales típicas a menudo contienen solo funciones sigmoideas (y, a veces, funciones gaussianas ), las CPPN pueden incluir ambos tipos de funciones y muchas otras. Además, a diferencia de las redes neuronales artificiales típicas, las CPPN se aplican en todo el espacio de posibles entradas para que puedan representar una imagen completa. Dado que son composiciones de funciones, las CPPN en efecto codifican imágenes a una resolución infinita y se pueden muestrear para una pantalla particular a cualquier resolución que sea óptima.
Las redes de memoria [69] [70] incorporan una memoria de largo plazo . Se puede leer y escribir en la memoria de largo plazo con el objetivo de usarla para hacer predicciones. Estos modelos se han aplicado en el contexto de la respuesta a preguntas (QA), donde la memoria de largo plazo actúa efectivamente como una base de conocimiento (dinámica) y el resultado es una respuesta textual. [71]
En la memoria distribuida dispersa o memoria temporal jerárquica , los patrones codificados por redes neuronales se utilizan como direcciones para la memoria direccionable por contenido , y las "neuronas" sirven esencialmente como codificadores y decodificadores de direcciones . Sin embargo, los primeros controladores de dichas memorias no eran diferenciables. [72]
Este tipo de red puede agregar nuevos patrones sin volver a entrenar. Se realiza mediante la creación de una estructura de memoria específica, que asigna cada nuevo patrón a un plano ortogonal utilizando matrices jerárquicas conectadas de manera adyacente. [73] La red ofrece reconocimiento de patrones en tiempo real y alta escalabilidad; esto requiere procesamiento paralelo y, por lo tanto, es más adecuada para plataformas como redes de sensores inalámbricos , computación en cuadrícula y GPGPU .
La memoria temporal jerárquica (HTM) modela algunas de las propiedades estructurales y algorítmicas del neocórtex . La HTM es un modelo biomimético basado en la teoría de predicción de la memoria . La HTM es un método para descubrir e inferir las causas de alto nivel de los patrones y secuencias de entrada observados, construyendo así un modelo cada vez más complejo del mundo.
HTM combina ideas existentes para imitar el neocórtex con un diseño simple que proporciona muchas capacidades. HTM combina y extiende enfoques utilizados en redes bayesianas , algoritmos de agrupamiento espacial y temporal, mientras utiliza una jerarquía de nodos en forma de árbol que es común en las redes neuronales .
La memoria asociativa holográfica (HAM) es un sistema de estímulo-respuesta asociativo, analógico y basado en la correlación. La información se asigna a la orientación de fase de los números complejos. La memoria es eficaz para tareas de memoria asociativa , generalización y reconocimiento de patrones con atención variable. La localización de búsqueda dinámica es fundamental para la memoria biológica. En la percepción visual, los humanos se centran en objetos específicos en un patrón. Los humanos pueden cambiar el foco de un objeto a otro sin aprender. La HAM puede imitar esta capacidad creando representaciones explícitas del foco. Utiliza una representación bimodal del patrón y un espacio de estados de peso esférico complejo similar a un holograma. Las HAM son útiles para la realización óptica porque los cálculos hiperesféricos subyacentes se pueden implementar con computación óptica. [74]
Además de la memoria a corto plazo (MLCP), otros enfoques también añadieron la memoria diferenciable a las funciones recurrentes. Por ejemplo:
Las máquinas de Turing neuronales (MTN) [82] acoplan redes de MTN a recursos de memoria externos, con los que pueden interactuar mediante procesos de atención. El sistema combinado es análogo a una máquina de Turing , pero es diferenciable de extremo a extremo, lo que permite entrenarlo de manera eficiente mediante descenso de gradiente . Los resultados preliminares demuestran que las máquinas de Turing neuronales pueden inferir algoritmos simples, como copia, clasificación y recuperación asociativa, a partir de ejemplos de entrada y salida.
Las computadoras neuronales diferenciables (DNC) son una extensión de la NTM. Superaron a las máquinas de Turing neuronales, los sistemas de memoria de corto plazo y de largo plazo y las redes de memoria en tareas de procesamiento de secuencias. [83] [84] [85] [86] [87]
Los enfoques que representan experiencias previas directamente y usan una experiencia similar para formar un modelo local a menudo se denominan métodos de vecino más cercano o de k vecinos más cercanos . [88] El aprendizaje profundo es útil en el hash semántico [89] donde un modelo gráfico profundo de los vectores de recuento de palabras [90] obtenidos de un gran conjunto de documentos. [ aclaración necesaria ] Los documentos se asignan a direcciones de memoria de tal manera que los documentos semánticamente similares se ubican en direcciones cercanas. Luego, los documentos similares a un documento de consulta se pueden encontrar accediendo a todas las direcciones que difieren solo en unos pocos bits de la dirección del documento de consulta. A diferencia de la memoria distribuida dispersa que opera en direcciones de 1000 bits, el hash semántico funciona en direcciones de 32 o 64 bits que se encuentran en una arquitectura de computadora convencional.
Las redes neuronales profundas se pueden mejorar potencialmente mediante la profundización y la reducción de parámetros, manteniendo al mismo tiempo la capacidad de entrenamiento. Si bien el entrenamiento de redes neuronales extremadamente profundas (por ejemplo, 1 millón de capas) puede no ser práctico, las arquitecturas similares a las de la CPU , como las redes de punteros [91] y las máquinas neuronales de acceso aleatorio [92] superan esta limitación mediante el uso de memoria de acceso aleatorio externa y otros componentes que normalmente pertenecen a una arquitectura de computadora , como registros , ALU y punteros . Dichos sistemas operan en vectores de distribución de probabilidad almacenados en celdas de memoria y registros. Por lo tanto, el modelo es completamente diferenciable y se entrena de extremo a extremo. La característica clave de estos modelos es que su profundidad, el tamaño de su memoria a corto plazo y la cantidad de parámetros se pueden alterar de forma independiente.
Los sistemas de codificación y decodificación se basan en redes neuronales que asignan una entrada altamente estructurada a una salida altamente estructurada. El enfoque surgió en el contexto de la traducción automática , [93] [94] [95] donde la entrada y la salida son oraciones escritas en dos idiomas naturales. En ese trabajo, se utilizó una RNN o CNN LSTM como codificador para resumir una oración fuente, y el resumen se decodificó utilizando un modelo de lenguaje RNN condicional para producir la traducción. [96] Estos sistemas comparten bloques de construcción: RNN y CNN con compuertas y mecanismos de atención entrenados.
Las redes neuronales entrenadas instantáneamente (ITNN) se inspiraron en el fenómeno del aprendizaje a corto plazo que parece ocurrir instantáneamente. En estas redes, los pesos de las capas ocultas y de salida se asignan directamente a partir de los datos vectoriales de entrenamiento. Por lo general, funcionan con datos binarios, pero existen versiones para datos continuos que requieren un pequeño procesamiento adicional.
Las redes neuronales de picos (SNN) consideran explícitamente la sincronización de las entradas. La entrada y la salida de la red suelen representarse como una serie de picos ( función delta o formas más complejas). Las SNN pueden procesar información en el dominio del tiempo (señales que varían con el tiempo). A menudo se implementan como redes recurrentes. Las SNN también son una forma de computadora de pulsos . [97]
Las redes neuronales con retrasos en la conducción axonal presentan policronización y, por lo tanto, podrían tener una capacidad de memoria muy grande. [98]
Las SNN y las correlaciones temporales de los conjuntos neuronales en dichas redes se han utilizado para modelar la separación entre figura y fondo y la vinculación de regiones en el sistema visual.
Las redes neuronales espaciales (SNN) constituyen una supercategoría de redes neuronales personalizadas (NN) para representar y predecir fenómenos geográficos. Generalmente mejoran tanto la precisión estadística como la confiabilidad de las NN a-espaciales/clásicas siempre que manejan conjuntos de datos geoespaciales , y también de los otros modelos espaciales (estadísticos) (por ejemplo, modelos de regresión espacial) siempre que las variables de los conjuntos de datos geoespaciales representen relaciones no lineales . [99] [100] [101] Ejemplos de SNN son las redes neuronales espaciales OSFA, SVANN y GWNN.
El neocognitrón es una red jerárquica de múltiples capas que se modeló a partir de la corteza visual . Utiliza múltiples tipos de unidades (originalmente dos, llamadas células simples y complejas ) como un modelo en cascada para su uso en tareas de reconocimiento de patrones. [102] [103] [104] Las características locales son extraídas por células S cuya deformación es tolerada por células C. Las características locales en la entrada se integran gradualmente y se clasifican en capas superiores. [105] Entre los diversos tipos de neocognitrón [106] hay sistemas que pueden detectar múltiples patrones en la misma entrada mediante el uso de retropropagación para lograr atención selectiva . [107] Se ha utilizado para tareas de reconocimiento de patrones y redes neuronales convolucionales inspiradas . [108]
Los modelos compuestos jerárquicos profundos componen redes profundas con modelos bayesianos no paramétricos . Las características se pueden aprender utilizando arquitecturas profundas como DBN , [109] máquinas de Boltzmann profundas (DBM), [110] codificadores automáticos profundos, [111] variantes convolucionales, [112] [113] ssRBM , [114] redes de codificación profunda, [115] DBN con aprendizaje de características dispersas, [116] RNN , [117] DBN condicionales, [118] autocodificadores de eliminación de ruido . [119] Esto proporciona una mejor representación, lo que permite un aprendizaje más rápido y una clasificación más precisa con datos de alta dimensión. Sin embargo, estas arquitecturas son deficientes en el aprendizaje de clases nuevas con pocos ejemplos, porque todas las unidades de red están involucradas en la representación de la entrada (arepresentación distribuida ) y deben ajustarse en conjunto (altogrado de libertad). Limitar el grado de libertad reduce la cantidad de parámetros a aprender, lo que facilita el aprendizaje de nuevas clases a partir de unos pocos ejemplos.Los modelos bayesianos jerárquicos (HB) permiten aprender a partir de unos pocos ejemplos, por ejemplo[120][121][122][123][124]paravisión por computadora,estadísticayciencia cognitiva.
Las arquitecturas HD compuestas tienen como objetivo integrar características tanto de las redes HB como de las redes profundas. La arquitectura HDP-DBM compuesta es un proceso Dirichlet jerárquico (HDP) como modelo jerárquico, que incorpora la arquitectura DBM. Es un modelo generativo completo , generalizado a partir de conceptos abstractos que fluyen a través de las capas del modelo, que es capaz de sintetizar nuevos ejemplos en clases novedosas que parecen "razonablemente" naturales. Todos los niveles se aprenden conjuntamente maximizando una puntuación de probabilidad logarítmica conjunta . [125]
En un DBM con tres capas ocultas, la probabilidad de una entrada visible " ν " es:
donde es el conjunto de unidades ocultas, y son los parámetros del modelo, que representan términos de interacción simétrica visible-oculto y oculto-oculto.
Un modelo DBM aprendido es un modelo no dirigido que define la distribución conjunta . Una forma de expresar lo aprendido es el modelo condicional y un término previo .
Aquí se representa un modelo DBM condicional, que puede verse como un DBM de dos capas pero con términos de sesgo dados por los estados de :
Una red de codificación predictiva profunda (DPCN) es un esquema de codificación predictiva que utiliza información de arriba hacia abajo para ajustar empíricamente los valores previos necesarios para un procedimiento de inferencia de abajo hacia arriba por medio de un modelo generativo profundo conectado localmente . Esto funciona extrayendo características dispersas de observaciones que varían en el tiempo utilizando un modelo dinámico lineal. Luego, se utiliza una estrategia de agrupamiento para aprender representaciones de características invariantes. Estas unidades se componen para formar una arquitectura profunda y se entrenan mediante un aprendizaje no supervisado por capas voraz . Las capas constituyen una especie de cadena de Markov de modo que los estados en cualquier capa dependen solo de las capas anteriores y posteriores.
Las DPCN predicen la representación de la capa, utilizando un enfoque de arriba hacia abajo utilizando la información de la capa superior y las dependencias temporales de estados anteriores. [126]
Las DPCN se pueden ampliar para formar una red convolucional . [126]
Las máquinas de núcleo multicapa (MKM) son una forma de aprender funciones altamente no lineales mediante la aplicación iterativa de núcleos débilmente no lineales. Utilizan el análisis de componentes principales del núcleo (KPCA), [127] como método para el paso de preentrenamiento no supervisado y codicioso por capas del aprendizaje profundo. [128]
La capa aprende la representación de la capa anterior , extrayendo el componente principal (PC) de la salida de la capa de proyección en el dominio de características inducido por el núcleo. Para reducir la dimensionalidad de la representación actualizada en cada capa, una estrategia supervisada selecciona las mejores características informativas entre las características extraídas por KPCA. El proceso es:
El método KPCA para los MKM presenta algunas desventajas.
Se desarrolló una forma más sencilla de utilizar máquinas de núcleo para el aprendizaje profundo para la comprensión del lenguaje hablado. [129] La idea principal es utilizar una máquina de núcleo para aproximarse a una red neuronal superficial con un número infinito de unidades ocultas, y luego utilizar una red de apilamiento profundo para unir la salida de la máquina de núcleo y la entrada sin procesar para construir el siguiente nivel superior de la máquina de núcleo. El número de niveles en la red convexa profunda es un hiperparámetro del sistema general, que se determinará mediante validación cruzada .
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )