시작하기무료로 시작하기

익숙한 모델에 배치 정규화 적용하기

이 장의 첫 번째 연습 문제에서 학습했던 digits 데이터셋을 기억하시나요?

출력 레이어에 10개의 뉴런과 softmax를 사용해 풀었던 다중 클래스 분류 문제였죠.

이제 각 50개의 뉴런으로 구성된 은닉층 3개를 쌓고, 층 사이에 배치 정규화를 적용한 더 깊은 모델을 만들어 볼 거예요. kernel_initializer 매개변수는 가중치를 유사한 방식으로 초기화하는 데 사용돼요.

이 연습은 강의의 일부입니다

Keras로 시작하는 딥 러닝

강의 보기

연습 안내

  • tensorflow.keras의 layers에서 BatchNormalization을 임포트하세요.
  • 심층 네트워크 모델을 빌드하세요. 은닉층마다 50개의 뉴런을 사용하고, 각 층 사이에 배치 정규화를 추가하세요.
  • 옵티마이저로 확률적 경사 하강법 sgd를 사용해 모델을 컴파일하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import batch normalization from keras layers
from tensorflow.____.____ import ____

# Build your deep network
batchnorm_model = ____
batchnorm_model.add(Dense(____, input_shape=(64,), activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(10, activation='softmax', kernel_initializer='normal'))

# Compile your model with sgd
batchnorm_model.compile(optimizer=____, loss='categorical_crossentropy', metrics=['accuracy'])
코드 편집 및 실행