楠姐技术漫话:图计算的那些事 | 京东云技术团队

news2024/11/23 8:50:44

不知道大家在平时的工作中

有没有听说过“图计算”这个名词

但大家一定在各工作汇报,技术分享中听说过“智能化”,“人工智能”这样的字眼

而我们今天要唠的这个图计算

就是人工智能领域内近几年炙手可热的前沿宠儿

也是我们风控反欺诈中常用的“大杀器”

在了解图计算之前

首先得了解什么是“图”

我们今天所说的图

其实是用于表示对象之间关联关系的一种数据结构

具有很强的抽象性和灵活性

在结构和语义等方面具有很强的表示能力

正是由于图结构丰富的表现力

在现实生活中有很多可以表示为“图”的例子

例如社交网络、道路网、金融交易等

研发或者算法相关的小伙伴们都知道

我们常用的机器学习和深度学习算法

大多都是用于处理一些规整、有序,或者结构化的数据

比如矩阵、图片、文本、序列等

且所处理的数据都是被假设是独立同分布的

然而图上的节点都是自然相连

这也就表明节点之间不是独立的

此时,今天我们要提的图计算就来了

它的核心正是为了将数据建模为图结构

并解决如何将问题解法转化为图结构上的计算问题

当算法任务涉及到多个体之间关联分析时

图计算往往能够使得问题能很自然地表示为一系列对图结构的操作和计算

但是图计算所需要解决的问题多种多样

难以使用一套计算模式解决所有的问题

接下来我们就来系统地盘一盘

关于图计算的那些事儿

---★---

比如,借助边是否有方向

图可以分为有向图和无向图

借助边是否有权重

图还能分为有权图和无权图

借助图中的点和边是否具有多种类型

图又能分为同构图和异构图

还有,借助图结构和图信息是否随时间变化

图能分为静态图和动态图

“度”和“邻居”

是涉及图节点的两个重要概念

节点的“度”是指的与之相连的节点个数

如果是有向图,还会区分“入度”、“出度”

节点的“邻居”则是指与之相连的其他节点

关于图的表示

还有几个基础概念是不得不提的

一个是“邻接矩阵”

用于量化表示节点之间的边关系

还有就是“节点特征”和“边特征”

用于表征节点和边的特有数值属性

无论多么复杂的图算法模型

都是基于这些基本概念进行的

提一个关于图的最基本的问题——节点表征问题

就是如何基于以上的图的信息和属性

对图中的节点或者边进行量化表示

在CV和NLP任务中

我们会设计CNN和RNN模块

来建模图像像素点和文本文字表征的信息

在图的表征学习中也是一样的思路

有了合理的节点向量表示

我们就可以探索各类下游任务

比如进行节点分类

找出那些拥有特殊表现或属性的节点

或者进行社群划分

找出那些聚集性最强、相似性最高的节点集合

另外,还可以进行链接预测、子图划分等各种下游任务

想借助图计算做什么

完全取决于你的实际需求

看到这里

就可以恭喜你

你已经入门图计算了

---★★---

图计算其实并不是新兴的算法

对它进行历史溯源的话

欧拉被认为是人类历史上最伟大的数学家之一

由于他对哥尼斯堡七孔桥问题的描述

图论学科便继而产生

在哥尼斯堡的一个公园里

有七座桥将普雷格尔河中两个岛与河岸连接起来

欧拉于1736年研究并证明了此问题

他把问题归结为“一笔画”问题

并证明一笔画的走法是不可能的

在他的研究过程中

就把问题中的陆地与桥分别抽象为点和边

并形成了一个简单的拓扑图

引出了关于图的基础概念

在那之后,出现了图论的一个早期应用——地区渲染(染色)

随着15—17世纪大航海时代的到来

以及法国大革命之后民族国家概念的兴起

世界各国都开始绘制更高精度的地图

而绘图中如何用最少的颜色来保证相邻的两个区域(国家、州、省)

用不同的颜色区别开来的问题就是个经典的图论问题

19世纪中叶,数学家们以手工计算的方式证明了“五色地图”的问题

而直到整整一个世纪之后的1976年

才在计算机的算力的帮助下初步证明了“四色地图”的可行性

并通过图计算优化后

以四色图取代了五色图

以上地图上色问题是数学中典型的NP完全问题

例如导航、资源调度、搜索和推荐引擎

