看之前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一些实验结果,并考虑的更多相关文章

  1. Deep learning:四十二(Denoise Autoencoder简单理解)

    前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Be ...

  2. 降噪自动编码器(Denoising Autoencoder)

    起源:PCA.特征提取.... 随着一些奇怪的高维数据出现,比如图像.语音,传统的统计学-机器学习方法遇到了前所未有的挑战. 数据维度过高,数据单调,噪声分布广,传统方法的“数值游戏”很难奏效.数据挖 ...

  3. Autoencoder

    AutoencoderFrom Wikipedia An autoencoder, autoassociator or Diabolo network[1]:19 is an artificial n ...

  4. UFLDL实验报告2:Sparse Autoencoder

    Sparse Autoencoder稀疏自编码器实验报告 1.Sparse Autoencoder稀疏自编码器实验描述 自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值, ...

  5. 深度自编码器(Deep Autoencoder)MATLAB解读

    深度自编码器(Deep Autoencoder)MATLAB解读 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 这篇文章主要讲解Hinton在2006 ...

  6. (转) 变分自编码器(Variational Autoencoder, VAE)通俗教程

    变分自编码器(Variational Autoencoder, VAE)通俗教程 转载自: http://www.dengfanxin.cn/?p=334&sukey=72885186ae5c ...

  7. Deep learning:四十八(Contractive AutoEncoder简单理解)

    Contractive autoencoder是autoencoder的一个变种,其实就是在autoencoder上加入了一个规则项,它简称CAE(对应中文翻译为?).通常情况下,对权值进行惩罚后的a ...

  8. PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...

  9. 栈式自动编码器(Stacked AutoEncoder)

    起源:自动编码器 单自动编码器,充其量也就是个强化补丁版PCA,只用一次好不过瘾. 于是Bengio等人在2007年的  Greedy Layer-Wise Training of Deep Netw ...

随机推荐

  1. 如何在 BitNami 中创建多个 WEB 应用?(转)

    本文最后更新于2015年7月14日,已超过半年没有更新,如果内容失效,请反馈,谢谢! 如您所知,BitNami 为诸多开源 WEB 应用提供集成环境的一键安装解决方案,像著名的开源 WEB 程序 Wo ...

  2. Spring web 工具类 WebApplicationContextUtils

    概述 Spring web 的工具类 WebApplicationContextUtils 位于包 org.springframework.web.context.support 是访问一个Servl ...

  3. 自定义控件三部曲之动画篇(一)——alpha、scale、translate、rotate、set的xml属性及用法

    前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的心态,想用你的app,却是因为你的技术问题,让他们不得不放弃,而你一个回访电话却让他们尽释前嫌,当最后把手机号留给他们以便随 ...

  4. [Angular Directive] 1. Write an Angular Directive

    Angular 2 Directives allow you manipulate elements by adding custom behaviors through attributes. Th ...

  5. HDOJ 2043 password

    刚開始看到这个题目的时候,就直接理解成仅仅要是长度符合要求而且字符符合要求,就是一个安全的password了,并没有考虑到至少要3种字符的组合.然后就直接写程序了(先暂且觉得题目就是那个意思),在測试 ...

  6. web项目开启日志打印

    原文链接:http://blog.csdn.net/qq_37936542/article/details/79045188 参考文章地址:点击打开链接,写的很清晰 一:导入log4j包或依赖     ...

  7. Android—— ubuntu下【CTS】測试TV真机

    近期接触到CTS,据传不懂CTS就不算一个合格的android开发者,我之前一直没见周边谁用过.作为一个产品开发的android人员,我还是太年轻- 撰写不易,转载请注明出处:http://blog. ...

  8. html5-2 html实体和颜色有哪些

    html5-2 html实体和颜色有哪些 一.总结 一句话总结:网站配色用安全色. 1.颜色用什么类型的颜色(安全色)? 直接百度搜 安全色 即可 2.html实体常用哪6个,头尾符号是什么? 头是取 ...

  9. css实现图片未加载完成时占位显示

    通过css控制,可以实现加载网络图片时,未加载完成的时候显示本地一张占位图,加载完成后显示网络图片: 原理:通过在img标签的after伪元素上添加一张占位图,并且img都设置为position:re ...

  10. javaScript DOM编程经常使用的方法与属性

    DOM是Document Object Model文档对象模型的缩写.依据W3C DOM规范,DOM是一种与浏览器,平台,语言无关的接口,使得你能够訪问页面其它的标准组件. Node接口的特性和方法 ...