Настройка свёрток

Моделирование изображений с помощью Keras

Ariel Rokem

Senior Data Scientist, University of Washington

Свёртка

Моделирование изображений с помощью Keras

Свёртка с дополнением нулями

Моделирование изображений с помощью Keras

Дополнение нулями в Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
                 padding='valid')
Моделирование изображений с помощью Keras

Дополнение нулями в Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
                 padding='same')
Моделирование изображений с помощью Keras

Шаги

Моделирование изображений с помощью Keras

Шаги в Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          strides=1)
Моделирование изображений с помощью Keras

Шаги в Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          strides=2)
Моделирование изображений с помощью Keras

Пример

Моделирование изображений с помощью Keras

Вычисление размера выхода

$$O = ((I - K + 2P) / S) + 1$$

где

  • $I$ = размер входных данных
  • $K$ = размер ядра
  • $P$ = размер дополнения нулями
  • $S$ = шаги
Моделирование изображений с помощью Keras

Вычисление размера выхода

$$ 28 = ((28 - 3 + 2) / 1) + 1$$

$$ 10 = ((28 - 3 + 2) / 3) + 1$$

Моделирование изображений с помощью Keras

Расширенные свёртки

Моделирование изображений с помощью Keras

Расширение в Keras

model.add(Conv2D(10, kernel_size=3, activation='relu', 
                 input_shape=(img_rows, img_cols, 1)),
          dilation_rate=2)
Моделирование изображений с помощью Keras

Давайте потренируемся!

Моделирование изображений с помощью Keras

Preparing Video For Download...