【发布时间】:2026-01-12 15:00:01
【问题描述】:
假设我有一个卷积神经网络来分类 MNIST 数字,例如这个 Keras example。这纯粹是为了实验,所以我没有明确的理由或理由说明为什么要这样做,但假设我想规范或惩罚中间层的输出。我意识到下面的可视化与 MNIST CNN 示例不对应,而是只有几个完全连接的层。但是,为了帮助可视化我的意思,假设我想对第 4 层中的节点值施加惩罚(激活前或激活后对我来说都可以)。 除了具有多类分类典型的分类交叉熵损失项之外,我想在损失函数中添加另一个项,以最小化给定层输出的平方和。这在概念上有点类似于 l2 正则化,除了 l2 正则化是惩罚网络中所有权重的平方和。相反,我只对给定层(例如第 4 层)的值感兴趣,而不是网络中的所有权重。
我意识到这需要使用 keras 后端编写自定义损失函数来结合分类交叉熵和惩罚项,但我不确定如何在损失函数中使用中间层作为惩罚项。我将非常感谢有关如何执行此操作的帮助。谢谢!
【问题讨论】:
-
你用什么工具来制作这张图片?
标签: tensorflow keras conv-neural-network keras-layer loss-function