【发布时间】:2020-02-11 19:34:35
【问题描述】:
我正在尝试复现一篇深度学习论文的实验结果,
我注意到损失函数,类别交叉熵有一个 L1 正则化可以在下面看到,
那么,如何计算模型复杂度并在 Keras/Tensorflow 中添加正确的自定义损失函数?
【问题讨论】:
标签: python tensorflow machine-learning keras deep-learning
我正在尝试复现一篇深度学习论文的实验结果,
我注意到损失函数,类别交叉熵有一个 L1 正则化可以在下面看到,
那么,如何计算模型复杂度并在 Keras/Tensorflow 中添加正确的自定义损失函数?
【问题讨论】:
标签: python tensorflow machine-learning keras deep-learning
这只是一个规范,可能不一定是 1-规范。不过,在 tensorflow 中,如果您将参数存储在一个列表中(我将其称为 para_list),这将非常简单:
l1_reg_term = sum([tf.reduce_sum(tf.abs(_var)) for _var in para_list])
reg_loss = loss + alpha * l1_reg_term
获取参数的一种方法是命名它们。然后,您可以使用 tf.get_global_variables() 或 tf.get_trainable_variables() 从全局空间中提取它们。
【讨论】: