中国人工智能学会通讯——迎接深度学习的“大”挑战(上)

本文涉及的产品
图像搜索,7款服务类型 1个月
简介:

image

摘要: 本部分主要介绍了近年人工智能所取得的应用成果、什么是深度神经网络以及它所带来的挑战等问题。

为什么要讲这个题目呢?深度学习这几年改变了很多行业的状态,今天上午张老师应该也讲了很多关于神经网络的话题,包括怎么学习深度神经网络的结构。今天我会从另一个角度看一看深度学习到底有哪些挑战,这些挑战怎么用学术研究的方式加以解决。

微软亚洲研究院介绍

在此之前,我准备了两张PPT,介绍一下微软亚洲研究院。

image

微软亚洲研究院成立于1998年,有200多名全职的研究人员和来自于各大高校的实习生。微软亚洲研究院虽然隶属于公司,但是日常运营的形式很像大学,有很多非常有水平的研究员作导师,有非常高质量的学生跟我们做研究。我本人在微软亚洲研究院负责人工智能和机器学习的领域,我们有十几位全职的研究人员从事这方面的研究,如果大家对我们组感兴趣或者想进行合作,欢迎和我联系。

image

我们组的研究方向很宽,包括排序学习、大规模机器学习、深度学习、增强学习、机器学习理论等等。除了发表了百余篇论文,被引用万余次以外,我们还致力于把研究成果分享给同仁,所以在过去几年间我们主导,或者参与了多个开源项目,比如微软认知工具包(CNTK)、微软分布式机器学习工具包(DMTK)、微软图引擎(Graph Engine) 等等。如果大家对我们的最新动态感兴趣,关注我们的公众号、微博,了解很多新鲜出炉的微软亚洲研究院的故事。

image

近年来人工智能所取得的应用成果

接下来我们进入今天报告的正题。

image

我们这次整个AIDL都是关于人工智能和机器学习的,类似的PPT应该已经出现了很多次,所以关于什么是人工智能,人工智能曾经走过什么道路,这里我不想再重复。总之,人工智能在过去的60年里,几起几落,每一次所谓的人工智能寒冬多半都是因为公众和政府对人工智能的期望值太高。因此,作为人工智能行业的参与者,我们有必要提醒公众、提醒政府、提醒产业,对于人工智能技术保持冷静,不要把它过早捧杀。

image

不过话说回来,回顾过去的十几年,人工智能确实取得了一些前所未有的成果。接下来我们就来看几个例子。深度学习的成功最早是在类似语音图像这些领域取得的。

首先,语音识别,因为有了大量的训练数据,有了Deep Learning的方案,逐步达到了人类的精度。这张PPT展示的是去年10月份我们微软研究院对外宣布的一个语音识别方面的突破性进展。

image

这是历史上第一次,机器达到了和人没有区别的程度,在个人对话的场景下,取得了非常低的错误率(5.9%)。这个模型是用微软认知工具包(CNTK)训练出来的,大家如果对语音的研究有兴趣,可以试用一下CNTK,它是语音识别领域被最广泛使用的深度学习工具包。

其次,图像方面最近也取得了很大的进展。2015年来自我们微软亚洲研究院的ResNet技术,在ImageNet competition里取得了冠军,并且超过了人类的识别精度。像ImageNet这样包含上千个类别的图像数据,识别起来其实还是有难度的。即便是人,看一眼也不一定都能分辨出来。

有研究表明,人类的错误率大约是5.1%,而ResNet达到了将近3.5%的错误率。也就是说对于特定领域、特定类别的问题,机器已经超过了人的图像识别能力。这个成功后来又延续到了图像分割领域。图像分割是比图像识别更复杂的任务,不仅要告诉大家这张图像有什么,还要把它圈出来、把边界找到。2016年微软亚洲研究院的技术再次在这个更难的任务上力拔头筹,获得冠军。

image

上面提到的人工智能技术大多已经被微软产业化,下面给大家放一个视频,是介绍微软认知服务的,之前网上几个很出名的爆款应用,比如How old(测颜龄),都是基于微软认知服务开发出来的。

视频中展示场景,包括了前面提到的语音识别、图像识别、文字识别等等。有了微软认知服务,大家如果想做一个创新应用,就不需要对深度学习有非常深的了解,不需要在云上构架一个庞大的服务器集群来训练模型,只要调用一下认知服务的API,就可以实现很多神奇的功能。

除了前面提到的语音和图像以外,在文本理解、机器翻译等方面,人工智能技术最近也取得了很大的进展。

image

微软有很多与此相关的产品,比如Skype translator、Microsoft translator,可以同时支持多人、多点语音、多语言的实时同声传译。接下来给大家展示的视频是关于Skype translator的,讲的是一个外国摄影师和他的中国向导之间的故事。

其实这项技术早在2012年微软亚洲研究院主办的“21世纪计算大会”上就被展示过。当时我们的研究副总裁Rick Rashid用英文作了一个主题演讲,大家听到的是机器自动同声传译出来的中文表达,听起来就像他真的会讲中文一样。

除了上述认知方面的进展,最近人工智能在博弈方面也取得了很大的进步。比如用人工智能来打电子游戏,用人工智能来下围棋等等。当年AlphaGo战胜李世乭的时候街头巷尾都在讨论。而今master横扫几十位人类高手,又掀起了大家对人工智能的新认识。

image

左边这张图是关于用人工智能技术来玩Atarti game的。当使用强化学习技术不断地尝试玩这个游戏,一开始机器只会学到一些基本技能,玩着玩着逐渐发现一些高级的策略,甚至获取了超过常人的技巧,比如把小球打到砖块上面去,通过不断回弹实现得分。

右边这张图是关于围棋的。围棋本身的策略空间非常大,每落一子,棋盘上都有很多不同的选择,如果再考虑到后手,则对应于一个非常庞大的搜索树。对这个搜索树进行遍历是远远超过目前计算机的计算能力的,所以大家曾一度认为在围棋这件事情上机器很难战胜人类。但是,最新的人工智能技术巧妙地回避了遍历,像人一样使用了value network来对搜索树进行有效的剪枝,从而在以高概率保留好棋的前提下,把计算的复杂度降低到计算机可以承受的范围内,并且最终战胜了人类的世界冠军。

深度学习技术

前面回顾的所有这些人工智能领域的大事件,背后都离不开“深度学习”技术。

深度神经网络及其优化方法简介

image

那么什么是深度学习呢?虽然早期大家提DeepLearning这个概念的时候,会联想到很多不同的模型,但是经过多年的演化,目前最主流的深度学习模型就是所谓的深层神经网络。深层神经网络指的是一个有至少包含两个隐层的神经网络。很多实用的深层神经网络甚至会包含成百上千个隐层。

简单起见,我们先举一个有三个隐层的深层神经网络作为例子。从图中可以看到,神经网络包含很多神经元,以及它们之间的拓扑连接。每个神经元做的事情非常简单,就是把上一层所有跟它相连的神经元的输出放在一起,做加权求和,然后再进行非线性变换(激活函数)。在神经元,以及神经元之间的连边上都可以有参数,比如边权和偏差等。

image

那么有了深层神经网络以后,怎么对它进行学习呢?常用的方法叫做经验风险最小化,也就是最小化神经网络在训练集里所有样本上的损失函数之和。为了最小化经验风险,一个最简单的方法是梯度下降法。但是,我们知道梯度下降法很容易陷入局部极小点,而且它的随机版本可能不收敛,需要通过减小学习率来控制训练过程的收敛性。为了解决这些问题,人们又提出了很多变种的优化算法,比如SVRG等等。

image

两种特殊的深度神经网络

了解了什么是深度神经网络,以及如何对其进行优化,我们来介绍两种特殊的深层神经网络。

首先是卷积神经网络,之所以称其为卷积神经网络,是因为它的一些基本单元非常像信号处理里的卷积操作。其实,卷积神经网络的提出,也有很多仿生学的背景在里面。咱们回想一下自己做图像识别的过程:如果给你一幅很大的图片,要在里面识别出某个特定的人,比如张三。假定我们的脑子里有张三的形象,但是不知道他到底在图片的哪个部位,我们会怎么做呢?一个很简单的方式就是从这张图像左上角开始扫描,每次扫描都用我们脑子里的模式去匹配一下看有没有张三,没有的话往后移动一个位置,再进行下一次扫描。整个图像扫描过程中,我们对张三识别的模式是没有改变的,参数是固定的,只是在空间不断平移,这其实是所谓卷积神经网络最基本的思想。

具体来讲,卷积神经网络有三个特点:

image
image

如果我们把卷积操作和Pooling操作级联在一起,不断循环往复地构建网络结构,这就会形成深层的卷积神经网络。给大家看一个例子,LeNet,它在输入图像的基础上,进行了多次卷积和pooling操作,最后在实现有效的信息抽取之后,使用全连接的网络对这些信息进行最终的分类。

image

