[论文] 主动学习的学习损失

Learning Loss for Active Learning

Donggeun Yoo1,2
and In So Kweon2
1Lunit Inc., Seoul, South Korea.
2KAIST, Daejeon, South Korea

摘要:

深度神经网络的性能随着注释数据的增加而提高。问题是注释的预算是有限的。解决这个问题的一个方法是主动学习,模型要求人类对它认为不确定的数据进行注释。近年来提出了多种将主动学习应用于深度网络的方法,但大多数方法要么是针对其目标任务设计的,要么是针对大型网络计算效率低下的。
在这篇论文中,我们提出了一种新的主动学习方法,这种方法简单但不确定任务,并且能有效地处理深层网络。

贡献:

总之,我们的主要贡献是

  1. 提出了一种基于损耗预测模块的简单高效的主动学习方法,可直接应用于近期深度网络的任何任务。
  2. 使用当前的网络架构,以分类、回归和混合三种学习任务来评估所提出的方法。

我们的方法:

我们的方法可以分为不确定性方法,但不同之处在于,它是根据输入内容预测“损失”,而不是根据输出统计估计不确定性。这类似于各种难例挖掘[50,11],因为他们认为损失较大的训练数据点对模型的改进意义重大。然而,我们的与他们的不同之处在于我们没有数据注释。

3-1 概述

在这个场景中,我们有一组模型组成的目标模型Θtarget和损失预测模块Θloss。损耗预测模块被附加到目标模型上,如图1-(a)所示。
在这里插入图片描述
目标模型进行目标任务y =Θtarget (x),而损失预测模块预测损失l =Θloss (h)。这里,h是x的特性集提取Θtarget的几个隐藏层。

下标N:数据点的数量。

初始阶段:
我们从未标记的数据池中随机抽取K个数据点进行统一采样,并要求人类标注者对这些数据点进行注释,以构建一个初始的标记数据集l_0k。
(这个过程减少了未标记池的大小U_0(N-K)(unknown)。)

一旦最初标记数据集l_0K了 , 我们共同学习一个初始目标模型Θ0目标一个初始损失预测模块Θ0损失
经过初始训练,我们通过损耗预测模块未标记池中的所有数据点进行评估,得到数据损耗对{(x, l)|x∈U_0(N-K)}。
然后,人类注释者注释了最高损失的数据点。将标记的数据集l_0k更新为l_1(2k)。之后,我们学习模型设置 l_1(2k)获得{Θ_1target,Θ_1loss}。

如图1-(b)所示,此循环不断重复,直到达到满意的性能,或者直到注释的预算耗尽为止。

3-2 loss prediction module

损耗预测模块 : 学习模型中定义的损耗。

目的 :
1.最小化主动学习中定义特定任务不确定性的工程成本。
2.最小化学习损耗预测模块的计算成本。

为此,我们设计了一个损耗预测模块
(1)大大小于目标模型
(2)与目标模型联合学习

这个模块没有单独的学习阶段。

在这里插入图片描述
图2展示了我们的损失预测模块的架构。
它以多层特征映射h为输入,在目标模型的中层块之间进行提取。这些多重连接允许损耗预测模块在损耗预测有用的层之间选择必要的信息。
通过全局平均池(GAP)层和全连通层,将每个特征映射约简为一个固定维特征向量。然后,所有的特征被连接起来,并通过另一个完整的损耗预测模块的结构。
该模块与目标模型的若干层相连接,考虑多层知识的损失预测。多层特征被融合并映射到一个标量值作为损耗预测。
连接层,导致一个标量值 lˆ 作为预测损失。学习这个两层的模块比目标模型需要更少的内存和计算。我们试图使这个模块更深入和更广泛,但性能没有太大的变化。

3.3 学习损耗

让我们假设我们开始第s个主动学习阶段。我们有一个标签数据集L_s [K·(s + 1)]和一组模型组成的目标模型Θtarget和损失预测模块Θloss。
我们的目标是学习的模型集这一阶段年代获得{Θs目标,Θs损失}。给定一个训练数据点x,我们获得一个目标通过 目标模型预测 y =Θtarget (x),也通过损失预测的 损失预测模块 为lˆ =Θloss (h)。
利用目标注释y (x),可以将目标损失计算为l = Ltarget(yˆ, y)来学习目标模型。因为这个损失的l是损失预测模块中的一个真实的目标,我们也可以计算损失的损失预测模块L_loss (lˆ, l)。然后,最终的损失函数,共同学习的目标模型和损失预测模块的定义是
在这里插入图片描述
λ是一个比例常数。
定义最终损失的过程如图3所示。
在这里插入图片描述
定义损失预测损失函数 : 最简单的方法可能是 均方误差 L_loss(lˆ, l) = (lˆ- l) 2。
然而,均方误差MSE并不是一个适合这个问题的选择,因为随着目标模型学习的进展,实际损失l的规模会发生变化(总体减小)。
最小化MSE将使损耗预测模块大致适应损耗l的尺度变化,而不是精确地拟合其值。我们尝试过最小化MSE,但是没有学习到一个好的损耗预测模块,使用这个模块的主动学习实际上比以前的方法的性能更差。
Q : 损失函数选取MSE的弊端:
A:损失函数L_loss是最小化l(lˆ- l) 2 , 而
损失预测损失函数必须舍弃l的整体尺度,我们的解决方案是比较一对样本。让我们考虑一个小型批处理B s Ls K·(s+1)的培训迭代。在大小为B的mini-batch中,我们可以生成B/2个数据对,比如{xp = (xi, xj)}。下标p表示它是一对,而minibatch size B应该是偶数。然后,考虑损失预测对之间的差异,学习损失预测模块,使损失预测模块完全抛弃总体尺度变化。为此,损耗预测模块的损耗函数定义为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心心喵

喵喵(*^▽^*)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值