Diffusion Models/Score-based Generative Models背后的深度学习原理(5):伪似然和蒙特卡洛近似配分函数

news2024/11/16 22:37:37

Diffusion Models专栏文章汇总:入门与实战

前言:有不少订阅我专栏的读者问diffusion models很深奥读不懂,需要先看一些什么知识打下基础?虽然diffusion models是一个非常前沿的工作,但肯定不是凭空产生的,背后涉及到非常多深度学习的知识,我将从配分函数、基于能量模型、马尔科夫链蒙特卡洛采样、得分匹配、比率匹配、降噪得分匹配、桥式采样、深度玻尔兹曼机、对比散度、随机最大似然、伪似然等方面,总结一些经典的知识点,供读者参考。

 系列文章目录:

1、Diffusion Models/Score-based Generative Models背后的深度学习原理(1):配分函数

2、Diffusion Models/Score-based Generative Models背后的深度学习原理(2):基于能量模型和受限玻尔兹曼机

3、Diffusion Models/Score-based Generative Models背后的深度学习原理(3):蒙特卡洛采样法和重要采样法

4、Diffusion Models/Score-based Generative Models背后的深度学习原理(4):随机最大似然和对比散度

5、Diffusion Models/Score-based Generative Models背后的深度学习原理(5):伪似然和蒙特卡洛近似配分函数

6、Diffusion Models/Score-based Generative Models背后的深度学习原理(6):噪声对比估计

蒙特卡罗近似配分函数及其梯度需要直接处理配分函数。有些其他方法通过训 练不需要计算配分函数的模型来绕开这个问题。这些方法大多数都基于以下观察: 无向概率模型中很容易计算概率的比率。这是因为配分函数同时出现在比率的分子 和分母中,互相抵消:

伪似然正是基于条件概率可以采用这种基于比率的形式,因此可以在没有配分 函数的情况下进行计算。假设我们将 x 分为 a,b 和 c,其中 a 包含我们想要的条件分布的变量,b 包含我们想要条件化的变量,c 包含除此之外的变量:

以上计算需要边缘化 a,假设 a 和 c 包含的变量并不多,那么这将是非常高效的操 作。在极端情况下,a 可以是单个变量,c 可以为空,那么该计算仅需要估计与单 个随机变量值一样多的 \widetilde{p}

不幸的是,为了计算对数似然,我们需要边缘化很多变量。如果总共有 n 个变 量,那么我们必须边缘化 n  1 个变量。根据概率的链式法则,我们有:

在这种情况下,我们已经使 a 尽可能小,但是 c 可以大到 x2:n。如果我们简单地将 c 移 到 b 中以减少计算代价,那么会发生什么呢?这便产生了 伪似然(pseudolikelihood)(Besag, 1975)目标函数,给定所有其他特征 x_{-i},预测特征 x_{i}的值:

如果每个随机变量有 k 个不同的值,那么计算 \widetilde{p} 需要 k * n次估计,而计算配 分函数需要 k^n 次估计。

这看起来似乎是一个没有道理的策略,但可以证明最大化伪似然的估计是渐近 一致的 (Mase, 1995)。当然,在数据集不趋近于大采样极限的情况下,伪似然可能表 现出与最大似然估计不同的结果。

基于伪似然的方法的性能在很大程度上取决于模型是如何使用的。对于完全联 合分布 p(x) 模型的任务(例如密度估计和采样),伪似然通常效果不好。对于在训练期间只需要使用条件分布的任务而言,它的效果比最大似然更好,例如填充少量 的缺失值。如果数据具有规则结构,使得 S 索引集可以被设计为表现最重要的相关 性质,同时略去相关性可忽略的变量,那么广义伪似然策略将会非常有效。例如,在 自然图像中,空间中相隔很远的像素也具有弱相关性,因此广义伪似然可以应用于 每个 S 集是小的局部空间窗口的情况。

伪似然估计的一个弱点是它不能与仅在 ~p(x) 上提供下界的其他近似一起使用, 例如第十九章中介绍的变分推断。这是因为 ~p 出现在了分母中。分母的下界仅提供 了整个表达式的上界,然而最大化上界没有什么意义。这使得我们难以将伪似然方 法应用于诸如深度玻尔兹曼机的深度模型,因为变分方法是近似边缘化互相作用的 多层隐藏变量的主要方法之一。尽管如此,伪似然仍然可以用在深度学习中,它可 以用于单层模型,或使用不基于下界的近似推断方法的深度模型中。

伪似然比 SML 在每个梯度步骤中的计算代价要大得多,这是由于其对所有条 件进行显式计算。但是,如果每个样本只计算一个随机选择的条件,那么广义伪 似然和类似标准仍然可以很好地运行,从而使计算代价降低到和 SML 差不多的程 度 (Goodfellow et al., 2013d)。

虽然伪似然估计没有显式地最小化 log Z,但是我们仍然认为它具有类似负相的 效果。每个条件分布的分母会使得学习算法降低所有仅具有一个变量不同于训练样本的状态的概率。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FaceBook获取广告数据

1、访问 广告管理工具 确认自己登陆的账号下面能看到户。 ​ 2、使用 图谱Api探索工具 生成用户短期口令 ​ 3、get请求(或者浏览器直接打开)访问: https://graph.facebook.com/v19.0/me?fieldsid,name, email&access_token{上一步生成的口令} ​ 4、短期…

ChatGPT4.0 的优势、升级 4.0 为什么这么难以及如何进行升级?

