Hyperbolic Nural Networks双曲神经网络

给了神经网络中一些操作的双曲版本的定义,NIPS2018的文章,原文在此:https://arxiv.org/abs/1805.09112

双曲空间在机器学习领域获得越来越多的冲力,因为它有很大的容量和它的类似于树的性质。然而,双曲几何的表达能力未能与欧式几何势均力敌,主要原因是目前还没有相应的双曲神经网络层,使得很难在下游任务中使用双曲嵌入。这里几何莫比乌斯gyrovevtor空间和双曲空间庞加莱模型的黎曼几何来定义出神经网络中的一些基础概念。最后得到双曲版本的重要的深度学习工具:多项式逻辑回归,前馈和循环神经网络单元。这能让我们在双曲空间中进行数据嵌入和进行分类。最后实验证明即使在双曲优化工具有限的情况下双曲句子嵌入也能获得与欧式嵌入相当的效果。

1简介

在机器学习领域将数据嵌入到欧式空间已经是非常常见的。主要原因是方便,欧式空间是个度量空间,有向量结构,易于计算距离和内积,是我们非常熟悉的三维空间的一般化。另外,将实体嵌入到这一连续的空间易于将它们做为神经网络的输入。

由于欧式嵌入的成功,最近的研究证明很多领域的复杂类型数据(比如图数据)表现出非欧式的隐含结构。在这样的情况下,欧式空间不能提供最大化的表达能力或者有意义的几何表示。比如,有文献证明任何树结构都不能以任意小的失真(几乎保持它原来的度量)嵌入到欧式空间中,即使用无限高维的嵌入维度。而这在双曲空间中很容易实现,只用两维的嵌入就能保证任意小的失真,这是因为双曲空间中点之间的距离是指数增长的,这正好匹配树结构中节点随树的深度指数增长的特性。

此前在非欧空间中使用神经网络和深度学习是非常受限的,主要原因是在非欧空间中没有一些基本算子(比如向量加,矩阵向量乘,向量翻译,向量内积等)的正规的定义,在一些更复杂的几何中甚至没有基本对象(如距离,测地线,平行等)的表示。这样,传统的工具如多项式逻辑回归,前馈网络或循环网络在这些几何中就没有对应的表示。

那么如何将深度神经模型泛化到非欧领域呢?本文在一个简单的同时很有用的非欧域上解决这一问题,即双曲几何中。双曲空间的树形特性已经得到了很多研究并且被用于可视化大型的分类数据或者嵌入复杂网络。在机器学习方面,最近双曲空间在分层、分类或者继承数据上的表现远远超过了欧式空间。隐含的分层结构中不相交的子树在嵌入空间中得到了很好的聚类。然而,为了嵌入特征数据和在下游任务中使用这些嵌入,合适的深度学习工具是必要的。比如,隐式的分层序列结构在合适的双曲RNN中将会得到更好的建模。

本文的主要贡献是在神经网络和深度学习的背景下建立双曲空间和欧式空间之间的鸿沟,以规范的方式将基本的算子和多项式回归、前馈网络、RNN和GRU泛化到双曲几何中的庞加莱模型中。主要将gyrovector空间和泛化的莫比乌斯转换与流行的黎曼几何特性相结合。利用一个只依赖于曲率值的统一的框架平滑地参数化所有常数负曲率空间的基本操作和对象。这样,欧式空间和双曲空间可以连续地转换。

2 庞加莱球几何

2.1基本的黎曼几何

       一个n维流形M 是一个可以被欧式空间局部近似的空间。对于流形中的一个点x \in M,我们可以定义 M 在 x 点的切空间T_{x} M做为 M 在 x 点的一阶线性近似。M上的黎曼度量 g=(g_{x})_{x\in M} 是随 x 平滑变化的一些内积:T_{x} M\times T_{x} M\rightarrow \mathbb{R}。一个黎曼流形 (M,g) 是一个具有黎曼度量流形。尽管M上的黎曼度量只定义在M的局部,在结合两点间的最短路径的长度之后,它可以诱导出全局距离。

                                                                 d(x,y)=\underset{\gamma }{inf }\int_{0}^{1}\sqrt{g_{\gamma (t)}(\dot{\gamma }(t),\dot{\gamma (t)})}dt

