码迷,mamicode.com
首页 > 其他好文 > 详细

深度学习实现彩色图像特征提取:线性解码器

时间:2014-10-26 13:07:31      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   ar   for   sp   数据   

在前面的讨论中,用到的激励函数都是sigmoid函数:

bubuko.com,布布扣

以为最终的输出层所有输出的范围是[0,1],而我们在自编码学习的动机就是使得输出等于输入,于是所有输入必须调整到[0,1]范围内,但是问题来了,有些数据集输入范围容易调整,比如Minist,但是PCA白化处理的输入并不满足[0,1],所以需要找到一种能够处理非[0,1]范围内的机制。

为了解决这个问题,我们让输出层的输出和该层输入相等:a(3) = z(3),这就相等于把激励函数改为 f(z) = z,称这个激励函数为 线性激励函数,这样就可以输出大于1和小于0的值,那么我们就可以用实值作为输入训练整个自编码器,即输入的范围不用再限制在[0,1]之内,可以是任意实数。

在这个线性解码器模型中:bubuko.com,布布扣.

随着激励函数的改变,输出单元的梯度求法也要随之改变:

bubuko.com,布布扣

 

因为输出层f(z) = z,所以 f‘(z) = 1,于是:

bubuko.com,布布扣

 

当采用反向传播计算误差时,还是和以前一样:

bubuko.com,布布扣

这是因为隐层的激励函数还是sigmoid函数,没有改变。

下面的练习用线性编码器学习出彩色图像的特征,数据集http://ufldl.stanford.edu/wiki/resources/stl10_patches_100k.zip,里面是采样好的100,00幅8*8的RGB图像,随机前100幅采样得到的图像:

bubuko.com,布布扣

经过白化处理后:

bubuko.com,布布扣

学习出的特征:

bubuko.com,布布扣

可以看出和灰度图像类似,学习出的仍然是一些物体的边缘部分。

实验代码:linear_autoencoder.rarminFunc.rar,其中minFunc.rar是用来优化自动编码代价函数的工具函数包。

 

学习来源:http://deeplearning.stanford.edu/wiki/index.php/Exercise:Learning_color_features_with_Sparse_Autoencoders

 

 

深度学习实现彩色图像特征提取:线性解码器

标签:style   blog   http   color   io   ar   for   sp   数据   

原文地址:http://www.cnblogs.com/90zeng/p/Learning_color_features_with_Sparse_Autoencoders.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!