1.稀疏编码的研究历史
1959年,David Hubel和Toresten Wiesel通过对猫的视觉条纹皮层简单细胞感受野的研究得出一个结论:主视皮层V1区神经元的感受野能对视觉感知信息产生一种“稀疏表示”。
1961年,H.B.Barlow[5]基于这一知识提出了“利用感知数据的冗余”进行编码的理论.
1969年,D.J.Willshaw和O.P.Buneman等人提出了基于Hebbian 学习的局部学习规则的稀疏表示模型.这种稀疏表示可以使模型之间有更少的冲突,从而使记忆能力最大化.Willshaw模型的提出表明了稀疏表示非常有利于学习神经网络中的联想.
1972年,Barlow推论出在稀疏性(Sparsity)和自然环境的统计特性之间必然存在某种联系.随后,有许多计算方法被提出来论证这个推论,这些方法都成功地表明了稀疏表示可以体现出在大脑中出现的自然环境的统计特性.
1987年,Field提出主视皮层V1区简单细胞的感受野非常适于学习视网膜成像的图像结构,因为它们可以产生图像的稀疏表示.基于这个结论,1988年,Michison明确提出了神经稀疏编码的概念,然后由牛津大学的E.T.Roll 等人正式引用.随后对灵长目动物视觉皮层和猫视觉皮层的电生理的实验报告,也进一步证实了视觉皮层复杂刺激的表达是采用稀疏编码原则的.
1989年,Field提出了稀疏分布式编码(Sparse Distributed Coding)方法.这种编码方法并不减少输入数据的维数,而是使响应于任一特殊输入信息的神经细胞数目被减少,信号的稀疏编码存在于细胞响应分布的四阶矩(即峭度Kurtosis)中.
1996年,Olshausen和Field在Nature杂志上发表了一篇重要论文指出,自然图像经过稀疏编码后得到的基函数类似于V1区简单细胞感受野的反应特性.这种稀疏编码模型提取的基函数首次成功地模拟了V1区简单细胞感受野的三个响应特性:空间域的局部性、时域和频域的方向性和选择性.考虑到基函数的超完备性(基函数维数大于输出神经元的个数),Olshausen 和Field在1997年又提出了一种超完备基的稀疏编码算法,利用基函数和系数的概率密度模型成功地建模了V1区简单细胞感受野.
1997年,Bell和Sejnowski 等人把多维独立分量分析(Independent Component Analysis, ICA)用于自然图像数据分析,并且得出一个重要结论:ICA实际上就是一种特殊的稀疏编码方法.
2014年,
21世纪以来,国外从事稀疏编码研究的人员又提出了许多新的稀疏编码算法,涌现出了大量的稀疏编码方面的论文,国内研究者在稀疏编码算法和应用方面也作了一些工作],但远远落后于国外研究者所取得的成果.
2.深度学习系列(四):什么是稀疏编码
现在深度学习在机器学习领域是一个很热的概念,不过经过各种媒体的转载播报,这个概念也逐渐变得有些神话的感觉:例如,人们可能认为,深度学习是一种能够模拟出人脑的神经结构的机器学习方式,从而能够让计算机具有人一样的智慧;而这样一种技术在将来无疑是前景无限的。
那么深度学习本质上又是一种什么样的技术呢? 深度学习是什么 深度学习是机器学习领域中对模式(声音、图像等等)进行建模的一种方法,它也是一种基于统计的概率模型。在对各种模式进行建模之后,便可以对各种模式进行识别了,例如待建模的模式是声音的话,那么这种识别便可以理解为语音识别。
而类比来理解,如果说将机器学习算法类比为排序算法,那么深度学习算法便是众多排序算法当中的一种(例如冒泡排序),这种算法在某些应用场景中,会具有一定的优势。 深度学习的“深度”体现在哪里 论及深度学习中的“深度”一词,人们从感性上可能会认为,深度学习相对于传统的机器学习算法,能够做更多的事情,是一种更为“高深”的算法。
而事实可能并非我们想象的那样,因为从算法输入输出的角度考虑,深度学习算法与传统的有监督机器学习算法的输入输出都是类似的,无论是最简单的Logistic Regression,还是到后来的SVM、boosting等算法,它们能够做的事情都是类似的。正如无论使用什么样的排序算法,它们的输入和预期的输出都是类似的,区别在于各种算法在不同环境下的性能不同。
那么深度学习的“深度”本质上又指的是什么呢?深度学习的学名又叫深层神经中国络(Deep Neural Networks ),是从很久以前的人工神经中国络(Artificial Neural Networks)模型发展而来。这种模型一般采用计算机科学中的图模型来直观的表达,而深度学习的“深度”便指的是图模型的层数以及每一层的节点数量,相对于之前的神经中国络而言,有了很大程度的提升。
深度学习也有许多种不同的实现形式,根据解决问题、应用领域甚至论文作者取名创意的不同,它也有不同的名字:例如卷积神经中国络(Convolutional Neural Networks)、深度置信中国络(Deep Belief Networks)、受限玻尔兹曼机(Restricted Boltzmann Machines)、深度玻尔兹曼机(Deep Boltzmann Machines)、递归自动编码器(Recursive Autoencoders)、深度表达(Deep Representation)等等。不过究其本质来讲,都是类似的深度神经中国络模型。
既然深度学习这样一种神经中国络模型在以前就出现过了,为什么在经历过一次没落之后,到现在又重新进入人们的视线当中了呢?这是因为在十几年前的硬件条件下,对高层次多节点神经中国络的建模,时间复杂度(可能以年为单位)几乎是无法接受的。在很多应用当中,实际用到的是一些深度较浅的中国络,虽然这种模型在这些应用当中,取得了非常好的效果(甚至是the state of art),但由于这种时间上的不可接受性,限制了其在实际应用的推广。
而到了现在,计算机硬件的水平与之前已经不能同日而语,因此神经中国络这样一种模型便又进入了人们的视线当中。 “ 2012年6月,《纽约时报》披露了Google Brain项目,吸引了公众的广泛关注。
这个项目是由著名的斯坦福大学机器学习教授Andrew Ng和在大规模计算机系统方面的世界顶尖专家Jeff Dean共同主导,用16000个CPU Core的并行计算平台训练一种称为“深层神经中国络”(DNN,Deep Neural Networks) ” 从Google Brain这个项目中我们可以看到,神经中国络这种模型对于计算量的要求是极其巨大的,为了保证算法实时性,需要使用大量的CPU来进行并行计算。 当然,深度学习现在备受关注的另外一个原因,当然是因为在某些场景下,这种算法模式识别的精度,超过了绝大多数目前已有的算法。
而在最近,深度学习的提出者修改了其实现代码的Bug之后,这种模型识别精度又有了很大的提升。这些因素共同引起了深层神经中国络模型,或者说深度学习这样一个概念的新的热潮。
深度学习的优点 为了进行某种模式的识别,通常的做法首先是以某种方式,提取这个模式中的特征。这个特征的提取方式有时候是人工设计或指定的,有时候是在给定相对较多数据的前提下,由计算机自己总结出来的。
深度学习提出了一种让计算机自动学习出模式特征的方法,并将特征学习融入到了建立模型的过程中,从而减少了人为设计特征造成的不完备性。而目前以深度学习为核心的某些机器学习应用,在满足特定条件的应用场景下,已经达到了超越现有算法的识别或分类性能。
深度学习的缺点 深度学习虽然能够自动的学习模式的特征,并可以达到很好的识别精度,但这种算法工作的前提是,使用者能够提供“相当大”量级的数据。也就是说在只能提供有限数据量的应用场景下,深度学习算法便不能够对数据的规律进行无偏差的估计了,因此在识别效果上可能不如一些已有的简单算法。
另外,由于深度学习中,图模型的复杂化导致了这个算法的时间复杂度中国剧提升,为了保证算法的实时性,需要更高的并行编程技巧以及更好更多的硬件支持。所以,目前也只有一些经济实力比较强大的科研机构或企。
3.稀疏编码的起源
人眼视觉感知机理的研究表明,人眼视觉系统(Human Visual System, HVS)可看成是一种合理而高效的图像处理系统.在人眼视觉系统中,从视网膜到大脑皮层存在一系列细胞,以“感受野”模式描述.感受野是视觉系统信息处理的基本结构和功能单元,是视网膜上可引起或调制视觉细胞响应的区域.它们被视网膜上相应区域的光感受细胞所激活,对时空信息进行处理.神经生理研究已表明:在初级视觉皮层(Primary Visual Cortex)下细胞的感受野具有显著的方向敏感性,单个神经元仅对处于其感受野中的刺激做出反应,即单个神经元仅对某一频段的信息呈现较强的反映,如特定方向的边缘、线段、条纹等图像特征,其空间感受野被描述为具有局部性、方向性和带通特性的信号编码滤波器.而每个神经元对这些刺激的表达则采用了稀疏编码(Sparse Coding, SC)原则,将图像在边缘、端点、条纹等方面的特性以稀疏编码的形式进行描述.从数学的角度来说,稀疏编码是一种多维数据描述方法,数据经稀疏编码后仅有少数分量同时处于明显激活状态,这大致等价于编码后的分量呈现超高斯分布.在实际应用中,稀疏编码有如下几个优点:编码方案存储能力大,具有联想记忆能力,并且计算简便;使自然信号的结构更加清晰;编码方案既符合生物进化普遍的能量最小经济策略,又满足电生理实验的结论.
4.稀疏编码怎样进行图像的特征提取
常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。
一 颜色特征
(一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。
(二)常用的特征提取与匹配方法
(1) 颜色直方图
其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。
最常用的颜色空间:RGB颜色空间、HSV颜色空间。
颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。
(2) 颜色集
颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从 RGB颜色空间转化成视觉均衡的颜色空间(如 HSV 空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系