О CNN, ядрах и инвариантности масштаба / вращения

18

У меня есть пара вопросов, которые смущают меня относительно CNN.
1) Функции, извлеченные с использованием CNN, инвариантны относительно масштаба и вращения?
2) Ядра, которые мы используем для свертки с нашими данными, уже определены в литературе? что это за ядра? это отличается для каждого приложения?

Ааднан Фарук А
источник

Ответы:

17

1) Функции, извлеченные с использованием CNN, инвариантны относительно масштаба и вращения?

Сама особенность в CNN не является инвариантом масштаба или вращения. Для получения более подробной информации см .: Глубокое обучение. Ян Гудфеллоу, Йошуа Бенжио и Аарон Курвилль. 2016: http://egrcc.github.io/docs/dl/deeplearningbook-convnets.pdf ; http://www.deeplearningbook.org/contents/convnets.html :

Свертка не является естественным эквивалентом некоторых других преобразований, таких как изменения масштаба или поворота изображения. Другие механизмы необходимы для обработки таких преобразований.

Это максимальный уровень пула, который вводит такие инварианты:

введите описание изображения здесь

2) Ядра, которые мы используем для свертки с нашими данными, уже определены в литературе? что это за ядра? это отличается для каждого приложения?

Ядра изучаются на этапе обучения ANN.

Франк Дернонкур
источник
Я не могу говорить с деталями с точки зрения современного уровня техники, но по теме пункта 1 я нашел это интересным.
GeoMatt22
@Franck 1) Это означает, что мы не предпринимаем никаких специальных шагов, чтобы сделать инвариант ротации системы? и как насчет масштабного инварианта, возможно ли получить масштабный инвариант из максимального пула?
Aadnan Farooq A
2) Ядра это особенности. Я этого не понял. [Здесь] ( wildml.com/2015/11/… ) Они упомянули, что «Например, в Классификации изображений CNN может научиться обнаруживать края из необработанных пикселей в первом слое, а затем использовать края для обнаружения простых форм в второй слой, а затем используйте эти формы для определения объектов более высокого уровня, таких как формы лица в более высоких слоях. Последний слой затем является классификатором, который использует эти элементы высокого уровня ».
Ааднан Фарук
2
Обратите внимание, что пул, о котором вы говорите, называется многоканальным пулом и не является типом пула, на который обычно ссылаются, когда речь идет о «максимальном пуле», который объединяет только пространственные измерения (а не разные входные каналы). ).
Солтий
1
Означает ли это, что модель, в которой нет слоев максимального пула (большинство современных архитектур SOTA не используют пулы), полностью зависит от масштаба?
shubhamgoel27
6

Я думаю, что вас смущает пара вещей, поэтому обо всем по порядку.

Икс[N]час[N]Икс[N]час[N]Y[N]знак равно(Иксчас)[N]

Y[N]знак равноΣмзнак равно-Икс[м] час[N-м]

Выше, если для одномерных сигналов, но то же самое можно сказать и для изображений, которые являются просто двумерными сигналами. В этом случае уравнение становится:

яNевес[р,с]знак равноΣUзнак равно-Σvзнак равно-яоLd[U,v] К[р-U,с-v]

Наглядно, это то, что происходит:

введите описание изображения здесь

В любом случае, следует иметь в виду, что ядро , фактически изученное во время обучения Deep Neural Network (DNN). Ядро просто будет тем, чем вы свернете свой вклад. DNN изучит ядро ​​так, что оно выявляет определенные грани изображения (или предыдущего изображения), которые будут полезны для снижения потери вашей целевой цели.

Это первый важный момент для понимания: традиционно люди проектировали ядра, но в Deep Learning мы позволяем сети решать, какое ядро ​​должно быть лучшим. Однако мы указываем одну вещь - размеры ядра. (Это называется гиперпараметром, например, 5x5 или 3x3 и т. Д.).

Тарин Зияе
источник
Хорошее объяснение. Можете ли вы ответить на первую часть вопроса. О CNN инвариант масштаба / вращения?
Aadnan Farooq A
1
@AadnanFarooqA Я сделаю это сегодня вечером.
Тарин Зияи
2

Многие авторы, включая Джеффри Хинтона (который предлагает Capsule net), пытаются решить проблему, но качественно. Мы стараемся решать эту проблему количественно. Если бы все ядра свертки были симметричными (двугранная симметрия порядка 8 [Dih4] или поворот с углом поворота на 90 градусов и т. Д.) В CNN, мы бы обеспечили платформу для входного вектора и результирующего вектора на каждом вращаемом скрытом слое свертки. синхронно с тем же симметричным свойством (то есть, Dih4 или 90-инкрементное вращение, симметричное и др.). Кроме того, имея одинаковое симметричное свойство для каждого фильтра (то есть полностью подключенного, но взвешивающего совместно с тем же симметричным шаблоном) на первом сглаженном слое, результирующее значение на каждом узле будет количественно идентичным и приведет к тому же выходному вектору CNN. также. Я назвал это трансформацией CNN (или TI-CNN-1). Существуют и другие методы, которые также могут создавать идентичные преобразования CNN с использованием симметричного ввода или операций внутри CNN (TI-CNN-2). На основе TI-CNN могут быть созданы идентичные вращающимся CNN (GRI-CNN) с помощью множества TI-CNN с входным вектором, повернутым на небольшой угол шага. Кроме того, составленная количественно идентичная CNN также может быть создана путем объединения нескольких GRI-CNN с различными преобразованными входными векторами.

  1. «Трансформационно идентичные и инвариантные сверточные нейронные сети через операторы симметричных элементов» https://arxiv.org/abs/1806.03636 (июнь 2018 г.)

  2. «Трансформационно идентичные и инвариантные сверточные нейронные сети путем объединения симметричных операций или входных векторов» https://arxiv.org/abs/1807.11156 (июль 2018 г.)

  3. «Вращающиеся идентично-инвариантные и инвариантные сверточные нейронные сетевые системы» https://arxiv.org/abs/1808.01280 (август 2018 г.)

Бен Ло
источник
-1

Я думаю, что максимальное объединение может резервировать поступательные и вращательные инварианты только для переводов и вращений, меньших, чем размер шага. Если больше, нет неизменности

Фейнман
источник
1
не могли бы вы немного расширить? Мы рекомендуем, чтобы ответы на этом сайте были немного более подробными, чем сейчас (сейчас это больше похоже на комментарий). Спасибо!
Антуан