딥러닝 학습방법 개요

cherry·2024년 6월 19일

Naver AI Precourse

목록 보기
3/21

아래 내용은 네이버 AI precourse 강의를 개인 공부를 위해 정리한 내용입니다.



지난시간까지 선형모델에 대해 학습했다면,
이번시간부터는 비선형모델인 신경망(neural network)에 대해 다룸!

선형모델을 거치면 입력 데이터의 차원 d에서 출력벡터 차원 p로 바뀜

화살표는 각각의 가중치벡터를 의미함 (화살표 개수: p x d)




Softmax 함수

여기에서, Regression이 아닌 Classification 문제에서는 선형결합 뿐만 아니라 Softmax 연산자가 추가적으로 필요

  • Softmax 함수란?
    • Softmax 함수는 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산임.
    • softmax(o) = softmax(Wx + b) <- 선형모델과 softmax의 결합으로 활용.
    • classification 문제에서 모델을 학습할 때에는 softmax 함수를 사용하지만,
      추론할 때에는 원-핫 벡터(one-hot vector)를 사용함.
    • one-hot vector는 주어진 출력에서 가장 큰 값을 가진 주소만 1로 출력하는 연산임.





활성화 함수(Activation Function)

softmax와 나머지 Activation Function의 차이점

  • softmax: 모든 출력 값의 상대적인 크기를 고려한 값을 출력
    • 모든 노드의 출력을 합한 값 = 1
  • Activation Function: 다른 출력값은 고려하지 않고, 각각의 출력값만 가지고 계산





활성화 함수란?

  • 활성화 함수란, 비선형(non linear) 함수로, 딥러닝에서 매우 중요
    • 활성함수를 사용하지 않으면 딥러닝은 선형모형과 차이가 없기 때문!
  • 예시: sigmoid 함수, tanh 함수, ReLU(오늘날 가장 많이 활용)





신경망 이해하기

순전파 (Forward Propagation)

  • 선형 모델 -> 활성함수 -> 선형모델 형태
  • 활성화 함수 σ를 씌울 때, σ는 각 vector에 개별적으로 적용됨
    • 즉, H\textrm{H}Z\textrm{Z}와 모양은 같고, H\textrm{H}의 모든 구성성분은 Z\textrm{Z}에 활성화 함수를 씌운 것이라는 차이만 존재
  • 이러한 순전파는 학습이 아니라, 주어진 입력이 왔을 때 출력물을 내뱉는 과정의 연산임


층을 여러개 쌓는 이유

  • 층이 깊을수록 목적함수를 근사하는 데에 필요한 뉴런의 숫자가 빨리 줄어듦
  • 단, 층이 깊어질수록 최적화/학습이 어려워질 수 있음. 적절한 조절이 중요
    => CNN의 Residual block에서 더 공부하자!





역전파 (Backpropagation)

개념 및 순전파와의 차이

1. 순전파(Forward Propagation): 입력 데이터를 네트워크를 통해 전달하여 출력 값을 계산한다.
2. 오차 계산(Error Calculation): 예측 값과 실제 값 간의 차이를 계산하여 손실 함수 값을 구한다.
3. 역전파(Backward Propagation): 오차를 통해 각 가중치와 편향에 대한 기울기(Gradient)를 계산하고, 이를 사용하여 가중치와 편향을 업데이트한다.

  • 경사하강법에서 각 가중치 행렬을 학습시킬 때 각 가중치에 대한 gradient vector를 계산해야 했다.
    • 즉, 행렬의 모든 원소의 개수만큼 경사하강법이 적용되었다.
  • 그런데, 여기에 더해, 딥러닝은 층이 여러개이다. 따라서 역전 방향으로 순차적으로 계산이 필요하다. 그래서 우리는 역전파라는 개념을 배우게 된 것이다.


역전파의 두 단계

역전파 알고리즘은 합성함수 미분법인연쇄법칙(chain-rule) 기반 자동미분(auto-differentiation) 사용




추가 설명
이렇게 계산한 각각의 가중치 행렬에 대한 gradient vector를 SGD를 이용해 data를 mini-batch로 나누어 번갈아가며 데이터 학습.
최종적으로, 이를 통해 주어진 목적식을 최소화하는 파라미터를 찾음!

profile
Physics Informed Machine Learning 천재만재

0개의 댓글