Я пытаюсь реализовать алгоритм, объясненный здесь , чтобы проверить себя, как работает нейронная сеть с прямой связью . На самом деле я концентрируюсь на функции активации f и тех свойствах, которые она должна удовлетворять, чтобы сеть научилась как можно быстрее.
В настоящий момент я собрал следующие критерии (и причиныза тем же):
- f не должно быть линейным. В противном случае вся сеть может быть заменена одним нейроном.
- Ее производная f ' не должна быть равна нулю в подмножестве входных данных, иначе алгоритм обратного распространения не заставит нейроныизучите эти входные данные.
- Производная f ' должна не быть ограничена вверх постоянной величиной c меньше 1 или ограничена вниз величинойконстанта c больше 1. Первое условие предотвращает исчезновение градиента, второе предотвращает его взрыв: обе эти проблемы препятствуют обучению нескольких слоев нейронной сети с одинаковой скоростью.
Какие существуют другие критерии для выбора правильных функций активации? Построение нейронной сети для решения определенных типов задач требует наложения дополнительных условий на функции активации?