Note ≡ 패딩
▲ 그림 5-26 패딩
합성곱 연산을 수행하는 과정에서 커널/필터와 스트라이드의 작용으로 원본 이미지 크기가 줄어듭니다. 이렇게 특성 맵의 크기가 작아지는 것을 방지하려고 패딩(padding) 기법을 이용합니다. 쉽게 말해 단순히 원본 이미지에 0이라는 패딩 값을 채워 넣어 이미지를 확장한 후 합성곱 연산을 적용합니다.
오른쪽 그림을 보면 (5, 5, 1) 크기의 이미지에 사방으로 빈 공간(0)이 한 칸씩 더 채워져 있는 것을 확인할 수 있는데, 이것이 패딩입니다. 이후 3×3 크기의 커널/필터를 적용하면 (3, 3, 1) 크기의 특성 맵이 아닌 원본 이미지와 똑같은 (5, 5, 1) 크기의 특성 맵이 출력됩니다(스트라이드=1).
즉, 원본 이미지 크기를 줄이지 않으면서 합성곱 연산이 가능하게 하는 것이 패딩의 역할이라고 할 수 있습니다.
컴파일이 완료되었다면 모델을 훈련시키고 성능에 대해 평가합니다.
코드 5-11 모델 훈련 및 성능 평가
model_with_conv.fit(X_train_final, y_train, epochs=5)
model_with_conv.evaluate(X_test_final, y_test, verbose=2)