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

Сигмоида

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

Сигмоидная функция является фундаментальной Функция активации широко используется в областях машинного обучения (ML) и глубокого обучения (DL). Математически представленная как логистическая функция, она характеризуется S-образной кривой, известной как сигмоидная кривая. Основная функция сигмоида заключается в преобразовании любого в значение в диапазоне от 0 до 1. Это свойство сплющивания делает ее исключительно полезным для моделей, которые должны предсказывать вероятности, так как выходное значение может быть непосредственно интерпретировать как вероятность наступления определенного события. Вводя нелинейность в нейронной сети (НС), сигмоидальная функция позволяет модели изучать сложные модели данных, которые выходят за рамки простой линейной регрессии.

Основные приложения в искусственном интеллекте

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

  • Бинарная классификация: В задачах, где целью является отнесение входных данных к одному из двух взаимоисключающих классов, например определение того, является ли электронное письмо "спамом" или "не спамом", сигмоидальная функция является идеальным выбором для последнего слоя. Она выводит одно скалярное значение между 0 и 1, представляющее вероятность положительного класса. Например, при анализе медицинских изображений модель может выдавать значение 0,95, что означает 95-процентную уверенность в том, что обнаруженная аномалия является злокачественной.
  • Классификация по нескольким меткам: В отличие от многоклассовых задач, где входные данные относятся только к одной категории, в многопометных задачах входные данные могут иметь несколько меток одновременно. Например. модель обнаружения объектов, например Ultralytics YOLO11 может потребоваться detect "человек", "велосипед" и "шлем" на одном изображении. В этом случае сигмоид применяется независимо к каждому выходному узлу, что позволяет модели предсказывать наличие или отсутствие каждого класса без не заставляя вероятности складываться в единицу.
  • Рекуррентная нейронная сеть (RNN) Гейтинг: Сигмоид является важнейшим компонентом в механизмах стробирования продвинутых моделей последовательности, таких как Длительная кратковременная память (LSTM) сети. В этих архитектурах "ворота забывания" и "входные ворота" используют сигмоид для вывода значений значения между 0 (полное забывание/блокировка) и 1 (полное запоминание/прохождение), эффективно регулируя поток информации информации с течением времени. Этот механизм подробно объясняется в классических исследованиях, посвященных LSTM.

Сравнение с родственными функциями активации

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

  • Softmax: Хотя обе функции относятся к вероятности, Softmax используется для многоклассовой классификации, где классы являются взаимоисключающие. Softmax гарантирует, что сумма выходов по всем классам будет равна 1, создавая распределение вероятностей распределение. В отличие от этого, Sigmoid рассматривает каждый выход независимо, что делает ее подходящей для бинарных или многометочных задач. задач.
  • ReLU (ректифицированная линейная единица): ReLU - это предпочтительная функция активации для скрытых слоев в современных глубоких сетях. В отличие от сигмоида, который насыщается в точках 0 и 1, что приводит к проблема исчезающего градиента во время обратного распространения, ReLU позволяет градиентам течь более свободно для положительных входов. Это ускоряет обучение и сходимость, как отмечается в Заметки по курсу CS231n в Стэнфорде.
  • Tanh (гиперболический тангенс): Функция Tanh похожа на Sigmoid, но отображает входные данные в диапазон от -1 до 1. Поскольку ее выходной сигнал Tanh часто предпочтительнее Sigmoid в скрытых слоях старых архитектур и некоторых RNN, так как он помогает центрировать данные для последующих слоев.

Пример реализации

Следующий фрагмент Python демонстрирует применение сигмоидальной функции с помощью PyTorch. Это распространенная операция используемая для преобразования необработанных результатов модели (логитов) в интерпретируемые вероятности.

import torch
import torch.nn as nn

# Raw outputs (logits) from a model for a binary or multi-label task
logits = torch.tensor([0.1, -2.5, 4.0])

# Apply the Sigmoid activation function
sigmoid = nn.Sigmoid()
probabilities = sigmoid(logits)

# Output values are squashed between 0 and 1
print(probabilities)
# Output: tensor([0.5250, 0.0759, 0.9820])

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

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

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

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