Подтвердить что ты не робот

Почему сигмоидные функции работают в нейронных сетях?

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

Спасибо!

4b9b3361

Ответ 1

Сигмоидальная функция вводит нелинейность в сеть. Без функции нелинейной активации сеть может изучать только функции, которые являются линейными комбинациями своих входов. Результат называется universal approximation theorem или Cybenko theorem после джентльмена, который доказал это в 1989 году. Wikipedia - это хорошее место для начала, и он имеет ссылку на оригинальную бумагу (доказательство в некоторой степени задействовано). Причина, по которой вы использовали сигмоид, а не что-то другое, состоит в том, что он является непрерывным и дифференцируемым, его производная очень быстро вычисляется (в отличие от производной tanh, которая имеет схожие свойства) и имеет ограниченный диапазон (от 0 до 1, исключая)