sgr-interview-300

第 38 题:FiBiNET的Squeeze-Excitation,与CV中SE-Net的输入维度差异处理?

题目

FiBiNET的Squeeze-Excitation,与CV中SE-Net的输入维度差异处理?


完整讲解

一、CV 里 SE-Net 的 Squeeze-Excitation

SE(Squeeze-and-Excitation)在 CV 中作用在通道维:对特征图 $\boldsymbol{X} \in \mathbb{R}^{H \times W \times C}$,先 Squeeze(对空间维 $H \times W$ 做全局池化)得到 $C$ 维向量 $\boldsymbol{z}$,再 Excitation(两层 FC:$C \to C/r \to C$,中间用 ReLU)得到 $C$ 个通道权重,最后用这些权重对原特征图逐通道 scale。即输入是 3D(高×宽×通道),Squeeze 压掉空间维,得到 1D 通道向量,维度从 $H \times W \times C$ 变成 $C$。

二、FiBiNET 里的 SE 用在什么上

FiBiNET 在双线性特征交互之后,对「交互结果」做双线性权重的重标定。具体地,会得到一组向量(例如每个 field 对对应一个向量,或每个特征一个向量),把这些向量在「某个维度」上排成矩阵,例如形状为「特征数 × 隐维」或「field 对数 × 隐维」。此时没有空间维 $H \times W$,只有「样本内特征/field 数」和「隐维」两维,即输入是 2D(如 $F \times D$ 或 $n \times d$),而不是 3D 特征图。

三、输入维度差异怎么处理

无论哪种,核心都是:CV 输入 3D,压空间得通道权;FiBiNET 输入 2D,要选「压哪一维、权哪一维」,选「压隐维、权特征」或「压特征、权隐维」取决于你是想强调「哪些特征/field 重要」还是「哪些隐维重要」,实现时维度与 FC 的 in/out 与之一致即可。

四、小结

FiBiNET 的 SE 与 CV 的 SE-Net 思想相同(Squeeze 聚合、Excitation 学权重、再 scale),输入形状不同(2D 特征矩阵 vs 3D 特征图),通过「选定哪一维当空间、哪一维当通道」并相应做池化与 FC,即可复刻 SE 的「压缩–激励」流程。


面试要点


记忆要点

返回模块 返回总览