Авторы этой статьи обучили одну из крупнейших нейронных сетей своего времени и достигли лучших результатов на подмножестве ImageNet - ILSVRC-2010 и ILSVRC-2012. Это краткое изложение указанной статьи.

Основные моменты:

  1. 60 миллионов параметров (60 000 000)
  2. Функция активации ReLU
  3. Перекрывающееся объединение
  4. Увеличение данных
  5. Выбывать
  6. Нормализация местного ответа

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

Набор данных

Имея примерно 1000 изображений в 1000 категорий, размер набора данных составлял 1,2 миллиона обучающих изображений, включая 50 000 проверочных изображений и 150 000 тестовых изображений. Этот набор данных был предоставлен для ежегодного конкурса ImageNet Large-Scale Visual Recognition Challenge (ILSVRC) и является подмножеством набора данных ImageNet.

AlexNet использовался Алексом Крижевским, Ильей Суцкевер и Джеффри Хинтоном в соревнованиях ILSVRC 2012 под названием команды SuperVision (подробности результатов здесь). Размер данных изображений был изменен до фиксированного разрешения 256x256, а затем среднее значение набора данных было вычтено из каждого изображения.

Архитектура

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

Было сказано, что при вычислении слоев размер первого слоя составляет 227x227, а не 224x224, упомянутые в статье.

Активация ReLU

Функция активации выпрямленных линейных единиц использовалась в то время, когда обычно использовались сигмовидная форма и tanh. Использование нелинейности ReLU ускоряет тренировочный процесс в несколько раз. Функция ReLU определяется как max (0, x).

Нормализация местного отклика

Нормализация местного отклика повысила точность модели на 1,4%. Это означает, что каждый «пиксель» был нормализован по одному или нескольким «каналам» сети.

Перекрывающиеся пулы

Вместо традиционного пулинга использовалась схема перекрывающегося пулинга. Это повысило точность на 0,4% и помогло снизить переоснащение.

Уменьшение переобучения

Существовали два способа уменьшения переобучения в сети, описанные ниже.

Увеличение объема данных

Это часто используемая форма переобучения, которая сегодня используется в большинстве сетей. AlexNet извлек случайные участки размером 227x227 (упомянутые в статье 224x224) из входных изображений размером 256x256. Эти изображения и их горизонтальные отражения использовались для обучения сети. Во время тестирования было взято 10 исправлений, и для прогнозирования метки использовалось среднее значение прогнозов этих 10 исправлений. Эти 10 участков были четырьмя углами, центрированным кадром (5) и их отражениями.

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

Прекращение обучения

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

Во время тестирования выходные сигналы нейронов были умножены на 0,5, чтобы имитировать эффект отсева.

Оптимизация и результаты

Стохастический градиентный спуск использовался для оптимизации функции потерь с размером партии 128 образцов, импульсом 0,9 и спадом веса 0,005.

Скорость обучения была изменена вручную, где она была разделена на 10, когда ошибка проверки перестала уменьшаться. Он был инициализирован на 0,01.

На обучение сети ушло 5–6 дней, что для большинства инженеров сегодня непонятно.

В наборе данных ILSVRC-2010 модель достигла коэффициента ошибок 37,5%, что на 10% лучше, чем у победителя конкурса.

Модель также превзошла другие сети в конкурсе ILSVRC-2012. Модификация модели и объединение нескольких аналогичных моделей позволили достичь уровня ошибок 15,3% на проверочном наборе. Это можно сравнить с ошибкой 26,2%, полученной у второй лучшей записи.

Это показало, что глубокая CNN может использоваться в компьютерном зрении, так как позже она также получила широкое распространение в сообществе. Сегодня Deep-CNN составляют основу многих других моделей и считаются нейронными сетями для «новичков» в области машинного обучения и компьютерного зрения.

Использованная литература:

[1] Алекс Крижевский, Илья Суцкевер, Джеффри Э. Хинтон. Классификация ImageNet с глубокими сверточными нейронными сетями. https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

[2] Дж. Денг, А. Берг, С. Сатиш, Х. Су, А. Хосла и Л. Фей-Фей. ILSVRC-2012, 2012. URL http: // www .image-net.org / issues / LSVRC / 2012 /.

[3] Александр Ленаил. NN SVG (2018). http://alexlenail.me/NN-SVG/

[4] Анил Гупта. Что такое уровни нормализации ответа в нейронных сетях? (2018). Quora. Https://www.quora.com/What-are-response-normalization-layers-in-neural-networks