Приглашаем вас ознакомиться с компьютерным видением серии статей — GoogLeNet V3

компьютерное зрение

Приглашаем вас ознакомиться с компьютерным видением серии статей — GoogLeNet V3

Превратился в облако в небе, тихо наблюдая за тобой за окном.

чат

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

предисловие

Переосмысление структуры Inception в компьютерном зрении.

обзор

  1. GoogLeNet-V1В основном используется многомасштабное ядро ​​свертки, операция свертки 1x1, вспомогательная функция потерь;
  2. GoogLeNet-V2На основе V1 добавляется слой BN, и маленькое ядро ​​свертки складывается, чтобы заменить большое ядро ​​свертки;

GoogLeNet-V1 использует многомасштабное ядро ​​свертки, операцию свертки 1✖️1, вспомогательную функцию потерь, реализует более глубокую 22-уровневую сверточную нейронную сеть и стал чемпионом по классификации и обнаружению ILSVRC-2014, заняв второе место.

На основе GoogLeNet-V2 добавлен слой BN, а свертка 5*5 полностью заменена наложением двух сверток 3✖️3 для дальнейшего повышения производительности модели.

Модель сети VGG большая, имеет много параметров и требует большого объема вычислений, что не подходит для реальных сцен.

GoogLeNet требует меньше вычислительных ресурсов, чем VGG; GoogLeNet можно использовать в сценариях с ограниченными ресурсами.

бумага: Rethinking the Inception Architecture for Computer Vision

Значение:

  1. Обобщить критерии проектирования модели, чтобы обеспечить основу для проектирования модели сверточной нейронной сети;
  2. Предлагаемые три метода в сочетании с Inception, Inception Series закладывают наиболее часто используемую модель --Inception-V3;

Бумажные детали

Преимущества этой статьи:1. Предложить метод классификации с низким разрешением; 2. Предложите декомпозицию свертки для повышения эффективности 3.БН-вспомогательный 4. ЛСР

Архитектура Inception GoogLeNet также спроектирована так, чтобы хорошо работать даже при строгих ограничениях памяти и вычислительного бюджета. Например, GoogLeNet использует только 5 миллионов параметров по сравнению с его предшественником AlexNet, который использует 60 миллионов параметров, что означает сокращение в 12 раз. также,VGGNet использует в 3 раза больше параметров, чем AlexNet.

Резюме:

  1. Предыстория: с 2014 года глубокие сверточные нейронные сети стали популярными, достигая отличных результатов во многих задачах;
  2. Проблема: Текущая высокоточная сверточная нейронная сеть имеет много параметров и большой объем вычислений, и есть трудности с посадкой;
  3. Решение. В этой статье предлагаются стратегии декомпозиции свертки и регуляризации для повышения скорости и точности глубоких сверточных нейронных сетей;
  4. Результаты: одиночная модель + одиночная культура, топ-5, 5,6%, модельный фьюжн + мультикультура, топ-5, 3,5%.

Набор больших сверток разбивается на стопки маленьких ядер сверток. Замена небольшой сети свертками 5×5.

разъединение:

  • ускорить обучение;
  • С меньшим количеством параметров можно использовать больше ядер свертки;

Разложить на более мелкие свертки:

  1. Небольшое ядро ​​свертки, небольшой объем вычислений;
  2. Большое ядро ​​свертки, большое рецептивное поле, может захватывать больше информации;
  3. Небольшое ядро ​​свертки уменьшит способность выражения;

Свертки с более крупными пространственными фильтрами (например, 5×5 или 7×7), как правило, требуют непропорционально больших вычислительных ресурсов. Например, свертка с фильтрами 5 × 5 на отфильтрованной сетке в 25/9 = 2,78 раза дороже в вычислительном отношении, чем свертка 3 × 3 с тем же количеством фильтров. Конечно, фильтр 5×5 может улавливать зависимости между сигналами активации более удаленных ячеек в предыдущих слоях, поэтому уменьшение геометрии фильтра происходит за счет большой масштабируемости.

Если мы увеличим вычислительный граф свертки 5✖️5, мы увидим, что каждый выход выглядит как небольшая полносвязная сеть, скользящая 5✖️5 блоков по входу (рис. 1 выше). Поскольку мы строим сеть видения, кажется естественным использовать трансляционную инвариантность, чтобы снова заменить полностью связанные компоненты двухуровневой сверточной архитектурой: первый слой — это свертка 3×3, а второй слой — это первый 3✖️3. выходная сеть Полностью связанный слой поверх сетки (как на рисунке 1 выше). Проведение этой небольшой сети по сетке активации ввода сводится к замене свертки 5✖️5 двумя слоями свертки 3✖️3 (как на рисунках 4 и 5 выше).

  1. 3✖️3 Можно ли разложить? В наличии 2✖️2? На самом деле для разложения лучше использовать 3✖️1 и 1✖️3;
  2. Снижение параметров, вызванное асимметричным и 2✖️2, составляет 33% и 11% соответственно.

