На самом деле, я думаю, что вопрос немного широк! Так или иначе.
Понимание сетей свертки
То, что изучено, ConvNets
пытается минимизировать функцию стоимости, чтобы правильно классифицировать входные данные в задачах классификации. Все изменяемые параметры и усвоенные фильтры предназначены для достижения указанной цели.
Изученные особенности в разных слоях
Они пытаются снизить затраты, изучая низкоуровневые, иногда бессмысленные, функции, такие как горизонтальные и вертикальные линии, в своих первых слоях, а затем складывают их, чтобы создать абстрактные формы, которые часто имеют значение, в своих последних слоях. Для иллюстрации этого рис. 1, который был использован отсюда , можно рассмотреть. Ввод - это шина, а группа показывает активацию после прохождения ввода через различные фильтры в первом слое. Как можно видеть, красная рамка, которая является активацией фильтра, параметры которого были изучены, была активирована для относительно горизонтальных ребер. Синяя рамка была активирована для относительно вертикальных краев. Возможно, чтоConvNets
изучите неизвестные фильтры, которые полезны, и мы, например, специалисты по компьютерному зрению, не обнаружили, что они могут быть полезны. Лучшая часть этих сетей состоит в том, что они пытаются найти соответствующие фильтры самостоятельно и не используют наши ограниченные обнаруженные фильтры. Они изучают фильтры, чтобы уменьшить количество функций стоимости. Как уже упоминалось, эти фильтры не обязательно известны.
В более глубоких слоях элементы, изученные в предыдущих слоях, объединяются и образуют формы, которые часто имеют значение. В этой статье обсуждалось, что эти уровни могут иметь активации, которые являются значимыми для нас, или концепции, которые имеют значение для нас, людей, могут быть распределены среди других активаций. На рис. 2 зеленая рамка показывает активаты фильтра в пятом слоеConvNet
, Этот фильтр заботится о лицах. Предположим, что красный заботится о волосах. Это имеет значение. Как можно видеть, есть другие активации, которые были активированы прямо в позиции типичных граней на входе, зеленая рамка - одна из них; Синяя рамка является еще одним примером этого. Соответственно, абстракция форм может быть изучена фильтром или многочисленными фильтрами. Другими словами, каждое понятие, как лицо и его компоненты, может быть распределено по фильтрам. В тех случаях, когда концепции распределены по разным слоям, если кто-то смотрит на каждый из них, они могут быть сложными. Информация распределяется между ними, и для понимания этой информации необходимо рассмотреть все эти фильтры и их активации, хотя они могут показаться очень сложными.
CNNs
не следует рассматривать как черные ящики вообще. Цейлер и все в этой удивительной статье обсуждали, что разработка лучших моделей сводится к методу проб и ошибок, если вы не понимаете, что делается внутри этих сетей. Этот документ пытается визуализировать карты объектов в ConvNets
.
Способность обрабатывать различные преобразования для обобщения
ConvNets
используйте pooling
слои не только для уменьшения количества параметров, но также для того, чтобы иметь возможность быть нечувствительным к точному положению каждого объекта. Также их использование позволяет слоям изучать различные функции, что означает, что первые слои изучают простые низкоуровневые элементы, такие как края или дуги, а более глубокие слои изучают более сложные функции, такие как глаза или брови. Max Pooling
Например, пытается выяснить, существует ли особая особенность в особом регионе или нет. Идея pooling
слоев настолько полезна, но она способна справиться с переходом среди других преобразований. Хотя фильтры в разных слоях пытаются найти разные шаблоны, например, повернутое лицо изучают, используя разные слои, чем обычное лицо,CNNs
сами по себе не имеют никакого слоя для обработки других преобразований. Чтобы проиллюстрировать это, предположим, что вы хотите выучить простые лица без поворота с минимальной сеткой. В этом случае ваша модель может сделать это отлично. Предположим, что вас просят выучить все виды лиц с произвольным поворотом лица. В этом случае ваша модель должна быть намного больше, чем предыдущая изученная сеть. Причина в том, что должны быть фильтры для изучения этих вращений на входе. К сожалению, это не все преобразования. Ваш вклад также может быть искажен. Эти дела разозлили Макса Джадерберга и других . Они составили эту статью, чтобы разобраться с этими проблемами, чтобы утвердить наш гнев как свой.
Сверточные нейронные сети работают
Наконец, после обращения к этим пунктам они работают, потому что они пытаются найти шаблоны во входных данных. Они складывают их, чтобы создать абстрактные понятия с помощью слоев свертки. Они пытаются выяснить, есть ли во входных данных каждое из этих понятий или нет в плотных слоях, чтобы выяснить, к какому классу относятся входные данные.
Я добавляю несколько ссылок, которые полезны: