ResNet: Как skip-connections спасли глубокое обучение от деградации

Yannic Kilcher 81,8 тыс. 31 мин 4 мин 14.07.2020
Главное

В 2015 году мир компьютерного зрения претерпел фундаментальный сдвиг. На конференции CVPR была представлена работа, которая не только выиграла конкурс ImageNet с огромным отрывом, но и ввела архитектурное решение, ставшее стандартом для всей индустрии глубокого обучения. Ведущий канала и исследователь Янник Килчер (Yannic Kilcher) анализирует культовую статью «Deep Residual Learning for Image Recognition», объясняя, как концепция «остаточного обучения» позволила преодолеть барьеры при создании сверхглубоких нейросетей.

💥 Конец эпохи гигантов: проблема деградации глубоких сетей 0:00

До появления архитектуры ResNet в сообществе исследователей искусственного интеллекта господствовало убеждение: чем глубже сеть, тем выше её точность . После успеха AlexNet и VGG-сетей инженеры соревновались в количестве слоев, надеясь на автоматическое улучшение качества распознавания. Однако индустрия быстро уперлась в потолок.

Главной проблемой стало не переобучение (overfitting), как можно было бы ожидать, а странный феномен «деградации». Эксперименты показывали, что при увеличении глубины сети (например, с 20 до 56 слоев) ошибка на обучающей выборке начинала расти . Это означало, что глубокие архитектуры банально не удавалось оптимизировать.

Янник Килчер отмечает важный логический парадокс из статьи:

🧠 От «нуля» к «тождеству»: суть residual-подхода 8:53

Фундаментальная идея авторов статьи (Kaiming He и соавторов) заключалась в смене «точки отсчета» для каждого слоя. В классических сетях слой пытается выучить полную трансформацию $H(x)$. По мнению Янника Килчера, это сложно, так как стандартная инициализация весов и регуляризация (weight decay) толкают нейроны к выдаче нулевого результата .

Решение ResNet — заставить слой учить только «разницу» (residual) между входом и выходом.

  1. Skip-connections (пропуски слоев): Сигнал $x$ передается в обход весовых слоев и суммируется с их результатом .
  2. Новая цель: Теперь весовые слои вычисляют функцию $F(x) = H(x) - x$.
  3. Преимущество: Если слою не нужно ничего менять, он просто зануляет свои веса, и сигнал проходит дальше без искажений через skip-connection . Таким образом, «функцией по умолчанию» для сети становится тождественное отображение (identity function).

Это архитектурное решение позволило сигналу (и градиенту при обратном распространении ошибки) беспрепятственно «путешествовать» по сети, независимо от её глубины .

📊 VGG против ResNet: меньше параметров, больше слоев 12:11

В статье проводится детальное сравнение новой архитектуры с популярным на тот момент стандартом VGG-19.

🏆 Рекорды ImageNet и 1200 слоев безумия 22:16

Результаты применения ResNet шокировали сообщество в 2015 году. Сеть глубиной в 152 слоя показала точность, ранее считавшуюся невозможной .

🔬 Научный метод как искусство 28:18

В завершение обзора Янник Килчер подчеркивает образцовое качество самой научной работы. Статья не просто предлагает «хак», который работает, а последовательно доказывает гипотезу.

Янник резюмирует, что ResNet сегодня везде: от классификации изображений до трансформеров (LLM) . Несмотря на почтенный возраст, это одна из немногих статей, которую он рекомендует читать в оригинале из-за ясности изложения и безупречной методологии .

💬 Цитаты

«До этого обучение глубоких сетей было похоже на попытку пробить стену, но ResNet изменил правила игры (бум!).»

Янник Килчер 00:25

«Default функция нейросети стала identity-функцией. Теперь мы учим только отклонения от неё.»

Янник Килчер 11:31

«Эта статья — урок научной методологии: одна гипотеза и серия экспериментов, подтверждающих её со всех сторон.»

Янник Килчер 29:53
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Residual connection (Skip-connection)
Механизм передачи входного сигнала напрямую в более глубокие слои сети, минуя промежуточные преобразования.
Identity mapping
Функция, которая возвращает входное значение без изменений (f(x) = x).
Degradation problem
Феномен, при котором точность обучения падает при увеличении глубины нейросети, не связанный с переобучением.
Bottleneck block
Тип архитектурного блока, использующий 1x1 свертки для временного уменьшения объема данных ради экономии вычислений.
📊 Цифры
🗓 Хронология
  1. 2012 Успех AlexNet запускает тренд на увеличение глубины нейросетей.
  2. 2014 Расцвет сетей VGG и возникновение проблем с оптимизацией очень глубоких моделей.
  3. 2015 Публикация статьи «Deep Residual Learning for Image Recognition» и победа на ImageNet ILSVRC.
⚖️ Другая сторона
Искусственный интеллект ResNet Skip-connections ImageNet Kaiming He Deep Learning