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

SiLU (Sigmoid Linear Unit)

Узнайте, как функция активации SiLU (Sigmoid Linear Unit) улучшает глубокое обучение. Узнайте, почему SiLU является стандартом для Ultralytics для повышения точности.

Сигмоидный линейный блок, обычно называемый SiLU, является высокоэффективной активационной функцией, используемой в современных архитектурах глубокого обучения для внедрения нелинейности в нейронные сети. Определяя, как нейроны обрабатывают и передают информацию через слои модели, SiLU позволяет системам изучать сложные паттерны в данных, функционируя как более плавная и сложная альтернатива традиционным ступенчатым функциям. Часто ассоциируемый с термином «Swish» из первоначальных исследований по автоматическому поиску активации, SiLU стал стандартом в высокопроизводительных моделях компьютерного зрения, включая современную архитектуру YOLO26.

Как работает функция SiLU

По сути, функция SiLU умножает входное значение на собственное сигмоидное преобразование. В отличие от простых пороговых функций, которые резко переключают нейрон между состояниями «включено» и «выключено», SiLU обеспечивает плавную кривую, которая позволяет более тонко обрабатывать сигналы. Эта математическая структура создает отличительные характеристики, которые благоприятно влияют на процесс обучения модели:

  • Гладкость: кривая является непрерывной и дифференцируемой везде. Это свойство помогает алгоритмам оптимизации, таким как градиентный спуск, обеспечивая согласованный ландшафт для настройки весов модели, что часто приводит к более быстрой сходимости во время обучения.
  • Немонотонность: в отличие от стандартных линейных единиц, SiLU является немонотонной, что означает, что ее выходные данные могут уменьшаться даже при увеличении входных данных в определенных отрицательных диапазонах. Это позволяет сети улавливать сложные особенности и сохранять отрицательные значения, которые в противном случае могли бы быть отброшены, что помогает предотвратить проблему исчезающего градиента в глубоких сетях.
  • Саморегулирующееся затворание: SiLU действует как собственный затвор, модулируя количество проходящего входа на основе собственной величины входа. Это имитирует механизмы затворания, встречающиеся в сетях с длинной краткосрочной памятью (LSTM) , но в вычислительно эффективной форме, подходящей для сверточных нейронных сетей (CNN).

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

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

  • Восприятие автономных транспортных средств: в критически важной для безопасности области автономных транспортных средств системы восприятия должны мгновенно идентифицировать пешеходов, дорожные знаки и препятствия. Модели, использующие SiLU в своих основаниях, могут поддерживать высокую скорость вывода и при этом точно выполнять обнаружение объектов в различных условиях освещения, обеспечивая безопасную реакцию транспортного средства на окружающую среду.
  • Медицинская визуальная диагностика: при анализе медицинских изображений нейронные сети должны различать тонкие различия в текстуре МРТ- или КТ-сканов. Сохраняющая градиент природа SiLU помогает этим сетям обучаться тонким деталям, необходимым для раннего обнаружения опухолей, что значительно повышает надежность автоматизированных диагностических инструментов, используемых радиологами.

Сравнение со смежными концепциями

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

  • SiLU против ReLU (Rectified Linear Unit): ReLU славится своей скоростью и простотой, выдавая нулевой результат для всех отрицательных входных данных. Несмотря на свою эффективность, это может привести к появлению «мертвых нейронов», которые перестают учиться. SiLU позволяет избежать этого, пропуская небольшой нелинейный градиент через отрицательные значения, что часто приводит к повышению точности для глубоких архитектур, обученных на Ultralytics .
  • SiLU против GELU (Gaussian Error Linear Unit): Эти две функции визуально и функционально схожи. GELU является стандартом для моделей Transformer, таких как BERT и GPT, в то время как SiLU часто предпочитают для задач компьютерного зрения (CV) и детекторов объектов на основе CNN.
  • SiLU против Sigmoid: хотя SiLU использует функцию Sigmoid внутри, они выполняют разные роли. Sigmoid обычно используется в конечном выходном слое для бинарной классификации, чтобы представлять вероятности, тогда как SiLU используется в скрытых слоях для облегчения извлечения признаков .

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

Вы можете визуализировать, как различные функции активации преобразуют данные, используя PyTorch . Следующий фрагмент кода демонстрирует разницу между ReLU (которая обнуляет отрицательные значения) и SiLU (которая позволяет плавный отрицательный поток).

import torch
import torch.nn as nn

# Input data: negative, zero, and positive values
data = torch.tensor([-2.0, 0.0, 2.0])

# Apply ReLU: Negatives become 0, positives stay unchanged
relu_out = nn.ReLU()(data)
print(f"ReLU: {relu_out}")
# Output: tensor([0., 0., 2.])

# Apply SiLU: Smooth curve, small negative value retained
silu_out = nn.SiLU()(data)
print(f"SiLU: {silu_out}")
# Output: tensor([-0.2384,  0.0000,  1.7616])

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

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

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

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