Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
1. Структура сети
LSTM обладает преимуществами RNN и обладает способностью памяти, но он запоминает ценную информацию и отказывается от избыточной памяти, тем самым уменьшая сложность обучения. По сравнению с RNN, нейроны LSTM по-прежнему рассчитываются на основе входа X и выхода h скрытого слоя предыдущего уровня, но внутренняя структура изменилась, то есть изменилась формула работы нейрона, и внешняя структура не изменилась, поэтому различные структуры RNN, упомянутые выше, могут быть заменены LSTM. Причина, по которой LSTM может отфильтровывать ценные воспоминания, заключается в том, что к его нейронам добавляются входные ворота i, забывающие ворота f, выходные ворота o и единица внутренней памяти c. Для обученной модели LSTM нам необходимо знать, что у каждого из ее ворот (забывания, выхода и входа) есть свои (U, W, b), а также отражена приведенная выше формула, которая находится в процессе обучения , принадлежит. А когда во входной последовательности нет полезной информации, значение вентиля забывания f будет близко к 1, тогда значение вентиля ввода i будет близко к 0, так что полезная информация в прошлом будет сохранена . Когда во входной последовательности есть важная информация, значение вентиля забывания f будет близко к 0, тогда значение вентиля ввода i будет близко к 1. В это время модель LSTM забывает прошлую память и записывает важное воспоминание.
На следующем рисунке показана сетевая структура трехслойной модели LSTM, каждый прямоугольник на рисунке представляет собой нейрон.
Давайте посмотрим на структуру нейрона:
(1) Забытые ворота
Первым шагом в LSTM является решение, какую информацию следует отбрасывать из состояния ячейки. Это решение принимается слоями S-образной сети, называемой «слои забывших ворот». Он получает h_(t-1) и, а выходное значение находится в диапазоне от 0 до 1 для каждого числа в состоянии ячейки ?_(?−1). 1 означает «полностью принять это», 0 означает «полностью игнорировать это».
(2) Входные ворота
Следующим шагом является определение того, какую новую информацию необходимо сохранить в состоянии ячейки. Это разделено на две части. В первой части S-образный сетевой уровень, называемый «уровнем входных ворот», определяет, какую информацию необходимо обновить. Во второй части слой сети в форме танга создает новый вектор значений-кандидатов —, который можно использовать для добавления к состоянию ячейки.
(3) Блок внутренней памяти
Теперь обновите старое состояние ячейки ?_(?−1) до. Умножаем старое состояние на, привыкли забывать информацию, которую мы решили забыть. Затем мы добавляем, используемый для сохранения нового сообщения, которое мы хотим сохранить, которое является новым значением-кандидатом.
(3) Выходной затвор
Наконец, определите выходное значение. Выходные данные зависят от состояния нашей ячейки. Сначала мы запускаем слой сигмовидной сети, чтобы определить, какие части состояния ячейки могут быть выведены. Затем мы вводим состояние ячейки в tanh (регулируя значение от -1 до 1) и умножаем его на выходное значение слоя сигмовидной сети, чтобы мы могли вывести желаемую выходную оценку.
Как LSTM смягчают исчезающие градиенты
Затем мы посмотрим, как LSTM смягчает исчезающий градиент. Давайте посмотрим на формулу обратного распространения ячеек памяти, из формулы мы можем найти, что диапазон результатов не обязательно ограничивается 0-1, но, скорее всего, будет больше 1, то есть градиент исчезает. Есть два фактора, которые влияют на диапазон его результатов, один из них — «добавление«Структура играет определенную роль. Во-вторых, параметры логического элемента в LSTM могут в определенной степени контролировать степень исчезновения градиента на разных временных шагах. Он является основным влияющим фактором, и этот параметр получается путем обучения, которое это также сила LSTM.