1. 简介
论文:ICLR 2020
https://openreview.net/pdf?id=Hke-WTVtwr
代码:https://github.com/iclr-complex-order/complex-order
关联:本质上和之前CNM: An Interpretable Complex-valued Network for Matching是一个代码框架的。只是解释和理论角度不同。
2. 动机:语言是有顺序的
详细描述如下:
词在文本中的位置和顺序是很重要的特征,但是神经网络做NLP建模时词的位置和顺序关系是个问题:
- 循环神经网络RNN,对词序较为敏感。在做文本分类、匹配、序列标注和生成任务时都不需要额外的机制来建模词位置
- 卷积神经网络CNN,对局部词序敏感,可以很好的建模N-Gram特征。建模局部任务ok,但在文本生成当中,词序则需要引入额外机制来构建。
- Transformer(Self Attention)对词序完全不敏感,做文本生成时需要引入额外机制建模词的位置信息。
所以,一种常见的建模词序信息的方式是使用位置编码,也即:在词嵌入层将词向量和位置编码向量按位相加。 位置编码可由随机初始化训练得到或三角函数计算。
这类方法的问题:
- 位置编码中每个位置的编码向量是独立训练得到的,
- 不同位置的编码向量没有明显的约束关系
因此,只能建模绝对位置信息,而无法构建不同位置之间的相对关系。(邻接关系)
本文:用一个以位置为变量的向量值函数来表达,替代词向量+位置编码的表达方式。其中这个函数是随位置平滑变换的,用来建模词的相对位置关系。
3. 方法
3.1 定义:复数域:
词的函数需要满足两个属性:
-
任意变换位置的转换
也就是存在一个函数 T r a n s f o r m Transform Transform, 对于任意位置 p o s pos pos和偏执 n > = 1 n>=1 n>=1,均存在:
该公式含义:已知一个词在某个位置的词向量的表示,可以计算出其在任何位置的词向量表示。 -
边界
存在一个正数 δ \delta δ,对于任意位置pos,都有下式成立:
也即:词向量函数的范数是有界的。
本文证明了,在复数域内,如果一个函数满足以上两条性质,当前仅当采用以下形式:
上面的公式也可以写成指数形式:
3.2 vs实数域
当 g ( p o s ) g(pos)