SpectralGPT: Spectral Foundation Model 论文翻译3

遥感领域的通用大模型 2023.11.13在CVPR发表

原文地址:[2311.07113] SpectralGPT: Spectral Foundation Model (arxiv.org)

E.消融研究

image-20231205160804763

在预训练阶段,我们对可能影响下游任务表现的各种因素进行了全面研究。这些因素包括掩蔽比、ViT patch大小、数据规模、重建目标、解码器深度、模型尺寸。为了对预训练模型进行更严格的评估,我们在BigEarthNet多标签分类数据集上对所有消融模型进行微调,只使用训练集的10%子集,这是一个更艰巨的挑战,使用mAP测量进行评估。我们选择ViT-B作为主干模型,保证了实验间的一致性。除了涉及数据规模和训练计划长度的缩减外,所有模型都在fMoW-S2数据集上进行了200 epoch的预训练。这个全面的评估框架使我们能够更深入地了解这些因素对模型性能的影响。

1)token大小:表V(a)图8(a)提供了token大小对模型性能影响的重要见解,一致表明较大的patch大小会导致模型性能降低,这与先前的研究结果一致[30]。这种现象可以归因于ViT架构的内在特征。对于较大的令牌大小,例如16 x 16,每个图像包含较少的令牌,从而导致随着模型通过其更深层的进展,细粒度空间信息的减少。因此,空间细节的减少会对模型的整体性能产生负面影响。然而,值得注意的是,无论token大小设置如何,预训练模型始终增强mAP,强调其在各种配置中提高性能的能力。值得注意的是,尽管输入图像的大小为96 × 96或128 × 128,但标记大小为8 × 8时的识别性能明显优于16 × 16,强调了预训练模型的多功能性和有效性。

2)数据规模:表V(b)和图8(b)针对预训练数据在我们研究中的影响进行了综合分析。我们使用两个数据集(即fMoW-S2, BigEarthNet)进行预训练,同时保持标准输入图像大小为96 × 96。为了更深入地研究这种比较,我们最初专门在fMoW-S2上预训练模型,然后在BigEarthNet上无缝地继续预训练,没有任何中间的微调步骤。我们的预训练数据集包括fMoW-S2的广泛训练集,其中包括来自世界各地的令人印象深刻的712,874张图像,以及BigEarthNet的训练集,其中包括欧洲地区的351,496张图像,其中不包括受雪,云或云阴影影响的图像。

表V(b)中的分析强调了数据规模和分布对模型预训练的实质性影响。在与下游任务相同的数据集上预训练的模型始终表现出优异的性能,突出了数据集一致性在有效迁移学习中的关键作用。此外,fMoW-S2在预训练方面优于BigEarthNet,主要是由于其更大的数据集和更广泛的地理覆盖。有趣的是,持续预训练的概念,结合了两个数据集,导致模型具有更高的mAP分数。这种改进可以部分归因于fMoWS2预训练期间的96 × 96图像到BigEarthNet预训练期间的128 × 128图像的过渡,强调了增加图像大小对整体模型效率的有益影响。在与下游任务相同的数据集上预训练的模型始终表现出优异的性能,突出了数据集一致性在有效迁移学习中的关键作用。此外,fMoW-S2在预训练方面优于BigEarthNet,主要是由于其更大的数据集和更广泛的地理覆盖。有趣的是,持续预训练的概念,结合了两个数据集,导致模型具有更高的mAP分数。这种改进可以部分归因于fMoWS2预训练期间的96 × 96图像到BigEarthNet预训练期间的128 × 128图像的过渡,强调了增加图像大小对整体模型效率的有益影响

3)掩蔽比:表V©和图8©揭示了掩蔽比的影响,揭示了一个值得注意的趋势,即掩蔽比越高,模型性能越好。与传统的75%的掩模率不同,我们发现多光谱图像的最佳掩模率为90%。这一观察结果与[29]中提出的假设相一致,即MIM方法中的掩蔽比与数据中的信息冗余复杂相关。多光谱图像本身具有更大的信息冗余,其光谱带之间具有很强的相关性。因此,更高的掩蔽比对于模型有效地从这些图像中学习有意义的表示是必不可少的。此外,90%的掩蔽率显著提高了预训练阶段的效率,降低了记忆复杂度加快训练时间,为模型开发提供实际优势。

