Residual Networks (ResNet)
Изучи возможности остаточных сетей (ResNet). Узнай, как skip-соединения решают проблему затухающего градиента, чтобы обеспечить глубокое обучение для компьютерного зрения.
Residual Networks, широко известные как ResNet, представляют собой особый тип архитектуры artificial neural network (ANN), созданный для обучения чрезвычайно глубоких сетей. Представленные исследователями Microsoft в 2015 году, ResNet решили критическое узкое место в глубоком обучении, известное как vanishing gradient problem. В традиционных сетях добавление новых слоев часто приводило к насыщению или ухудшению производительности, поскольку сигнал, необходимый для обновления model weights, затухал при обратном распространении по слоям. ResNet внедрили «пропускные соединения» (или остаточные соединения), которые позволяют данным обходить один или несколько слоев и поступать напрямую на последующие этапы обработки. Эта инновация доказала, что более глубокие сети можно эффективно обучать, что привело к значительным прорывам в области computer vision (CV) и стало фундаментальной концепцией для современных архитектур.
Основная концепция: Остаточное обучение#
Главной особенностью ResNet является «остаточный блок» (residual block). В стандартной convolutional neural network (CNN) каждый слой пытается изучить прямое отображение (mapping) из входа в выход. По мере углубления сетей изучение этого прямого отображения становится все более сложным.
ResNet меняет этот подход, формулируя цель обучения иначе. Вместо надежды на то, что каждый стек слоев изучит все базовое отображение, остаточный блок заставляет слои изучать «остаток» (residual) — или разницу — между входом и желаемым выходом. Исходный вход затем добавляется обратно к изученному остатку через пропускное соединение. Это структурное изменение означает, что если оптимальным является тождественное отображение (передача входа без изменений), сеть может легко научиться сводить остатки к нулю. Это делает модели deep learning (DL) намного проще в оптимизации, позволяя им масштабироваться от десятков до сотен или даже тысяч слоев.
Ключевые варианты архитектуры#
С момента появления несколько вариаций ResNet стали стандартными эталонами в AI-сообществе.
- ResNet-50: 50-слойная версия, использующая дизайн «бутылочного горлышка» (bottleneck). В этом дизайне применяются свертки 1x1 для уменьшения, а затем восстановления размерностей, что делает сеть вычислительно эффективной при сохранении высокой accuracy.
- ResNet-101 и ResNet-152: Более глубокие варианты с 101 и 152 слоями соответственно. Они часто используются, когда вычислительные ресурсы позволяют обеспечить большую сложность для захвата более сложных feature maps.
- ResNeXt: Эволюция ResNet, которая вводит измерение «кардинальности», разделяя остаточный блок на несколько параллельных путей, что повышает эффективность и производительность.
Реальные приложения#
Надежность архитектур ResNet сделала их предпочтительным выбором для широкого спектра визуальных задач.
- Medical Image Analysis: В здравоохранении критически важно выявлять тонкие аномалии на сканах высокого разрешения. Модели на базе ResNet часто применяются для обнаружения таких состояний, как tumor detection in medical imaging, где глубина сети помогает распознавать мелкозернистые паттерны в данных МРТ или КТ.
- Autonomous Vehicles: Автомобилям с автономным управлением требуется надежное извлечение признаков из видеопотоков с камер для идентификации пешеходов, знаков и препятствий. ResNet часто служат в качестве backbone для систем обнаружения объектов в приложениях AI in automotive, обеспечивая богатые визуальные признаки, необходимые для безопасной навигации.
ResNet против других архитектур#
Полезно отличать ResNet от других популярных архитектур, чтобы понять его специфическую полезность.
- ResNet против VGG: Сети VGG (Visual Geometry Group) также являются глубокими CNN, но в них отсутствуют остаточные соединения. Следовательно, их гораздо сложнее обучать на глубинах, сопоставимых с ResNet, и они, как правило, более ресурсоемки из-за своих крупных полносвязных слоев.
- ResNet против Inception: Сети Inception сосредоточены на ширине, используя фильтры разного размера в пределах одного слоя для захвата признаков в разных масштабах. ResNet фокусируется на глубине. Современные архитектуры, такие как Inception-ResNet, объединяют обе концепции.
- ResNet против Vision Transformer (ViT): В то время как ViT используют механизмы самовнимания (self-attention) для глобальной обработки изображений, ResNet полагаются на локальные свертки. Тем не менее, ResNet остаются надежным базовым решением и часто работают быстрее для небольших наборов данных или в задачах inference в реальном времени.
Пример реализации#
Современные библиотеки глубокого обучения, такие как PyTorch, позволяют легко получить доступ к предварительно обученным моделям ResNet. Эти модели неоценимы для transfer learning, когда модель, обученная на большом наборе данных вроде ImageNet, дообучается для конкретной задачи.
Следующий фрагмент на Python демонстрирует, как загрузить предварительно обученную модель ResNet-50 с помощью torchvision (части экосистемы PyTorch) и выполнить простой прямой проход. Хотя пользователи Ultralytics Platform часто могут использовать 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 classesЗначение в современном AI#
Хотя более новые архитектуры, такие как YOLO26, используют высоко оптимизированные структуры для максимальной скорости и точности, принципы остаточного обучения остаются вездесущими. Концепция пропускных соединений теперь является стандартным компонентом во многих продвинутых сетях, включая трансформеры, используемые в natural language processing (NLP), и новейшие модели object detection. Обеспечивая более свободное прохождение информации через сеть, ResNet проложила путь к глубоким и сложным моделям, которые питают современный искусственный интеллект.






