我试图理解某个 KL 散度公式(可以在论文Evidential Deep Learning to Quantify Classification Uncertainty的第 6 页上找到)并找到了一个 TensorFlow 实现。我了解公式的大部分内容,并在它们周围放置了彩色框架。不幸的是,在实现中有一个术语(红色下划线)我不知道它如何适合公式。
这是实施中的错误吗?我不明白红色部分是如何必要的。
我试图理解某个 KL 散度公式(可以在论文Evidential Deep Learning to Quantify Classification Uncertainty的第 6 页上找到)并找到了一个 TensorFlow 实现。我了解公式的大部分内容,并在它们周围放置了彩色框架。不幸的是,在实现中有一个术语(红色下划线)我不知道它如何适合公式。
这是实施中的错误吗?我不明白红色部分是如何必要的。
它应该保留在已重构的通用代码中。顺便说一句,红色代码短语始终为零。因为,beta
是 的向量1
,并且, 即tf.math.lgamma(beta)
. 因此,零之和将为零。
正如您所说,代码的其他部分清晰并且与定义完全匹配。