5. Deep learning 학습방법 이해

유승우·2022년 5월 2일
0

기본적인 신경망 모델


  • 입력 데이터 X와 이 행렬을 다른 공간으로 보내주는 W의 곱을 통해 선형 모델을 표현할 수 있고, y절편에 해당하는 행렬인 b가 더해져 있는 선형 모델이 기본적인 신경망 모델이다.

  • X : 데이터 행렬
  • W : X의 포인트를 출력으로 바꾸어 주는 가중치 W 행렬
    • 오른쪽 그림의 화살표에 해당하는 행렬
  • b : y절편에 해당하는 벡터들을 모든 행에 대해 복제한 행렬
    • 각 행들의 값이 같으며, 열 끼리는 다를 수 있다.
  • 입력의 차원이 (n x d) 이었지만 출력이 (n x p)인 것을 볼 수 있다.

softmax


  • 모델의 출력을 확률로 해석할 수 있게 변환해 주는 연산
  • 주로 분류 문제를 풀 때 선형모델과 소프트맥스 함수를 결합하여 예측
  • 학습에서는 softmax를 사용하지만, 추론을 할 떄는 원-핫 벡터(One-Hot vector)로 최대값을 가진 주소만 1로 출력하는 연산을 사용한다.

활성함수(activation functioin


  • 활성함수(activation function)
    • 신경망은 선형모델과 활성함수(activation fucntion)를 합성한 함수이다.

    • 활성함수는 비선형 함수로서 딥러닝에서 매우 중요한 개념으로, 활성함수를 사용하지 않으면 딥러닝은 선형모형과 차이가 없다.

    • 시그모이드 함수나 tanh 함수는 전통적으로 많이 쓰이던 활성화 함수지만 딥러닝에선 ReLU 함수를 많이 쓰고 있다.

퍼셉트론(perceptron)


  • 인공신경망의 한 종류로, 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 것
  • 다층 퍼셉트론(MLP) : 신경망이 여러층 합성된 함수

  • 이론적으로는 2층 신경망으로도 임의의 연속함수를 근사할 수 있지만, 층이 깊어질수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습이 가능하다.

역전파 알고리즘(Backpropagation)


  • 각 층에 존재하는 모든 parameter들의 미분값을 계산해서 업데이트를 해나가야 하는데, 선형모형에서는 층이 1개이기 때문에 한번에 계산할 수 있지만, 여러 층으로 구성된 딥러닝에서는 한번에 계산할 수 없기 때문에 역전파 알고리즘을 사용한다.

  • 역전파 알고리즘은 위층 부터 아래층 역순으로 gradient를 계산하여 gradient vector를 전달한다.

  • 역전파 알고리즘은 합성함수의 미분법인 연쇄법칙 기반 자동미분을 사용한다.

    • 연쇄 법칙

  • 각각의 tensor 값은 메모리에 저장해야만 역전파 알고리즘이 작동을 하기 때문에, forward propagation보다는 backward propagation 이 메모리를 더 사용한다

예제 : 2층 신경망


  • 손실함수를 출력 O에 대해서 미분을 하고, 그 출력 O를 다시 H로 미분을하고, 다시 H를 다시 Z를 미분을 하고 그 다음 W에 대해 미분을 하는 총 4번의 연쇄 법칙이 적용된다

0개의 댓글