第二个特殊的深层神经网络叫做循环神经网络。它的提出也和仿生学有关。咱们想一下自己是如何读书看报的。我们一般是从每段文字的第一个字开始,一边往后看,脑子里一边利用之前看过的内容的记忆,对当前看到的文字进行理解。如此循环往复,最后把整个段落的意义全都弄清楚。循环神经网络也做了同样的事情,它在标准神经网络的基础上引用了一个memory unit,用来存储和之前输入有关的信息,以帮助我们更好地理解未来的输入。

image

为了更形象地理解循环神经网络,我们把它展开来看。展开之后这些输入就带有时间标签了,比如说这个是你看到的第一个词x0,接下来看到第二个词x1,不断往下移动。每次看到一个新输入之后,就会对它做某种处理,产生一些对它的认识,并且放到memory里,当看到下一个词的时候,不仅仅针对这个词本身进行理解,还会参照上一个词对应的memory;这样不断地循环下去,就得到了所谓的循环神经网络。循环神经网络和卷积神经网络有点类似,也会在不同阶段共享参数。

理论上,循环神经网络可以展开成无限深的网络,但是这会带来学习的麻烦。实践中,我们通常进行有限深度的展开,也就是所谓的BPTT技术。展开之后就可以把它当成标准的神经网络,用梯度下降的方法来进行参数学习了。

image

深度神经网络所带来的挑战

到此为止,我们做了一个快速的神经网络简介:我们介绍了什么是神经网络,两个特殊的网络结构,以及如何学习它们的参数。不管是全连接的网络、卷积网络还是循环网络,实际中常常会用到很深的层次,比如成百上千层,那么当深度增加的时候,有什么好处,又是否会带来一些新的挑战呢?

前面我们提到过神经网络的universal approximation theorem,它似乎告诉我们只要有一个隐层,神经网络已经可以具备几乎无限的表达能力了。那为什么还要使用那么多的隐层呢?近几年有很多的理论研究表明,当层数增加时,想要取得同样的表达能力,对隐节点总数的要求会变小很多,因此也就会带来更高的学习效率和更小的学习难度。

反过来看,当隐节点的个数相同的时候,深层网络的表达能力会比浅层网络更强,因此学习能力也就更强。当然,天下没有免费的午餐,深层网络的好处是有代价的,当网络很深的时候,用梯度下降来进行学习时,常常会遇到一些技术难题。接下来这张PPT就展示了两个常见的麻烦。

image
image

为了更好地解释这种现象,我给大家举一个例子。这是一个细长型的深度神经网络。网络参数包括边权w和偏差b。我们以b1这个参数为例,损失函数对它求导的结果如图所示。在这个连乘式里,σ'是 激活函数的导数,每经过一个隐层,就会出现一项σ'。

这里画了一个常见的sigmoid function的导数,它的最高点是在输入为0的时候取得的,最高点取值是0.25,如果你的输入不是0,其取值会更小。大家知道,当我们把一长串很小的数连乘起来,它的结果会很快衰减到接近0,而在当前的参数上加上一个几乎为0 的梯度,对模型是不会有什么改变的,这就解释了为什么深层网络经常训练不充分。

image

为了解决这两个典型的麻烦,人们提出了一系列的技术手段。

比如:DropOut/DropConnect,其基本思想是在训练过程中引入一些随机因素,让神经网络模型不会那么狠地拟合到训练集上去。为此,可以在训练过程中随机删除一些神经元节点,或者随机删除一些连边。有人证明了,通过DropOut,可以有效降低神经网络的容量(Rademacher Average),从而避免过拟合,取得更好的泛化能力。

image

另外一个技术是Batch Normalization,也可以有效缓解overfitting和Gradient vanishing的问题。它其实是受到早期人们对神经网络的输入进行白化处理的启发。不同点在于它对深层神经网络的每一层都进行白化处理,而且是参数化的白化。也就是在一个mini batch里计算均值和方差,然后对信号进行0均值、标准方差的变换。这样做的好处是可以去除不同mini batch之间的差异,使得数据变得更加统一,提高泛化性能;同时,由于激活函数的输入被0均值化,也会提高其导数的幅度,从某种程度上减缓gradient vanishing的问题。

image

(待续)
(本文是根据中国人工智能学会人工智能前沿(AIDL)讲习班刘铁岩博士现场分享整理的文字报告,雷锋网[AI 科技评论]编辑整理)

image

