社友网(新版)

 找回密码
 立即注册

快捷登录

搜索
查看: 541|回复: 0

人工智能深度学习启蒙篇

[复制链接]
admin 发表于 2018-1-19 17:37:32 | 显示全部楼层 |阅读模式
本文主要整理自许良《手把手教你零基础成为深度学习高手、@谢熊猫君《为什么最近有很多名人,比如比尔盖茨,马斯克、霍金等,让人们警惕人工智能?》,以及谢锐《AlphaGo Zero!围棋之神真来了……》。
----------------------
深度学习简单入门
2016年3月份,AlphaGo以4:1战胜韩国围棋手李世石,一举震惊了世界。
人工智能一下就引爆了整个世界。有种趋势就是,不谈人工智能,就落伍了。
以前资本圈融资都谈的是“互联网+”,现在都在谈“AI+”了。
有人说,马上人工智能时代就要来了,甚至有人宣扬人工智能威胁论。
那么,当我们谈论人工智能的时候,我们究竟在谈论什么呢?
微信图片_20180119170550.jpg
我们先来讨论下“人工智能”的定义。
什么叫做智能呢?所谓智能,其实就是对人某些高级功能的模拟,让计算机去完成一些以前只有人才能完成的工作,比如思考、决策、解决问题等等。
比如以前只有人可以进行数学计算,而现在计算机也可以进行计算,而且算的比人还准,还快,我们说计算机有一点智能了。
人工智能的发展经历了好几个发展阶段,从最开始的简单的逻辑推理,到中期的基于规则(Rule-based)的专家系统,这些都已经有一定的的智能了,但距离我们想象的人工智能还有一大段距离。直到机器学习诞生以后,人工智能界感觉终于找到了感觉。基于机器学习的图像识别和语音识别在某些垂直领域达到了跟人相媲美的程度。人工智能终于能够达到一定的高度了。
微信图片_20180119170719.jpg
当前机器学习的应用场景非常普遍,比如图像识别、语音识别,中英文翻译,数据挖掘等,未来也会慢慢融入到各行各业。
微信图片_20180119170802.jpg
虽然都是机器学习,但是背后的训练方法和模型是完全不同的。
根据训练的方法不同,机器学习算法可以大致分类为监督学习、无监督学习和强化学习三种。
微信图片_20180119170812.jpg
监督学习,就是训练数据是有标签的,也就是每个数据都是标注过的,是有正确答案的。训练的时候会告诉模型什么是对的,什么的错的,然后找到输入和输出之间正确的映射关系,比如物体种类的图像识别,识别一张图片内容是只狗,还是棵树。
非监督学习,就是训练数据没有标签的,只有部分特征。模型自己分析数据的特征,找到数据别后隐含的架构关系,比如说自己对数据进行学习分类等等,常见的算法有聚类算法,给你一堆数据,将这数据分为几类。比如在银行的数据库中,给你所有客户的消费记录,让你挑选出哪些可以升级成VIP客户,这就是聚类算法。
还有一种是强化学习,目标是建立环境到行为之间的最佳映射。强化学习的训练是不需要数据的,你告诉他规则或者给他明确一个环境,让模型自己通过不断地尝试,自己根据结果来自己摸索。
Deep Mind的AlphaGo Zero就是通过强化学习训练的,号称花了3天的训练时间就能100:0打败AlphaGo。
比较适合强化学习的一般是环境到行为之间的结果规则比较明确,或者环境比较单一、不太容易受噪音干扰等等,比如下围棋的输赢等等,还可以模拟直升机起降、双足机器人行走等等。
我们今天讨论的就是基于监督学习在图像识别领域的应用。

