Identity Mapping
探索深度学习中的恒等映射。了解跳跃连接如何通过防止梯度消失来为像 Ultralytics YOLO26 这样的神经网络提供支持。
在数学和线性代数中,恒等映射或单位矩阵是一个返回与输入完全相同的值的函数。在人工智能 (AI)和深度学习的背景下,恒等映射是指一种特定的架构技术,用于将输入数据直接传递给卷积神经网络 (CNN)的后续层,而不进行任何非线性变换。2015年残差网络 (ResNet)的引入极大地普及了这一概念,彻底改变了深度计算机视觉 (CV)模型的结构和训练方式。
恒等映射的工作原理#
深度神经网络经常受到梯度消失问题的困扰。在反向传播过程中,用于更新网络权重的误差信号在穿过各层向后传播时呈指数级变小,导致早期层无法有效学习。恒等映射通过创建“跳跃连接”或“快捷连接”解决了这个问题。
模型没有强迫顺序层去学习一个全新的、未引用的映射,而是被设计为学习一个残差函数。从数学上讲,如果一个块的输入是 x,该层就会学习一个变换 F(x)。恒等映射将原始输入 x 直接加到该变换的输出中,从而产生最终输出 F(x) + x。这确保了即使在极深的网络中,梯度也可以毫无阻碍地直接流过模型主干网络。像Google DeepMind和OpenAI这样信誉良好的 AI 研究机构经常利用这些架构捷径来稳定海量基础模型的训练。
恒等映射与身份保持的区别#
区分恒等映射与名称相似的身份保持至关重要。
虽然恒等映射是神经网络的一种结构编码特征,旨在优化机器学习 (ML)训练流程,但身份保持是一个不同的计算机视觉任务。身份保持专注于在目标跟踪的不同视频帧中,或在生成式 AI 工作流的生成图像中,保持特定人物或物体的视觉一致性。
实际应用#
恒等映射是当今生产环境中许多高精度模型的基础构建块:
- 先进的目标检测:现代实时架构(包括最新的 Ultralytics YOLO26)在其特征提取层中利用了包含恒等映射的高级残差块。这使它们能够在自动驾驶等复杂环境中执行高速、精确的检测,而不会随着网络深度的增加而降低性能。
- 图像分类模型:最先进的视觉架构(在 arXiv 和 IEEE Xplore 数字图书馆等学术存储库中有广泛记录)依靠恒等映射来成功训练具有数百层的模型。像 TensorFlow 这样高级的框架利用这些捷径从海量数据集中提取高度复杂的层次化特征。
在 PyTorch 中实现恒等映射#
在构建自定义神经网络时,像 PyTorch 这样的深度学习框架提供了原生工具来轻松实现这些快捷方式。你可以显式使用 PyTorch nn.Identity 模块,或者直接在你的 nn.Module 前向传递中应用数学加法。
以下代码片段演示了一个使用恒等映射的基本残差块。请注意,利用基于云的 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)





