神经网络与深度学习期末复习(4)---自编码器

文章目录

  • 1. 相关概念
  • 2. 自编码器
  • 3. 稀疏自动编码器
  • 4. 栈式自编码器


1. 相关概念

 1. 稀疏性可以被简单地解释如下:如果当神经元的输出接近于 1 1 1 的时候我们认为它被激活,而输出接近于 0 0 0 的时候认为它被抑制,那么使得神经元大部分的时间都是被抑制的限制则被称作稀疏性限制。

 2. 稀疏编码算法是一种无监督学习方法,它用来寻找一组 “超完备” 基向量来更高效地表示样本数据。稀疏编码算法的目的就是找到一组基 ϕ ( i ) ϕ(i) ϕ(i),使得我们能将输入向量 X X X 表示为这些基向量的线性组合。
 其中 a i a_i ai 的值大部分都为 0 0 0,所以称为稀疏。每一个数据向量都由稀疏线性权值与基的组合形式来表达。

在这里插入图片描述

2. 自编码器

 1. 自编码器是一种无监督的神经网络模型,可以用于数据的降维、特征提取和数据重建等任务。它由编码器和解码器两部分组成,其中编码器将输入数据压缩成低维特征向量,解码器则将低维特征向量还原成原始数据。

 2. 自编码器的训练过程包括两个阶段:编码阶段和解码阶段。在编码阶段,自编码器将输入数据映射到低维特征空间中,以尽可能少的信息损失为目标。在解码阶段,自编码器将低维特征向量映射回原始数据空间中,以尽可能准确地重建原始数据为目标。在整个训练过程中,自编码器的目标是最小化输入数据和重建数据之间的差异,以学习到更加有效的特征表示。

在这里插入图片描述

 3. 自编码器具体过程简单的说明如下:给定无标签数据,用非监督学习学习特征。
 自动编码器就是一种尽可能复现输入信号的神经网络;自动编码器必须捕捉可以代表输入数据的最重要的因素。

在这里插入图片描述

3. 稀疏自动编码器

 1. 稀疏自动编码器通常用于学习诸如分类等任务,通过增加稀疏惩罚项学习数据的有用特征。
 例如:如果在自编码器的基础上加上 L 1 L1 L1 的规范化限制( L 1 L1 L1 主要是约束每一层中的节点中大部分都要为 0 0 0,只有少数不为 0 0 0,这就是稀疏名字的来源),我们就可以得到稀疏编码法。

 2. 如下图,其实就是限制每次得到的表达结点尽量稀疏。因为稀疏的表达往往比其他的表达要有效(人脑好像也是这样的,某个输入只是刺激某些神经元,其他的大部分的神经元是受到抑制的)。

在这里插入图片描述

 3. 可以使用神经元的输出作为神经元的激活度,即对于隐层的第 j j j 个神经元,其激活度为: a j ( 2 ) = f ( w j 1 ( 1 ) x 1 + w j 2 ( 1 ) x 2 + . . . + w j 6 ( 1 ) x 6 ) a_j^{(2)}=f(w_{j1}^{(1)}x_1+w_{j2}^{(1)}x_2+...+w_{j6}^{(1)}x_6) aj(2)=f(wj1(1)x1+wj2(1)x2+...+wj6(1)x6)

在这里插入图片描述

 则对于m个样本,其平均激活度为如下所示。假设令 ρ ^ j = ρ \hat{ρ}_j=ρ ρ^j=ρ ρ ρ ρ 是一个稀疏参数,一般取接近于 0 0 0 的值,比如 0.05 0.05 0.05。为了使模型比较稀疏,我们希望平均激活度能够尽可能接近稀疏性常数。

在这里插入图片描述

 4. 通常可以取相对熵来度量平均激活度与稀疏性参数之间的差异程度。对于下述的相对熵,当 ρ = ρ ^ j ρ=\hat{ρ}_j ρ=ρ^j 时达到最小值,最小值为 0 0 0,差距越大,相对熵的值越大。

在这里插入图片描述

 5. 对于稀疏自编码器,其损失函数即在神经网络损失函数的基础上加上稀疏性的约束即可,即:

在这里插入图片描述

4. 栈式自编码器

 1. 栈式自编码器是一个由多层稀疏自编码器组成的神经网络,其前一层自编码器的输出作为其后一层自编码器的输入。
 编码过程是按照从前向后的顺序执行每一层自编码器的编码,解码过程按照从后向前的顺序执行每一层自编码器的解码。采用逐层贪婪训练法进行训练,获取栈式自编码神经网络参数。

 2. 具体实例:训练一个包含两个隐含层的栈式自编码网络,用来进行MNIST手写数字分类。

在这里插入图片描述

在这里插入图片描述

 3. 深度自动编码器(DAE)的构建:(1) DAE 的预训练 :无监督的逐层贪婪训练。 (2) DAE 的微调:有监督权重微调。

 4. DAE 的预训练:
 (1) 以无监督的方式训练神经网络的第一层, 将其输出作为原始输入的最小化重构误差。
 (2) 每个隐含单元的输出作为下一层神经网络的输入,用无类标数据样本对下一层进行训练, 将误差控制在一定范围内。
 (3) 重复步骤 (2) , 直到完成规定数量隐含层的训练为止。
 (4) 将最后一个隐含层的输出作为有监督层的输入,并且初始化有监督层的参数。

 5. DAE 的微调:
 (1) 对权值、 偏置和阈值赋值, 对网络进行初始化。
 (2) 随机选取类标数据样本用 BP 算法对神经网络进行训练,计算各层的输出。
 (3) 求出各层的重构误差, 并根据误差修正权值和偏置。
 (4) 根据性能指数判定误差是否满足要求, 如果未能满足要求则重复步骤 (2) 和 (3),直到整个网络输出满足期望要求。

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《零基础入门深度学习(5) - 循环神经网络.pdf》是一本介绍深度学习中的循环神经网络的学习指南。循环神经网络是一种能够处理时间序列数据的机器学习模型,广泛应用于语言处理、自然语言生成、图像处理等领域。 该书以零基础入门为出发点,逐步介绍了深度学习和循环神经网络的基本概念和原理,并通过实例演示了如何使用Python和常见的深度学习框架来构建和训练循环神经网络模型。 书中首先介绍了循环神经网络的基本结构和原理,包括循环单元的作用和实现方式。然后详细介绍了常见的循环神经网络模型,如LSTM和GRU,并解释了它们在处理长序列数据时的优势。 接下来,书中提供了大量的代码实例,帮助读者了解如何使用Python和深度学习框架来构建循环神经网络模型。这些实例包括文本情感分析、机器翻译、股票预测等应用场景,涵盖了循环神经网络在不同领域中的应用。 此外,该书还提供了一些常用的训练技巧和调参方法,帮助读者提高模型的性能和稳定性。最后,书中还介绍了一些最新的研究进展和发展趋势,帮助读者了解循环神经网络领域的最新动态。 总之,该书通过简单易懂的语言、清晰的实例和详细的代码解释,帮助读者快速入门深度学习中的循环神经网络。无论是初学者还是有一定基础的读者,都能从中获得实用的知识和技能,为在深度学习领域取得进一步的研究和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冒冒菜菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值