当前位置: 首页 > news >正文

扩散模型学习

第一章

1.1

的原理

给定一批训练数据X,假设其服从某种复杂的真实 分布p(x),则给定的训练数据可视为从该分布中采样的观测样本x。

生成模型就是估计训练数据的真实分布,使得估计的分布q(x)和真实分布p(x)差距尽可能能的小。

使得所有训练数据样本采样自q(x)的概率最大。

DDPM假设扩散过程是马尔可夫过程(即每一个时间步状态的概率分布仅由上一个时间步状态的概率分布加上当前时间步的高斯噪声得到),以及假设扩散过程的逆过程是高斯分布等

DDPM推导见DDPM推导.pdf

1.2 扩散模型的发展

论 文 “Score-Based Generative Modeling through Stochastic Differential Equations”证明了DDPM的采样过程是更普遍的随机微分方程,因此只要能够更离散化地求解该随机微分方程,就可以将1000步的采样过程缩减至50步、20步甚至更少的步数。

在这里插入图片描述

很多基于现有的扩散模型进行“再学习”的技术自然而然地涌现,这也使得个人在消费级显卡上训练自己的扩散模型成为可能。

DreamBooth可以实现使用现有模型再学习到指定主体图像的功 能,只要通过少量训练将主体绑定到唯一的文本标识符后,就可以通过输入文本提示语来控制自己的主体以生成不同的图像。

在这里插入图片描述

LoRA可以实现使用现有模型再学习到自己指定数据集风格或人物 的功能,并且还能够将其融入现有的图像生成中。

ControlNet可以再学习到更多模态的信息,并利用分割图、边缘 图等功能更精细地控制图像的生成。

1.3 扩散模型的应用
1.3.1 计算机视觉
  • 图像分割与目标检测
    Meta AI 的SegDiff分割扩散模型可以生成分割Mask图(如图1-14所示),检测扩散模型DiffusionDet同样可以端到端地从随机矩形框逐步生成检测框(如图1-15所示)。
    不过,扩散模型仍然存在生成速度慢的问题,在应用于一些需要实时检测的场景时还需继续优化。

在这里插入图片描述

  • 图像超分辨率
    图像超分辨率是一项能够将低分辨率图像重建 为高分辨率图像,同时保证图像布局连贯的技术。
    CDM(Cascaded Diffusion Model,级联扩散模型)通过采用串联多个扩散模型的方 式,分级式地逐步放大分辨率,实现了图像超分辨率。
    在这里插入图片描述

  • 图像修复、图像翻译和图像编辑

图像修复、图像翻译和图像编辑是对图像的部分或全部区域执行的操作,包括缺失部分修补、风 格迁移、内容替换等。Palette是一个集成了图像修复、图像翻译和图像编辑等功能的扩散模型,它可以在一个模型中完成不同的图像级任务。

在这里插入图片描述

1.3.2 时序数据预测

时序数据预测旨在根据历史观测数据预测未来可能出现的数据。
TimeGrad是首个在多元概率时序数据预测任务中加入扩散思想 的自回归模型。
为了将扩散过程添加到历史数据中,TimeGrad首先 使用RNN(Recurrent Neural Network,循环神经网络)处理历史 数据并保存到隐空间中,然后对历史数据添加噪声以实现扩散过程, 由此处理数千维度的多元数据并完成预测任务。

在这里插入图片描述

1.3.3 自然语言

只要将自然语言类的句子分词并转换为词向量之后,就可以通过扩散的方法来学 习自然语言的语句生成,进而完成自然语言领域一些更复杂的任务, 如语言翻译、问答对话、搜索补全、情感分析、文章续写等。
Diffusion-LM是首个将扩散模型应用到自然语言领域的扩散语言模型。该模型旨在解决如何将连续的扩散过程应用到离散的非连续化文本的问题,由此实现语言类的高细粒度可控生成。

1.3.4 基于文本的多模态
  • 文本生成图像
    文本生成图像是扩散模型最流行、最成熟的应 用,输入文本提示语或仅仅输入几个词,扩散模型就能根据文字描述 生成对应的图片。
    DALLE-2、Imagen以及完全开源的Stable Diffusion
  • 文本生成视频
    文本生成视频扩散模型能够将输入的文本提示语转换为相应的视频流。
    不同的是,视频的前 后帧需要保持极佳的连贯性。
    Meta AI的Make-A-Video以及能够精细控制视频 生成的ControlNet Video。
  • 文本生成3D
    3D物体的表征有多种方式,如 点云、网格、NeRF等。
    DiffRF提出了通过扩散的方法实现从文本生成3D辐射场的扩散模型,3DFuse实现了基于二维图像生成对应的3D点云。
1.3.5 AI基础科学

SMCDiff创建了一种扩散模型,该扩散模型可以根据给定的模体结构生成多样化的支架蛋白质。
CDVAE则提出了一种扩散晶体变分自编码器模 型,旨在生成和优化具有固定周期性原子结构的材料。

第二章

Gradio是一个开源的Python库,由Hugging Face推出,用于构建机器学习和数据科学演示以及Web应用。
借助Gradio,你可以快速 为机器学习模型或数据科学工作流创建美观的用户界面,让用户能够 通过浏览器拖放自己的图片、粘贴文本、录制自己的声音并与你的演 示互动。交互式应用。
![[Pasted image 20231015210739.png]]

  • 使用pip安装Gradio

  • 以经典的“Hello World!”程序为例,输入代码。
    在这里插入图片描述

  • 使用gradio命令运行Gradio应用脚本
    在这里插入图片描述

“Hello World!”程序代码,可以看出,我们 调用了gr.Interface接口。
fn:目标函数的名称(我们将要为该目标函数创建用户界 面)。
inputs:用于输入的组件(如"text" “image"或"audio”)。
outputs:用于输出的组件(如"text" “image"或"label”)。

相关文章:

扩散模型学习

第一章 1.1 的原理 给定一批训练数据X,假设其服从某种复杂的真实 分布p(x),则给定的训练数据可视为从该分布中采样的观测样本x。 生成模型就是估计训练数据的真实分布,使得估计的分布q(x)和真实分布p(x)差距尽可能能的小。 使得所有训练…...

