type
status
date
slug
summary
tags
category
icon
password

Resnet与Transformer

  • Resnet
阅读文献《Deep Residual Learning for Image Recognition》并完成论文十问,这十个问题能帮助你更好的理解论文
Q1 论文试图解决什么问题?Q2 这是否是一个新的问题?Q3 这篇文章要验证一个什么科学假设?Q4 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?Q7 用于定量评估的数据集是什么?代码有没有开源?Q8 论文中的实验及结果有没有很好地支持需要验证的科学假设?Q9 这篇论文到底有什么贡献?
Q5 论文中提到的解决方案之关键是什么?
论文的核心贡献是提出了深度残差学习框架,旨在解决训练深层神经网络时遇到的退化问题。传统深层网络在增加层数后,训练错误反而可能上升,而残差学习通过重新定义层的作用,解决了这一问题。具体来说,论文提出将网络层学习残差函数 F(x) = H(x) - x,其中H(x) 是期望的底层映射。
通过引入快捷连接(shortcut connections),这些连接执行身份映射,既不增加额外参数也不增加计算复杂度。这种方法使得网络更容易优化,并能显著增加深度。例如,论文在ImageNet数据集上训练了152层的残差网络,相比VGG网络(深度较低)具有更低的计算复杂度(152层ResNet的FLOPs为113亿,VGG-16/19分别为153亿/196亿)。
残差学习的优势在于,它通过端到端的SGD和反向传播训练,显著提高了深层网络的训练效率和准确性。例如,152层ResNet在ImageNet验证集上的top-5错误率为4.49%,单模型性能优于之前的集成结果,其集成在测试集上的top-5错误率达到3.57%,在ILSVRC 2015分类任务中获得第一名。
notion image
Q6 论文中的实验是如何设计的?
数据集与任务:
  1. ImageNet 2012分类:包含128万训练图像,5万验证图像,10万测试图像,1000类,评估top-1和top-5错误率。相关链接:ImageNet挑战
  1. CIFAR-10:50万训练图像,1万测试图像,10类,关注分类错误率,并使用数据增强。
  1. PASCAL VOC 2007/2012:VOC 2007有5千训练验证图像,07+12组合用于训练;VOC 2012有16千训练验证图像,07++12组合用于训练,评估mAP。
  1. MS COCO:80千训练,4万验证,80类别,评估[email protected]和mAP@[.5, .95]。相关链接:COCO数据集
网络架构与比较:
  1. 普通网络(Plain Networks):18层和34层基线,灵感来源于VGG网络,34层模型的FLOPs为36亿(VGG-19的6亿的18%)。
  1. 残差网络(ResNets):包括18层、34层、50层、101层、152层,使用身份和投影快捷连接,FLOPs范围从18亿到113亿(详见表1)。
训练细节:
  1. ImageNet:将较短边随机调整在[256, 480]范围内,裁剪224×224,批量大小256,使用SGD,初始学习率1,当错误率平台期时除以10,迭代次数达60万,权重衰减0.0001,动量0.9,无dropout,每个卷积后有批量归一化(BN)。
  1. CIFAR-10:32×32图像,批量大小128(在两个GPU上),学习率1,在32千和48千次迭代时除以10,终止于64千次,权重衰减0.0001,动量0.9,无dropout,使用BN,数据增强包括4像素填充和随机裁剪。
  1. 对于CIFAR-10的110层ResNet,初始学习率01用于预热,直到训练错误<80%(约400次迭代),然后恢复到0.1。
测试协议:
  1. ImageNet:使用10裁剪测试以便比较,最佳结果使用全卷积形式,尺度为{224, 256, 384, 480, 640}。
  1. CIFAR-10:测试使用原始32×32图像的单一视图。
  1. 目标检测(PASCAL, COCO):使用Faster R-CNN,BN层在预训练后固定,RPN每GPU批量大小8图像,Fast R-CNN批量大小16,训练240千次,学习率001,然后80千次学习率0.0001。