4)重建目标:表V(d)和图8(d)对多光谱图像背景下重建目标对归一化、标准化数据和未归一化、标准化的原始数据的影响进行了深入分析。规范化(将所有数据缩放到[0,1]范围)标准化(将数据转换为均值为0和标准差为1)是两个研究的目标。值得注意的是,结果显示归一化和标准化重建目标之间的模型性能差异很小,主要是因为这两个目标都属于像素级数据转换。然而,在原始数据上进行预训练的模型的性能要比具有归一化重建目标的模型差得多。我们将这种现象归因于多光谱图像的特性。光谱值通常数值较大,且在不同频带之间变化,因此在原始数据上预训练的模型可能需要较长的保持时间才能收敛并显示出与在规范化和标准化数据上预训练的模型相同的性能。我们的观点表明,在特定的表示空间中使用更具语义意义的目标可能会提高模型的性能

5)解码器深度:表V(e)和图8(e)考察了解码器深度对模型性能的影响,遵循MIM方法的原则,其中预训练的编码器作为下游任务的骨干,同时丢弃解码器组件。值得注意的是,结果表明浅解码器配置不适合光谱模型预训练。这一观察结果与假设相一致,即光谱图像具有高维和复杂性的特征,需要具有增强容量的解码器,这与该领域的先前发现一致[29]。

6)模型大小:表VI和图8(f)对ViT-B和Vit-L的微调结果进行了定量和定性的对比分析,揭示了令人信服的见解。列出了macro-mAP和micro-mAP,以综合评价模型的性能。具有12个transformer层和8600万个参数的ViT-B在采用该方法时表现出了有希望的性能提升,实现了mAP(微)为85.41,比从头开始训练的ViT-B高出5.26。另一方面,具有24层3.07亿个参数的ViT-L明显优于ViT-B, mAP(micro)为86.92,明显超过从头训练的模型4.44。此外,ViT-B共有32层,6.32亿个参数,极大地提高了BigEarthNet上神经网络的性能,mAP(micro)为89.23。值得注意的是,尽管我们的模型只对10%的下游训练数据进行了微调,但使用SpectralGPT+预训练权值的ViT-H模型击败了所有使用整个训练集训练的模型,SOTA mAP(micro)为91.39。这些结果强调了适当的预训练策略的关键作用,并表明更大的ViT模型能够学习更复杂的图像表示,使它们非常适合要求更高精度的任务

7)预训练计划:在图8(g)中,我们展示了不同预训练时期训练的模型的微调结果,分别使用macro-mAP和micro-mAP指标进行评估。值得注意的是,与从头开始训练的模型相比,仅预训练50次的模型表现出显著的性能提升。图中观察到的趋势表明,模型继续受益于更长的预训练时期,这表明延长的训练可以进一步提高性能。此外,表VI中的结果强化了这一发现,因为与ViT-B相比,ViT-L和ViT-H始终获得更高的mAP,突出了扩展预训练和更大模型架构的有效性

image-20231205163103244

F.目视比较和地理特征可恢复性

image-20231205164306886

以不同的掩蔽比(即50%、75%、90%和95%)作为输入,图9直观地展示了使用SatMAE和我们的SpectralGPT获得的图像重建结果。不出所料,随着掩蔽比的增加,重建图像与原始图像的偏差越大。然而,值得强调的是,所提出的SpectralGPT在光谱图像重建性能方面明显优于SatMAE,特别是在保留视觉结构和纹理细节方面。具体来说,当使用50%的可见斑块时,SatMAE的重建结果与使用SpectralGPT的结果相当,尽管SatMAE结果中的某些细节略有模糊。随着掩模比例的增加(例如,从75%的掩模增加到90%,再增加到95%),SatMAE的重建性能大幅下降。相比之下,我们的SpectralGPT表现出优越的重建能力(参见SatMAE)。即使掩蔽率超过90%,关键结构和形状组件仍然保留在视觉中,这表明我们的模型具有强大的学习、推理和泛化能力

image-20231205164715125

除了关于掩蔽比的深入讨论和灵敏度分析外,我们还通过仅使用10%的可见斑块,其余部分被掩盖,对光谱重建能力进行了更广泛的调查。这些研究利用各种光谱波段组合,优先考虑地理特征的表示。如图10所示,我们展示了八种不同波段组合的可视化。这些可视化效果清楚地突出了我们提出的SpectralGPT的显著优势(更接近生成的原始图像)特别是在波段频谱重建能力及其在EO任务背景下的应用价值方面。在我们的研究中,我们确定了与实际应用中的观测目标相对应的八个地质特征,详见表七。此外,使用SatMAE和SpectralGPT获得的地质特征在视觉上存在明显差异。这些明显的视觉差异可归因于与我们更强大的SpectralGPT相比,SatMAE相对有限的重建和推理能力造成的光谱退化。

