加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

你用什么方法调试深度神经网络?这里有四种简单的方式哦

发布时间:2019-04-02 00:17:30 所属栏目:经验 来源:机器之心编译
导读:当你花了几个星期构建一个数据集、编码一个神经网络并训练好了模型,然后发现结果并不理想,接下来你会怎么做? 深度学习通常被视为一个黑盒子,我并不反对这种观点但是你能讲清楚学到的上万参数的意义吗? 但是黑盒子的观点为机器学习从业者指出了一个明显

在上面的代码中,我们在平均池化之前,在中点时间步长 2048 处计算了输出。我们之所以使用中点而不是最后的时间步长的原因是,我们的 LSTM 单元是双向的,这意味着对一半的单元来说,4095 实际上是第一个时间步长。我们将得到的梯度进行了可视化:

Δoutput_2048 / Δinput_t

请注意我们的 y 轴是 log 尺度的。在时间步长 2048 处,与输入对应的输出梯度是 0.001。但是在时间步长 2500 处,对应的梯度小了一百万倍!通过梯度分析,我们发现这个架构无法捕捉长期依赖。

四、分析模型预测

你可能已经通过观察像 AUROC 和平均绝对误差这样的指标分析了模型预测。你还可以用更多的分析来理解模型的行为。

例如,我们好奇 DNN 是否真的用心率输入来生成预测,或者说它的学习是不是严重依赖于所提供的元数据——我们用性别、年龄这样的用户元数据来初始化 LSTM 的状态。为了理解这个,我们将模型与在元数据上训练的 logistic 回归模型做了对比。

DNN 模型接收了一周的用户数据,所以在下面的散点图中,每个点代表的是一个用户周。

这幅图验证了我们的猜想,因为预测结果并不是高度相关的。

除了进行汇总分析,查看最好和最坏的样本也是很有启发性的。对一个二分类任务而言,你需要查看最令人震惊的假阳性和假阴性(也就是预测距离标签最远的情况)。尝试鉴别损失模式,然后过滤掉在你的真阳性和真阴性中出现的这种模式。

一旦你对损失模式有了假设,就通过分层分析进行测试。例如,,如果最高损失全部来自第一代 Apple Watch,我们可以用第一代 Apple Watch 计算我们的调优集中用户集的准确率指标,并将这些指标与在剩余调优集上计算的指标进行比较。

原文链接:https://blog.cardiogr.am/4-ways-to-debug-your-deep-neural-network-e5edb14a12d7

【本文是51CTO专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】

戳这里,看该作者更多好文

【编辑推荐】

  1. 人脸识别技术总结:从传统方法到深度学习
  2. 机器学习中如何处理不平衡数据?
  3. 机器学习的七大谣传,这都是根深蒂固的执念吧
  4. “假设”家族大起底!如何正确区分科学假设、统计假设和机器学习假设?
  5. 机器学习必学10大算法
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读