Paying More Attention to Self-attention: Improving Pre-trained Language Models via Attention Guiding-程序员宅基地

技术标签: NLP  语言模型  深度学习  AI  自然语言处理  

更加关注自注意力:通过注意力引导改进预训练语言模型

Shanshan Wang Shandong University Qingdao, China [email protected] Zhumin Chen ∗ Shandong University Qingdao, China [email protected] Zhaochun Ren Shandong University Qingdao, China [email protected] Huasheng Liang WeChat, Tencent Guangzhou, China [email protected] Qiang Yan WeChat, Tencent Guangzhou, China [email protected] Pengjie Ren Shandong University Qingdao, China [email protected]

摘要

预训练语言模型(PLM)已在广泛的信息检索和自然语言处理任务中证明了其有效性。作为PLM的核心部分,多头自我注意因其能够共同关注来自不同位置的信息而备受关注。然而,研究人员发现,PLM总是表现出固定的注意模式,无论输入如何(例如,过度关注“[CLS]”或“[SEP]”),我们认为这可能会忽略其他位置的重要信息。在这项工作中,我们提出了一种简单而有效的注意力引导机制,通过鼓励人们对既定目标的注意力来提高PLM的绩效。具体而言,我们提出了两种注意力引导方法,即注意力图辨别引导(MDG)和注意力模式去相关引导(PDG)。前者明确鼓励多个自我注意头之间的多样性共同关注来自不同表征子空间的信息,而后者鼓励自我注意关注尽可能多的不同位置的输入。我们在三个基准数据集(即MultiNLI、MedNLI和跨流派IR)上使用多个通用预训练模型(即BERT、阿尔伯特和Roberta)和领域特定预训练模型(即BioBERT、临床-BERT、BlueBert和SciBERT)进行实验。大量的实验结果表明,我们提出的MDG和PDG在所有数据集上都以高效率和低成本带来了稳定的性能改进。

CCS概念

    •信息系统→ 聚类和分类;内容分析和特征选择;•计算方法学→ 对比学习。

关键词

    预训练模型、多头自我注意力、注意力引导、注意力地图辨别、注意力模式去相关ACM参考格式:Shanshan Wang,Zhumin Chen∗ , 任兆春、梁华生、严强、任鹏杰。更加关注自我注意力:通过注意力引导改进预先训练的语言模型。ACM会议记录(2017年会议)。ACM,美国纽约州纽约市,11页。
    https://doi.org/10.1145/1122445.1122456.

1简介

    预训练语言模型(PLM)在广泛的下游任务中带来了巨大的性能提升,包括机器翻译[22]、文本分类[31]、文档排序[26]等。预训练语言模型(PLM)的核心组件是自我注意机制,它允许模型捕获远程依赖信息。
    最近,许多研究侧重于分析自我注意力机制,即注意力的权重和联系,以解释网络或揭示PLM的特征[4、10、35]。
    这些探索工作发现了一个普遍现象:尽管自我注意力机制取得了成功,但这些语言模型表现出简单的注意力模式[28,36]。例如,De-vlin等人[6]和Kovaleva等人[10]报告了一种现象,即在预先训练的BERT模型中,40%的头部只是注意力定界符,如“[CLS]”和/或“[SEP]”此外,Michel等人。[20] 证明WMT【34】和BERT【6】中的多头注意对于获得竞争性绩效来说是不必要的。
    同样,Raganato等人[27]也证实,编码器中最专注的连接根本不需要学习,因为transformer架构学习到的大多数自我注意模式仅仅反映了上下文信息的位置编码。
    自我注意的有效性可以通过引入各种信息来提高。例如,Li等人[14]证明,可以通过增加注意力头的多样性来改善下游任务。此外,许多研究侧重于通过句法监督等外部信息修饰自我注意,以改善输入表征。他们的结果表明,添加额外的信息确实有助于PLM提高下游任务的有效性。然而,由于这些方法修改了自我注意的计算过程,它们必须从头开始重新训练PLM。众所周知,用大量从头开始的数据对PLM进行训练将需要大量的计算资源和时间。此外,提取额外的信息,如语法结构,将进一步增加计算负担。
    因此,本文试图研究以下研究问题:在微调阶段,是否有可能在没有额外信息的情况下引导自我注意,以提高下游任务的性能?如图1所示,从没有引导的PLM中学习到的注意力头部总是呈现相似的模式,例如,不同的头部注意到相似的位置。相反,我们寻求设计一种注意力引导机制,以便综合考虑各种信息。我们期望注意力引导机制可以作为辅助目标来规范下游任务的微调。类似的工作在[5]中完成。他们使用几个预定义的注意力模式来指导PLM s的训练。具体来说,他们添加了一个辅助损失来引导自我注意力朝向一组预定义模式(即,“[下一个]、“[上一个]、“[第一个]、“[Delim]”和“[周期]”)。
    由于这些预定义的模式只覆盖少数固定的模式,无法引入更多的信息,因此该方法在改善注意力头的多样性方面能力有限。因此,在这项工作中,我们建议探索自我注意力引导方法,而不预先定义注意力模式或关于输入的额外知识,以鼓励多个注意力头之间的多样性。
    我们提出了一种注意力引导机制,通过明确鼓励多个注意力头之间的多样性来调节自我注意力,从而提高PLM的性能。具体而言,我们提出了两种注意力引导方法,即注意力图辨别引导(MDG)和注意力模式去相关引导(PDG)。前者通过不同的注意力图来鼓励自我注意力关注来自不同输入方面的信息。注意力图本身是独特的,每个注意力图都可能与其他注意力图有很大的不同[19],因此它可以捕获与其他注意力图不同的输入信息。后者通过减少与不同注意力模式的相关性,鼓励自我注意力将注意力放在更加多样化的位置,从而改善注意力模式的多样性。我们通过在三个基准数据集上进行实验,验证了注意力引导机制在多个通用和领域特定PLM上的有效性。特别是,我们发现,所提出的注意力引导机制在小规模数据集上仍然有效,证明了其在低资源环境下的重要性。
    我们的主要贡献如下:•我们提出了两个自我注意力指导术语,即MDG和PDG,用于指导自我注意力头部,使PLM能够学习全面和多样的注意力模式。
    •我们展示了注意力引导机制在三个不同数据集和任务中对七个通用和领域特定PLM的有效性。
