利用深度学习技术能否实现真正的“智能”?如何理解深度学习?

谈金论经


  1. 深度学习的原理
  2. 深度学习的优势
  3. 深度学习的局限性
  4. 为什么不能实现真正的智能

深度学习的原理

深度学习中最重要的一个概念叫做人工神经网络。人工神经网络是一种模仿生物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络通过调整内部大量节点(神经元)之间相互连接的权重,从而达到处理信息的目的。

如上图所示的是一个"神经元"的基本结构,也叫做感知器.它接受多个输入(x1,x2,x3...),产生一个输出(output),好比神经末梢感受各种外部环境的变化,最后产生电信号。

而当多个神经元互相连接起来过后,就产生了以下的结构.

上图中,底层感知器接收外部输入,做出判断以后,再发出信号,作为上层感知器的输入,直至得到最后的结果。(注意:感知器的输出依然只有一个,但是可以发送给多个目标。)

当网络层数不断加深的时候,也就成了我们目前所说的深度神经网络.除此之外,还有其他结构的神经网络,例如CNN与RNN,感兴趣的可以关注我头条号了解,在这里不做过多赘述.

而深度学习的过程就是将未经处理的数据(图像,声音信息或者文字信息)输入至输出层的“输入单元”;输入信息经过一定的映射输出至输出层的“输出节点”,检测误差然后通过优化算法来调整神经元之间的链接权重来改善,大量重复的优化过程。映射的方法根据用户定义,比如说,输入的图画中有猫咪,输入的声音片段中有“hello”。

深度学习是一种通过多层神经网络对信息进行抽取和表示,并实现分类、检测等复杂任务的算法架构。深度神经网络作为深度学习算法的核心组成部分,在输入与输出层之间包含有多层隐藏层,使得算法可以完成复杂的分类关系。

所以,深度学习最后学习出来的是一种可以拟合事物间关系的映射,相当于一种算法黑箱,不是真正的智能.

深度学习的优势

这里既然要讲优势,那肯定得有对比的对象,所以我们在这里对比传统的机器学习算法,来介绍一下深度学习的优势.

远远超越传统机器学习方法的表现

在目前的语音识别与合成、自然语言处理、计算机视觉以及游戏竞技等方面,深度学习实现的准确度已经远远超过传统机器学习方法的精确度。在许多任务中,经典机器学习甚至无法竞争。例如,下图显示了ImageNet数据集上不同方法的图像分类准确性,蓝色表示经典机器学习方法,紫色表示深度卷积神经网络(CNN)方法。

数据量增大对于准确率提升效果明显

与传统机器学习算法相比,深度网络可以使用更多的数据进行更好地扩展。很多时候,通过深层网络来使用更多的数据会使准确率不断的进行提升,直到某一个瓶颈,需要进一步改良算法才能继续提升. 而我们在使用经典的机器学习算法时,增加训练数据量这种简单快速的提升正确率方法甚至几乎没有效果,并且我们通常需要使用更复杂的方法来提高准确性。

不再需要繁琐的特征工程

经典的机器算法通常需要人工进行复杂的特征工程工作。首先在数据集上执行深度探索性数据分析,然后做一个简单的降低维数的处理。最后,必须仔细选择最佳功能以传递给机器学习算法。当当我们使用深度网络时,完全不需要这样做,因为只需将数据直接传递到网络,通常就可以实现良好的性能。这消除了整个过程的繁琐复杂且非常具有挑战性的特征工程阶段。

可重新迁移训练,且易于转换

与传统的机器学习算法相比,深度学习技术可以更容易地适应不同的领域和应用。首先,迁移学习使得预先训练的深度网络适用于同一领域内的不同应用程序是有效的。

其次,如果我们一旦了解了语音识别领域的一些基础的深度学习理论,那么学习如何将深度网络应用于自然语言处理过程中将是一件不太具有挑战性的工作,因为他们之间的基础知识非常相似。而经典的机器学习算法来说,在不同的领域和应用的知识库是基本上完全不同的,所以很难将算法进行跨领域应用.

深度学习的局限性

我在此仅说说我理解的深度学习的局限性,不一定完整.我觉得深度学习的局限性主要有以下几点:

  1. 训练需要大量的数据

  2. 决策上对数据过度依赖

  3. 可迁移性差

  4. 可理解性差

训练需要大量数据

深度学习算法需要大量的数据做训练,比如说如果你想从图片中准确的识别出是否包含“猫咪”,那么你需要事先用成千上万张图片来训练它。训练的数据量越大,模型的准确性越高。如今大公司之间为了不惜一切代价的争夺数据,甚至愿意免费提供服务以换取数据。其原因正是因为拥有越多的数据,就拥有越高的算法准确性和越有效的服务,从而可以吸引更多的用户,然后在竞争中形成良性循环。

对于深度学习算法来说,缺乏一个“下定义”的过程,即一个从特殊到一般的提炼过程,好的效果必须依托于成千上万甚至更多的训练样本之上。

决策上对数据过度依赖

深度学习对于数据的过度依赖也会带来一些使用安全性上的问题。Marcus说过:“深度学习非常善于对特定领域的绝大多数现象作出判断,另一方面它也会被愚弄。” 这便涉及到对抗样本对于深度学习算法的攻击。通过对交通标志进行一些很小的涂改,深度学习算法就会将停止与限速的交通标记判断错误,还有可能无法区分沙堆与肉色针织物。

可迁移性差

深度学习非常擅长建立输入与输出之间的映射关系,却不擅长总结发现其中的内在物理联系。通过大量的训练,深度学习算法可以打败最好的人类超级玛丽玩家,然而这并不代表人工智能对于游戏有着和人一样的领悟能力,当一个棒球砸向马里奥时,游戏玩家都知道通过跳起来躲避,而人工智能只知道傻傻往前跑,直到被棒球砸中后背。通过反复的试错实验,它能够保证最后的胜率,但是稍微升级以下游戏或改变版本,人工智能却必须从头学起,由此可见深度学习对于环境依赖性太强,环境稍一改变,算法就失效了,又得重新训练.

可理解性差

依据规则而写的程序给出的执行结果,可以从源代码中追踪到每一个if else。而深度学习的算法类似于一个黑箱,其内部执行过程完全不被人所理解。深度学习算法在成千上万个节点之间建立映射,并给出输入与输出之间的关系, 但是这种关系却无法被人所理解。即使是开发出此算法的亲生工程师也常常会对结果困惑不解。当深度学习应用于容错率较高的系统时,这个缺点看起来似乎无关紧要。但是想象一下,如果是应用于法庭判决嫌疑人的命运,或者医疗中决定对患者的处理之类的领域之中,任何微小的错误都会导致不可逆转的致命结果。

为什么不能实现真正的智能

深度学习最大的一个局限是把数据中最常遇见的内容作为真理,把统计学上较稀少的东西看作假的。深度学习的公正性并非来自其自身,而是人类筛选和准备的数据。深度学习无法解释其自身决策,除了「我(深度学习)读到最多的是「某观点是正确的」,因此它应该是正确的」。深度学习将会学习并模仿最具缺陷的逻辑,包括一些比较极端的行为。甚至孩童可以自己明白电影中那个家伙是坏人,但是深度学习做不到,除非人类首先明确教导它。深度学习中有些东西很酷,比如带有反向传播的梯度下降、自定义深度学习硬件,但这些大多是统计学和几何学方面的内容的,很可能在未来的人工智能时代不会出现.

最后,欢迎大家关注我的头条号,会有大量深度学习相关资源不间断放送.


深度学习中文社区


全面智能也只是相对人的需求来说吧。可能以后无人驾驶之类的能够实现,再比如智能做饭之类。说到底只是方便自己。只要努力,够懒,总有一天会实现这些。深度学习,然后用于智能。那也是很长远的事。人,不可能受控于智能,依赖可以,受控于智能就太危言耸听了。


分享到:


相關文章: