stringtranslate.com

АлексНет

Архитектура AlexNet и возможная модификация. Сверху — половина оригинальной AlexNet (которая разделена на две половины, по одной на GPU). Снизу — та же архитектура, но с последним слоем «проекции», замененным другим, который проецирует на меньшее количество выходов. Если заморозить остальную часть модели и только настроить последний слой, можно получить другую модель зрения по цене, намного меньшей, чем обучение с нуля.
Блок-схема AlexNet

AlexNet — это название архитектуры сверточной нейронной сети (CNN), разработанной Алексом Крижевским в сотрудничестве с Ильей Суцкевером и Джеффри Хинтоном , который был научным руководителем Крижевского по докторской диссертации в Университете Торонто . [ когда? ] Она имела 60 миллионов параметров и 650 000 нейронов . [1]

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

Эти трое сформировали команду SuperVision [2] и представили AlexNet на конкурсе ImageNet Large Scale Visual Recognition Challenge 30 сентября 2012 года [3]. Сеть достигла ошибки среди пяти лучших сетей в размере 15,3%, что на 10,8 процентных пункта лучше, чем у занявшего второе место.

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

Архитектура

AlexNet содержит восемь слоев : первые пять являются сверточным слоем, за некоторыми из них следуют слои max-pooling , а последние три являются полностью связанными слоями. Сеть, за исключением последнего слоя, разделена на две копии, каждая из которых работает на одном GPU. [1] Вся структура может быть записана как

(CNN → RN → MP)² → (CNN³ → MP) → (FC → DO)² → Линейный → softmax

где

Он использовал ненасыщающую функцию активации ReLU , которая обучалась лучше, чем tanh и sigmoid . [1]

Поскольку сеть не помещалась на одном графическом процессоре Nvidia GTX580 3 ГБ, она была разделена на две половины, по одной на каждом графическом процессоре. [1] :  Раздел 3.2

Обучение

Обучающий набор содержал 1,2 миллиона изображений. Обучение проводилось в течение 90 эпох, что заняло от пяти до шести дней на двух графических процессорах NVIDIA GTX 580 3 ГБ [1], которые имеют теоретическую производительность 1,581 TFLOPS в float32 и отпускную цену 500 долларов США. [4]

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

Он использовал две формы дополнения данных , обе вычислялись «на лету» на центральном процессоре, таким образом, «вычислительно не требуя»:

Он использовал локальную нормализацию отклика и регуляризацию выпадения с вероятностью выпадения 0,5.

Все веса были инициализированы как гауссовы со средним значением 0 и стандартным отклонением 0,01. Смещения в сверточных слоях 2, 4, 5 и всех полностью связанных слоях были инициализированы константой 1, чтобы избежать проблемы умирающего ReLU .

История

Предыдущая работа

Сравнение свертки LeNet и AlexNet, объединения и плотных слоев
(размер изображения AlexNet должен быть 227×227×3 вместо 224×224×3, поэтому математика будет правильной. В оригинальной статье были указаны другие числа, но Андрей Карпати, бывший руководитель отдела компьютерного зрения в Tesla, сказал, что должно быть 227×227×3 (он сказал, что Алекс не объяснил, почему он указал 224×224×3). Следующая свертка должна быть 11×11 с шагом 4: 55×55×96 (вместо 54×54×96). Она будет рассчитана, например, так: [(ширина входного сигнала 227 - ширина ядра 11) / шаг 4] + 1 = [(227 - 11) / 4] + 1 = 55. Поскольку выход ядра имеет ту же длину, что и ширина, его площадь 55×55.)

AlexNet — это сверточная нейронная сеть. В 1980 году Кунихико Фукусима предложил раннюю CNN, названную неокогнитроном . [5] [6] Она была обучена с помощью алгоритма неконтролируемого обучения . LeNet-5 ( Yann LeCun et al., 1989) [7] [8] была обучена с помощью контролируемого обучения с алгоритмом обратного распространения , с архитектурой, которая по сути такая же, как AlexNet в небольшом масштабе. (J. Weng, 1993) добавил max-pooling . [9] [10]

