AlexNet был представлен в статье под названием Классификация ImageNet с глубокими свёрточными сетями, написанной Алексом Крижевским, Ильей Суцкевером, Джеффри Э. Хинтоном, и с тех пор его цитируют 67000 раз и считается одной из самых влиятельных статей, опубликованных в области компьютерного зрения. Это не была ни первая реализация архитектуры CNN, ни первая реализация GPU архитектуры Deep CNN, тогда почему она так влиятельна?

Давайте выясним это.

Перед публикацией статьи

  • Большинство задач компьютерного зрения решались с помощью таких методов машинного обучения, как SVM и K-NN или Fully Connected Neural Networks.
  • Архитектура CNN с использованием алгоритма обратного распространения для задачи компьютерного зрения была представлена ​​еще в 1989 году Yann LeCun et al. (ЛеНэт).
  • Быстрая реализация глубокой CNN с обратным распространением на графическом процессоре была представлена ​​годом ранее (август 2011 г.) Дэном Сиресаном и др., Которые достигли коэффициента ошибок теста SOTA 0,35% для MNIST, 2,53% для NORB и 19,51% для наборов данных CIFAR10. . Они показали, что их реализация от 10 до 60 раз быстрее, чем версия процессора, оптимизированная компилятором. (Сеть Дэна Сиресана).
  • Выпрямленная линейная единица (ReLU) была введена Джеффри Э. Хинтоном и соавт. в 2010 году на машинах Больцмана с ограниченным доступом, заменивших двоичные единицы для распознавания объектов и сравнения лиц.
  • В более ранней работе авторов они представили слои Dropout как эффективный метод уменьшения переобучения.
  • За исключением набора данных ImageNet, все общедоступные помеченные наборы данных были относительно небольшими (порядка десятков тысяч), например MNIST и CIFAR-10, на которых было легко добиться хорошей производительности с оптимизированными дополнениями к изображениям.
  • ImageNet Large-Scale Visual Recognition Challenge (ежегодный конкурс, проводимый с 2010 г.) использует подмножество ImageNet (база данных, представленная Fei-Fei et al. в 2009 г.) с примерно 1000 изображений переменного разрешения в каждом из 1000 изображений. категорий, включая в общей сложности 1,2 миллиона обучающих изображений, 50 000 проверочных изображений и 150 000 тестовых изображений. Принято сообщать о двух коэффициентах ошибок: топ-1 и топ-5 в окончательных заявках.

Предварительная обработка данных

AlexNet обучался на центрированных значениях RGB пикселей.

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

Архитектура

Сеть с 60 миллионами параметров была обучена путем распределения ее по двум графическим процессорам NVIDIA GTX 580 с 3 ГБ памяти каждый. Ядра второго, четвертого и пятого сверточных слоев были связаны только с картами объектов, которые находились на одном и том же графическом процессоре, а ядра третьего сверточного слоя были связаны со всеми картами объектов на разных графических процессорах. Нейроны в полносвязных слоях также были связаны со всеми нейронами в предыдущем слое через GPU.

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

Слои локальной нормализации отклика (или нормализации яркости) следовали за первым и вторым сверточными слоями после применения активации ReLU. Эти слои помогли снизить ошибки тестов в топ-1 и топ-5 на 1,4% и 1,2% соответственно.

Здесь переменная a представляет активированное ReLU значение нейрона. Константы k, n, α и β являются гиперпараметрами, значения которых были k = 2, n = 5, α = 10e-4 и β = 0,75. Сумма проходит по n «соседним» картам ядер в одном и том же пространственном положении, а N — это общее количество ядер в слое.

Слои Max-pooling следовали за слоями нормализации ответа и пятым сверточным слоем. Эти перекрывающиеся (шаги ‹ размера ядра) слои максимального объединения помогли уменьшить переоснащение.

Обучение

Методы увеличения изображения:

  • Преобразование и горизонтальные отражения. Во время обучения сеть извлекает случайные фрагменты размером 227 x 227 (ложно упомянутые как 224 x 224) и применяет горизонтальные отражения. Все эти дополнения выполняются на лету на ЦП, в то время как графические процессоры обучают предыдущий пакет данных.
  • Увеличение времени тестирования. Во время тестирования сеть прогнозирует, извлекая пять фрагментов размером 224 × 224 (четыре угловых фрагмента и центральный фрагмент), а также их горизонтальные отражения (следовательно, всего десять фрагментов) и усреднение прогнозов.
  • Аугментация цвета PCA. Сначала PCA выполняется для всех пикселей набора обучающих данных ImageNet. В результате они получают ковариационную матрицу 3x3, а также 3 собственных вектора и 3 собственных значения. В процессе обучения к каждому цветовому каналу изображения добавляется случайный коэффициент интенсивности на основе компонент PCA, что эквивалентно изменению интенсивности и цвета освещения.

Исключение:

Каждый скрытый нейрон в первых двух полносвязных слоях обнуляется с вероятностью 0,5 во время обучения. Это означает, что «выпавшие» нейроны не участвуют в прямом проходе и не участвуют в обратном распространении. Хотя во время тестирования все нейроны были активны и не выпадали.

Инициализатор ядра:

Распределение Гаусса с нулевым средним значением со стандартным отклонением 0,01

Инициализатор смещения:

1 для второго, четвертого, пятого сверточных слоев и полносвязных скрытых слоев. Остальные слои с 0.

Размер партии:

128

Оптимизатор:

Стохастический градиентный спуск с импульсом 0,9

Уменьшение веса L2:

5e-04

Менеджер скорости обучения:

LR инициализирован значением 1e-2 и вручную уменьшен на плато в 10 раз

Всего эпох:

90

Общее время:

6 дней

Результаты

В одной модели AlexNet ошибки тестов в топ-1 и топ-5 составляют 40,7% и 18,2% соответственно.

Их окончательное представление состояло из ансамбля из 7 CNN (в среднем 2 расширенных AlexNet, предварительно обученных на наборе данных 2011 г., а затем настроенных на наборе данных 2012 г., и в среднем пять AlexNet на наборе данных 2012 г.), что дало частоту ошибок 15,3. %, ниже на 11 %, чем у занявшего второе место (модель SIFT+FVs Fei-Fei et al.).

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

Первоначально опубликовано @ DEV