BiDet代码解析3:正则化损失(Regularization Loss,RL)

if REGULARIZATION_LOSS_WEIGHT != 0.:
            f_num = len(feature_map)
            loss_r = 0.

            for f_m in feature_map:
                loss_r += (f_m ** 2).mean()

            loss_r *= REGULARIZATION_LOSS_WEIGHT
            loss_r /= float(f_num) 

这段代码是BiDet算法中的最后一个重要部分,它实现了正则化损失(Regularization Loss,RL)的功能。RL的目的是在训练过程中增加特征图的稀疏性,从而减少二值化网络的计算量和内存占用。

具体来说,这段代码的作用是计算每个特征图的平方均值,然后对所有特征图求和,再乘以一个正则化系数。这样做的好处是可以惩罚特征图中的非零元素,鼓励特征图中的元素趋向于0或1¹。这样可以提高二值化网络的压缩率和加速比¹。

这段代码中,f_num是特征图的数量,loss_r是正则化损失,f_m是每个特征图,REGULARIZATION_LOSS_WEIGHT是正则化系数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值