[NeurIPS 2017] Poincaré Embeddings for Learning Hierarchical Representations

Contents

  • Introduction
  • Poincaré Embeddings
    • The Limitations of Euclidean Space for Hierarchical Data
    • Embedding Hierarchies in Hyperbolic Space
  • Evaluation
  • References

Introduction

  • 如今,表征学习变得越来越重要 (e.g. word embedding, embeddings of graphs, embeddings of multi-relational data),许多复杂数据集也都具有一定的层次结构 (latent hierarchical structures),但欧氏空间中优化得到的 Embeddings 建模复杂关系的能力受限于 embed 维数
  • 为了增强 embed 对表征对象间复杂关系的表征能力,作者提出将具有层次关系的表征对象嵌入到一种双曲空间 – n n n 维 Poincaré ball 中。此外,作者基于 Riemannian optimization 对 Poincaré ball 中的 embed 进行优化。实验证明 Poincaré embeddings 在编码具有层次特征的数据时,在表征能力和泛化能力上都超过了 Euclidean embeddings,特别是在低维数条件下

Poincaré Embeddings

The Limitations of Euclidean Space for Hierarchical Data

  • 对于 hierarchical data,假如树的 branching factor 固定,则随着层数的加深,树的结点数将以指数级速度增长。如果要生成树的每个结点对应的 embed,则需要使得结点间的距离符合树结构,子结点和父结点间的距离应该比较接近,不同分支的叶结点间应彼此远离
  • 下图展示了将 branching factor 为 4 的树结构嵌入到二维欧氏空间,可以看到欧氏空间的位置已经不太够用了,如果树结构层数更多,不同分支的各个叶结点离得将更近,这些叶结点在树结构上离得很远,但嵌入在欧氏空间上时距离确会很近。欧氏空间适合嵌入网格结构的数据,如果想要更好地表征更深层次的树结构,就必须使用更高维度的欧氏空间,这可能会导致更大的时间、空间开销甚至模型过拟合
    [NeurIPS 2017] Poincaré Embeddings for Learning Hierarchical Representations_第1张图片

Embedding Hierarchies in Hyperbolic Space

  • Hyperbolic Space 可以很好地建模 hierarchical data,有研究表明 “any finite tree can be embedded into a finite hyperbolic space such that distances are preserved approximately”.
  • 下图展示了将树结构嵌入到 Poincaré disk. 由于靠近单位圆的边界时,距离以指数级速度增长,因此下图中每个相邻节点间的距离实际上都是相等的,并且虽然叶结点看上去比较拥挤,但实际上相隔的距离非常远
    [NeurIPS 2017] Poincaré Embeddings for Learning Hierarchical Representations_第2张图片

Poincaré Embeddings

  • 作者假设要表征的数据具有隐性的层次树结构 (并没有直接获取到层次树结构),然后通过无监督学习的方式将层次数据嵌入到 Poincaré ball 中来让数据的 embed 间的距离反映它们之间的语义相似度。引入层次树的先验结构信息有助于降低模型的时间和空间开销,并且提高模型的泛化能力

Why Poincaré ball model instead of a simple Poincaré disk model?
(1) First, in many datasets such as text corpora, multiple latent hierarchies can co-exist, which can not always be modeled in two dimensions.
(2) Second, a larger embedding dimension can decrease the difficulty for an optimization method to find a good embedding (also for single hierarchies) as it allows for more degrees of freedom during the optimization process.

  • 为了便于进行梯度优化,作者使用 Poincaré ball model (Its distance function is differentiable and it has a relatively simple constraint on the representations.). Poincaré ball model 对应黎曼流形 ( B d , g x ) (\mathcal B^d,g_x) (Bd,gx),其中 B d = { x ∈ R d ∣ ∥ x ∥ < 1 } \mathcal B^d=\{x\in\R^d|\|x\|<1\} Bd={xRd∣∥x<1} g x g_x gx 为 Riemannian metric tensor
    在这里插入图片描述其中 x ∈ B d x\in\mathcal B^d xBd g E = I n g^E=I_n gE=In 为 Euclidean metric tensor. u , v ∈ B d u,v \in\mathcal B^d u,vBd 间的距离为
    在这里插入图片描述

