заглушки Что такое RNN и LSTM в глубоком обучении? - Unite.ИИ
Свяжитесь с нами:
Мастер-класс по ИИ:

AI 101

Что такое RNN и LSTM в глубоком обучении?

mm
обновленный on

Многие из наиболее впечатляющих достижений в области обработки естественного языка и чат-ботов с искусственным интеллектом обусловлены Рекуррентные нейронные сети (RNN) и сети с длинной краткосрочной памятью (LSTM). RNN и LSTM представляют собой специальные архитектуры нейронных сетей, способные обрабатывать последовательные данные, данные, в которых важен хронологический порядок. LSTM существенно улучшенные версии RNN, способный интерпретировать более длинные последовательности данных. Давайте посмотрим, как устроены RNN и LSTMS и как они позволяют создавать сложные системы обработки естественного языка.

Что такое нейронные сети с прямой связью?

Поэтому, прежде чем мы поговорим о том, как работают долговременная кратковременная память (LSTM) и сверточные нейронные сети (CNN), мы должны обсудить формат нейронной сети в целом.

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

Входной слой — это то, что принимает данные в нейронную сеть, а скрытые слои — это то, что изучает закономерности в данных. Скрытые слои в наборе данных связаны с входными и выходными слоями «весами» и «смещениями», которые являются просто предположениями о том, как точки данных связаны друг с другом. Эти веса корректируются во время тренировки. По мере обучения сети предположения модели об обучающих данных (выходные значения) сравниваются с фактическими обучающими метками. В ходе обучения сеть должна (надеюсь) точнее прогнозировать отношения между точками данных, чтобы она могла точно классифицировать новые точки данных. Глубокие нейронные сети — это сети, в которых больше слоев в середине/больше скрытых слоев. Чем больше в модели скрытых слоев и нейронов/узлов, тем лучше модель может распознавать закономерности в данных.

Обычные нейронные сети с прямой связью, подобные описанным выше, часто называют «плотными нейронными сетями». Эти плотные нейронные сети сочетаются с различными сетевыми архитектурами, которые специализируются на интерпретации различных типов данных.

Что такое RNN (рекуррентные нейронные сети)?

Рекуррентные нейронные сети используют общий принцип нейронных сетей с прямой связью и позволяют им обрабатывать последовательные данные путем придание модели внутренней памяти. «Рекуррентная» часть имени RNN возникает из-за того, что входные и выходные данные зацикливаются. Как только выходные данные сети создаются, выходные данные копируются и возвращаются в сеть в качестве входных данных. При принятии решения анализируются не только текущие входные и выходные данные, но и предыдущие входные данные. Другими словами, если начальным входом для сети является X, а выходом — H, то и H, и X1 (следующий вход в последовательности данных) подаются в сеть для следующего раунда обучения. Таким образом, контекст данных (предыдущие входные данные) сохраняется по мере обучения сети.

Результатом этой архитектуры является то, что RNN способны обрабатывать последовательные данные. Однако RNN страдают от нескольких проблем. RNN страдают от проблемы исчезающего градиента и взрывающегося градиента.

Длина последовательностей, которые может интерпретировать RNN, довольно ограничена, особенно по сравнению с LSTM.

Что такое LSTM (сети с долговременной кратковременной памятью)?

Сети с долговременной кратковременной памятью можно рассматривать как расширение RNN, еще раз применяя концепцию сохранения контекста входных данных. Однако LSTM были изменены несколькими важными способами, которые позволяют им интерпретировать прошлые данные с помощью более совершенных методов. Изменения, внесенные в LSTM, касаются проблемы исчезающего градиента и позволяют LSTM учитывать гораздо более длинные входные последовательности.

Модели LSTM состоят из три разных компонента или ворота, Там есть входные ворота, выходные ворота и ворота забывания. Подобно RNN, LSTM учитывают входные данные из предыдущего временного шага при изменении памяти модели и входных весов. Входные ворота принимают решения о том, какие значения важны и должны быть пропущены через модель. Во входных воротах используется сигмовидная функция, которая определяет, какие значения передавать через рекуррентную сеть. Ноль удаляет значение, а 1 сохраняет его. Здесь также используется функция TanH, которая определяет, насколько важны для модели входные значения в диапазоне от -1 до 1.

После того, как текущие входы и состояние памяти учтены, выходной вентиль решает, какие значения передать на следующий временной шаг. В выходном вентиле значения анализируются и им присваивается важность в диапазоне от -1 до 1. Это регулирует данные перед тем, как они будут перенесены на следующий расчет временного шага. Наконец, задача шлюза забыть состоит в том, чтобы отбрасывать информацию, которую модель считает ненужной для принятия решения о характере входных значений. Ворота забывания используют сигмовидную функцию для значений, выводя числа от 0 (забыть это) до 1 (оставить это).

Нейронная сеть LSTM состоит как из специальных слоев LSTM, которые могут интерпретировать данные последовательных слов, так и из плотно связанных слоев, подобных описанным выше. Как только данные перемещаются через слои LSTM, они переходят в плотно связанные слои.