Если небольшая нейронная сеть использовалась в качестве функции оценки для модели Attention, против какой метки / значения она обучалась? - PullRequest
0 голосов
/ 10 марта 2019

Я читаю статью о механизме внимания архитектуры кодера-декодера для машинного перевода. Было несколько предложений относительно функции оценки для шага декодирования, такой как косинусное сходство (между состоянием кодера и состоянием декодера), простой точечный продукт и т. Д. Одно из них использует нейронную сеть для обучения, чтобы получить оценку , Но то, что я не понимаю, это то, против чего мы будем тренироваться? Под этим я подразумеваю вывод «Y» метка / значение. Уравнение для сети приведено ниже.

оценка (с, ч) = v. TANH (Вт [с; ч])

https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html

1 Ответ

1 голос
/ 10 марта 2019

Нейронная сеть, которая используется для внимания, - это не то, что обучается отдельно. Чтобы интерпретировать более простыми словами, tanh(W[s;h]) (то, что бумага упоминает как нейронная сеть) является слоем прямой связи, который обучается вместе с кодером и декодером вместе.

Любой механизм внимания предлагает схему взвешивания для выбора и объединения подходящих состояний кодера для конкретного этапа декодирования. Предположим, что выход кодера имеет вид 1 , a 2 , .., a n . Для декодера на каждом шаге взвешенная комбинация состояний кодера дается в качестве входных данных. Оценка внимания дает соответствующие веса α 1 , α 2 , .., α n на каждом этапе декодера. Следовательно, скажем, чтобы получить выходной сигнал декодера d 1 , вход будет иметь вид 1 * α 1 + a 2 * α 2 + .. + a n * α n .

Веса α 1 , .. получены с помощью softmax на выходах слоя / сети внимания, в вашем случае tanh. В этом случае веса tanh изучаются, т. Е. Обновление tanh в обратном направлении и градиенте выполняется вместе со всей сетью кодера-декодера.

...