【论文阅读】One For All: Toward Training One Graph Model for All Classification Tasks

目录

  • 0、基本信息
  • 1、研究动机
  • 2、创新点——One For All :unique features
  • 3、准备
  • 4、具体实现
    • 4.1、用TAGs统一来自不同领域的图数据
    • 4.2、用NOI(NODES-OF-INTEREST)统一不同图任务
      • 4.2.1、NOI子图
      • 4.2.2、NOI提示结点
    • 4.3、用于图的上下文学习(ICL)的图提示范式(GPP)
  • 5、训练和评估过程
  • 未完待续

0、基本信息

  • 会议:2024-ICLR-UNDER_REVIEW
  • 评分:6,6,6,10
  • 作者:Anonymous authors
  • 文章链接:ONE FOR ALL: TOWARDS TRAINING ONE GRAPHMODEL FOR ALL CLASSIFICATION TASKS
  • 代码链接:ONE FOR ALL: TOWARDS TRAINING ONE GRAPHMODEL FOR ALL CLASSIFICATION TASKS

1、研究动机

 设计一个能够解决多个任务的模型是人工智能长期发展的一个目标。最近,LLMs因其强大的学习能力,在执行跨领域的下游任务上取巨大的成功,但是在图领域上还没有一个统一的模型解决图结构数据上不同的任务。

面临的挑战——
(1)来自不同领域的图数据集通常在特征表示上不同。

 具体来说,来自不同领域的图数据特征有不同的维度,大小,分布和语义意义,几乎不可能使用一个相同的模型直接学习这些数据的表征。

(2)图领域中不同的下游任务涉及图的不同的部分,以及需要指定任务的知识和方法。

 图上任务可以分为,结点级,边级和图级的任务,图神经网络在不同类任务上成功背后的原因是不同的。结点级任务——节点特征恰当的平滑;边级or图级任务——编码局部结构很重要。一个优秀的结点级任务模型不一定能够在边级or图级任务上表现优秀。
总之,现有的模型不能够有效地学习不同的任务。

(3)如何设计一个统一的方法执行跨领域和上下文学习的图任务模型仍然是不清楚的

 针对上述挑战,作者提出一个通用的解决方案——one for all(OFA),用于建立和训练具有跨领域上下文学习能力的模型。

2、创新点——One For All :unique features

(1)文本属性图(TAG)
 OFA使用文本属性图(TAGs)将来自不同领域的图数据整合到一个大的TAG数据集,并利用LLMs的能力从所有领域中共同学习。

 9个常见的来自不同领域的数据集,用文本描述图中所有的结点和边,然后使用单个LLM将来自不同领域的文本嵌入到同一个嵌入空间。

(2)NOI子图 和NOI提示结点
 NOI(nodes-of-interest)子图 和NOI提示结点,不仅统一了不同类型的图任务,而且提高了基础模型学习图中结构信息的能力。

(3)图提示范式 (GPP)

 图提示范式 (graph prompting paradigm,GPP)——插入一个提示图到原始的输入图中的特定任务的方式。提示图中的节点包含关于下游任务的所有相关信息(由文本描述,并由与输入图相同的LLM编码器编码)。然后,修改后的图形成为基础模型的实际输入。

 因此,OFA是自适应的,根据提示图以执行不同的任务。训练后,用户可以用自然文本描述任何图形,并应用OFA管道来预测可能看不见的类。

3、准备

文本属性图(TAGs)
 将TAG定义为一个图,图中的每个节点和每条边都与一个文本句子相关联。
TAG: G = ( V , E , R ) \mathcal{G}=(\mathcal{V},\mathcal{E},\mathcal{R}) G=(V,E,R) V = { v 1 , … , v ∣ V ∣ } \mathcal{V}=\{v_1,\dots ,v_{|\mathcal{V}|}\} V={v1,,vV}是结点集合, R = { r 1 , … , r R } \mathcal{R}=\{r_1,\dots,r_{\mathcal{R}}\} R={r1,,rR}是关系集合, E = { e 1 , … , e ∣ E ∣ } \mathcal{E}=\{e_1,\dots,e_{|\mathcal{E}|}\} E={e1,,eE}是边集合。一条边 e i j = ( v i , r , v j ) ∈ E e_{ij}=(v_i,r,v_j)\in \mathcal{E} eij=(vi,r,vj)E由源结点 v i ∈ V v_i\in \mathcal{V} viV,关系 r ∈ R r\in \mathcal{R} rR和目的结点 v j ∈ V v_j\in \mathcal{V} vjV组成。
s v i s_{v_i} svi定义为与结点 v i v_i vi相关的文本句子, s e i j s_{e_{ij}} seij表示与边 e i j ∈ E e_{ij}\in \mathcal{E} eijE相关联的文本句子。
N k ( v ) \mathcal{N}_k(v) Nk(v)定义为结点 v v v k k k跳内所有邻居结点的集合。

