초매개변수는 학습의 여러 측면을 제어하는 변수입니다. 일반적인 세 가지 하이퍼파라미터는 다음과 같습니다.
반면 매개변수는 가중치 및 편향과 같이 모델 자체의 일부인 변수입니다. 즉, 초매개변수는 사용자가 제어하는 값이고 매개변수는 모델이 학습 중에 계산하는 값입니다.
학습률
학습률은 모델이 수렴하는 속도에 영향을 미치는 부동 소수점 수입니다. 학습률이 너무 낮으면 모델이 수렴하는 데 시간이 오래 걸릴 수 있습니다. 그러나 학습률이 너무 높으면 모델이 수렴하지 않고 대신 손실을 최소화하는 가중치와 편향 주위를 맴돕니다. 목표는 모델이 빠르게 수렴하도록 너무 높지도 않고 너무 낮지도 않은 학습률을 선택하는 것입니다.
학습률은 경사하강 프로세스의 각 단계에서 가중치와 편향을 변경하는 정도를 결정합니다. 모델은 경사와 학습률을 곱하여 다음 반복의 모델 매개변수 (가중치 및 편향 값)를 결정합니다. 경사 하강의 세 번째 단계에서 음의 기울기 방향으로 이동하는 '작은 양'은 학습률을 나타냅니다.
이전 모델 매개변수와 새 모델 매개변수의 차이는 손실 함수의 기울기에 비례합니다. 예를 들어 경사가 가파르면 모델의 보폭이 큽니다. 작으면 작은 단계라면 필요합니다. 예를 들어 경사 크기가 2.5이고 학습률이 0.01이면 모델은 매개변수를 0.025씩 변경합니다.
이상적인 학습률은 모델이 적절한 수의 반복 횟수 내에 수렴하는 데 도움이 됩니다. 그림 21의 손실 곡선은 수렴하기 시작하기 전에 처음 20번의 반복 동안 모델이 크게 개선됨을 보여줍니다.
그림 21 빠르게 수렴하는 학습률로 학습된 모델을 보여주는 손실 그래프
반대로 학습률이 너무 낮으면 수렴하는 데 반복 횟수가 너무 많을 수 있습니다. 그림 22의 손실 곡선은 각 반복 후에 모델이 약간만 개선됨을 보여줍니다.
그림 22. 작은 학습률로 학습된 모델을 보여주는 손실 그래프
학습률이 너무 크면 각 반복에서 손실이 튀거나 계속 증가하므로 수렴하지 않습니다. 그림 23의 손실 곡선은 각 반복 후에 모델의 손실이 감소했다가 증가하는 것을 보여주고, 그림 24에서는 후반 반복에서 손실이 증가합니다.
그림 23. 너무 큰 학습률로 학습된 모델을 보여주는 손실 그래프입니다. 여기서 손실 곡선은 반복 횟수가 증가함에 따라 크게 변동하며 위아래로 움직입니다.
그림 24. 학습률이 너무 높아 학습된 모델을 보여주는 손실 그래프. 후반 반복에서 손실 곡선이 급격히 증가합니다.
연습문제: 학습 내용 점검하기
배치 크기
배치 크기는 모델이 가중치와 편향을 업데이트하기 전에 처리하는 예시 수를 나타내는 하이퍼파라미터입니다. 가중치와 편향을 업데이트하기 전에 모델이 데이터 세트의 모든 예시의 손실을 계산해야 한다고 생각할 수 있습니다. 하지만 데이터 세트에 수십만 또는 수백만 개의 예가 포함된 경우 전체 배치를 사용하는 것은 실용적이지 않습니다.
가중치와 편향을 업데이트하기 전에 데이터 세트의 모든 예시를 확인할 필요 없이 평균적으로 올바른 기울기를 얻는 두 가지 일반적인 기법은 확률적 경사 하강과 미니 배치 확률적 경사 하강입니다.
확률적 경사하강법 (SGD): 확률적 경사하강법은 반복당 하나의 예 (배치 크기 1)만 사용합니다. 반복 횟수가 충분하면 SGD가 작동하지만 노이즈가 매우 많습니다. '노이즈'는 반복 중에 손실이 감소하지 않고 오히려 증가하게 하는 학습 중의 변동을 의미합니다. '확률적'이라는 용어는 각 배치를 구성하는 하나의 예가 무작위로 선택됨을 나타냅니다.
다음 이미지에서 모델이 SGD를 사용하여 가중치와 편향을 업데이트할 때 손실이 약간 변동하는 것을 확인할 수 있습니다. 이로 인해 손실 그래프에 노이즈가 발생할 수 있습니다.
그림 25. 확률적 경사하강법 (SGD)으로 학습된 모델로 손실 곡선에 노이즈가 있습니다.
확률적 경사하강법을 사용하면 근접 수렴뿐 아니라 전체 손실 곡선 전체에 걸쳐 노이즈가 생성될 수 있습니다.
미니 배치 확률적 경사하강법 (미니 배치 SGD): 미니 배치 확률적 경사하강법은 전체 배치와 SGD의 절충안입니다. 데이터 포인트 수가 $ N $ 인 경우 일괄 크기는 1보다 크고 $ N $보다 작은 임의의 숫자가 될 수 있습니다. 모델은 각 일괄 처리에 포함된 예시를 무작위로 선택하고 그 그라디언트의 평균을 구한 다음 반복당 한 번 가중치와 편향을 업데이트합니다.
각 배치의 예 수를 결정하는 것은 데이터 세트와 사용 가능한 컴퓨팅 리소스에 따라 다릅니다. 일반적으로 작은 배치 크기는 SGD처럼 작동하고, 큰 배치 크기는 전체 배치 경사하강법처럼 작동합니다.
그림 26 미니 배치 SGD로 학습된 모델
모델을 학습할 때 노이즈는 제거해야 하는 바람직하지 않은 특성이라고 생각할 수 있습니다. 하지만 어느 정도의 노이즈는 좋은 것일 수 있습니다. 후반 모듈에서는 노이즈가 모델의 일반화를 개선하고 신경망에서 최적의 가중치와 편향을 찾는 데 어떻게 도움이 되는지 알아봅니다.
에포크
학습 중에 에포크는 모델이 학습 세트의 모든 예시를 한 번 처리했음을 의미합니다. 예를 들어 예시가 1,000개인 학습 세트와 미니 배치 크기가 100개인 경우 모델이 하나의 에포크를 완료하는 데 10회의 iterations이 필요합니다.
학습에는 일반적으로 많은 세대가 필요합니다. 즉, 시스템은 학습 세트의 모든 예시를 여러 번 처리해야 합니다.
에포크 수는 모델이 학습을 시작하기 전에 설정한 초매개변수입니다. 대부분의 경우 모델이 수렴하는 데 걸리는 에포크 수를 실험해야 합니다. 일반적으로 에포크 수가 많을수록 모델이 더 좋지만 학습 시간이 더 오래 걸립니다.
그림 27. 전체 배치와 미니 배치 비교.
다음 표에서는 일괄 크기와 에포크가 모델이 매개변수를 업데이트하는 횟수와 어떤 관련이 있는지 설명합니다.
일괄 유형 | 가중치 및 편향 업데이트가 발생하는 경우 |
---|---|
전체 일괄 처리 | 모델은 데이터 세트의 모든 예를 확인한 후 예를 들어 데이터 세트에 예시가 1,000개 있고 모델이 20개의 에포크 동안 학습하는 경우 모델은 에포크당 한 번씩 가중치와 편향을 20번 업데이트합니다. |
확률적 경사하강법 | 모델이 데이터 세트에서 하나의 예를 확인한 후 예를 들어 데이터 세트에 1,000개의 예시와 20세대의 학습이 포함된 경우 모델은 가중치와 편향을 20,000번 업데이트합니다. |
미니 배치 확률적 경사하강법 | 모델이 각 배치의 예시를 확인한 후 예를 들어 데이터 세트에 예시가 1,000개 있고 배치 크기가 100이며 모델이 20개의 에포크 동안 학습하는 경우 모델은 가중치와 편향을 200번 업데이트합니다. |