Глоссарий

Сигмовидный

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

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

Как работает сигмоид

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

Применение сигмовидной мышцы

Основное применение сигмоида сегодня - это выходной слой бинарных моделей классификации. Поскольку ее выход естественным образом лежит между 0 и 1, она идеально подходит для представления вероятности принадлежности входа к положительному классу.

  1. Медицинская диагностика: в анализе медицинских изображений модель может анализировать особенности сканирования (например, набор данных по опухолям мозга) и использовать выходной слой сигмоида для предсказания вероятности наличия определенного состояния (например, злокачественной опухоли). Результат, превышающий определенный порог (чаще всего 0,5), означает положительное предсказание. Этот вероятностный вывод помогает врачам понять, насколько уверенно работает модель. Смотри примеры в исследованиях ИИ в радиологии.
  2. Обнаружение спама: В обработке естественного языка (NLP) сигмоидальная функция может использоваться в финальном слое модели, предназначенной для классификации текста, например для определения того, является ли письмо спамом или нет. Модель обрабатывает содержимое письма и выдает вероятность (через сигмоиду) того, что письмо является спамом. Это классическая задача бинарной классификации, часто встречающаяся в приложениях НЛП.

Сигмоид также можно использовать в задачах классификации по нескольким меткам, когда входные данные могут относиться к нескольким категориям одновременно (например, новостная статья, помеченная метками "политика", "экономика" и "Европа"). В этом случае для каждой потенциальной метки используется отдельный выходной нейрон сигмоида, оценивающий вероятность того, что именно эта метка будет релевантной, независимо от других. Это отличается от многоклассовой классификации (когда применяется только одна метка, например, классификация изображения как "кошка", "собака" или "птица"), в которой обычно используется функция Softmax.

Сигмоид против родственных функций активации

Понимание сигмоида часто предполагает сравнение его с другими функциями активации:

  • ReLU (Rectified Linear Unit): ReLU выводит на вход прямой сигнал, если он положительный, и ноль в противном случае. Он проще в вычислениях и позволяет избежать проблемы исчезающего градиента для положительных входов, что делает его предпочтительным выбором для скрытых слоев в большинстве современных NN, включая многие Ultralytics YOLO такие модели, как YOLOv8. Такие варианты, как Leaky ReLU, решают проблему "умирающих нейронов" ReLU.
  • Tanh (гиперболический тангенс): Tanh математически связан с Sigmoid, но сжимает входные данные до диапазона (-1, 1). Его выход ориентирован на ноль, что иногда может помочь в оптимизации по сравнению с ненулевым ориентированным выходом Sigmoid (от 0 до 1). Однако, как и Sigmoid, он страдает от проблемы исчезающего градиента.
  • Softmax: Используется в выходном слое для решения задач многоклассовой классификации. В отличие от Sigmoid (которая обеспечивает независимые вероятности для бинарных или многоклассовых задач), Softmax выводит распределение вероятностей по всем классам, обеспечивая сумму вероятностей равной 1. Это делает его подходящим, когда классы являются взаимоисключающими.
  • SiLU (Sigmoid Linear Unit) / Swish: Более современная функция активации, которая умножает вход на сигмоид входа. Она часто работает лучше, чем ReLU в более глубоких моделях, и используется в таких архитектурах, как EfficientNet и некоторые варианты YOLO . Он демонстрирует, как сигмоид продолжает оставаться актуальным компонентом в более новых функциях. Проверь документацию PyTorch на реализацию SiLU.

Преимущества и ограничения

Преимущества:

  • Вероятностная интерпретация: Диапазон вывода (0, 1) интуитивно понятен для представления вероятностей в бинарной классификации.
  • Плавный градиент: В отличие от функций с резкими изменениями (например, ступенчатых функций), сигмоида имеет плавную, четко определенную производную, что облегчает обучение на основе градиента.

Ограничения:

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

Современное использование и доступность

Хотя сегодня сигмоид не так часто используется в скрытых слоях глубоких сетей, он остается стандартным выбором для выходных слоев в задачах бинарной классификации и классификации по нескольким меткам. Он также является основным компонентом в механизмах стробирования в рекуррентных нейронных сетях (РНС), таких как LSTM и GRU, контролируя поток информации.

Сигмоид можно приобрести во всех крупных Фреймворки глубокого обучения, включая PyTorch (как torch.sigmoid) и TensorFlow (как tf.keras.activations.sigmoid). Такие платформы, как Ultralytics HUB поддерживают модели, использующие различные функции активации, что позволяет пользователям Поезд и разверни Утонченный Компьютерное зрение решения.

Читать полностью