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

GELU(Gaussian Error Linear Unit)

GELU 활성화 함수가 GPT-4와 같은 Transformer 모델을 향상시켜 기울기 흐름, 안정성 및 효율성을 높이는 방법을 알아보세요.

가우스 에러 선형 단위(GELU)는 널리 채택된 널리 채택된 활성화 기능으로 현대의 초석이 된 신경망(NN) 아키텍처, 특히 트랜스포머와 관련된 특히 트랜스포머와 관련된 아키텍처에 사용됩니다. 기존과 달리 함수는 입력에 엄격한 임계값을 적용하는 것과 달리, GELU는 더 부드럽고 단조롭지 않은 전환을 제공합니다. 이 독특한 특성 덕분에 입력의 크기에 따라 가중치를 부여하여 결정론적 비선형성과 확률적 정규화 기법 사이의 간극을 효과적으로 메울 수 있습니다. 다음과 같은 주요 모델에서 광범위하게 사용되고 있습니다. GPT 시리즈와 BERT 와 같은 주요 모델에서 널리 사용되는 것은 시스템이 상당한 데이터 세트 내에서 복잡한 패턴을 학습하는 데 도움이 되는 기능을 강조합니다.

GELU 작동 방식

근본적인 수준에서 GELU는 딥 러닝 모델을 통해 흐르는 정보의 게이트키퍼 역할을 합니다. 딥러닝(DL) 모델의 게이트키퍼 역할을 합니다. 이전 기능 와 같은 정류 선형 단위(ReLU) 와 같은 이전 함수는 음수 값을 0으로 설정하여 음수 값을 0으로 설정하여 차단하는 반면, GELU는 좀 더 미묘한 접근 방식을 취합니다. 이 함수는 입력 값에 에 누적 분포 함수(CDF )를 곱합니다. 표준 가우스 분포에 곱합니다.

이 프로세스는 입력이 감소함에 따라 활성화가 확률적으로 정보를 떨어뜨리는 것을 의미하지만, 이 경우 다음과 같이 날카로운 각도가 아닌 부드러운 곡선으로 이루어집니다. 이러한 부드러움은 역전파 중 정보의 흐름을 개선하여 역전파를 통해 정보의 흐름을 개선하여 소실 그라데이션 문제를 완화하는 데 도움이 됩니다. 문제를 완화하는 데 도움이 됩니다. 가우스 분포의 속성을 통합함으로써 GELU는 모델을 학습할 수 있는 곡률을 도입하여 선형적인 대안에 비해 모델이 복잡한 데이터 관계를 더 잘 포착할 수 있도록 합니다.

GELU 대 다른 활성화 함수

겔루가 어디에 적합한지 이해하려면 겔루를 다른 일반적인 활성화 기능과 구별해야 합니다. AI 용어집을 참고하세요.

  • GELU vs: ReLU 는 계산 효율이 높고 음수 입력을 제로화하여 희소성을 생성합니다. 하지만, 0에서 급격한 "코너"는 학습을 지연시킬 수 있습니다. GELU는 부드러운 곡률로 이를 방지하여 복잡한 작업에서 더 높은 더 높은 정확도를 제공합니다.
  • GELU 대 누수 ReLU: 누수 ReLU는 죽은 뉴런을 수정하려고 시도합니다. 작고 일정한 음의 기울기를 허용합니다. 이와 대조적으로, GELU는 비선형적이고 비단조적이어서 입력 크기에 따라 기울기가 달라지므로 입력 크기에 따라 기울기가 변하므로 더 풍부한 표현 능력을 제공합니다.
  • GELU 대 SiLU(스위시): 시그모이드 리니어 유닛(SiLU) 은 구조적으로 GELU와 매우 유사하며 부드럽고 비단조적인 특성을 공유합니다. GELU는 자연어 처리(NLP)에서 지배적이지만 언어 처리(NLP)에서 주로 사용되는 반면, SiLU는 다음과 같은 컴퓨터 비전 아키텍처에서 선호되는 경우가 많습니다. Ultralytics YOLO11 객체 감지 모델과 같은 컴퓨터 비전 아키텍처에서는 컨볼루션 레이어의 약간의 컨볼루션 레이어에서 약간의 효율성 향상으로 인해 선호됩니다.

실제 애플리케이션

GELU는 다음과 같은 가장 진보된 애플리케이션에 필수적인 요소입니다. 인공 지능(AI).

  • 대규모 언어 모델(LLM): GELU의 특정 곡률은 모델이 언어적 뉘앙스를 이해하는 데 도움이 됩니다. 예를 들어 감정 분석 또는 텍스트 요약에서 활성화 기능 은 미묘한 문맥 신호가 네트워크 레이어 깊숙이 보존되도록 하여 최신 챗봇에서 볼 수 있는 일관된 텍스트 생성을 가능하게 합니다.
  • 비전 트랜스포머(ViT): 텍스트를 넘어선 GELU는 비전 트랜스포머에 사용되어 다음과 같은 자체 주의 메커니즘을 적용합니다. 이미지 분류에 적용합니다. 안정적인 안정적인 그라디언트 하강을 촉진함으로써, GELU는 이러한 모델이 이미지 패치를 효과적으로 처리하여 복잡한 장면에서 물체를 높은 정밀도로 식별할 수 있습니다.

Python 구현

다음과 같은 최신 프레임워크를 사용하여 GELU를 사용자 지정 모델에 통합하는 것은 간단합니다. PyTorch 또는 TensorFlow. 다음 예제는 다음을 수행하는 방법을 보여줍니다. GELU 레이어를 인스턴스화하는 방법을 보여줍니다.

import torch
import torch.nn as nn

# Define a sample input tensor (batch_size=1, features=5)
input_data = torch.tensor([[-3.0, -1.0, 0.0, 1.0, 3.0]])

# Initialize the GELU activation function
gelu_layer = nn.GELU()

# Apply GELU to the input data
output = gelu_layer(input_data)

# Output demonstrates the smooth suppression of negative values
print(f"Input: {input_data}")
print(f"Output: {output}")

이 스니펫은 다음을 활용합니다. torch.nn.GELU, 다음에서 설명합니다. 공식 PyTorch 겔루 API를 사용하여 로 입력 데이터를 변환합니다. 음수 값은 억제되지만 0으로 하드클리핑되지 않고 매끄러운 그래디언트 흐름을 유지하여 강력한 훈련에 필수적인 머신 러닝(ML) 모델. 더 자세히 알아보려면 수학적 토대에 대한 자세한 내용은 원본 연구 논문 "가우스 오류 선형 단위(GELU)'는 포괄적인 이론적 배경을 제공합니다.

Ultralytics 커뮤니티 가입

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

지금 참여하기