¿Por qué se considera el reconocimiento de secuencia como un problema de clasificación temporal?

Existen principalmente dos formas en que puede resolver problemas de reconocimiento de secuencia.

  1. Enfoque espacial.
  2. Abordaje temporal.

Enfoque espacial :

Los elementos de una secuencia se concatenan en un largo vector de entrada espacial que se puede alimentar a la vez a una red neuronal convolucional (convNet), por ejemplo. ConvNet se puede diseñar con diferentes tamaños de campo receptivo del núcleo. Los campos receptivos pequeños son mejores para codificar dependencias a corto plazo, mientras que los campos más grandes codifican mejor las dependencias a largo plazo. La operación de convolución puede verse como convolucional (deslizante) en el tiempo.

La ventaja de este enfoque es que el problema de gradiente de explosión / desaparición nunca es realmente un problema. La desventaja es que hay un límite para el tamaño máximo de la secuencia de entrada según lo impuesto por el número de ranuras libres en el vector de entrada. Lo que significa que si desea extender dicho sistema para procesar secuencias realmente largas, necesita volver a capacitar a toda la red.

Enfoque temporal :

Los elementos de secuencia se pueden alimentar de uno en uno a un sistema, por lo tanto, se pueden ver como temporales. Tal sistema mantiene un estado interno que codifica los elementos de secuencia vistos previamente. El estado interno ayuda al sistema a tomar las decisiones correctas en cualquier momento paso [math] t [/ math]. El estado final se puede usar en un decodificador para producir otra salida de secuencia en un mapeo secuencia a secuencia.

Para las redes neuronales recurrentes básicas (ANN) existen problemas con las dependencias a largo plazo, es decir, es difícil para el RNN de vainilla aprender a recordar entradas de secuencia anteriores de un tiempo distante [math] t_ {d} [/ math] en el pasado. Afortunadamente, existen soluciones a ese problema con el uso de tipos de RNN más sofisticados, a saber, las redes de memoria a corto y largo plazo (LSTM) y la unidad recurrente cerrada (GRU). Esos modelos poseen una unidad de memoria que decide recordar estados importantes en una secuencia muy larga, resolviendo así el problema de dependencia a largo plazo.

Por lo tanto, al convertir el reconocimiento de secuencia como un problema temporal mediante el cual alimentamos las entradas en pequeños bits a la vez al sistema, podemos manejar entradas de secuencia de tamaño variable. Es decir, el mismo sistema que puede manejar entradas cortas aún puede aceptar entradas largas y dar una salida razonable.


Las secuencias son naturalmente temporales, pero es posible procesarlas espacialmente mediante el truco de concatenación, pero ese enfoque tiene algunas limitaciones serias en el sentido de que las secuencias tienen una longitud variable y no una fija. Por ejemplo: Aquí en Quora hay varias preguntas duplicadas, que no son triviales de detectar.

El problema puede ser lanzado como: Necesitamos una inclusión o descriptor de alto nivel dado por:

[matemática] G: Q \ rightarrow Y [/ matemática]

de modo que, dadas dos preguntas [matemática] q_1 [/ matemática] y [matemática] q_2 [/ matemática] necesitamos una función de mapeo [matemática] g [/ matemática] con parámetros entrenables [matemática] w [/ matemática] para mapear:

[matemáticas] y_1 = g (q_1, w) [/ matemáticas]

[matemáticas] y_2 = g (q_2, w) [/ matemáticas]

de modo que las preguntas diferentes pero semánticamente similares se correspondan con descriptores similares. En términos matemáticos necesitamos:

[matemática] || y_1-y_2 || \ a [/ matemática] [matemática] 0 [/ matemática] si [matemática] q_1 [/ matemática] y [matemática] q_2 [/ matemática] tienen la misma intención.

[math] || y_1 -y_2 || \ to \ infty [/ math] si [math] q_1 [/ math] y [math] q_2 [/ math] tienen diferentes intenciones.

Podemos implementar el mapeo [math] G [/ math] usando el truco de concatenación de vectores o el enfoque temporal como se describió anteriormente. Pero algunas preguntas pueden ser largas (incluido el detalle de la pregunta), mientras que otras pueden ser cortas para codificar el descriptor de disimilitud de alto nivel [matemática] y [/ matemática] para tales preguntas de longitud variable, el enfoque natural es procesar la pregunta contenido una palabra a la vez. Por lo tanto, esto se resuelve mejor mediante un enfoque temporal que resulta natural para el reconocimiento de secuencias.

Por lo tanto, como regla general, vaya con la corriente, use siempre soluciones que sean naturalmente adecuadas para la tarea en cuestión que forzar algún método antinatural pero plausible sobre el problema.

Asi que

¿Por qué se considera el reconocimiento de secuencia como un problema de reconocimiento temporal?

Es porque las secuencias son naturalmente temporales, ocurren un elemento en un paso dado y tienen una longitud variable. Algunas secuencias pueden ser extremadamente largas, como esta discusión.

Espero que esto ayude.

La respuesta es que el reconocimiento es un problema de tipo de clasificación y, por supuesto, los problemas temporales son de naturaleza secuencial.

More Interesting

¿Cómo se ingresa a un laboratorio / grupo de investigación de inteligencia artificial sin educación formal?

¿Es posible que PS sea reemplazado por AI o Sketch en el futuro?

Soy diseñador de circuitos (PhD), quiero entrar en el aprendizaje automático. ¿Qué temas necesito aprender para as de las entrevistas? Realmente agradecería una lista.

¿Cuál es la diferencia básica entre ruido y valores atípicos en la minería de datos?

Como ingeniero de software experimentado, ¿en qué área (IA, big data, aprendizaje automático, aprendizaje profundo o recuperación de información) debería centrarme en mi futura carrera?

¿Existe una base racional general para que las redes neuronales artificiales sean las estructuras de aprendizaje 'definitivas' para los dominios en los que se destacan actualmente?

Si quiero estudiar inteligencia artificial en el Reino Unido, ¿qué programas (principales) y qué universidades son las mejores opciones?

¿Qué modelos diferentes de inteligencia podrían existir?

Cómo implementar un algoritmo de IA en mi aplicación web corporativa

¿Qué es la inteligencia en el contexto de (AI)?

¿Hay alguna investigación en ingeniería neuronal en relación con la inteligencia artificial?

¿Por qué ningún asistente personal de IA ha sido un éxito desbocado?

¿Es posible dar una salida de extracción de características a una red neuronal convolucional? ¿Cómo?

¿Cómo se crea una red neuronal capaz de razonamiento abstracto?

¿Cómo desarrollarías un robot inteligente?