0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探究对深度学习模型VAE的时序性解耦

电子工程师 来源:DeepBlue深兰科技 作者:DeepBlue深兰科技 2021-06-04 11:10 次阅读

现代深度学习架构一直被描述为一个黑匣子:被输入数据,并期望从中得到一些结果。然而,由于此类架构存在许多的复杂性,过程中发生的事情,通常难以解释和分析。这已发展成为整个社会未能广泛接受深度学习的主要原因之一,尤其是对于关键任务应用程序。

因此,“黑匣子”的解体已成为机器学习研究人员的一个重大开放问题,并且是该领域当前感兴趣的问题之一,这一研究领域通常被称为机器学习架构的“可解释性”。在本文中,我们将讨论可解释性研究中的一个重要主题,即解耦问题。

Disentangled

Sequential VAE

光的解耦(Ddisentangled)

我们举个常见的例子:在日常生活中,太阳光看起来是白色的,但是如果我们让阳光通过三棱镜,就会发现阳光分别折射出多种色彩。这说明白光其实是多种颜色混合的体现,而我们可以通过三棱镜把它分解成基本七种颜色,其中包括红、绿、蓝三原色。

我们继续聊聊白光:在广泛意义上说光是由RGB三种颜色组成的。这也就定义了光的解耦过程:光可以分离成R、G、B三种颜色,同时我们也可以用这三种颜色,进行不同程度的叠加,产生丰富而广泛的颜色。

计算机定义颜色时R、G、 B三种成分的取值范围是0-255,0表示没有刺激量,255表示刺激量达最大值。R、G、B均为255时就合成了白光,R、G、B均为0时就形成了黑色。在这个区间范围内,我们可以通过任意的数值组合构造出无数种不同的颜色,让我们的生活充满色彩。

白光和解耦又有什么关系呢?那关系就大了!我们下面简单聊一下一种深度学习模型——变分自编码器模型(VAE:variational autoencoder),然后用它来解释解耦。

什么是VAE?

什么是VAE呢?那要先从AE开始说起了。

AE(Autoencoder)

87c81b48-c4e0-11eb-9e57-12bb97331649.png

上图由两个部分组成,第一个部分是编码器(Encoder),第二部分是解码器(Decoder),图片经过编码器得到一个潜在的编码(code),编码再通过解码器还原输入的图片,因此得到的编码就是图片在一个潜在空间的表示。而编码器和解码器就是由神经网络组成的。图中例子就是希望能够生成一张一样的图片。

VAE (Variational Autoencoder)

变分编码器是自动编码器的升级版本,其结构跟自动编码器相似,也由编码器和解码器构成。在AE中,输入一个图片得到一个的编码(code),但这个编码是一个固定的编码,使得模型没有很好的泛化功能。所以VAE引入了一种新的方式有效解决了上述的问题,就是将编码问题变成一个分布问题,具体操作是在AE的基础上增加一个限制,迫使编码器得到的编码(code)能够粗略地遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。

这样我们生成一张新图片就很简单了,我们只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成我们想要的图片,而不需要给它一张原始图片先进行编码。

87d5973c-c4e0-11eb-9e57-12bb97331649.png

VAE的演变增加了模型的泛化性,以上图VAE的过程为例,当输入的图片是猫时,通过猫的特征来生成新的图片,VAE的好处就在于当输入的图片不是完整的图片时(训练集外),它依旧可以还原成原来的样子。

在深度学习中,不管是什么样的模型,数据都很重要,而VAE的好处就在于 :

它可以通过编码和解码的过程,通过抽样,生成新的数据。这样对于机器学习就有了更多的数据支撑从而得到更好的模型效果。

VAE在中间层会得到一个编码(code),也就是一个语义层,我们可以通过对于这个语义的理解,从而达到图片的分类、变换的效果。

如果我们类比光的解耦(将光分离成R、G、B三种颜色),VAE(Variational Autoencoder)就可以理解成是深度学习框架的三棱镜。

这是为什么呢?我们先给一个浅显的技术介绍,然后再回来聊颜色分离。

VAE是一种深度学习框架,更具体来说,它是一种生成模型。生成模型的操作很简单:它可以读取数据(多为图片),抽取数据的特征,然后自动生成有这些特征的新数据。我们这里关心的是提取特征这个环节。大多生成模型的特征提取模式,便是经过所谓的“潜在变量”(latent variables)来编码提取到的特征。

这里的一个明显的问题便是:我们怎么判断正式数据里的某一个特征对应的是哪个语义变量?我们可以回到类比成颜色分离和生成的过程,将一种颜色先编码(encoder)成R,G,B,再通过解码(decoder)形成一种颜色。

Disentangled Sequential VAE

随着对VAE的研究,越来越多的研究重点就放在了如何在VAE的基础上做到disentangled的过程。以下简单介绍一下深兰科学院对于该项目的研究内容:对于时序的数据解耦出其数据的动态信息和静态信息,并理解静态信息和动态信息的语义,后续团队的目标也是基于当前的项目,进行这个主流方向的基础研究。

本项目采用的数据是Sprites,这是个具有时序性的数据。小精灵有着不同的颜色和动作,团队的任务就是通过这些小精灵的图片,解耦出小精灵的动态信息(小精灵的动作)和静态信息(小精灵的颜色)。通过深度学习来获得小精灵动静态信息的语义,并理解这语义从而生成新的小精灵。