学习情景——分类问题

 定义一个数据集 D = { ( d i , y i ) } 1 D \mathcal{D}=\{(d_i,y_i)\}_1^D D={(di,yi)}1D D D D为数据集中数据的数量, d i d_i di是一个数据样本, y i ∈ Y y_i\in\mathcal{Y} yiY d i d_i di的标签, Y \mathcal{Y} Y是所有数据标签的集合。将数据集划分为训练集,验证集和测试集,即 D t r a i n , D v a l , D t e s t \mathcal{D}_{train},\mathcal{D}_{val},\mathcal{D}_{test} Dtrain,Dval,Dtest.对应的标签集合为 Y t r a i n , Y v a l , Y t e s t \mathcal{Y}_{train},\mathcal{Y}_{val},\mathcal{Y}_{test} Ytrain,Yval,Ytest.

关注三种学习情景
(1)监督学习
 该模型将在 D t r a i n D_{train} Dtrain上进行训练,并在 D v a l D_{val} Dval上进行评估,来选择最好的模型。最后,使用 D t e s t D_{test} Dtest对模型的性能进行评估。验证集和测试集数据中的所有标签都在训练过程中已知,即 Y t r a i n = Y t e s t \mathcal{Y}_{train} = \mathcal{Y}_{test} Ytrain=Ytest(???)
(2)少样本学习
 少样本学习的训练和评估过程与监督学习类似,但是,在少样本学习中, Y t r a i n ∩ Y t e s t = ∅ \mathcal{Y}_{train}\cap \mathcal{Y}_{test}=\emptyset YtrainYtest=.

 少样本学习通常处理 N-way K-shot任务,其中,使用 N ∗ K N*K NK数据 { ( d i , y i ) } 1 N ∗ K \{(d_i,y_i)\}^{N*K}_1 {(di,yi)}1NK作为支持样本,使得每个不同的类都提供有 K K K个标记数据,其中, N N N是不同类的总数。接下来,给定这些支持样本,模型需要将查询集合 Q = { d i } 1 n \mathcal{Q} = \{d_i\}^n_1 Q={di}1n中的数据分类到这 N N N个类中。

(3)零样本学习
 这可以被看作是少数学习的特殊情况。在零次学习中,对于任何 N-way K-shot任务,将 K = 0 K = 0 K=0,因为没有支持样本。

zero-shot learning 是机器学习中的一种策略,其目标是使模型能够理解并识别它在训练阶段未曾遇到过的类别。
few-shot learning旨在在只给出非常少量已知类别的标注数据时,通过学习如何利用这些数据来泛化到未知类别上,完成分类任务。
one-shot learning在只给出单个样本时,通过学习如何利用这个样本来泛化到未知类别上,完成分类任务。

(4)语境学习

 语境学习是指通过给预先训练好的语言模型提供特定任务的例子或语境,对其进行微调的过程。这种方法利用了预先训练的模型的知识和泛化能力,并对其进行调整,以便更好地执行手头的具体任务。
 对于语言模型,这主要是通过提示机制来实现的。预训练的LLM模型将由提示文本 C C C提供的提示作为输入,然后,通过生成以C为条件的句子的其余部分来给出任务的答案。

在语境学习过程中,模型可以通过:

  • 使用语义先验知识,在给定的上下文样例下预测标签
  • 从给定的样例里学习输入-标签映射

 ICL主要思路是,给出少量的标注样本,设计任务相关的指令形成提示模板,用于指导待测试样本生成相应的结果。

4、具体实现

overview
(1)来自不同领域的图数据聚合到具有相同形式的文本属性图TAG,并使用单个LLM模型将所有的TAGs嵌入到相同的空间中;
(2)通过NOI子图和NOI提示结点统一图域中不同类型的任务,这样图模型能够自动的考虑到任务相关的信息;
(3)图提示范式(GPP)将任务信息有机地注入到图数据中,从而实现上下文学习。
在这里插入图片描述

下面来分别介绍:

4.1、用TAGs统一来自不同领域的图数据

 尽管不同领域图的属性不同,但所有属性都可以用自然语言来描述。这种优势在于,通过使用文本来描述节点和边,我们可以应用LLM将不同的图形属性编码到同一空间中。

用于任何结点和边文本特征生成的标准化形式:
在这里插入图片描述

给定一个文本属性图 G \mathcal{G} G,文本特征 s v i s_{v_i} svi总是从文本特征结点(Feature node)开始,表示该结点是具有原始图特征的输入结点,而不是提示结点。接下来是特征类型的文本描述(feature description)和特征的内容(feature content),如果一个结点具有多个特征,则将他们通过分号连接起来。

e i j e_{ij} eij的文本特征 s e i j s_{e_{ij}} seij的构造是类似的,不过,文本的开始是特征边:
在这里插入图片描述

附录B

 将LLM作为编码器,将所有的文本特征编码为一个固定长度的向量作为结点or边的最终输入特征。
也就是说,对于结点 v i v_i vi和边 e i j e_{ij} eij,他们的向量表征为:
x i = L L M ( s v i ) x_i=\mathbf{LLM}(s_{v_i}) xi=LLM(svi)

x i j = L L M ( s e i j ) x_{ij}=\mathbf{LLM}(s_{e_{ij}}) xij=LLM(seij)
 因为LLM编码的输入特征包含域信息,所以后续的工作可以捕获和利用该信息。通常,任何类型的LLM都可以用作编码器,并且更强的LLM可能会产生更好的整体性能。在OFA中,为了简单起见,本文采用了句子转换器Transformer(Reimers & Gurevych,2019),它具有很强的学习句子嵌入的能力。

4.2、用NOI(NODES-OF-INTEREST)统一不同图任务

Nodes-of-Interest(NOI)是指任务中的一组目标结点,表示为 T \mathcal{T} T。NOI不局限于列出任务级别,其大小取决于预测目标。

4.2.1、NOI子图

NOI子图为由NOI结点组成的子图。
定义: S h ( v ) = { V v h , E v h , R v h } S_h(v)=\{\mathcal{V}_v^h,\mathcal{E}_v^h,\mathcal{R}_v^h\} Sh(v)={Vvh,Evh,Rvh}为结点 v v v周围 h h h跳ego-subgraphs,包含结点 v v v h h h跳邻居结点和所有互连的边。NOI子图 G h ( T ) \mathcal{G}_h(\mathcal{T}) Gh(T)包含NOI中所有结点的ego-subgraphs:
G h ( T ) = ⋃ v ∈ T S h ( v ) = { ⋃ v ∈ T V v h , ⋃ v ∈ T E v h , ⋃ v ∈ T R v h } \mathcal{G}_h(\mathcal{T})=\bigcup_{v\in\mathcal{T}}\mathcal{S}_h(v)=\{\bigcup_{v\in\mathcal{T}}\mathcal{V}_v^h,\bigcup_{v\in\mathcal{T}}\mathcal{E}_v^h,\bigcup_{v\in\mathcal{T}}\mathcal{R}_v^h\} Gh(T)=vTSh(v)={vTVvh,vTEvh,vTRvh}

  • 结点级任务——NOI就是结点本身, T = { v } \mathcal{T}=\{v\} T={v} G h ( T ) = S h ( v ) \mathcal{G}_h(\mathcal{T})=S_h(v) Gh(T)=Sh(v)
  • 链接级任务—— T = { v i , v j } \mathcal{T}=\{v_i,v_j\} T={vi,vj} G h ( T ) = S h ( v i ) ∪ S h v j \mathcal{G}_h(\mathcal{T})=S_h(v_i) \cup S_h{v_j} Gh(T)=Sh(vi)Shvj
  • 图级任务——NOI包含图上所有结点,NOI子图 G h ( T ) = ( V , E , R ) \mathcal{G}_h(\mathcal{T})=(\mathcal{V},\mathcal{E},\mathcal{R}) Gh(T)=(V,E,R)

4.2.2、NOI提示结点

