什么?神经网络还能创造新知识?(2)
异或运算的好处是可以训练整个参数空间,因为只有四种可能的配置可以教。然而,需要一些在神经网络中传递数据集的过程来驱动模型达到零损耗和100%精准,即输出趋向于一个分别是(0,1)、(1,0)和(0,0)、(1,1)的零。 异或运算神经网络的Loss和epochs对比 异或运算神经网络的Accuracy 和epochs对比 然而,训练期也可能陷入停滞,无法衔接。接着精准度停止在75%甚至50%,即一个或两个二元元组的映射是不正确的。在这种情况下就要重新构建神经网络,直到得到合适的解决方案。 分析和结论 现在验证Keras神经网络是否与建构的具有相似结构。通过返回权值(参见代码片段的末尾),得到了权值和偏差值。 Python的脚本输出 使用这些参数来重建神经网络(再次使用Excel)。由三个操作符组成。 基于Keras训练的异或运算神经网络 通过输入所有可能的配置,可以识别与H1、H2和O操作符关联的布尔函数。 Keras在异或运算神经网络中的布尔函数 有趣的是,本以为Keras 神经网络与所建构的逻辑是一样的,但它却创建了另一种解决方案。使用OR,AND和(相对没人知道的)INH,而非操作符NAND, OR 和AND,即神经网络找到的公式。
这表明神经网络可以获得以前没有的知识!当然“新知识”是相对的,并且取决于知道的程度。也就是说,若一个人知道异或运算的所有表示形式,Keras 神经网络就不会有其他价值。 此外,对于更复杂的神经网络,将权值转换为显式算法或公式并不容易。但也许这种专业知识是未来人工智能专家必须具备的能力。
(编辑:ASP站长网) |