[boostcamp-ai-tech][AI-Math] 5. 딥러닝 학습방법 이해하기

whatSup CheatSheet·2022년 1월 18일
0

AI-Math

목록 보기
4/9
post-thumbnail
post-custom-banner

딥러닝 학습방법 이해하기

  • 목차
    • 신경망을 수식으로 분해해보자
    • 활성함수란
    • 다층 퍼셉트론(MLP)
    • 역전파 알고리즘

신경망을 수식으로 분해해보자

각 행벡터 OiO_i는 데이터 XiX_i와 가중치 행렬 W(연산자) 사이의 행렬곱과 절편 b 벡터의 합으로 표현됨(차원이 바뀜에 주목!)

  • Softmax

    • softmax : 모델의 출력을 확률로 해석할 수 있게 변환해주는 함수

    • 출력벡터 OO에 softmax함수를 합성하면 확률벡터가 되므로 특정 클래스 k에 속할 확률(분류)로 해석할 수 있다

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

      • 그러나 추론을 할 땐 원-핫 벡터로 최대값을 가진 주소만 1로 출력하는 연산을 사용하므로 softmax를 사용하지 않음.

      softmax(O) = softmax(Wx + b)

  • 이와 같이, 선형모델에 softmax와 같은 비선형 함수를 섞어줌으로써, 선형 함수로 나오는 출력물을 비선형모델로 바꿔주게 된다.

  • 활성함수 σ\sigma는 비선형함수로 잠재벡터 z=(z1,...,zq)z=(z_1, ..., z_q)의 각 노드에 개별적으로 적용하여 새로운 잠재벡터 H = (σ(z1),...,σ(zn)\sigma(z_1), ..., \sigma(z_n)을 만든다.

    잠재벡터를 '뉴런'이라고 하고, 이런 Network를 '신경망'이라고 부름.

활성함수란?

  • 활성함수(activation function)은 RR위에 정의된 비선형(nonlinear) 함수로서 딥러닝에서 매우 중요한 개념임.
  • 활성함수를 쓰지 않으면 딥러닝은 선형모델과 차이가 없음.
  • sigmoid 함수나 tanh 함수는 전통적으로 많이 쓰였던 활성함수지만, 딥러닝에선 ReLU 함수를 많이 쓰고 있음.
  • 즉, 신경망은 선형모델과 활성함수를 합성한 함수이다.

다층 퍼센트론(MLP)

  • 다층(Multi-layer) 퍼셉트론(MLP)는 신경망이 여러층 합성된 함수이다.
    • 이론적으로는 2층 신경망으로도 임의의 연속함수를 근사할 수 있지만, 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습이 가능함.(층이 얇으면 필요한 뉴런의 숫자가 기하급수적으로 늘어나기 때문에 넓은 신경망이 되어야 함)

l=1,...,Ll = 1,...,L까지 순차적인 신경망 계산을 순전파(forward propagation)이라 부른다.

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

  • 딥러닝은 역전파(backpropagation) 알고리즘을 이용하여 각 층에 사용된 파라미터를 학습함.

  • 역전파: 각 층 패러미터의 그레디언트 벡터는 윗층부터 역순으로, 연쇄법칙(chain-rule)을 통해 계산하게 됨.

  • 2층 신경망에서의 역전파

profile
AI Engineer : Lv 0
post-custom-banner

0개의 댓글