博士,微软亚洲研究院首席研究员,美国卡内基梅隆大学(CMU)客座教授。国际电子电气工程师学会(IEEE)、美国计算机学会(ACM)和中国计算机学会(CCF)的高级会员,中国计算机学会的杰出演讲者和学术工委。研究兴趣包括人工智能、机器学习、信息检索、数据挖掘等。他的先锋性工作促进了机器学习与信息检索之间的融合,被国际学术界公认为“排序学习”领域的代表人物,在该领域的学术论文已被引用近万次。近年来,在博弈机器学习、深度学习、分布式机器学习等方面也颇有建树,多次获得最佳论文奖、最高引用论文奖、研究突破奖,并被广泛应用在微软的产品和在线服务中。

相关文章
|
9天前
|
机器学习/深度学习 人工智能 算法
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物('蛤蜊', '珊瑚', '螃蟹', '海豚', '鳗鱼', '水母', '龙虾', '海蛞蝓', '章鱼', '水獭', '企鹅', '河豚', '魔鬼鱼', '海胆', '海马', '海豹', '鲨鱼', '虾', '鱿鱼', '海星', '海龟', '鲸鱼')数据集进行训练,得到一个识别精度较高的模型文件,然后使用Django开发一个Web网页平台操作界面,实现用户上传一张海洋生物图片识别其名称。
91 7
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
|
2天前
|
机器学习/深度学习 人工智能 算法
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
乐器识别系统。使用Python为主要编程语言,基于人工智能框架库TensorFlow搭建ResNet50卷积神经网络算法,通过对30种乐器('迪吉里杜管', '铃鼓', '木琴', '手风琴', '阿尔卑斯号角', '风笛', '班卓琴', '邦戈鼓', '卡萨巴', '响板', '单簧管', '古钢琴', '手风琴(六角形)', '鼓', '扬琴', '长笛', '刮瓜', '吉他', '口琴', '竖琴', '沙槌', '陶笛', '钢琴', '萨克斯管', '锡塔尔琴', '钢鼓', '长号', '小号', '大号', '小提琴')的图像数据集进行训练,得到一个训练精度较高的模型,并将其
11 0
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
|
10天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
140 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
10天前
|
机器学习/深度学习 人工智能 算法
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集 '美式足球', '棒球', '篮球', '台球', '保龄球', '板球', '足球', '高尔夫球', '曲棍球', '冰球', '橄榄球', '羽毛球', '乒乓球', '网球', '排球'等15种常见的球类图像作为数据集,然后进行训练,最终得到一个识别精度较高的模型文件。再使用Django开发Web网页端可视化界面平台,实现用户上传一张球类图片识别其名称。
104 7
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
OpenCV与AI深度学习之常用AI名词解释学习
AGI:Artificial General Intelligence (通用人工智能):是指具备与人类同等或超越人类的智能,能够表现出正常人类所具有的所有智能行为。又被称为强人工智能。
22 2
|
6天前
|
人工智能 监控 安全
探索人工智能的伦理边界:我们准备好迎接AI道德困境了吗?
【6月更文挑战第26天】本文深入探讨了人工智能技术发展所引发的伦理问题,分析了当前AI应用中的一些具体案例,并讨论了如何构建一个能够应对未来挑战的AI伦理框架。文章旨在启发读者思考在设计、开发和使用AI系统时必须考虑的伦理原则和社会责任。
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习算法:开启人工智能新纪元
深度学习算法:开启人工智能新纪元
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
智能时代的引擎:深度学习与人工智能的未来
本文将探讨深度学习如何成为推动人工智能发展的关键技术,分析其原理、挑战以及未来趋势。我们将从基础概念入手,逐步深入到深度学习的高级应用,并讨论其在各行各业中的实际影响,最后预测深度学习技术未来的发展方向。
17 0
|
2天前
|
机器学习/深度学习 人工智能 算法
人工智能与创造力:探索AI在艺术创作中的角色
【6月更文挑战第30天】本文深入探讨了人工智能(AI)如何在艺术领域内重新定义创造力的概念。通过分析AI技术在绘画、音乐和文学创作中的应用案例,我们揭示了AI不仅能够模仿传统艺术形式,还能开创全新艺术风格的可能性。文章还讨论了AI艺术对知识产权法的挑战,以及公众对于由机器创造的艺术作品的接受度问题。
|
6天前
|
人工智能 搜索推荐 语音技术
AI赋能视频剪辑师:人工智能时代,视频剪辑师该如何剪辑?
在AI时代,视频剪辑师借助智能素材整理、自动化剪辑、语音识别及创意辅助技术,提升效率和创新空间。他们应拥抱AI,结合AI优化剪辑流程,如高效预筛选素材、减少手动操作,同时借助AI激发创意。保持主观能动性和创造力至关重要,通过学习,如获取Adobe国际认证,提升专业技能,适应行业发展,打造个人品牌,以在行业中保持竞争力。