[论文阅读笔记28]Deep Biaffine Attention for Neural Dependency Parsing

题目

Deep Biaffine Attention for Neural Dependency Parsing

论文:https://arxiv.org/pdf/1611.01734.pdf

代码:https://github.com/tdozat/Parser-v1
https://github.com/bamtercelboo/PyTorch_Biaffine_Dependency_Parsing

作者

Timothy Dozat
Stanford University 斯坦福大学
Christopher D. Manning
Stanford University 斯坦福大学

摘要

主是是研究依存句法分析方法。

解决基于图的依存句法分析两个问题:

1、哪两个节点连依存弧;

2、弧的标签是什么;

提出了biaffifine classififiers去预测arcs及它的labels;

模型

提出的模型是基于论文【3】【4】【5】进行的修改。

image-20210304113407635

第一点,模型使用了biaffine attention,而不是bilinear 或 传统的基于MLP attetion;

第二点,使用了biaffifine依赖标签分类器;

第三点,在应用Biaffine变换之前,我们将降维MLP应用于每个递归输出向量r_i;

从上图可以看出输入为词与词性向量拼接后的向量;经过bi-LSTM获得r_i; r_i经过两个MLPs,计算得到两隐变量h_arc-dep,h_arc-head; 最后一层h_arc-head还拼接了一个单位向量,利用U进行仿射变换,最后得到S,即arc分数矩阵,具体的公式理解如下:

biaffine并不是双线性(bilinear)或MLP机制,它使用一个仿射变换在单个LSTM输出状态r预测所有类别上的得分,提出的双仿射注意力机制(Biaffine Attention)可以看成为传统的仿射分类器:

image-20210304151020310

基于上式改进为:

image-20210304151256624

W采用多层LSTM堆叠计算后的结果,维度变为(d x d),b参数数也变成(d x 1)的向量;

由于句子中的词数是不定的,可是又要给每个词一个分数,这是一个不定类别分分类问题,上式(1)显然是满足不了,本文采用了两个MPLs来解决这个问题,把式(4)式(5)代入式(2)就得到最终的式(6):

image-20210304153232605

它的作用是使数据进行降维输出处理,可以对LSTM进行降维,然后输入到仿射层,避免过拟合。

双仿射分类器使用双线性层,比传统使用两层线性层和一个非线性激活单元的MLP网络更简单。同时,arc双仿射分离器对两种概率直接建模:

image-20210304152256539,结点j接受任意依赖的先验概率;

image-20210304152351518,结点j接受单词i依赖的概率;

使用另一个label双仿射分类器预测单词与其头结点间的依赖标签:

image-20210304152625602

U的维度为mxdxd的高维张量(m是标签个数,d是biaffine的输入维度);

arc分类器是不定类别分类器,类别数与序列长度有关,label分类器是固定类别分类器,类别数等于所有可能的依存关系数。

实验

image-20210304113702615

image-20210304113641108

总结

相关知识点

引用【2】的一段话来补充一下对句法分析相关概念的理解:

句法分析(syntactic parsing)是NLP中的关键技术之一,通过对输入的文本句子进行分析获取其句法结构。句法分析通常包括三种:
(1) 句法结构分析(syntactic structure parsing),又称短语结构分析(phrase structure parsing)成分句法分析(constituent syntactic parsing)。作用是识别出句子中的短语结构以及短语之间的层次句法关系。
(2)依存关系分析,又称依存句法分析(dependency syntactic parsing),简称依存分析(denpendency parsing),作用是识别句子中词与词之间的相互依存关系。
(3)深层文法句法分析,即利用深层文法,例如词汇化树邻接文法(Lexicalized Tree Adjoining Grammar, LTAG)、词汇功能文法(Lexical Functional Grammar,LFG)、组合范畴文法(Combinatory Categorial Grammar,CCG)等, 对句子进行深层的句法以及语义分析。

Dependency Parsing 主要有两种方法:Transition-basedGraph-based

例如句子“他给我一台美丽的高性多CPU电脑。”,通过LTP进行句法分析,句法分析结果:

image-20210304110537736

语义依赖结果:

image-20210304105926345

可以按照这个箭头建成一棵依存树。

相关技术

Transition-based

Chen & Manning (2014) 第一次把神经网络引入到Transition-based中去。—陈丹奇的这篇有有影响力( A fast and accurate dependency parser using neural

networks);

接下来,Weiss et al. (2015),Andor et al. (2016) ,使用beam search与条件随场损伯目标去做讨论这个话题;

接着,Dyer et al. (2015) ,(Kuncoro et al., 2016) ,通过建立句法结构分析的方法而不采用LSTM的方法去处理;

Transition-based parsing方法不可以使用机器学习直接预测边,而只是去预测transition算法的操作。

Graph-based

可以对某些边赋予概率或权重,然后构建maximum spaning tree (MST) ;

Kiperwasser & Goldberg (2016)提出neural graph-based parser;

Hashimoto et al. (2016)在多任务中包含了graph-based dependency parser;

Cheng et al. (2016)提出graph-based neural dependency parser;

参考

【1】Deep Biaffine Attention for Neural Dependency Parsing,http://www.hankcs.com/nlp/parsing/deep-biaffine-attention-for-neural-dependency-parsing.html

【2】Deep Biaffine Attention for Dependency Parsing,https://zhuanlan.zhihu.com/p/71553871

