배치 크기와 배치 정규화

Keras로 시작하는 딥 러닝

Miguel Esteban

Data Scientist & Founder

Keras로 시작하는 딥 러닝

Keras로 시작하는 딥 러닝

미니배치

장점

  • 더 빠른 학습(같은 시간에 더 많은 가중치 업데이트)
  • RAM 요구량 감소, 초대형 데이터셋 학습 가능
  • 노이즈로 국소 최소값을 벗어나 더 낮은 오류 도달 가능

단점

  • 더 많은 반복 필요
  • 배치 크기 튜닝 필요
Keras로 시작하는 딥 러닝

1 Stack Exchange
Keras로 시작하는 딥 러닝

Keras의 배치 크기

# Fitting an already built and compiled model
model.fit(X_train, y_train, epochs=100, batch_size=128)
                                        ^^^^^^^^^^^^^^

Keras로 시작하는 딥 러닝

Keras로 시작하는 딥 러닝

Keras로 시작하는 딥 러닝

Keras로 시작하는 딥 러닝

배치 정규화의 장점

  • 그래디언트 흐름 개선
  • 더 높은 학습률 허용
  • 가중치 초기값 의존도 감소
  • 의도치 않은 정규화 효과
  • 내부 공변량 변화 감소
Keras로 시작하는 딥 러닝

Keras의 배치 정규화

# Import BatchNormalization from keras layers
from tensorflow.keras.layers import BatchNormalization

# Instantiate a Sequential model model = Sequential()
# Add an input layer model.add(Dense(3, input_shape=(2,), activation = 'relu'))
# Add batch normalization for the outputs of the layer above model.add(BatchNormalization())
# Add an output layer model.add(Dense(1, activation='sigmoid'))
Keras로 시작하는 딥 러닝

연습해 봅시다!

Keras로 시작하는 딥 러닝

Preparing Video For Download...