我参与了一个研究项目,该项目旨在研究在安全关键环境中使用神经网络。这项研究的监管框架的一部分旨在规定系统内不得存在休眠代码。系统的每个部分都必须有一条路径,并且该路径必须是可测试/可验证的。
显然,神经网络由许多节点组成。输入/输出节点很容易测试激活,但是有人知道测试隐藏层节点激活的方法吗?
显然,激活取决于节点的输入值和激活函数,并且可能有数学方法来实现这一点。
最终代码将采用 C/C++ 语言,但我们正在使用 Python 进行神经网络开发。因此,任何涉及相关工具集的想法都将受到感激。如果这有助于此测试,我还可以将 NN 结构和矩阵导出/导入到另一个包或环境。
希望你们都能充满想法,因为 Google 没有提供任何东西。 :(
谢谢。
最佳答案
不知何故,techytushar 的评论将我的大脑推向了新的推理路线,我认为这非常有帮助:
所以我要解决的问题是:“不能有休眠代码。”是永远也不能访问的 C 行或数组元素。
因此,当经过训练的神经网络作为已编译的 C 应用程序运行时,该应用程序将计算每个神经元的值并评估其激活函数,而不管节点的输入值如何。所以实际上在这方面不存在休眠代码或数组元素之类的东西。只是该节点当时激活的真/假输出。也许下一刻就会改变。一切都将被重新计算,即使从数学上来说结果始终是没有激活。
因此,问题就离开了这个主题,转向确保节点激活的组合不会导致系统处于危险状态。这偏离了原来问题的主题,所以我想我可以在这下面画一条线......?
关于python - 神经网络 - 检查节点激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58976062/