Deep Learning(深度学习)学习笔记整理系列之(五)

简介:

目录:

一、概述

二、背景

三、人脑视觉机理

四、关于特征

       4.1、特征表示的粒度

       4.2、初级(浅层)特征表示

       4.3、结构性特征表示

       4.4、需要有多少个特征?

五、Deep Learning的基本思想

六、浅层学习(Shallow Learning)和深度学习(Deep Learning)

七、Deep learning与Neural Network

八、Deep learning训练过程

       8.1、传统神经网络的训练方法

       8.2、deep learning训练过程

九、Deep Learning的常用模型或者方法

       9.1、AutoEncoder自动编码器

       9.2、Sparse Coding稀疏编码

       9.3、Restricted Boltzmann Machine(RBM)限制波尔兹曼机

       9.4、Deep BeliefNetworks深信度网络

       9.5、Convolutional Neural Networks卷积神经网络

十、总结与展望

十一、参考文献和Deep Learning学习资源

 

 

 

接上

 

9.2、Sparse Coding稀疏编码

       如果我们把输出必须和输入相等的限制放松,同时利用线性代数中基的概念,即O = a11 + a22+….+ ann, Φi是基,ai是系数,我们可以得到这样一个优化问题:

Min |I – O|,其中I表示输入,O表示输出。

       通过求解这个最优化式子,我们可以求得系数ai和基Φi,这些系数和基就是输入的另外一种近似表达。

       因此,它们可以用来表达输入I,这个过程也是自动学习得到的。如果我们在上述式子上加上L1的Regularity限制,得到:

Min |I – O| + u*(|a1| + |a2| + … + |an |)

        这种方法被称为Sparse Coding。通俗的说,就是将一个信号表示为一组基的线性组合,而且要求只需要较少的几个基就可以将信号表示出来。“稀疏性”定义为:只有很少的几个非零元素或只有很少的几个远大于零的元素。要求系数 ai 是稀疏的意思就是说:对于一组输入向量,我们只想有尽可能少的几个系数远大于零。选择使用具有稀疏性的分量来表示我们的输入数据是有原因的,因为绝大多数的感官数据,比如自然图像,可以被表示成少量基本元素的叠加,在图像中这些基本元素可以是面或者线。同时,比如与初级视觉皮层的类比过程也因此得到了提升(人脑有大量的神经元,但对于某些图像或者边缘只有很少的神经元兴奋,其他都处于抑制状态)。

         稀疏编码算法是一种无监督学习方法,它用来寻找一组“超完备”基向量来更高效地表示样本数据。虽然形如主成分分析技术(PCA)能使我们方便地找到一组“完备”基向量,但是这里我们想要做的是找到一组“超完备”基向量来表示输入向量(也就是说,基向量的个数比输入向量的维数要大)。超完备基的好处是它们能更有效地找出隐含在输入数据内部的结构与模式。然而,对于超完备基来说,系数ai不再由输入向量唯一确定。因此,在稀疏编码算法中,我们另加了一个评判标准“稀疏性”来解决因超完备而导致的退化(degeneracy)问题。(详细过程请参考:UFLDL Tutorial稀疏编码

       比如在图像的Feature Extraction的最底层要做Edge Detector的生成,那么这里的工作就是从Natural Images中randomly选取一些小patch,通过这些patch生成能够描述他们的“基”,也就是右边的8*8=64个basis组成的basis,然后给定一个test patch, 我们可以按照上面的式子通过basis的线性组合得到,而sparse matrix就是a,下图中的a中有64个维度,其中非零项只有3个,故称“sparse”。

       这里可能大家会有疑问,为什么把底层作为Edge Detector呢?上层又是什么呢?这里做个简单解释大家就会明白,之所以是Edge Detector是因为不同方向的Edge就能够描述出整幅图像,所以不同方向的Edge自然就是图像的basis了……而上一层的basis组合的结果,上上层又是上一层的组合basis……(就是上面第四部分的时候咱们说的那样)

       Sparse coding分为两个部分:

1)Training阶段:给定一系列的样本图片[x1, x 2, …],我们需要学习得到一组基[Φ1, Φ2, …],也就是字典。

       稀疏编码是k-means算法的变体,其训练过程也差不多(EM算法的思想:如果要优化的目标函数包含两个变量,如L(W, B),那么我们可以先固定W,调整B使得L最小,然后再固定B,调整W使L最小,这样迭代交替,不断将L推向最小值。EM算法可以见我的博客:“从最大似然到EM算法浅解”)。

       训练过程就是一个重复迭代的过程,按上面所说,我们交替的更改a和Φ使得下面这个目标函数最小。

      每次迭代分两步:

