【论文阅读】How transferable are features in deep neural networks?

2023-11-10

研究目标/问题陈述

训练在图像上的深度神经网络,往往前面一层或几层学到的特征都是类似Gabor filters or color blobs的特征(作者叫它们first-layer features),这些特征是所有图像所共有的特征(作者叫它general)。而相对的,last-layer features 是 specfic 的。

通常,越general的特征就越适合用来迁移。作者想要做的事情是量化神经网络每一层提取的特征的general程度。

同时,从first-layer feartures general 到 last-layer features specific 必定会有一个transition,而作者想要知道的是:这个transition是在某一个layer突然发生的还是通过几个layers逐渐发生的。并且,这种transiton是在fisrt layer 还是 middle layer还是last layer附近发生的。

总结一下,这篇文章想要回答的问题:

  1. 能否量化特定layer的general或specific程度?
  2. Transition是否突然在某一层发生,还是分散在几层?
  3. Transition在哪里进行:在网络的first,middle或last层附近?

关键方法

文章进行了如下图所示的实验,有四种模型

  • Domain A上的基本模型BaseA
  • Domain B上的基本模型BaseB
  • Domain B上前n层使用BaseB的参数初始化(后续有frozen和fine-tuning两种方式)
  • Domain B上前n层使用BaseA的参数初始化(后续有frozen和fine-tuning两种方式)

在这里插入图片描述

通过对各个模型的比较来估计神经网络每层提取特征的general程度。同时,通过比较迁移参数时frozen和fine-tuning两种方式,揭示fragile coadaptation。【脆弱的共适应性:当训练期间相邻层上的神经元以这样的方式共同适应时,当一层被冷冻时不能被重新发现。(没太懂)】

实验与评估

文章使用Caffe (Jia et al., 2014)数据集,设计了三组实验:

  • 数据集被随机划分为A和B,这时两个子数据集的分布相似
  • 数据集被分为人工图像集和自然图像集,这时两个子数据集分布差异很大
  • 采用随机权重

需要注意的是,本文所用数据集并非少样本数据,整体数据集和子数据集(随机划分时A和B都有500个类别)都很大。

Similar Datasets: Random A/B splits

在这里插入图片描述

  1. 白色圆圈baseB表明,神经网络经过训练,对500个类别进行分类,top1的准确率0.625(37.5%的错误率)。此错误率低于1000分类的网络。1000分类的网络top1的错误率达到42.5%。原因:尽管更少的数据可能会引发更多的overfitting,但是由于数据量小,犯错误的途径也会少。
  2. 深蓝色圆圈BnB表现出一种奇怪的行为。正如所料,网络第一层的表现与baseB相同。也就是说,如果我们学习八层特征,固定第一层学习到的Gabor filter特征,重新初始化整个网络,并将其重新训练,会获得相同的性能。该结果也适用于第二层。然而,第3-6层,特别是第4和第5层,表现出更差的性能。可以说,中间几层的通用性不好。由于他们处于十分关键的位置,中间几层的特征变换还存在着很强的依赖性,这个现象称为fragile co-adapted features。作为一条流水线,相邻层之间的参数存在着很高的耦合性,他们往往是通过协同学习得到的,而不是各自单独学到的。因此将它们拆开学习会得到不好的结果(模型的前几层主要完成通用的特征变换,因此即使固定它们,效果也不会太差;到了最后几层,由于模型的特征已经基本构建完成,这时问题已经从一个复杂的高维非线性问题变成了相对低维的线性问题;最困难的就是中间的步骤,这里是要完成专用特征变换的关键位置)。第六层之后,模型又恢复了正常,因为重新学习的内容越来越少,学习起来足够简单。或者,可以说,第6-8层之间特征的相协同性比前面几层较小。
  3. 浅蓝色圆圈BnB+表明,微调复制过来的参数可以防止在BnB网络中观察到的性能下降。
  4. 深红色圆圈AnB展示了固定参数的迁移学习实验结果。第一层和第二层几乎完美地从A迁移到B,没有太多影响模型效果。可见,不仅第一层Gabor filter的特征是通用的,而且第二层特征也是通用的。第三层显示有轻微下降,第4-7层显示性能下降很明显。 这种下降是两种原因共同导致的:层与层之间的耦合性也被打破,特征通用性降低。在第3层,第4层和第5层上,第一个原因起主导作用,而在第6层和第7层上,第一个原因起作用减小,表现形式的特殊性在性能下降上起主导作用。
  5. 浅红色的AnB+显示出特别令人惊讶的效果:先迁移特征再对其进行微调,所生成的网络比直接在目标数据集上训练的网络具有更好的泛化能力。 以前,可能要进行特征转移学习的原因是在不对小型目标数据集进行过度拟合的情况下进行训练,但是这一新结果表明,即使目标数据集很大,迁移特征也可以提高泛化性能。请注意,这种效果提升不应归因于较长的总训练时间(对于AnB+为450k基本迭代+ 450k微调迭代,而对于baseB为450k),因为BnB+网络也在相同的较长时间内训练并且没有表现出来同样的性能提升。因此,效果的优异源自于:数据A和B的相似度很高,此实验相当于接触了更多的训练数据,基础数据集的效果仍然存在,因此更加优异。
