
gradient를 계산 시, Numerical gradient로 초기계산하고, 실제 연산은 Analytic gradient 방법을 사용해 최종 파라미터를 확인했다.
이런 연산과정을 정리하면 위 Computational 그래프라 한다. 벡터 x와 가중치 연산을 통해 score을 계산한 후 Loss Fuction을 통해 Loss 값을 최소화할 수 있도록 조정하는데, overfitting을 방지하기 위해 정규화를 사용한다.

● Front propagation
x, y, z값이 주어지고, 왼쪽에서 오른쪽 노드로 건너가며 연산이 진행될 시, 최종 f값이 -12로 계산되는데 이렇게 연산하는 방법.
● Back propagation
X가 output인 f에 미치는 영향, y가 f에 미치는 영향, z가 미치는 영향을 생각해보자.
각각 편미분으로 표현하면 df/dx, df/dy,df/dz로 표현 할 수 있다.
q = x+y 이고 f = qz 라 주어지고 덧셈연산과 곱셈연산에 대해 미분 시 미분 값은 1이고, 곱셈연산에서는 서로의 값을 가진다.
최종 값 f에 영향을 미치는 정도를 파악하기위해 gradient 계산을 활용하여 구할 시 값이 1이다.
z가 f에 영향을 미치는 정도를 보자. f = qz , 곱셈형태이다. 즉 값은 q 값, 3이다.
q가 f에 영향을 미치는 값을 보면 당연히 z 값인 -4가 된다. 하지만 q와 z는 y와 직접적으로 연결되어 있지만 x,y는 그렇지 않다. 이때 Chain rule를 사용한다.
x -> q -> f 순서이 므로 x가 q에 미치는 영향 * q가 f에 미치는 영향을 계산해주면 된다. x + y 의 미분은 1로 구했다. 이 값을 local gradient라고 부른다.
y와 x 가 q 에 미치는 영향은 값이 1이다. 그래서 1*q의 값(-4)를 하면 -4 가 된다.
여기서 x로 z를 미분한 값이나 y로 z를 미분한 값을 local gradient라고 하는데, 이는 들어오는 입력에 대한 출력의 기울기이다.
또한, local gradient와 backprop gradient (upstream gradient)를 곱한 값이 최종값 f를 해당 노드로 미분한 값이다.
l Neural Networks (NN)
layer들을 쌓으면서 max함수를 score 값이 0이면 다음 레이어로 전달되지 않도록 함.
l Fully- connected layer
레이어들의 모든 노드들이 다 연결되어 있음. Hidden layer도 존재.
'비전딥러닝 > cs231n' 카테고리의 다른 글
Lecture 6. Training Neural Networks, part I (0) | 2022.09.18 |
---|---|
Lecture 5. Convolutional Neural Networks (0) | 2022.09.18 |
Lecture 3. Loss Functions and Optimization (0) | 2022.09.16 |
Lecture 2. Image Classification (0) | 2022.09.16 |
Lecture1. Introduction to Convolutional Neural Networks for Visual Recognition (1) | 2022.09.16 |