tfnet(semantics论文_10篇sci论文)

发布时间:2025-12-10 19:23:21 浏览次数:4

semantics论文_10篇sci论文-TFNet BOT

semantics论文_10篇sci论文TFNet:Multi-SemanticFeatureInteractionforCTRPrediction论文简读TFNet文章信息文章标题:TFNet:Multi-SemanticFeatureInteractionforCTRPrediction发表时间:Tencent,SIGIR2020主要内容本文介绍了Tensor-basedFeatureinteractionNetwork(TFNet)模型,它引入了一个operatingten

TFNet: Multi-Semantic Feature Interaction for CTR Prediction 论文简读

TFNet

文章信息

文章标题: TFNet: Multi-Semantic Feature Interaction for CTR Prediction发表时间: Tencent, SIGIR 2020

广而告之

可以在微信中搜索 “珍妮的算法之路” 或者 “world4458” 关注我的微信公众号;另外可以看看知乎专栏 PoorMemory-机器学习, 以后文章也会发在知乎专栏中;

主要内容

本文介绍了 Tensor-based Feature interaction Network (TFNet) 模型, 它引入了一个 operating tensor, 由 multi-slice matrices 组成, 可以实现在多种语义层面的特征交叉. 网络结构图如下:

其中 tensor-based feature interaction layer 的实现如下:

假设每个 field 对应的 embedding v i ∈ R d \bm{v}_i\in\mathbb{R}^{d} vi​∈Rd, 引入 T 1 ∈ R d × m × d \bm{T}_1\in\mathbb{R}^{d\times m\times d} T1​∈Rd×m×d 这个 3 阶的 operating tensor, 其由 m m m 个大小为 T 1 [ i ] ∈ R d × d \mathrm{T}_{1}^{[i]} \in \mathbb{R}^{d \times d} T1[i]​∈Rd×d 的 slice 组成, 它对要交叉的 feature pair ( v i , v j ) (\bm{v}_i, \bm{v}_j) (vi​,vj​) 进行操作, 得到在某个语义空间下的表示. 由于 T 1 \mathrm{T}_{1} T1​ 包含 m m m 个 slice matrix, 因此可以得到一个 feature pair 在 m m m 个语义空间下的表示:

s i j = v i T T 1 v j \mathbf{s}_{i j}=\mathbf{v}_{i}^{T} \mathbf{T}_{1} \mathbf{v}_{j} sij​=viT​T1​vj​

其中 s i j ∈ R m \mathbf{s}_{i j}\in\mathbb{R}^{m} sij​∈Rm. 最后将所有交叉特征的结果 concatenation 起来, 可以得到 S ∈ R q × m \bm{S}\in\mathbb{R}^{q\times m} S∈Rq×m, 其中 q = n ∗ ( n − 1 ) / 2 q=n *(n-1) / 2 q=n∗(n−1)/2.

注: feature pair ( v i , v j ) (\bm{v}_i, \bm{v}_j) (vi​,vj​) 在某一个语义空间中的表示为一个 scalar, 即 v i T T 1 [ i ] v j \mathbf{v}_{i}^{T} \mathbf{T}_{1}^{[i]} \mathbf{v}_{j} viT​T1[i]​vj​ 的结果为 scalar, 假设

v i = [ u 1 , u 2 ] T v j = [ v 1 , v 2 ] T T 1 [ i ] = [ a b c d ] \bm{v}_i = [u_1, u_2]^T \\ \bm{v}_j = [v_1, v_2]^T \\ \mathbf{T}_{1}^{[i]} = \left[ \begin{matrix} a & b\\ c & d \end{matrix} \right] vi​=[u1​,u2​]Tvj​=[v1​,v2​]TT1[i]​=[ac​bd​]

则 v i T T 1 [ i ] v j \mathbf{v}_{i}^{T} \mathbf{T}_{1}^{[i]} \mathbf{v}_{j} viT​T1[i]​vj​ 的结果为:

[ u 1 , u 2 ] ⋅ [ a b c d ] ⋅ [ v 1 v 2 ] = a u 1 v 1 + c u 2 v 1 + b u 2 v 1 + d u 2 v 2 [u_1, u_2]\cdot\left[ \begin{matrix} a & b\\ c & d \end{matrix} \right]\cdot\left[ \begin{matrix} v_1\\ v_2 \end{matrix} \right] = au_1v_1 + cu_2v_1 + bu_2v_1 + du_2v_2 [u1​,u2​]⋅[ac​bd​]⋅[v1​v2​​]=au1​v1​+cu2​v1​+bu2​v1​+du2​v2​

这个运算实际上可以转换为, 先做 v i v j T \mathbf{v}_{i} \mathbf{v}_{j}^T vi​vjT​ 生成大小为 d × d d\times d d×d 的矩阵后, 再和 T 1 [ i ] \mathbf{T}_{1}^{[i]} T1[i]​ 做哈达玛积, 最后对矩阵中的所有值求和:

sum ( [ u 1 u 2 ] ⋅ [ v 1 , v 2 ] ⊙ [ a b c d ] ) = sum ( [ u 1 v 1 u 1 v 2 u 2 v 1 u 2 v 2 ] ⊙ [ a b c d ] ) = a u 1 v 1 + c u 2 v 1 + b u 2 v 1 + d u 2 v 2 \begin{aligned} &\text{sum}\left(\left[ \begin{matrix} u_1\\ u_2 \end{matrix} \right]\cdot[v_1, v_2]\odot\left[ \begin{matrix} a & b\\ c & d \end{matrix} \right]\right) \\ =& \text{sum}\left(\left[ \begin{matrix} u_1v_1 & u_1v_2\\ u_2v_1 & u_2v_2 \end{matrix} \right]\odot\left[ \begin{matrix} a & b\\ c & d \end{matrix} \right]\right) \\ =& au_1v_1 + cu_2v_1 + bu_2v_1 + du_2v_2 \end{aligned} ==​sum([u1​u2​​]⋅[v1​,v2​]⊙[ac​bd​])sum([u1​v1​u2​v1​​u1​v2​u2​v2​​]⊙[ac​bd​])au1​v1​+cu2​v1​+bu2​v1​+du2​v2​​

另外, 不同语义空间应该有不同的权重, 所以作者又介绍了 Adaptive Gate 来学习 T 1 \bm{T}_1 T1​, 方法如下:

不做详细介绍了, 时间宝贵~ 其中:

g a = softmax ⁡ ( v i T T 3 v j ) \mathbf{g}_{a}=\operatorname{softmax}\left(\mathbf{v}_{i}^{T} \mathbf{T}_{3} \mathbf{v}_{j}\right) ga​=softmax(viT​T3​vj​)

最后再回到第一张图 (网络结构图), 其中 S ∈ R q × m \bm{S}\in\mathbb{R}^{q\times m} S∈Rq×m, 其中 q q q 为交叉特征的个数, S \bm{S} S 保存了这些交叉特征在 m m m 个语义空间中的表达, 之后 g c ∈ R q \bm{g}_c\in\mathbb{R}^{q} gc​∈Rq 在论文中被称为 Control Gate, 用于选择重要的交叉特征, 因此得到 s h = S T g c ∈ R m \bm{s}_h = \bm{S}^T\bm{g}_c\in\mathbb{R}^{m} sh​=STgc​∈Rm

另外本文可以结合 FiBiNet 中用到的 Bilinear Interaction Layer 一起看看, 相互对比下. (详见: FiBiNet 网络介绍与源码浅析)

结论

论文简读写的字还是得尽量少些~ ????

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477