Имеет ли смысл использовать «коктейль функции активации» для приближения неизвестной функции через прямую нейронную сеть? - PullRequest
2 голосов
/ 31 августа 2011

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

Например, у меня были хорошие результаты с использованием sin (x) в качестве функции активации при приближении к cos (x) или двумя tanh (x) для приближения к гауссиану. Теперь, чтобы приблизиться к функции, о которой я ничего не знаю, я планирую использовать набор функций активации, например, скрытый слой с некоторыми грехами, некоторыми танами и логистической функцией. По вашему мнению, имеет ли это смысл?

Спасибо,
Tunnuz

1 Ответ

2 голосов
/ 01 сентября 2011

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...