摘要:
背景 方法 作者们提出了一种模型驱动的方法,使用自动对抗的方法自动生成未观察过的对抗样本,并运用生成的样本最终提升阅读理解模型的效果鲁棒性,全程无需人工参与。 该方法可以简单地划分为三个步骤: (1)对每个训练样本利用对抗的方法生成一个干扰向量输入,使得它能够误导当前的阅读理解模型; (2)采用贪心 阅读全文
摘要:
DynaBERT: Dynamic BERT with Adaptive Width and Depth 论文中作者提出了新的训练算法,同时对不同尺寸的子网络进行训练,通过该方法训练后可以在推理阶段直接对模型裁剪。依靠新的训练算法,本文在效果上超越了众多压缩模型,比如DistillBERT、Tiny 阅读全文
摘要:
目录 前情摘要 心得体会 题外感言 前情摘要 关于课程:机缘巧合,看到认识的leader(xiangyang老师)开课,因原本就欣赏xiangyang老师的能力,所以抱着再次夯实基础的心态参加了 NLP+ 推荐这个部分的课程。 关于我本人:在NLP领域野蛮生长的中科院信工所研二学生一枚,最终拿到了第 阅读全文
摘要:
混合精度训练 混合精度训练是在尽可能减少精度损失的情况下利用半精度浮点数加速训练。它使用FP16即半精度浮点数存储权重和梯度。在减少占用内存的同时起到了加速训练的效果。 IEEE标准中的FP16格式如下: 取值范围是5.96× 10−8 ~ 65504,而FP32则是1.4×10-45 ~ 3.4× 阅读全文
摘要:
记录炼丹优化tricks 最后更新: 2020-04-15 18:17:57 寻找合适的学习率(learning rate) 学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化方式、不同数据集,其最合适的值都是不确定的,我们无法光凭经验来准确地确定lr的值 阅读全文
摘要:
整合损失函数 MTL模型中的第一个挑战: 如何为multiple tasks定义一个统一的损失函数?最简单的办法,我们可以整合不同tasks的loss function,然后简单求和。这种方法存在一些不足,比如当模型收敛时,有一些task的表现比较好,而另外一些task的表现却惨不忍睹。其背后的原因 阅读全文
摘要:
1140. Stone Game II 题意比较难懂。 accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。 int arr[]={10,20,30,40,50}; vector<int> va(&arr[0],&arr[5]); int sum=accumu 阅读全文
摘要:
希尔排序是非稳定排序算法。 平均时间复杂度O(nlogn),空间复杂度O(1) 最坏时间复杂度跟选取的增量序列有关,最佳为O(n3/2) 适用于直接插入排序问题,数据量巨大时。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序 阅读全文
摘要:
基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 基数排序的主要思路是:将所有待比较数值(必须是正整数)统一为同样的数位长度,数位较短的数前面补零。 然后 阅读全文
摘要:
C++完整代码 特点: 1. 与合并排序类似,运行时间$O(nlgn)$,比插入排序快 2. 与插入排序类似,堆排序为in-place排序算法,空间复杂度$O(1)$,在任何时候,数组只有常熟个元素存储在输入数组以外。 最大堆如图所示: 堆可以用数组来进行实现。树的根为A[1] ,给定了某个节点i 阅读全文