Изменения

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

Долгая краткосрочная память

709 байт добавлено, 13:10, 3 апреля 2019
Нет описания правки
LSTM-модули разработаны специально, чтобы избежать проблемы долговременной зависимости, запоминая значения как на короткие, так и на длинные промежутки времени. Это объясняется тем, что LSTM-модуль не использует функцию активации внутри своих рекуррентных компонентов. Таким образом, хранимое значение не размывается во времени и градиент не исчезает при использовании метода обратного распространения ошибки во времени (англ. Backpropagation Through Time, BPTT)<ref name=BPTT_1>[http://andrew.gibiansky.com/blog/machine-learning/recurrent-neural-networks/ Backpropagation Through Time]</ref><ref name=BPTT_2>[http://www.wildml.com/2015/10/recurrent-neural-networks-tutorial-part-3-backpropagation-through-time-and-vanishing-gradients/ Backpropagation Through Time]</ref> при тренировке сети.
Ключевой компонент Ключевые компоненты LSTM {{---}} это модуля: состояние ячейки {{---}} горизонтальная линияи различные фильтры. О состоянии ячейки можно говорить, как о памяти сети, проходящая которая передает соответствующую информацию по верхней части схемы.Состояние ячейки напоминает конвейерную лентувсей цепочке модулей. Она проходит напрямую через всю цепочкуТаким образом, участвуя лишь в нескольких линейных преобразованиях. Информация даже информация из ранних временных шагов может легко течь по нейбыть получена на более поздних, не подвергаясь изменениямнивелируя эффект кратковременной памяти.[[File:Lstm-cell-state.png|none|250px|[http://colah.github.io/posts/2015-08-Understanding-LSTMs/ Состояние ячейки]]] Тем не менееПо мере того, как происходит обучение, состояние ячейки изменяется, LSTM может удалять информацию информация добавляется или удаляется из состояния ячейки; этот процесс регулируется структурами, называемыми фильтрами.Фильтры позволяют пропускать информацию контролируют поток информации на входах и на выходах модуля на основании некоторых условий. Они состоят из слоя сигмоидальной<ref name=Sigmoid_function>[https://en.wikipedia.org/wiki/Sigmoid_function Сигмоида.]</ref> нейронной сети и операции поточечного умножения. 
[[File:Lstm-gates.png|none|100px|[http://colah.github.io/posts/2015-08-Understanding-LSTMs/ Фильтры]]]
 Сигмоидальный слой возвращает числа от нуля до единицыв диапазоне [0; 1], которые обозначают, какую долю каждого блока информации следует пропустить дальше по сети. Ноль Умножение на это значение используется для пропуска или запрета потока информации внутрь и наружу памяти. Например, входной фильтр контролирует меру вхождения нового значения в память, а фильтр забывания контролирует меру сохранения значения в памяти. Выходной фильтр контролирует меру того, в какой степени значение, находящееся в данном случае означает “не пропускать ничего”памяти, единица – “пропустить все”используется при расчёте выходной функции активации.
== Основные компоненты ==
38
правок

Навигация