Почему размеры первого плотного слоя не должны равняться размерам Flatten () в CNN? - PullRequest
0 голосов
/ 10 апреля 2019

Из моего понимания CNN, Flatten используется для перехода от 2D к 1D, так что вы можете использовать плотные слои для выполнения классификации. Также, в моем понимании, сглаживание приводит к тому, что размеры фильтра умножаются на количество фильтров.

Почему после сглаживания первый Плотный слой не должен иметь такие же размеры, как результат сглаживания (что было бы тусклым светом фильтров * фильтров)? Оба CNN, в которых первый плотный слой имеет меньше или больше узлов, чем dims flatten, будут работать, но я понятия не имею, почему. Разве Flatten не должен давать вам входные данные для плотных слоев?

1 Ответ

1 голос
/ 10 апреля 2019

Flatten действительно сглаживает ваши выходы в 1-мерном.

Однако плотный слой, в который он подается, может быть любого размера.Количество нейронов в плотном слое (ях) не зависит от количества входов, которые они получают.Это особенность традиционных нейронных сетей (многослойных персептронов) и не имеет никакого отношения к операциям свертки или слоям заранее.

Конструкция полностью подключенной части сети, где находятся плотные слои, не имеет окончательного решения, однако существуют практические правила , которым можно следовать.

...