程一-计算所 发表于 2016-6-21 10:46:59

【VALSE前沿技术选介16-17期】

http://mp.weixin.qq.com/s?__biz=MzA3Mjk0OTgyMg==&mid=503639403&idx=1&sn=49fe42b82d29bffa4bcf6a1c3b34f284#rd【VALSE前沿技术选介16-17期】Low-shot Learning 模拟人类学习2016-06-20 小S VALSE
今天要给大家推荐的论文做的事情比较新颖,可以说填补了一类学习的空白。这篇论文叫《Low-shot visual object recognition》 ,来自 Facebook AI Research。那么这类学习是什么呢,我们都知道,我们人类从出生开始,就一直在输入和学习观察这个世界。这种能力使得我们可以在遇到新的以前没见过的事物(novel class)时能立刻分辨出来,比如 fake data 或者 synthesized unreal picture 等等。这种能力并不要求我们对于这个没见过的类别(novel class)有多少前期样本才能习得。然而,现在的大部分机器学习方法都无法真正在上述场景下做好对于 novel class 的识别。为了填补这个空白,或者说促进这方面的研究,这篇论文 用 low-shot learning 命名了这类场景下的学习。想必大家都听说过 zero-shot,one-shot,这篇论文 中的这个 low-shot 也是取它们的近义,即针对仅有少量观察(训练)样本下的物体识别学习。这点和这篇论文 的第一个贡献紧密相关。具体来说,(1)我们熟悉的 one-shot learning 尽管也是利用极少训练样本,但是这类学习方法暂时只在 character/digit 这样分布简单的数据类型上被证实有效;(2)而我们 zero-shot learning 虽然目的也是为了减少所需要的学习样本数量,任务难度也更大(因为 fine-grained 的数据很难标注和刻画),但是它对于 novel class 有一个过强的假设,则我们必须没有任何一个 novel class 的 sample(所以是 zero-shot);(3)第三类相关的学习方法是 transfer learning,其目的是降低学习新类(或者新任务)的难度,但是它往往需要 novel class,也就是要被学习的新类有大量样本——这也是不符合我们人类的真实能力需求的。于是乎,这篇论文 的第一个贡献就是,提出了 low-shot learning 的思想和方法(protocol)。它结合了 one-shot 和 transfer learning,旨在仅有少量学习样本(1-20个)的情况下,还能识别出具有复杂分布的数据类型的 novel class。
作者提出的 protocol 由一个 learner,两个 learning phase (representation learning phase + low-shot learning phase)和一个 testing phase 构成。其中,learner 就是 feature extractor + classifier 的结合,在这篇论文中就是 convnet 和 multi-class logistic regression。如果我们把已有的基础类和其数据集表示为 C_base 和 D_base,要识别的 novel class 相应为 C_novel 和 D_novel。那么,在这个 protocol 下,整个 low-shot learning 的过程如下:

[*]learning phase 的第一阶段,我们像常规一样,基于 C_base 和 D_base,训练我们的 learner,并且固定 learner 中的 feature extractor 的 parameters(以此模拟我们人类的长期学习过程)。
[*]进行完第一阶段后,learner 的 base classifier 会被去除。
[*]learning phase 的第二阶段,是 low-shot learning phase。在这个阶段,feature extractor 的 parameters 不允许被更新,我们的目的是让模型根据少量的 novel class 正样本(1-20个)去学习 learner 的 针对 novel class 的 multi-class classifier 的 parameters。
[*]上面的第二个阶段和第三阶段的 testing phase 是交替进行的(5 trials)。在 testing phase,模型需要从 D_base 和 D_novel 两个数据集里采样进行测试。

从上面的流程可以看出,最重要的就是如何让模型在 representation learning phase 学出来的 representation 更加 generalized,也就是更加有利于后续的 low-shot learning。这里就是这篇论文 的第二个贡献——提出了一种 loss function,去实现上述目标。这个 loss function 的设计隐含着 low-shot learning 的思想。作者认为,low-shot learning 的学习过程可以看成:在固定 featurization function \Phi^* 的条件下,去”更新“(retrain)已经学好的基础类时得到的 weight matrix(也就是 representation learning phase 后)。这是因为我们需要这个 representation 越 generalized 越好。于是乎,最好(极端)的情况就是我们更新后的 weight matrix 和更新前几乎是一样的,也就是 new weight matrix W^{\hat} 等于原来的 W^*。继续推演就是,我们希望在 representation learning phase 得到的基于 D_base 得到的 weight matrix W^* 是使得 loss function 得到全局最小值的。有了这个思想,这篇论文 的作者就改造了原来的 loss function。原来的 loss function 是:为了加入全局最小值的 objective,作者利用 loss function 是凸函数的性质,将梯度加入:这个梯度越小,则得到的 W 更接近全局最优,如果梯度为零,则是上述思想中提到的极端情况。上述被改造后的 loss function 就是这篇论文 的第二个贡献,这个 loss 被称为 squared gradient magnitude loss (SGM)。
可以看出,作者提出的这个 SGM loss function 是对于 weight vector 进行 regularized。而类似的还有针对 feature representation 的 regularization。这些相似的 regularization approaches 都在本文中做了实验对比。结论是作者发现 feature regularization 这类方法对于 low-shot learning 很有帮助,可以进一步帮助降低 low-shot learning 需要的 novel class 样本数(降低一半)。总结来看,这篇论文 先驱性地提出了 low-shot learning scenario,意图更逼近人类真实的学习方式。尽管现在的结果还没有那么振奋人心,但如作者所说,希望这篇论文 可以吸引更多研究者一起推动这方面的发展。

Bharath Hariharan, and Ross Girshick. "Low-shot visual object recognition". 2016 arXiv preprint.





页: [1]
查看完整版本: 【VALSE前沿技术选介16-17期】