Deep Learning读书笔记(十一):Unsupervised learning of visual invariance with temporal coherence
2014-12-26 16:56
627 查看
在视频流中,natural scene包含有非常丰富的visual transformation。本篇文章的主要工作就是利用非监督型学习算法和时间相干性(temporal coherence)来从视频中学习到视觉不变性。然后利用学习好的模型来进行图片分类任务。
文章是建立了一个两层的模型,网络的第二层通过一组超完备的神经元将第一层的特征组合起来。根据对视觉系统的研究发现,动作模型是通过将V1层的特征组合起来得到的,而文章中网络的第二层也对这种变换所产生的信号具有不变性。通常来说第二层网络编码起来比较困难,文章通过优化一个单独的目标函数来使得网络的激活值与时间具有某种关联性。
其实之前也有很多工作是通过图片序列来学习到具有不变性的特征,但是他们都没有证明时间相干性对于分类任务的效果有所提升。本文正是着眼于这一点,文章是通过一个线性的分类器来实现分类任务的。在两层网络中,都使用了大小为2的energy pooling,这样做的好处就是能够产生“non-redundant quadrature pairs”的表示,这样的特征是非常有效的。可惜我对于energy pooling以及所产生的这种表示都不太懂。
文章在第三部分的一开始对自编码器进行的描述,但我感觉(1)式是有点问题的,我觉得应该修改为:
,其中S表示的就是一个正则项,为了实现稀疏性。
文章所使用的模型对自编码器做了一定的简化,令解码层连接的权值等于编码层连接权值的转置,再加上energy pooling就得到了:
。其中正则化项的平方根是可以选择加与不加的。H表示的就是energy
pooling中的下采样过程。“Each row of H picks and sums tow neighboring feature dimensions in a non-overlapping fashion.”
文章中提出的这种自编码器模型与Independent Subspace Analysis(ISA)算法是很接近的。这种模型能够学习到超完备的隐藏层的表示。而且算法解决的是一个无约束的优化问题,相对来说会更加容易一些。
为了引入时间相干性,可以在目标函数中加入
这一项,其中
。对于自编码器,可以学习到在orientation,space
and frequency中的边缘特征,在引入了时间相干性后,就能够学习到一组正交的边缘特征。
之后利用角度插值来观察特征的变化这一部分我其实也不太了解。
第一层网络中的池化但愿只能学习到局部上的不变性。对于natural videos,我们希望学习到更大范围上的rotational invariance,translational invariance,以及invariance to out-of-plane rotation。为了实现更高层次上的这种不变性,第二层网络应该要能观察到第一层网络特征的连续变化。例如,如果在视频中有一个物体在运动,在第一层网络中应该有一个特征来描述这个物体,在第二层网络中应该有另一个特征来描述一个相同的物体出现在不同的位置。这样的话,第二层网络需要建立对第一层网络输入的一个超完备的表示,因为需要对比第一层更大规模的特征进行建模。这里,文章采用了一个类似卷积的过程。在稍后的实验部分,我们可以看到,这一过程在两层网络中都有发生。
整个网络的结构图如下图所示:
如果第一层网络有m个隐藏层单元,那么在经过卷积之后就有m个response map。第二层网络就是建立在这些response map之上的。中间有一个PCA白化的过程来进行降维。第二层网络与第一层网络在结构上应该是相同的。
但文章中有这样一句话:“The only difference is a much stronger temporal coherence cost is placed on the pooling units.”这里我不太理解的就是,是不是只有在第二层网络中才使用到了(3)式,而在第一层网络中只是用到了(2)式?
同样的,用来观察第二层网络学习到的特征的不变性的方法也是没太懂。
总的来说,文章使用了一个两层的特征提取的网络,在对每一层的特征进行平均池化后,利用SVM分类器进行分类。具体的结构如下图所示:
试验中的那些参数,都是通过交叉验证而得到的。通过实验的结果可以发现,尽管是利用毫无关联的视频数据学习到的特征,但依然取得了不错的结果。
文章是建立了一个两层的模型,网络的第二层通过一组超完备的神经元将第一层的特征组合起来。根据对视觉系统的研究发现,动作模型是通过将V1层的特征组合起来得到的,而文章中网络的第二层也对这种变换所产生的信号具有不变性。通常来说第二层网络编码起来比较困难,文章通过优化一个单独的目标函数来使得网络的激活值与时间具有某种关联性。
其实之前也有很多工作是通过图片序列来学习到具有不变性的特征,但是他们都没有证明时间相干性对于分类任务的效果有所提升。本文正是着眼于这一点,文章是通过一个线性的分类器来实现分类任务的。在两层网络中,都使用了大小为2的energy pooling,这样做的好处就是能够产生“non-redundant quadrature pairs”的表示,这样的特征是非常有效的。可惜我对于energy pooling以及所产生的这种表示都不太懂。
文章在第三部分的一开始对自编码器进行的描述,但我感觉(1)式是有点问题的,我觉得应该修改为:
,其中S表示的就是一个正则项,为了实现稀疏性。
文章所使用的模型对自编码器做了一定的简化,令解码层连接的权值等于编码层连接权值的转置,再加上energy pooling就得到了:
。其中正则化项的平方根是可以选择加与不加的。H表示的就是energy
pooling中的下采样过程。“Each row of H picks and sums tow neighboring feature dimensions in a non-overlapping fashion.”
文章中提出的这种自编码器模型与Independent Subspace Analysis(ISA)算法是很接近的。这种模型能够学习到超完备的隐藏层的表示。而且算法解决的是一个无约束的优化问题,相对来说会更加容易一些。
为了引入时间相干性,可以在目标函数中加入
这一项,其中
。对于自编码器,可以学习到在orientation,space
and frequency中的边缘特征,在引入了时间相干性后,就能够学习到一组正交的边缘特征。
之后利用角度插值来观察特征的变化这一部分我其实也不太了解。
第一层网络中的池化但愿只能学习到局部上的不变性。对于natural videos,我们希望学习到更大范围上的rotational invariance,translational invariance,以及invariance to out-of-plane rotation。为了实现更高层次上的这种不变性,第二层网络应该要能观察到第一层网络特征的连续变化。例如,如果在视频中有一个物体在运动,在第一层网络中应该有一个特征来描述这个物体,在第二层网络中应该有另一个特征来描述一个相同的物体出现在不同的位置。这样的话,第二层网络需要建立对第一层网络输入的一个超完备的表示,因为需要对比第一层更大规模的特征进行建模。这里,文章采用了一个类似卷积的过程。在稍后的实验部分,我们可以看到,这一过程在两层网络中都有发生。
整个网络的结构图如下图所示:
如果第一层网络有m个隐藏层单元,那么在经过卷积之后就有m个response map。第二层网络就是建立在这些response map之上的。中间有一个PCA白化的过程来进行降维。第二层网络与第一层网络在结构上应该是相同的。
但文章中有这样一句话:“The only difference is a much stronger temporal coherence cost is placed on the pooling units.”这里我不太理解的就是,是不是只有在第二层网络中才使用到了(3)式,而在第一层网络中只是用到了(2)式?
同样的,用来观察第二层网络学习到的特征的不变性的方法也是没太懂。
总的来说,文章使用了一个两层的特征提取的网络,在对每一层的特征进行平均池化后,利用SVM分类器进行分类。具体的结构如下图所示:
试验中的那些参数,都是通过交叉验证而得到的。通过实验的结果可以发现,尽管是利用毫无关联的视频数据学习到的特征,但依然取得了不错的结果。
相关文章推荐
- 【CV】ICCV2015_Unsupervised Learning of Visual Representations using Videos
- Unsupervised Learning of Visual Representations using Videos
- 阅读小结:Unsupervised Learning of Visual Representations using Videos
- PS: Unsupervised Learning of Visual Representations Using Videos___ICCV2015
- [读PAPER]Online Unsupervised Feature Learning for Visual Tracking
- 【CV】ICCV2015_Unsupervised Visual Representation Learning by Context Prediction
- 【深度学习论文翻译】Learning Spatiotemporal Features with 3D Convolutional Networks全文对照翻译
- 时空特征--Learning Spatiotemporal Features with 3D Convolutional Networks
- 笔记:Semi-supervised domain adaptation with subspace learning for visual recognition (cvpr15)
- An Analysis of Single-Layer Networks in Unsupervised Feature Learning
- Rewiew: Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity(IEEE)
- 论文笔记C3D:Learning Spatiotemporal Features with 3D Convolutional Networks
- 用500行Julia代码开始深度学习之旅 Beginning deep learning with 500 lines of Julia
- 深度学习文章阅读4--Learning Spatiotemporal Features with 3D Convolutional Networks
- 论文阅读 Visual Categorization with Bags of Keypoints
- Correlation Filter in Visual Tracking系列二:Fast Visual Tracking via Dense Spatio-Temporal Context Learning 论文笔记
- Julia: Beginning deep learning with 500 lines of Julia
- deep-learning-with-python --the author of keres
- [Stereo_unsupervised][cvpr16]Unsupervised learning of disparity maps from stereo images
- Visual Tracking with Online Multiple Instance Learning (MIL)及Robust Object Tracking with **paper笔记