Сигмоидальная функция (Sigmoid function)
Сигмоидальная функция — это математическая функция, широко применяемая в нейронных сетях и машинном обучении в качестве функции активации, которая преобразует произвольное вещественное число в значение в интервале от 0 до 1.
Сигмоида придаёт нейрону способность «принимать решения» с плавным переходом между состояниями: чем больше входное значение, тем ближе выход к 1 (что можно интерпретировать как «да», «активно»), а чем меньше — тем ближе к 0 («нет», «пассивно»). Это делает её удобной для задач, где нужен вероятностный выход (например, бинарная классификация).
Представьте регулятор яркости лампы с плавным ходом: при небольшом повороте ручки свет едва заметен, при среднем — комфортно освещает комнату, при максимальном — светит ярко. Сигмоида работает похоже: она «сглаживает» входные сигналы, превращая их в плавный диапазон выходных значений от 0 до 1.
Исторический контекст
Сигмоидальные функции (в частности, логистическая сигмоида $σ(x) = \frac{1}{1 + e^{-x}}$) стали популярны в нейронных сетях в 1980–1990‑х годах с развитием метода обратного распространения ошибки (backpropagation). Они были одними из первых функций активации, позволивших эффективно обучать многослойные перцептроны. Однако в 2010‑х годах их начали активно заменять на ReLU (Rectified Linear Unit) и её варианты из‑за проблемы исчезающего градиента (vanishing gradient): при больших по модулю входных значениях производная сигмоиды стремится к нулю, что замедляет обучение глубоких сетей.
Смежные понятия и различия
- ReLU ($f(x) = \max(0, x)$) — проще и быстрее вычисляется, не страдает от исчезающего градиента для положительных входов, но «убивает» градиенты для отрицательных значений.
- Гиперболический тангенс (tanh) — похож на сигмоиду, но выдаёт значения в диапазоне от −1 до 1, что иногда улучшает сходимость за счёт центрированности данных.
- Softmax — используется на выходе многоклассовых классификаторов, преобразует вектор произвольных значений в вероятностное распределение по классам (сумма выходов равна 1).
Примеры использования
- В бинарной классификации сигмоида стоит на выходе последнего нейрона: выход 0.8 означает оценку вероятности класса «1» в 80 %.
- В рекуррентных сетях (RNN) сигмоиды (вместе с tanh) использовались в вентилях LSTM (Long Short-Term Memory) для контроля потока информации.
- В ранних свёрточных сетях (CNN) сигмоида применялась как функция активации в скрытых слоях, пока её не вытеснила ReLU.
Популярные реализации
- В библиотеках TensorFlow и PyTorch сигмоида доступна как
tf.nn.sigmoidиtorch.sigmoidсоответственно. - В scikit‑learn сигмоида неявно используется в логистической регрессии (
LogisticRegression), где она преобразует линейную комбинацию признаков в вероятность.
