38
правок
Изменения
Нет описания правки
[[File:Lstm-2.png|none|650px]]
Для замены старого состояния ячейки <math>C_{t-1}</math> на новое состояние <math>C_t</math>. Необходимо умножить старое состояние на <math>f_t</math>, забывая то, что мы решили забыть ранее. Затем прибавляем <math>i_t * \tilde{C}_t</math>. Это новые значения-кандидаты, умноженные на <math>t</math> – на сколько мы хотим обновить каждое из значений состояния.
[[File:Lstm-3.png|none|650px]]
На последнем этапе определяется то, какую информацию мы хотим получать какая информация будет получена на выходе. Выходные данные будут основаны на нашем состоянии ячейки, к ним будут применены некоторые фильтры. Сначала мы применяем значения предыдущего выхода <math>h_{t-1}</math> и текущего входа <math>x_t</math> пропускаются через сигмоидальный слой, который решает, какую информацию какая информация из состояния ячейки мы будем выводитьбудет выведена. Затем значения состояния ячейки проходят через tanh-слой, чтобы получить на выходе значения из диапазона от -1 до 1, и перемножаются с выходными значениями сигмоидального слоя, что позволяет выводить только требуемую информацию.
[[File:Lstm-4.png|none|650px]]
На схеме выше “глазки” есть у каждого слоя, но во многих работах они добавляются лишь к некоторым слоям.
Другие модификации включают объединенные фильтры “забывания” и входные фильтры. В этом случае решения, какую информацию следует забыть, а какую запомнить, принимаются не отдельно, а совместно. Мы забываем какую-либо информацию Информация забывается только тогда, когда необходимо записать что-то на ее место. Мы добавляем новую информацию с Добавление новой информации в состояние ячейки выполняется только тогда, когда забываем старую.
[[File:Lstm-mod-1.png|none|650px]]