데이터에 따른 활성함수의 선택과 전처리 중요성

2024. 11. 23. 13:59금융공학/딥러닝


1. 활성화 함수

활성화 함수는 신경망에서 입력 데이터의 비선형성을 추가하여 복잡한 패턴을 학습할 수 있도록 돕는 핵심 구성 요소입니다.

입력 데이터가 단순히 선형 변환만 거친다면, 심층 신경망의 깊이가 아무리 깊어도 복잡한 문제를 해결할 수 없습니다.

활성화 함수는 각 레이어에서 뉴런의 출력값을 조정하며, 데이터의 분포와 문제의 특성에 맞는 함수를 선택하는 것이 중요합니다.


2. 데이터 특성과 활성화 함수 선택

데이터 특성 추천 활성화 함수 이유

양수로 된 정규화 데이터 ReLU, Swish 정규화된 데이터에서 ReLU는 효율적이며, Swish는 더 높은 표현력 제공.
음수 값 포함 데이터 Leaky ReLU, ELU 음수 값 학습이 필요하며, Leaky ReLU는 Dying ReLU 문제를 방지.
대칭 데이터 (−x,x-x, x) Tanh Tanh는 대칭 데이터를 학습하기 적합.
복잡한 패턴 Swish, GELU Swish와 GELU는 복잡한 데이터에서 부드러운 비선형성을 제공.
주기적 데이터 Sinusoidal 주기적 데이터의 특성 학습을 위한 특별한 활성화 함수 필요.
간단한 데이터 ReLU 간단한 데이터 처리와 계산 효율성.

3. 활성화 함수 선택 가이드라인

  1. 기본적으로 ReLU부터 시작:
    • 대부분의 데이터에서 간단하고 빠른 학습을 제공.
  2. 복잡한 데이터:
    • Swish 또는 GELU로 전환하여 더 나은 표현력을 확인.
  3. 데이터 특성 확인:
    • 데이터가 음수 값을 포함하거나 대칭적이면 Tanh나 Leaky ReLU를 고려.
  4. 특별한 요구사항:
    • 주기성 데이터는 특별한 활성화 함수(Sinusoidal 등)를 적용.

 

3. 활성화 함수 선택 전 데이터 가공의 중요성

특성(feature) 데이터의 범위를 통일하면 활성화 함수의 선택이 훨씬 더 쉬워지고, 모델의 학습 효율과 안정성도 크게 향상됩니다. 데이터 범위를 정리하고 정규화하는 것은 활성화 함수의 작동 방식과 관련이 깊기 때문입니다.


1. 데이터 가공 장점

(1) 활성화 함수 작동 최적화

  • 활성화 함수는 입력 값의 분포에 따라 동작 특성이 달라집니다. 데이터 범위를 통일하면 활성화 함수가 의도한 대로 작동할 가능성이 높아집니다.
    • 예: ReLU는 00 이상의 값에서만 작동하므로, 양수 범위로 정규화된 데이터에서 더 효과적입니다.
    • 예: Tanh는 [−1,1][-1, 1] 범위에서 최적화되어, 대칭적으로 정규화된 데이터를 학습하기 적합합니다.

(2) 학습 안정성 향상

  • 데이터 범위가 통일되면, 네트워크의 각 레이어가 입력 데이터를 균일하게 처리하여 학습 과정에서 그래디언트 소실(Vanishing Gradient)이나 폭발(Exploding Gradient) 문제가 줄어듭니다.

(3) 활성화 함수 선택 단순화

  • 데이터 범위가 일관되면, 특정 활성화 함수와 초기화 방법(예: ReLU와 He 초기화) 조합을 기본적으로 사용할 수 있습니다.
  • 복잡한 데이터마다 활성화 함수를 따로 조정할 필요가 줄어듭니다.

2. 데이터 가공 방법

(1) 정규화 (Normalization)

  • 0 ~ 1 범위로 조정:
    • 방법: xnorm=x−xmin⁡xmax⁡−xmin⁡x_{\text{norm}} = \frac{x - x_{\min}}{x_{\max} - x_{\min}}
    • 활성화 함수: ReLU, Swish, GELU
    • 예시: 픽셀 값(이미지 데이터), 확률적 데이터.
  • -1 ~ 1 범위로 조정:
    • 방법: xnorm=2⋅x−xmin⁡xmax⁡−xmin⁡−1x_{\text{norm}} = 2 \cdot \frac{x - x_{\min}}{x_{\max} - x_{\min}} - 1
    • 활성화 함수: Tanh
    • 예시: 대칭적 분포 데이터(예: 주기적 데이터).

(2) 표준화 (Standardization)

  • Z-score 표준화:
    • 방법: xstd=x−μσx_{\text{std}} = \frac{x - \mu}{\sigma}
    • 활성화 함수: Swish, GELU, ReLU
    • 예시: 평균이 중요하거나 분포의 모양이 중요할 때.
    • 특징: 출력 값이 [−1.96,1.96][-1.96, 1.96] 근처에 주로 분포.

(3) 로그 변환

  • 방법: xlog=log⁡(x+c)x_{\text{log}} = \log(x + c) (단, x>−cx > -c)
  • 활성화 함수: Swish, GELU
  • 예시: 데이터가 양수이고 큰 차이를 가진 경우(예: 재무 데이터, 센서 데이터).

3. 활성화 함수와 데이터 정규화의 관계

데이터 범위 추천 활성화 함수 특징

0 10 ~ 1 ReLU, Swish, GELU 데이터가 양수로 정리된 경우 ReLU 기반 활성화 함수가 효과적.
−1 1-1 ~ 1 Tanh 대칭적 데이터에 적합하며, 음수 값 포함 데이터를 처리 가능.
−∞ ∞-\infty ~ \infty (표준화) Swish, GELU, ReLU 표준화된 데이터에서 부드러운 비선형성을 제공.
로그 변환 Swish, GELU 값의 차이가 큰 데이터를 효과적으로 처리.

4. 정리

  • 데이터 범위가 통일되면:
    • 활성화 함수의 선택이 단순화됩니다.
    • 네트워크의 학습 안정성과 성능이 향상됩니다.
  • 일반적으로:
    • 정규화된 데이터(0∼10 \sim 1)에는 ReLU와 Swish.
    • 대칭적 데이터(−1∼1-1 \sim 1)에는 Tanh.
    • 표준화된 데이터에는 Swish, GELU, ReLU.
  • 데이터 전처리 단계에서 범위를 통일하고, 활성화 함수의 조합을 실험적으로 확인하면 최적의 모델을 설계할 수 있습니다.