38
правок
Изменения
→ELMO
== ELMO ==
[[File:ElmoExplain.jpg|600px|thumb|Архитектура и принцип работы ELMO]]
<i>ELMO</i> {{- --}} это многослойная двунаправленная [[:Рекуррентные_нейронные_сети|рекуррентная нейронная сеть]] c [[:Долгая_краткосрочная_память|LSTM]].
При использовании word2vec или fastText не учитывается семантическая неоднозначность слов.
Так, word2vec назначает слову один вектор независимо от контекста.
<i>ELMO</i> решает эту проблему. В основе стоит идея использовать скрытые состояния языковой модели многослойной [[:Долгая_краткосрочная_память|LSTM]].
Было замечено, что нижние слои сети отвечают за синтаксис и грамматику, а верхние {{- --}} за смысл слов.
Пусть даны токены <math>t_{1}, ..., t_{N}</math>, на которые поделено предложение. Будем считать логарифм правдоподобия метки слова в обоих направлениях, учитывая контекст слева и контекст справа, то есть на основании данных от начала строки до текущего символа и данных от текущего символа и до конца строки.
Таким образом, модель предсказывает вероятность следующего токена с учетом истории.
<math>\left \{ {x_{k}^{LM}}, \overrightarrow{h_{k, j}^{LM}}, \overleftarrow{h_{k, j}^{LM}} | j = 1, ..., L \right \} = \left \{ h_{k, j}^{LM} | j = 1, ..., L \right \}</math>
Здесь <math>x_{k}^{LM}</math> {{---}}, входящий токен, а <math>\overrightarrow{h_{k, j}^{LM}}</math> и <math>\overleftarrow{h_{k, j}^{LM}}</math> {{- --}} скрытые слои в одном и в другом направлении.
Тогда результат работы ELMO будет представлять из себя выражение: