Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

SiLU (Sigmoid Linear Unit)

Swish라고도 하는 SiLU는 입력값에 해당 값의 시그모이드를 곱해 부드러운 자기 게이팅 활성화 함수를 만듭니다. 수학적 원리, 기원, ReLU와의 비교를 다룹니다.

시그모이드 선형 유닛(SiLU)은 SiLU(x) = x · σ(x)로 정의되는 활성화 함수이며, 여기서 σ는 시그모이드 함수입니다. 큰 양수 입력은 거의 그대로 전달하고 큰 음수 입력은 거의 0으로 변환하며, 두 영역 사이에서는 부드럽게 곡선을 그리며 x ≈ −1.278에서 약 −0.278의 최솟값에 도달합니다. SiLU는 β = 1인 Swish와 동일한 함수이며 두 이름은 서로 바꿔 사용됩니다. SiLU는 합성곱 기반 비전 모델의 일반적인 기본 함수이며, SwiGLU 블록에서는 여러 대규모 언어 모델(LLM)의 피드포워드 계층에도 사용됩니다.

정의 및 특성#

SiLU는 각 입력에 입력 자체로 계산되는 0과 1 사이의 게이트 σ(x)를 곱합니다. 이 때문에 셀프 게이트 함수라고 부릅니다. 미분값은 σ(x) · (1 + x · (1 − σ(x)))이며, 이 둘은 SiLU의 학습 동작을 ReLU와 구별하는 네 가지 특성을 만듭니다:

  • 모든 지점에서 매끄러움: 곡선과 미분값이 연속적이고 0에서 꺾이지 않으므로, 가중치를 조금 바꾸면 출력도 조금만 변합니다. 이는 경사 하강법에 적합합니다.
  • 음수 입력에도 기울기 전달: 입력이 음수인 유닛도 작은 기울기를 받아 계속 학습할 수 있습니다. 입력이 계속 음수인 ReLU 유닛은 기울기를 전혀 받지 못해 영구적으로 학습을 멈출 수 있으며, 이를 죽은 ReLU 문제라고 합니다.
  • 비단조 함수: x가 큰 음수에서 약 −1.28까지 증가하는 동안 출력은 약간 감소하고, 그 이후에는 증가하므로 이 함수는 단조 함수가 아닙니다.
  • 아래쪽은 유계, 위쪽은 무계: 출력은 약 −0.278보다 작아지지 않으며 양수 입력은 ReLU처럼 포화되지 않고 통과합니다. 따라서 심층 네트워크에서 시그모이드와 tanh의 기울기 소실 동작을 피할 수 있습니다.

아래 PyTorch 코드는 다섯 지점에서 SiLU와 SiLU 및 ReLU의 기울기를 계산합니다.

import torch
import torch.nn.functional as F

x = torch.tensor([-4.0, -1.28, 0.0, 1.0, 4.0], requires_grad=True)

# 동일한 입력에 대한 SiLU(x) = x * sigmoid(x)와 ReLU 비교
silu = F.silu(x)
relu = F.relu(x)

# 각 활성화 함수의 입력에 대한 기울기
silu_grad = torch.autograd.grad(silu.sum(), x)[0]
relu_grad = torch.autograd.grad(relu.sum(), x)[0]

print("SiLU output:  ", [round(v, 4) for v in silu.tolist()])
print("SiLU gradient:", [round(v, 4) for v in silu_grad.tolist()])
print("ReLU gradient:", relu_grad.tolist())

SiLU 출력 [-0.0719, -0.2785, 0.0, 0.7311, 3.9281], SiLU 기울기 [-0.0527, -0.0003, 0.5, 0.9277, 1.0527], ReLU 기울기 [0.0, 0.0, 0.0, 1.0, 1.0]가 출력됩니다. −4에서 ReLU의 출력은 0이고 기울기가 전달되지 않지만, SiLU는 여전히 −0.0527을 전달합니다. −1.28에서 SiLU는 최솟값 −0.2785에 도달하며 기울기는 거의 정확히 0이고, 4에서는 기울기가 1을 약간 넘습니다.

이름의 유래#

Hendrycks와 Gimpel은 GELU를 소개한 2016년 논문에서 x · σ(x)를 시그모이드 선형 유닛이라고 명명했습니다. 해당 논문에서는 GELU보다 성능이 낮지만 대체로 ReLU와 ELU보다 나은 시그모이드 기반 GELU 유사 함수로 소개되었습니다. 이후 Elfwing, Uchibe, Doya는 2017년 강화 학습에서 신경망 함수 근사에 SiLU를 사용했습니다. 같은 해 말 Google 연구진은 활성화 함수 자동 탐색을 통해 x · σ(βx)를 다시 발견해 Swish라고 명명했으며, ReLU를 이 함수로 대체하면 ImageNet에서 Mobile NASNet-A의 톱-1 정확도가 0.9%, Inception-ResNet-v2의 정확도가 0.6% 향상된다고 보고했습니다. PyTorch는 이전 명칭을 사용해 버전 1.7에서 nn.SiLU을 추가했습니다.

SiLU와 다른 활성화 함수 비교#

  • ReLU: max(0, x)는 계산 비용이 낮고 정확한 0을 출력하며 양수 입력에 대해 기울기가 항상 1입니다. SiLU는 매끄러운 곡선과 음수 영역의 기울기를 제공하는 대신 원소마다 시그모이드를 하나씩 추가합니다.
  • GELU: x · Φ(x)이며, 여기서 Φ는 표준 정규 누적 분포 함수입니다. 두 곡선의 형태는 같으며 스케일을 적용한 SiLU x · σ(1.702x)는 모든 지점에서 GELU를 약 0.02 이내의 오차로 근사합니다. BERT 및 ViT와 같은 Transformer에서는 GELU가 일반적으로 사용되고, CNN 기반 탐지기에서는 SiLU가 더 많이 사용됩니다.
  • 시그모이드: σ(x)만 사용하면 입력을 0에서 1 사이로 압축하고 양 끝에서 포화되므로 확률 출력 계층으로 사용됩니다. SiLU에서는 게이트로만 사용됩니다.
  • Hard-Swish: x · ReLU6(x + 3) / 6으로, MobileNetV3와 함께 소개된 SiLU 근사 함수입니다. 시그모이드 게이트를 구간별 선형 게이트로 대체해 모바일 하드웨어에서 지수 연산을 피합니다.
  • SwiGLU: SiLU(xW)에 두 번째 투영 xV를 원소별로 곱하는 게이트 선형 유닛입니다. LLaMA 및 여러 LLM의 피드포워드 블록을 구성합니다.

SiLU의 사용 분야#

Swish라는 이름으로 불리는 SiLU는 EfficientNet 전체에서 활성화 함수로 사용되며, 최신 실시간 객체 탐지기에서도 흔히 사용됩니다. Ultralytics YOLO 모델은 YOLOv5 v4.0에서 2021년 1월 LeakyReLU와 Hardswish를 SiLU로 대체한 이후 SiLU를 사용해 왔으며, YOLO26에서는 모든 Conv 블록이 합성곱, 배치 정규화, SiLU로 구성됩니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요