Improving Deep Neural Networks/2주차

1. Optimization Algorithms (Quiz) minibatch, layer, example에 대한 notation 각각 { }, [ ], ( ) 기호를 사용한다. vectorization Batch gradient descent는 한꺼번에 모든 데이터를 묶어 학습하겠다는 것이다. 따라서 memory의 문제만 없다면 vectorization을 가장 많이 수행하는 학습법일 것이다. 그러나 batch gradient descent는 progress를 진행하기 전에 전체 training set을 처리해야 한다는 문제점이 있다. 한편 stochastic gradient descent는 여러 example을 vectorization 할 수 없다는 단점이 있다. iteration - cost(J) g..
1. Learning Rate Decay Learning Rate Decay 일반적인 mini-batch를 이용하면 파란색과 같은 그래프가 그려진다. 즉, 어느 정도의 noise를 포함한 형태이면서 절대 global minimum에 convergence(수렴)하지 못하고 주변을 배회(wandering)하게 된다. 이를 해결하기 위해 제시된 것이 Learning Rate Decay로 학습이 진행됨에 따라 learning rate을 감소시키는 것을 말한다. 그러면 위 그림에서 초록색과 같은 그래프가 그려진다. 즉, 초반에는 큰 폭으로 학습이 진행되고 이후에는 그 폭을 줄이면서 global minimum에 convergence(수렴)하게 된다. Leraning rate decay epoch는 주어진 데이터를 ..
1. Gradient Descent with Momentum Gradient descent example 빨간 점을 global minimum이라고 본다면 일반적인 Gradient Descent를 수행했을 때는 파란색 그래프와 같은 양상이 나타날 것이다. 우리는 위 아래로 흔들리는 폭을 줄이면서도 보다 큰 보폭으로 global minimum에 접근할 수 있도록 하는 방법을 떠올려볼 수 있다. 대표적인 방식 중 하나가 Momentum이다. 이는 gradient descent를 수행하는 매 step이 독립적인 것이 아니라 현재 step에 이전 step이 영향을 주는 것으로 받아들이는 방식이라고 볼 수 있다. 즉, exponentially weighted averages를 구하는 방식처럼 현재항과 이전항에 가..
1. Exponentially Weighted Averages (지수 가중 평균) Temperature in London 영국의 1년 날씨를 날짜에 따라 표시한 그래프다. 전날과 오늘의 관계를 수식적으로 표현하여 그래프가 그려지는 양상을 예측하고자 한다. Exponentially weighted averages V_t 로 표현된 수식이 Exponentially wieghted averages에 대한 수식이다. 이는 과거의 비중(가중치)을 베타로 표현하고 오늘의 비중을 세타로 표현하고 있다. 따라서 베타가 아주 큰 경우에는 과거의 기록을 더 많이 반영하게 되므로 그래프가 완만한 초록색 선으로 표현된다. 대신 말 그대로 과거의 기록을 더 많이 반영하기 때문에 실제 데이터보다는 약간 우측에 치우치게 된다. 반..
1. Mini-batch Gradient Descent Match vs. mini-batch gradient descent 많은 양의 데이터를 처리해야 하는 딥러닝은 연산 시간을 줄이는 여러 기법들이 필요하다. 그 중 하나가 여러 데이터를 일부씩 묶어 계산하는 방식인 mini-batch gradient descent이다. 만약 처리해야 하는 데이터의 개수가 5,000,000개라면 어떻게 될까? 이 많은 양의 데이터를 한꺼번에 forward하고 backward 하는 것은 엄청난 computing power를 필요로 할 것이고, 이것이 뒷받침된다고 하더라도 썩 좋은 시간적 효율을 보이진 못할 것이다. 따라서 우리는 이를 일정 개수(위 예에서는 1,000개)씩 묵어서 연산을 시도하기로 한다. 이때 묶인 각 b..
chanmuzi
'Improving Deep Neural Networks/2주차' 카테고리의 글 목록