¿Cuáles son las mejores prácticas para elegir el tamaño de estado oculto en RNN?

Como todos sabemos, los modelos neuronales que utilizamos no tienen una base matemática y es solo que a veces y la combinación inteligente de los componentes como ConvNets, RNNs hacen milagros. Teniendo en cuenta que decidir los hiperparámetros en el diseño de una red neuronal se reduce a la tarea de pura experiencia.

Dado que usted ha pedido las mejores prácticas y dado que en mi experiencia de trabajo no he encontrado ninguna de las heurísticas para el mismo, solo puedo decirle cómo abordo el problema y confiar en mí es la única forma en que Tú también puedes aprender.

Los LSTM, un tipo de RNN, son herramientas muy poderosas y es maravilloso cómo aprenden los contextos. Creo que una forma de pensar con dimesions es pensar en los casos extremos y reflexionar sobre cuáles son los pros y los contras de mantenerlos en los extremos, es decir, bajo y alto, porque eso te ayudará a tener una idea de cuál debería ser tu elección.

Teniendo esto en cuenta, procedamos y pensemos en esa dirección ahora.

Ahora, supongamos que mantiene muy alta la dimensión del estado oculto (hablar de extremos aclara las cosas según yo) para, por ejemplo, un vector de tamaño 10,000 (ese es un vector enorme). Hay muchos problemas con esta elección de dimensión.

-> Es difícil realizar cálculos en tales tamaños de vectores y lo más probable es que su CPU / GPU no pueda manejar tal escala de cálculos. Obviamente tiene los beneficios de que un vector de esta dimensión contendrá más información de los datos PERO usted necesita tener grandes cantidades de datos para entrenar este tipo de LSTM, grandes cantidades de datos para que este LSTM sea entrenado adecuadamente para que capture cada minuto detalles de los datos requeridos para una clasificación / predicción adicional, etc.

Se puede considerar como una súper neurona, una máquina de aprendizaje poderosa, muy grande y capaz , pero esa máquina requeriría muchos ejemplos para aprender, y suponiendo que tenga una gran cantidad de datos y también aprenda bien, esta bestia aprenderá cada minuto Detalles necesarios para su tarea !!!

Ahora, hablemos del otro caso extremo, es decir, un estado oculto de muy baja dimensión , digamos

-> Pensemos en esto como un niño muy pobre (LSTM) en clase porque Dios (Nosotros) dotó a este niño con muy poca memoria (tamaño de vector 2), ¿crees que no importa cuántos ejemplos uses para explicar a este niño? ser capaz de aprender cosas – NO, ¿por qué? La respuesta es que ni siquiera le has dado ese tipo de capacidad a este niño para que pueda aprender cosas, ¡eso es una injusticia para este niño!

Ahora que hemos visto ambos casos extremos, hablemos sobre algunas dimensiones que funcionan realmente bien, puede ir a -32,64,128,256, etc. Creo que los vectores de tamaño son realmente capaces de aprender representaciones de sus datos, esto lo digo completamente por experiencia. y he podido hacer toda mi tarea usando el estado oculto de tamaños como se mencionó anteriormente. No les lleva mucho tiempo aprender y se pueden usar para su predicción con bastante buena precisión, siempre que haya diseñado bien su red. Algunas tareas incluyen: Análisis de sentimientos, Proximidad semántica, Predicción de series de tiempo, Traductor, etc.

Al final, me gustaría decir que la explicación que di arriba se basa puramente en mi comprensión y razonamiento de cómo funciona la red neuronal recurrente y la intuición detrás de ellos, también podría estar equivocado, pero en el mundo de las redes profundas nadie sabe cómo funciona. asi que…

Espero que a medida que entrene sus redes recurrentes usted mismo tenga más idea sobre la elección de tamaños de estados ocultos.

Me gustaría que pudieras compartir tu opinión también.

¡Gracias!

Feliz entrenamiento !!

More Interesting

¿Es el aprendizaje automático el único campo de IA de interés para la academia y la industria?

¿Cuál es el método de detección de objetos de última generación para la identificación de objetos dentro de la imagen?

¿Cuál es la mejor manera para que un principiante completo aprenda el aprendizaje automático?

¿Por qué es importante usar pruebas de regresión?

¿Qué hace que los parámetros del modelo sean variables latentes?

¿Qué empresas o agencias utilizan (d) Vader para el análisis de sentimientos?

¿Cuál es la diferencia entre los diferentes tipos de funciones de activación para redes neuronales y por qué es importante elegir una sobre otra?

En el aprendizaje automático, ¿son siempre más datos mejores que mejores algoritmos?

¿Cuál es la función de transferencia en redes neuronales artificiales?

¿Debo aprender a desarrollar backend si quiero ser ingeniero de aprendizaje automático?

¿Cuál es la diferencia entre el descenso en gradiente y el descenso coordinado?

¿Cuáles son los últimos algoritmos y técnicas para la corrección ortográfica?

Las entidades biológicas inconscientes que simplemente reaccionan automáticamente a su entorno han evolucionado y se han vuelto autoconscientes. ¿Qué impide que AI lo haga?

¿Cuáles son algunas buenas bibliotecas de Deep Learning donde puedo usar una Red de creencias profundas con clasificadores como SVM gaussiano?

Andrew Ng: ¿Por qué ya no es necesario entrenar capas a través de codificadores automáticos para Deep Learning?