Redes neuronales recurrentes ( RNS , ing. Red neuronal recurrente ; RNN ) - un tipo de redes neuronales , donde las conexiones entre elementos forman una secuencia dirigida. Esto hace posible procesar una serie de eventos en el tiempo o cadenas espaciales sucesivas. A diferencia de los perceptrones multicapa , las redes recurrentes pueden usar su memoria interna para procesar secuencias de longitud arbitraria. Por lo tanto, los RNN son aplicables en tareas en las que algo integral se divide en partes, por ejemplo: reconocimiento de escritura a mano [1] o reconocimiento de voz [2] [3] . Se han propuesto muchas soluciones arquitectónicas diferentes para redes recurrentes, que van desde simples hasta complejas. Recientemente, la red de memoria a corto y largo plazo (LSTM) y la unidad recurrente controlada (GRU) se han convertido en las más extendidas.
John Hopfield propuso Hopfield Network en 1982 . En 1993, un sistema neuronal para almacenar y comprimir datos históricos pudo resolver un problema de “aprendizaje muy profundo” en el que se desplegaban más de 1000 capas consecutivas en una red recurrente. [cuatro]
Memoria a Largo Corto Plazo (LSTM)Red con memoria a corto y largo plazo ( ing. Long short term memory, LSTM) ; LSTM ). [5] ha encontrado aplicación en varias aplicaciones.
A partir de 2007, LSTM ganó popularidad y pudo llevar el reconocimiento de voz al siguiente nivel , mostrando una mejora significativa con respecto a los modelos tradicionales. [6] En 2009, surgió el enfoque de Clasificación Temporal Conexionista (CTC). Este método permitió que las redes recurrentes incluyeran análisis de contexto en el reconocimiento de escritura a mano. [7] En 2014, Encyclopedia of China y el motor de búsqueda Baidu , utilizando redes recurrentes entrenadas por CTC, pudieron llevar Switchboard Hub5'00 a un nuevo nivel, por delante de los métodos tradicionales. [ocho]
LSTM también ha llevado a mejoras en el reconocimiento de voz con diccionarios grandes [2] [3] y mejoras en texto a voz [9] , y también ha encontrado aplicación en el sistema operativo Google Android . [10] En 2015, el reconocimiento de voz de Google aumentó significativamente sus puntajes hasta en un 49%, la razón de esto fue el uso de un sistema especial de entrenamiento LSTM basado en CTC en el sistema de búsqueda por voz de Google . [once]
LSTM ha llevado a un nuevo nivel la calidad de la traducción automática , [12] la construcción de modelos de lenguaje y [13] el procesamiento de texto multilingüe. [14] La combinación de LSTM con redes neuronales convolucionales (CNN) ha mejorado la descripción automática de imágenes. [quince]
Hay muchas variedades, soluciones y elementos constructivos de redes neuronales recurrentes.
La dificultad de la red recurrente radica en el hecho de que si se tiene en cuenta cada paso de tiempo, entonces se hace necesario que cada paso de tiempo cree su propia capa de neuronas, lo que provoca serias dificultades computacionales. Además, las implementaciones multicapa resultan ser computacionalmente inestables, ya que los pesos suelen desaparecer o salirse de escala en ellas. Si el cálculo se limita a una ventana de tiempo fija, los modelos resultantes no reflejarán las tendencias a largo plazo. Diversos enfoques intentan mejorar el modelo de memoria histórica y el mecanismo de recordar y olvidar.
Esta arquitectura básica se desarrolló en la década de 1980. La red se construye a partir de nodos, cada uno de los cuales está conectado a todos los demás nodos. Para cada neurona, el umbral de activación cambia con el tiempo y es un número real. Cada compuesto tiene un peso real variable. Los nodos se dividen en entrada, salida y ocultos.
Para el aprendizaje supervisado en tiempo discreto , en cada paso de tiempo (discreto), los nodos de entrada reciben datos, y otros nodos completan su activación, y las señales de salida se preparan para que la neurona las transmita al siguiente nivel. Si, por ejemplo, la red es responsable del reconocimiento de voz, como resultado, las etiquetas (palabras reconocidas) ya se envían a los nodos de salida.
En el aprendizaje por refuerzo , no hay un maestro que proporcione señales de destino para la red; en cambio, a veces se usa una función de aptitud (fitness) o una función de recompensa, que evalúa la calidad de la red, mientras que el valor de salida afecta el comportamiento de la red en la entrada. En particular, si la red está implementando un juego, la salida se mide por el número de puntos ganados o por posición.
Cada peldaño calcula el error como la desviación total de las salidas de la red. Si hay un conjunto de muestras de entrenamiento, el error se calcula teniendo en cuenta los errores de cada muestra individual.
Las redes neuronales recursivas son un caso más general de redes recurrentes, cuando la señal en la red pasa a través de una estructura en forma de árbol (generalmente árboles binarios). [16] Las mismas matrices de peso se utilizan de forma recursiva en todo el gráfico según su topología. [17] [18] Las redes neuronales recursivas encuentran aplicación en tareas de procesamiento de lenguaje natural . [19] También hay redes neuronales recursivas de tensor (RNTN, Recursive Neural Tensor Network), que utilizan funciones de tensor para todos los nodos del árbol. [veinte]
Una red Hopfield es un tipo de red recurrente donde todas las conexiones son simétricas. Inventado por John Hopfield en 1982, se garantiza que la dinámica de dicha red converge a una de las posiciones de equilibrio. Si se usa el aprendizaje de Hebbian al crear conexiones , entonces la red de Hopfield puede funcionar como una memoria asociativa confiable que es resistente a cambios de conexión.
Una variación de la red de Hopfield es la memoria asociativa bidireccional (BAM) . BAM tiene dos capas, cada una de las cuales puede actuar como una entrada, encontrar (recordar) una asociación y generar un resultado para la otra capa. [21] [22] [23]
La red neuronal de Elman es una red neuronal de tres capas. En la ilustración, las capas de la red están etiquetadas con x , y y z . La red también contiene un conjunto de "cuadros de contexto" ( u en la ilustración) que almacenan los valores anteriores de los nodos de capa oculta. Para ello, la capa oculta se conecta a los bloques de contexto mediante enlaces directos con un peso fijo igual a uno. [24] Con cada paso, la información se recibe en la entrada, que pasa un camino directo a la capa de salida de acuerdo con las reglas de aprendizaje. Las retroalimentaciones fijas de los bloques de contexto transmiten los valores de los estados anteriores de los nodos de la capa oculta (antes de que la capa oculta cambie el valor durante el proceso de aprendizaje). De esta forma, la red conserva su estado anterior, lo que proporciona predicción de secuencias, que está más allá de las capacidades de un perceptrón multicapa.
La red neuronal de Jordan es similar a la red de Elman. Sin embargo, los cuadros de contexto no están asociados a la capa oculta, sino a la capa de salida. Los bloques de contexto preservan así el estado anterior de la red y permiten la comunicación recurrente en la red. [24]
Las redes de Elman y Jordan también se denominan "redes recurrentes simples" (SRN).
Red Elman [25] Red de Jordania [26]Notación de variables y funciones:
La red de eco ( English echo state network ; ESN ) se caracteriza por una capa oculta (que se denomina reservorio) con conexiones dispersas aleatorias entre neuronas. En este caso, las conexiones dentro del depósito son fijas, pero las conexiones con la capa de salida están sujetas a entrenamiento. El estado del tanque (estado) se calcula a través de los estados anteriores del tanque, así como los estados anteriores de las señales de entrada y salida. Dado que las redes de eco tienen solo una capa oculta, tienen una complejidad computacional bastante baja, pero la calidad de la simulación depende en gran medida de la configuración inicial, que es aproximadamente aleatoria. Las redes de eco funcionan bien cuando se reproducen series de tiempo . [27] Una variación de las redes de eco son las redes neuronales de impulso (pico) , también conocidas como redes neuronales líquidas (las redes "líquidas" se nombran utilizando la metáfora de círculos divergentes en el agua de una piedra que cae, que caracteriza la memoria a corto plazo de un evento de entrada). [28]
El compresor neuronal de datos históricos es un bloque que permite almacenar de forma comprimida las características históricas esenciales del proceso, que es una especie de pila de una red neuronal recurrente formada en el proceso de autoaprendizaje . [29] En el nivel de entrada, el compresor de historial neuronal intenta predecir la siguiente entrada a partir de los datos históricos. El siguiente nivel de la red recurrente recibe solo aquellas entradas que no se pudieron predecir y que al mismo tiempo contribuyen a un cambio en el estado del compresor. Cada siguiente capa de la red también aprende información histórica comprimida de las capas anteriores de la misma manera. Por lo tanto, la secuencia de entrada se puede reconstruir con precisión a partir de la representación de las capas posteriores.
El sistema intenta minimizar el tamaño de la descripción o utiliza logaritmos negativos para estimar las probabilidades de los datos. [30] Usando la previsibilidad entrenable en la secuencia de datos entrantes, la red RNN del siguiente nivel, aplicando el aprendizaje ya supervisado, ya puede clasificar incluso secuencias profundas con grandes intervalos de tiempo entre eventos clave.
Así, la red RNN se puede dividir en dos niveles de capas: automatización "consciente" (nivel superior) y "subconsciente" (nivel inferior). Una vez que el nivel superior ha aprendido a predecir y comprimir entradas (que son impredecibles) con la ayuda del automatizador, entonces el automatizador puede ser forzado en la siguiente etapa de aprendizaje para predecirse a sí mismo o imitar a través de bloques adicionales u ocultos del cambio más lento. nivel superior. Esto simplifica el trabajo del automatizador, lo que permite memorias a largo plazo, pero que rara vez cambian. A su vez, esto ayuda al automatizador a hacer predecibles muchas de sus entradas que alguna vez fueron impredecibles, de modo que la capa superior pueda enfocarse en los eventos impredecibles restantes. [29]
Una red con memoria a largo plazo y a corto plazo ( English Long short term memory, LSTM) es un sistema de aprendizaje profundo , cuya implementación logró evitar el problema de la desaparición o salida de la escala de gradientes en el proceso de aprendizaje utilizando el método de retropropagación . La red LSTM generalmente se modera con puertas recurrentes llamadas puertas de "olvido". [31] Los errores se propagan hacia atrás en el tiempo a través de un número potencialmente ilimitado de capas virtuales. De esta forma, el aprendizaje tiene lugar en la LSTM [32] conservando la memoria de miles e incluso millones de intervalos de tiempo en el pasado. Las topologías de las redes LSTM se pueden desarrollar de acuerdo con las especificaciones del proceso. [33] En una red LSTM, se pueden tener en cuenta incluso grandes retrasos entre eventos significativos y, por lo tanto, se pueden mezclar componentes de alta y baja frecuencia.
Muchas redes recurrentes usan pilas de datos inherentes a LSTM [34] Las redes se pueden entrenar usando la "Clasificación temporal conexionista (CTC)" [ 35 ] para encontrar una matriz de peso en la que la probabilidad de una secuencia de etiquetas en el conjunto de muestras en el momento apropiado el flujo de entrada se minimiza. CTC le permite lograr tanto el pedido como el reconocimiento.
LSTM también se puede entrenar para reconocer lenguajes sensibles al contexto, a diferencia de los modelos anteriores basados en el modelo oculto de Markov (HMM) e ideas similares. [36]
Redes recurrentes de segundo ordenLas redes recurrentes de segundo orden utilizan ponderaciones de orden superior en lugar de ponderaciones regulares , y los parámetros de entrada y de estado se pueden obtener como un producto. En este caso, la red se transforma (mapeo) en una máquina de estados tanto en el proceso de aprendizaje como durante la estabilización y presentación. [37] [38] La memoria a corto plazo en este caso no tiene tal prueba de transformación y estabilidad.
La unidad recurrente cerrada ( Unidades recurrentes cerradas ; GRU ) es un mecanismo de gestión de red recurrente propuesto en 2014 . Se encontró que el rendimiento de GRU en señales de voz o modelos de música polifónica es comparable a la memoria a largo plazo (LSTM). [39] Este modelo tiene menos parámetros que el LSTM y carece de control de salida. [40]
Tipos de redes neuronales artificiales | |
---|---|
|
Aprendizaje automático y minería de datos | |
---|---|
Tareas | |
Aprendiendo con un maestro | |
análisis de conglomerados | |
Reducción de dimensionalidad | |
Pronóstico estructural | |
Detección de anomalías | |
Graficar modelos probabilísticos | |
Redes neuronales | |
Aprendizaje reforzado |
|
Teoría | |
revistas y congresos |
|