Вот уравнения LSTM:
Когда вы смотрите на эти уравнения, вам необходимо мысленно выделить, как ворота вычислили (строки с 1 по 3) и как они применены (строки 5 и 6). Они вычисляются как функция скрытого состояния h
, но они применяются к ячейке памяти c
.
они показывают, что ворота забывания принимают значение состояния старой ячейки (которое является равно предыдущему скрытому состоянию?), а также новому входному сигналу.
Давайте рассмотрим конкретно вентиль forget
, вычисленный в строке 2. Его вычисление принимает в качестве входных данных текущий входной сигнал x[t]
и последнее скрытое состояние h[t-1]
. (Обратите внимание, что утверждение в вашем комментарии неверно: скрытое состояние отличается от ячейки памяти.)
Фактически все ворота input
, forget
и output
в строках с 1 по 3 вычисляются равномерно как функция, которая принимает x[t]
и h[t-1]
. Вообще говоря, ценность этих элементов основана на текущем входе и состоянии, которое было ранее.
Чтобы напрямую ответить на ваши вопросы:
1) Если ворота забыли Предполагается регулировать память предыдущего состояния ячейки, почему необходимо принимать новый ввод? Разве это не должно обрабатываться исключительно во входном вентиле?
Не путайте, как вычисляется вентиль с тем, как применяется . Посмотрите, как ворота 1042 * используются в строке 5 для выполнения упомянутых вами правил. Ворота забытия применяются только к предыдущей ячейке памяти c[t-1]
. Как вы, вероятно, знаете, вентиль - это просто вектор дробных чисел с плавающей точкой, и он применяется как поэлементное умножение. Здесь ворота f
будут умножены на c[t-1]
, в результате чего некоторые из c[t-1]
будут сохранены. В той же строке 5 входной шлюз i
делает то же самое с новой ячейкой памяти-кандидатом c-tilde[t]
. Основная идея c строки 5 заключается в том, что новая ячейка памяти c[t]
смешивает некоторые из старой ячейки памяти и часть новой ячейки памяти-кандидата.
Строка 5 является наиболее важной среди уравнения LSTM. Вы можете найти аналогичную строку в уравнениях GRU.
2), если входной вентиль решает, какая новая информация добавляется в состояние ячейки, почему мы также вводим предыдущее состояние ячейки во входной Ворота? Разве это регулирование уже не произошло в воротах забвения?
Опять же, вам нужно разделить, как ворота вычисляются и как они применяются, Входной вентиль действительно регулирует, какая новая информация добавляется в состояние ячейки, и это выполняется в строке 5, как я писал выше.