Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Сигмоида

Изучите роль сигмоидной функции в машинном обучении. Узнайте, как эта функция активации позволяет осуществлять бинарную классификацию в таких моделях, как Ultralytics .

Сигмоидная функция — это фундаментальный математический компонент, широко используемый в области машинного обучения (ML) и глубокого обучения (DL). Часто называемая «функцией сжатия», она принимает в качестве входных данных любое действительное число и отображает его в значение от 0 до 1. Эта характерная S-образная кривая делает ее невероятно полезной для преобразования необработанных результатов модели в интерпретируемые вероятности. В контексте нейронной сети (NN) сигмоидная функция действует как функция активации, вводя нелинейность, которая позволяет моделям обучаться сложным паттернам, выходящим за рамки простых линейных отношений. Хотя она была в значительной степени заменена другими функциями в глубоких скрытых слоях, она остается стандартным выбором для выходных слоев в задачах бинарной классификации.

Механика сигмоиды в искусственном интеллекте

По сути, сигмоидная функция преобразует входные данные, часто называемые логитами, в нормализованный диапазон. Это преобразование имеет решающее значение для задач, цель которых — предсказать вероятность события. Ограничивая выходные данные значениями от 0 до 1, функция обеспечивает четкую оценку вероятности.

  • Логистическая регрессия: в традиционном статистическом моделировании сигмоида является движущей силой логистической регрессии. Она позволяет специалистам по данным оценивать вероятность двоичного результата, например, уйдет ли клиент или останется.
  • Бинарная классификация: для нейронных сетей, предназначенных для различения двух классов (например, «кошка» и «собака»), в последнем слое часто используется сигмоидная активация. Если выходной сигнал превышает пороговое значение (обычно 0,5), модель предсказывает положительный класс.
  • Многоэтикетная классификация: В отличие от многоклассовых задач, где классы являются взаимоисключающими, многоэтикетные задачи позволяют изображению или тексту принадлежать одновременно к нескольким категориям. Здесь сигмоида применяется независимо к каждому выходной узлу, что позволяет модели detect и «человека» в одной и той же сцене без конфликта.

Основные отличия от других функций активации

Хотя сигмоида когда-то была стандартом для всех слоев, исследователи обнаружили такие ограничения, как проблема исчезающего градиента, когда градиенты становятся слишком малыми для эффективного обновления весов в глубоких сетях. Это привело к принятию альтернатив для скрытых слоев.

  • Сигмоидная функция против ReLU (Rectified Linear Unit): ReLU быстрее в вычислениях и позволяет избежать исчезновения градиентов, выводя входные данные напрямую, если они положительны, и ноль, если они отрицательны. Она является предпочтительным выбором для скрытых слоев в современных архитектурах, таких как YOLO26, тогда как сигмоидная функция используется для конечного выходного слоя в конкретных задачах.
  • Sigmoid vs. Softmax: оба отображают выходы в диапазоне от 0 до 1, но служат разным целям. Sigmoid обрабатывает каждый выход независимо, что делает его идеальным для бинарных или мультиэтикетных задач. Softmax заставляет все выходы суммироваться до 1, создавая вероятностное распределение, используемое для многоклассовой классификации , где только один класс является правильным.

Применение в реальном мире

Полезность сигмоидной функции распространяется на различные отрасли, где требуется оценка вероятности.

  1. Медицинская диагностика: модели искусственного интеллекта, используемые в анализе медицинских изображений, часто используют сигмоидные выходы для прогнозирования вероятности наличия заболевания на рентгеновском снимке или МРТ-скане. Например, модель может выдать результат 0,85, что указывает на 85% вероятность наличия опухоли, помогая врачам в ранней диагностике.
  2. Обнаружение спама: Системы фильтрации электронной почты используют модели обработки естественного языка (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 предлагает интуитивно понятный интерфейс для управления наборами данных и обучения современных моделей, таких как YOLO26. Автоматически обрабатывая сложные архитектурные задачи, она позволяет пользователям сосредоточиться на сборе высококачественных учебных данных для своих конкретных приложений компьютерного зрения.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас