论文阅读——DDeP(cvpr2023)

分割标签耗时且贵,所以常常使用预训练提高分割模型标签有效性,反正就是,需要一个预训练分割模型。典型的分割模型encoder部分通过分类任务预训练,decoder部分参数随机初始化。作者认为这个方法次优,尤其标签比较少的情况。

于是提出可以和监督学习encoder结合的基于去噪denoising的decoder预训练方法。当标签少的时候这个方法表现很好,超过监督学习。

所以整个方法就是,encoder在ImageNet-21k上预训练,然后冻结encoder参数,再在ImageNet-21k预训练decoder参数,不需要使用标签。然后在特定数据集上统一微调encoder和decoder。

架构:

标准的去噪公式是:

也就是预测原始图片x。

但是扩散模型预测的是噪声:

于是做实验看预测哪个比较好:

所以预测噪声。

所以,上述说明,本文的方法是一个无监督、去噪的方法。

无监督的预训练方法最终受到预训练目标所学习的表示与最终目标任务所需的表示之间不匹配的限制。对于任何无监督目标,一个重要的“健全性检查”是它不会很快达到这个极限,以确保它与目标任务很好地一致。增大预训练计算预算(应该是训练迭代多一些),可以提高表示能力。说明去噪是一种可扩展的方法,增大预训练计算预算,表示能力提高。

和监督训练相比,数据多的时候不如监督预训练,少的时候超过。

噪声的影响:

去噪预训练的解码器一个很重要的超参数是噪声的大小。噪声方差必须足够大,这样网络才能学习到有意义的表示从而去除噪声,但不能太大,导致干净图像和有噪声图像之间的过度分布偏移。

可伸缩的加性噪声(Scaled Additive Noise)性能好于简单加性噪声(Simple Additive Noise)。

简单加性噪声:

可伸缩加性噪声:

从图上看,论文给出的最好的噪声大小是0.22

encoder部分在ImageNet-21K数据集做分类任务预训练,然后固定参数。

单独预训练去噪decoder。原则上,任何一个数据集都能进行去噪预训练,但是会有这样的担心:即预训练数据和目标数据之间分布的变化可能会影响目标任务的性能。为了验证这种担心,作者在几个数据集上预训练了decoder,而encoder都是ImageNet-21K数据集做分类任务预训练,参数固定。最后发现还是在ImageNet-21K预训练的decoder效果最好。这个结论也适用于和ImageNet-21K数据集分布不同的Cityscapes数据集,因此,用DDeP预训练的模型可以用于很多其他数据集。

上面这些预训练目标的选择,也就是预测噪声而不是x,和噪声的选择等,和扩散模型很相似,这样自然就会产生一个问题,即如果使用完全的扩散模型预训练,是不是提高性能。结果是用DDPM方法预训练没有提高性能。

前面提到的噪声大小的γ,在我们的模型是一个定值,也就是相当于扩散模型的一步,PPDM是一个完全的扩散模型,它每一个训练例子中都从[0,1]中随机均匀选一个γ值。于是作者试验了随机选择γ,但是效果不如固定的γ。

实验部分:

微调设置:cross-entropy loss,  Adam with a cosine learning rate decay schedule,a batch size of 512 and train for 100 epochs,learning rate is 6e−5 for the 1× and 3× width decoders, and 1e−4 for the 2× width decoder;

random cropping and random left-right flipping,1024 × 1024 for Cityscapes and 512×512 for ADE20K and Pascal Context,All of the decoder denoising pretraining runs are conducted at a 224 × 224 resolution。

inference on Cityscapes:apply horizontal flip and average the results for each half;For Pascal Context and ADE20K, we also use multi-scale evaluation with rescaled versions of the image in addition to the horizontal flips. The scaling factors used are (0.5, 0.75, 1.0, 1.25, 1.5, 1.75)。

结果:

上面这些结果使用的是TransUNet,下面标准UNet

说明这个方法可以泛化到其他不是transformer architectures的结构,即backbone-agnostic。

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

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

相关文章

Kettle连接到GBase 8s数据库

1,将GBase 8s数据库驱动放到kettle的lib目录下 如下图,在data-integration\lib下添加连接GBase 8s数据库的驱动gbasedbtjdbc.jar(视Server版本,增加匹配的驱动) 2,在 文件 -> 新建 -> 数据库连接 或者是在 转换 -> D…

探索容灾架构演进之路,从单点到异地多活

1. 挑战与变革 在公司发展初期,业务发展和用户增长是首要关注的焦点。然而,随着业务规模不断扩大,用户数量逐渐攀升,应用稳定性的重要性也变得愈发凸显。在这个演进过程中,传统架构下的应用部署模式开始显露出多方面的…

【Java】IDEA 基本操作

0.IDEA 0.1 IDEA中的层级结构 0.1.1 结构分类 project(项目、工程)module(模块)package(包)class(类) 0.1.2 结构介绍 project(项目、工程) ​ 淘宝、京…

JS:获取当前日期是本年度的第几周

问题 根据当前的日期(比如年月日),来得到当前日期属于本年度的第几周 解决 代码: // 获取当前日期是本年的第几周 //参数: a为年 b为月 c为日 function getYearWeek(a, b, c) {var date1 new Date(a, parseInt(b)…

【Axure高保真原型】3D金字塔图_移入显示数据标签

今天和大家分享3D金字塔图_移入显示数据标签的原型模板,鼠标金字塔区域时,对应区域会变绿,可以查看该区域对应的项目和数据,这个原型模板是用Axure原生元件制作的,所以无需联网,而且可以自由修改样式、交互…

百度智能小程序系统源码+关键词排名优化 附带完整的搭建教程

百度智能小程序系统的开发背景是基于百度强大的技术实力和对用户需求的深入理解。在移动互联网时代,用户对便捷、高效、智能的服务需求越来越高。而小程序作为一种轻量级的应用程序,恰好能够满足用户的这些需求。然而,开发一个小程序需要掌握…

Kafka 如何实现顺序消息

版本说明 本文所有的讨论均在如下版本进行,其他版本可能会有所不同。 Kafka: 3.6.0Pulsar: 2.9.0RabbitMQ 3.7.8RocketMQ 5.0Go1.21github.com/segmentio/kafka-go v0.4.45 结论先行 Kafka 只能保证单一分区内的顺序消息,无法保证多分区间的顺序消息…

uniapp挽留提示2.0

项目需求:有时候挽留的ui是全屏的,用page-container也可以。后来产品提了个问题,手机侧滑的时候没那么顺畅(就是一用侧滑,就显示出来,产品要的方案是如下图,emmm大概是这个意思) 后面…

Python入门04字符串

目录 1 字符串的定义2 转义字符3 字符串的常见方法4 分割字符串5 字符串反转6 字符串的链式调用7 格式化字符串8 多行字符串总结 1 字符串的定义 在Python中,字符串表示一个字符的序列,比如 str "hello,world"这里我们定义了一个字符串&…

java选择排序和冒泡排序

1.区别 选择排序和冒泡排序的区别主要在于算法逻辑、稳定性和交换成本。 算法逻辑:选择排序和冒泡排序都属于比较排序,但在具体算法逻辑上有所不同。冒泡排序是通过相邻元素之间的比较和交换,将较大(或较小)的元素逐…

一文从Vue2过渡到Vue3

文章目录 Vue3简介创建Vue3.0工程使用 vue-cli 创建使用 vite 创建Vue3工程结构变化 常用 Composition API拉开序幕的setupref函数reactive函数Vue3.0中的响应式原理vue2.x的响应式Vue3.0的响应式 reactive对比refsetup的两个注意点计算属性与监视computed函数watch函数watchEf…

Pytorch中的gather的理解和用法

Pytorch中的gather的理解和用法 这个Gather的用法花费了点时间,我相信很多人一开始不太懂。 跟着我简单理解。 首先样例是: tensor([[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]])然后index: [[2, 1, 0]]然后执行的代码: tensor_0.gather(0…

享受更健康的睡眠,dido P1S智能手环体验

如今很多人都有严重的失眠困扰,像是因为平时工作非常繁忙,每天回到家后已经很晚了,或者是睡前长时间刷手机,躺在床上辗转反侧,晚上就很难入睡,脑海中一片混乱,休息的质量就很差。我最近尝试了一…

人工智能关键技术决定机器人产业的前途

人工智能(Artificial Intelligence,AI)是指让计算机或机器具有类似于人类的智能和学习能力的技术。人工智能技术与机器人技术的结合将改变传统的机器人行业格局,就像智能手机对传统手机的颠覆一样。本文从人工智能技术的发展趋势、…

ASIWebPage数据库抓取代码示例

objective-c #import "ASIWebPageRequest.h" int main(int argc, const char * argv[]) { autoreleasepool { // 创建并设置 NSURL *代理URL [NSURL URLWithString:""]; ASIHTTPRequest *request [ASIHTTPRequest requestW…

jsoup登录日志平台后调企业微信机器人自动发送错误日志告警

一、需求:错误日志Top10告警发送 二、需求分解 jsoup实现登录,获取到cookie和token等用户鉴权信息获取接口相应的key值调用日志平台错误日志Top榜接口,查询到结果集调用企业微信机器人发送消息接口加上定时任务,可以实现定时发送…

java多线程-扩展知识二:线程的生命周期

1、生命周期 生命周期有广义与狭义之分,狭义为生命科学术语,指包括人类在内的一切动物由出生到死亡经历的生命全程。广义的生命周期泛指自然界与人类社会各种客观事物的阶段性变化及规律,如家庭生命周期、产品生命周期等。本义即狭义的生命周…

任务管理器怎么打开?4个方法快速打开!

“我想进入电脑任务管理器中对某些应用进行设置,但是我不知道应该怎么进入任务管理器中。有什么方法可以快速进入任务管理器吗?” 任务管理器是Windows操作系统中一个强大的工具,可以让你监控和管理计算机上运行的进程、应用程序和性能。当我…

FLASK博客系列5——模板之从天而降

我们啰啰嗦嗦讲了4篇&#xff0c;都是在调接口&#xff0c;啥时候能看到漂亮的页面呢&#xff1f;别急&#xff0c;今天我们就来实现。 来我们先来实现一个简单的页面。不多说&#xff0c;上代码。 app.route(/) def index():user {username: clannadhh}return <html>&…

解决方案:新版WPS-右键粘贴值到可见单元格没有了

旧版WPS&#xff0c;右键就能出现 但是新版WPS不是在这里&#xff08;方法1&#xff09; 新版WPS&#xff08;方法2&#xff09; 视频详细教程链接&#xff1a;解决方案&#xff1a;新版WPS-右键粘贴值到可见单元格没有了 -- 筛选后复制公式粘贴为数值_哔哩哔哩_bilibili