我想实现DSD:Han等人的Dense-Sparse-Dense training for deep neural networks。简而言之,本文提出了以下训练方案来提高网络准确性:
0
的百分比来实现的。这些权重将被完全修剪掉,因此不会影响正向或反向传递中的任何计算。0
重构修剪的权重并使用原始学习率的1/10
训练模型。问题与修剪过程有关。诸如this和this之类的Tensorflow和Keras示例仅涉及修剪,而不会再次恢复这些权重。这些方法用于压缩模型。因此,实现DSD的最佳方法是忽略相关权重(这些权重在百分比上接近于0作为我们的稀疏性约束),并使它们不进行正向传递或反向传播。还有一个this类似的问题,问是否在每次向前或向后传递之后使用回调将权重手动设置为零是否可以解决问题,但也有人认为权重仍在得到更新。
TL; DR。 tf或keras中是否有任何方法可以使选定的权重不影响前进或后退传递。从字面上看,它们甚至不存在。
谢谢。