【深度学习】UNIT-DDPM核心讲解
文章目录
- 大致介绍:
- 扩散损失:
- 转换损失:
- 循环一致性损失:
- 推理过程:
- 优缺点:
参考文章:
https://blog.csdn.net/ssshyeong/article/details/127210086
这篇文章对整个文章 UNIT-DDPM: UNpaired Image Translation with Denoising Diffusion Probabilistic Models进行了从头到尾的讲解,可以看一下。在此写一下自己的理解。
大致介绍:
这篇论文提出了一种新的图像翻译方法,即无配对的图像翻译,基于Denoising Diffusion Probabilistic Models(DDPM)。传统的无配对图像翻译方法通常使用对抗生成网络(GAN)或变分自编码器(VAE)来模拟两种语言之间的映射,但这些方法通常需要大量配对的数据来训练模型。而本文提出的方法则不需要配对的数据,因为它使用DDPM来学习两种语言之间的映射。DDPM是一种基于概率模型的去噪方法,可以通过对噪声进行多次迭代来生成清晰图像。本文将DDPM应用于无配对图像翻译,通过对两种语言图片进行多次迭代训练,可以获得较好的翻译效果。
具体来说,本文的方法分为两个步骤:训练阶段和生成阶段。在训练阶段,将DDPM应用于两种语言的图片数据集上,训练出两个DDPM模型。在生成阶段,通过交替对两个DDPM模型进行迭代,将一个语言的图片转换成另一个语言的图片。
本文的方法相对于传统方法的优点是不需要配对的数据,而且生成的图片具有一定的多样性和清晰度。但缺点是训练时间相对较长,因为DDPM模型需要进行多次迭代训练。
总之,本文提出了一种新的无配对图像翻译方法,通过应用DDPM模型实现了两种语言之间的图片转换,为跨语言翻译和相关领域的研究提供了新思路。
图解:
可以看到,本文使用两个扩散过程(源域和目标域的扩散),以及两个转换函数(将源域转到目标域和将目标域转到源域),也就是图像翻译。
为了使两个域之间能够转换,本文将最p过程进行了修改,使其带有条件。
扩散损失:
首先训练扩散过程中的参数:
依次排列括号里面的公式:A在t时刻的扩散图像;首先将A域图像转到B上,然后使用A域的扩散得到扩散图像,时刻t (先翻译,后扩散)
B在t时刻的扩散图像;首先将B域图像转到A上,然后使用B域的扩散得到扩散图像;时刻t。
转换损失:
接下来训练翻译函数,固定A和B的扩散参数:
依次罗列括号里面的公式:
先将B域图像转到A域,然后得到t时刻的扩散图像(A域上);B域图像在t时刻的扩散图像(B域上);时刻t。
B域图像在t时刻的扩散图像(B域上);首先将B域图像转到A上,然后使用B域的扩散得到扩散图像(B域上);时刻t。
后面一个类似。
循环一致性损失:
最终的损失函数:
推理过程:
之后使用DDPM里面的公式对其一步一步推导即可。
优缺点:
模型图:
扩散模型采样步骤很费时间,可以使用DDIM等方法进行缩减;还可以通过其他trick进行改进生成质量(如注意力机制或者NL等方法)。
相关文章:
【深度学习】UNIT-DDPM核心讲解
文章目录 大致介绍:扩散损失:转换损失:循环一致性损失:推理过程:优缺点: 参考文章: https://blog.csdn.net/ssshyeong/article/details/127210086 这篇文章对整个文章 UNIT-DDPM: UNpaired Imag…...
Java 线程的优先级
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,…...
金融数学方法:牛顿法
目录 1.牛顿法1.1 牛顿法介绍1.2 算法步骤 2. 具体算例3.总结 1.牛顿法 1.1 牛顿法介绍 牛顿法(Newton’s method),也被称为牛顿-拉夫森方法(Newton-Raphson method),是一种用于数值逼近根的迭代方法。它是…...
MongoTemplate | 多条件查询
MongoTemplate查询 Resource private MongoTemplate mongoTemplate;public <T> List<T> getDataList(String param1, Long param2, Class<T> clazz) {// 构建queryQuery query constructQuery(param1, param2);// 查询return mongoTemplate.find(query, cl…...
优秀程序员是怎么思考的?
首发日更公 Z 号:十二又十三 作为一名优秀的程序员,思考是我们工作中最重要的一部分。它不仅能够帮助我们解决问题,还能够提升我们的技术水平和职业发展。那么,优秀程序员是如何思考的呢?本文将为您介绍一个思考框架和…...
【juc】countdownlatch实现游戏进度
目录 一、截图示例二、代码示例 一、截图示例 二、代码示例 package com.learning.countdownlatch;import java.util.Arrays; import java.util.Random; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurr…...
Spring Webflux HttpHandler源码整理
HttpHandler的构造 自动启动配置类:HttpHandlerAutoConfigurationBean public HttpHandler httpHandler(ObjectProvider<WebFluxProperties> propsProvider) {HttpHandler httpHandler WebHttpHandlerBuilder.applicationContext(this.applicationContext).…...
Qt扩展-Advanced-Docking 简介及配置
Advanced-Docking 简介及配置 一、概述二、项目结构三、安装配置四、代码测试 一、概述 Advanced-Docking 是类似QDockWidget 功能的多窗口停靠功能的库。很像visual stdio 的 停靠功能,这个库对于停靠使用的比较完善。很多的软件都使用了这个框架。 项目源地址&a…...
Decorator
Decorator 动机 在某些情况下我们可能会“过度地使用继承来扩展对象的功能”, 由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性; 并且随着子类的增多(扩展功能的增多),各种子类的组合ÿ…...
分布式文件系统HDFS(林子雨慕课课程)
文章目录 3. 分布式文件系统HDFS3.1 分布式文件系统HDFS简介3.2 HDFS相关概念3.3 HDFS的体系结构3.4 HDFS的存储原理3.5 HDFS数据读写3.5.1 HDFS的读数据过程3.5.2 HDFS的写数据过程 3.6 HDFS编程实战 3. 分布式文件系统HDFS 3.1 分布式文件系统HDFS简介 HDFS就是解决海量数据…...
CSS中:root伪类的使用
在CSS中,:root是一个伪类选择器,它选择的是文档树的根元素。在HTML文档中,这个根元素通常是<html>。:root伪类选择器常常被用于定义全局的CSS变量或者设置全局的CSS样式。 例如,你可以使用:root来定义一个全局的字体大小&a…...
VulnHub JANGOW
提示(主机ip分配问题) 因为直接在VulnHub上下载的盒子,在VMware上打开,默认是不分配主机的 所以我们可以在VirtualBox上打开 一、信息收集 发现开放了21和80端口,查看一下80端口 80端口: 检查页面后发现…...
OpenMesh 获取网格面片各个顶点
文章目录 一、简介二、实现代码三、实现效果一、简介 OpenMesh中有很多循环器,这里便是其中一种面顶点循环器,以此来获得面片的各个顶点。 二、实现代码 #define _USE_MATH_DEFINES #include <iostream> #include <unordered_map>...
【前端设计模式】之原型模式
原型模式特性 原型模式(Prototype Pattern)是一种创建型设计模式,它通过克隆现有对象来创建新对象,而不是通过实例化类。原型模式的主要特性包括: 原型对象:原型对象是一个已经存在的对象,它作…...
软件设计原则
设计原则 一、单一原则 1. 如何理解单一职责原则 单一职责原则(Single Responsibility Principle,简称SRP),它要求一个类或模块应该只负责一个特定的功能。实现代码的高内聚和低耦合,提高代码的可读性和可维护性。 …...
【面试HOT100】哈希双指针滑动窗口
系列综述: 💞目的:本系列是个人整理为了秋招面试的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于LeetCodeHot100进行的,每个知识点的修正和深入主要参考…...
Ubuntu20.04 配置 yolov5_ros 功能包记录
文章目录 本文参考自博主源801,结合自己踩坑后修改 项目地址:https://github.com/mats-robotics/yolov5_ros 1.新建工作空间 新建一个工作空间 yolo_ros(名字可自定义),在 yolo_ros 下新建文件夹 src 并catkin_make进行编译 2. 安装相机驱动,可以选用较为主流的 usb_cam 或…...
Flink的处理函数——processFunction
目录 一、处理函数概述 二、Process函数分类——8个 (1)ProcessFunction (2)KeyedProcessFunction (3)ProcessWindowFunction (4)ProcessAllWindowFunction ÿ…...
Linux系统中的ps命令详解及用法介绍
文章目录 一、介绍ps命令A. ps命令的作用B. ps命令的参数 二、常见的ps命令用法A. 显示所有进程信息B. 显示指定进程信息C. 显示指定用户的进程信息D. 按CPU使用率排序显示进程信息E. 按内存使用率排序显示进程信息 三、进一步了解ps命令A. 显示进程树信息B. 显示线程和进程关系…...
机器学习笔记 - 基于pytorch、grad-cam的计算机视觉的高级可解释人工智能
一、pytorch-gradcam简介 Grad-CAM是常见的神经网络可视化的工具,用于探索模型的可解释性,广泛出现在各大顶会论文中,以详细具体地描述模型的效果。Grad-CAM的好处是,可以在不额外训练的情况下,只使用训练好的权重即可获得热力图。 1、CAM是什么? CAM全称Class Activa…...
Python 编程基础 | 第五章-类与对象 | 5.1、定义类
一、类 1、定义类 Python中使用class关键字定义类,class之后为类的名称并以:结尾,类的结构如下: class 类名:多个(≥0)类属性...多个(≥0)类方法...下面定义一个Dog类,如…...
合宙Air780e+luatos+腾讯云物联网平台完成设备通信与控制(属性上报+4G远程点灯)
1.腾讯云物联网平台 首先需要在腾讯云物联网平台创建产品、创建设备、定义设备属性和行为,例如: (1)创建产品 (2)定义设备属性和行为 (3)创建设备 (4)准备参…...
c++系列之string的模拟实现
💗 💗 博客:小怡同学 💗 💗 个人简介:编程小萌新 💗 💗 如果博客对大家有用的话,请点赞关注再收藏 🌞 string() //注意事项: 1.初始化列表随声明的顺序进行初始化 2.cons…...
Spring的beanName生成器AnnotationBeanNameGenerator
博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...
FFmpeg 命令:从入门到精通 | ffmpeg 命令直播
FFmpeg 命令:从入门到精通 | ffmpeg 命令直播 FFmpeg 命令:从入门到精通 | ffmpeg 命令直播直播拉流直播推流 FFmpeg 命令:从入门到精通 | ffmpeg 命令直播 本节主要介绍了ffmpeg 命令进行直播拉流、推流的方法,并列举了一些例子…...
A (1087) : DS单链表--类实现
Description 用C语言和类实现单链表,含头结点 属性包括:data数据域、next指针域 操作包括:插入、删除、查找 注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据 类定义参考 #include<…...
异常:找不到匹配的key exchange算法
目录 问题描述原因分析解决方案 问题描述 PC 操作系统:Windows 10 企业版 LTSC PC 异常软件:XshellPortable 4(Build 0127) PC 正常软件:PuTTY Release 0.74、MobaXterm_Personal_23.1 服务器操作系统:OpenEuler 22.03 (LTS-SP2)…...
Arcgis打开影像分析窗口没反应
Arcgis打开影像分析窗口没反应 问题描述 做NDVI计算的时候,一直点击窗口-影像分析,发现影像分析的小界面一直不跳出来。 原因 后来发现是被内容列表给遮住了,其实是已经出来了的。。 拖动内容列表就能找到。 解决方案 内容列表和影像分…...
Spring(JavaEE进阶系列1)
目录 前言: 1.Servlet与Spring对比 2.什么是Spring 2.1什么是容器 2.2什么是IoC 2.3SpringIoC容器的理解 2.4DI依赖注入 2.5IoC与DI的区别 3.Spring项目的创建和使用 3.1正确配置Maven国内源 3.2Spring的项目创建 3.3将Bean对象存储到Spring(…...
Flink状态管理与检查点机制
1.状态分类 相对于其他流计算框架,Flink 一个比较重要的特性就是其支持有状态计算。即你可以将中间的计算结果进行保存,并提供给后续的计算使用: 具体而言,Flink 又将状态 (State) 分为 Keyed State 与 Operator State: 1.1 算子状态 算子状态 (Operator State):顾名思义…...
内蒙古包头做网站的公司/网店推广方法有哪些
<?php/*** 冒泡排序算法* param array $arr* return array*/ function bubble_sort($arr) {// 判断参数是否为数组,且不为空if (!is_array($arr) || empty($arr)) {return $arr;}// 循环需要冒泡的轮数for ($i 1, $len count($arr); $i < $len; $i) {// 循…...
做网站怎么修改网址/百度网站怎样优化排名
一、县政府的劳务关系能转正吗 确切来说,根本不存在转正的问题,原因有两点: 1、劳务派遣工的用人单位是劳务派遣公司,即劳务派遣工根本不是政府的职工,是劳务派遣公司的职工,劳务派遣工与劳务派遣公司之间…...
一万元做网站/免费seo优化
级数 01 求级数的和函数 调用格式为: fn为级数的通项,k为级数项数,k0与kn为级数的开始项和终止项。 (fn需要以符号表达式给出,若fn只有一个自变量,则k可以省略。)Ssymsum(fn,k,k0,kn)实践 求…...
专业建站开发/网络营销培训课程
注:以下内容适用于WPF、C#编码。 最近对异步编程产生了较大的兴趣,所以写出来和感兴趣的朋友一起分享! 1、关于Dispatcher 调度类: 提供用于管理线程的工作项队列的服务。 通常,WPF 应用程序从两个线程开始&#…...
专业做网站开发费用/怎么卸载windows优化大师
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼一股令楼主都战栗的气息压塌了苍穹,本屌丝来了!本屌深邃的双眼中有无尽日月星辰,举手投足间竟有大道在共鸣。只见本屌动了,一只古朴的大手横跨无数楼层,直压楼主而来。2楼…...
外贸接单网站排名榜/百度会员登录入口
一般的打包工具都会有默认的安卓证书提供,但如果你需要上架需要用自己申请安卓证书keystore文件打包apk 现有方便方便的工具,直接在网页就可以申请安卓证书,秒搞定。 首先打开这个网页 http://www.applicationloader.... 输入别名,…...