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

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

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

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

在这个线性解码器模型中:.

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

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

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

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

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

经过白化处理后:

学习出的特征:

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

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

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

时间: 2024-10-10 02:02:22

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

深度学习理解内容 初

深度学习采用神经网络解决线性不可分的问题.既然是深度学习,就是包含多个隐层. 觉得知乎大神说了一段很有意思的话: 1.初恋期.相当于深度学习的输入层.别人吸引你,肯定是有很多因素,比如:身高,身材,脸蛋,学历,性格等等,这些都是输入层的参数,对每个人来说权重可能都不一样. 2.热恋期.我们就让它对应于隐层吧.这个期间,双方各种磨合,柴米油盐酱醋茶. 3.稳定期.对应于输出层,是否合适,就看磨合得咋样了. 大家都知道,磨合很重要,怎么磨合呢?就是不断学习训练和修正的过程嘛!比如女朋友喜欢草莓蛋糕,

深度学习中得数学,高效计算基础与线性分类器

深度学习说到底就是要调节网络中得权重,使网络的分类结果更接近于训练值.这个重复迭代的过程又是一个线性回归的问题.在这种可能会用到高数,线性代数,概率论中的知识. 一.数学基础提一提. 1.高数中得知识. 高数中最重要的就是微积分了,那在深度学习中出现最多的一个概念就是梯度.什么是梯度呢?要说导数,学过高数的肯定都知道.其实梯度就是当把标量x变成向量X时,对X求导就是梯度.那为什么要用梯度呢?因为梯度等于0在凸函数中往往代表着一个极小值点.我们要求得就是损失函数的极小值,这正是我们需要的.梯度是指

深度学习综述(LeCun、Bengio和Hinton)

原文摘要:深度学习可以让那些拥有多个处理层的计算模型来学习具有多层次抽象的数据的表示.这些方法在很多方面都带来了显著的改善,包含最先进的语音识别.视觉对象识别.对象检測和很多其他领域,比如药物发现和基因组学等.深度学习可以发现大数据中的复杂结构.它是利用BP算法来完毕这个发现过程的.BP算法可以指导机器怎样从前一层获取误差而改变本层的内部參数,这些内部參数可以用于计算表示.深度卷积网络在处理图像.视频.语音和音频方面带来了突破,而递归网络在处理序列数据.比方文本和语音方面表现出了闪亮的一面. 机

[译]深度学习(Yann LeCun)

深度学习 严恩·乐库  约书亚•本吉奥  杰弗里·希尔顿 摘要深度学习是计算模型,是由多个处理层学习多层次抽象表示的数据.这些方法极大地提高了语音识别.视觉识别.物体识别.目标检测和许多其他领域如药物发现和基因组学的最高水平.深学习发现复杂的结构,在大数据集,通过使用反向传播算法来说明如何一台机器应改变其内部参数,用于计算每个层中表示从前一层的表示.深度卷积网络在处理图像.视频.语音等方面都带来了新的突破,而递归网络在连续的数据,如文本和语音有更出彩的表现.引言机器学习技术增强了现代社会的许多方

Deep Learning(深度学习)学习笔记整理

申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html 4.2.初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表示才有用呢? 1995 年前后,Bruno Olshausen和 David Field 两位学者任职 Cornell University,他们试图同时用生理学和计算机的手段,双管齐下,研究视觉问题. 他们收集了很多黑白风景照片,从这些照片中,提取出400个小碎片,每个照片碎片的尺寸均为 16x1

[转载]Deep Learning(深度学习)学习笔记整理

转载自:http://blog.csdn.net/zouxy09/article/details/8775360 感谢原作者:[email protected] 八.Deep learning训练过程 8.1.传统神经网络的训练方法为什么不能用在深度神经网络 BP算法作为传统训练多层网络的典型算法,实际上对仅含几层网络,该训练方法就已经很不理想.深度结构(涉及多个非线性处理单元层)非凸目标代价函数中普遍存在的局部最小是训练困难的主要来源. BP算法存在的问题: (1)梯度越来越稀疏:从顶层越往下

机器码农:深度学习自动编程

转自原文机器码农:深度学习自动编程 作者简介:张俊林,中科院软件所博士,曾担任阿里巴巴.百度.新浪微博资深技术专家,目前是用友畅捷通工智能相关业务负责人,关注深度学习在自然语言处理方面的应用. 责编:何永灿,欢迎人工智能领域技术投稿.约稿.给文章纠错,请发送邮件至[email protected] 本文为<程序员>原创文章,未经允许不得转载,更多精彩文章请订阅2017年<程序员> 机器自动编程是人工智能一直以来期望攻克的重要应用领域,随着深度学习的逐步流行,最近在自动编程方向获得了

Deep Learning 十_深度学习UFLDL教程:Convolution and Pooling_exercise(斯坦福大学深度学习教程)

前言 理论知识:UFLDL教程和http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html 实验环境:win7, matlab2015b,16G内存,2T机械硬盘 实验内容:Exercise:Convolution and Pooling.从2000张64*64的RGB图片(它是the STL10 Dataset的一个子集)中提取特征作为训练数据集,训练softmax分类器,然后从3200张64*64的RGB图片(它是th

Deep Learning(深度学习)学习笔记整理系列 | @Get社区

body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bo