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

news2024/11/27 18:28:49

目录

  • 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.coloradmin.cn/o/1392942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rust之构建命令行程序(三):重构改进模块化和错误处理

开发环境 Windows 10Rust 1.74.1 VS Code 1.85.1 项目工程 这次创建了新的工程minigrep. 重构改进模块化和错误处理 为了改进我们的程序,我们将修复与程序结构及其处理潜在错误的方式有关的四个问题。首先,我们的main函数现在执行两项任务:解析参数和…

Find My相机|苹果Find My技术与相机结合,智能防丢,全球定位

相机是一种利用光学成像原理形成影像并使用底片记录影像的设备,是用于摄影的光学器械。相机让我们能够记录下美丽的风景和珍贵的时刻。当我们到达一个迷人的地方,或者经历了一个特别难忘的时刻时,我们可以使用照相机来拍摄照片,记录下这些美好的回忆。照相机可以帮助…

最新 生成pdf文字和表格

生成pdf文字和表格 先看效果 介绍 java项目&#xff0c;使用apache的pdfbox工具&#xff0c;可分页&#xff0c;自定义列 依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.22<…

鸿蒙开发(四)UIAbility和Page交互

通过上一篇的学习&#xff0c;相信大家对UIAbility已经有了初步的认知。在上篇中&#xff0c;我们最后实现了一个小demo&#xff0c;从一个UIAbility调起了另外一个UIAbility。当时我提到过&#xff0c;暂不实现比如点击EntryAbility中的控件去触发跳转&#xff0c;而是在Entry…

Qt编程之仿gnome-terminal终端样式 +颜色文字显示

Qt仿linux 终端样式 颜色文字 1.说再多废话不如直接show code2.实现效果 本文采用QTextBrowser作为文本显示窗口&#xff0c;进行文本的显示。本文实例实现的效果并没有终端的输入效果&#xff0c;这里只是提供一些仿终端样式思路。 1.说再多废话不如直接show code 1.ui文件…

Openwrt 下动态路由协议(quagga-OSPF)配置与验证

文章目录 前言网络拓扑静态路由方式动态路由方式Openwrt下 Quagga 安装Quagga 配置R1路由器zebra配置R1路由器ospf配置R2路由器zebra配置R2路由器ospf配置OSPF协议分析REF本文将在两台openwrt系统上安装配置quagga, 搭建一套完整环境,来验证OSPF动态路由的基本功能和实际效果,…

关于变量在多个.C文件中使用(Undefined symbol tempbuff (referred from main.o).问题解决)

1、如图结构&#xff0c;想在multimenu.C和usart1.c中使用变量tempbuff 于是&#xff0c;就将使用的代码移动了过来&#xff0c;为SetTxData1_toLCD(0x00,0x01);和UserUart1Send( tempbuff1,sizeof(tempbuff1));&#xff0c;编译后提示错误如下&#xff1a; communication_prot…

从零开始学习Python基础语法:打开编程大门的钥匙

文章目录 一、引言1.1 Python作为一种流行的编程语言的介绍1.2 Python的应用领域和适用性 二、为什么选择Python2.1 Python的简洁性和易读性2.2 Python的跨平台特性 三、Python在数据科学和人工智能领域的应用3.1 第一个Python程序3.1.1 Hello, World!&#xff1a;编写并运行你…

XXL-Job的搭建接入Springboot项目(详细)

一、XXL-Job介绍 XXL-Job 是一款开源的分布式任务调度平台&#xff0c;由 Xuxueli&#xff08;徐雪里&#xff09;开发。它基于 Java 技术栈&#xff0c;提供了一套简单易用、高可靠性的任务调度解决方案。 XXL-Job 的主要作用是帮助开发者实现定时任务的调度和执行。它可以用…

安装脚手架Vue CLI详解!!!

Vue CLI基本介绍&#xff1a; Vue CLI是Vue官方提供的一个全局命令工具。可以帮助我们快速创建一个开发Vue项目的标准化基础架子【集成了webpack配置】 安装脚手架好处&#xff1a; 开箱即用&#xff0c;零配置&#xff1b;内置babel等工具&#xff1b;标准化 安装步骤&#…