其中\gamma \in C^{\infty } ([0,1],M)\gamma(0)=x,\gamma (1)=y. x 和 y之间的平滑的最短路径 \gamma 叫做测地线,可以看做欧氏空间中直线的泛化。平移 T_{x} M\rightarrow T_{y} M是切空间之间的线性等距,相当于沿测地线移动切向量,这定义了连接两个切空间的一种方式。x点的指数映射 exp_{x} 提供了将x点的切空间中的向量v\in T_{x}M映射回流形中的点exp_{x}(v)\in M的一种方式。对于测地线完备的流形(比如庞加莱球)来说,exp_{x}在整个切空间上T_{x}M都有定义。最后,一个度量\widetilde{g}与另一个度量g定义了同样的角,则称为是保角的,即对于所有的x\in M,u,v\in T{x}M \verb|\| \{\textbf{0}\}

                                                                  \frac{\widetilde{g}_{x}(u,v)}{\sqrt{\widetilde{g}_{x}(u,u)}\sqrt{\widetilde{g}_{x}(v,v)}}=\frac{g_{x}(u,v)}{\sqrt{g_{x}(u,u)}\sqrt{g_{x}(v,v)}}

这相当于存在一个光滑的函数\lambda : M\rightarrow \mathbb{R},称为保角因子,使得对于任何x\in M,有\widetilde{g_{x}}=\lambda ^2_{x}g_{x}

2.2双曲空间:庞加莱球

双曲空间中有五个等距的模型,这里选择庞加莱球,庞加莱球模型(\mathbb{D},g^{\mathbb{D}})由流形

                                                                \mathbb{D}^{n}=\{x\in \mathbb{R}^n:\left \| x\right \|<1\}

和黎曼度量

                                                                         g^{\mathbb{D}}_{x}=\lambda ^{2}_{x}g^{E}

定义出来,其中\lambda _x=2/(1-c\left \| x \right \|^2),而 g^{E}=\textbf{I}_{n} 是欧氏度量张量。注意双曲度量张量保角于欧氏度量,庞加莱球上两点x,y\in \mathbb{D}^{n}之间的诱导距离就由以下式子给出:

                                                              d_{\mathbb{D}}(x,y)=cosh^{-1}(1+2\frac{\left \| x-y \right \|^2}{(1-\left \| x \right \|^2)(1-\left \| y \right \|^2)})

由于庞加莱球是保角于欧氏空间的,所以向量u,v\in T_{x}\mathbb{D}^n \verb|\| {\textbf{\{0\}}}之间的夹角为:

                                                           cos(\angle (u,v))=\frac{g_{x}^\mathbb{D}(u,v)}{\sqrt{g_{x}^{\mathbb{D}}(u,u)}\sqrt{g_{x}^{\mathbb{D}}(v,v)}}=\frac{<u,v>}{\left \| u \right \|\left \| v \right \|}

2.3 Gyrovector 空间

在欧氏空间中,从向量结构引申出来的自然操作(如向量加、减和标量乘)通常非常有用,在双曲几何中, Gyrovector 空间提供了相应的代数形式。实际上,这些操作在狭义相对论中有使用,允许将半径为c的庞加莱球上的速度向量相加。这里将这些操作用于双曲神经网络。

对于c\geq 0,定义

                                                                               \mathbb{D}^n_c:=\{x\in \mathbb{R}^n|c\left \| x \right \| <1\}

注意,如果c=0,\mathbb{D}^n_c=\mathbb{R}^n;如果c>0,\mathbb{D}^n_c是半径为1/\sqrt{c}的球;如果c=1,则又恢复成一般的球\mathbb{D}^n

莫比乌斯加:

\mathbb{D}^n_c上两点x,y的莫比乌斯加定义为:

                                                         x\oplus _{c}y:=\frac{(1+2c<x,y>+c\left \| y \right \|^2)x+(1-c\left \| x \right \|^2)y}{1+2c<x,y>+c^2\left \| x \right \|^2\left \| y \right \|^2}

特3别地,当c=0,变成欧氏空间中两个向量的加,注意c>0包含c=1的情况,下文用\oplus代替\oplus _1.对于一般的c>0的情况,这个算子既不满足交换律也不满足结合律,但有以下的特殊情况:

                                                                                     x\oplus _c\textbf{0}=\textbf{0}\oplus _{c}x=\textbf{0}

,另外,对于任意的x,y\in \mathbb{D}^n_{c},有

                                                                               (-x)\oplus _c x=x\oplus _{c}(-x)=\textbf{0}

                                                                                        (-x)\oplus _c (x\oplus _{c}y)=y

莫比乌斯标量乘:

对于 c>0,x\in \mathbb{D}^n_c \verb|\| \{\textbf{0}\},r \in \mathbb{R}, 莫比乌斯标量乘定义为:

                                                                r\otimes _{c} x:=(1/\sqrt{c})tanh(r\ tanh^{-1}(\sqrt{c}\left \| x \right \|))\frac{x}{\left \| x \right \|}

由此我们得到  r\otimes _c \textbf{0}=\textbf{0} 和   $\lim_{c\rightarrow 0} r\otimes _{c} x=rx$,即当c趋于0时,莫比乌斯标量乘蜕化为欧氏空间中的标量乘。这个算子满足一下性质:

(1)n加:n\otimes _{c} x=x\oplus_{c}\cdots \oplus_{c} x

(2)分配律:(r+r')\otimes _{c} x=r \otimes _{c} x \oplus _{c}r' \otimes _{c} x

(3)结合律:(rr')\otimes _{c} x=r \otimes _{c}( r' \otimes _{c} x)

(4)标度性:r\otimes _{c} x/\left \| r\otimes _{c} x \right \|=x/\left \| x \right \|

距离:

如果双曲度量张量 g^c 以保角因子\lambda _x^c=2/(1-c\left \| x \right \|^2)保角与欧氏空间,则(\mathbb{D}^n_c,g^c)上的距离函数为:

                                                                         d_{c}(x,y)=(2\sqrt{c})tanh^{-1}(\sqrt{c}\left \| -x\oplus _c y \right \|)

同样,我们有$\lim_{c\rightarrow 0}d_c(x,y)=2\left \| x-y \right \|$, 即又恢复了欧氏几何。另外,c=1时恢复正常的庞加莱球上的距离

2.4 Gytovector sapces 和庞加莱秋上黎曼几何的关系

测地线:

连接点x,y\in \mathbb{D}_c^n的测地线定义为:

                                                                               \gamma _{x\rightarrow y}(t):x\oplus _{c}(-x\oplus _{c}y)\otimes _ct

其中\gamma _{x\rightarrow y}:\mathbb{R}\rightarrow \mathbb{D}_c^n,使得\gamma _{x\rightarrow y}(0)=x,\gamma _{x\rightarrow y}(1)=y

当c趋于0时,测地线变成直线,恢复为欧氏几何。

exp映射和log映射:

对于任意的点x\in \mathbb{D}_c^n,v\neq \textbf{0},y\neq x,exp映射 exp_x^c:T_x\mathbb{D}^c_x\rightarrow \mathbb{D}^n_c和log映射log_x^c:\mathbb{D}^n_c\rightarrow T_x\mathbb{D}^c_x定义为:

                                                                     exp_x^c(v)=x\oplus _c(tanh(\sqrt{c}\frac{\lambda ^c_x\left \| v \right \|}{2})\frac{v}{\sqrt{c}\left \| v \right \|})

                                                               log_x^c(y)=\frac{2}{\sqrt{c}\lambda ^c_x}tanh^{-1}(\sqrt{c}\left \| -x\oplus _c y \right \|)\frac{-x\oplus _c y}{\left \| -x\oplus _c y \right \|}

当x=0时,形式如下:

                                                                          exp_0^c(v)=tanh(\sqrt{c}\left \| v \right \|)\frac{v}{\sqrt{c}\left \| v \right \|}

                                                                          log_0^c(y)=tanh^{-1}(\sqrt{c}\left \|y \right \|)\frac{y}{\left \| y \right \|}

用exp和log 重新定义莫比乌斯标量乘法:

引理:r\otimes_c x 可以通过以下方式得到:用log映射将x映射到0点的空间上,在切空间上乘以标量r,然后再用exp映射映射回流形上,即

                                                                  r\otimes_c x=exp_{\textbf{0}}^c(r\log_{\textbf{0}}^c(x)),\ \forall r\in \mathbb{R},x\in \mathbb{D}^n_c

另外,我们还可以得到链接两点的测地线和exp映射的关系:

                                                                \gamma _{x\rightarrow y}(t):x\oplus _{c}(-x\oplus _{c}y)\otimes _ct=exp^c_x(t\log^c_x(y))

这个结果使得我们将标量乘进行泛化,以定义出矩阵-向量乘法,而这样的乘法是双曲神经网络的基本组件。

平移:

在流形(\mathbb{D}^n_c,g^c)上,一个向量v\in T_{\textbf{0}}\mathbb{D}^n_c到另一个切空间T_{\textbf{x}}\mathbb{D}^n_c的平移定义为:

                                                                  P_{\textbf{0}\rightarrow x}^c(v)=log^c_x(x\oplus _c exp_{\textbf{0}}^c(v))=\frac{\lambda _{\textbf{0}}^c}{\lambda _{x}^c}

这一结果在定义和优化不同切空间的共享参数时非常有用。

3 双曲神经网络

神经网络可看作由基本的算子(比如线性映射,偏置转换,逐点非线性激活和最终的sigmoid或softmax层)组合而成。下面首先解释如何在庞加莱球上构建softmax层,然后定义庞加莱球上的矩阵-向量乘和逐点的非线性激活。最后呈现出不同的RNN如何在庞加莱球上的对应。

3.1双曲多分类逻辑回归

没看懂

3.2双曲前馈层:

定义:对于f:\mathbb{R}^n\rightarrow \mathbb{R}^m,它的莫比乌斯版本定义为从\mathbb{D}^n_c\mathbb{D}^m_c的映射:

                                                                                f^{\otimes _c}(x)=exp_{\textbf{0}}^c(f(log_{\textbf{0}}^c))

与其他莫比乌斯算子一样,当c趋于0时,有$\lim_{c\rightarrow 0}f^{\otimes _c}(x)=f(x)

莫比乌斯矩阵-向量乘:

如果M:\mathbb{R}^n\rightarrow \mathbb{R}^m是用矩阵形式表示的线性映射,则\forall x\in \mathbb{D}^n_c,如果Mx\neq \textbf{0},则有

                                                         M^{\bigotimes _c}(x)=(1/\sqrt{c})tanh(\frac{\left \| Mx \right \|}{\left \| x \right \|}tanh^{-1}(\sqrt{c}\left \| x \right \|))\frac{Mx}{\left \| Mx \right \|}

如果Mx=\textbf{0},则有M^{\bigotimes _c}(x)=0

另外,如果莫比乌斯矩阵-向量乘定义为

                                                                           M\otimes _cx:M^{\otimes _c}(x),

则对于M\in\mathbb{R}^{l\times m},M'\in\mathbb{R}^{m\times n},有

                                                                 (MM')\otimes _cx=M\otimes _c(M'\otimes _c x)

对于r\in \mathbb{R},M\in\mathbb{R}^{m\times n},有

                                                                    (rM)\otimes _cx=r\otimes _c(M\otimes _c x)

逐点的非线性激活:

如果\varphi :\mathbb{R}^n\rightarrow \mathbb{R}^n是逐点的非线性激活,则它的莫比乌斯版本 \varphi^{\bigotimes _c} 可以应用与庞加莱球上的点。

偏置:

庞加莱球上的平移通过在测地线上移动来实现。点x\in \mathbb{D}^n_c经过偏置b\in \mathbb{D}^n_c的莫比乌斯平移为:

                                                    x\leftarrow x\oplus _cb=exp^c_x(P^c_{\textbf{0}\rightarrow x}(log^c_{\textbf{0}}(b)))=exp^c_x(\frac{\lambda^c_{\textbf{0}}}{\lambda ^c_x}log^c_{\textbf{0}}(b))

多个输入张量的连接

如果M_1 \in\mathbb{R}^{m\times n},M_2 \in\mathbb{R}^{m\times p},矩阵M\in\mathbb{R}^{M\times (n+p)}是二者的水平方向上的连接,则对于x_1\in\mathbb{D}^n_c,x_2\in\mathbb{D}^p_c,x=(x1,x2)^T\in\mathbb{D}^n_c\times \mathbb{D}^p_c,有

                                                                    M\otimes _cx:=M_1\otimes _cx_1\oplus _cM_2\otimes _cx_2

3.3双曲RNN

原始的RNN:

对于W\in\mathbb{R}^{m\times n},U\in\mathbb{R}^{m\times d},b\in\mathbb{D}^m_c,双曲RNN定义为:

                                                 h_{t+1}=\varphi ^\otimes _c(W\otimes _c h_{t}\oplus _cU\otimes _c x_{t}\oplus b),h_t\in \mathbb{D}_c^n,x_t\in \mathbb{D}_c^d

如果输入特征是欧氏空间的,则可先通过\widetilde{x_t}:=exp^c_0(x_t)映射到双曲空间,再代入上式。

GRU

欧氏空间中的GRU架构为:

                                                

其对应的双曲版本分别为:

                                                          

                                                       

                                                              

z_tr_t类似。

 

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值