解决方法:从客户端(---<A href=“http://l...“)中检测到有潜在危险的 Request.Form 值。

从客户端(-----<A href"http://l...")中检测到有潜在危险的 Request.Form 值。 解决方法&#xff1a;应该是不同的.net Framework版本对代码的校验不同&#xff0c;造成在高版本操作系统&#xff08;即高.net Framework版本校验&#xff09;不兼容&#xff0c;可…...

Linux shell编程学习笔记14:编写和运行第一个shell脚本hello world!

* 20231020 写这篇博文断断续续花了好几天&#xff0c;为了说明不同shell在执行同一脚本文件时的差别&#xff0c;我分别在csdn提供线上Linux环境 &#xff08;使用的shell是zsh&#xff09;和自己的电脑上&#xff08;使用的shell是bash&#xff09;做测试。功夫不负有心人&am…...

隐式类型转换

什么是隐式类型转换&#xff0c;多参数的造函数隐式类型转换&#xff0c;和单参数的构造函数隐式类型转换有什么区别 C中有三种主要的隐式类型转换&#xff1a; 1:多参数的构造函数隐式类型转换 2:单参数的构造函数隐式类型转换 3:成员函数隐式类型转换。…...

单例模式:饿汉式、懒汉式

一、单例模式 定义&#xff1a;一个类中的对象只能有一个&#xff0c;它在内存中只会创建一次对象的设计模式。 用法&#xff1a;在程序中如果多次用到同一个类中的方法进行操作时&#xff0c;在使用时就会创建多个对象。为了防止频繁创建对象造成内存资源浪费&#xff0c;就可…...

“人间烟火”背后,长沙招商引资再出圈

连续多年&#xff0c;长沙荣膺全国最具幸福感城市。同时&#xff0c;长沙也被誉为“中部崛起的引擎城市”。长沙不仅有网红城市的人间烟火气&#xff0c;更以创新的精神&#xff0c;优质的营商环境&#xff0c;高效的政府服务&#xff0c;丰富的人才资源和深厚的产业基础&#…...

操作系统【OS】中断和异常

异常&#xff08;内中断&#xff09; 中断&#xff08;外中断&#xff09; 基本概念 由CPU执行指令内部产生的事件内中断都是不可屏蔽中断&#xff0c;一旦出现&#xff0c;就要立即处理。 由来自CPU外部的设备发出的中断请求&#xff08;常用于输入输出&#xff09;典型的由…...

[AutoSAR系列] 1.1 AutoSar 发展历史

AUTOSAR,全称为Automotive Open System Architecture,即汽车开放系统架构。 AutoSar 是一项开源的汽车软件标准,旨在提高汽车电子系统的互操作性和可重用性。AutoSar 成员通常是汽车制造商、电子元件制造商、软件供应商和工具供应商等公司,他们在共同开发和推进 AutoSar 标…...

【vscode编辑器插件】前端 php unity自用插件分享

文章目录 一篇一句前言前端vuegitphpunity后端其他待续完结 一篇一句 “思考是最困难的工作&#xff0c;这也许是为什么很少有人这样做。” - 亨利福特&#xff08;Henry Ford&#xff09; 前言 无论是什么语言&#xff0c;我都会选择使用vscode进行开发&#xff0c;我愿称v…...

【企业级SpringBoot单体项目模板 】—— 项目代码管理

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;SpringBoot项目模版、企业级、模版、代码管理☀️每日 一言&#xff1a;生命力顽强的种子&#xff0c;从不对瘠土唱诅咒的歌。 文章目录 一、第一种&#xff1a;先创建仓库1.1 创建仓库1.2 clone…...

Python读取Excel文件中指定的列数并生成CSV文件

0x00 安装Pandas和OpenPyXL pip install pandaspip install openpyxl0x01 Encoding import os import pandas as pd import openpyxl from openpyxl import load_workbook import csvdef write_dict_to_csv(dict_data, fileName):df pd.DataFrame.from_dict(dict_data)# 将D…...

MySQl有哪些索引(种类)?索引特点?为什么要使用索引?

普通索引&#xff1a;仅加速查询唯一索引&#xff1a;加速查询 列值唯一&#xff08;可以有null&#xff09;主键索引&#xff1a;加速查询 列值唯一&#xff08;不可以有null&#xff09; 表中只有一个组合索引&#xff1a;多列值组成一个索引&#xff0c;专门用于组合搜索&…...

49数码论坛系统设计与实现

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…...

蓝桥杯每日一题2023.10.19

题目描述 完全二叉树的权值 - 蓝桥云课 (lanqiao.cn) 题目分析 我们以每一个节点的坐标来将这一深度的权值之和相加从而算出权值和 要清楚每一个深度的其实节点和末尾节点&#xff0c;使用双指针将这个深度节点的权值和计算出来&#xff0c;记录所 需要的深度即可 #includ…...

NIO IN:技术蔚来的首次「大阅兵」

宝山&#xff0c;上海第一钢铁厂旧址。 上周&#xff0c;蔚来在这里点亮金色炉台&#xff0c;2500 立方米高炉&#xff0c;浓重的工业气质与古典凝重的光影交织&#xff0c;蔚来 NIO IN 用科技的进步呼应那个火红的年代。 这是蔚来第一次开科技发布会&#xff0c;为了全方位展…...

Android推送问题排查

针对MobPush智能推送服务在使用过程中可能出现的问题&#xff0c;本文为各位开发者们带来了针对MobPush安卓端推送问题的解决办法。 TCP在线推送排查 排查TCP在线收不到推送时&#xff0c;我们先通过客户端的RegistrationId接口获取设备的唯一标识 示例&#xff1a; MobPush…...

轻量级导出 Excel 标准格式

一般业务系统中都有导出到 Excel 功能&#xff0c;其实质就是把数据库里面一条条记录转换到 Excel 文件上。Java 常用的第三方类库有 Apache POI 和阿里巴巴开源的 EasyExcel 等。另外也有通过 Web 模板技术渲染 Excel 文件导出&#xff0c;这实质是 MVC 模式的延伸&#xff0c…...

蓝桥杯 (年号字串 C++)

思路&#xff1a; 1、看成10进制转化成26进制 。 2、A表示1、B表示2。以此类推&#xff0c;Z表示26. 代码&#xff1a; #include <iostream> using namespace std; int main() {char str[10]; int sum 2019, n, i 0; while (sum > 0) {str[i] sum % 26 64;sum / …...

软件测试01

一、认识软件及测试 1、什么是软件 控制计算机硬件工作的工具 2、软件的基本组成 页面客户端------请求----->代码服务器-------请求------>数据服务器 3、软件产生过程 需求产生------->需求文档------->设计效果图------->产品开发-------->产品测试 …...

【IBIS 模型与仿真 - IBISWriter and Write_IBIS】

本文将介绍如何从用户设计中编写自定义IBIS模型。 本文是 SelectIO 解决方案中心&#xff08;Xilinx 答复 50924&#xff09;的设计助手部分&#xff08;Xilinx 答复 50926&#xff09;的一部分。 原文链接&#xff1a;https://support.xilinx.com/s/article/50957?languagee…...

省、地级市数字经济关注度(百度指数、资讯指数)-(2011-2023年)

01、数据介绍数字经济是一个综合性指标&#xff0c;用于衡量社会各界对数字经济发展及其相关议题的关心和重视程度。这种关注度涵盖了多个维度和主体&#xff0c;包括但不限于政府政策制定者、企业家、投资者、学术界以及广大民众。参考《中南财经政法大学学报》中黎新伍(2022)…...

pdftotext:Python PDF文本提取的高效解决方案

pdftotext&#xff1a;Python PDF文本提取的高效解决方案 【免费下载链接】pdftotext Simple PDF text extraction 项目地址: https://gitcode.com/gh_mirrors/pd/pdftotext 在日常数据处理工作中&#xff0c;PDF文档的文本提取常常成为开发者的痛点。传统的复制粘贴方式…...

3D打印Cherry MX键帽:从设计到制造的完整开源方案

3D打印Cherry MX键帽&#xff1a;从设计到制造的完整开源方案 【免费下载链接】cherry-mx-keycaps 3D models of Chery MX keycaps 项目地址: https://gitcode.com/gh_mirrors/ch/cherry-mx-keycaps 你是否曾经为找不到特殊尺寸的键帽而烦恼&#xff1f;或者想为自己的机…...

机器学习必备微积分核心知识与学习路径

1. 为什么机器学习从业者需要微积分教材当我在2015年第一次尝试理解反向传播算法时&#xff0c;那个不断出现的∇符号让我意识到&#xff1a;没有扎实的微积分基础&#xff0c;机器学习就像在沙滩上盖房子。市面上大多数ML教程都会说"这里求个导"&#xff0c;却很少解…...

Netflix Conductor:微服务编排引擎的核心原理与生产实践

1. 项目概述&#xff1a;一个现代微服务编排引擎的诞生如果你正在构建一个由多个微服务组成的复杂应用&#xff0c;并且这些服务之间需要按照特定顺序、条件或并行关系来协同工作&#xff0c;那么你很可能已经遇到了“服务编排”这个难题。手动编写代码来调用服务A&#xff0c;…...

TV Bro:智能电视浏览器的遥控器优化体验指南

TV Bro&#xff1a;智能电视浏览器的遥控器优化体验指南 【免费下载链接】tv-bro Simple web browser for android optimized to use with TV remote 项目地址: https://gitcode.com/gh_mirrors/tv/tv-bro 你是否曾想过在智能电视上像在手机上一样轻松上网&#xff1f;T…...

MCP 2026证书签发机制突变!2024年12月起新增FOTA固件签名验证——3类老旧终端设备将被自动踢出监管平台

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;MCP 2026农业设备数据对接概览 MCP 2026&#xff08;Modular Communication Protocol 2026&#xff09;是专为智能农业装备设计的轻量级、可扩展数据交互协议&#xff0c;支持拖拉机、播种机、无人灌溉…...

HSTracker:macOS炉石传说玩家的终极智能助手,轻松提升你的游戏水平!

HSTracker&#xff1a;macOS炉石传说玩家的终极智能助手&#xff0c;轻松提升你的游戏水平&#xff01; 【免费下载链接】HSTracker A deck tracker and deck manager for Hearthstone on macOS 项目地址: https://gitcode.com/gh_mirrors/hs/HSTracker 还在为记不住对手…...

多智能体协作框架AgentVerse:从原理到实战的范式跃迁

1. 项目概述&#xff1a;从“单兵作战”到“多智能体协同”的范式跃迁在人工智能领域&#xff0c;尤其是大语言模型驱动的智能体开发中&#xff0c;我们正经历一个有趣的转变。过去&#xff0c;我们习惯于构建一个“全能”的智能体&#xff0c;试图让它理解所有指令、掌握所有工…...

从‘KeyError’到成功加载:手把手教你调试ViT权重加载的完整流程(含PyTorch/TensorFlow对比)

从‘KeyError’到成功加载&#xff1a;手把手教你调试ViT权重加载的完整流程&#xff08;含PyTorch/TensorFlow对比&#xff09; 当你第一次尝试加载预训练的Vision Transformer&#xff08;ViT&#xff09;模型权重时&#xff0c;看到控制台抛出KeyError: Transformer/encoder…...