6.Learning from Web Data with Self-Organizing Memory Module论文阅读

Source

  上海交大发表在CVPR2020上的一篇关于图像分类的论文。最近在学习图像分类,恰巧再看图像分类的论文,有认为不错的图像分类论文大家可以相互关注推荐一下。
Title:Learning from Web Data with Self-Organizing Memory Module
Writers:Yi Tu, Li Niu*, Junjie Chen, Dawei Cheng, and Liqing Zhang*
Conference:CVPR 2020
作者单位:MoE Key Lab of Artificial Intelligence, Department of Computer Science and Engineering Shanghai Jiao Tong University, Shanghai, China
论文链接:https://ieeexplore.ieee.org/document/9156529
代码链接*暂未开源
在看完这篇论文后,把它的亮点自己概括了一下。

  1. 提出了在带有记忆模块的多实例学习框架下能够同时处理web数据的标签和背景噪声的自组织记忆网络模型,而不使用人类注释或者是额外的小的干净数据集

  2. 提出自组织记忆模块,稳定训练过程和结果,并在几个基准数据集上的实验证明了该方法在网络图像分类器学习中的有效性。
    这是看过的最简单的一篇论文,感觉没什么大的突破吧,怪我学识浅薄喽。

Abstract

  近年来,从网络数据中学习吸引了大量的研究兴趣。然而,抓取的网页图像通常有两种类型的噪声,标签噪声和背景噪声,这给有效利用它们带来了额外的困难。现有的大多数方法要么依赖于人的监督,要么忽略背景噪声。在本文中,我们提出了一种新的方法,能够同时处理这两种类型的噪声,而不需要在训练阶段监控干净的图像。特别地,我们在多实例学习的框架下,通过将来自同一类别的感兴趣区域(即图像及其区域建议images and their region
proposals)分组到包中来制定我们的方法。每个包中的感兴趣区域根据其最接近的聚类的代表性/区分性分数被分配不同的权重,其中聚类及其分数通过我们设计的存储模块获得。我们的存储模块可以自然地与memory module集成,从而形成一个端到端的可训练系统。在四个基准数据集上的大量实验证明了该方法的有效性。

1.Introduction

  深度学习是一种数据饥渴(data-hungry method )的方法,需要大量标记良好的训练样本,但是获取带有干净标记的大量图像是昂贵、耗时和费力的。考虑到网上有大量免费的网络数据,从网络图像中学习是有希望的。然而,网页数据有两个严重的缺陷:标签噪声和背景噪声。标签噪声是指标签不正确的图像。由于从公共网站搜索时,通常使用类别名称作为关键字来检索网页图像,因此搜索结果中可能会出现不相关的图像。与标签噪声不同,与标准的数据集不同,背景噪声是由网页图像杂乱的和多样化的内容引起的。具体来说,在像Cifar-10这样的手动标记数据集中,每个类别的目标对象通常出现在中心,并占据相对较大的区域,产生很少的背景噪声。然而,在网页图像中,背景或无关对象可能占据整个图像的大部分。图1中提供了一个例子,其中两个图像是用关键字“dog”爬取的。左图由于有狗粮,属于标签噪声,与“狗”间接相关。同时,右边的图像属于背景噪声,因为草地占据了整个图像的大部分,并且小孩也占据了显著的位置。
在这里插入图片描述
  已经有许多关于使用网络图像学习分类器的研究[33,23,36,46,52,16,31,32,34]。然而,他们中的大多数[53,24,13,33,23,28,19]只关注标签噪声。相比之下,最近的一些作品开始考虑背景噪声。特别是庄等人[60]使用注意图来抑制背景噪声,但是这种方法没有充分利用不同区域之间的关系,这可能限制其去除噪声区域的能力。Sun等人[46]利用弱监督区域建议网络(weakly supervised region proposal network)从网页图像中提取干净的区域建议(to distill clean region proposals ),但是这种方法在训练阶段需要额外的干净图像。
  在这项工作中,我们提出了一种新的方法,以解决标签噪声和背景噪声同时进行,而不使用人类注释。我们首先使用无监督的建议提取方法(unsupervised proposal extraction method)[61]来捕获可能包含有意义对象的图像区域。在本文的主要部分,我们使用了“ROI”来表示图像及其候选区域。根据多实例学习的思想,来自同一类别的感兴趣区域被分组到包中,每个包中的感兴趣区域被称为实例。基于每个包中至少有一定比例的干净感兴趣区域的假设,我们倾向于为不同的感兴趣区域学习不同的权重,较低的权重表示有噪声的感兴趣区域,通过这种方式可以减轻标签/背景噪声。利用感兴趣区域权重,我们可以使用每个包中感兴趣区域级别特征的加权平均值作为包级别特征,它们比感兴趣区域级别特征更干净,因此更适合于训练鲁棒的分类器。
  为了充分利用不同感兴趣区域之间的关系,我们倾向于通过将感兴趣区域与原型(prototypes)进行比较来学习感兴趣区域权重,而不是像[17,60]那样通过自我关注来学习权重,原型是通过聚类包级特征(clustering bag-level features)获得的。每个集群中心(即原型)都有一个代表的得分,这意味着这个聚类中心是如何代表每一个种类的。(Each cluster center (i.e., prototype) has a represen-tative (resp., discriminative) score for each category, which means how this cluster center is representative (resp., dis-criminative) for each category。)然后,每个感兴趣区域的权重可以基于其对应类别的最近聚类中心来计算。虽然原型的思想已经在许多领域被研究过,例如半监督学习[6]和少镜头学习[43],但是它们通常在每个类别内对样本进行聚类,而我们对来自所有类别的包级特征进行聚类以捕捉跨类别的关系。
  传统的聚类方法,如K-means,可以用来聚类包级特征(bag-level features)。然而,我们使用最近提出的键值存储模块[29](key-value memory module)来实现这个目标,它更强大、更灵活。Memory module可以与分类模块集成,产生端到端的可训练系统。此外,它可以同时在线存储和更新聚类中心的特定类别代表/区分分数。作为一个小小的贡献,我们采用了自组织图[48]( Self-Organizing Map)的思想来改进现有的记忆模块,以稳定训练过程。
  我们的贡献可以概括为:1)主要贡献是在带有记忆模块的多实例学习框架下处理web数据的标签/背景噪声;2)次要贡献是提出自组织记忆模块,稳定训练过程和结果;3)在几个基准数据集上的实验证明了该方法在网络图像分类器学习中的有效性。

2.Related Work

2.1.Webly Supervised Learning(网络监督学习)

  为了从网络数据中学习,以前的工作集中在三个方向上处理标签噪声,去除标签噪声[42,7,8,30,53,24,33,23,28,12,39,14],建立噪声鲁棒性模型[4,10,5,36,44,3,38,49,47,21],以及课程学习(curriculum learning )[13,19]。上述方法集中于标签噪声。然而,网页数据也有背景噪音,如[46]所述。为了解决这个问题,庄等人[60]利用注意机制[50]来减少对背景区域的注意,而孙等人[46]使用弱无监督的对象定位方法来减少背景噪声。
  大多数以前的工作利用额外的信息,如一个小的干净数据集或只考虑标签噪声问题。相比之下,我们的方法在训练阶段只使用有噪声的网页图像就可以解决标签噪声和背景噪声。

2.2.Memory Networks(记忆网络)

  记忆网络(Memory networks)最近被引入来解决问题回答任务[18,45,29]。Memory network最早是在[18]中提出的,并在[45]中扩展为可端到端训练的。Miller等人【29】增加了直接读取文档的键和值模块(key and value module ),使得memory network 更加灵活和强大。最近,记忆网络已被用于单次学习( one-shot learning)[41,20],少次学习(few-shot learning)[55,58]和半监督学习(semi-supervised learning)[6]。
  虽然memory networks已经在许多任务中进行了研究,但我们的工作是第一次利用memory networks来处理网络数据的标签/背景噪声。

2.3.Multi-Instance Learning

  在多实例学习(MIL)中,多个实例被分组到一个包中,至少有一个正实例触发包级标签。MIL的主要目标是学习一个健壮的没有未知实例标签的分类器。基于SVM [2,27]的一些早期方法将一个包视为一个整体,或者推断每个包内的实例标签。在深度学习时代,已经研究了各种池化操作,如平均池和最大池[37,59,11]。不同于这些不可训练的池化操作,一些著作[35,17,22,51]建议可训练的operators (运算符)学习不同实例的不同权重。通过利用注意机制,Pappas和PopescuBelis [35]提出了一种基于注意的多元线性回归模型,其注意权重在辅助线性回归模型中训练。AD-MIL [17]更进一步,设计了具有门控注意机制的排列不变聚集算子。
  在MIL框架下,我们利用一个记忆模块来学习每个包中实例的权重,这是以前没有探索过的。

