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

GELU (Gaussian Error Linear Unit)

GELU(가우시안 오차 선형 유닛)는 각 입력에 정규 누적 분포 함수를 곱하는 매끄러운 활성화 함수로, BERT, GPT-2, 비전 Transformer에 사용됩니다. 코드도 포함합니다.

가우스 오차 선형 단위(GELU)는 다음과 같이 정의되는 활성화 함수입니다. GELU(x) = x · Φ(x)이며, 여기서 Φ는 표준 정규 분포의 누적 분포 함수입니다. 표준 정규 확률 변수가 입력값보다 작을 확률에 따라 각 입력에 가중치를 적용하므로, 큰 양수 입력은 거의 그대로 통과하고 큰 음수 입력은 거의 0이 되며 0에 가까운 입력은 약 절반으로 축소됩니다. Dan Hendrycks와 Kevin Gimpel은 2016년 논문 Gaussian Error Linear Units (GELUs)에서 GELU를 소개했습니다. GELU는 BERT, GPT-2, GPT-3, 비전 트랜스포머(ViT)와 같은 트랜스포머 모델의 표준 활성화 함수가 되었으며, 각 피드포워드 블록의 두 선형 계층 사이에 배치됩니다.

GELU 작동 방식#

Hendrycks와 Gimpel은 확률적 정규화에서 GELU를 도출했습니다. 각 입력 x에 무작위 마스크를 곱한다고 생각해 보십시오. 이 마스크는 확률 Φ(x)로 입력을 유지하고, 그렇지 않으면 0으로 만듭니다. 이는 입력에 따라 유지 확률이 높아지는 드롭아웃과 비슷합니다. GELU는 이 연산의 기댓값인 Φ(x) · x이므로 입력값에 따라 입력을 부드럽게 조정합니다. 반면 ReLU는 부호에 따라 입력을 급격하게 조정합니다.

결과 곡선에는 학습에 중요한 세 가지 특성이 있습니다.

  • 모든 지점에서 매끄러움: GELU와 그 도함수는 연속이며 0에서 꺾이지 않으므로, 역전파 중 가중치가 조금 변해도 출력은 조금만 변합니다.
  • 비단조성: 음수 입력의 경우 출력이 먼저 내려갔다가 다시 0을 향해 올라오며, x ≈ −0.75에서 약 −0.17의 최솟값에 도달합니다.
  • 음수 입력에 대한 그래디언트: 중간 정도의 음수 입력을 받은 유닛에도 그래디언트가 전달되므로, ReLU 유닛의 학습이 멈추는 상황에서도 계속 학습할 수 있습니다.

Φ에는 오차 함수가 포함되므로 두 가지 근사가 흔히 사용됩니다. tanh 형식인 0.5x(1 + tanh(√(2/π)(x + 0.044715x³)))은 정확한 GELU와의 차이가 약 0.0005 이내이며 GPT-2에서 사용되었습니다. 시그모이드 형식인 x · σ(1.702x)은 차이가 약 0.02 이내이며 OpenAI의 CLIP에서 QuickGELU로 사용됩니다. PyTorch의 nn.GELU는 기본적으로 정확한 형식을 계산하고 approximate="tanh"를 사용하면 tanh 형식을 계산합니다.

import torch
from torch import nn

x = torch.tensor([-3.0, -1.0, -0.75, 0.0, 1.0, 3.0])

# Exact GELU: x * Phi(x), where Phi is the standard normal CDF
exact = nn.GELU()(x)

# Tanh approximation, as used in GPT-2
approx = nn.GELU(approximate="tanh")(x)

print(f"GELU exact: {[round(v, 4) for v in exact.tolist()]}")
print(f"GELU tanh:  {[round(v, 4) for v in approx.tolist()]}")
print(f"ReLU:       {nn.ReLU()(x).tolist()}")

정확한 GELU는 [-0.004, -0.1587, -0.17, 0.0, 0.8413, 2.996]을, tanh 형식은 [-0.0036, -0.1588, -0.17, 0.0, 0.8412, 2.9964]을, ReLU는 [0.0, 0.0, 0.0, 0.0, 1.0, 3.0]를 출력합니다. GELU는 −0.75 근처의 최솟값에서 −0.17을 출력하고, Φ(1) = 0.8413이므로 1을 0.8413에 매핑하며, ±3에서는 ReLU와 거의 일치합니다. 두 GELU 형식은 소수점 넷째 자리에서만 차이가 납니다.

GELU의 사용 사례#

  • GPT 모델: OpenAI의 첫 GPT는 2018년에 GELU를 사용했으며 GPT-2와 GPT-3도 이를 유지했습니다.
  • BERT: Google의 BERT는 GPT의 뒤를 이어 ReLU 대신 GELU를 선택했으며, 대부분의 BERT 스타일 인코더는 여전히 GELU를 사용합니다.
  • 비전 트랜스포머: ViT는 각 인코더 블록의 MLP에서 GELU를 적용하며, ConvNeXt를 비롯한 여러 비전 백본도 이를 따랐습니다. ConvNeXt는 ResNet을 현대화하면서 ReLU를 GELU로 대체했습니다.
  • 감지 트랜스포머: Ultralytics 패키지의 RT-DETR에 포함된 AIFI 트랜스포머 인코더는 Baidu의 실시간 감지 트랜스포머로, 두 피드포워드 계층 사이에 GELU를 적용합니다.

최근의 많은 대규모 언어 모델(LLM)은 기본 GELU에서 게이트형 피드포워드 계층으로 전환했습니다. Google의 Gemma는 GELU 활성화 프로젝션에 두 번째 선형 프로젝션을 곱하는 GEGLU를 사용하며, Llama, PaLM, Qwen은 SiLU 기반 SwiGLU를 사용합니다.

  • ReLU: max(0, x)는 연산 비용이 낮고 정확히 0인 출력을 생성하며 0에서 꺾입니다. GELU 논문에서는 테스트한 모든 컴퓨터 비전, 자연어 처리, 음성 작업에서 ReLU와 ELU보다 성능이 향상되었다고 보고했습니다.
  • SiLU(Swish): x · σ(x)는 전체적으로 GELU와 같은 형태를 갖지만, 약 −0.28로 더 깊은 최솟값을 가집니다. 트랜스포머에서는 일반적으로 GELU를, 합성곱 감지기에서는 SiLU를 더 많이 사용합니다.
  • Leaky ReLU: 음수 입력에 고정된 직선 기울기를 유지합니다. 반면 GELU는 음수 영역에서 곡선을 그리며 0으로 돌아옵니다.
  • GEGLU: 게이트형 변형은 학습 가능한 두 번째 프로젝션을 추가합니다. Noam Shazeer가 2020년 T5에서 수행한 비교에서 GEGLU 피드포워드 계층의 검증 로그 주변도는 1.633으로, 매개변수 수가 같을 때 GELU의 1.679와 ReLU의 1.677보다 낮았습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

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의 미래를 만들어 가세요!

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