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

    文章

    1063

    浏览量

    40035
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24347
  • 深度学习
    +关注

    关注

    73

    文章

    5235

    浏览量

    119893

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

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

收藏 人收藏

    评论

    相关推荐

    大规模特征构建实践总结

    还是参考wide&deep的套路做,其中的deep并不是很deep。而大规模模型,是非常通用的套框架,这套模型的优点是一种非常容易加特征,所以本质是拼特征的质和量,比如百度、头条号称特征
    发表于 11-19 09:35

    是否有一种方法来确定GPIF接口在等待GPIF主机的数据时干还是空

    我用GPIF作为个32位奴隶FIFO与2位寻址。我想知道是否有一种方法来确定GPIF接口在等待GPIF主机的数据时“干”还是空。 以上来自于百度翻译 以下为原文I am using
    发表于 05-27 14:25

    大规模MIMO的利弊

    技术两个或更多个发射器和接收器同时发送和接收数据。但随着基站向大规模MIMO过渡,基站会配备上越来越多的天线传输信号,而这些信号更容易相互干扰。为了解决这个问题,称为导频的较小的周期性信号被分配给每个用户并从每个用户处发出,这
    发表于 06-18 07:54

    一种工作于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

    华为 大规模逻辑设计指导书 方法

    华为 大规模逻辑设计指导书 方法
    发表于 11-22 22:52

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

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

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

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

    请问怎样去设计一种电子标签天线?

    射频识别技术是由哪些部分组成的?射频识别系统与天线的分类是什么?怎样去设计一种电子标签天线?
    发表于 05-25 06:44

    一种适用于大规模接入汇聚路由器的HAL的通用性软件结构设计及实现方式

    本文将在讨论硬件抽象层基本结构的基础上,提出一种适用于大规模接入汇聚路由器的HAL的通用性软件结构设计及实现方式,提供高效、可靠的内部通信,并针对多用户接入数量不确定的情况,提出动态加载虚拟驱动模块的实现方法,增强路由器面向AC
    发表于 05-28 06:20

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

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

    一种更通用的方法来监测处理器中的电压噪声

    的是,这种专门的电路还不是大多数高端Arm系统的标准功能。在我们最近与塞浦路斯大学的合作研究中,我们成功地开发了一种更通用的方法来监测处理器中的电压噪声。这种技术依赖于使用外部天线和频谱分析仪的处理器发出
    发表于 11-01 14:48

    软件驱动程序是否有一种相当简单的方法来检测安装了哪个rtc设备?

    软件驱动程序是否有一种相当简单的方法来检测安装了哪个 rtc 设备?我们从 PCF2127 开始,但由于其他原因正在重新设计,并且由于 NRND 的 PCF2127 状态,考虑转向 PCF2131。但软件必须支持这两设备。
    发表于 04-06 07:31