如何定量评估原始神经网络激活?

数据挖掘 神经网络 深度学习 喀拉斯 火炬 激活函数
2022-01-21 19:58:58

下面是 2 个不同预测的激活。这些预测适用于不同的标签/类别。它们正在通过具有 2 个隐藏层和亚当优化器的密集 Keras NN(准确率为 96.6%)运行。

对于成功训练的 NN,我应该寻找激活数值的哪些趋势?

  • 您希望大多数激活是高还是零……而不是在中间的某个地方?
  • 哪些值表明您需要添加/删除图层?
  • 什么最大激活值太高?就像我看到 8 时我应该担心当我的其他高值在 4 左右时?

罗

在此处输入图像描述

1个回答

1)对于给定实例,很难解释给定节点上的给定权重,尤其是在隐藏层中。

2)您只能处理特定情况:

  • 对于第一层上的所有实例,给定变量的权重非常低意味着您可以删除变量(如果变量相对统一,则标准化)。

  • 对于某些激活函数,您可以移除激活到很少(或没有)实例的“死”神经元。更一般地说,关于您的问题,答案很大程度上取决于激活的类型。我建议您阅读: Lecun 的http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf以避免常见的陷阱。它还将让您了解要寻找的问题(消失/爆炸梯度,死神经元......等)

3)关于架构:作为网络规模的经验法则,我建议从大开始,获得性能基准并删除层/单元,直到性能下降。我不确定你是否只绘制了隐藏层,但在大多数情况下,层数应该减少。

4) 您可能想查看一些解释性工具,例如 DEEPLIFT 或 SHAP,它们会为您提供变量重要性,总结实例的所有变量影响。这些方法有一些限制,但它们会更容易阅读。