【1小时掌握速通深度学习面试8】生成模型-中

news2024/10/6 4:09:39

目录

28.DBN与DBM 有什么区别?

29.VAE如何控制生成图像的类别?

30.如何修改VAE的损失函数,使得隐藏层的编码是相互解耦的?

31.自回归方法如何应用在生成模型上?

32.原始 VAE存在哪些问题? 有哪些改进方式?

33.如何将VAE与GAN 进行结合?

34.简述IS和FID的原理

35.有哪些问题是属于图像到图像翻译的范畴的? GAN 是如何应用在其中的?


28.DBN与DBM 有什么区别?

DBN是hiton在06年发表在science上的“Reducing the dimensionality of data with neural networks.”这篇文章中提到的方法,具体的细节不做过多阐述, 因为确实很简介,就是简单的叠加RBM,逐层训练后来个最后的fine turn 。方便快捷,而且效果也不错,现在经常用来做一些DNN和CNN的预训练,值得注意的是,hinton在imagenet上的比赛虽然是用的CNN模型,但是就是利用的DBN做的预训练。

重点说下DBM,这是我比较喜欢的一个DL模型。为什么喜欢,因为DBM才是真正的深度RBM模型!

玻尔兹曼机(BM)是一种基于能量的网络(Energy Based Network, EBN)。统计力学中,带有电荷的粒子具有能量,由于电荷间作用力,粒子间会保持一定距离,尽量使得系统整体能量最低。物理学中,能量低意味着稳定。从机器学习的角度,我们只需知道EBN有保持能量最低的趋势即可,玻尔兹曼机也不例外。玻尔兹曼机接受输入,然后尝试识别所有影响这些输入的特征或与这些特征相关的特征。BM通过试图将系统的能量降至最低,来解决上述问题,这是一个生成特征(Generate Features)的无监督学习过程。我们也许可以理解其中一部分生成的特征,但其他的特征仍是个谜。今天深度学习的本质是特征学习,从这一点看,BM过于领先时代了。玻尔兹曼机有个特点--没有输出层!没有输出层的神经网络。意味这什么???

玻尔兹曼机器是没有方向的神经网络!!!

这意味着与ANN,CNN,RNN等你看到过的大部分神经网络不同,BM中信息不会按一定方向流过网络。数据(和能量)在网络中移动,以它喜欢的方式(能量最低)创建代表不同特征的隐藏节点。一旦给BM提供了输入数据,这些数据就会立即被吸收到系统中并成为其中的一部分。 初始化算法后,所有数据和特征被平等对待。我们可以想象BM有多强大,但是因为过于复杂,BM需要非常大的算力支持,而无法Scale。

于是Hinton等人在80年代,提出了受限的玻尔兹曼机(Restricted Boltzmann Machine,RBM),这是一种简化版的BM,禁止同一层的神经相互连接,变的非常简单,大大降低了网络的复杂度。实践证明RBM非常好用,因为它很简单,也经常被作为一个基础的构件应用与其他更为复杂的网络,比如DBN和DBM。

多个RBM堆叠起来,就得到了深度玻尔兹曼机(Deep Boltzmann Machine,DBM)

深度信念网络(Deep Belief Net,DBN)DBM与DBN很类似,都由RBM堆叠而成,但两者存在着本质的差别:整体来看,DBN是有向图(除了最上层的RBM是无向图),DBN巧妙结合了有向图和无向图的生成模型;DBM每相邻的两层都是RBM,是完全的无向图。

DBN由逐层贪心训练得到的RBM叠加起来得到,因为DBN是有向的,所以前层的分布并不依赖于后层,这是由于逐层训练的结果。DBN被用来对深度模型进行预训练,然后再通过反向传播来进行微调(当时算力不够,现在算力强大就一锅炖了),详见Hinton 的论文A fast learning algorithm for deep belief nets(2006)。2012年,他和Alex在ImageNet比赛的冠军算法虽然使用的是CNN,但利用DBN进行了预训练,发明了AlexNet,才引起的工业界的注意,并大力投入,才有了后来深度学习的繁荣。

DBM虽然没有被广泛应用,如果没有记错,在Netflix百万美元大奖冠军模型在推荐系统中应用了DBM,才有了后来的协同过滤,才有了Kaggle,世界上最著名的机器学习比赛平台,后被Google纳入旗下。

RBM,作为一个概率神经网络,当然也可以理解成一个无向图模型,有一点我觉得很重要,那就是连接的无向性,也正是这个性质,才让模型符合了统计力学的各种理论,建立起美妙却虐人的RBM。但是DBN,无疑是一个向计算妥协了的折衷模型。

29.VAE如何控制生成图像的类别?

30.如何修改VAE的损失函数,使得隐藏层的编码是相互解耦的?

