SiLU(시그모이드 선형 유닛) 활성화 함수가 딥 러닝을 어떻게 향상시키는지 알아보세요. Ultralytics 정확도를 높이기 위해 SiLU가 표준으로 채택된 이유를 확인하세요.
시그모이드 선형 유닛(Sigmoid Linear Unit, 일반적으로 SiLU로 불림)은 현대 딥러닝 아키텍처에서 신경망에 비선형성을 도입하기 위해 사용되는 매우 효과적인 활성화 함수입니다. SiLU는 모델의 계층을 통해 뉴런이 정보를 처리하고 전달하는 방식을 결정함으로써 시스템이 데이터의 복잡한 패턴을 학습할 수 있게 하며, 기존의 계단 함수보다 더 부드럽고 정교한 대안으로 기능합니다. 자동 활성화 함수 탐색 초기 연구에서 "Swish"라는 용어와 종종 연관되어 온 SiLU는 최첨단 YOLO26 아키텍처를 포함한 고성능 컴퓨터 비전 모델의 표준이 되었다.
SiLU 함수의 핵심 작동 원리는 입력값에 자체 시그모이드 변환을 곱하는 것입니다. 신경세포를 "활성화"와 "비활성화" 상태 사이에서 갑작스럽게 전환하는 단순 임계값 함수와 달리, SiLU는 더 미묘한 신호 처리를 가능하게 하는 부드러운 곡선을 제공합니다. 이러한 수학적 구조는 모델 훈련 과정에 유리한 독특한 특성을 창출합니다:
SiLU는 정밀도와 효율성이 가장 중요한 많은 최첨단 AI 솔루션에 필수적인 요소입니다.
SiLU를 완전히 이해하려면 Ultralytics 수록된 다른 활성화 함수들과 구분하는 것이 도움이 됩니다.
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과 같은 아키텍처에서의 채택은 다양한 컴퓨터 비전 작업 전반에 걸쳐 최첨단 성능을 달성하는 데 있어 그 중요성을 강조합니다.