iDST院长金榕IJCAI演讲:阿里巴巴的深度学习应用(附PPT)
雷锋网 (公众号:雷锋网) AI科技评论按:深度学习过去十年在各个领域都取得了巨大的成功,但当把深度学习技术应用到实际问题中时,常会遇到诸多挑战。阿里巴巴作为在电商领域有诸多业务的企业,对深度学习有很大的需求,不可避免地当他们将深度学习应用到业务中时会遇到许多学界人士不可能遇到的问题。
前段时间刚过去的IJCAI 2017大会上,阿里巴巴集团iDST院长金榕做了一场关于《Deep Learning at Alibaba》的报告。报告中,金榕介绍了深度学习在阿里巴巴的业务中的一些应用以及正在进行的一些研究。以下内容为雷锋网根据现场报告的录音以及被IJCAI 收录的论文《Deep Learning at Alibaba》整理而成。
一、演讲目录
金榕的演讲主要有四块内容。如PPT中所示:
1、 计算机视觉方面 。包括视觉搜索、图像分类、交叉媒体检索。金榕将从拍立淘以图搜图的业务开始,通过迁移学习来处理后两个问题。
2、 语音识别和自然语言处理 。包括声学模型、依存语法和模仿问答三个部分。
3、 对组合优化的讨论 。在这个讨论中,金榕介绍了3D容器打包(3D Bin Packing)和自动设计banner两个问题,前者在菜鸟运送快递时节省了大量的成本,后者则在双十一时节省了大量的人力、物力。
4、 模型简化问题 。包括模型的压缩以及通过浅网(shallow network)的尝试工作。
在开始介绍阿里巴巴业务中的深度学习之前,金榕博士介绍了阿里巴巴企业的生态环境。作为一个电子商务企业,阿里巴巴的购物平台包括淘宝、天猫、聚划算、飞猪、AliExpress、LAZADA(东南亚地区最大的在线购物网站之一)等,在此基础上还在许多涉足领域,例如蚂蚁金服、阿里妈妈、微博、高德地图、UC浏览器、优酷和土豆、菜鸟等。
金榕还对阿里巴巴业务中应用到的深度学习问题作了一个梳理,大概包括:
1、信息检索(搜索和推荐系统);
2、语音技术(自动语音识别、语音合成,对话管理);
3、自然语言处理(拼写检查、依存语法、问答和机器翻译);
4、图像/视频内容分析(脸部、文字的识别、匹配以及细粒分类;多形态分类;对象检测、追踪、识别;视频事件检测、分类);
5、深度学习和优化(优化、模型压缩、预测;道路规划和图标设计)
二、计算机视觉
1、拍立淘
在阿里巴巴的淘宝中有一项业务为“拍立淘”。其基本的思想就是以图搜图,对着你感兴趣的物品拍一张照片,系统将根据照片给你推荐相关的商品。 据金榕介绍,现在已经有超过1亿件商品的30亿张图片,每天有至少1200万活跃用户。
这项业务的基础就是通过深度学习对结果进行排序,阿里研究人员通过用户记录的三元组数据(查询图片、点击图片和未点击图片)来训练模型的排序损失函数,从而得到排序结果。
例如你上传一张桌子的照片,模型将自动检测出主体,然后按照排序分数从高到低排出相关商品的结果。
2、从拍立淘到Everything——迁移学习
拍立淘的这项业务其本质就是图像匹配,所以可以通过迁移学习将这个模型从电子商务应用到其他领域。传统的迁移学习方法如图所示,拍立淘中图片的矢量表示x通过线性变换迁移到别的领域的图像表示x’上。其中W为线性迁移矩阵,这个矩阵可以通过有限的数据学习得到。
这种方法比较简单,但由于在实际应用中源和目标往往有比较大的差距,线性模型并不能很好的调和这种差距。金榕介绍,在阿里的迁移学习中,他们引入了一个随机傅立叶函数,使迁移变换由线性变为非线性。
这种非线性迁移学习的方法在实验中要比线性迁移学习方法的精度要高,鲁棒性也更好。
三、语音识别和自然语言处理
1、声学模型
自动语音识别包括声学模型、语言模型和解码器。这里只讨论其中的声学模型(Acoustic Model)。基于声学模型的神经网络在过去5年已经有了长足的发展,单词识别的错误率已经下降到了5.9%。
现在常用的对声学模型的处理是双向长短时记忆模型(Bi-directional Long Short-Term model)。这种模型相比于长短时记忆模型有更高的精度,但是潜在的因素也非常大。阿里的研究人员开发出潜在控制双向长短时记忆模型(Latency-Controlled BLSTM),这种模型添加了删减的反向传播以及未来的信息,这种模型能够加速BLSTM的计算。
2、依存语法(Dependency Parsing)
依存语法这个问题,对于非专业人士还是很难理解的。简单来说就是通过依存语法构建了主词与描述主词的词之间的关系。由于依存语法没有词组这个层次,每一个结点都与句子中的单词相对应,它能直接处理句子中词与词之间的关系。这种特性使得它非常便于语句分析和信息提取。
最近几年人们在将神经网络应用到语法解析方面取得了很大的成功。其中一个极好的例子就是biaffine attention parser,其基本的思想就是给范围内每一个可能的主词与其他词之间的联系进行打分。但是这只针对你所感兴趣的词。在淘宝中,阿里的研究人员采用了附加有全局调节器的BAP,这种方式得到的结果有更好的表现。
例如上面的例子中,传统的BAP会将cautious与decline关联起来,而实际上它们并没有联系;而附加有全局调节器的BAP则显示出较好的结果。
3、模仿问答
金榕博士在此简要介绍了Mimicked QA系统。这个系统并不是要简单地构建一个问答系统,更重要的是让你能感觉到像是在和真人对话一样。如图上显示的,它首先将用户的语音提问通过语音识别转化成文本,再通过文本问答系统生成答案,随后生成语音答案以及相应的面部表情。用户最终得到的是一个模仿真人带有面部表情的答案。
四、组合优化
在这个部分,金榕通过两个例子——3D容器打包(3D Bin Packing)和自动设计banner——来说明阿里如何将深度学习的组合优化应用到业务当中。
1、3D容器打包
在物流业务中有一个常见的NP问题(也是组合优化问题)就是3D容器打包:如何才能更有效地打包物品呢?这个问题的实质就是找到一个优化的打包方式(启发heuristic)。但是打包的方式太多了,所以困难就在于如何才能知道何时该用何种打包方式?金榕介绍了他们团队如何通过指针网络和强化学习来给出优化方案。
在打包过程中有三项关键的决定:1)物品打包的顺序;2)物品放置的位置;3)物品放置的方向。所以所要求解的问题就是物品顺序、位置、方向等的一个最优序列。
模型中的指针网络,是由两个回归神经网络的RNN模块(编码器和解码器)构成,该网络的输入是待打包物品的尺寸序列,输出的则是打包的序列(顺序、位置、方向,不一定是最优的)。当给定一个打包序列后,打包这些物品所需的最小容器就很容易可以计算出来。随后通过强化学习便可以快速找到优化的打包方式。
阿里团队将通过模拟数据对该模型训练后,将结果应用到天猫和菜鸟的物流打包中,结果证明强化学习后的打包方式能够节省5%的打包箱。5%的优化对普通人来说可能并不显著,但考虑到物流公司每天都要处理成千上万的包裹,这样的优化结果将能够节省很多成本。
2、自动设计Banner
在购物网站上,一个好的banner会给用户带来更好的体验。阿里巴巴平台上有大量的商品展示,尤其是在双十一光棍节时,对banner有大量的需求,靠手动设计显然是不现实的。于是他们将深度学习应用到了banner的设计中。
具体来说,banner就是框架、背景、对象及其他材料的一个组合序列。将这些材料的组合输入到一个卷积特征网络中,再加上用户日志,就构成了一个价值网络,最终会给出一个组合(banner)的质量(quality)。通过这种方式为网上广告进行设计显然将会更节省人力、更快速地响应需求,也将会得到更好的结果。
五、模型压缩与浅网
现在的深度学习模型变得越来越复杂,甚至有的模型已经超过了1000层,参数空间达到了10亿级。这使得深度网络神经学习在优先的存储器和计算资源下难以运行。金榕在此提到了阿里的两种解决方案:模型压缩和浅网模型的构建。
1、模型压缩
在演讲中,金榕提出了一个利用乘法器交替方向法(ADMM)的low-bits量化神经网络的框架来压缩模型。
当模型比较庞大时,我们有时可以通过寻求次优解来降低计算量。常用的近似方法是,将连续的函数进行低比特量化(low-bit quantization),将w通过符号函数f(w)或硬双曲切函数g(w)来替换。但这种方法近似的目标函数在最优解附近会表现的很不稳定。
为了解决这个问题,他们引入了交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)。ADMM是一种求解优化问题的计算框架,它能够将连续解和离散解结合起来,非常适用于求解分布式凸优化问题。此外为了更有效地运行ADMM,他们还开发了额外梯度下架方法(extra gradient descent method)来解决优化问题,这种方法能够加速收敛。
通过用imageNet数据集的测试,结果显示他们的方法要优于别的方法,且三比特(-1、0、1)方法相比full-precision在精度上几乎没有损失。
2、深网 v.s. 浅网
就前面说的,当想要寻求一个更优的解时,人们往往会求助于更深的神经网络。这种网络的预测函数往往是预定的且参数是相互独立的。尽管这种方式在性能上有优良的表现,但模型和运算量都非常大,在训练上是非常困难的,使用起来也非常昂贵。于是他们就想,能否通过构建复杂的激活函数来在预测函数中引入高度非线性,以此来取代神经网络的深度优势。换句话说,就是他们想用一个非常复杂的激活函数来开发一个相对较浅的网络。
这个想法是受到了Cybenko等人的universal approximation theorem的启发。根据这个理论,存在一个激活函数σ,严格递增且是反曲的,它有以下的性质:对于任意函数f ∈ C [0, 1]n以及任意精度的限制 ε > 0,都存在常数d(输入参数的维度)、c、θ 、γ、向量w,满足图中的不等式。
换句话说,这个理论暗示了存在一个复杂的双曲型激活函数,使得任何连续函数都可以通过两个隐藏层的神经网络得到很好的近似。搜索非线性激活函数的优点是激活函数是单变量函数,即使在非参数化设置中也可以有效地完成其优化。目前这项研究仍在进行中,还有不少的困难。
雷锋网注:参考论文《
Deep Learning at Alibaba
》
。