热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

「自然语言处理(NLP)」(用二进制句向量表示)【杜克大学&&微软研究院】

来源:AINLPer微信公众号编辑:ShuYini校稿:ShuYini时间:2019-8-24引言    本文共计两篇paper,第一篇主要针对常规的句子向量表示需要占用大量内存的




来源:AINLPer微信公众号

编辑: ShuYini

校稿: ShuYini

时间: 2019-8-24



引言

    本文共计两篇paper,第一篇主要针对常规的句子向量表示需要占用大量内存的问题,创新性的采用二值化来表示句子向量从而减少资源消耗,提高低配资源平台的适用性。第二篇,主要从不同类型的反馈对学习结果有不同的效果入手,在交互式神经机器翻译实验中,自调节器通过混合不同的反馈类型(包括校正、错误标记和自监督),我们发现了最优的代价质量折衷的贪婪策略,它将有希望成为主动学习中比较有前景的算法。


First Blood

TILE: ## Learning Compressed Sentence Representations for On-Device Text Processing.

Contributor : 杜克大学&&微软研究院

Paper: https://www.aclweb.org/anthology/P19-1011

Code: None


文章摘要

    基于大量文本语料库训练的句子向量表示方法被广泛应用于各种NLP问题中。学习表示通常假设为连续的、实值的,但是这样会导致内存占用大,检索速度慢,阻碍了在低资源(内存和计算)平台上的适用性,比如移动设备。为此本文提出了四种不同的策略来将连续句和一般句嵌入转换成二值化的形式,同时保留它们丰富的语义信息。所介绍的方法在一系列下行任务中进行了评估,在这些任务中,与连续任务相比,二值化语句嵌入仅降低了约2%的性能,同时降低了98%以上的存储需求。此外,利用学习的二值表示方法,可以通过计算两句话的汉明距离来评估两句话的语义关联,与连续嵌入之间的内积运算相比,汉明距离计算效率更高。


本文三大看点

    1、对学习通用二值化(记忆效率)句子表示进行了第一次系统的探索,并提出了四种不同的策略。

    2、精心设计了一个可以保留语义损失的自动编码器架构,且其在下行NLP任务上显示了出了比较好的效果。

    3、更重要的是,我们在多个句子匹配数据集上证明,简单地计算二进制表示上的汉明距离,其性能与计算连续对应项之间的余弦相似度相当,但是余弦相似度的计算效率更低。


四种不同的策略介绍


Hard Threshold

    结构图如下:    用h和b分别表示连续句嵌入和二进制句嵌入,L表示h的维数。对连续表示进行二值化的第一种方法是根据硬阈值将每个维数简单地转换为0或1。这种策略不需要任何训练,而是直接对预先训练的连续嵌入进行操作。假设s是硬阈值,i=1,2L:i = 1,2,……,L:i=1,2,……,L:


Random Projection

    结构图如下:    为了解决上述直接二值化方法的局限性,我们提出一种不需要任何训练的替代策略即在预先训练好的连续表示上应用随机投影。我们随机初始化一个矩阵WRD×LW∈R^{D×L}W∈RD×L,其中D表示得到的二进制表示的维数,然后将矩阵值初始化为均匀采样。i=1,2Di = 1,2,…,Di=1,2,…,D和j=1,2Lj = 1,2,…Lj=1,2,…L,我们有:


Principal Component Analysis

    结构图如下:    我们还考虑了一种策略来自适应地选择生成的二进制表示的维数。其中,用主成分分析(PCA)来减少预先训练的连续嵌入的维数。


Autoencoder Architecture

    上述方法存在一个共同的问题,即模型目标不是直接学习的二进制代码保留原始连续嵌入的语义信息,而是训练后采用单独的二值化步骤。为了解决这个缺点,我们进一步考虑了一种自动编码器体系结构,它利用重构损失为学习的二进制表示提供更多的信息。具体地说,利用编码器网络将连续信号转换为二进制潜在向量,然后用解码器网络将其重构回来。其模型结构如下:


实验结果

十个下行任务测试结果如下图所示:

其中,STS14、STSB、MRPC分别采用Pearson和Spearman相关进行评价,SICK-R采用Pearson相关进行测量。所有其他数据集都以测试精度进行评估。InferSent-G使用Glove (G)作为单词embeddings,而InferSent- ff使用FastText(F) embeddings。

SNLI数据集上的最近邻检索结果:    给定一个查询语句,左列显示基于汉明距离的前3个检索到的样本,其中包含所有语句的二进制表示,而右列显示的样本则根据它们连续嵌入的余弦相似性。


Double Kill

TILE: Self-Regulated Interactive Sequence-to-Sequence Learning。

Contributor : 德国海德堡大学

Paper: https://www.aclweb.org/anthology/P19-1029

Code: None


