最近学习了Transformer模型,突然意识到我常阅读的一篇论文中也使用了Transformer。回想起上次开组会时,老师问我论文中的模型是什么,我当时没有答上来,现在才发现其实用的就是Transformer。这种学习过程让我深感,学得越多,知识之间的联系就会越清晰,许多概念最终都能融会贯通。 这里也分享一下论文地址。
这篇论文主要探讨了如何利用联邦学习来解决跨域推荐问题,然后是在序列编码器和域提示机制上运用了Transformer来增强模型的性能。
序列编码器
在推荐系统中,不同的领域(Domain)之间需要进行数据交换与学习。为了保护用户隐私,这篇论文引入了联邦学习算法。与传统上传用户数据的方式不同,联邦学习仅上传模型参数的梯度进行聚合,让客户端在本地进行模型训练,从而防止攻击者通过附加手段从模型参数或梯度中推断出隐私特征。
在这个背景下,论文中的序列编码器使用了Transformer架构,主要依赖于Transformer的核心组件:多头自注意力机制(Multi-Head Attention, MH)和位置感知前馈神经网络(Position-wise Feedforward Network, FFN)。这些模块使得模型能够捕捉用户行为数据中的顺序依赖关系。
具体来说,Transformer的自注意力机制能够让模型在计算某个输入项目时,同时关注其他位置的输入。这种全局的依赖建模能力,使得模型能够对用户的序列化行为进行更好的理解,从而提升推荐的准确性。
对于每个输入项目向量
v
i
v_i
vi,我们首先将其与对应的位置信息嵌入
p
j
p_j
pj相加(j为项目在序列中的位置),以确保模型能够感知项目序列中的位置。类似于处理句子时,不仅需要知道某个字的内容,还需要考虑它在句子中的位置。因此,有:
h
j
0
=
v
i
+
p
j
h_j^0 = v_i + p_j
hj0=vi+pj
然后,作者将这个初始状态
h
j
0
h_j^0
hj0输入到MH和FFN中进行非线性变换,编码过程的定义如下:
H
l
=
[
h
0
l
;
.
.
.
;
h
n
l
]
H^l=[h_0^l;...;h_n^l]
Hl=[h0l;...;hnl]
H
(
l
+
1
)
=
F
F
N
(
M
H
(
H
l
)
)
,
l
∈
1
,
2
,
.
.
.
,
L
H^(l+1)=FFN(MH(H^l)),l\in {1,2,...,L}
H(l+1)=FFN(MH(Hl)),l∈1,2,...,L
其中
标签:...,Transformer,跨域,提示,模型,组会,序列,注意力 From: https://blog.csdn.net/m0_46069937/article/details/142884078