知识表示模型汇总分析--Trans系列

本文分析了TransE、TransH、TransR、CTransR和TransD等知识图谱表示学习模型,探讨了它们的原理、优缺点及相互之间的关系。TransE通过向量平移建模,而TransH、TransR和CTransR引入超平面和关系空间以处理复杂关系。TransD进一步考虑实体类型,动态映射矩阵以提高表示能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:孙天祥
链接:https://zhuanlan.zhihu.com/p/43436288
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

因为还根据自己的理解补充了点儿内容,就标为原创了。下面是正文:
 

近年来,以深度学习为代表的表示学习迅速发展,在很多领域都取得了巨大进展。简而言之,表示学习将要描述的对象表示为低维稠密向量,这也被称为分布式表示,从而有效解决了数据稀疏问题,并且便于在低维语义空间中进行计算。将表示学习应用于知识图谱(Knowledge Graph, KG),即是知识表示学习

在当前的主流知识库中,知识被存储为 (h, r, t) 的三元组形式,其中 h 表示头实体, r 表示联系, t 表示尾实体。知识表示学习的任务就是学习 h, r, t 的分布式表示(也被叫做知识图谱的嵌入表示(embedding))。

目前,知识表示学习方法从实现形式上可以分为两类:基于结构的方法基于语义的方法。基于结构的嵌入表示方法包括TransE, TransH, TransR&CTransR, TransD等,这类方法从三元组的结构出发学习KG的实体和联系的表示;基于语义的嵌入表示方法包括NTN, SSP, DKRL等,这类方法从文本语义的角度出发学习KG的实体和联系的表示。

知识表示学习从发展来看可以分成两个阶段,以2013年Borders等人受Mikolov发现的语义空间中词向量的平移不变现象启发,从而提出了翻译模型(TransE)为分割。在TransE之前,有Structed Embedding, Semantic Matching Energy等模型,在TransE之后,人们在此基础上进行改进,依次提出了TransH, TransR, TransD等模型。接线来介绍基于TransE的改进模型。

作者:孙天祥
链接:https://zhuanlan.zhihu.com/p/43436288
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

TransE


论文:Translating Embeddings for Modeling Multi-relational Data. Antoine Bordes, Nicolas Usunier, Alberto Garcia-Duran, Jason Weston, Oksana Yakhnenko. NIPS 2013.

我们用 h 表示头实体向量,用 t 表示尾实体向量,用 r 表示关系向量,TransE模型的目标就是让 t-h 尽可能地等于 r ,即 t-h\approx r 。其评分函数为:

f_r(h, t) = \lVert h+r-t\rVert _{L_1/L_2}