avatar
图1:注意力引导机制示意图。习得的注意力头总是表现出固定和相似的模式,这可能会忽略重要信息。注意力引导旨在引导学习过的注意力负责人关注输入的不同部分,以便能够考虑到更重要的信息。

2方法论

    2.1任务在这项工作中,我们将以下两个不同的任务作为应用。
    任务1:自然语言推理。这项任务的目标是预测是否可以从给定的承诺中推断出给定的假设。此任务制定为多类分类任务。
    在实现中,我们在从PLM最后一个层的输出派生的“[CLS]”表示的顶部添加了一个分类层,就像大多数方法一样[21、29、46]。PLM通过最小化多类交叉熵损失进行微调,其定义如下:
avatar
其中表示PLM和分类层中的所有可训练参数,|是训练样本数,是第个样本的基本真理。
    任务2:跨医学类型查询。这项任务的目的是找到支持健康相关新闻文章中主要主张的研究出版物。此任务被表示为二进制分类任务。类似地,我们在从PLM最后一个层的输出导出的“[CLS]”表示的顶部添加了一个分类层。PLM通过最小化二元交叉熵损失进行微调,如下所示:
avatar
其中是第-个样本的基本真值,avatar是第-个样本所属的概率。

2.2多头自注意力

    预训练的语言模型(PLM)通常是一个大规模、强大的神经网络,经过训练的,具有大量的数据样本和计算资源[3,11]。有了这样一个基础模型,我们可以轻松高效地生成新模型来解决各种下游任务,而不是从头开始对其进行训练。PLM更加关注自我注意力:通过2017年7月在美国华盛顿特区举行的注意力指导会议改进预先训练的语言模型,依靠多头自我注意力来捕获tokens之间的依赖关系[6]。给定一个隐藏状态,多头自我关注首先将其线性投影到查询中ℎ , 钥匙ℎ , 和值ℎ 分别使用参数矩阵avatar。公式如下:
avatar
然后,自我注意分布ℎ 通过查询的缩放点积计算ℎ 和键ℎ . 将这些权重分配给相应的值向量ℎ 获取输出状态ℎ :
avatar
此处ℎ 注意力分布是否由ℎ -注意力头部。是隐藏大小。最后,输出状态ℎ 所有磁头中的一个被连接起来以产生最终状态。

2.3注意力引导

    图2显示了我们的方法的工作流程。首先,我们使用预先训练好的模型对每个样本进行编码,得到相应的注意力矩阵。然后基于样本表示法计算任务目标损失。同时,注意矩阵将由两个术语指导,即注意地图辨别引导(MDG)和注意模式去相关引导(PDG),旨在推动自我注意的多样性,进一步提高下游任务的性能。更具体地说,对于这两个下游任务,除了目标之外,我们还引入了两个辅助目标来引导自我注意。
    正式地,每个任务的训练目标修改为:
avatar
哪里是最终的训练目标,它包含训练损失的三个部分。表示任务对象,该对象因任务而异。表示注意力图辨别指导(MDG)项,表示注意力模式去相关指导(PDG)项。这两个术语可以单独使用,也可以组合使用,它们分别使用和进行管理。请注意,引入的正则化项与1和2项类似,它们不引入任何新参数,只影响标准模型参数的微调。
    2.3.1注意力图辨别。对于给定的样本,首先,我们需要从预训练模型(如BERT)的输出中获得该样本的表示及其相应的注意力图。公式可以描述为:
avatar
其中表示“[CLS]”token的隐藏状态,我们将其视为示例的表示。avatar}是多层多头注意力映射集。是第十张注意力图∗ ℎ 由预先训练的模型制作的注意力图。和ℎ 分别表示层编号和每个层中的头部编号。
    然后,我们在“[CLS]”表示的顶部添加一个分类层。形式上,分类层的公式由:=(),(7)实现,其中是权重矩阵,(·)是激活函数,是给定样本的最终表示。通过由下游任务确定的等式1或等式2,我们可以从样本的地面真值标签计算监督下的任务目标损失。
    为了简化计算,每个注意力图∈ R×作为一个向量处理∈ R,将所有tokens接收到的注意力值相加。将注意力图转换为注意力向量的对应公式为:
avatar
,其中表示第-个注意力图,是注意力图的列索引。
    由于PLM中的自我注意力机制是多层多头结构,因此产生了多个注意力向量。
    我们把所有的注意力向量组织成一个矩阵∈ R(∗ ℎ )× .
    具体而言,我们将所有注意力向量串联起来,构建注意力矩阵。形式上,对应的公式如下:
avatar
其中⊕ 表示串联操作,avatar表示注意力矩阵。
    受[32,41]的启发,我们应用实例判别法推送注意力图的多样性,以便捕获输入的丰富信息。目标函数是基于softmax准则建立的。假设每个注意力图代表一个不同的类。也就是注意力图∈ R,即注意力矩阵的-行,被划分为第-类。
    因此,第-类的权重向量可以用向量来近似。一个注意力图被分配到第四类的概率是:
avatar
⊤ 衡量与第th类的匹配程度,因为它被视为第th类的权重。是控制分布浓度的温度参数[8],并归一化为∥ ∥ = 1、目标最大化联合概率
avatar
2.3.2注意力模式去相关。我们分析了多头注意力头可能会遇到冗余问题,其中每个注意力向量集中在一个非常相似的区域。为了鼓励每个注意力头从输入的不同位置捕获信息,同时,我们提出了另一个注意力引导项,即注意力模式去相关引导(PDG)。
    受【15】的启发,我们认为。,⊤ ∈ R∗ ℎ 作为第次注意力模式的软表征。通常,注意力模式应该是独立的,以确保减少冗余信息。目标函数用于推动注意力模式的多样性,减少模式冗余,从而使从注意力矩阵计算出的互相关矩阵尽可能接近身份矩阵。
    PDG术语的公式旨在构建独立的注意力模式,如下所示:
avatar
,其中avatar是注意力矩阵,∈ R×为单位矩阵,且| |.| |2表示Frobenius范数的平方[47]。
    ⊤ ∈ R×可以看作是不同注意力模式的互相关矩阵。最小化互相关矩阵和身份矩阵之间的差异相当于使注意力模式多样化,以便它们关注不同的tokens【23,48】。
