深度学习并非万能:你需要避免这三个坑

58 阅读4分钟
原文链接: click.aliyun.com
d2e18c7c35b8afae65ac844a884c47a62c8b5aa5

Tweaking Neural Net Parameters

Three reasons that you should NOT use deep learning

深度学习在过去几年一直是人工智能领域最热门的话题。事实上,正是它激发了科学家、政府、大公司以及其他所有人对人工智能的极大新兴趣!这是一门很酷的科学,具有潜在的巨大的实用性和积极的应用。它正被用于金融、工程、娱乐、消费产品和服务等领域。

但是,所有应用都需要使用到深度学习吗?当我们开展一个新的项目时,我们需要不自觉地一开始就使用深度学习吗?

在有些情况下,使用深度学习是不合适的,我们需要选择一些别的方案。让我们来探讨一下这些情况吧。

(1)深度学习不适用于小数据集

为了获得高性能,深度网络需要非常大的数据集。标注的数据越多,模型的性能就越好。获得标注良好的数据既昂贵又耗时。雇佣人工手动收集图片并标记它们根本没有效率可言。在深度学习时代,数据无疑是最有价值的资源。

最新的研究表明,实现高性能的网络通常需要经过数十万甚至数百万样本的训练。对于许多应用来说,这样大的数据集并不容易获得,并且获取成本高且耗时。对于较小的数据集,传统的ML算法(如回归、随机森林和支持向量机)通常优于深度网络。

333992dd8201cbbeb45a3553f963ebd0149a7b99

(2)深度学习运用于实践是困难且昂贵的

深度学习仍然是一项非常尖端的技术。您可以像许多人一样获得快速简便的解决方案,特别是使用广泛使用的API,例如Clarifai和Google的AutoML。但如果你想做一些定制化的事情,这样的一些服务是不够的。除非你愿意把钱花在研究上,否则你就会局限于做一些和其他人稍微相似的事情。

这也是很昂贵,不仅是因为需要获取数据和计算能力所需的资源,还因为需要雇佣研究人员。深度学习研究现在非常热门,所以这三项费用都非常昂贵。当你做一些定制化的事情时,你会花费大量的时间去尝试和打破常规。

(3)深层网络不易解释

深层网络就像是一个“黑盒子”,即使到现在,研究人员也不能完全理解深层网络的“内部”。深层网络具有很高的预测能力,但可解释性较低。由于缺乏理论基础,超参数和网络设计也是一个很大的挑战。

虽然最近有许多工具,如显著性映射(saliencymaps)和激活差异(activation differences),它们在某些领域非常有效,但它们并不能完全适用于所有应用程序。这些工具的设计主要用于确保您的网络不会过度拟合数据,或者将重点放在虚假的特定特性上。仍然很难将每个特征的重要性解释为深层网络的整体决策。

d8d292644f6d567cad29cdfdc1ddb3e0d520d646

另一方面,经典的ML算法,如回归或随机森林,由于涉及到直接的特征工程,就很容易解释和理解。此外,调优超参数和修改模型设计的过程也更加简单,因为我们对数据和底层算法有了更深入的了解。当必须将网络的结果翻译并交付给公众或非技术受众时,这些内容尤其重要。我们不能仅仅说“我们卖了那只股票”或“我们在那个病人身上用了这药”是因为我们的深层网络是这么说的,我们需要知道为什么。不幸的是,到目前为止,我们所掌握的关于深度学习的所有证据或者解释都是经验主义的。


原文发布时间为:2018-08-14

本文作者:George Seif

本文来自云栖社区合作伙伴“专知”,了解相关信息可以关注“ 专知”。