家人们,主播又回来啦,这一周主播比较忙,所以就只认认真真精读了这一篇论文。主播这也是第一次使用提问法,讲这篇文章里面究极的一些问题给弄明白了,这也是很好的一点。话不多说,我们来一起看看这篇文章吧~
Graph-Grounded Pretraining and Prompting
这篇工作发表于23年5月,那个时候看上去就是一篇相当有前瞻性质的工作了,在此之前关于图的很多工作都还没有产生。甚至于GFM的研究都没有衍生,所以主播确实觉得这篇工作非常有价值。
动机
这篇文章主要解决的问题是「低资源场景下对节点分类任务的优化」,文本分类作为信息检索的基础任务,在文章主题预测、电商商品分类等场景应用广泛,但标注数据稀缺或缺失的低资源场景,使依赖大量标注数据的监督学习难以适用。
现有解决方案存在明显不足:预训练语言模型(PLMs)虽降低标注需求,但模型规模大导致微调成本高,且仍需要一定标注数据,在零样本、少样本场景表现不佳;提示学习(Prompting)虽无需微调 PLM,却存在离散提示设计难、连续提示未结合图结构的问题;图神经网络(GNNs)可利用文本关联的图结构,但对文本特征处理粗糙,且与文本编码器多为松耦合,未充分挖掘文本与图的内在关联。
鉴于许多文本数据天然依托图结构(如文章引用网络、用户 - 商品交互图),这些结构蕴含丰富语义关系,这篇文章旨在提出新模型,联合学习文本与图特征,结合预训练与提示学习,解决低资源文本分类难题。
方法
1. 图接地对比学习
整篇文章的架构如下:G2P2 用了三种 “互动式” 对比策略,把文本和图的特征牢牢绑在一起。第一种是文本 - 节点(Text-node)互动,让每个文档和它对应的图节点 embedding 相似度拉满,其他不匹配的对相似度降低;第二种是文本 - 摘要(Text-Summary)互动,用图里邻居文档的平均 embedding 当 “摘要(Summary)”,让目标文档和这个摘要对齐;第三种是节点 - 摘要(Node-Summary)互动,让图节点 embedding 也和邻居摘要对齐。这三招下来,文本语义和图结构信息就深度融合啦。
2. 完全训练流程
这篇工作的完整训练流程是:第一步先做预训练,用 Transformer 当文本编码器、GCN 当图编码器,批量处理文档,算出每个文档的文本 embedding、对应节点的图 embedding,还有邻居生成的摘要 embedding。接着算三种相似度矩阵(分别代表text-node,node-Summary,text-Summary的相似度矩阵):
这个损失函数类似于CLIP这篇工作,对于矩阵,转置一下就是计算这个相似度在当前的文本行和节点行分别达到最大,实现「对比学习」的效果。
计算完三个损失之后,把三个损失整合起来更新模型参数,直到收敛。整个过程不用标注数据,纯自监督学习,成本低还高效。总的损失函数是这样计算的:
算法的伪代码如下:
3. Graph Prompt Tuning for Few and Zero shots
最后看少样本和零样本的微调优化。零样本时没标注数据,就用手工设计的离散提示,比如 “paper of [CLASS]”,让预训练好的文本编码器生成类别权重,再和图节点 embedding 算相似度分类。
少样本时换成可学习的连续提示,还特别用了图上下文初始化 —— 从支持集节点的邻居文档里抽文本,转成 embedding 当提示初始值,比随机初始化效果好。而且微调只更提示参数,模型主体不动,又快又省资源~
实验
RQ1: G2P2少样本条件下的性能
实验用了 Cora 和三个亚马逊数据集,对比了 GCN、BERT、P-Tuning v2 等 11 个基线。结果超明显:5-shot 时 G2P2 比最好的基线高 2%-8%,1-shot 这种极端场景下,其他模型性能掉得厉害,G2P2 却很稳;零样本时更是碾压,比 RoBERTa∗+d 这种强基线高 36%-45%,直接证明了图对比预训练 + 提示的威力。
RQ2:G2P2的零样本性能
零样本实验超直接 —— 就是在完全没标注样本的情况下,看 G2P2 能不能分对类。用了 Cora 和三个亚马逊数据集,只和预训练语言模型(PLMs)比,毕竟其他方法没标注数据根本跑不起来。
实验分两种情况:一种只用类别文本当提示,另一种加手工设计的离散提示(标成 “+d”)。结果 G2P2 直接碾压所有基线,比如 Cora 上 G2P2+d accuracy 有 65.28%,比最好的 RoBERTa∗+d 高 45% 还多;亚马逊 Art 数据集上也高了 36%。不过也发现手工 prompt 要试十几种,还可能在不同模型上效果反过来,所以日常用直接用类别文本就够啦~
其他实验
主播注意到这篇文章做了消融实验。先拆三个对比损失:没了文本 - 节点损失(L1),模型性能直接崩了,说明这是核心;加上文本 - 摘要(L2)和节点 - 摘要(L3)损失后,效果又涨了,证明多互动策略有用。再看提示部分:只用类别文本不用可学习提示,性能下降;用图上下文初始化提示,比随机初始化稍好,说明这些优化都不是花架子。
总结和思考:
主播在结束之前想了三个问题:
1. 为什么要额外加上一个Summary?
这篇文章在发表之前,没有比较好的结合方式,之前主播一直都没有想到比较好的原因,后来才想到这样能够体现出「更高维的」图文结合。这样做是为了聚合这个节点和邻接节点的信息,创造一个这个节点视角下的「洞察表示」,主播认为这里还有一种进阶的表达方法是;
这样更能够反映图的信息。
当然,GraphCLIP的方法比主播想的这个更成熟–直接使用BERT编码句子,再用一个GNN做一个更好的聚合…这也许是更好的方法啦。
2. 为什么在不同数据集的大小不一样?
开始主播还是很纳闷,为什么在论文里面的表示不一样,但是后来主播看了这个参数试验才知道–这个参数关系,它们都是和上下文相关性比较好。在Cora里面被设成0.1,在Amazon里面被设成了10,主播很纳闷…
但是后来主播顿悟啦!你想想,Cora是论文数据集,一篇论文的分类肯定是更多取决于它的摘要,而不是与它链接的其他论文。而Amazon数据集则是网购,工业的,网络的上下文涵盖一个交易的不同阶段,所以它的内容和上下文是紧密联系的。
从参数造成的变化也印证了主播的猜想:
Cora下降,其他的都上升,所以再次印证了主播的猜想
如何学习AI大模型?
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
第一阶段:从大模型系统设计入手,讲解大模型的主要方法;
第二阶段:在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段:大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段:大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段:大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段:以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段:以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案
大模型全套视频教程
200本大模型PDF书籍
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集
大模型产品经理资源合集
大模型项目实战合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