Загружаем каталог…
Загружаем каталог…
Recap 3강에서는 데이터셋과 score를 매기는 방식, loss fuction을 구하는 방식까지 배웠습니다. train하는 과정에서 optimize과 GD로 최적화를 하는 방식도 배웠습니다. Gradient descent에는 numerical과 analytic이 있는데 numerical의 경우에는 느리고 대략적으로 계산하지만, 쉽게 이해할 수 있는 장점이 있고 analytic의 경우에는 빠르고 실제 식에 기반해서 하기 때문에 정확하다?(컴퓨터 내부에서 계산하기 때문에 numerical과 정확도가 크게 다르진 않을 것 같습니다..) 에러가 발생하기 쉽다는 단점이 있습니다. 대부분의 경우에서는 analytic을 하기 때문에 잘 돌아가는 지 gradient check(numerical로 체크)로 확인하는 습관을 들이는 것이 좋다고 했습니다. Learning rate scheduling 학습 과정에서 learning rate를 어떻게 조절한 것인가(줄이는 방식으로 하자). 줄이는 방식에 다양한 방식이 있다고 했습니다. Neural Networks 기존의 linear function($f = Wx$)는 linear한 상황에서만 분류를 할 수 있기 때문에 non-linear한 상황에서도 분류하기 위해 Neural Networks라는 것이 나왔습니다. 비선형 함수를 만들기 위해서는 활성화 함수가 중간에 필수로 들어가게 되는데, 이 때문에 layer라는 개념이 생겼습니다. $f = W_2\max (0, W_1x)$처럼 2-layer NN이 나옵니다. 여기서 $\max (0,z)$는 activation function으로 ReLU라고도 불립니다. 이렇게 activation function(non-linear function)을 사용해서 NN을 설계하면, Loss 계산에 backpropagation을 사용하게 되고 그럼 local gradient로 non-linear function들을 구해야합니다. 전체 loss 식을 한 번에 gradient를 구하는 것은 너무 비효율적이고 앞에서 배울 것처럼 Computational graphs를 구하고 backpropagation으로 간단하게 하는 것을 추천합니다. Backpropagation 간단한 예제입니다. 원소간의 계산을 분해해 graph로 만들고, 결합되는 부분에서의 local gradient를 계산합니다. 이후 chain rule로 upstream gradient(앞 단에서의 local gradient)와 현재 local gradient를 계산해 구합니다. gradient를 계산하다 보면 패턴이 보입니다. Backpropagation Patterns max gate의 경우, $f=\max (x,y)$에서 $x>y$일 때에는 $x$, $x<y$일 때에는 $y$가 됩니다. 이때 local gradient를 구하게 되면 $x>y$ 일 때 $\frac{\partial f}{\partial x} = 1$, $\frac{\partial f}{\partial y} = 0$가 됩니다. $x < y$의 경우에는 반대가 되고요. 이렇게 되면 local gradient는 1,0만 남기 때문에 upstream gradient의 값을 max에서 큰 값으로만 backprop하게 됩니다. Backprop with vector-valued functions. Backprop with Scalar의 경우에는 편미분을 진행해 Upstream gradient$\times$Local gradient를 진행하면 됐습니다. 하지만 Vector의 경우에는 차원을 고려해야 합니다.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
[CS231n] 4. Neural Networks and Backpropagation. Recap 3강에서는 데이터셋과 score를 매기는 방식, loss fuction을 구하는 방식까지 배웠습니다. train하는 과정에서 optimize과 GD로 최적화를 하는 방식도 배웠습니다. Gradient descent에는 numerical과 analytic이 있는데 numerical의 경우에는 느리고 대략적으로 계산하지만, 쉽게 이해할 수 있는 장점이 있고 analytic의 경우에는 빠르고 실제 식에 기반해서 하기 때문에 정확하다?(컴퓨터 내부에서 계산하기 때문에 numerical과 정확도가 크게 다르진 않을 것 같습니다..) 에러가 발생하기 쉽다는 단점이 있습니다. 대부분의 경우에서는 analytic을 하기…