GRU, также называемый Gated Recurrent Unit, был представлен в 2014 году для решения распространенной проблемы исчезающего градиента, с которой сталкивались программисты. Многие также считают GRU усовершенствованным вариантом LSTM из-за их схожего дизайна и отличных результатов.
Gated Recurrent Units – как они работают
Как упоминалось ранее, Gated Recurrent Units – это усовершенствованный вариант SRRNs (стандартных рекуррентных нейронных сетей). Однако вам может быть интересно, почему GRU настолько эффективны. Давайте выясним.
GRU используют ворота обновления и сброса для решения проблемы исчезающего градиента стандартной RNN. По сути, это два вектора, которые определяют тип информации, передаваемой на выход. Особенностью этих векторов является то, что программисты могут обучить их хранить информацию, особенно давнюю. Приведенная ниже диаграмма демонстрирует математику, задействованную в этом процессе:
Ниже представлен более подробный взгляд на ГРУ.
Как работают эти ГРУ
Многие люди часто задаются вопросом, как работает Siri или голосовой поиск Google. Ответ довольно прост – рекуррентная нейронная сеть. RNN имеет сложные алгоритмы, которые следуют тем же принципам, что и нейроны, присутствующие в человеческом мозге. Алгоритм RNN запоминает все входные данные благодаря внутренней памяти, что делает его идеальным для решения любых задач машинного обучения с хронологическими данными.
Хотя RNN, как правило, невероятно надежны, они часто сталкиваются с проблемами, связанными с краткосрочной памятью. Несмотря на длительный ряд данных, RNN сталкивается с проблемами, когда дело доходит до переноса данных с более старых этапов на более новые. Например, если для завершения предсказаний был обработан абзац, РНК может столкнуться с риском упустить существенную информацию из начала.
Также стоит помнить, что рекуррентная нейронная сеть с обратным распространением сталкивается с проблемой затухающего градиента, когда градиенты – это значения, используемые для обновления веса нейронной системы.
Объяснение проблемы затухающего градиента
Для тех, кому интересно, проблемы угасающего градиента возникают, когда градиент имеет тенденцию уменьшаться после обратного распространения с течением времени и перестает приносить пользу в процессе обучения. Поэтому в зарегистрированных нейронных сетях, если первые уровни набирают наименьшее количество градиента, процесс их обучения прекращается. Поскольку эти слои не обучаются, RNN не запоминает ничего из опыта более длинных серий данных и сталкивается с проблемами краткосрочной памяти.
LSTM и GRU являются идеальными решениями для решения этой проблемы.
Как GRU решает эту проблему
Как уже упоминалось ранее, GRU или блоки с управляемым током – это разновидность конструкции РНС. Они используют процесс гейтирования для управления и контроля потока автоматики между ячейками нейронной сети. GRU могут облегчить улавливание зависимостей, не игнорируя прошлую информацию из массивных кусков последовательных данных.
GRU делает все это, используя свои гейты, которые помогают решить проблемы исчезающего/исчезающего градиента, часто встречающиеся в традиционных зарегистрированных нейронных сетях. Эти гейты помогают контролировать информацию, которая должна сохраняться или отбрасываться на каждом шаге. Также стоит помнить, что в рекуррентных блоках с управлением используются ворота сброса и обновления. Ниже мы рассмотрим их.
Функция ворот обновления
Основная функция ворот обновления заключается в определении идеального количества предыдущей информации, которая важна для будущего. Одна из основных причин, почему эта функция так важна, заключается в том, что модель может копировать каждую деталь прошлого, чтобы устранить проблему затухающего градиента.
Функция ворот сброса
Основная причина, по которой ворота сброса являются жизненно важными, заключается в том, что они определяют, какое количество информации должно быть проигнорировано. Было бы справедливо сравнить reset gate с forget gate в LSTM, поскольку он имеет тенденцию классифицировать несвязанные данные, а затем заставляет модель игнорировать их и действовать без них.
Чем GRU отличается от LSTM
LSTM, которую многие люди также называют долговременной памятью, является искусственной архитектурой RNN, часто используемой в глубоком обучении. Сети с длинной краткосрочной памятью, как правило, хорошо подходят для составления прогнозов, классификации и обработки данных на основе временных строк. Это связано с тем, что всегда существует вероятность наличия пробелов в неопознанных периодах в жизненно важных событиях, присутствующих во временных строках.
В 2014 году для решения проблем градиента, с которыми сталкивались РНС, были введены рекуррентные блоки с управляемым градиентом. GRU и LSTM обладают множеством общих свойств. Например, оба этих алгоритма используют метод стробирования для управления процедурами запоминания. При этом GRU не такие сложные, как LSTM, и их вычисление не занимает слишком много времени.
Хотя между LSTM и GRU существует несколько различий, главное из них заключается в том, что долговременная память имеет три входных гейта, а именно: забывание, выход и вход. С другой стороны, в GRU присутствуют только 2 входа, а именно: обновление и сброс. Кроме того, GRU не слишком замысловаты, и основная причина этого – меньшее количество ворот по сравнению с LSTM.
Почему GRU лучше
GRU считаются намного лучше LSTM, потому что их модификация относительно проста, поскольку они не требуют памяти. Это также делает процесс обучения GRU намного быстрее, чем LSTM. На GRU часто полагаются, когда имеется небольшая серия данных. Однако при больших сериях данных предпочтение отдается LSTM.
Нет необходимости говорить о том, что GRU и LSTM необходимы в различных сложных областях, включая машинное понимание, прогнозирование цен на акции, анализ настроений, синтез речи, распознавание речи, машинный перевод и многое другое.
Gated Recurrent Units – это жизненно важная часть ландшафта науки о данных, и изучение их жизненно необходимо, чтобы убедиться, что вы сможете использовать их должным образом. Благодаря своей способности решать проблему исчезающего градиента, GRU оказались находкой в мире науки о данных, и программисты обучают и правильно используют их в сложных сценариях.