Глоссарий

SiLU (Sigmoid Linear Unit)

Узнай, как функция активации SiLU (Swish) повышает производительность глубокого обучения в таких задачах ИИ, как обнаружение объектов и NLP.

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

Узнай больше

SiLU (Sigmoid Linear Unit), также известная как функция Swish, - это функция активации, используемая в моделях глубокого обучения (DL), в частности в нейронных сетях (NN). Она была предложена исследователями из Google и завоевала популярность благодаря своей эффективности в улучшении производительности модели по сравнению с традиционными функциями активации, такими как ReLU и Sigmoid. SiLU ценят за ее гладкость и немонотонные свойства, которые могут помочь при градиентном потоке и оптимизации модели. Для более широкого понимания смотри общий обзор функций активации.

Как работает SiLU

SiLU определяется как произведение входного и Сигмовидный функция, применяемая к входу. По сути, SiLU(x) = x * sigmoid(x). Такая формулировка позволяет SiLU действовать как саморегулирующийся механизм, где сигмоидная составляющая определяет степень, в которой линейный вход x проходит через него. Когда выход сигмоида близок к 1, вход проходит через него почти без изменений (аналогично ReLU для положительных значений), а когда он близок к 0, выход подавляется в сторону нуля. В отличие от ReLU, SiLU гладкий и немонотонный (он может уменьшаться даже при увеличении входного сигнала), свойства, вытекающие из его Детали сигмовидной функции компонент. Эта концепция была подробно описана в Оригинальная бумага Swish.

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

SiLU обладает рядом преимуществ, которые способствуют его эффективности в моделях глубокого обучения:

  • Гладкость: В отличие от ReLU, SiLU - гладкая функция, то есть ее производная непрерывна. Эта гладкость может быть полезна для алгоритмов градиентной оптимизации во время обратного распространения, что приводит к более стабильному обучению.
  • Немонотонность: Форма функции, которая слегка проседает при отрицательных входах, а затем поднимается к нулю, может помочь сети представлять более сложные паттерны.
  • Избегание исчезающих градиентов: Хотя сигмоидальные функции могут сильно страдать от проблемы исчезающего градиента в глубоких сетях, SiLU смягчает эту проблему, особенно для положительных входов, где они ведут себя линейно, подобно ReLU.
  • Улучшение производительности: Эмпирические исследования показали, что замена ReLU на SiLU может привести к улучшению точности моделей в различных задачах и наборах данных, особенно в более глубоких архитектурах.

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

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

  • ReLU: ReLU вычислительно проще (max(0, x)) и линейна для положительных значений, но страдает от проблемы "умирающего ReLU", когда нейроны могут стать неактивными при отрицательных входах. См. Объяснение ReLU. SiLU является гладким и избегает этой проблемы благодаря ненулевому выходу для отрицательных значений.
  • Сигмоид: Сигмоид отображает входные данные в диапазон между 0 и 1, но страдает от насыщения и исчезающих градиентов, что делает его менее подходящим для скрытых слоев в глубоких сетях по сравнению с SiLU.
  • Leaky ReLU: Leaky ReLU решает проблему умирающего ReLU, позволяя небольшой ненулевой градиент для отрицательных входов. SiLU предлагает другой, более гладкий профиль.
  • GELU: GELU (Gaussian Error Linear Unit) - это еще одна гладкая функция активации, которая часто работает аналогично SiLU. SiLU обычно считается вычислительно чуть более простой, чем GELU.

Применение SiLU

SiLU универсален и успешно применяется в различных областях, где используются модели глубокого обучения:

Реализация

SiLU легко доступен в основных фреймворках глубокого обучения:

Платформы вроде Ultralytics HUB поддерживают обучение моделей и изучение различных вариантов развертывания моделей с использованием продвинутых компонентов вроде SiLU. Постоянные исследования и ресурсы от таких организаций, как DeepLearning.AI, помогают практикам эффективно использовать такие функции.

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