image-20231205164405239

结论

基础模型的爆炸性发展代表了深度学习出现后的重大技术革命。目前,各个行业正在见证技术和应用进步的重大飞跃,这在很大程度上是由基础模型的出现所推动的。RS领域也不例外,有许多EO应用程序,获得了显著的好处。光谱成像因其能够提供对观测物体和材料组成的丰富见解而获得了EO的认可,使其成为一项具有巨大潜力的变革性技术,可以应对全球挑战并重塑各个行业。然而,来自各种RS平台的光谱数据的不断扩大的可用性无疑带来了巨大的挑战。目前迫切需要开发专门为光谱遥感数据设计的基础模型。为了充分释放和利用光谱遥感数据的潜力,必须克服和解决几个具有挑战性的障碍。这包括有效处理和利用来自不同来源的各种RS光谱大数据从复杂的空间-光谱混合信息中提取有意义的知识表示以及解决相邻光谱相关建模的光谱退化问题

为了应对这些挑战,我们提出了SpectralGPT,这是一个定制的光谱RS基础模型,具有新颖的3D GPT架构。凭借其创新的3D GPT架构,超过100万张光谱图像和超过6亿个参数的训练,SpectralGPT赋予光谱RS大数据的智能处理能力。SpectralGPT可以灵活地处理大小、分辨率、时间变化率和地理覆盖范围方面的各种输入。这种3D掩蔽策略可以有效地从空间光谱耦合令牌中提取信息。此外,创新的多目标重建能够捕获序列保持的光谱特征-。特性,同时减少频谱退化。值得注意的是,我们的渐进式训练模式增强了基础模型的能力,超越了性能上的过渡点。SpectralGPT取得的这些突破使光谱RS大数据的访问更加大众化,使其更容易获得,更符合大规模EO应用的成本效益。

我们的研究还包括对基于mae的预训练基础模型的综合评估,重点是光谱重建能力。我们系统地评估了模型的性能,输入范围从50%到低至5%的可见标记。这种广泛的分析使我们能够衡量他们在光谱重建和推断方面的熟练程度,特别是在地理领域,如农业领域、自然、海洋学、地质学和植被。利用SatMAE和SpectralGPT对重建光谱图像的波段组合进行可视化,证明了后者在实际EO任务和Geo-field应用中的潜力。

展望未来,我们的研究将追求几个目标。我们计划扩大用于训练的RS数据的数量和多样性,包括各种模式、分辨率、时间序列和图像大小。这种丰富将增强RS基础模型的鲁棒性。此外,我们的目标是通过整合更广泛的下游任务来扩展SpectralGPT的能力。这将使SpectralGPT成为一种通用的人工智能模型,具有更好的泛化能力,非常适合各种EO和地球科学应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/199452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多线程--11--ConcurrentHashMap

ConcurrentHashMap与HashMap等的区别 HashMap线程不安全 我们知道HashMap是线程不安全的,在多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 ConcurrentHashMap 主…

Linux信息收集

Linux信息收集 本机基本信息 #管理员 $普通用户 之前表示登录的用户名称,之后表示主机名,再之后表示当前所在目录 / 表示根目录 ~表示当前用户家目录1、内核,操作系统和设备信息 uname -a 打印所有可用的系统信息 uname -r 内核版本 u…

01_阿里云_Xshell连接服务器

