绕坑走!细数神经网络的弊端和缺点
目前,深度学习受到大规模的炒作,人们恨不得在各个地方都使用神经网络,但确实在每一个地方都适用么?我们将在下面的章节中进行讨论,阅读完它后,您将知道神经网络的主要缺点,并且当您为当前的机器学习问题选择正确类型的算法时,您将有一个粗略的指导原则。您还将了解我们现在面临的机器学习中的主要问题。
目录:
为什么深度学习受到炒作?(数据,计算能力,算法,市场营销)
神经网络与传统算法(黑盒子,开发持续时间,数据量,计算成本昂贵)
概要
结论
为什么深度学习受到炒作?
深度学习有目前正在进行炒作的四个主要原因,包括数据、计算能力、算法本身和市场营销。我们将在下面的章节中讨论它们中的每一个。
1.数据
增加深度学习的受欢迎程度的一个因素是2018年可用的大量数据,这些数据是在过去几年和几十年中收集的。这使得神经网络能够真正发挥他们的潜力,因为他们获得的数据越多越好。
相比之下,传统的机器学习算法肯定会达到一个水平,更多的数据不会提高其性能。下面的图表说明了这一点:
2.计算能力
另一个非常重要的原因是现在可用的计算能力,这使我们能够处理更多的数据。根据人工智能的领先人物Ray Kurzweil的说法,计算能力在每个时间单位会乘以一个常数因子(例如,每年增加一倍),而不是逐渐增加。这意味着计算能力呈指数增长。
3.算法
提高Deep Learning流行度的第三个因素是算法本身的进步。算法开发中的出现最近的突破主要是由于使它们比以前运行得更快,这使得使用越来越多的数据成为可能。
4.营销
营销可能也是一个很重要的因素。神经网络几十年来(第一次在1944年提出),已经经历了一些炒作,但过去处于没有人想相信和投资的时代。 “深度学习”这个词组给了它一个新的花哨的名字,这使得新的炒作成为可能,这也是许多人错误地认为深度学习是一个新创造的领域的原因。
此外,其他因素也促成了深度学习的营销,例如汉森机器人技术的“人形”机器人Sophia,在大众中引起了广泛的争议,以及机器学习主要领域的几项突破,使其成为大众媒体等等。
神经网络与传统算法
当你应该使用神经网络或传统的机器学习算法,这是一个难以回答的问题,因为它很大程度上取决于你试图解决的问题。这也是由于“没有免费的午餐定理”,它大致表明没有“完美”的机器学习算法,在任何问题上都能表现出色。对于每一个问题,一个特定的方法是适合的,能取得良好的效果,而另一种方法或许会失败,但这可能是机器学习最有趣的部分之一。
这也是您需要精通几种算法的原因,以及为什么通过练习获得优秀机器学习工程师或数据科学家的较好的方法。在这篇文章中会为您提供一些指导方针,帮助您更好地理解何时应使用哪种类型的算法。
神经网络的主要优势在于其几乎超越了其他所有机器学习算法的能力,但是这有一些缺点,我们将在本文中讨论并重点关注。就像我之前提到的那样,决定是否应该使用深度学习主要取决于您正在尝试解决的问题。例如,在癌症检测中,高性能至关重要,因为性能越好,可以治疗的人越多。但也有机器学习问题,传统的算法提供的不仅仅是满意的结果。
1.黑盒子
神经网络最为人所知的缺点可能就是它们的“黑盒子”性质,这意味着你不知道神经网络如何以及为什么会产生一定的输出。例如,当你将一张猫的图像放入神经网络,并预测它是一辆汽车时,很难理解是什么导致它产生这个预测。当你具有人类可解释的特征时,理解其错误的原因要容易得多。在比较中,像决策树这样的算法是非常容易理解的。这很重要,因为在某些领域,可解释性非常重要。
这就是为什么很多银行不使用神经网络来预测一个人是否有信誉,因为他们需要向客户解释为什么他们没有获得贷款。否则,这个人可能会觉得受到银行的错误威胁,因为他不明白他为什么没有获得贷款,这可能导致他改变对该银行的看法,像Quora这样的网站也是如此。如果他们因为机器学习算法而决定删除用户帐户,他们需要向用户解释为什么他们已经完成了它。我怀疑他们是否会满意电脑所给的答案。
在机器学习的推动下,其他情景将是重要的商业决策。你能想象一个大公司的首席执行官会在不明白为什么应该完成的情况下做出价值数百万美元的决定吗?仅仅因为“计算机”说他需要这样做。
2.开发持续时间
尽管像Keras这样的库使得神经网络的开发非常简单,但是有时您需要更多地控制算法的细节,例如,当您试图解决机器学习中的难题时。
然后你可能会使用Tensorflow,它为你提供了更多的机会,但因为它也更复杂,开发需要更长的时间(取决于你想要构建的)。那么对于公司管理层来说,如果真的值得他们昂贵的工程师花费数周时间来开发一些东西,那么问题就会出现,用更简单的算法可以更快地解决问题。
3.数据量
与传统的机器学习算法相比,神经网络通常需要更多的数据,至少有数千甚至数百万个标记样本。这不是一个容易解决的问题,如果使用其他算法,许多机器学习问题可以用较少的数据很好地解决。
尽管有些情况下神经网络很少处理数据,但大多数情况下他们不处理。在这种情况下,像朴素贝叶斯这样的简单算法可以很好地处理少数数据。
4.计算昂贵
通常,神经网络比传统算法在计算上更昂贵。最先进的深度学习算法,实现真正深度的神经网络的成功训练,可能需要几周时间才能完全从头开始进行训练。大多数传统的机器学习算法花费的时间少于几分钟到几个小时或几天。
神经网络所需的计算能力很大程度上取决于数据的大小,但也取决于网络的深度和复杂程度。例如,具有一层和50个神经元的神经网络将比具有1000棵树的随机森林快得多。相比之下,具有50层的神经网络将比仅有10棵树的随机森林慢得多。
概要
现在你可能会知道神经网络对于某些任务比较适用,但对其他人来说并不一定适用。您了解到,大量的数据、更多的计算能力、更好的算法和智能营销增加了深度学习的受欢迎程度,并使其成为目前最热门的领域之一。最重要的是,您已经了解到,神经网络几乎可以击败所有其他机器学习算法以及与之相伴随的缺点。最大的缺点是它们的“黑盒子”性质,增加开发时间(取决于您的问题)、所需的数据量以及它们大部分计算成本高昂。
结论
深度学习目前可能仍旧有点过度炒作的情况,并且超过期望完成的事情。但这并不意味着它没有用处。我认为我们生活在机器学习复兴中,因为它越来越民主化,越来越多的人可以用它来构建有用的产品。机器学习可以解决很多问题,我相信这将在未来几年内发生。
其中一个主要问题是只有少数人了解可以用它做些什么,并知道如何建立成功的数据科学团队,为公司带来真正的价值。一方面,我们拥有博士级工程师,他们是机器学习背后的理论天才,但可能缺乏对商业方面的理解。另一方面,我们有首席执行官和管理职位的人员,他们不知道深度学习可以做些什么,并认为它将在未来几年解决所有问题。我们需要更多的人来填补这个空白,这将产生更多对我们社会有用的产品。