본문 바로가기

심층 학습

8.1.3 배치 알고리즘과 미니배치 알고리즘

기계 학습 알고리즘과 일반적인 최적화 알고리즘의 또 다른 중요한 차이점은, 기계 학습에서는 목적함수르르 훈련 견본들에 관한 하나의 합으로 분해할 때가 많다는 것이다. 

기계 학습을 위한 최적화 알고맂므은 각 반복에서 매개변수들을, 완전한 비용함수가 사용하는 항들의 일부만으로 추정한 비용함수 기댓값에 기초해서 갱신한다.

예를 들어, 로그 공간을 기준으로 최대가능도 추정 문제를 다음과 같이 각 견본에 관한 합으로 분해할 수 있다.

이 합을 최대화하는 것은 훈련 집합으로 정의되는 경험분포에 관한 다음과 같은 기댓값을 최대화하는 것과 동등하다.

대부분의 최적화 알고리즘에 쓰이는 목적함수 J 의 속성들은 대부분 훈련 집합에 고나한 기댓값들이기도 하다. 

예를 들어 가장 널리 쓰이는 속성인 기울기는 하나의 기댓값이다.

이 기댓값을 실제로 계산하려면 자료 집합 전체의 모든 견본에 대해 모형을 평가해야 하므로 비용이 아주 많이 든다.

실제 응용에서는 자료 집합에서 적은 수의 견본들을 무작위로 추출한 후 그 견본들에 관해서만 평균을 계산해서 기댓값을 구한다.

 

대부분의 최적화 알고리즘은 정확한 기울기를 느리게 계산할 때보다 기울기의 추정값을 빠르게 계산하는 것이 허용될 때 훨씬 빨리 수렴한다. (계산적 이득이 크게 이득이지 않다.)

 

적은 수의 표본들을 이용해서 기울기를 통계적으로 추정하는 것이 바람직한 또 다른 이유는 훈련 집합에 중복성이 존재한다는 점이다.

표본추출에 기초한 기울기 추정 방법에서는 단 하나의 표본으로 기울기의 참값을 계산할 수 있으며, 그러면 필요한 계산량은 단순한 방법의 m 분의 1 이다. 

ㄷㅏ수의 견본이 기울기에 비슷하게 기여하느 ㄴ상황은 실제로 만날 수 있다.

 

훈련 집합 전체를 사용하는 최적화 알고리즘을 배치 경사 하강법 또는 결정론적 경사 하강법이라고 한다.

 

한 번에 하나의 견본만 사용하는 최적화 알고리즘을 확률적, 온라인 방법이라고 부른다.

 

그 중간을 미니배치,

미니배치의 크기를 결정할 때 흔히 고려하는 사항들은 다음과 같다.

  • 배치가 클수록 기울기의 추정값이 정확하지만 그 이득이 낮다.
  • 일반저그올 다중 코어 아키텍쳐는 배치가 아주 작으면 일부 코어를 활용하지 못한다. 처리 시간이 더 이상 줄어들지 않음
  • 메모리 사용량이 배치 크기의 주된 제한 요인
  • 배치가 작으면 정칙화 효과가 생길 수 있다. 작은 배치들이 학습 과정에서 잡음을 도입하기 때문, 

알고리즘이 미니배치의 어떤 정보를 어떤 식으로 활용하느냐는 알고리즘의 종류에 따라 다르다 .예를 들어 적으 수의 표본들로 정확하게 추정하기 어려운 정보를 사용하는 알고리즘들은 그렇지 않은 알고리즘들보다 표본추출 오차에 좀 더 민감하다.