Softmax является функцией активации, широко используемой в задачах классификации, где требуется преобразовать выходы нейронной сети в вероятностное распределение по классам. Она принимает на вход вектор значений и возвращает вектор той же размерности, элементы которого лежат в интервале ([0, 1]) и сумма которых равна 1.
Математическая формула:
[ ()*i = ]
где (z_i) — i-й элемент входного вектора ().
Особенности Softmax:
categoricalCrossentropy.Использование в Keras.js:
В Keras.js Softmax применяется через конфигурацию слоев нейронной сети, аналогично Python-версии Keras. Например:
const layer = {
class_name: 'Activation',
config: {
activation: 'softmax'
}
};
При передаче входного тензора X через этот слой, каждый
элемент выходного тензора будет нормализован в соответствии с формулой
Softmax. Важно учитывать, что для стабильности вычислений часто
используют вычитание максимального значения входного вектора перед
экспоненцированием:
[ ()_i = ]
Это предотвращает переполнение при работе с большими числами.
Softplus является гладкой аппроксимацией функции ReLU и используется как функция активации в скрытых слоях нейронных сетей. Она обеспечивает дифференцируемость во всех точках, что делает её удобной для методов оптимизации, основанных на градиентном спуске.
Математическая формула:
[ (x) = (1 + e^x)]
Свойства Softplus:
Применение в Keras.js:
Softplus активируется через конфигурацию слоя:
const layer = {
class_name: 'Activation',
config: {
activation: 'softplus'
}
};
При работе с входным тензором X каждая компонента
преобразуется по формуле Softplus, что обеспечивает плавное нелинейное
преобразование данных перед передачей их в следующие слои сети.
| Характеристика | Softmax | Softplus |
|---|---|---|
| Тип | Вероятностная активация | Нелинейная активация |
| Выход | Вектор с суммой элементов = 1 | Вектор положительных значений |
| Применение | Последний слой классификатора | Скрытые слои сети |
| Дифференцируемость | Да | Да |
| Чувствительность к масштабированию | Высокая (чувствительна к разнице входов) | Умеренная, сглаживает отрицательные значения |
class_name и
config, а активации передаются через строковые
значения.Softmax и Softplus обеспечивают гибкость при проектировании нейронных сетей, позволяя решать задачи классификации и создавать скрытые слои с плавными нелинейными преобразованиями. Их грамотное применение влияет на стабильность обучения и качество итоговой модели.