avatar
图2:拟议PLM的管道,采用注意力引导方法。注意力引导机制分别包括注意力图辨别引导(MDG)和注意力模式去相关引导(PDG)。对于批量样本,我们使用预训练的模型将每个样本编码为特征向量,并获得每个样本的注意力矩阵。通过任务目标加上MDG和PDG两种注意力引导方法产生的损失来学习最优特征嵌入。MDG和PDG都试图将训练样本的注意力头最大程度地分散在序列长度单位范围内。

3实验装置

    为了评估我们提出的注意力引导机制的有效性,我们在不同的下游任务上对各种预训练的模型进行了广泛的实验。我们证明,注意力引导机制可以促进注意力头的多样性,并进一步提高在不同下游任务上的表现。

3.1数据集和评估

    我们在以下数据集上进行实验。
    •MultiNLI 1[39]是一个由433k个句子对组成的众包集合,这些句子对用文本蕴涵信息进行注释,即蕴涵、矛盾和中性。该数据集用于自然语言推理任务,也常用于评估各种PLM【5,37】。精度(简称ACC)是此任务的标准度量。同时,我们还报告了分类任务中常用的其他指标,如精度、召回率和F1。
    •MedNLI 2【30】用于临床领域的自然语言推理,其数据结构与MultiNLI相同。准确度也是此数据集的标准度量。与MultiNLI一样,我们也报告了精度、召回率和F1。
    •跨体裁IR 3【49】用于跨医学体裁查询任务,其中每个声明(即新闻标题)都与至少一份支持它的同行评审研究出版物相关联。
    对于每个声明,它需要对候选出版物重新排序,以获得正确的出版物。继原作者之后,我们报告了平均倒数排名(即MRR)和Recall@K(即。,R@K=1、3、5、20)个指标。

3.2用于比较的PLM

    我们考虑了七个基于transformer的PLM:三个是在通用语言语料库(BERT、阿尔伯特和Roberta)上预先训练的,四个是在生物医学语料库(BioBERT、Clinical-BERT、BlueBert和SciBERT)上预先训练的。
    •BERT 4[6]是一种多层双向Transformer编码器。
    由于以下版本的PLM通常基于BERT base uncased版本(12个层和768个隐藏大小,参数为108M),因此我们在此使用BERT base uncased进行公平比较。
    •Roberta 5【18】的架构与BERT相同,但在训练机制上有很多变化,例如更随机的mask机制。我们在这里使用Roberta base进行比较。
    表1:有无注意力引导的PLM性能比较(%)。黑体字表示在相应指标方面,注意力引导(AG)的性能有所提高。∗ 表示<0。05和∗∗ 表示<0。t检验分别为01。
    据我们所知,截至2021 11月,SOTA代表了性能最佳的方法。实验的多NLI匹配测试集。
    •ALBERT 6【12】通过因子化嵌入参数化和跨层参数共享压缩了BERT的架构。我们使用ALBERT-base-v2版本。
    •BioBERT 7【13】是第一位接受生物医学相关预培训的BERT。它用BERT的预训练参数初始化,然后在PubMed摘要和全文文章上进一步预训练。
    我们使用最好的版本BioBERT V1.1。
    •ClinicalBERT 8[1]是从BioBert v1.0开始初始化的,并在MIMIC-III v1.4数据库中对大约200万条注释进行了进一步的预训练。
    •BlueBERT 9【24】首先从BERT开始初始化,然后在PubMed生物医学语料库和临床笔记上进一步进行训练的。
    •SciBERT 10[2]是一个基于BERT的模型,在语义学者140万篇论文的基础上预先训练,其中18%的论文来自计算机科学,82%来自生物医学领域。
    •索塔。据我们所知,我们还比较了每个数据集上的最新方法,这些方法基于Roberta、布鲁伯特和BERT[24、33、49]。
avatar

3.3实施细节

    拟议的注意力引导机制作用于PLM中的所有注意力头。我们分别在MultiNLI、MedNLI和跨流派IR数据集上微调了5个时代、20个时代和5个时代的所有PLM模型。隐藏大小为768,序列长度设置为每个PLM的256。我们对所有型号使用Adam优化器(学习率1e-05),并且根据GeForce RTX 3090 GPU的内存将批量大小设置为最大值。具体来说,在不同的数据集上,ALBERT的批量大小设置为56,其他PLM的批量大小设置为64。根据网格搜索,从集合{0.1、0.01、0.001、0.0001}中选择等式5中的和。公式11中的温度参数设置为1.0。

3.4不同预训练模型的结果

    表1列出了不同任务的所有PLM结果。从结果来看,我们有几个观察结果。
    首先,所提出的AG可以提高PLMs在所有任务上的性能。例如,在MultiNLI和MedNLI数据集上,所有选定的具有注意力引导的预训练模型都可以在所有指标方面提高所有PLM上下游任务的性能。类似地,在跨流派IR数据集上,我们的注意力引导方法可以提升任务的大多数指标。此外,令人鼓舞的发现是,在MedNLI数据集上,简单地将AG添加到BlueBERT(即BlueBERT+AG)优于SOTA,而在跨流派IR数据集上,BioBERT+AG远远优于SOTA。这些数字显示了拟议的注意力引导的有效性。AG之所以有效,是因为引导后的自我关注能够更好地关注更广泛、更多样化的tokens,这有利于下游任务。
    其次,AG在不同的模型和数据集上扮演着不同的角色。
    例如,所提出的注意力机制总是能提高MultiNLI和MedNLI数据集的性能,而在跨流派IR数据集上,某些指标略有下降,例如。,R@20在注意力引导后,BERT从94.58%下降到94.09%。此外,我们还观察到,不同PLM的性能在MRR方面总是有所改善,并且当K较小时,可以改善更多PLM的性能R@K韵律学。这表明,注意力引导方法可能会受到评估指标的某些魅力的影响。例如R@20很难通过注意力引导来提升。然而,尽管某些指标略有下降,但在大多数情况下,我们的注意力引导方法可以有效地改进预训练的模型。
    第三,根据我们的结果,AG在小型数据集上扮演着更大的角色。例如,AG的最大改进在F1方面达到3.58%,在R@5分别在MedNLI(11k句对)和跨体裁IR(48k句对)数据集上,这两个数据集的得分高于MultiNLI(443k句对)数据集的得分,即0.98%。为了进一步探索这一现象,我们改变了MedNLI数据集的训练大小,以评估AG的作用,详情参见§4.3。

