Batch 배치

2024. 9. 24. 08:46·💻 Study/🤖 AI 인공지능
728x90

1. Batch란?

Batch는 인공지능(특히 딥러닝)에서 데이터를 처리하는 단위를 의미한다. 신경망을 학습할 때 전체 데이터를 한꺼번에 처리하지 않고, 여러 개의 작은 묶음(즉, 배치)으로 나누어 처리한다. 이는 메모리 사용량을 줄이고, 병렬 처리의 효율성을 높이며, 학습 과정에서의 안전성을 높이는 등의 이점이 있다.

 

2. Batch의 종류

1. 배치 학습 (Batch Learning): 전체 데이터를 한 번에 학습하는 방식. 일반적으로 메모리가 많이 소모되며 큰 데이터셋에서는 비효율적이다.

2. 미니배치 학습 (Mini-Batch Learning): 전체 데이터를 작은 묶음으로 나누어 학습하는 방식. 일반적으로 많이 사용된다.

3. 확률적 경사 하강법 (Stochastic Gradient Descent, SGD): 전체 데이터셋 중 하나의 데이터 포인트를 무작위로 선택하여 매번 업데이트를 수행하는 방식. 전통적인 배치 학습과 대비된다.

 

3. Batch의 장점

  • 효율적인 메모리 사용: 한 번에 처리하는 데이터의 양을 줄여 메모리 사용을 최적화할 수 있다.
  • 속도 향상: 병렬 처리가 가능해져 학습 속도를 향상시킬 수 있다.
  • 일반화 성능 향상: 학습 도중 여러 배치의 데이터를 이용해 모델이 더 일반화될 수 있다.

 

4. 연산 예제

 

  • \(z = Wx + b\)
  • \(y = activation(z)\)

 

Batch Sum


Batch Add

 

5. Batch Center at Zero

데이터 전처리 과정에서 흔히 사용되는 기술 중 하나로, 각 배치의 데이터 평균을 0으로 맞추는 것을 의미한다. 이는 데이터를 정규화하거나 표준화하는 과정의 일환으로, 신경망 학습의 안전성과 성능을 향상시키기 위해 사용된다.

 

데이터 중심화 (Centering the data)

  • 각 특성(feature)의 평균을 0으로 조정한다. 이는 데이터를 중심화(centering)하는 과정이다.
  • 배치 데이터를 사용하여 각 특성의 평균을 계산하고, 해당 평균을 각 데이터 포인트에서 빼준다.

목적

  • 가속화된 학습(Accelerated Training): 데이터 중심화는 경사하강법(Gradient Descent)의 수렴 속도를 가속화할 수 있다.
  • 숫자 안정성(Numerical Stability): 큰 숫자 범위로 인해 발생할 수 있는 수치적 불안정을 줄일 수 있다.
  • 균형적인 업데이트(Balanced Updates): 가중치 업데이트가 보다 균형 있게 이루어질 수 있다.

 

연산 예제

: Batch Minus를 통해 평균을 0으로 조정한 예제

 

 


참조

  • 연산 예제 출처: AI by Hand
728x90
저작자표시 (새창열림)

'💻 Study > 🤖 AI 인공지능' 카테고리의 다른 글

Linear Layer  (0) 2024.06.20
Basic Building Block 기본 빌딩 블록  (0) 2024.06.20
'💻 Study/🤖 AI 인공지능' 카테고리의 다른 글
  • Linear Layer
  • Basic Building Block 기본 빌딩 블록
soyang.
soyang.
코딩 및 개발 일지를 기록합니다.
  • soyang.
    소소한 코딩일지
    soyang.
  • 전체
    오늘
    어제
  • 링크

    • Github 🐾
    • 포트폴리오 📓 (리뉴얼중)
    • LinkedIn 👩🏻‍💼
  • 공지사항

    • 소소한 코딩일지
  • 블로그 메뉴

    • 방명록
    • 분류 전체보기 (181)
      • 🚩 목표 & 회고 (9)
      • 📓 Papers (10)
      • 🧇 Algorithm (44)
        • 이론 (1)
        • LeetCode (2)
        • 프로그래머스 (30)
        • 백준 (11)
      • 💻 Study (47)
        • 🤖 AI 인공지능 (3)
        • Python 파이썬 (3)
        • Docker 도커 (4)
        • 웹 (20)
        • 안드로이드 (2)
        • JAVA 자바 (1)
        • Firebase (3)
        • Linux 리눅스 (10)
      • 🍪 Projects (2)
      • 🎒 학교 (44)
        • 대학원 도비 (2)
        • 21 동계 모각코: 슈붕팥붕 (13)
        • 21 하계 모각코: 와팬호 (13)
        • 20 동계 모각코: 와팬호 (13)
      • 활동들 (16)
        • 인프런 대학생 LEAF 2기 (9)
        • 2021 Silicon Valley Online .. (7)
  • 태그

    Gentoo
    코딩테스트
    목표
    프로그래머스
    모각코
    공부
    Python
    알고리즘
    리액트
    백준
    Linux
    Algorithm
    error
    Ai
    노마드코더
    인프런대학생Leaf
    알고리즘스터디
    programmers
    Artificial Intelligence
    React
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
soyang.
Batch 배치
상단으로

티스토리툴바