SENet在双塔中的应用
SENet思想非常简单,模型结构如下:
对比推荐系统,将CV图像的通道数 c h a n n e l n u m channel_{num} channelnum 看作是user侧或ad侧的 f e a t u r e n u m feature_{num} featurenum 。以user侧特征 v i v_i vi 为例:
Squeeze
z
i
=
∑
t
=
1
k
v
i
t
k
z_i = \frac{\sum_{t=1}^k v_i^t}{k}
zi=k∑t=1kvit
将特征
v
i
v_i
vi 的embeeding平均池化成
z
i
z_i
zi
Excitation
S = ϕ ( W 2 ϕ ( W 1 Z ) ) S = \phi(W_2 \phi(W_1 Z)) S=ϕ(W2ϕ(W1Z))
- W 1 W_1 W1 用于将压缩后的特征进行特征交互
- ϕ \phi ϕ 是激活函数
- W 2 W_2 W2 用于升维,将该特征维度恢复成embedding size
总结
ENet并不能将user侧和item侧的特征交互提前或者使其获得更深层次的交互,user侧和item侧的特征交互仍然只发生在最后的内积那一步,这是由其双塔结构导致的。SENet的作用是提前将各侧的重要特征升权,不重要特征降权。
参考
- SENet双塔模型:在推荐领域召回粗排的应用及其它
- 解读Squeeze-and-Excitation Networks(SENet)