[PyTorch][chapter 51][Auto-Encoder -1]

这篇具有很好参考价值的文章主要介绍了[PyTorch][chapter 51][Auto-Encoder -1]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录:

  1.    简介
  2.    损失函数
  3.    自动编码器的类型

一  AutoEncoder 简介:

      自动编码器是一种神经网络,用于无监督学习任务.(没有标签或标记数据),
例如降维,特征提取和数据压缩.
   主要任务:
          1: 输入数据
          2: 输入数据压缩为 低维空间(也可以高维空间,很少用)
          3: 低维空间 重构 输入数据

  主要组件:

        编码器(Encoder):
        编码器将输入数据压缩为称为潜在空间或低维空间表示形式。这种潜在空间通常称为嵌入(Embedding),旨在保留尽可能多的信息。

         如果我们将输入数据表示为x ,将编码器表示为 E,则输出低维空间s表示为s=E(x) 。

        解码器(Decoder)

       解码器通过接受低维空间表示s来重建原始输入数据。如果我们将解码器函数表示为D ,将检测器的输出表示为o ,那么我们可以将解码器表示为 o=D(s)

       如下图: 中间的code 为低维空间

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

降维后的数据我们可以通过TensorBoard Projector 查看其相关性

我们也可以通过https://projector.tensorflow.org/ 在线工具查看。


二   损失函数

  标签集用的是自身。

  根据其数据特征常用交叉熵或者均方差作为损失函数.

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习


三  自动编码器的类型

      3.1 普通自动编码器

       由编码器和解码器的一个或多个全连接层组成。

        它适用于简单数据,可能难以处理复杂模式。

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

3.2 卷积自动编码器(CAE:Convolutional Autoencoder)

           在编码器和解码器中利用卷积层,使其适用于处理图像数据。通过利用图像中的空间信息,CAE可以比普通自动编码器更有效地捕获复杂的模式和结构,并完成图像分割等任务。

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

