Источник статьи: https://arxiv.org/abs/1609.04112

С появлением сложных и эффективных архитектур нейронных сетей производительность сверточной нейронной сети превзошла традиционные методы обработки цифровых изображений, такие как SIFT и SURF. В области компьютерного зрения ученые склонны смещать фокус своих исследований на CNN и начинают верить, что CNN — это будущая тенденция в этой области. Однако за эмпирическими успехами мало понимания. Следовательно, горячая тема сегодня - исследовать, что происходит. По сути, существует три основных подхода: перспектива оптимизации, перспектива аппроксимации и перспектива сигнала. Первые два в основном сосредоточены на чисто математических представлениях, пытающихся проанализировать статистические свойства и сходимость нейронных сетей, а третий, с точки зрения сигналов, пытается решить следующие проблемы:

  1. Почему нелинейная функция активации необходима на выходе фильтра всех промежуточных слоев?
  2. В чем преимущество двухуровневой каскадной системы перед однослойной?

Введение Rectified COrrelations on a Sphere (RECOS)

Хорошо известно, что нейронную сеть с прямой связью можно рассматривать как универсальный аппроксиматор, способный аппроксимировать любую непрерывную функцию с учетом одного скрытого слоя, содержащего конечное число нейронов. Что делает FNN особенным, так это способность нелинейно активировать нейроны. Нейронные сети иногда бывают широкими и глубокими, но без нелинейной активации их сложная архитектура ведет себя просто как простая однослойная линейная модель, пытающаяся отобразить входные данные в другое выходное пространство. Если быть точным, нелинейная функция активации может предоставить нам новое представление набора входных данных, которое больше подходит для решения реальных проблем.

CNN — это просто еще один тип FNN или MLP (многослойный персептрон). Для анализа нелинейности CNN автор предложил математическую модель для понимания поведения CNN. CNN рассматриваются как сеть, образованная базовыми операционными единицами, которая проводит «Rectified Correlations on a Sphere (RECOS)». Таким образом, она называется моделью RECOS. Во время обучения CNN веса ядер сначала инициализируются, а затем корректируются с помощью методов градиентного спуска и алгоритма обратной опоры. В модели RECOS веса относятся к вектору привязки, чтобы представить их роль в кластеризации входных данных. Это означает, что мы пытаемся вычислить корреляцию между входным вектором и вектором привязки, а затем измерить сходство.

Почему нелинейная активация?

Вместо того, чтобы рассматривать взаимодействие всех пикселей за один шаг, как это делается в MLP, CNN разбивает входное изображение на более мелкие участки, известные как рецептивные поля для узлов на определенных уровнях. Он постепенно увеличивает рецептивное поле, чтобы покрыть большую часть изображения. Нейрон вычисляет корреляцию между входным вектором и его якорным вектором, чтобы измерить их сходство. В одном блоке RECOS имеется K нейронов. Мы рассматриваем нашу систему как Y = AX, где X — входной вектор, Y — выходной вектор, A — наш вектор привязки (весовая матрица ядерных фильтров). Из этого уравнения мы видим, что CNN отображает входные данные в другое пространство. И в модели RECOS мы можем сразу заключить, что изученные веса ядра имеют тенденцию отображать похожие объекты в одну и ту же область. Например, если x_i и x_j близки по евклидову расстоянию, соответствующие выходы y_i и y_j также должны быть близки в новом пространстве. Для фильтра, используемого для захвата признаков кошки, любой вектор кошки X_cat будет отображен таким изученным якорным вектором Aв Y_cat, в то время как другие векторы X_dog или X_car никогда не будут в этом регионе. Вот почему CNN может эффективно распознавать различные объекты.

Но почему у нас должна быть нелинейная активация? Рассмотрим изображения выше: исходное изображение кошки (слева), негатив слева (справа). По человеческому знанию, эти два изображения могут быть одинаковыми, но также и разными. Можно сделать вывод, что это одни и те же кошки, а также можно сказать, что они имеют отрицательную корреляцию. Потому что черный кот просто получается вычитанием из белого кота значения 255. Как CNN интерпретирует двух котов?

