为什么这个 XOR 神经网络有 2 个输出?
Why is this XOR neural network having 2 outputs?
一般来说,一个简单的异或神经网络应该有2个输入,2个隐藏层神经元,1个输出层神经元。
但是,下面的示例实现有 2 个输出神经元,我不明白:
为什么作者要放2个输出神经元?
编辑:
该示例的作者指出,他在隐藏层使用 4 个神经元,在输出层使用 2 个神经元。但我仍然不明白为什么,为什么形状是 {4,2} 而不是 {2,1}?
作者最后使用了评估 class(用于统计网络给出正确结果的频率)。此 class 每个 class 化需要一个神经元才能正常工作,即一个输出神经元用于 true,一个用于 false。
这叫做一个热编码。这个想法是每个 class 有一个神经元。每个神经元给出 class.
的概率
我不知道他为什么用4个隐藏神经元。 2 应该足够了(如果我没记错的话)。
这样想可能会有所帮助:
Training Set Label Set
0 | 1 0 | 1
0 | 0 | 0 0 | 0 | 1
1 | 1 | 0 1 | 1 | 0
2 | 0 | 1 2 | 1 | 0
3 | 1 | 1 3 | 0 | 1
因此训练集的 [[0,0], 0], [[0,1], 0] 等。
如果您使用的是两列标签集,0
和 1
对应于 true
或 false
。
因此,[0,0] 正确映射到 false,[1,0] 正确映射到 true,等等
一篇稍加修改的不错的文章可以在这里找到:https://medium.com/autonomous-agents/how-to-teach-logic-to-your-neuralnetworks-116215c71a49
一般来说,一个简单的异或神经网络应该有2个输入,2个隐藏层神经元,1个输出层神经元。
但是,下面的示例实现有 2 个输出神经元,我不明白:
为什么作者要放2个输出神经元?
编辑: 该示例的作者指出,他在隐藏层使用 4 个神经元,在输出层使用 2 个神经元。但我仍然不明白为什么,为什么形状是 {4,2} 而不是 {2,1}?
作者最后使用了评估 class(用于统计网络给出正确结果的频率)。此 class 每个 class 化需要一个神经元才能正常工作,即一个输出神经元用于 true,一个用于 false。
这叫做一个热编码。这个想法是每个 class 有一个神经元。每个神经元给出 class.
的概率我不知道他为什么用4个隐藏神经元。 2 应该足够了(如果我没记错的话)。
这样想可能会有所帮助:
Training Set Label Set
0 | 1 0 | 1
0 | 0 | 0 0 | 0 | 1
1 | 1 | 0 1 | 1 | 0
2 | 0 | 1 2 | 1 | 0
3 | 1 | 1 3 | 0 | 1
因此训练集的 [[0,0], 0], [[0,1], 0] 等。
如果您使用的是两列标签集,0
和 1
对应于 true
或 false
。
因此,[0,0] 正确映射到 false,[1,0] 正确映射到 true,等等
一篇稍加修改的不错的文章可以在这里找到:https://medium.com/autonomous-agents/how-to-teach-logic-to-your-neuralnetworks-116215c71a49