AlexNet

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

(Различия между версиями)
Перейти к: навигация, поиск

Anna Chirkova (Обсуждение | вклад)
(Новая: = AlexNet = Архитектура сети AlexNet. == Введение == '''AlexNet''' — архитекту...)
К следующему изменению →

Версия 09:11, 12 июля 2026

Содержание

AlexNet

Изображение:AlexNet architecture.png
Архитектура сети AlexNet.

Введение

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

Победа AlexNet считается переломным моментом в развитии глубокого обучения. До 2012 года большинство систем компьютерного зрения основывалось на ручном проектировании признаков, таких как SIFT, SURF или HOG, после чего применялись традиционные методы классификации. AlexNet показала, что глубокие обучаемые представления способны значительно превосходить признаки, созданные вручную, при наличии достаточного объёма данных и вычислительных ресурсов.

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

Архитектура

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

Последовательность слоёв имеет следующий вид:

  • входное изображение размером 227 \times 227 \times 3;
  • первый свёрточный слой: 96 фильтров размера 11 \times 11, шаг 4, после чего применяется максимальный пулинг;
  • второй свёрточный слой: 256 фильтров размера 5 \times 5 с последующим пулингом;
  • третий свёрточный слой: 384 фильтра размера 3 \times 3;
  • четвёртый свёрточный слой: 384 фильтра размера 3 \times 3;
  • пятый свёрточный слой: 256 фильтров размера 3 \times 3 с последующим максимальным пулингом;
  • три полносвязных слоя размерности 4096, 4096 и 1000 нейронов соответственно.

Выход последнего слоя вычисляется при помощи функции Softmax:


p_i=\frac{\exp(z_i)}{\sum\limits_j \exp(z_j)},

где z_i — значение i-го выходного нейрона.

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

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

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

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


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

По сравнению с сигмоидой


\sigma(x)=\frac{1}{1+e^{-x}},

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

Авторы показали, что применение ReLU позволило сократить время достижения одинаковой точности в несколько раз по сравнению с использованием функции tanh.[1]

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

В AlexNet использовался максимальный пулинг с размером окна 3 \times 3 и шагом 2. Такой вариант получил название overlapping pooling, поскольку соседние окна частично перекрываются.

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

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

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

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

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

Local Response Normalization

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

Нормализация вычислялась по формуле


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

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

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

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

Из-за большого числа параметров AlexNet была склонна к переобучению, поэтому авторы использовали несколько методов регуляризации.

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

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

Для моделирования естественных изменений освещения использовалось преобразование главных компонент цветового пространства (PCA color augmentation). Пусть собственные значения ковариационной матрицы RGB-компонент равны \lambda_i, а собственные векторы — p_i. Тогда к каждому изображению добавлялось случайное смещение


\Delta I=\sum_i p_i \alpha_i \lambda_i,

где \alpha_i — случайные величины с нормальным распределением.

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

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

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

Фактически впервые было убедительно показано, что качество автоматически изучаемых признаков существенно превосходит возможности традиционных методов, основанных на ручном проектировании дескрипторов.

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

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

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

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

Многие технические решения AlexNet впоследствии были пересмотрены. Например, LRN практически перестала использоваться, а большие фильтры первого слоя были заменены более компактными свёртками. Тем не менее фундаментальные идеи — глубокие обучаемые представления, использование ReLU, обучение на GPU и масштабные наборы данных — стали стандартом современного глубокого обучения.

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

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

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

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

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

Таким образом, AlexNet демонстрирует иерархический принцип формирования представлений, при котором сложные признаки постепенно строятся из более простых. Именно эта особенность сделала глубокие свёрточные нейронные сети эффективным инструментом анализа изображений.

Литература

  1. Krizhevsky A., Sutskever I., Hinton G. E. ImageNet Classification with Deep Convolutional Neural Networks // Advances in Neural Information Processing Systems. 2012.
  1. Russakovsky O., Deng J., Su H. и др. ImageNet Large Scale Visual Recognition Challenge // International Journal of Computer Vision. 2015.
  1. Goodfellow I., Bengio Y., Courville A. Deep Learning. MIT Press, 2016.
  1. LeCun Y., Bengio Y., Hinton G. Deep Learning // Nature. 2015.

Примечания

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