Disentangle 的意思是解纠缠,所谓解纠缠,也叫做解耦,就是将原始数据空间中纠缠着的数据变化,变换到一个好的表征空间中,在这个空间中,不同要素的变化是可以彼此分离的。

比如,人脸数据集经过编码器,在潜变量空间Z中,我们就会获得人脸是否微笑、头发颜色、方位角等信息的分离表示,我们把这些分离表示称为Factors。 解纠缠的变量通常包含可解释的语义信息,并且能够反映数据变化中的分离的因子。在生成模型中,我们就可以根据这些分布进行特定的操作,比如改变人脸宽度、添加眼镜等操作。VAE 要做的就是要找到这些隐式的解纠缠变量

31.自回归方法如何应用在生成模型上?

自回归模型(Autoregressive models)

深度神经网络生成算法主要分为三类:

  •     生成对抗网络(Generative Adversarial Network, GAN)
  •     可变自动编码器(Variational Autoencoder, VAE)
  •     自回归模型(Autoregressive models)

32.原始 VAE存在哪些问题? 有哪些改进方式?

VAE 中隐藏层服从高斯分布,AE 中的隐藏层无分布要求训练时,AE 训练得到 Encoder 和 Decoder 模型,而 VAE 除了得到这两个模型,还获得了隐藏层的分布模型(即高斯分布的均值与方差)AE 只能重构输入数据X,而 VAE 可以生成含有输入数据某些特征与参数的新数据。

VAE 与 AE 完全不同,但是从结构上看都含有 Decoder 和 Encoder 过程。VAE 模型比较擅长于生成复杂数据,并且已经被实现并且被应用。我们认为 VAE 模型能够通过隐变量来捕获输入数据中一些隐藏的特征,并且我们利用这些特征生成与输入数据相关但是又不相同的数据,AE 模型只是编码解码,完全不能实现这个功能。

33.如何将VAE与GAN 进行结合?

 VAE视角 : 判别器具有 GAN 的性质, 生成图像更真实, 弥补 VAE 生成图像模糊的缺点。

GAN视角: 需要额外计算 VAE 的重构 loss, 提升了模型的稳定性。

34.简述IS和FID的原理

如何评价GAN网络生成图像的好坏?有两个简单常用的衡量方法,一个是Inception Score(IS),另一个是Frechet Inception Distance(FID)

Inception Score(IS)

评价一个生成模型的好坏,需要从两方面考量:

    生成的图像是否清晰,清晰度高的表示生成图像的质量高;

    生成的图像是否具有多样性,即每个类别生成图像的数目尽可能相等。

35.有哪些问题是属于图像到图像翻译的范畴的? GAN 是如何应用在其中的?

有监督很好理解就是我们训练时采用的训练集是成对图片,Pix2Pix 模型以 GAN 为基础采用端到端架构,其中生成器架构中引入跳连接以便能保留图像潜层结构,其输入是原域图像 x,输出是翻译后的目标域图像 G(x),原域图像和真/伪目标域图像分别结合后作为鉴别器的输入,鉴别器输出分类结果并和生成器产生对抗。

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

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

相关文章

Rust Postgres实例

Rust Postgres介绍 Rust Postgres是一个纯Rust实现的PostgreSQL客户端库,无需依赖任何外部二进制文件2。这意味着它可以轻松集成到你的Rust项目中,提供对PostgreSQL的支持。 特点 高性能:Rust Postgres提供了高性能的数据库交互功能&#…

C++使用单链表实现一元多项式的加,乘操作

相邀再次喝酒 待 葡萄成熟透 但是命运入面 每个邂逅 一起走到了 某个路口 是敌与是友 各自也没有自由 位置变了 各有队友 首先,按照惯例,十分欢迎大家边听歌边观看本博客!! 最佳损友 - 陈奕迅 - 单曲 - 网易云音乐 (163.com) 一…

ABAP 第二代增强-采购申请子屏幕增强

文章目录 第二代增强-采购申请子屏幕增强需求实现过程创建项目运行效果客户屏幕的PBO全局变量获取数据更新数据运行效果查询底表修改数据 第二代增强-采购申请子屏幕增强 需求 实现过程 创建项目 运行效果 客户屏幕的PBO 全局变量 *&------------------------------------…

python_5

# 制作一个注册登录模块 # 注册:将用户填入的账户和密码保存到一个文件(users.bin) # 登陆:将用户填入账户密码和users.bin中保存的账户密码进行比对,如果账户和密码完全相同 那么登录成功,否则登录失败 import hashlib import json import o…

Petalinux的使用——定制Linux系统

文章目录 配置petalinux运行环境petalinux设计流程 配置petalinux运行环境 Petalinux的安装在文章Ubuntu镜像源的更改及其Petalinux的安装中已经介绍,下面介绍petalinux运行环境的配置过程。 进入到petalinux的安装路径下,使用下面的命令对petalinux的运…

第十三章 计算机网络

