- 企业级AI技术内幕:深度学习框架开发+机器学习案例实战+Alluxio解密
- 王家林 段智华编著
- 462字
- 2021-03-26 23:53:55
5.3 损失度可视化运行结果
运行chapter5_Create_AI_Framework中的Neuron_Network_Entry.py,结果如下:
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P88_130806.jpg?sign=1739036505-V74I3YU33kFqhDmqq5L1RFTwlaCWuKah-0-67f9a6afa81577584d39a251fc09eb6d)
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P89_130807.jpg?sign=1739036505-TJw8nvTNXDseP97QISSkKog47ZIBH4ZK-0-6da39786305f6ebca3a3fdb0f1a8f146)
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P90_130808.jpg?sign=1739036505-ii2I2bjwNyZM2YzlNjHGzp8oIJSFFQLG-0-97a1222571ef28fe6521bef3c46e92f5)
运行10 000个时代,每隔100个时代打印一次误差,损失度的可视化结果如图5-6所示。
![](https://epubservercos.yuewen.com/A2E645/19549640608913906/epubprivate/OEBPS/Images/Figure-P90_13432.jpg?sign=1739036505-Jf0LgQaeZV7D4UijVhvdVyVG0L0vFhrY-0-c50f25865fb0a80e54a29ea9fc1ee190)
图5-6 损失度的可视化结果
图5-6中损失度是一条直线,表明损失度没有发生改变,为什么?因为BackPropagation.py中反向传播算法并没有实际更新神经网络,但BackPropagation.py代码中的确是实现了反向传播的功能。代码中有一个非常小的细节要修改,我们将在第6章进行修改。修改代码以后,损失度结果将立即改变,最初的时候损失度较大,然后是一个逐渐降低的过程。优化的结果精确度将在95%以上,误差在5%以内。
从编写框架的角度,盘古人工智能框架已经实现了TensorFlow、PyTorch框架的第一步。损失度是所有人工智能框架终身的魔咒,所有的框架都想在最短时间内最大限度地降低损失度,包括使用不同的学习率、激活函数等,都是为最大程度的降低损失度。例如使用Sigmoid激活函数、ReLU函数计算损失度,两者的结果不一样,但都是为了最快及最大程度的降低损失度。这是所有的人工智能框架,包括TensorFlow、PyTorch终身奋斗的目标。怎样在最短时间(毫秒级别)使训练最大程度的符合真实的情况,最好没有损失度,这也是人工智能应用开发者的终极目标。