PC使用Xshell连接阿里云服务器 问题引出 之前使用Xshell连接阿里云服务器连接的好好的,今天准备上去服务器学习Linux发现连不上了,后来发现是防火墙的问题,还有阿里云的安全组也需要设置 解决方案 方法一:(简单粗暴…

3D模型材质编辑

在线工具推荐: 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 如今,3D 纹理、打印和建模都非常流行。使用可用的高级工具,创建 3D 模型…

基于Git的代码工程管理——学习记录一

一、Git简概[1] Git是一个分布式版本控制系统,它跟踪任何一组计算机文件的更改,通常用于在软件开发过程中协调协作开发源代码的程序员之间的工作。其为实现快速、数据完整性以及分布式非线性工作流程(在不同计算机上运行数千个并行分支&#…

钉钉提交审批意见,并上传附件接口集成

一:适配器 DingtalkApprovalFilesExecute 参考方案链接:轻易云数据集成平台 二:请求接口。配置参数 接口文档:使用了新旧接口 服务端API发起带有附件的审批流并下载附件 - 钉钉开放平台 接口:topapi/processinsta…

搜索与回溯算法②

求0-9的数字可以组成的所有k 位数。 def backtrack(start, path, k, n, results):"""核心函数。:param start: 下一个添加的数字的起始位置:param path: 当前构建的路径,代表一个组合:param k: 组合中所需的数字个数:param n: 可选数字的最大值:par…

Python编程技巧:多层for循环的高级应用

更多资料获取 📚 个人网站:ipengtao.com Python的for循环结构是编程中最基础也是最常用的控制结构之一。通过for循环,可以轻松遍历数据集合和执行重复的操作。然而,当我们面对多层for循环时,性能和可读性可能会成为挑…

linux使用逻辑券lvm进行磁盘管理

lvm的安装 在线安装 yum install lvm2 离线安装,下载后执行 rpm -ivh * --nodeps --force 在如下网站中挨个下载http://mirrors.163.com/centos/7/os/x86_64/Packages/ device-mapper-1.02.170-6.el7_9.5.x86_64.rpm device-mapper-event-1.02.170-6.el…

A-B 数对

A-B 数对 题目背景 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 AB Problem,改用 A-B 了哈哈! 题目描述 给出一串正整数数列以及一个正整数 C C C,要求计算出所有满足 A −…

Redis的三种消息队列实现方式

目录 前言 List实现消息队列 PubSub消息队列 Stream消息队列 三种实现方式对比 前言 为什么要使用Redis的消息队列? 成本低,对于RabbitMQ或是Kafka来说,已经是重量级的消息队列。 Redis的三种实现方式: List结构&#xff1…

形态学操作—形态学梯度

形态学梯度(Morphological Gradient)是图像形态学处理中的一种操作,它通过对图像的膨胀和腐蚀操作之间的差异来突出图像中的边缘信息。这种操作有助于增强图像中物体的边界,使它们更加突出。   在数学上,形态学梯度的…

【安卓12源码】WMS系列:addWindow 和 removeWindow流程

一、Window 的属性 Window的属性定义在WindowManager的内部类LayoutParams中,了解Window的属性能够更好的理解WMS的内部原理。Window的属性有很多种,与应用开发最密切的有三种,它们分别是Type(Window的类型)、Flag(Window的标志)和SoftInputM…

SMART PLC温度采集模块温度转换FC(梯形图+SCL代码)

对于模拟量输入采集,温度变送器等我们可以利用线性转换功能块完成温度采集,西门子PLC有温度采集模块,利用温度采集模块采集温度我们的转换关系无需进行线性变换,下面我们具体介绍。温度采集线性转换功能块请参考下面的文章链接: https://rxxw-control.blog.csdn.net/arti…

Hadoop学习笔记(HDP)-Part.06 安装OracleJDK

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

代码随想录二刷 | 栈与队列 |用栈实现队列

代码随想录二刷 | 栈与队列 |用栈实现队列 题目描述解题思路 & 代码实现 题目描述 232.用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 M…

外包干了8个月,技术退步明显.......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

undo log 具体怎么回滚事务,如何查询慢 SQL 产生的原因

文章目录 undo log 具体怎么回滚事务 ?如何查询慢 SQL 产生的原因 简单来看两个问题: undo log 具体怎么回滚事务 ? 举个例子: 对于 insert 类型的 sql,会在 undo log 中记录下方才你 insert 进来的数据的 ID&#x…

HarmonyOS带大家创建自己的第一个Page页面并实现路由跳转

我们 在开发过程中 经常会看到 被 艾特修饰的代码 有限像 java中的注解 在 harmonyOS 中 这叫 装饰器 被关键字装饰取来的代码 会具备某某功能 我们这里先来创建一个新的界面 在pages 目录下 右键 如下图 选择page创建 这里 我们取名叫 AppView 然后点击右下角 Finish 这样…

Scala--2

package scala02object Scala07_typeCast {def main(args: Array[String]): Unit {// TODO 隐式转换// 自动转换val b: Byte 10var i: Int b 10val l: Long b 10 100Lval fl: Float b 10 100L 10.5fval d: Double b 10 100L 10.5f 20.00println(d.getClass…