본문 바로가기

하루 30분 머신러닝, 딥러닝 기초다지기

하이퍼파라미터와 네트워크 깊이의 관계성 Learning Rate, Epoch

I  Learning Rate와 Epoch

1. Learning Rate와 Epoch의 역할

 

Learning Rate란?

Learning Rate는 한 번의 업데이트(Gradient Descent)에서 가중치가 얼마나 크게 조정되는지를 결정하는 것을 말한다. 

Learning Rate가 크면 빠르게 학습하지만 불안정하거나 최적점을 넘어서 진동할 수 있고  Learning Rate가 작으면 안정적으로 학습하지만 수렴 속도가 느려지고 더 많은 Epoch이 필요하다. 

 

Epoch란?

Epoch는 전체 데이터셋을 학습하는 반복 횟수를 의미한다.

Epoch가 적으면 학습이 충분하지 않기 때문에 언더피팅될 가능성이 크다. Epoch가 많으면 많이 학습할 수 있지만 학습 시간이 길어지고과적합될 위험이 있다. 

 

2. Learning Rate와 Epoch의 연관성

1. Learning Rate가 클때

Learning Rate가 크면 모델이 빠르게 수렴하기 때문에 적은 Epoch으로도 적당한 성능에 도달할 수 있다. 하지만 너무 큰 경우 최적점을 찾기 어려워 학습이 불안정해지거나 발산할 수 있다.

 

2. Learning Rate가 작을때

Learning Rate가 작으면 학습이 안정적이지만, 최적점에 도달하기 위해 더 많은 Epoch이 필요하다. Epoch이 충분히 크지 않으면 학습이 끝나지 않고 모델이 미완성 상태로 남을 수 있다.

 

3. Learning Rate Decay와 Epoch:

Learning Rate를 Epoch이 증가함에 따라 점진적으로 줄이는 전략(Learning Rate Decay)을 사용하면, 초기에는 빠르게 학습하고 후반에는 더 세밀하게 조정할 수 있어 효율적이다. Exponential Decay, Step Decay, Cosine Annealing 등이 대표적인 방법이다.

 

더보기
  • 큰 학습률 :   10^{-1}  (0.1) ~  10^{-2}  (0.01)
    • 초기 탐색 단계에서 빠르게 손실을 감소시키기 위해 사용.
    • 얕은 네트워크나 간단한 문제에서 적합.
  • 중간 학습률:  10^{-3}  (0.001)
    • 안정성과 속도의 균형을 맞추는 데 사용.
    • 일반적으로 가장 많이 사용되는 기본값.
  • 작은 학습률:  10^{-4}  (0.0001) ~  10^{-6}  (0.000001)
    •  정밀 학습 단계 또는 깊은 네트워크에서 안정적 학습을 위해 사용.

 

3.Epoch과 Learning Rate의 조정

Learning Rate가 크다면 Epoch을 줄이고,

Learning Rate가 작다면 Epoch을 늘립니다.

 

 

II 네트워크의 깊이와 Learning Rate

 

1.네트워크의 깊이와 Learning Rate의 연관성

네트워크가 깊어질 수록 Gradient Vanishing/Exploding과 같은 문제들이 발생할 수 있다. Gradient Vanishing/Exploding란 네트워크가 깊어질수록 역전파 과정에서 기울기(Gradient)가 점점 작아지거나 커지는 문제를 말한다. 이로 인해 학습률이 적절하지 않으면 가중치가 잘 학습되지 않거나 발산할 수 있다.

 

깊은 네트워크는 비선형성이 많아지고 학습할 파라미터가 증가하므로, 적절한 Learning Rate가 없으면 손실 함수에서 지역 최적점에 빠질 위험이 크다.  깊은 네트워크에서는 작은 학습률이 유리하다. 안정적 학습을 위해 작은 Learning Rate를 사용해 점진적으로 수렴을 유도할 수 있기 때문이다. 또한, Residual Connections(예: ResNet) 사용할 수 있다. 네트워크가 깊어도 안정적으로 학습할 수 있도록 Gradient Flow를 개선하기 때문이다. 

 

2. 네트워크의 깊이와 Epoch의 연관성

깊은 네트워크는 더 많은 Epoch 필요하다. 왜냐하면 학습할 파라미터가 많아지고 학습할 특징이 더 복잡해지기 때문이다. 초기 Epoch 동안 충분히 학습되지 않으면 네트워크가 고차원적 특징을 제대로 학습하지 못해 성능이 낮아질 수 있다. 반면, 얕은 네트워크는 적은 Epoch으로도 충분하다. 얕은 네트워크는 학습해야 할 파라미터가 적고, 상대적으로 단순한 패턴을 학습하기 때문에 적은 Epoch으로도 학습이 완료될 가능성이 높다.

 

 

3. 네트워크의 깊이, Learning Rate, Epoch의 상호작용

 

네트워크의 깊이, Learning Rate, Epoch의 상호작용을 정리해보면 다음과 같다. 

  • 깊이가 깊을수록:
    • 작은 Learning Rate: 안정적 학습을 위해 필요.
    • 많은 Epoch: 충분히 복잡한 특징을 학습하기 위해 필요.
    • Learning Rate Decay: 학습 후반부에 Learning Rate를 점차 줄여 세밀한 학습을 유도.
  • 깊이가 얕을수록:
    • 큰 Learning Rate: 빠르게 학습 가능.
    • 적은 Epoch: 간단한 특징 학습에 충분.
    • Learning Rate Decay의 필요성은 상대적으로 낮음.

 

 

4. 네트워크 깊이에 따른 학습 전략

 얕은 네트워크는 큰 Learning Rate로 시작해 빠르게 학습하고, 적은 Epoch으로도 적절한 성능에 도달 가능하다. 모델이 간단한 문제를 해결하거나 작은 데이터셋에서 학습하는 경우 적합하다. 깊은 네트워크는 작은 Learning Rate로 안정적 학습이 가능하고 더 많은 Epoch으로 충분한 학습을 진행하는것 적합하다. Learning Rate Scheduling(LR Decay) 사용하여 초기에 빠르게 학습하고, 후반에 세밀한 조정을 하는 방식으로 학습하는 것이 좋다. 깊은 네트워크는 Regularization (예: Dropout, BatchNorm)을 사용해서 깊은 네트워크의 과적합을 방지하는 것이 좋다.

 

예를 들어 Adam을 사용한다면   10^{-3}의 학습률을 사용하는 것이 좋다.