NOI提示结点统一不同任务中处理和readout过程。NOI提示节点与任务提示文本相关联:
在这里插入图片描述

文本由相同的LLM进行编码。NOI提示结点与NOI中所有结点相连,并通过信息传递汇总NOI和任务描述中的信息。然后将类结点附加到下游任务的提示结点中。

3.3节会详细介绍class node。每个class node保存与特定类相关的文本信息:

 NOI子图和NOI提示节点的结合实现了对所有节点级、边级和图级任务的统一读取和处理。此外,连接到NOI的NOI提示节点可以被视为标记技巧,其提升了原始图模型的表达能力,以更好地学习NOI周围的结构信息。同时,NOI提示节点上的任务提示文本允许图模型根据特定任务调整读出参数,这在现有工作中是不可行的。

4.3、用于图的上下文学习(ICL)的图提示范式(GPP)

 LLMs通过提示进行情境学习,使模型不需要微调就能够执行不同学习情景的各种下游任务。

 上下文学习的核心原则是使输入数据与下游任务保持一致。因此,图提示范式(GPP)就是操作输入图,使模型能够从输入本身获取任务相关的信息。这种范式赋予图模型对可见和不可见类的上下文学习能力。

 提示图, p = ( V p , E p , R p ) \mathcal{p}=(\mathcal{V}_p,\mathcal{E}_p,\mathcal{R}_p) p=(Vp,Ep,Rp),有两种结点,第一种结点为NOI提示节点,假设我们查询目标NOI子图 G h q ( T q ) = ( V q h , E q h , R p ) \mathcal{G}_h^q(\mathcal{T}^q)=(\mathcal{V}_q^h,\mathcal{E}_q^h,\mathcal{R}_p) Ghq(Tq)=(Vqh,Eqh,Rp),则NOI提示结点为 p q p_q pq。GPP在NOI提示结点和NOI中的每个结点之间添加一条边,定义为 E c r o s s q = { ( t , r t 2 p , p q ) , ( p q , r p 2 t , t ) ∣ t ∈ T q } \mathcal{E}^q_{cross}=\{(t,r_{t2p},p_q),(p_q,r_{p2t},t)|t\in \mathcal{T}^q\} Ecrossq={(t,rt2p,pq),(pq,rp2t,t)tTq} r p 2 t r_{p2t} rp2t r p 2 t r_{p2t} rp2t分别是从NOI到NOI提示结点的边和反向边的关系。

提示图中第二种结点类型是class node。每个class node保存与特定类相关的文本信息:
在这里插入图片描述

类节点 i i i定义为 c i c_i ci,在每个类节点和NOI提示结点添加边,定义为:
E q u e r y q = { ( p q , r q 2 c , c i ) , ( c i , r c 2 q , p q ) ∣ i ∈ [ N ] } \mathcal{E}^q_{query}=\{(p_q,r_{q2c},c_i),(c_i,r_{c2q},p_q)|i\in [N]\} Equeryq={(pq,rq2c,ci),(ci,rc2q,pq)i[N]} N N N是类的数量, r q 2 c r_{q2c} rq2c r c 2 q r_{c2q} rc2q分别是从NOI提示结点到类结点的边和反向边的关系。

一个提示图为:
V p = { p q } ⋃ { c i ∣ i ∈ [ N ] } , E p = E q u e r y ⋃ E c r o s s q , R p = { r t 2 p , r p 2 t , r q 2 c , r c 2 q } . \mathcal{V}_{p}=\{p_{q}\}\bigcup\{c_{i}|i\in[N]\},\mathcal{E}_{p}=\mathcal{E}_{query}\bigcup\mathcal{E}_{cross}^{q},\mathcal{R}_{p}=\{r_{t2p},r_{p2t},r_{q2c},r_{c2q}\}. Vp={pq}{cii[N]},Ep=EqueryEcrossq,Rp={rt2p,rp2t,rq2c,rc2q}.

然后,输入到后续图模型的提示图是输入图和提示图的组合,表示为 G m = ( V q h ⋃ V ^ p , E q h ⋃ L ^ p , R q h ⋃ R p ) . \mathcal{G}_{m}=(\mathcal{V}_{q}^{h}\bigcup\hat{\mathcal{V}}_{p},\mathcal{E}_{q}^{h}\bigcup\hat{\mathcal{L}}_{p},\mathcal{R}_{q}^{h}\bigcup\mathcal{R}_{p}). Gm=(VqhV^p,EqhL^p,RqhRp).

 使用图学习模型来处理提示图,并使用类节点的嵌入来进行二进制分类。具体地,令 h c i h_{c_i} hci是来自图学习模型的类节点 c i c_i ci的向量表示。我们预测NOI属于类别 i i i的可能性通过:
P [ NOI belongs to class  i ] = σ ( MLP ( h c i ) ) P[\text{NOI belongs to class }i]=\sigma(\text{MLP}(h_{c_i})) P[NOI belongs to class i]=σ(MLP(hci))
MLP是一个多层感知机,其一维输出表示 h c i h_{c_i} hci的分类分数。

注意,因为NOI提示节点和类节点连接到NOI并包含任务文本描述,所以固定长度的向量 h c i h_{c_i} hci包含关于输入图和任务的信息,使得预测依赖于任务。虽然现有的图学习方法需要为不同的任务使用不同的池化机制,但这种公式化将不同级别的任务转化为类节点上相同的二进制分类任务,因此所有任务都可以一起训练。对于多类问题,我们比较不同类的预测得分来做出决策。
l = a r g m a x i ( M L P ( h c i ) ∣ i ∈ [ N ] ) l=\mathrm{argmax}_i\left(\mathrm{MLP}(h_{c_i})|i\in[N]\right) l=argmaxi(MLP(hci)i[N])
l l l是NOI的预测类别。

 GPP也可以解决少样本问题,未看见类的支持NOI子图帮助更好的分类查询子图,支持NOI子图定义为 G h i , k ( T k i ) \mathcal{G}_h^{i,k}(\mathcal{T}_k^i) Ghi,k(Tki),对于第 i i i类和第 k k k个支持样本,NOI T k i T^i_k Tki属于第 i i i类。

 对于查询NOI提示节点,我们通过以下方式将每个支持NOI子图连接到其对应的支持NOI提示节点 p i , k p_{i,k} pi,k

E c r o s s s = ⋃ i ∈ [ N ] , k ∈ [ K ] E c r o s s i , k = ⋃ i ∈ [ N ] , k ∈ [ K ] { ( t , r t 2 p , p i , k ) , ( p i , k , r p 2 t , t ) ∣ t ∈ T k i } . \mathcal{E}_{cross}^s=\bigcup_{i\in[N],k\in[K]}\mathcal{E}_{cross}^{i,k}=\bigcup_{i\in[N],k\in[K]}\{(t,r_{t2p},p_{i,k}),(p_{i,k},r_{p2t},t)|t\in\mathcal{T}_k^i\}. Ecrosss=i[N],k[K]Ecrossi,k=i[N],k[K]{(t,rt2p,pi,k),(pi,k,rp2t,t)tTki}.

 为了增强分类,将支持NOI提示结点连接到其NOI所属的类节点,即, E s u p p = { ( p i , k , r s 2 c , c i ) ∣ i ∈ [ N ] , k ∈ [ K ] } \mathcal{E}_{supp}=\{(p_{i,k},r_{s2c},c_i)|i\in[N],k\in[K]\} Esupp={(pi,k,rs2c,ci)i[N],k[K]}。由于查询NOI提示节点和类节点之间的关系类型 r s 2 c r_{s2c} rs2c r q 2 c r_{q2c} rq2c不同,该模型能够区分查询和信息,支持NOI。少镜头提示图 P \mathcal{P} P的总体组件是

