Если наложить линейные операции друг на друга, получится линия. Добавьте функцию активации между слоями, и сеть изогнется. Именно этот изгиб позволяет нейронной сети моделировать кривые, ребра и все остальное, что не поддается прямому арифметическому вычислению.
В современной практике доминируют выпрямленные линейные блоки (ReLU). Они выдают ноль для отрицательных входных данных и передают положительные значения без изменений. Они недороги в вычислении и быстро обучаются. Сначала появились сигмоидная функция и функция tanh, которые сжимали выходные значения в ограниченные диапазоны, но они достигают насыщения и замедляют обучение в глубоких нейронных сетях.
Общие функции активации
- Функция активации ReLU — это функция по умолчанию для большинства глубоких нейронных сетей.
- Функция активации с утечкой (Leaky ReLU), позволяющая использовать небольшой градиент для отрицательных значений.
- Сигмоидная функция используется для бинарных выходных данных.
- Tanh, сжатие с центром в нуле
- Softmax, преобразование оценок в вероятности
Неправильный выбор имеет значение. Сеть, состоящая только из линейных активаций, схлопывается в одно линейное преобразование, независимо от того, сколько слоев вы наложите. Нелинейность — это не украшение. Именно поэтому глубина вообще помогает.
Comments
No comments yet. Be the first to share a thought.
Leave a comment