本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

【组图】【干货】如何快速高效调试机器学习系统?(2)

时间:2016-11-20 13:31来源:118论坛 作者:本港台直播 点击:
调试过程从2D网格到4D超立方体(这里只显示了三个维度),第四个数据维度,我们可以想象成是这些立方体的序列(注意这里只有一个小立方体是正确的

  调试过程从2D网格到4D超立方体(这里只显示了三个维度),第四个数据维度,我们可以想象成是这些立方体的序列(注意这里只有一个小立方体是正确的解决方案)。

  

【j2开奖】【干货】如何快速高效调试机器学习系统?

  机器学习极其“难”的原因在于,如果在一个维度上有 n 种错误的可能,2D维度中的错误就有 n*n 种可能,4D维度中的错误就有 n*n*n*n 种可能。这种情况下,依据现有信息,建立直觉去发现bug就显得尤为重要。

  幸运的是,机器学习算法中,有更多的信号可以用于判断哪里出了bug,比较重要的有:训练集和测试集的功能缺失图(plots)、开发数据集中算法的实际输出结果,以及算法的中间计算汇总统计。

  如何解决延迟的调试周期

  另一个导致机器学习调试非常困难的因素是调试周期长。通常,从运行潜在修复功能到得出结果是否可行,需要花上几个小时甚至几天的时间。网页开发中,直播,具备自动更新功能的开发模式可以极大地提高开发效率,atv,因为这意味着可以最大限度地减少开发流程中出现的bug事件。而在机器学习中这很难实现,因为在数据集中训练算法需要花上几个小时甚至几天的时间。而深度学习模式更有可能导致调试周期延长,这就必须要进行“并行”试验范式。对于机器学习开发人员来说,同时运行多个试验,是因为算法训练是开发中的主要难点,通过多程序同时运行以开发指令流水(对于程序开发者而不是应用者)。强制性地多程序同时运行的主要缺点在于顺序调试和试验过程中,不能运用累积经验。

  机器学习通常被归结为一种直觉开发的艺术,有了这种直觉,在很多维度都可能出现bug(或可以提高)时,可以判断出了bug(或需要提高)的地方在哪。这是构建机器学习项目的一个重要技巧,即当调试范围内呈现出的信号,你会开始利用这个信号尝试判断问题出在哪。我工作过程中经常会出现类似的情况。

  举例来说,我最早遇到这样的问题是在训练神经网络时,总是出现周期性的训练功能损失。这些功能损失在经过某些数据时会发生延迟,但很快便返回到一个很高的数值。经过很多的试验和错误之后,我意识到这通常是因为训练集没有被正确地随机化(这看似是一个数据问题,但实际上是一个应用问题),还有一个问题就是,在使用随机梯度算法时,只处理小部分的数据。

  总的来说,快速高效的调试是一个非常需要的技巧,可以应用到现在的机器学习流水线中。

  原文链接:~zayd/why-is-machine-learning-hard.html?

  :COO、执行总编、主编、高级编译、主笔、运营总监、客户经理、咨询总监、行政助理等 9 大岗位全面开放。

  简历投递:j[email protected]

  HR 微信:13552313024

  新智元为COO和执行总编提供最高超百万的年薪激励;为骨干员工提供最完整的培训体系、高于业界平均水平的工资和金。

  加盟新智元,与人工智能业界领袖携手改变世界。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容