2nd course: Optimization algorithms (C2W2L01 ~ C2W2L09)
Mini Batch Gradient Descent (C2W2L01)
신경망 훈련은 많은 실험과 반복을 거쳐야 하는 과정이므로, 모델을 빠르게 훈련시키는 것이 매우 중요하다. 특히 딥러닝이 빅데이터에서 뛰어난 성능을 보이는 만큼, 대규모 데이터셋에서의 훈련은 종종 느리고 비효율적인 과정이 될 수 있다. 미니배치 경사 하강법(Mini-batch Gradient Descent)은 이러한 문제를 해결하고 훈련 속도를 향상시키는 데 효과적인 방법이다.
배치 경사 하강법
미니 배치 경사하강법을 알기 전에 배치 경사하강법에 대해 간단하게 알고 가는 것일 좋을 것 같다.
배치 경사 하강법은 전체 훈련 데이터셋을 한 번에 사용하여 경사 하강법을 수행하는 방식이다. 즉, 모든 데이터를 처리한 후 가중치를 업데이트한다.
전체 데이터를 고려하여 경사를 계산하므로, 이론적으로 전역 최적값에 수렴할 가능성이 높다. 하지만 전체 데이터를 처리하는 데 시간이 오래 걸리므로, 훈련 속도가 느리고, 데이터셋 크기가 큰 경우, 메모리 부족 문제가 발생할 수 있다. 이를 해결하기 위해 나온 것이 미니 배치 경사하강법이다.
미니배치
미니배치 경사 하강법은 훈련 세트를 더 작은 단위의 미니배치(mini-batch)로 나누어 훈련을 진행한다. 각 미니배치는 일반적으로 1,000개 정도의 샘플로 구성된다.
표기법 정리
- \( x^{(i)} \) : (i)번째 훈련 샘플
- \( X = [x^{(1)}, x^{(2)}, ..., x^{(m)}] \) : 전체 훈련 세트
- \( X^{{t}} \) : (t)번째 미니배치
- \( n_x \) : 입력 특성 개수
- \( m \) : 훈련 샘플 개수
- \( m_b \) : 미니배치 크기 (일반적으로 1,000)
- \( t \) : 미니배치 인덱스 (1부터 미니배치 개수까지)
- \( L \) : 신경망 층 개수
- \( z^{[l]} \) : (l)번째 층의 (z) 값
미니배치 경사 하강법 알고리즘
- 미니배치 단위 반복
for t = 1 to (전체 미니배치 개수): 2. 정방향 전파: - 각 층의 z값과 활성화 값을 계산합니다 (X^{t} 사용). 3. 비용 함수 계산: - 미니배치에 대한 평균 손실 및 정규화 항을 계산합니다. 4. 역전파: - 각 매개변수에 대한 기울기를 계산합니다. 5. 가중치 업데이트: - 계산된 기울기를 사용하여 가중치를 업데이트합니다.
전체 훈련 세트 반복
위 과정을 원하는 만큼 반복하여 모델을 훈련시킨다.
미니배치 경사 하강법의 장점
- 훈련 속도 향상: 배치 경사 하강법에 비해 훨씬 빠르게 훈련할 수 있다.
- 지역 최적화 문제 완화: 미니배치 단위로 훈련하므로, 배치 경사 하강법에 비해 지역 최적화(local optima) 문제에 덜 민감하다.
미니배치 크기 선택
미니배치 크기는 32, 64, 128, 256, 512 등 2의 거듭제곱 형태로 설정하는 것이 일반적이다.
Understanding Mini-Batch Gradient Dexcent (C2W2L02)
위에서는 미니배치 경사 하강법을 사용하여 훈련 과정의 효율성을 높이는 방법에 대해 알아봤다. 이번에는 미니배치 경사 하강법의 핵심 원리와 장점을 좀 더 자세히 분석하고, 미니배치 크기 선택에 대한 추가적인 가이드라인을 제시한다.
미니배치 경사 하강법, 왜 잘 작동할까?
비용 함수(Cost Function)의 변화
- 배치 경사 하강법: 모든 반복(iteration)에서 전체 훈련 세트를 처리하므로, 비용 함수 \( J \)는 매 반복마다 감소하는 경향을 보인다. 하지만 데이터셋이 클 경우 계산량이 많아 1회 반복에 시간이 오래 걸린다.
- 미니배치 경사 하강법: 각 반복에서 미니배치 \( ( X^{{t}}, Y^{{t}} ) \)만 사용하므로, 비용 함수 \( J^{{t}} \)는 감소하는 경향을 보이지만, 약간의 노이즈가 발생할 수 있다. 이는 각 미니배치의 특성이 다르기 때문이다. 하지만 전체적인 추세는 감소하는 방향으로 진행된다.
미니배치 크기의 중요성
미니배치 크기는 훈련 과정에 큰 영향을 미치는 하이퍼파라미터이다.
- m (전체 훈련 세트 크기): 배치 경사 하강법과 동일한 방식으로, 전역 최적값에 수렴할 가능성이 높지만, 계산량이 많고 메모리 문제가 발생할 수 있다.
- 1: 확률적 경사 하강법(Stochastic Gradient Descent)으로, 각 샘플이 하나의 미니배치가 된다. 계산량은 적지만, 노이즈가 매우 커서 전역 최적값에 안정적으로 수렴하지 못하고 진동하는 경향이 있다.
- 1 < 미니배치 크기 < m: 미니배치 경사 하강법으로, 위 두 방법의 절충안이다. 벡터화 연산을 통해 계산 효율성을 높이면서도, 확률적 경사 하강법에 비해 안정적인 수렴 경로를 보여준다.
미니배치 경사 하강법의 장점
- 벡터화 연산 극대화: 미니배치 단위로 데이터를 처리하므로, 벡터화 연산을 통해 계산 속도를 크게 향상시킬 수 있다.
- 메모리 효율성: 미니배치 단위로 데이터를 메모리에 로드하므로, 메모리 사용량을 줄일 수 있다.
- Local Minimum 탈출: 확률적인 경사 계산을 통해 지역 최적값에 갇히는 현상을 완화할 수 있다.
미니배치 크기 선택 가이드라인
- 작은 훈련 세트 (샘플 수 < 2000): 배치 경사 하강법을 사용하는 것이 효율적이다.
- 큰 훈련 세트: 64 ~ 512 사이의 2의 거듭제곱 형태의 값을 사용하는 것이 일반적이다. (예: 64, 128, 256, 512)
- 메모리 고려: 미니배치 크기를 선택할 때 CPU/GPU 메모리 용량을 고려해야 한다. 메모리 용량을 초과하는 미니배치 크기는 성능 저하를 유발할 수 있다.
마무리
미니배치 크기는 하이퍼파라미터이므로, 다양한 값을 시도해보고 가장 효율적인 값을 찾아야 한다. 그리고 학습률(Learning rate)과 함께 미니배치 크기를 조절하여 훈련 속도와 안정성을 최적화할 수 있다.
Exponentially Weighted Averages (C2W2L03)
이번에는 딥러닝 최적화 알고리즘의 기본 개념인 지수 가중 평균(Exponentially Weighted Averages)에 대해 자세히 알아보겠습니다.
지수 가중 평균이란?
지수 가중 평균은 시계열 데이터의 추세를 파악하고 노이즈를 줄이는 데 사용되는 방법이다.
런던의 일별 기온 변화 추세 분석
런던의 일별 기온 데이터를 예로 들어 지수 가중 평균을 이해해 보자. 1월 1일부터 12월 31일까지의 기온 변화를 그래프로 나타내면 다음과 같다.
이 데이터는 노이즈가 많기 때문에 추세를 파악하기 쉽지 않다. 이때 지수 가중 평균을 사용하면 노이즈를 줄이고 기온 변화 추세를 더 명확하게 파악할 수 있다.
계산 방법
지수 가중 평균은 다음과 같은 식으로 계산된다.
$$ V_t = \beta V_{t-1} + (1-\beta)\theta_t $$
- \( V_t \) : t일의 지수 가중 평균
- \( \beta \) : 감쇠율 (decay rate) - 0과 1 사이의 값
- \( \theta_t \) : t일의 실제 기온
핵심 아이디어
이전날의 평균값에 \( \beta \)를 곱하고, 현재날의 기온에 \( ( 1 - β ) \)를 곱하여 더한다.
\( \beta \) 값이 클수록 이전 값에 대한 비중이 커져 변화에 둔감해지고, 작을수록 현재 값에 대한 비중이 커져 변화에 민감해진다.
감쇠율(\ ( \beta ) \)에 따른 변화
\( \beta = 0.9 \) 인 경우
10일 정도의 평균 기온을 나타내고, 비교적 부드러운 곡선을 보이며, 노이즈가 많이 제거된 것을 확인할 수 있다.
\( \beta = 0.98 \) 인 경우
50일 정도의 평균 기온을 나타내고, \( \beta = 0.9 \) 일 때보다 더 부드러운 곡선을 보이지만, 기온 변화에 덜 민감하게 반응한다.
\( \beta = 0.5 \) 인 경우
2일 정도의 평균 기온을 나타내고, 노이즈가 많이 남아있지만, 기온 변화에 가장 빠르게 반응한다.
지수 가중 평균의 역할
지수 가중 평균은 과거 값과 현재 값을 적절히 조화시켜 추세를 파악하는 데 유용히다. 딥러닝에서는 다음과 같은 역할을 수행힌다.
- 최적화 알고리즘: 경사 하강법의 변형인 Momentum, RMSprop, Adam 등 다양한 최적화 알고리즘에서 사용되어 학습 속도를 향상시키고 안정적인 수렴을 돕는다.
- 하이퍼파라미터 튜닝: 학습률, 감쇠율 등 하이퍼파라미터 튜닝 과정에서 변화 추세를 파악하는 데 활용된다.
Understanding Exponentially Weighted Averages (C2W2L04)
위에서 딥러닝 최적화 알고리즘의 기본 개념인 지수 가중 평균(Exponentially Weighted Averages)에 대해 자세히 알아봤다. 이번 포스팅에서는 지수 가중 평균의 수학적 원리와 실제 구현 방법에 대해 좀 더 깊이 파헤쳐 보겠습니다.
지수 가중 평균의 수학적 원리
공식은 위에서 다뤘으니 따로 언급하지 않고, 식만 기록
$$ V_t = \beta V_(t-1) + (1 - \beta) \theta_t $$
원리 분석
위 공식을 반복적으로 적용하면 다음과 같은 결과를 얻을 수 있다.
\( V_100 = 0.1 \theta_100 + 0.1 * 0.9 \theta_99 + 0.1 * (0.9)^2 \theta_98 + 0.1 * (0.9)^3 \theta _97 + ... \)
각 (\theta_t)에 대한 가중치는 지수 함수 형태로 감소하며, \( \beta \) 값이 클수록 과거 값에 대한 가중치가 커져 변화에 둔감해지고, 작을수록 현재 값에 대한 가중치가 커져 변화에 민감해진다.
\( 1 / (1 - \beta ) \)의 의미
\( \beta = 0.9 \)인 경우, \( 1 / (1 - 0.9) = 10 \)으로, \( V_{100} \)은 최근 10일간의 기온 변화 추세를 반영한다. 일반적으로 \( 1 / (1 - \beta ) \)는 평균 온도를 계산하는 데 사용되는 기간을 나타낸다.
지수 가중 평균의 실제 구현
v = 0 # v는 V_t를 나타냅니다.
for t in range(num_days):
v = beta * v + (1 - beta) * temperature[t]
# v는 t일의 지수 가중 평균을 저장합니다.
장점
- 메모리 효율성: 단 하나의 변수 `v`만 사용하여 계산하므로, 메모리 사용량이 매우 적다.
- 계산 효율성: 간단한 곱셈과 덧셈 연산만으로 계산할 수 있어 계산 비용이 저렴하다.
마무리
\( \beta \) 값은 하이퍼파라미터이므로, 다양한 값을 시도해보고 최적의 값을 찾아야 한다.
초기 \( \beta \) 값에 따라 초기 지수 가중 평균 값이 실제 추세와 차이가 있을 수 있다. 이를 편향 보정(bias correction)을 통해 해결할 수 있다. (다음 강의에서 다룰 예정)
Bias Correction of Exponentially Weighted Averages (C2W2L05)
지수 가중 평균의 기본 원리와 구현 방법에 대해 알아보았습니다. 이번 포스팅에서는 지수 가중 평균의 초기 편향 문제와 이를 해결하기 위한 편향 보정(Bias Correction) 방법에 대해 자세히 살펴보겠습니다.
초기 편향 문제
문제점
지수 가중 평균은 초기 값 \( V_0 \)에 따라 초기 평균 값이 실제 추세와 큰 차이를 보일 수 있다. 특히 \( V_0 = 0 \)으로 초기화하는 경우, 초기의 평균 값은 실제 값보다 훨씬 작아지는 경향이 있다.
예시
\( \beta = 0.98 \)인 경우, 1월 1일의 기온이 화씨 40도라면,
- \( V_1 = 0.02 * 40 = 0.8 \)
- \( V_2 = 0.98 * 0.8 + 0.02 * \theta_2 \)
와 같이 초기 평균 값이 실제 기온보다 훨씬 낮게 계산된다.
원인
초기에는 가중치가 높은 과거 값이 없어 현재 값에만 의존하기 때문에 발생
편향 보정(Bias Correction)
초기 평균 값의 정확도를 높이기 위해 다음과 같은 편향 보정 방법을 사용한다.
$$ V_t^{corrected} = V_t / (1 - \beta^t) $$
- \( V_t^{corrected} \) : 편향 보정된 t일의 지수 가중 평균
- \( V_t \) : t일의 지수 가중 평균
- \( \beta \) : 감쇠율
- \( t \) : 시간
원리
시간이 지날수록 \( \beta^t \)는 0에 가까워지므로, 편향 보정의 효과는 점차 감소하고, 초기 단계에서는 \( (1 - \beta^t) \)로 나누어 줌으로써 평균 값을 실제 값에 가깝게 보정한다.
예시
\( \beta = 0.98 \)인 경우,
- \( V_1^{corrected} = 0.8 / (1 - 0.98) = 40 \)
- \( V_2^{corrected} = (0.98 * 0.8 + 0.02 * \theta_2) / (1 - 0.98^2) \)
와 같이 초기 평균 값을 실제 기온에 가깝게 보정할 수 있다.
실제 사용
대부분의 경우 편향 보정 생략
머신러닝에서 지수 가중 평균을 사용하는 대부분의 경우, 편향 보정을 생략한다. 초기 단계의 부정확한 추정 값은 무시하고, 어느 정도 시간이 지난 후부터의 추세만 활용한다.
필요한 경우 편향 보정 적용
초기 단계의 추세가 중요한 경우에는 편향 보정을 적용하여 정확도를 높일 수 있다.
Gradient Descent With Momentum (C2W2L06)
이번에는 경사 하강법의 속도를 향상시키는 모멘텀(Momentum) 경사 하강법에 대해 알아보겠다. 모멘텀은 경사 하강법의 단점인 진동을 줄이고 빠른 학습을 가능하게 해주는 효과적인 방법이다.
경사 하강법의 문제점: 진동과 느린 학습
일반적인 경사 하강법(또는 미니배치 경사 하강법)은 최솟값을 향해 나아가면서 진동하는 경향이 있다. 특히 경사 변화가 심한 지점에서는 진동이 더욱 심해져 학습 속도를 저해하고, 더 큰 학습률을 사용하는 것을 어렵게 만든다.
모멘텀 경사 하강법: 진동을 줄이고 속도를 높이다
모멘텀 경사 하강법은 경사에 대한 지수 가중 평균을 계산하여 가중치를 업데이트한다. 이를 통해 진동을 줄이고 학습 속도를 높이는 효과를 얻을 수 있다.
작동 원리
- 각 반복(iteration) \( t \) 에서 \( dW \)와 \(db \)를 계산한다.
- \( V_{dW} \) 와 \( V_{db} \) 를 계산한다.
$$ V_dW = \beta V_dW + (1 - \beta )dW $$
$$ V_db = \beta V_db + (1 - \beta )db $$
이 값들은 \( dW \) 와 \( db \) 의 지수 가중 평균을 나타낸다. - 가중치를 업데이트한다.
$$ \omega = \omega - \alpha V_dW $$
$$ b = b - \alpha V_db $$
효과
- 진동 감소: 경사의 평균을 사용하므로, 수직 방향의 진동을 줄여준다.
- 학습 속도 증가: 수평 방향으로는 경사가 계속 같은 방향을 향하므로, 평균값이 커져 학습 속도를 높여준다.
- 지역 최적값 탈출: 진동을 줄여주므로, 지역 최적값(local optima)에 갇히는 현상을 완화할 수 있다.
모멘텀의 직관적 이해: 그릇 속 공 비유
모멘텀은 그릇 속에서 굴러가는 공에 비유할 수 있다. 공이 경사를 따라 내려가면서 속도가 붙듯이, 모멘텀은 이전 경사들의 평균을 사용하여 가중치 업데이트에 가속도를 더한다. \( \beta \) 값은 마찰과 같은 역할을 하여 공이 너무 빠르게 내려가는 것을 방지한다.
하이퍼파라미터 튜닝
- \( \alpha \) (학습률) : 일반적인 경사 하강법과 마찬가지로 적절한 값을 찾아야 한다.
- \( \beta \) : 지수 가중 평균의 감쇠율로, 일반적으로 0.9를 많이 사용한다.
RMSProp (C2W2L07)
위에서는 모멘텀(Momentum)을 사용하여 경사 하강법의 속도를 향상시키는 방법에 대해 알아봤다. 이번에는 RMSprop(Root Mean Square Propagation)이라는 또 다른 효과적인 최적화 알고리즘에 대해 자세히 살펴보겠습니다. RMSprop은 모멘텀과 마찬가지로 경사 하강법의 속도를 높이는 데 사용되며, 특히 진동을 줄이는 데 효과적입니다.
RMSprop
RMSprop은 경사 제곱의 지수 가중 평균을 계산하여 가중치를 업데이트한다. 이를 통해 진동을 줄이고 학습 속도를 높이는 효과를 얻을 수 있다.
작동 원리
- 각 반복(iteration) \( t \) 에서 \( dW \) 와 \( db \) 를 계산한다.
- \( S_{dW} \) 와 \( S_{db} \) 를 계산한다.
$$ S_dW = \beta S_dW + (1 - \beta )(dW)^2 $$
$$ S_db = \beta S_db + (1 - \beta)(db)^2 $$
이 값들은 \( dW \) 와 \( db \) 제곱의 지수 가중 평균을 나타낸다. - 가중치를 업데이트한다.
$$ \omega = \omega - \alpha * dW / sqrt(S_dW + \e) $$
$$ b = b - \alpha * db / sqrt(S_db + \epsilon) $$
RMSprop의 직관적 이해: 적응적 학습률 조절
RMSprop은 경사의 크기에 따라 학습률을 적응적으로 조절한다. 경사가 큰 방향으로는 학습률을 작게 하여 진동을 줄이고, 경사가 작은 방향으로는 학습률을 크게 하여 학습 속도를 높인다.
하이퍼파라미터 튜닝
모멘텀과 마찬가지로 학습률 \( \alpha \) 과 지수 가중 평균의 감쇠율 \( \beta \) 가 사용되고, 0으로 나눠지는 것을 방지하기 위한 하이퍼파라미터가 들어간다.
- \( \epsilon \): 0으로 나누어지는 것을 방지하기 위한 작은 값 (예: \( 10^{-8} \))
Adam Optimization Algorithm (C2W2L08)
이번에는 딥러닝 최적화 알고리즘의 끝판왕이라고 불리는 Adam(Adaptive Moment Estimation) 알고리즘에 대해 자세히 살펴보겠습니다. Adam은 RMSprop과 모멘텀의 장점을 결합한 알고리즘으로, 광범위한 딥러닝 아키텍처에서 뛰어난 성능을 보여줍니다.
Adam, 왜 강력할까?
Adam은 다음과 같은 특징 덕분에 널리 사용되는 최적화 알고리즘으로 자리 잡았다.
- 모멘텀의 장점: 경사 방향으로 가속도를 더하여 학습 속도를 높여준다.
- RMSprop의 장점: 경사 크기에 따라 학습률을 조절하여 진동을 줄여주고 안정적인 수렴을 돕는다.
- 넓은 범위의 아키텍처에 적용 가능: 다양한 신경망 구조에서 효과적으로 작동한다.
- 비교적 적은 하이퍼파라미터 튜닝: 기본값으로 설정된 하이퍼파라미터만으로도 좋은 성능을 얻을 수 있다.
Adam 알고리즘 작동 원리
초기화
$$ v_dw = 0, s_dw = 0 $$
$$ v_db = 0, s_db = 0 $$
반복(iteration) t
- 경사 계산
$$ dw = (현재 미니배치에 대한 dw 계산) $$
$$ db = (현재 미니배치에 대한 db 계산) $$ - 모멘텀 업데이트
$$ v_dw = \beta_1 * v_dw + (1 - \beta_1) * dw $$
$$ v_db = \beta_1 * v_db + (1 - \beta_1) * db $$ - RMSprop 업데이트
$$ s_dw = \beta_2 * s_dw + (1 - \beta_2) * (dw)^2 $$
$$ s_db = \beta_2 * s_db + (1 - \beta_2) * (db)^2 $$ - 편향 보정(Bias Correction)
$$ v_dw_corrected = v_dw / (1 - \beta_1^t) $$
$$ v_db_corrected = v_db / (1 - \beta_1^t) $$
$$ s_dw_corrected = s_dw / (1 - \beta_2^t) $$
$$ s_db_corrected = s_db / (1 - \beta_2^t) $$ - 가중치 업데이트
$$ \omega = \omega - \alpha * v_dw_corrected / (sqrt(s_dw_corrected) + \epsilon) $$
$$ b = b - \alpha * v_db_corrected / (sqrt(s_db_corrected) + \epsilon) $$
하이퍼파라미터
- \( \alpha \) (학습률) : 매우 중요한 하이퍼파라미터로, 다양한 값을 시도하여 최적의 값을 찾아야 한다.
- \( \beta_1 \) : 모멘텀의 감쇠율로, 일반적으로 0.9를 사용한다.
- \( \beta_2 \) : RMSprop의 감쇠율로, Adam 논문 저자는 0.999를 추천한다.
- \( \epsilon \) : 0으로 나누어지는 것을 방지하기 위한 작은 값 (일반적으로 \( 10^{-8} \))
Adam, 어떻게 사용하면 좋을까?
- 기본값 사용: \( \alpha \) 를 제외한 하이퍼파라미터는 Adam 논문에서 추천하는 기본값을 사용하는 경우가 많다.
- \( \alpha \) 튜닝: \( \alpha \) 값은 학습 성능에 큰 영향을 미치므로, 다양한 값을 시도하여 최적의 값을 찾는 것이 중요하다.
- 다른 하이퍼파라미터 튜닝: \( \beta_1 \), \( \beta_2 \) 값도 필요에 따라 튜닝할 수 있지만, 일반적으로 잘 작동하는 값들이기 때문에 튜닝 빈도는 낮은 편이다.
Learning Rate Decay (C2W2L09)
이번에는 딥러닝 모델 훈련 속도를 향상시키는 효과적인 방법인 학습률 감쇠(Learning Rate Decay)에 대해 자세히 알아보겠습니다. 학습률 감쇠는 훈련 과정이 진행됨에 따라 학습률을 점차적으로 줄여 더 빠르고 안정적인 수렴을 돕는 기술입니다.
학습률 감쇠, 왜 필요할까?
고정된 학습률(\( \alpha \) )을 사용하는 경우, 훈련 후반부에는 최솟값 주변에서 진동하며 수렴하지 못하는 경우가 발생할 수 있다. 이는 학습률이 너무 커서 최솟값을 지나치는 현상 때문이다.
학습률 감쇠는 훈련 초기에는 큰 학습률을 사용하여 빠르게 최솟값에 접근하고, 훈련 후반부에는 작은 학습률을 사용하여 최솟값 주변에서 정밀하게 수렴하도록 돕는다.
학습률 감쇠 방법
시간 기반 감쇠(Time-Based Decay)
$$ \alpha = \alpha_0 / (1 + decay_rate * epoch_num) $$
- \( \alpha \) : 현재 학습률
- \( \alpha_0 \) : 초기 학습률
- decay_rate : 감쇠율 (하이퍼파라미터)
- epoch_num : 현재 에포크 수
지수적 감쇠(Exponential Decay)
$$ \alpha = \alpha_0 * (decay_rate)^epoch_num $$
- decay_rate : 1보다 작은 값 (예: 0.95)
계단식 감쇠(Step Decay)
특정 에포크마다 학습률을 일정 비율로 감소시키는 방법
수동 조절(Manual Tuning)
훈련 과정을 모니터링하며 학습률을 직접 조절하는 방법
학습률 감쇠, 어떻게 활용할까?
- 다양한 감쇠 방식 시도: 시간 기반 감쇠, 지수적 감쇠, 계단식 감쇠 등 다양한 방법을 시도해보고 데이터와 모델에 맞는 방법을 선택한다.
- 하이퍼파라미터 튜닝: \( \alpha_0 \)와 decay_rate 등 하이퍼파라미터를 적절하게 조절하여 최적의 성능을 얻도록 한다.
- 다른 최적화 알고리즘과 함께 사용: Adam, RMSprop 등 다른 최적화 알고리즘과 함께 사용하여 시너지 효과를 얻을 수 있다.
마무리
이렇게 최적화 알고리즘(Optimization algorithms)에 대해서 알아보고 정리했다. 다음 영상에서는 하이퍼파라미터 튜닝, 배치 정규화 및 프로그래밍 프레임워크에 대한 강의를 보고 정리하도록 해야겠다.
References
https://www.youtube.com/playlist?list=PLkDaE6sCZn6Hn0vK8co82zjQtt3T2Nkqc
Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization (Course 2 of the Deep Learning Specializa
www.youtube.com