生成模型-编码器与预训练

模型包括了生成模型(无监督学习)、判别模型(有监督学习)。
下面介绍生成模型中的编码器:

1.自编码器

表征学习,可重构样本的特征。可用于CNN早期参数的初始化。是基于无监督学习的的神经网络。—预训练
在这里插入图片描述

编码和解码的两个W可以相同,即权值共享。误差是重构前后的特征的difference!误差反向传播,可用最小二乘法 和交叉熵函数
在这里插入图片描述

2.降噪自编码器

与自编码器的区别是降噪的输入向训练样本加入了随机噪声再给输入层;自编码器直接输入。
在这里插入图片描述
核心: 加入的随机噪声服从均值为0,方差为s2 的正态分布。通过训练是的重构的结果和不含噪声的样本的方差收敛在极小值。

3.稀疏自编码器

引入稀疏正则化,通过增加正则化(KL距离:平均激活度和目标值的差异),将大部分单元的输出变成0,可以利用少数单元完成压缩或重构。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200418171511642.png
在这里插入图片描述

平均激活度原本根据所有样本计算出来,先通过所有样本计算依次正向传播,得到平均,然后利用小批量梯度下降法,但是效率低。
可以改成只计算Mini-batch中的样本的平均激活度,让后在Mini-batch之间算加权平均得到近似值。

4.栈式自编码器

维度压缩时,只包含输入层和中间层,输入层和中间层多层堆叠,得到编码器。
在这里插入图片描述

与深度信念网络一样,都是逐层训练。深度信念网络是利用 CD算法逐层训练训练层两层之间的参数。
栈式自编码器是首先训练第一个自编码器,然后保留编码部分,再把中间层作为第二个自编码器的输入层,继续训练,依次循环。总结就是不断把中间层作为下一个的输入层,每次只保留编码部分,依次堆叠。

编码解码 可用于CNN早期参数的初始化。是基于无监督学习的的神经网络。

预训练

  1. 首先选取多层神经网络的输入层和第一个中间层组成一个自编码器,然后先进行正向传播,再进行反向传播,计算输入与重构结果的误差,调整参数使得误差收敛于极小值。

  2. 接下来基于训练输入层与第一个中间层的参数把正向传播的值作为输入,训练其与第二个中间层之间的参数。

  3. 然后调整参数,使得第一个中间层的值与第二个中间层反向传播的值的误差收敛于极小值。这样就完成第一个中间层的重构。(第一个中间层此时是另一个自编码器的“输入”)

  4. 依次对所有层进行预训练。得到网络的参数初始值。

                                        图来自于上课时老师的课件。
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值