天才AI

机器深度学习原理

发布时间:2021年04月26日 来源:原点阅读 作者:原点阅读 浏览量:864

让阿尔法狗取胜的机器深度学习,到底是个什么东西?简单地说,深度学习与多层卷积人工神经网络,是意义类似的术语,因此我们就从神经网络说起……

神经网络

顾名思义,人工神经网络是企图模拟人类神经系统而发展起来的。它的基本单元是感知器,相当于人类神经中的神经元,作用是感知环境变化及传递信息,见图7-8-1。人体中的神经元连接在一起形成树状或网状结构,即人类的神经系统。人工神经元连接在一起,便成为如今深度学习的基础:人工神经网络。

解密让阿尔法狗赢了人类的关键——机器深度学习

图7-8-1:神经元

人工神经网络的研究早已存在,但只是在深度学习出现之后,与概率统计分析方法相结合,近几年才重新挖掘出了它的巨大潜力。并且,现在所说的深度学习神经网络,不等同于人类大脑结构,指的是一种多层次的计算模型和学习方法,见图7-8-2。

为与早期研究的人工神经网络相区分,被称之为“多层卷积神经网络”,本文中简称为“神经网络”。神经网络的重要特点之一就是需要“训练”,类似于儿童在妈妈的帮助下学习的过程。

解密让阿尔法狗赢了人类的关键——机器深度学习

图7-8-2:神经网络

如前所述,分类是学习中重要的一环,孩子们是如何学会识别狗和猫的?是因为妈妈带他见识了各种狗和猫,多次的经验使他认识了狗和猫的多项特征,他便形成了自己的判断方法,将它们分成“猫”、“狗”两大类。科学家们也用类似的方法教机器学习。

如图7-8-2b所示,神经网络由输入层、输出层,以及多个隐藏层组成,每一层包含若干个如图7-8-1b所示的神经元。每个神经元能干什么呢?它也可以说是一个分类器。在图7-8-1b中,如果只有加权叠加的功能,便是最简单的线性分类器,如果进一步包括激活函数g,便将工作范围扩充到非线性。

比如说,也许有些人认为可以从耳朵来区别猫狗:“狗的耳朵长,猫的耳朵短”,还有“猫耳朵朝上,狗耳朵朝下”。根据这两个某些“猫狗”的特征,将得到的数据画在一个平面图中,如图7-8-3b所示。这时候,有可能可以用图7-8-3b中的一条直线AB,很容易地将猫狗通过这两个特征分别开来。当然,这只是一个简单解释“特征”的例子,并不一定真能区分猫和狗。

解密让阿尔法狗赢了人类的关键——机器深度学习

图7-8-3:机器分类

总而言之,一个人工神经元的基本作用就是可以根据某个“特征”,将区域作一个线性划分。那么,这条线应该画在哪儿呢?这就是“训练”过程需要解决的问题。在图7-8-3b的神经元模型中,有几个被称为“权重”的参数w1、w2、w3,“训练”的过程就是调整这些参数,使得这条直线AB画在正确的位置,指向正确的方向。

上述例子中,神经元的输出可能是0,或者1,分别代表猫和狗。换言之,所谓“训练”,就是妈妈在教孩子认识猫和狗,对人工神经元而言,就是输入大量“猫狗”的照片,这些照片都有标记了正确的结果,神经元调节权重参数使输出符合已知答案。

经过训练后的神经元,便可以用来识别没有标记答案的猫狗照片了。例如,对以上所述的例子:如果数据落在直线AB左边,输出“狗”,右边则输出“猫”。

多层的意义

图7-8-3b表达的是很简单的情形,大多数情况下并不能用一条直线将两种类型截然分开,比如图7-8-4a、图7-8-4b、图7-8-4c中所示的越来越复杂的情形。

解密让阿尔法狗赢了人类的关键——机器深度学习

图7-8-4:更多的特征需要更多的参数来识别

像图7-8-4b和图7-8-4c那样不能用直线分割的问题,有时可以使用数学上的空间变换来解决。但实际上,大多数情形是对应于区别猫和狗时需要考察更多、更为细致的特征。特征多了,调节的参数也必须增多,也就是说,神经元的个数需要增多。