Optimization

  • 对于具有层次结构的数据 S = { x i } i = 1 n \mathcal S=\{x_i\}_{i=1}^n S={xi}i=1n,我们想要找到它们对应的 embed Θ = { θ i } i = 1 n \Theta=\{\theta_i\}_{i=1}^n Θ={θi}i=1n,其中 θ i ∈ B d \theta_i\in\mathcal B^d θiBd,使得 embed 间的 Poincaré distance 能反映它们之间的语义相似程度。为了得到 embed,需要求解如下优化问题
    在这里插入图片描述(损失函数定义见 “Evaluation/Embedding Taxonomies” 一节)
  • 由于 Poincaré Ball 为黎曼流形,因此我们可以通过 stochastic Riemannian optimization methods (RSGD, RSVRG, …) 求解。令 T θ B \mathcal T_\theta\mathcal B TθB 为点 θ ∈ B d \theta\in\mathcal B^d θBd 处的 tangent space, ∇ R ∈ T θ B \nabla_R\in\mathcal T_\theta\mathcal B RTθB L ( θ ) \mathcal L(\theta) L(θ) 的 Riemannian gradient, ∇ E \nabla_E E L ( θ ) \mathcal L(\theta) L(θ) 的 Euclidean gradient,RSGD 的参数更新方式如下:
    θ t + 1 = θ t − η t ∇ R L ( θ t ) \theta_{t+1}=\theta_t-\eta_t\nabla_R\mathcal L(\theta_t) θt+1=θtηtRL(θt)由于 Poincaré ball 为双曲空间的一种 conformal model,因此相邻向量在 Poincaré ball 中的角度和在欧氏空间里的角度相同 (具有保角性),但向量长度在两个空间内不一样,因此为了从 Euclidean gradient 推出 Riemannian gradient,需要将 ∇ E \nabla_E E 乘上 Poincaré ball metric tensor 的逆 g θ − 1 g_\theta^{-1} gθ1 来进行缩放
    ∇ R = ( 1 − ∥ θ t ∥ 2 ) 2 4 ∇ E \nabla_R=\frac{(1-\|\theta_t\|^2)^2}{4}\nabla_E R=4(1θt2)2E此外,还需要限制优化时的 embed 位于单位圆内
    在这里插入图片描述其中 ε = 1 0 − 5 \varepsilon=10^{-5} ε=105. 最终的参数更新公式
    在这里插入图片描述

关于保角性 (conformal)
(1) A metric g ~ \tilde g g~ is said to be conformal to another metric g g g if it defines the same angles, i.e.
在这里插入图片描述for all x ∈ M x\in M xM u , v ∈ T x M \ { 0 } u,v\in T_xM \backslash \{0\} u,vTxM\{0}.
(2) Poincaré ball 中的 metric tensor g x D g_x^{\mathbb D} gxD
在这里插入图片描述其中 g E = I n g^E=I_n gE=InEuclidean metric tensor,它们满足
在这里插入图片描述因此 Poincaré ball model 具有保角性
(3) 这也等价于存在 smooth function λ : M → R λ : M → \R λ:MR,i.e.,conformal factor,使得对所有 x ∈ M x\in M xM,都有 g ~ x = λ x 2 g x \tilde g_x=\lambda_x^2 g_x g~x=λx2gx


Training Details

  • 作者还使用了一些 tricks 来提升模型性能:(1) 用均匀分布 U ( − 0.001 , 0.001 ) \mathcal U(-0.001,0.001) U(0.001,0.001) 来随机初始化 embed,这可以让所有 embed 在初始化时靠近 B d \mathcal B^d Bd 的原点。(2) 为了得到一个较好的 initial angular layout,作者设置了 initial “burn-in” phase,在 10 个 epochs 内使用 η / 10 \eta/10 η/10 的学习率进行训练。结合均匀分布的位置初始化策略,这可以提升 angular layout 的质量,同时又不会让 embed 过于靠近边界

Evaluation

