해결된 질문
작성
·
156
1
안녕하세요. 5장의 경사 하강법 파트를 진행하고 있는 수강생 입니다.
다름이 아니오라 경사 하강법과 역전파의 명확한 차이점을 알고 싶어서 질문드립니다.
제가 직관적으로 이해하기에 경사 하강법과 역전파의 큰 틀은 동일하다고 생각됩니다.
경사 하강법의 경우, 머신러닝 선형 회귀 경우에 RSS 편미분 값을 가지고 반복적인 계산을 통해 회귀 계수 w 파라미터 값을 업데이트하면서 cost 값이 최소가 되는 w 파라미터를 구하는 방식입니다.
역전파의 경우도 딥러닝 신경망에서 loss의 편미분 값을 역전파하면서 weight & bias 값을 지속적으로 업데이트하고 loss 값이 최소가 되는 weight & bias 파라미터 값을 찾는 걸로 알고있습니다.
결국, 오차 편미분 값을 사용하여 파라미터 값을 지속적으로 업데이트하면서 오차값이 최소가 되는 파라미터를 찾는 목적은 동일합니다. 그러면 두 방식의 큰 차이점은 적용 대상이 다르다는 점 일까요 ? 경사 하강법은 주로 머신 러닝의 알고리즘에 반면 역전파는 딥러닝의 신경망 한정해서
강의 내용과 크게 연관성이 없어보이지만 문득 든 생각에 궁금증을 해소할 길이 없어 이렇게 질문 남깁니다.
감사합니다.
답변 1
1
안녕하십니까,
네 맞습니다. 오차 역전파는 경사 하강법을 적용하는 딥러닝의 독특한 방식입니다.
경사 하강법은 Loss 함수에 대해서 개별 가중치(weight)값을 편미분해서 구해지는 Gradient를 기존의 가중치에 update하는 방식입니다.
그런데 딥러닝은 Loss식, 예를 들어 RSS(또는 MSE)를 개별 가중치 기반으로 편미분하기가 매우 어렵습니다. 이게 딥러닝의 Hidden layer층이 많을 수록 loss식이 함수의 함수의 함수의 함수로 계속 내포되는 함수식으로 만들어지게 되고, 또한 개별 가중치가 서로 다른 Hidden layer에 있으므로 이들을 loss 함수식 기반에서 편미분 하기 매우 어려운 복잡한 식이 만들어 집니다.
그래서 역전파 방식을 생각해 낸것입니다. 역전파는 미분의 연쇄 법칙에 기반합니다. 서로 다른 함수의 결합 함수(내포함수)로 되어 있는 함수의 미분은 개별 내포 함수의 미분 값을 서로 곱한것으로 되기 때문에 딥러닝에서 이를 이용한 것입니다.
따라서 오차 역전파는 딥러닝에서 적용되는 특수한 경사 하강법이라고 생각하시면 될 것 같습니다.
감사합니다.
안녕하세요.
등록된지 2년이 넘은 강의임에도 불구하고 빠르고 명쾌한 답변 감사드립니다.
공부하면 할 수록 부족함을 느끼고 벽에 부딪히는 것 같아 불안감을 느끼고 있었는데 명쾌하신 답변으로 힘을 얻고 갑니다.
감사합니다.