然而这些场景所对应的大数据框架及解决方案

在最开始

并没有真正意义上使用原生化的图存储与计算模式

换句话说,人们依然在用列数据库

甚至文档数据库来解决图论问题

低效低维的工具被用来强行解决复杂高维的问题

那么它的用户体验可能很差或者是投入产出比极为糟糕

最近几年,随着互联网的发展

知识图谱逐步深入人心

图计算和图数据库的发展才开始重新受到重视

近半个世纪,也有很多图计算的算法问世

包括1956年出现的知名Dijkstra算法

研究解决了图的最短路径问题

更复杂的各类社区发现算法也应运而生

用于检测社区、客群、嫌疑人之间的关联

就是将图中的每一个顶点都表示成一个低维向量

并使该向量能够尽可能多的保存图的结构和内容信息

并可以作为特征用于后续的学习任务

如节点分类、链接预测等

这些工作针对同构图、异构图、属性图、动态图等不同类型的数据

提出了各式各样的方案

包括经典算法DeepWalk、LINE、Node2Vec

这些算法的基本思路是基于随机游走生成数据

然后通过训练优化参数

产生概率模型

将经典神经网络模型如 RNN、CNN等扩展到了图数据上

与图表征学习试图学习出每个点的向量不同

图神经网络的目的其实是学习出聚合函数

所有点通过同一个函数就可以利用局部信息计算出自身的表征

即使是图结构发生变化,甚至是完全新的图

也能用原来的函数计算出有意义的结果

有关图神经网络,也已经诞生了一系列经典算法

---★★★---

最后,说些关于图计算的实际应用吧

当下许多大型互联网企业、金融科技公司

其实都离不开图计算技术

Google创始人Larry Page在20世纪末发明的PageRank

这是一种大规模页面、链接排序的算法

可以说,早期谷歌的核心技术就是一种浅层的并发图计算技术

还有Facebook,它的技术框架的核心是它的Social Graph

即朋友关联朋友再关联朋友

由此脸书建立了强大的社交关系网络

脸书开源了很多东西

但是这个核心的图计算引擎与架构从未开源过

如果你能回忆起2007-2008年爆发的世界金融危机

莱曼兄弟公司破产

当时高盛集团能全身而退

背后的真实原因是应用了强有力的图数据库系统——SecDB

而对于所有技术驱动的新型互联网公司

比如Paypal、易趣和许多我们国内的金融和电子商务公司

图计算也并不罕见

图的核心竞争力可以帮助他们揭示出数据的内部关联

最近十年以来

随着以深度学习为代表的人工智能技术广泛应用

图学习逐渐成为了一个热点话题

也在因果关系、可解释性方面取得了突破进展

现在,图学习也已进一步扩展应用

比如广告、金融风控、智能交通、医疗、智慧城市等各个领域

那就最后再说些金融反欺诈中的图计算应用例子

在金融、电商等涉及金钱交易的领域

总是不乏活跃在其中以谋取非法利益的黑产

比如薅羊毛、刷单、套现、虚假交易等

相比起个别用户自身偶发的套利行为

那些以团伙为单位在各业务场景下聚集操作作案的黑产团伙

他们的行为会对平台造成更大更严重的经济损失

而图计算正是识别团伙性案件的良方妙药

通过将万千用户、商户、设备、网络环境等作为节点

将使用、交易等信息作为关联信息建边

即可形成一个覆盖范围极广的异构图

再结合不同的应用背景确定识别目标

并挑选图计算模型、样本、标签等

即可进行一次有监督学习的图训练

最终在推理阶段对图中的节点或边进行其风险水平的概率输出

那就会有小伙伴说了

风控场景高质量样本标签太少了

问题不大,也有很多图模型可用于无监督学习

比如社群发现,就不需要任何标签信息

即可将关联最紧密的节点集合进行聚类

在我们的经验里

是识别黑产团伙最好用的图算法之一

再比如近几年热门的自监督学习、对比学习

应用于图计算领域则可以对图进行无监督预训练

从图结构、图属性自身的性质出发

为图节点学到具有良好表征能力的向量

可用于下游的各类风控智能模型中

---★★★★---

随着近期AIGC大模型的爆火出圈

人工智能又迎来了新一波浪潮

相比生成式的语言和视觉模型

图计算确实显得冷门一些

