文|白鹡鸰想把小轶挂到三作
编|小轶已把白鹡鸰挂到三作

这本应是白鹡鸰在小轶追杀下游刃有余拖稿的一天,结果小轶再次把一篇新论文喂到了我的嘴边。象征性地打开论文,草草扫过去,嗯,迁移学习,嗯,新SOTA,嗯,计算需要的储存资源是fine-tuning的1%。哇哦,厉害,厉害,但这不影响我不想写呀?下拉,看看附件部分图表漂不漂亮,然而,首先看到的却是:

作者贡献:
……
Mike (四作):参与每周例会;由于对文献不够熟悉,把事态搞得更为复杂;坚持认为本文的核心想法不可能行得通;为研究的框架作出贡献;在写作方面提供了相当的帮助。

鉴于这是 Google Brain 的文章,四个作者全是实习生乱编故事的概率不大。白鹡鸰随手一搜,哇,不得了啊,这 Vincent,Hugo,Mike 都是万引大佬,就连“萌新”一作,也是2017年至今快700被引了的“大佬宝宝”啊!所以,这篇文章到底在干什么,居然会让大佬们发生争论,最终导致 Mike 受到如此待遇呢?

论文题目:
Head2Toe: Utilizing Intermediate Representations for Better Transfer Learning

论文链接:
https://arxiv.org/abs/2201.03529

代码链接:
https://github.com/google-research/head2toe

大胆推测

在迁移学习里,有着两种常见的做法:linear probe和fine-tune。linear probe不对训练好的模型做变动,只是用它从下游数据集提取特征,然后利用逻辑回归拟合标签;相对的,fine-tune则是利用下游数据再次微调预模型中的所有参数。在目前大多数的实践中,哪怕下游数据集体量很小,fine-tuning的迁移效果都会比linear probing要好。但是由于fine-tuning在处理每个下游任务时,都需要重新运算,然后存储一组新的参数,成本极高,缺乏实用性。换言之,迁移学习现在面临着性能和成本难以兼得的问题

而这篇论文的灵感,正是来自作者对fine-tune和linear probe的观察。为什么即使下游数据集很小,fine-tune的迁移效果还能这么好?这个过程中,模型到底学到了什么?它真的在学吗?或者……有没有这样的可能:预训练的时候模型已经学会了下游数据集需要的特征,fine-tune过程中,有很多操作其实是多余的?

为了进一步地挖掘fine-tune和linear probe之间原理的差异性,作者们做了这样一个实验:首先,针对一系列的下游数据集,分别从零开始训练一个新模型(learning from scratch, 简称SCRATCH);然后,利用linear probe和fine-tune将在ImageNet-2012上预训练的模型迁移到各个数据集上;图1展示的是三种方式获得的模型的精度对比情况。在这里,因为linear probe没有改变预训练模型提取特征的方式,只是针对下游数据集调整了不同特征分布对应的分类,linear probe和SCRATCH的精度差异可以用来衡量预训练用的数据集和下游数据集中特征的分布差异情况,即

▲图1 在域偏移程度不同的下游数据集上,linear probe和fine-tune的迁移效果比较

图1中,从左到右展示了域偏移程度从最大到最小的情况。当下游数据的域分布基本被预训练数据的域分布包含时(最右),linear probe和fine-tune都可以取得不错的效果。但当域偏移程度严重时(最左),linear probe的效果会出现显著下降,相比之下,fine-tune却依然稳坐钓鱼台,甚至在一些数据集上的精度超越了SCRATCH。这样的情况引出了更为具体的猜测:fine-tune在out-of-distribution情况下,表现突出的关键既不是调整特征分布与其对应分类的参数,也不是在学习新的特征,而重点是调整已存在的中间特征

接着,作者用公式进一步描述了这个猜测:将记作输入,记作权重,网络的输出则是,那么我们经典的神经元输入和输出可以写作和,接着,对于fine-tune的神经网络,由于只是权重发生变化,我们可以记作,做一个泰勒一级展开:

402 Payment Required

基于链式规则,这个式子可以进一步写成

402 Payment Required

此处通过linear probe的同款操作就可以获得。

以上推导意味着,可能在fine-tune当中效果最大的部分是中间特征的线性组合。而这个猜测是有一定依据的,近两年的研究中[1,2],有观察到在fine-tune过程中,预训练模型的参数变化确实不大,而fine-tune模型的线性逼近版本,也能在迁移学习中取得不错的效果

但是,如果这就是真相,岂不是显得大家这么多年来执行整个fine-tuning流程的操作很憨吗?如果这就是兼得性能和成本的方法,真的这么久没有人发现吗?白鹡鸰揣测,Mike可能就是在这个时候提出了质疑,以从业多年专家的角度,觉得这个理论不会成功。他的质疑也不是毫无道理,毕竟公式展示的只是理论近似,数据上能不能实现完全两说。总之,打再多的嘴仗也没有用,实践才是检验真理的唯一标准,那么接下来压力给到实验环节~

小心求证