Dissimilar Datasets: Splitting Man-made and Natural Classes Into Separate Datasets

如果基础任务和目标任务变得不相似,特征迁移的有效性就会有所下降。文章在ImageNet中创建两个不相似的数据集A(人造对象类)和B(自然对象类)。
下图的左上方子图显示了baseA和baseB网络(白色圆圈)和BnA和AnB网络(橙色六边形)的准确性。
在这里插入图片描述

Random Weights

文章还比较了随机初始化权重的情况,因为Jarrett等人论文表明,随机初始化的卷积核参数,ReLU激活函数,池化和LRN正则化的组合也可以有效学习特征。 他们在Caltech-101数据集上,训练了一个两层或三层的网络。那么,他们所认为的随机初始化卷积核参数,ReLU激活函数,池化和LRN正则化的组合能不能延伸到更大的数据集上,训练更深层的网络?

上图的右上子图显示了随机初始化前n层(n=1,2,…,7)的卷积核参数后,获得的精度。在第1层和第2层,随机初始化卷积核参数,使得性能迅速下降,然后在第3层和第3层以后下降到接近不变的水平,这表明在卷积神经网络中使用随机的权重可能不像在较小的网络规模和更小的网络中那样简单。

结论

  • 特征迁移使得模型的泛化性能有所提升,即使目标数据集非常大的时候也是如此。
  • 随着参数被固定的层数n的增长,两个相似度小的任务之间的transferability gap的增长速度比两
  • 相似度大的两个任务之间的transferability gap增长更快 两个数据集越不相似特征迁移的效果就越差
  • 即使从不是特别相似的任务中进行迁移也比使用随机filters(或者说随机的参数)要好
  • 使用迁移参数初始化网络能够提升泛化性能,即使目标task经过了大量的调整依然如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【论文阅读】How transferable are features in deep neural networks? 的相关文章