但楠姐相信好饭不怕晚

没有发光的日子都是在为发光做准备

也许会有一天,图计算也能迎来自己的热搜

----写在最后----

本篇文章图片构思、创意、整体结构、后期修改,全部版权归京东楠姐所有,素材生成均源自于Midjourney以及楠姐原创提示词生成。楠姐出图不易,且并非完美,请勿未经允许用于其他场合及目的

本篇文章图片创意均只为了说明及示意,且带有一定夸张和幽默元素,切勿对号入座哦如有雷同,纯属巧合无意冒犯~

本篇文章文字均根据以下参考文献汇总撰写:

[1]. 马耀,汤继良. 图深度学习[M].电子工业出版社.

[2]. 张长水,唐杰,邱锡鹏[M]. 图神经网络导论[M].人民邮电出版社.

[3]. 知乎. 图计算发展简史[EB/OL].
https://zhuanlan.zhihu.com/p/562893366

[4]. 百度. 大数据的基础——图计算的发展历程[EB/OL].
https://baijiahao.baidu.com/s?id=1743913772591545506&wfr=spider&for=p

作者:京东科技 丁楠

内容来源:京东云开发者社区(未经授权请勿转载)

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

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

相关文章

不会Elasticsearch标准查询语句,如何分析数仓数据?

1 Elasticsearch的查询语句 ES中提供了一种强大的检索数据方式,这种检索方式称之为Query DSL,Query DSL是利用Rest API传递JSON格式的请求体(Request Body)数据与ES进行交互,这种方式的丰富查询语法让ES检索变得更强大,更简洁。 1.1 查询预发 # GET /…

ChatGPT中文使用手册

简要介绍: First:什么是ChatGPT? ChatGPT是由OpenAI训练的一款大型语言模型,最新版为GPT3.5(公开版)和GPT4.0(PLUS会员版本) 它能够生成类似于人类写作的文本。您只需要给出提示或提出问题&…

ChatGPT实现游戏 NPC 对话

游戏 NPC 对话 玩游戏的一个必要过程,就是和 NPC 对话,领取任务,获取线索。有趣的游戏,会根据用户和 NPC 交流时的不同选择,触发不同剧情走向。甚至多个 NPC 之间还能有罕见的隐藏剧情,等待用户发掘。可以…

《PyTorch高级机器学习实战》包邮送书三本

目录 前言书籍目录抽奖方式 前言 随着人工智能和机器学习的蓬勃发展,相关算法和技术已经广泛运用到诸多行业,大量的研究者和各行业人员也投入机器学习的研究与开发中。 掌握高级机器学习算法原理,并能够根据不同情况实现灵活运用&#xff0…

NineData:高效高质量的Redis可视化管理工具

Redis 是一个内存数据结构存储系统,它被广泛用于缓存、队列、实时分析等多种应用场景中,目前已经成为 Key-value 数据存储系统中的佼佼者,根据 DB-Engine 网站提供的最新数据,Redis 在 Key-value stores 类别中排名第一&#xff0…

Dynamics 365 DevOps CI/CD之Solution

CI/CD到了Soution就没太多可说的了,按部就班配置就行,我选择的工具是Power DevOps Tool 1,首先下载工具,然后设置连接字符串去连环境,连接字符串还是用ClientSecret的形式 2,当然导出前还是要发布下自定义的…

小程序分包

分包加载的介绍 大部分小程序都会由某几个功能组成,通常这几个功能之间是独立的,但会依赖一些公共的逻辑,并且这些功能通常会对应某几个独立的页面。那么小程序代码的打包,大可不必一定要打成一个,可以按照功能的划分&…

c/c++ 宏定义里的#和##

工作中如果是c开发的话&#xff0c;经常会用到宏定义&#xff0c;而宏定义中的#和##也会时不时遇到&#xff0c;今天分享这两个符号的作用。 1&#xff0c;# -- 转换成字符串 直接看例子&#xff1a; #include <stdio.h> #include <stdlib.h>#define VAL2STR(VA…

vue非单文件组件的使用方法

标准化开发时的嵌套&#xff1a; 在实际开发中&#xff0c;通常会创建一个 APP 组件作为根组件&#xff0c;由这个根组件去管理其它的组件&#xff0c;而 Vue 实例只需要管理这个 APP 组件就行了。 <!DOCTYPE html> <html><head><meta charset"utf…

