深度学习读书笔记之AE(自动编码)
2013-11-24 14:12
225 查看
深度学习读书笔记之AE
声明:1)该博文是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。
2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,而且大部分内容都是直接抄NG的源博客的,如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止。
3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。
4)阅读本文需要机器学习、统计学、神经网络等等基础(如果没有也没关系了,没有就看看,当做跟同学们吹牛的本钱)。
5)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。请直接回帖,本人来想办法处理。
6)本人手上有word版的和pdf版的,不知道怎么上传,所以需要的话可以直接到DeepLearning高质量交流群里要,群号由于未取得群主同意不敢公布,需要的同学可以联系群主@tornadomeet
一.稀疏自编码器
1.1一般AE使用方法
下图是一个自编码神经网络的示例。上面是一个三层的自编码神经网络,分别有L1,L2,L3这三层。
网络经过学习以后,得到的结果是两个矩阵和两个偏移量,
和偏移量b1、
和b2。
给定输入x=(x1,x2,x3,x4,x5,x6),根据已知的激活函数f1,f2,这两个矩阵和偏移量有如下的性质:
令
,从而得到y=(y1,y2,y3),其中f1是sigmoid函数,形式
再令
,从而得到z=(z1,z2,z3,z4,z5,z6)其中f2是自等函数,形式f(z)=z.如果输入数据在0和1之间,也可以用f1是sigmoid函数。
一个训练得很好的自编码神经网络满足x=z。
1.2自编码AE的意义
只对图像进行解释。假如是一个L1层10000个节点,L2层100个节点,L3层10000个节点的AE网络,同时所有激活函数选用sigmoid函数,那么
,
用大量的图片训练得到
,
;对于
的每一行,把
的权重用公式
,得到的x=(x1,x2,⋯,x10000),组合成一幅100*100的子图,就能得到100幅子图,都是一些边缘,如下面的这些
可以看到,不同的隐藏单元学会了在图像的不同位置和方向进行边缘检测。显而易见,这些特征对物体识别等计算机视觉任务是十分有用的。若将其用于其他输入域(如音频),该算法也可学到对这些输入域有用的表示或特征。
如果输入数据中隐含着一些特定的结构,比如某些输入特征是彼此相关的,那么这一算法就可以发现输入数据中的这些相关性。事实上,这一简单的自编码神经网络通常可以学习出一个跟主元分析(PCA)结果非常相似的输入数据的低维表示。
1.3稀疏自编码AE的优化目标和解法
1.3.1损失函数
假设有一组s1个特征的样本样本X={x1,x2,⋯,xm},经过自编码网络在L2层和L3层分别成为Y={y1,y2,⋯,ym},Z={z1,z2,⋯,zm},其中L1层,L2层,L3层分别有节点s1,s2,s3个,则损失函数可以表示成下面的形式其中
β是一个超参数,控制稀疏性惩罚因子的权重,ρ也是超参数,叫做稀疏性参数。而KL的定义如下
而且
是L2层的第j个节点的平均激活度,定义如下
其中
表示L2层的第j个节点在输入为xi的时候的值.
1.3.2求解
求解步骤如下:(1) 对于每个训练样本x进行迭代:
a)先计算L3层的每一个节点i的误差
得到的结果是L3层的残差。
再计算L2层的每一个节点i的误差
得到的结果是L2层的每个节点i的残差
b)然后计算
和
的梯度,利用上面的残差
和
和
的梯度,利用上面的残差
c)误差进行累计,l=1,2
(2)更新
和
的权重
致谢
感谢NG的博客,无私奉献了这么多资料
感谢邓侃率领的一群人翻译了NG的博客的所有内容,让我等小白能看懂。
Deep Learning高质量交流群里的多位同学:@厦大_图像_风淳 ,@罗杰 ,@Wilbur
参考文献
[1]http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B NG的博客,邓侃翻译版相关文章推荐
- 深度学习读书笔记之AE(自动编码AutoEncoder)
- 深度学习读书笔记之AE(自动编码)
- 深度学习模型---自动编码
- 记录:简介 深度学习在自动驾驶中的应用
- 深度学习(三十四)对抗自编码网络-未完待续
- 39.Oracle深度学习笔记——自动创建ASM UDEV设备脚本
- 深度学习【9】CNN+RNN自动图像描述
- George Hotz 自动驾驶 深度学习
- 重磅译制 | 更新:MIT 6.S094自动驾驶课程第1讲(3)深度学习模型应用
- iOS学习笔记02——以编码的方式实现Auto Layout自动布局(一)
- UFLDL深度学习笔记 (一)反向传播与稀疏自编码
- 【089】深度学习读书笔记:P29证明迹Tr(AB)=Tr(BA)
- 使用深度学习自动生成某一风格的图片
- 【093】深度学习读书笔记:P29证明矩阵特征值的和等于矩阵的迹
- 深度学习入门教程UFLDL学习实验笔记二:使用向量化对MNIST数据集做稀疏自编码
- 【084】深度学习读书笔记:P26正交矩阵
- 机器码农:深度学习自动编程
- 厉害了!IBM发表DLPaper2Code: 从深度学习论文中自动生成Keras或Caffe代码 | AAAI2018论文
- 机器码农:深度学习自动编程
- 【Python开发】【神经网络与深度学习】网络爬虫之图片自动下载器