Introduction

这篇paper是做Transformer压缩的,但其实bert的核心也就是transformer,这篇paper的实验里也做了bert的压缩。作者的主要工作是提出了LayerDrop的方法,即一种结构化的dropout的方法来对transformer模型进行训练,从而在不需要fine-tune的情况下选择一个大网络的子网络。

这篇paper方法的核心是通过Dropout来去从大模型中采样子网络,但是这个dropout是对分组权重进行dropout的,具体而言,这篇paper是layerwise的dropout,可见下图:

作者提出的方法是用LayerDrop的方法只训练一遍网络,然后在测试的时候可以根据不同的需求来选择不同的深度。

Method

transformer

首先回顾一下transformer的结构,一个transformer由若干个层组成,每个层包含一个多头注意力模块和一个全连接的前向层,每个注意力头的输入是一个矩阵X,X的每一行输入句子的每一个元素,然后进行下面的运算:

其中K、V、Q是三个参数矩阵,这一步输入的多个注意力头的结果会被拼接和变形为同样大小的X向量,然后经过一个全连接层:

然后transformer中其实还是有一个类似于ResNet的残差模块,因为在整个transformer中的生成的向量维度都一样,所以可以方便的进行addnorm操作来避免梯度消失的问题,同时transformer还引入了layer normalization的操作,这个是对同一层中的所有输出做标准化,而BN是对一个batch中的所有样本输出做标准化。

whatever,前面只是一个对transformer的复习~

Layer drop

正则化网络随机删除一些权重,提高鲁棒性,相当于给权重乘一个mask 矩阵

有些权重对性能的影响巨大,不能drop,相当于使mask矩阵某些位置固定为1

作者提出了一个可以让transformer能够在测试过程中使用不同深度的正则项训练方法,主要关注点在于剪枝层数。那为什么作者选择减少层数呢?举例而言,如果减少attention head的数量,那么其实是不能起到加速作用的,因为attention模块的计算是并行的。

那么最重要的问题就是要剪哪些层呢?作者考虑了不同的剪枝策略:

  • Every Other

    即每隔一层就以一定概率剪枝一层

  • Search on Valid

    计算不同组合的layer在验证集上的表现,这种往往非常耗时

  • Data Driven Pruning

    对每一个layer学习一个参数p,使得全局剪枝率为p*,然后对每个layer的输出添加这么一个非线性函数,在前向的时候只选择计算分数最高的k个layer。

Conclusion

这篇transformer压缩其实主要的工作在于很多的实验,因为还不太了解这块的各种数据集,所以就没有细看实验。这篇paper通过结构化的dropout来对网络进行训练,主要剪的是层数。

论文阅读:Reducing Transformer Depth On Demand With Structured Dropout相关推荐

  1. [论文阅读](Transformer系列)

    文章目录 一.Video Transformer Network 摘要 引言 相关工作:Applying Transformers on long sequences Video Transforme ...

  2. 论文阅读:Dense Depth Priors for Neural Radiance Fields from Sparse Input Views

    CVPR2022 Preliminary 首先我们由一组室内的RGB图像 { I i } i = 0 N − 1 , I i ∈ [ 0 , 1 ] H × W × 3 \{I_i\}^{N-1}_{ ...

  3. 论文阅读 | Cross-Attention Transformer for Video Interpolation

    前言:ACCV2022wrokshop用transformer做插帧的文章,q,kv,来自不同的图像 代码:[here] Cross-Attention Transformer for Video I ...

  4. 论文阅读: Spatial transformer networks

    文章目录 CNN存在的问题 Spatial Transformer 方法 Localisation Network Parameterised Sampling Grid Differentiable ...

  5. 【SOD论文阅读笔记】Visual Saliency Transformer

    [SOD论文阅读笔记]Visual Saliency Transformer 一.摘要 Motivation: Method: Experimental results 二.Introduction ...

  6. [论文阅读:姿态识别Transformer] TransPose: Keypoint Localization via Transformer 2021 ICCV

    [论文阅读:姿态识别&Transformer] TransPose: Keypoint Localization via Transformer 2021 ICCV 文章目录 [论文阅读:姿态 ...

  7. 《论文阅读》Knowledge-Enriched Transformer for Emotion Detection in Textual Conversations

    <论文阅读>Knowledge-Enriched Transformer for Emotion Detection in Textual Conversations 简介 论文试图解决什 ...

  8. Transformer系列论文阅读

    这是博主在五一期间对Transformer几篇相关论文阅读的小笔记和总结 也借鉴参考了很多大佬的优秀文章,链接贴在文章下方,推荐大家前去阅读 该文章只是简单叙述几个Transformer模型的基本框架 ...

  9. [论文阅读:姿态识别Transformer] POET: End-to-End Trainable Multi-Instance Pose Estimation with Transformers

    [论文阅读:姿态识别&Transformer] 2103 POET: End-to-End Trainable Multi-Instance Pose Estimation with Tran ...

  10. 论文阅读笔记--Aesthetics-Driven Stereoscopic 3-D Image Recomposition With Depth Adaptation-2018

    论文阅读笔记:美学引导的带有深度适应的立体3D图像重构 I.介绍 II.相关工作 A.单目(2D)图像处理 1)美学驱动的重构(Recomposition) 2)图像分割与抠图(Segment and ...

最新文章

  1. return与exit()
  2. 计算机本科重邮调剂重庆其他二本,重庆多少分能上二本大学,重庆二本大学最低分数线...
  3. SQL Server 设置编辑所有行
  4. The 'Microsoft Jet OLEDB 4.0 Provider' is not registered on the local machine
  5. VTK:几何对象之ConvexPointSet
  6. 设计模式之十一:抽象工厂模式(Abstract Factory)
  7. AC日记——约瑟夫问题 codevs 1282
  8. jq匹配偶数行_jQuery 偶数选择器(:even )的介绍
  9. 初学者如何选入门第一把吉他,这几个防坑避雷小技巧你一定要知道!
  10. 参加最牛逼的运营人年终聚会,是种什么样的体验
  11. 可用的公开 RTSP/ RTMP 在线视频流资源地址(亲测可行)
  12. 如何利用vga接口的显示器做笔记本的副屏
  13. Oracle Data Guard搭建——Physical Standby Database
  14. 如何把一张图片分割成几张
  15. MySQL学习笔记(3)--(DQL查询、MySQL函数)
  16. 半导体物理实验 04 - | 椭圆仪测量薄膜厚度
  17. 魔都蹭课、观光、酱油记
  18. 2023年一月份图形化四级打卡试题
  19. 解决小米pad USB安装apk时AS报错:INSTALL_FAILED_USER_RESTRICTED
  20. 【MindSpore深度学习框架】MindSpore中的张量Tensor

热门文章

  1. 由对称性知定点一定在x轴上_2021版江苏高考数学一轮复习讲义:第8章 第10节 圆锥曲线中的证明、探索性问题 Word版含答案...
  2. 外包公司的运作模式和赚钱之道-聊聊IT外包公司
  3. 利用Jmeter进行压力测试(基础版)
  4. 使用Windows ADK 创建以U盘引导启动的Windows PE
  5. MyEclipse断点无效
  6. 智能DNS - 免费智能DNS解析服务-迄今为止最好用的智能DNS
  7. 论文图标visio等字体对应
  8. 求助,DatabaseError: (cx_Oracle.DatabaseError) ORA-00904: xiaoli: 标识符无效
  9. Python基础_闭包和迭代器
  10. Banner加载轮播图