5, 오차역전파법

ganta·2021년 2월 12일
0

딥러닝 기초이론

목록 보기
5/5
post-thumbnail

오차역전파법의 표현


  • 오차역전파법을 표현하기 위한 방법
    1, 수식을 이용한 방법
    2, 계산 그래프를 이용한 방법

  • 계산 그래프란?
    계산 과정을 그래프로 나타낸 것이고 노드와 뎃지로 표현

  • 계산 그래프의 장점
    1, 국소적 게산이 가능
    2, 중간 계산 결과 모두 보관이 가능

연쇄법칙


  • 연쇄법칙이란?
    연쇄법칙이란 합성함수 개념을 이용하여 미분값을 도출해 내는 법칙을 말한다.

    이 법칙을 이용하여 국소적인 계산들을 통하여 미분 값을 계산하게 되고 이로 인하여 역전파를 구하게 된다.

간단한 연산들에 대한 역전파


  • 덧셈에 대한 역전파

식에 대한 미분계산 값은 다음과 같다.


이 계산값을 이용하여 역전파에 대한 계산 그래프를 그려보게 되면 다음과 같다.

  • 곱셈에 대한 역전파

식에 대한 미분계산 값은 다음과 같다

이 계산값을 이용하여 역전파에 대한 계산 그래프를 그려보게 되면 다음과 같다.

활성화 함수 계층에 대한 역전파


  • ReLU
    ReLU함수



    여기에서 ReLU함수의 장점을 알 수 있다.
    첫번째로는 비선형 함수로써 보다 다양한 로직을 구현 할 수 있고 두번째로는 역전파가 층 깊이 수행이 될 때 sigmoid함수는 chain rule을 게속 적용하게 되면 뒤에 있는 값은 아주 작은 미분값으로 되어 학습이 잘 이뤄지지 않지만 ReLU함수는 양수 부분에서 기울기 그대로 전파가 되어 뒤로 갈수록 값이 작아지는 현상을 방지 할 수 있다.

  • sigmoid


    또한, x부분에서 역전파가 전달되는 식은 다음과 같이 유도가 가능하다.

    여기에서 중요한 성질 두가지를 볼 수 있다.
    첫번째로는 sigmoid계층의 역전파는 순전파의 출력(y)만으로 게산이 가능하고 두번째로는 sigmoid성질에 의해 y는 0과1의 사이의 값만 가질 수 있고 뒤로 갈수록 chain rule에 의해 작은 값이 전파된다는 특징을 알 수 있다.

Affine계층의 역전파


Affine 계층

  • Y = XW + B라는 Affine 변환의 계산 그래프를 그려보게 되면 다음과 같다.

이때, X와 W에서의 역전파의 식을 써보게 되면 다음과 같다.

행렬에서 역전파를 수행 할 때에는 항상 형상에 맞춰 식을 세우는 것에 유의를 해야 한다.

배치용 Affine 계층

  • 마찬가지로 Y = XW + B라는 Affine 변환의 계산 그래프를 그려보게 되면 다음과 같다.(N개의 데이터에 대하여 수행)

softmax with loss

  • softmax와 loss 함수에서 일어나는 역전파는 다소 복잡한데 이를 조금 간소화하여 계산 그래프를 그려보게 되면 다음과 같다.

    주목해야 할 점은 softmax의 출력과 정답 레이블의 차분이 역전파로써 전달이 된다.(신경망의 현재 출력과 정답 레이블의 오차를 있는 그대로 드러냄) => 정답 레이블에 있어서는 1에 가깝도록 학습이 되어지고 정답이 아닌 레이블에 있어서는 0에 가깝도록 학습이 되어 진다.
    'softmax함수'의 손실 함수로 '교차 엔트로피 오차'를 사용하여 위와 같은 결과가 도출 되었는데 사실 교차 엔트로피 오차 함수가 위와 같은 결과가 나오도록 설계가 된 것이고 '항등함수'의 손실 함수로 '오차제곱합'd을 이용하는 이유도 위와 같은 이유이다.

Reference

사이토 고키(齋藤 康毅), 『Deep Learning from Scratch』, 개앞맵시, 한빛미디어(2017), p147-p187

profile
한걸음씩 꾸준히

0개의 댓글