关于projection head作用的讨论

原问题来源于知乎

MoCo V2加了projection head 后在ImageNet linear classification上涨了6个点,并加上了SimCLR的augmentaion之后吊打了SimCLR,最后称large batches是不需要的....

一直以来对projection head

这块总觉得是个谜....

比如在person re-id等metric learning的task里面,有时候总是在加一个non-linear projection head,在head之前用ID loss训练,在head之后用metric learning loss训练。head之前和head之后的embedding空间到底哪个更适合retrieve任务,本质有何不同总是一个疑问

比如hinton这篇提到head之前的feature presentation更好做分类,是因为metric learning loss会让颜色等信息丢失(因为data augmentation有color distortion),但是如果没有这些augmentation的话,这个head还需要吗,以及metric learning task的时候,什么时候需要这种non-linear head,加了之后head前后的空间feature都适合什么样的loss去训练

以及包括head中的L2 normalization去掉之后,会让contrastive task精度变高,但会导致representation的结果变差。这些现象都很神奇...但一直都没什么严格的解释。

该作者的回答下一位层主有更进一步的解释:

层主:

第一,嵌入一定与目标函数有关,使用不同目标一定影响嵌入。

第二,从信息瓶颈的角度,网络是逐渐丢掉非必要信息的,加入head后,取投影前的空间是会保留更多信息的。

第三,加入L2约束本质是降低head的复杂度,使得head不会为所欲为,也就变相减少了head处理信息的能力,其前的空间保留的信息就多了,或者说整个网络会更稳定一些了,泛化性改善了。

作者:

这些解释都很显然,但是有些情况用这些道理解释不了。比如说reid任务的head层(eg.BNneck)虽说head之前的信息更多,但是并没有发现head之前的feature更有利于retrieve的MAP。虽说信息更多这一点是同意的,但是更多的信息是否是对最终的metric是有利的呢?这篇文章是有利的,更多时候对于不同的任务结论也不同。不用层用不同的loss,后面的层的loss梯度会对前面一层的feature产生什么有利的影响也是个疑问。这个L2 norm层直觉上的确是为了让contrastive loss不那么放纵的改变embedding空间,但是去掉之后会对最后contrastive task MAP有所提升是不能理解的,人脸那一套早已证实L2norm层之后的feature更有利于contrastibe task。

层主:

我觉得是没有固定的结论的,只是能不能讲通的问题,具体影响要看具体问题,毕竟我们还是局部优化,也许只有对真正的全局最优解会有明确结论,我觉得这里只是能否说通的问题。

使用嵌入+投影的结构与单纯使用嵌入之间到底差别在哪里,如何理论刻画是个有点意思的问题。感觉上使用二阶段结构是加了先验,有点用多矩阵相乘完成矩阵填充的意思。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,135评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 6,949评论 0 2