Embedding Taxonomies

  • 作者在 transitive closure of the WORDNET noun hierarchy 上进行了实验,用于测试 Poincaré embeddings 对具有 clear latent hierarchical structure 的数据的嵌入能力。该数据集 D = { ( u , v ) } \mathcal D=\{(u,v)\} D={(u,v)} 包含 82,115 nouns 之间的 743,241 hypernymy relations,损失函数采用
    L ( Θ ) = − ∑ ( u , v ) ∈ D log ⁡ e − d ( u , v ) e − d ( u , v ) + ∑ v ′ ∈ N ( u ) e − d ( u , v ′ ) \begin{align*} \mathcal{L}(\Theta) &= -\sum_{\substack{(u,v) \in \mathcal{D}}} \log \frac{e^{-d(u,v)}}{e^{-d(u,v)} + \sum_{v'\in \mathcal{N}(u)} e^{-d(u, v')}} \\ \tag{14} \end{align*} L(Θ)=(u,v)Dloged(u,v)+vN(u)ed(u,v)ed(u,v)其中 N ( u ) = { v ′ ∣ ( u , v ′ ) ∉ D } ∪ { u } \mathcal N(u)=\{v'|(u,v')\notin\mathcal D\}\cup\{u\} N(u)={v(u,v)/D}{u} u u u 的负样本集合,训练时给每个正样本随机采样 10 个负样本,整个优化过程十分类似于 Word2vec’s Skip-Gram loss with negative sampling
  • Reconstruction. 为了直接检验 embed 的表征质量,作者直接从 embed 重建数据,得到重建数据属于所有名词的概率,利用概率进行排序,其中 ground-truth 的 Rank 可以作为 metric. 作者将所有样本 ground-truth Rank 的均值以及它们的 mAP 作为测试指标
  • Link Prediction. 为了检验 embed 的泛化能力,作者将数据集划分为训练、验证和测试集来进行 link prediction,可以得到正样本对间的距离 d ( u , v ) d(u,v) d(u,v) 在所有负样本对距离 { d ( u , v ′ ) ∣ u , v ′ ∉ D } \{d(u,v')|u,v'\notin\mathcal D\} {d(u,v)u,v/D} 中的 Rank. 作者将所有正样本对 Rank 的均值以及它们的 mAP 作为测试指标

[NeurIPS 2017] Poincaré Embeddings for Learning Hierarchical Representations_第3张图片

Euclidean: d ( u , v ) = ∥ u − v ∥ 2 d(u, v) = \|u − v\|^2 d(u,v)=uv2
Translational: d ( u , v ) = ∥ u − v + r ∥ 2 d(u, v) = \|u − v + r\|^2 d(u,v)=uv+r2. For this score function, we also learn the global translation vector r r r during training.

  • 下图为 mammals 子树对应的 Two-dimensional Poincaré embeddings 的可视化,蓝边为 Ground-truth “is-a” relations. A Poincaré embedding with d = 5 d = 5 d=5 achieves mean rank 1.26 and MAP 0.927 on this subtree.
    [NeurIPS 2017] Poincaré Embeddings for Learning Hierarchical Representations_第4张图片

Network Embeddings

  • 作者在 4 个 social networks 数据集上进行了 link prediction 实验,存在边的概率值采用下式计算:
    在这里插入图片描述其中 r , t > 0 r,t>0 r,t>0 为超参

[NeurIPS 2017] Poincaré Embeddings for Learning Hierarchical Representations_第5张图片


Lexical Entailment

在这里插入图片描述

References

  • paper: Nickel, Maximillian, and Douwe Kiela. “Poincaré embeddings for learning hierarchical representations.” Advances in neural information processing systems 30 (2017).
  • code: https://github.com/facebookresearch/poincare-embeddings
  • Implementation by Gensim: https://radimrehurek.com/gensim/models/poincare.html and a jupyter notebook tutorial: https://nbviewer.org/github/RaRe-Technologies/gensim/blob/develop/docs/notebooks/Poincare%20Tutorial.ipynb
  • Implemented by “Hyperbolic Entailment Cones for Learning Hierarchical Embeddings”: https://github.com/dalab/hyperbolic_cones
  • Hyperbolic Geometry and Poincaré Embeddings
  • Implementing Poincaré Embeddings

你可能感兴趣的:(papers,NeurIPS,2017)