Contents
- Introduction
- The Geometry of the Poincaré Ball
- Hyperbolic space: the Poincaré ball
- Gyrovector spaces (陀螺矢量空间)
- Möbius addition
- Möbius scalar multiplication
- Distance
- Hyperbolic trigonometry
- Connecting Gyrovector spaces and Riemannian geometry of the Poincaré ball
- Hyperbolic Neural Networks
- Möbius version
- Hyperbolic multiclass logistic regression (MLR) (softmax regression)
- Hyperbolic feed-forward layers
- Hyperbolic RNN
- Experiments
- References
Introduction
- 作者认为,目前双曲几何的表征能力还不及欧氏几何的原因在于还没有相应的 hyperbolic neural network layers,这使得我们很难将 hyperbolic embeddings 应用到下游任务中。为此,作者将 Möbius gyrovector spaces 和 Poincaré model 进行了结合,最终推导出了一些神经网络的双曲版本:多项式逻辑回归模型 (Multinomial logistic regression, MLR), 前馈网络 (FFNN) 和 GRU 等循环神经网络 (RNN),这使得我们能在双曲空间中进行数据嵌入和分类
- 这篇工作让我们能更好地在双曲空间中进行数据嵌入和分类,也给出了结合欧式模型和双曲模型的方法,这能启发我们更好地运用 hyperbolic embeddings. 下面是一些关于实验部分的问题:作者在实验时使用的 embed 维数还是很小的,而现在一般模型的 embed 维数很多都是 512、1024 等,这种小维数的实验设置有利于双曲模型,不知道在大维数的条件下双曲模型是否还具备优势?另外实验部分的结果似乎也表明,双曲模型只有在数据非常符合树形结构的情况下才有用,否则很可能性能还不如欧式模型;最后,作者在论文中提到 “highly non-convex spectrum of hyperbolic neural networks sometimes results in convergence to poor local minima, suggesting that initialization is very important”,这是否意味着双曲模型的训练比较不稳定?
The Geometry of the Poincaré Ball
Hyperbolic space: the Poincaré ball
- Poincaré ball 可以表示为
(
D
n
,
g
D
)
(\mathbb D^n,g^{\mathbb D})
(Dn,gD),其中
D
n
=
{
x
∈
R
n
:
∥
x
∥
<
1
}
\mathbb D^n=\{x\in\R^n:\|x\|<1\}
Dn={x∈Rn:∥x∥<1},
g
D
g^{\mathbb D}
gD 为 Riemannian metric:
其中 g E = I n g^E=I_n gE=In 为 Euclidean metric tensor. Induced distance 为
同时 Poincaré ball model 还具有保角性
Gyrovector spaces (陀螺矢量空间)
- 在欧氏几何中,向量空间为我们提供了向量加减、标量乘等代数运算操作,而在双曲几何中,gyrovector spaces 则同样提供了这些代数运算操作,这些运算已经被运用在了狭义相对论中,可以在半径为 c c c (the celerity, i.e. the speed of light) 的 Poincaré ball 中进行速度向量的相加,从而保证得到的速度大小不会超过光速。我们可以定义陀螺矢量空间 D c n : = { x ∈ R n ∣ c ∥ x ∥ 2 < 1 } \mathbb D_c^n:=\{x\in\R^n|c\|x\|^2<1\} Dcn:={x∈Rn∣c∥x∥2<1},其中 c ≥ 0 c\geq0 c≥0. 当 c = 0 c=0 c=0 时,有 D c n = R n \mathbb D_c^n=\R^n Dcn=Rn,当 c > 0 c>0 c>0 时, D c n \mathbb D_c^n Dcn 为半径 1 / c 1/\sqrt c 1/c 的 open ball,当 c = 1 c=1 c=1 时, D c n \mathbb D_c^n Dcn 为单位球体
Möbius addition
- Möbius addition. The Möbius addition of
x
x
x and
y
y
y in
D
c
n
\mathbb D_c^n
Dcn is defined as
当 c = 0 c=0 c=0 时,Möbius addition 就退化为了欧氏几何中的向量加。当 c > 0 c>0 c>0 时,Möbius addition 不满足交换律和结合律,但它满足对任意 x ∈ D c n x\in\mathbb D_c^n x∈Dcn 都存在零元和逆元 x ⊕ c 0 = 0 ⊕ c x = x x \oplus_c \mathbf{0}=\mathbf{0} \oplus_c x=x x⊕c0=0⊕cx=x, ( − x ) ⊕ c x = x ⊕ c ( − x ) = 0 (-x) \oplus_c x=x \oplus_c(-x)=\mathbf{0} (−x)⊕cx=x⊕c(−x)=0. 并且满足左消去律 ( − x ) ⊕ c ( x ⊕ c y ) = y (-x) \oplus_c\left(x \oplus_c y\right)=y (−x)⊕c(x⊕cy)=y. 下文作者将用 ⊕ \oplus ⊕ 表示 ⊕ 1 \oplus_1 ⊕1.
- Möbius substraction
Möbius scalar multiplication
- Möbius scalar multiplication. For
c
>
0
c > 0
c>0, the Möbius scalar multiplication of
x
∈
D
c
n
\
{
0
}
x\in \mathbb D^n_c\backslash\{\mathbf 0\}
x∈Dcn\{0} by
r
∈
R
r \in \R
r∈R is defined as
注意到, r ⊗ c 0 : = 0 r \otimes_c \mathbf{0}:=\mathbf{0} r⊗c0:=0. 当 c → 0 c\rightarrow 0 c→0 时,可以得到 Euclidean scalar multiplication lim c → 0 r ⊗ c x = r x \lim _{c \rightarrow 0} r \otimes_c x=r x limc→0r⊗cx=rx. Möbius scalar multiplication 满足如下性质:(1) n n n additions. n ⊗ c x = x ⊕ c ⋯ ⊕ c x n \otimes_c x=x \oplus_c \cdots \oplus_c x n⊗cx=x⊕c⋯⊕cx;(2) scalar distributivity. ( r + r ′ ) ⊗ c x = r ⊗ c x ⊕ c r ′ ⊗ c x \left(r+r^{\prime}\right) \otimes_c x=r \otimes_c x \oplus_c r^{\prime} \otimes_c x (r+r′)⊗cx=r⊗cx⊕cr′⊗cx;(3) scalar associativity. ( r ⊗ c r ′ ) ⊗ c x = r ⊗ c ( r ′ ⊗ c x ) \left(r \otimes_c r^{\prime}\right) \otimes_c x=r \otimes_c\left(r^{\prime} \otimes_c x\right) (r⊗cr′)⊗cx=r⊗c(r′⊗cx);(4) scaling property. ∣ r ∣ ⊗ c x / ∥ r ⊗ c x ∥ = x / ∥ x ∥ |r| \otimes_c x /\left\|r \otimes_c x\right\|=x /\|x\| ∣r∣⊗cx/∥r⊗cx∥=x/∥x∥
Distance
- Distance. If one defines the generalized hyperbolic metric tensor
g
c
g^c
gc as the metric conformal to the Euclidean one, with conformal factor
λ
x
c
:
=
2
/
(
1
−
c
∥
x
∥
2
)
\lambda_x^c:=2 /\left(1-c\|x\|^2\right)
λxc:=2/(1−c∥x∥2), then the induced distance function on
(
D
c
n
,
g
c
)
(\mathbb D^n_c, g^c)
(Dcn,gc) is given by
注意到,当 c → 0 c\rightarrow 0 c→0 时,可以得到欧式空间中的距离公式 lim c → 0 d c ( x , y ) = 2 ∥ x − y ∥ \lim _{c \rightarrow 0} d_c(x, y)=2\|x-y\| limc→0dc(x,y)=2∥x−y∥,并且当 c = 1 c=1 c=1 时,我们能得到 Poincaré ball 中的距离公式
Hyperbolic trigonometry
- Hyperbolic trigonometry. 双曲空间中的 hyperbolic angles or gyroangles 以及 hyperbolic law of sines in the generalized Poincaré ball ( D c n , g c ) (\mathbb D_c^n, g^c) (Dcn,gc). 详见论文的附录 B
Connecting Gyrovector spaces and Riemannian geometry of the Poincaré ball
- Geodesics.
当 c → 0 c\rightarrow0 c→0 时,我们就得到了欧式几何中的直线 - Lemma 1. For any
x
∈
D
n
x \in\mathbb D^n
x∈Dn and
v
∈
T
x
D
c
n
v \in T_x\mathbb D_c^n
v∈TxDcn s.t.
g
x
c
(
v
,
v
)
=
1
g^c_x(v, v) = 1
gxc(v,v)=1, the unit-speed geodesic starting from
x
x
x with direction
v
v
v is given by:
One can sanity-check that d c ( γ ( 0 ) , γ ( t ) ) = t , ∀ t ∈ [ 0 , 1 ] d_c(\gamma(0),\gamma(t))=t,\forall t\in[0,1] dc(γ(0),γ(t))=t,∀t∈[0,1] - Exponential and logarithmic maps. 指数变换是在对
p
∈
D
c
n
p\in\mathbb D_c^n
p∈Dcn 施加微小扰动
v
∈
T
p
D
c
n
v\in T_p\mathbb D_c^n
v∈TpDcn 后 (可以看作一个速度向量),将切空间上的点映射回陀螺矢量空间上,使得
t
∈
[
0
,
1
]
↦
exp
p
c
(
t
v
)
t\in[0,1]\mapsto\exp_p^c(tv)
t∈[0,1]↦exppc(tv) 是连接了
p
p
p 和
exp
p
c
(
v
)
\exp_p^c(v)
exppc(v) 的测地线,i.e., a geodesic
γ
γ
γ starting from
γ
(
0
)
:
=
x
∈
M
γ(0) := x ∈ M
γ(0):=x∈M with unit-norm direction
γ
˙
(
0
)
:
=
v
∈
T
x
M
\dot γ(0) := v ∈ T_xM
γ˙(0):=v∈TxM as
t
↦
exp
x
(
t
v
)
t \mapsto \exp_x(tv)
t↦expx(tv)。在欧氏空间中,指数变换为
exp
p
(
v
)
=
p
+
v
\exp_p(v)=p+v
expp(v)=p+v. 对数变换则是指数变换的逆变换,给出了从
p
∈
D
c
n
p\in \mathbb D_c^n
p∈Dcn 到
r
∈
D
c
n
r\in \mathbb D_c^n
r∈Dcn 对应的切空间中的速度向量。在欧氏空间中,对数变换为
log
p
(
r
)
=
r
−
p
\log_p(r)=r-p
logp(r)=r−p (图片来自于 Angulo, Jesus. “Structure tensor image filtering using Riemannian L1 and L∞ center-of-mass.” Image Analysis & Stereology 33.2 (2014): 95-105.)
For any point x ∈ D c n x \in \mathbb D_c^n x∈Dcn, the exponential map exp x c : T x D c n → D c n \exp^c_x : T_x\mathbb D_c^n\rightarrow \mathbb D_c^n expxc:TxDcn→Dcn and the logarithmic map log x c : D c n → T x D c n \log^c_x : \mathbb D_c^n\rightarrow T_x\mathbb D_c^n logxc:Dcn→TxDcn are given for v ≠ 0 v \neq 0 v=0 and y ≠ x y \neq x y=x by:
当 c → 0 c\rightarrow 0 c→0 时,就能得到欧氏空间中的指数变换和对数变换。当 x = 0 x=0 x=0 时,对任意 v ∈ T 0 D c n \ { 0 } , y ∈ D c n \ { 0 } v \in T_{\mathbf{0}} \mathbb{D}_c^n \backslash\{\mathbf{0}\}, y \in \mathbb{D}_c^n \backslash\{\mathbf{0}\} v∈T0Dcn\{0},y∈Dcn\{0},有
- Möbius scalar multiplication using exponential and logarithmic maps. 由于切空间为欧氏空间,便于进行各种运算,因此下面用指数变换和对数变换重新推导 Möbius scalar multiplication
套用上述公式还能得到两点间测地线公式和指数变换间的关系
- Parallel transport. Parallel transport
P
x
→
y
c
:
T
x
D
c
n
→
T
y
D
c
n
P^c_{x\rightarrow y}:T_x\mathbb D^n_c\rightarrow T_y\mathbb D^n_c
Px→yc:TxDcn→TyDcn 定义了两个切空间之间的线性等距映射 (linear isometry),它等价于将
x
x
x 处切空间内的 tangent vector 沿着
x
x
x 和
y
y
y 间的测地线平行移动到
y
y
y 处切空间得到的切向量。通过 Parallel transport,我们能将两个不同切空间联系起来。In the manifold
(
D
c
n
,
g
c
)
(\mathbb D^n_c, g^c)
(Dcn,gc), the parallel transport w.r.t. the Levi-Civita connection of a vector
v
∈
T
0
D
c
n
v\in T_{\mathbf 0}\mathbb D^n_c
v∈T0Dcn to another tangent space
T
x
D
c
n
T_x\mathbb D^n_c
TxDcn is given by the following isometry:
这个结论在定义和优化由不同切空间共享的参数时很重要,例如 biases in hyperbolic neural layers 或者 parameters of hyperbolic MLR.
详细推导可参考原论文及作者的另一篇文章:
Octavian-Eugen Ganea, Gary Bécigneul, and Thomas Hofmann. Hyperbolic entailment cones for learning hierarchical embeddings. In Proceedings of the thirty-fifth international conference on machine learning (ICML), 2018.
Hyperbolic Neural Networks
Möbius version
- 类似于 Möbius scalar multiplication,我们可以定义映射
f
:
R
n
→
R
m
f:\R^n\rightarrow\R^m
f:Rn→Rm 的 Möbius version. (1) 向量通过对数映射投影至切空间;(2) 在切空间向量通过欧氏算子进行变换;(3) 通过指数映射投影回陀螺矢量空间
当 f f f 连续时,有 lim c → 0 f ⊗ c ( x ) = f ( x ) \lim _{c \rightarrow 0} f^{\otimes_c}(x)=f(x) limc→0f⊗c(x)=f(x). 上述定义满足如下性质:(1) morphism property. ( f ∘ g ) ⊗ c = f ⊗ c ∘ g ⊗ c (f \circ g)^{\otimes_c}=f^{\otimes_c} \circ g^{\otimes_c} (f∘g)⊗c=f⊗c∘g⊗c;(2) direction preserving. f ⊗ c ( x ) / ∥ f ⊗ c ( x ) ∥ = f ( x ) / ∥ f ( x ) ∥ f^{\otimes_c}(x) /\left\|f^{\otimes_c}(x)\right\|=f(x) /\|f(x)\| f⊗c(x)/∥f⊗c(x)∥=f(x)/∥f(x)∥ for f ( x ) ≠ 0 f(x)\neq\mathbf0 f(x)=0. - 如果有多个映射函数 (对应神经网络中的多层),则它们的复合对应的 Möbius version 为
如果有多个输入 ( f : R n × R p → R m f: \mathbb{R}^n \times \mathbb{R}^p \rightarrow \mathbb{R}^m f:Rn×Rp→Rm),则 Möbius version 为
f ⊗ c : ( h , h ′ ) ∈ D c n × D c p ↦ exp 0 c ( f ( log 0 c ( h ) , log 0 c ( h ′ ) ) ) f^{\otimes_c}:\left(h, h^{\prime}\right) \in \mathbb{D}_c^n \times \mathbb{D}_c^p \mapsto \exp _{\boldsymbol0}^c\left(f\left(\log _{\boldsymbol{0}}^c(h), \log _{\boldsymbol{0}}^c\left(h^{\prime}\right)\right)\right) f⊗c:(h,h′)∈Dcn×Dcp↦exp0c(f(log0c(h),log0c(h′)))
Hyperbolic multiclass logistic regression (MLR) (softmax regression)
- 详见论文 3.1 节
Hyperbolic feed-forward layers
- Möbius matrix-vector multiplication. 基于 Möbius version 的定义,我们可以进一步定义更多操作的 Möbius version
- Pointwise non-linearity. If φ : R n → R n \varphi:\R^n\rightarrow \R^n φ:Rn→Rn is a pointwise non-linearity, then its Möbius version φ ⊗ c \varphi^{\otimes_c} φ⊗c can be applied to elements of the Poincaré ball.
- Bias translation. Möbius translation of a point
x
∈
D
c
n
x ∈ \mathbb D^n_c
x∈Dcn by a bias
b
∈
D
c
n
b ∈ \mathbb D^n_c
b∈Dcn is given by
- Concatenation of multiple input vectors. 给定
x
1
∈
D
c
n
,
x
2
∈
D
c
p
,
x
∈
D
c
n
×
D
c
p
x_1\in\mathbb D_c^n,x_2\in\mathbb D_c^p,x\in\mathbb D_c^n\times\mathbb D_c^p
x1∈Dcn,x2∈Dcp,x∈Dcn×Dcp 为
x
1
,
x
2
x_1,x_2
x1,x2 的连接,
M
1
∈
M
m
,
n
(
R
)
,
M
2
∈
M
m
,
p
(
R
)
M_1\in\mathcal M_{m,n}(\mathbb R),M_2\in\mathcal M_{m,p}(\mathbb R)
M1∈Mm,n(R),M2∈Mm,p(R) 为两个线性变换的矩阵,
M
∈
M
m
,
n
+
p
(
R
)
M\in\mathcal M_{m,n+p}(\mathbb R)
M∈Mm,n+p(R) 为
M
1
M_1
M1 和
M
2
M_2
M2 的水平连接矩阵,则有
Hyperbolic RNN
- Naive RNN.
其中 φ \varphi φ 为 tanh / sigmoid / ReLU, W ∈ M m , n ( R ) , U ∈ M m , d ( R ) , b ∈ D c m W \in \mathcal{M}_{m, n}(\mathbb{R}), U \in \mathcal{M}_{m, d}(\mathbb{R}), b \in \mathbb{D}_c^m W∈Mm,n(R),U∈Mm,d(R),b∈Dcm. 如果 x t x_t xt 为欧氏空间中的向量,则需要事先做指数变换 x ~ t : = exp 0 c ( x t ) \tilde x_t := \exp^c_{\mathbf0}(x_t) x~t:=exp0c(xt) 再代入上式. The base point x x x is usually set to 0 \mathbf0 0 which makes formulas less cumbersome and empirically has little impact on the obtained results. - GRU architecture. 欧氏空间里的 GRU 运算如下,包括 reset 门
r
t
r_t
rt 和 update 门
z
t
z_t
zt
先写出门控电路 f ( h , h ′ ) : = σ ( h ) ⊙ h ′ f(h,h'):=\sigma(h)\odot h' f(h,h′):=σ(h)⊙h′ 的双曲版本: f ⊗ c ( h , h ′ ) = exp 0 c ( σ ( log 0 c ( h ) ) ⊙ log 0 c ( h ′ ) ) = exp 0 c ( diag ( σ ( log 0 c ( h ) ) ) ⋅ log 0 c ( h ′ ) ) = diag ( σ ( log 0 c ( h ) ) ) ⊗ c h ′ f^{\otimes_c}\left(h, h^{\prime}\right)=\exp _{\boldsymbol{0}}^c\left(\sigma\left(\log _{\boldsymbol{0}}^c(h)\right) \odot \log _{\boldsymbol{0}}^c\left(h^{\prime}\right)\right)=\exp _{\boldsymbol{0}}^c\left(\text{diag}(\sigma(\log^c_{\mathbf 0}(h)))\cdot \log _{\boldsymbol{0}}^c\left(h^{\prime}\right)\right)=\text{diag}(\sigma(\log^c_{\mathbf 0}(h)))\otimes_c h' f⊗c(h,h′)=exp0c(σ(log0c(h))⊙log0c(h′))=exp0c(diag(σ(log0c(h)))⋅log0c(h′))=diag(σ(log0c(h)))⊗ch′. 因此可以将 reset gate r t r_t rt 和 update gate z t z_t zt 写为
r t = σ log 0 c ( W r ⊗ c h t − 1 ⊕ c U r ⊗ c x t ⊕ c b r ) z t = σ log 0 c ( W z ⊗ c h t − 1 ⊕ c U z ⊗ c x t ⊕ c b z ) r_t=\sigma \log _{\mathbf 0}^c\left(W^r \otimes_c h_{t-1} \oplus_c U^r \otimes_c x_t \oplus_c b^r\right)\\ z_t=\sigma \log _{\mathbf 0}^c\left(W^z \otimes_c h_{t-1} \oplus_c U^z \otimes_c x_t \oplus_c b^z\right) rt=σlog0c(Wr⊗cht−1⊕cUr⊗cxt⊕cbr)zt=σlog0c(Wz⊗cht−1⊕cUz⊗cxt⊕cbz)隐藏单元的更新可以写为
h ~ t = φ ⊗ c ( W ⊗ c ( diag ( r t ) ⊗ c h t − 1 ) ⊕ c U ⊗ c x t ⊕ c b ) = φ ⊗ c ( ( W diag ( r t ) ) ⊗ c h t − 1 ⊕ c U ⊗ c x t ⊕ c b ) h t = h t − 1 ⊕ c diag ( z t ) ⊗ c ( − h t − 1 ⊕ c h ~ t ) \begin{aligned} \tilde{h}_t&=\varphi^{\otimes_c}\left(W\otimes_c( \operatorname{diag}\left(r_t\right) \otimes_c h_{t-1}) \oplus_c U \otimes_c x_t \oplus_c b\right) \\&=\varphi^{\otimes_c}\left(\left(W \operatorname{diag}\left(r_t\right)\right) \otimes_c h_{t-1} \oplus_c U \otimes_c x_t \oplus_c b\right) \\h_t&=h_{t-1} \oplus_c \operatorname{diag}\left(z_t\right) \otimes_c\left(-h_{t-1} \oplus_c \tilde{h}_t\right) \end{aligned} h~tht=φ⊗c(W⊗c(diag(rt)⊗cht−1)⊕cU⊗cxt⊕cb)=φ⊗c((Wdiag(rt))⊗cht−1⊕cU⊗cxt⊕cb)=ht−1⊕cdiag(zt)⊗c(−ht−1⊕ch~t)
Experiments
- SNLI task and dataset. SNLI 为 natural language inference / textual entailment 数据集 (判断给定前提是否蕴含给定假设),包含了 570K training, 10K validation and 10K test 句子对
- PREFIX task and datasets. PREFIX 是作者人工合成的数据集,用于测试双曲模型在符合树状结构的数据上的性能。任务为 detection of noisy prefixes, i.e. 给定句子对,判断第二个句子是否为第一个句子的带噪前缀,或是一个随机句子。PREFIX-Z% (for Z being 10, 30 or 50) 表示对于对一个句子的随机前缀,第二个句子的正样本通过替换前缀中 Z% 的单词来生成,负样本则为随机生成的等长句子
- Models architecture. 双曲模型可以像欧式模型一样叠加 n n n 层构造网络,也可以结合欧式模型一起使用,但优化时必须使用黎曼优化。作者使用两个不同的 RNN 或 GRU 模型编码两个句子,得到的 embed 和这两个句子间的 squared distance (hyperbolic or Euclidean, depending on their geometry) 一起送入 FFNN (Euclidean or hyperbolic),最后由 MLR (Euclidean or hyperbolic) 进行分类,损失函数为 CE loss
- Results. 可以看到欧式模型在 SNLI 上性能优于双曲模型,作者认为这可能是因为 Adam 等优化算法还没有对应的双曲版本。双曲模型在具有树形结构的数据上性能优于欧式模型,在 PREFIX 数据集上,随着 Z 值越来越大,数据就越来越不符合树形结构,欧式模型和双曲模型之间的性能差距也就越来越小
- MLR classification experiments. 在 SNLI 数据集上,双曲 MLR 相比欧式 MLR 没有展现出足够的优势,作者认为这可能是因为在端到端训练时,模型得到的 embed 可以使得欧式 MLR 就已经能很好地进行分类。为了进一步展示双曲 MLR 的优势,作者进行了额外的实验,选取 WordNet 的子树,判断 node 是否属于该子树。模型结构上使用 WordNet 上预训练得到的 word embed,然后分别使用 hyper-bolic MLR, Euclidean MLR applied directly on the hyperbolic embeddings 以及 Euclidean MLR applied after mapping all embeddings in the tangent space at
0
\mathbf0
0 using the
log
0
\log_{\mathbf 0}
log0 map 进行二分类
下图展示了 2-dimensional embeddings and the trained separation hyperplanes
References
- Ganea, Octavian, Gary Bécigneul, and Thomas Hofmann. “Hyperbolic neural networks.” Advances in neural information processing systems 31 (2018).
- code: https://github.com/dalab/hyperbolic_nn
- 脱离欧氏空间,在双曲空间中做 NLP