Сеть CNN, продолжайте использовать conv2d, не используя maxpool, вопрос от чтения книги keras - PullRequest
0 голосов
/ 27 февраля 2019

Я читаю книгу по изучению Python от Франсуа Шоле.На странице 128 автор обсуждает проблему наличия непрерывного слоя Conv2d вместо слоя с максимальным пулом.Мой вопрос из следующего абзаца. Я не понимаю, откуда взялся 7X7?

Это не способствует изучению пространственной иерархии объектов.Окна 3 × 3 в третьем слое будут содержать только информацию, поступающую из окон 7 × 7 при первоначальном вводе.Шаблоны высокого уровня, усвоенные коннетом, все еще будут очень малы по отношению к начальному вводу, что может быть недостаточно для обучения классификации цифр (попробуйте распознать цифру, только глядя на нее через окна размером 7 × 7 пикселей!).Нам нужно, чтобы объекты из последнего слоя свертки содержали информацию о совокупности входных данных.

Layer (type) Output Shape Param #
================================================================
conv2d_4 (Conv2D) (None, 26, 26, 32) 320
________________________________________________________________
conv2d_5 (Conv2D) (None, 24, 24, 64) 18496
________________________________________________________________
conv2d_6 (Conv2D) (None, 22, 22, 64) 36928
================================================================
Total params: 55,744
Trainable params: 55,744
Non-trainable params: 0

1 Ответ

0 голосов
/ 27 февраля 2019

Я предполагаю, что ваша архитектура cnn имеет только 3 * 3 ядра.

Благодаря ядру 3 * 3, первый слой создает карту характеристик из вашего ввода.Каждый пиксель этих карт характеристик зависит только от квадрата 3 * 3 от ввода.Затем второй слой делает то же самое, принимая карты объектов в качестве входных данных.Итак, теперь один пиксель зависит от квадрата 3 * 3 карты объектов, который зависит от квадрата 5 * 5 входных данных.

Делая это в третий раз, пиксель на третьем слоеКарта характеристик зависит только от окна ввода 7 * 7.

Вот пример 1D:

        *            # third layer pixel
      | | |
      * * *          # second layer pixels
    | | | | |
    * * * * *        # first layer pixels
  | | | | | | |
  * * * * * * *      # input pixels --> An unique third layer layer pixel depends on only 7 input pixels
...