inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 CNN 완벽 가이드 - TFKeras 버전

Batch size에 따른 처리 순서 질문

853

이지환

작성한 질문수 2

0

안녕하세요 강사님,

아직 Batch size에 대해 정확하게 감이 안와서 질문드립니다.

Batch size는 한번에 처리하는 이미지의 수라고 하는데 이 '처리'라는 의미가 gradient descent를 적용하는(weight를 업데이트)하는 것이라고 들었던 것 같습니다. 그러면 아래 모식도처럼 이미지를 Batch 별로 통과하면 Batch size만큼 loss가 생성되는데 이를 '합산'해서 weight를 업데이트하는 것이라고 이해하면 될까요? 

cnn 딥러닝 머신러닝 배워볼래요? tensorflow keras kaggle

답변 1

0

권 철민

안녕하십니까,

거의 비슷합니다. 그런데 합산의 의미가 좀 다릅니다.

적어 주신 것이 어떠한 의미로 loss를 합산해서 weight를 update하는건지는 명확하지 않지만, 단순히 loss를 합산하는 것이 아닙니다.

weight update식이 loss를 기반으로 만들어지는데, 이 loss가 배치 사이즈 만큼의 학습 데이터를 기반으로 생성하는 것입니다.

Gradient를 update하는 식은 좀 더 복잡하지만,  강의에서 Gradient Descent를 직접 구현할 때 선형 회귀식으로 말씀 드렸듯이 weight update식을 적용할 때 mini batch gradient descent는 배치 사이즈 만큼의 학습 데이터를 기반으로 단순 선형 회귀에 해당하는 Gradient Descent를 계산하고 이를 기반으로 weight update를 구성합니다.

즉 아래 식에서 N이 곧 배치 개수만큼 입니다.

그리고 말씀하신 대로 loss자체를 가지고 성능을 평가한다든지, 즉 학습중 loss가 증가/감소하는 것을 평가하는 경우는 보통은 배치 사이즈 만큼의 loss(즉 예측값과 실제값의 차이)를 평균해서 나타냅니다.

감사합니다.

resize 질문

0

60

1

20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅

0

86

1

Loss와 매트릭 관계

0

75

2

Boston 코랩 실습

0

170

2

배치 정규화의 이해와 적용 2 강의 질문

0

143

2

Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?

0

151

2

Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.

0

212

2

소프트맥스 관련 질문입니다

0

215

1

강의 관련 질문입니다

0

161

2

residual block과 identity block의 차이

0

200

2

옵티마이저와 경사하강법의 차이가 궁금합니다.

1

251

1

실습 환경

0

171

2

입력 이미지 크기

0

256

2

데이터 증강

0

203

2

albumentations ShiftScaleRotate

0

211

1

Model Input Size 관련

0

294

1

마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??

0

206

1

일반적인 질문 (kaggle notebook사용)

0

276

2

실무에서 Augmentation 적용 시

0

346

2

안녕하세요 교수님

0

235

1

가중치 초기화(Weight Initialization) 질문입니다.

0

332

1

테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류

0

412

1

학습이 이상하게 됩니다.

2

1040

2

boston import가 안됩니다

0

230

1