Существуют рекуррентные нейронные сети и рекурсивные нейронные сети. Оба обычно обозначаются одной и той же аббревиатурой: RNN. Согласно Википедии , Рекуррентный NN на самом деле является Рекурсивным NN, но я не совсем понимаю объяснение.
Более того, я не могу найти, что лучше (с примерами или около того) для обработки естественного языка. Дело в том, что хотя в своем уроке Сочер использует Recursive NN for NLP , я не могу найти хорошую реализацию рекурсивных нейронных сетей, и при поиске в Google большинство ответов касаются Recurrent NN.
Кроме того, есть ли другой DNN, который лучше подходит для NLP, или это зависит от задачи NLP? Сети глубокого убеждения или многоуровневые автоэнкодеры? (Кажется, я не нахожу какой-либо конкретной утилиты для ConvNets в NLP, и большинство реализаций ориентированы на машинное зрение).
Наконец, я бы действительно предпочел реализации DNN для C ++ (еще лучше, если он поддерживает GPU) или Scala (лучше, если он поддерживает Spark), а не Python или Matlab / Octave.
Я пробовал Deeplearning4j, но он постоянно развивается, и документация немного устарела, и я не могу заставить ее работать. Жаль, потому что у него есть «черный ящик», похожий на способ ведения дел, очень похожий на scikit-learn или Weka, чего я и хочу.
источник
Рекуррентные нейронные сети (РНН) в основном разворачиваются со временем. Он используется для последовательных входов, где фактор времени является основным дифференцирующим фактором между элементами последовательности. Например, вот рекуррентная нейронная сеть, используемая для языкового моделирования, которая была развернута с течением времени. На каждом временном шаге, в дополнение к пользовательскому вводу на этом временном шаге, он также принимает вывод скрытого слоя, который был вычислен на предыдущем временном шаге.
Рекурсивные нейронные сети больше похожи на иерархическую сеть, где действительно нет временного аспекта входной последовательности, но вход должен обрабатываться иерархически в виде дерева. Вот пример того, как выглядит рекурсивная нейронная сеть. Он показывает способ изучения дерева разбора предложения путем рекурсивного получения вывода операции, выполненной над меньшим фрагментом текста.
[ ПРИМЕЧАНИЕ ]:
LSTM и GRU - это два расширенных типа RNN с шлюзом забывания, которые широко распространены в NLP.
LSTM-Cell Формула:
источник