DDAE: Denoising Diffusion Autoencoders are Unified Self-supervised Learners

DDAE: Denoising Diffusion Autoencoders are Unified Self-supervised Learners

Paper:https://arxiv.org/abs/2303.09769

Code:https://github.com/FutureXiang/ddae

TL; DR:扩散模型的训练其实就是训练一个去噪模型,考虑到类似的去噪自编码器能够提取出图像线性可分的表征用于图像分类,本文也尝试将 diffusion 模型视觉表征模型,拿模型中间层的激活值作为特征来做 linear probing。从而,扩散模型就既可以作为生成式模型,也可以作为判别式模型,故称之为 “统一” 自监督学习模型。

方法

本文的做法很简单:直接拿扩散模型的中间层激活值作为特征,池化一下,然后接个分类头做分类任务。在 pixel diffusion (如 DDPM) 和 latent diffusion (如 DiT) 两类模型上都可以做。

在这里插入图片描述

UNet 是一个 encoder-decoder 模型,哪一层的用作分类的效果比较好呢?另外,我们知道 diffusion 模型在训练时有 T T T 个时间步,对于不同的时间步,会加入不同大小的高斯噪声,那么在将其特征用于分类时,要不要加噪声,加多少噪声效果比较好呢?

针对上述两个问题,作者也使用 grid search 进行了超参搜索,结果如下。可以看到,是中间层的特征的线性可分性比较好,而非一般认为的最后一层。加入不强不弱适当强度的噪声(注: t 越大,噪声强度越大),能得到最好的效果。

在这里插入图片描述

作者还使用了 alignment-uniformity 中提出的用于评价一个表征好坏的 alignment、uniformity 两个指标,来实现 label-free 的超参选择。结果如下图所示。横纵轴表示 alignment 和 uniformity 两种损失的值(越小越好),颜色表示实际做 linear probe 的准确率。可以看到确实是 alignment、uniformity 都更好(图中靠近左下角)的层,线性可分性也更好。

在这里插入图片描述

总结

DDAE 尝试将 diffusion 模型看作一种去噪自编码器,来将其中间层激活值作为表征,处理分类任务。并进行了超参搜索和表征空间的研究。

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

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

相关文章

大数据概念:数据网格和DataOps

数据网格(Data Mesh) 一种新型的数据架构模式,旨在解决传统数据架构中存在的一些问题,例如数据孤岛、数据冗余、数据安全等。数据网格将数据作为一种服务,通过在分布式环境中提供数据服务,实现数据的共享和…

cJSON代码解读

1、背景 cJSON用了很久,但是对它一直不太了解。这次向添加对long long类型的支持,一直出问题。因为有以前添加两位小数float的经历,我觉得会很轻松,没想到翻车了。于是有了这边文档,阅读了部分博主对cJSON的解析&…

《动手学深度学习》学习笔记 第7章 现代卷积神经网络

本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知识,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…

挑战Python100题(9)

100+ Python challenging programming exercises 9 Question 81 Please write a program to randomly print a integer number between 7 and 15 inclusive. Hints: Use random.randrange() to a random integer in a given range. 请编写一个程序,随机打印一个介于7和15之间…

Redis(二)

1、redis的持久化 "Redis 如何将数据写入磁盘",首先要明白的时候,我们使用的redis的数据保存在内存上的,也就是说,只要我们的电脑关机或者重启服务器,那么在内存中的数据就会消失,所以要想持久化…

【深度学习-基础学习】Transformer 笔记

本篇文章学习总结 李宏毅 2021 Spring 课程中关于 Transformer 相关的内容。课程链接以及PPT:李宏毅Spring2021ML这篇Blog需要Self-Attention为前置知识。 Transfomer 简介 Transfomer 架构主要是用来解决 Seq2Seq 问题的,也就是 Sequence to Sequence…

高压放大器的工作原理和使用方法是什么

高压放大器是一种用于产生高电压输出信号的电子设备,通常用于科学研究、医疗、工业和通信领域。它的工作原理涉及到电路设计、放大器拓扑结构、元件选型和功率供应等多个方面。下面将详细介绍高压放大器的工作原理和使用方法。 一、工作原理 放大器拓扑结构&#xf…

msvcp140.dll丢失的错误解决办法,msvcp140.dll丢失的原因

如果你的电脑中正处于msvcp140.dll丢失或找不到msvcp140.dll的问题,那么可以尝试使用下面的方法进行解决msvcp140.dll丢失的问题。其实msvcp140.dll文件丢失的问题解决办法也很简单,但是出现msvcp140.dll丢失的问题却可能是有很多原因。接下来就给大家分…

IP地址、子网掩码与网络地址

一、IP地址 在 TCP/IP 体系中,IP 地址是一个最基本的概念。IP地址的作用:实现和网上的其他设备进行通信 IP地址的表示方法 互联网上的每台主机(或路由器)的每个接口都分配一个全世界唯一的IP地址。该IP地址由ICANN分配。 IP地址…

一文搞懂数据资产化和数据要素两级市场

在数字化时代,数据已经成为驱动经济社会发展的核心要素。数据资产化和数据要素市场的兴起,是这一时代发展的必然产物。本文将通过简洁明了的方式,为您解读数据资产化和数据要素的内涵及其相互关系。 一、数据资产化 数据资产化,简…

解决计算机vcruntime140_1.dll丢失问题。6种常见的解决方法分享

在日常计算机使用过程中,我们可能会遇到一些错误提示,其中最常见的就是“找不到vcruntime140_1.dll”的错误。那么,vcruntime140_1.dll是什么文件?它为什么会丢失?又该如何解决呢?本文将为您详细介绍vcrunt…

IoTDB 集群部署——windows

本文的测试环境为window server2016,版本包为1.1.0,jdk版本为1.8 首先下载IoTDB版本包,链接地址如下 https://archive.apache.org/dist/iotdb/1.1.0/apache-iotdb-1.1.0-all-bin.zip 本次部署将使用1个ConfigNode 和3个DataNode模式&#…