・noise 는 분산과 같이 값이 퍼져있는 정도를 의미한다.
・BATCH_SIZE : 한 번의 배치에 사용되는 데이터 사이즈
・batch : 전체 데이터 사이즈에서 batch_size를 나눈 값을 loop되는 횟수를 의미
・세로축은 cost값인데 값이 매우 불안정하게 튀고있음을 알수 있다.
・
・
single gradient descent와 stochstic gradient descent는 싱글 데이터를 이용하므로 가장 시간이 오래걸린다.
full-batch gradient descent는 모든 트레이닝 데이터를 한번에 이용하므로 트레이닝 시간이 가장 짧다.
minibatch-SGD는 싱글 경사하강보다는 짧지만, 풀베치보다는 긴 시간이 걸린다.
・single gradient descent와 full-batch gradient descent는 local-optimal에 빠질 수 있기 때문에 시간이 짧고 local-optimal을 회피할 수 있는 minibatch-SGD가 가장 많이 사용된다.
・learning rate가 매회 일정하면, 최적값을 찾는 순간 그 값을 넘어 최저값의 반대편으로 넘어갈 수 있다(위그림의 최저 부분 참고)
・때문에 테스트 회수마다 learning rate를 감소시키면 최저값을 더 잘 찾수있지 않을까?
・특히 SGD의 경우 learning rate가 일정할 경우 값이 최저값 부근에서 반복만 될뿐 최저값이 더 이상 가깝게 가지 못하는 문제가 발생한다.
・위에서 봤듯, 어느 정도 트레이닝을 시키면 그 이후에는 값이 일정하게 왔다리 갔다리 하므로 종료조건을 설정해서 불필요한 트레이닝을 그치게 만든다.