Learning to Learn and Predict: A Meta-Learning Approach for Multi-Label Classification

2019-10-01 11:29:54

Paperhttps://arxiv.org/pdf/1909.04176.pdf

1. Background and Motivation:

多标签分类问题的目标是同时进行多个 label 的识别,且这些 label 是有一定关联的;而传统的 多类别分类问题,仅仅是一个样本包含一个 label。现有的方法,从统计模型到神经网络的方法,都是共享标准的交叉熵损失函数进行训练的。在训练之后,这些模型尝试用单个预测策略来对所有的 label 进行最终的预测。实际上,这些方法都是基于如下的假设:no dependency among the labels。然而,如图1 所示,这种假设在实际情况下是很难满足的,但是 multi-label classification 的 label 依赖关系的问题却很少受到关注。

由于受到标签依赖关系的影响,这些 label 的预测难度是大不相同的。

首先,高层的 label 更加容易进行分类,如:organization,person 等;但是更加低层的 label,如 news,broadcast 等,则更加困难。

其次,对于 label 之间没有显示关系的,可能仍然存在着一些隐层的关系,这在 NLP 领域中,是相当常见的。

基于上述观察,作者考虑学习不同的训练策略 和 预测策略来进行多标签的识别。

对于所有 label 的训练和预测策略,可以看做是一系列的超参数。然而,想要指定显示和隐式的标签依赖,也是不显示的。为了解决上述问题,本文提出一种 meta-learning 的框架来建模这些 label dependency,然后自动的学习训练和测试策略。具体来说,作者引入一种联合 meta-learning 和 multi-label classification 的学习框架。作者用一种基于 GRU 的 meta-learner 在训练阶段来捕获 label dependencies 和 学习这些参数。

本文的贡献可以总结为如下几点:

1). 首次在多标签分类问题上,提出联合的 “learning to learn” 和 “learning to predict” 。

2). 本文方法可以对每一个 label 学习一个 weight 和 decision policy,并且可以用于训练和测试阶段。

3). 本文方法是一种 model-agnostic,可以结合到多种模型中,并且取得了比 baseline 方法要好很多的效果。

2. The Proposed Method

2.1 Classifier Model

对于一个 N 类的多标签分类问题来说,我们将训练策略表示为 w,测试策略表示为 p,其中 wi 和 pi 是第 i 类的训练权重和预测阈值。wt 和 pt 表示时刻 t 的权重向量和阈值向量。然后,本文的学习目标就变成了:learn a high-quality w and p for a certain classifier C. 为了更新分类器 C 的参数,作者在每个时刻采样一个 batch Bt。然后设置一个加权的交叉熵目标函数来更新 C,定义如下:

其中,$y_i^*$ 表示 第 i 个样本的真值,$y_i^{(j)}$ 是输出向量 yi 的第 j 个 值。

2.2 Meta-Learner

作者这里认为 meta-learning 是一种 reinforcement learning 技术。而每一个时刻,meta-learner 观测到当前的状态 st,然后产生一个训练策略  wt 和 测试策略 pt,基于这些策略,分类器 C 的参数可以进行更新。在训练后,meta-learner 接收到一个奖励 rt。而本文 meta-learner 的目标就是选择两个策略,使得将来的奖励最大化:

2.2.1  State Representation

在本文中,作者将 meta-learner 建模为 RNN 结构,实际上用的是 GRU。状态表达 st 直接定义为 GRU 在每一个时刻 t 的隐层状态 ht。然后,st 是根据如下的公式进行计算的:

其中,GRU 在 时刻 t 的输入是预测策略和训练策略的组合。

2.2.2  Policy Generation

在每一个时间步骤,meta-learner 可以产生两个策略,即:训练策略 wt 和 预测策略 pt。这两个策略均被表达为 N-dimensional 的向量格式。为了将训练策略 wt 结合到交叉熵的目标函数中,并且保持 classifier 的训练梯度在同一个数量级,wt 需要满足加和为 1 的约束。然后,在每一个时刻 t,训练策略可以按照如下的方法得到:

对于测试策略,其定义为:

在上述两个公式中,除了 st 是状态外,其他的参数都是可学习的参数。

2.2.3  Reward Function

奖励按照如下的公式进行计算:

其中,$y_i$ 是第 i 个样本的输出概率,$y_i^*$ 是对应的真值向量。作者这里也给了一个例子,来说明奖励的计算过程:

2.3  Training and Testing

Learning to Learn and Predict: A Meta-Learning Approach for Multi-Label Classification的更多相关文章

  1. (转)Paper list of Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning

    Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning 2018-08-03 19:16:56 本文转自:http ...

  2. 什么是 Meta Learning / Learning to Learn ?

    Learning to Learn Chelsea Finn    Jul 18, 2017 A key aspect of intelligence is versatility – the cap ...

  3. [转载]Meta Learning单排小教学

    原文链接:Meta Learning单排小教学 虽然Meta Learning现在已经非常火了,但是还有很多小伙伴对于Meta Learning不是特别理解.考虑到我的这个AI游乐场将充斥着Meta ...

  4. 【元学习】Meta Learning 介绍

    目录 元学习(Meta-learning) 元学习被用在了哪些地方? Few-Shot Learning(小样本学习) 最近的元学习方法如何工作 Model-Agnostic Meta-Learnin ...

  5. The Rise of Meta Learning

    The Rise of Meta Learning 2019-10-18 06:48:37 This blog is from: https://towardsdatascience.com/the- ...

  6. 【MetaPruning】2019-ICCV-MetaPruning Meta Learning for Automatic Neural Network Channel Pruning-论文阅读

    MetaPruning 2019-ICCV-MetaPruning Meta Learning for Automatic Neural Network Channel Pruning Zechun ...

  7. 论文笔记:Visual Question Answering as a Meta Learning Task

    Visual Question Answering as a Meta Learning Task ECCV 2018 2018-09-13 19:58:08 Paper: http://openac ...

  8. 深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning)

    深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning) 2018-08-09 12:21:33 The video tutorial can ...

  9. 论文阅读之:Deep Meta Learning for Real-Time Visual Tracking based on Target-Specific Feature Space

    Deep Meta Learning for Real-Time Visual Tracking based on Target-Specific Feature Space  2018-01-04  ...

随机推荐

  1. Linux中Nginx中添加自签证书TLS

    创建自签证书TLS openssl req \ -newkey rsa: \ -x509 \ -nodes \ -keyout test.com.key \ -new \ -out test.com. ...

  2. Python学习日记(三十九) Mysql数据库篇 七

    Mysql函数 高级函数 1.BIN(N) 返回N的二进制编码 ); 执行结果: 2.BINARY(str) 将字符串str转换为二进制字符串 select BINARY('ASCII'); 执行结果 ...

  3. Odoo采购模块

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10825976.html 一:采购过程 采购业务可以分为以下几个流程: 1)建立供应商信息 企业需要与供应商建 ...

  4. maven nexus 私服搭建 Linux版

    准备工作 已安装jdk 已安装maven 下载Nexus Repository OSS:https://www.sonatype.com/download-oss-sonatype 如果无法下载成功, ...

  5. VMware虚拟化kvm安装部署总结

    虚拟化 1.环境 Centos7.3 关闭selinux,关闭防火墙 2.虚拟化环境配置 2.1 kvm部署安装 1. VMware 配置桥接模式 2.bios开启虚拟机,以本地台式机为例, 重启动电 ...

  6. 转,关于TCP粘包问题的一些思路

    TCP粘包分析 一 .两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收. 2.短连接 Client方与Server每进 ...

  7. dfs 正则表达式

    192. 通配符匹配 中文 English 判断两个可能包含通配符“?”和“*”的字符串是否匹配.匹配规则如下: '?' 可以匹配任何单个字符. '*' 可以匹配任意字符串(包括空字符串). 两个串完 ...

  8. php中的闭包类

    看注释 <?php //闭包类实现匿名函数 //call方法调用 class Customer { private $firstname; private $lastname; public f ...

  9. 2019年杭电多校第一场 1002题Operation(HDU6579+线性基)

    题目链接 传送门 题意 初始时有\(n\)个数,现在有\(q\)次操作: 查询\([l,r]\)内选择一些数使得异或和最大: 在末尾加入一个数. 题目强制在线. 思路 对于\(i\)我们记录\([1, ...

  10. Educational Codeforces Round 68 E. Count The Rectangles

    Educational Codeforces Round 68 E. Count The Rectangles 传送门 题意: 给出不超过\(n,n\leq 5000\)条直线,问共形成多少个矩形. ...