阿里团队最新实践:如何解决大规模分类问题?

标签: geek | 发表时间:2018-07-09 00:00 | 作者:
出处:http://itindex.net/relian

640?wx_fmt=jpeg


翻译 | 林椿眄

编辑 | 阿司匹林

出品 | AI科技大本营


【AI科技大本营导读】近年来,深度学习已成为机器学习社区的一个主要研究领域。其中一个主要挑战是这种深层网络模型的结构通常很复杂。对于一般的多类别分类任务,所需的深度网络参数通常随着类别数量的增加而呈现超线性增长。如果类别的数量很大,多类别的分类问题将变得不可行,因为模型所需的计算资源和内存存储将是巨大的。然而,如今的很多应用程序需要解决庞大数量的多分类问题,如词级别的语言模型,电子商务中购物项目的图像识别(如现在淘宝和亚马逊上数百万的购物项),以及 10K 中文手写汉字的识别等。


640?wx_fmt=png

为此,来自阿里巴巴的团队提出了一种称为标签映射(LM)的方法:通过将原始的分类任务分解成几个理论上可解决的子分类任务,来解决这个问题。


据介绍,这种方法类似纠错输出代码(ECOC) 一样的集成方法,但它还允许base learner 不同标签数量的多类别分类器。该团队提出了LM 的两种设计原则,一个是最大化基本分类器(可以对两个不同类别进行分类)的数量,另一个是尽可能地保证所有base learner 之间的独立性以便减少冗余信息。由于每个base learner 可以独立地进行训练,因此很容易能将该方法扩展到一个大规模的训练体系。实验表明,他们所提出的方法在准确性和模型复杂性方面,显著优于标准的独热编码和 ECOC 方法。


▌简介


事实上,用于处理 N 类的深度神经网络分类器通常可以被看作是将欧式空间中一些复杂的嵌入表示连接到最后一层的 softmax 分类器上。复杂的嵌入表示可以被解释为是一种聚类过程,即根据类别的标签将数据进行聚类并在最后一层将分离数据。聚类过程会根据类别标签对数据进行聚类,并在最后一层尝试将它们分开。如果欧式空间最后一层的维度大于或等于 N-1,那么将存在一个 softmax 分类器分离那些概率1的聚类。但是,如果欧式空间的维度小于 N-1,那么将不存在一个 softmax 分类器能够将一个聚类从中分离出来并使其聚类中心位于其他聚类中心所构成的凸集平面内,因为凸集上的线性函数总是能够在顶点处取得最大值。 


解决这种 N 类别的分类问题,要么固定最后一层的维度,这将导致分类的性能变得很差;或者让最后一层的维度随着 N 的增长而增长,但这会导致最后两层的模型参数随着 N 的增加而呈现超线性增长。网络大小的超线性增长将显著增加训练的时间和内存的使用量,这将严重限制模型在许多现实的多类别问题中的应用。


本文我们提出了一种称为标签映射(LM)的方法来解决这个矛盾。我们的想法是将一个多类别的分类问题,变成多个小类别的分类问题,并平行地训练这些小类别的分类问题。分布式训练将放缓计算量和内存的增加,同时不需要机器之间的通信。


▌方法(标签映射)


如上所述,通常 N 类的深度神经网络分类器通常可以被看作是将欧式空间中一些列复杂的嵌入表示连接到最后一层的 softmax 分类器上。在本文中,我们进行了如下的一些定义:


我们把欧式空间 V 中 N 个点的集合称为 X,满足凸集的性质,并保证当且仅当凸集 X 的闭合具有确切的 N 个顶点。换句话说,softmax 分类器能够在欧式空间 V 中分离所有的 N 个聚类,并使得聚类中心落在凸集的内部。


对于一个多类别的分类问题,我们引入一种标签映射的方法,将大规模的多类别分类问题转化为一些子分类问题。一个映射序列的标签映射定义如下:


其中,每个 fi 都代表一个地点位置函数 (site-position function),n表示标签映射的长度,N表示类别数量。如果每个每个类别都相等的话,我们称之为单一的标签映射,否则则定义为混合的标签映射。


一般来说,N 是一个很大的数字,而Ni 是中等大小的一些数字。 我们可以通过标签映射将一个 N 类别的分类问题减小为 n 的中等尺寸的分类问题。假设训练数据集是{xk, yk},其中 xk 表示特征,而 yk 表示标签,有两种方法可以在深度神经网络模型中使用标签映射。一种是使用一个具有 n 个输出的网络 (如图1)。另一种是使用 n 个网络,每个网络都被训练成数据集中的base learner (如图2)。 


640?wx_fmt=png

图1: n 个输出的网络


640?wx_fmt=png

图2:n 个网络,每个网络有 n 个输出


考虑到分布式训练的便捷性,这里我们使用图2中的方法。此外,我们还规定标签映射应满足如下性质:


  1. 类别的高度分离性:对于两种不同的标签,尽可能保证二者高度分离,这里我们通过一个地点位置函数 fi 来衡量。

  2. 基础学习器的独立性:类别的高度分离性保证了每个基础学习器都能够通过训练将不同类别分离,而基础学习器的独立性保证了相同的信息能够被尽可能少的学习器所学习。

  3. 与 ECOC 的差异性:我们的标签映射方法不需要将多分类问题转化成二分类问题 (如 ECOC 方法),也不需要转化为相同类别数量的分类问题。


▌实验过程


我们在 Cifar-100,CJK 字符和 Republic 三个数据集上测试了标签映射的性能。 


CIFAR-100 数据集由60000张100个类别的32x32彩色图像构成,每个类别有500张训练图像和100张测试图像。我们使用一个简单的 CNN 网络,其结构示意图如下图3,最后一层的维度是128,每个类别的标签都是一个独热编码。


640?wx_fmt=png

图3:CNN 的模型结构示意图


CJK 字符数据集由20901张139×139的灰度字符图像构成。我们使用 Inception V3 模型,其最后一层的维度为2048,并使用独热编码对应数据集中每个字符类别的标签。


Republic 数据集由一个含118684个词的文本构成,其中7409个词是独一无二的。我们使用一个 RNN 模型,其最后一层的维度为100,其结构示意图如图4所示。同样,我们对类别标签进行独热编码。


640?wx_fmt=png

图4:RNN 模型结构示意图


▌结果分析


我们分别对三个数据集进行对比实验,评估单一标签映射、混合标签映射及标签映射与 ECOC 方法之间的优劣性。实验结果表明,标签映射的准确性将随着数据集长度的增大而升高。在 Cifar-100 数据集上,使用独热编码的标签会给标签映射的准确性带来更大的提高,而对于其他两个数据集的提升却不是很明显。这是因为独热编码的引入能够充分发挥简单 CNN 结构的优势,而对于 Inception V3 模型而言,其最后一层的维度小于 CJK 数据集的类别数量,因而独热编码的作用没能发挥出来。同样地,对于最后一层的维度小于 Republic 数据集类别数的 RNN 模型,独热编码的强大性也无法充分体现。


Cifar-100 数据集


下图5、图6、图7分别表示单一标签映射、混合标签映射作用下的精度及标签映射方法与 ECOC 方法的对比结果。


640?wx_fmt=png

图5:单一标签映射下的精度 


640?wx_fmt=png

图6:混合标签映射下的精度


640?wx_fmt=png

图7:标签映射与 ECOC 方法的对比结果



CJK 数据集


下表1、表2、表3分别表示单一标签映射、混合标签映射作用下的精度及标签映射方法与 ECOC 方法的对比结果。


640?wx_fmt=png

表1 单一标签映射作用下的性能


640?wx_fmt=png

表2 混合标签映射作用下的性能


640?wx_fmt=png

表3 标签映射与 ECOC 方法的对比结果


Republic 数据集


表4显示标签映射方法在 Republic 数据集上的性能。


640?wx_fmt=png

表4 标签映射作用下的性能


▌结论


我们提出了一种方法称为标签映射(LM),能够将大规模的多类别分类问题到分解成多个小规模的子分类问题,并为每个子分类问题训练base learner。而所需的base learner 数量随着类别数量的增加而增加。此外,我们提出两个设计原则,即类别高可分离性和base learner 的独立性,并提出两类满足该原则的标签映射,即单一标签映射和混合标签映射。我们分别在 Cifar-100、CJK 和 Republic 三个数据集上展示了标签映射的性能。实验结果表明,标签映射的性能随长度的增加而增加。当类别数量很大时(如 CJK 字符数据集和 Republic 数据集),特别当数量远大于模型最后一层的维度时,标签映射的性能更佳。此外,我们还对比了标签映射与 ECOC 方法的性能,发现在更少参数量的情况下,我们的方法还远远优于 ECOC 方法。


相关链接:https://arxiv.org/abs/1806.02507

AI公开课精彩预告

时间:7月12日 20:00-21:00
扫描海报二维码,免费报名
添加微信csdnai,备注:公开课,加入课程交流群



相关 [阿里 团队 实践] 推荐:

阿里内贸团队敏捷实践(二)自组织管理

- - 并发编程网 - ifeve.com
本文是作者原创,原文发表于《程序员》杂志 2013年3月刊. 实现团队的自组织管理,非常有助于团队形成合力,极大地提升团队整体的工作效率. 本文结合原阿里ITU内贸团队的敏捷实践经历,阐释了从何为自组织管理、为什么进行自组织管理、如何进行自组织管理等内 容,同时给出了团队实施自组织管理的效果. 在《射雕英雄传》里,以全真七子的武功是打不 过东邪黄药师的,但当他们摆出了“天罡北斗阵” 时,却能和黄药师打成平手.

