Уменьшает ли уровень maxpooling количество параметров в сети? - PullRequest
0 голосов
/ 26 ноября 2018

У меня определена простая сеть:

model = Sequential()
model.add(Conv1D(5, 3, activation='relu', input_shape=(10, 1),name="conv1",padding="same"))
model.add(MaxPooling1D())
model.add(Conv1D(5, 3, activation='relu',name="conv2",padding="same"))
model.add(MaxPooling1D())
model.add(Dense(1, activation='relu',name="dense1"))
model.compile(loss='mse', optimizer='rmsprop')

Форма слоев выглядит следующим образом:

conv1-(None, 10, 5)

max1-(None, 5, 5)

conv2-(None,5,5)

max2-(None,2,5)

dense1-(None,2,1)

Модель имеет всего 106 параметров, однако, если я удаляюМаксимальный уровень пула, тогда сводка модели выглядит следующим образом:

conv1-(None, 10, 5) 

conv2-(None,10,5)

dense1-(None,10,1)

В обоих случаях общие параметры остаются равными 106, но почему обычно пишется, что уровень максимального пула уменьшает количество параметров?

1 Ответ

0 голосов
/ 26 ноября 2018

Какая сеть?Все зависит от тебя.

  • Слои Conv: нет
  • Плотные слои:
    • Сразу после Conv или Pooling:
      • С "channel_last": нет
      • С «channel_first»: да
    • После выравнивания слоев: да
    • После слоев GlobalPooling: нет

Ваша сеть: нет.

Пояснения

  • Пулы и GlobalPoolings изменяют размеры изображения, но не меняют количество каналов
  • Слои Conv - это фильтры фиксированного размера, которые проходят вдоль изображений. Размер фильтра не зависит от размера изображения, поэтому нет никаких изменений.Фильтры зависят от размера ядра и каналов
  • Плотные слои работают только в последнем измерении.
    • Если последним измерением являются каналы, слои объединения не влияют на него
    • Если последним измерением является сторона изображения, это влияет
  • Сглаженные слои преобразуют размеры изображения и каналы в одно измерение.
...