AIMET spatial SVD

Spatial singular value decomposition (spatial SVD) is a technique that decomposes one large convolution (Conv) MAC or memory layer into two smaller layers.

Consider a Conv layer with kernel (π‘š,𝑛,β„Ž,𝑀), where:

  • π‘š is the input channels

  • 𝑛 the output channels

  • β„Ž is the height of the kernel

  • 𝑀 is the width of the kernel

Spatial SVD decomposes the kernel into two kernels, one of size (π‘š,π‘˜,β„Ž,1) and one of size (π‘˜,𝑛,1,𝑀), where π‘˜ is called the rank. The smaller the value of π‘˜, the larger the degree of compression.

The following figure illustrates how spatial SVD decomposes both the output channel dimension and the size of the Conv kernel itself.

../_images/spatial_svd.png