IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> MetaPath2Vec -> 正文阅读

[人工智能]MetaPath2Vec

MetaPath2Vec

论文名称:metapath2vec: Scalable Representation Learning for Heterogeneous Networks

论文地址:https://ericdongyx.github.io/papers/KDD17-dong-chawla-swami-metapath2vec.pdf

我们研究是解决异构网络模型的学习问题。当前卷积操作不适合处理多种类型的节点和边。我们开发了两种可扩展的表示学习模型,称作metapath2vecmetapath2vec++。metapath2vec利用随机游走的方式构建节点的异构邻居,然后利用skipgram模型学习节点embedding。metapathvec++同时进行异构网路结构和语义关系的学习。这个embedding不仅可以用于节点的分类输入、聚类或者相似度搜索,而且可以学习不同网络结构和语义信息。

1 PROBLEM DEFINITION

Heterogeneous Network是指图 G = ( V , E , T ) G=(V,E,T) G=(V,E,T)中的每个节点 v v v和边 e e e存在如下的映射函数: ? ( v ) : V → T V \phi(v):V\rightarrow T_V ?(v):VTV? ? ( e ) : E → T E \phi(e):E\rightarrow T_E ?(e):ETE? T V T_V TV? T E T_E TE?是指节点和边类型的集合,其中 ∣ T V ∣ + ∣ T E ∣ > 2 |T_V|+|T_E|\gt 2 TV?+TE?>2

Heterogeneous Network Representation Learning: 给定异构网络G,任务是学习隐向量 X ∈ R ∣ V ∣ × d , d ? ∣ V ∣ \mathrm{X} \in \mathbb{R}^{|V| \times d}, d \ll|V| XRV×d,d?V,以捕捉它们之间的结构和语义的关系。

对于异构网络学习的挑战在于邻居节点的定义和为了有效地学习多种类型接节点之间的结构和语义关系,如何进行模型的优化两个方面。

2 THE METAPATH2VEC FRAMEWORK

这个框架的主要目的是在考虑节点和边的类型的情况下,学习异构网络的节点表示,最大化网路概率。

2.1 Homogeneous Network Embedding

DeepWalk和Node2Vec将文本中word-context应用到网络中。采用随机游走获得上下文,然后使用skip-gram模型学习节点的表征,也可以用于上下文节点结构预测(网络中,我们称作邻居节点)。给定 G = ( V , E ) G=(V,E) G=(V,E), 我们的目标是根据局部的结构最大化网络概率:
arg ? max ? θ ∏ v ∈ V ∏ c ∈ N ( v ) p ( c ∣ v ; θ ) (1) \arg \max _{\theta} \prod_{v \in V} \prod_{c \in N(v)} p(c \mid v ; \theta)\tag{1} argθmax?vV?cN(v)?p(cv;θ)(1)
其中, N ( v ) N(v) N(v)是指在网络 G G G中,节点 v v v的邻居节点的数量,邻居的定义存在多种方式,例如节点 v v v的one-hop邻居。 p ( c ∣ v ; θ ) p(c|v;\theta) p(cv;θ)是指在给定节点 v v v, 上下文存在节点 c c c的条件概率。

2.2 Heterogeneous Network Embedding: metapath2vec

为了对节点的异构邻居进行建模,methpath2vec引进异构skip-gram模型。为了将异构网络使用skip-gram模型,我们提出在异构网络中meta-path-based随机游走方式。

在这里插入图片描述

