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

Noise Conditional Score Network

NCSN
p σ ( x ~ ∣ x ) : = N ( x ~ ; x , σ 2 I ) p_\sigma(\tilde{\mathrm{x}}|\mathrm{x}) := \mathcal{N}(\tilde{\mathrm{x}}; \mathrm{x}, \sigma^2\mathbf{I}) pσ(x~x):=N(x~;x,σ2I)
p σ ( x ~ ) : = ∫ p d a t a ( x ) p σ ( x ~ ∣ x ) d x p_\sigma(\mathrm{\tilde{x}}) := \int p_{data}(\mathrm{x})p_\sigma(\mathrm{\tilde{x}}|\mathrm{x})d\mathrm{x} pσ(x~):=pdata(x)pσ(x~x)dx
p d a t a ( x ) p_{data}(x) pdata(x)表示目标数据分布。 σ m i n = σ 1 < σ 2 < ⋅ ⋅ ⋅ < σ N = σ m a x \sigma_{\mathrm{min}}=\sigma_1<\sigma_2<\cdot\cdot\cdot<\sigma_N=\sigma_{\mathrm{max}} σmin=σ1<σ2<<σN=σmax
σ m i n \sigma_{\mathrm{min}} σmin足够小,以至于 p σ m i n ( x ) ≈ p d a t a ( x ) ) p_{\sigma_{\mathrm{min}}}(\mathrm{x}) \approx p_{data}(\mathrm{x})) pσmin(x)pdata(x)), σ m a x \sigma_{\mathrm{max}} σmax足够大,以至于 p σ m i n ( x ) ) ≈ N ( x ; 0 , σ m a x 2 I ) p_{\sigma_{\mathrm{min}}}(\mathrm{x})) \approx \mathcal{N}(\mathbf{x}; \mathbf{0}, \sigma^2_{\mathrm{max}}\mathbf{I}) pσmin(x))N(x;0,σmax2I)

θ ∗ = arg min ⁡ θ ∑ i = 1 N σ i 2 E x ∼ p d a t a ( x ) E x ~ ∼ p σ i ( x ~ ∣ x ) [ ∣ ∣ s θ ( x ~ , σ i ) − ▽ x ~ l o g p σ ~ ( x ~ ∣ x ) ∣ ∣ 2 2 ] \theta^{*} = \argmin_\theta \sum_{i=1}^N \sigma_i^2 \mathbb{E}_{\mathrm{x}\sim p_{data}(\mathrm{x})}\mathbb{E}_{\tilde{\mathrm{x}}\sim p_{\sigma_i}(\tilde{\mathrm{x}}|\mathrm{x})} \Big[ ||s_\theta(\tilde{\mathrm{x}}, \sigma_i) - \mathbf{\triangledown}_{\tilde{\mathrm{x}}}\mathrm{log}p_{\tilde{\sigma}}(\tilde{\mathrm{x}}|\mathrm{x})||^2_2\Big] θ=θargmini=1Nσi2Expdata(x)Ex~pσi(x~x)[∣∣sθ(x~,σi)x~logpσ~(x~x)22]

模型训练完毕后,执行M步Langevin MCMC采样:
x i m = x i m − 1 + ϵ i s θ ∗ ( x i m − 1 , σ i ) + 2 ϵ i z i m , m = 1 , 2 , ⋅ ⋅ ⋅ , M x_i^m = x_i^{m-1} + \epsilon_i s_{\theta^{*}}(x_i^{m-1}, \sigma_i) + \sqrt{2\epsilon_i}z_i^m, \quad m=1,2,\cdot\cdot\cdot, M xim=xim1+ϵisθ(xim1,σi)+2ϵi zim,m=1,2,,M
ϵ i > 0 \epsilon_i>0 ϵi>0为步长, z i m z_i^m zim是标准正态分布。上述采样过程重复 i = N , N − 1 , ⋅ ⋅ ⋅ , 1 i=N, N-1, \cdot\cdot\cdot, 1 i=N,N1,,1,也就是说对于每个noise level,执行N步,直至样本收敛至当前noise level的最佳位置。
x N 0 ∼ N ( x ∣ 0 , σ m a x 2 I ) , x i 0 = x i + 1 M w h e n i < N x_N^0 \sim \mathcal{N}(\mathrm{x}|0, \sigma^2_{max}\mathbf{I}), \ x_i^0 = x_{i+1}^M \mathrm{when}\ i < N xN0N(x∣0,σmax2I), xi0=xi+1Mwhen i<N

