深度学习:实际问题解决指南

转载 2015年11月19日 10:37:28

当你想进行预测的时候,使用深度学习要比其他机器学习技术更快更有效。

深度学习是一门快速发展的学科,它将数据中高层次化的模式建模成复杂的多层网络。因为这是建模一个问题最一般的方法,深度学习拥有这解决大部分机器学习和人工智能领域问题的潜力。类似微软、谷歌这样的公司使用深度学习来解决诸如语音识别,图像识别,三维物体识别,和自然语言处理等领域的难题。

然而,深度学习需要进行大量的计算来构建一个有用的模型。到目前为止,计算成本和可用性限制了其实际应用。此外,研究人员缺乏理论基础和将深度学习运用到实际问题之中的经验知识。在有充足的时间和资源的情况下,其他的方法通常表现更好。

如今根据摩尔定律的发展,已经从根本上降低了计算成本。此外,创新算法提供了更快更有效训练模型的方式。随着经验和知识的积累,数据科学家从深度学习获得价值也有了更多的理论和实践指导。

然而媒体倾向于报道语音和图像识别这样的未来应用,但是数据科学家使用深度学习来解决企业各个方面非常实际的问题。例如:

  • 支付系统提供商使用深度学习实时识别可疑交易。
  • 具有大型数据中心和计算机网络的机构使用深度学习从日志中挖掘信息检测威胁。
  • 汽车制造商和汽车运营商使用深度学习挖掘传感器数据预测部分车辆故障。
  • 具有大型复杂供应链的公司使用深度学习预测延迟和生产瓶颈。

随着深度学习软件可用性的提高,你可以看到商业化应用在未来几年会迅速增长。

深度学习的强大力量

相对于其他机器学习技术而言,深度学习有四大关键优势:

  1. 它能从特征中检测复杂的相互作用。
  2. 它能从几乎没有处理的原始数据中学习低层次的特征。
  3. 它能处理高基数类成员。
  4. 它能处理未标记的数据。

综上所述,拥有这四个优势意味着深度学习可以得到有用的结果而其它方法得不到的有用结果;它能构建比使用其他方法更精确的模型;并且还能减少构建有用模型所需的时间。深度学习在变量间检测相互作用,这些相互作用可能并不明显。相互作用是两个或多个变量组合在一起时产生的效果。比如,假设某种药物在年轻妇女中会有副作用,但是在老年妇女中则没有。一个由性别和年龄组合影响构建的预测模型效果要比单单使用性别影响构建的模型好。

常规的预测建模方法可以度量这些影响,但这需要大量的手工假设检验。深度学习自动检测这些相互作用,不会依赖于分析师的专业知识或前期假设。它还会自动创建非线性相互作用,并且可以使用足够的神经元来逼近任意函数,特别是在使用了深度神经网络的时候这种效果尤为明显。

使用常规的预测分析方法,结果的好坏很大程度上取决于数据科学家使用特征工程准备数据的能力,而这一个步骤需要相当多的专业知识和技能。而且特征工程也很耗时。深度学习几乎不需要处理原始数据,并自动学习最有预测性的特征,而不需要对数据的正确分布做假设

下图说明了深度学习的强大能力。这四幅图展示了不同技术是如何对复杂模式建模的。右下角的图,展示了一般线性模型如何用直线拟合数据。基于树的方法,例如随机森林和梯度提升机(分别是左下角和右上角的图)比一般线性模型更好。这些方法通过多条直线而不是一条直线来拟合数据,显著提高了模型的“拟合”性。左上角的图中,深度学习使用复杂曲线拟合数据,得到了精准的模型。

深度学习可以很好地处理数据科学家口中的高基数类成员,这是一种具有非常多离散值的数据类型。这类型问题的现实例子有语音识别,这段语音可能对应大量候选词里的某一个;图像识别,特定的图像对应大量图像的某一张;推荐引擎,最佳推荐项可能是诸多候选项之一。

深度学习的另一个强项就是可以从未标记的数据中学习。未标记的数据缺少与当前问题相关的明确“意义”。常见的例子有未标记的图像,视频,新闻报道,推文和电脑日志。事实上,如今信息经济产生的大多数据都是未标记的。深度学习可以在这类数据中检测基本模式,归类相似条目或者识别异常值。

