在介绍深度学习之前,我们先来大致了解下人工智能、机器学习和深度学习三者之间的关系。机器学习是人工智能的一种实现方式,也是最重要的实现方式,而深度学习是机器学习现在比较火的一个研究方向。如果把人工智能与机器学习当成两个学科来看,三者关系如下图所示:
如果把深度学习当成人工智能的一个子学科来看,三者关系如下图所示:
那什么是深度学习(DL, Deep Learning)呢?从概念上对比,相比于机器学习,可认为它是一种深度的,深层次的学习,如果说机器学习是学习人的学习能力,那么深度学习则是学习像人脑一样深层次地思考。
从字面上对比发现,二者都包含“学习”二字,何谓“学习”。举个例子,你如何知道1+1=2,首先你知道已知信息(输入)1和加号,然后伸出一只手指,再伸出一只手指,数一数,两只手指那就是2,于是得出计算结果(输出)。所以任何的从已经有的信息,无论是通过计算,判断,推理而后得到一个认知的过程都可以称为“学习”。说到学习,此处引入一个学习策略的概念。为什么有的人学习能力好,成绩高,但有的人成绩就没那么好呢。这经常的被解释为学习方法,思考过程,经验不同而导致的差异,可以统一归为“学习策略”,好的学习策略会更快更准确的得到认知的结果,而不好的学习策略可能会花费更多的时间或者错误的结论。
在进一步理解什么是深度学习之前,先大概介绍一下神经网络。现实世界中很多的问题都可以归为分类或者识别或者选择的问题,比如下围棋,下一步的棋子落在什么地方,就是此类问题。而研究此类问题,学术界研究出来一种叫做“神经网络”的学习策略。
这个词听起来,就知道和人脑有着一些关系。在人脑中负责活动的基本单元是“神经元”,它以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞构成,我们把神经元的结构想象成一棵枯树的枝干就可以了。人脑中含有上百亿个神经元,而这些神经元互相连接成一个更庞大的结构,就称为“神经网络”。
学术界试图模仿人脑的“神经网络”建立一个类似的学习策略,也取名为“神经网络”。下图就是一个神经网络的大致结构:
这里需要定义一个“层次”的概念,如上图就包括四层:最左边的输入层,和最右边的输出层。如果这是一道选择题的话,那么题目就是输入层,而ABCD的选择结果就是输出层,如上图的L1和L4分别是输入层和输出层。而选择题解题的过程是不写出来的,我们叫做“隐藏层”,这里L2和L3就是隐藏层,题目越难,给出的信息可能是越多的,而解题所需要的过程就越复杂的,也就可能需要更多的“隐藏层”来计算最终的结果,所以深度神经网络就是层数比较多的神经网络。
但是由于到目前还无法知道人脑工作的复杂性,所以神经网络也只能是形似而已,与人脑的神经网络还是有很多区别,其中一个比较明显的区别是:人脑可以解决通用性和跨领域的问题,而计算机神经网络只能解专门的问题,所以哪怕阿尔法狗在围棋界孤独求败战胜了所有男人,但他也不能识别出站在它面前的两个女生谁更漂亮。
现在再来理解什么是深度学习,或者我们可以将其拆开来理解,“学习”意思如上述所示,也可以理解成一种学习策略,即神经网络。而“深度”就是从“输入层”到“输出层”所经历层次的数目,即“隐藏层”的层数。层数越多,学习的深度也越深。所以越是复杂的选择问题,需要越多的深度层次。当然,除了层数多外,每层“神经元”(也就是如上图,橙色小圆圈的数目)也要多。例如,AlphaGo的策略网络是13层。每一层的神经元数量为192个。所以可以将深度学习理解为使用了深度神经网络的机器学习。
最后区分一下神经网络与人工智能、机器学习、深度学习之间的联系。神经网络是计算机实现人类行为的一种手段,所以不难理解神经网络包含于机器学习中。而深度学习则是神经网络的进阶版本,它的基本思路与神经网络类似,但往往比神经网络有着更复杂的结构以及优化算法,是神经网络的纵向延伸。
参考资料:
[1] 大胡子uncle .计算机神经网络和人脑的区别
[DB/OL].https://www.zhihu.com/question/24097648/answer/219167997,2017-08-24/2020-07-21
[2] duozhishidai. 人工智能、数据挖掘、机器学习和深度学习之间,主要有什么关系?
[DB/OL].https://blog.csdn.net/duozhishidai/article/details/87867635,2019-03-23/2020-07-21
[3] 陈运文.机器学习,深度学习,神经网络,深度神经网络之间有何区别?.
[DB/OL]. https://www.bilibili.com/video/BV1Zt411L7Dw?p=3,2019-01-28/2020-07-21