目前,包括计算机视觉、语音识别和机器人在内的诸多人工智能应用已广泛使用了深度神经网络(deep neural networks,dnn)。dnn 在很多人工智能任务之中表现出当前最佳的准确度,但同时也存在着计算复杂度高的问题。
因此,那些能帮助dnn高效处理并提升效率和吞吐量,同时又无损于表现准确度或不会增加硬件成本的技术是在人工智能系统之中广泛部署dnn的关键。所以在为深度神经网络排除故障方面,我们要先考虑要寻找什么,再花时间追踪故障,解决问题。
下面讨论如何可视化深度学习模型和性能指标:
1、tensorboard
在每一步追踪每个动作、检查结果是非常重要。在预置包如 tensorboard 的帮助下,可视化模型和性能指标变得简单。能够有效地展示tensorflow在运行过程中的计算图、各种指标随着时间的变化趋势以及训练中使用到的数据信息。
2、数据可视化
验证模型数据的输入和输出,在向模型馈送数据之前,先保存一些训练和验证样本用于视觉验证。然后取消数据预处理,将像素值重新调整回 [0, 255],检查多个批次,以确定没有重复相同批次的数据。定期保存对应模型的输出,可用于验证和误差分析。
3、损失&准确率
除了定期记录损失和准确率之外,还可以记录和绘制它们,以分析其长期趋势。绘制损失图能够帮助我们调整学习率,损失的任意长期上升表明学习率太高了。如果学习率较低,则学习的速度变慢。
深度学习训练可以在更高级别的数学精度上非常精确地进行,然后在运行时可以用较低精度的数学来实现,从而获得改良的吞吐量、效率甚至延迟。所以保持高准确率对于最佳用户体验至关重要。
4、总结
权重&偏置
紧密监控训练出来的特征参数,出现大型权重是不正常的,正态分布的权重表明训练过程很顺利。权重更新较小,进而导致收敛速度变慢,这使会使得损失函数的优化变得缓慢。在最坏的情况下,可能会完全停止神经网络的进一步训练。
激活
为了梯度下降以实现训练的最佳性能,激活函数之前的节点输出应该呈正态分布。如果不是,那么我们可能向卷积层应用归一化,或者向rnn应用层归一化,并将激活函数应用于其获取该层的输出并将其作为输入馈送到下一个层。最后还需监控激活函数之后无效节点的数量。
梯度
我们监控每一层的梯度,以确定一个最严肃的深度学习问题:梯度消失或爆炸。如果梯度从最右层向最左层快速下降,导致于要用非常大的训练轮数去训练,那么就出现了梯度消失问题。如果在梯度下降的过程中每一次迭代的步长非常大,这对我们找到最优解也就是最小值有非常大的阻碍,增加了我们的训练难度,这就是梯度爆炸。
介绍一款用于室内测距的UWB模块SKU603
ANDON安灯异常系统有哪些功能和特点呢
人工智能赋能各行业智能化发展
SOP-8贴片士兰微SDH8302S电磁炉开关电源芯片
Xilinx FPGA学习笔记
如何进行可视化深度学习模型和性能指标
CKBO电机保护控制器的特点、技术参数和使用方法
噪音频现:人类未来会向机器人讨饭?
我国民营火箭企业“星际荣耀”完成A轮融资,日本民营火箭企业发射火箭失败
大模型“四小龙”,能否跨越深渊?
为什么深度模型在 CV 领域好使,但用在图网络上就这么难呢?
数控系统的组成以及工作过程的详细介绍
难怪家里的网总不好!原来是路由器的天线摆错了!
高通正式宣布年度股东大会将推迟至4月5日举行
户外led显示屏安装注意事项
工业机器人具有什么样的加工优势?
科技零距离 | 5G R17标准研测如何“快、好、省”?
示波器探头的选择和使用系列(二),三代功率半导体电路测试的DP0001A高压差分探头
华米确认推出Amazfit首款TWS耳机新品,入耳式设计搭载心率传感器
小米游戏本评测 比其他专业游戏本更加轻薄更加低调