Фильтр сверточных нейронных сетей - PullRequest
0 голосов
/ 22 ноября 2018

При кодировании сверточной нейронной сети я не уверен, с чего начать со сверточного уровня.Когда для создания разных карт объектов используются разные сверточные фильтры, означает ли это, что фильтры имеют разные размеры (например, 3x3, 2x2 и т. Д.)?

Ответы [ 3 ]

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

В большинстве примеров, которые являются хорошим показателем того, как идти о кодировании сверточной нейронной сети, вы обнаружите, что начните с 1 сверточного слоя и размеров проходного слоя, окна 3x3, функций входных данных.

 model.add(Conv2D(layer_size, (3,3), input_shape = x.shape[1:]))

Размеры фильтра обычно отличаются только в максимальном пуле, например, 2x2.

model.add(MaxPooling2D(pool_size=(2,2)))

Размеры слоя обычно выбираются из диапазона layer_size = [32, 64,128], и вы можете сделать то же самое для эксперимента.с разными convolution_layers = [1,2,3]

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

Я никогда не видел разных размеров ядра для фильтров в одном и том же слое, хотя это возможно, это не вариант по умолчанию для фреймворков, которые я использовал.Что заставляет фильтры давать разные карты характеристик, так это весовые коэффициенты.

В разных слоях используются ядра разных размеров, потому что идея сверточных сетей состоит в постепенном уменьшении размерности посредством слоев понижающей дискретизации (например, максимальное объединение), поэтому в глубокихна уровнях у вас есть карты объектов меньшего размера, а фильтр меньшего размера сохраняет его сверточным и менее полно связанным (имея ядро ​​того же размера, что и изображение, эквивалентно плотному слою).

Если вы начинаете с сверток Iрекомендую поиграть с этой интерактивной визуализацией CNN, она помогла мне с множеством концепций.

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

Больше, чем ответ, пожалуйста, рассмотрите это как комментарий.Применяемые фильтры могут быть (в основном в prod env) разных размеров.Я бы посоветовал прочитать больше о инвариантности , что наряду с алгоритмом оптимизации (например, Stochastic Gradient Descent ) останавливает два фильтра от изучения одной и той же функции (хотя некоторые изучают и те же функции).

...