3.5不同注意力引导方法的比较

    我们还研究了注意力引导机制与其他相关工作的比较。由于所有相关工作都需要重新训练一个新的模型,而不是我们的工作在预先训练的模型的微调阶段进行。因此,很难直接比较它们。为了进行比较,我们在预训练模型的微调阶段采用了不同的方法来引导自我注意。具体而言,我们实施了Deshpande和Narasimhan提出的五种注意力引导模式(即,“[下一个]”、“[上一个]”、“[第一个]”、“[德里姆]”和“[时期]”)。此外,我们还基于从输入中提取的知识实现了三种注意力引导方法。具体而言,基于知识的引导方法是通过单词/tokens之间的共现关系、句法依赖关系和类似关系,即分别为“[PMI]”、“[依赖关系]”和“[WordSim]”来引导注意力。我们使用的这些关于自我注意的先验知识是由Qi等人提出的。[25]和Xia等人。[42] . 表2报告了这些不同引导方法的结果,表2显示:首先,无论哪种引导方法都可以不同程度地提高预训练模型(即BERT)的有效性。
    例如,在单词相似性知识的指导下(即,“[单词模拟]”),MultiNLI数据集上BERT的ACC从83.24%增加到83.73%。研究结果还表明,自我注意力头需要被引导,只要引导方法合理,如使用一些固定的共同注意力模式或使用从输入中获得的知识,主流任务的绩效也可以提高。
    第二,虽然我们提出了三种类型的注意力引导方法,Deshpande和Narasimhan【5】,但Qi等人。[25]和Xia等人[42]可以提高PLM在主流任务中的性能,不同的引导方法在不同的数据集中发挥不同的作用。我们的AG在几乎所有指标上都优于其他方法,例如在MedNLI和MutiNLI数据集上的ACC。但在跨流派的IR数据集上,“[WordSim]”方法在大多数指标方面都优于我们的方法。这表明,不同的注意力引导方法的效果可能会受到数据集的影响,在特定数据集上尝试一种或多种注意力引导方法可以最大限度地提高预训练模型的有效性。如何选择合适的先验知识或指导方法进行自我关注可能是一个需要进一步探索的问题。

4分析

4.1消融研究

    为了分析AG的改进来自何处,我们对每个数据集上的最佳模型进行了消融研究。显然,更容易理解的是,由医学语料库预先训练的模型更善于处理与医学相关的任务(即MedNLI和跨流派IR)。因此,MultiNLI、MedNLI和跨流派IR数据集上最好的预训练模型分别是Roberta、Blue-BERT和BioBERT。详细结果如表3所示。我们考虑以下三种设置:(1)w/o-AG表示没有AG的PLM s,即基线PLM s。(2)w/o-MDG表示没有MDG项但保留PDG项的PLM。(3) 无PDG表示删除PDG术语,但保留MDG术语。
    表3中的结果表明,MDG和PDG对PLM很有帮助,因为删除它们中的任何一个都会导致几乎所有指标的性能下降。此外,在MedNLI和跨流派IR数据集上,最明显的下降是去除PDG的变体,即不含PDG。这说明注意力模式去相关引导可以为PLM带来更有价值的注意力信息,因为PDG可以推动每个头部关注输入的不同位置以捕获多样性信息。
    我们还注意到R@1在跨流派IR数据集上略有下降,例如R@1银从76.48%下降到75.87%。Nev-ertheless,AG与其他指标(即MRR、,R@3, R@5和R@20)在AG机制之后仍有改进。

4.2AG对不同层的影响

    由于所提出的AG(即MDG和PDG)可以应用于PLM的任何层,因此我们设计实验来观察它们对BERT的不同层的影响。图3总结了不同层上具有MDG的BERT、具有PDG的BERT和同时具有MDG和PDG的BERT的结果。蓝色虚线表示没有AG的BERT。
    从图3可以看出,大多数层都能明显受益于MDG和PDG,如在MDG的指导下,层7的ACC从76.02%增加到77.36%。同样,在PDG的引导下,层的ACC从76.02%提高到77.43%。此外,中低层始终可以从PDG中受益,而顶层层偶尔会出现一些下降。例如,在层11,在PDG的引导下,ACC从76.02%下降到75.81%。相反,随着MDG的增加,BERT的下、中层出现了一些下降,例如,BERT的ACC在层层下降了0.63%。这是可以理解的,因为千年发展目标和发展目标的职能不同。千年发展目标关注不同的注意力头,而PDG推动每个注意力头关注输入的不同tokens/位置。因此,将MDG和PDG相结合通常会在几乎所有层上改善BERT。例如,在层分别受到MDG和PDG的指导后,性能提高了0.21%和1.51%,而MDG和PDG结合后,性能提高了1.76%。此外,发现较低的层在所有tokens对上都表现出广泛的注意力[4]。因此,下层调用表2:不同引导方法下PLM的性能比较(%)。与最佳基线结果相比的显著改进标记为∗ (t检验,<0.05)。
    用于指导PDG促进tokens而非MDG的多样性,与中间和顶部层相比。
avatar
表3:不同方法的性能比较(%)。粗体表示在相应指标方面的最佳结果。实验的多NLI匹配测试集。与最佳基线结果相比的显著改进标记为∗ (t检验,<0.05)。
图3:采用所提出的AG机制的每个BERT层的性能。图(a)、(b)和(c)分别展示了使用MDG、PDG以及MDG和PDG两者来指导BERT的每个层的结果。

4.3 AG对不同训练规模的影响

    在表1中,我们发现拟议的AG在MedNLI和跨流派IR数据集上比在MultiNLI数据集上带来了更多的改进。为了探索我们的AG机制是否受训练数据集大小的影响,我们从MedNLI的训练集中随机选择20%到100%的数据进行微调。详细结果如图6所示。在这个实验中,我们有以下观察结果。
    PDG和MDG通常可以在不同的训练大小下提高BERT,即使数据量很小。具体而言,当仅使用20%的训练集时,MDG将准确率提高了0.84%(即从68.78%提高到69.62%),而PDG也将准确率提高了0.70%(从68.78%提高到69.48%)。MDG和PDG在小数据集上有效的原因是,当没有足够的训练数据时,PLM很难适应不同的任务。换句话说,自我关注并没有得到很好的调整。因此,自我关注的引导变得尤为重要。此外,PLM很容易过度适应小型数据集。
    PDG和PDG可以在某些方面帮助缓解这种过度拟合问题。
