在小样本学习等领域中,有一种非常有意思的正则化方法:Entropy Regularization
其原理是使得模型输出不同类别之间概率偏差大,如下图所示,当不同类别之间的概率相近时,Entropy会比较大,当某个类别的概率很大,其余类别概率较小时,Entropy会偏小。
虽然在PaddlePaddle中没有计算向量的Entropy,由于计算向量的Entropy的公式为:,因此在实际编程中可以使用交叉熵这个API来进行替代。
具体代码如下:
entropy_regularization = paddle.nn.functional.cross_entropy(softmaxed_logits, softmaxed_logits, use_softmax=False, soft_label=True)
具体代码如下: