
论文信息
Title:
Rewrite the Stars
Url:
https://arxiv.org/abs/2403.19967
Code:
https://github.com/ma-xu/Rewrite-the-Stars
DOI:
10.1109/CVPR52733.2024.00544
贡献
- 作者证明了星(star)操作 ‘*’(逐元素相乘)可以将特征映射到高维的隐式特征空间;
- 基于星操作,设计了StarNet。
方法
-
单层星操作
对于 d d d维的输入特征 X ∈ R ( d + 1 ) × n {\text{X}} \in {\mathbb{R}^{(d + 1) \times n}} X∈R(d+1)×n和权重 W 1 , W 2 ∈ R ( d + 1 ) × ( d ′ + 1 ) {{\text{W}}_{\text{1}}}{\text{,}}{{\text{W}}_{\text{2}}} \in {\mathbb{R}^{(d + 1) \times (d' + 1)}} W1,W2∈R(d+1)×(d′+1),星操作可以写成 ( W 1 T X + B 1 ) ∗ ( W 2 T X + B 2 ) ({\text{W}}_{\text{1}}^{\text{T}}{\text{X + }}{{\text{B}}_{\text{1}}}) * ({\text{W}}_2^{\text{T}}{\text{X + }}{{\text{B}}_2}) (W1TX + B1)∗(W2TX + B2),将其简化为 ( W 1 T X ) ∗ ( W 2 T X ) ({\text{W}}_{\text{1}}^{\text{T}}{\text{X}}) * ({\text{W}}_2^{\text{T}}{\text{X}}) (W1TX)∗(W2TX),该特征从 d d d维映射到更高维度 d ′ d' d′。作者重写(rewrite)星操作:
上式中,当 d ≫ 2 d \gg 2 d≫2时,重写操作可以将 d d d维特征映射到 ( d + 2 ) ( d + 1 ) 2 ≈ ( d 2 ) 2 \frac{{(d + 2)(d + 1)}}{2} \approx {(\frac{d}{{\sqrt 2 }})^2} 2(d+2)(d+1)≈(2d)2维隐式特征空间,从而放大了特征维度。该重写操作,可以通过下图理解,通过两个全连接层之后,再使用
*
。
这个
*
操作可以直接将两个 d d d维的全连接层隐式地映射到 ( d 2 ) 2 {(\frac{d}{{\sqrt 2 }})^2} (2d)2,也就是说:
*
操作: d → ( d 2 ) 2 d \to {(\frac{d}{{\sqrt 2 }})^2} d→(2d)2,无需映入额外的参数
sum
操作: d → 2 d d \to 2d d→2d
例如:
假设 d d d=3
则对于*
操作: ( ∑ i = 1 3 w 1 i x i ) ∗ ( ∑ j = 1 3 w 2 j x j ) = ( w 1 1 x 1 + w 1 2 x 2 + w 1 3 x 3 ) ∗ ( w 2 1 x 1 + w 2 2 x 2 + w 2 3 x 3 ) = ( ) x 1 x 1 + ( ) x 1 x 2 + ( ) x 1 x 3 + ( ) x 2 x 2 + ( ) x 2 x 3 + ( ) x 3 x 3 \begin{gathered} (\sum\limits_{i = 1}^3 {w_1^i{x^i})} * (\sum\limits_{j = 1}^3 {w_2^j{x^j})} \\ = (w_1^1{x^1} + w_1^2{x^2} + w_1^3{x^3}) * (w_2^1{x^1} + w_2^2{x^2} + w_2^3{x^3}) \\ = (){x^1}{x^1} + (){x^1}{x^2} + (){x^1}{x^3} + (){x^2}{x^2} + (){x^2}{x^3} + (){x^3}{x^3} \\ \end{gathered} (i=1∑3w1ixi)∗(j=1∑3w2jxj)=(w11x1+w12x2+w13x3)∗(w21x1+w22x2+w23x3)=()x1x1+()x1x2+()x1x3+()x2x2+()x2x3+()x3x3 未引入偏置,所以拥有 ( d + 1 ) d 2 \frac{{(d + 1)d}}{2} 2(d+1)d=6项
则对于sum
操作:
( ∑ i = 1 3 w 1 i x i ) + ( ∑ j = 1 3 w 2 j x j ) = ( w 1 1 x 1 + w 1 2 x 2 + w 1 3 x 3 ) + ( w 2 1 x 1 + w 2 2 x 2 + w 2 3 x 3 ) (\sum\limits_{i = 1}^3 {w_1^i{x^i})} + (\sum\limits_{j = 1}^3 {w_2^j{x^j})} = (w_1^1{x^1} + w_1^2{x^2} + w_1^3{x^3}) + (w_2^1{x^1} + w_2^2{x^2} + w_2^3{x^3}) (i=1∑3w1ixi)+(j=1∑3w2jxj)=(w11x1+w12x2+w13x3)+(w21x1+w22x2+w23x3)拥有2 d d d=6项
注:可以发现,当 d d d=3 时,*
操作和sum
操作的项是一样的,所以论文要求 d ≫ 2 d \gg 2 d≫2时,*
操作的优势才能体现。
因此,假设 d d d=32 时
*
操作: ( d + 1 ) d 2 \frac{{(d + 1)d}}{2} 2(d+1)d=528项
sum
操作:2 d d d=64项
作者证明了*
操作的特征隐式升维
- StarNet网络
作者基于*
操作,设计了轻量化的StarNet。
设计了不同版本的StarNet【s1、s2、s3和s4】
实验
- 不同网络的实验对比
- sum和star操作对比
上图可以看出,星(star)操作的Top-1性能优于sum操作。两种操作在GPU和Mobile设备中的推理速度几乎一样。