29 深度玻尔兹曼机

news2025/1/20 10:56:23

文章目录

  • 29 深度玻尔兹曼机
    • 29.1 背景介绍
    • 29.2 DBM的叠加方式

29 深度玻尔兹曼机

29.1 背景介绍

过去在解决BM问题的时候,提出过多种模型:RBM、SBN、DBN

  • 其中RBM是一种有限制条件的,简化的BM,限制了隐藏层和观测层内部都没有连接。实质上是一种特殊的BM。
  • SBN实际上就是一种多层的有向图结构,是为了方便我们通过sigmoid函数采样构造出来的。
  • DBN本质上是想通过叠加RBM实现多层结构,但是由于条件限制,使得DBN的实际结构为RBM+SBN,所以DBN实际上并非一个BM

而现在的DBM则是实际的多层RBM结构,也是一种特殊的BM。

29.2 DBM的叠加方式

DBM实际上就是直接conbine多层RBM,如我们有三层结构: v , h ( 1 ) , h ( 2 ) v, h(1), h(2) v,h(1),h(2),我们将 v , h ( 1 ) v, h(1) v,h(1)划为一个RBM,将 h ( 1 ) , h ( 2 ) h(1), h(2) h(1),h(2)划为一个RBM,则我们可以得到公式:
{ P ( V ) = ∑ h ( 1 ) P ( v , h ( 1 ) ) = ∑ h ( 1 ) P ( h ( 1 ) ; w ( 1 ) ) ‾ ⋅ P ( v ∣ h ( 1 ) ; w ( 1 ) ) P ( h ( 1 ) ; w ( 2 ) ) ‾ = ∑ h ( 2 ) P ( h ( 1 ) , h ( 2 ) ; w ( 2 ) ) \begin{cases} P(V) = \sum_{h^{(1)}} P(v, h^{(1)}) = \sum_{h^{(1)}} \underline{P(h^{(1)}; w^{(1)})} \cdot P(v| h^{(1)}; w^{(1)}) \\ \underline{P(h^{(1)}; w^{(2)})} = \sum_{h^{(2)}} P(h^{(1)}, h^{(2)}; w^{(2)}) \end{cases} {P(V)=h(1)P(v,h(1))=h(1)P(h(1);w(1))P(vh(1);w(1))P(h(1);w(2))=h(2)P(h(1),h(2);w(2))
我们的DBM实际上就是想要通过 P ( h ( 1 ) ; w ( 2 ) ) P(h^{(1)}; w^{(2)}) P(h(1);w(2))(以 w ( 2 ) w^{(2)} w(2)为参数的 P ( h ( 1 ) ) P(h^{(1)}) P(h(1)))替换 P ( h ( 1 ) ; w ( 1 ) ) P(h^{(1)}; w^{(1)}) P(h(1);w(1))

不过这样我们简单想想也知道容易出问题,他可能会产生double counting problem,因为在这样直接替换的过程中也是在不断的重复利用样本数据,所以会导致目标分布尖锐。

具体的参数学习我们是将 w ( 1 ) , w ( 2 ) w^{(1)}, w^{(2)} w(1),w(2)分别取一半(类似求平均数),得出来的结果图为:

image-20230815234249403 image-20230815234249403

我们在这将参数设置为两倍,是为了使目标图形的参数为单倍。然后我们发现首尾的RBM不一样,这两个变形的RBM是因为第一层和最后一层只有一个输入(如 h ( 1 ) h^{(1)} h(1) v v v h ( 2 ) h^{(2)} h(2),但 v v v只有 h ( 1 ) h^{(1)} h(1)),所以和其他不一样。

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

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

相关文章

GEE学习05

修改输出绝对路径 和python里面一样,修改输出底图的路劲: Map3.save(r"C:\test\topo.html")1、浏览一下GEE帮助文档 https://developers.google.cn/earth-engine/guides 这个链接是国内外都可以正常访问的。 GEE指导主要是针对的JS&#xf…

Verdi_Annotate Macro功能

Verdi_Annotate Macro功能 介绍 When debugging designs that contain define macros, it is often helpfull to view a macro definition in the context of a macro reference. 在调试包含定义宏的设计时,在宏引用上下文中查看宏定义通常会很有帮助。 方法 Sh…

PDM/PLM系统建设

仅供学习使用,会随时更新 工程机械跨生命周期数据管理系统 来源:清华大学 浅论企业PDM/PLM系统建设成功经验 来源:e-works 作者:陈凡 https://articles.e-works.net.cn/pdm/article149572.htm 随着“中国制造2025”强基工程战略的…

髋关节 弹响

评估测试 https://www.bilibili.com/video/BV1A44y1j71Y/?spm_id_from333.880.my_history.page.click&vd_source3535bfaa5db8443d107998d15e88dc44 根据此视频整理所得 托马斯测试 第一种情况 如果你难于将膝关节拉到胸前,并感觉前面有骨性的挤压 说明你股…

六、Linux系统下,文件操作命令都有哪些?

总括: 创建文件/文件夹:touch; 查看:cat/more; 复制:copy; 移动文件/文件夹:mv; 删除:rm; 1、创建文件 (1)语法&#x…

VS2015项目中,MFC内存中调用DLL函数(VC6生成的示例DLL)

本例主要讲一下,用VC6如何生成DLL,用工具WinHex取得DLL全部内容,VC2015项目加载内存中的DLL函数,并调用函数的示例。 本例中的示例代码下载,点击可以下载 一、VC6.0生成示例DLL项目 1.新建项目,…

PAT 1079 Total Sales of Supply Chain

个人学习记录,代码难免不尽人意。 A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier…

sleep以及如何正确终止线程

Thread.sleep()为什么要抛出中断异常或者放入try-catch中? 因为:在 sleep 的同时也要对外界情况有感知能力,也就是能够响应中断。比如在调用 interrupt() 的时候,其实就是想尽快地结束线程,所以,继续的 sl…

结构体指针变量的使用

1、结构体指针的引用 #include<iostream> using namespace std;struct Student {int num;char name[32]; }; int main() {struct Student stu {1,"张三"};struct Student* p &stu;system("pause"); return 0; } 2、通过结构体指针访问结构体…

使用Scanner接收用户输入

扫描输入的两种方式 Scanner主要提供了两个方法来扫描输入&#xff1a; &#xff08;1&#xff09;hasNextXxx()&#xff1a;是否还有下一个输入项&#xff0c;Xxx可以是Int&#xff0c;Long等代表基本数据类型的字符串。 如果只是判断是否包含下一个字符串&#xff0c;则直…

Spring Boot(六十四):SpringBoot集成Gzip压缩数据

1 实现思路 2 实现 2.1 创建springboot项目 2.2 编写一个接口,功能很简单就是传入一个Json对象并返回 package com.example.demo.controller;import com.example.demo.entity.Advertising; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springf…

Vue3 Axios网络请求简单应用

cd 到项目 安装Axios&#xff1a;cnpm install --save axios post传递参数 需要安装querystring 用于转换参数格式&#xff1a;cnpm install --save querystring 运行示例&#xff1a; 后台接口&#xff1a; GetTestData.java package com.csdnts.api;import java.io.IOExce…

Logic 2逻辑分析器捉到的CAN帧

代码开发环境 逻辑分析仪环境 MCU芯片环境&#xff1a;RH850/U2A16 逻辑分析器(LA)抓到的CAN帧 <完>

ChatGPT与Web3.0:让聊天变得更加有趣和安全

随着数字经济时代的到来&#xff0c;Web3.0应用成为了数字世界的重要组成部分&#xff0c;同时人工智能技术也为Web3.0应用的发展提供了强大的支持。其中&#xff0c;ChatGPT作为一种强大的人工智能技术&#xff0c;在Web3.0应用中发挥着越来越重要的作用。本文将从普通用户的角…

1022.从根到叶的二进制之和

目录 一、题目 二、代码 一、题目 二、代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nu…

CTFHub php://input

1.首先看代码&#xff1a; 这里其实就应该想到的是php://伪协议&#xff1a; php://filter、php://input、php://filter用于读取源码 php://input用于执行php代码 2.其次&#xff0c;判断使用php://input伪协议 而执行php://input伪协议条件是allow_url_include是On 可以先利用…

SAP MM学习笔记24-以评估收货(评价)和非评估收货(非评价)

SAP 中 有评价入库&#xff08;评估收货&#xff09;和非评价入库&#xff08;非评估收货&#xff09;两种入库方式。 一般来说在库品目会采用评价入库&#xff0c;而消费品目&#xff0c;会采用非评价入库。 其实评价入库&#xff0c;非评价入库对外都无所谓的&#xff0c;人…

企业安全体系架构分析:开发安全架构之综合架构

上一期讲述了安全架构的安全性架构。实际上一个综合架构的设计不可能只考虑或者过分的考虑安全性&#xff0c;业务架构与安全架构的综合分析才是一个综合架构应该考虑的事情。那么如何做到鱼与熊掌兼得&#xff1f; 这里涉及一个问题&#xff0c;业务架构应该是什么样子的&…

Redis——Redis.conf详解+Redis持久化(RDB和AOF)+Redis订阅发布

配置文件 redis启动时通过配置文件启动 原生配置文件全文在网上随便搜索一下就能找到了。 单位 配置文件 unit单位 对大小写不敏感 包含 类比import&#xff0c;将其他的配置文件引入 网络 bind 127.0.0.1 // 绑定ip protected-mode yes //是否受保护 po…

4K/8K 超高清实时处理与分发

// 4K/8K超高清时代的来临对于原有系统带来很多新的挑战&#xff0c;存储、带宽、算力成本的大幅增长也是阻碍超高清推广普及的重要原因。LiveVideoStackCon 2023上海站邀请到了腾讯云音视频的刘兆瑞分享在4K/8K超高清视频在实时编码的过程中遇到的困难以及解决方案。 文/刘兆…