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,σmax2?I)

θ ? = 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] θ?=θargmin?i=1N?σi2?Expdata?(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?=xim?1?+?i?sθ??(xim?1?,σ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,N?1,???,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 xN0?N(x∣0,σmax2?I),?xi0?=xi+1M?when?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)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/68020.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/68020.shtml
英文地址,請注明出處:http://en.pswp.cn/web/68020.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jdk8 G1收集器怎么手動調優

在 JDK 8 中&#xff0c;手動調優 G1 垃圾收集器可以通過以下步驟和參數進行&#xff1a; 1. 啟用 G1 垃圾收集器 要啟用 G1 垃圾收集器&#xff0c;需要在 JVM 啟動參數中添加以下選項&#xff1a; -XX:UseG1GC 這個參數告訴 JVM 使用 G1 作為垃圾收集器。 2. 設置堆內存…

Nginx通過設置自定義標記識別代理調用

Nginx通過設置自定義標記識別代理調用 業務場景 最近遇到一個業務場景&#xff0c;部署在云端服務器的一個平臺&#xff0c;接口提供給多個現場調用&#xff0c;其中一個現場是通過nginx代理服務器代理轉發到云服務器&#xff0c;另外一個現場則是直接通過云服務器接口進行調…

前端知識速記:POST和GET

前端知識速記&#xff1a;POST和GET請求的區別 一、GET請求概述 GET請求是一種用于獲取服務器資源的請求方式。**使用GET請求時&#xff0c;數據通過URL傳遞&#xff0c;適合用于獲取數據而不修改資源。**以下是GET請求的一些基本特征&#xff1a; 數據附在URL后面&#xff…

axios如何利用promise無痛刷新token

目錄 需求 需求解析 實現思路 方法一&#xff1a; 方法二&#xff1a; 兩種方法對比 實現 封裝axios基本骨架 instance.interceptors.response.use攔截實現 問題和優化 如何防止多次刷新token 同時發起兩個或以上的請求時&#xff0c;其他接口如何重試 最后完整代…

【DeepSeek系列】01 DeepSeek-V1 快速入門

1、DeepSeek簡介 2024年底&#xff0c;DeepSeek 相繼推出了其第一代推理大模型&#xff1a;DeepSeek-R1-Zero 和 DeepSeek-R1。 DeepSeek-R1-Zero 是一個通過大規模強化學習&#xff08;RL&#xff09;訓練的模型&#xff0c;訓練過程中沒有使用監督微調&#xff08;SFT&…

基于LabVIEW的Modbus-RTU設備通信失敗問題分析與解決

在使用 LabVIEW 通過 Modbus-RTU 協議與工業設備進行通信時&#xff0c;可能遇到無法正常發送或接收指令的問題。常見原因包括協議參數配置錯誤、硬件連接問題、數據幀格式不正確等。本文以某 RGBW 控制器調光失敗為例&#xff0c;提出了一種通用的排查思路&#xff0c;幫助開發…

【初/高中生講機器學習】0. 本專欄 “食用” 指南——寫在一周年之際?

創建時間&#xff1a;2025-01-27 首發時間&#xff1a;2025-01-29 最后編輯時間&#xff1a;2025-01-29 作者&#xff1a;Geeker_LStar 你好呀~這里是 Geeker_LStar 的人工智能學習專欄&#xff0c;很高興遇見你~ 我是 Geeker_LStar&#xff0c;一名高一學生&#xff0c;熱愛計…

密云生活的初體驗

【】在《歲末隨筆之碎碎念》里&#xff0c;我通告了自己搬新家的事情。乙巳年開始&#xff0c;我慢慢與大家分享自己買房裝修以及在新家的居住體驗等情況。 跳過買房裝修的內容&#xff0c;今天先說說這三個月的生活體驗。 【白河】 潮白河是海河水系五大河之一&#xff0c;貫穿…

系統通解:超多視角理解

在科學研究和工程應用中&#xff0c;我們常常面臨各種復雜系統&#xff0c;需要精確描述其行為和變化規律。從物理世界的運動現象&#xff0c;到化學反應的進程&#xff0c;再到材料在受力時的響應&#xff0c;這些系統的行為往往由一系列數學方程來刻畫。通解&#xff0c;正是…

Python爬蟲:1藥城店鋪爬蟲(完整代碼)

??????????歡迎來到我的博客?????????? &#x1f434;作者&#xff1a;秋無之地 &#x1f434;簡介&#xff1a;CSDN爬蟲、后端、大數據領域創作者。目前從事python爬蟲、后端和大數據等相關工作&#xff0c;主要擅長領域有&#xff1a;爬蟲、后端、大數據…

openwebui入門

1 簡介 ?Open WebUI?&#xff08;網址是openwebui.com&#xff09;是一個高度可擴展、功能強大且用戶友好的自托管Web用戶界面&#xff0c;專為完全離線操作設計&#xff0c;編程語言是python。它支持對接Ollama和OpenAI兼容的API的大模型。? Open WebUI?在架構上是一種中…

Day36-【13003】短文,數組的行主序方式,矩陣的壓縮存儲,對稱、三角、稀疏矩陣和三元組線性表,廣義表求長度、深度、表頭、表尾等

文章目錄 本次課程內容第四章 數組、廣義表和串第一節 數組及廣義表數組的基本操作數組的順序存儲方式-借用矩陣行列式概念二維數組C語言對應的函數-通常行主序方式 矩陣的壓縮存儲對稱矩陣和三角矩陣壓縮存儲后&#xff0c;采用不同的映射函數稀疏矩陣-可以構成三元組線性表三…

Android原生開發入門

1. 資源地址 Android官方教程Android參考手冊 2. 必看基礎模塊 應用基礎知識View 綁定 &#xff1a;綁定相當于Qt中的ui文件生成界面代碼的機制&#xff0c;Qt中的ucc會自動將ui文件編譯成ui_xxxx.h文件&#xff0c;Android開發中也一樣。 Android中自動生成的代碼在&#x…

3-Not_only_base/2018網鼎杯

3-Not_only_base 打開code MCJIJSGKPZZYXZXRMUW3YZG3ZZG3HQHCUS 分析&#xff1a; 首先看題知道解密過程中肯定有base解密。 知識點1&#xff1a; Base64字符集&#xff1a; 包含大小寫字母&#xff08;A-Z、a-z&#xff09;、數字&#xff08;0-9&#xff09;以及兩個特殊字…

deepseek、qwen等多種模型本地化部署

想要在本地部署deepseek、qwen等模型其實很簡單,快跟著小編一起部署吧 1 環境搭建 1.1下載安裝環境 首先我們需要搭建一個環境ollama,下載地址如下 :Ollama 點擊Download 根據自己電腦的系統選擇對應版本下載即可 1.2 安裝環境(window為例) 可以直接點擊安裝包進行安…

02/06 軟件設計模式

目錄 一.創建型模式 抽象工廠 Abstract Factory 構建器 Builder 工廠方法 Factory Method 原型 Prototype 單例模式 Singleton 二.結構型模式 適配器模式 Adapter 橋接模式 Bridge 組合模式 Composite 裝飾者模式 Decorator 外觀模式 Facade 享元模式 Flyw…

Idea ? Maven 選項

Idea ? Maven 選項 1. 在 Idea 項?上右鍵2. 選中 Maven 選項 如果在創建 Spring/Spring Boot 項?時&#xff0c;Idea 右側沒有 Maven 選項&#xff0c;如下圖所示&#xff1a; 此時可以使?以下?式解決。 1. 在 Idea 項?上右鍵 2. 選中 Maven 選項 選中 Maven 之后&#…

企業百科和品牌百科創建技巧

很多人比較困惑&#xff0c;創建百科詞條需要注意哪些事情&#xff1f;為什么參考提交了權威新聞參考資料還是沒有通過&#xff0c;下面小馬識途營銷顧問就為大家解答疑惑&#xff1a; 1、品牌詞以及企業詞提交 1&#xff09;如果沒有詞條&#xff0c;我們可以通過平臺提供的急…

用Deepseek做EXCLE文件對比

背景是我想對比兩個PO系統里的一個消息映射&#xff0c;EDI接口的mapping有多復雜懂的都懂&#xff0c;它還不支持跨系統版本對比&#xff0c;所以我費半天勁裝NWDS&#xff0c;導出MM到excle&#xff0c;然后問題來了&#xff0c;我需要對比兩個excel文件里的內容&#xff0c;…

Agent開發注意事項

這里寫自定義目錄標題 llm應用開發什么是Agent?Agent1&#xff1a;工作流Agent2:自主AgentLLM如何擁有自主規劃能力&#xff1f; Tool 參考&#xff1a; llm應用開發 llm工程師需要具備以下能力&#xff1a; [] 軟件工程技能&#xff1a;將各個組件組裝在一起 [] 算法能力&am…