학습 요금 계획
2023-03-06 – (Data Science/ML | DL) – 최적화: 경사하강법을 넘어
최적화: 경사하강법을 넘어서
기울기 하강법에 초점을 맞춘 최적화에 대한 게시물입니다. 2022-08-21 – (Data Science/ML | DL) – 최적화: 무작위 탐색에서 경사하강법까지 최적화: 무작위 탐색에서 경사하강법까지 최적화란?
dippingtodeepening.tistory.com
옵티마이저 SGD, SGD+Momentum, Adagrad, RMSprop 및 Adam은 모두 하이퍼파라미터로 학습률을 필요로 합니다.
고정된 전역 학습률을 사용하는 대신 조건에 따라 학습률을 줄여야 할 수도 있습니다.
이러한 학습률 조정 방식을 학습률 스케줄링이라고 하며 그 종류는 다음과 같다.
# 선형 붕괴

임계점에 도달할 때까지 lr을 선형적으로 감소시키는 방법입니다.
# 레벨 하락

특정 지점에 도달하면 lr을 줄입니다.
# 지수 감쇠

연속 지수 형태의 lr 감소.
초기 LR 설정
먼저 학습률을 어떻게 초기화해야 합니까?
일반적으로 초기 lr을 설정하는 절차는 다음과 같습니다.
1. 처음 몇 번의 반복(약 100회)을 모니터링하고 최상의 성능을 초기 학습 속도로 사용하여 lr을 초기화합니다.
2. 미니 배치의 크기를 고려하여 lr을 결정합니다. (스택 크기가 클수록 lr이 더 안정적입니다.)
3. 초기화된 lr이 손실 폭발을 일으키는 것 같으면 lr을 매우 작은 수(~5000 반복)에서 선형으로 증가시키십시오.
초매개변수 조정
파라미터와 하이퍼파라미터의 차이점
매개변수는 모델의 모양입니다. 가중치와 편향은 매개변수입니다!
모델 학습 프로세스는 학습을 통해 매개변수를 지속적으로 업데이트하는 것으로 구성됩니다.
하이퍼파라미터는 매개변수를 최적화하기 위해 조정해야 하는 항목입니다.
lr, #of layer, 학습률 및 배치 크기는 하이퍼 매개변수입니다.
수동 투표
하이퍼파라미터 튜닝 방법 중 하나입니다.
즉, 여러 개의 하이퍼파라미터 조합을 순차적으로 실행하면서 성능을 비교하여 최적의 파라미터를 찾는 방식입니다.
따라서 각 하이퍼파라미터가 무엇을 하는지 이해해야 합니다.
기본 전략은 최적의 하이퍼파라미터를 찾기 위한 교차 검증입니다.
# 대략적인 샘플링 방식

하이퍼파라미터 조합이 좋은 성능으로 분포하는 영역에 대한 다운샘플링을 다시 수행할 수 있다.
# 그리드 검색을 통한 무작위 샘플링

중요하지 않은 하이퍼파라미터만 변경하고 중요한 하이퍼파라미터만 고정하면 그리드 검색 방법은 쓸모가 없습니다.
(계산이 많아 성능에 큰 영향을 주지 않기 때문입니다. 그림 참조)
이 경우 랜덤 탐색 방식이 탐색 측면에서 유리하다.
특정 하이퍼파라미터가 다른 하이퍼파라미터보다 더 중요한 현상을 반영하기 때문입니다.
우선 샘플링 분포
하이퍼파라미터를 샘플링할 때 적절한 분포에 대한 설명.
# 바이너리/이산 하이퍼파라미터
비연속 하이퍼파라미터는 Bernoulli 또는 Multinoulli 분포에서 샘플링됩니다.
# 양의 실수 값 하이퍼파라미터
양의 실수인 연속 하이퍼파라미터는 다음과 같습니다. 짝수 로그 스케일 분포샘플 아웃
균일 분포에서 샘플링하는 대신 대수 균일 분포에서 샘플링하는 이유는 다음 그림에 나와 있습니다.

초점을 맞추려는 하이퍼파라미터 간격이 0.0001에서 0.1 사이라고 가정해 보겠습니다.
위의 균일 분포와 같은 샘플은 원하는 범위에서 충분한 샘플을 추출하지 않습니다.
반면 대수 균일분포의 경우 해당 구간에 대한 성능을 충분히 확인할 수 있다.
초매개변수 선택 가이드
1. 초기 손실 확인
체중 감량을 끄십시오. 채용 초기 단계의 분실 확인 절차입니다.
2. 작은 표본의 과대적합
작은 샘플로 100% 정확도를 얻을 때까지 훈련합니다.
“학습”이 가능한지 확인하는 과정입니다.
학습을 할 때 학습이 잘 되고 있는지를 진단하기 위해 손실 성향을 활용할 수 있습니다.
* 손실이 줄어들지 않는 경우 → 언더피팅이 발생합니다. (너무 낮은 학습률, 잘못된 초기화)
* 손실이 폭발할 때 → 학습 속도가 너무 빠릅니다. (또한 잘못된 초기화)

3. 손실을 줄이는 학습률 찾기
체중 감소를 켜고 감소 곡선을 만드는 학습 속도를 찾으십시오.
4. 거친 그리드, 1~5 에포크 훈련
3단계에서 찾을 수 있는 lr과 체중 감소를 찾아 1~5 epoch 동안만 훈련합니다.
5. 그리드 수정, 더 오래 훈련
4단계에서는 최상의 모델을 선택합니다.
선택한 모델은 lr 스케줄링 없이 더 긴 epoch에 대해 훈련됩니다.
6. 전력 곡선 모니터링
검정력 곡선을 통해 학습에 이상이 있는지 확인합니다.
필요한 경우 5단계로 돌아갑니다.
전력 곡선 모니터링
이는 위에서 설명한 하이퍼파라미터 선택 가이드의 6번에 해당합니다.
서로 다른 검정력 곡선의 모양을 살펴보고 각각 어떤 상황에 해당하는지 살펴보겠습니다.
학습 정확도 곡선을 이용한 언더피팅/오버피팅 확인

훈련 정확도가 좋은 곡선을 그리며 올라가야 학습이 진행됩니다.
손실 감소 패턴

이는 학습률 초기화가 잘못된 경우입니다.

손실이 줄어들지 않고 수렴이 일어나는 것을 알 수 있다.
이 경우 학습률을 줄여야 합니다.

이는 learning rate drop이 너무 일찍 이루어졌을 때 발생하는 현상이다.
손실은 감소했지만 학습률이 감소했기 때문에 더 이상 손실이 감소하지 않습니다.
acc 훈련, acc 패턴 테스트

정확도는 아직 수렴되지 않았으며 계속 증가하고 있습니다.
성능을 향상시키려면 더 많은 epoch에 대해 학습해야 합니다.

학습 정확도는 계속해서 증가하지만 유효성 검사 정확도가 증가했다가 갑자기 감소하는 패턴은 일반적인 과적합 패턴입니다.
이 경우 데이터의 양을 늘리거나 처방을 사용하여 모델의 복잡성을 줄여야 합니다.

Train/Val Accuracy 사이에는 차이가 없습니다.
훈련이 정상적으로 수행되면 훈련 정확도는 검증 정확도보다 약간 높아야 합니다.
“학습”자체가 잘되지 않을 가능성이 있습니다.