深度学习的缺点

然而,深度学习也有一些缺点。相对于其他机器学习方法,使用深度学习生成的模型非常难以解释。这些模型可能有许多层和上千个节点;单独解释每一个是不可能的。数据科学家通过度量它们的预测结果来评估深度学习模型,但模型架构本身是个“黑盒”。

评论家有时候对深度学习的这方面特性持反对态度,但牢记分析的目的是重要的。例如,如果分析的主要目的是解释方差或者处理结果,选择深度学习可能是错误的。然而,也可以根据其重要性对预测变量排序,这也是数据科学家经常要实现的。部分依赖图可以为数据科学家提供可视化深度学习模型的功能。

深度学习同样也有其他机器学习方法的倾向,对训练数据过度学习。这意味着算法“记住了”训练数据的特征,在模型将要使用的生产环境中,这些被记住的特征可能会也可能不会被用到。这一问题并不只出现在深度学习之中,这可以通过独立验证来避免。

由于深度学习模型很复杂,它们需要大量的计算性能来构建。虽然计算成本已经大幅下降,但是计算仍旧不是免费的。对于小数据集的简单问题,在计算开销和时间相同的情况下,深度学习可能不会比更简单方法产生足够的额外效果。

复杂性同样是部署的一个潜在问题。NetFlix从来没有部署那个赢得了100万美元奖励的模型,因为工程成本太高了。在测试数据上表现良好但无法落实的预测模型是没有实际用途的。

深度学习并不是新鲜的技术,原始的深度学习技术早在上世纪50年代就出现了。但是随着计算成本的下降,数据量的提升,技术的进步,业界对深度学习的兴趣激增。无需专业知识,费时的特征工程,甚至大量的数据准备,深度学习可以发现大量数据集中隐藏的关系,它已经成为一种解决日益增长业务问题的引人注目的方法。

作者简介:SriSatish Ambati是H2O.ai的联合创始人及CEO。

原文链接: Deep learning: A brief guide for practical problem solvers(译者/刘翔宇 审校/赵屹华、朱正贵 责编/周建丁 原创/翻译投稿请联系:zhoujd@csdn.net,微信号:jianding_zhou)



相关文章推荐

基于深度学习的目标检测学习总结

在计算机视觉领域,“目标检测”主要解决两个问题:图像上多个目标物在哪里(位置),是什么(类别)。 围绕这个问题,人们一般把其发展历程分为3个阶段: 1. 传统的目标检测方法 2. 以R-CNN为...

深度学习-----数据预处理

通过最近一段深度学习的学习与实现,发现数据预处理在深度学习中是非常重要的。 数据归一化 数据预处理中,标准的第一步是数据归一化。虽然这里有一系列可行的方法,但是这一步通常是根据数据的具体情况而...

深度学习之收敛问题

最近在用caffe, 想用caffe来做人脸识别。使用的是1558个人的人脸数据集,每个人35张照片训练,15张照片用于验证。使用caffe中自带的caffenet模型来进行微调,但是最后的误差一直在...

应用深度学习时需要思考的问题

应用深度学习时需要思考的问题 深度学习 神经网络 调优 对于应用深度学习需要思考什么的问题,我们无法统一答复,因为答案会随着你要解决的问题的...

用深度学习解决大规模文本分类问题

 用深度学习解决大规模文本分类问题 人工智能头条 2017-03-27 22:14:22 淘宝 阅读(228) 评论(0) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账...

提高深度学习性能的四种方式

导语 我经常被问到诸如如何从深度学习模型中得到更好的效果的问题,类似的问题还有: 我如何提升准确度 如果我的神经网络模型性能不佳,我能够做什么? 对于这些问题,我经常这样回答,“我并不...

深度学习应用于时间序列数据的异常检测

本文关键点 神经网络是一种模仿生物神经元的机器学习模型,数据从输入层进入并流经激活阈值的多个节点。 递归性神经网络一种能够对之前输入数据进行内部存储记忆的神经网络,所以他们能够学习到数据流中的...

Linux系统下配置深度学习工具问题解决整理

问题解决~

用程序解决实际问题

  • 2012-12-08 20:03
  • 256KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)