神经网络的优点和缺点
深度学习目前大受追捧。人们总想在各个方面使用神经网络,但它们总是正确的选择吗?
在本文中我们将探讨如今深度学习如此受欢迎的原因。在读完本文后,你将了解神经网络的主要优缺点,并且当你为解决机器学习问题选择合适类型的算法时,你将做到心中有数。你还将了解目前在机器学习中我们遇到了哪些主要问题。
为什么深度学习如此热门?
深度学习如此热门的主要包括以下四个原因,即数据、计算能力、算法和市场营销。接下来我们将一一探讨。
1. 数据
深度学习大受追捧的一个因素是,如今有大量可使用的数据,这些数据是在过去几年,几十年中收集的。这使得神经网络能够真正发挥其潜力,因为神经网络获得的数据越多,表现越好。
相比之下,传统的机器学习算法在达到一定水平时,获得更多的数据并不会提高其性能。以下图表说明了这一点:
2. 计算能力
另一个非常重要的因素是,如今可用的计算能力能够让我们处理更多的数据。
根据人工智能的领军人物Ray Kurzweil的说法,在每个时间单位,计算能力以乘以某个常数的速度增长(例如,每年增加一倍),而不是逐渐增加。这意味着计算能力呈指数增长。
3. 算法
深度学习大受追捧的第三个因素是算法本身的进步。最近算法开发方面的突破让其比以前运行得更快,从而能够让我们使用越来越多的数据。
4. 市场营销
同时,市场营销也很重要。神经网络已经存在了几十年(在1944年首次提出),当时已经有一些宣传,但没有人相信以及愿意进行投资。
“深度学习”让其有了一个高大上的名字,让其更好进行宣传,同时也让许多人错误地认为深度学习是一个全新的领域。
此外,其他因素也促成了深度学习的市场推广。例如汉森机器人公司有争议的机器人Sophia,以及机器学习主要领域的几项突破等等。
神经网络 VS 传统算法
你应该使用神经网络还是传统的机器学习算法?这是一个难以回答的问题,因为这很大程度上取决于你想要解决的问题。
我们要明确的是并不存在一种“完美的”机器学习算法,能够出色地解决任何问题。对于某个问题,有的方法是适合的,有的则反之。
但我认为这正是机器学习有趣的地方所在。这也说明为什么你需要精通多种算法;在练习中反复试错才是成为优秀机器学习工程师或数据科学家的唯一方法。
下面我将提供一些方法,帮助你理解何时要选择哪种类型的算法。
神经网络的主要优势在于,它的性能优于几乎其他的机器学习算法。但同时也存在一些缺点,这也是你需要重点关注的。正如我之前所说的,是否应该使用深度学习,这主要取决于你需要解决的问题。例如,在癌症检测中,高性能至关重要,因为性能越好,越多的人可以接受治疗。但是对于一些机器学习问题,传统算法可以提供更好的结果。
1. 黑箱
神经网络最广为人知的缺点是“黑箱”性质,这意味着你不知道神经网络如何以及为何会得出一定的输出。例如,当你将一张猫的图像输入神经网络,神经网络预测这是汽车时,很难理解为什么会导致它产生这个预测。当你有可解释的特征时,就能更容易的理解其错误的原因。相比起来,像决策树这样的算法更容易理解。这是很重要的,因为在某些领域可解释性至关重要。
这就是为什么许多银行不使用神经网络来预测客户是否有信用,因为他们需要向客户解释为什么他们无法获得贷款。否则用户会产生误解和不满,因为他不明白为什么自己无法获得贷款。
像Quora这样的网站也是如此。如果他们通过机器学习算法决定删除某个用户的帐户,他们需要向用户解释当中的原因。如果仅仅说”这是计算机的决定”,这样的答案是不尽人意的。
制定重要的商业决策时也是如此。你能想象大公司的CEO在做出关于数百万美元的决定,而不探究当中的原因,仅仅因为计算机的决策吗?
2. 开发时间
虽然像Keras这样的库让神经网络的开发变得简单,但有时你需要更多地控制算法的细节。特别是当你试图解决机器学习中之前没人做过的难题时。
接着你可能会使用Tensorflow,它为你提供了更多的机会,但同时因为它也更复杂,开发时间更长。对于公司管理层来说,他们需要决定是否值得这么做。使用深度学习,工程师需要花费数周的时间进行开发,而用更简单的算法能够更快的解决问题。
3. 数据量
与传统的机器学习算法相比,神经网络通常需要更多的数据,至少需要数千甚至数百万个标记样本。这不是一个容易解决的问题,但如果使用其他算法,则可以用更少的数据解决相关的机器学习问题。
尽管有些情况下,神经网络在很少的数据下也能很好的解决问题,但这是少数情况。在这种情况下,像朴素贝叶斯这样的简单算法能通过少量数据解决问题,这显然是更好的选择。
4. 计算成本
通常在计算方面,神经网络比传统算法更昂贵。先进的深度学习算法,若想成功完成训练,可能需要几周的时间。而大多数传统的机器学习只需花费少于几分钟,几个小时或者几天。
神经网络所需的计算能力很大程度上取决于数据的大小,也取决于网络的深度和复杂程度。例如,将比具有1000个决策树的随机森林,具有一层和50个神经元的神经网络要快得多。同时,相,具有50层的神经网络将比仅有10个决策树的随机森林更慢。
总结
现在你知道对于某些任务来说神经网络是不错的选择,而对于某些任务来说并非如此。
大量的数据、更多的计算能力、更好的算法和智能的营销促进了深度学习的受欢迎程度,并使其成为目前最热门的领域之一。
最重要的是,你已经了解到神经网络几乎优于所有其他机器学习算法,以及与之相伴随的缺点。那就是“黑箱”性质,更长的开发时间,所需的数据量以及高昂的计算成本。
结论
在我看来,目前深度学习有点过度炒作,并且期望超过了其实际能力。但这并不意味着深度学习是没有用的。
如今机器学习变得越来越普遍,越来越多的人可以用它来构建有用的产品。同时,机器学习可以解决很多问题,这都是未来几年内会实现的。
其中一个主要问题是,只有少数人了解可以用深度学习做些什么,并知道如何构建出色的数据科学团队,为公司带来真正的价值。一方面,我们拥有博士级工程师,他们熟知机器学习背后的理论,但缺乏对商业方面的理解。另一方面,公司的领导层和管理人员,他们不知道深度学习可以做些什么,并认为它将在未来几年解决所有的问题。在我看来,我们需要更多的人才来填补来弥补当中的差距,这将会为我们的社会带来更多有用的产品。