Il existe des réseaux de neurones récurrents et des réseaux de neurones récursifs. Les deux sont généralement désignés par le même acronyme: RNN. Selon Wikipedia , NN récurrent est en réalité NN récursif, mais je ne comprends pas vraiment l'explication.
De plus, je ne semble pas trouver ce qui est le mieux (avec des exemples ou à peu près) pour le traitement du langage naturel. Le fait est que, bien que Socher utilise Recursive NN pour la PNL dans son tutoriel , je ne parviens pas à trouver une bonne implémentation des réseaux de neurones récursifs. Lorsque je recherche dans Google, la plupart des réponses portent sur NN récurrent.
De plus, y a-t-il un autre DNN qui s'applique mieux à la PNL ou dépend-il de la tâche de la PNL? Filets de croyances profondes ou autoencodeurs empilés? (Je ne trouve pas d'utilisation particulière pour ConvNets dans la PNL, et la plupart des implémentations sont conçues pour la vision par ordinateur).
Enfin, je préférerais vraiment les implémentations DNN pour C ++ (mieux encore s'il prend en charge le processeur graphique) ou Scala (mieux pour le support Spark) que pour Python ou Matlab / Octave.
J'ai essayé Deeplearning4j, mais il est en développement constant et la documentation est un peu dépassée et je n'arrive pas à le faire fonctionner. Dommage car il a la "boîte noire" comme une façon de faire les choses, tout à fait comme scikit-learn ou Weka, ce que je veux vraiment.
la source
Les réseaux de neurones récurrents (RNN) se développent essentiellement dans le temps. Il est utilisé pour les entrées séquentielles où le facteur temps est le principal facteur de différenciation entre les éléments de la séquence. Par exemple, voici un réseau de neurones récurrent utilisé pour la modélisation du langage et qui s'est développé au fil du temps. À chaque pas de temps, en plus de l'entrée utilisateur à ce pas de temps, il accepte également la sortie du calque masqué qui a été calculé au pas de temps précédent.
Un réseau de neurones récursifs ressemble plus à un réseau hiérarchique où la séquence d’entrée n’a pas d’aspect temporel, mais l’entrée doit être traitée hiérarchiquement de manière arborescente. Voici un exemple de l'apparence d'un réseau neuronal récursif. Il montre comment apprendre l’arbre d’analyse d’une phrase en prenant de manière récursive le résultat de l’opération effectuée sur une plus petite partie du texte.
[ NOTE ]:
LSTM et GRU sont deux types RNN étendus avec la porte oubliée, qui sont très courants dans la PNL.
Formule LSTM-Cell:
la source