深度学习是什么?(下)

学习深度学习之前,首先要明白一些概念,我先把这些概念抛出来,然后逐个解释:
1. 机器学习
2. 人工神经网络
3. 深度神经网络
4. 深度学习

深度神经网络是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。深度神经网络通常都是前馈神经网络,但也有语言建模等方面的研究将其拓展到循环(递归)神经网络。卷积深度神经网络(Convolutional Neural Networks,or CNN)在计算机视觉领域得到了成功的应用。此后,卷积神经网络也作为听觉模型被使用在自动语音识别领域,较以往的方法获得了更优的结果。

从这段解释我们可以发现如下两点:

第一,深度神经网络通常是前馈型神经网络。什么是前馈型神经网络?它是神经网络的一种构型,特征是至少有一个隐层。反过来说,多层前馈型神经网络都是深度神经网络,但深度神经网络不都是多层前馈型神经网络,因为深度神经网络还包含了递归神经网络和卷积神经网络。卷积神经网络很重要,我们以后专题讨论。

第二,深度神经网络说的是一种结构,而不是一种算法!

机器学习


机器学习是人工智能的一个分支,什么是机器学习?以下是两种解释:

(1)机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。

(2)机器学习就是通过算法,使得机器能从大量历史数据中学习规律,从而对新的样本做智能识别或对未来做预测。

我个人喜欢第二种解释,显得接地气。


机器学习的概念很大,我们先按照学习方式分类。

  • 监督学习(Supervised Learning)

监督学习是机器学习中一种典型的学习方法,顾名思义,监督式学习就是有个人在旁边看着你学习,随时纠正你学习中的错误。怎么纠正呢?对错误学习给予惩罚,对正确学习给予奖励。



图1 监督学习

如图1所示,监督式学习中,所有输入数据都被称为“训练数据”,每组数据其实由两个部分构成:正确的训练集和错误的训练集,这两部分训练集最好在数量上相等,并且样本数量足够全,能覆盖到最多的情况。接下来,将训练这些数据并将识别或预测结果与实际的人为标定过的“训练数据”做比较,不断地调整模型,直到模型的预测结果达到一个预测的准确率。

  • 非监督学习(Unsupervised Learning)

如图2所示,非监督学习,也就是没有“人”在旁边督促你学习,没有人为标定好的训练数据,没有告诉模型哪些数据是正确的,哪些是不正确的。在非监督式学习中,学习模型是为了推断出数据的一些内在结构。很常见的应用场景包括关联规则的学习及聚类等。

比如说,我们将苹果和香蕉混合在一起,并没有告诉模型苹果和香蕉的特征,模型自己去做聚类学习,有可能学习出来很多种类别,除了特征相差较大的苹果和香蕉两种不同的水果外,还能发现某些苹果和香蕉的特殊品种,这种发现是由算法自己找出的。非监督式学习中的常见算法包括Apriori算法及K-Means算法。


图2 非监督学习

  • 强化学习(Reinforcement Learning,or RL)

要了解强化学习,我们要先看清楚人类是怎么玩游戏的。

首先,游戏开始时停留在初始时刻。然后,游戏场景开始改变,玩家眼睛捕捉到场景的变化,将视觉信号传回大脑皮层处理。

之后,大脑皮层将视觉信号转换为人类理解的含义,通过之前玩游戏的经验,将理解的含义与应该进行的操作做映射,之后将映射后得到的操作信号传递到身体并产生一个动作,如手指动作。操作结束后,游戏场景进入下一帧,玩家得到回报,如越过关口,或者吃到金币。如此循环,直到游戏结束,如图3所示。



图3 游戏循环流程图


仔细想想这个过程,发生在游戏内部的那些事情不用玩家考虑,玩家能够覆盖的只是上述游戏循环的右半段,即输入视觉信号,输出手指动作。从手指动作到下一帧场景,以及玩家得到回报是游戏内部的过程。

既然了解了人类玩家的操作过程,并分解出实际需要玩家操作的内容,下一步就是让机器替代人类玩家。为了区分,通常称机器玩家为agent。与人类玩家的操作类似,agent需要负责如下事情:

(1)由上一帧回报信号学习到玩游戏的知识,即经验(什么场景下需要什么操作)。

(2)视觉信号的处理与理解(降维,高层特征抽取)。

(3)根据经验及高层的视觉特征,选择合理的经验(动作)。

(4)从动作反馈到游戏,即玩家手动的部分。

所以说,游戏都是越玩越好的,人类玩家如此,agent亦如此。既然已经刻画出操作步骤,随着深度学习和强化学习的发展,实操也不是什么难题。

下面,我们先看看强化学习是如何促进agent学习的。

强化学习其实就是一个连续决策的过程,如图4所示。传统的机器学习中的有监督学习是给定一些标注数据,学习一个好的函数,对未知数据做出很好的决策。但是有时候,你不知道标注是什么,即一开始不知道什么是“好”的结果,所以RL不是给定标注,而是给一个回报函数,这个回报函数决定当前状态得到什么样的结果(“好”还是“坏”),其数学本质是一个马尔科夫决策过程。最终的目的是决策过程中整体地回报函数期望最优。

这个过程有点像有监督学习,只是标注数据不是预先准备好的,而是通过一个过程来回地调整并给出所谓的“标注数据”。这个过程就是强化学习。

那么,强化学习和深度学习有什么关系呢?深度在何处?换句话说,深度学习参与的强化学习与传统的强化学习有何不同,从而要引入深度学习呢?

我们在前面介绍强化学习的过程中,处理的是状态。实际上,很多时候状态是连续的、复杂的、高维的。不像之前介绍中说的4个状态就可以了。假设我们有128×128的画面,那么状态的数目是指数级增长的,即有2^(128×128)种可能存在的状态,这个数字是1.19e+4932,这可是个天文数字!游戏画面连续存在,就算按照每秒30帧来算,一局游戏玩下来,处理数据的速度根本跟不上游戏画面变化的速度,更不用说那些高清的游戏。实际上,DeepMind现在也就能玩玩Atari这种爸爸辈的游戏。


图4 强化学习


无奈,因此求助于深度学习。注意,在此之前有很多人工特征处理,但很明显,一旦引入了人类的活动,就无法做成一种集成性的系统,只能成为实验室的二维画面玩具。人类为什么玩游戏玩得好呢?人脑非常善于处理高维数据,并飞快地从中抽取模式。现在由深度学习来替代这块短板。

现在我们来做一个总结:人工神经网络和深度学习都属于机器学习的一种。深度学习是神经网络的一个大分支,深度学习的基本结构是深度神经网络。深度学习包含监督学习、非监督学习等,但监督和非监督是指机器学习的学习方式,这个概念广泛存在于机器学习中,而不只有深度学习里有这两个概念,这个概念需要注意。


作者:吴岸城,菱歌科技首席数据科学家。

本文选自《神经网络与深度学习》,吴岸城 著,北京:电子工业出版社,2016年6月第一版,ISBN 978-7-121-28869-2。


吴岸城

继续阅读此作者的更多文章