功能:泊松分布的负对数似然损失函数,分类里面如果发现数据的类别服从泊松分布,可以使用这个损失函数。 5.nn.KLDivLoss 功能:计算KLD,KL散度,相对熵。注意:需要提前将输入计算log-probabilities,如通过nn.logsoftmax() 其实这个已经再上面交叉熵的时候说完了。上面的pytorch里面的计算和我们原来公式里面的计算有点不太...
1. KL散度 torch.nn.KLDivLoss(size_average=None, reduce=None, reduction='mean', log_target=False) 1. **功能:**计算KL散度,也就是计算相对熵。用于连续分布的距离度量,并且对离散采用的连续输出空间分布进行回归通常很有用。主要参数:reduction:计算模式,可为 none/sum/mean/batchmean。 none:逐个元素计...
(就是js散度了,不过和离线的知识蒸馏不同,离线的知识蒸馏中teacher model是untrainable的,所以计算js和计算kl基本没什么区别,这里两个model都是trainable的): # define drop rate schedule self.rate_schedule = np.ones(config['epochs']) * forget_rate self.rate_schedule[:config['num_gradual']] =pinspace...