2019年MICCAI的文章,也是李霄霄大佬组的文章。Individual-level的,不过用的是任务态的核磁数据。
上图包含了两个阶段。第一个阶段(上半部分) 是在整个脑网络上训练出分类效果良好的GNN模型;第二个阶段(下半部分)则是将模型在子图上进行验证,并探索哪些区域是ASD的生物标志。
我看了挺多文章的,只有这篇文章里定义了边的属性。不过在2020年MICCAI的文章中又没有用边的属性。
节点集: V = ( v 1 , v 2 , . . . , v n ) T ∈ R N × D V=(v_1,v_2,...,v_n)^T∈R^{N×D} V=(v1,v2,...,vn)T∈RN×D, D D D是节点的属性维度。
节点属性: v 1 ∈ R 10 v_1∈R^{10} v1∈R10。度、GLM系数( β 1 \beta_1 β1, β 2 \beta_2 β2, β 3 \beta_3 β3, β 4 \beta_4 β4)、BOLD的均值及标准差、ROI坐标( x x x, y y y, z z z)。
经过Box-Cox变化,使每一维属性呈正态分布。
边集: E = [ e i j ] ∈ R N × N × F E=[e_{ij}]∈R^{N×N×F} E=[eij]∈RN×N×F, F F F为边的属性维度。
边属性: e i j ∈ R 3 e_{ij}∈R^3 eij∈R3。皮尔逊相关系数、偏相关系数、 e x p ( − r i j / 10 ) exp(-r_{ij}/10) exp(−rij/10)( r i j r_{ij} rij为两个ROI之间的几何距离)。
邻接关系: a i j = { r , r ≥ q 0 , o t h e r w i s e a_{ij}=\begin{cases} r, r \ge q \\ 0, otherwise \\ \end{cases} aij={r,r≥q0,otherwise。其中 r r r代表偏相关系数, q q q则为偏相关系数的第95百分位。
注:这篇文章是随机取ROI内1/3体素的均值作为该区域的时间序列。这样的处理方法可用于样本扩充。
节点更新公式:
其中 σ ( . ) \sigma(.) σ(.)为 R e L U ReLU ReLU激活函数; N ( i ) N(i) N(i)表示节点 i i i的一阶邻居; Θ ∈ R ( l ) × ( l − 1 ) \Theta∈R^{(l)×(l-1)} Θ∈R(l)×(l−1)是可学习矩阵; h Φ h_\Phi hΦ则MLP,将边属性 e i j e_{ij} eij映射为 d ( l ) × d ( l − 1 ) d^{(l)}×d^{(l-1)} d(l)×d(l−1)矩阵。
池化用的是Top-K的方式:
w w w是一个可学习的投影向量; ∣ ∣ . ∣ ∣ || .|| ∣∣.∣∣是 L 2 L_2 L2范式。吐槽一下这个排版。
然后需要一个Readout层来总结出全局向量 s s s。文章中采用了skip-connection的方法来拼接多层的向量 s ( l ) s^{(l)} s(l)。
作者将整个脑网络划分为多个子图,探讨模型对子图的分类效果,并进一步探索每个ROI的重要性,以找到具有标志性的区域。
定义 G s = ( V s , E s ) G_s=(V_s,E_s) Gs=(Vs,Es)为被试 s s s, s = 1 , . . . , S s=1,...,S s=1,...,S。将 S S S个边属性张量 E s E_s Es中的偏相关系数矩阵拼接成三维张量 τ ∈ R N × N × S \tau∈R^{N×N×S} τ∈RN×N×S。
第一步,将节点聚成多个簇。这里用到了parafac张量分解方法,对三维张量 τ ∈ R N × N × S \tau∈R^{N×N×S} τ∈RN×N×S进行分解。
a j = b j ∈ R N a_j=b_j∈R^N aj=bj∈RN, c j ∈ R S c_j∈R^S cj∈RS, R R R为秩(簇的数量)。
若 a j i > m e a n ( a j ) + s t d ( a j ) a_{ji}>mean(a_j)+std(a_j) aji>mean(aj)+std(aj),则节点 i i i属于簇 j j j,记为 i j i_j ij。其中 a j i a_{ji} aji表示向量 a j a_j aj的第 i i i个元素。
第二步,计算每个节点的重要程度。记被试 s s s的第 j j j个子图为 G s j = ( ( V s ) i j , : , ( E s ) i j , i j ) G_{sj}=((V_s)_{i_j,:} , (E_s)_{i_j,i_j}) Gsj=((Vs)ij,:,(Es)ij,ij)。为每个子图计算ECC分数:
c s c_s cs为被试 s s s的真实标签; p ← ( p S + 1 ) / ( S + 2 ) p\gets(pS+1)/(S+2) p←(pS+1)/(S+2),防止除数为0。
节点 k k k的重要程度计算如下所示:
节点的得分越高,越可能是生物标志。
假设:GNN模型的分类性能越好,那么找到生物标志的概率就越高。实验仅在训练集上做。
作者将这两个子图作为GNN的输入,重新训练了GNN模型,最终得到的分类准确率为78.9%。
作者用了两个不同的脑谱图以及不同数量的簇重新做了实验,探讨不同的构图方式是否影响网络的可靠性。