기본 딥러닝 개념

‍이예슬·2022년 12월 12일
0

Total Review

목록 보기
3/5

📌 Batch vs Mini-Batch

https://welcome-to-dewy-world.tistory.com/86

✔ 배치(Batch)

  • 인공신경망에 10만개의 데이터를 학습시키고자 할 때, 어떻게 하면 빠르게 학습시킬 수 있을까?

  • A) 데이터를 1개씩 입력받아 총 10만번의 연산을 진행하는 것보다 한번에 큰 묶음으로 데이터를 입력받아 n번의 연산을 진행하는 것이 더 빠름.

  • 즉, 느린 I/O를 통해 데이터를 읽는 횟수를 줄이고 CPU나 GPU로 순수 계산을 하는 비율을 높여 속도를 빠르게 할 수 있음

✔ 미니배치(Mini-Batch)

  • 데이터를 하나씩 신경망에 넣으면
    → 장점으로는, 신경망을 한번 학습시키는데 소요되는 시간이 매우 짧음
    → 단점으로는, GPU의 병렬처리를 사용하지 않으니 그만큼 자원 낭비가 됨.
    → 또한 오차를 줄이기 위해 사용하는 loss function은 최적의 파라미터를 설정하는데 많이 헤매게 됨.

  • 전체 데이터를 신경망에 넣으면
    → 장점으로는, 한번에 여러개의 데이터에 대해서 신경망을 학습시킬 수 있으므로 오차를 줄일 수 있는 cost function의 최적의 parameter를 하나씩 학습하는 것보다 빠르게 알아낼 수 있음.
    → 단점으로는, 전체 데이터를 학습시키기 때문에 신경망을 한 번 학습시키는데 소요되는 시간이 매우 김

  • 따라서 미니배치가 등장함.

  • 미니배치는 SGD(확률적 경사 하강법)과 배치를 섞은 것으로 전체 데이터를 N등분하여 각각의 학습 데이터를 배치 방식으로 학습시킴.

💫 헷갈리는 것

  • 원래 배치는 전체 훈련 데이터를 말하고, 미니 배치가 데이터를 분할해서 다룰 때를 의미함.
  • 하지만 데이터를 분할해서 다룰 때도 그냥 배치(batch)라고 부르는 경우가 많음.
profile
Yeseul Lee

0개의 댓글