비전딥러닝/cs231n

Lecture 4. Introduction to Neural Networks

아무 말하는 감자 2022. 9. 16. 16:58

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 가 된다.

여기서 xz를 미분한 값이나 yz를 미분한 값을 local gradient라고 하는데, 이는 들어오는 입력에 대한 출력의 기울기이다.

 

또한, local gradientbackprop gradient (upstream gradient)를 곱한 값이 최종값 f를 해당 노드로 미분한 값이다.

 

l  Neural Networks (NN)

layer들을 쌓으면서 max함수를 score 값이 0이면 다음 레이어로 전달되지 않도록 함.

l  Fully- connected layer

레이어들의 모든 노드들이 다 연결되어 있음. Hidden layer도 존재.