文章目录
Vision transformer
假设每个图像有 h ∗ w h*w h∗w 个patch,维度是 C C C
输入的图像 X X X ( 大小为 h w ∗ C hw* C hw∗C ),和三个系数矩阵相乘 ( 大小为 C ∗ C C*C C∗C ),得到 q k v qkv qkv 三个向量 ( h w ∗ C hw*C hw∗C ),复杂度为:
3 h w C 2 3hwC^2 3hwC2
q q q ( h w ∗ C hw*C hw∗C ) 和 k T k^T kT ( C ∗ h w C*hw C∗hw ) 相乘得到矩阵 A A A ( h w ∗ h w hw*hw hw∗hw ),复杂度为: ( h w ) 2 C (hw)^2C (hw)2C
A A A ( h w ∗ h w hw*hw hw∗hw ) 和 v v v ( h w ∗ C hw*C hw∗C )相乘,得到多头注意力的结果 ( h w ∗ C hw*C hw∗C ),复杂度为: ( h w ) 2 C (hw)^2C (hw)2C
经过MLP投影层 ( C ∗ C C*C C∗C ),得到 ( h w ∗ C hw*C hw∗C ),复杂度为:
h w C 2 hwC^2 hwC2
所以复杂度之和为: 4 h w C 2 + 2 ( h w ) 2 C 4hwC^2 + 2(hw)^2C 4hwC2+2(hw)2C</