9月7日论文复写

9月7日论文复写

XLNet: Generalized Autoregressive Pretrainingfor Language Understanding

NIPS2019 上的一篇文章,提出了一个XLNet自回归训练方法,影响也比较大
客观事实:
1、BERT这种基于去噪自动编码的预训练比基于自动回归语言建模的预训练方法取得更好的性能。
2、无监督表示学习在自然语言处理方面获得了极大地成功,这些方法都先在大规模无标记的文本语料库上预训练神经网络,然后在下游任务中再进行微调
3、自回归语言建模(AR)以及自动编码(AE)是是两个最成功的预训练目标

问题

1、BERT由于掩码(masks)对于输入的破坏,忽略了被遮掩位置之间的依赖性,以及受到了预训练-调整差异的影响

AR与AE模型

AR
用回归模型来估计文本语料的分布概率,比如前向乘积或者后项乘积。由于AR只被训练来编码单项语境,它不能有效地对深层双向语境进行建模。
AE
与AR相比,AE并不进行明确的密度估计,而是旨在从缺失的输出中重新构建原始数据。
BERT——最先进的预训练方法
但是BERT在预训练时使用的人工符号(如[mask])在调试时并不存在于真实数据当中,从而导致了预训练与调试的差异。并且由于输入时掩盖了预测的标记,BERT不能像AR一样使用乘积规则对联合概率进行建模。它预测的标记是相互独立的,与长距离的依赖性在自然语言中普遍存在的情况不符。

提出解决方法

提出XLNet,一种通用的自回归预训练方法,利用了AR和AE的优点,并且避免了其局限性

具体内容

1、通过最大化因式分解顺序的所有排列的预期可能性来学习双向语境
2、由于其自回归的特性,的克服了BERT的局限性,不依赖于数据缺失,每个位置学会利用来自所有位置的上下文信息。
3、将最先进的自回归模型Transformer-XL的语段复现机制和相对编码方案思想整合到预训练中
4、将序列的预期对数似然在因式分解顺序的所有可能的排列中最大化

结果

在可比的实验设置下,XLNet在20个任务上比BERT表现好,并且有很大的差距
领域包括:问题回答、自然语言推理、情感分析、文档排名

小结

1、继BERT之后提出的又一预训练模型,取得了良好的成绩
2、源码:https://github.com/zihangdai/xlnet


VAULT: VAriable Unified Long Text Representation for Machine Reading Comprehension.

机器阅读理解任务
要求机器基于给定的上下文回答问题,即给定一段context,对应的给一个query,机器通过阅读context后给出对应query的答案。在《
BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION》中最终预测的目标是输出两个下标,一分别对应query回答在context中的开始位置和结束为止。模型的损失函数为多分类的交叉熵softmax。

机器阅读理解近年来也成为一个比较火的领域。也有短文本和长文本之分。

问题

1、现有的机器阅读理解(MRC, Machine Reading Comprehension)模型需要复杂的模型结构,以此来保证对长文本进行段落表示和分类的有效性,但是这样做需要多时间。
2、基于图的方法在并行硬件上如GPU上效率低下,导致推断速度缓慢

提出解决方法

VAULT架构:轻量级、平行高效的段落表示,基于从长文档输入中得到的上下文表述的机器阅读理解。

具体方法

1、使用新的基于高斯分布的数据进行训练,密切关注那些接近正确标注的情况
ground-truth,指正确的标注,如<x,t>中争取的t标注就叫做ground-truth
2、引入一个基础模型(Longformer),使用每个段落的轻量级表示来对长文本建模
3、引入利用特殊标记的位置感知段落表示(PAPR),将其作为高效段落分类的输入。可以利用这些标记来确认答案段落位于哪一段。

结果

1、验证VAULT架构,在两个需要长文本建模的MRC基准数据集上进行试验,可以与SOTA(最先进的复杂文档建模方法)效果相同并且速度快16倍
2、也证明了模型可以适用于完全不同的领域,相比于之前的大型PLM(pre-train language model,预训练语言模型)微调模型有了大幅的进步

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Yolov5网络的复写包括几个步骤。首先,在YoloV5的export.py中选择导出torchscriptpnnx yolov5s.pt inputshape=[1,3,640,640] moduleop=models.common.Focus,models.yolo.Detect。然后,需要重构整个后处理部分,在C++的代码中进行操作。引用中的代码展示了如何使用ncnn库和OpenCV库来编写后处理的代码。最后,需要注意的是,由于.h文件中设置输入size为640,而转出的ncnn模型接受输入为320,所以在代码中需要进行除以2的操作,这是为了实现自适应图片缩放机制,该操作可以提高模型的精度和速度。引用提到了这个操作可以提速30%,同时还可以提高模型的map数值。所以,以上是yolov5网络的复写过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [最终章-让我们的自制推理框架实现Yolov5的推理](https://blog.csdn.net/qq_32901731/article/details/129710271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.239^v12^insert_chatgpt"}}] [.reference_item style="max-width: 50%"] - *2* *3* [YOLOv5利用ncnn部署系列(三)](https://blog.csdn.net/qq_33160678/article/details/108849314)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.239^v12^insert_chatgpt"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值