1. 简介
论文:https://arxiv.org/pdf/1904.05298v1.pdf
代码:https://github.com/wabyking/qnn.git
2. 动机
2.1 启发
量子物理认为微观粒子可以同时处于不同的状态(量子叠加),这种有别于经典物理的常识,比如在没有观测之前,人们难以想象一个同时处于死了和或者的猫。不仅如此,一对纠缠粒子可以在相聚很远的时候,其中一个粒子的测量的结果可以影响到与之纠缠的另外一个粒子。
从量子物理发展来描述物理系统中的不确定的数学语言,是否对语言的形式化描述也有所裨益?这是本文关心的问题。在语言本身,词语存在一些不确定性,比如 apple 这个英文单词可以是一种水果,也可以一个生产 iPhone 和 Mac 的公司。如果把水果和生产 iPhone 和 Mac 的公司定义成基本语义单元,那么 apple 这个词就可以认为是这些基本语言单元的叠加态。
因此本文提出来一种基于复数表达的可解释性的匹配网络,源自量子力学中概率驱动网络来做预测。本质上思路可分为两点:
- 由量子概率驱动网络来做预测
- 在希尔伯特空间状态来表达不同粒度的语言单元。
关于希尔伯特,其本质就是复数表达域。空间关系见下图,可以看到欧式空间和希尔伯特空间都属于内积空间。
所提到的可解释性体现在两方面:
- 模型怎么工作
- 神经网络学习到了什么?
2.2 知识补充
现实中物理可实现的信号都是实信号,实信号的频谱具有共轭对称性,即正负频谱的幅度相等,相位相反。如果只取信号的正频部分
z
(
t
)
z(t)
z(t),则
z
(
t
)
z(t)
z(t)称为信号
s
(
t
)
s(t)
s(t)的解析表达。
其中
H
[
s
(
t
)
]
H[s(t)]
H[s(t)]称为
s
(
t
)
s(t)
s(t)的希尔伯特(Hibert)变换
3. 方法
3.1 概率驱动神经网络
量子概率是一套基于投影几何的概率理论,可以看做是一个更加泛化版的概率理论。而这些所有状态都由一些基本态组成,这些基本态称为:不可分割且互不相关的语言基元(meta),类似坐标基底。表示为一些one-hot向量。这也就意味着一个越加丰富复杂的语言体系,应该有更多的one-hot向量。
- 如下图第一行左图, 表示了一个包含两个基元的语言,比如对应yes和no,则分别对应于|0>和|1>,其one-hot向量表示为[1,0]和[0,1]。
- 实际情况是,可能是上面这两个基元的混合状态,这种不确定性可以通过投影来测量,测量长度的平方对应于发生的概率。如下图第一行右边两个图所示。
- 如果有好几个混合状态,那么就是一种叠加状态,就对所有的发生事件求平均来确定。如下图第二行所示。
- 在推广一下,投影可以在任一一个混合状态投影,向哪个状态投影,就反应了该状态可能的概率。
3.2 希尔伯特空间-不同粒度语言单元
所以,终于来了,如何操作呢:
先展示一下类比过程:
可视化图如下:
说白了就是先找到可以表达词的基态, 然后所有词用基态表示,形成叠加状态, 然后把这些单词混合一起就形成了混合态,也就是一段词语。 这一段话到底是什么意思呢?放到各个语义也就是每个状态下投影测量其概率。如果某两段话对应概率值相近,那就是匹配了。
3.3 语义匹配
这里具体做的时候,用一个固定大小的窗口来表示一个混合状态。那么衡量这两个窗口(图中红色和绿色)的相似性,本质上就是将其两者向一个投影平面投影,投影的长度平方对应了混合系统投影到该投影平面的概率。根据投影长度来判断两个文本对象是否匹配。
3.4 网络架构
整体网络架构如下:
-
不涉及显式的全连接层,不包含卷积网络,循环或递归神经网络单元。
-
采用滑动窗口建立两个文本对象N-gram的概率密度矩阵,然后采用一组测量投影的操作,去同时测量两个文本对象。
-
最后通过一组max pooling操作得到每个测量在所有n-gram最大的投影概率,最后通过向量的cosine距离得到匹配的分数。
具体的,构建密度矩阵的操作,也即embedding到mixture层的做法: -
首先选取一个N-gram窗口,对其中每个词用L2Norm归一化
-
计算该归一化后向量与其共轭转职的外积, 公式6
-
所有外积矩阵加权得到一个密度矩阵
4. 其他思考
复数表达当中:
- amplitude:对应于词义
- phase: 高层语义polarity(极性)、ambiguity(歧义)、emotion(情感)
而实数表达是复数当中的一种退化,即下面公式当中
θ
1
=
θ
2
=
0
\theta_1=\theta_2=0
θ1=θ2=0的情况。但也可以发现,当两个复数表达的词
z
1
z_1
z1和
z
2
z_2
z2组合的时候。幅值amplitude和相位都是非线性的结合,而这在实数表达当中被去除了。