Количество карт признаков в сверточной нейронной сети

Я прочитал эти статьи http://www.codeproject.com/Articles/143059/Neural-Network-for-Recognition-of-Handwriting-Di и когда я перехожу к этому: Слой #0: это изображение рукописного символа в оттенках серого в MNIST. база данных, которая дополнена до 29x29 пикселей. Во входном слое 29x29=841 нейрон. Слой № 1: это сверточный слой с шестью (6) картами объектов. Имеется 13x13x6 = 1014 нейронов, (5x5+1)x6 = 156 весов и 1014x26 = 26364 связи от слоя №1 к предыдущему слою.

Как мы можем получить шесть (6) карт признаков только из свертки на изображении? Я думаю, что мы получаем только одну карту объектов. Или я ошибаюсь?


person PhiVH    schedule 18.06.2014    source источник
comment
действительно хорошее объяснение здесь: stackoverflow.com/questions/42786717/   -  person hpep    schedule 14.08.2018


Ответы (2)


Я занимаюсь исследованием сверточной нейронной сети.

Шесть различных ядер (или фильтров) применяются к одному и тому же изображению для создания шести карт объектов.

Слой № 0: Входное изображение размером 29x29 пикселей, таким образом, имеет 29 * 29 = 841 нейрон (входной нейрон).

Слой № 1: сверточный слой использует 6 различных ядер (или фильтров) размером 5x5 пикселей и длиной шага 2 (количество сдвига при свертывании входных данных с помощью ядер или фильтров), которые свернуты с входным изображением (29x29), создавая 6 различных карт признаков ( 13x13), таким образом, 13x13x6=1014 нейронов.

Размер фильтра 5x5 и смещение (для коррекции веса), таким образом, (5x5)+1 нейрон и если у нас есть 6 ядер (или фильтров), дают 6*[(5x5)+1]= 156 нейронов.

Во время свертки мы перемещаем ядра (или фильтры) 26 раз (13 перемещений по горизонтали + 13 перемещений по вертикали) и, наконец, 1014 * 26 = 26364 соединения со слоя № 0 на слой № 1.

Вам следует ознакомиться с этой исследовательской работой Y LeCun, L Bottou, Y Bengio: Обучение на основе градиента, применяемое к распознаванию документов Раздел II для понимания сверточной нейронной сети (рекомендую прочитать всю статью).

Другое место, где вы можете найти подробное объяснение и реализацию Python для CNN, — здесь. Если у вас есть время, я рекомендую пройти этот сайт для более подробной информации о глубоком обучении.

Спасибо.

person Alwyn Mathew    schedule 11.12.2015

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

person Zaw Lin    schedule 21.06.2014