V p = { p q } ⋃ { p i , k ∣ i ∈ [ N ] , k ∈ [ K ] } ⋃ { c i ∣ i ∈ [ N ] } , \mathcal{V}_p=\{p_q\}\bigcup\{p_{i,k}|i\in[N],k\in[K]\}\bigcup\{c_i|i\in[N]\}, Vp={pq}{pi,ki[N],k[K]}{cii[N]},
E p = E c r o s s q ⋃ E q u e r y ⋃ E c r o s s s ⋃ E s u p p , R p = { r t 2 p , r p 2 t , r q 2 c , r c 2 q , r s 2 c } \mathcal{E}_p=\mathcal{E}_{cross}^q\bigcup\mathcal{E}_{query}\bigcup\mathcal{E}_{cross}^s\bigcup\mathcal{E}_{supp},\quad\mathcal{R}_p=\{r_{t2p},r_{p2t},r_{q2c},r_{c2q},r_{s2c}\} Ep=EcrossqEqueryEcrosssEsupp,Rp={rt2p,rp2t,rq2c,rc2q,rs2c}

 提示图可以以与上面讨论的类似的方式构造。与前面提到的场景一样,类节点的输出嵌入用于进行二进制分类。OFA通过将支持NOI提示节点连接到相应的类节点来利用少量支持示例,并且模型综合类节点上的示例信息和任务语义信息以进行更准确的预测。请注意,少数样本情景中类节点表示仍然与零样本情景中的表示一致,因此它们也可以一起训练。

 总而言之,NOI表示与任务相关的节点集合,并且提取的NOI子图包括NOI的邻域信息。然后,NOI提示节点通过图学习模型总结NOI中的信息,因为所有NOI节点都连接到NOI提示节点。NOI提示符节点稍后连接到一组带有文本描述的类节点。在图模型处理之后,类节点表示包含类信息、任务信息和NOI信息,它们可以用于独立地进行预测,就像LLM的提示输入包含输入、目标和任务描述一样。

设计了一个能够识别不同边缘类型的GNN作为OFA中的图模型。

在这里插入图片描述

5、训练和评估过程

 不管任务类型,所有输入都被标准化为提示文本属性图 G m G_m Gm,OFA首先使用LLM将图中的所有文本嵌入到向量表示中:
x i j = L L M ( s e i j ) , ∀ e i j ∈ E m , x i = L L M ( s v i ) , ∀ v i ∈ V m x_{ij}=LLM(s_{e_{ij}}),\forall e_{ij}\in\mathcal{E}_{m},\quad x_{i}=LLM(s_{v_{i}}),\forall v_{i}\in\mathcal{V}_{m} xij=LLM(seij),eijEm,xi=LLM(svi),viVm

 然后,通过一个多个的信息传递层处理嵌入文本,得到 G m \mathcal{G}_m Gm中每个结点的最终嵌入:
h v i l + 1 = W s e l f h v i l + ∑ r ∈ R m ∑ v j ∈ N 1 r ( v i ) 1 ∣ N 1 r ( v i ) ∣ W r ( R e L U ( h v j l + x i j ) ) h_{v_{i}}^{l+1}=\boldsymbol{W}_{\mathrm{self}}h_{v_{i}}^{l}+\sum_{r\in\mathcal{R}_{m}}\sum_{v_{j}\in\mathcal{N}_{1}^{r}(v_{i})}\frac{1}{|\mathcal{N}_{1}^{r}(v_{i})|}\boldsymbol{W}_{r}(\mathrm{ReLU}(h_{v_{j}}^{l}+x_{ij})) hvil+1=Wselfhvil+rRmvjN1r(vi)N1r(vi)1Wr(ReLU(hvjl+xij))
其中, h v i 0 = x i h_{v_i}^0=x_i hvi0=xi W s e l f W_{self} Wself W r W_r Wr是用于自环和关系的可训练的变换矩阵, N 1 r ( v i ) \mathcal{N}_1^r(v_i) N1r(vi)是连接到具有关系类型 r r r v i v_i vi的直接邻居。GNN是R-GCN的拓展。

 设计了一个简单的注意力层来总结从 h 1 h_1 h1 h L h_L hL的所有层输出。最终的结点表征为:
