当前位置:   article > 正文

MatchPyramid:Text Matching as Image Recognition

matchpyramid

在这里插入图片描述

论文阅读准备

课前基础知识

在这里插入图片描述

学习目标

在这里插入图片描述

知识树

在这里插入图片描述

论文导读

论文研究背景、成果及意义

研究背景

CNN在图像上的应用
数字识别
在这里插入图片描述
CV场景下的模型的输入:
在这里插入图片描述
每一层学到什么内容?
下图为可视化神经网络学习到的知识
在这里插入图片描述卷积神经网络各层所学习到的知识并不是黑盒,每一层都有其特定的功能,并且分工明确,从浅到深,CNN会逐步的提取出边缘、颜色、纹理等图形的图案,然后一直到最后一层就会定位到或识别到具体的物品。即CNN在训练过程中,自动的提取任务中所需要的各种特征、各个层级的特征,这些特征越是浅层越是普遍或通用的,越高层越具体,越接近实际的应用场景。利用训练好的CNN做迁移学习,可以直接用。
CNN在文本中的应用
在这里插入图片描述
模型输入:
在这里插入图片描述
【思考】在文本匹配任务中,如何把两个文本表示成一个矩阵向量?因为CV的输入是一个矩阵向量
Motivation
在这里插入图片描述

哪些信息被学到才能被称为充分的学习?自然语言处理领域大概有这样几个level:char-level、word-level、phrase(短语)-level、sentence-level
CNN模型在CV领域处理或识别某一个东西,它也是通过不同的level去识别某一个物体,在NLP中也是通过不同的level去实现的。
文本匹配相同思路实现
在这里插入图片描述
低层识别比较通用的Level,高层识别比较具体的level。

研究成果

CNN在NLP领域的应用
在这里插入图片描述

MatchPyramid论文泛读

在这里插入图片描述

摘要

摘要核心:

  • 1.交互考虑多种维度(word, phrase, sentence)特征来理解自然语言。
  • 2.如何有意义的矩阵化表示文本?Matching Matrix的构建方式介绍。(如何将匹配的两个句子表示成矩阵向量)
  • 3.CNN模型善于从多层的、多角度的模式中学习。
  • 4.图像识别的思路迁移到文本匹配。

研究成果

  • 1.提出一种新颖的从图像识别的思路解决文本匹配的模型。
  • 2.提出了一种深度卷积神经网络模型,可以有效的抽取多层特征。
  • 3.通过实验对比,本文提出的模型展现了很大的优势。

论文精读

MatchPyramid算法模型总览

MatchPyramid结构

在这里插入图片描述
从上往下去看,文本匹配任务的通常解法当做是一个回归任务,回归任务到最后得到的不是一个离散的值,而是一个具体 score

MatchPyramid模型细节

Matching Matrix

两个1-D序列—>一个2-D向量(矩阵)?此矩阵需要满足什么样的条件才可以称得上能够很好的表示这两个1-D序列?
在这里插入图片描述

