Добавление пакетной нормализации в сеть
Пакетная нормализация — ещё один способ регуляризации: она масштабирует выходные данные слоя так, чтобы их среднее значение равнялось 0, а стандартное отклонение — 1. В этом упражнении мы добавим пакетную нормализацию в свёрточную нейронную сеть, которую использовали в предыдущих упражнениях:
- Свёртка (15 фильтров, размер ядра 2, активация
'relu') - Пакетная нормализация
- Свёртка (5 фильтров, размер ядра 2, активация
'relu') - Выравнивание (
Flatten) - Полносвязный слой (3 нейрона, активация
'softmax')
В вашем рабочем пространстве доступны: объект model типа Sequential, а также классы Dense, Conv2D, Flatten и Dropout.
Это упражнение является частью курса
Моделирование изображений с помощью Keras
Инструкции к упражнению
- Добавьте первый свёрточный слой. Для задания параметра
input_shapeэтого слоя используйте объектыimg_rowsиimg_cols, доступные в вашем рабочем пространстве. - Добавьте пакетную нормализацию, применяемую к выходным данным первого слоя.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Add a convolutional layer
____
# Add batch normalization layer
____
# Add another convolutional layer
model.add(Conv2D(5, kernel_size=2, activation='relu'))
# Flatten and feed to output layer
model.add(Flatten())
model.add(Dense(3, activation='softmax'))