Изменения

Перейти к: навигация, поиск

Рекурсивные нейронные сети

24 байта добавлено, 19:30, 13 апреля 2020
Примеры кода
При обучении последовательных структур и деревьев в задачах обработки естественного языка, фразы и предложения моделируются через векторное представление слов. 
Базовая структура сети является бинарным деревом, состоящим из родительского компонента (корня), и дочерних компонентов (листьев) Каждая группа . Каждый компонент - набор нейронов, размер которого зависит от сложности входных данных. Входная последовательность данных подаются подаётся на листья, а корень использует классификатор для определения класса и меры (score)
Рекурсивная нейронная сеть использует следующую формулу для вычисления родительского вектора:
*<math>f</math> — нелинейную функция активации типа гиперболического тангенса
*<math>bias</math> - cмещение, оно может быть добавлено в качестве дополнительного столбца к <math>W</math>, если к конкатенации входных векторов добавляется 1.
Родительские векторы должны иметь одинаковую размерность, чтобы быть рекурсивно совместимыми и использоваться в качестве входных данных для следующей композиции.
Последующие шаги получают на вход score меру предыдущего корня и следующее слово последовательности, таким образом пока в сети не будет сформировано дерево со всеми словами в последовательности.
Деревья могут иметь разную структуру, выбор лучшей подструктуры дерева для сети основывается на их мере. Мера дерева - сумма мер на каждом узле:
Опишем здесь пример построения сети, опустив построение дерева.
[https://github.com/yc930401/RecNN-pytorch Полный листинг кода для]анализа тональности текста на PyTorch ] (из статьи [https://nlp.stanford.edu/~socherr/EMNLP2013_RNTN.pdf Socher et al.(2013c)])
class RNTN(nn.Module):

Навигация