实验的第一步,相信大家都能想到:把fine-tune的中间特征想个办法抠出来,套到一个naive的方法上,然后对比一波现有方法。行的话就发paper,不行的话就当无事发生过,或者是在未来其他工作中轻描淡写提上一段

震惊!三个万引大佬嘴仗,原来是为了他……?相关推荐

  1. 万引大佬自曝这样被MIT拒掉:“系里不喜欢你”,找校长对峙后悟了

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 鱼羊 丰色 发自 凹非寺 量子位 | 公众号 QbitAI 想拿到M ...

  2. 学习总结 | 10 万引大佬分享「做科研、写论文、发论文 10 大技巧」

    文章目录 一.前言 二.关于论文的 10 个 Tips 一.前言 一位堪称 "Nature/Science 论文收割机" 的学术大牛 Edward Sargent.分享了 10 点 ...

  3. 10万引大佬分享「写论文10大技巧」,连怎么沟通审稿人都提到了 | 科研党福利...

    Alex 发自 凹非寺 量子位 | 公众号 QbitAI 还在为论文头秃吗?这里有一份科研党福利,快看过来~ 一位堪称"NS论文收割机"的学术大牛,为各位奉上了10点关于写.发论文 ...

  4. 三种万用遥控器的比较分析

    下面分析家用电器红外线遥控器一般原理的基础上,探讨了多合一遥控器的三种实现方式,比较三者各自的优缺点,重点介绍了最新开发出的代码型遥控器的工作原理与产品应用前景. 一,多合一遥控器的出现 二,红外遥控 ...

  5. 弘辽科技:适合淘宝新手的三种基础引流技巧

    原标题<弘辽科技:适合淘宝新手的三种基础引流技巧> 要想网店生意好,那流量是必不可缺少的因素,因为流量是一家网店运营的基础,没有流量的店铺基本上无法维持正常运营的.作为一家网店的运营者,大 ...

  6. 没有美术基础如何学?月薪过万建模大佬的八字真言

    工具只是工具,当然工具是必备基础, 对于一个三维模型师来说 最重要的是造型能力.原画递给你一个角色或者一个场景, 你要是底子好 ,就能迅速的将这张图中的物体结构进行分析, 然后效率又高 质量又好.那么 ...

  7. GitHub上四万 Star 大佬的求职回忆

    点击上方"程序IT圈",选择"置顶公众号" 每天早晨7点半,准点开车 本文来源于程序员江湖 本文作者,在他的 GitHub 有一个高达 40K Star 的技术 ...

  8. 人生的三境界(引三首宋词)——摘抄

    第一种境界的诗句引自晏殊的<蝶恋花>: 槛菊愁烟兰泣露,罗慕轻寒,燕子双飞去.明月不谙离恨苦,斜光到晓穿朱户.昨夜西风凋碧树,独上高楼.望尽天涯路.欲寄彩笺无尺素,山长水阔知何处. 第二种 ...

  9. 震惊!680万用户信息泄露,国内某人脸识别公司数据库“裸奔”

    华盟君报道,据某404网站,以及微博安全应急响应中心消息,国内某人脸识别公司发生大规模数据泄露事件.超过250万人的数据可被获取,680万条记录泄露,其中包括身份证信息,人脸识别图像及捕捉地点等. 据 ...

最新文章

  1. oracle易忘函数用法(2)
  2. 3d打印 开源_公开地图以实现可持续性,在农场进行3D打印以及更多开源新闻
  3. ssms 连接 ssis_SSIS连接管理器:OLE DB,ODBC,ADO.NET
  4. [Latex排版]之visio图转成eps的方法
  5. [代码]获取源页的控件值
  6. CentOS 7.5 重置 root 密码
  7. fanuc机器人刷机教程_发那科Fanuc机器人编程操作视频教程
  8. Plist 文件详解 (一)
  9. php网站挂马,网页挂马详细教程
  10. 简单人物画像_超级简单人物素描画图片精选
  11. ALPS磁式传感器和轴地磁式传感器
  12. 神经网络中的logits是什么意思
  13. 尽量使用unity引擎的Random随机数
  14. 内存频率有哪些?怎么看内存频率
  15. 苹果邮箱登录入口_LOL手游只有一种登录方式怎么办?只有拳头账号登录入口解决方法...
  16. 为什么百度搜索引擎优化比以前更难?
  17. 通信之道-傅立叶分析
  18. 我是如何做到使得开源系统拥有安全的防护框架的呢?
  19. 后端报错fastJson.Json.toJson错误
  20. python版本切换

热门文章

  1. Windows下搭建FTP服务器
  2. 4个强大的Linux服务器监控工具[转]
  3. Javascript:前端利器 之 JSDuck
  4. 成功:选择比努力更重要,智慧比勤奋更重要
  5. GARFIELD@10-07-2004
  6. 解决Too many open files问题
  7. 树莓派Pico的一些有趣的基本实验
  8. getimg()在java中,java – 使用getClass()加载资源getResource()
  9. mysql中定时任务_mysql中定时任务的用法
  10. java长连接例子_java实现长连接