작성
·
467
0
안녕하세요~! 좋은 강의 정말 감사드립니다...!!
강의와 강의 질문중 대답해주신걸 바탕으로 이리저리 고민해봣는데
backpropagation은 뒤에서부터 weight를 순차적으로 업데이트(gradient descent 알고리즘을 이용해서) 한다고 설명 되어 있는데...
현재까지 강의에서는 체인룰에 좀 집중이 되어있는것 같고 최종 미분하는 것이 입력층에서 제일 가까운 weight로 보여집니다
그럼 한가지 궁금한것이
체인룰을 실제로 사용할때 출력층과 제일 가까운 weight를 gradient descent를 이용해서 업데이트(앞쪽 강의의 단일퍼셉트론에서 한것과 같이) 한 다음 그업데이트 된 값에 대해서 다시 체인룰을 적용하는 것인가요!?
다시한번 좋은강의 감사드립니다 성생님!^^
답변 1
0
안녕하십니까,
잘 듣고 계시다니 저도 기분이 좋군요 ^^
체인룰과 Back propagation은 밀접한 관계가 있습니다. back propagation을 위해 딥러닝 식을 체인룰로 표시합니다. 체인룰로 딥러닝 식을 표시하면 출력쪽에 가장 가까운 쪽 부터 차례로 미분을 적용하면 최종적으로 입력쪽에 가장 가까운 식이 미분이 됩니다.
딥러닝 식은 매우 많은 인자로 구성되기 때문에 일반적인 식 구성이 복잡한데 여기에 미분을 적용하기는 매우 어렵습니다. 때문에 체인룰로 딥러닝 식을 구성하는 이유는 back propagation 방식으로 미분을 쉽게 적용하기 위함입니다.
체인룰 식 자체는 입력쪽 함수의 인자로 입력쪽에 가장 가까운 식부터 재귀적으로 내포하면서 만들어집니다. 하지만 체인룰로 만들어진 식을 미분할 때는 출력쪽에 가장 가까운 쪽 부터 미분을 순차적으로 수행하면 최종적으로 입력쪽에 가장 가까운 쪽을 미분하게 됩니다.
제 생각에 거의 다 이해하신것 같은데, 살짝 헷갈리신 부분도 있는것 같습니다 ^^
한번 미분의 연쇄법칙 부터 다시 한번 강의를 복기하시면 더 좋지 않을 것 같습니다.
감사합니다.