Identity Mapping
Исследуй identity mapping в глубоком обучении. Узнай, как skip connections предотвращают затухание градиентов, обеспечивая работу таких нейронных сетей, как Ultralytics YOLO26.
В математике и линейной алгебре тождественное отображение или единичная матрица — это функция, которая возвращает точно то же значение, что было подано на её вход. В контексте искусственного интеллекта (ИИ) и глубокого обучения identity mapping (тождественное отображение) относится к специфическому архитектурному методу, используемому для передачи входных данных напрямую последующим слоям свёрточной нейронной сети (CNN) без каких-либо нелинейных преобразований. Эта концепция стала широко популярной благодаря появлению остаточных сетей (ResNet) в 2015 году, которые произвели революцию в том, как проектируются и обучаются глубокие модели компьютерного зрения (CV).
Link to this sectionКак работает Identity Mapping#
Глубокие нейронные сети часто страдают от проблемы исчезающего градиента. Во время обратного распространения ошибки сигналы, используемые для обновления весов сети, становятся экспоненциально меньше по мере прохождения назад через слои, что мешает эффективному обучению ранних слоев. Identity mapping решает эту проблему путем создания «пропускающих соединений» (skip connections) или «коротких соединений» (shortcut connections).
Вместо того чтобы заставлять последовательные слои изучать совершенно новое и несвязанное отображение, они проектируются для изучения остаточной функции. Математически, если вход блока равен x, слой изучает преобразование F(x). Identity mapping добавляет исходный вход x напрямую к выходу этого преобразования, что приводит к конечному результату F(x) + x. Это гарантирует, что даже в чрезвычайно глубоких сетях градиенты могут беспрепятственно проходить прямо через backbone модели. Авторитетные исследовательские организации в области ИИ, такие как Google DeepMind и OpenAI, часто используют эти архитектурные «сокращения» для стабилизации обучения в массивных фундаментальных моделях.
Link to this sectionIdentity Mapping против сохранения идентичности (Identity Preservation)#
Крайне важно отличать identity mapping от похожего по названию термина сохранение идентичности.
В то время как identity mapping — это структурная особенность построения нейронной сети, предназначенная для оптимизации потока обучения машинного обучения (ML), сохранение идентичности — это отдельная задача компьютерного зрения. Сохранение идентичности фокусируется на поддержании визуальной консистентности конкретного человека или объекта между различными кадрами видео при отслеживании объектов или между сгенерированными изображениями в рабочих процессах генеративного ИИ.
Link to this sectionРеальные приложения#
Identity mapping служит фундаментальным строительным блоком для многих высокоточных моделей, используемых в производстве сегодня:
- Расширенное обнаружение объектов: Современные архитектуры реального времени, включая новейшую Ultralytics YOLO26, используют усовершенствованные остаточные блоки, содержащие identity maps в своих слоях извлечения признаков. Это позволяет им выполнять высокоскоростное и точное обнаружение в сложных средах, таких как автономное вождение, без снижения производительности при увеличении глубины сети.
- Модели классификации изображений: Передовые архитектуры зрения, подробно описанные в академических репозиториях, таких как arXiv и цифровая библиотека IEEE Xplore, опираются на identity mappings для успешного обучения моделей с сотнями слоев. Высокоуровневые фреймворки, такие как TensorFlow, используют эти сокращения для извлечения очень сложных иерархических признаков из огромных наборов данных.
Link to this sectionРеализация Identity Mapping в PyTorch#
При создании пользовательских нейронных сетей такие фреймворки глубокого обучения, как PyTorch, предоставляют нативные инструменты для легкой реализации этих «сокращений». Ты можешь явно использовать модуль PyTorch nn.Identity или просто применять математическое сложение внутри своего метода прямого прохода (forward pass) nn.Module.
Следующий фрагмент демонстрирует базовый остаточный блок, использующий identity map. Обрати внимание, что разработчики, использующие облачную платформу Ultralytics для управления наборами данных и обучения моделей, автоматически получают преимущество от этих высокооптимизированных архитектурных структур «под капотом».
import torch.nn as nn
class ResidualBlock(nn.Module):
def __init__(self, channels):
super().__init__()
# A simple convolutional layer for feature extraction
self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
# Explicit identity mapping module
self.identity = nn.Identity()
def forward(self, x):
# The block output is the sum of the learned features and the identity map
return self.conv(x) + self.identity(x)