前言 “ChatGPT4.0一个月多少人民币?” ”chatgpt4账号“ ”chatgpt4 价格“ “chatgpt4多少钱” 最近发现很多小伙伴很想知道关于ChatGPT4.0的事情,于是写了这篇帖子,帮大家分析一下。 一、ChatGPT4.0 的优势 (PS:…

Tiktok矩阵系统搭建的逻辑和源代码!

很多和我一样从事外贸工具开发的朋友都清楚,TikTok矩阵系统不仅确保了平台的高效运行,还为用户提供了个性化的内容推荐,从而大大提升了用户黏性,因此很多人都乐意去开发类似的工具,下面我们就来说说Tiktok矩阵系统搭建…

常用SQL查询方法与实例

目录 SELECT查询 INSERT查询 UPDATE查询 DELETE查询 JOIN查询 GROUP BY查询 HAVING查询 窗口函数 公共表表达式(CTEs) 递归查询 透视表 分析函数 解透视 条件聚合 日期函数 合并语句 情况语句 常用SQL查询方法有以下几种: S…

【Android】View 的滑动

View 的滑动是 Android 实现自定义控件的基础,同时在开发中我们也难免会遇到 View 的滑动处理。其实不管是哪种滑动方式,其基本思想都是类似的:当点击事件传到 View 时,系统记下触摸点的坐标,手指移动时系统记下移动后…

全志XR806 FreeRTOS快速开发入门

RTOS 快速开发入门 XR806 是一颗高集成度无线应用MCU,其集成了ARMv8-M 内核、IEEE 802.11b/g/n Wi-Fi 子系统、BLE 5.0子系统、电源管理系统、高级别的安全系统以及丰富的外设接口,具有优秀的射频性能、稳定性、可靠性和超低功耗。 芯之联软件开发平台…

IIS发布PHP网站字体404解决办法

最近在使用 IIS 发布 PHP 网站时,我遇到了一个前端问题,即字体库文件 404 错误。这个问题的根本原因是 IIS 未能正确识别字体文件类型,导致浏览器在加载页面时无法正确获取所需字体资源,进而触发了404错误。这样的问题会导致网站页…

量化投资实战(一)之K线图策略

点赞、关注再看,养成良好习惯 Life is short, U need Python 量化投资实战系列,不断更新中 1. K线图简介 K 线图(Candlestick Charts)又称为“蜡烛图”、“阴线图”等。股市及期货市场中的 K 线图的画法包含四个数据,…

ETH网络中的区块链

回顾BTC网络的区块链系统 什么是区块链?BTC网络是如何运行的?BTC交易模式 - UXTO ETH网络中的区块链 ETH网络的基石依旧是 区块链。上面 什么是区块链? 的文章依旧适用。 相比BTC网络,ETH网络的账户系统就相对复杂,所…

FPGA之带有进位逻辑的加法运算

module ADDER( input [5:0]A, input [5:0]B,output[6:0]Q ); assign Q AB; endmodule 综合结果如下图所示: 使用了6个Lut,,6个LUT分布…

【通信基础知识】完整通信系统的流程图及各模块功能详解

2024.2.29 抱歉最近在写毕设大论文,因此没有太多时间更新。然而,在写论文的过程中,发现自己对通信系统的了解还不够全明白,因此差了一些硕博论文总结了一个完整的通信系统流程图。若有不对的地方请多多指正//部分内容有参考ChatGP…

Python+neo4j构建豆瓣电影知识图谱

文章目录 数据来源数据整理导入节点和关系导入使用Subgraph批量导入节点和关系 多标签实体和实体去重 数据来源 http://www.openkg.cn/dataset/douban-movie-kg 该网址拥有丰富的中文知识图谱数据集,OpenKG(Open Knowledge Graph),可供研究人员使用研究…

2019年下半年教师资格证考试《高中信息技术》题

2.在如图1所示的图文混排Word文档中,文字环绕方式使用了( D)。 图1 A嵌入型 B上下环绕型 C衬于文字下方 D编辑环绕顶点 6.在Flash中绘制类似“雨”的形状,一般首先使用“椭圆工具”绘制出一个圆形(如图4中a图&…

Win11系统实现adb命令向安卓子系统安装APP

Win11系统实现通过adb命令向安卓子系统安装已下载好的apk包。 要实现以上目标,我们需要用到一个Android SDK 的组件Android SDK Platform-Tools !这个组件呢其实是被包含在 Android Studio中的,如果你对安卓开发有所了解对此应该不会陌生&…

利用DrissionPage库写一个简单的哔哩哔哩自动评论引流脚本

以前利用selenium写过哔哩哔哩简单的脚本,后来数据丢失,痛苦万分,今天看到这个库了解一下便写了这个脚本。 切记做好数据备份 文章目录 DrissionPage简介:代码部分 DrissionPage和selenium很像,但是更简单,…

展厅设计的理念是什么

1、立足当地文化 升华本地精神 ,因地制宜,深入挖掘本土文化特色,撷取其精华,灵活运用、巧妙融入,做到掌控宏观全局。 重点突出,努力打造本土拳头品牌,挖掘其内涵,拓展延伸、着重展示…

cannot import name ‘Iterator‘ from ‘torchtext.data‘

在运行Transformer工程的时候,执行如下语句时出现题目中的报错。 from torchtext.data import Iterator 这个问题解决起来比较曲折,记录下来以备后续查阅。 原来的环境安装的是最新的pytorch,2.x版本,而且该环境在另一个大型Tr…

36102系列微波测量探针

01 36102系列微波测量探针 产品综述: 微波测量探针产品36102系列,无缝隙覆盖DC~110GHz,触点防堆金处理,压痕轻,性能可靠,产品统一采用标准同轴安装接口,触点类型、触点尺寸可选,可…

python64-Python的循环之嵌套循环

如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环。嵌套循环既可以是for-in 循环嵌套while循环,也可以是while循环嵌套do while循环.即各种类型的循环都可以作为外层循环,各种类型的循环也都可以作为内层循环。 当程序遇到嵌套循环时,如果外层循环的循环条件允许…

PSO-CNN-LSTM多输入分类预测|粒子群算法优化的卷积-长短期神经网络分类预测(Matlab)——附代码+数据

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序数据分享下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台…