随机推荐

  • Spring Cloud高可用之熔断器 - Hystrix

    一 Hystrix高层示意图 1 调用 Main 方法 2 业务验证 1 判断有没有缓存 2 判断熔断有没有开启 3 判断限流有没有触发 4 判断业务执行有没有失败 5 判断业务执行有没有超时 6 所有的失败都会触发fallback 3 业
  • WebStorm开发应用——前端页面 2

    相比于上一篇博客 WebStorm开发应用 前端页面 这次又做了一个登录页面 就是这个样子 我们都知道登录时账号和密码和如果正确的话 就跳转到相应页面上 那么该如何实现这一功能呢 如果是账户密码固定的话 利用js脚本可以这样写来做一个简单判
  • 03-springcloud的优缺点?以及Springboot的区别?

    在面试的过程中经常问道 你这个项目的选型是怎么样的 为什么会这样选型 以及和某某知识点的区别 你是怎么理解的 那么我们就通过这个问题来谈谈springcloud的优缺点吧 第一个问题 springcloud的优缺点 优点 1 耦合度比较低
  • 卷积神经网络的简单理解

    文章目录 1 灵感来源 2 定义 3 卷积神经网络结构 3 1 数据输入层 Input layer 3 2 卷积计算层 CONV layer 3 3 ReLU激励层 ReLU layer 3 4 池化层 Pooling layer 3 5
  • unity timeline的使用

    一 简单了解 timeline 可以用来做什么 所以 timeline 可以用来做一些技能技能 剧情动画等等 想剪辑视频一样 在时间先做做各种动画 配音等操作 二 简单使用 1 在window secquencing打开timeline编辑
  • Qt容器之QMap

    QMap属于关联式容器 其底层结构是通过二叉树实现 故其查找value的效率很快 QMap中的数据都是成对出现的 第一个称为key 键 第二个称value 键值 定义 QMap
  • 2019年11月中国大陆编程语言排行榜

    2019年11月2日 我统计了某招聘网站 获得有效程序员招聘数据9万条 针对招聘信息 提取编程语言关键字 并统计如下 编程语言比例 rank pl percentage 1 java 33 62 2 c c 16 42 3 c sharp
  • 堆栈brk指针

    内存分配的原理 从操作系统角度来看 进程分配内存有两种方式 分别由两个系统调用完成 brk和mmap 不考虑共享内存 1 brk是将数据段 data 的最高地址指针 edata往高地址推 2 mmap是在进程的虚拟地址空间中 堆和栈中间 称
  • 2016 World Final L Swap Space

    题意 有n个磁盘 大小为a 要更新成b 问最小需要多少个多少额外的开销能完成更新 并且没有数据损失 思路 先做a i lt b i 的 再做a i gt b i 的 a i lt b i 的按照a i 从小到大排序 a i gt b i 的
  • 反爬虫的四种常见方式-JS逆向方法论

    现在的网页代码搞得越来越复杂 除了使用vue等前端框架让开发变得容易外 主要就是为了防爬虫 所以写爬虫下的功夫就越来越多 攻和防在互相厮杀中结下孽缘却又相互提升着彼此 本文就JS反爬虫的策略展开讨论 看看这中间都有着怎样的方法 一 JS写c
  • vue + jquery+ bootstrap

    使用 vue简单写的一个页面demo 用jquery发送ajax请求 bootstrap 组件
  • 圆弧半径计算图解_折弯大圆弧每次折多少刀,折弯角度怎么计算?

    问 我也是钣金人 怎么加入组织 答 点标题下方蓝字 钣金学习网 第一种方法 我们先看下图 板厚2mm折弯角度120度折弯外部半径30中性层半径29 圆弧折弯我们算展开取中性层的弧长 所以算折弯刀数及每刀折弯角度也按中性层弧长算 中性层距边的
  • 企业文件存储服务器规划,企业文件存储服务器

    企业文件存储服务器 内容精选 换一换 鲲鹏BoostKit分布式存储使能套件特性清单 云硬盘 Elastic Volume Service EVS 可以为裸金属服务器提供高可靠 高性能 规格丰富并且可弹性扩展的块存储服务 满足不同场景的业务
  • 微信小程序嵌入 H5 页面(web-view)

    在开发微信小程序的时候 我们有时候会遇到将 H5 页面嵌入到小程序页面中的情况 微信小程序自带的 web view 组件相当于 HTML 页面中的 iframe 方便我们在微信小程序中打开一个 H5 页面 官网描述 承载网页的容器 会自动铺
  • linux虚拟化cpu的绑定,为虚拟机vCPU绑定物理CPU

    使用taskset命令将vCPU线程绑定到指定的物理CPU 例如 某虚拟机的qemu进程及两个vCPU线程如下 root kelvin ps eLo ruser pid ppid lwp psr args grep qemu grep v
  • vue项目内存溢出

    报错信息 终端安装包 npm install increase memory limit fixbug cross env g package json的script中添加如下代码 fix memory limit cross env LI
  • 解决nginx反响代理web service的soap:address location问题

    问题 通过nginx代理webservice soap address location不是nginx的代理地址 而是原始地址 解决方法如下 nginx配置改为 upstream webservice server 192 168 3 13
  • Windows1.0到Windows10三十年进化史,你还记得自己最初使用的系统吗?

    从1985年Windows 1 0正式诞生到2015年Windows 10诞生 微软花了三十年的时间 从像素化桌面到现在扁平化的界面 让我们来看一下Windows 1 0到Windows10三十年来的变化 1 1985年11月20日 微软发
  • 计算共形几何是计算机科学和,科学网—计算共形几何概览 - 顾险峰的博文

    如果您觉得以下内容比较生疏 不必过于焦虑 请继续关注本公众号 我们将会详尽解释以下所涉及的概念 定理 算法和应用 在未来岁月中 让我们共同学习 共同成长 计算共形几何是计算机科学和纯粹数学之间的交叉学科 其目的是将现代几何 经典几何的概念和
  • 【论文阅读】How transferable are features in deep neural networks?

    研究目标 问题陈述 训练在图像上的深度神经网络 往往前面一层或几层学到的特征都是类似Gabor filters or color blobs的特征 作者叫它们first layer features 这些特征是所有图像所共有的特征 作者叫它