Функции активации являются фундаментальным элементом нейронных сетей. Они определяют, как информация передаётся от одного слоя к другому, и напрямую влияют на способность сети моделировать сложные зависимости. В контексте Keras.js функции активации выполняют ту же роль, что и в Python-версии Keras, но применяются в среде JavaScript для работы в браузере или на Node.js.
Нелинейное преобразование данных Без функции активации нейронный слой является линейной комбинацией входов. Последовательное соединение нескольких линейных слоёв не добавляет выразительности сети. Нелинейные функции активации позволяют моделировать сложные зависимости и выявлять скрытые закономерности.
Регулировка диапазона выходных значений Многие функции активации нормируют выход нейронов в определённый диапазон. Это облегчает обучение, предотвращает чрезмерный рост значений и стабилизирует процесс оптимизации.
Фильтрация и селекция сигналов Функции активации способны подавлять слабые сигналы и усиливать сильные. Например, ReLU обнуляет отрицательные значения, что упрощает обработку данных и снижает шум в сети.
linear)Выход равен входу без изменений. Применяется редко, обычно в последнем слое регрессионных моделей.
Особенности:
sigmoid)Формула:
[ (x) = ]
Особенности:
tanh)Формула:
[ (x) = ]
Особенности:
relu)Формула:
[ f(x) = (0, x)]
Особенности:
leakyrelu)Формула:
[ f(x) = ]
Особенности:
softmax)Формула:
[ (z)*i = ]
Особенности:
В Keras.js функции активации задаются при создании слоёв нейронной сети. Пример инициализации полносвязного слоя с ReLU:
const layer = new KerasJS.layers.Dense({
units: 128,
activation: 'relu',
inputShape: [64]
});
В этом примере:
units задаёт количество нейронов в слое.activation определяет функцию активации.inputShape указывает размерность входных данных.Для softmax в выходном слое многоклассовой классификации:
const outputLayer = new KerasJS.layers.Dense({
units: 10,
activation: 'softmax'
});
Правильный выбор функции активации критически важен для качества модели. Он зависит от типа задачи (регрессия, бинарная или многоклассовая классификация) и архитектуры сети.
Использование функций активации в Keras.js полностью повторяет концепции Python-версии Keras, при этом позволяет выполнять обучение и инференс прямо в браузере или на сервере с Node.js.