自正交化模块:一种用于学习正交滤波器的网络结构插件.

给全连接或者卷积模型的核加上带有正交化倾向的正则项,是不少模型的需求。核参数的正交化意味着参数的各个视角互不相关,能够减少视角的冗余,更充分的利用所有视角的参数。

通常的参数矩阵正交化的手段是添加正交化相关的正则项,比如对于正交矩阵来说有$W^⊤W=I$,所以可以添加正则项:

\[|| W^TW - I ||^2\]

上面这个正则项不仅希望正交化($w_i^Tw_j=0,i\neq j$),而且同时还希望归一化$w_i^Tw_i = 1$。如果只需要正交化,则可以把对角线部分给mask掉:

\[||( W^TW - I) \otimes (1-I) ||^2\]

本文作者指出已有正交正则项都并不能有效地提高模型的准确率,进而引入了一个新的正交正则项,并且做了相应的评估,结果表明新的正则项不仅能促进正交,而且能带来一定的结果提升。

根据基于余弦相似度的局部敏感哈希理论,给定两个向量\(w_i,w_j \in \mathbb{R}^d\),$\theta_{i,j} \in [0, \pi]$是它们的夹角,\(x \sim \mathcal{X}\)是$d$维单位超球面上的随机向量,则有:

\[\mathcal{V}_{i,j} = \mathbb{E}_{x \sim \mathcal{X}}\left[ \text{sign}\left(x^Tw_i\right)\text{sign}\left(x^Tw_j\right) \right] = 1 - \frac{2\theta}{\pi}\]

若两个向量\(w_i,w_j\)正交,则\(\mathcal{V}_{i,j}=0\)。因此可以构造正交正则项:

\[\mathcal{R}_{\mathcal{V}} = \lambda_1 \left(\sum_{i \neq j}\mathcal{V}_{i,j}\right)^2 + \lambda_2 \sum_{i \neq j} \mathcal{V}_{i,j}^2\]

其中$\lambda_1$控制的正则项柔和一些,只希望\(\mathcal{V}_{i,j}\)的均值为$0$;而$λ_2$则强硬一些,希望所有的\(\mathcal{V}_{i,j}\)都等于$0$。考虑到实际问题可能比较复杂,不应当对模型进行过于强硬的约束,所以推荐的具体值是$λ_1=100, λ_2=1$。

下面讨论\(\mathcal{V}_{i,j}\)的实际估算问题。假设采样$B$个样本$X = [x_1,…,x_B]$,则\(\mathcal{V}_{i,j}\)估算为:

\[\begin{aligned} \mathcal{V}_{i,j}&\approx \frac{1}{B}\sum_{b=1}^B \text{sign}\left(x_b^Tw_i\right)\text{sign}\left(x_b^Tw_j\right) \\ & = \left(\frac{y_i}{||y_i||_2}\right)^T\left(\frac{y_j}{||y_j||_2}\right) \\ y &= \begin{pmatrix} \text{sign}\left(x_1^Tw\right) \\ \text{sign}\left(x_2^Tw\right) \\ \vdots \\ \text{sign}\left(x_B^Tw\right) \end{pmatrix} = \text{sign}\left(X^Tw\right) \end{aligned}\]

由于\(\text{sign}(\cdot)\)函数不可导,因此采用光滑近似(实践中取$\gamma=10$):

\[\text{sign}(x) \approx \text{tanh}(\gamma x)\]

而\(X\)既可以通过随机采样构造,也可以直接选取模型当前层的输入,此时称为自正交化正则项。由于模型输入$X$与模型核矩阵$W$的乘积恰好为模型的输出$Y$(无激活函数),因此估算\(\mathcal{V}_{i,j}\)的流程可以得到化简:

  1. 对于当前层输入$X$与核矩阵$W$,做矩阵乘法输出$Y$;
  2. 用tanh$(\gamma x)$激活$Y$,沿着维度$B$做归一化;
  3. 计算$Y^TY$,用于近似\(\mathcal{V}\);进而估算正则项\(\mathcal{R}_{\mathcal{V}}\)。