【3】Eliyahu Kiperwasser and Yoav Goldberg. Simple and accurate dependency parsing using bidirectional LSTM feature representations. *Transactions of the Association for Computational Linguistics, 4:313–327, 2016.

【4】Kazuma Hashimoto, Caiming Xiong, Yoshimasa Tsuruoka, and Richard Socher. A joint many-task model: Growing a neural network for multiple nlp tasks. arXiv preprint arXiv:1611.01587, 2016.

【5】 Hao Cheng, Hao Fang, Xiaodong He, Jianfeng Gao, and Li Deng. Bi-directional attention with agreement for dependency parsing. arXiv preprint arXiv:1608.02076, 2016.

happyprince.https://blog.csdn.net/ld326/article/details/115012759

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Learn, understand, and implement deep neural networks in a math- and programming-friendly approach using Keras and Python. The book focuses on an end-to-end approach to developing supervised learning algorithms in regression and classification with practical business-centric use-cases implemented in Keras. The overall book comprises three sections with two chapters in each section. The first section prepares you with all the necessary basics to get started in deep learning. Chapter 1 introduces you to the world of deep learning and its difference from machine learning, the choices of frameworks for deep learning, and the Keras ecosystem. You will cover a real-life business problem that can be solved by supervised learning algorithms with deep neural networks. You'll tackle one use case for regression and another for classification leveraging popular Kaggle datasets. Later, you will see an interesting and challenging part of deep learning: hyperparameter tuning; helping you further improve your models when building robust deep learning applications. Finally, you'll further hone your skills in deep learning and cover areas of active development and research in deep learning. At the end of Learn Keras for Deep Neural Networks, you will have a thorough understanding of deep learning principles and have practical hands-on experience in developing enterprise-grade deep learning solutions in Keras. What You'll Learn Master fast-paced practical deep learning concepts with math- and programming-friendly abstractions. Design, develop, train, validate, and deploy deep neural networks using the Keras framework Use best practices for debugging and validating deep learning models Deploy and integrate deep learning as a service into a larger software service or product Extend deep learning principles into other popular frameworks Who This Book Is For Software engineers and data engineers with basic programming skills in any language and who are keen on exploring deep learning for a career move or an enterprise project.
### 回答1: ECA-Net是一种用于深度卷积神经网络的高效通道注意力机制,可以提高模型的性能和效率。它通过对每个通道的特征图进行加权,使得网络可以更好地学习到重要的特征。ECA-Net的设计简单,易于实现,并且可以与各种深度卷积神经网络结构相结合使用。 ### 回答2: ECA-Net是一种用于深度卷积神经网络的高效通道注意力机制。 ECA-Net通过提出一种名为"Efficient Channel Attention"(ECA)的注意力机制,来增强深度卷积神经网络的性能。通道注意力是一种用于自适应调整不同通道的特征响应权重的机制,有助于网络更好地理解和利用输入数据的特征表示。 相比于以往的注意力机制,ECA-Net采用了一种高效且可扩展的方式来计算通道注意力。它不需要生成任何中间的注意力映射,而是通过利用自适应全局平均池化运算直接计算出通道注意力权重。这种方法极大地降低了计算和存储开销,使得ECA-Net在实际应用中更具实用性。 在进行通道注意力计算时,ECA-Net引入了两个重要的参数:G和K。其中,G表示每个通道注意力的计算要考虑的特征图的大小;K是用于精细控制计算量和模型性能之间平衡的超参数。 ECA-Net在各种视觉任务中的实验结果表明,在相同的模型结构和计算资源下,它能够显著提升网络的性能。ECA-Net对不同层级的特征表示都有显著的改进,能够更好地捕捉不同特征之间的关联和重要性。 总之,ECA-Net提供了一种高效并且可扩展的通道注意力机制,可以有效提升深度卷积神经网络的性能。它在计算和存储开销上的优势使得它成为一个非常有价值的工具,可在各种计算资源受限的应用中广泛应用。 ### 回答3: "eca-net: efficient channel attention for deep convolutional neural networks" 是一种用于深度卷积神经网络的高效通道注意力模块。这一模块旨在提高网络对不同通道(特征)之间的关联性的理解能力,以提升网络性能。 该方法通过引入了一个新的注意力机制来实现高效的通道注意力。传统的通道注意力机制通常是基于全局池化操作来计算通道之间的关联性,这种方法需要较高的计算成本。而ECA-Net则通过引入一个参数化的卷积核来计算通道之间的关联性,可以显著减少计算量。 具体来说,ECA-Net使用了一维自适应卷积(adaptive convolution)来计算通道注意力。自适应卷积核根据通道特征的统计信息来调整自身的权重,从而自适应地计算每个通道的注意力权重。这样就可以根据每个通道的信息贡献度来调整其权重,提高网络的泛化能力和性能。 ECA-Net在各种图像分类任务中进行了实验证明了其有效性。实验结果显示,ECA-Net在相同计算预算下,相比其他通道注意力方法,可以获得更高的分类精度。同时,ECA-Net还具有较少的额外计算成本和模型大小,使得其在实际应用中更加高效。 总结而言,"eca-net: efficient channel attention for deep convolutional neural networks" 提出了一种高效通道注意力方法,通过引入自适应卷积核来计算通道注意力,从而提高了深度卷积神经网络的性能。这一方法在实验中取得了良好的效果,并且具有较少的计算成本和模型大小。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值