Разбор классических нейросетей: Как устроены LeNet-5, AlexNet и VGG-16

DeepLearning.AI 113 тыс. 18 мин 4 мин 07.11.2017
Главное

В истории глубокого обучения существуют архитектуры, которые не просто показали хорошие результаты, а определили вектор развития всей индустрии. В рамках обучающего курса от DeepLearning.AI основатель компании Эндрю Ын (Andrew Ng) разбирает три фундаментальные сверточные нейронные сети: LeNet-5, AlexNet и VGG-16. Эти модели демонстрируют переход от простых систем распознавания рукописных цифр к гигантским сетям, способным классифицировать тысячи объектов на реальных фотографиях.

🏛️ LeNet-5: Классика распознавания образов 0:00

Разработанная в 1998 году, LeNet-5 была создана для распознавания рукописных цифр в чеках и почтовых отправлениях . На входе сеть принимает серое (одноканальное) изображение размером 32x32 пикселя. По современным меркам это крошечная модель, содержащая всего около 60 000 параметров, тогда как современные сети часто оперируют десятками и сотнями миллионов .

Архитектура LeNet-5 строится по следующей схеме:

Эндрю Ын обращает внимание на исторический контекст: в оригинальной статье 1998 года использовались нелинейности Sigmoid и Tanh вместо современного ReLU . Кроме того, из-за ограниченных вычислительных мощностей авторы применяли сложные схемы, где разные фильтры смотрели на разные каналы входного блока, что сегодня считается излишним усложнением .

🚀 AlexNet: Прорыв в компьютерном зрении 7:04

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

Основные характеристики AlexNet:

Структура сети включает свертки с крупными фильтрами (11x11 в первом слое со страйдом 4), несколько слоев Max Pooling и глубокие полносвязные слои, завершающиеся Softmax-выходом на 1000 классов ImageNet .

В статье об AlexNet упоминаются два специфических аспекта, которые сегодня редко применяются:

  1. Обучение на двух GPU: В 2012 году графические процессоры имели мало памяти, поэтому сеть буквально разделяли пополам между двумя видеокартами с хитрой схемой коммуникации между ними .
  2. Local Response Normalization (LRN): Слой локальной нормализации ответа, который должен был ограничивать слишком сильные активации нейронов. По словам Эндрю Ына, последующие исследования показали, что LRN мало влияет на результат, и сам лектор не использует его в своей практике .

📐 VGG-16: Триумф простоты и единообразия 12:35

Если AlexNet была сложной сетью с множеством гиперпараметров, то VGG-16 (авторы Карен Симонян и Эндрю Циссерман) поразила мир своей простотой и логичностью . Основная идея заключалась в использовании только одного типа свертки и одного типа пулинга на протяжении всей сети.

Архитектурные принципы VGG-16:

Число «16» в названии указывает на количество слоев с весами (сверточные и полносвязные) . VGG-16 — это массивная сеть даже по сегодняшним меркам, содержащая около 138 миллионов параметров . Несмотря на большой объем и медлительность, архитектура стала популярной благодаря своей унифицированной структуре: высота и ширина изображения уменьшаются ровно в два раза на каждом этапе пулинга, а количество каналов предсказуемо растет .

📊 Общие закономерности классических сетей 3:42

Эндрю Ын выделяет общие паттерны, которые прослеживаются во всех трех архитектурах и сохраняются в современном дизайне нейросетей:

  1. Изменение размерности: По мере продвижения вглубь сети (слева направо) высота ($H$) и ширина ($W$) изображения постепенно уменьшаются .
  2. Увеличение каналов: Одновременно с уменьшением пространственных размеров растет количество каналов (глубина) — например, от 1 до 6, а затем до 16 в LeNet-5, или от 64 до 512 в VGG-16 .
  3. Типовая последовательность: Почти всегда используется паттерн [CONV -> POOL], повторяющийся несколько раз, за которым следуют полносвязные слои (FC) и финальный Softmax .

Для тех, кто хочет глубже изучить первоисточники, Эндрю Ын рекомендует начинать чтение с работы по AlexNet как самой доступной, затем переходить к VGG, а статью по LeNet-5 оставить напоследок из-за её сложности и устаревшей терминологии .

💬 Цитаты

«По мере того как вы углубляетесь в сеть, высота и ширина имеют тенденцию уменьшаться, а количество каналов — расти.»

Эндрю Ын 3:42

«Именно эта работа (AlexNet) убедила многих в сообществе компьютерного зрения серьезно взглянуть на глубокое обучение.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
ReLU
Линейный выпрямитель, функция активации, которая возвращает значение x, если оно положительно, и ноль в противном случае.
Max Pooling
Слой нейросети, который выбирает максимальное значение из заданного окна, уменьшая размерность данных.
Softmax
Финальный слой нейросети, преобразующий выходные значения в вероятности принадлежности к классам.
Padding
Добавление пустых пикселей по краям изображения, чтобы контролировать размер выходного объема после свертки.
📊 Цифры
🗓 Хронология
  1. 1998 Публикация статьи Янна Лекуна о нейросети LeNet-5.
  2. 2012 Победа AlexNet в соревновании ImageNet, давшая старт буму глубокого обучения.
  3. 2014 Появление архитектуры VGG-16, упростившей дизайн глубоких сетей.
⚖️ Другая сторона
Искусственный интеллект LeNet-5 AlexNet VGG-16 Convolutional Neural Networks Эндрю Ын