What
활성화 함수 (Activation Function)은 인공 신경망에서 중요한 역할을 하는데요.
이 함수는 입력된 정보를 처리하여 다음 단계로 전달할지 결정하는 스위치와 같은 역할을 합니다.
즉, 입력된 값이 특정 기준을 넘으면 '켜짐' 상태로 다음 단계로 신호를 보내고,
그렇지 않으면 '꺼짐' 상태로 신호를 보내지 않습니다.
Why
그럼, 인공신경망에서 활성화 함수를 왜 쓸까요?
현실세계 대부분의 문제는 대부분 비선형적(입력과 출력사이의 관계가 단순하지 않음)이라
인공신경망에 비선형성을 부여하여 복잡한 패턴과 관계를 학습하기 위해 사용합니다.
그리고 출력값을 제한하기 위해서도 사용하는데요.
활성화 함수는 뉴런의 출력을 특정 범위로 제한하여 출력 값이 너무 커지거나 작아지는 문제를 방지합니다.
또한 살짝 어려운 개념이긴 한데요.
경사하강법과 같은 최적화 알고리즘에서 미분을 통해 손실을 줄여나가는 과정이 중요한데,
활성화 함수는 이때 필요한 미분 가능성을 보장합니다.
이러한 이유로 활성화 함수는 신경망이 복잡한 문제를 효과적으로 해결하고 학습할 수 있도록 돕는 핵심요소라고 할 수 있습니다.
활성화 함수 종류와 특징
최근 인공 신경망에서 주로 활용되는 활성화 함수와 특징에 대해 알아볼까요.
시그모이드 함수 (Sigmoid Function)
입력 값을 0과 1 사이의 값으로 변환하며, 입력이 클수록 1에 가까워지고 작을수록 0에 가까워집니다.
출력 값이 확률처럼 해석될 수 있어 분류 문제에서 유용합니다.
다만 큰 또는 매우 작은 입력값에 대해서는 변화가 거의 없어 학습이 느려질 수 있어요.
ReLU (Rectified Linear Unit)
입력이 0보다 크면 그대로 출력하고, 0 이하면 0을 출력하는 활성화 함수입니다.
Rectified는 정류라는 뜻으로, 음수 부분을 정류하여 제거하고 양수 부분은 선형(Linear)으로 유지하는데서 유래했어요.
보시는 바와 같이 액티베이션을 계산하는 방법이 매우 간단하여 학습이 빠른 특징이 있는데요.
입력이 0 이하일때 출력이 0이 되어서 특정 뉴런이 작동하지 않을 수 있다는 점 유의하면 좋을 거 같아요.
Swish
Swish 함수는 시그모이드 함수에 입력값 x 를 곱하는 활성화 함수입니다.
최근 딥러닝 분야에서 주목받고 있는 활성화 함수로,
ReLU와 달리 부드러운 곡선을 가지며 학습 과정에서 안정성을 향상합니다.
(ReLU사용 모델보다 성능 향상되는 경우가 많다네요)
Mish
Mish 는 다음과 같은 수식의 활성화 함수입니다.
ReLU는 음에서 0으로 처리함으로 정보손실이 발생하지만,
Mish는 작은 음의 값을 허용하기 때문에 정보 표현력이 더 좋습니다.
또한 Mish 는 Swish와 비슷한 모양이지만 더 좋은 성능을 가지고 있는데요.
논문(Mish: A Self Regularized Non-Monotonic Neural Activation Function)에서 설명한 부분을 간략히 요약하면
swish와 다르게 입력값이 증가함에 따라 출력값이 항상 증가하지 않기 때문에 복잡한 패턴을 학습할 수 있고
음의 영역에서도 Swish 보다 더 부드러운 출력을 제공하여 학습과정에서 안정성을 높인다고 합니다.
'Data Science' 카테고리의 다른 글
트랜스포머 (Transformer) 모델 (1) | 2024.11.09 |
---|---|
딥러닝 처음 접할 때 어려워하는 몇가지 핵심 개념들 (0) | 2024.11.08 |
precision & recall (4) | 2010.11.30 |
False positive & False negative (0) | 2010.11.08 |
Practical Machine Learning (0) | 2010.11.03 |
댓글