В 2000-х годах, по мере совершенствования аппаратного обеспечения GPU , некоторые исследователи адаптировали их для вычислений общего назначения , включая обучение нейронных сетей. (K. Chellapilla et al., 2006) обучили CNN на GPU, которая была в 4 раза быстрее, чем эквивалентная реализация на CPU. [11] Глубокая CNN (Dan Cireșan et al. , 2011) в IDSIA была в 60 раз быстрее, чем эквивалентная реализация на CPU. [12] В период с 15 мая 2011 года по 10 сентября 2012 года их CNN выиграли четыре конкурса изображений и достигли SOTA для нескольких баз данных изображений . [13] [14] [15] Согласно статье AlexNet, [1] более ранняя сеть Cireșan «несколько похожа». Обе были написаны с использованием CUDA для работы на GPU .

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

В период с 1990 по 2010 год нейронные сети и не были лучше других методов машинного обучения, таких как ядерная регрессия , машины опорных векторов , AdaBoost , структурированная оценка и т. д. [16] . В частности, для компьютерного зрения большой прогресс был достигнут благодаря ручному проектированию признаков , например , признаков SIFT , признаков SURF , признаков HoG , мешков визуальных слов и т. д. В компьютерном зрении меньшинство придерживалось мнения, что признаки могут быть получены непосредственно из данных, и это положение стало доминирующим после AlexNet. [17]

В 2011 году Джеффри Хинтон начал обращаться к коллегам с вопросом «Что мне нужно сделать, чтобы убедить вас, что нейронные сети — это будущее?», и Джитендра Малик , скептически относящийся к нейронным сетям, порекомендовал задачу PASCAL Visual Object Classes. Хинтон сказал, что его набор данных слишком мал, поэтому Малик порекомендовал ему задачу ImageNet. [18]

Хотя AlexNet и LeNet по сути имеют одинаковую конструкцию и алгоритм, AlexNet намного больше LeNet и обучалась на гораздо большем наборе данных на гораздо более быстром оборудовании. За 20 лет и данные, и вычисления стали доступны по низкой цене. [17]

Последующие работы

AlexNet очень влиятельна, что привело к многочисленным последующим работам по использованию CNN для компьютерного зрения и использованию GPU для ускорения глубокого обучения. По состоянию на середину 2024 года статья AlexNet была процитирована более 157 000 раз, согласно Google Scholar. [19]

На момент публикации не было фреймворка для обучения и вывода нейронных сетей на основе GPU. Кодовая база для AlexNet была выпущена под лицензией BSD и широко использовалась в исследованиях нейронных сетей в течение нескольких последующих лет. [20] [17]

В одном направлении последующие работы были направлены на обучение все более глубоких CNN, которые достигают все более высокой производительности на ImageNet. В этом направлении исследований находятся GoogLeNet (2014), VGGNet (2014), Highway network (2015) и ResNet (2015). Другое направление было направлено на воспроизведение производительности AlexNet с меньшими затратами. В этом направлении исследований находятся SqueezeNet (2016), MobileNet (2017), EfficientNet (2019).

