人机巅峰对决:人工智能技术解析
摘要: 1.AlphaGo2.02017年5月下旬,全世界的目光投向乌镇。在这里,AlphaGo再度现身,与世界第一的柯洁展开终极对决。柯洁是一个天才少年,还未满二十岁,但是从2014年8月起就占据了围棋领域
1. AlphaGo 2.0
2017年5月下旬,全世界的目光投向乌镇。在这里,AlphaGo再度现身,与世界第一的柯洁展开终极对决。
柯洁是一个天才少年,还未满二十岁,但是从2014年8月起就占据了围棋领域世界第一的宝座,目前已经获得了4个世界冠军,是当之无愧的围棋界第一高手。
然而,专业人士普遍认为柯洁难求一胜,对人类第一高手能否赢下三局比赛中的一局都持悲观态度。
去年3月,AlphaGo和李世石之间的围棋人机大战震惊了世界。李世石是围棋界过去十年的第一人,虽然近年来状态略有下滑,但是仍然是围棋界活跃的顶级高手。赛前舆论一边倒的认为围棋AI难求一胜,要战胜人类顶级高手至少是十年之后的事情。出乎意料的是,李世石一开始就三连败,仅靠第四局的“神之一手”挽回了一局,最终以1:4落败。
2016年年底至2017年年初,AlphaGo取名“Master”,在网络平台上快棋对局中横扫人类所有的顶级高手,取得了60连胜,没有败绩。
一年前李世石赢下的唯一一局可能是人类棋手战胜最强AI的最后一局。
沿袭AlphaGo深度神经网络的思路,腾讯公司开发的国产围棋AI“绝艺”和日本程序员开发的围棋AI“DeepZenGo”也达到了和顶级棋手分庭抗礼的水平,“绝艺”甚至对顶级棋手保持明显占优的战绩,胜率超过了7成。但目前来看,“绝艺”和“DeepZenGo”相对AlphaGo还有一定的差距。
围棋AI的迅速发展是近年人工智能突飞猛进的一个缩影。
2. 人工智能取得突破的原因分析
2.1 人工智能发展迅速
人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用的一门新的技术科学。在1956年达特茅斯暑期研究项目的研讨会上,人工智能正式诞生。当时提出此概念的原因是为了探究机器可以在哪些方面模仿人类智能——这一核心思想一直推动着人工智能领域向前发展。
人工智能需要处理的任务包括学习、推理、规划、感知、语言识别和机器人控制等。
近年来,以深度学习为首的人工智能技术突飞猛进。在语音识别、图像识别等传统的机器学习领域里,深度学习实现了机器学习性能的飞跃;在“人类智慧的高地”围棋领域,向来被棋手轻视的围棋AI突然变得不可战胜;电商通过人工智能实现精准营销;医院采用人工智能技术辅助医疗诊断;对冲基金领域开始争夺人工智能人才;机器人、智能汽车、无人机等不断有新的突破……
根据高盛的人工智能报告,近年来,很多IT公司在人工智能方面加大了投入。
谷歌、脸书、苹果等IT巨头在顶级学术人才的争夺上不遗余力。谷歌聘用了深度学习开山立派的多伦多大学教授GEoffrey Hinton;脸书成立了人工智能研究部门FAIR,聘用纽约大学教授Yann Lecun为主管;苹果聘用了卡内基梅隆大学的Ruslan Salakhutdinov为首任人工智能总监;斯坦福大学的吴恩达则在谷歌和百度都开展过人工智能的研究。
谷歌的搜索算法已经从基于链接的网站排名转变为采用AI 驱动的查询匹配系统,后者能够不断适应那些独特的搜索。在软件方面,谷歌开源了机器学习软件库TensorFlow,在硬件方面,谷歌推出了针对机器学习平台的定制化硬件加速器TPU,并且将其应用到谷歌云计算引擎中。过去几年中,谷歌完成了几起人工智相关的收购,被收购的公司中最知名的当属开发出AlphaGo的DeepMind,它提升了谷歌的神经网络功能,并已经将其应用于各种人工智能驱动的项目中。
与此同时,对冲基金也开始在人工智能领域布局。桥水基金、文艺复兴科技公司、Two Sigma等公司组建了自己的人工智能团队。近日,对冲基金巨头Citadel聘用了微软的首席人工智能科学家邓力。
近年来人工智能突飞猛进的原因主要有以下几点:算法的突破、数据的增长、硬件的发展和开源软件的流行。
2.2 算法突破
首先是人工智能算法的突破。近年来人工智能飞速发展的主要原因之一是深度学习算法在图像、语音、自然语言处理、广告推送等方面的突破性进展。2006年Hinton提出逐层预训练的深度学习算法之后,深度神经网络技术便迅速推广开来,在机器学习应用的各方面取得了突破性进展。
以语音识别为例,早在20世纪八九十年代,语音识别在技术上就有了很大的发展,然而受限于识别精度和成本,并没有大规模的应用。当精度足够高——比如语音识别准确率达到目前的97%左右,同时随着电脑和移动设备的普及,语音识别技术在电脑端和移动端才得以大规模使用了。
同时,人工智能技术的发展和成功应用也吸引大批科研人员从事该领域,科技公司或者风险投资者更有意愿投资人工智能领域,使得近年来在人工智能领域的成果层出不穷。资源的投入与技术的发展和应用相互促进,产生了良性循环。
根据PitchBook的数据,2011年以来投资AI相关领域的风险投资迅速增长。
2.3 数据的增长
人工智能的发展离不开数据的支持。海量数据的积累是近年来人工智能高速发展的基础。随着互联网技术的发展,特别是手机移动领域和物联网的发展,数据存储技术的成本和能耗的降低,每天都能产生海量的非结构化数据。
根据高盛的报告,特斯拉至今已经搜集了7.8亿英里以上的驾驶数据,并且每10 小时增加百万英里的数据。
根据IDC 的数字领域报告,到2020 年,每年数据量将达到44ZB。
随着数据量的增长,机器语言可以解决的问题数量也在增长,我们可以训练出性能更好的学习模型。
2.4 硬件的加速
芯片技术和云计算的提高大大促进了人工智能的发展。云计算使我们可以采用更多的计算资源进行计算,芯片的发展直接推动了计算速度的提高。
随着深度学习算法越来越复杂、所使用的数据集越来越大,人们对专用硬件的需求也在增长。2016 年,面向人工智能的平台成了计算硬件开发的一个主要的新方向。
传统芯片厂商方面,英伟达已经从之前电子游戏GPU 生产商转型为机器学习应用硬件厂商。与使用传统CPU相比,使用了 GPU 的神经网络的训练速度提升了10 到20 倍。因而,GPU是深度学习工程师的得力助手。从2011年到2016 年,英伟达所占 GPU 市场份额已经从二分之一上升到近四分之三。借助深度学习的崛起,英伟达在 芯片领域获得了巨大的成功。
GPU的应用能加速机器学习的训练;与之相比,在计算密集程度较低的推理和任务上,FPGA可以提供更快的计算。因而,FPGA成为了英特尔公司的重点方向。近年来,英特尔收购了多家人工智能创业公司,其中包括计算机视觉创业公司 Movidius 、深度学习芯片创业公司 Nervana和FPGA厂商 Altera,完成了在人工智能芯片市场上的布局。
2016 年 5 月,谷歌发布了一款新的定制化设计的芯片,张量处理单元,这款芯片是专门为基于谷歌已开源的 TensorFlow 机器学习框架而量身定制的。AlphaGo就是基于TPU的计算平台开发出来的。目前,TPU已经应用到谷歌的云计算引擎当中。
与传统的CPU和GPU相比,TPU是专门为机器学习应用而专门设计的芯片,在机器学习应用中运算效率更高。
谷歌提供了不同类型芯片单位功耗下计算性能的比较数据,如下图所示。其中,蓝条表示GPU性能相对CPU的表现、红条表示TPU相对CPU的表现、黄条表示TPU相对GPU的表现、绿条和淡紫色条表示改进版TPU相对CPU和GPU的表现。其中,TPU’表示改进版的TPU。GM和WM分别表示几何平均与算术加权的均值数据。可以看到,TPU的推出,相对CPU和GPU来说,计算性能又有了极大的提升。
2.5 软件平台的流行
GitHub等开源社区的普及使得人工智能研究者能更方便的交流和共享代码,不需要重复“造轮子”。
同时,谷歌、脸书等大型互联网公司相继开源了自己的深度学习平台。谷歌的深度学习平台TensorFlow目前已经成为业界最流行的深度学习平台,使得用户不需要关注深度学习底层代码的编写,可以基于TensorFlow开发自己的机器学习应用。
3. 机器学习分类
机器学习是人工智能的重要分支,主要研究如何让计算机通过经验和数据的学习提高性能。谷歌的AlphaGo、苹果的SIRI、深度学习都属于机器学习的研究内容。近年来人工智能的发展主要是机器学习技术的发展。
机器学习可以分为三大类:监督学习、无监督学习和增强学习。
3.1 监督学习
在监督学习中,给定一组数据的同时,我们知道正确的输出结果应该是什么样子。通过学习,建立起输入数据和输出数据之间的关系。
监督学习从训练数据中学习模型,对测试数据进行预测,训练集通常表示为:
人们根据输出变量的不同类型,把监督学习分成两大类:输入变量和输出变量均为连续变量的监督学习称为回归;输出变量为有限个离散变量的监督学习称为分类。
监督学习的模型可以是概率模型或非概率模型,由条件概率分布P或决策函数Y=f表示,由具体学习方法而定。
监督学习分为学习和预测两个过程,由学习系统与预测系统组成,如下图所示。学习系统一般是通过参数优化,获得最优的机器学习模型;预测系统是使用训练好的数据,对未知的新数据进行预测。
常用的监督学习方法有:
逻辑回归、k最近邻算法、贝叶斯分类器、核回归、支持向量机、神经网络、深度学习等。
分类模型是预测新样本的“标签”。我们以一个简单的分类模型为例进行介绍。如下图所示,有两类点,红点和蓝点,点的横纵坐标是输入数据,点的颜色是标签,我们需要做一个分类器,判断未知类别的点的标签是红色还是蓝色。我们可以基于已知类别的红色点和蓝色点,建立起一条分类的线,将整个平面分成两份,这一过程被称为模型训练的过程。那么,对于一个新的类别未知的点,我们就可以根据该点和分类虚线的相对位置,判断该点的标签应该是红色还是蓝色。如果点落在分界线的左侧,则更有可能是红色;如果点落在分界线的右侧,则更有可能是蓝色。
回归是通过输入数据预测连续型输出变量y的值。如下图所示,我们根据已有的数据,建立输入变量和输出变量的关系。对于一个新的样本,只要知道其横坐标,就可以预测其纵坐标的值。
3.2 无监督学习
无监督学习,是指数据样本中没有给出输出信息,希望从数据中挖掘信息,常见的例子有聚类,关联规则挖掘,离群点检测等等。
如下图所示,在无监督学习中,我们只是给定了一组数据,通过无监督学习算法,我们可以从数据中发现它的特定结构,例如,我们可以将这组数据分成两个不同的簇,这样的算法就叫聚类算法。
隐马尔科夫模型也属于无监督的学习方法,这是语音识别中应用非常成功的模型,文艺复兴科技公司最初的员工就有很多是语音识别领域的专家。
在监督学习和无监督学习之间,还有一类是半监督学习,即部分样本有输出数据Y,部分样本没有输出数据。由于实际问题中很多样本是不含标签的,这类学习模型可以结合监督学习和无监督学习各自的优点,挖掘出更多的信息。
3.3 增强学习
监督学习和无监督学习都是基于信息输入的学习方式。实际应用过程中,并不是所有的问题都能够在事先提供充分的信息帮助我们对自身的行为进行判断和优化。这时,我们自然希望能够借助反复的试验,通过周围环境对于这些尝试所反馈的信息来改进策略,并最终找到满意的方案。这种“试验-反馈-优化”的循环便是增强学习最基本的思路。
遵循这样的思路,在增强学习的过程中,智能体首先会从环境中获得相应的环境状态,随后智能体会依照一个事先确定的策略,去选择一个行为作用于环境。这个行为会对环境的状态产生改变,同时,环境向智能体对其行为反馈一个奖赏。智能体将会根据试验结束后所累积的反馈奖赏来对自身的策略进行优化,以期在下一次尝试中获得更多的奖赏。这一过程也可以表示如下:
可以看到,在每次交互的过程中,环境向智能体输入的状态与智能体的行为存在着一一对应的关系,而策略则是决定这种对应关系的法则。每一个策略都会按照一定的方式,将一个状态映射至一个行为,如果用π表示这个策略,s和a分别表示状态和动作,那么它们三者的关系可以由下面的式子表示:
增强学习的目的即是通过环境的反馈来优化这种对应关系,并最终确定一个策略,使得从某一个状态下出发,智能体依照这个策略选择的行为能为智能体自身带来最多的奖赏。
既然增强学习的目的是获得尽量多的奖赏,那么很自然的,我们需要对这个奖赏进行量化,这也是人们创造价值函数的初衷。价值函数v用于描述从状态s开始,依照某一个策略进行操作的期望收益值,并且由于未来的不可预测性,v往往会引入一个折扣因子γ来减弱未来回报对于预期收益的影响,这里我们将v表述如下:
其中Gt代表t时刻后执行一组动作后的收获奖赏的期望值,Ri+1代表第i步状态对应的奖赏。特别地,在γ=0时,价值函数v只考虑当前回报,在γ=1时,v将未来回报与当前回报以同等态度对待。
从定义出发,可以看到
也就是说,价值函数可以通过迭代来进行计算。
有了价值函数,增强学习的研究便有了一个量的标准,我们也可以更方便的按照自己的想法对一些问题进行研究。在最后,我们对马尔科夫决策过程进行一个简单的介绍,这一过程是所有增强学习的基础,并且人们认为,一切增强学习的问题都可以转化为一个马尔科夫决策过程。这个过程包含如下两个特征:
1. 该过程所研究的时间可以被分成一个连续的时间序列;
2. 该过程的每一个时间点对应的状态只与上一个时间点的状态相关,与其他时间点的状态无关。
在这两个特征下,增强学习的问题将变得确定而简洁,我们只要能够知道当前的状态和策略,那么未来的状态便可以求解,也因此我们就能够根据未来的反馈寻找当下最优的方案。
4. AlphaGo与深度增强学习
深度增强学习是AlphaGo的核心技术。
围棋AI的决策是一个增强学习的过程。当前的棋局是状态,能否赢棋是奖赏,策略就是根据状态走子的决策方法。
在围棋决策中,我们需要建立起价值函数,用于评估在动作a下能否赢棋;同时,我们也需要建立策略函数,用于确定在不同的状态下应该怎么行棋。
一般来说,解决增强学习问题有策略迭代、价值迭代等方法。策略迭代就是通过迭代计算价值函数来获得最优的策略,价值迭代则是通过迭代计算来获得当前状态下最优的价值函数。
围棋的对局有着极高的广度与深度,如果采取迭代方法研究围棋,我们将会面临一个不可思议的计算量。在AlphaGo中,人们通过两个网络解决了价值函数的计算和策略的计算,它们就是策略网络和价值网络。策略网络和价值网络的核心是将增强学习中通过迭代来优化策略和价值函数的问题改变为深层神经网络的预测问题。这就是深度增强学习。
例如,用一个深层神经网络函数来表示价值函数,向函数输入任意的状态都能输出价值函数的值,那么就可以把价值函数的迭代更新问题变成一个函数拟合问题,利用相近的状态得到相近的价值估计。
AlphaGo所采用的第一个网络是策略网络,这一网络的作用是在一个给定的棋盘状态下,计算下一步双方在棋盘上落子的概率分布。简而言之,策略网络的目的是快速预测双方的下一手的位置,类似于棋手的第一感。通过大量学习各类对局的棋谱,可以训练出一个类似人类棋感的神经网络,这一网络总能够根据不同的状态给出接下来落子的选择。并且在它的帮助下,AlphaGo能够在对局时将目光集中在几个特定的位置上,这也就大大减少了研究每一步落子时的搜索广度。
在增强学习中,我们需要同时对棋局进行评估,获得价值函数。虽然策略网络能够有效的减少围棋问题的搜索广度,但它所提供的落子方案并不能兼顾对局的胜负,因为深层神经网络在学习棋谱时只关心落子的选择,却没有兼顾相应选择下的胜率。为此,AlphaGo设计了第二个模型,就是价值网络。这一网络通过对大量棋局进行分析,预测出对局双方在不同局势下的胜负概率,进而使AlphaGo能够在不用模拟至终局的情况下判断当前的局势,缩小了其在研究围棋对局过程中的深度。虽然价值网络本身并不能给出最佳的落子方案,但它能够为策略网络提供评估标准,并帮助策略网络在多个选项中筛选出最佳的方案。正是通过这种价值网络与策略网络相结合的方式,AlphaGo摆脱了穷举法所带来的桎梏,并通过大量的训练迅速成长,最终站到了围棋人工智能的最高点。
风险提示:
量化模型胜率并非100%,市场环境改变等因素可能使得模型失效,历史表现也不能代表未来,请特别注重风险,谨慎投资!深度学习相关策略报告参见广发金工团队发布的《深度学习股票多因子Alpha交易策略》和《深度学习股指期货日内交易策略》。 :
学习,人工智能,数据,策略,可以