-
[AI] Gradient Descent Methods (경사하강법)AI 2023. 4. 4. 11:01728x90
Stochastic gradient descent
single sample에서 계산된 기울기(Gradient)로 업데이트합니다.
Mini-batch gradient descent
데이터의 하위 집합(subset)에서 계산된 기울기(Gradient)로 업데이트합니다.
Batch gradient descent
전체 데이터에서 계산된 기울기(Gradient)로 업데이트합니다.
Batch-Size Matters(문제)
Batch-Size
Batch-Size란 모델 학습 중 parameter를 업데이트할 때 사용할 데이터 개수를 의미합니다. 즉, 연산 한 번에 들어가는 데이터의 크기입니다.
Batch 크기 만큼 데이터를 활용하여 모델이 예측한 값과 실제 정답간의 오차(손실함수)를 계산하여 Optimizer가 paramter를 업데이트합니다.
예를 들어, 전체 트레이닝 데이터 셋을 여러 작은 그룹으로 나누었을 때 하나의 소그룹에 속하는 데이터 수입니다. 전체 트레이닝 셋을 작게 나누는 이유는 트레이닝 데이터를 통째로 신경망에 넣으면 비효율적으로 리소스를 사용하여 학습 시간이 오래 걸리기 때문입니다.
배치 사이즈가 너무 큰 경우 한번에 처리해야 할 데이터 수가 많아지므로 학습 속도가 느려지고 메모리 부족 문제가 발생할 위험이 있습니다. 큰 Batch-Size를 사용하면, 일반화 능력으로 측정하였을 때 모델의 품질이 저하됩니다.
반대로, 배치 사이즈가 너무 작은 경우 적은 데이터를 대상으로 가중치를 업데이트하고, 이 업데이트가 자주 발생하므로, 훈련이 불안정해집니다
728x90'AI' 카테고리의 다른 글
[AI] Pandas (작성중) (0) 2023.05.12 [AI] Optimization(최적화) (0) 2023.04.03 [AI] Neural Network, 활성 함수, MLP (0) 2023.04.03 [AI] 딥러닝 기초 (0) 2023.03.31 [AI] seaborn (0) 2023.03.27