CurvLearn开源 | 阿里妈妈曲率学习框架详解
▐ 摘要
▐ 框架背景
什么是曲率空间
曲率空间的特性
欧氏空间
欧氏空间各处均匀且平坦,具备各向同性及平移不变性,因此适合建模网格数据如图像等[1]。
双曲空间
双曲空间具备指数级体积容量 ,同存储量下样本间距更大,因此适合建模超大规模数据[2]。 双曲空间距离度规等价于幂律分布,互相导出,作为对数据分布的先验认知适合建模无尺度网络[3]。 双曲空间无损嵌入树结构,而欧氏空间无法避免表征损失,因此适合建模层次结构[4]。
球面空间
球面空间距离度规等价于角度度规,具备旋转不变性,因此适合建模环状数据[4]。
混合曲率空间
混合曲率空间整体分布不均,各处呈现出不同的几何特性,因此适合建模多种结构特性并存的数据,如树环等[5]。
曲率空间的形式化定义
双曲空间以 表示,曲率 ,定义为,黎曼度量为 ; 欧氏空间以 表示,曲率 ,定义为 ,黎曼度规为 ; 球形空间以 表示,曲率 ,定义为 ,黎曼度量为 。
▐ 曲率学习框架
框架概览
Manifolds
Euclidean:欧几里得空间,曲率恒零。 Stereographic:使用球极平面投影的常曲率空间,曲率可以是任意实数值。 PoincareBall:双曲几何中的庞加莱球模型,曲率恒负。 ProjectedSphere:球面几何中的球极平面投影模型,曲率恒正。 Product:多种流形笛卡尔积构成的积流形,曲率具备各向异性。
指数映射:将 的切空间向量 投影到对应流形上。
对数映射:将对应流形向量 投影到 的切空间上。
向量加法:流形向量 与 相加。
向量乘法:流形向量 扩充 倍。
平行移动:将 的切空间向量 移到 的切空间中发生的尺度变化。
测地线距离:流形上 和 的最短距离。
Trigonometric函数:
Operations
模型中的向量操作远不止上述定义的几种。实际上诸如向量平均,向量拼接等不是良定义的,需要自行推导其形式,在满足合适的向量变换逻辑上,使得该操作尽可能高效易优化。通常而言,绝大部分非欧算子都遵循转移到切空间的运算流程:
向量 通过对数映射投影至切空间 切空间向量 通过欧氏算子进行变换 通过指数映射投影回非欧流形
Models
另一种构建模型的方式为转移计算到切空间,即投影流形向量至切空间,在切空间中实现复杂模型变换,投影回流形。HGCN[8]实现的非欧图卷积神经网络正是一个典型的例子:
由于不同模型实现及侧重点不一致,这里不做进一步细节阐述。
Optimizers
Applications
▐ 曲率学习训练技巧
节点Embedding容易超出曲率空间定义域。例如双曲空间的定义域为一个有限半径的球体,在训练的过程中,节点的 Embedding 容易靠近空间边缘,由于数值精度问题容易导致向量操作不合法。 梯度爆炸或弥散。由于曲率空间引入了复杂的计算逻辑,例如大量的 以及 函数等,位于这些函数的极值区域较难被优化。
参数初始化。曲率空间训练对参数初始化比较敏感,我们发现维持任意节点初始距离为较小的常值对提高训练稳定性很有帮助。一种可行的方案是使用小方差的正态分布初始化向量,同时使用 Xavier 初始化模型参数。 曲率 Embedding 正则。为了让节点 Embedding 尽量远离空间边缘等极值区域,直观的想法是通过正则项约束向量分布。作为 的扩展,正则项被定义为:
学习率及梯度处理。模型分布式优化往往涉及到梯度累加的过程,使用Warm-up及梯度裁剪有助于在训练初期维持梯度数值稳定性。
▐ 曲率ANN检索工具
▐ 展望
CurvLearn 开源地址:
https://github.com/alibaba/Curvature-Learning-Framework
参考文献
[1] Bronstein, Michael M. et al. “Geometric Deep Learning: Going beyond Euclidean data.” IEEE Signal Processing Magazine 34 (2017): 18-42.
[2] Nickel, Maximilian and Douwe Kiela. “Poincaré Embeddings for Learning Hierarchical Representations.” NIPS (2017).
[3] Krioukov, Dmitri V. et al. “Hyperbolic Geometry of Complex Networks.” Physical review. E, Statistical, nonlinear, and soft matter physics 82 3 Pt 2 (2010): 036106.
[4] Bachmann, Gregor et al. “Constant Curvature Graph Convolutional Networks.” ICML (2020).
[5] Gu, Albert et al. “Learning Mixed-Curvature Representations in Product Spaces.” ICLR (2019).
[6] Ganea, Octavian-Eugen et al. “Hyperbolic Neural Networks.” NIPS (2018).
[7] Lou, Aaron et al. “Differentiating through the Fréchet Mean.” ICML (2020).
[8] Chami, Ines et al. “Hyperbolic Graph Convolutional Neural Networks.” NIPS (2019).
[9] Bécigneul, Gary and Octavian-Eugen Ganea. “Riemannian Adaptive Optimization Methods.” ICLR (2019).
[10] Vinh Tran, Lucas et al. “HyperML: A Boosting Metric Learning Approach in Hyperbolic Space for Recommender Systems.” WSDM (2020).
[11] Zhu, Shichao et al. “Graph Geometry Interaction Learning.” NIPS (2020).
[12] Chen, Boli et al. “Probing BERT in Hyperbolic Spaces.” ICLR (2021).