3.3  降噪自动编码器(Denoising Autoencoder)

        De-noising Auto-encoder

           该自动编码器旨在消除损坏的输入数据中的噪声,如图6所示。在训练期间,输入数据通过添加噪声故意损坏,而目标仍然是原始的、未损坏的数据。自动编码器学习从噪声输入中重建干净的数据,使其可用于图像去噪和数据预处理任务。

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

 应用2:

  • De-noising Auto-encoder是 Auto-encoder的常见变型之一。给原来要输入进去的图片加入噪声后,试图还原原来的图片(加入噪声前的)
  • 设计DAE的初衷就是在自动编码器的基础之上,为了防止过拟合问题而对输入层的输入数据加入噪音,使学习得到的编码器具有鲁棒性,是Bengio在08年论文《Extracting and composing robust features with denoising autoencoders》提出的。
  • [PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

3.4 稀疏自动编码器(Sparse Autoencoder)

      Dropout 权重系数部分参数为0

      这种类型的自动编码器通过向损失函数添加稀疏性约束来强制潜在空间表示的稀疏性(如图 7 所示)。此约束鼓励自动编码器使用潜在空间中的少量活动神经元来表示输入数据,从而实现更高效、更稳健的特征提取

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

3.5 变分自动编码器(VAE:Variational Autoencoder)

         该模型在潜在空间中引入了概率层,允许对新数据进行采样和生成。VAE可以从学习到的潜在分布中生成新的样本,使其成为图像生成和风格迁移任务的理想选择。

         [PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

 3.6  序列间自动编码器(Sequence-to-Sequence Autoencoder)

       这种类型的自动编码器也称为循环自动编码器,在图 9 所示的编码器和解码器中利用循环神经网络 (RNN) 层(例如,长短期记忆 (LSTM) 或门控循环单元 (GRU))。此体系结构非常适合处理顺序数据(例如,时间序列或自然语言处理任务)。

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

3.7 Feature Disentanglement(特征分离)

     特征分离技术可以做到,在训练的同时,将vector中不同内容的特征分开(可以知道哪些维度代表哪些特征)。如下图所示,可以做到将content和speaker两种信息分离。

[PyTorch][chapter 51][Auto-Encoder -1],pytorch,深度学习,机器学习

  • Feature Disentangle一个比较常见的应用就是:Voice Conversion(音色转换)
  • 在过去,要想转换两个speaker的音色,他们必须将相同的话各自都读一遍,但这几乎不能实现(实现起来很困难);而现在,在Feature Disentangle的帮助下,两个speaker不需要读相同的内容,就能完成音色的转换。
  • 由于Feature Disentangle可以做到将content和speaker两种信息分离,所以就可以完成下面的例子,也就是Voice Conversion。用一个人的声音读出另一个人的话。

课时108 无监督学习_哔哩哔哩_bilibili

Auto-encoder (李宏毅笔记) - 知乎

自动编码器(AutoEncoder)简介 - 知乎文章来源地址https://www.toymoban.com/news/detail-674274.html

到了这里,关于[PyTorch][chapter 51][Auto-Encoder -1]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【人工智能概论】 自编码器(Auto-Encoder , AE)

    自编码器结构图 自编码器是自监督学习的一种,其可以理解为一个试图还原其原始输入的系统。 其主要由编码器(Encoder)和解码器(Decoder)组成,其工作流程是将输入的数据 x 经编码器压缩成 y , y 再由解码器转化成 x* ,其目的是让 x* 和 x 尽可能相近。 注意:尽管自编码

    2024年02月04日
    浏览(43)
  • [PyTorch][chapter 51][PyTorch GPU]

    二 查看具体使用情况

    2024年02月12日
    浏览(35)
  • [PyTorch][chapter 9][李宏毅深度学习][Why Deep]

    前言:        我们知道深度学习一个重要特征是网络堆叠,深。 为什么需要深度, 本篇主要简单介绍一下该原因 目录:    1: 简介    2: 模块化分析    3:  语音识别例子 一  简介           有人通过实验,使用相同的网络参数,深度越深的网络相当于浅层网络效果

    2024年01月25日
    浏览(41)
  • [pytorch] 3D Unet + Resnet替换Encoder

    本文介绍如何实现Unet的3D版本,以及如何用Resnet替换Unet原始版本的Encoder. 原版Unet的实现: U-Net(Convolutional Networks for Biomedical Image Segmentation) Resnet的实现: [pytorch] 2D + 3D ResNet代码实现, 改写 建议先对这两种网络结构有一定的了解,如果懒得去学习的话可以直接使用第三章节U-Net

    2024年02月15日
    浏览(35)
  • Transformer实现以及Pytorch源码解读(四)-Encoder层

    先放一张原论文中的图。从inputs到Poitional Encoding在前三部分中已经分析清楚,接下来往后分析。 Pytorch将图1中左半部分的神经网络层用一个TransformerEncdoer(encoder_layer,num_layers)类进行封装,该类的传参有两个:TransformerEncoderLayer(encoder_layer)和堆叠的层数(num_layers)。 接下来逐一

    2023年04月27日
    浏览(49)
  • [PyTorch][chapter 52][迁移学习]

    前言:      迁移学习(Transfer Learning)是一种机器学习方法,它通过将一个领域中的知识和经验迁移到另一个相关领域中,来加速和改进新领域的学习和解决问题的能力。       这里面主要结合前面ResNet18 例子,详细讲解一下迁移学习的流程 一  简介      迁移学习可以通

    2024年02月12日
    浏览(41)
  • [PyTorch][chapter 44][RNN]

    简介             循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network) [1]  。             对循环神经网络的研究始于二十世纪80-

    2024年02月15日
    浏览(37)
  • [PyTorch][chapter 47][LSTM -2]

    目录:    双向LSTM    torch.nn.embedding()实现词嵌入层    nn.LSTM    nn.LSTMCell     LSTM 情感分类例子 一  双向LSTM       1 原理                    正向输出的结果是        反向输出的结果是        nn.LSTM模块他在最后会将正向和反向的结果进行拼接concat.得到          

    2024年02月13日
    浏览(34)
  • [PyTorch][chapter 46][LSTM -1]

    前言:            长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的。 目录:      背景简介      LSTM Cell      LSTM 反向传播算法      为什么能解决梯度消失       LSTM 模

    2024年02月13日
    浏览(37)
  • [PyTorch][chapter 54][GAN- 1]

    前言:         GAN playground: Experiment with Generative Adversarial Networks in your browser          生成对抗网络(Generative Adversarial Nets,GAN)是一种基于对抗学习的深度生成模型,最早由Ian Goodfellow于2014年在《Generative Adversarial Nets》中提出. 生成对抗网络(Generative Adversarial Network)由一

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包