Приглашаем вас ознакомиться с компьютерным видением серии статей — GoogLeNet V3
Превратился в облако в небе, тихо наблюдая за тобой за окном.
чат
Я организую соответствующие документы и положу их в моюGitHubДобро пожаловать, чтобы добавлять звезды, добро пожаловать, чтобы задавать вопросы, добро пожаловать, чтобы исправлять ошибки и с нетерпением ждать совместного участия.
предисловие
Переосмысление структуры Inception в компьютерном зрении.
обзор
- GoogLeNet-V1В основном используется многомасштабное ядро свертки, операция свертки 1x1, вспомогательная функция потерь;
- 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
Значение:
- Обобщить критерии проектирования модели, чтобы обеспечить основу для проектирования модели сверточной нейронной сети;
- Предлагаемые три метода в сочетании с Inception, Inception Series закладывают наиболее часто используемую модель --Inception-V3;
Бумажные детали
Преимущества этой статьи:1. Предложить метод классификации с низким разрешением; 2. Предложите декомпозицию свертки для повышения эффективности 3.БН-вспомогательный 4. ЛСР
Архитектура Inception GoogLeNet также спроектирована так, чтобы хорошо работать даже при строгих ограничениях памяти и вычислительного бюджета. Например, GoogLeNet использует только 5 миллионов параметров по сравнению с его предшественником AlexNet, который использует 60 миллионов параметров, что означает сокращение в 12 раз. также,VGGNet использует в 3 раза больше параметров, чем AlexNet.
Резюме:
- Предыстория: с 2014 года глубокие сверточные нейронные сети стали популярными, достигая отличных результатов во многих задачах;
- Проблема: Текущая высокоточная сверточная нейронная сеть имеет много параметров и большой объем вычислений, и есть трудности с посадкой;
- Решение. В этой статье предлагаются стратегии декомпозиции свертки и регуляризации для повышения скорости и точности глубоких сверточных нейронных сетей;
- Результаты: одиночная модель + одиночная культура, топ-5, 5,6%, модельный фьюжн + мультикультура, топ-5, 3,5%.
Набор больших сверток разбивается на стопки маленьких ядер сверток. Замена небольшой сети свертками 5×5.
разъединение:
- ускорить обучение;
- С меньшим количеством параметров можно использовать больше ядер свертки;
Разложить на более мелкие свертки:
- Небольшое ядро свертки, небольшой объем вычислений;
- Большое ядро свертки, большое рецептивное поле, может захватывать больше информации;
- Небольшое ядро свертки уменьшит способность выражения;
Свертки с более крупными пространственными фильтрами (например, 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 выше).
- 3✖️3 Можно ли разложить? В наличии 2✖️2? На самом деле для разложения лучше использовать 3✖️1 и 1✖️3;
- Снижение параметров, вызванное асимметричным и 2✖️2, составляет 33% и 11% соответственно.
Используя асимметричные свертки, такие как n✖️1, мы можем добиться большего, чем 2×2. Например, использование свертки 3✖️1, за которой следует свертка 1✖️3, эквивалентно скольжению двухслойной сети с тем же рецептивным полем, свернутым с помощью 3✖️3 (см. рисунок 3). При одинаковом количестве входных и выходных фильтров двухслойное решение все равно дешевле на 33% при том же количестве выходных фильтров. Напротив, разложение 3✖️3 сверток на 2✖️2 сверток экономит только 11% вычислений.
- Не ломайте его сначала, это не сработает!
- Карты характеристик между 12 и 20 хороши! 3. Лучшие параметры 1✖️7, 7✖️1;
Эксперименты между двумя начальными моделями, одна с использованием разложения с линейными слоями + ReLU, а другая с использованием двух слоев ReLU. После 3,86 миллиона операций первая стабилизируется на уровне 76,2%, а вторая достигает 77,2% точности на проверочном наборе.
Небольшая сеть, которая заменяет исчисление 3✖️3. Нижний слой этой сети состоит из 3✖️1 сверток по 3 выходных блока.
Полезность вспомогательных классификаторов
- Вспомогательный классификационный слой не может ускорить сходимость на ранней стадии;
- До конвергенции, со вспомогательной классификацией или без нее, скорость обучения одинакова;
- Быстрая сходимость со вспомогательной классификацией, чем без вспомогательной классификации.
Эта архитектура используется для самых грубых (8✖️8) сеток, чтобы упростить представление больших размеров. Мы используем это решение только на самых грубых сетках, так как именно здесь создание многомерного разреженного представления является наиболее важным из-за увеличенного коэффициента локальной обработки (1✖️1 свертки) по сравнению с пространственной агрегацией.
Предположение о том, что вспомогательный слой классификации, упомянутый в V1, помогает извлекать низкоуровневые признаки, неверно.
В этой статье утверждается, что вспомогательная классификация играет регулярную роль. Основной классификатор сети работает лучше, если вспомогательная ветвь нормализована пакетно или имеет отсевающий слой. Это также дает слабое подтверждение гипотезы о том, что пакетная нормализация действует как регуляризатор.
На рисунке слева показан традиционный метод объединения, при котором будет потеряна информация о карте признаков.На рисунке справа показан процесс сначала увеличения карты признаков, а затем выполнения объединения.Проблема в том, что расчет слишком яркий;
Решение: используйте свертку, чтобы получить половину карты объектов, объединение, чтобы получить половину карты объектов, а затем объединение..
Примечание. Этот начальный модуль предназначен для 35x35 до 17x17 и 17x17 до 8x8;
Начальный модуль, который уменьшает размер сетки при расширении банка фильтров. Это дешево и позволяет избежать узких мест. Изображение справа представляет то же решение, но с точки зрения размера сетки, а не с точки зрения эксплуатации.
эксперимент
Сравнение производительности распознавания с разными размерами рецептивного поля, но с одинаковыми вычислительными затратами.
- рецептивное поле 299×299, шаг2 и максимальное объединение после первого слоя;
- Рецептивное поле 151×151 с шагом 1 и максимальным объединением после первого слоя;
- Рецептивное поле 79 × 79, с размахом 1 и без объединения после первого слоя.
Начиная с v2 добавляются новые трюки на основе предыдущей модели, последняя модель называется inception-v3.
Результаты экспериментов с одной моделью и несколькими культурами сравнивают кумулятивный эффект различных влияющих факторов. Сравните наши цифры с лучшими опубликованными результатами логического вывода по одной модели в тесте классификации ILSVRC2012.
Сравнение результатов отчетности комплексной оценки нескольких моделей и культур. Наши цифры сравниваются с лучшими опубликованными результатами, интегрированными в соответствии со стандартом классификации ILSVRC 2012. * Все результаты, кроме первых пяти интегрированных результатов, представлены в наборе проверки. Интеграция дает 3,46% первых 5 ошибок в наборе проверки.
Резюме статьи
Основные моменты улучшения Inception-V3:
- Принять метод оптимизации RMSProp;
- Использовать метод регуляризации сглаживания меток;
- Используйте асимметричную свертку для извлечения карт объектов 17x17;
- Вспомогательный класс слоя с использованием Bn;
ключевой момент:
- Декомпозиция асимметричной свертки: сокращение расчета параметров и предоставление новых идей для проектирования структуры свертки;
- Эффективная стратегия спуска по карте признаков: используйте свертки и объединение с шагом = 2, чтобы избежать узких мест в представлении информации;
- Сглаживание меток: избегайте чрезмерной уверенности в сети и уменьшайте переоснащение;
точка вдохновения:
- Классификация CNN является основой задач зрения CNN: CNN, которые хорошо справляются с классификацией, обычно хорошо справляются с другими визуальными задачами;
- Оптимальные решения многих статей Google получены в результате большого количества экспериментов, которые обычным игрокам трудно воспроизвести;
- Декомпозиция асимметричной свертки хорошо работает на картах признаков с разрешением 12-20, а для извлечения признаков используются 1x7 и 7x1;
- На ранней стадии обучения сети добавление вспомогательного классификационного слоя не ускорило сходимость сети, а на более поздней стадии обучения конвергенция сети ускорилась;
- Удаление первого из двух вспомогательных слоев классификации не влияет на производительность сети;
- Параметр сглаживания меток установлен таким образом, чтобы поддерживать вероятность отсутствия метки на уровне 10-4.