오차 역전파 2

[머신러닝 - 이론] 오차 역전파, 오류 역전파 (Back Propagation)

인공지능을 공부하면서 가장 어려웠다고 생각하는 부분입니다. 이해하는 과정이 너무 어려웠고, 구글에 검색해도 죄다 중간 과정은 건너뛰고 결론만 써놓았더라고요.. 아무튼 이해하는데 쉽지 않았고, 이 글도 쓸까 말까 고민했습니다.. 너무 양도 많고 어려워서... 해당 글에서는 온갖 수식과 그림이 난무할 테니 집중해서 읽어주시면 아마 오차 역전파를 이해하는데 큰 도움이 되리라 생각합니다. 0. 시작하기에 앞서 오차 역전파를 설명하는 대표적인 두 가지 방법이 있습니다. 수식을 전개해서 설명하는 방법이 있고, 그림을 그려가며 역전파를 이해하는 방법이 있습니다. 상대적으로 그림을 그려가며 이해하는 방식이 쉽지만, 보다 정확한 이해를 위해서는 결국 수식을 통해 증명해야 합니다. 해당 글에서는 둘 다 섞어서 설명할 계획..

[머신러닝 - 이론] 수치 미분 (Numerical Differentiation)

오차 역전파를 정리하려고 했는데, 그전에 수치 미분을 알아야 할 것 같아서 먼저 정리합니다. 앞선 글에서 설명했던 경사 하강법을 이용하여 에러를 최소화하기 위해서는 현재 상태에서의 기울기를 알아야 합니다. 정확히는 현재의 가중치 및 편차가 오류에 얼만큼의 영향을 끼치는지 알아야 합니다. 만약 손실함수가 \(f(x) = x^2\)이라면 미분을 통하여 \(2x\)를 통해 좌표 (0, 0)이 최소가 됨을 알 수 있습니다. 하지만 현실의 손실 함수는 저렇게 간단하지 않고, 또한 간단히 \(x\)를 통해서 나타나지도 않습니다. 따라서 보다 효율적이게 기울기를 찾아야 하는데, 이때 사용되는 것이 수치 미분과 오차 역전파입니다. 1. 수치 미분이란? 다들 아시겠지만, 미분이란 어느 한 점에서의 기울기를 뜻합니다. 즉..