网络模型权重文件大小降低1/3;
网络运行显存降低18%;
运行时间降低9%;
baseline模型提取的特征余弦距离为0.99
根据ip1和ip2的num_output,我们可以看出,ip1有64个神经元,ip2有10个神经元。也就是说在ip2这一层的权重矩阵W,其shape为(10, 64),根据SVD公式:
![]()
分解之后,得到U矩阵的shape为(10, 10),V矩阵的(64, 64),s为10个奇异值组成的向量。对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。也就是说,我们也可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵, 如下图所示:

所以,我们将权重矩阵分解,

通过SVD分解,网络模型权重文件大小降低1/3,运行显存减少18%,运行时间下降9%。在某些情况下,前10%甚至1%的奇异值就能近似描述矩阵,从而允许在全连接层引入中间层,将权重矩阵维度由(m, n)降低到(m+n)k,实现模型压缩。"
112467818,10551950,Glide源码解析:内存和磁盘缓存策略,"['Android开发', '图片加载库', 'Glide框架', '内存缓存', '磁盘缓存']
最低0.47元/天 解锁文章
499

被折叠的 条评论
为什么被折叠?