首先人们将网络增加为两层,输入层和输出层之间插入一个隐藏层,这使得数据发生了空间变换。也就是说,两层具激活函数的神经网络系统可以做非线性分类。

在两层神经网络的输出层后面,继续添加层次。原来的输出层变成中间层,新加的层次成为新的输出层,由此而构成了多层神经网络,参数数目(图7-8-2b中各层之间的权重 wi)大大增加,因此系统能进行更为复杂的函数拟合。

更多的层次有什么好处呢?通过研究发现,在参数数量一样的情况下,更深的网络往往具有比浅层的网络更好的识别效率。

有趣的是,神经网络似乎具有某种对“结构”进行自动挖掘的能力,它只需要我们给出被分类物件的某些底层特征,机器便能进行一定的自发“抽象”。

比如,如图7-8-5所示,一张“人脸” 可以看做简单模式的层级叠加,第一个隐藏层学习到的是人脸上的轮廓纹理(边缘特征),第二个隐藏层学习到的是由边缘构成的眼睛鼻子之类的“形状”,第三个隐藏层学习到的是由“形状”组成的人脸“图案”,每一层抽取的目标越来越抽象,在最后的输出中通过特征来对事物进行区分。

解密让阿尔法狗赢了人类的关键——机器深度学习

图7-8-5:每一层的分类能力似乎越来越“抽象”

层数的多少,反映了神经网络的“深度”,层数增多导致网络的节点数增多,即神经元的数目也增多。2012年,吴恩达和Jeff Dean共同主导的Google Brain项目,在语音识别 和图像识别等领域获得了巨大成功。他们使用的“深度神经网络”,内部共有10亿个节点。然而,这一网络仍然不能与人类的神经系统相提并论。真正人脑中的神经习题是一个非常复杂的组织,据说成人的大脑中有成百上千亿个神经元。

神经网络虽然源于对大脑的模拟,但后来的发展则更大程度上被数学理论及统计方法所指导,正如飞机这一交通工具的发展过程,源于对鸟儿飞翔的模仿,但现代飞机的结构却与鸟类身体构造风马牛不相及。

卷积的作用

机器学习就是从大量的数据中挖掘有用的信息,层数越多,挖得越深。除了多层挖掘之外,每一层的“卷积”运算对目标“特征”的抽象有重大意义。

为了更好理解卷积的作用,我们可以与声音信号的傅立叶分析相比较。声音信号在时间域中是颇为复杂的曲线,需要大量数据来表示。如果经过傅立叶变换到频率域后,便只要少量的几个频谱,基频和几个泛音的数据就可以表示了。也就是说,傅立叶分析能够有效地提取和存储声音信号中的主要成分,降低描述数据的维数。卷积运算在神经网络中也有类似的作用:一是抽象重要成分,抛弃冗余的信息,二是降低数据矩阵的维数,以节约计算时间和存储空间。

解密让阿尔法狗赢了人类的关键——机器深度学习

图7-8-6:卷积作用的示意图

以神经网络识别图像(比如,猫的照片)为例,一般来说,输入是像素元组成的多维矩阵(例如512*512),在神经网络中人为地设定一个卷积核矩阵,应该根据需要抽取的信息而决定(注:图7-8-6b中的卷积核矩阵没有任何实用意义),卷积运算后,得到一个比输入矩阵更小的矩阵。图7-8-6直观地描述了卷积的作用。输入是5*5的矩阵,卷积核是3*3矩阵。最后得到的输出是2*2矩阵,输出比输入的维数小,但仍然包含了原始输入中的主要信息。

免责声明:本文来自原点阅读客户端,不代表超天才网的观点和立场。文章及图片来源网络,版权归作者所有,如有投诉请联系删除。

0 0 0

超天才网©2017 www.supergenius.cn All Rights Reserved ICP备09005826号 京ICP证130304号

联系我们| 加入我们| 法律声明| 关于我们| 评论互动

超天才网©2013-2014 All Rights Reserved ICP备09005826号 京ICP证130304号

关注我们: