네트워크에 드롭아웃 추가하기
드롭아웃은 정규화 기법의 하나로, 학습할 때마다 레이어의 유닛 중 무작위 부분집합을 비활성화해요. 이번 연습에서는 이전 연습에서 사용한 합성곱 신경망에 드롭아웃을 추가해 보겠습니다:
- 합성곱(유닛 15개, 커널 크기 2, 활성화 함수 'relu')
- 드롭아웃(20%)
- 합성곱(유닛 5개, 커널 크기 2, 활성화 함수 'relu')
- 평탄화(Flatten)
- 밀집(유닛 3개, 활성화 함수 'softmax')
작업 공간에는 Sequential model과 Dense, Conv2D, Flatten, Dropout 객체가 준비되어 있어요.
이 연습은 강의의 일부입니다
Keras로 배우는 이미지 모델링
연습 안내
- 첫 번째 레이어 뒤에 드롭아웃 20%를 추가하세요.
- 평탄화(Flatten) 레이어를 추가하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Add a convolutional layer
model.add(Conv2D(15, kernel_size=2, activation='relu',
input_shape=(img_rows, img_cols, 1)))
# Add a dropout layer
____
# Add another convolutional layer
model.add(Conv2D(5, kernel_size=2, activation='relu'))
# Flatten and feed to output layer
____
model.add(Dense(3, activation='softmax'))