Yolo 비전 선전
선전
지금 참여하기
용어집

SiLU (Sigmoid Linear Unit)

SiLU(시그모이드 선형 유닛) 활성화 함수가 딥 러닝을 어떻게 향상시키는지 알아보세요. Ultralytics 정확도를 높이기 위해 SiLU가 표준으로 채택된 이유를 확인하세요.

시그모이드 선형 유닛(Sigmoid Linear Unit, 일반적으로 SiLU로 불림)은 현대 딥러닝 아키텍처에서 신경망에 비선형성을 도입하기 위해 사용되는 매우 효과적인 활성화 함수입니다. SiLU는 모델의 계층을 통해 뉴런이 정보를 처리하고 전달하는 방식을 결정함으로써 시스템이 데이터의 복잡한 패턴을 학습할 수 있게 하며, 기존의 계단 함수보다 더 부드럽고 정교한 대안으로 기능합니다. 자동 활성화 함수 탐색 초기 연구에서 "Swish"라는 용어와 종종 연관되어 온 SiLU는 최첨단 YOLO26 아키텍처를 포함한 고성능 컴퓨터 비전 모델의 표준이 되었다.

SiLU 작동 방식

SiLU 함수의 핵심 작동 원리는 입력값에 자체 시그모이드 변환을 곱하는 것입니다. 신경세포를 "활성화"와 "비활성화" 상태 사이에서 갑작스럽게 전환하는 단순 임계값 함수와 달리, SiLU는 더 미묘한 신호 처리를 가능하게 하는 부드러운 곡선을 제공합니다. 이러한 수학적 구조는 모델 훈련 과정에 유리한 독특한 특성을 창출합니다:

  • 부드러움: 곡선은 모든 점에서 연속적이고 미분 가능합니다. 이 특성은 모델 가중치를 조정하기 위한 일관된 환경을 제공함으로써 경사 하강법과 같은 최적화 알고리즘을 지원하며, 이는 종종 훈련 중 더 빠른 수렴을 이끌어냅니다.
  • 비단조성: 표준 선형 함수와 달리 SiLU는 비단조성을 지니며, 이는 특정 음수 범위에서 입력이 증가해도 출력이 감소할 수 있음을 의미합니다. 이를 통해 네트워크는 복잡한 특징을 포착하고 다른 경우 버려질 수 있는 음수 값을 유지하여 딥 네트워크에서 발생하는 소멸하는 기울기 문제를 방지하는 데 도움이 됩니다.
  • 자기 게이트: SiLU는 입력 신호의 크기 자체에 따라 통과시키는 양을 조절하는 자체 게이트 역할을 수행합니다. 이는 롱 숏텀 메모리(LSTM)네트워크에서 발견되는 게이트 메커니즘을 모방하지만, 컨볼루션 신경망(CNN)에 적합한 계산 효율적인 형태로 구현됩니다.

실제 애플리케이션

SiLU는 정밀도와 효율성이 가장 중요한 많은 최첨단 AI 솔루션에 필수적인 요소입니다.

  • 자율주행 차량 인식: 안전이 최우선인 자율주행 차량 분야에서 인식 시스템은 보행자, 교통 표지판, 장애물을 즉시 식별해야 합니다. 백본에 SiLU를 활용하는 모델은 다양한 조명 조건에서도 객체 탐지를 정확히 수행하면서 높은 추론 속도를유지할 수 있어 차량이 주변 환경에 안전하게 반응하도록 보장합니다.
  • 의료 영상 진단: 의료 영상 분석에서 신경망은 MRI 또는 CT 스캔의 미세한 조직 차이를 식별해야 합니다. SiLU의 기울기 보존 특성은 이러한 신경망이 종양 조기 발견에 필요한 미세한 세부 사항을 학습하도록 돕고, 방사선과 전문의가 사용하는 자동 진단 도구의 신뢰성을 크게 향상시킵니다.

관련 개념과의 비교

SiLU를 완전히 이해하려면 Ultralytics 수록된 다른 활성화 함수들과 구분하는 것이 도움이 됩니다.

  • SiLU 대 ReLU (정류 선형 단위): ReLU는 속도와 단순성으로 유명하며, 모든 음수 입력에 대해 0을 출력합니다. 효율적이긴 하지만, 이는 학습을 중단하는 "죽은 뉴런"을 초래할 수 있습니다. SiLU는 음수 값을 통해 작은 비선형 기울기가 흐르도록 허용함으로써 이를 방지하며, 이는 Ultralytics 훈련된 심층 아키텍처에서 종종 더 나은 정확도를 가져옵니다.
  • SiLU 대 GELU (가우시안 오차 선형 함수): 이 두 함수는 시각적 및 기능적으로 유사합니다. GELU는 BERT 및 GPT와 같은 트랜스포머 모델의 표준이며, SiLU는 컴퓨터 비전(CV) 작업 및 CNN 기반 객체 탐지기에 자주 선호됩니다.
  • SiLU 대 시그모이드: SiLU는 내부적으로 시그모이드 함수를 사용하지만, 두 함수는 서로 다른 역할을 수행합니다. 시그모이드는 일반적으로 이진 분류를 위한 최종 출력층에서 확률을 표현하는 데 사용되는 반면, SiLU는 숨겨진 층에서 특징 추출을 용이하게 하기 위해 사용됩니다.

구현 예시

PyTorch 사용하면 다양한 활성화 함수가 데이터를 어떻게 변환하는지 시각화할 수 있습니다. 다음 코드 조각은 음수를 0으로 만드는 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 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기