热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

刚哥的公开课笔记:图机器学习(十六)图神经网络的应用

图神经网络推荐(PinSage)推荐系统用户与物品互动看电影,购买商品,听音乐目标:推荐用户可能喜欢的物品客户X购买Metallica和M

  图神经网络推荐 (PinSage)

  推荐系统

  用户与物品互动看电影,购买商品,听音乐目标:推荐用户可能喜欢的物品客户X购买Metallica和Megadeth CD客户Y购买了Megadeth,推荐系统也建议Metallica

  目标:了解哪些项目是相关的

  对于给定的查询项目Q,返回一组我们推荐给用户的类似项目

  理念:

  用户与一组项目进行交互制定查询Q搜索项目并返回建议

  举例,Pinterest

  

  

  具有通用相似性功能可用于许多应用程序:

  

  Homefeed (endless feed of recommendations)

  

  Related pins (find most similar/related pins)

  

  Ads and shopping (use organic for the query and search the ads database)

  关键问题:定义相似性

  问题:我们如何定义相似性?

  1)基于内容:用户和项目功能,包括图像,文本,类别等形式

  2)基于图:用户/项目交互,以图/网络结构的形式

  这称为协作过滤:

  对于给定的用户X,找到喜欢类似商品的其他人根据相似的其他对象,估算X的对象

  我们如何定义相似性:

  (1)收集“已知”相似之处

  如何收集用户喜欢的数据

  (2)从已知相似度推断未知相似度

  主要对高度未知的相似性感兴趣我们对了解自己不喜欢的东西并不感兴趣

  (3)评估方法

  如何衡量推荐方法的成功/绩效

  

  Pinterest

  Pinterest:人类策划的书签收藏

  Pin:有人从互联网上保存到他们创建的木板上的视觉书签。

  Pin:图片,文字,链接

  面板:一组想法(有共同点的Pin)

  

  

  两种信号源:

  特征:

  每个图钉的图像和文字

  图形:

  图是动态的:需要应用于新节点而无需模型重新训练

  基于嵌入的推荐

  目标:学习物品的嵌入

  相关Pin的查询:当用户与V3Pin交互时,推荐哪个Pin?回答:通过最近邻居找到与V3最接近的嵌入(V4)。 推荐它。

  目标1:使用神经网络有效学习数十亿个Pin(项,节点)的嵌入

  目标2:执行最近邻居查询以实时推荐商品

  

  任务:向用户推荐相关的Pin

  

  预测图中的两个节点是否相关

  

  PinSage:图神经网络

  方法:

  引脚在每一层都有嵌入节点的第0层嵌入是其功能:文字,图像……

  PinSage图卷积网络:

  目标:为包含数十亿个对象的Pinterest图中的节点(例如,Pin)生成嵌入关键思想:从附近节点借用信息例如,床栏杆Pin看起来像花园篱笆,但图中的门和床很少相邻.Pin嵌入对于许多不同的任务来说都是必不可少的。

  除了“相关Pin”任务外,它还可以用于:

  推荐相关广告家庭建议按用户兴趣分组

  1.从日志中收集数十亿对训练。

  正对:两个Pin在一个时间间隔(1小时)内连续保存到同一块板上负对:2个Pin的随机对Pin很可能不在同一块板上

  2.训练GNN为训练对生成相似的嵌入

  3.推论:为所有Pin生成嵌入

  4.在嵌入空间中进行最近邻居搜索以提出建议。

  训练目标函数

  进行训练,以使连续固定的Pin有相似的嵌入

  最大边界损失:

  

  四个关键创新:

  1.动态图卷积

  对节点周围的邻域进行采样并动态构建计算图

  Minibatch of neighborhoods

  围绕特定节点执行局部图卷积训练过程中不需要整个图

  At every iteration, only source node embeddings are computed

  2.通过随机游走选择邻居

  对所有邻居执行聚合是不可行的:如何选择要进行卷积的节点的邻居集?个性化的PageRank可以提供帮助!定义重要性池:通过模拟随机行走并选择访问量最高的邻居来定义基于重要性的邻居

  近似查询节点Q

  

  重要性池

  选择访问次数最高的节点选定节点上的池选择的节点不一定是邻居

  示例:假设K=5

  根据随机游走次数对节点进行排名选择前K个节点并归一化计数

  汇总来自前K个节点的消息

  GraphSAGE平均池

  平均来自直接邻居的消息PinSAGE重要集合将归一化的计数用作来自前K个节点的邮件的加权平均值的权重PinSAGE使用K=50

  3.高效的MapReduce推断

  问题:如果在推理步骤使用局部图卷积,则需要进行多次重复计算需要避免重复计算

  回想一下我们如何获得负面例子

  

  目标:确定3BPin中的目标Pin

  问题:需要以100 vs. 3B的分辨率进行学习大规模:30亿个节点,200亿个边缘想法:使用越来越难的阴性样本

  负面的硬示例可以提高绩效

  

  如何获得硬阴性:使用随机游走:

  将访问次数在1000-5000之间的节点用作硬阴性有共同点,但不太相似

  硬阴性类的训练

  从随机阴性示例开始随着时间的推移提供更难的负面例子

  相关Pin建议

  如果用户刚刚保存了Pin Q,请预测下一个要保存的Pin X设置:嵌入3B Pin,找到Q的最近邻居基线嵌入:视觉:VGG视觉嵌入

  注释:Word2vec嵌入组合:串联嵌入

  

  Pixie(基于图):使用类中的Pixie算法从查询Pin开始模拟随机游走的方法。 检索得分最高的项目作为建议

  视觉,Annot。 (基于特征):使用视觉(CNN)和Pin注释特征的最近邻居推荐

  

  

  异构图神经网络(Decagon)

  到目前为止,我们仅将GNS应用于简单图

  GNS没有明确使用节点和边缘类型信息真实网络通常是异构的如何将GNN用于异构图?

  药物副作用

  

  使用多种药物治疗疾病

  多种药物是治疗复杂疾病和并存疾病的常见方法

  相互作用引起的高副作用风险受影响的美国人口的15%每年的成本超过1770亿美元难以手动识别:罕见,仅在部分患者中发生在临床测试中未观察到

  多种药物建模

  药物相互作用的系统实验筛选具有挑战性想法:通过计算筛选/预测多药副作用使用分子,药理学和患者群体数据指导患者联合治疗的转化策略

  建模和预测药物对的副作用

  问题药方:图

  异构(多模)图:具有不同节点类型和/或边类型的图

  

  问题处方:预测

  目标:给定局部观察的图形,预测药物结点之间的标记边缘

  

  预测药物节点之间的标记边

  即预测药物节点c和s之间存在边(c,r2,s)的可能性含义:药物组合(c,s)导致多药副作用r2

  关键见解:计算来自每种边缘类型的GNN消息,然后跨不同边缘类型进行汇总

  19/12/5斯坦福CS224W,Jure Leskovec,图的机器学习,http://cs224w.stanford.edu 51

  输入:异构图输出:节点嵌入

  单层异构GNN

  

  关键见解:使用一对计算的节点嵌入进行边预测

  输入:查询药物对的节点嵌入输出:预测边

  利用神经网络预测边

  

  解码:边预测

  

  数据:

  分子图:蛋白质-蛋白质相互作用和药物靶标关系人口分布图:个别药物的副作用,药物组合的多药副作用

  设定:

  构建所有数据的异构图训练:拟合模型以预测药物对和多药副作用之间的已知关联测试:给定查询药物对,预测候选的多药副作用

  预测性能

  

  比基准提高多达54%

  第一个以计算方式标记多药副作用以进行后续分析的机会

  De novo 预测

  

  目标导向的图生成(GCPN)

  图生成模型

  

  通过顺序添加节点和边来生成图

  

  GraphRNN快速摘要:

  通过生成两级序列来生成图使用RNN生成序列

  初始化图

  

  药物发现

  问题:我们是否可以学习一个模型,该模型可以生成具有给定化学性质的高价值的有效和逼真的分子?

  

  异构图:分子

  节点类型:C,N,O,...

  §边缘类型:单键,双键,…

  §注意:“ H”可以通过化学有效性规则自动推断,因此在分子图中将被忽略

  

  目标导向的图生成

  生成图:

  优化给定的目标(高分)例如毒品样遵守基本规则(有效)例如化学有效性规则从实例中学习(现实)例如,模仿分子图数据集

  在ML中包括“黑匣子”:

  像毒品之类的目标受物理定律支配,这对我们来说是未知的!

  解决方案:强化学习

  ML代理观察环境,采取行动与环境互动,并获得正面或负面的奖励

  代理然后从此循环中学习关键:环境是代理的黑匣子

  基于策略的强化学习

  策略:代理行为,将观察结果映射为行动

  基于策略的RL:代理直接从数据中学习最佳策略

  

  模型:图卷积策略网络

  图卷积策略网络结合了图表示+ RL:

  ?Graph神经网络捕获复杂的结构信息,并在每个状态转换(有效)中启用有效性检查

  ?强化学习可优化中级/最终奖励(高分)

  对抗训练模仿给定数据集中的示例(现实)

  

  (a)插入节点/支架(b)通过GCN计算状态(c)样本下一个动作(d)采取行动(检查化学有效性)(e,f)计算奖励

  如何设置奖励:

  学会采取有效措施在每个步骤中,为有效的行动分配少量的正面奖励优化所需的属性最后,为高期望的财产分配正面奖励生成逼真的图形最后,对抗性训练GCN鉴别器,计算对抗性奖励,以鼓励获得逼真的分子图

  奖励:rt=最终奖励+逐步奖励

  最终奖励=特定域的奖励逐步奖励=逐步有效性奖励

  两部分:

  (1)有监督的训练:通过模仿真实观察图所给出的动作来训练策略。 使用渐变。(2)RL训练:训练政策以优化奖励。 使用标准策略梯度算法(请参阅任何RL课程,例如CS234)。

  GCDP 架构

  

  属性优化生成具有指定特性得分高的分子定位属性生成指定特性得分在给定范围内的分子约束属性优化通过几个步骤编辑给定的分子,以获得更高的指定性能评分

  GCPN图形的可视化:属性优化

  

  GCPN图的可视化:约束优化

  

  图生成的总结

  复杂图可以通过顺序生成成功生成每个步骤都基于隐藏状态做出决定,该隐藏状态可以是明确的:中间生成的图,使用GCN解码隐式:向量表示,使用RNN解码可能的任务:模仿一组给定的图针对给定目标优化图表


推荐阅读
  • 理工科男女不容错过的神奇资源网站
    十一长假即将结束,你的假期学习计划进展如何?无论你是在家中、思念家乡,还是身处异国他乡,理工科学生都不容错过一些神奇的资源网站。这些网站提供了丰富的学术资料、实验数据和技术文档,能够帮助你在假期中高效学习和提升专业技能。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • 超分辨率技术的全球研究进展与应用现状综述
    本文综述了图像超分辨率(Super-Resolution, SR)技术在全球范围内的最新研究进展及其应用现状。超分辨率技术旨在从单幅或多幅低分辨率(Low-Resolution, LR)图像中恢复出高质量的高分辨率(High-Resolution, HR)图像。该技术在遥感、医疗成像、视频处理等多个领域展现出广泛的应用前景。文章详细分析了当前主流的超分辨率算法,包括基于传统方法和深度学习的方法,并探讨了其在实际应用中的优缺点及未来发展方向。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 视觉图像的生成机制与英文术语解析
    近期,Google Brain、牛津大学和清华大学等多家研究机构相继发布了关于多层感知机(MLP)在视觉图像分类中的应用成果。这些研究深入探讨了MLP在视觉任务中的工作机制,并解析了相关技术术语,为理解视觉图像生成提供了新的视角和方法。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 依然最钟爱《People Have the Power》,强烈推荐大家聆听这首经典之作
    尽管今日情绪低落,我在音乐库中反复筛选,最终还是选择了《People Have the Power》来激励自己。这首歌不仅旋律动听,歌词也充满力量,能够带给人正能量。强烈建议大家找来聆听,体验其独特的魅力。《People Have the Power》虽然不是出自专辑《Horses》,但同样是一首不可多得的经典之作。 ... [详细]
  • 在本文中,我们将探讨如何在Docker环境中高效地管理和利用数据库。首先,需要安装Docker Desktop以确保本地环境准备就绪。接下来,可以从Docker Hub中选择合适的数据库镜像,并通过简单的命令将其拉取到本地。此外,我们还将介绍如何配置和优化这些数据库容器,以实现最佳性能和安全性。 ... [详细]
  • 深入理解排序算法:集合 1(编程语言中的高效排序工具) ... [详细]
  • 在2019年寒假强化训练中,我们深入探讨了二分算法的理论与实践应用。问题A聚焦于使用递归方法实现二分查找。具体而言,给定一个已按升序排列且无重复元素的数组,用户需从键盘输入一个数值X,通过二分查找法判断该数值是否存在于数组中。输入的第一行为一个正整数,表示数组的长度。这一训练不仅强化了对递归算法的理解,还提升了实际编程能力。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 在Hive中合理配置Map和Reduce任务的数量对于优化不同场景下的性能至关重要。本文探讨了如何控制Hive任务中的Map数量,分析了当输入数据超过128MB时是否会自动拆分,以及Map数量是否越多越好的问题。通过实际案例和实验数据,本文提供了具体的配置建议,帮助用户在不同场景下实现最佳性能。 ... [详细]
  • 如何提升Python处理约1GB数据集时的运行效率?
    如何提升Python处理约1GB数据集时的运行效率?本文探讨了在后端开发中使用Python处理大规模数据集的优化方法。通过分析常见的性能瓶颈,介绍了多种提高数据处理速度的技术,包括使用高效的数据结构、并行计算、内存管理和代码优化策略。此外,文章还提供了在Ubuntu环境下配置和测试这些优化方案的具体步骤,适用于从事推荐系统等领域的开发者。 ... [详细]
author-avatar
loveyao123456
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有