springboot+java办公用品租赁领用管理信息系统

将系统权限按管理员和员工这两类涉及员工划分。 (a) 管理员&#xff1b;管理员使用本系统涉到的功能主要有&#xff1a;个人中心、员工管理、办公用品管理、领用申请管理、采购申请管理、物品分类管理、系统管理等功能。 (b)员工进入系统前台可以实现办公用品管理、领用申请管理…

TimerResolution.exe

TimerResolution.exe是一款常用的Windows实用程序,用于调整系统计时器的分辨率。它提供了一种简便的方法,让用户能够更精确地控制计时器的运行方式,从而改善系统的性能和响应时间。无论是进行游戏、音频处理还是其他需要精确计时的任务,TimerResolution.exe都能提供极大的帮…

【PR】来制作视频进度条吧~

【PR】来制作视频进度条吧~ 制作进度条制作分割线及标题分割线标题其他 为啥视频要有进度条~ 方便观众回看和定位&#xff1a;添加进度条可以让观众在观看视频时随时了解视频播放的进度&#xff0c;也方便观众在需要回看或者查找某一段内容时能够更加精准地定位。 提高观看体验…

当电脑回收站图标不见后,这4种方法帮你快速恢复

我们都知道&#xff0c;在电脑上删除文件时&#xff0c;这些文件多数都会先停留在回收站中。当我们后悔删除这些文件时&#xff0c;往往可以通过回收站还原&#xff0c;可是有些小伙伴却发现自己的电脑回收站不见了&#xff0c;这无疑给我们的回收站文件恢复工作带来不便&#…

NXP MCUXPresso - 操作整理

文章目录 NXP MCUXPresso - 操作整理概念如何在工程中全局搜索文本?在一个编译配置中, 如何排除一些不要的内容?END NXP MCUXPresso - 操作整理 概念 在尝试迁移 openpnp - Smoothieware project 从gcc命令行 MRI调试方式 到NXP MCUXpresso工程. 这个IDE还是蛮喜欢的, 细节…

人工智能算法|K均值聚类算法Python实现

01、算法说明 K均值聚类算法是一种简单的迭代型聚类算法&#xff0c;采用距离作为相似性指标&#xff0c;从而发现给定数据集中的K个类&#xff0c;且每个类有一个聚类中心&#xff0c;即质心&#xff0c;每个类的质心是根据类中所有值的均值得到。对于给定的一个包含n个d维数据…

Word怎么删除空白页?分享5个基础方法!

案例&#xff1a;Word怎么删除空白页 【我最近在用word写文章&#xff0c;但经常都会遇到的一个问题就是总是会有空白页&#xff0c;使用word时怎么删除空白页呢&#xff1f;请大家给我支支招吧&#xff01;】 在使用Microsoft Word编辑文档时&#xff0c;有时会出现空白页&a…

Stimulsoft 报表开发工具支持设置水印啦!一起来看~

Stimulsoft Reports是一款报告编写器&#xff0c;主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署&#xff0c;如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等&#xff0c;在你的应用程序中嵌入报告设计器…

AI智能机器人的语音消息使用方式

如何在没有资金扩大营销的情况下增加收入&#xff0c;这是不是有点像先有蛋还是先有鸡的问题&#xff1f;如果没有足够的收入来源&#xff0c;小型企业很难对新客源扩展营销和传播。有关系统问题欢迎和博主一起交流。 机器人的语音消息是不是给百姓造成了生活上的影响&#xf…

Redis内存优化——Stream类型介绍及底层原理详解

系列文章目录 Redis内存优化——String类型介绍及底层原理详解 Redis内存优化——Hash类型介绍及底层原理详解 Redis内存优化——List类型介绍及底层原理详解 Redis内存优化——Set类型介绍及底层原理详解 Redis内存优化——ZSet类型介绍及底层原理详解 Redis内存优化——Stre…

4 个无质量损失的免费在线图像压缩器

本文内容&#xff1a;最佳在线图像优化器&#xff0c;无质量损失&#xff0c;可让您压缩 JPG、PNG 和 GIF 文件。 在线图像优化器工具可帮助您压缩图像而不会降低质量。并给出图像可以压缩多少的想法。 经过测试和比较的没有质量损失的最佳在线图像优化器 4 个无质量损失的免…