路人战队|用C语言从头开始实现一个神经网络( 二 )


路人战队|用C语言从头开始实现一个神经网络测试框架:现在我们已经准备好了所有的部分 , 我们将验证框架的工作情况 。 因此 , 让我们创建一个4层的神经网络 , 输入层有2个神经元 , 第一隐含层有4个神经元 , 第二隐含层有4个神经元 , 输出层有1个神经元 。 另外 , 隐藏的和输出的神经元会有偏差 。
路人战队|用C语言从头开始实现一个神经网络现在 , 我们可以针对不同的逻辑门训练这个神经网络 , 比如XOR, OR等等 。 在下面的示例中 , 我们将实现XOR gate 。
首先 , 提供所需的层数和每层神经元的数目:
Enter the number of Layers in Neural Network: 4
Enter number of neurons in layer[1]: 2
Enter number of neurons in layer[2]: 4
Enter number of neurons in layer[3]: 4
Enter number of neurons in layer[4]: 1
神经网络体系结构将根据给定的规范创建:
Created Layer: 1
Number of Neurons in Layer 1: 2
Neuron 1 in Layer 1 created
Neuron 2 in Layer 1 created
Created Layer: 2
Number of Neurons in Layer 2: 4
Neuron 1 in Layer 2 created
Neuron 2 in Layer 2 created
Neuron 3 in Layer 2 created
Neuron 4 in Layer 2 created
Created Layer: 3
Number of Neurons in Layer 3: 4
Neuron 1 in Layer 3 created
Neuron 2 in Layer 3 created
Neuron 3 in Layer 3 created
Neuron 4 in Layer 3 created
Created Layer: 4
Number of Neurons in Layer 4: 1
Neuron 1 in Layer 4 created
所有的权值将在0和1之间随机初始化 。
接下来 , 提供学习率和输入训练示例 。 下面是XOR逻辑门的真值表 。
路人战队|用C语言从头开始实现一个神经网络我们将以上4个输入作为神经网络的训练实例 。
Enter the learning rate (Usually 0.15): 0.15
Enter the number of training examples: 4
Enter the Inputs for training example[0]: 0 0
Enter the Inputs for training example[1]: 0 1
Enter the Inputs for training example[2]: 1 0
Enter the Inputs for training example[3]: 1 1
输出标签:
Enter the Desired Outputs (Labels) for training example[0]: 0
Enter the Desired Outputs (Labels) for training example[1]: 1
Enter the Desired Outputs (Labels) for training example[2]: 1
Enter the Desired Outputs (Labels) for training example[3]: 0
我们的神经网络将在这4个训练实例上训练20000个epoch 。 现在 , 测试训练好的神经网络:
Enter input to test: 0 0
Output: 0
Enter input to test: 0 1
Output: 1
Enter input to test: 1 0
Output: 1
Enter input to test: 1 1
Output: 0
【路人战队|用C语言从头开始实现一个神经网络】总结:
这是一个神经网络框架的基本实现 , 目的是了解神经网络的基本原理和反向传播算法 。 可以通过实现各种损失函数和提供保存/装载重量来增强代码 。
雷锋字幕组是由AI爱好者组成的志愿者翻译团队;团队成员有大数据专家、算法工程师、图像处理工程师、产品经理、产品运营、IT咨询人、在校师生;志愿者们来自IBM、AVL、Adobe、阿里、百度等知名企业 , 北大、清华、港大、中科院、南卡罗莱纳大学、早稻田大学等海内外高校研究所 。


推荐阅读