阿里团队最新实践:如何解决大规模分类问题?

- - IT瘾-geek
【AI科技大本营导读】近年来,深度学习已成为机器学习社区的一个主要研究领域. 其中一个主要挑战是这种深层网络模型的结构通常很复杂. 对于一般的多类别分类任务,所需的深度网络参数通常随着类别数量的增加而呈现超线性增长. 如果类别的数量很大,多类别的分类问题将变得不可行,因为模型所需的计算资源和内存存储将是巨大的.

技术团队看板方法实践的难点分析

- - csdnNews
CTO俱乐部看板研修班开课. 北京、上海、深圳三站火热报名中. 感兴趣的朋友可扫描左侧二维码加入看板公开课与路宁、何勉两位讲师直接沟通. 成功加入 CTO俱乐部会员并. 获赠6个月《程序员》iPad/Android版电子刊. 会员权益:个人主页、定期餐叙、最新周刊、折扣优惠、《程序员》杂志、大会门票、人才招聘、每月赠书等,.

唯品金融大数据团队的图数据库实践

- -
在大数据时代,社交关系趋于复杂化,越来越多的互联网项目都和社交关系联系起来. 而对社交关系的良好契合,使得图数据库(Graph Database)在互联网领域迅速崛起. 通过图数据库可以高效地进行社交关系查询、分析和数据挖掘,以发现有价值的信息. 近几年互联网金融发展火热,用户对消费分期、现金贷等需求也越来越高.

阿里为全面践行DevOps,分拆整个应用运维团队

- - 运维派
在2016年12月的Velocity China2016,阿里巴巴平台架构部研究员林昊(花名毕玄)发表了题为《阿里应用运维体系演变》主题演讲,其中透露了一个大新闻:. 阿里为全面践行 DevOps 思想,并进行组织结构调整:将以前的应用运维团队全部打散,并合并到各BU的软件开发团队中去. 这一举措,听起来颇有大将风范.

阿里电商故障治理和故障演练实践

- - IT瘾-dev
近日,在 QCon北京2017大会上,来自阿里巴巴中间件团队的技术专家周洋(花名中亭)发表了题为《阿里电商故障治理和故障演练实践》专题演讲. 在会后官方组织的评选中,本次演讲的内容得到了一致好评,中亭获选为本次大会的明星讲师. 此次演讲整体上分享了从 2011 年至今,阿里巴巴电商平台遇到的诸多有代表性的故障,以及在此过程中积累的非常多的高可用保障经验和解决方案.

团队

- Lorna - 坏脾气的小肥
我最近心情起落比较大,如果把时间线再拉长一点,则是去年多自负,今年多自责. 冷静下来的时候也会想,我能不能做得更好. 每一个团队都有它的长处,有它的短处,对于团队的缺陷首先要问自己几个问题:. 1、有没有激励大家全心全意地认同和投入这个项目. 2、有没有分工合理,使每个人认同和投入自己的任务. 3、他的缺陷是否可以通过工作指导、严格督促,在半年或一年时间里自我完善.

如何降低90%Java垃圾回收时间?以阿里HBase的GC优化实践为例

- - 数据库 - ITeye博客
      过去的一年里,我们准备在Ali-HBase上突破这个被普遍认知的痛点,为此进行了深度分析及全面创新的工作,获得了一些比较好的效果. 以蚂蚁风控场景为例,HBase的线上young GC时间从120ms减少到15ms,结合阿里巴巴JDK团队提供的利器——AliGC,进一步在实验室压测环境做到了5ms.

小团队协作,有哪些值得推荐的 Web 应用和工具软件?有什么好的做法可以作为最佳实践?

- - 知乎每日精选
以前回答过类似的问题 http://www.zhihu.com/question/20114578/answer/21067452,我觉的答案非常适合这个问题,等有机会再写一篇文章专门讨论. 大部分朋友都推荐一堆的工具,我个人认为对于创业团队未必适合使用这么多的沟通交流以及团队协作工具:. 简单统计一下,有邮件Email、即时通讯IM、日程管理 Google Calendar 、文档协作Google Docs、项目管理 Basecamp 、群组聊天 Campfire 、文件共享Dropbox、缺陷跟踪 Lighthouse ,这就已经有八个工具了,试想对于小创业公司来说,团队成员人数都不一定能有这么多,少则两三人、多则七八人.

团队管理101招

- 狂之想 - C++博客-牵着老婆满街逛
转载自:http://www.iteer.net/modules/doc/article.php?storyid=1402. 无论你是新手还是资深管理人,对你而言,管理好团队都是重要且具激励性的挑战. 切记:每位成员都能为团队作出一些贡献. 谨慎地设定团队目标,且认真严肃地对待它们. 尽早决定何种形态的团队适合你的目标.