IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【文本匹配】之 RE2论文详解 -> 正文阅读

[人工智能]【文本匹配】之 RE2论文详解

RE2 - Simple and Effective Text Matching with Richer Alignment Features

这篇论文来自阿里,19年的ACL论文。《Simple and Effective Text Matching with Richer Alignment Features》:https://arxiv.org/abs/1908.00300

Intro

很多深层网络只拥有一层alignment layer,导致模型需要很多额外的语义信息或手工特征或复杂alignment机制或后处理。

本文的创新点就在于用multiple alignment processes。

R - Residual vectors:previous aligned features

E - Embedding vectors:original point-wise features

E - Encoded vectors:contextual features

简称RE2

具体代表什么呢?让我们往下看。

Model

在这里插入图片描述

空白格子表示embedding vectors,斜线方格表示augmented residual connections,经过一个encoder生成的context vectors用黑色方格表示。如图所示,把这三个向量concat起来都放进alignment layer里,再用alignment layer的input和output都concat起来放入fusion layer中。一个block包含encoding、alignment和fusion三层,重复N次且每个block都是独立的参数。 fusion layer的output经过池化层,得到最后的固定长度向量。利用左右两侧的固定长度向量做预测,Loss采用交叉熵。

Augmented Residual Connections

为了给alignment layer(attention layer)提供更丰富的特征,RE2用了残差网络来连接连续的n个blocks。

The input of the n n n-th block x ( n ) x^{(n)} x(n)( n n n ≥ 2), is the concatenation of the input of the first block x ( 1 ) x^{(1)} x(1) and the summation of the output of previous two blocks (denoted by rectangles with diagonal stripes in Figure 1):

x i ( n ) = [ x i ( 1 ) ; o i ( n ? 1 ) + o i ( n ? 2 ) ] x^{(n)}_i=[x^{(1)}_i;o^{(n-1)}_i+o_i^{(n-2)}] xi(n)?=[xi(1)?;oi(n?1)?+oi(n?2)?]

Alignment Layer

alignment的方法仍是采取点积(可指路上一篇【文本匹配】之 经典ESIM论文详读)。 F F F指identity function或单层前向神经网络,这个作为超参数自行指定。

e i j = F ( a i ) T F ( b j ) e_{ij}=F(a_i)^TF(b_j) eij?=F(ai?)TF(bj?)

求得相似度e后,我们用同样的方法得到加权和。 a i ′ a'_i ai?就是 { b j } j = 1 l b \{b_j\}^{l_b}_{j=1} {bj?}j=1lb??中关于 a i a_i ai?的内容。

a i ′ = ∑ j = 1 l b e x p ( e i j ) ∑ k = 1 l b e x p ( e i k ) b j , ? i ∈ [ 1 , . . . , l a ] b j ′ = ∑ i = 1 l a e x p ( e i j ) ∑ k = 1 l a e x p ( e k j ) a i , ? j ∈ [ 1 , . . . , l b ] a'_i=\sum^{l_b}_{j=1}\frac{exp(e_{ij})}{\sum^{l_b}_{k=1}exp(e_{ik})} b_j, \forall i\in [1,...,l_a]\\b'_j=\sum^{l_a}_{i=1}\frac{exp(e_{ij})}{\sum^{l_a}_{k=1}exp(e_{kj})} a_i, \forall j\in [1,...,l_b] ai?=j=1lb??k=1lb??exp(eik?)exp(eij?)?bj?,?i[1,...,la?]bj?=i=1la??k=1la??exp(ekj?)exp(eij?)?ai?,?j[1,...,lb?]

Fusion Layer

对输入sequence a ˉ \bar{a} aˉ进行以下三个计算,并进行concat。这里的 G G G是单层前向神经网络,因为参数不共享所以用不同角标进行区别。

a ˉ i 1 = G 1 ( [ a i ; a i ′ ] ) a ˉ i 2 = G 2 ( [ a i ; a i ? a i ′ ] ) a ˉ i 3 = G 3 ( [ a i ; a i ⊙ a i ′ ] ) a ˉ i = G ( [ a ˉ i 1 ; a ˉ i 2 ; a ˉ i 3 ] ) \bar{a}_i^1=G_1([a_i;a_i'])\\\bar{a}_i^2=G_2([a_i;a_i-a_i'])\\\bar{a}_i^3=G_3([a_i;a_i \odot a_i'])\\\bar{a}_i=G([\bar{a}_i^1;\bar{a}_i^2;\bar{a}_i^3])\\ aˉi1?=G1?([ai?;ai?])aˉi2?=G2?([ai?;ai??ai?])aˉi3?=G3?([ai?;ai?ai?])aˉi?=G([aˉi1?;aˉi2?;aˉi3?])

相减主要是为了提取difference,相乘是为了提取similarity。

Prediction Layer

输入 v 1 , v 2 v_1,v_2 v1?,v2?两个vector,输出的值为:

y ^ = H ( [ v 1 ; v 2 ; v 1 ? v 2 ; v 1 ⊙ v 2 ] ) \hat{y}=H([v1;v2;v1-v2;v1\odot v2]) y^?=H([v1;v2;v1?v2;v1v2])

其中H为多层前向神经网络。

简化版,这个也作为超参数调试:

y ^ = H ( [ v 1 ; v 2 ] ) \hat{y}=H([v1;v2]) y^?=H([v1;v2])

Difference with ESIM

从公式来看,和ESIM还是比较相似,最大的不同点在于使用残差网络进行信息增强。由于每个block都含有alignment层,从单一的alignment process变成了multiple alignment processes。这个方法放弃了复杂的计算alignment方式(complicated multi-way alignment mechanisms, heavy distillations of alignment results, external syntactic features, or dense connections to connect stacked blocks when the model is going deep),所以在保证性能的基础上尽可能地快。

作者给出了github地址:

tf1.x:alibaba-edu/simple-effective-text-matching

pytorch:alibaba-edu/simple-effective-text-matching-pytorch

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:36:57  更:2022-04-22 18:38:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:44:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码