092、残差学习在超分中的演进:从VDSR到RCAN的深度网络设计

📅 2026/7/9 15:41:08
092、残差学习在超分中的演进:从VDSR到RCAN的深度网络设计
092、残差学习在超分中的演进:从VDSR到RCAN的深度网络设计去年有个项目,客户要求把监控视频里的人脸从72x72放大到4倍,还要保留眉毛纹理。我一开始直接堆了20层卷积,结果训练到第3天loss就下不去了,输出全是模糊的色块。后来同事看了一眼说:“你梯度全炸了,试试残差连接。” 这一试,让我彻底理解了残差学习在超分里的分量。为什么超分需要残差?一个真实调试案例先说说那次踩坑。我当时的网络结构很简单:卷积+ReLU重复堆叠,输入是低分辨率图像,输出直接预测高分辨率图像。训练时发现,前几层梯度还算正常,到了第10层以后,梯度范数直接掉到1e-8,反向传播根本传不回去。这就是典型的梯度消失——深层网络在超分任务里尤其严重,因为图像像素值范围有限(0-255),激活函数饱和区很容易把梯度吃掉。后来我改成残差结构:让网络去学习低分辨率到高分辨率的残差,而不是直接学高分辨率图像本身。具体来说,输入x经过几层卷积得到残差r,输出就是x + r。这样做的物理意义很直观:低分辨率图像和高分辨率图像共享大部分低频信息(比如背景、大块颜色),网络只需要集中精力学习高频细节(边缘、纹理)。梯度传播路径也变短了——恒等映射那条路梯度直接回传,不会衰减。VDSR:残差学习的开山之作VDSR(Very Deep Super-Resolution)是2016年的工作,核心思想就是“深+残差”。它用了20层卷积,每层之间都加残差连接。当时我复现的时候有个细节差点翻车:VDSR的残差连接是跨层相加,但它的卷积