오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-03 06:06
관리 메뉴

우노

[DL] Gradient Checking 본문

AI/Deep Learning

[DL] Gradient Checking

운호(Noah) 2021. 1. 18. 21:33
  • Backpropagation은 구현이 매우 어렵기 때문에 버그가 발생해도 어디서부터 고쳐야 할지가 마땅치 않다.
  • 이 때, gradient checking을 사용한다.
  • gradient checking은 역전파 알고리즘이 얼마나 정확하게 구현되었는지 수동으로 검증하는 방법이다.

  • 즉, 기울기에 대한 근사치를 구해서 비교하여 검증하는 방법이다.

  • e(엡실론) 이 매우 작다 가정하고, θ-e 와 θ+e 두 점 사이의 기울기를 구한다.

  • 우리는 θ가 하나가 아니기 때문에, 각각의 θ(theta)에 대한 gradient 를 모두 구해야한다.

  • 이후, gradient checking 을 이용해 구한 gradApprox 와 실제 역전파를 이용해 구한 Dvec가 비슷한지 검사한다.

  • 2개의 벡터가 비슷한지는 어떻게 계산할까?

  • 2개의 벡터간 거리를 산출한다.

    • R_err ≤ 10^-7 : 매우 좋음
    • R_err ≤ 10^-4 : 약간 문제 있음
    • R_err > 10^-4 : 문제 있음
  • 그러나, 한가지 알아야할 사실이 있다.

  • gradient checking 은 굉장히 비싸기 때문에 Dvec와 비슷한 값을 구했는지 검사한 후에는 gradient checking 를 꺼야한다.

'AI > Deep Learning' 카테고리의 다른 글

[DL] Regularization (Dropout)  (0) 2021.01.19
[DL] 가중치 초기화  (1) 2021.01.19
[DL] Regularization (L1, L2)  (0) 2021.01.18
[DL] Bias(편향) vs Variance(분산)  (0) 2021.01.17
[DL] 일반적인 딥러닝 순서  (0) 2021.01.13
Comments