Рекурсивные нейронные сети (RvNN) — это глубокие нейронные сети, используемые для обработки естественного языка.
Рекурсивная нейронная сеть — это когда одни и те же весовые коэффициенты рекурсивно применяются к структурированным входным данным для получения структурированного прогноза.
Руководителям компаний и специалистам в области технологий необходимо понимать, что такое рекурсивная нейронная сеть, на что она способна и как она работает.
Что такое рекурсивная нейронная сеть?
Глубокое обучение — это раздел машинного обучения и искусственного интеллекта (ИИ), который пытается имитировать процесс обработки данных и получения определённых знаний человеческим мозгом. Нейронные сети составляют основу глубокого обучения. Они созданы по образу и подобию человеческого мозга и предназначены для точного распознавания закономерностей в наборе данных. Если вы хотите предсказывать непредсказуемое, глубокое обучение — это то, что вам нужно.
Рекурсивные нейронные сети (RvNN) — это класс глубоких нейронных сетей, которые могут обучаться на подробной и структурированной информации. С помощью RvNN можно получить структурированный прогноз, рекурсивно применяя один и тот же набор весов к структурированным входным данным. Слово «рекурсивный» указывает на то, что нейронная сеть применяется к своим выходным данным.
Благодаря своей глубокой древовидной структуре рекурсивные нейронные сети могут работать с иерархическими данными. Древовидная структура подразумевает объединение дочерних узлов и создание родительских узлов. Каждая связь между дочерним и родительским узлами имеет весовую матрицу, и у одинаковых дочерних узлов веса одинаковые. Количество дочерних узлов для каждого узла в дереве фиксировано, что позволяет выполнять рекурсивные операции и использовать одни и те же веса. Рекурсивные нейронные сети используются, когда необходимо проанализировать целое предложение.
Чтобы вычислить представление родительского узла, мы складываем произведения весовых матриц (W_i) и представлений дочерних узлов (C_i) и применяем преобразование f:
\[h = f \left( \sum_{i=1}^{i=c} W_i C_i \right) \], где c — количество детей.
Рекуррентная нейронная сеть против рекурсивных нейронных сетей
- Рекуррентные нейронные сети (РНС) — ещё один известный класс нейронных сетей, используемых для обработки последовательных данных. Они тесно связаны с рекурсивными нейронными сетями.
- Рекуррентные нейронные сети представляют собой временные последовательности, которые находят применение в обработке естественного языка (NLP), поскольку языковые данные, такие как предложения и абзацы, имеют последовательную структуру. Рекуррентные сети обычно представляют собой цепные структуры. Веса распределяются по всей длине цепи, сохраняя неизменной размерность.
- С другой стороны, рекурсивные нейронные сети работают с иерархическими моделями данных благодаря своей древовидной структуре. У каждого узла в дереве есть фиксированное количество дочерних узлов, что позволяет выполнять рекурсивные операции и использовать одни и те же весовые коэффициенты на каждом этапе. Дочерние представления объединяются в родительские представления.
- Эффективность рекурсивной сети выше, чем у сети прямого распространения.
- Рекуррентные сети работают с повторяющимися данными, то есть рекуррентные сети — это просто обобщение рекуррентных сетей.
Реализация Рекурсивной Нейронной сети
Рекурсивная нейронная сеть используется для анализа тональности предложений на естественном языке. Это одна из важнейших задач обработки естественного языка (NLP), которая позволяет определить тон и настроение автора в конкретном предложении. Если автор выражает какие-либо чувства, распознаются основные характеристики тональности текста. Мы хотим выделить более мелкие компоненты, такие как существительные или глагольные фразы, и упорядочить их в соответствии с синтаксической иерархией. Например, система определяет, является ли предложение конструктивным или содержит негативные формулировки.
При каждом обходе узлов вычисляется переменная под названием «оценка», которая указывает, какую пару фраз и слов нужно объединить, чтобы сформировать идеальное синтаксическое дерево для данного предложения.
Давайте рассмотрим, как фраза «много веселья» представлена в следующем предложении.
Программирование — это очень увлекательно.
Представление этой фразы в формате RNN было бы неподходящим, поскольку оно учитывает только последовательные отношения. Каждое состояние зависит от представления предыдущих слов. Таким образом, подпоследовательность, которая не встречается в начале предложения, не может быть представлена. С помощью RNN при обработке слова ‘fun’ скрытое состояние будет представлять все предложение.
Однако с помощью рекурсивной нейронной сети (RvNN) иерархическая архитектура может хранить представление конкретной фразы. Оно находится в скрытом состоянии узла R_{a\ lot\ of\ fun}. Таким образом, синтаксический анализ полностью реализуется с помощью рекурсивных нейронных сетей.
Преимущества RvNN для обработки естественного языка
- Двумя важными преимуществами рекурсивных нейронных сетей для обработки естественного языка являются их структура и уменьшение глубины сети.
- Как уже было сказано, древовидная структура рекурсивных нейронных сетей позволяет работать с иерархическими данными, например при синтаксическом анализе.
- Ещё одно преимущество рекуррентной нейронной сети состоит в том, что деревья могут иметь логарифмическую высоту. При наличии O(n) входных слов рекуррентная нейронная сеть может представлять собой двоичное дерево высотой O(log\ n). Это уменьшает расстояние между первым и последним входными элементами. Следовательно, долгосрочная зависимость становится короче и её легче уловить.
Недостатки рекуррентных нейронных сетей для обработки естественного языка
- Главным недостатком рекурсивных нейронных сетей может быть их древовидная структура. Использование древовидной структуры означает, что в нашу модель вводится уникальное индуктивное смещение. Это смещение соответствует предположению о том, что данные имеют древовидную иерархическую структуру. Но это не так. Таким образом, сеть может оказаться неспособной выявить существующие закономерности.
- Ещё одним недостатком рекурсивной нейронной сети является то, что синтаксический анализ предложений может быть медленным и неоднозначным. Интересно, что для одного предложения может существовать множество деревьев синтаксического анализа.
- Кроме того, разметка обучающих данных для рекурсивных нейронных сетей требует больше времени и усилий, чем создание рекуррентных нейронных сетей. Разбиение предложения на короткие компоненты вручную требует больше времени и усилий, чем присвоение предложению метки.
Наши ученики также спрашивают:
1. Является ли CNN рекурсивным?
Новые модели CNN (свёрточных нейронных сетей) оснащены полностью рекурсивными свёрточными слоями для быстрой и точной обработки изображений. Этот подход быстр и не требует дополнительных входных каналов, таких как нормаль к поверхности.
2. В чём разница между свёрточными и рекуррентными нейронными сетями?
И CNN (свёрточные нейронные сети), и RNN (рекуррентные нейронные сети) составляют основу для нескольких бизнес-приложений на основе ИИ. CNN обычно применяется для анализа визуальных изображений. RNN, в свою очередь, представляет собой сеть, в которой связанные узлы образуют направленный граф вдоль временной последовательности.
Архитектура CNN отличается от RNN. В ней используются нейронные сети с прямой оплатой, которые используют фильтры и уровни объединения, в то время как RNN имеют встроенную память, аналогичную циклу, и канал RNN возвращается в сеть. CNN обычно используются для решения задач распознавания пространственных данных и изображений, в то время как RNN более склонны анализировать временные, последовательные данные, такие как язык, тексты или видео.
3. Является ли RNN более мощным, чем CNN?
CNN более мощный и быстрый и включает в себя меньше функций совместимости, чем RNN. В то время как CNN принимает входные данные фиксированного размера и выдает выходные данные фиксированного размера, RNN может обрабатывать произвольные длины ввода / вывода.
4. Сколько существует типов нейронных сетей?
В глубоком обучении есть три основных типа нейронных сетей:
- Искусственные нейронные сети (ИНС)
- Свёрточные нейронные сети (CNN)
- Рекуррентные нейронные сети (RNN)
Хотите ускорить свой карьерный рост в области искусственного интеллекта и машинного обучения? Присоединяйтесь к нашей
программе последипломного образования в области искусственного интеллекта и машинного обучения и получите доступ к более чем 25 актуальным отраслевым проектам, карьерному наставничеству и многому другому.
Заключение
В этой статье мы рассмотрели некоторые основы рекурсивных нейронных сетей и глубокого обучения. Знание алгоритмов машинного обучения и их типов поможет вам составить чёткое представление о том, какой потенциал у машинного обучения в ближайшие годы.
Изучив алгоритмы машинного языка, вы сможете лучше понять принципы обработки данных и извлекать из них более актуальную и ценную информацию. Если у вас есть несколько лет опыта работы в сфере компьютерных наук или вы хотите изучить машинное обучение, обратите внимание на программу для аспирантов по искусственному интеллекту и машинному обучению от Simplilearn и продвиньтесь по карьерной лестнице.