관련 링크

https://www.degruyter.com/downloadpdf/j/itms.2017.20.issue-1/itms-2017-0003/itms-2017-0003.pdf

https://stats.stackexchange.com/questions/164876/tradeoff-batch-size-vs-number-of-iterations-to-train-a-neural-network

http://forums.fast.ai/t/batch-size-effect-on-validation-accuracy/413

https://www.quora.com/Intuitively-how-does-mini-batch-size-affect-the-performance-of-stochastic-gradient-descent

http://goodtogreate.tistory.com/entry/Batch-%ED%81%AC%EA%B8%B0%EC%9D%98-%EA%B2%B0%EC%A0%95-%EB%B0%A9%EB%B2%95

https://blog.lunit.io/2018/08/03/batch-size-in-deep-learning/



1. "Impact of Training Set Batch Size on the Performance of Convolutional Neural Networks for Diverse Datasets" 에 따르면(VIII 결론 부분)


CNN의 퍼포먼스를 늘리는 문제(image recognition의 정확도)에 있어서 CNN 파라미터 중 배치사이즈는 치명적인(crucial) 영향력을 갖고 있다


이 값이 높을수록 인식 정확도가 높아진다. 반면 계산 양이 많아진다


대략 200부터 다양한 크기의 배치사이즈가 적절하다고 말하고있다.



2. From Nitish Shirish Keskar, Dheevatsa Mudigere, Jorge Nocedal, Mikhail Smelyanskiy, Ping Tak Peter Tang. On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima. https://arxiv.org/abs/1609.04836  에 내용


large-batch 에서 generalization이 부족한데 그 이유는 sharp minimizers로 수렴하는 경향 때문이라고 한다.


이런 minimizer들은 


2f(x)


의 eigenvalue가 큰 양수인 특징이 있다고 한다. 반면 flat minimizer들은 그게 작은 양수 값들임


그들의 관찰에 의하면 large-batch의 딥러닝들은 주로 sharp minima에 빠지는 경우가 많당



그리고 Ian Goodfellow가 '왜 그래디언트 계산할때 모든 트레이닝셋을 쓰지않는지 즉 미니배치를 왜쓰는지'에 대해 답변하길


러닝레이트(learning rate)는 코스트 함수(cost function)가 얼마나 굽어져있는지(curved) 등에 의해 제한된다. gradient descent가 코스트 함수의 linear approximation을 만든 것을 생각할때 기울기를 보고 아래쪽으로 움직이지. 만약에 코스트 함수가 상당히(highly) non-linear하면(즉 highly curved) 그 근사치(approximation)이 충분히 좋지 않아 lr이 작아야 안전하다.


미니배치에 m개를 넣으면 시공간 복잡도가 각각 O(m)이다. 하지만 O(sqrt(m))으로 줄일수있다(이부분 의역)

다른말로, 미니배치에 더 많은 예시를 넣게 되면 약해진 미미한(diminishing marginal) 결과를 얻는다


또한 전체 트레이닝 셋을 다 쓴다고해서 정확한 기울기값을 알수있는게 아니다. 데이터 분포에 영향받기 때문에 기대값을 갖게될수밖에 없다.




그밖에 

http://goodtogreate.tistory.com/entry/Batch-%ED%81%AC%EA%B8%B0%EC%9D%98-%EA%B2%B0%EC%A0%95-%EB%B0%A9%EB%B2%95

https://blog.lunit.io/2018/08/03/batch-size-in-deep-learning/


위 두 글에서도 잘 정리가 되어있는데 한국어이니 여기에 정리는 안하고 나중에 필요하면 다시 읽어볼것이다



근데 결론이 좀 어렵다. 

+ Recent posts