2010-04-21 2 views
2

Существуют различные функции активации: сигмоид, tanh и т. Д. Также есть несколько функций инициализации: Nguyen и Widrow, случайные, нормализованные, постоянные, ноль и т. Д. . Значит, они сильно влияют на результат нейронной сети, специализирующейся на обнаружении лица? Сейчас я использую функцию активации Tanh и просто рандомизирую все веса от -0,5 до 0,5. Я понятия не имею, если это лучший подход, хотя, и с 4 часами, чтобы каждый раз тренировать сеть, я бы предпочел спросить здесь, чем эксперимент!Функция активации, функция инициализатора и т. Д., Эффекты для нейронных сетей для обнаружения лиц

+0

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

ответ

2

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

Я сомневаюсь, что различные разумные схемы инициализации окажут большое влияние на качество ваших решений. Вероятно, он достаточно хорош, чтобы просто инициализировать весы, чтобы быть равномерным на интервале [-1/sqrt (N), + 1/sqrt (N)], где N - количество входящих соединений.

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

Существует даже новое правило инициализации, кажется, работает хорошо описано в этой статье: http://www.iro.umontreal.ca/~lisa/publications2/index.php/publications/show/447 В документе также упоминаются некоторые из симптомов плохой инициализации, что я имел в виду выше, что вы можете легко проверить.

Подводя итог, униформа на [-1/sqrt (N), + 1/sqrt (N)] не так уж плоха и не упоминается в документе, на который я ссылаюсь. Не беспокойтесь об этом слишком сильно, если вы используете один из них. Что очень важно, это предварительная проверка весов как автокодера (или Ограниченной машины Больцмана), к которой вы должны обратиться, даже если у вас есть только один скрытый слой.

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