2023.1.15第14次周报

摘要

This week, I learnt about the Attention mechanism, most of the Attention models are dependent on the Encoder-Decoder framework for implementation, and the Encoder-Decoder structure of recurrent neural networks is designed to address the problem of changes in the order of words when moving from one language to another; in addition, I read an article on a natural dialogue generation for Multiple Knowledge Synchronisation Transformer article, which captures the role of external knowledge information and identifies and analyses how different forms of knowledge can be applied to knowledge-based dialogue generation.
本周,我学习了Attention机制,大部分Attention模型是依附于Encoder-Decoder框架进行实现,Encoder-Decoder结构的循环神经网络是为了解决从一种语言到另一种语言时词语的语序发生变化问题;另外,我阅读了一篇用于自然对话生成的多重知识同步转化器文章,文章抓住了外部知识信息的作用,指出并分析了如何将不同形式的知识应用于以知识为基础的对话生成。

深度学习

1、Attention前言

BERT近前年在自然语言处理领域比较火,谷歌团队2018提出的用于生成词向量的BERT算法在NLP的11项任务中取得了非常出色的效果,而BERT算法是基于Transformer,Transformer又是基于attention机制。
attention机制的本质是从人类的视觉注意力机制中学习其中的精髓。当人类视觉在感知事物时,一般不会对一个事物从头到尾的全部进行观察,而往往是根据每个人的需求取注意事物上特殊的部分。而且当我们发现一个事物某一部分经常出现自己想观察的信息时,我们会学习在将来再出现类似场景时,把注意力放到该部分上。

2、为什么要有Attention

从机器翻译问题分析:我们知道,普通的用目标语言中的词语来代替原文中的对应词语是行不通的,因为从语言到另一种语言时词语的语序会发生变化。比如英语的“red”对应法语的“rouge”,英语的“dress”对应法语“robe”,但是英语的“red dress”对应法语的“robe rouge”。
为了解决这个问题,于是创造了Encoder-Decoder结构的循环神经网络。它先通过一个Encoder循环神经网络读入所有的待翻译句子中的单词,得到一个包含原文所有信息的中间隐藏层,接着把中间隐藏层状态输入Decoder网络,一个词一个词的输出翻译句子。这样无论输入中的关键词语有着怎样的先后次序,由于都被打包到中间层一起输入后方网络,Encoder-Decoder网络都可以很好地处理这些词的输出位置和形式了。

3、Encoder-Decoder概述

Encoder-Decoder框架就是编码-解码框架,目前大部分attention模型都是依附于Encoder-Decoder框架进行实现,在NLP中Encoder-Decoder框架主要被用来处理序列-序列问题。也就是输入一个序列,生成一个序列的问题。这两个序列可以分别是任意长度。具体到NLP中的任务比如:
文本摘要,输入一篇文章(序列数据),生成文章的摘要(序列数据)
文本翻译,输入一句或一篇英文(序列数据),生成翻译后的中文(序列数据)
问答系统,输入一个question(序列数据),生成一个answer(序列数据)
基于Encoder-Decoder框架实现,用的较多的是seq2seq模型和Transformer。

4、Encoder-Decoder结构原理

在这里插入图片描述
上图是Encoder-Decoder框架在NLP领域中抽象后的最简单的结构图。
上图有多个C1,C2,C3这样的编码。当我们在预测Y1时,可能Y1的注意力是放在C1上,那咱们就用C1作为语义编码,当预测Y2时,Y2的注意力集中在C2上,那咱们就用C2作为语义编码,以此类推,就模拟了人类的注意力机制。

5、Attention机制

在这里插入图片描述
在这里插入图片描述

6、Attention优缺点

优点:
1.速度快。Attention机制不再依赖于RNN,解决了RNN不能并行计算的问题。这里需要说明一下,基于Attention机制的seq2seq模型,因为是有监督的训练,所以咱们在训练的时候,在decoder阶段并不是说预测出了一个词,然后再把这个词作为下一个输入,因为有监督训练,咱们已经有了target的数据,所以是可以并行输入的,可以并行计算decoder的每一个输出,但是再做预测的时候,是没有target数据地,这个时候就需要基于上一个时间节点的预测值来当做下一个时间节点decoder的输入。所以节省的是训练的时间。
2.效果好。效果好主要就是因为注意力机制,能够获取到局部的重要信息,能够抓住重点。
缺点:
1.只能在Decoder阶段实现并行运算,Encoder部分依旧采用的是RNN,LSTM这些按照顺序编码的模型,Encoder部分还是无法实现并行运算,不够完美。
2.就是因为Encoder部分目前仍旧依赖于RNN,所以对于中长距离之间,两个词相互之间的关系没有办法很好的获取。

文献阅读

论文题目:Multiple Knowledge Syncretic Transformer for Natural Dialogue Generation

1、摘要

知识对于智能对话系统产生信息性的回应是至关重要的,这种知识包括各种不同的模式,如知识图谱(KGs)、基础文件和对话主题。一些研究人员试图通过采用预训练的语言模型来提高模型的语言理解能力,但忽略了特定任务中外部知识的重要性。本文为对话系统提出了一个新颖的基于转化器的架构,即多元知识同步转化器(MKST),它融合了开放领域对话中的多种知识。具体方法:首先,该模型在大规模语料库中进行预训练,以学习常识性知识;然后在微调过程中,作者将知识类型分为两个具体的类别,由他们的模型以不同的方式处理;编码器负责将具有多种知识的对话语境编码在一起,而具有知识感知机制的解码器则专注于阅读多种知识的融合,以促进更好的生成。这是在一个对话模型中融合多种知识的首次尝试,实验结果表明,与最先进的基线相比,本文的模型在知识驱动的对话生成任务上取得了明显的改善。

2、论文问题

该文章启发来源于两个方面:
1、一个智能对话系统本身需对语言有深刻的理解,且有足够的常识性知识储备。
2、一个成功的对话系统应该有能力整合和利用多种类型的外部知识。
为了建立一个知识丰富的对话系统,基于大规模语料库预训练的Transformer模型,作者提出了一个用于对话生成的多元知识同步转化器(MKST)。
首先介绍一下文章使用的关键符号和概念以及对话生成系统的框架,表1列出了使用的主要符号。
在这里插入图片描述
表1 符号表
在这里插入图片描述
图1 对话生成系统的框架
图1为对话生成系统的框架。首先用标签知识检测模块对输入进行预处理,得到标签知识嵌入;然后使用知识同步转化器编码器来融合多样化的知识和对话背景;最后采用知识感知转化器解码器来生成一个适当的、信息丰富的回应。
论文问题:设C={w1, …, wn}为整个对话语境,T={t1, …, tm}为其相关的非结构化知识,C和T中的每个语篇都包括添加起始和结束标记(< s > , < e >)。给定C和T,使用标签知识检测模块分别得到标签序列ec、et,其中ec={e1, …, en},et={e’1, …, e’m}。对于ec和et中的每一个标记,它可以是句子标签或单词标签。句子标签代表了句子层面上的含义,如话题,而单词标签旨在加强单词的表示,如KGs中的信息实体嵌入。对于任何标记wi∈{ < s > , < e > },如果有相应的句子标签,句子标签将对应于开始和结束标记。对于任何标记wi∈V,如果有相应的单词标签,单词标签将对应于该单词的位置。通过这些映射的句子和记号,可以获得标签信息。通过结合上述各种信息生成一个适当的、信息丰富的反应Y={y1, …, yn}。从形式上看,该模型通过使用波束搜索算法生成一个令牌,使概率最大化:
在这里插入图片描述

3、论文方法

对于上述问题,文章提出了用于对话生成的多元知识同步转化器(MKST),它是一个通用的对话生成模型,包含了多种类型的知识,为了有效地整合多种知识,作者将这些不同类型的外部知识分为两大类。
非结构化的知识:这类知识通常是一个完整的句子或文件,可以表达一个完整的意思,如Persona-chat数据集中的个人简介和Wizard-of-Wikipedia数据集中的地面知识。
标签知识:这类知识通常作为一个额外的标签存在,可以在不同方面增强语言表达,如KG中的对话主题和结构化知识事实。
在这里插入图片描述
图2
如图2,左边的部分是MKST的架构,由三个堆叠的模块组成:(a) 标签知识编码器(L_EncoderL_Encoder);(b) 同步转化器编码器(S_EncoderS_Encoder);© 知识感知变换器解码器(T_DecoderT_Decoder)。右边部分是S_EncoderS_Encoder和T_DecoderT_Decoder的输入变换。
编码器采用转化器结构,分别对多轮对话历史以及非结构化知识进行编码,并加入标签知识来增强语境和非结构化知识的表示,目的是提高模型对输入的理解。解码器利用一个额外的知识感知层来仔细阅读来自编码器的输出表示,其目的是提高模型产生信息量和上下文一致的反应的能力。
利用OpenAI的生成性预训练转化器(GPT)[8]作为预训练语言模型,因为它的微调效率很高,注意力屏蔽机制适合生成任务。为了联合异质知识,不仅通过增加一个知识融合机制来扩展标准的Transformer架构,而且还设计了一个新颖的微调目标,从而能够直接在有监督的生成任务上用异质知识来微调预训练的Transformer语言模型。

4、创新度与贡献分析

本篇文章抓住的点在于外部知识信息的作用,目前一些预训练的语言模型在NLP任务中忽略了纳入外部知识信息,大多数在对话生成任务中利用外部知识的研究也只关注于整合单一类型的知识,没有将不同的知识利用起来,然而不同类型的知识可以在不同的层面上帮助反应的生成,为此,文章提出了一个用于对话生成的多元知识同步转化器(MKST),利用了多种类型的知识。并且,为了联合异质知识,文章不仅通过增加一个知识融合机制来扩展标准的Transformer架构,而且还设计了一个新颖的微调目标,使我们能够直接在有监督的生成任务上用异质知识来微调预训练的Transformer语言模型。
本文的贡献可以概括为以下几点:
1、文章明确指出并分析了如何将不同形式的知识应用于以知识为基础的对话生成。这方面在以前的工作中没有得到充分的研究。
2、文章建立了一个新颖的基于预训练语言模型的多知识同步转化器,将对话背景与多种类型的知识一起编码。
3、文章证明了作者的知识融合机制对信息性反应的生成是有效的。

5、创新度与贡献分析

本篇文章抓住的点在于外部知识信息的作用,目前一些预训练的语言模型在NLP任务中忽略了纳入外部知识信息,大多数在对话生成任务中利用外部知识的研究也只关注于整合单一类型的知识,没有将不同的知识利用起来,然而不同类型的知识可以在不同的层面上帮助反应的生成,为此,文章提出了一个用于对话生成的多元知识同步转化器(MKST),利用了多种类型的知识。并且,为了联合异质知识,文章不仅通过增加一个知识融合机制来扩展标准的Transformer架构,而且还设计了一个新颖的微调目标,使我们能够直接在有监督的生成任务上用异质知识来微调预训练的Transformer语言模型。
本文的贡献可以概括为以下几点:
1、文章明确指出并分析了如何将不同形式的知识应用于以知识为基础的对话生成。这方面在以前的工作中没有得到充分的研究。
2、文章建立了一个新颖的基于预训练语言模型的多知识同步转化器,将对话背景与多种类型的知识一起编码。
3、文章证明了作者的知识融合机制对信息性反应的生成是有效的。

总结

本周学习了Attention机制,大部分Attention模型都是依附于Encoder-Decoder框架进行实现,Encoder-Decoder结构的循环神经网络是为了解决从一种语言到另一种语言时词语的语序发生变化问题。下周会继续学习Attention机制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值