RE2[1] 这个名称来源于该网络三个重要部分的合体:Residual vectors;Embedding vectors;Encoded vectors;
掌握这个论文,最重要的一个细节点就是了解如何将增强残差连接融入到模型之中。
先来看架构图,如下:
这个架构图很精简,所以不太容易理解。
大体上区分可以分为三层。第一层就是输入层,第二个就是中间处理层,第三个就是输出层。
中间处理层我们可以称之为block,就是画虚线的部分,可以被循环为n次,但是需要注意的是每个block不是共享的,参数是不同的,是独立的,这点需要注意。
其实这个论文比较有意思的点就是增强残差连接这里。架构图在这里其实很精简,容易看糊涂,要理解还是要看代码和公式。
首先假设我们的句子长度为 ,然后对于第n个block(就是第n个虚线框的部分)。
它的输入和输出分别是: 和 ;
首先对一第一个block,也就是 ,它的输入是embedding层,注意这里仅仅是embedding层;
对于第二个block,也就是 ,它的输入是embedding层(就是初始的embedding层)和第一个block的输出 拼接在一起;
紧接着对于n大于2的情况下,也就是对于第三个,第四个等等的block,它的输入形式是这样的;
理解的重点在这里:在每个block的输入,大体可以分为两个部分,第一部分就是初始的embedding层,这个永远不变,第二个部分就是此时block之前的两层的blocks的输出和;这两个部分进行拼接。
这是第一个体现残差的部分。
第二个残差的部分在block内部:
alignment层之前的输入就有三个部分:第一部分就是embedding,第二部分就是前两层的输出,第三部分就是encoder的输出。
这点结合着图就很好理解了。
attention这里其实操作比较常规,和ESIM很类似,大家可以去看之前这个文章:如何又好又快的做文本匹配。
公式大概如下:
这里有一个细节点需要注意,在源码中计算softmax之前,也是做了类似TRM中的缩放,也就是参数,放个代码:
#核心代码
def __init__(self, args, __):
super().__init__()
self.temperature = nn.Parameter(torch.tensor(1 / math.sqrt(args.hidden_size)))
def _attention(self, a, b):
return torch.matmul(a, b.transpose(1, 2)) * self.temperature
融合层,就是对attentino之前和之后的特征进行一个融合,具体如下:
三种融合方式分别是直接拼接,算了对位减法然后拼接,算了对位乘法然后拼接。最后是对三个融合结果进行拼接。
有一个很有意思的点,作者说到减法强调了两句话的不同,而乘法强调了两句话相同的地方。
Pooling层之后两个句子分别得到向量表达: 和
三个表达方式,各取所需就可以:
简单总结一下,这个论文最主要就是掌握残差连接。
残差体现在模型两个地方,一个是block外,一个是block内;
对于block,需要了解的是,每一个block的输入是有两部分拼接而成,一个是最初始的embeddding,一个是之前两层的输出和。
对于block内,需要注意的是Alignment之前,有三个部分的输入一个是最初始的embeddding,一个是之前两层的输出和,还有一个是encoder的输出。
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方"AINLP",进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
推荐阅读
征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)
完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)
模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧🙏
Simple and Effective Text Matching with Richer Alignment Features: https://www.aclweb.org/anthology/P19-1465/,