ответ

0

CNN дает вам представление входного изображения. Чтобы изучить примеры классов, вы должны использовать классификатор (например, логистическая регрессия, SVM и т. Д.), Который изучает взаимосвязь между изученными функциями и образцами классов. Полностью подключенный слой также является линейным классификатором, таким как логистическая регрессия, которая используется по этой причине.

0

Свертывание и объединение слоев извлекают из изображения изображения. Таким образом, этот слой выполняет некоторую «предварительную обработку» данных. На основе этих извлеченных функций выполняются классифицированные в полном объеме функции.

1

В теории у вас нет , чтобы прикрепить полностью подключенный слой, у вас может быть полный стек сверток до самого конца, до тех пор, пока (из-за нестандартных размеров/прокладок) вы получите правильное число выходных нейронов (обычно число классов).

Итак, почему люди обычно этого не делают? Если перейти к математике, станет видно, что каждый выходной нейрон (таким образом - предсказание по отношению к некоторому классу) зависит от только от подмножества входных измерений (пикселей). Это было бы чем-то вроде строк модели, которая решает, является ли образ элементом класса 1 в зависимости от первых нескольких «столбцов» (или, в зависимости от архитектуры, строк или некоторого патча изображения), тогда ли это класс 2 в нескольких следующих столбцах (возможно, перекрытие), ... и, наконец, некоторый класс К в зависимости от нескольких последних столбцов. Обычно данные не имеют этой характеристики, вы не можете классифицировать изображение кота на основе нескольких первых столбцов и игнорировать остальные.

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

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

примечание Я рассматриваю здесь типичное использование CNN, где ядра небольшие. В общем, можно даже думать о MLP как о CNN, где ядро ​​имеет размер всего ввода с определенным интервалом/дополнением. Однако это просто угловые случаи, которые на самом деле не встречаются на практике и не влияют на рассуждения, так как в конечном итоге они становятся MLP. Здесь все просто: ввести глобальные отношения, если можно сделать это, используя CNN определенным образом - тогда MLP не нужны. MLP - это всего лишь в одном направлении введения этой зависимости.

+0

«Если один идет через математику, станет видно, что каждый выходной нейрон (таким образом. - предсказание WRT для некоторого класса) зависит только от подмножества размеров входных (пикселей)» - могли бы вы расширить что? К настоящему времени это утверждение неверно для бесконечно многих архитектур CNN. –

+0

«Конвоирование - это локальные операции» - необязательно. Вы можете создать сверточный слой, который имеет размер карты объектов (без заполнения). Тогда сверточный слой является глобальной операцией. –

+0

Да, это упрощение, они ** обычно ** локальные, конечно, вы можете перейти к такому пределу, где он вырождается обратно в MLP, но затем называть его сверткой сомнительно. – lejlot

3

Каждый полностью соединенный (FC) слой имеет эквивалентный сверточный слой (но не наоборот). Следовательно, нет необходимости добавлять FC-слои. Их всегда можно заменить сверточными слоями (+ перестройка). См. details.

Почему мы используем слои FC?

Поскольку (1) мы привыкли к нему (2), это проще. (1), вероятно, является причиной (2). Например, вам нужно будет отрегулировать убытки fuctions/форму меток/добавить измененную форму, чтобы добавить конец, если вы использовали сверточный слой вместо уровня FC.

Смежные вопросы