Используя асимметричные свертки, такие как n✖️1, мы можем добиться большего, чем 2×2. Например, использование свертки 3✖️1, за которой следует свертка 1✖️3, эквивалентно скольжению двухслойной сети с тем же рецептивным полем, свернутым с помощью 3✖️3 (см. рисунок 3). При одинаковом количестве входных и выходных фильтров двухслойное решение все равно дешевле на 33% при том же количестве выходных фильтров. Напротив, разложение 3✖️3 сверток на 2✖️2 сверток экономит только 11% вычислений.

  1. Не ломайте его сначала, это не сработает!
  2. Карты характеристик между 12 и 20 хороши! 3. Лучшие параметры 1✖️7, 7✖️1;

Эксперименты между двумя начальными моделями, одна с использованием разложения с линейными слоями + ReLU, а другая с использованием двух слоев ReLU. После 3,86 миллиона операций первая стабилизируется на уровне 76,2%, а вторая достигает 77,2% точности на проверочном наборе.

Небольшая сеть, которая заменяет исчисление 3✖️3. Нижний слой этой сети состоит из 3✖️1 сверток по 3 выходных блока.

Полезность вспомогательных классификаторов

  1. Вспомогательный классификационный слой не может ускорить сходимость на ранней стадии;
  2. До конвергенции, со вспомогательной классификацией или без нее, скорость обучения одинакова;
  3. Быстрая сходимость со вспомогательной классификацией, чем без вспомогательной классификации.

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

Предположение о том, что вспомогательный слой классификации, упомянутый в V1, помогает извлекать низкоуровневые признаки, неверно.

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

На рисунке слева показан традиционный метод объединения, при котором будет потеряна информация о карте признаков.На рисунке справа показан процесс сначала увеличения карты признаков, а затем выполнения объединения.Проблема в том, что расчет слишком яркий;

Решение: используйте свертку, чтобы получить половину карты объектов, объединение, чтобы получить половину карты объектов, а затем объединение..

Примечание. Этот начальный модуль предназначен для 35x35 до 17x17 и 17x17 до 8x8;

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

эксперимент

Сравнение производительности распознавания с разными размерами рецептивного поля, но с одинаковыми вычислительными затратами.

  1. рецептивное поле 299×299, шаг2 и максимальное объединение после первого слоя;
  2. Рецептивное поле 151×151 с шагом 1 и максимальным объединением после первого слоя;
  3. Рецептивное поле 79 × 79, с размахом 1 и без объединения после первого слоя.

Начиная с v2 добавляются новые трюки на основе предыдущей модели, последняя модель называется inception-v3.

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

Сравнение результатов отчетности комплексной оценки нескольких моделей и культур. Наши цифры сравниваются с лучшими опубликованными результатами, интегрированными в соответствии со стандартом классификации ILSVRC 2012. * Все результаты, кроме первых пяти интегрированных результатов, представлены в наборе проверки. Интеграция дает 3,46% первых 5 ошибок в наборе проверки.

Резюме статьи

Основные моменты улучшения Inception-V3:

  1. Принять метод оптимизации RMSProp;
  2. Использовать метод регуляризации сглаживания меток;
  3. Используйте асимметричную свертку для извлечения карт объектов 17x17;
  4. Вспомогательный класс слоя с использованием Bn;

ключевой момент:

  1. Декомпозиция асимметричной свертки: сокращение расчета параметров и предоставление новых идей для проектирования структуры свертки;
  2. Эффективная стратегия спуска по карте признаков: используйте свертки и объединение с шагом = 2, чтобы избежать узких мест в представлении информации;
  3. Сглаживание меток: избегайте чрезмерной уверенности в сети и уменьшайте переоснащение;

точка вдохновения:

  1. Классификация CNN является основой задач зрения CNN: CNN, которые хорошо справляются с классификацией, обычно хорошо справляются с другими визуальными задачами;
  2. Оптимальные решения многих статей Google получены в результате большого количества экспериментов, которые обычным игрокам трудно воспроизвести;
  3. Декомпозиция асимметричной свертки хорошо работает на картах признаков с разрешением 12-20, а для извлечения признаков используются 1x7 и 7x1;
  4. На ранней стадии обучения сети добавление вспомогательного классификационного слоя не ускорило сходимость сети, а на более поздней стадии обучения конвергенция сети ускорилась;
  5. Удаление первого из двух вспомогательных слоев классификации не влияет на производительность сети;
  6. Параметр сглаживания меток установлен таким образом, чтобы поддерживать вероятность отсутствия метки на уровне 10-4.