实验比较与分析:
  1. 表2显示ImageNet验证集的top-1错误率:plain-18为94%,plain-34为28.54%,ResNet-18为27.88%,ResNet-34为25.03%。
  1. 表3显示ImageNet验证集错误率:ResNet-50 top-1 22.85%,top-5 6.71%;ResNet-101 top-1 21.75%,top-5 6.05%;ResNet-152 top-1 21.43%,top-5 5.71%。
  1. 表6显示CIFAR-10测试错误率:ResNet-20为75%,ResNet-32为7.51%,ResNet-44为7.17%,ResNet-56为6.97%,ResNet-110为6.43%,ResNet-1202为7.93%。
深度探索:
  1. 探索超过1000层的1202层ResNet在CIFAR-10上的表现,训练错误<0.1%,测试错误为93%,表明可能存在过拟合问题。
  1. 图7分析层响应的标准差,显示ResNets的响应较小,支持残差学习的假设。
以下是关键实验结果的汇总表:
数据集/任务
模型/细节
错误/性能 (%)
备注
ImageNet分类
152层ResNet,单模型top-5验证错误
4.49
优于之前的集成结果,表3
ImageNet分类
集成,top-5测试错误
3.57
赢得ILSVRC 2015第一名,表5
ImageNet检测
单模型,[email protected],测试集
58.8
表12,赢得ILSVRC 2015第一名
ImageNet检测
集成,[email protected],测试集
62.1
表12,提交链接
ImageNet定位
单模型,top-5错误,测试集
9.0
表13,64%相对减少,赢得ILSVRC 2015第一名
COCO目标检测
ResNet-101 vs. VGG-16,mAP@[.5, .95],验证集
27.2 vs. 21.2
28%相对提升(6.0%增加),表8
COCO检测,集成
[email protected],test-dev集
59.0
赢得COCO 2015第一名,表9,COCO挑战
PASCAL VOC 2007,检测
ResNet-101,mAP,测试集
76.4
表10,>3%优于VGG-16
PASCAL VOC 2012,检测
ResNet-101,mAP,测试集
73.8
表11,排行榜
CIFAR-10分类
110层ResNet,错误
6.43
表6,最佳状态,无maxout/dropout
CIFAR-10分类
1202层ResNet,错误
7.93
表6,探索极深模型
Q10 下一步呢?有什么工作可以继续深入?
论文在结论部分提出了未来的研究方向,特别是在CIFAR-10分析中,指出可能需要结合更强的正则化技术(如maxout或dropout)来改善结果。这是因为1202层网络的训练错误<0.1%,但测试错误(7.93%)高于110层网络(6.43%),可能存在过拟合问题。因此,未来的工作包括:
  1. 研究残差模型与更强正则化的结合,以提高性能。
  1. 解决极深模型(如1202层网络)相关的开放问题,改善其泛化能力。
此外,论文强调了残差学习框架的通用性,预计可应用于视觉和非视觉问题之外的其他领域。虽然论文未具体指出其他领域,但基于其广泛的实验支持(如ImageNet和CIFAR-10),可以推测未来可能扩展到自然语言处理、语音识别等领域。
文章 AI and machine learning trends to watch in 2025 提到,2025年AI趋势之一是多模态模型的发展,强调AI系统需要处理多种数据类型以实现更复杂的功能。深度残差网络(ResNet)因其缓解梯度消失问题和提升深层网络性能的能力,可以成为多模态模型的核心架构。可研究如何改进ResNet架构,使其在跨模态数据融合中更高效,例如通过引入注意力机制或自适应残差连接来增强模型对不同模态特征的提取能力。
  • Self-attention
阅读文献《Attention is all you need》并回答以下问题:
  1. 请仔细阅读原始的Transformer论文(尤其是第1节和第4节),并分别讨论Self-attention在哪些方面优于循环神经网络(RNN)和卷积神经网络(CNN)。
    1. [1]
传统的循环神经网络(Recurrent Neural Network, RNN)在序列建模和迁移任务上表现出色,但其固有的顺序计算特性限制了并行化能力。Vaswani等人指出:“循环模型(recurrent models)通常沿输入和输出序列的符号位置分步计算……这种固有的顺序特性使得训练示例内的并行化变得不可能,对长序列尤为关键。”这意味着,RNN必须按时间步逐个生成隐藏状态,无法同时处理序列中的所有位置,从而导致训练和推理时的效率瓶颈。相比之下,Transformer架构完全舍弃了循环结构,仅依赖注意力机制来建模输入与输出之间的全局依赖关系,如原文所述:“我们提出了Transformer模型,它抛弃了循环而完全依赖注意力机制来捕获输入和输出之间的全局依赖。”这一设计使得Transformer可以对输入序列中的所有位置进行并行计算,显著提高了模型的训练速度和整体效率。
卷积神经网络(Convolutional Neural Network, CNN)虽然支持并行计算,但在捕获长程依赖时也存在固有限制。Vaswani等人在背景介绍中指出,ConvS2S和ByteNet等卷积结构中,两个任意位置之间的关联操作数随距离增长而呈线性或对数增加:“在这些模型中,连接两个任意输入/输出位置所需的操作数随位置间距离增长,在ConvS2S中呈线性增长,在ByteNet中呈对数增长。这使得学习远距离依赖变得更加困难。”为此,Transformer通过自注意力将任何两个位置直接连接,使信息在层之间的路径长度保持常数阶,从而简化了远程依赖的学习。在“Why Self-Attention”一节的表1分析中进一步强调,自注意力层只需要常数级(O(1))的顺序计算就能连接任意两点,而对应的循环层需要O(n)次顺序操作,当序列长度小于表示维度时,自注意力的计算复杂度甚至优于循环结构。此外,与需要多层或扩张卷积才能连接所有位置的卷积层相比,单层卷积无法直接建立全局连接,需要额外堆叠才能实现全局感受野,并且其计算成本通常按卷积核宽度倍增。Vaswani等人指出,卷积层的计算复杂度一般是循环层的k倍,使用可分离卷积虽可将复杂度降至O(k·n·d)量级,但即使卷积核宽度k固定为7,其复杂度也等同于一个自注意力层加上一个逐点前馈层的组合。综上所述,自注意力机制通过全局连接和高度并行化设计,在建模长程依赖方面具有明显优势,而RNN和CNN则因顺序计算或局部感受野而受到限制。
除了效率和长程关联之外,自注意力机制还在一定程度上提高了模型的可解释性。作者观察到,不同的注意力头能够学习不同的任务,并表现出与句子语法和语义结构相关的行为。这意味着,模型内部的注意力分布可以映射到特定的语言现象,为分析和理解模型提供了辅助信息。在Transformer的编码和解码过程中,这些多头注意力(Multi-Head Attention)层能够同时关注输入序列的不同方面,使得模型在捕获多样化的特征方面具有天然的优势。
  1. 为什么Transformer中的位置编码(Positional Encoding)是必要的?在原始论文中Transformer 是如何实现位置编码的?
    1. [1]
      [1]
由于Transformer架构中完全没有循环或卷积结构,模型本身并不包含关于序列顺序的信息。正如原文所述:“由于我们的模型不含任何循环和卷积结构,为了使模型能够利用序列的顺序,我们必须注入一些关于序列中元素相对或绝对位置的信息”。为此,论文在编码器和解码器的输入嵌入中增加了位置编码(Positional Encoding),并将其与词嵌入向量逐元素相加。位置编码的维度与词嵌入相同,以便于相加操作。作者指出存在多种位置编码的方案,包括可学习(learned)和固定(fixed)的方式。在本文中,Vaswani等人选用了基于正弦余弦函数的固定位置编码:对位置 .和维度 ,使用不同频率的正弦和余弦函数进行编码。每个维度对应一个正弦波,其波长按照几何级数从 增长到 。作者之所以采用这种设计,是因为对于任意固定的偏移量 ,位置 的编码可以通过位置 的编码的线性函数来表示,这有助于模型学习相对位置信息。换言之,这种正余弦位置编码使得模型能够隐含地捕捉不同位置之间的相对关系。实验中还发现,与使用可学习的位置嵌入相比,这种正余弦编码在翻译性能上几乎没有差别,但前者可能有助于模型在序列长度超过训练时遇到的情况中进行更好的泛化(extrapolation)。
参考文献:
[1] Vaswani, Ashish, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. "Attention is all you need." In Advances in neural information processing systems, pp. 5998-6008. 2017.
 
 
 
 
[探索]心电心肌缺血诊断[笔记]医学图像处理
Loading...