Sigmoid
Изучи роль сигмоидальной функции в машинном обучении. Узнай, как эта функция активации обеспечивает бинарную классификацию в моделях вроде Ultralytics YOLO26.
Функция «сигмоид» — фундаментальный математический компонент, широко применяемый в областях машинного обучения (ML) и глубокого обучения (DL). Ее часто называют «сжимающей функцией»: она принимает на вход любое действительное число и преобразует его в значение от 0 до 1. Эта характерная S-образная кривая чрезвычайно полезна для преобразования необработанных выходных данных модели в интерпретируемые вероятности. В контексте нейронной сети (NN) функция «сигмоид» выступает в качестве функции активации, добавляя нелинейность, которая позволяет моделям изучать сложные закономерности, выходящие за рамки простых линейных зависимостей. Хотя в глубоких скрытых слоях ее в значительной степени заменили другие функции, она по-прежнему остается стандартным выбором для выходных слоев в задачах бинарной классификации.
Механика функции «сигмоид» в ИИ#
По сути, функция «сигмоид» преобразует входные данные, часто называемые логитами, в нормализованный диапазон. Это преобразование имеет решающее значение для задач, в которых требуется предсказать вероятность события. Ограничивая выходное значение диапазоном от 0 до 1, функция формирует понятную оценку вероятности.
- Логистическая регрессия: В традиционном статистическом моделировании функция «сигмоид» лежит в основе логистической регрессии. Она позволяет специалистам по анализу данных оценивать вероятность бинарного исхода, например вероятность того, что клиент перестанет пользоваться услугой или останется.
- Бинарная классификация: В нейронных сетях, предназначенных для различения двух классов (например, «кошки» и «собаки»), в последнем слое часто используется активация «сигмоид». Если выходное значение превышает порог (обычно 0,5), модель предсказывает положительный класс.
- Многоклассовая классификация с несколькими метками: В отличие от задач многоклассовой классификации, где классы взаимоисключающие, задачи с несколькими метками позволяют одновременно отнести изображение или текст к нескольким категориям. Здесь функция «сигмоид» применяется независимо к каждому выходному узлу, благодаря чему модель может обнаружить на одной сцене и «автомобиль», и «человека» без конфликтов.
Ключевые отличия от других функций активации#
Хотя раньше функция «сигмоид» использовалась по умолчанию во всех слоях, исследователи обнаружили такие ограничения, как проблема затухающего градиента, при которой градиенты становятся слишком малыми для эффективного обновления весов в глубоких сетях. Это привело к внедрению альтернатив для скрытых слоев.
- Сигмоид и ReLU (выпрямленный линейный блок): ReLU вычисляется быстрее и устраняет проблему затухающих градиентов: она напрямую выдает входное значение, если оно положительное, и ноль в противном случае. Это предпочтительный выбор для скрытых слоев в современных архитектурах, таких как YOLO26, тогда как функция «сигмоид» используется в выходном слое для определенных задач.
- Сигмоид и Softmax: Обе функции преобразуют выходные значения в диапазон от 0 до 1, но предназначены для разных целей. Функция «сигмоид» обрабатывает каждый выход независимо, что делает ее идеальной для бинарных задач и задач с несколькими метками. Softmax заставляет сумму всех выходных значений равняться 1, формируя распределение вероятностей, используемое для многоклассовой классификации, в которой правильным является только один класс.
Практические применения#
Функция «сигмоид» применяется в различных отраслях, где требуется оценка вероятности.
-
Медицинская диагностика: Модели ИИ, используемые для анализа медицинских изображений, часто применяют выходные значения функции «сигмоид» для прогнозирования вероятности наличия заболевания на рентгеновском снимке или МРТ. Например, модель может выдать значение 0,85, указывающее на вероятность опухоли 85 %, что помогает врачам выявлять заболевания на ранней стадии.
-
Обнаружение спама: Системы фильтрации электронной почты используют модели обработки естественного языка (NLP) с классификаторами на основе функции «сигмоид», чтобы определить, является ли входящее сообщение «спамом» или «не спамом». Модель анализирует ключевые слова и метаданные и выдает оценку, которая определяет, попадет ли письмо во входящие или в папку нежелательной почты.
Практическая реализация#
Ты можешь увидеть, как функция «сигмоид» преобразует данные, используя PyTorch — популярную библиотеку для создания моделей глубокого обучения. Этот простой пример демонстрирует эффект «сжатия» для ряда входных значений.
import torch
import torch.nn as nn
# Create a Sigmoid layer
sigmoid = nn.Sigmoid()
# Define input data (logits) ranging from negative to positive
input_data = torch.tensor([-5.0, -1.0, 0.0, 1.0, 5.0])
# Apply Sigmoid to squash values between 0 and 1
output = sigmoid(input_data)
print(f"Input: {input_data}")
print(f"Output: {output}")
# Output values near 0 for negative inputs, 0.5 for 0, and near 1 for positive inputsЕсли ты хочешь обучать модели, использующие эти концепции, без написания низкоуровневого кода, Ultralytics Platform предоставляет интуитивно понятный интерфейс для управления наборами данных и обучения современных моделей, таких как YOLO26. Автоматически обрабатывая архитектурные сложности, платформа позволяет сосредоточиться на сборе высококачественных данных для обучения для конкретных приложений в области компьютерного зрения.









