티스토리 뷰

일단, 딥러닝에서 W를 업데이트 하기 위해서 경사하강법을 쓰는데, Loss가 작아지는 방향으로 가는 길을 구하기 위해서 쓰는 방법이 두개가 있다. 

 

1) numerical

2) analytic

 

numerical하게 구한다는 것은, 미분의 정의를 이용하는 것이다. 

 

컴퓨터가 고생좀 하겠지만...엄청 작은 h를 넣어서 계산해보는 방식이다. 

 

근데 이건 cost가 너무 크니까

실제로는 analytic 하게 구한다. 

 

analytic 하게 구하는 방법에는 두가지가 있다. 

 

1 - 직접 구하기 ( 수학적으로 미분!)

 

y = x^2이면, 우리는 y'은 2x인걸 아니까 이걸 그냥 써도 된다. 사실 이렇게 식이 쉽다면 직접 구하는게 짱이다. 근데 레이어가 쌓일 수록 식이 복잡해지니까 2번 방법을 도입한다. 

 

2 - Backpropagation

얘는 'computational graph'라는걸 통해서 계산한다. 

 

이걸 하기 위해서 chain rule을 알아야해서 간단하게 설명 해보려고 한다. 

 

이것이 바로 chain rule..간단하다. 

 

backpropagation에서 하는 일은, 저 미분값들을 노드 하나당 하나씩 구해서 곱해주고, 더해주고 하는 일이다. 

사실 잘게 쪼개서 놓기 때문에 add, max, mul밖에 없다. Action들이 간단해 지는 것이다!

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함