딥러닝 학습방법 이해하기

비선형모델 신경망

  • 신경망 모델은 기본적으로 비선형 모델이지만, 보통 선형 모델과 비선형 모델의 결합으로 이루어져 있다.

  • 소프트맥스(softmax) 연산

    • 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산임.

    • 분류 문제를 풀 때 선형모델과 소프트맥스 함수를 결합하여 예측한다.

    • def softmax(vec):
          denumerator = np.exp(vec = np.max(vec, axis=-1, keepdims=True))
          numerator = np.sum(denumerator, axis=-1, keepdims=True)
          val = denumerator / numerator
          return val
      
  • 신경망은 선형모델과 활성함수(activation function)을 합성한 함수이다.

  • Multi-layer Perceptron(MLP)은 신경망이 여러층 합성된 함수이다.

활성함수

  • 활성함수는 비선형함수이다.
  • 활성함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없다.
  • 시그모이드 함수나 tanh 함수는 전통적으로 많이 쓰이던 활성함수지만 딥러닝에선 ReLU 함수를 많이 쓰고 있다.

층을 여러 개 쌓는 이유

  • 이론적으로는 2층 신경망으로도 임의의 연속함수를 근사할 수 있다.
  • 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습이 가능하다.
    • 층이 얇으면 필요한 뉴런의 숫자가 기하급수적으로 늘어나서 넓은(wide) 신경망이 되어야 한다.

딥러닝 학습원리: 역전파 알고리즘

  • 딥러닝은 역전파(backpropagation) 알고리즘을 이용하여 각 층에 사용된 파라미터를 학습한다.
  • 역전파 알고리즘은 합성함수 미분법인 ‘연쇄법칙(chain-rule)’ 기반 자동미분(auto-differentiation)을 사용한다.
Author

Yohan Lee

Posted on

2021-08-05

Updated on

2021-08-22

Licensed under

댓글