企业级AI技术内幕:深度学习框架开发+机器学习案例实战+Alluxio解密
上QQ阅读APP看书,第一时间看更新

5.3 损失度可视化运行结果

运行chapter5_Create_AI_Framework中的Neuron_Network_Entry.py,结果如下:

运行10 000个时代,每隔100个时代打印一次误差,损失度的可视化结果如图5-6所示。

图5-6 损失度的可视化结果

图5-6中损失度是一条直线,表明损失度没有发生改变,为什么?因为BackPropagation.py中反向传播算法并没有实际更新神经网络,但BackPropagation.py代码中的确是实现了反向传播的功能。代码中有一个非常小的细节要修改,我们将在第6章进行修改。修改代码以后,损失度结果将立即改变,最初的时候损失度较大,然后是一个逐渐降低的过程。优化的结果精确度将在95%以上,误差在5%以内。

从编写框架的角度,盘古人工智能框架已经实现了TensorFlow、PyTorch框架的第一步。损失度是所有人工智能框架终身的魔咒,所有的框架都想在最短时间内最大限度地降低损失度,包括使用不同的学习率、激活函数等,都是为最大程度的降低损失度。例如使用Sigmoid激活函数、ReLU函数计算损失度,两者的结果不一样,但都是为了最快及最大程度的降低损失度。这是所有的人工智能框架,包括TensorFlow、PyTorch终身奋斗的目标。怎样在最短时间(毫秒级别)使训练最大程度的符合真实的情况,最好没有损失度,这也是人工智能应用开发者的终极目标。