显然,对于正确的三元组,应该有较低的得分。在训练过程中,使用等级损失函数,这是因为在当前情况下我们没有就标签而言的监督,只有一对正确项 (h,r,t)\in \Delta 和不正确项 (h',r',t')\in \Delta' ,我们的目的是让正确项的得分比不正确项高。这种情况出现在我们只有正例时,知识图谱就是这种情况,我们只知道正确的三元组(golden triplet),再通过破坏一个正例来生成负例。等级损失就适用于这种情况,因此我们定义损失函数:

L = \sum_{(h,r,t)\in \Delta}\sum_{(h',r',t')\in \Delta'}\max (f_r(h,t)+\gamma -f_{r'}(h',t'),0).

上式中的 \gamma 表示正例和负例得分的最小间隔(margin),实际使用时常取 \gamma=1 .

博主注:

我们的目标是让f(h,t)最小,让f(h',t')最大。开始我觉得上面的公式不对,因为应该是取上式的极小值作为目标函数。后来想了想,上式仅仅是损失函数,表示的是总体损失。式中的max不是对目标函数取max,而是对于每一对正反例,取f(h,t)+v-f(

### Transformer-UNet 模型原理与架构 Transformer-UNet 是一种融合了变压器(Transformer)和 U 形网络(UNet)结构的深度学习模型,旨在解决医学图像分割中的复杂问题。以下是该模型的核心概念及其架构设计。 #### 1. 背景与动机 传统的 UNet 结构主要依赖于卷积神经网络(CNN),擅长捕获局部特征,但对于全局上下文的理解有限。相比之下,Transformer 的多头自注意力机制能够有效建模长距离依赖关系[^1]。因此,将两者结合起来的设计思路应运而生,既保留 CNN 对细节的关注,又利用 Transformer 提取全局信息的能力。 #### 2. 架构概述 Transformer-UNet 的整体框架通常遵循经典的 U 形结构,由编码器、瓶颈层以及解码器组成。具体来说: - **编码器部分** 编码器负责逐步降低输入的空间分辨率,同时增加通道数以提取高层次语义特征。在 Transformer-UNet 中,这一阶段可能采用视觉 Transformer(Vision Transformer, ViT)来替代传统 CNN 层次。例如 TransUnet 使用 ViT 进行特征提取,而 Swin-UNet 则通过分层窗口划分策略实现更高效的计算[^2]。 - **瓶颈层** 此处连接编码路径与解码路径,起到过渡作用。它允许模型集中处理最抽象级别的表示形式,并准备将其传递给后续恢复过程。 - **解码器部分** 解码器的任务是从低维空间重建高分辨率输出。为了增强性能表现,某些变体可能会加入跳跃连接(skip connections),使得来自早期编码阶段的信息可以直接参与最终预测结果生成过程中去。这些额外链接有助于保持边界清晰度并减少误差传播效应。 #### 3. 关键组件详解 ##### (1) 多头自注意机制(Multi-head Self Attention) 这是 Transformers 的核心组成部分之一,能够让模型关注到不同位置之间的相互影响程度大小不一的情况之下仍然做出合理判断决策。每个头部独立工作之后再汇总起来形成综合考量后的结论意见表达出来供下一步操作参考依据之用。 ##### (2) 基于窗口的方法(Window-based Approach) 像 Swin-Transformers 那样引入固定大小滑动窗格的概念来进行局部区域内部节点间关联强度评估运算方式,则可以在一定程度上缓解完全展开全图范围内的点对点交互所带来的巨大开销压力问题的同时还兼顾到了一定尺度下的邻域特性描述需求满足情况良好效果明显优于单纯依靠标准 MHSA 实现方案版本的表现水平差距显著可见一斑。 ```python class WindowAttention(nn.Module): """Window based multi-head self attention""" def __init__(self, dim, window_size, num_heads): super().__init__() ... def forward(self, x): # Implementation of W-MSA or SW-MSA here. pass ``` ##### (3) 并行编码结构(Parallel Encoding Structure) 一些改进版如 TransFuse 同时部署两条平行线路分别对应执行各自特定功能职责所在领域范畴之内任务完成状况较好实例展示如下所示代码片段所呈现出来的样子就是其中之一种典型代表作而已: ```python class TransFuse(nn.Module): """Fusion model combining both ViT and CNN features.""" def __init__(self, img_size=224, patch_size=16, embed_dim=768, depth=12,...): super().__init__() ... def forward(self, x_cnn, x_trans): # Fuse outputs from two branches appropriately. fused_output = torch.cat([x_cnn, x_trans], dim=1) return final_layer(fused_output) ``` #### 4. 性能比较分析 根据不同实验设置条件下得出的结果表明,在较大规模样本集合上面训练得到权重参数初始化完毕以后测试验证环节当中往往倾向于选择那些基于转换器构建而成的新颖设计方案取得更好一点的成绩排名靠前位置占据较多份额比例较高情形较为普遍常见现象存在其中值得注意的是尽管如此有时候也可能因为过度追求理论上的优越性而导致实际应用场景里面遇到困难挑战增多反而不如稍微简化一点的传统做法更加实用可靠稳定高效等等诸多方面因素都需要考虑进去才行[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值