Метод LSTM – Long Short-Term Memory




(долгая краткосрочная память)

 

 
 

Рекуррентная НС состоит из срезов, и информация (hi) передается из левых блоков в правые:

 

Вдохновляясь сверточной НС ResNet, в которой очередной слой НС информация от первого слоя до далеко идущего вперед слоя не может дойти без потерь, поэтому в ResNet есть прямая связь между далекими слоями, которая просто копирует выход этого слоя:

 
 

Это позволяет распростронять информацию дальше. Если константа t в RNN очень большая, то в процессе тренировки сеть может забить на слишком далекую информацию, поэтому, нужно сделать то же самое, что и в ResNet: нужно научиться перекидывать информацию из далеких ячеек в последнюю ячейку xt. Это непросто, потому что далеких ячеек у нас много, и непонятно, какую взять из них и перекинуть из неё информацию дальше, поэтому нужно брать всю информацию из всех далеких ячеек и передавать её в последние ячейки, но из-за последующего очень сильного усложнения архитектуры НС так не делают.

На практике используется следующее: информацию, которая содержится в самых первых ячейках, будем архивировать (для экономии) и передавать дальше. Помимо вектора h пустить ещё вектор c, который в сжатом виде содержит информацию из всех предыдущих ячеек, в том числе, из самых дальних. Но по какому принципу понять, какую информацию архивировать, и какая ячейка – наиболее важная, т.е. будут давать больше информации, а какие – неважные? Вектор с имеет фиксированный размер, то есть, если у нас каждый слой нейронной сети передает дальше число h, то и c должно быть число. Если h – вектор, то и c должен быть вектором той же размерности.

По каким правилам будем складировать информацию в архив ci?

1) Нужно посчитать % данных для удаления.

2) Нужно посчитать % новых данных

3)

 
 

С помощью ci вычислить новое hi

 

Проценты подбираются опытным путем, их оптимальные значения достигаются во время тренировки. Эти данные определяются по следующим формулам. Промежуточное c’:

 

 

Окончательное c считается так:

где

 

То есть, с такой интенсивностью мы забываем информацию, которая пришла из старых ячеек. То есть, вероятность забыть и вероятность добавить. Процент забывания информации считается с помощью сигмоиды:

 

Процент новой информации считается также с помощью сигмоиды:

 

 

Далее с помощью ct считаем новый h, который подается на вход в следующий слой и на выход.

Грубо говоря, LSTM – метод, который позволяет в заархивированном виде информацию из далеких ячеек подогнать в очередную ячейку xt, при чем архивация умная – в процессе сортировки она сама отмеряет, сколько на каждом шаге забыть, сколько новой информации – добавить. Она этому учится, потому что возникают новые параметры, которые тоже учатся в процессе тренировки НС. После этого, когда будут найдены оптимальные значения параметров, мы получим оптимальный способ архивации наших данных из далеких ячеек - наиболее значимая информация передается без потерь.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-07-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: