0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种称为标签映射(LM)的方法来解决大规模分类问题?

电子工程师 来源:未知 作者:李倩 2018-07-03 11:44 次阅读

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

为此,来自阿里巴巴的团队提出了一种称为标签映射(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)。

图1: n个输出的网络

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

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

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

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

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

▌实验过程

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

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

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

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

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

图4:RNN 模型结构示意图

▌结果分析

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

Cifar-100 数据集

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

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

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

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

CJK 数据集

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

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

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

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

Republic 数据集

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

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

▌结论

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像
    +关注

    关注

    2

    文章

    1078

    浏览量

    40374
  • 数据集
    +关注

    关注

    4

    文章

    1200

    浏览量

    24617
  • 深度学习
    +关注

    关注

    73

    文章

    5463

    浏览量

    120880

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

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一种工作于Sub-6G的5G大规模天线的系统架构探讨

    本文针对第5代移动通信的关键技术之 ——大规模阵列天线,提出一种天线系统架构,包括密集辐射阵、功分网络、耦合校准网络、盲插型连接器和收发单元。并对5G大规模天线系统的每个组成部分进行
    发表于 07-16 08:12

    大规模MIMO的性能

    列,可能包含成百上千的收发器。此概念称为大规模MIMO。的确,大规模MIMO 脱离了当前的网络拓补,可能是解决我们所面对的无线数据挑战的关键;然而,在认知大规模MIMO 广泛部署的效能
    发表于 07-17 07:54

    有没有一种方法来配置MPLAX X从RAM运行应用程序?

    有没有一种方法来配置MPLAX X从RAM运行应用程序,而不是从Flash运行?
    发表于 09-12 06:33

    请问有另一种方法来测量RTD传感器而不使用IDAC吗?

    嗨,有没有另一种方法来测量RTD传感器而不使用IDAC?TKS。
    发表于 10-11 09:33

    一种先分割后分类的两阶段同步端到端缺陷检测方法

    表面缺陷检测的两阶段体系结构的缺点,并提出了一种端到端的训练方案,该方案只需要精度不高的像素级标注而且不会影响性能。该方法通过以端到端的方式同时引入分割和分类层的学习改善学习过程,因
    发表于 07-24 11:01

    介绍一种适合大规模数字信号处理的并行处理结构

    本文提出了一种基于FPGA的适合大规模数字信号处理的并行处理结构。
    发表于 04-30 07:16

    个benchmark实现大规模数据集上的OOD检测

    评价算法的性能。为此,这份工作建立了新的benchmark,在ImageNet-1k级别的数据集上设立了个全新的benchmark。并提出了一种基于group的OOD检测框架,该框架对大规模图像
    发表于 08-31 15:11

    STEP模式映射一种实用方法

    STEP模式映射一种实用方法 在STEP标准的应用中, 常需要通过不同STEP应用协议之间或其中某应用协议的不同视图之间的映射来实现异
    发表于 02-22 14:37 10次下载

    一种多重映射的自动短文摘方法

    传统自动文摘般对字数没有明确限制,运用传统技术进行短文摘提取时,受字数限制,难以获取均衡的性能。针对该问题,提出一种多重映射的自动短文摘方法。通过计算关联度
    发表于 12-23 11:46 0次下载
    <b class='flag-5'>一种</b>多重<b class='flag-5'>映射</b>的自动短文摘<b class='flag-5'>方法</b>

    科学家找到一种化学方法来储存和操作大量的数据

    组科学家认为,数十亿兆字节的数据可以存储在小瓶化学液体中。来自布朗大学的研究小组表示,其开展的研究能够通过将化学物质装载到分子上,然后将分子溶解到液体中,从而找到一种化学方法来储存
    的头像 发表于 02-01 16:23 4564次阅读

    一种方法来检测这些被操纵的换脸视频的“迹象”

    利用深度学习“换脸”合成假视频的技术发展之快令人惊叹,也令人深感不安。研究人员已经研究出一种方法来检测这些被操纵的换脸视频,通过有效地预测眼睛的状态,准确率达到99%。
    的头像 发表于 07-03 09:48 5730次阅读

    一种处理多标签文本分类的新颖推理机制

    Houston Rockets and Los Angeles Lakers. 相关标签 basketball, NBA,  sport 不相关标签 football   一种处理MLTC的简单
    的头像 发表于 02-05 09:21 2887次阅读
    <b class='flag-5'>一种</b>处理多<b class='flag-5'>标签</b>文本<b class='flag-5'>分类</b>的新颖推理机制

    一种基于光滑表示的半监督分类算法

    。文中提岀了一种基于光滑表示的半监督分类算法。具体来说,此方法通过应用个低通滤波器实现数据的平滑,然后将光滑数据用于半监督
    发表于 04-08 10:47 17次下载
    <b class='flag-5'>一种</b>基于光滑表示的半监督<b class='flag-5'>分类</b>算法

    最后一种方法来整理你的电阻器

    电子发烧友网站提供《最后一种方法来整理你的电阻器.zip》资料免费下载
    发表于 12-19 10:19 0次下载
    最后<b class='flag-5'>一种方法来</b>整理你的电阻器

    一种简单的方法来将振荡器相位噪声转换为时间抖动

    电子发烧友网站提供《一种简单的方法来将振荡器相位噪声转换为时间抖动.pdf》资料免费下载
    发表于 11-23 15:15 0次下载
    <b class='flag-5'>一种</b>简单的<b class='flag-5'>方法来</b>将振荡器相位噪声转换为时间抖动