전체 글(327)
-
19. Understanding Exponentially Weighted Averages
V100에 대해 수식을 전개해보자. 1/e(자연 e) 가 될때까지 a(베타)를 몇번 곱해야되나 따져보면 a값에 따라 지수가 달라진다. - 1/e와 비슷한 수준이 될때까지의 평균을 의미하며, a=0.9일때는 number of averages = 10, a=0.98일때는 50이다. - 이는 a=0.9일 때, number of average가 10개 이상여야 평균값의 변화가 감소한다(=smooth 효과가 발생한다)는걸 의미한다. 구현과정 : V(a) = 0초기화 후 update(덮어쓰기) - 메모리 측면에서 굉장히 장점이지만 정확성에 있어서 좋은 방법은 아니다.
2023.09.11 -
18. Exponentially Weighted Averages
V(t) = a * V(t-1) + (1-a) * v(t) - V(t) : current output - V(t-1) : prev output - v(t) : current input 즉 현재 output을 결정할 때 prev의 영향력 a, current input의 영향력 1-a. - 이를 결국 가중치 이동 평균 (weight moving averages)라고 부르는데 a가 커질수록 V(t-1)의 영향력이 커지므로 그래프가 smooth해지는 경향이 있다. 근데 이걸 왜하나? 다음 동영상에서 알아보자.
2023.09.11 -
17. Understanding Mini-batch Gradient Descent
Batch Gradient Descent : m examples(total) Stochastic Gradient Descent : 1 exmaples(one) - Stochastic Gradient Descent : pick 1 examples randomly.(=확률적 경사 하강법) Mini-batch Gradient Descent : (1,m) 그 사이 어딘가 적절한 크기의 examples. - faster than Stocahstic - low iteration than Batch Tip: 1. small training set : use Batch Gradient Descent - less than 2,000 examples 2. typical : mini-batch size : 64, 128, ..
2023.09.11 -
16. Mini-batch Gradient Descent
m개의 훈련 예제를 벡터화를 통해 for문 없이 한번에 수행할 수 있게 되었다. = 더 빠른 학습이 가능하다. - but, 모든 훈련 예제에 대해 기울기(gradient)를 계산하기 전에 일부 데이터에 대해서 gradient descent를 수행하는 것이 더 빠른 학습이 가능함이 밝혀졌다. Notation x(i) : 소괄호는 i 번째 훈련 예제. a[l] : 대괄호는 l 번째 layer. x{t} : 중괄호는 t번째 batch set. - x(i).shape : (nx,m) - x{t}.shape : (nx,batch_size ) Mini-batch Gradient Descent != Batch Gradient Descent - 하지만 미니 배치를 주로 사용한다. 무엇이 다른지는 다음 동영상에서 알아보자.
2023.09.11 -
15. Gradient Checking Implementation Notes
Gradient Checking은 계산비용이 크므로 훈련시에 사용하지말고 디버깅시에만 사용할것. if gradient fail, look at components to try to identify bug. - dW[l] 와 dW(approximate)[l]의 차이가 클 것이다. 이때 l을 찾는 것이 목적. - 따라서 문제인 layer를 찾으러 가야하고 거기서 버그를 해결해야 한다. 기울기 검사를 할 때 정규화를 수행하는지 여부를 항상 확인할 것! - 이 중 dropout은 수행하지 말것 - L2의 정규 Cost function에 들어가는 정규화 항을 반영해야 한다. **중요 : Dropout -> Keep_prob=1 로 설정하고 Gradient Checking. 이후 올바르게 알고리즘이 동작되는 것이 ..
2023.09.10 -
13. Gradient Checking
기울기 검사. 이전 강의에서 two-sided difference가 어떻게 사용되는지 중점적으로 관찰해보자. 현재 gradient가 정확하다면 엡실론 크기만큼 변화를 주었을 때 생성되는 approximate gradient와 기존의 gradient의 차이 또한 엡실론과 비슷해야한다. 크게 차이난다면 현재 gradient 계산. 즉 미분이 잘못 진행되고 있는 것이다. - 아직은 잘 모르겠지만 이후 버그를 찾는데 도움이 되지 않을까
2023.09.10