接下来我们再看下人工智能的历史。
虽说我们感觉人工智能最近几年才开始火起来,但是这个概念一点也不新鲜。
起源于上世纪五、六十年代就提出人工智能的概念了,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果,当时的人们对此非常乐观,号称要在10年内解决所有的问题。但是,单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”逻辑),连异或都不能拟合。当时有一个专家叫明斯基,号称人工智能之父,在一次行业大会上公开承认,人工智能连一些基本的逻辑运算(比如异或运算)都无能为力,于是政府所有的资助全部都停掉了,于是进入人工智能的第一个冬天。
随着数学的发展,这个缺点直到上世纪八十年代才发明了多层感知机克服,同时也提出了梯度下降、误差反向传播(BP)算法等当前深度学习中非常基础的算法。之前被人诟病的问题已经被解决了,希望的小火苗又重新点燃了,于是人工智能开始再次兴起。
但是没过多久大家发现了,虽然理论模型是完善了,但是并没有实际用途,还不能解决实际问题,于是又冷下去了,人工智能的第二个冬天降临。
直到2012年开始第三次兴起,也就是最近几年人工智能的热潮。
微信图片_20180119171024.jpg
下面我们就来第三次热潮是如何兴起的。
在这之前,我们先介绍一个比赛。这个比赛是一项图像识别的挑战赛,给你大量图片去做图像识别,比赛看谁的识别错误低。在2012年之前,错误率降低到30%以后,再往下降就很难了,每年只能下降个2,3个百分点。
直到2012年,有一个哥们叫Alex,这哥们在寝室用GPU死磕了一个卷积神经网络的模型,将识别错误率从26%下降到了16%,下降了10%左右,一举震惊了整个人工智能界,当之无愧的获得了当年的冠军。
从此之后,卷积神经网络一炮而红。之后每年挑战赛的冠军,胜者都是利用卷积神经网络来训练的。2015年,挑战赛的错误率已经降低到3.5%附近,而在同样的图像识别的任务,人眼的辨识错误率大概在5.1%,也就是目前的深度学习模型的识别能力已经超过了人眼。
微信图片_20180119171040.jpg
下图是最近几年比较有代表性的模型的架构。
大家可以看出来,深度学习的模型的发展规律,深,更深。没有最深,只有更深。
微信图片_20180119171217.jpg
那么Alex的卷积神经网络这么厉害,是因为这个哥们是个学术大牛,有什么独创性的学术研究成果么?
其实并不是。
他所采用的模型是1998年Yann Lecun就提出了这个模型,当时Yann Lecun把这个模型应用在识别手写邮编数字的识别上,取得了很好的效果,他搭建的网络,命名为Lenet。这个人的名字——Yann Lecun,大家一定要记住,因为我们后面的内容将会以Lenet作为范本来讲解。
微信图片_20180119171333.jpg
这个模型是1998年提出来的,可为什么时隔这么多年才开始火起来呢?
人工智能突然爆发背后深层次的原因是什么?我总结了一下,背后的原因主要有三个:
微信图片_20180119171419.jpg
1.算法的成熟,尤其是随机梯度下降的方法的优化,以及一些能够有效防止过拟合的算法的提出,至于什么是随机梯度下降和过拟合,后面我们会详细讲到
2.数据获取,互联网的爆发,尤其是移动互联网和社交网络的普及,可以比较容易的获取大量的互联网资源,尤其是图片和视频资源,因为做深度学习训练的时候需要大量的数据。
3.计算能力的提升,因为要训练的数据量很大(都是百万级以上的数据),而且训练的参数也很大(有的比较深的模型有几百万甚至上千万个的参数需要同时优化),而多亏了摩尔定律,能够以较低的价格获取强大的运算能力,也多亏了Nvida,开发了GPU这个神器,可以大幅降低训练时间。
GPU的运算速度是CPU的5-10倍左右,同样的模型需要训练,如果用CPU训练需要一个礼拜的话,那使用GPU,只需要一天时间就可以了。
截止到目前,我们汇总下我们的学习内容,我们了解了人工智能的简单介绍,大致了解了人工智能的算法分类以及发展历史。

深度学习基础知识
深度学习有两个主要的概念,卷积和神经网络。
卷积是一个数学的定义,有一个描述它的数学公式。(从略,需要进一步学习的可参考 【1】
那我们为什么要做卷积呢?我们其实就是建立一个输入和输出的函数,图像识别的目的就是把输入的信息(像素点信息)对应到我们输出结果(识别类别)上去,所以是逐层提取有用特征,去除无用信息的过程。
比如下图所示,第一层可以识别一些边缘信息,后面逐层抽象,汇总到最后,就可以输出我们想要的结果,也就是我们的识别结果。
微信图片_20180119172940.jpg
虽然我们知道特征是逐层抽象提取的,但是不幸的是,我们并不知道那一层是具体做什么的,也就不知道那个层数具体是什么意思。
也就是说,其实深度学习网络对于我们而言,是个黑盒子,我们只能通过他的输出来判断其好坏,而不能直接去调整某个参数。
那么,什么是神经网络呢?其实这个模型来自于心理学和神经学,人工智能的专家借鉴了这个结构。
微信图片_20180119173035.jpg
上面讲到的LeNet模型,就是卷积神经网络的处理。
微信图片_20180119173237.jpg
对于模型而已,我们习惯把输入的数据叫做输入层,中间的网络叫做隐藏层,输出的结果叫做输出层。中间层数越多,模型越复杂,所需要训练的参数也就越多。
所谓的deep learning中的deep,指的就是中间层的层数,右图中GoogLenet有22层。
微信图片_20180119173411.jpg
一般说来,模型越复杂,所能实现的功能也越强大,所能达到的精度也越高,目前最深的模型大概有10的7次方个神经元,其神经元比相对原始的脊椎动物如青蛙的神经系统还要小。
自从引入隐藏单元,人工神经网络的大小大约每 2.4 年翻一倍,按照现在的发展速度,大概要到2050年左右才能达到人类大脑的神经元数量的规模。
微信图片_20180119173456副本.jpg
这里讲到的2050年,很多的科学家将这一年的前一年2049年定为“奇点”。认为这一年,人类将发生突变进化。是这样推理的。
人工智能越来越聪明,以致达到了人类的智能水平,可是人工智能不会因为达到了人的智能水平而止步不前,立马会以几何级数的发展速度大大的超越人类。人工智能会比人类有着多方面的发展优势,就比如人类自以为荣的集体能力。人类在集体智能上可以碾压所有的物种。从早期的语言和大型社区的形成,到文字和印刷的发明,再到互联网的普及。人类的集体智能是我们统治其它物种的重要原因之一。而电脑在这方面比我们要强的很多,一个运行特定程序的人工智能网络能够经常在全球范围内自我同步,这样一台电脑学到的东西会立刻被其它所有电脑学得。而且电脑集群可以共同执行同一个任务,因为异见、自私这些人类特有的东西未必会出现在电脑身上。
这里我们还要引出一个沉重的概念——递归的自我改进。这个概念是这样的:一个运行在特定智能水平的人工智能,比如说脑残人类水平,有自我改进的机制。当它完成一次自我改进后,它比原来更加聪明了,我们假设它到了爱因斯坦水平。而这个时候它继续进行自我改进,然而现在它有了爱因斯坦水平的智能,所以这次改进会比上面一次更加容易,效果也更好。第二次的改进使得他比爱因斯坦还要聪明很多,让它接下来的改进进步更加明显。如此反复,这个强人工智能的智能水平越长越快,直到它达到了超人工智能的水平——这就是智能爆炸,也是加速回报定律的终极表现。
现在关于人工智能什么时候能达到人类普遍智能水平还有争议。对于数百位科学家的问卷调查显示,他们认为强人工智能应该比人工神经网络的大小大约每 2.4 年翻一倍的计算方式会出现得更早,预计出现的中位年份是2040年——距今只有22年。这听起来可能没什么,但是要记住,很多这个领域的思想家认为从强人工智能到超人工智能的转化会快得多。以下的情景很可能会发生:一个人工智能系统花了几十年时间到达了人类脑残智能的水平,而当这个节点发生的时候,电脑对于世界的感知大概和一个四岁小孩一般;而在这节点后一个小时,电脑立马推导出了统一广义相对论和量子力学的物理学理论;而在这之后一个半小时,这个强人工智能变成了超人工智能,智能达到了普通人类的17万倍。
这个级别的超级智能不是我们能够理解的,就好像蜜蜂不会理解凯恩斯经济学一样。在我们的语言中,我们把130的智商叫作聪明,把85的智商叫作笨,但是我们不知道怎么形容12952的智商,人类语言中根本没这个概念。
但是我们知道的是,人类对于地球的统治教给我们一个道理——智能就是力量。也就是说,一个超人工智能,一旦被创造出来,将是地球有史以来最强大的东西,而所有生物,包括人类,都只能屈居其下——而这一切,有可能在未来几十年就发生。
想一下,如果我们的大脑能够发明Wifi,那么一个比我们聪明100倍、1000倍、甚至10亿倍的大脑说不定能够随时随地操纵这个世界所有原子的位置。那些在我们看来超自然的,只属于全能的上帝的能力,对于一个超人工智能来说可能就像按一下电灯开关那么简单。防止人类衰老,治疗各种不治之症,解决世界饥荒,甚至让人类永生,或者操纵气候来保护地球未来的什么,这一切都将变得可能。
人工智能超越人类智慧在2017年的阿尔法元对阿尔法狗的胜利可见一斑。2016年3月,第一次“人机大战”,AlphaGo1.0版4比1击败14个世界冠军获得者李世石九段;年底,AlphaGo升级版化身Master在网上对人类高手60连胜。2017年5月第二次“人机大战”,AlphaGo2.0版(其实就是Master)3比0完胜柯洁九段,之后当场宣布不再与人对弈。
但仅隔不到半年时间,阿尔法狗团队又研究出来AlphaGo Zero(阿尔法元)。而且,与阿尔法狗学习人类棋谱成长为超级高手不同的是,阿尔法元不再学习人类的棋谱,而是在掌握围棋的基本规则后,通过左右互博,仅仅三天时间,对弈达490万局,即成为与Master平起平坐的高手,40天后,即碾压Master,成为当仁不让的世界第一高手。
值得注意的是,阿尔法狗花费几个月的时间,学习人类棋谱3000万局,才打败人类高手,但阿尔法元却不再需要人类棋谱,仅仅依靠左右互搏即达到人类难以企及的高度。
围棋只是一个例子。计算机要模拟人类的智慧,以对付自然界的各种问题的解决,需要在获得基本方法的基础上进行“深度的学习”。
计算机进行深度学习的基本方法一般会按照这4个步骤进行。
微信图片_20180119201759.jpg
获取数据
很大程度上,数据的多少决定模型所能达到的精度。再好的模型,没有足够数据,也是白瞎。
对于监督学习而言,需要大量标定的数据。
数据的获取是有成本的,尤其是我们需要的数据都是百万、千万量级的,成本非常高。亚马逊有个专门发布标定任务的平台,叫做Amazon Mechanical Turk.
很多大的数据,比如IMAGENET就是在这上面做label的。
Amazon从中抽取20%的费用,也就是说,需求方发布100美元的任务,得多交20美元给Amazon,躺着也挣钱。
由于数据的获取是有成本的,而且成本很高的。
所以我们需要以尽量低的价格去获得更多的数据,所以,在已经获得数据基础上,仅仅通过软件处理去扩展数据,就是非常重要的,常见的数据扩展的方法见下图。
微信图片_20180119201917.jpg
深度学习发展趋势
目前深度学习在图像识别领域取得了很多突破,比如可以对一张图片多次筛选获取多个类别,并标注在图片上。

微信图片_20180119221716.jpg
还可以根据图像识别的结果直接生成语句。
微信图片_20180119221935.jpg
Google翻译可以直接将图片上的字母翻译过来,显示在图片上,很厉害。

微信图片_20180119222015.jpg

最近媒体上很多新闻,说人工智能可以作诗,写文章,画画等等,这也都是比较简单的。
微信图片_20180119222021.jpg





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|su.sseuu.com ( 粤ICP备12005776号

GMT+8, 2024-5-7 13:38 , Processed in 0.096057 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表