Есть ли возможная ситуация, когда полностью подключенная сеть лучше, чем CNN?
Ну, я думаю, что мы должны сначала определить, что мы подразумеваем под «лучше».Точность и точность - это не единственное, что нужно учитывать: время вычислений, степени свободы и сложность оптимизации также должны быть приняты во внимание.
Сначала рассмотрим ввод размером h*w*c
.Подача этого ввода в сверточный слой с F
характеристическими картами и размером ядра s
приведет к примерно F*s*s*c
изучаемым параметрам (при условии, что нет никаких ограничений на ряды сверток, в противном случае у нас даже будет меньше параметров.).Подача одного и того же ввода в полностью подключенный слой с тем же числом карт характеристик приведет к F*d_1*d_2*w*h*c
, (где d_1,d_2
- размеры каждой карты объектов), что явно составляет порядка миллиардов доступных для изучения параметров, учитывая любое входное изображение сприличное разрешение.
Хотя может показаться заманчивым, что мы можем покончить с более мелкими сетями (у нас уже есть много параметров, верно?), полностью подключенные слои - это всего лишь линейные слои, так что нам все еще нужновставить много нелинейностей, чтобы сеть получила разумную репрезентативную мощность.Таким образом, это будет означать, что вам все равно понадобится глубокая сеть, однако с таким количеством параметров, что это будет невозможно отследить.Кроме того, более крупная сеть будет иметь больше степеней свободы и, следовательно, будет моделировать намного больше, чем мы хотим: она будет моделировать шум, если мы не передадим ему некоторые данные или не ограничим их.
Так что да, это может бытьполностью подключенная сеть, которая теоретически может дать нам лучшую производительность, но мы пока не знаем, как ее тренировать.Наконец, и это основано исключительно на интуиции и, следовательно, может быть ошибочным, но мне кажется маловероятным, что такая полностью подключенная сеть сойдет к плотному решению.Поскольку многие сверточные сети достигают очень высокого уровня точности (99% и выше) по многим задачам, я думаю, что оптимальное решение, к которому может прийти полностью подключенная сеть, было бы близко к сверточной сети.Таким образом, нам не нужно обучать полностью подключенный, а только подмножество его архитектуры.