Из рисунка выше мы можем заглянуть в необходимость исправления. X — входной вектор, a_1, a_2 и a_3 — разные изученные векторы привязки. В модели RECOS линейная операция Y=AX является измерением сходства между входными данными и векторами привязки. Таким образом, для векторов привязки a_1 и a_3 мы видим, что сходство x между двумя векторами привязки одинаково по величине, но имеет обратный знак. На данный момент коты для CNN другие. Но возьмем в качестве примера LeNet5, который имеет два слоя свертки, если необработанный вход x проходит через два слоя, конечный продукт будет перепутан: система без ректификации не может различать следующие два случая: положительный ответ на первом уровне, за которым следует отрицательный вес фильтра на втором слое; и отрицательный ответ на первом уровне, за которым следует положительный вес фильтра на втором уровне. Однако, используя нелинейные активации, CNN может легко исключить влияние отрицательных значений, что приводит к надежной системе.

Более того, автор провел интересный эксперимент, результат которого приведен ниже:

Мы обучили LeNet-5 с использованием обучающего набора данных MNIST и получили правильный уровень распознавания 98,94 % для тестового набора данных MNIST. Затем мы применили ту же сеть к тестовым изображениям с инвертированными оттенками серого, как показано на рис. 5. Точность падает до 37,36%. Затем мы изменили все веса фильтров в C1 на их отрицательные значения, сохранив остальную часть сети прежней. Слегка модифицированный LeNet-5 дает правильный уровень распознавания 98,94 % для набора тестовых данных с инвертированными оттенками серого и 37,36 % для исходного набора тестовых данных.

Мы можем увидеть симметричный результат после изменения всех весов фильтров в первом слое свертки. Этот результат показывает, что добавление активации влечет за собой исчезновение отрицательной корреляции, и если мы удвоим векторы привязки, чтобы изучить функции с инвертированными оттенками серого, мы можем добиться высокой эффективности распознавания для обоих тестовых наборов.

Преимущества каскадных слоев?

Вообще говоря, по мере того, как CNN углубляется, ядро ​​​​пытается построить свои собственные абстрактные функции на основе всех выходных данных предыдущих ядер. Таким образом, глубокие слои могут фиксировать глобальные семантические и высокоуровневые функции. Здесь происходит то, что в качестве модели RECOS CNN пытается использовать преобразование с выпрямлением последовательности, которое эквивалентно измерению подобия, для кластеризации аналогичных входных данных слой за слоем. Выходной слой предсказывает вероятность всех возможных решений (например, классов объектов). Обучающие образцы обеспечивают взаимосвязь между изображением и его меткой решения. И они направляют CNN для формирования более подходящих векторов привязки (таким образом, лучших кластеров) и связывают кластеризованные данные с метками решений.

На рисунке выше показана эффективность глубокой сети, детали эксперимента приведены ниже:

Мы используем пример, чтобы проиллюстрировать этот момент. Во-первых, мы модифицируем наборы данных для обучения и тестирования MNIST, случайным образом добавляя десять различных фоновых сцен к исходным рукописным цифрам в наборе данных MNIST. Для трех строк мы показываем три входных цифровых изображения в крайнем левом столбце, шесть спектральных выходных изображений из сверточного слоя и слоя ReLU в среднем столбце и 16 спектральных выходных изображений в двух правых столбцах. Трудно найти хорошую анкорную матрицу первого слоя из-за разнообразия фона. Однако фоновые сцены на этих изображениях не совпадают в пространственной области, в то время как цифры переднего плана совпадают.

С различными искаженными фонами CNN успешно фиксирует репрезентативные шаблоны. Обратите внимание, что на первом уровне много избыточной и нежелательной информации, и, применяя извлечение других признаков, CNN изучает глобальные закономерности, а не локальные детали. То есть для входного вектора x преобразование RECOS генерирует набор из K неотрицательных значений корреляции в качестве выходного вектора размерности K. Это представление обеспечивает повторяющуюся кластеризацию слой за слоем. Наконец, метка указывает, что CNN находит один и тот же шаблон среди разных настроек.

Из приведенного выше анализа мы видим, что слой свертки является полезной моделью для автоматического выбора признаков. Без каких-либо человеческих усилий он измеряет сходство и группирует входные данные в разные регионы. Но какова роль полносвязных слоев?

Обычно CNN разбивается на две подсети: подсеть извлечения признаков (FE) и подсеть принятия решений (DM). Подсеть FE состоит из нескольких сверточных уровней, а подсеть DM состоит из пары полносвязных слоев. Грубо говоря, подсеть FE проводит кластеризацию с целью получения нового представления посредством последовательности преобразований RECOS. Подсеть DM связывает представления данных с метками решений, что похоже на классификационную роль MLP.

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

Вывод

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

Автор:Арак|Редактор:Джунпей Чжун| Локализовано с помощью синхронизации Глобальная команда:Сян Чен