网站首页设计过程毕业设计做系统网站好
网站首页设计过程,毕业设计做系统网站好,设计网页页面的软件,北京建设银行官方网站图卷积神经网络GCN-笔记1.卷积是什么2.图卷积的源起3.空域卷积3.1消息传递网络MPNN3.2 图采样与聚合GraphSage4.频域卷积5.图结构的序列化-Patch-SAN从图(Graph)到图卷积(Graph Convolution)#xff1a;漫谈图神经网络模型 (二)(https://www.cnblogs.com/SivilTaram/p/graph_n…
图卷积神经网络GCN-笔记1.卷积是什么2.图卷积的源起3.空域卷积3.1消息传递网络MPNN3.2 图采样与聚合GraphSage4.频域卷积5.图结构的序列化-Patch-SAN从图(Graph)到图卷积(Graph Convolution)漫谈图神经网络模型 (二)(https://www.cnblogs.com/SivilTaram/p/graph_neural_network_2.html)该文详细写明了设涉及的参考材料是一个很棒的综述性材料。本文仅作为阅读该系列文章的笔记详情请参考原文。参考博文2:稍微简略一些建议看完《漫谈图神经网络模型 (二》再去看此文最终讲到不需要做特征值分解的GCN有点神奇。https://blog.csdn.net/qq_41727666/article/details/84622965此前的图神经网络是基于循环结构此篇主要介绍基于图卷积神经网络中的卷积操作。
1.卷积是什么
卷积本身是一种数学算子对两个函数f和g操作生成第三个函数h。 h(t)∫−∞∞f(τ)g(t−τ)dτh(t)\int_{-\infty}^{\infty}f(\tau)g(t-\tau)d\tauh(t)∫−∞∞f(τ)g(t−τ)dτ
即新函数在t处的值f 和g 关于t对称处函数值成绩的和。简单(抽象)地说就是一个加权求和的过程。了解加权求和的核心之后可以建模出图像上的卷积操作。每一层的卷积核就是一个权重可学习的权值函数g(⋅)g(\cdot)g(⋅)。
卷积核的权重可以依据任务确定实现边缘提取laplacian算子、可依据损失函数学习特定特征提取的权重。
卷积操作的作用通过结点和周围结点的信息提取/聚合结点的特征。
小结在机器学习领域卷积的具体操作是加权求和卷积的效果是特征聚合/提取。
2.图卷积的源起
图像卷积操作要求规整的数据结构图上结点的邻居结点数量不固定。
衍生了两种特征聚合图结点的特征的操作
把图转换成规整的结构–少数处理变长邻居结点的卷积核–主流主要焦点
图卷积又分为空域卷积和频域卷积
空域卷积–卷积核直接在原图上卷积操作频域卷积–图做了傅立叶变换之后再进行卷积操作
启发一种最简单的无参卷积–将所有的邻居结点的隐藏状态加和以更新当前结点的隐藏状态。
3.空域卷积
3.1消息传递网络MPNN
Massage Passing Neural Network–MPNN空域卷积的形式化框架。他将空域卷积分解为两个过程消息传递Ml(⋅)M_l(\cdot)Ml(⋅)和状态更新Ul(⋅)U_l(\cdot)Ul(⋅) hvl1Ul1(hv,∑u∈ne[v]Ml1(hvl,hul,xuv))h_v^{l1}U_{l1}(h_v, \sum_{u\in ne[v]}M_{l1}(h^l_v,h_u^l,x_{uv}))hvl1Ul1(hv,u∈ne[v]∑Ml1(hvl,hul,xuv)) 即本结点与邻居结点的信息通过Ml(⋅)M_l(\cdot)Ml(⋅)形成消息将所有的消息类和后然后通过状态更新函数Ul(⋅)U_l(\cdot)Ul(⋅)更新自己的隐状态。
GCN每一层包含所有结点每层的MU参数并不共享层数由设计确定 GNN按更新时间序列展开成各层的MU参数共享每一次更新所有的结点按不动点理论时间序列的长度不定。
MPNN主要缺陷卷积操作针对整张图所有结点都要进内存。大规模图上的全图卷积操作并不现实。
3.2 图采样与聚合GraphSage
采样部分结点进行学习
每一层的消息传递和状态更新不涉及所有结点随机采样若干个结点。针对每个结点随机选取固定数目的邻居结点1阶/2阶均可定义aggregate函数聚合邻居结点的信息计算采样点处的损失
GraphSage状态更新公式 hvl1σ(Wl1∗aggregate(hvl,{hul}),∀u∈ne[v])h_v^{l1}\sigma(W^{l1}*aggregate(h_v^l,\{h_u^l\}),\forall u \in ne[v])hvl1σ(Wl1∗aggregate(hvl,{hul}),∀u∈ne[v])
GraphSage的设计重点在于aggregate函数的设计上。
4.频域卷积
(理解起来稍微有一点抽象)–利用傅立叶变换在图上的抽象来实现图上卷积操作。 傅立叶变换将一个在空域上定义的函数分解成频域上的若干频率成分。 f^(t)∫f(x)exp−2πixtdx\hat{f}(t)\int f(x)\exp^{-2\pi ixt}dxf^(t)∫f(x)exp−2πixtdx
傅立叶变换恒等式两个函数在空域上的卷积的效果等于两函数在频域上的乘积。 (f∗g)(t)F−1[F[f(t)]⊙F[g(t)]](f*g)(t)F^{-1}[F[f(t)]\odot F[g(t)]](f∗g)(t)F−1[F[f(t)]⊙F[g(t)]]
所以可以利用傅立叶变换得到频域表示后进行哈达玛乘积再傅立叶逆变换回去即可得到空域卷积的结果。
傅立叶变换的作用
去规律的噪点加速卷积操作卷积核比较小时没啥加速效果
利用傅立叶变换实现图上卷积的核心点如何找到变换算子exp−2πixt\exp^{-2\pi ixt}exp−2πixt。
依据变换算子是拉普拉斯算子的特征函数这一重要特性找到图数据拉普拉斯变换算子–拉普拉斯矩阵对应的特征向量。
(频域卷积的前提条件-图是无向图。) 图拉普拉斯矩阵的特征值分解 LUΛUTLU\Lambda U^TLUΛUT U(u1,u2,...,un)U (u_1, u_2, ... , u_n)U(u1,u2,...,un) Λdiag(λ1,λ2,...,λn)\Lambda diag(\lambda_1, \lambda_2, ... , \lambda_n)Λdiag(λ1,λ2,...,λn)
图结点数据傅立叶变换:(^f)(t)∑n1Nf(n)ut(n)\hat(f)(t) \sum_{n1}^Nf(n)u_t(n)(^f)(t)∑n1Nf(n)ut(n) 这个叠加的n是个什么东西N个结点的信息
整张图的傅立叶变换:f^[f^(1)...f^(N)]UTf\hat{f} \left[ \begin{array}{ccc} \hat{f}(1)\\ ... \\ \hat{f}(N)\\ \end{array} \right] U^Tf f^⎣⎡f^(1)...f^(N)⎦⎤UTf 用神经网络建模卷积核傅立叶变化后的函数用gθg_\thetagθ表示那么频域卷积可以表示为 gθ⊙UTfg_\theta\odot U^Tfgθ⊙UTf
再通过傅立叶逆变换可以求得最终图上的卷积。(逆变换算子为exp2πixt\exp^{2\pi ixt}exp2πixt类比图中的逆变换算子为U) o(f∗g)θUgθUTfo(f*g)_\thetaUg_\theta U^Tfo(f∗g)θUgθUTf
图上频域卷积的工作都聚焦于gθg_\thetagθ的设计。频域卷积隐状态更新涉及:
lll层隐状态hl∈RN∗dlh^l\in R^{N*d_l}hl∈RN∗dl每一行为该层一个结点的隐藏状态 hl[h11lh12l...h1dll...hN1lhN2l...hNdll]h^l \left[ \begin{array}{ccc} h^l_{11}h^l_{12}...h^l_{1d_l}\\ ... \\ h^l_{N1}h^l_{N2}...h^l_{Nd_l}\\ \end{array} \right] hl⎣⎡h11l...hN1lh12lhN2l......h1dllhNdll⎦⎤傅立叶变换算子UTU^TUT,每一行是拉普拉斯矩阵的一个特征向量: UT[u11u12...u1N...uN1uN2...uNN]U^T \left[ \begin{array}{ccc} u_{11}u_{12}...u_{1N}\\ ... \\ u_{N1}u_{N2}...u_{NN}\\ \end{array} \right] UT⎣⎡u11...uN1u12uN2......u1NuNN⎦⎤卷积核频域形式gθ:dl1∗Ng_\theta:d_{l1}*Ngθ:dl1∗N,参数化呗,还就是一个权重呀(没说明白怎么作用的呀,后面再看看吧) gθ[θ1...0.........0...θN]g_\theta \left[ \begin{array}{ccc} \theta_1...0\\ ......... \\ 0...\theta_N\\ \end{array} \right] gθ⎣⎡θ1...0.........0...θN⎦⎤
频域卷积隐状态更新公式,{:i}表示第i列,(i1,...,dl),(j1,...,dl1)(i1,...,d_l),(j1,...,d_{l1})(i1,...,dl),(j1,...,dl1) h:,jl1σ(U∑i1dL)gθUTh:,ilh^{l1}_{:,j}\sigma(U\sum_{i1}^{d_L})g_\theta U^Th^l_{:,i}h:,jl1σ(Ui1∑dL)gθUTh:,il
切比雪夫网络用来加速特征矩阵的求解。
5.图结构的序列化-Patch-SAN
Patch-SAN将图转化成序列结构然后利用卷积神经网络在序列化结构上作卷积。 Patch-SAN原文中主要涉及图分类任务。
图结构的特点
同构邻居结点的连接关系
图结构-》序列化结构要求 3. 同构图产生的序列应当是相似的 4. 保持邻居结点和目标结点的距离关系
Patch-SAN 通过三个规则来将图转化成一个长度为w∗(k1)w*(k1)w∗(k1)的序列然后直接使用1D卷积对该序列进行操作。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91017.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!