손실 줄이기: 확률적 경사하강법

경사하강법에서 배치는 단일 학습 반복에서 기울기를 계산하는 데 사용하는 예의 집합입니다. 지금까지는 배치가 전체 데이터 세트라고 가정했습니다. Google 규모로 작업할 때 데이터 세트에는 수십억 또는 수천억 개의 예시가 포함되는 경우가 많습니다. 또한 Google 데이터 세트에는 종종 엄청난 수의 특성이 포함되어 있습니다. 결과적으로 배치는 엄청날 수 있습니다. 배치가 매우 크면 한 번의 반복으로도 계산하는 데 시간이 매우 오래 걸릴 수 있습니다.

무작위로 샘플링된 예가 포함된 대규모 데이터 세트에는 중복 데이터가 포함되어 있을 수 있습니다. 실제로 배치 크기가 커질수록 중복성의 가능성도 높아집니다. 일부 중복성은 노이즈가 있는 그라데이션을 평활화하는 데 유용할 수 있지만, 대규모 배치는 대규모 배치보다 예측성이 더 높은 값을 전달하지 않는 경향이 있습니다.

평균적으로 훨씬 적은 계산으로 적절한 기울기를 얻을 수 있다면 어떨까요? 데이터 세트에서 예를 무작위로 선택하여 (노이즈가 있더라도) 훨씬 작은 데이터에서 큰 평균을 추정할 수 있습니다. 확률적 경사하강법 (SGD)은 이 아이디어를 극단적으로 활용하여 반복당 하나의 예 (배치 크기 1)만 사용합니다. 반복이 충분하면 SGD가 작동하지만 노이즈가 매우 큽니다. '확률적'이라는 용어는 각 배치를 구성하는 하나의 예가 무작위로 선택된다는 것을 나타냅니다.

미니 배치 확률적 경사하강법 (미니 배치 SGD)는 전체 배치 반복과 SGD 간의 절충안입니다. 미니 배치는 일반적으로 10~1,000개의 예시로 구성되며 무작위로 선택됩니다. 미니 배치 SGD를 사용하면 SGD의 노이즈 양이 줄어들지만 전체 배치보다 효율적입니다.

간단한 설명을 위해 단일 특성에 대한 경사하강법에 중점을 두었습니다. 경사하강법은 여러 특성을 포함하는 특성 세트에서도 사용할 수 있으므로 안심할 수 있습니다.