[DL] 학습률 스케줄링

2026. 7. 13. 22:23·AI/Deep Learning
반응형

들어가며

신경망의 효율을 높이는 방안으로 학습률을 조정하는 것은 꽤 좋은 선택이 될 것이다

학습률이 너무 크면 훈련이 발산하고 너무 작으면 시간이 오래 걸린다

 

일반적으로 적절한 학습률을 선택할 때는 학습 곡선을 통해 작은 값부터 큰 값까지 보고 선택한다

하지만 일정한 학습률보다 큰 학습률에서 시작해서 학습 속도가 느려질 때 학습률을 낮추는 것이

고정된 학습률보다 좋은 솔루션을 더 빨리 발견할 수 있다 이 전략을 학습률 스케줄링이라고 부른다

 

아래에서 널리 사용되는 학습률 스케줄링 방식 5가지를 알아볼 것이다

 

거듭제곱 기반 스케줄링

거듭제곱 기반 스케줄링은 학습률을 반복 횟수 t에 대한 함수로 정의된다

s는 사용자가 지정하는 감소 기준 정도(epoch 단위)로 고정된 값이다

t는 현재 학습 진행 정도(epoch 단위)를 의미한다

c는 거듭제곱 지수로 일반적으로 1을 사용한다

η0은 초기 학습률을 의미한다

 

s번 epoch가 진행되면 학습률이 η0/2로 줄고, s번 더 진행되면 η0/3으로 줄고

그 다음은 η0/4로, η0 /5로 줄어들게 되는 식이다

상대적으로 처음에는 빠르게 감소하다가 시간이 지날수록 줄어드는 속도가 느려지는 구조이다

 

지수 기반 스케줄링

지수 기반 스케줄링은 학습률을 다음과 같이 정의한다

γ는 감소율을 의미하고 s와 t는 이전과 같은 의미이다

예를 들어 γ가 0.1이면 s번의 epoch 반복마다 학습률이 10배씩 감소하는 것이다

 

구간별 고정 스케줄링

구간별 고정 스케줄링은 일정 횟수의 에포크 동안 일정한 학습률을 사용하고

또 다른 횟수의 에포크 동안은 줄어든 학습률을 사용하는 방식이다

 

예를 들어 5에포크 동안은 학습률을 0.1로 두고

이후 50에포크 동안은 0.001로 두어 진행시키는 구조이다

식은 위와 같고 지수 기반 스케줄링에서 지수 부분에 내림기호를 추가하여

해당 구간동안 같은 학습률을 유지하도록 계단식으로 두는 것이 차이점이다

 

성능 기반 스케줄링

성능 기반 스케줄링은 N 번의 스텝마다 검증 오차를 측정하고

오차가 줄어들지 않으면 γ배만큼 학습률을 감소시키는 방법이다

식은 간단히 위와 같은 형태이고 구현 시에는 patience라는 매개변수 값을 설정하여

그 값만큼동안 손실이 향상되지 않으면 학습률에 γ를 곱하여 적용된다

 

1사이클 스케줄링

 1사이클 스케줄링은 훈련 절반 동안 초기 학습률에서 최대 학습률까지 학습률을 증가시켰다가

나머지 절반 동안 학습률을 낮추는 방식이다

 

최대 학습률은 일반적으로 좋은 학습률을 찾는 과정을 통해 찾고

초기 학습률을 10배 정도 낮게 설정한다

초기 학습률에서 최대 학습률까지 step 진행에 따라 일정하게 올라가고

최대 학습률에서 최소 학습률까지 내려간다 이 때 최소 학습률은 초기 학습률보다 작아질 수도 있다

 

일반적으로 이 방식이 위의 다른 방식들보다 더 좋은 성능을 나타낸다

초반에는 큰 학습률로 local minimum같은 나쁜 해를 벗어나 탐색 공간을 넓힐 수 있고

후반에는 작은 학습률로 안정적으로 좋은 해에 수렴하도록 만들기 때문이다

 

마치며

이번 글에서는 학습 과정에서 학습률에 변화를 주는 학습률 스케줄링에 대해 알아보았다

앞선 글에서 다뤘던 가중치 초기화 방식이나 활성화 함수, 최적화 방식들 뿐만 아니라

적절한 학습률 스케줄링 방식 선택도 모델 성능에 굉장히 중요한 역할을 한다는 것을 알게되었다

개인적으로는 1사이클 스케줄링이 가장 특이한 형태였고, 스케줄링 방식 아이디어가 굉장히 참신한 것 같다

다음 글에서는 신경망에 규제를 사용하여 과대적합을 피하는 방법에 대해 알아보겠다

반응형

'AI > Deep Learning' 카테고리의 다른 글

[DL] 자연어처리 기초와 RNN  (0) 2026.07.30
[DL] 신경망 규제  (1) 2026.07.14
[DL] 고속 옵티마이저  (0) 2026.07.12
[DL] 배치 정규화(batch normalization)  (0) 2026.07.11
[DL] 그레디언트 소실 문제 해결을 위한 가중치 초기화 방식들과 여러 활성화 함수  (0) 2026.07.09
'AI/Deep Learning' 카테고리의 다른 글
  • [DL] 자연어처리 기초와 RNN
  • [DL] 신경망 규제
  • [DL] 고속 옵티마이저
  • [DL] 배치 정규화(batch normalization)
20puddle
20puddle
20puddle 님의 블로그 입니다.
  • 20puddle
    20puddle 님의 블로그
    20puddle
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • Spring boot (5)
      • git & github (5)
      • algorithm (47)
        • theory (3)
        • 배열 (7)
        • 연결 리스트 (3)
        • 스택 (5)
        • 큐 (3)
        • 덱 (2)
        • 기초 코드 (19)
        • BFS (5)
      • AI (43)
        • Machine Learning (35)
        • Deep Learning (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    DL
    게시판
    인공지능
    Aimers
    오프라인 학습
    백준
    Spring Boot
    그레디언트 클리핑
    딥러닝
    머신러닝
    Java
    주성분변환
    ML
    알고리즘
    list
    github
    AI
    git
    연결리스트
    홀드아웃 검증
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
20puddle
[DL] 학습률 스케줄링
상단으로

티스토리툴바