品品科技 也能知道你的新兴趣,时态图网络:即使很久不发朋友圈( 二 )
消息函数 。 消息函数是内存更新的主要机制 。 给定在t时刻节点i和节点j之间的交互 , 信息函数计算出两条消息用于更新内存(一条用于节点i , 另一条用于节点j) 。 这类似于在消息传递图神经网络中计算的消息 , 这一消息是在交互出现前的t?时刻节点i和节点j的内存、交互出现的时间t、边缘特征这三个变量的函数:

文章图片

文章图片
内存更新程序 。 内存更新程序的作用是使用新消息更新内存 。 此模块通常使用一个RNN网络来实现 。

文章图片

文章图片
考虑到节点的内存是一个随时间更新的向量 , 那么最直接的方法是直接将其作为节点嵌入来使用 。
然而 , 由于过期问题 , 这一方法实践起来也有弊端:由于节点只有在参与交互时才会更新其内存 , 那么节点长时间不活动就会导致其内存过期 。
举个例子 , 假设一个用户好几个月都没有登录Twitter , 当他(她)重新登录时 , 他(她)可能已经在这段时间里发展出了新的兴趣 , 导致存储着此用户过去活动的内存不再和他(她)现在的兴趣相关 。 因此 , 我们需要一种更好的方法来计算嵌入 。
嵌入 。 一个解决方案是查找临近的节点 。 为了解决过期问题 , 嵌入模块通过在与目标节点时空邻近的节点上执行图聚合来计算目标节点的时间嵌入 。
即使一个节点在一段时间内处于非活动状态 , 但与它临近的一些节点却很可能处于活动状态 , 因此通过聚合临近节点的内存 , TGN可以计算出目标节点的最新嵌入 。
在我们所举的例子中 , 即使用户一段时间不登录Twitter , 但他的朋友仍然在Twitter上保持活跃 , 所以当用户重新登录Twitter时 , 相比用户自己的历史记录 , 用户的朋友的最近活动可能与其当前兴趣更相关 。

文章图片
图嵌入模块通过在与目标节点时间临近的节点上执行聚合来计算目标节点的嵌入 。 在上图中 , 当在某个时刻t(t大于t?、t?和t? , 但小于t?)计算节点1的嵌入时 , 时间临近的节点将只包括在时刻t之前出现的边 。 因此 , 节点5的边不参与计算 , 因为它是在时刻t之后才出现 。 然而 , 嵌入模块是通过聚合临近点2、3和4的特征(v)和内存(s)以及边缘上的特征来计算节点1的表征 。 在我们的实验中 , 表现最好的图形嵌入模块是图注意力(graphattention) , 它能够根据临近节点的内存、特征和交互时间来得出哪些是最重要的临近节点 。
如下图所示是TGN对一批训练数据进行的总体计算:

文章图片
图示为TGN对一批训练数据进行的计算 。 一方面 , 嵌入模块使用时间图和节点内存(1)生成嵌入 , 然后使用嵌入来预测批处理交互作用并计算损失(2 , 3) 。 另一方面 , 这些预测出的交互被用来更新内存(4 , 5) 。
看了上面的图 , 你可能很好奇内存相关模块(消息函数、消息聚合器和内存更新器)是如何训练的 , 因为它们似乎不会直接影响损失值 , 因此也不会接收到梯度 。
为了让这些模块能够影响损失值 , 我们需要在预测批处理交互之前更新内存 。 但是 , 由于内存中已经包含了我们试图预测的信息 , 因此这会导致内存泄漏 。
为了解决这个问题 , 我们提出的方法是用来自前一个批处理的信息来更新内存 , 然后再预测交互 。 下图显示了训练内存相关模块所必需的TGN的操作流程:

推荐阅读
- 科技|2022年七大前沿科技:每一项都能改变世界
- 生物|翼展超过2.5米、能飞也能爬!1.7亿年前古物种化石被科学家发现
- Redmi|边玩边充全行业最快!K50电竞版玩着游戏也能37分钟充满:官方揭秘
- realme|定位新一代“科技国潮”!realme V25官宣将搭载神秘新科技
- LG|电视也能“隐身”?LG Display拟推出透明OLED电视
- 国产|打造出国产7nm GPU!壁仞科技迎一员大将:原NVDIA高管杨超源入职
- 科技前沿|首次100%满功率!我国第二台华龙一号核电站又近一步
- 谷歌|Google开放Android 12动态主题色彩系统源代码:iOS也能用!
- 俞敏洪|俞敏洪进军科技界!新东方成立科技公司:经营范围含集成电路、5G
- 智能手机|科技圈的脱口秀大王?盘点卢伟冰那些年说过的金句
