1) Функции, извлеченные с использованием CNN, инвариантны относительно масштаба и вращения?
Сама особенность в CNN не является инвариантом масштаба или вращения. Для получения более подробной информации см .: Глубокое обучение. Ян Гудфеллоу, Йошуа Бенжио и Аарон Курвилль. 2016: http://egrcc.github.io/docs/dl/deeplearningbook-convnets.pdf ; http://www.deeplearningbook.org/contents/convnets.html :
Свертка не является естественным эквивалентом некоторых других преобразований, таких как изменения масштаба или поворота изображения. Другие механизмы необходимы для обработки таких преобразований.
Это максимальный уровень пула, который вводит такие инварианты:
2) Ядра, которые мы используем для свертки с нашими данными, уже определены в литературе? что это за ядра? это отличается для каждого приложения?
Ядра изучаются на этапе обучения ANN.
Я думаю, что вас смущает пара вещей, поэтому обо всем по порядку.
Выше, если для одномерных сигналов, но то же самое можно сказать и для изображений, которые являются просто двумерными сигналами. В этом случае уравнение становится:
Наглядно, это то, что происходит:
В любом случае, следует иметь в виду, что ядро , фактически изученное во время обучения Deep Neural Network (DNN). Ядро просто будет тем, чем вы свернете свой вклад. DNN изучит ядро так, что оно выявляет определенные грани изображения (или предыдущего изображения), которые будут полезны для снижения потери вашей целевой цели.
Это первый важный момент для понимания: традиционно люди проектировали ядра, но в Deep Learning мы позволяем сети решать, какое ядро должно быть лучшим. Однако мы указываем одну вещь - размеры ядра. (Это называется гиперпараметром, например, 5x5 или 3x3 и т. Д.).
источник
Многие авторы, включая Джеффри Хинтона (который предлагает 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 с различными преобразованными входными векторами.
«Трансформационно идентичные и инвариантные сверточные нейронные сети через операторы симметричных элементов» https://arxiv.org/abs/1806.03636 (июнь 2018 г.)
«Трансформационно идентичные и инвариантные сверточные нейронные сети путем объединения симметричных операций или входных векторов» https://arxiv.org/abs/1807.11156 (июль 2018 г.)
«Вращающиеся идентично-инвариантные и инвариантные сверточные нейронные сетевые системы» https://arxiv.org/abs/1808.01280 (август 2018 г.)
источник
Я думаю, что максимальное объединение может резервировать поступательные и вращательные инварианты только для переводов и вращений, меньших, чем размер шага. Если больше, нет неизменности
источник