우노
[DL] 지수 가중 평균 (Exponentially Weighted Averages) 본문
지수 가중 평균 (Exponentially Weighted Averages)
- 데이터의 이동 평균을 구할 때
- 오래된 데이터가 미치는 영향을 지수적으로 감쇠(exponential decay) 하도록 만들어 주는 방법이다.
- 손실함수의 최저점을 찾기 위한 최적화 알고리즘을 이해하기 위해서 필요한 사전 지식 중의 하나이다.
지수 가중 평균의 예
- 런던 기온의 일별 데이터가 위 그림의 파란점으로 분포되어 있다.
- 시간의 흐름에 따라 이 데이터가 어떻게 움직이는지를 경향선을 보고싶다고 가정하자.
- 만약, 단순히 전후 며칠간의 평균으로만 계산한다면, 오래된 데이터의 영향과 최신 데이터의 영향이 비슷해져버리므로 우리가 원하는 추세를 나타낼 수 없을 것이다.
- 이를 보완하기 위해, 오래된 데이터와 최신 데이터에 Weight를 부여하는 방식이 도입되었는데,
- 시간이 흐름에 따라 오래된 데이터의 영향이 지수적으로 감쇠하도록 설계한 것이 지수 가중 평균 방식이다.
산식
지수 가중 평균의 산식은 위 그림과 같다.
β 는 0~1 사이의 값을 갖는 하이퍼파라미터이다.
V_t 는 현재의 경향을 나타내는 값이다.
Θ 는 새로 들어온 데이터이다.
즉, 왼쪽의 β * V_t-1 은 "과거의 경향성"이고, 이후의 (1-β) * Θ 는 "새로운 경향성"이라고 이해할 수 있다.
아래 V_t-1 식을 위의 V_t 식에 대입하면 다음과 같이 정리할 수 있다.
이 때, V_t 공식의 앞 부분을 보면, V_t-2의 계수가 β 의 제곱인 것을 알 수 있다.
이는 즉, β에 들어간 0~1 사이의 값이 제곱이 되었으므로 더 작아진다는 의미이고,
오래된 데이터일수록 현재의 경향을 표현하는 데 더 적은 영향을 미치게 된다라는 뜻이다.
이렇듯 날이 거듭할수록 β 의 n제곱만큼 지수적으로 값이 빠르게 감소하기 때문에 이를 "지수적 감쇠"라고 부른다.
활용
- V값은 근사적으로 (1 / 1 - β)일 간의 데이터만을 사용해 평균을 취하는 것과 같다고 한다.
- 예를 들어, β =0.98 라면 50 이라는 값이 나오고, 이는 즉 50일간의 데이터를 가지고 가중평균을 구한 것이 된다.
- 지수 가중 평균의 산식을 상기해보면, 50일 이상 오래된 날의 값은 β가 50 제곱된 만큼의 가중치를 갖게 되므로, 거의 0에 근사하게 되어 현재의 경향성을 표현하는데 영향을 미치지 못한다.
- β = 0.9 라면 10일간의 가중평균
- β = 0.5 라면 2일간의 가중평균을 구한 것과 같다고 한다.
- 위 그림에서
- 녹색선은 β가 0.98일 때(즉 50일간의 가중평균)이고
- 붉은선은 β가 0.9(즉 10일간의 가중평균)일 때이다.
- 직관적으로 생각해보면,
- 녹색선은 50일간의 데이터를 모두 반영하다보니, 최신의 동향을 반영하기 보다는 과거의 데이터에 끌려다니는 경향을 보이게 되고
- 붉은선은 상대적으로 최신의 데이터만 반영하므로, 좀 더 가볍게 최신의 경향을 캐치해낸다고 볼 수 있다.
'AI > Deep Learning' 카테고리의 다른 글
[DL] 배치 정규화(Batch Normalization) (0) | 2021.01.21 |
---|---|
[DL] Momentum, NAG, AdaGrad, RMSProp, Adam (0) | 2021.01.21 |
[DL] Regularization (Dropout) (0) | 2021.01.19 |
[DL] 가중치 초기화 (1) | 2021.01.19 |
[DL] Gradient Checking (1) | 2021.01.18 |
Comments