文章摘要

    并不是所有类型的监督信号都是相同的:不同类型的反馈对学习有不同的成本和效果。文中展示了自我调节策略是如何决定什么时候向老师(或自己)寻求哪种反馈的,这些策略可以被转换成一个“学习到学习”的问题,从而提高代价感知的顺序到顺序学习。在交互式神经机器翻译实验中,自调节器通过混合不同的反馈类型(包括校正、错误标记和自监督),我们发现了最优的代价质量折衷的贪婪策略。此外,我们证明了它在域转移下的鲁棒性,并将其作为主动学习的一个有前途的替代方法。


本文三大看点

    1、首先从不同类型的反馈中比较Seq2Seq训练目标。

    2、然后介绍了自调节模块。

    3、最后将两者结合在自调节算法中。


Seq2Seq Learning

Learning from Corrections: 当使用人工生成的参考资料以及在线调整后发布的内容进行训练时,这一训练目标是标准的监督学习。

**Learning from Error Markings :**虽然序列中不正确部分的可能性不影响总和,但是它们包含在正确部分的上下文中。

**Self-Supervision :**不同于向teacher寻求反馈,learner也可以选择从自己的输出中学习,也就是从自我监督中学习。简单命题是把learner的输出当作是正确的,但这很快就会导致过度自信和退化。


Learning to Self-regulate

    规则器是Seq2Seq学习中另外一种优化质量、权衡成本的神经模型qφq_φqφ​。给定一个输入xix_ixi​和Seq2Seqs假设yiy_iyi​,在这里选择一个动作,这种反馈的选择决定了Seq2Seq学习器的更新,如下图所示


Algorithm

具体算法如下所示:    其中算法1提出了基于小批量模型更新的在线学习算法。当一个新的输入到达时,调节器在第6行预测一个反馈类型。根据该预测,要求环境/用户对代价ci下的Seq2Seq预测进行反馈(第7行),根据前一张图中假设的反馈和计算的小批量随机梯度,对Seq2Seq模型进行更新。为了加强调节器,对Seq2Seq模型的改进(第9行)进行评估,并更新调节器的参数(第10行)。中间Seq2Seq评估可用于模型选择(早期停止)。在实践中,这些评估可以通过在一个未完成的集合上进行验证,也可以通过人工评估来执行。


实验结果

    规则变量对累积成本的影响    对IWSLT进行训练的调整器的域转移到图书域(仅比较完整和弱反馈)    学习自我调节策略,与基于不确定性的主动学习相比,在书本领域有固定比例的完全反馈。


ACED


Attention

更多自然语言处理相关知识,还请关注AINLPer公众号,极品干货即刻送达。



推荐阅读
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 探索聚类分析中的K-Means与DBSCAN算法及其应用
    聚类分析是一种用于解决样本或特征分类问题的统计分析方法,也是数据挖掘领域的重要算法之一。本文主要探讨了K-Means和DBSCAN两种聚类算法的原理及其应用场景。K-Means算法通过迭代优化簇中心来实现数据点的划分,适用于球形分布的数据集;而DBSCAN算法则基于密度进行聚类,能够有效识别任意形状的簇,并且对噪声数据具有较好的鲁棒性。通过对这两种算法的对比分析,本文旨在为实际应用中选择合适的聚类方法提供参考。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • ### 优化后的摘要本文对 HDU ACM 1073 题目进行了详细解析,该题属于基础字符串处理范畴。通过分析题目要求,我们可以发现这是一道较为简单的题目。代码实现中使用了 C++ 语言,并定义了一个常量 `N` 用于字符串长度的限制。主要操作包括字符串的输入、处理和输出,具体步骤涉及字符数组的初始化和字符串的逆序操作。通过对该题目的深入探讨,读者可以更好地理解字符串处理的基本方法和技巧。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 2018 HDU 多校联合第五场 G题:Glad You Game(线段树优化解法)
    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6356在《Glad You Game》中,Steve 面临一个复杂的区间操作问题。该题可以通过线段树进行高效优化。具体来说,线段树能够快速处理区间更新和查询操作,从而大大提高了算法的效率。本文详细介绍了线段树的构建和维护方法,并给出了具体的代码实现,帮助读者更好地理解和应用这一数据结构。 ... [详细]
  • QT框架中事件循环机制及事件分发类详解
    在QT框架中,QCoreApplication类作为事件循环的核心组件,为应用程序提供了基础的事件处理机制。该类继承自QObject,负责管理和调度各种事件,确保程序能够响应用户操作和其他系统事件。通过事件循环,QCoreApplication实现了高效的事件分发和处理,使得应用程序能够保持流畅的运行状态。此外,QCoreApplication还提供了多种方法和信号槽机制,方便开发者进行事件的定制和扩展。 ... [详细]
  • 机器学习中的标准化缩放、最小-最大缩放及鲁棒缩放技术解析 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用
    开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用 ... [详细]
author-avatar
徐韦志弘宇靖宏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有