в конце концов вы конвертируете 2D матрицу в вектор в нейронной сети, так какой смысл? - PullRequest
0 голосов
/ 12 марта 2020

Полагаю, это тупой вопрос? но я хотел знать, что в конечном итоге в конвективной нейронной сети мы сглаживаем 2-мерную матрицу в одном столбцовом векторе, чтобы мы могли подать ее на прямую нейронную сеть, чем в тот момент, когда мы не потеряем пространственную информацию о пикселях , Любое руководство будет оценено, спасибо.

1 Ответ

1 голос
/ 12 марта 2020

Нет, вы не потеряете пространственную информацию при переходе от сверточных слоев к плотным слоям. Подумайте о простом случае использования одного фильтра 2x2 для изображения в градациях серого 2x3 без заполнения. Это даст результат 1x2.

Теперь предположим, что есть два класса изображения. Один всегда выглядит так:

1 0 0
1 0 0

А другой всегда выглядит так:

0 1 0
0 1 0

Один фильтр, который можно научить различать guish, эти два изображения могут выглядеть следующим образом:

.5 0
.5 0

Этот фильтр просто усредняет значения в левой половине пространственной области и выдает [1 0] для первого класса и [0 1] для второго класса. Очевидно, что эта исключительно пространственная информация может быть легко использована для классификации по плотному слою с активацией softmax.

Фактически этот фильтр выдает пространственную информацию для любого изображения 2xN в виде одномерного вектора, поэтому должно быть ясно, что простой переход от 2D-векторов к 1D-векторам не обязательно приводит к потере пространственной информации. Это зависит от того, как были сгенерированы эти одномерные векторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...