Ссылки

  1. ^ abcdefg Крижевский, Алекс; Суцкевер, Илья; Хинтон, Джеффри Э. (2017-05-24). "Классификация ImageNet с глубокими сверточными нейронными сетями" (PDF) . Сообщения ACM . 60 (6): 84–90. doi : 10.1145/3065386 . ISSN  0001-0782. S2CID  195908774.
  2. ^ Крупномасштабный конкурс визуального распознавания 2012 (ILSVRC2012)
  3. ^ "Конкурс ImageNet по крупномасштабному визуальному распознаванию 2012 (ILSVRC2012)". image-net.org .
  4. ^ "Спецификации NVIDIA GeForce GTX 580". TechPowerUp . 2024-11-12 . Получено 2024-11-12 .
  5. ^ Фукусима, К. (2007). «Неокогнитрон». Scholarpedia . 2 (1): 1717. Bibcode : 2007SchpJ...2.1717F. doi : 10.4249/scholarpedia.1717 .
  6. ^ Фукусима, Кунихико (1980). «Неокогнитрон: самоорганизующаяся модель нейронной сети для механизма распознавания образов, не зависящего от смещения положения» (PDF) . Биологическая кибернетика . 36 (4): 193–202. doi :10.1007/BF00344251. PMID  7370364. S2CID  206775608 . Получено 16 ноября 2013 г. .
  7. ^ LeCun, Y.; Boser, B.; Denker, JS; Henderson, D.; Howard, RE; Hubbard, W.; Jackel, LD (1989). «Обратное распространение ошибки при распознавании рукописных почтовых индексов» (PDF) . Neural Computation . 1 (4). MIT Press - Журналы: 541–551. doi :10.1162/neco.1989.1.4.541. ISSN  0899-7667. OCLC  364746139.
  8. ^ ЛеКун, Янн; Леон Ботту; Йошуа Бенджио; Патрик Хаффнер (1998). «Градиентное обучение, применяемое для распознавания документов» (PDF) . Труды IEEE . 86 (11): 2278–2324. CiteSeerX 10.1.1.32.9552 . дои : 10.1109/5.726791. S2CID  14542261 . Проверено 7 октября 2016 г. 
  9. ^ Вэн, Дж.; Ахуджа, Н.; Хуан, ТС. (1993). «Обучение распознаванию и сегментации трехмерных объектов по двумерным изображениям». Труды 4-й Международной конференции по компьютерному зрению : 121–128.
  10. ^ Шмидхубер, Юрген (2015). «Глубокое обучение». Scholarpedia . 10 (11): 1527–54. CiteSeerX 10.1.1.76.1541 . doi :10.1162/neco.2006.18.7.1527. PMID  16764513. S2CID  2309950. 
  11. ^ Кумар Челлапилла; Сидд Пури; Патрис Симард (2006). «Высокопроизводительные сверточные нейронные сети для обработки документов». В Лоретт, Гай (ред.). Десятый международный семинар по передовым рубежам в распознавании рукописного текста . Suvisoft.
  12. ^ Cireșan, Dan; Ueli Meier; Jonathan Masci; Luca M. Gambardella; Jurgen Schmidhuber (2011). "Гибкие, высокопроизводительные сверточные нейронные сети для классификации изображений" (PDF) . Труды Двадцать второй международной совместной конференции по искусственному интеллекту-Том Том два . 2 : 1237–1242 . Получено 17 ноября 2013 г.
  13. ^ "Таблица результатов конкурса IJCNN 2011". ОФИЦИАЛЬНЫЙ КОНКУРС IJCNN2011 . 2010. Получено 14.01.2019 .
  14. ^ Шмидхубер, Юрген (17 марта 2017 г.). «История конкурсов компьютерного зрения, выигранных глубокими CNN на GPU» . Получено 14 января 2019 г.
  15. ^ Cireșan, Dan; Meier, Ueli; Schmidhuber, Jürgen (июнь 2012 г.). «Многоколоночные глубокие нейронные сети для классификации изображений». Конференция IEEE 2012 г. по компьютерному зрению и распознаванию образов . Нью-Йорк, Нью-Йорк: Институт инженеров по электротехнике и электронике (IEEE). стр. 3642–3649. arXiv : 1202.2745 . CiteSeerX 10.1.1.300.3283 . doi :10.1109/CVPR.2012.6248110. ISBN  978-1-4673-1226-4. OCLC  812295155. S2CID  2161592.
  16. ^ Таскар, Бен; Гестрин, Карлос; Коллер, Дафна (2003). «Сети Маркова с максимальным запасом». Достижения в области нейронных систем обработки информации . 16. MIT Press.
  17. ^ abc Чжан, Астон; Липтон, Закари; Ли, Му; Смола, Александр Дж. (2024). "8.1. Глубокие сверточные нейронные сети (AlexNet)". Погружение в глубокое обучение . Кембридж, Нью-Йорк, Порт Мельбурн, Нью-Дели, Сингапур: Cambridge University Press. ISBN 978-1-009-38943-3.
  18. ^ Ли, Фэй Фэй (2023). Миры, которые я вижу: любопытство, исследование и открытие на заре ИИ (первое издание). Нью-Йорк: Moment of Lift Books; Flatiron Books. ISBN 978-1-250-89793-0.
  19. ^ Статья AlexNet в Google Scholar
  20. ^ Крижевский, Алекс (18 июля 2014 г.). "cuda-convnet: Высокопроизводительная реализация сверточных нейронных сетей на C++/CUDA". Архив Google Code . Получено 20 октября 2024 г.