AlexNet

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Влияние на развитие глубокого обучения)
 
(2 промежуточные версии не показаны)
Строка 3: Строка 3:
= AlexNet =
= AlexNet =
-
[[Изображение:AlexNet_architecture.png|300px|thumb|right|Архитектура AlexNet: пять свёрточных и три полносвязных слоя.]]
 
== Введение ==
== Введение ==
Строка 182: Строка 181:
Во-вторых, она изменила направление развития [[Компьютерное зрение|компьютерного зрения]]. После 2012 года большинство исследований сосредоточилось на обучаемых признаках, тогда как методы с ручным конструированием дескрипторов постепенно утратили лидирующие позиции.
Во-вторых, она изменила направление развития [[Компьютерное зрение|компьютерного зрения]]. После 2012 года большинство исследований сосредоточилось на обучаемых признаках, тогда как методы с ручным конструированием дескрипторов постепенно утратили лидирующие позиции.
-
Наконец, AlexNet стала отправной точкой для создания более глубоких и эффективных архитектур. Непосредственным развитием её идей стала сеть ZFNet, за которой последовали [[VGG]], [[GoogLeNet]] и [[ResNet]]. Во всех этих архитектурах сохранялась основная идея последовательного формирования всё более абстрактных представлений изображения, однако совершенствовались способы обучения, структура блоков и эффективность использования вычислительных ресурсов.
+
Наконец, AlexNet стала отправной точкой для создания более глубоких и эффективных архитектур. Непосредственным развитием её идей стала сеть ZFNet, за которой последовали VGG, GoogLeNet и ResNet. Во всех этих архитектурах сохранялась основная идея последовательного формирования всё более абстрактных представлений изображения, однако совершенствовались способы обучения, структура блоков и эффективность использования вычислительных ресурсов.
Хотя современные архитектуры существенно отличаются от AlexNet, многие решения, впервые успешно применённые в ней — использование ReLU, масштабная аугментация данных, обучение на GPU и глубокая иерархия признаков — стали стандартными компонентами большинства современных систем компьютерного зрения.
Хотя современные архитектуры существенно отличаются от AlexNet, многие решения, впервые успешно применённые в ней — использование ReLU, масштабная аугментация данных, обучение на GPU и глубокая иерархия признаков — стали стандартными компонентами большинства современных систем компьютерного зрения.
Строка 203: Строка 202:
[[Категория:Нейронные сети]]
[[Категория:Нейронные сети]]
-
[[Категория:Глубокое обучение]]
 
[[Категория:Обработка изображений]]
[[Категория:Обработка изображений]]
[[Категория:Машинное обучение]]
[[Категория:Машинное обучение]]

Текущая версия

Статья написана с использованием LLM GPT-5.5 и проверена участником Anna Chirkova 13:22, 12 июля 2026 (MSD)


Содержание

AlexNet

Введение

AlexNet — архитектура свёрточной нейронной сети (Convolutional Neural Network, CNN), разработанная Алексом Крижевским, Ильёй Суцкевером и Джеффри Хинтоном. Сеть получила широкую известность после убедительной победы в соревновании ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2012 года, продемонстрировав качественное превосходство глубокого обучения над традиционными методами компьютерного зрения, основанными на ручном проектировании признаков.[1]

Победа AlexNet стала переломным моментом в развитии машинного обучения. Если до 2012 года большинство систем распознавания изображений использовало заранее разработанные дескрипторы (например, SIFT или HOG) совместно с классическими методами классификации, то AlexNet показала возможность автоматического извлечения признаков непосредственно из исходных изображений. В последующие годы архитектуры, основанные на глубоких CNN, практически полностью вытеснили традиционные подходы в большинстве задач обработки изображений.

AlexNet обучалась на наборе данных ImageNet, содержащем более миллиона размеченных изображений, распределённых по 1000 категориям объектов.

Архитектура

Общая структура

AlexNet состоит из восьми обучаемых слоёв:

  • пять свёрточных;
  • три полносвязных.

После последнего полносвязного слоя используется функция Softmax для получения вероятностей принадлежности изображения каждому из классов.

Входное изображение имеет размер 227 \times 227 \times 3. Архитектура содержит около 60 миллионов обучаемых параметров и примерно 650 тысяч нейронов.

Свёрточные слои

Первый свёрточный слой содержит 96 фильтров размером

11 \times 11

со шагом 4 пикселя.

Получаются карты признаков размерности

55 \times 55 \times 96.

После первого слоя применяются ReLU, Local Response Normalization и операция максимального пулинга.

Второй слой содержит 256 фильтров размером

5 \times 5.

После него также выполняются нормализация и пулинг.

Третий, четвёртый и пятый свёрточные слои используют соответственно 384, 384 и 256 фильтров размером

3 \times 3.

Пулинг применяется только после пятого слоя.

Полносвязные слои

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

