Открыть сервис

AlexNet

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

История

Предпосылки создания

До 2012 года доминирующими подходами в компьютерном зрении были методы, основанные на ручном выделении признаков (например, SIFT, HOG) и классификаторах вроде SVM. Свёрточные нейронные сети (CNN) были известны с 1980-х годов (LeNet-5 Янна Лекуна), но их применение ограничивалось небольшими наборами данных из-за высокой вычислительной сложности, склонности к переобучению и отсутствия мощных графических процессоров (GPU). К 2012 году рост производительности GPU и появление больших размеченных наборов данных, таких как ImageNet (содержащий более 14 миллионов изображений и 22 000 категорий), создали предпосылки для обучения глубоких моделей.

Соревнование ILSVRC-2012

В 2012 году команда SuperVision (Крижевский, Суцкевер, Хинтон) представила AlexNet на конкурсе ILSVRC. Сеть продемонстрировала топ-5 ошибку (то есть вероятность того, что правильный ответ не входит в пятёрку наиболее вероятных предсказаний) в 15,3%, что было на 10,8 процентных пункта лучше, чем у занявшего второе место метода, основанного на комбинации классических признаков. Этот результат был воспринят как сенсация и послужил катализатором для массового перехода исследовательского сообщества к глубоким нейронным сетям.

Влияние на развитие ИИ

Успех AlexNet привёл к резкому росту интереса к глубокому обучению, финансирования исследований и коммерческих разработок. Архитектура стала основой для многих последующих моделей (VGGNet, GoogLeNet, ResNet). Сам Алекс Крижевский, Илья Суцкевер и Джеффри Хинтон впоследствии основали компанию DNNresearch, которая была приобретена компанией Google в 2013 году. Суцкевер стал одним из сооснователей OpenAI.

Архитектура

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

Основные компоненты

  1. Входной слой: Принимает изображения размером 227×227×3 пикселя (RGB). Исходные изображения из ImageNet (обычно 256×256) обрезались до этого размера.
  2. Свёрточные слои (C1–C5):
  • C1: 96 фильтров размером 11×11 с шагом 4. Применяет ReLU-активацию. После слоя — операция локальной нормализации отклика (Local Response Normalization, LRN) и объединение (Max Pooling) с окном 3×3 и шагом 2.
  • C2: 256 фильтров размером 5×5. После — LRN и Max Pooling.
  • C3: 384 фильтра размером 3×3. Без пулинга.
  • C4: 384 фильтра размером 3×3. Без пулинга.
  • C5: 256 фильтров размером 3×3. После — Max Pooling.
  1. Полносвязные слои (FC6–FC8):
  • FC6: 4096 нейронов. После — ReLU и метод регуляризации Dropout (вероятность отключения нейрона — 0.5).
  • FC7: 4096 нейронов. После — ReLU и Dropout.
  • FC8 (выходной): 1000 нейронов (по числу классов ImageNet). Используется функция активации Softmax для получения вероятностей принадлежности к каждому классу.

Ключевые нововведения

  • Функция активации ReLU (Rectified Linear Unit): В отличие от сигмоиды или гиперболического тангенса, ReLU (f(x) = max(0, x)) позволяла обучать сеть в несколько раз быстрее, не вызывая проблемы затухания градиента на глубоких слоях.
  • Обучение на GPU: Сеть обучалась на двух графических процессорах NVIDIA GTX 580 в течение 5–6 дней. Свёрточные слои были распределены между двумя GPU: один обрабатывал часть карт признаков, другой — остальные. Это позволило уместить модель в память и ускорить обучение.
  • Локальная нормализация отклика (LRN): Создавала конкуренцию между нейронами в одной пространственной позиции, подавляя слишком активные нейроны. Этот метод, по мнению авторов, способствовал обобщению и снижал ошибку.
  • Перекрывающееся объединение (Overlapping Pooling): Использование шага пулинга (2) меньшего, чем размер окна (3), снижало ошибку и уменьшало переобучение.
  • Аугментация данных: Для борьбы с переобучением применялись искусственные преобразования изображений: случайное горизонтальное отражение, изменение интенсивности RGB-каналов (PCA-шум), а также извлечение случайных фрагментов размером 227×227 из изображений 256×256.

Обучение

Набор данных

AlexNet обучался на подмножестве ImageNet, содержащем около 1,2 миллиона изображений из 1000 классов. Для валидации использовалось 50 000 изображений, для тестирования — 150 000.

Гиперпараметры

  • Оптимизатор: Стохастический градиентный спуск (SGD) с импульсом (momentum = 0.9).
  • Скорость обучения: Начальная — 0.01, с ручным уменьшением в 10 раз при остановке снижения ошибки на валидационном наборе (всего было сделано три таких снижения).
  • Размер мини-пакета (batch size): 128.
  • Регуляризация: Dropout с вероятностью 0.5 на первых двух полносвязных слоях. Весовое затухание (weight decay) с коэффициентом 0.0005.
  • Инициализация весов: Случайные значения из нормального распределения со средним 0 и стандартным отклонением 0.01. Смещения (bias) в свёрточных слоях инициализировались единицами, в остальных — нулями.

Результаты

На тестовом наборе ILSVRC-2012 AlexNet показал топ-1 ошибку 37,5% и топ-5 ошибку 17,0% (в конкурсе — 15,3% с учётом ансамбля из семи моделей). Эти результаты более чем вдвое превзошли все предыдущие подходы.

Применение и наследие

Области использования

Хотя AlexNet был создан для классификации изображений, его архитектура и принципы обучения легли в основу многих прикладных задач:

Критика и ограничения

  • Высокие вычислительные затраты: AlexNet требовал значительных ресурсов GPU для обучения, что было доступно лишь крупным исследовательским группам и компаниям.
  • Склонность к переобучению: Несмотря на аугментацию и Dropout, модель могла переобучаться на небольших датасетах.
  • Отсутствие механизма внимания: Сеть обрабатывала изображение целиком, не фокусируясь на ключевых областях.
  • Устаревание: С появлением более глубоких и эффективных архитектур (ResNet, Inception, EfficientNet) AlexNet перестал быть практическим стандартом, но остаётся важной исторической вехой.

Интересные факты

  • Название «AlexNet» происходит от имени первого автора — Алекса Крижевского.
  • Исходный код AlexNet был написан на C++ с использованием CUDA для работы на GPU. Позже были созданы реализации на TensorFlow, PyTorch и других фреймворках.
  • Победа AlexNet в ILSVRC-2012 считается моментом начала «глубокой революции» в искусственном интеллекте. Через несколько лет после этого все участники конкурса перешли на глубокие нейронные сети, а традиционные методы почти полностью исчезли.
  • Джеффри Хинтон, один из соавторов, получил в 2018 году Премию Тьюринга (совместно с Янном Лекуном и Йошуа Бенжио) за вклад в развитие глубокого обучения.

Источники

  1. Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet Classification with Deep Convolutional Neural Networks. Advances in Neural Information Processing Systems 25 (NIPS 2012).
  2. Russakovsky, O., Deng, J., Su, H., et al. (2015). ImageNet Large Scale Visual Recognition Challenge. International Journal of Computer Vision, 115(3), 211–252.
  3. Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. (Глава 9: Convolutional Networks).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →