关于深度学习局部视野与全局视野的一些思考

关于深度学习局部视野与全局视野的一些思考

最近,我在学习一个基于Transformer的网络模型时,注意到了一些局部特征和全局特征的概念。引发了一些疑问:

  1. 为什么说CNN只能看到局部区域,而transformer能看到全局区域?
  2. 什么是token? 对于图像中又指代什么?
  3. 一个卷积核只看它覆盖的小区域(patch),无法直接"看到"整张图。 但卷积核划过整幅图,为什么说只看到局部特征?
  4. CNN通过堆了多层,比如三层 3×3 卷积,来扩大感受野 ,为什么堆积多层就会提高感受野?
  5. 关于全局语义增强后的图像特征序列, 这些特征是体现在数值上的改变么?
  6. encoder,decoder做了什么?

第一个问题:为什么说CNN只能看到局部区域,而transformer能看到全局区域?

我们都知道,CNN是通过卷积核来提取图像特征的,直观上来看,最让人注意到的就是通过卷积之后图像变小了,这就像是将一个大的图像压缩成一个小的特征图,我之前更多关注的是,这样做降低了计算压力。

现在来理解为什么说CNN只能看到局部区域,假如有一个33大小的卷积核,以步长为1的方式划过整幅图像。在结果图中,第一次卷积的结果只跟它看到的3 3像素大小的区域有关。这就有点像盲人摸象,有个盲人去摸大象来判断是什么样子的。第一次摸到鼻子,就说大象像一条蛇,第二次摸到耳朵,就说大象有两个翅膀,可能会飞。以下图为例,结果图中的5,4,5,5这四次卷积得到的特征结果是相对独立的。

而在transformer中,通过将5,4,5,5并排展开成序列,通过注意力机制,就是为了使相对独立的结果块与其他结果块相互比较,加权来建立联系。通过这种方式,我们认为transformer看到了全局区域,能够学习全局的特征。

第二个问题:什么是token? 对于图像中又指代什么?

在语言文字模型中,token代表一个单词,而在图像中,token代表图像的一个个切块(patch),就比如256256的图像,通过一串卷积后得到了16 161024特征图。 其中1616特征图中的每个像素值,都代表着对应于图像的一个个小切块(patch),这个小切块是卷积看到的区域。每个 token 对应的是图像上的一个小区域的位置,并且它的值就是这个区域的特征向量(1024维)

第三个问题:一个卷积核只看它覆盖的小区域(patch),无法直接"看到"整张图。 但卷积核划过整幅图,为什么说只看到局部特征?

虽然卷积核确实会划过整幅图像,但每次滑动只关注一个3*3的小区域,输出的一个数值(向量),仅代表这个小区域的特征;虽然划过了整幅图,但每个输出值只跟那一小块区域有关,有联系。

第四个问题:CNN通过堆了多层,比如三层 3×3 卷积,来扩大感受野 ,为什么堆积多层就会提高感受野?

感受野(Receptive Field)指的是 输出特征图中某一个神经元在输入图像中所"看见"的区域大小。

用直白一点的话说:一个输出位置能"看到"输入图像的多大范围。

假设有一个 3×3 的卷积核,它在输入图像上滑动,那么这个卷积核一次只看输入图像的 一个 3×3 小块,所以,输出特征图中的每个点,感受野就是 3×3。当使用连续堆叠的三层3*3卷积(无池化,步幅为1,padding为1),来看它是怎么让感受野变大的。

第1层:输出的每个像素来自输入的 3×3 区域→ 感受野是 3×3

第2层:它的输入是上一层的输出。上一层的输出的每个点"看到"3×3 → 所以这一层的卷积核,其实在最初输入图像上"看"到了 5×5 的区域。

第3层:继续类推,它的输出每个点能"看到"上层输入中的 3×3→ 上层输入的每个点又看到 5×5→ 最终这个输出的每个点可以看到原图中的 7×7 区域。

堆叠多层卷积层,相当于在原图上间接建立了更大范围的信息融合路径,从而扩大感受野,让模型能提取更"全局"的信息。这里大胆推测CNN网络的发展为了叠加多层,就是为了扩大感受野。

但对于transformer来说,他不用经历艰难的堆叠来一点点扩大感受野,通过自注意力及交叉注意力就能获得包含全局信息的特征。

第四个问题:关于全局语义增强后的图像特征序列, 这些特征是体现在数值上的改变么?

全局语义增强后的图像特征序列通常体现在数值上的改变。具体来说,图像的每个特征向量(通常是卷积网络中的输出)表示了图像的某个局部区域的信息。在通过全局语义增强时,这些特征向量会根据全局信息(比如整个图像的上下文、长程依赖等)进行调整或更新。这些改变可以是通过以下方式进行的:

特征加权:全局语义增强方法可能会通过某种机制(比如自注意力机制)对每个特征加权,使得某些特征在增强后变得更加突出,或者根据其与全局上下文的关系进行调整。这种加权操作会改变特征向量中的数值。

上下文信息融合:通过考虑图像中远离当前区域的信息,特征向量会融入更多的上下文信息。这种信息融合使得原本局部的特征能够获得更多全局信息的影响,进而改变其数值表示。

特征变换:例如通过变换网络(如 Transformer、图卷积等)进行的操作,可能通过非线性函数或者线性映射来调整特征数值,使得它们更能代表图像中的全局语义信息。

因此,经过全局语义增强后,每个特征的数值通常会有所变化,反映出该特征与全局语义的关系增强或调整。这种数值变化有助于更好地捕捉图像中的高层次语义信息,提升后续任务(如分类、目标检测、分割等)的性能。

encoder,decoder做了什么?

简单说,encoder,decoder都是通过query,key,value;注意力机制来完成的。encoder更多的是为了输出包含全局信息的value.

而decoder,会根据query信息,生成与query信息反应强烈的对应value值,通过解码value值,就可以得到预测的结果。

相关推荐
Better Rose2 小时前
【2025年泰迪杯数据挖掘挑战赛】B题 完整论文 模型建立与求解
人工智能·数据挖掘
CodeJourney.3 小时前
从PPT到DeepSeek开启信息可视化的全新之旅
数据库·人工智能·算法·excel·流程图
琢磨先生David5 小时前
Java 在人工智能领域的突围:从企业级架构到边缘计算的技术革新
java·人工智能·架构
kuaile09066 小时前
DeepSeek 与开源:肥沃土壤孕育 AI 硕果
人工智能·ai·gitee·开源·deepseek
飞火流星020277 小时前
BERT、T5、ViT 和 GPT-3 架构概述及代表性应用
人工智能·gpt-3·bert·t5·vit·人工智能模型架构
程序小K7 小时前
自然语言处理Hugging Face Transformers
人工智能·自然语言处理
恒拓高科WorkPlus7 小时前
BeeWorks:打造安全可控的企业内网即时通讯平台
大数据·人工智能·安全
爱数模的小驴8 小时前
2025 年“认证杯”数学中国数学建模网络挑战赛 C题 化工厂生产流程的预测和控制
深度学习·算法·计算机视觉
newxtc8 小时前
【指纹浏览器系列-chromium编译】
人工智能·安全
轻闲一号机8 小时前
【机器学习】机器学习笔记
人工智能·笔记·机器学习