Hay redes neuronales recurrentes y redes neuronales recursivas. Ambos generalmente se denotan con el mismo acrónimo: RNN. Según Wikipedia , los NN recurrentes son de hecho NN recursivos, pero realmente no entiendo la explicación.
Además, no parece encontrar cuál es mejor (con ejemplos más o menos) para el procesamiento del lenguaje natural. El hecho es que, aunque Socher utiliza Recursive NN para PNL en su tutorial , no puedo encontrar una buena implementación de redes neuronales recursivas, y cuando busco en Google, la mayoría de las respuestas son sobre Recurrent NN.
Además de eso, ¿hay otro DNN que se aplique mejor para PNL, o depende de la tarea de PNL? ¿Redes de creencias profundas o autoencoders apilados? (Parece que no encuentro ninguna utilidad particular para ConvNets en PNL, y la mayoría de las implementaciones son con visión artificial en mente).
Finalmente, realmente preferiría las implementaciones de DNN para C ++ (mejor aún si tiene soporte para GPU) o Scala (mejor si tiene soporte para Spark) en lugar de Python o Matlab / Octave.
Intenté Deeplearning4j, pero está en constante desarrollo y la documentación está un poco desactualizada y parece que no puedo hacer que funcione. Lástima porque tiene la "caja negra" como una forma de hacer las cosas, muy parecida a scikit-learn o Weka, que es lo que realmente quiero.
fuente
Las redes neuronales recurrentes (RNN) se desarrollan básicamente con el tiempo. Se utiliza para entradas secuenciales donde el factor tiempo es el principal factor diferenciador entre los elementos de la secuencia. Por ejemplo, aquí hay una red neuronal recurrente utilizada para modelar el lenguaje que se ha ido desarrollando a lo largo del tiempo. En cada paso de tiempo, además de la entrada del usuario en ese paso de tiempo, también acepta la salida de la capa oculta que se calculó en el paso de tiempo anterior.
Una red neuronal recursiva es más como una red jerárquica donde realmente no hay un aspecto de tiempo en la secuencia de entrada, pero la entrada debe procesarse jerárquicamente en forma de árbol. Aquí hay un ejemplo de cómo se ve una red neuronal recursiva. Muestra la forma de aprender un árbol de análisis de una oración tomando recursivamente el resultado de la operación realizada en un fragmento más pequeño del texto.
[ NOTA ]:
LSTM y GRU son dos tipos de RNN extendidos con la puerta de olvidar, que son muy comunes en PNL.
Fórmula de células LSTM:
fuente