h v i = H ⋅ S o f t m a x ( ( W k H ) ′ ⋅ W q x i ) ′ , H = [ h v i 1 . . . h v i l . . . h v i L ] h_{v_i}=\boldsymbol{H}\cdot Softmax((\boldsymbol{W}_k\boldsymbol{H})'\cdot\boldsymbol{W}_qx_i)',\quad\boldsymbol{H}=[h_{v_i}^1\quad...\quad h_{v_i}^l\quad...\quad h_{v_i}^L] hvi=HSoftmax((WkH)Wqxi),H=[hvi1...hvil...hviL]
W k W_k Wk W q W_q Wq是key和query可训练的权重。

最后,我们收集每个类节点 { h c i ∣ ∀ v ∈ [ N ] } \{ h_{c_i}| \forall v \in[N]\} {hci∣∀v[N]}的输出节点嵌入并且使用MLP预测头对每个类节点执行二进制分类,类 i i i的可能性为:

p i = σ ( M L P ( h c i ) ) p_i=\sigma(\mathsf{MLP}(h_{c_i})) pi=σ(MLP(hci))
σ \sigma σ为sigmoid函数。对于多分类问题,所有类别的概率为:

l p = argmax ⁡ ( ( p i ∣ i ∈ [ N ] ) ) , l_p=\operatorname{argmax}\left((p_i|i\in[N])\right), lp=argmax((pii[N])),
l p l_p lp为模型的最终预测。
对于 G m \mathcal{G}_m Gm的训练损失函数为:
L G m = − 1 N ∑ i = 1 N y i ⋅ l o g ( p i ) + ( 1 − y i ) ⋅ ( 1 − l o g ( p i ) ) \mathcal{L}_{\mathcal{G}_{m}}=-\frac{1}{N}\sum_{i=1}^{N}y_{i}\cdot log(p_{i})+(1-y_{i})\cdot(1-log(p_{i})) LGm=N1i=1Nyilog(pi)+(1yi)(1log(pi))
其中, N N N G m \mathcal{G}_m Gm中类的数量。

未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/330462.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (12) | 目标检测

前言 📚 笔记专栏:斯坦福CS231N:面向视觉识别的卷积神经网络(23)🔗 课程链接:https://www.bilibili.com/video/BV1xV411R7i5💻 CS231n: 深度学习计算机视觉(2017&#xf…

2024华数杯国际赛AB题五小问完整思路+数据+四小问代码+后续高质量成品论文+运行结果高清图+参考文献

问题A:日本放射性废水 (AB题的完整资料放在文末了) 对于这次的华数杯A题,在我五月份完成的数维杯A题目中: 就已经完成过地下水污染物的公式推导: 因此,展示部分示例代码吧,我会在修…

Echarts柱状图 - 柱形颜色渐变

<!-- 违法 --> <template><div class"section"><div class"grid_body_top"><div v-for"(item, index) in topList" v-show"item.isShow" :key"index"><i :class"[icon, ...item.icon…

电子学会C/C++编程等级考试2023年12月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:书架(2023.12) John最近买了一个书架用来存放奶牛养殖书籍,但书架很快被存满了,只剩最顶层有空余。 John共有N头奶牛(1 ≤ N ≤ 20,000),每头奶牛有自己的高度Hi(1 ≤ Hi ≤ 10,000),N头奶牛的总高度为S。书架高度为B(1 …

Elasticsearch各种文档操作

本文来记录下Elasticsearch各种文档操作 文章目录 初始化文档数据查询所有文档匹配查询文档关键字精确查询文档多关键字精确查询文档字段匹配查询文档指定查询字段查询文档 初始化文档数据 在进行各种文档操作之前&#xff0c;我们先进行初始化文档数据的工作 查询所有文档 在 …

【React】Redux的使用详解

文章目录 Redux的三大原则Redux官方图react-redux使用 1、创建store管理全局状态​ 2、在项目index.js根节点引用 3、 在需要使用redux的页面或者组件中&#xff0c;通过connect高阶组件映射到该组件的props中 redux中异步操作如何使用redux-thunkcombineReducers函数 Re…

Pixels:重新定义游戏体验的区块链农场游戏

数据源&#xff1a;Pixels Dashboard 作者&#xff1a;lesleyfootprint.network 最近&#xff0c;Pixels 通过从 Polygon 转移到 Sky Mavis 旗下的 Ronin 网络&#xff0c;完成了一次战略性的转变。 Pixels 每日交易量 Pixels 在 Ronin 网络上的受欢迎程度急剧上升&#xf…

关于VScode的这个ssh的配置的经验

1.首先&#xff0c;我是因为重装了ubantu系统&#xff0c;不得不重新配置ssh 2.第一步&#xff0c;在本机的终端安装ssh插件&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09;restart开启这个ssh端口 3.然后&#xff0c;就在vscode里面&#xff0c;安装哪个…

【办公自动化】利用Python代码暴力破解RAR压缩包的密码

title: 利用Python代码暴力破解RAR压缩包的密码 tags: bigleft excerpt: 利用Python代码暴力破解RAR压缩包的密码 利用Python代码暴力破解RAR压缩包的密码 引言 有时从网盘或p2p下载了几个G的资源&#xff0c;下载了几天&#xff0c;终于下载完成&#xff0c;结果发现来需要密…

QT上位机开发(MySql访问)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 网上介绍的关于QT和mysql部分的内容&#xff0c;都是利用Qt自带的mysql库来实现数据读写的。但是事实上来说&#xff0c;即使不用qt带的库&#xf…

12.30平衡二叉树、生成树最短路、链表、排序、二叉树——数算选择题专练

1 平衡二叉树 节点数目一定时&#xff0c;平衡因子为1时&#xff0c;树最高。 平衡二叉树&#xff0c;左右子树都是平衡的&#xff0c;最少要满足一个式子&#xff0c;即维护左右都是AVL,最多就是满二叉树&#xff0c;节点总数为2^(h-1)&#xff1b;最少的时候&#xff0c;每…

2.mac 安装 Visual studio code 整合go开发

目录 概述前置下载关键命令整合C#go配置go插件常见的go工具安装测试 结束 概述 mac 安装 Visual studio code 整合go开发 相关前置文章 go安装及相关配置 文章 前置 官网速递 mac 系统高于等于 10.15.x 可以直接最新版本 我的系统是 10.13 &#xff0c;所以只能安装此版本…

Linux系统三剑客之awk命令详解(三)

Linux系统三剑客之grep和正则表达式的介绍(一)-CSDN博客 Linux系统三剑客之sed命令详解(二)-CSDN博客 接上文 目录 1.作用 2.语法 3.变量 4.选项 5.模式 ​编辑 6.动作 7.实例 1.作用 awk是一个强大的文本分析工具&#xff0c;其主要工作原理就是将文件内容逐行读取…

手拉手Vue组件由浅入深

组件 (Component) 是 Vue.js 最强大的功能之一&#xff0c;它是html、css、js等的一个聚合体&#xff0c;封装性和隔离性非常强。 组件化开发&#xff1a; 1、将一个具备完整功能的项目的一部分分割多处使用 2、加快项目的进度 3、可以进行项目的复用 组件注册分…

IaC基础设施即代码:Terraform 连接 aws S3 实现多资源管理

目录 一、实验 1.环境 2.aws 亚马逊云创建用户 3.Windows使用Terraform 初始化 aws provider 4.Windows使用Terraform 创建S3存储资源 &#xff08;对象存储&#xff09; 5.Windows使用Terraform 创建Dynamo DB资源 &#xff08;表格存储&#xff09; 6.Windows给Terrafo…

Skywalking链路追踪

目录 一、简介1.1、APM系统1.2、SkyWalking 简介 二、快速入门2.1、下载、启动2.2、界面认识 三、持久化存储四、告警通知五、自定义追踪-细粒度追踪service方法 一、简介 1.1、APM系统 APM&#xff08;Application Performance Monitoring&#xff09;系统是一种用于监控和管…

《Redis:NoSQL演进之路与Redis深度实践解析》

文章目录 关于NoSQL为什么引入NoSQL1、单机MySQL单机年代的数据库瓶颈 2、Memcached&#xff08;缓存&#xff09; MySQL 垂直拆分 &#xff08;读写分离&#xff09;3、分库分表水平拆分MySQL集群4、如今的网络架构5、总结 NoSQL的定义NoSQL的分类 Redis入门Redis能干嘛&…

AI教我学编程之C#类的基本概念(1)

前言 在AI教我学编程之C#类型 中&#xff0c;我们学习了C#类型的的基础知识&#xff0c;而类正是类型的一种. 目录 区分类和类型 什么是类&#xff1f; 对话AI 追问 实操 追踪属性的使用 AI登场 逐步推进 提出疑问 药不能停 终于实现 探索事件的使用 异步/交互操作 耗时操…

IO网络4.0

思维导图 tftp上传 #include <myhead.h>#define ERR_LOG(msg) do{\perror(msg);\printf("%d %s %s\n", __LINE__, __func__, __FILE__);\ }while(0)#define PORT 69 #define N 516int do_upload(int sfd, struct sockaddr_in sin);int main(int a…

k8s的对外服务ingress

1、service的作用体现在两个方面 &#xff08;1&#xff09;集群内部&#xff1a;不断跟踪pod的变化&#xff0c;更新deployment中的pod对象&#xff0c;基于pod的ip地址不断变化的一种服务发现机制 &#xff08;2&#xff09;集群外部&#xff1a;类似于负载均衡器&#xff…