论文阅读:《Spatial Transformer Networks》

后天例会又轮到我做报告了。今天看了这篇 Deep Mind团队于2015发表的文章,先写些感想,明天再做份PPT.


论文阅读:《Spatial Transformer Networks》_第1张图片

对数据增强(data argumentation)我一直有以下几个疑问:

  • 问题1: 就是数据增强的目的是什么?

一个教科书级别的答案就是: 提高模型泛化能力,在数据稀缺时甚至是必不可少的操作。

  • 问题2: 数据增强为什么会work?网络的学习行为发生了什么变化?

教科书上说数据增强可以看做是一个正则化技术。哦,我的上帝, “正则化”是多么学究味的一个术语。 并且这个答案根本就没有回答我的问题。我的问题“数据增强为什么有效”其实问的就是“数据增强为什么有正则化的效果‘。

或许一个具体的例子能给我们一些启发。我们训练一个神经网络,希望它能识别女人和男人。 如果我们的数据集是这样的,男人都在图片左侧,女人都在图片右侧, 网络应该很轻松地就能根据位置特征识别男人女人。但是显然这个网络是比较头铁的,它确实学习到了特征,并且在这个数据集中,这个特征应该是“most discrimiative”即最具判别力的,但是平移鲁棒性就很差了。 我们利用数据增强技术,产生不同位置的男女图片, 这个网络应该就会避免学习位置特征了,转而去学习更加鲁棒的特征。

所以通过上面的例子,我们说据增强可以防止神经网络学习到不相关的特征,而更加注重于学习具有判别力且泛化能力更高(更加鲁棒)的特征。或许你们有更好的答案.

  • 问题三: 数据增强如何变得更加高效?

数据增强可以看做是一个策略选择问题(缩放,平移,旋转等),一个数据增强方式(策略)不可能在所有实验上奏效。设原始数据为 x, 一种特定的数据增强方式可记作函数 f(X, θ), 则变量θ的取值也是令人头疼的问题,如平移,平移多少像素才是对网络训练最有效的?再如旋转,样本旋转多少角度后对网络性能贡献最大? 我无从得知。大家做实验时,也大都采取随机赋值的方法。

  • 问题四: 数据增强真的是必不可少的吗?

诚然有些文章根据实验结果说, 我们的方法不做数据增强也好的一匹。 但是大多数文章都或多或少做了数据增强。前面也提到了,数据稀缺时更是常规操作。 我产生这个问题的源头就是: 我们人类做数据增强了吗? 好像没有,我们要识别番茄和香蕉,好像天生就知道根据颜色来判别,要判别女人和男人,呵呵,那就更不用说了。

但是我后来仔细想想, 我们的大脑其实一直在做数据增强,而我们不自知罢了。如果未来的番茄和香蕉都是五颜六色的, 我们的大脑就不会去根据颜色这一特征来判断西红柿和香蕉了,因为这个特征不鲁棒了,我们转而根据形状来区分这两种水果。如果古代的女人不是我们现在这个样子,全都是李宇春那样的短发、对A, 直到后来才渐渐进化成前凸后翘的样子, 我们识别男人女人的方式也才慢慢稳定下来。

我想表达的意思就是: 我们人类的大脑也在不停地做数据增强。以物体识别为例,新数据,新事物会刺激我们刷新认知,去学习更加鲁棒的特征。只不过这样的刺激很少罢了。

另外一个现象就是: 接触过“视觉欺骗”类似的图片的同学可能都有这种感慨: 这不是我认识的xxx, 或者: 我可能看了假的 xxx. 好像我们在不自觉地进行这样一种大脑活动: 我们竭力把眼前看到的东西变化成一个符合标准的事物,如果转变成功了,我们就认可眼前看到的东西属于那个事物,否则我们的认知就失败了。还有做题,尤其是写着“举一反三”的习题组,我们总是想方设法转变成我们熟悉的、会做的题目。如果转变成功了,题目也就迎刃而解。如果不会做,老师教你怎么转变后,你的这种转变能力得到了提升。

我想说的就是: 我们的大脑在做数据增强时,可能在学习一种将眼前事物标准化的转化机制, 并且这种能力的提升也是新数据驱动的。

这篇文章的 motivation 就是,对这种转变机制进行建模,提出一个新的网络模组,并插入到现有的神经网络中,从数据中学习到一个转变函数,将输入数据矫正标准化后再进行后续的识别任务。


spatial transformer networks.png

你可能感兴趣的:(论文阅读:《Spatial Transformer Networks》)