일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 샘플
- 가이드
- 직장인자기계발
- unity
- 패스트캠퍼스
- Unity Editor
- 오공완
- ui
- Framework
- TextMeshPro
- C#
- DotsTween
- adfit
- 프레임워크
- 2D Camera
- RSA
- Job 시스템
- AES
- job
- 직장인공부
- 암호화
- 커스텀 패키지
- 최적화
- Dots
- 패스트캠퍼스후기
- Tween
- base64
- Custom Package
- 환급챌린지
- sha
- Today
- Total
EveryDay.DevUp
[AI] 신경망과 액티베이션 함수: 선형성의 한계와 비선형성의 필요성 본문
🧠 신경망과 액티베이션 함수: 선형성의 한계와 비선형성의 필요성
📊 2개 노드 신경망 구조
🔢 수학적 증명 과정
y = W₂W₁x + W₂b₁ + b₂
여기서:
W' = W₂W₁ (새로운 단일 가중치)
b' = W₂b₁ + b₂ (새로운 단일 편향)
📈 n층으로 확장된 일반적 증명
Layer 2: h₂ = W₂h₁ + b₂ = W₂(W₁x + b₁) + b₂
Layer 3: h₃ = W₃h₂ + b₃ = W₃(W₂W₁x + W₂b₁ + b₂) + b₃
...
Layer n: y = W_final × W_n-1 × ... × W₂ × W₁ × x + (복합 편향항)
🎯 액티베이션 함수의 종류와 특성
⚠️ 그래디언트 소실 문제 (Vanishing Gradient Problem)
그래디언트 소실 문제는 깊은 신경망에서 가장 치명적인 학습 장애 중 하나입니다. 이 문제를 이해하는 것은 왜 특정 액티베이션 함수들이 현재 잘 사용되지 않는지, 그리고 ReLU 같은 함수들이 왜 혁신적이었는지를 파악하는 핵심입니다.
🔄 역전파(Backpropagation)란 무엇인가요?
신경망이 학습하는 과정을 이해하려면 먼저 역전파를 알아야 합니다. 역전파는 신경망이 실제 정답과 예측값의 차이(손실)를 줄이기 위해 가중치를 조정하는 알고리즘입니다.
이 과정은 마치 산에서 내려오는 것과 같습니다. 현재 위치(현재 가중치)에서 가장 가파른 내리막 방향(그래디언트의 반대 방향)을 찾아 한 걸음씩 내려가면서 골짜기(최솟값)에 도달하려고 합니다. 이때 각 가중치가 손실에 얼마나 영향을 미치는지 계산하는 것이 그래디언트이고, 이 정보를 출력층부터 입력층까지 거꾸로 전달하는 것이 역전파입니다.
역전파의 핵심은 연쇄법칙(chain rule)을 사용하여 각 층의 가중치가 최종 손실에 미치는 영향을 계산하는 것입니다. 출력층에서 시작한 오차 신호가 이전 층, 그 이전 층으로 차례대로 전달되면서 모든 가중치의 업데이트 방향과 크기를 결정합니다.
🔍 문제가 발생하는 메커니즘
역전파 과정에서 각 층의 그래디언트는 연쇄 법칙에 따라 계산됩니다. 각 층에서 그래디언트는 다음과 같이 계산됩니다:
여기서 핵심은 ∂a_k/∂a_{k-1} 부분입니다. 이것은 각 층의 액티베이션 함수의 미분값을 포함하고 있습니다. 만약 액티베이션 함수의 미분값이 1보다 작다면, 깊은 네트워크에서는 이런 작은 값들이 계속 곱해져서 기하급수적으로 감소하게 됩니다. 이것이 바로 그래디언트 소실 문제의 핵심 메커니즘입니다.
📊 구체적인 예시로 이해하기
시그모이드 함수를 예로 들어보겠습니다. 시그모이드의 최대 미분값은 0.25입니다. 10층 깊이의 네트워크에서 각 층의 미분값이 모두 0.25라고 가정하면:
• 1층 뒤: 그래디언트 × 0.25 = 원래의 25%
• 2층 뒤: 그래디언트 × 0.25² = 원래의 6.25%
• 5층 뒤: 그래디언트 × 0.25⁵ = 원래의 0.098%
• 10층 뒤: 그래디언트 × 0.25¹⁰ = 원래의 0.000095%
이렇게 되면 초기 층들의 가중치는 거의 업데이트되지 않아 학습이 제대로 이루어지지 않습니다. 깊은 네트워크를 만들어도 앞쪽 층들이 학습되지 않으면 복잡한 패턴을 인식할 수 없게 됩니다.
💥 그래디언트 소실이 미치는 영향
학습 속도 저하: 초기 층들이 거의 학습되지 않아 전체 네트워크의 표현력이 제한됩니다. 네트워크가 복잡한 특징을 학습하려면 모든 층이 협력해야 하는데, 앞쪽 층들이 동작하지 않으면 전체 성능이 크게 떨어집니다.
특징 추출 능력 저하: 깊은 네트워크의 가장 큰 장점은 계층적 특징 학습입니다. 앞쪽 층에서 기본적인 패턴을 감지하고, 뒤쪽 층에서 이를 조합하여 복잡한 개념을 만들어내는 것이죠. 하지만 그래디언트 소실로 인해 앞쪽 층들이 학습되지 않으면 이런 계층적 학습이 불가능해집니다.
수렴 문제: 네트워크가 최적해에 도달하기 어려워지거나 국소 최솟값에 빠지기 쉬워집니다. 또한 학습이 매우 느려져서 실용적이지 않게 됩니다.
깊은 네트워크의 역설: 이론적으로는 더 깊은 네트워크가 더 복잡한 함수를 표현할 수 있어야 하지만, 그래디언트 소실 때문에 오히려 성능이 저하되는 현상이 발생합니다. 이는 2000년대 딥러닝 연구의 가장 큰 난제였습니다.
1. Unit Step (계단 함수)
f(-2) = 0
f(0) = 1
f(3) = 1
가장 단순한 이진 분류기로, 입력이 임계값(0)을 넘으면 활성화(1), 그렇지 않으면 비활성화(0)됩니다. 실제 뉴런의 동작을 가장 단순하게 모델링한 것으로, "발화하거나 발화하지 않거나"의 개념을 구현합니다.
• 간단한 구조로 이해하기 쉬움
• 계산 비용이 매우 낮음
• 명확한 이진 출력
• 미분 불가능 (그래디언트가 0 또는 무한대)
• 역전파 학습 불가능
• 연속적인 학습에 부적합
계단 함수는 0에서 불연속이므로 미분이 정의되지 않습니다. 신경망 학습은 손실 함수의 기울기(그래디언트)를 계산하여 가중치를 업데이트하는데, 미분이 불가능하면 어느 방향으로 가중치를 조정해야 할지 알 수 없게 됩니다.
주로 개념적 설명이나 단순한 퍼셉트론에서 사용됩니다. 현재는 실제 딥러닝에서 거의 사용되지 않지만, AND, OR 게이트 같은 간단한 논리 연산을 구현할 때 교육 목적으로 활용됩니다.
2. Sigmoid (시그모이드)
f(-2) = 0.12
f(0) = 0.5
f(2) = 0.88
S자 모양의 부드러운 곡선으로, 모든 실수를 0과 1 사이의 값으로 압축합니다. 출력이 확률처럼 해석될 수 있어 이진 분류 문제의 출력층에서 널리 사용되었습니다. 생물학적 뉴런의 활성화 패턴과 유사한 형태를 보입니다.
• 부드럽고 연속적인 함수
• 출력이 확률값 (0~1) 범위
• 모든 점에서 미분 가능
• 그래디언트 소실 문제
• 계산 비용이 높음 (지수 연산)
• 출력이 0 중심이 아님
시그모이드의 미분값은 최대 0.25입니다. 깊은 네트워크에서 역전파할 때 이 작은 값들이 계속 곱해지면서 그래디언트가 기하급수적으로 작아집니다. 결국 초기 층들은 거의 학습되지 않는 문제가 발생합니다.
🔬 시그모이드 미분값이 왜 최대 0.25일까요?
이를 이해하려면 시그모이드 함수의 미분을 살펴봐야 합니다. 시그모이드 함수 σ(x) = 1/(1+e^(-x))의 미분은 놀랍게도 σ'(x) = σ(x) × (1-σ(x))라는 아름다운 형태를 가집니다.
이 미분값이 최대가 되는 지점을 찾기 위해 f(y) = y(1-y) 함수를 생각해봅시다. 여기서 y는 시그모이드의 출력값으로 0과 1 사이의 값입니다. 이 함수는 아래로 볼록한 포물선 모양이므로, 최댓값을 구하려면 미분해서 0이 되는 지점을 찾으면 됩니다.
f'(y) = 1 - 2y = 0에서 y = 0.5일 때 최대가 됩니다. 이때 f(0.5) = 0.5 × (1-0.5) = 0.5 × 0.5 = 0.25입니다. 즉, 시그모이드 함수의 출력이 정확히 0.5일 때(입력이 0일 때) 미분값이 최대 0.25가 되는 것입니다.
이것이 바로 그래디언트 소실 문제의 수학적 근원입니다. 아무리 좋은 조건에서도 각 층을 거칠 때마다 그래디언트가 최대 25%로 줄어들기 때문에, 층이 깊어질수록 기하급수적으로 그래디언트가 작아지게 됩니다.
주로 이진 분류의 출력층에서 사용됩니다. 예를 들어, 이메일이 스팸인지 판단하거나, 의료 영상에서 종양이 있는지 없는지를 판별하는 모델의 최종 출력에 활용됩니다. LSTM의 게이트에서도 사용됩니다.
3. Tanh (하이퍼볼릭 탄젠트)
f(-2) = -0.96
f(0) = 0
f(2) = 0.96
시그모이드를 -1에서 1 사이로 스케일하고 이동시킨 함수입니다. 출력이 0을 중심으로 대칭이어서 다음 층의 입력이 균형잡혀 있습니다. S자 모양의 부드러운 곡선으로 모든 실수를 [-1, 1] 범위로 압축합니다.
• 제로 센터링 (평균 출력 ≈ 0)
• 시그모이드보다 강한 그래디언트
• 대칭적 출력 범위 (-1, 1)
• 여전한 그래디언트 소실 문제
• 계산 비용이 높음
• 깊은 네트워크에서 비효율적
제로 센터링은 함수의 출력값들이 0을 중심으로 대칭적으로 분포한다는 의미입니다. 즉, 출력의 평균이 대략 0에 가깝다는 뜻이죠. 이는 신경망 학습에서 매우 중요한 특성입니다.
왜 제로 센터링이 중요할까요? 시그모이드는 항상 0~1 사이의 값만 출력하므로 평균이 약 0.5 정도가 됩니다. 이렇게 되면 다음 층으로 전달되는 모든 입력이 양수가 되고, 이는 가중치 업데이트에 심각한 문제를 일으킵니다.
구체적으로 설명해보겠습니다. 어떤 층의 출력이 모두 양수라면, 다음 층의 가중치들을 업데이트할 때 모든 그래디언트가 같은 부호를 가지게 됩니다. 예를 들어, 손실을 줄이기 위해 어떤 가중치는 증가시키고 다른 가중치는 감소시켜야 한다면, 모든 입력이 양수인 상황에서는 이를 동시에 할 수 없습니다. 결국 가중치들이 지그재그로 움직이면서 최적해에 도달하는 데 훨씬 오랜 시간이 걸리게 됩니다.
반면 tanh는 -1에서 1 사이의 값을 출력하므로, 평균이 대략 0에 가깝습니다. 이렇게 되면 일부 뉴런은 양수를, 일부는 음수를 출력하게 되어 가중치 업데이트가 훨씬 더 효율적으로 이루어집니다. 이것이 tanh가 시그모이드보다 더 빠르게 수렴하는 이유 중 하나입니다.
RNN, LSTM의 은닉 상태나 출력에서 주로 사용됩니다. 순차 데이터에서 이전 정보를 현재로 전달할 때 제로 센터링 특성이 유용합니다. 또한 출력 범위가 제한된 회귀 문제에서도 활용됩니다.
4. ReLU (렐루)
f(-2) = 0
f(0) = 0
f(3) = 3
음수 입력을 모두 0으로 만들고, 양수 입력은 그대로 통과시키는 간단한 함수입니다. 현대 딥러닝의 혁신을 이끈 함수로, 계산이 매우 빠르고 그래디언트 소실 문제를 크게 완화했습니다. 뇌의 뉴런이 임계값 이하에서는 반응하지 않는 특성을 모방합니다.
ReLU의 혁신은 바로 미분값의 특성에 있습니다. 앞서 살펴본 시그모이드 함수의 최대 미분값은 0.25였습니다. 이 작은 값들이 계속 곱해지면서 그래디언트가 기하급수적으로 감소했죠. 하지만 ReLU는 완전히 다른 양상을 보여줍니다.
🔍 ReLU의 양수 영역에서 미분값이 왜 1일까요?
이를 이해하기 위해 ReLU 함수를 수학적으로 분석해보겠습니다. ReLU는 f(x) = max(0, x)로 정의되는데, 이를 구간별로 나누어 보면 다음과 같습니다:
• x < 0일 때: f(x) = 0 (상수함수)
• x > 0일 때: f(x) = x (일차함수)
미분의 기본 원리를 떠올려보세요. 상수의 미분은 0이고, x의 미분은 1입니다. 따라서 ReLU의 미분은:
• x < 0일 때: f'(x) = 0 (상수 0의 미분)
• x > 0일 때: f'(x) = 1 (x의 미분)
이것이 ReLU의 핵심입니다! 양수 영역에서 ReLU는 단순히 f(x) = x라는 일차함수이고, 일차함수의 기울기는 항상 일정합니다. y = x의 기울기가 1인 것처럼, ReLU의 양수 부분도 기울기가 정확히 1인 것이죠.
이것이 왜 혁신적일까요? 기울기가 1이라는 것은 입력의 변화량과 출력의 변화량이 정확히 같다는 의미입니다. 즉, 역전파 과정에서 그래디언트가 전혀 감소하지 않고 그대로 이전 층으로 전달됩니다. 이는 마치 완벽한 신호 전달 케이블과 같아서, 출력층의 오차 신호가 손실 없이 초기 층까지 도달할 수 있게 합니다.
양수 영역에서의 미분값: ReLU의 양수 부분(x > 0)에서 미분값은 정확히 1입니다. 이는 엄청난 의미를 가집니다. 연쇄법칙에 따라 그래디언트가 전파될 때, 각 층에서 1이 곱해지면 그래디언트의 크기가 보존됩니다. 시그모이드에서는 0.25가 곱해져서 감소했다면, ReLU에서는 1이 곱해져서 원래 크기 그대로 이전 층으로 전달됩니다.
구체적인 비교: 10층 네트워크에서 모든 뉴런이 활성화된 상태라고 가정해봅시다. 시그모이드의 경우 그래디언트가 (0.25)^10 = 0.000095% 수준으로 감소하지만, ReLU의 경우 (1)^10 = 100% 그대로 유지됩니다. 이는 무려 백만 배 이상의 차이입니다!
실제 학습에서의 효과: 이러한 특성 덕분에 ReLU를 사용한 깊은 네트워크에서는 초기 층들도 충분한 그래디언트를 받아 효과적으로 학습됩니다. 각 층이 의미있는 특징을 학습할 수 있게 되면서 전체 네트워크의 표현력이 크게 향상됩니다. 이는 2010년대 딥러닝 붐의 핵심 요인 중 하나였습니다.
왜 이렇게 간단한 함수가 효과적일까요? ReLU의 성공은 "복잡한 것이 항상 좋은 것은 아니다"라는 교훈을 줍니다. 계산이 간단하면서도 그래디언트 전파에 최적화된 구조를 가지고 있어, 이론과 실무 모두에서 뛰어난 성능을 보여줍니다. 뇌과학 연구에서도 실제 뉴런들이 ReLU와 유사한 활성화 패턴을 보인다는 것이 밝혀져, 생물학적 타당성까지 갖추고 있습니다.
• 계산이 매우 효율적 (단순 비교연산)
• 그래디언트 소실 문제 완화
• 희소성 유도로 효율적 표현
• Dying ReLU 문제
• 음수 정보 완전 손실
• 0에서 미분 불연속
입력이 항상 음수인 뉴런은 출력이 0이 되고, 그래디언트도 0이 됩니다. 이런 뉴런은 더 이상 학습되지 않아 "죽은" 상태가 됩니다. 잘못된 가중치 초기화나 너무 큰 학습률로 인해 발생할 수 있습니다.
대부분의 딥러닝 모델의 은닉층에서 기본 선택지입니다. CNN의 합성곱 층, 완전 연결 층 등에서 널리 사용됩니다. ResNet, VGG 등 유명한 아키텍처들의 기본 활성화 함수입니다.
5. Leaky ReLU
f(-2) = -0.2
f(0) = 0
f(3) = 3
ReLU의 개선 버전으로, 음수 영역에서 작은 기울기(α, 보통 0.01)를 가집니다. 이를 통해 음수 입력에 대해서도 약간의 출력을 허용하여 Dying ReLU 문제를 해결합니다. 모든 영역에서 0이 아닌 그래디언트를 가져 지속적인 학습이 가능합니다.
• Dying ReLU 문제 해결
• 음수 정보를 일부 보존
• 모든 뉴런이 학습 참여 가능
• 하이퍼파라미터 α 조정 필요
• 성능 개선이 항상 보장되지 않음
• 약간의 추가 계산 비용
α값이 너무 크면 음수 영역의 영향이 과도해져서 학습이 불안정해질 수 있고, 너무 작으면 ReLU와 별 차이가 없어집니다. 일반적으로 0.01~0.3 사이에서 실험을 통해 최적값을 찾아야 합니다.
ReLU로 학습했을 때 일부 뉴런이 죽는 문제가 관찰되거나, 음수 특성 정보가 중요한 태스크에서 사용됩니다. 예를 들어, 음성 인식이나 자연어 처리에서 음수 값이 의미있는 정보를 담고 있을 때 활용됩니다.
6. ELU (지수 선형 단위)
f(-2) = -0.86
f(0) = 0
f(2) = 2
음수 영역에서 지수 함수를 사용하여 부드러운 곡선을 만듭니다. 출력의 평균이 0에 가까워지도록 설계되어 내부 공변량 이동을 줄입니다. 양수에서는 ReLU와 동일하지만, 음수에서는 포화되어 잡음에 더 강건합니다.
🛡️ ELU가 잡음에 강건한 이유는 무엇일까요?
ELU의 잡음 강건성은 음수 영역에서의 독특한 동작 방식에서 비롯됩니다. 이를 이해하기 위해 먼저 '포화(saturation)'라는 개념을 살펴보겠습니다.
포화란 함수의 출력이 특정 값에 가까워지면서 입력의 변화에 덜 민감해지는 현상을 말합니다. ELU의 음수 부분인 α(e^x - 1)을 자세히 보면, x가 매우 작은 음수로 갈수록 e^x는 0에 가까워지므로 함수값이 -α에 수렴합니다. 즉, 음수 영역에서 ELU는 점진적으로 포화되는 특성을 가집니다.
이러한 포화 특성이 왜 잡음에 강건함을 제공할까요? 실제 데이터에는 항상 측정 오차, 환경적 변화, 센서의 불완전성 등으로 인한 잡음이 포함되어 있습니다. 만약 액티베이션 함수가 이런 작은 잡음에도 민감하게 반응한다면, 네트워크의 출력이 불안정해지고 학습이 어려워집니다.
ELU의 경우 음수 영역에서 포화되기 때문에, 입력에 포함된 작은 음의 잡음들이 출력에 미치는 영향이 제한됩니다. 예를 들어, x = -3인 지점에서 작은 잡음 ±0.1이 더해져도 ELU의 출력 변화는 매우 작습니다. 반면 ReLU는 음수 영역에서 완전히 0이 되어버리므로, 잡음으로 인해 음수에서 양수로 또는 그 반대로 값이 바뀔 때 출력이 급격하게 변할 수 있습니다.
또한 ELU의 부드러운 곡선 특성도 잡음 강건성에 기여합니다. ReLU는 0에서 꺾이는 날카로운 모서리를 가지고 있어서, 0 근처의 작은 입력 변화가 미분값을 0에서 1로 또는 그 반대로 급격하게 바꿀 수 있습니다. 하지만 ELU는 모든 구간에서 매끄럽게 연결되어 있어 이런 급격한 변화가 발생하지 않습니다.
평균 출력이 0에 가깝다는 특성도 간접적으로 잡음 강건성을 향상시킵니다. 네트워크의 각 층에서 활성화값들이 0을 중심으로 분포하면, 다음 층으로 전달되는 신호가 더 안정적이 되고, 작은 잡음들이 누적되어 큰 오차로 증폭되는 현상을 방지할 수 있습니다. 이는 마치 신호 처리에서 DC 성분을 제거하여 신호의 품질을 향상시키는 것과 유사한 효과입니다.
• 부드러운 곡선으로 최적화 용이
• 평균 출력이 0에 가까움
• 잡음에 강건함
• 지수 계산으로 인한 비용 증가
• 하이퍼파라미터 α 설정 필요
• ReLU 대비 복잡성 증가
지수 함수(e^x) 계산은 단순한 비교 연산보다 훨씬 많은 계산 자원을 필요로 합니다. 대규모 네트워크에서는 이런 작은 차이가 누적되어 전체 학습 시간을 상당히 증가시킬 수 있습니다.
배치 정규화를 사용하지 않는 깊은 네트워크나, 잡음이 많은 데이터를 다룰 때 유용합니다. 특히 오토인코더나 생성 모델에서 더 안정적인 학습을 위해 사용되기도 합니다.
📊 액티베이션 함수 선택 가이드
'AI' 카테고리의 다른 글
[AI] AI의 발전 과정 (0) | 2025.06.14 |
---|---|
[AI] 텍스트 임베딩 (4) | 2025.06.14 |
[AI] 딥러닝 모델 학습과정 이해하기 (0) | 2025.06.08 |
[AI] 딥러닝 시뮬레이터 (1) | 2025.06.04 |
[AI] CNN 필터 & 맥스 풀링 시뮬레이션 (1) | 2025.06.03 |