如下图所示,通过深度学习得到小精灵的动态信息和静态信息,并改变他们的值的生成效果(上排是原始数据,下排是生成数据)。

1. 改变静态信息(颜色)

2.改变动态信息

对于VAE时序性解耦的工作可以更容易地说明神经网络的可解释性,这样的任务不仅可以对神经网络的基础研究作出贡献,还可以应用到很多人工智能的项目中,例如对图像视频的处理;动静的解耦可以实现换脸等效果;在自然语言处理中,可以改变声音的种类等。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1073

    浏览量

    40166
  • 数据
    +关注

    关注

    8

    文章

    6514

    浏览量

    87610
  • 计算机
    +关注

    关注

    19

    文章

    6652

    浏览量

    84573
  • Code
    +关注

    关注

    0

    文章

    65

    浏览量

    15277
  • 深度学习
    +关注

    关注

    73

    文章

    5239

    浏览量

    119925

原文标题:探究 | 对深度学习模型VAE的时序性解耦

文章出处:【微信号:kmdian,微信公众号:深兰科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA在深度学习应用中或将取代GPU

    现场可编程门阵列 (FPGA) 解决了 GPU 在运行深度学习模型时面临的许多问题 在过去的十年里,人工智能的再一次兴起使显卡行业受益匪浅。英伟达 (Nvidia) 和 AMD 等公司的股价也大幅
    发表于 03-21 15:19

    如何基于深度学习模型训练实现工件切割点位置预测

    Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现工件切割点位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上训练,生成一个工件切割分离点预测
    的头像 发表于 12-22 11:07 349次阅读
    如何基于<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b>训练实现工件切割点位置预测

    如何基于深度学习模型训练实现圆检测与圆心位置预测

    Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现圆检测与圆心位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上训练,生成一个自定义的圆检测与圆心定位预测
    的头像 发表于 12-21 10:50 692次阅读
    如何基于<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b>训练实现圆检测与圆心位置预测

    深度学习如何训练出好的模型

    算法工程、数据派THU深度学习在近年来得到了广泛的应用,从图像识别、语音识别到自然语言处理等领域都有了卓越的表现。但是,要训练出一个高效准确的深度学习
    的头像 发表于 12-07 12:38 663次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>如何训练出好的<b class='flag-5'>模型</b>

    深度学习的由来 深度学习的经典算法有哪些

    深度学习作为机器学习的一个分支,其学习方法可以分为监督学习和无监督学习。两种方法都具有其独特的
    发表于 10-09 10:23 365次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的由来 <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的经典算法有哪些

    深度学习模型部署与优化:策略与实践;L40S与A100、H100的对比分析

    深度学习、机器学习、生成式AI、深度神经网络、抽象学习、Seq2Seq、VAE、GAN、GPT、
    的头像 发表于 09-22 14:13 663次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b>部署与优化:策略与实践;L40S与A100、H100的对比分析

    深度学习的定义和特点 深度学习典型模型介绍

    深度学习(Deep Learning)是一种基于人工神经网络的机器学习算法,其主要特点是模型由多个隐层组成,可以自动地学习特征,并进行预测或
    发表于 08-21 18:22 1292次阅读

    深度学习服务器怎么做 深度学习服务器diy 深度学习服务器主板用什么

    。因此,深度学习服务器逐渐成为了人们进行深度学习实验的必要工具。本文将介绍深度学习服务器的DIY
    的头像 发表于 08-17 16:11 550次阅读

    深度学习框架和深度学习算法教程

    了基于神经网络的机器学习方法。 深度学习算法可以分为两大类:监督学习和无监督学习。监督学习的基本
    的头像 发表于 08-17 16:11 727次阅读

    深度学习框架连接技术

    深度学习框架连接技术 深度学习框架是一个能够帮助机器学习和人工智能开发人员轻松进行模型训练、优化
    的头像 发表于 08-17 16:11 484次阅读

    深度学习框架是什么?深度学习框架有哪些?

    模型的精度和性能。随着人工智能和机器学习的迅猛发展,深度学习框架已成为了研究和开发人员们必备的工具之一。 目前,市场上存在许多深度
    的头像 发表于 08-17 16:03 1787次阅读

    什么是深度学习算法?深度学习算法的应用

    什么是深度学习算法?深度学习算法的应用 深度学习算法被认为是人工智能的核心,它是一种模仿人类大脑
    的头像 发表于 08-17 16:03 1489次阅读

    深度学习基本概念

    科学领域一个非常热门的研究领域。 深度学习的基本概念和原理是什么?让我们一起来探究一下。 1. 神经网络 神经网络是深度学习的核心,是一种由
    的头像 发表于 08-17 16:02 1166次阅读

    基于深度学习方法进行时序预测的调优方案

    RNN(循环神经网络)是一种强大的深度学习模型,经常被用于时间序列预测。RNN通过在时间上展开神经网络,将历史信息传递到未来,从而能够处理时间序列数据中的时序依赖性和动态变化。
    发表于 06-16 16:15 1258次阅读
    基于<b class='flag-5'>深度</b><b class='flag-5'>学习</b>方法进行<b class='flag-5'>时序</b>预测的调优方案

    为什么深度学习是非参数的?

    今天我想要与大家分享的是深度神经网络的工作方式,以及深度神经与“传统”机器学习模型的不同之处。
    的头像 发表于 05-25 15:13 297次阅读
    为什么<b class='flag-5'>深度</b><b class='flag-5'>学习</b>是非参数的?