3. Methodology

  在本文中,我们用黑体字大写/小写字母表示一个矩阵/向量(例如A表示矩阵、a表示向量)中的下标i表示A的i行或i列。表示A元素的第i行第j列。此外,我们用表示A的转置,用表示A和B之间的元素积(element-wise )。

3.1. Overview of Our Method

  我们方法的流程图如图2所示。我们首先使用无监督的EdgeBox方法提取每个图像的候选区域(region proposals)[61]。通过调整EdgeBox中的超参数,我们希望提取的proposals
覆盖大多数对象,以避免丢失重要信息(参见第4.2节中的详细信息)。我们将来自同一类别的感兴趣区域(i.e., images and their proposals)分组到训练包中,其中每个包中的感兴趣区域被视为实例。为了给每个包中的不同感兴趣区域分配不同的权重,我们将每个感兴趣区域与其在存储模块(memory module)中最接近的键进行比较。然后将感兴趣区域级特征的加权平均值作为袋级特征,用于训练分类器和更新存储模块(memory module.)。
在这里插入图片描述

3.2. Multi-Instance Learning Framework

  我们在多实例学习框架下构建我们的方法。特别是,我们将几个相同类别的图像和它们的区域建议分组到一个包中,这样每个包都有多个实例(即,感兴趣区域)。我们的目标是为干净的感兴趣区域分配更高的权重,并使用每个包中感兴趣区域级别特征的加权平均值作为包级别特征,这应该比感兴趣区域级别特征更干净。
  形式上我们用S表示多个训练包的训练集,B ∈ \in S表示单个训练包。请注意,我们在每个包中使用相同数量的 n g n_g ng个图像,并为每个图像生成相同数量的 n b = n g ( n p + 1 ) n_b=n_g(n_p+1) nb=ng(np+1)个region proposals ,从而在每个包中产生相同数量的的ROIs。具体来说, B = { X i ∣ i = 1 , 2 , ⋯ , n b } B=\{X_i|i=1,2,{\cdots},n_b\} B={ Xii=1,2,,nb}表示包中有 n b n_b nb个ROIs,其中 x i ∈ R d x_i{\in}R^d xiRd是第i个ROI的d-dim特征向量。我们用 w ( x i ) w(x_i) w(xi)表示 x i x_i xi的权重, ∑ x i ∈ B w ( x i ) = 1 \sum_{x_i{\in}B} {w(x_i)}=1 xiBw(xi)=1.如图2所示,感兴趣区域的特征是从CNN模型中最后一个卷积层的特征图上的相应区域汇集(are pooled )而来的,类似于[40]。
  给定一个分类标签为 y ∈ [ 1 , 2 , 3 , ⋯   , C ] y{\in}{[1,2,3,\cdots,C]} y[1,2,3,,C]的包,用C代表总类别数,我们也可以用只有第y个元素为1的C-dim one-hot vector y 来表示它的包标签。在给每个 x i x_i xi分配权重 w ( x i ) w(x_i) w(xi)后,我们使用每个包中的感兴趣区域特征的加权平均值作为包级特征: x ˉ = ∑ x i ∈ B w ( x i ) ⋅ x i ∈ R d \bar{x}={\sum_{ {x_i}{\in}B}w(x_i)\cdot{x_i}}\in{R^d} xˉ=xiBw(xi)xiRd。我们的分类模块基于具有交叉熵损失的包级特征:
L c l s = − ∑ B ∈ S y T l o g ( f ∑ x i ∈ B w ( x i ) ⋅ x i ) L_{cls}=-\sum_{B\in{S}}y^Tlog(f\sum_{x_i\in{B}}w(x_i)\cdot{x_i}) Lcls=BSyTlog(fxiBw(xi)xi), (1)
其中 f ( ⋅ ) f(\cdot) f()是softmax分类层。在初始化步骤中,region proposals的权重都被设置为零,而图像在每个包中被分配相同的权重。我们用 w ˉ ( x i ) \bar{w}(x_i) wˉ(xi)来表示这种初始化的感兴趣区域权重。在初始化CNN模型后,我们倾向于通过memory module为感兴趣区域学习不同的权重。接下来,我们首先介绍我们的memory module,然后描述如何基于我们的memory module为感兴趣区域分配权重。