vscode中关于python的一些常用配置

文章目录 python cv2 提示配置第一步 配置提示信息第二部 重启vs 可能还不行&#xff0c;那就重新安装以下opencv-python 配置pytest还是如上&#xff0c;将下入的位置打开编写测试用例 配置跨文件import在工作目录中新建一个.env文件输入内容如下打开.vscode中的setting.json …

react umi/max 封装页签组件

1. models/tabs // 全局共享数据示例 import { useState } from react;const useUser () > {const [items, setItems] useState<any[]>([]); // 页签的全局Item数据const [key, setKey] useState<string>(/home); // 页签的高亮Keyreturn {items,setItems…

leetcode热题100.路径总和 III

Problem: 437. 路径总和 III 文章目录 题目思路1复杂度1Code1思路2复杂度2Code2 题目 给定一个二叉树的根节点 root &#xff0c;和一个整数 targetSum &#xff0c;求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xff0c;也不需要在叶…

Leetcode:128. 最长连续序列

128. 最长连续序列 乍一看感觉很简单&#xff0c;一看要用O(n)??? 因为我觉得题目很难而且题目看起来很简单&#xff0c;感觉以后会用到&#x1f606;&#xff0c;做个记录 1.朴素做法 思路 答:任何一段连续的数都有一个左端点&#xff1a;比如&#xff08;1&#xff0c;…

TCP 拥塞控制对数据延迟的影响

哈喽大家好&#xff0c;我是咸鱼 今天分享一篇文章&#xff0c;是关于 TCP 拥塞控制对数据延迟产生的影响的。作者在服务延迟变高之后进行抓包分析&#xff0c;结果发现时间花在了 TCP 本身的机制上面&#xff1a;客户端并不是将请求一股脑发送给服务端&#xff0c;而是只发送…

web架构师编辑器内容-编辑器组件图层面板功能开发01-锁定隐藏功能的开发

我们这一部分主要是对最右侧图层面板功能进行剖析&#xff0c;完成对应的功能的开发: 每个图层都对应编辑器上面的元素&#xff0c;有多少个元素就对应多少个图层&#xff0c;主要的功能如下&#xff1a; 锁定功能&#xff1a;点击锁定&#xff0c;在编辑器中没法编辑对应的组…

git 常规操作及设置

git 常规操作及设置 Git是一个分布式版本控制系统&#xff0c;可以用来跟踪文件的修改历史并与其他人进行协作开发。下面是一些常见的Git操作及设置&#xff1a; 初始化仓库&#xff1a;使用命令git init在当前目录创建一个新的Git仓库。 克隆仓库&#xff1a;使用命令git clo…

web terminal - 如何在mac os上运行gotty

gotty可以让你使用web terminal的方式与环境进行交互&#xff0c;实现终端效果 假设你已经配置好了go环境&#xff0c;首先使用go get github.com/yudai/gotty命令获取可执行文件&#xff0c;默认会安装在$GOPATH/bin这个目录下&#xff0c;注意如果你的go版本比较高&#xff…

C++设计模式(李建忠)笔记3

C设计模式&#xff08;李建忠&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考链接 Youtube: C设计模式 Gtihub源码与PPT&#xff1a;https://github.com/ZachL1/Bilibili-plus 豆瓣: 设计模式–可复用面向对象软件的基础 文章目录 C设计模…

线性代数的学习和整理23:用EXCEL计算 向量/向量组的点乘 (内积) (建设ing)

目录 前言&#xff1a;EXCEL里的的向量相关计算公式 0.1 EXCEL里相关公式 0.2 先说结论&#xff1a;向量组的点乘公式和 向量组的点乘公式不一样 1 向量的点乘 (内积) 1.1 向量的点乘公式 1.2 EXCEL里向量点乘的计算 ​编辑 1.3 向量点乘的性质 1.3.1 内积的公式…