Heterogeneous Skip-Gram. 在metapath2vec中,我们使用skip-gram学习异构网络 G = ( V , E , T ) G=(V,E,T) G=(V,E,T)的节点表示,其中 ∣ T V ∣ > 1 |T_V|>1 TV?>1, 在给定节点 v v v, 最大化异构上下文 N t ( v ) , t ∈ T v N_t(v),t\in T_v Nt?(v),tTv?
arg ? max ? θ ∑ v ∈ V ∑ t ∈ T V ∑ c t ∈ N t ( v ) log ? p ( c t ∣ v ; θ ) (2) \arg \max _{\theta} \sum_{v \in V} \sum_{t \in T_{V}} \sum_{c_{t} \in N_{t}(v)} \log p\left(c_{t} \mid v ; \theta\right)\tag{2} argθmax?vV?tTV??ct?Nt?(v)?logp(ct?v;θ)(2)
其中, N t ( v ) N_t(v) Nt?(v)是指节点 v v v t t h t^{th} tth类型的邻居节点。 p ( c t ∣ v ; θ ) p(c_t|v;\theta) p(ct?v;θ)通常是softmax方程: p ( c t ∣ v ; θ ) = e X c t ? X v ∑ u ∈ V e X u ? X v p\left(c_{t} \mid v ; \theta\right)=\frac{e^{X_{c_{t}} \cdot X_{v}}}{\sum_{u \in V} e^{X_{u}} \cdot X_{v}} p(ct?v;θ)=uV?eXu??Xv?eXct???Xv??,其中 X v X_v Xv? X X X v t h v^{th} vth行,代表节点节点 v v v的embedding。如Figure2(a),authors节点 a 4 a_4 a4?的邻居靠近其他authors e . g . a 2 , a 3 & a 5 e.g. a_2,a_3\&a_5 e.g.a2?,a3?&a5?, venues ( e . g . , A C L & K D D e.g., ACL \& KDD e.g.,ACL&KDD),organizations ( C M U & M I T CMU\&MIT CMU&MIT)和papers ( e . g . , p 2 & p 3 e.g., p_2\&p_3 e.g.,p2?&p3?)。

为了更加高效地优化,我们采用了负采样,只有一小部分节点会从网络采样出来,然后进行softmax。我们负采样数量为 M M M, Eq.2可以更新为如下形式
log ? σ ( X c t ? X v ) + ∑ m = 1 M E u m ~ P ( u ) [ log ? σ ( ? X u m ? X v ) ] \log \sigma\left(X_{c_{t}} \cdot X_{v}\right)+\sum_{m=1}^{M} \mathbb{E}_{u^{m} \sim P(u)}\left[\log \sigma\left(-X_{u^{m}} \cdot X_{v}\right)\right] logσ(Xct???Xv?)+m=1M?EumP(u)?[logσ(?Xum??Xv?)]
其中, σ ( x ) = 1 1 + e ? x \sigma(x)=\frac{1}{1+e^{-x}} σ(x)=1+e?x1?, P ( u ) P(u) P(u)是预定义的分布, 会从中采样出M个负样本节点 u m u^m um。metapath2vec将不同类型的节点看作同质的,构建节点的频率分布,没有考虑他们的节点类型。

Meta-Path-Based Random Walks. 如何在图上使用skip-gram,DeepWalk和Node2Vec使用random walkers将游走的路径合并到neighborhood function.

如果我们将random walkers应用到异构网络中,产生的路径包含多种类型的节点。在step i i i, 转移概率 p ( v i + 1 ∣ v i ) p(v^{i+1}|v^i) p(vi+1vi)是基于节点 v i v^i vi产生的标准化概率,没有考虑节点类型。但是,Sun et al提出,随机游走会使得结果偏向那些经常在路径中出现的节点,这些少数的节点会主导路径节点占比。

考虑到这个问题,我们设计meta-path-based 随机游走方式,用来捕捉不同类型节点之间语义和结构信息,将异构网络结构应用到metapath2vec的skip-gram中。

形式上,一个meta-path scheme P \mathcal{P} P定义为如下形式:
V 1 ? R 1 V 2 ? R 2 ? V t ? R t V t + 1 ? ? R l ? 1 V l V_{1} \stackrel{R_{1}}{\longrightarrow} V_{2} \stackrel{R_{2}}{\longrightarrow} \cdots V_{t} \stackrel{R_{t}}{\longrightarrow} V_{t+1} \cdots \stackrel{R_{l-1}}{\longrightarrow} V_{l} V1??R1??V2??R2???Vt??Rt??Vt+1???Rl?1??Vl?
其中, R = R 1 ° R 2 ° ? ° R l ? 1 R=R_{1} \circ R_{2} \circ \cdots \circ R_{l-1} R=R1?°R2?°?°Rl?1?是节点 V 1 V_1 V1? V l V_l Vl?之间复合关系。以Figure 2(a)为例,meta-path “APA”代表两者作者 ( A ) (A) (A)是论文 ( P ) (P) (P)的共同作者,两者是coauther关系。"APVPA"代表两个作者 ( A ) (A) (A)在同一地点 ( V ) (V) (V)发表论文 ( P ) (P) (P)。基于异构网络,使用meta-paths可以挖掘很多有价值的信息。

