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 ...
随机推荐
- 9、LCD驱动程序框架
linux-3.4.2\drivers\video\S3C2410fb.c(内核自带驱动程序) fbmem.c是LCD驱动程序顶层框架文件,是一个通用的文件,在初始化init函数中会注册一个字符设备, ...
- C语言数组初始化的问题
- [Angular2 Router] Get activated router url
getActivatedRoutePath(r: ActivatedRoute) { return r.url .subscribe(p => this.curtPath = p[0].path ...
- 使用LAMP创建基于wordpress的个从博客网站 分类: B3_LINUX 2014-07-15 16:45 800人阅读 评论(0) 收藏
参考: http://blog.csdn.net/ck_boss/article/details/27866117 一.mysql配置 1.安装mysql yum install mysql-serv ...
- 如何解决安卓SDK无法下载Package的问题 分类: H1_ANDROID 2013-09-09 10:26 1199人阅读 评论(0) 收藏
转载自:http://jingyan.baidu.com/article/8275fc86dbe84046a03cf69d.html 有些用户在安装好Android SDK后,打开Android SD ...
- 【26.8%】【CF 46D】Parking Lot
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- ios开发事件处理之:三 :寻找最合适的view
1:事件的产生与传递: 2:寻找最合适的view:如何查找最合适的view:需要三步:1:先判断自身是否能接受触摸事件 2:判断触摸点是否在自己身上 3:若前两条都满足,则其会从后往前遍历所有子控件( ...
- ios开发之坐标系转换
1:坐标系转换最核心的问题就是:比较两个坐标是否包含,或者是重叠等,最主要的问题是先将两个坐标转换到同一个坐标系下再去比较.第一步先确定矩形框在某个view坐标系下的frame(该矩形框是以该view ...
- 【u208】修复公路
Time Limit: 1 second Memory Limit: 128 MB [问题描述] A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 给出A地区的村庄数 ...
- 【CF706C】Hard problem
Description Vasiliy is fond of solving different tasks. Today he found one he wasn't able to solve h ...