Residual Networks (ResNet)
Изучи возможности остаточных сетей (ResNet). Узнай, как skip-соединения решают проблему затухающего градиента, чтобы обеспечить глубокое обучение для компьютерного зрения.
Остаточные сети, широко известные как ResNets, представляют собой особый тип архитектуры искусственной нейронной сети (АНС), разработанный для облегчения обучения сверхглубоких сетей. Представленная исследователями Microsoft в 2015 году, архитектура ResNet решила критическую проблему глубокого обучения, известную как проблема затухающего градиента. В традиционных сетях увеличение количества слоев часто приводило к насыщению или ухудшению производительности, так как сигнал, необходимый для обновления весов модели, затухал при прохождении через слои в обратном направлении. ResNet внедрила «пропускающие соединения» (или остаточные соединения), которые позволяют данным обходить один или несколько слоев и поступать напрямую на последующие этапы обработки. Это нововведение доказало, что более глубокие сети можно эффективно обучать, что привело к значительным прорывам в компьютерном зрении (CV) и стало фундаментальной концепцией для современных архитектур.
Link to this sectionОсновная концепция: Остаточное обучение#
Определяющей особенностью ResNet является «остаточный блок». В стандартной сверточной нейронной сети (CNN) каждый слой пытается выучить прямое отображение от входа к выходу. По мере углубления сетей изучение этого прямого отображения становится все более сложным.
ResNet меняет этот подход, формулируя цель обучения иначе. Вместо того чтобы надеяться, что каждый стек слоев выучит все базовое отображение, остаточный блок заставляет слои изучать «остаток» — или разницу — между входом и желаемым выходом. Исходный вход затем добавляется обратно к изученному остатку через пропускающее соединение. Это структурное изменение означает, что если тождественное отображение (передача входа без изменений) является оптимальным, сеть может легко научиться сводить остатки к нулю. Это значительно упрощает оптимизацию моделей глубокого обучения (DL), позволяя им масштабироваться от десятков до сотен и даже тысяч слоев.
Link to this sectionКлючевые варианты архитектуры#
С момента появления несколько вариаций ResNet стали стандартными эталонами в AI-сообществе.
- ResNet-50: 50-слойная версия, использующая дизайн «бутылочного горлышка» (bottleneck). В этом дизайне применяются свертки 1x1 для уменьшения, а затем восстановления размерности, что делает сеть вычислительно эффективной при сохранении высокой точности.
- ResNet-101 и ResNet-152: Более глубокие варианты со 101 и 152 слоями соответственно. Они часто используются, когда вычислительные ресурсы позволяют повысить сложность для захвата более запутанных карт признаков.
- ResNeXt: Эволюция ResNet, которая вводит измерение «кардинальности», разделяя остаточный блок на несколько параллельных путей, что повышает эффективность и производительность.
Link to this sectionРеальные приложения#
Надежность архитектур ResNet сделала их предпочтительным выбором для широкого спектра визуальных задач.
- Анализ медицинских изображений: В здравоохранении крайне важно выявлять тонкие аномалии на снимках высокого разрешения. Модели на базе ResNet часто применяются для обнаружения таких состояний, как выявление опухолей на медицинских изображениях, где глубина сети помогает различать мелкозернистые паттерны в данных МРТ или КТ.
- Автономные транспортные средства: Беспилотные автомобили требуют надежного извлечения признаков из видеопотока с камер для распознавания пешеходов, знаков и препятствий. ResNet часто служат основой для систем обнаружения объектов в приложениях AI в автомобильной промышленности, обеспечивая богатые визуальные признаки, необходимые для безопасной навигации.
Link to this sectionResNet против других архитектур#
Полезно отличать ResNet от других популярных архитектур, чтобы понять его специфическую полезность.
- ResNet против VGG: Сети VGG (Visual Geometry Group) также являются глубокими CNN, но им не хватает остаточных соединений. Следовательно, их гораздо труднее обучать на глубинах, сравнимых с ResNet, и они, как правило, более затратны с точки зрения вычислений из-за больших полносвязных слоев.
- ResNet против Inception: Сети Inception фокусируются на ширине, используя фильтры разных размеров в рамках одного слоя для захвата признаков в разных масштабах. ResNet фокусируется на глубине. Современные архитектуры, такие как Inception-ResNet, объединяют обе концепции.
- ResNet против Vision Transformer (ViT): В то время как ViT используют механизмы self-attention для глобальной обработки изображений, ResNet полагаются на локальные свертки. Однако ResNet остаются сильной базовой моделью и часто работают быстрее на небольших наборах данных или при выводе в реальном времени.
Link to this sectionПример реализации#
Современные библиотеки глубокого обучения, такие как PyTorch, упрощают доступ к предобученным моделям ResNet. Эти модели неоценимы для трансферного обучения, при котором модель, обученная на большом наборе данных, таком как ImageNet, дообучается для выполнения конкретной задачи.
Следующий фрагмент кода на Python демонстрирует, как загрузить предобученную модель ResNet-50 с помощью torchvision (части экосистемы PyTorch) и выполнить простой прямой проход. Хотя пользователи платформы Ultralytics могут часто использовать YOLO26 для обнаружения, понимание базовых концепций архитектуры, таких как ResNet, критически важно для глубокой настройки.
import torch
import torchvision.models as models
# Load a pre-trained ResNet-50 model
resnet50 = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)
resnet50.eval() # Set model to evaluation mode
# Create a dummy input tensor (batch_size, channels, height, width)
input_tensor = torch.randn(1, 3, 224, 224)
# Perform a forward pass to get predictions
with torch.no_grad():
output = resnet50(input_tensor)
print(f"Output shape: {output.shape}") # Expect [1, 1000] for ImageNet classesLink to this sectionЗначение в современном AI#
Хотя более новые архитектуры, такие как YOLO26, используют высокооптимизированные структуры для достижения максимальной скорости и точности, принципы остаточного обучения остаются повсеместными. Концепция пропускающих соединений теперь является стандартным компонентом многих продвинутых сетей, включая трансформеры, используемые в обработке естественного языка (NLP), и новейшие модели обнаружения объектов. Обеспечив более свободный поток информации через сеть, ResNet проложила путь к глубоким, сложным моделям, которые питают современный искусственный интеллект.






