本文是对《TransNet:Translation-Based Network Representation Learning for Social Relation Extraction》一文的浅显翻译与理解,如有侵权即刻删除。
朋友们,我们在github创建了一个图学习笔记库,总结了相关文章的论文、代码和我个人的中文笔记,能够帮助大家更加便捷地找到对应论文,欢迎star~
Chinese-Reading-Notes-of-Graph-Learning
更多相关文章,请移步:文献阅读总结:网络表示学习/图学习
Title
《TransNet:Translation-Based Network Representation Learning for Social Relation Extraction》
——IJCAI 2017
Author: 涂存超
总结
文章认为网络中节点的交互存在着大量语义信息,而当前的网络表示学习工作往往忽略了这些信息。从而提出了TransNet算法,利用平移机制,即对一组交互的节点而言,尾部节点的表征应该尽可能接近头部节点表征与边表征的结合。文章定义了基于平移机制的损失函数,又对边的表征生成及损失函数进行了介绍,最终结合上述两类损失函数,用于解决社会关系抽取任务,即对未标注边上的标签集合进行预测。下图为TransNet模型示意图。
1 定义
2 平移机制
文章认为,对于每条边e=(u,v)和它对应的标签集合l,节点v的表示向量要尽可能接近于节点u的表示向量加边的表示向量。事实上,在网络中,绝大部分的节点既是头部节点也是尾部节点,因此文章对每个节点v引入两个不同的节点表征即v和v’,用来对应节点v的头部表征和尾部表征。因此,这种平移机制可形式化为:
其中l表示由标签集合l得到的边表征。文章L1距离作为距离衡量,从而有距离函数d(u+1,v’)衡量三元组(u,v,l)对平移机制的符合程度,则有:
对于负例的选取,可理解为,头节点或尾节点被随机替换成另外的不相连的节点,标签集合被随机替换成不相交的标签集合。
3 边表征构建
文章采用了一个深层自动编码器来构建边表征,编码器的编码部分包含了多个非线性变换层,解码部分保证边表征蕴含了输入的标签集合全部信息。
3.1 编码部分
对边表征的编码部分,文章首先将标签集合映射成向量形式,即表示为二进制的one-hot向量。接下来,进行多层的非线性变换:
其中K表示层数,f为激活函数,h、W和b分别表示第i层的隐向量,变换矩阵和偏置向量。在编码的中间过程,文章采用tanh函数作为激活函数,有边的表征为l=h^(K/2),最后一层则使用sigmoid作为激活函数。
3.2 重构(解码)部分
自动编码器的作用是最小化输入向量和重构输出之间的距离,其损失函数可以形式化为:
然而,输入的one-hot向量只有一个位置为1,其他位置全为0,那么在优化的过程中,就倾向于将该向量优化为全为0的向量,这就失去了意义。因此,文章设置了权重向量x,对于值为0的位置,x对应值为1,值为1的位置,x对应值为大于1的参数B,从而保证了有值位置不在优化中被抹去,此时损失函数变为:
4 损失函数
文章将上述两部分损失函数进行结合,形成了最终损失函数如下:
其中,对不同部分设置了不同参数来调整各部分所占比例,Lreg为正则化项,有:
5 优化目标
文章提出了社会关系抽取的目标任务,具体来说,数据集中大部分边事实上是未标注的,即没有标签集合。优化目标就是利用有标注边对模型进行训练,进而预测未标注边上的标签机和。由于假设了表示学习符合平移机制,那么给出两个交互的节点,一定能够通过平移机制计算其边的表征,即l=v’-u。得到边表征后,就可以用自动编码器的解码部分得到预测的标签向量,这种标签向量上值最大的位置,就是该边最有可能属于的标签集合,可对应上文的one-hot向量编码过程。