Sparsity稀疏编码(二)
为了更进一步的清晰理解大脑皮层对信号编码的工作机制(策略),需要把他们转成数学语言,因为数学语言作为一种严谨的语言,可以利用它推导出期望和要寻找的程式。本节就使用概率推理(bayes views)的方式把稀疏编码扩展到随时间变化的图像上,因为人类或者哺乳动物在日常活动中通过眼睛获取的信号是随时间变化而变化的,对于此类信号仍然有一些稀疏系数和基可以描述他们,同类型的处理方式也有慢特征分析(slow features analysis)。废话不多说了,进入正题:
我们把图像流(图像序列)看成时空基函数
的线性组合再加上一些噪声
,当然时空基函数可以想象成是时空不变的,类似于行为识别里的3D-SIFT,这点貌似又和慢特征分析扯上关系咯。同样时空基函数仍然有一些系数
,用表示,则图像流则可以看成时空基和系数的卷积加上一些噪声,其模型如(公式一)所示:
(公式一)
整个模型可以形象的用(图一)展示,注意系数是一种单峰类似刺突的东东哦,(图一)上:
(图一)
当然对于(图一)中的时空基函数应尽可能的稀疏,便于减少运算量,不然对图像序列的运算量太大了。对于模型的参数求解,先假设系数独立且满足稀疏,bruno基于这些假设,给出了系数的先验公式,如(公式二)所示:
(公式二)
因为系数之间独立,所以他们的联合分布分解成单个分布的乘积形式,而且每个系数满足稀疏假设,S是个非凸函数控制着系数alpha的稀疏。有了这些先验知识,给定图像序列后的系数alpha的后验概率如(公式三)所示:
(公式三)
通过最大化此后验概率,然后利用其梯度下降法求解,求的系数alpha,全部求解步骤如(公式四)所示:
(公式四)
公式尽管这么多,但扔不足以说明求解系数的详细步骤,因为(公式三)的后两项仍然不清楚,再次对这二项再做个假设,如(公式五)所示:
(公式五)
尽管做了如此假设,但是P(I|alpha,theta)仍然不能直接计算,需要对此项采样方能完成,这个地方是需要改进的地方,尽管如此,我们还是硬着头皮把学习基函数步骤一并贴出来,为后续改进打下铺垫。学习过程如(图二)所示:
(图二)
系数alpha通过梯度下降完成,基函数更新则通过Hebbian learning学习完成,Hebbian(海扁)学习就是加强同时激活的细胞之间的连接("Cells that firetogether, wire together."),这点可以稍微解释了“读书百遍”背后的大脑皮层可塑的工作机制。学习到的基函数如(图三)所示:
(图三)
好咯,稀疏编码的生命科学的解释到此就差不多了,可以看到思想不错,但是手工假设的太多,学习方法也不友好,随着代数学以及LASSO的引入,稀疏码逐渐开始成熟,并开始走上应用的道路,到了DeepLearning时代,手工成分也越来越少,威力貌似也越来越大。(好吧,我承认这节写的很恶心,但是这节最大的亮点就是在空时域上编码,这对行为识别、语言识别啥的都有些帮助哦)
参考文献:
Probabilistic Models of the Brain: Perception and Neural Function. MIT Press
转载请注明链接:http://blog.csdn.net/cuoqu/article/details/8989233
Sparsity稀疏编码(二)的更多相关文章
- Sparsity稀疏编码(三)
稀疏编码(sparse coding)和低秩矩阵(low rank)的区别 上两个小结介绍了稀疏编码的生命科学解释,也给出一些稀疏编码模型的原型(比如LASSO),稀疏编码之前的探讨文章 ...
- Sparsity稀疏编码(一)
稀疏编码来源于神经科学,计算机科学和机器学习领域一般一开始就从稀疏编码算法讲起,上来就是找基向量(超完备基),但是我觉得其源头也比较有意思,知道根基的情况下,拓展其应用也比较有底气.哲学.神经科学.计 ...
- 稀疏编码(Sparse Coding)的前世今生(二)
为了更进一步的清晰理解大脑皮层对信号编码的工作机制(策略),须要把他们转成数学语言,由于数学语言作为一种严谨的语言,能够利用它推导出期望和要寻找的程式.本节就使用概率推理(bayes views)的方 ...
- 稀疏编码直方图----一种超越HOG的轮廓特征
该论文是一篇来自CMU 的CVPR2013文章,提出了一种基于稀疏编码的轮廓特征,简称HSC(Histogram of Sparse Code),并在目标检测中全面超越了HOG(Histogram o ...
- 稀疏编码概率解释(基于1996年Olshausen与Field的理论 )
一.Sparse Coding稀疏编码 稀疏编码算法是一种无监督学习方法,它用来寻找一组“超完备”基向量来更高效地表示样本数据.稀疏编码算法的目的就是找到一组基向量 ,使得我们能将输入向量 表示为这些 ...
- UFLDL深度学习笔记 (七)拓扑稀疏编码与矩阵化
UFLDL深度学习笔记 (七)拓扑稀疏编码与矩阵化 主要思路 前面几篇所讲的都是围绕神经网络展开的,一个标志就是激活函数非线性:在前人的研究中,也存在线性激活函数的稀疏编码,该方法试图直接学习数据的特 ...
- 稀疏编码(Sparse Coding)的前世今生(一) 转自http://blog.csdn.net/marvin521/article/details/8980853
稀疏编码来源于神经科学,计算机科学和机器学习领域一般一开始就从稀疏编码算法讲起,上来就是找基向量(超完备基),但是我觉得其源头也比较有意思,知道根基的情况下,拓展其应用也比较有底气.哲学.神经科学.计 ...
- 转载 deep learning:八(SparseCoding稀疏编码)
转载 http://blog.sina.com.cn/s/blog_4a1853330102v0mr.html Sparse coding: 本节将简单介绍下sparse coding(稀疏编码),因 ...
- 数据结构 二维数组-->稀疏数组-->二维数组
稀疏数组基本概念: 稀疏数组应用场景: 当一个数组大部分的元素为"0",或者为同一个值的数组时,可以使用稀疏数组来保存该数组 处理方法: 1>记录数组一共有几行几列,有多少不 ...
随机推荐
- iis部署网站,使用虚拟路劲
此前一直使用vs2010,没有考虑过配置IIS,但是一个项目完成后交付给甲方使用.肯定是要考虑IIS的安装和部署的.现从IIS的安装和asp.NET项目的部署两个方面讲解. IIS安装: 网上很多教程 ...
- 甘特图生产排程(APS)定制开发
高速开发完毕APS的数据可视化.订单展示.资源调度.智能排程等差点儿所有功能模块. 自己主动智能排程功能 提供专业需求分析师及开发团队,按需开发"全自己主动智能排程"这一APS的主 ...
- JBPM4.4_执行流程实例
1. 执行流程实例 1.1. 启动流程实例 说明:流程实例创建后,直接就到开始活动后的第一个活动,不会在开始活动停留. 1.1.1. 示例代码1:使用指定key的最新版本的流程定义启动流程实例 Pro ...
- 最简单的VS-Qt-CMake项目框架
使用qtcreator新建一个空工程,可以得到main.cpp,mainwindow.cpp,mainwindow.h和mainwindow.ui四个文件 下面主要介绍CMakeLists.txt的内 ...
- cut的用法【转】
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut [-bn] [file] 或 cut ...
- Array遍历的小技巧
如果在遍历中删除或增加了部分元素,就会导致遍历失败,因为对象数组的长度发生了变化,索引随之而变,遍历的结果不完整或者引发运行时错误.其实不需要任何复杂的判断,最简单的方法是:倒过来遍历,像这样: f ...
- windows7中的“mklink命令”
从 Vista 以后,微软将用户文件和用户的软件配置( AppData ) 明确划分开,并且全部存放在使用者的用户目录下. Linux早已这样做了,并且在Linux中可将 home 挂载为独立分区,而 ...
- C++11新特性之七——final/override控制
重载和重写的区别参见: C++继承中重载.重写.重定义的区别: 在了解C++11中的final/override关键字之前,我们先回顾一下C++关于重载的概念.简单地说,一个类A中声明的虚函数fun在 ...
- 通过WireShark抓取iOS联网数据实例分析
本文转载至http://blog.csdn.net/lixing333/article/details/7782539 iosiphone网络filter工具 我在另外一篇博客里,介绍了一款比Wire ...
- 《C++ Primer Plus》12.7 队列模拟 学习笔记
Heather银行打算在Food Heap超市开设一个自动柜员机(ATM).Food Heap超市的管理者担心排队使用ATM的人流会干扰超市的交通,希望限制排队等待的人数.Heather银行希望对顾客 ...