【导读】本文是人工智能专家George Seif撰写的博文,介绍了在当前深度学习比较火热的情景下需要避免的三个坑。
作者 | George Seif
编译 | 专知
整理 | Mandy, Sanglei
Tweaking Neural Net Parameters
Three reasons that you should NOT use deep learning
深度学习在过去几年一直是人工智能领域最热门的话题。事实上,正是它激发了科学家、政府、大公司以及其他所有人对人工智能的极大新兴趣!这是一门很酷的科学,具有潜在的巨大的实用性和积极的应用。它正被用于金融、工程、娱乐、消费产品和服务等领域。
但是,所有应用都需要使用到深度学习吗?当我们开展一个新的项目时,我们需要不自觉地一开始就使用深度学习吗?
在有些情况下,使用深度学习是不合适的,我们需要选择一些别的方案。让我们来探讨一下这些情况吧。
为了获得高性能,深度网络需要非常大的数据集。标注的数据越多,模型的性能就越好。获得标注良好的数据既昂贵又耗时。雇佣人工手动收集图片并标记它们根本没有效率可言。在深度学习时代,数据无疑是最有价值的资源。
最新的研究表明,实现高性能的网络通常需要经过数十万甚至数百万样本的训练。对于许多应用来说,这样大的数据集并不容易获得,并且获取成本高且耗时。对于较小的数据集,传统的ML算法(如回归、随机森林和支持向量机)通常优于深度网络。
深度学习仍然是一项非常尖端的技术。您可以像许多人一样获得快速简便的解决方案,特别是使用广泛使用的API,例如Clarifai和Google的AutoML。但如果你想做一些定制化的事情,这样的一些服务是不够的。除非你愿意把钱花在研究上,否则你就会局限于做一些和其他人稍微相似的事情。
这也是很昂贵,不仅是因为需要获取数据和计算能力所需的资源,还因为需要雇佣研究人员。深度学习研究现在非常热门,所以这三项费用都非常昂贵。当你做一些定制化的事情时,你会花费大量的时间去尝试和打破常规。
深层网络就像是一个“黑盒子”,即使到现在,研究人员也不能完全理解深层网络的“内部”。深层网络具有很高的预测能力,但可解释性较低。由于缺乏理论基础,超参数和网络设计也是一个很大的挑战。
虽然最近有许多工具,如显著性映射(saliencymaps)和激活差异(activation differences),它们在某些领域非常有效,但它们并不能完全适用于所有应用程序。这些工具的设计主要用于确保您的网络不会过度拟合数据,或者将重点放在虚假的特定特性上。仍然很难将每个特征的重要性解释为深层网络的整体决策。
另一方面,经典的ML算法,如回归或随机森林,由于涉及到直接的特征工程,就很容易解释和理解。此外,调优超参数和修改模型设计的过程也更加简单,因为我们对数据和底层算法有了更深入的了解。当必须将网络的结果翻译并交付给公众或非技术受众时,这些内容尤其重要。我们不能仅仅说“我们卖了那只股票”或“我们在那个病人身上用了这药”是因为我们的深层网络是这么说的,我们需要知道为什么。不幸的是,到目前为止,我们所掌握的关于深度学习的所有证据或者解释都是经验主义的。
原文链接:
https://towardsdatascience.com/three-reasons-that-you-should-not-use-deep-learning-15bec517b622
联系客服