Сверточная нейронная сеть - Как получить карту возможностей? - PullRequest
16 голосов
/ 21 августа 2009

Я прочитал несколько книг и статей о Сверточной нейронной сети, кажется, я понимаю концепцию, но я не знаю, как ее описать, как на картинке ниже: alt text
(источник: what-when-how.com )

из 28x28 нормализованного пикселя INPUT мы получаем 4 карты характеристик размером 24x24. а как их получить? изменить размер изображения INPUT? или выполнение преобразований изображения? а что за преобразования? или разрезать входное изображение на 4 части размером 24х24 на 4 угла? Я не понимаю этот процесс, мне кажется, что они сокращают или изменяют размер изображения на меньшие изображения на каждом шаге. пожалуйста помогите спасибо.

1 Ответ

8 голосов
/ 22 июля 2011

Это файл справки matlab для функции CONV2, который используется в CNN Matlab (для получения сверточных слоев). Внимательно прочтите его, и вы увидите свой ответ.

%CONV2 Two dimensional convolution.
%   C = CONV2(A, B) performs the 2-D convolution of matrices A and B.
%   If [ma,na] = size(A), [mb,nb] = size(B), and [mc,nc] = size(C), then
%   mc = max([ma+mb-1,ma,mb]) and nc = max([na+nb-1,na,nb]).
%
%   C = CONV2(H1, H2, A) convolves A first with the vector H1 along the
%   rows and then with the vector H2 along the columns. If n1 = length(H1)
%   and n2 = length(H2), then mc = max([ma+n1-1,ma,n1]) and 
%   nc = max([na+n2-1,na,n2]).
%
%   C = CONV2(..., SHAPE) returns a subsection of the 2-D
%   convolution with size specified by SHAPE:
%     'full'  - (default) returns the full 2-D convolution,
%     'same'  - returns the central part of the convolution
%               that is the same size as A.
%     'valid' - returns only those parts of the convolution
%               that are computed without the zero-padded edges.
%               **size(C) = max([ma-max(0,mb-1),na-max(0,nb-1)],0).**
...