[Diffusion Model 笔记]Score based

目录

  • 概述
  • 方法
  • 怎么估计score(估计噪声就是估计score)
  • 怎么采样(给原始数据加噪声,早期大后来变小)
  • inpainting (来自补充材料)
  • 还没有细究的地方:

概述

本文是观看以下视频的笔记:
https://www.bilibili.com/video/BV1VP411u71p/?spm_id_from=333.788&

论文:Generative Modeling by Estimating Gradients of the Data Distribution (NeurIPS2019)

  • 注意,这篇比DDPM更早在这里插入图片描述

  • likelihood-based methods对网络结构的设计有很大限制,但score-based只要输入输出维度一样就行了;

  • gan就是太难train 了。在生成和判别之间要权衡。但咱们score-based就不用,就一个loss完事儿。

方法

  • 定义score:对数概率的梯度
  • 核心思路:之前的方法都是学习概率分布本身;现在我们学习score。这样我们就可以根据score指示的方向一步步走到正确的地方
    • 首先用某种方法估计出score
    • 然后,随机初始化噪声,然后按照score走一步;再走一步;迭代,组中走到正确的位置(走一步怎么走是根据郎之万动力学的公式)

怎么估计score(估计噪声就是估计score)

  • 首先套用DDPM的噪声假设, q ( x t ∣ x 0 ) ∼ N ( α ˉ t x 0 , ( 1 − α ˉ t ) I ) q\left(\mathbf{x}_t \mid \mathbf{x}_0\right)\sim \mathcal{N}\left(\sqrt{\bar\alpha_t} \mathbf{x}_0, (1-\bar\alpha_t\right)\mathbf{I}) q(xtx0)N(αˉt x0,(1αˉt)I) x t = α ˉ t x 0 + 1 − α ˉ t ϵ \mathbf{x}_t=\sqrt{\bar\alpha_t} \mathbf{x}_0+\sqrt{1-\bar\alpha_t} \boldsymbol{\epsilon} xt=αˉt x0+1αˉt ϵ (1),
  • 根据高斯分布的定义,写出p(xt)的表达式:
    • p ( x t ) ∝ exp ⁡ { − ( x t − α ˉ t x 0 ) ⊤ ( x t − α ˉ t x 0 ) 2 ( 1 − α ˉ t ) } p(\mathbf{x}_{t})\propto\exp\{-\frac{(\mathbf{x}_{t}-\sqrt{\bar{\alpha}_{t}}\mathbf{x}_{0})^{\top}(\mathbf{x}_{t}-\sqrt{\bar{\alpha}_{t}}\mathbf{x}_{0})}{2(1-\bar{\alpha}_{t})}\} p(xt)exp{2(1αˉt)(xtαˉt x0)(xtαˉt x0)}
  • 根据这个式子,求出对数梯度:
    • ∇ x t log ⁡ p ( x t ) = − x t − α ˉ t x 0 1 − α ˉ t \nabla_{\mathbf{x}_{t}}\log p(\mathbf{x}_{t})=-\frac{\mathbf{x}_{t}-\sqrt{\bar{\alpha}_{t}}\mathbf{x}_{0}}{1-\bar{\alpha}_{t}} xtlogp(xt)=1αˉtxtαˉt x0
  • 观察式(1), 发现对数梯度的分母就是 1 − α ˉ t ϵ \sqrt{1-\bar\alpha_t} \boldsymbol{\epsilon} 1αˉt ϵ
  • 也就是说,加在原图上的噪声,和我们要求的pxt的对数梯度,只相差一个系数。所以估计噪声就可以估计出梯度的方向
  • (个人理解):这里实际上说明,我们DDPM定义的,通过权重来增加的噪声(x0和噪声的加权和),某种程度上相当于在对数空间直接增加噪声?
  • 在这里插入图片描述

