분류 전체보기(327)
-
25. The Problem of Local Optima
사실 딥러닝 초반에 Local optimal point에 갇히게 되는 경우를 걱정하곤 했다. 하지만 20,000 차원의 input이 주어졌을 때, 왼쪽 그래프에서 optimal point란 모든 변수가 일정 구간에서 convex function 이여야하며 그때 기울기가 0인 지점인데 그럴 확률은 2**(-20000) ~= 0 이다. 따라서 optimal point보다는 saddle point(안장점)이라고 표현하곤 한다. - local optimal point가 발생할 확률은 0에 가까운데 그렇다면 뭐가 문제일까? The problem is plateaus!! - 미분이 오래동안 0에 가까운 영역을 의미. Wight 별 학습량을 다르게 하여 plateaus 구간을 빠르게 빠져나올 수 있도록 Momentu..
2023.09.11 -
24. Learning Rate Decay
epoch이 진행될수록 optimal point에 근접하게 되는데, learning rate를 낮추어 천천히 진행할수록 optimal point를 지나쳐 더 멀이지는걸 방지할 수 있다. learing rate = (1 / (1+decay rate * epoch_num)) * learning rate - epoch이 진행됨에 따라 learning rate의 계수는 1보다 점점 작아지게 되고 따라서 learnin rate 또한 점점 작아지게 된다. 정리 : Learning rate reducing이 필요한 이유 + 어떻게 하는지
2023.09.11 -
23. Adam Optimization Algorithm
Adam(Adaptive moment estimation) : Momentum + RMSprop - Momentum의 V(dW)와 같은 지수 평균 이동 기법 - RMSprop의 Gradient에 따른 변수 별 update 변화량 할당 두 가지 모두를 적용한 기법 Hyperparameter 1. learning rate : need to be turn 2. 베타1 (momentum) : 0.9 (dW) 3. 베타2 (RMSprop) : 0.999 (dW**2) 4. 엡실론 : 1e-8(성능에 영향을 거의 안미침. 그냥 사용해도 됨) 베타 1,2 또한 실무자들 사이에서 튜닝이 이루어지지 않음. 그냥 사용하도록
2023.09.11 -
22. RMSprop
Momentum 말고도 RMSprop이라고 하는 알고리즘도 있다. - 지금은 경사 하강법 대신 더 빠르고 성능이 좋은 알고리즘을 소개중! Weight update 시 Momentum보다 정규화하는 과정이 추가됨. 우리가 원하는 것. W(수평방향)으로는 update 많이, b(수직방향)으로는 update 적게되길 원함. - S(dW)에서 dW는 현재 값이 작을 것이다. 왜냐하면 지금으로도 충분하고, 기울기값이 작기 때문 - S(db)에서 db는 현재 값이 클 것이다. 왜냐하면 지금으로 부족하여 기울기값이 크기 때문 따라서 작은 값으로 나눌 경우 그 값 자체는 상대적으로 크게 되고, W는 update를 많이하게 된다. 정리 1. Batch Gradient Descent보다 mini-batch Gradient..
2023.09.11 -
21. Gradient Descent with Momentum
Momentum : Gradient Descent 방식보다 빠른 알고리즘 - 기본 아이디어 : 지수 가중 평균을 산출하는 것 Gradient Descent보다 발전한 Momentum이라는 알고리즘을 배우기 위해 기본 개념인 지수 가중 평균을 배워온 것!! at each mini-batch : weight update - 이때 W[l] -= learning_rate * dW[l] 에서 W[l] -= learning_rate * V(dW[l])로 수정함을 볼 수 있다. - 이는 현재 input의 영향력을 조절하는 것으로 최저점에 도달하기 위한 가로,세로 이동량을 다르게 할 수 있다. - 왜? V(dW)를 통해 이전 W영향력을 반영하여 더 많이 update할 수도, V(db)를 통해 이전 b영향력을 반영하여 ..
2023.09.11 -
20. Bias Correction in Exponentially Weighted Averages
실제로 베타에 따른 분포도를 그려본다면 초록색 그래프보다는 보라색 그래프를 얻을 수 있다. 왼쪽 수식 전개를 살펴봄과 같이 V(0) = 0 으로 초기화하기 때문에 초반부 input v(1)=베타(1)에 대한 영향력이 매우 작은채로 그래프 상에서 실제보다 낮게 표시된다. 따라서 오른쪽 수식전개와 같은 항을 추가함으로써 초반부에 대한 bias를 수정할 수 있다 - 이때 t가 커짐에 따라 분모는 1에 근사해지므로 days가 증가할수록 기존의 그래프와 동일해진다 - 따라서 초반부에 발생하는 bias만 해결할 수 있게된다. 여전히 weight moving average이 무엇인지, 어떻게 구현하는지도 알아보았지만 어디에 어떻게 왜 사용되는지는 명확하지 않은 것 같다. 다음 비디오에서 알아보자.
2023.09.11