a)固定字典Φ[k],然后调整a[k],使得上式,即目标函数最小(即解LASSO问题)。

b)然后固定住a [k],调整Φ [k],使得上式,即目标函数最小(即解凸QP问题)。

      不断迭代,直至收敛。这样就可以得到一组可以良好表示这一系列x的基,也就是字典。

2)Coding阶段:给定一个新的图片x,由上面得到的字典,通过解一个LASSO问题得到稀疏向量a。这个稀疏向量就是这个输入向量x的一个稀疏表达了。

例如:

本文转自博客园知识天地的博客,原文链接:Deep Learning(深度学习)学习笔记整理系列之(五),如需转载请自行联系原博主。

相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 算法
详解深度学习Deep Learning
详解深度学习Deep Learning
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
2024年3月最新的深度学习论文推荐
现在已经是3月中旬了,我们这次推荐一些2月和3月发布的论文。
68 0
|
3月前
|
机器学习/深度学习 编解码 人工智能
2024年2月深度学习的论文推荐
我们这篇文章将推荐2月份发布的10篇深度学习的论文
62 1
|
机器学习/深度学习 人工智能 自然语言处理
第一周:深度学习引言(Introduction to Deep Learning)
在cousera的这一系列也叫做专项课程中,在第一门课中(神经网络和深度学习),你将学习神经网络的基础,你将学习神经网络和深度学习,这门课将持续四周,专项课程中的每门课将持续2至4周。
72 0
|
机器学习/深度学习 算法 C++
深度学习笔记总结(1) 神经网络和深度学习(Neural Networks and Deep Learning)
针对深度学习基础部分,有必要恶补一些吴恩达的深度学习课程,其实晚上有很多总结和笔记,本系列文章是针对黄海广大佬整理的《深度学习课程笔记(V5.47)》的总结和自己的理解,以便加深印象和复习。
251 0
深度学习笔记总结(1) 神经网络和深度学习(Neural Networks and Deep Learning)
|
机器学习/深度学习 人工智能 分布式计算
2023 年 1 月的5篇深度学习论文推荐
本文整理了 2023 年 1 月5 篇著名的 AI 论文,涵盖了计算机视觉、自然语言处理等方面的新研究。
275 0
|
机器学习/深度学习 人工智能 文字识别
初探【深度学习Deep Learning】
初探【深度学习Deep Learning】
初探【深度学习Deep Learning】
|
机器学习/深度学习 人工智能 自然语言处理
学习笔记 | 深度学习相关研究与展望 Review of deep learning
深度学习是新兴的机 器学习研究领域,旨在研究如何从数据中自动地提取多层特征 表示,其核心思想是通过数据驱动的方式,采用一系列的非线 性变换,从原始数据中提取由低层到高层、由具体到抽象、由一 般到特定语义的特征。
学习笔记 | 深度学习相关研究与展望 Review of deep learning
|
机器学习/深度学习 自然语言处理 自动驾驶
学习笔记 | Deep learning-吴恩达
学习笔记 | Deep learning-吴恩达
学习笔记 | Deep learning-吴恩达
|
机器学习/深度学习 人工智能
开源翻译中文版《深度学习(Deep Learning)》
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。 专业研究人工智能的同学推荐的这本《深度学习》。
1567 0