IBM苏中:怎样利用深度学习、增强学习等方法提高信息处理效率

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: “AI Index”(AI指数)近日重磅发布,这是斯坦福大学AI百年研究(AI 100)的一个项目,旨在追踪人工智能的活动和进展。该报告列出了2017年人工智能在计算机视觉、自然语言理解等方向上的最新进展,分学术、产业多个角度盘点人工智能进度。

ea8b019ad4baae2a9c2949580720ab563bc011a0

IBM研究院研究总监苏中

苏中:美国的达特茅斯于61年前提出人工智能一词,而人工智能的历史可以向前追溯很长的时间,甚至中国人发明算盘的时候就在思考将计算的机器演化成智能。这一演化进程与人类认识客观规律的过程相类似。通过符号推理,人类体现出早期的智能行为,并认识到世界的规则。以三段论为例,我们在认识世界时,先设定一个大前提或者一个更大的公理,而每件事情都有一个特例,根据这个公理和特例就可以推出一个结论。在很多人工智能的演化中,这方面已取得了非常大的进步,如定理证明。

ecc8ac8adbab5ffbd34cf596db0d47c084bfcf3a

这方面的技术同样应用在产业界,以专家系统为例。在医疗行业中我们需要考虑一个好医生所具备的特点,到底是他诊断的病人比较多还是他遇到的疑难杂症比较多?一般而言,一个疾病、一个好医生大概可以总结为几个类别。我们进行数据分析通常把一个大问题划分到一个小的问题空间,然后在小的问题空间领域求解。

专家系统采用同样的角度,如医疗专家对一个病种的病人进行分类,符合分类的病人具有怎样的表征,通过什么样的检验方法得以确诊,这类病人一般有几种治疗方式,其中每种治疗方式对应各自的优缺点,需考虑在什么情况下用什么方式治疗。一般来讲一个好医生把一个病种稍微的梳理一下可能会累积几十条规则,那么几个医生或几十个该行业的专家医生就能梳理出一个完整的知识体系,如《临床医疗指南》。按照《临床医疗指南》的整个流程,我们能够很容易地确定病人该做什么样的检查,通过检查能得到什么结论,得到结论以后有什么治疗手法,以及在整个病程中该做一些什么样的观察。

这样的专家系统是非常有效的,在医疗行业也有很好的应用。但专家系统同样面临着一大挑战,即固化的知识体系不能应对实际繁杂的问题。这种基于数据普适性的挑战使得人工智能的发展进入了一个瓶颈期。

人工智能的迅速发展得益于大数据的爆发,在这场爆发中,机器学习可以自动地从数据里寻找规律、,规则同时随数据的改变而自动发生变化。由此,人工智能迅速在互联网方面得以应用,包括搜索、推荐、语音识别等等。

318562e3d109d0f95a51b2eadf1bdc365487c764

下棋是一个较容易验证计算机是否具有智能的方式,因为可能只有人类会下棋,另外下棋有很多推理过程,如对于棋局的判断等。随着伴随计算机习得经验的增多,它的智能水准就得以提高。下棋本身是相对比较容易理解的问题,因为棋的规则是开放的,不管是国际象棋、中国象棋、跳棋还是围棋,规则是非常清晰的,在一个清晰的规则系统下,输赢很容易判断。

9050af52dd92f6a116346ce6a75518ff2939092c

由于双方的棋力都能在棋盘上显示出来,再加上清晰的评价函数、规则系统和数据,我们能比较容易地设定人工智能的系统。以IBM的深蓝系统为例,当把一个棋面变成数值时,我们就可以让机器去做搜索算法,而每一个棋子在不同方向都有被选择的可能,就构建出搜索素树算法,再通过α-β剪枝的方法就可以迅速得到结论。当时深蓝就是通过这种方式对国际象棋做出很好的评估函数,由于这些评估函数大多来自国际象棋大师,并且计算机算法搜索很深入,我们就可以让计算机打败像卡斯帕罗夫这样的大师。

在用象棋的这种方法来解决围棋问题时却遇到很大的挑战:一是围棋的棋盘是19乘19,有361个空间可能性,其搜索空间达2.08X10 107  ,那,那么搜索素树就会相当复杂;二是围棋的每个子是一样的,无法通过棋面盘面子粒的多少判断它的状态;三是围棋比赛中会出现一步臭棋,全盘皆输的情况,即围棋的评价函数值不连续,在某一点一个子粒的变化可以让整个棋面的评估变得很复杂。蒙特卡罗搜索树为解决这些问题提供了思路:虽然我们没有办法判断当前盘面的情况,但可以让系统随机下棋,拿胜率作为评估标准盘。随机数可以从某种意义上描述评估值,从而解决怎样评估一个棋子的问题。