这里写目录标题 1.网络设备2.协议簇2.1电子邮件(传输层)2.2地址解析(网际层)2.3DHCP(动态主动配置协议)2.4URL(统一资源定位器)2.5IP地址和子网掩码 1.网络设备 物理层:中继器,集线器(多路中继器) 数据链路层:网桥,交换机(多端口…

【微磁学3D绘图工具探索】Excalibur

文章目录 概要调查报告技术名词解释主要特点 技术和算法实现他能够画出怎样酷炫的图 小结 概要 微磁学中的磁学结构同时包括二维和三维,想要绘制得好看,结果清晰,那么就需要一些自己写的绘图代码之外的额外渲染功能,尤其是对于三…

JS hook cookie

JS hook cookie cookie 的值是V,v是动态变化的 可以看到D中生成了cookie的值n 尝试使用RPC定位到cookie。 替换内容,下断点。 将写好的RPC代码直接插入 加入代码,file.virjar.com/sekiro_web_client.js?_123 这个地址是在前端创建客户端…

python使用mongo操作

目前有个需求,就是把所有sql转为mongo管道查询 知识点 在 MongoDB 中,allowDiskUse 选项应该作为聚合命令的一个选项,而不是聚合管道的一个阶段。allowDiskUse 选项用于允许聚合操作使用磁盘空间来临时存储数据(当聚合操作的数据…

Amazon Bedrock的进化:更多选择与新特性,助力生成式AI应用更快落地

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

YoloV9改进策略:Block改进|改进HCF-Net的PPA模块|附结构图|(独家改进,全网首发)

摘要 HCF-Net是一种用于红外小物体检测的深度学习网络。它主要包括三个模块:并行化斑块感知注意力(PPA)模块、维度感知选择性整合(DASI)模块和多稀释通道细化器(MDCR)模块。 PPA模块采用多分支特征提取策略,用于捕捉不同尺度和层次的特征信息。DASI模块可实现自适应信…

安卓使用Fiddler抓包 2024

简介 最近试了一下安卓使用fiddler 抓包,发现https包基本都会丢失。原因是Anandroid 7版本针对ssl安全性做了加强,不认可用户的证书。我们要做的就是把fiddler导出的证书进过处理后放置到系统证书目录下面,这样才能抓包https请求。 这里使用…

323_C++_QT_QProcess执行cmd解压、压缩、删除tar.gz等等其他压缩包文件到指定目录,不需要外部库,QT自带API的就行

// decompressPath : 解压到此目录 // fileName : 解压的tar.gz文件名executeCommand(decompressPath , QString::fromStdString(fileName));// 开始解压 void executeCommand

k8s ReplicaSet

ReplicaSet 是替代 ReplicationController 的,ReplicaSet 的行为与 ReplicationController 完全相同, 但pod 选择器的表达能力更强。 ReplicaSet 和 ReplicationController 的区别: ReplicationController 的标签选择器只允许包含某个标签的…

【Leetcode 42】 接雨水-单调栈解法

基础思路: 维持栈单调递减,一旦出现元素大于栈顶元素,就可以计算雨水量,同时填坑(弹出栈顶元素) 需要注意: 单调栈通常保存的是下标,用于计算距离 public static int trap2(int[…

YOLO系列笔记(十二)——csv文件转成text文件

csv文件转成text文件 前言方法概述实现代码说明结果 结论 前言 在上一篇文章中,我们探讨了如何将CSV格式的数据集转换为XML格式。然而,某些神经网络进行数据处理时,可能需要将数据直接以纯文本格式(TXT)提供。这种需求…

流畅的python-学习笔记_设计模式+装饰器+闭包

策略模式 类继承abc.ABC即实现抽象类,方法可用abc.abstractmethod装饰,表明为抽象方法 装饰器基础 装饰器实际是语法糖,被装饰的函数实际是装饰器内部返回函数的引用 缺点:装饰器函数覆盖了被装饰函数的__name__和__doc__属性…

Chatbot 在教育中的应用

Chatbot 在教育中的应用 基本信息 ​ 这篇博客主要介绍几篇Chatbot在教育领域中应用的文章,根据文章的侧重点不同,分为介绍教育理论,与介绍系统设计两类。从问题定义、技术方法、教育学理论、实验设计、结论证据几个方面概括各篇文章。 博…

html实现网页插入音频

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要介绍html中 如何插入音乐和视频 视频插入 标签:<video></video> 兼容格式:mp4,因为别的浏览器都有不兼容的格式&#xff0c;唯一对mp4全都兼容。所以尽量使用mp4格式。 属性: 属性属性值…

基于PSO优化的PV光伏发电系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于PSO优化的PV光伏发电系统simulink建模与仿真。其中PSO采用matlab编程实现&#xff0c;通过simulink的函数嵌入模块&#xff0c;将matlab调用进simulink中。 2.系统仿真结…