Introduction and related work
这是《LearningbothWeightsandConnectionsforEfficient NeuralNetworks》中所有关于缩小时间的描述:
这个3x就是根据应该计算的浮点数得出的,即去掉那些剪掉的权重,余下的权重需要参与的浮点数计算。用索引or用mask,都没有说。但无论用索引(索引也很费时间,这要看到底有多稀疏,才能知道能不能减少时间)还是用mask(不会减少时间),都不会达到减少时间的目的
一次载入确实减少了多次载入的花费时间。但,如果用mask,这种一次载入并不好用。而用索引,倒是可以,但需要对没有计算的激活值填零。
这篇文章主要是讲述缩小网络的大小。但是,关于时间并没有深入讲述。
存储是按稀疏矩阵的存储方式,所以可以全部载入内存进行计算。所以减少了多次载入内存的时间。但是,按照dense convolution的方式进行计算,还是需要复制输入(原图或feature map),即需要多次将输入载入内存吗,从而耗费时间。而direct sparse convolution则缩小输入,从而再次减少载入内存时间。
但是Learning both weights and connections for efficient neural networks和FASTER CNNS WITH DIRECT SPARSE CONVOLUTIONS AND GUIDED PRUNING两篇论文中个,针对weight为0的连接,还需要计算吗?
如果weight为0的不需要计算,那么在第一篇论文中,feature map中没有计算的那些激活值需要填0吗?
第二篇论文中,weight为0的需不需要计算,取决于第一篇论文中的0计没计算。