Глоссарий

SiLU (Sigmoid Linear Unit)

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

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

Узнай больше

Сигмоидная линейная единица (SiLU), также известная как функция Свиша, - это функция активации, используемая в нейронных сетях (НС). Функции активации - это важнейшие компоненты, которые вносят нелинейность в работу сети, позволяя ей обучаться сложным закономерностям на основе данных. SiLU была разработана исследователями из Google Brain и приобрела популярность благодаря своей эффективности в различных задачах глубокого обучения, часто превосходя более старые функции, такие как ReLU, в более глубоких моделях.

Актуальность и преимущества

Значимость SiLU обусловлена ее уникальными свойствами, которые могут привести к улучшению производительности модели и динамики обучения. В отличие от широко используемой функции ReLU, SiLU является гладкой и немонотонной. Это означает, что ее выход не увеличивается строго по мере увеличения входа, что позволяет ей моделировать более сложные функции. Плавность помогает при оптимизации на основе градиента, предотвращая резкие изменения во время обучения. Исследования, включая оригинальную работу Swish, показывают, что замена ReLU на SiLU может повысить точность классификации на сложных наборах данных вроде ImageNet, особенно в очень глубоких сетях. Его механизм саморегулирования помогает регулировать поток информации, потенциально смягчая такие проблемы, как проблема исчезающего градиента.

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

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

  • ReLU (Rectified Linear Unit): Проще и вычислительно эффективнее, но может страдать от проблемы "умирающего ReLU", когда нейроны становятся неактивными. ReLU монотонный и не гладкий в нулевой точке.
  • Leaky ReLU: Улучшение ReLU, которое решает проблему умирающих нейронов, позволяя небольшой ненулевой градиент для отрицательных входов. Как и ReLU, Leaky ReLU является монотонным.
  • GELU (Gaussian Error Linear Unit): Еще одна гладкая функция активации, часто используемая в трансформаторных моделях. GELU взвешивает входы по их величине, а не просто стробит по знаку, как ReLU. SiLU можно рассматривать как гладкую альтернативу, которая иногда работает лучше эмпирически. Ты можешь найти общий обзор функций активации для большего количества сравнений.

Применение SiLU

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

  • Обнаружение объектов: Современные модели обнаружения объектов, включая архитектуры, связанные с Ultralytics YOLOчасто включают SiLU или аналогичные расширенные функции активации для повышения точности идентификации и локализации объектов на изображениях или видео. Это повышает производительность в самых разных приложениях - от автономного вождения до аналитики розничной торговли, способствуя лучшей оценке моделей.
  • Обработка естественного языка (NLP): SiLU можно использовать в архитектурах трансформаторов и других моделях NLP для таких задач, как классификация текстов, машинный перевод и анализ чувств. Его свойства могут помочь модели улавливать сложные лингвистические паттерны, улучшая понимание и возможности генерации. Узнай больше о сферах применения NLP.
  • Классификация изображений: В глубоких конволюционных нейронных сетях (CNN), предназначенных для классификации изображений, SiLU может заменить слои ReLU, что часто приводит к лучшей сходимости и конечной точности, особенно по мере увеличения глубины сети. Это актуально при работе с такими наборами данных, как COCO.

SiLU легко доступен в основных фреймворках глубокого обучения, таких как PyTorch (как torch.nn.SiLU, задокументировано здесь) и TensorFlow (как tf.keras.activations.swish, задокументировано здесь). Такие платформы, как Ultralytics HUB поддерживай тренировка и развертывание моделей, в которых используются такие продвинутые компоненты.

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