ReLU, 시그모이드, SiLU와 같은 활성화 함수가 딥 러닝을 가능하게 하는 방식을 살펴보세요. Ultralytics 이러한 함수를 활용하여 복잡한 시각적 패턴을 어떻게 파악하는지 알아보세요.
활성화 함수는 신경망(NN) 의 핵심 구성 요소로, 주어진 입력 집합에 대해 뉴런의 출력을 결정합니다. 흔히 "게이트키퍼"로 묘사되며, 뉴런이 활성화될지 (즉, 네트워크 예측에 기여할지) 비활성화될지를 결정합니다. 이러한 수학적 연산이 없다면 신경망은 단순한 선형 회귀 모델처럼 행동하여 깊이와 무관하게 복잡한 패턴을 파악하지 못할 것입니다. 비선형성을 도입함으로써 활성화 함수는 딥 러닝( DL ) 모델이 손글씨 숫자의 곡선이나 의료 영상의 미세한 이상 현상과 같은 복잡한 구조를 학습할 수 있게 합니다. 비선형성을 도입함으로써 활성화 함수는 딥 러닝(DL) 모델이 손글씨 숫자의 곡선이나 의료 영상 분석에서의 미묘한 이상 현상과 같은 복잡한 구조를 학습할 수 있게 합니다.
활성화 함수의 주요 역할은 입력 신호를 원하는 출력 범위로 매핑하고 네트워크가 생성하는 특징 맵에 복잡성을 도입하는 것이다. 개발자는 레이어의 위치와 모델 훈련 과정의 목표에 따라 특정 함수를 선택한다.
활성화 함수의 선택은 일상 운영에 배치된 AI 시스템의 성능과 추론 지연 시간에 직접적인 영향을 미칩니다.
다양한 활성화 함수가 데이터를 어떻게 변환하는지 시각화하려면 PyTorch 라이브러리를 사용하면 활성화 함수가 데이터를 어떻게 변환하는지 시각화할 수 있습니다. 다음 코드 조각은 음수를 0으로 만드는 ReLU와 값을 압축하는 시그모이드 함수의 차이를 보여줍니다.
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_output = nn.ReLU()(data)
print(f"ReLU: {relu_output}")
# Output: tensor([0., 0., 2.])
# Apply Sigmoid: Squashes values between 0 and 1
sigmoid_output = nn.Sigmoid()(data)
print(f"Sigmoid: {sigmoid_output}")
# Output: tensor([0.1192, 0.5000, 0.8808])
학습 파이프라인에서 활성화 함수를 다른 수학적 구성 요소와 구분하는 것이 중요하다.
이러한 함수들이 더 큰 시스템에 어떻게 적용되는지 심층적으로 알아보려면 비선형 활성화 함수에 관한PyTorch 살펴보거나 컴퓨터 비전 작업이 특징 추출을 위해 이를 어떻게 활용하는지 읽어보세요.