avatar
图4:随机样本的注意力热图。图(a)表示没有AG的注意力,图(b)-(d)分别表示有MDG、PDG以及MDG和PDG两者的注意力。

4.4注意力热图案例研究

    在千年发展目标(MDG)和个人发展目标(PDG)的指导下,我们观察注意力头部的变化,看看指导后是否有任何不同的注意力模式。我们从MedNLI数据集的测试集中随机选择一个样本,并在图4中显示BERT所有层所有头部的平均注意力图。为了便于观察,图4仅显示了序列中的前15个tokens,所选的token序列为“[‘[CLS],‘患者’,‘拒绝’,‘任何’,‘头痛’,’,‘,‘视觉’,‘变化’,’,‘胸部’,‘疼痛’,‘,’,‘,’,',‘pl’,‘欧元’]”。
    如图4(d)所示,与图4(a)相比,带有MDG和PDG的注意力图可以将注意力放在更多的位置,而图4(a)不受AG的引导。例如,更多的注意力集中在最后一列中的token上(即“##eur”),图4(a)中没有AG的注意力图忽略了该标记。事实上,token“##eur”和之前的token“pl”构成了一个重要的医学概念“pleur”,应该引起注意力。AG可以使此类tokens得到更多的注意力,这就是AG可以改进PLM的原因。

4.5注意力主成分分析案例研究

    为了探索我们的AG机制是否促进自我注意力的丰富性和多样性,我们从MedNLI数据集的测试集中随机选择一些样本,并通过主成分分析(PCA)[9]对BERT所有层的所有注意力头部进行降维。图5显示了有/无AG机制的每个注意力头的空间分布。从图5中,我们可以看到,有MDG和PDG的注意力分布(图5的(b)-(d))比没有AG的分布更分散(见图5(a))。
    这表明提议的AG机制(包括MDG和PDG)是有效的,AG确实鼓励自我注意力将注意力放在序列的更宽位置。
    此外,图5(b)(即受千年发展目标指导)中多头注意力的分布比图5(c)(即受PDG指导)中更分散。显然,原因是千年发展目标旨在推动不同注意力图的多样性,这将导致分散的注意力头。
表4:使用不同PLM的三个数据集上的每历元训练时间(秒)(有或没有拟议的
avatar

4.6时间成本分析

    以前的大多数研究直接修改了自我注意的计算过程,例如[25,42],这意味着他们需要重新训练PLM。相比之下,我们的方法在微调阶段工作,不需要重新训练PLM。因此,我们的AG在时间成本方面也有优点。
    然而,AG的计算过程将比在特定数据集上直接微调预先训练的模型需要更多的时间。
    表4显示了三个数据集上不同PLM(带或不带AG)的每历元训练时间。
    从表4可以看出,通过添加AG,增加的时间成本很小。具体而言,在MultiNLI、MedNLI和跨流派IR数据集上,AG每历元训练的额外时间成本分别约为130秒、7秒和19秒。我们认为时间成本可以接受,因为AG可以显著改进不同的预训练模型。
avatar
图5:随机样本的注意力主成分分析。图(a)表示多层多头注意力的空间分布,图(b)-(d)表示具有MDG、PDG以及MDG和PDG两者的注意力
avatar
图6:BERT和AG在不同数量的训练数据上的表现。

5相关工作

    现有的自我注意研究大致可分为三类:自注意探索、自注意修正和自注意引导。

5.1自注意探测

    这一研究方向侧重于自我注意的模式探索,即分析权重和联系的可解释性。例如,维格(Vig)和贝林科夫(Belinkov)[35]将注意力可视化,并在一个大型语料库上分析注意力和语法之间的相互作用。他们发现,在模型的不同层,不同的注意针对不同的词类,并且注意与依赖关系密切相关,尤其是在中间层。同样,Clark等人。[4] 通过视觉分析和统计分析证明,伯特的注意力中捕捉到了大量的句法信息。Kovaleva等人[10]总结了5种常见的注意力模式,分别称为垂直、对角线、垂直+对角线、块和异质。Voita等人。【36】使用层相关传播确定每个编码器层中最重要的头,然后尝试描述它们所扮演的角色。Wang等人。
    【38】介绍DODRIO,这是一种开源交互式可视化工具,帮助研究人员和从业者分析注意力机制,以满足自我注意力可视化的需要。

5.2自注意修正

    这一研究路线修改了注意力公式,使注意力权重对局部地区产生了bias[7、43、45]。例如,Wu et al.(40)和Yang et al.(44)使用卷积模在某些部分取代自我关注,使网络的计算效率更高。Raganato等人【27】设计了七种预定义的模式,每种模式都可以代替注意力头来训练神经机器翻译模型,而无需学习它们。
    这种方法的优点是可以在不损失翻译质量的情况下减少参数占用。Qi等人[25]同时考虑方向mask、单词距离mask和依赖距离mask,并将它们添加到注意力计算中,以获得结构先验。类似地,Li等人【17】将每个token映射到树节点,并计算任意两个节点的距离,然后将距离添加到注意力计算中。Xia等人。
    [42]将单词相似度知识注入到注意力计算中,使BERT模型意识到单词对的相似度。

5.3自关注引导

    与上述两条研究路线不同,我们的工作属于自我注意力引导,它在不引入任何新参数或修改注意力计算公式的情况下引导自我注意力的学习。Deshpande和Narasimhan的作品属于这一类。在他们的工作中,基于对注意力的分析,预先定义了五种固定模式,在此基础上添加了一个规则化项,以迫使注意力在PLMs的训练阶段接近预先定义的注意力模式。与我们的工作相比,至少有两个不同之处。首先,我们不需要预先定义注意力模式。相反,注意力是通过MDG和PDG部分自适应引导的。其次,我们不需要从头开始训练PLM。我们的注意力引导方法在PLM s的微调阶段起作用。我们在表2中与Deshpande和Narasimhan[5]的工作进行了比较,展示了2017年7月17日在华盛顿特区举行的会议,Wang等人。
    我们的方法在不引入新知识或事先预先定义注意力模式的情况下获得了相当或更好的性能。

6结论和未来工作

    在这项工作中,我们提出了两种注意力引导方法,即注意力图辨别引导(MDG)和注意力模式去相关引导(PDG),通过鼓励学习到的注意从输入中获得更多信息并变得更加多样化来提高PLM的性能。
    七个PLM在三个数据集上的实验结果验证了我们提出的方法的有效性。特别是,我们发现,所提出的注意力引导机制适用于小数据集和大数据集,这很有吸引力,因为构建大型标记数据集既耗时又费力。
    至于未来的工作,我们计划探索如何结合更多特定领域的知识来指导低资源领域的自我注意学习,例如医学领域中疾病、药物和症状的关系。

再现性

    这项工作使用公开可用的数据。为了便于报告结果的可复制性,我们在https://anonymous上发布了代码。4打开。科学/r/AttentionGuide-F6C0。

参考文献

[1] Emily Alsentzer, John R. Murphy, Willie Boag, Wei-Hung Weng, Di Jin, Tristan Naumann, and Matthew B. A. McDermott. 2019. Publicly Available Clinical BERT Embeddings. CoRR abs/1904.03323 (2019).

[2] Iz Beltagy, Kyle Lo, and Arman Cohan. 2019. SciBERT: A Pretrained Language Model for Scientific Text. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing, EMNLP-IJCNLP . 3613–3618.

[3] Monojit Choudhury and Amit Deshpande. 2021. How Linguistically Fair Are Multilingual Pre-Trained Language Models?. In Thirty-Fifth AAAI Conference on Artificial Intelligence, AAAI . 12710–12718.

[4] Kevin Clark, Urvashi Khandelwal, Omer Levy, and Christopher D. Manning. 2019. What Does BERT Look at? An Analysis of BERT’s Attention. In Proceedings of the 2019 ACL Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP, BlackboxNLP@ACL . 276–286.

[5] Ameet Deshpande and Karthik Narasimhan. 2020. Guiding Attention for Self- Supervised Learning with Transformers. In Findings of the Association for Com- putational Linguistics, EMNLP . 4676–4686.

[6] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT . 4171– 4186.

[7] José A. R. Fonollosa, Noe Casas, and Marta R. Costa-jussà. 2019. Joint Source- Target Self Attention with Locality Constraints. CoRR abs/1905.06596 (2019). [8] Geoffrey E. Hinton, Oriol Vinyals, and Jeffrey Dean. 2015. Distilling the knowledge in a Neural Network. CoRR abs/1503.02531 (2015).

[9] Ian T Jolliffe and Jorge Cadima. 2016. Principal component analysis: A review and recent developments. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences 374, 2065 (2016), 20150202.

[10] Olga Kovaleva, Alexey Romanov, Anna Rogers, and Anna Rumshisky. 2019. Revealing the Dark Secrets of BERT. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing, EMNLP-IJCNLP . 4364–4373.

[11] Huiyuan Lai, Antonio Toral, and Malvina Nissim. 2021. Thank you BART! Rewarding Pre-Trained Models Improves Formality Style Transfer. In Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing, ACL/IJCNLP . 484–494.

[12] Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, and Radu Soricut. 2020. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. In 8th International Conference on learning Representations, ICLR

    .

[13] Jinhyuk Lee, Wonjin Yoon, Sungdong Kim, Donghyeon Kim, Sunkyu Kim, Chan Ho So, and Jaewoo Kang. 2020. BioBERT: a pre-trained biomedical language representation model for biomedical text mining. Bioinform. 36, 4 (2020), 1234–1240.

[14] Jian Li, Zhaopeng Tu, Baosong Yang, Michael R. Lyu, and Tong Zhang. 2018. Multi-Head Attention with Disagreement Regularization. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, EMNLP . 2897–2903.

[15] Yunfan Li, Peng Hu, Jerry Zitao Liu, Dezhong Peng, Joey Tianyi Zhou, and Xi Peng. 2021. Contrastive Clustering. In Thirty-Fifth AAAI Conference on Artificial Intelligence, AAAI . 8547–8555.

[16] Zhongli Li, Qingyu Zhou, Chao Li, Ke Xu, and Yunbo Cao. 2020. Improving BERT with syntax-aware local attention. arXiv preprint arXiv:2012.15150 (2020).

[17] Zhongli Li, Qingyu Zhou, Chao Li, Ke Xu, and Yunbo Cao. 2021. Improving BERT with Syntax-aware Local Attention. In Findings of the Association for Computational Linguistics, ACL/IJCNLP . 645–653.

[18] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. 2019. RoBERTa: A Robustly Optimized BERT Pretraining Approach. CoRR abs/1907.11692 (2019).

[19] Tomasz Malisiewicz, Abhinav Gupta, and Alexei A. Efros. 2011. Ensemble of exemplar-SVMs for object detection and beyond. In IEEE International Conference on Computer Vision, ICCV . IEEE Computer Society, 89–96.

[20] Paul Michel, Omer Levy, and Graham Neubig. 2019. Are Sixteen Heads Really Better than One?. In Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems . 14014–14024.

[21] Elias Moons, Aditya Khanna, Abbas Akkasi, and Marie-Francine Moens. 2020. A comparison of deep learning methods for ICD coding of clinical records. Applied Sciences 10, 15 (2020), 5262.

[22] Myle Ott, Sergey Edunov, David Grangier, and Michael Auli. 2018. Scaling Neural Machine Translation. In Proceedings of the Third Conference on Machine Translation: Research Papers, WMT . 1–9.

[23] Geondo Park, Chihye Han, Daeshik Kim, and Wonjun Yoon. 2020. MHSAN: Multi-Head Self-Attention Network for Visual Semantic Embedding. In IEEE Winter Conference on Applications of Computer Vision, . IEEE, 1507–1515.

[24] Yifan Peng, Shankai Yan, and Zhiyong Lu. 2019. Transfer Learning in Biomedical Natural Language Processing: An Evaluation of BERT and ELMo on Ten Bench- marking Datasets. In Proceedings of the 18th BioNLP Workshop and Shared Task, BioNLP@ACL . 58–65.

[25] Le Qi, Yu Zhang, Qingyu Yin, and Ting Liu. 2020. Multiple Structural Pri- ors Guided Self Attention Network for Language Understanding. CoRR abs/2012.14642 (2020).

[26] Yifan Qiao, Chenyan Xiong, Zhenghao Liu, and Zhiyuan Liu. 2019. Understanding the Behaviors of BERT in Ranking. CoRR abs/1904.07531 (2019). [27] Alessandro Raganato, Yves Scherrer, and Jörg Tiedemann. 2020. Fixed Encoder Self-Attention Patterns in Transformer-Based Machine Translation. In Findings of the Association for Computational Linguistics, EMNLP . 556–568.

[28] Alessandro Raganato, Jörg Tiedemann, et al. 2018. An analysis of encoder representations in transformer-based machine translation. In Proceedings of the 2018 EMNLP Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP, BlackboxNLP@EMNLP .

[29] Nils Reimers and Iryna Gurevych. 2019. Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing, EMNLP-IJCNLP . 3980–3990.

[30] Alexey Romanov and Chaitanya Shivade. 2018. Lessons from natural language inference in the clinical domain. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, EMNLP . 1586–1596.

[31] Chi Sun, Xipeng Qiu, Yige Xu, and Xuanjing Huang. 2019. How to Fine-Tune BERT for Text Classification?. In Chinese Computational Linguistics - 18th China National Conference, CCL , Vol. 11856. 194–206.

[32] Yaling Tao, Kentaro Takagi, and Kouta Nakata. 2021. Clustering-friendly representation Learning via Instance Discrimination and Feature Decorrelation. In 9th International Conference on Learning Representations, ICLR 2021 .

[33] Ehsan Tavan, Ali Rahmati, Maryam Najafi, Saeed Bibak, and Zahed Rahmati. 2021. BERT-DRE: BERT with Deep Recursive Encoder for Natural Language Sentence Matching. CoRR abs/2111.02188 (2021).

[34] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention is All you Need. In Advances in Neural Information Processing Systems 30: Annual conference on Neural Information Processing Systems . 5998–6008.

[35] Jesse Vig and Yonatan Belinkov. 2019. Analyzing the structure of attention in a transformer language model. In Proceedings of the 2019 ACL Workshop Black- boxNLP: Analyzing and Interpreting Neural Networks for NLP, BlackboxNLP@ACL . 63–76.

[36] Elena Voita, David Talbot, Fedor Moiseev, Rico Sennrich, and Ivan Titov. 2019. Analyzing Multi-Head Self-Attention: Specialized Heads Do the Heavy Lifting, the Rest Can Be Pruned. In Proceedings of the 57th Conference of the Association for Computational Linguistics, ACL . 5797–5808.

[37] Wenhui Wang, Hangbo Bao, Shaohan Huang, Li Dong, and Furu Wei. 2021. MiniLMv2: Multi-Head Self-Attention Relation Distillation for Compressing Pre- trained Transformers. In Findings of the Association for Computational Linguistics, ACL/IJCNLP (Findings of ACL, Vol. ACL/IJCNLP 2021) . 2140–2151.

[38] Zijie J. Wang, Robert Turko, and Duen Horng Chau. 2021. Dodrio: Exploring Transformer Models with Interactive Visualization. CoRR abs/2103.14625 (2021).

[39] Adina Williams, Nikita Nangia, and Samuel R. Bowman. 2018. A Broad-Coverage Challenge Corpus for Sentence Understanding through Inference. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Com- putational Linguistics: Human Language Technologies, NAACL-HLT . 1112–1122.

[40] Felix Wu, Angela Fan, Alexei Baevski, Yann N. Dauphin, and Michael Auli. 2019. Pay Less Attention with Lightweight and Dynamic Convolutions. In 7th international Conference on Learning Representations, ICLR .

[41] Zhirong Wu, Yuanjun Xiong, Stella X. Yu, and Dahua Lin. 2018. Unsupervised Feature Learning via Non-Parametric Instance Discrimination. In 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018 . 3733–3742.

[42] Tingyu Xia, Yue Wang, Yuan Tian, and Yi Chang. 2021. Using Prior Knowledge to Guide BERT’s Attention in Semantic Textual Matching Tasks. In WWW ’21: The Web Conference 2021 . 2466–2475.

[43] Mingzhou Xu, Derek F. Wong, Baosong Yang, Yue Zhang, and Lidia S. Chao. 2019. Leveraging Local and Global Patterns for Self-Attention Networks. In Proceedings of the 57th Conference of the Association for Computational Linguistics, ACL . 3069–3075.

[44] Baosong Yang, Longyue Wang, Derek F. Wong, Lidia S. Chao, and Zhaopeng Tu. 2019. Convolutional Self-Attention Networks. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies,NAACL-HLT . 4040–4045.

[45] Shan Yang, Heng Lu, Shiyin Kang, Liumeng Xue, Jinba Xiao, Dan Su, Lei Xie, and Dong Yu. 2020. On the localness modeling for the self-attention based end-to-end speech synthesis. Neural Networks 125 (2020), 121–130.

[46] Andrew Yates, Rodrigo Nogueira, and Jimmy Lin. 2021. Pretrained Transformers for Text Ranking: BERT and Beyond. In SIGIR ’21: The 44th International ACM Conference on Research and Development in Information Retrieval, SIGIR . 2666– 2668.

[47] Shi-Fang Yuan, Yi-Bin Yu, Ming-Zhao Li, and Hua Jiang. 2020. A direct method to Frobenius norm-based matrix regression. Int. J. Comput. Math. 97, 9 (2020), 1767–1780.

[48] Jure Zbontar, Li Jing, Ishan Misra, Yann LeCun, and Stéphane Deny. 2021. Barlow Twins: Self-Supervised Learning via Redundancy Reduction. In Proceedings of the 38th International Conference on Machine Learning, ICML , Vol. 139. 12310–12320.

[49] Chaoyuan Zuo, Narayan Acharya, and Ritwik Banerjee. 2020. Querying across genres for medical claims in news. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing, EMNLP . 1783–1789.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/myl1992/article/details/125230202

智能推荐

基于ECS和NAS搭建个人网盘!创建属于你的私人空间!_在线建立私人空间的方法-程序员宅基地

文章浏览阅读791次。基于ECS和NAS搭建个人网盘体验地址:https://developer.aliyun.com/adc/scenario/bd0643a87c3e4cde8b488a56850df181场景体验目标本场景将提供一台配置了CentOS 7.7的ECS实例(云服务器)和创建好的NAS文件存储系统。通过本教程的操作,您可以基于已有的环境快速搭建一个个人网盘。体验此场景后,可以掌握的知识有:NAS文件存储系统基本知识Apache + PHP语言环境的安装和部署挂载NAS文件存储系统_在线建立私人空间的方法

python网课_网络课程python-程序员宅基地

文章浏览阅读5.2k次,点赞2次,收藏20次。在家是不是看网课看的比较烦躁?我就是,在家看学习通课程看的烦躁,想着用代码刷课程,写了一天终于写出来了(狗头开心)。这里对于selenium库就不详细解释,包括chrome浏览器的配置等问题应该能百度到。不多说直接上代码。等下再粗略解释一下每部分。每一部分要详细解释,篇幅太长了,现在是深夜,熬不住了。from selenium import webdriverimport timefrom..._网络课程python

教会你怎么安装和使用 Visio 哦 ~ ~-程序员宅基地

文章浏览阅读3.8k次,点赞7次,收藏42次。前言很多学生会在编程、设计或其他时候可能使用到【制图工具】。最好用的莫不过【微软的Visio】了。但是很多学生不会使用Visio,甚至不会安装Visio。 > Visio 这么好的工具,一定要会用。 今天,作者写一份教程,教会大家了解如何安装和使用 ==Visio==。 在正式教程之前,我们先介绍 Visio。 Visio 是offic..._visio安装教程

Nginx ./configure详解_nginx中./configure-程序员宅基地

文章浏览阅读601次。转载至https://blog.csdn.net/zhangman0702/article/details/93628954在"./configure"配置中,"–with"表示启用模块,也就是说这些模块在编译时不会自动构建"–without"表示禁用模块,也就是说这些模块在编译时会自动构建,若你想Nginx轻量级运行,可以去除一些不必要的模块。[root@localhost nginx-1.14.0]# ./configure --help => 查看安装配置项--hel_nginx中./configure

DNS正向解析、反向解析、双向解析基本配置_dns可以双向查询吗-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏10次。概述DNS服务器里面有两个区域,即“正向查找区域”和“反向查找区域”,正向查找区域就是通常所访问的域名去解析地址,反向查找区域即是IP反向解析,它可以作用是通过查找IP地址的PTR记录来得到该IP地址指向的域名。要成功得到域名就必须有该IP地址的PTR记录。PTR记录是邮件交换记录的一种,邮件交换记录中有A记录和PTR记录,A记录解析域名到地址,PTR记录解析地址得到对应的域名。DNS正向解析..._dns可以双向查询吗

MATLAB Runtime 安装方法_could not find version 9.13 of the matlab runtimea-程序员宅基地

文章浏览阅读2.1w次,点赞6次,收藏70次。1. 问题描述在使用由Matlab GUI开发的工具软件时,常常会遇到如下问题:Could not find version 9.1 of the MATLAB Runtime. Attempting …2. 解决方案在官网下载对应版本的编译器:(示例为Runtime 9.1)将编译器安装到如图所示的路径下:. 重新启动软件即可..._could not find version 9.13 of the matlab runtimeattempting to load mclmcrrt

随便推点

【漏洞复现】Apache Flink 文件读取(CVE-2020-17519)_apache flink 目录遍历漏洞 cve-2020-17519-程序员宅基地

文章浏览阅读307次。0x01 漏洞描述ApacheFlink是一个开源的流处理框架,具有强大的流处理和批处理功能。Apache Flink 1.11.0(以及1.11.1和1.11.2中发布的)中引入的更改允许攻击者通过JobManager进程的REST接口读取JobManager本地文件系统中的任何文件。0x02 影响版本Flink 1.11.0、1.11.1、1.11.20x03 漏洞复现简单验证:读取该文件可直接判断是否存在漏洞http://192.168.1.1:8081/jobmanager/logs/_apache flink 目录遍历漏洞 cve-2020-17519

CSDN使用时遇到的问题_add to the trusted site list ie浏览器-程序员宅基地

文章浏览阅读97次。第一发布文章时,遇到的问题,发布时弹出 ‘请勿使用默认栏’,改下面这框里文字为标题就OK了_add to the trusted site list ie浏览器

差分进化算法优化(MATLAB)_dfo优化-程序员宅基地

文章浏览阅读156次。在初始种群中,所有蜜蜂都是侦查蜜蜂,它们从规定的搜索空间中选择位置。聚集蜜蜂在新位置周围的领域内搜索,侦查蜜蜂则返回搜索空间的一个新位置。其中一种基于差分进化的算法是差分蜂群优化算法(DFOA),它模拟蜜蜂群饲料搜索过程,使用差分策略来更新蜜蜂位置,以实现全局最优解搜索。在差分进化算法中,初始种群由 n 个个体组成,每个个体包含 D 个维度,可以表示为。因此,在搜索空间 [L,U] = [-2,-2] 至 [2,2] 内,Rosenbrock 函数的全局最小值为 4.2776e-06。U = [2,2];_dfo优化

Linux下printf输出彩色文字_linux打印彩色关键字-程序员宅基地

文章浏览阅读819次。Linux下printf输出彩色文字语法举例多行输出?应用规范最近学习了printf输出彩色字体的方法,来给大伙分享一下语法\033[ A1;A2;A3;…An m这里的An详情请看应用规范中的表格XD举例printf("\033[1;33;41mhello world\n");多行输出?你一定觉得这样就可以了,但是这其实是不对的,因为当你在下面再多输出一行你就会发现问题printf("\033[1;33;41mhello world\n");printf("hello worl_linux打印彩色关键字

Java春招面试复习:if-else代码优化的八种方案_map<?, function<?> action> actionmappings = new ha-程序员宅基地

文章浏览阅读279次。前言代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案。优化方案一:提前return,去除不必要的else如果if-else代码块包含return语句,可以考虑通过提前return,把多余else干掉,使代码更加优雅。优化前:if(condition){ //doSomething}else{ return ;}优化后:if(!condition){ return ;}//_map action> actionmappings = new hashmap<>()

SMI(MDC/MDIO)总线接口介绍_serial management interface-程序员宅基地

文章浏览阅读4.7k次,点赞2次,收藏16次。1. MDIO接口SMI:串行管理接口(Serial Management Interface),也被称作MII管理接口(MII Management Interface),包括MDC和MDIO两条信号线。MDIO是一个PHY的管理接口,用来读/写PHY的寄存器,以控制PHY的行为或获取PHY的状态,MDC为MDIO提供时钟。MDIO原本是为MII总线接口定义的,MII用于连接MAC和PH..._serial management interface

推荐文章

热门文章

相关标签