论文笔记:《Embedding Complementary Deep Networks for Image Classificatio》

mac2025-04-17  4

一、动机

用大量的数据去训练多个互补的神经网络去embedding,以达到去提升错误率高的类别的精度同时保持易分类高精度的目的。

二、背景

通过将训练多个弱分类器聚合为一个,boosting可以通过分配更大的权重去给hard sample更多的注意力,以此来提升分类器在大规模图像分类上的精确度。

但是现在存在的一些deep boosting算法仅仅使用weight error去替换之前的softmax error,这使得深度网络对待来自hard classes和easy classes的error依然是同等重要的,并没有注意到不同的类别在学习复杂度上可能有着很大的不同,所以不同的类别在优化过程中所占的重要性应该也是不同的。所以,简单的替换error去boosting多个分类器,并不能有效提升分类器在hard classes上的效果。

为了在大规模图像分类上实现高准确率,现在主要有三类解决方法:

a)weighting the train samples,

b)learning multiple deep networks by using differen model parameters or using various sample subsets and some deep embedding algorithm,

c)training multiple complementary deep networks。 (本文属于该方法)

以前的方法有分配不同的权重给训练样本,有使用不同的模型参数和多个子集去进行训练的,它们的局限性都在于在网络中hard classes 和 easy classes的error依旧是同等重要的。在本文的方法中:a)来自hard object classes的error将被分配更大的重要性,b)多个互补深度网络被依序训练和每个网络都以一种易于理解的方式为对象类别的不同子集实现更高的准确率,从而使它们可以彼此增强。

三、方法

整个算法流程可以概括为:(a)训练当前的第t个深度网络,专注于在第t-1个网络中错误率高的类别上实现更高的准确率; (b)计算当前第t个深度网络的weight error(weight指的是当前网络给N个类别分配的重要性); (c)根据错误率更新重要性的分配; (d)迭代:当达到最大迭代次数或达到一定水平的准确率时,此迭代过程将停止。

3.1 互补深度网络的学习

训练集:。

通过最大化目标函数去训练当前的深度网络:

(最大化目标函数的意义:尽可能提高重要性高也就是在上一个网络错误率高的类别的正确率。)

是第l类物体被正确识别的平均置信度和其它图片被误分为l类的概率的margin:

定义网络对第l类物体的error rate :

上面的error rate是用概率计算的soft decision,也可以直接计算hard decision  。

的错误率定义为:

根据每个类别的错误率更新重要性的分配:

被定义为:

0<<1,u是一个被选择的超参数。根据错误率更新注意力可以推动第(t +1)个深层网络更多地关注hard类(错误率更高)。 这样依次训练出来的第t+1个深度网络和第t个是相互补充的。

3.2 互补深度网路的embedding

聚合网络:

式中的是归一化因子、

3.3 参数选择

下面是一个漫长的数学推导过程,会省略很多中间过程。

首先做一个设定:如果类别的错误率,我们就把这个类视为hard类。

有个互补网络,我们定义:

当,意味着所有τ个互补深度网络总是很难识别出类Cl,这种总是很困难的对象类别的出现可能会严重影响我们的深度嵌入算法在大规模图像分类中的总体准确率。用表示总是很难识别类的数量:

为了去实现一个精度更高的分类器,我们必须与选择一个合适的去使得最小。经过一系列计算,得到:

接下来研究u的范围,首先,则,然后因为u是用来控制错误率的阈值,必须满足u>1/2。可以分情况讨论u在三个区间的取值会有什么后果,这里就不在详细描述了。

四、实验

主要是三个数据集MNIST、CIFAR-100和ImageNet1K以及与其它embedding算法的对比实验。

对于不同网络结构和不同数量的集合都是有用的。

4.1 Results on MNIST

4.2 Results on CIFAR-100

训练集上的错误率接近0,但是在测试机上仍存在限制,在测试集上的结果存在限制的原因可能是:(1)hard类别可能在类别内部具有巨大的视觉多样性,因此测试图像和训练图像的视觉特性可能存在显着差异;(2)hard类可以具有巨大类间视觉相似性与其他人,因此,它们很容易从其它类似的那些混淆。 除了通过根据错误率加权重要性,以易于处理的方式依次处理hard类和易对象类之外,我们还需要寻找更有效的解决方案来解决巨大的类内视觉多样性问题 和巨大的类间视觉相似度。

4.3 Results on the ImageNet1K

得到与CIFAR-100相似的观察结果,我们的深度嵌入算法可以提高训练集上的hard对象类的准确率,而测试集上的改进可能并不那么明显。

除了上面讨论的两个原因(类内视觉多样性巨大和类间视觉相似性巨大)之外,ImageNet1K数据集中这种现象的另一个关键原因是:(a)一些hard对象类来自对象的叶节点。在深度较长的概念本体中,可能存在难以区分的多个视觉相似的对象类别,例如细粒度的硬对象类别。如表1所示,前1位的准确率可能会很低,但前5位的准确率可能会更好,这是因为在这种顶部中不计入区分多个细粒度硬对象类的错误-5错误率。(b)一些hard对象类来自深度很短的概念本体的叶节点(即,粗粒度的硬对象类),我们可能需要大量的训练图像来学习用于区分的深层网络因此,对于所有对象类使用相同数量的训练图像(如大多数现有深度学习算法所做的那样),结果是有效地使用了此类粗粒度的硬对象类可能不足以学习有区别的深度此类粗粒度硬对象类的网络。

4.4 与其它算法的比较

五、结论

开发了一种深度嵌入算法来训练和组合多个互补的深度网络,其中每个深度网络都致力于以一种易于理解的方式为对象类别的不同子集实现更高的准确率,并且它们可以彼此增强。 我们的深层嵌入算法可以在一定程度上提高硬对象类别的准确率,同时有效地为简单对象保留较高的准确率,因此在大规模图像分类中可以实现更高的整体准确率。

最新回复(0)