3.3. Self-Organizing Memory Module

  我们的记忆模块的基本功能是对包级特征进行聚类,每个聚类中心可以被视为一个原型[42,7,8,6,43]。虽然传统的聚类方法如K-means可以实现类似的功能,但memory module更灵活、更强大。具体来说,memory module可以很容易地与分类模块集成,从而形成端到端的可训练系统。此外,memory module可以同时存储和更新额外的有用信息,即每个聚类中心的特定类别代表/区分分数。

3.3.1 Memory Module Architecture:

我们的内存模块由键槽和值槽组成。键槽包含聚类中心,而值槽包含它们相应的特定类别代表/区别分数。
  我们用 K ∈ R d × L K\in{R^{d\times{L}}} KRd×L表示键槽,其中L是键槽的个数,第L列是代表第l个聚类中心的l-th键槽。
  为了捕捉clusters(集群)和类别之间的关系,我们设计了两个值槽。我们研究了两种类型的聚类-类别(cluster-category )关系,即一个已学习的聚类对一个类别的区分度和代表性。相应地,我们有两种类型的值槽:“dis-criminative(区别性)”值槽(d值槽)和“representa-
tive(代表性)”值槽(r值槽)。每对d值槽和r值槽对应一个键槽。形式上我们用
D ∈ R C × L D\in{R^{C\times{L}}} DRC×L(resp., R ∈ R C × L R\in{R^{C\times{L}}} RRC×L)来表示d值(resp.,r值)槽,其中 D y , l ( r y , l ) D_{y,l}(r_{y,l}) Dy,l(ry,l)是区别性的(resp.,representative)第y类的 k l k_l kl分数。
  为了更好地解释discriminative/representative(区别性/代表性)分数,我们假设基于所有训练包获得了L个聚类, n y , l n_{y,l} ny,l是第l个聚类中第y类别的训练包的个数,然后,我们可以计算 d y , l ~ = n y , l ∑ y = 1 C n y , l \tilde{d_{y,l}}=\frac{n_{y,l}}{\sum_{y=1}^{C}n_{y,l}} dy,l~=y=1Cny,lny,land d r , l ~ = n y , l ∑ l = 1 L n y , l \tilde{d_{r,l}}=\frac{n_{y,l}}{\sum_{l=1}^{L}n_{y,l}} dr,l~=l=1Lny,lny,l,直观地说 d y , l ~ \tilde{d_{y,l}} dy,l~表示第y类的包在第l聚类的包中所占的百分比。 d y , l ~ \tilde{d_{y,l}} dy,l~越大,l-th cluster对第y个类别的区分度越大。因此,我们期望 d y , l {d_{y,l}} dy,lin d-value槽D近似为 d y , l ~ \tilde{d_{y,l}} dy,l~,类似地 r y , l ~ \tilde{r_{y,l}} ry,l~,表示 l-th cluster的包在第y类中的包的百分比。 r y , l ~ \tilde{r_{y,l}} ry,l~越大,第l个聚类对第y个类别越有代表性。所以我们期望 r y , l {r_{y,l}} ry,l in r-value slots R近似为 d r , l ~ \tilde{d_{r,l}} dr,l~

3.3.2 Memory Module Updating:

在随机初始化所有键和值槽的情况下,它们基于来自第c类的训练包B的包级特征及其one-hot label向量y进行更新。
  首先,我们寻找x所属的集群,这个集群也被称为 x ˉ \bar{x} xˉ的“winner key slot”。准确地说,我们把和所有键之间的余弦相似度计算为 c o s ( x ˉ , k l ) = k l T ∥ k l ∥ 2 ∥ x ˉ ∥ 2 cos(\bar{x},k_l)=\frac{k_l^T}{ {\lVert{k_l}\lVert_2}{\lVert\bar{x}\lVert}_2} cos(xˉ,kl)=kl2xˉ2klTfor l=1,2,…L,并找到的winner key slot其中:
