AutoEncoder一些实验结果,并考虑
看之前Autoencoder什么时候,我做了一些练习这里:http://ufldl.stanford.edu/wiki/index.php/Exercise:Sparse_Autoencoder 。其实 从11月开始做。有没有经过调试,后来,加班太多,我没有那么做。抽出时间调了一天。最终顺利完毕了。又拖到这周末才開始把实验结果整理成文。看来,做事还得趁热打铁,一气呵成。时间一久。积极性就没了。
最初依照练习中的建议,先实现了一个主要的代价函数。没有增加权值惩处项和稀疏约束项。梯度检查都过了,跑出来的cost看起来也非常收敛。但是权值的可视化结果就是不正确,见图1 。为了验证代码的正确性。还利用AE代码实现了一个8维输入的BC编码器,结果也是非常理想;又怀疑训练样本採样策略不够随机。从网上找了个代码换了下。结果还是不行。
重复看了代码也没发现问题,想到加上权值惩处项和稀疏约束项,还是不正确。这下疯了。
后来又折腾好久,最终OK了,原来加上权值惩处项和稀疏约束项就能解决。仅仅只是之前,改动的文件,不是MATLAB真正执行的文件。。。
AE的原理就不说了,现成代码在网上也能够找到。把几个实验结果贴一下,供參考。图1a是没有加稀疏项的可视化权值,图 1b是没有加权值惩处项的结果。看起来都是无规律的。图1加了权值惩处项和稀疏约束项。得到了符合预期的权值结果。依据材料中的解释就是图像的边缘。对于简单的BC编码,这两个约束项似乎没有影响。但通常来说。权值惩处项是为了约束W的取值以防止过拟合。而稀疏项的存在则是为了更好的表示特征。
a b
c
图1
AE实验最初来至于对人类视觉的研究,所以取的训练图像都是一些自然风景图片。依照《Natural Image Statistics》这本书的说法,之所以选取自然图像,是由于这些自然图像促进了人类视觉的进化,也就说人类视觉是在适应自然图像的过程中得到进化的,对自然图像中的结构特征是敏感的。而像建筑。汽车这些包括现代物体的图像。则没有起到类似的作用。
尽管这么说没错,但人类毕竟还是能识别汽车这些物体的。于是我做了个实验验证了一下:拿包括汽车。地铁2号线,东方明珠的一些图像训练相同的AE,结果见图2。
图2
和拿风景图像做出来的结果并没有太大不同。尽管看起来稍有不同,但即使同一训练集中选出的不相同样本得到的结果也是不同的,所以能够觉得是一样的吧。可见图像内容的影响并没有那本书中说得那么玄乎(实践,才是检验真理的唯一标准啊)。尝试解释一下。尽管人类视觉是为了自然环境而进化的,但显然其适应能力仅仅受限于物理层面的因素,如光波强度。频率等。至于内容是一辆车,还是一头牛,其图像形成的低层物理特征并没有统计上的差别。因此对于视觉低层处理是一样的(也许对高层级的处理有影响)。再发散一下,对于全然人造的图像,如屏幕截图,网页页面截图等。是否应该具有不同于普通光影图像的特征?是否无法训练出像图1c那样的边缘来?我还没尝试,有兴趣的同志能够验证一下。
无聊又验证了一下样本数对于训练结果的影响。
图3a。图3b,图3c各自是100个样本,10 0000个样本和100 0000个样本训练的结果。看来。100个样本对于成功抽取特征显然是不够的。貌似图c比图b更清晰?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhd2VpbWVtYmVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="280" height="245" alt="">
a b
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhd2VpbWVtYmVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="280" height="245" alt="">
c
画画3
版权声明:本文博客原创文章,博客,未经同意,不得转载。
AutoEncoder一些实验结果,并考虑的更多相关文章
- Deep learning:四十二(Denoise Autoencoder简单理解)
前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Be ...
- 降噪自动编码器(Denoising Autoencoder)
起源:PCA.特征提取.... 随着一些奇怪的高维数据出现,比如图像.语音,传统的统计学-机器学习方法遇到了前所未有的挑战. 数据维度过高,数据单调,噪声分布广,传统方法的“数值游戏”很难奏效.数据挖 ...
- Autoencoder
AutoencoderFrom Wikipedia An autoencoder, autoassociator or Diabolo network[1]:19 is an artificial n ...
- UFLDL实验报告2:Sparse Autoencoder
Sparse Autoencoder稀疏自编码器实验报告 1.Sparse Autoencoder稀疏自编码器实验描述 自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值, ...
- 深度自编码器(Deep Autoencoder)MATLAB解读
深度自编码器(Deep Autoencoder)MATLAB解读 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 这篇文章主要讲解Hinton在2006 ...
- (转) 变分自编码器(Variational Autoencoder, VAE)通俗教程
变分自编码器(Variational Autoencoder, VAE)通俗教程 转载自: http://www.dengfanxin.cn/?p=334&sukey=72885186ae5c ...
- Deep learning:四十八(Contractive AutoEncoder简单理解)
Contractive autoencoder是autoencoder的一个变种,其实就是在autoencoder上加入了一个规则项,它简称CAE(对应中文翻译为?).通常情况下,对权值进行惩罚后的a ...
- PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)
主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...
- 栈式自动编码器(Stacked AutoEncoder)
起源:自动编码器 单自动编码器,充其量也就是个强化补丁版PCA,只用一次好不过瘾. 于是Bengio等人在2007年的 Greedy Layer-Wise Training of Deep Netw ...
随机推荐
- 如何在 BitNami 中创建多个 WEB 应用?(转)
本文最后更新于2015年7月14日,已超过半年没有更新,如果内容失效,请反馈,谢谢! 如您所知,BitNami 为诸多开源 WEB 应用提供集成环境的一键安装解决方案,像著名的开源 WEB 程序 Wo ...
- Spring web 工具类 WebApplicationContextUtils
概述 Spring web 的工具类 WebApplicationContextUtils 位于包 org.springframework.web.context.support 是访问一个Servl ...
- 自定义控件三部曲之动画篇(一)——alpha、scale、translate、rotate、set的xml属性及用法
前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的心态,想用你的app,却是因为你的技术问题,让他们不得不放弃,而你一个回访电话却让他们尽释前嫌,当最后把手机号留给他们以便随 ...
- [Angular Directive] 1. Write an Angular Directive
Angular 2 Directives allow you manipulate elements by adding custom behaviors through attributes. Th ...
- HDOJ 2043 password
刚開始看到这个题目的时候,就直接理解成仅仅要是长度符合要求而且字符符合要求,就是一个安全的password了,并没有考虑到至少要3种字符的组合.然后就直接写程序了(先暂且觉得题目就是那个意思),在測试 ...
- web项目开启日志打印
原文链接:http://blog.csdn.net/qq_37936542/article/details/79045188 参考文章地址:点击打开链接,写的很清晰 一:导入log4j包或依赖 ...
- Android—— ubuntu下【CTS】測试TV真机
近期接触到CTS,据传不懂CTS就不算一个合格的android开发者,我之前一直没见周边谁用过.作为一个产品开发的android人员,我还是太年轻- 撰写不易,转载请注明出处:http://blog. ...
- html5-2 html实体和颜色有哪些
html5-2 html实体和颜色有哪些 一.总结 一句话总结:网站配色用安全色. 1.颜色用什么类型的颜色(安全色)? 直接百度搜 安全色 即可 2.html实体常用哪6个,头尾符号是什么? 头是取 ...
- css实现图片未加载完成时占位显示
通过css控制,可以实现加载网络图片时,未加载完成的时候显示本地一张占位图,加载完成后显示网络图片: 原理:通过在img标签的after伪元素上添加一张占位图,并且img都设置为position:re ...
- javaScript DOM编程经常使用的方法与属性
DOM是Document Object Model文档对象模型的缩写.依据W3C DOM规范,DOM是一种与浏览器,平台,语言无关的接口,使得你能够訪问页面其它的标准组件. Node接口的特性和方法 ...