Почему искусственные рекуррентные нейронные сети часто трудно обучать?

Автор: Roger Morrison
Дата создания: 27 Сентябрь 2021
Дата обновления: 21 Июнь 2024
Anonim
Введение в рекуррентные нейронные сети | #19 нейросети на Python
Видео: Введение в рекуррентные нейронные сети | #19 нейросети на Python

Содержание

Q:

Почему искусственные рекуррентные нейронные сети часто трудно обучать?


A:

Сложность обучения искусственных рекуррентных нейронных сетей связана с их сложностью.

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

В нейронных сетях с прямой связью сигналы движутся только в одном направлении. Сигнал перемещается с входного слоя на различные скрытые слои и далее на выходной слой системы.

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

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


При сложной обработке естественного языка нейронная сеть должна уметь запоминать вещи. Он также должен принимать входные данные. Предположим, есть программа, которая хочет проанализировать или предсказать слово в предложении других слов. Например, система может иметь фиксированную длину в пять слов для оценки. Это означает, что нейронная сеть должна иметь входные данные для каждого из этих слов, а также способность «запоминать» или обучаться на основе этих слов. По этим и другим подобным причинам у рекуррентных нейронных сетей обычно есть эти маленькие скрытые петли и обратные связи в системе.

Эксперты жалуются, что эти сложности затрудняют обучение сетей. Один из наиболее распространенных способов объяснить это - сослаться на проблему взрыва и исчезновения градиента. По существу, веса сети приведут либо к взрыву, либо к исчезновению значений с большим количеством проходов.

Пионер нейронной сети Джефф Хинтон объясняет это явление в сети, говоря, что линейные проходы в обратном направлении приведут к уменьшению экспоненциального веса и взрыву большего веса.


Эта проблема, продолжает он, усугубляется длинными последовательностями и более многочисленными временными шагами, в которых сигналы растут или затухают. Инициализация веса может помочь, но эти проблемы встроены в рекуррентную модель нейронной сети. Theres всегда будет эта проблема, связанная с их конкретным дизайном и конструкцией. По сути, некоторые из более сложных типов нейронных сетей действительно не поддаются нашей способности легко ими управлять. Мы можем создать практически бесконечное количество сложностей, но мы часто видим, что проблемы предсказуемости и масштабируемости растут.