Влияет ли выбор функции активации и начальных весов на застревание нейронной сети в локальных минимумах? - PullRequest
2 голосов
/ 09 ноября 2011

Я вчера отправил этот вопрос , спрашивая, не застряла ли моя нейронная сеть (которую я тренирую с помощью обратного распространения с использованием стохастического градиентного спуска) в локальных минимумах.В следующих статьях рассказывается о проблеме локальных минимумов в нейронной сети XOR.Первый говорит, что нет проблемы локальных минимумов, тогда как в следующей статье (написанной год спустя) говорится, что существует проблема локальных минимумов в нейронной сети XOR 2-3-1 (каккроме того, я использую 3-3-1, т. е. смещение на входном и скрытом слоях).Оба эти тезисы (у меня нет доступа к полной статье, поэтому я не могу ее прочитать):

Существует также другая статья [PDF] , в которой говорится, что не локальные минимумы для простейшей сети XOR, но это неКажется, речь не идет о сети 2-3-1.

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

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

1 Ответ

6 голосов
/ 09 ноября 2011

Случайные веса, задаваемые нейронной сети, часто сразу ограничивают часть пространства поиска, которая будет доступна во время обучения.Это особенно верно, когда скорость обучения мала.

Однако в случае XOR (с использованием топологии 3-3-1) не должно быть локальных минимумов.

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

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

Что подводит меня к следующему пункту: вы уверены, что у вас есть равномерно распределенное количество обучающих примеров??Если вы предоставляете нейронную сеть с 900 положительными результатами классификации, но только с 100 отрицательными результатами классификации, иногда сети кажется, что проще сказать, что все находится в пределах группы классификации, потому что в этом случае вероятность ошибки составляет 10%.Многие алгоритмы обучения чрезвычайно хороши в поиске подобных вещей.

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

...