怎么采样(给原始数据加噪声,早期大后来变小)

  • 问题:在数据密度较低的位置,score的估计往往不准,这样很难走进准确的区域
    • 解决方法:给原始数据加噪声,这样原始数据的分布范围就变大了,低密度区域就变小了,能准确估计score的区域就变大了
    • 新的问题:噪声加了,原始数据就破坏了呀;噪声越强,破坏越强;噪声越小,score又无法准确估计
    • 解决方法:在推理的不同阶段加不同强度的噪声,从大到小
    • 这不就是DDPM了吗?噪声按这个权重,早期大,晚期小
  • 注意,似乎是在training和inference的时候都加了噪声了
    在这里插入图片描述

加噪声前,计算的score在大片区域不太准:
在这里插入图片描述

加噪声后,计算的score更准:
在这里插入图片描述
最终的采样算法:

  • L是Level,每一个Level i 都有自己的步长αi和和噪声
  • 没看懂在那里加的噪声

在这里插入图片描述

inpainting (来自补充材料)

  • 每次采样得到一个noisy image,
  • 下一步之前,我就直接把没mask的部分用gt+噪声代替
  • 那感觉和RePaint一模一样啊?

在这里插入图片描述

还没有细究的地方:

  • training的时候是怎么加的噪声?
  • inference那个算法里面具体哪里体现了加噪声的?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用JMeter模拟设备通过MQTT发送数据

需求: 需要一个工具能够支持MQTT协议发送各种不同的数据。 目的: 模拟小型温室设备反馈,搭建一个测试环境,根据测试的数据显示硬件的状态和数值。 工具:JMeter 环境:需要配置Java运行环境。 操作步骤&a…

机器人操作系统ROS2学习—编译工作空间colcon build报错问题

在ROS2中,工作空间创建完成后,会经常需要编译工作空间。在工作空间dev_ws 下打开一个终端,通过指令Colcon build来编译工作空间。 1、这个过程有可能会出现如下错误: "colconbuild:Duplicate package names not supported" 根据…

阅读笔记——《BLEEM: Packet Sequence Oriented Fuzzing for Protocol Implementations》

【参考文献】Zhengxiong Luo, Junze Yu, Feilong Zuo, Jianzhong Liu, Yu Jiang, Ting Chen, Abhik Roychoudhury, and Jiaguang Sun. Bleem: Packet sequence oriented fuzzing for protocol implementations. In 32nd USENIX Security Symposium (USENIX Security 23), pages…

西湖大学赵世钰老师【强化学习的数学原理】学习笔记2节

强化学习的数学原理是由西湖大学赵世钰老师带来的关于RL理论方面的详细课程,本课程深入浅出地介绍了RL的基础原理,前置技能只需要基础的编程能力、概率论以及一部分的高等数学,你听完之后会在大脑里面清晰的勾勒出RL公式推导链条中的每一个部…

github two-factor authentication是个啥?

最近在逛github时,总是时不时会弹出一下界面,很烦 看到红框里的文字,这明显是强制要求做这个认证,如果不认证4天后账号将不可访问,所以今天花点时间看看怎么做这个认证,点“Enable 2FA now”进入这个界面&a…

Vue后台系统demo小计

创建项目 1.报错 Error: command failed: npm install --loglevel error --legacy-peer-deps 措施1:node.js文件夹属性 》高级 》选择第一个允许 Users(XXX\Users) (对我无用) 措施2:PowerShell(以管理员身份运行) 》 cd 想存…

java基础之java容器-Collection,Map

java容器 java容器分类一. Collection1. List①. ArrayList② . LinkedList③ . Vector 2. Queue队列①. LinkedList②. PriorityQueue 3. Set集合①. HashSet②. TreeSet 二. Map1. HashMap2.TreeMap3. Hashtable java容器分类 java容器分为两大类,分别是Collecti…

VMWare下建的CentOS7 扩容

记录一下扩容过程中踩过的坑 背景:一年半以前私有化部署了一个gitLab服务,当时只分配了30G的磁盘容量,这两天小伙伴总是反馈gitLab登不上。排查发现是因为磁盘满了 然后就开始了磁盘扩容之旅 各种 vgs\pv\pvdisplay\lv\lvm 等等都没用 一下…

ChatGPT记忆功能终于上线了, OpenAI 官方:用得越久越聪明!

