¿Es posible entrenar a un RNN en una sola secuencia extremadamente larga?

OK, pensemos en ello intuitivamente. Como humanos, ¿podemos aprender a resolver una tarea difícil (p. Ej., Traducción de idiomas) simplemente observando un único ejemplo complejo? Digamos que te doy un largo par de oraciones chino-inglés. ¿Sería suficiente para aprender cómo traducir cualquier oración china a una oración en inglés?

Del mismo modo, puede entrenar un RNN en una sola secuencia larga, pero el modelo no aprendería nada sobre cómo resolver la tarea en cuestión. Debe proporcionar una cantidad razonablemente grande de muestras para que el modelo pueda aprender características importantes para resolver la tarea. Para obtener detalles sobre lo que los RNN son capaces de hacer, recomiendo esta serie de tutoriales (fáciles de entender): Tutorial de Redes Neuronales Recurrentes, Parte 1 – Introducción a los RNN y las variantes de RNN con buena visualización: Atención y Redes Neuronales Recurrentes Aumentadas.

No ha especificado cuánto tiempo la secuencia.

Pero en general, las dependencias temporales más largas se pueden abordar apilando más cantidad de capas recurrentes. Más número de capas, significa más número de parámetros para sintonizar, lo que significa que requiere un conjunto de datos más grande. Por lo tanto, puede probar usando más cantidad de capas.

No estoy seguro de si eso es lo que está buscando, pero una cosa que puede hacer es dividir la secuencia en ventanas más pequeñas y usar cada ventana como muestra de capacitación. El uso de una sola muestra simplemente puede resultar en un sobreajuste debido a la falta de datos suficientes.

En general, no recomendaría entrenar a un RNN en secuencias largas:

  • Si se trata de RNN de vainilla (es decir, sin olvidar las puertas, sin LSTM), sufrirá una gran desaparición / explosión de gradientes
  • Desplegar el RNN mientras se propagan los gradientes llevará mucho tiempo. Una forma de contrarrestar esto es evitar que los gradientes vuelvan a fluir después de un cierto número de pasos. A veces puede aproximar los gradientes de una secuencia completa sorprendentemente bien usando solo unos pocos pasos.

La respuesta simple es no. Un ejemplo simple de la tarea de agregar se muestra en Building A Longer and Deeper RNN. RNN con tanh solo puede funcionar en secuencias de menos de 100 pasos, RNN con relu puede funcionar en secuencias de menos de 1000 pasos, LSTM es similar a RNN con relu, menos de 1000 pasos.

Pero el IndRNN reciente puede funcionar en secuencias muy largas, como 5000 pasos de tiempo.

More Interesting

¿Cómo y dónde podemos comenzar a implementar proyectos basados ​​en el aprendizaje automático y qué idioma es preferible para el mismo?

¿Cómo le enseñas a un robot que ha cometido un error?

¿Cómo puedo comenzar el trabajo de investigación sobre aprendizaje automático y cómo puedo elegir un tema o problema en el aprendizaje automático?

¿Por qué confiamos en la aleatoriedad de la búsqueda aleatoria en la optimización de hiperparámetros?

¿Qué tipo de estructuras de datos podrían usarse en un proyecto de procesamiento de lenguaje natural?

¿Dónde puedo encontrar guías de aprendizaje automático desde la perspectiva de los hackers?

¿Qué es un giroscopio? ¿Como funciona?

# ¿Cómo puedo comenzar un trabajo de investigación sobre aprendizaje automático?

¿Cuáles son algunas razones por las que algunas personas prefieren R y Matlab a Python para el aprendizaje automático?

Redes neuronales artificiales: ¿Por qué las partes internas de las neuronas se simulan con una suma lineal de entradas en lugar de alternativas no lineales?

¿Es el análisis de datos funcionales simplemente renombrado análisis wavelet en estadísticas?

¿Puede un ingeniero eléctrico seguir una carrera en aprendizaje automático en el futuro?

¿Cuál es la intuición para SVM-Rank y cuándo debo usarla?

¿Cuán sensible es el análisis de componentes independientes (ICA) a la simultaneidad de la señal de entrada?

Procesamiento del lenguaje natural: ¿Hay alguna manera de medir la "informatividad" de una oración en un documento?