样例代码如下:

import torch
def langevin_sampling(score_network, noise_levels, num_steps, step_size, batch_size, device):# 初始化样本,从标准正态分布中采样x = torch.randn(batch_size, 3, 32, 32).to(device)# 多级噪声采样,从高噪声到低噪声逐步采样,最终得到逼近目标分布的样本for sigma in noise_levels:print(f"Sampling at noise level: {sigma}")# Langevin动力学迭代for _ in range(num_steps):# 计算分布函数梯度(由分数网络预测)with torch.no_grad():grad = score_network(x, sigma) # 输入当前样本和噪声水平# 梯度上升步x = x + step_size * grad# 添加随机噪声步noise = torch.randn_like(x) * (2 * step_size) ** 0.5x = x + noisereturn xclass DummyScoreNet(nn.Module):def forward(self, x, sigma):return -x / (sigma ** 2)device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
score_network = DummyScoreNet().to(device)noise_levels = [50.0, 25.0, 10.0, 5.0, 1.0]
num_steps = 50
step_size = 0.1
batch_size = 64samples = langevin_sampling(score_network,noise_levels,num_steps,step_size,batch_size,device)

相关文章:

Noise Conditional Score Network

NCSN p σ ( x ~ ∣ x ) : N ( x ~ ; x , σ 2 I ) p_\sigma(\tilde{\mathrm{x}}|\mathrm{x}) : \mathcal{N}(\tilde{\mathrm{x}}; \mathrm{x}, \sigma^2\mathbf{I}) pσ​(x~∣x):N(x~;x,σ2I) p σ ( x ~ ) : ∫ p d a t a ( x ) p σ ( x ~ ∣ x ) d x p_\sigma(\mathrm…...

低代码系统-产品架构案例介绍、蓝凌(十三)

蓝凌低代码系统&#xff0c;依旧是从下到上&#xff0c;从左至右的顺序。 技术平台h/iPaas 指低层使用了哪些技术&#xff0c;例如&#xff1a;微服务架构&#xff0c;MySql数据库。个人认为&#xff0c;如果是市场的主流&#xff0c;就没必要赘述了。 新一代门户 门户设计器&a…...

51单片机 02 独立按键

一、独立按键控制LED亮灭 轻触按键&#xff1a;相当于是一种电子开关&#xff0c;按下时开关接通&#xff0c;松开时开关断开&#xff0c;实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。 #include <STC89C5xRC.H> void main() { // P20xFE;while(1){…...

2021.3.1的android studio版本就很好用

使用最新版的studio有个问题就是gradle版本也比较高&#xff0c;这样就容易出现之前项目不兼容问题&#xff0c;配置gradle可能会出现很多问题比较烦&#xff0c;所以干脆就用老版本的studio...

CSV数据分析智能工具(基于OpenAI API和streamlit)

utils.py&#xff1a; from langchain_openai import ChatOpenAI from langchain_experimental.agents.agent_toolkits import create_csv_agent import jsonPROMPT_TEMPLATE """你是一位数据分析助手&#xff0c;你的回应内容取决于用户的请求内容。1. 对于文…...

移除元素-双指针(下标)

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操作&#xff1a…...

蓝桥杯备赛题目练习(一)

目录 一. 口算练习题 代码如下 代码解读&#xff08;简略重点&#xff09;&#xff1a; 代码解读&#xff08;详细&#xff09;&#xff1a; 二. 小乐乐改数字 代码&#xff08;1&#xff09;&#xff1a;当做整数读取 代码&#xff08;2&#xff09;&#xff1a;当做字符…...

FortiOS 存在身份验证绕过导致命令执行漏洞(CVE-2024-55591)

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

【多线程】线程池核心数到底如何配置?

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 前置回顾2. 动态线程池2.1 JMX 的介绍2.1.1 MBeans 介绍 2.2 使用 JMX jconsole 实现动态修改线程池2.2.…...

Windows图形界面(GUI)-QT-C/C++ - Qt Combo Box

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 一、概述 1.1 基本概念 1.2 应用场景对比 二、核心属性详解 2.1 行为控制 2.2 显示配置 三、数据操作与访问 3.1 基础数据管理 3.2 高级数据访问 四、用户交互处理 4.1 信号处…...

开源AI智能名片2 + 1链动模式S2B2C商城小程序:内容价值创造与传播新引擎

摘要&#xff1a;本文聚焦于信息爆炸时代下&#xff0c;内容价值的创造与传播。随着用户角色的转变&#xff0c;其在内容生产与传播中的价值日益凸显。同时&#xff0c;深入探讨开源AI智能名片2 1链动模式S2B2C商城小程序这一创新商业模式&#xff0c;如何借助用户创造内容并传…...

python读取excel工具:openpyxl | AI应用开发

python读取excel工具&#xff1a;openpyxl | AI应用开发 openpyxl 是一个 Python 库&#xff0c;专门用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件。它是处理 Excel 文件的强大工具&#xff0c;可以让你在不需要安装 Excel 软件的情况下&#xff0c;对 Excel 文件进行创建、…...

堆的基本概念

1.1 堆的基本概念 虚拟机所在目录 E:\ctf\pwn-self 进入虚拟机的pwndocker环境 holyeyesubuntu:~$ pwd /home/holyeyes holyeyesubuntu:~$ sudo ./1run.sh IDA分析 int __fastcall main(int argc, const char **argv, const char **envp) { void *v4; // [rsp20h] [rbp-1…...

Android车机DIY开发之软件篇(九) NXP AutomotiveOS编译

Android车机DIY开发之软件篇(十一) NXP AutomotiveOS编译 Google 在汽车上也提供了用于汽车的 Google 汽车服务&#xff08;GAS&#xff0c;Google Automotive Service&#xff09;&#xff0c;包含有 Google 地图、应用市场、Google 汽车助理等等。Google 汽车服务同样没有开…...

嵌入式工程师必学(143):模拟信号链基础

概述: 我们每天使用的许多电子设备,以及我们赖以生存的电子设备,如果不使用电子工程师设计的实际输入信号,就无法运行。 模拟信号链由四个主要元件组成:传感器、放大器、滤波器和模数转换器 (ADC)。这些传感器用于检测、调节模拟信号并将其转换为适合由微控制器或其他数…...

《LLM大语言模型深度探索与实践:构建智能应用的新范式,融合代理与数据库的高级整合》

文章目录 Langchain的定义Langchain的组成三个核心组件实现整个核心组成部分 为什么要使用LangchainLangchain的底层原理Langchain实战操作LangSmithLangChain调用LLM安装openAI库-国内镜像源代码运行结果小结 使用Langchain的提示模板部署Langchain程序安装langserve代码请求格…...

e2studio开发RA2E1(5)----GPIO输入检测

e2studio开发RA2E1.5--GPIO输入检测 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置GPIO口配置按键口配置按键口&Led配置R_IOPORT_PortRead()函数原型R_IOPORT_PinRead()函数原型代码 概述 本篇文章主要介绍如何…...

Spring @Lazy:延迟初始化,为应用减负

在Spring框架中&#xff0c;Lazy注解的作用非常直观&#xff0c;它就是用来告诉Spring容器&#xff1a;“嘿&#xff0c;这个Bean嘛&#xff0c;先别急着创建和初始化&#xff0c;等到真正需要用到的时候再弄吧&#xff01;” 默认情况下&#xff0c;Spring容器在启动时会立即创…...

将OneDrive上的文件定期备份到移动硬盘

背景&#xff1a; 我在oneDrive上存了很多文件&#xff0c;分布在多个文件夹中&#xff0c;也有套了好几层文件夹的情况。我希望每隔一段时间&#xff0c;将oneDrive上的所有文件向移动硬盘上拷贝一份&#xff0c;但是我只想将距离上一次向移动硬盘拷贝的文件相比&#xff0c;发…...

从0开始,来看看怎么去linux排查Java程序故障

一&#xff0c;前提准备 最基本前提&#xff1a;你需要有liunx环境&#xff0c;如果没有请参考其它文献在自己得到local建立一个虚拟机去进行测试。 有了虚拟机之后&#xff0c;你还需要安装jdk和配置环境变量 1. 安装JDK&#xff08;以OpenJDK 17为例&#xff09; 下载JDK…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...