原文 ChatGPT记忆功能终于上线了, OpenAI 官方:用得越久越聪明! Aitrainee | 公众号:AI进修生 🌟 记得今年2月份OpenAI发布过ChatGPT上线记忆功能的消息,我记得当时还弹出过这个窗口给我,但是仅仅体验了几…

【书生浦语第二期实战营学习笔记作业(六)】

课程文档:https://github.com/InternLM/Tutorial/tree/camp2/agent 课程作业:https://github.com/InternLM/Tutorial/blob/camp2/agent/homework.md Lagent & AgentLego 智能体应用搭建 1、Agent 理论1.1 为什么要有智能体1.2 什么是智能体1.3 智能体…

【兼职宝典】七大靠谱手机兼职副业平台,让你乐在其中,轻松实现财务自由!

数字化时代已经到来,互联网的普及与技术的飞速发展让越来越多的人开始关注兼职工作,以此增加收入、锻炼能力或追求兴趣爱好。本文将为您详细解读几种热门的兼职方式,助您找到最适合自己的兼职岗位。 一,自媒体运营:创…

Java 循环语句

文章目录 Java 循环语句一,for 循环1. for 循环结构2. for 循环案例: 输出5行HelloWord3. for 循环案例: 写出输出的结果 (格式多样性)4. for 循环案例: 遍历100以内的偶数。并获取偶数的个数,获取所有的偶数的和5. for 循环案例: 输出所有的水仙花数6. …

Jmeter中http请求时加HTTP Cookie管理器,cookie不生效问题

只是想加个cookie,就新建了cookie管理器,用的都是默认的,然后跑到怀疑自己的jmeter是不是出问题了。 还好没卸载重装。只是把策略改成netscape就好了。

【代码随想录刷题记录】LeetCode844比较含退格的字符

题目地址 1. 思路 1.1 基本思路 拿到这个题,我们要单独写一个函数去将退格后的字符串结果返回出来(生成退格后的真实的字符串),我还是想魔改 O ( n ) O(n) O(n)时间复杂度的删除数组元素的算法:【代码随想录刷题记录…

GoLand 2021.1.3 下载与安装

当前环境:Windows 8.1 x64 1 浏览器打开网站 https://www.jetbrains.com/go/download/other.html 找到 2021.1.3 版本。 2 解压 goland-2021.1.3.win.zip 到 goland-2021.1.3.win。 3 打开 bin 目录下的 goland64.exe,选择 Evaluate for free -- Evalu…

RunnerGo四月更新:强化UI自动化测试与UI录制插件功能

RunnerGo最近更新的 UI自动化测试和UI录制插件可以让测试人员更高效地布置UI自动化场景。这次优化升级的插件录制能力,可以更准确的定位元素并执行步骤,并增加了局部截图功能,准确查看定位的元素位置等。 UI插件V2.0介绍 接下来,让…

vue2左侧菜单栏收缩展开功能

目录 1. Main.vue页面代码 a. 修改侧边栏属性 b. 修改头部导航栏 c. 定义我们的变量 d. collapse函数 2. Header.vue页面代码 3. Aside.vue页面代码 vue2左侧菜单栏收缩展开目前是非常常见的,我们在日常开发过程中经常会碰到。这一小节我们就详细了解一下这个…

java多功能手机

随着科技的发展,手机的使用已经普及到每个家庭甚至个人,手机的属性越来越强大,功能也越来越多,因此人们在生活中越来越依赖于手机。 任务要求,使用所学知识编写一个手机属性及功能分析程序设计,测试各个手机…

3步教你成为微信客户管理高手,助你事半功倍!

在如今的商业世界中,与客户建立良好的关系并提供个性化的服务已成为企业成功的关键。今天就 分享三个简单的步骤,让大家成为微信客户管理的高手,事半功倍! 第一步:客户分类与精细化服务 为了更好地管理客户&#xff…

--菱形继承--

#include<iostream> using namespace std;class Animal { public:Animal(){m_Age 0;}int m_Age; };//利用虚继承 解决菱形继承的问题 //继承之前 加上关键字 virtual 变为虚继承 // Animal类称为 虚基类 //羊类 class Sheep:virtual public Animal { public:};//驼类 cl…