参考文献 Persformer: A Transformer Architecture for Topological Machine Learning
这是一篇使用拓扑方法的 Transformer. 输入是 持续图, 输出是分类概率.
拓扑数据分析的简单流程
Z / 2 \Z/2Z/2-系数的 单纯同调
拓扑同调理论最简单的部分, 其各维同调群反应空间情况为:
0-维同调群 H 0 \text{H}_0H0, 空间连通分支的个数, 用于聚类.
1-维同调群 H 1 \text{H}_1H1, 空间含圆圈的数目.
2-维同调群 H 2 \text{H}_2H2, 空间含空心球的数目.
⋮ \vdots⋮
n-维同调群 H n \text{H}_nHn, 空间 n-维洞的数目.
持续同调理论
输入点云(空间中的一堆有距离的点), 使用 实数 r 建立Z / 2 \Z/2Z/2-系数的 单纯复形 C r C^rCr, 由此得到持续同调.
每个 C r C^rCr 产生单纯同调群 H i r \text{H}_i^rHir. i 为r 处同调群的维数, 每个同调群都有生成元. r 1 ≤ r 2 r_1 \leq r_2r1≤r2, 有自然的包含映射 i r 1 → r 2 : C r 1 → C r 2 i^{r_1 \to r_2}: C^{r_1} \to C^{r_2}ir1→r2:Cr1→Cr2, 诱导出同调群之间的映射 i ∗ r 1 → r 2 : H r 1 → H r 2 i_*^{r_1\to r_2}:\text{H}^{r_1} \to \text{H}^{r_2}i∗r1→r2:Hr1→Hr2. 此处 i ∗ i_*i∗ 为 0 或 1.
对 r 1 r_1r1中的生成元 a aa, d:=min { r 2 : i ∗ r 1 → r 2 ( a ) = 0 } \text{min}\{ r_2: i_*^{r_1 \to r_2}(a)=0\}min{r2:i∗r1→r2(a)=0}, d为 a 的死亡时刻. b:=min { r 0 : i ∗ r 0 → r 1 ( e ) = a , e ∈ H r 0 } \text{min}\{ r_0: i_*^{r_0 \to r_1}(e)=a, e\in \text{H}^{r_0}\}min{r0:i∗r0→r1(e)=a,e∈Hr0}, b 为 a 的出生时刻. 由于 i ∗ i_*i∗ 的取值特点, e=a. 即, 将 不同 r 处的 a 看成是同一a 在不同时刻下的表现, 点 (b,d) 记录这个 元素(洞)的出生和死亡时刻.
于是每个洞都可以映射到一个实平面上的点(b,d) 这个图称作持续图.
也可以映射为 (b,d-b), b 为出生时刻, b-d 为存活时间, 此称作条形码.
需 要 注 意 的 是 持 续 图 或 者 条 形 码 都 是 使 用 同 一 维 数 的 洞 画 的 , 也 即 是 有 多 少 同 调 维 数 就 有 多 少 持 续 图 或 者 条 形 码 . \textcolor{red}{需要注意的是 持续图或者条形码 都是使用同一维数的洞画的, 也即是有多少同调维数就有多少持续图或者条形码.}需要注意的是持续图或者条形码都是使用同一维数的洞画的,也即是有多少同调维数就有多少持续图或者条形码.
**做一点注记. 拓扑只是关注整体性质的, 例如腔洞的数目, 但是持续同调理论还能够捕获到曲率这个局部的信息. 这意味着持续同调能够用于蛋白质结构-功能预测, 材料科学.
向量化
不论是持续图还是条形码, 都不是向量. 为了能够在机器学习中使用拓扑特征, 需要将 持续图或者条形码向量化.
目前有两种思路, 其一是手动向量化, 即寻找合适的核映射将持续同调的输出映射到 希尔伯特空间, bin 方法, 持续景观等; 另一种是使用机器学习学习出向量, 例如 Perslayer, Performer.
机器学习
有了向量就可以使用机器学习算法分析.
Persformer
Perrformer 的输入是持续图, 输出是分类任务. 如前文所述, Persformer 将 持续图的向量化看成是可学习的参数.
首先是自注意力层, 和正常的自注意力层比较, Persformer 没有考虑位置信息, 在输出处 增加了残差连接层. 这是因为 持续图没有序关系. 残差层是避免梯度消失.
解码块没有, 取而代之的是 多头池化层, FF层.
重点解释一下多头池化层.
多头池化层是多头注意力层的变种, 其 query 是需要一个学习的参量 Q ∈ R 1 × d Q \in \R^{1 \times d}Q∈R1×d. key 和 value 向量来自于自注意力层输出 z ∈ R n × d z \in \R^{n \times d}z∈Rn×d 的线性变换 rFF ( z ) \text{rFF}(z)rFF(z). rFF \text{rFF}rFF 是逐 行 向 量 行向量行向量 前馈神经网络.即
MultiHead ( Q , rFF ( z ) , rFF ( z ) ) \text{MultiHead}(Q,\text{rFF}(z),\text{rFF}(z))MultiHead(Q,rFF(z),rFF(z))
需要注意到 由于没有位置信息的输入, 这个模型没有考虑序关系, 所以不太适合于需要序关系的应用场景.
Persformer 有多好
满足特定的万有逼近定理, 仅仅对 Hausdorff-连续 实值函数有关.
持续图中点的轻重
持续图中的点 (b,d), b < d b<db<d. 于是点 (b,d) 位于直线y = x y=xy=x 的上方. 距离这个直线近的点存活的时间短, 人们开始认为这样的点(短码)在数据分析中仅仅是噪音. 那么我们会去问怎么区分噪音和非噪音?
针对分类问题, Persformer 可以看成是几乎处处可微分的函数 F : D → R m \text{F}: \mathcal{D} \to \R^mF:D→Rm. D \mathcal{D}D 是持续图空间, 一个持续图记作
x : = { x i ∈ R 2 + d } i ∈ { 1 , 2 , ⋯ n } , x:=\{ x_i \in \R^{2+d}\} _{i \in \{1,2, \cdots n\}},x:={xi∈R2+d}i∈{1,2,⋯n},
x i x_ixi 的前 2 个分量是 (b,d), 后 d 个分量是 判断 x i x_ixi 所在的同调维数, 使用 独热编码(( 0100 ⋯ 0 ) (0100 \cdots 0)(0100⋯0)代表1维同调中生成元). m 是分类数目. 这个映射将 一个持续图映射为 分类概率的对数. 同调维数是无穷的, 文中假定需要考虑的最高维数为 d.
F \text{F}F 的显著图被定义为
S F ( x ) : = ( ∣ ∣ ∂ F i ( x ) ∂ x k ∣ ∣ 2 ) ∈ R n , \text{S}_F(x):=(| | \frac{\partial{\text{F}_{i(x)}}}{\partial{x}_k}||_2) \in \R^n,SF(x):=(∣∣∂xk∂Fi(x)∣∣2)∈Rn,
其中 i ( x ) : = argmax j { F ( x ) j } i(x):= \text{argmax}_j \{ \text{F}(x)_j\}i(x):=argmaxj{F(x)j}.
这样 显著图指出了持续图中每个点在 分类中的重要程度.
实例表明 短码也有可能在分类任务中起重要作用.