익숙한 모델에 배치 정규화 적용하기
이 장의 첫 번째 연습 문제에서 학습했던 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'])