接下来,我们使用meta-paths去引导random walkers在异构网络上进行随机游走。异构网络为 G = ( V , E , T ) G=(V,E,T) G=(V,E,T),meta-path scheme P : V 1 ? R 1 V 2 ? R 2 ? V t ? R t V t + 1 ? ? R l ? 1 V l \mathcal{P}: V_{1} \stackrel{R_{1}}{\longrightarrow} V_{2} \stackrel{R_{2}}{\longrightarrow} \cdots V_{t} \stackrel{R_{t}}{\longrightarrow} V_{t+1} \cdots \stackrel{R_{l-1}}{\longrightarrow} V_{l} P:V1??R1??V2??R2???Vt??Rt??Vt+1???Rl?1??Vl?, 在 i i i 步转移概率定义如下:
p ( v i + 1 ∣ v t i , P ) = { 1 ∣ N t + 1 ( v t i ) ∣ ( v i + 1 , v t i ) ∈ E , ? ( v i + 1 ) = t + 1 0 ( v i + 1 , v t i ) ∈ E , ? ( v i + 1 ) ≠ t + 1 0 ( v i + 1 , v t i ) ? E (3) p\left(v^{i+1} \mid v_{t}^{i}, \mathcal{P}\right)=\left\{\begin{array}{cl} \frac{1}{\left|N_{t+1}\left(v_{t}^{i}\right)\right|} & \left(v^{i+1}, v_{t}^{i}\right) \in E, \phi\left(v^{i+1}\right)=t+1 \\ 0 & \left(v^{i+1}, v_{t}^{i}\right) \in E, \phi\left(v^{i+1}\right) \neq t+1 \\ 0 & \left(v^{i+1}, v_{t}^{i}\right) \notin E \end{array}\right.\tag{3} p(vi+1vti?,P)=??????Nt+1?(vti?)1?00?(vi+1,vti?)E,?(vi+1)=t+1(vi+1,vti?)E,?(vi+1)?=t+1(vi+1,vti?)/?E?(3)
其中, v t i ∈ V t v_t^i \in V_t vti?Vt?, N t + 1 ( v t i ) N_{t+1}(v_t^i) Nt+1?(vti?)指节点 v t i v_t^i vti? 邻居中为 V t + 1 V_{t+1} Vt+1?类型的节点集合。换句话说, v i + 1 ∈ V t + 1 v^{i+1}\in V_{t+1} vi+1Vt+1?, walker的流程取决于预定义的meta-path P \mathcal{P} P。除此之外,meta-paths通常是对称的,第一个节点类型 V 1 V_1 V1?和最后一个节点类型 V l V_l Vl?是相同的,这样可以对random walkers进行循环引导,举例来说:
p ( v i + 1 ∣ v t i ) = p ( v i + 1 ∣ v 1 i ) , ?if? t = l (4) p\left(v^{i+1} \mid v_{t}^{i}\right)=p\left(v^{i+1} \mid v_{1}^{i}\right), \text { if } t=l\tag{4} p(vi+1vti?)=p(vi+1v1i?),?if?t=l(4)
基于meta-path-based随机游走策略, 使用skip-gram模型能够学习到不同节点类型的语义关系。举例来说,如Figure 2, 在传统的随机游走模型, walker在节点 a 4 a_4 a4?, 从CMU节点转移过来, a 4 a_4 a4?的周围存在 a 2 , a 3 , a 5 , p 2 , p 3 , C M U a_{2}, a_{3}, a_{5}, p_{2}, p_{3}, CMU a2?,a3?,a5?,p2?,p3?CMU, 在meta-path scheme “OAPVPAO”,由于 a 4 a_4 a4?的节点类型为A, 下一步walker更偏向paper nodes(P)。

2.3 metapath2vec++

在Eq.2 中, 当构建邻居方程 N t ( v ) N_t(v) Nt?(v)时, metapath2vec会根据给定的节点类型区分上下文节点。然而,softmax函数忽略了节点类型。换句话说,给定节点 v v v, 推测特定类型的上下文节点 c t ∈ N t ( v ) c_t\in N_t(v) ct?Nt?(v), metapath2vec实际使用所有类型的邻居节点,包括 t t t类型和其他类型的节点。

Heterogeneous negative sampling. 我们更建议使用metapath2vec++框架,因为softmax函数是根据上下文节点 c t c_t ct?的类型进行标准化的。特别地, p ( c t ∣ v ; θ ) p(c_t|v;\theta) p(ct?v;θ)是根据节点类型 t t t进行如下调整:
p ( c t ∣ v ; θ ) = e X c t ? X v ∑ u t ∈ V t e X u t ? X v (5) p\left(c_{t} \mid v ; \theta\right)=\frac{e^{X_{c_{t}} \cdot X_{v}}}{\sum_{u_{t} \in V_{t}} e^{X_{u_{t}}} \cdot X_{v}}\tag{5} p(ct?v;θ)=ut?Vt??eXut???Xv?eXct???Xv??(5)
其中, V t V_t Vt?是网络中 t t t类型的节点集合。metapath2vec++为skipgram模型的输出层中每种类型的邻居节点指定一组多项式分布。metapath2vec、node2vec和DeepWalk输出多项式分布维度等于网络中节点的数量。然而,metapath2vec++的skip-gram模型 , t t t 类型的节点维度受 t t t类型节点数量的影响。如Figure2?所示, a 4 a_4 a4?作为输入层的目标节点。metapath2vec++输出4种多项式分布集合,每一种和他们的邻居类型对应-venues V, authors A, organizations O, 和papers P.

受PTE的启发, 抽样的分布也是根据预测的邻居节点 c t c_t ct?指定的,如 P t ( ? ) P_t(\cdot) Pt?(?),因此存在如下目标函数:
O ( X ) = log ? σ ( X c t ? X v ) + ∑ m = 1 M E u t m ~ P t ( u t ) [ log ? σ ( ? X u t m ? X v ) ] (6) O(\mathrm{X})=\log \sigma\left(X_{c_{t}} \cdot X_{v}\right)+\sum_{m=1}^{M} \mathbb{E}_{u_{t}^{m} \sim P_{t}\left(u_{t}\right)}\left[\log \sigma\left(-X_{u_{t}^{m}} \cdot X_{v}\right)\right]\tag{6} O(X)=logσ(Xct???Xv?)+m=1M?Eutm?Pt?(ut?)?[logσ(?Xutm???Xv?)](6)
在这里插入图片描述

梯度推导如下:
? O ( X ) ? X u t m = ( σ ( X u t m ? X v ? I c t [ u t m ] ) ) X v ? O ( X ) ? X v = ∑ m = 0 M ( σ ( X u t m ? X v ? I c t [ u t m ] ) ) X u t m (7) \begin{array}{l} \frac{\partial O(\mathrm{X})}{\partial X_{u_{t}^{m}}}=\left(\sigma\left(X_{u_{t}^{m}} \cdot X_{v}-\mathbb{I}_{c_{t}}\left[u_{t}^{m}\right]\right)\right) X_{v} \\ \frac{\partial O(\mathrm{X})}{\partial X_{v}}=\sum_{m=0}^{M}\left(\sigma\left(X_{u_{t}^{m}} \cdot X_{v}-\mathbb{I}_{c_{t}}\left[u_{t}^{m}\right]\right)\right) X_{u_{t}^{m}} \end{array}\tag{7} ?Xutm???O(X)?=(σ(Xutm???Xv??Ict??[utm?]))Xv??Xv??O(X)?=m=0M?(σ(Xutm???Xv??Ict??[utm?]))Xutm???(7)
其中, I c t [ u t m ] \mathbb{I}_{c_t}[u_t^m] Ict??[utm?]是指示函数,用来表示 u t m u_t^m utm?是否是上下文邻居节点 c t c_t ct?, 当 m = 0 , u t 0 = c t m=0, u_t^0=c_t m=0ut0?=ct?,模型采用随机梯度下降法进行优化,metapath2vec++伪代码如Algorithm 1所示。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:05:20  更:2022-01-29 23:06:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 4:49:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码