Приглашаем вас ознакомиться с компьютерным видением серии статей — Inception v2/BN-Inception.

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

Приглашаем вас ознакомиться с компьютерным видением серии статей — Inception v2/BN-Inception.

Мы проводим всю свою жизнь, избегая ожиданий других и находя свое истинное «я». -- "Тихая исповедь"

Обзор

Бумага: Пакетная нормализация: ускорение обучения глубокой сети за счет уменьшения внутреннего ковариатного сдвига

Обзор ГугЛеНет

Улучшение структуры Inception-v2 заключается в изменении 5✖️5 сверточных слоев в исходной структуре Inception-v1 и замене их двумя 3✖️3 сверточных слоями..

Пакетная нормализация — это метод оптимизации глубокого обучения, предложенный Google в 2015 году.

Это может не только ускорить скорость сходимости модели, но, что более важно, в определенной степени облегчить проблему «градиентной дисперсии» в глубокой сети, что делает обучение модели глубокой сети более простым и стабильным.

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

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

Поскольку для обучения нейронных сетей теперь используется минимальная партия SGD, нормализация партии также нормализуется для минимальной партии, которая является источником партии в пакетной нормализации. При обучении нейронной сети, если входные данные предварительно обработаны отбеливанием (среднее 0, дисперсия 1, декорреляция), скорость сходимости можно ускорить.

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

Резюме

  1. Изменения в распределении данных приводят к трудностям в обучении;
  2. Низкая скорость обучения, инициализация может быть решена, но обучение идет медленно;
  3. Феномен изменения распределения данных называется ICS;
  4. Предложите слой пакетной нормализации для решения проблемы;
  5. Преимущества пакетной нормализации: большая скорость обучения не заботится об инициализации, а обычные элементы не нуждаются в Dropout;
  6. Результаты: Лучший опубликованный результат для классификации ImageNet: достигнута ошибка валидации в пятерке лучших 4,9% (и ошибка теста 4,8%), превосходящая точность человеческих оценщиков.

Начальная сеть BN — ключевые моменты

  • Пакетная нормализация. Это означает, что BN теперь стал стандартным навыком почти для всех сверточных нейронных сетей.
  • Ядро свертки 5×5 → 2 ядра свертки 3×3. одно и то же рецептивное поле.

Преимущества БН:

  • BN уменьшает внутреннюю ковариацию, улучшает поток градиентов в сети и ускоряет обучение сети.
  • BN позволяет установить более высокую скорость обучения.
  • Б.Н. регуляризирует модель.

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

Глубокое обучение значительно улучшило состояние зрения, речи и многих других областей. Было показано, что стохастический градиентный спуск (SGD) является эффективным методом обучения глубоких сетей и таких методов, как импульс и Варианты SGD, такие как Adagrad, использовались для достижения самой современной производительности. SGD оптимизирует параметры Θ сети, тем самым минимизируя потери.

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

2 преимущества использования Mini-Batch: Стабильный, повысить точность; Эффективно, быстрее.

SGD для настройки параметров: Скорость обучения Инициализация веса

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

будетInternal Covariate Shift(ICS) определяется как изменение распределения активации сети, вызванное изменением параметров сети во время обучения. Чтобы улучшить обучение, мы стремимся уменьшить внутренние ковариатные сдвиги. Фиксируя распределение входных данных слоя в процессе обучения, мы ожидаем повышения скорости обучения. Хорошо известно, что обучение сети сходится быстрее, если входные данные отбеливаются, то есть линейно преобразуются, чтобы иметь нулевое среднее значение и единичную дисперсию, и декоррелируются. Поскольку каждый слой наблюдает за вводом, производимым нижележащими слоями, было бы выгодно добиться одинакового отбеливания для ввода каждого слоя. Отбеливая входные данные для каждого слоя, мы делаем шаг к достижению фиксированного распределения входных данных, тем самым удаляя нежелательные эффекты внутренних ковариатных сдвигов.

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

Для достижения отбеленного (отбеленного):

  1. изменить сеть напрямую
  2. На основе значений активации параметры оптимизируются таким образом, чтобы вывод был отбеливающим.

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

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

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

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

BN подробно описан в Алгоритме 1. В этом алгоритме ϵ является константой, добавляемой к дисперсии мини-пакета для численной стабильности.

Однако важно отметить, что преобразование BN не обрабатывает активацию в каждом обучающем примере независимо. Вместо этого BNγ,β(x) зависит от обучающих примеров и других примеров в мини-пакете.

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

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

эксперимент

а) Проверка точности в зависимости от количества шагов обучения для сетей MNIST, обученных с пакетной нормализацией и без нее. Пакетная нормализация помогает сети обучаться быстрее и достигать более высокой точности.

(b, c) Во время обучения входное распределение эволюционирует в сторону типичной сигмоиды, показанной в виде процентилей {15, 50, 85}. Пакетная нормализация делает распределение более стабильным и уменьшает передачу внутренних ковариат.

Примените пакетную нормализацию к новому варианту начальной сети (2014 г.), обученной задаче классификации ImageNet (2014 г.). Сеть имеет большое количество сверточных слоев и слоев пула, а также слой softmax для прогнозирования класса изображения из 1000 возможностей. Сверточный слой использует функцию ReLU в качестве нелинейности. Основное отличие от сети, описанной в новом варианте сети Inception, заключается в том, что сверточный слой 5×5 заменяется двумя последовательными сверточными слоями 3×3 с количеством фильтров до 128. Сеть содержит 13,6 106 параметров и не содержит полносвязных слоев, кроме самого верхнего слоя softmax.

Простое добавление пакетной нормализации в сеть не позволяет в полной мере использовать преимущества нашего метода. Для этого мы дополнительно изменили сеть и параметры ее обучения следующим образом:

  1. увеличить скорость обучения;
  2. убрать отсев;
  3. Уменьшите уменьшение веса в 5 раз и уменьшите размер ограниченного веса, потому что BN позволяет весу быть больше;
  4. Ранее падение скорости обучения упало в общей сложности в 6 раз;

Эта диаграмма показывает, почему это 6.

  1. Удалите LRN, использовавшийся до входа в начало в LRN v1;
  2. Тщательно перетасовать действует как обычный;
  3. Уменьшите вариации освещения Поскольку количество тренировок невелико, ожидается, что модель увидит реальные образцы.

Пакетно-нормализованные начальные сравнения с предыдущим состоянием техники выполняются на предоставленном проверочном наборе из 50 000 изображений. *Согласно отчету тестового сервера, на 100 000 изображений тестового набора ImageNet исходный ансамбль BN достиг 4,82% топ-5.

Среди них BN-Inception Ensemble использует результаты, полученные после интегрированного обучения нескольких сетевых моделей.

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

Простое добавление двух параметров сохраняет репрезентативность.

преимущество:

  1. Обучаемая функция активации насыщения;
  2. Доступна большая скорость обучения;
  3. Отсева не требуется.

Начало+млрд+оптимизация Одиночная модель SOTA Мультимодель СОТА

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

следующие шаги

  1. BN+RNN, ICS RNN более серьезен;
  2. Адаптация BN+domain просто пересчитывает среднее+стандартное значение.