当计算机算到足够的深度时,这样的方法会有较好的效果。但是它的速度空间还是太大,那有没有什么办法可以降低呢?通过深度学习的网络来评估棋局就是一种好方法。我们用深度学习算法可以将评估变成一个深度学习的任务,以当前的对局作为输入,输出在某一点上的值,也可以提高预测精度。

那把蒙特卡罗搜索树和CNN结合能产生什么样的化学效应呢?如果用神经原网络可以预测专业棋手在对局中下一步棋的位置,我们就可以让搜索空间变小了。

AlphaGo把这个事情推到了极致,他们不光让棋的搜索宽度变窄,更做了策略网络,来判断当前棋局黑白双方获胜的概率有多大,但遇到的挑战是这个数据比对局的数据要少,对局的每一步都可以作为训练数据,但输赢一盘只有一次,训练数据有点稀疏。所以他们在这个工作上使用了增强学习的方法,即让一个战斗力不错的系统,或者两个系统互相对战产生对局,然后用最后的输赢结果作为机器的样本学习。结果就是这个系统战胜了李世石,非常了不起。

AlphaGo zero又是一个非常重要的突破,一是 AlphaGo zero完全从零开始,二是 AlphaGo zero没有用任何的方式评估,只用了对局本身的棋盘信息。它的输入只有围棋的规则,之后机器就自己跟自己下棋,以此确认模型。在深度学习里面它把原来13层的网络变成40层,而且把原来CNN的网络变得更为复杂,同时把所有的人类知识都抛掉了。但在这一过程当中,它的训练非常快,第三天这个系统跟李世石的系统对决可以完胜,过了21天它就打败了战胜柯洁的那个系统。从某种意义来讲,像下棋这样在规则明确、状态空间有限、容易评估、所有信息透明的情况下,用增强学习的方法是可解的,而且它的解法可以比人做的还要好。

9f4696dd79367eaa1932233b79e53164e3b0e792

那这样的方法能不能解决其他问题呢?现实当中,很多问题可能没法解。增强学习是大量数据的模拟,通过模拟的结果来调整参数。举一个医疗上的例子,我们能拿一个病人去模拟吗?给他吃不同的药看他会发生什么问题?很难。另外,数据的来源信息不是单元的,各方面的因素都会影响到病人,如基因、饮食、生活习惯、家人、天气等,这些因素不可能在一个简单的环境里被算出来,每多一个维度的参数都需要更多的数据来训练。

用多模型聚合的方法是不是可以放在行业里呢?举个例子,比如水管的优化问题预测。历史上有一些数学模型来预测管道哪个地方容易发生锈蚀,我们该在哪个地方打开了去看,但用几个模型、用不同的参数去优化,可以取得很好的效果,而且产生了很大的经济效益。

e51f76d1288192d777925e34b0f45a81e46a33d7

又例如,在电商平台上怎么提高电商的经济效益呢?在电商网站上买东西要经过搜索、对比、加购物车、看评论,这些步骤就是一个决策链,每个链条之间都有转化率,我们怎么提高电商的销售额呢?最好的推荐算法是什么呢?在这个领域里面,采用协同过滤算法是最有效的。

协同过滤有一个方法是矩阵分解,我们可以把用户作为一类,商品作为一类,比方说有6亿用户,1亿商品,就是一个6亿乘1亿的矩阵。我们可以把这个矩阵分解成M乘K的矩阵,当然这两个矩阵之间不会完全一致,可能有一些像压缩的损失。但是矩阵分解可以减小计算量,也可以根据用户跟用户之间的相似度、商品和商品之间的相似度做智能推荐。也就是说在这里面用一个多元K,用好多阶层的K来做优化,以达到最好的效果。

560de2f72991dda7e9667cafc54b393bb98563fe

在新的时代里,由于多了数据维度,我们可以解决很多新的问题。例如皮肤癌的识别,每个医生能看到的案例都是有限的,一个好的大夫一天可能看5个案例就已经很了不起了。但机器可以学了几十万个案例以后做出判断,这个场景就是拿自己手机拍了照片以后发到系统,系统做出风险评估,以判断患有皮肤癌或者黑色素瘤的概率有多大。

回到今天的主题,我们从下棋里面看到一些计算机的成长,包括它能用更多的数据,也包括计算能力的增强,新的算法的体现。如果面对的问题是可以解决的,那这些能力就可以应用到现实当中的行业里。但是现实当中的问题往往比我们像下棋这样的问题要复杂得多,所以我们讲这种算法还有很长的路要走。

3f80d08adf0989b8a233e00d4e82096de91982c2

我们很多人都在担心机器人要替代人类的工作,但是其实机器人走路时还在以各种各样的方式摔倒。实际上这些都是世界上最好的机器人在比赛。三年前有一个比赛,场景是以福岛核电站的辐射场景作为蓝图,机器人可以开车,到达一个地方可以上楼梯,进去以后找到阀门,关上指定的阀门。它可能会使用一些器械,包括使用电钻等,这些都不复杂。当年的冠军是韩国一个大学,他们做的系统相对来说更容易,就是四点着地,相当于跪着,前面膝盖的地方有一个像履带的东西,所以它走路的时候像坦克车一样行走,不容易摔倒。从某种意义上来讲也验证了一个经典,用最合适的方法去解决一个问题,也许成熟的技术或者是一些简单的技术在现实当中更有效。

人工智能确实会有很大的发展,因为大数据的变化改变着很多产业,对从金融行业到医疗行业、教育行业都有很大的帮助。人们经常讲的“人工智能威胁论”事实上有很多的局限性,无论是从应用方法本身,还是问题本身。实际的问题很复杂,参数很多,而现在的方法都是简化的方法。当我们回到真正的应用当中会发现,还有很多最基本的东西需要攻克。

我们用计算机在图象识别领域里面做得很好,但它仍然是有限的数据集,比方说我可以用100万张的图片训练出一个机器人识别猫,识别狗,它能做的比人还要准,但是如果把数据集换成漫画,机器就识别不出来,但是孩子可以识别出来。孩子真正理解这是个苹果,这是个小猫,那是真正的理解,而大数据的智能在某种意义上不是真正的理解。另外,智能的本身是真正了解人,人最复杂的不光是表象,还有很多情感,这对智能来说是不小的障碍。

f9fb2bd13e152355a0ae83d183776b3e45cf4374

迄今为止,我们看到智能化的门已经打开,真正能够改变多少,可能需要不断的尝试。因为并不是所有的问题都可以用大数据解决。


原文发布时间为:2017-12-1

本文作者:苏中

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:IBM苏中:怎样利用深度学习、增强学习等方法提高信息处理效率

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3天前
|
机器学习/深度学习 算法 Python
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
17 0
使用Python实现深度学习模型:元学习与模型无关优化(MAML)
|
19天前
|
机器学习/深度学习 自然语言处理 算法
【从零开始学习深度学习】49.Pytorch_NLP项目实战:文本情感分类---使用循环神经网络RNN
【从零开始学习深度学习】49.Pytorch_NLP项目实战:文本情感分类---使用循环神经网络RNN
|
12天前
|
机器学习/深度学习 并行计算 算法
深度学习中的自动化超参数优化方法探究
传统的深度学习模型优化通常依赖于人工调整超参数,这一过程繁琐且耗时。本文探讨了当前流行的自动化超参数优化方法,包括贝叶斯优化、遗传算法和进化策略等,分析它们在提高模型效率和性能方面的应用与挑战。
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的自适应学习算法研究与应用
在深度学习领域,传统的静态模型在处理动态环境和非平稳数据时面临挑战。本文探讨了自适应学习算法在深度学习中的重要性及其应用。通过分析自适应学习算法在模型参数、损失函数和数据分布上的应用,展示了其在提升模型鲁棒性和泛化能力方面的潜力。具体讨论了几种代表性的自适应学习方法,并探索了它们在现实世界中的应用案例,从而展示了其在处理复杂问题和动态数据中的效果。
32 0
|
19天前
|
机器学习/深度学习 算法 数据可视化
【从零开始学习深度学习】46. 目标检测中锚框的概念、计算方法、样本锚框标注方式及如何选取预测边界框
【从零开始学习深度学习】46. 目标检测中锚框的概念、计算方法、样本锚框标注方式及如何选取预测边界框
|
19天前
|
机器学习/深度学习 算法 PyTorch
【从零开始学习深度学习】43. 算法优化之Adam算法【RMSProp算法与动量法的结合】介绍及其Pytorch实现
【从零开始学习深度学习】43. 算法优化之Adam算法【RMSProp算法与动量法的结合】介绍及其Pytorch实现
|
19天前
|
机器学习/深度学习 算法 PyTorch
【从零开始学习深度学习】40. 算法优化之AdaGrad算法介绍及其Pytorch实现
【从零开始学习深度学习】40. 算法优化之AdaGrad算法介绍及其Pytorch实现
|
19天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】39. 梯度下降优化之动量法介绍及其Pytorch实现
【从零开始学习深度学习】39. 梯度下降优化之动量法介绍及其Pytorch实现
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
OpenCV与AI深度学习之常用AI名词解释学习
AGI:Artificial General Intelligence (通用人工智能):是指具备与人类同等或超越人类的智能,能够表现出正常人类所具有的所有智能行为。又被称为强人工智能。
22 2
|
19天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】47. Pytorch图片样式迁移实战:将一张图片样式迁移至另一张图片,创作自己喜欢风格的图片【含完整源码】
【从零开始学习深度学习】47. Pytorch图片样式迁移实战:将一张图片样式迁移至另一张图片,创作自己喜欢风格的图片【含完整源码】