需要满足的条件:

  • 1.可以表示所有元素彼此之间的某种关系
  • 2.值是有某种意义的,例如值是代表相似或不相似关系、相斥或相同关系,这种意义属于外部的知识,把这些知识带入到模型中,对模型会有更大的帮助。
    本文提出了三种方法来计算对应位置的值:
    1. Indicator Function
    在这里插入图片描述
    在这里插入图片描述
    矩阵中的1表示对应位置是相同的,0表示对应位置是不同的
    问题:
  • 1.不能刻画相似词语的语义关系,如’famous’和’popular’。(不能刻画词语之间的语义关系)
  • 2.binary image(通过这种方法得到的matching matrix,相当于cv领域的二维图像,即用0和1组成的黑白照片,然而黑白照片所能表达的信息是有限的)
    用这种方法得到的matching matrix,所能表示的信息或对两句话的表征是有限的。
    Cosine
    在这里插入图片描述
    在这里插入图片描述
    总结:刻画两个(token0词向量之间的角度作为相似度。
    Dot Product
    在这里插入图片描述
    在这里插入图片描述
    相当于gray image,特征更加丰富。
    gray image的像素值是用0~255来表示图片,0表示黑色,255表示白色,比纯的黑白照片更丰富一点。
    相比余弦相似度,内积没有除以向量的长度,因此内积是考虑了长度的信息;从数学角度来讲,内积表示一个向量在另一个向量上的投影。
    用cosine还是用Dot Product?
  • 1.余弦相似度和点积都是相似度,但是点积对幅度(在nlp任务中表示词的长度)敏感,而余弦相似度不敏感;
  • 2.余弦相似度只能度量角度,点积处理角度还可以度量长度;
  • 3.当使用词向量时,一般可以使用余弦相似度;
  • 4.当使用词向量时,要衡量单词的重要性(例如关键词的抽取等模型、),需要考虑词的长度+角度,这是可以选择用点积操作;找一些相似词或构造句向量,可以直接用余弦相似度
  • 5.点积计算复杂度更低。
Hierarchical Convolution

在这里插入图片描述
回顾深度神经网络DNN
在这里插入图片描述
在这里插入图片描述
问题:参数过大,导致模型难训练,容易过拟合(解决过拟合的通常的方法是使用dropout,即随机掩盖掉一些神经元,减少一些权重)
CNN有一个重要的特点是有一个局部感受野的特征、参数可以共享。
如何学习一张图片?
在这里插入图片描述
在这里插入图片描述
卷积层
在这里插入图片描述
Filter是如何进行运算的?
在这里插入图片描述

在这里插入图片描述
filter是如何去检测pattern的?filter是固定值,表示它是一种能够检测某一种特征的filter,如上图中的filter,主对角线上的值都为1。
为何stride(步长)常常设为1或2?因为只有感受野是有重复的,它的边界处才可以被检测到,一些关键属性不会被忽略,如果步长比filter还大,有一部分信息就会被漏掉了。
在这里插入图片描述
零填充的好处:

  • 在某种程度上控制输出数据,通过padding控制输入数据与输出结果有相同的尺寸,当不想改变维度又想通过卷积抽取特征时,可以使用padding
  • padding的加入可以更好的学习到边界部分
    问题:
  • 1.卷积层参数量怎么算?
    假设kernel是3*3的,再加上bias,参数就是9+1=10
  • 2.卷积是可以减少参数的,是如何实现的?
    通过参数的共享
    卷积核(滤波器)长什么样子?
    在这里插入图片描述

卷积层是一组参数表示的检测器,之所以用滤波器或检测器是有效果的依据的原理是cv里面的平移不变性,
上图是将96个滤波器表示出来,在某一个卷积核是检测一个角度或某一个边界,这个滤波器在图片上的各个位置都是有效的,就不需要重新去学习特定的检测器,这就是为什么可以用感受野或共享参数的滤波器在整个图片上做一个滑动。因此,可以使用多个过滤器来配合过滤或提取整个特征。
CV中与NLP中的不同
在这里插入图片描述
在NLP中,每句话构成一个矩阵,单独的看矩阵中的某几个数据其实是没有意义的,每个token都是一行,应该按照行进行滑动。
池化层
对输入做维度的缩小,整个图像或主要特征没有减少。
在这里插入图片描述
在这里插入图片描述
池化层的作用:1)作为逐渐降低数据或输出filter map的尺寸,进一步减少网络中的数据量,参数减少,防止过拟合,提高模型的泛化能力。但现在很多模型已经不要池化层了,虽然最大值可能代表了特征,但其他值被直接去掉,可能会丢失很多信息;2)增大感受野;3)最大池化的原因:只取最大值,忽略掉其它比较小的值,这种方法是有意义的,当内容中发生一些比较小的变化时,比如图像在一个很小的范围内作一个平移,它的最大值是不发生变化的,这样可以给模型带来一定的稳定性,池化层可以给模型带来一定的不变性。
池化层没有参数量。

Matching Score

在这里插入图片描述
1.Multi-Layer Perception
在这里插入图片描述

2.Loss
在这里插入图片描述
【举例】
下面网络有多少参数量?
在这里插入图片描述
在这里插入图片描述

模型构建细节/训练技巧

关于CNN网络构建
在这里插入图片描述

在这里插入图片描述
如果想使用更大一点的滤波器,比如7*7,通常这种情况下只能在第一层直接对原始图像作一个卷积层。
感受野的尺寸很少有超过3的,池化层容易造成信息缺失的操作,pooling层的feature过大,会导致整个模型不那么准。
卷积层和全连接层怎么设计?
【结论】强特征数量多但是容易提取的话分类层更重要(可以多设置几层分类层),反之卷积层更重要。
强特征的判断:是否可以手写出规则或总结出一个规律。如果可以总结出一个规律,就可以认为是强特征。
例如在情感分析任务中,“我喜欢吃水饺”这句话中可以通过"喜欢"判断这句话是正类的,因此可以规定这样一种规则:含有“喜欢”的句子是正类。

实验设置及结果分析

在这里插入图片描述
数据集
在这里插入图片描述

实验一

在这里插入图片描述
【结论】

  • 1.TF-IDF是一个很强的Baseline
  • 2.MP-Dot表现最好
  • 3.本文性表现提升非常明显
    模型学到了什么
    在这里插入图片描述
    点越亮代表数值越大。
    通过kernel获取到的特征能够保留下来,传递到后面的层中。

实验二

在这里插入图片描述
【结论】

  • 1.TF-IDF是一个很强的Baseline,甚至优于一些深度模型
  • 2.MP-Dot表现最好
  • 3.ARC模型表现提升很多,适合多语料的情况
  • 4.MP-IND表现较差
    为什么MP-DOT总会好于MP-Cos
    在这里插入图片描述
    把所有词的长度挑选出来
    长度较小的词一般都是那种无用的词;长度较大的词一般都是很重要的、有决定性的词。
    启发:在一个document或语料里面去寻找关键词,是不是要考虑到它的长度,越长可能是越重要的词。

论文总结

关键点

  • 1.交互考虑多种维度(word, phrase, sentence)特征来理解自然语言
  • 2.两句话构建交互矩阵
  • 3.使用CNN的背后原因
  • 4.CV到NLP的思路迁移

创新点

  • 1.提出一种新颖的从图像识别的思路解决文本匹配的模型
  • 2.提出若干种方法,将两句话构建交互
  • 3.提出了一种深度卷积神经网络模型,在交互矩阵上可以有效的抽取和组合多层特征,效果明显

启发点

  • 大火的BERT是否可以从多种角度(word, phrase, sentence)的组合来设计(自己设计一个bert)
  • 让论文方法新颖的聪明做法?去了解其他领域的知识
  • CNN仍是很好的基础模型
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号