Первые два слоя содержат по 4096 нейронов.

Последний полносвязный слой содержит 1000 выходов, соответствующих классам ImageNet.

Функции активации

Одной из наиболее значимых особенностей AlexNet стало использование функции активации ReLU вместо традиционных сигмоиды и гиперболического тангенса.

Функция ReLU определяется выражением

f(x)=\max(0,x).

По сравнению с сигмоидой ReLU обладает двумя важными преимуществами.

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

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

Авторы показали, что использование ReLU позволило сократить время обучения в несколько раз по сравнению с аналогичной сетью, использующей функцию \tanh.

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

AlexNet применяет максимальный пулинг с размером окна

3 \times 3

и шагом

2.

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

Экспериментально было показано, что перекрывающийся пулинг обеспечивает небольшое, но устойчивое уменьшение как top-1, так и top-5 ошибки по сравнению с традиционным неперекрывающимся вариантом.

Технические детали обучения

Обучение на двух GPU

Во время создания AlexNet объём памяти графических процессоров был недостаточен для размещения всей сети на одном устройстве.

Поэтому обучение выполнялось одновременно на двух GPU NVIDIA GTX 580.

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

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

Local Response Normalization

После первых двух свёрточных слоёв применялась операция Local Response Normalization (LRN).

Для активации a_i нормализованное значение вычислялось по формуле

b_i=\frac{a_i}{\left(k+\alpha\sum_j a_j^2\right)^\beta}.

Нормализация выполнялась между соседними картами признаков.

Авторы связывали данный механизм с явлением латерального торможения, наблюдаемым в биологических зрительных системах.[1]

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

Регуляризация

AlexNet использовала сразу несколько методов регуляризации.

На первых двух полносвязных слоях применялся Dropout, при котором каждый нейрон во время обучения случайным образом отключался с вероятностью 0,5.

Такой подход препятствовал совместной адаптации нейронов и существенно уменьшал переобучение.

Кроме того, активно использовалась аугментация данных.

Основными преобразованиями являлись:

  • случайные кропы изображения;
  • горизонтальные отражения;
  • изменение интенсивности цветовых каналов.

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

Результаты на ImageNet 2012

На соревновании ILSVRC-2012 AlexNet достигла top-5 ошибки около 15,3 %, тогда как ближайший конкурент показал результат около 26,2 %.

Разрыв почти в 11 процентных пунктов оказался беспрецедентным для соревнований по распознаванию изображений.

Top-1 ошибка также значительно превосходила результаты существовавших методов.

Столь существенное преимущество объяснялось сочетанием нескольких факторов:

  • глубокой архитектуры;
  • большого объёма обучающих данных;
  • использования GPU;
  • эффективной регуляризации;
  • функции активации ReLU;
  • масштабной аугментации данных.

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

Анализ фильтров и признаков

Одним из наиболее интересных результатов работы стало исследование внутренних представлений сети.

Визуализация фильтров первого свёрточного слоя показала, что сеть автоматически изучает простейшие пространственные структуры:

  • ориентированные границы;
  • цветовые переходы;
  • текстурные элементы;
  • простые цветовые комбинации.

На последующих уровнях признаки становятся всё более абстрактными.

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

Более глубокие слои кодируют части объектов: глаза животных, колёса автомобилей, окна зданий, элементы человеческого лица.

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

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

Влияние на развитие глубокого обучения

AlexNet оказала определяющее влияние на дальнейшее развитие глубокого обучения.

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

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

Наконец, AlexNet стала отправной точкой для создания более глубоких и эффективных архитектур. Непосредственным развитием её идей стала сеть ZFNet, за которой последовали VGG, GoogLeNet и ResNet. Во всех этих архитектурах сохранялась основная идея последовательного формирования всё более абстрактных представлений изображения, однако совершенствовались способы обучения, структура блоков и эффективность использования вычислительных ресурсов.

Хотя современные архитектуры существенно отличаются от AlexNet, многие решения, впервые успешно применённые в ней — использование ReLU, масштабная аугментация данных, обучение на GPU и глубокая иерархия признаков — стали стандартными компонентами большинства современных систем компьютерного зрения.

Литература

  1. Krizhevsky A., Sutskever I., Hinton G. E. ImageNet Classification with Deep Convolutional Neural Networks. Advances in Neural Information Processing Systems (NeurIPS), 2012.
  1. Deng J., Dong W., Socher R., Li L.-J., Li K., Fei-Fei L. ImageNet: A Large-Scale Hierarchical Image Database. CVPR, 2009.
  1. Zeiler M. D., Fergus R. Visualizing and Understanding Convolutional Networks. ECCV, 2014.
  1. Simonyan K., Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition. 2014.
  1. He K., Zhang X., Ren S., Sun J. Deep Residual Learning for Image Recognition. CVPR, 2016.

Примечания

Личные инструменты