在这里插入图片描述

  在确定 x ˉ \bar{x} xˉ属于第z个聚类之后,聚类中心 k z k_z kz需要基于 x ˉ \bar{x} xˉ进行更新。与以前的方法[[58]不同,该方法使用计算的梯度来更新聚类中心,我们使用了一个更优雅且功能相似的损失函数:
在这里插入图片描述这可以将winner cluster center k z k_z kz推到离 x ˉ \bar{x} xˉ更近。
  利用类似的损失函数,我们也相应地更新d值槽和r值槽。For d-value slots D,回想一下我们期望 d y , l d_{y,l} dy,l近似 d ~ y , l \tilde{d}_{y,l} d~y,l,意味着第y类中的包在第I类包中的百分比。然后,D的第z列可以表示z-th cluster的类别分布,因此我们需要用的标签向量y更新,如下所示:
在这里插入图片描述
在这里插入图片描述
L d − v a l u e L_{d-value} Ldvalue可以将 d z d_z dz推向更接近y,同时用(5)保持 d z d_z dz有效分布,所以 d y , z d_{y,z} dy,z最终将会近似于 d ~ y , z \tilde{d}_{y,z} d~y,z

  对于r-value slots R,回想一下,我们期望 r y , i r_{y,i} ry,i近似 r ~ y , i \tilde{r}_{y,i} r~y,i,意味着i-th cluster中的包在第y类包中的百分比。然后, r y r_y ry即R的第y行,可以表示来自第y类的所有包在所有集群上的分布,因此我们需要用 x ˉ \bar{x} xˉ的one-hot cluster指示向量z(只有第z个元素是1)更新 r y r_y ry,如下所示:
在这里插入图片描述
在这里插入图片描述
类似于 d z d_z dz L r − v a l u e L_{r-value} Lrvalue可以推 r y r_y rytowards z,同时用(7)保持它是一个有效的分布,所以, r y , z r_{y,z} ry,z最终将近似为 r ~ y , z \tilde{r}_{y,z} r~y,z L d − v a l u s L_{d-valus} Ldvalus L r − v a l u e L_{r-value} Lrvalue的理论证明和更多细节可以在附录中找到。

3.3.3 Self-Organizing Map (SOM) Extension:

  一个好的聚类算法应该对初始化不敏感,并产生平衡的聚类结果。受自组织图(Self-Organizing Map)[48]的启发,我们设计了一个键槽上的邻域约束来实现这一目标,从而产生了我们的自组织存储模块(self-organizing memory module)。
  特别是,我们将键槽排列在正方形网格上。在更新winner key slot k z k_z kz的时候,我们也更新了它的空间邻居(spatial neighbors)。 k z k_z kz的邻域定义为, N ( k z , δ ) = { k i ∣ g e o ( k z , k i ) ≤ δ } N(k_z,\delta)=\{k_i|geo(k_z,k_i)\leq{\delta}\} N(kz,δ)={ kigeo(kz,ki)δ}其中是正方形网格上两个键槽的测地距离,是控制邻域大小的超参数。
  然后,the key loss L k e y L_{key} Lkey in (3)可以替换为:
在这里插入图片描述
其中 η ( k z , k i ) = ( 1 + g e o ( k z , k i ) ) − 1 \eta(k_z,k_i)=(1+geo(k_z,k_i))^{-1} η(kz,ki)=(1+geo(kz,ki))1为分配给 k i k_i ki的权重,与测地距离负相关(更多技术细节见补充)。总之,更新我们的(self-organizing memory module)自组织内存模块的总损失可以写成:
在这里插入图片描述

3.4. ROI Selection Based on Memory Module

  基于记忆模块(memory module),我们可以为每个包中的不同感兴趣区域分配不同的权重。具体来说,给定一个带有包标签y的感兴趣区域x,我们首先寻找它的winner key slot k z k_z kz,并获得 k z k_z kz对于y-th category的区别分数,即 d y , z d_{y,z} dy,z(resp., r y , z r_{y,z} ry,z)。对于一个干净的ROI,我们希望它的winner key是既有区别又有代表性的类别。为了便于描述,我们用 s y , z = d y , z ⋅ r y , z s_{y,z}=d_{y,z}\cdot{r_{y,z}} sy,z=dy,zry,z定义了 S = D ∘ R S=D{\circ}R S=DR。我们将 s y , z s_{y,z} sy,z作为第y类 k z k_z kz的原型分数。因此,原型分数越高的ROI越容易成为干净的ROI。
  除了原型分数之外,我们还通过考虑ROI区域提出了另一个折扣因素(discount factor)。直观上,我们推测较小的感兴趣区域不太可能有有意义的内容,因此应该受到惩罚。因此,我们使用面积分数(a-score) σ ( ⋅ ) \sigma(\cdot) σ()来描述每个ROI的相对大小。回想一下,每个包中有两种类型的感兴趣区域:image and region proposal。对于原始图像image,我们设置σ(x) = 1。对于 region proposal,我们将σ(x)计算为region proposal x的面积与同一图像中所有region proposal(不包括完整图像)中的最大的面积之比。为此,我们使用a-score σ(x) to discount s y , z s_{y,z} sy,z,得到x的新权重:
在这里插入图片描述
  在根据(10)计算出感兴趣区域权重后,我们只保留每个包中感兴趣区域的top P(如10%)权重,而其他权重设置为零。然后对每个包中的ROI权重进行归一化,使其总和为1。

3.5. Training Algorithm(训练算法)

  为了更好的表示,我们用 θ c n n \theta_{cnn} θcnn来表示CNN的模型参数,用 θ m e m \theta_{mem} θmem来表示memory module中的{K,D,R}。
在这里插入图片描述
  首先,我们利用第3.2节中提到的初始的感兴趣区域权重 w ˉ ( x i ) \bar{w}(x_i) wˉ(xi)来获得作为包级特征的感兴趣区域级特征的加权平均值,用于训练CNN模型 θ c n n \theta_{cnn} θcnn和memory module θ m e m \theta_{mem} θmem。然后,我们以端到端的方式训练整个系统。具体来说,我们使用包级特性 x ˉ = ∑ x i ∈ B w ( x i ) ⋅ x i \bar{x}=\sum_{x_i{\in}B}w(x_i){\cdot}x_i xˉ=xiBw(xi)xi来训练CNN模型和存储模块,同时基于更新的 θ c n n \theta_{cnn} θcnn θ m e m \theta_{mem} θmem来相应地更新ROIs的权重。通过这种方式,更干净的包级特征可以帮助学习memory module中更好的key slots and value slots,而增强的memory module可以分配更可靠的ROI权重,并依次有助于更干净的包级特征。整个系统的总损失可以写成:
在这里插入图片描述
  为了取得更好的成绩,我们利用了课程学习(curriculum learning )的理念[56]。建议在训练模型时,先从干净或简单的训练样本开始,进行良好的初始化,然后逐渐加入有噪声或有难度的训练样本,提高模型的泛化能力。计算ROI权重后,每个包中得分最高的ROI应该比得分低的更干净。因此p被用作阈值参数来过滤掉每个包中有噪声的ROIs。遵循课程学习(curriculum learning)的思想,p一开始设置的比较小,这样选择的ROI就很有鉴别性和代表性。然后我们逐渐增加p来增强训练后模型的泛化能力。整个训练过程可以在算法1中看到。
  为了评估,我们直接使用训练有素的CNN模型基于图像级特征对测试图像进行分类,而不提取region proposals。记忆模块仅用于训练阶段的web数据去噪,而不用于测试阶段。

4. Experiments

  在这一节中,我们介绍了实验设置,并演示了我们提出的方法的性能。

4.1. Datasets

Clothing1M:Clothing1M [54]是为网络监督学习设计的大规模时尚数据集。它包含大约一百万张从互联网上抓取的服装图像,这些图像被分为14类。大多数图像与从其周围文本中提取的噪声标签相关联,并用作训练集。一些带有人工标注的干净标签的图像被用作评估的干净数据集。

Food-101 & Food-101N:Food-101 dataset [1]是从foodspotting.com收集的大型食物图像数据集。它有101个类别和1k个图像,每个类别都有人类标注的标签。Food-101N是[24]提供的网络数据集。它从几个网站(不包括foodspotting.com)上抓取了310k张Food101中相同分类的图片。在我们的实验中,我们使用Food-101N进行训练,使用Food-101进行评估。

Webvision & ILSVRC:网络视觉数据集[26]由训练、验证和测试集组成。训练集是通过使用与ILSVRC-2012 [9]数据集相同的1000个语义概念从Flickr和Google抓取的。它有240万张带有噪声标签的图像。验证和测试集是手动注释的。在我们的实验中,我们只使用网络视觉训练集进行训练,但对网络视觉验证集(50k)和ILSVRC-2012验证集(50k)进行评估。

4.2. Implementation Details

我们采用ResNet50 [15]作为CNN模型,利用其最后一个卷积层的输出作为特征图提取ROI特征。对于Clothing1M and Food101N,我们使用在ImageNet上根据以前的作品预处理的ResNet50,[24,13]。对于WebVision and ImageNet,ResNet50是用WebVision中的web训练图像从头开始训练的。
对于建议提取器(即Edge Boxes),有两个重要的参数MaxBox和MinBoxArea,其中MaxBox控制返回region proposals 的最大数量,MinBoxArea确定最小区域。在我们的实验中,我们使用MaxBoxes = 20(即 n p = 20 n_p=20 np=20)和MinBoxArea = 5000。默认情况下,我们在每个训练包中使用两个图像(即 n g = 2 n_g=2 ng=2,因此每个包中的ROIs数量是 n b = n g ( n p + 1 ) = 2 × ( 20 + 1 ) = 42 n_b=n_g(n_p+1)=2\times(20+1)=42 nb=ng(np+1)=2×(20+1)=42

4.3. Qualitative Analyses

  在这一部分,我们提供了深入的定性分析来阐述我们的方法是如何工作的。我们首先探索记忆模块(memory module),然后探索训练包(training bags)。
**Memory Module:**以Clothing1M数据集为例,以“suit”为感兴趣的类别,我们在图3中选择了三个key slots进行说明,其中每一行代表一个 key slot及其对应的d-score and r-score。为了可视化每个 key slot,我们选择了与该key slot余弦相似度最高的五个感兴趣区域,即 c o s ( x i , k l ) cos(x_i,k_l) cos(xi,kl)
正如饼图所示,第一个关键点分别来自“Suit”和“Windbreaker”,因此它的d值最低。同时,来自“suit”的包的总数比其他两个slots的要少,所以它的r分数也是最低的。因此,这种key slot对“西装”来说既不具区分性(discriminative),也不具代表性(representative)。
在这里插入图片描述
  另外两个 key slots对“suit”类别有很大的区别(discriminative),并且有很高的d分。但第三个 key slot比第二个更能代表“suit”,导致r分更高。解释是彩色套装(第二个 key slot)的包总数小于黑色/灰色套装(第三个 key slot)的包总数,所以我们声称第三个 key slot比“suit”更有代表性。结合r-score和d-score,我们可以说第三个 key slot是“suit”最典型的(参见附录中所有L = 144个 key slot的可视化)。
**Training Bags:**基于 memory module,每个包内的不同感兴趣区域根据其面积和最近key slots的原型分数被分配不同的权重。在图4中,我们展示了一个包含三个图像的训练包(即ng= 3)。通过比较第一列和第二列,我们可以观察到噪声图像和噪声区域建议已经基于学习的感兴趣区域权重被移除。通过对感兴趣区域权重求和,我们可以获得具有更亮颜色的注意力热点图,指示更高的权重。热图及其对应的直方图分别显示在第三和第四列。可以看出,背景区域的权重低于主要对象。因此,图4中的结果展示了我们的网络处理标签噪声和背景噪声的能力。
在这里插入图片描述

4.4. Ablation Study

我们首先以Clothing1M数据集为例,将我们的方法的结果与表1中的不同数据进行比较。
在这里插入图片描述
The bag size: 如表一所示,我们的方法以 n g n_g ng=2达到了最好的效果,所以我们在剩下的实验中使用它作为默认参数。此外,可以看出, n g n_g ng= 1的性能比 n g n_g ng> 1的性能差,因为我们的方法在一个包中只有一个图像时,当它是有噪声的图像时,将无法减少标签噪声。
The number of key slots(聚类中心的数目): 如表1所示,当key slots的数量足够大(L ≥ 8 × 8)时,我们的方法的性能相当稳健,而数量太小(L = 4×4)将导致性能下降。请注意,最佳性能是在L = 12 × 12的情况下实现的,而Clothing1M数据集有14个类别,这表明当每个类别可以在memory module中占据大约12×12÷14≈10个聚类中心时,我们的方法通常会获得令人满意的性能。根据这一观察,在其余的实验中, Clothing1M的L = 12×12,food101的L = 32×32,WebVision and ImageNet in the rest experiments.L = 100 × 100。
  其次,我们在表2中研究了我们的方法中每个组件的贡献。ResNet50和ResNet50+ROI是两个naive baselines,SOMNet表示我们的方法。ResNet50+ROI同时使用图像和region proposals作为输入,但只比ResNet50稍有改进,这说明单纯使用proposals作为数据增强并不十分有效。
在这里插入图片描述
Three types of scores:回想一下,我们使用三种类型的分数来加权ROIs: r分数、d分数和a分数(面积分数)。为了研究它们的益处,我们通过消融每种类型的分数来报告我们的方法的性能,在表2中用SOMNet(w/o d-score)、SOMNet(w/o r-score)和SOMNet(w/o a-score)表示。我们观察到,随着每种分数的缺失,性能将会下降,这表明了我们设计的分数的有效性。
Curriculum learning:请注意,我们利用curriculum learning 的理念,在培训期间将p从10%逐渐增加到40%。在表2中,SOMNet (p = 40%)表示从训练开始直接使用p = 40%的结果,性能下降0.8%。它证明了使用curriculum learning 的有效性。
Background noise removal:我们提出网络数据既有标签噪声,也有背景噪声。为了研究背景噪声的影响,我们只通过不使用region proposals来处理标签噪声,结果由表2中的SOMNet表示。为了公平比较,我们发现在这种情况下 n g n_g ng= 5,p = 60%是理想的参数,然而,最好的结果只有74.1%,这比使用region proposals要差得多。这个结果证明了处理背景噪声的必要性。
在这里插入图片描述
The self-organizing memory module: 由于传统的聚类方法如K-means可以实现与memory module相似的功能,我们用K-means方法代替我们的自组织memory module,并将该基线称为SOMNet+K-means(参见补充部分的实现细节)。此设置中的性能下降证明了使用我们的memory module进行端到端联合优化的有效性。此外,为了证明使用自组织映射(SOM)作为扩展的有效性,我们将邻域大小设置为1,这相当于移除自组织映射(SOM)。SOMNet (w/o SOM)和SOMNet的比较表明,在我们的memory module中使用SOM(自组织映射)是有益的。

4.5. Comparison with the State-of-the-Art

  我们将我们的方法与表3中最先进的state-of-the-art webly或弱监督学习方法在四个基准数据集:Clothing1M、Food101、WebVision和ImageNet上进行了比较。基线方法包括Sukhbaatar等人[44],[53],庄等人[60],AD-MIL [17],Tanaka等人[47],CurrenculumNet[13],SL [52],MLNT [25]和PENCEL[57]。一些方法没有报告它们在上述四个数据集上的结果。即使对上述数据集进行了评估,不同的方法在不同的设置(例如主干网、训练集)下进行实验,因此我们在与我们的方法相同的设置下重新运行它们发布的代码,以进行公平的比较。对于那些已经在与我们完全相同的设置中报告结果的方法,我们直接复制它们报告的结果(用“*”标记)。
在这里插入图片描述
  从表3中,我们可以看到我们的方法在主干ResNet50上实现了显著的改进。所有四个数据集的平均相对改进(前1)为9.18%。它也优于所有的基线,证明了我们的方法使用内存模块处理标签噪声和背景噪声的有效性。

5.Conclusion

  在本文中,我们提出了一种新的方法,可以同时解决web数据的标签噪声和背景噪声。具体来说,我们设计了一种新的(memory module)记忆模块,用于在多实例学习框架下去除噪声图像和噪声区域建议(region proposals)。在四个基准数据集上的综合实验验证了该方法的有效性。
Acknowledgement
  本工作得到了国家重点R&D项目(2018AAA0100704)的支持,并得到了国家自然科学基金(批准号61902247)和上海航海计划(19YF1424400)的部分资助。
**整理不易,第一次在论文里敲数学公式…对您有帮助的话留个赞呗。**感谢