热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

论文阅读:《BagofTricksforLongTailedVisualRecognitionwithDeepConvolutionalNeuralNetworks》

基于深度卷积神经网络的长尾视觉识别技巧包摘要近年来,挑战性长尾分布上的视觉识别技术取得了很大的进展,主要基于各种复杂的范式(如元学习)。除了这些复杂

基于深度卷积神经网络的长尾视觉识别技巧包


摘要

近年来,挑战性长尾分布上的视觉识别技术取得了很大的进展,主要基于各种复杂的范式(如元学习)。除了这些复杂的方法外,对训练程序的简单改进也有一定的贡献。
这些改进(也称为技巧)虽小但很有效,例如调整数据分布或丢失函数。然而,不同的技巧可能会相互冲突。如果用户使用这些与长尾相关的技巧不当,可能会导致识别准确度比预期的更差。不幸的是,在文献中还没有关于这些技巧的科学指导。
本文首先收集了已有的长尾视觉识别技巧,然后进行了广泛系统的实验,给出了详细的实验指导,并获得了这些技巧的有效组合
此外,我们还提出了一种基于类激活映射的长尾识别数据增强方法,该方法与重采样方法友好结合,取得了良好的结果。
通过科学地组合这些技巧,我们可以在四个长尾基准数据集上超越最先进的方法,包括ImageNet-LT和iNaturalist 2018。我们的代码是开源的,可以在https://github.com/zhangyongshun/BagofTricks-LT上找到。


Introduction

随着在平衡分布式数据集上训练卷积神经网络(cnn)的发展,计算机视觉已经取得了巨大的进步(Deng et al. 2009;Krizhevsky和Hinton 2009;Wah等人,2011)。但在现实场景中,大规模数据集(Zhou et al. 2017;V an Horn等人2018年;Lin等人2014年**;Wang et al. 2020)自然呈现出不平衡和长尾分布,少数类别(多数类别)占据了大部分数据,而大多数类别(少数类别)的代表性不足。在这些长尾数据集上训练的cnn识别精度很差,特别是对于代表性不足的少数群体**。
处理这种长尾分布在现实世界的应用中是必不可少的,例如对象检测(Lin et al. 2017;欧阳等人2016;Wang, Wang, and Wang 2020),实例分割(Wang et al. 2019;Gupta, Dollar和Girshick 2019),视觉识别(Zhang et al. 2017;Zhong et al. 2019;Cao et al. 2019;Cui et al. 2019)等。本文主要研究基本的长尾视觉识别问题。

近年来,长尾视觉识别受到越来越多的关注。属于不同范式的各种方法,如度量学习(Wang et al. 2018;Liu et al. 2019a;曹等人2019年),元学习(Liu等人2019b;彭等人2019;Jamal et al. 2020)和知识迁移(Wang, Ramanan, and Hebert 2017)已经成功地探索了长尾识别。
尽管这些方法在长尾数据集上带来了稳定的精度提高趋势,但它们往往对超参数具有很高的敏感性(Cao et al. 2019;Yan et al. 2019)或训练过程的高度复杂性(Wang, Ramanan, and Hebert 2017;Liu et al. 2019b;向、丁、汉2020)。此外,这些方法在现实世界的各种场景中难以有效应用
除了这些方法外,现有的长尾视觉识别训练技巧也发挥了重要作用,只是对普通的训练过程进行了简单的改进,如损失函数或数据采样策略的调整。这些技巧很简单,但在识别准确性上却有很大的不同。然而,不同的技巧在训练过程中,如果使用不当,可能会互相伤害。例如,重新取样(Buda, Maki和Mazurowski 2018;Japkowicz和Stephen, 2002)和重新加权(Mikolov等人,2013年;Cui et al. 2019)是缓解长尾分布不平衡的两种常用方法。重采样试图获得平衡的数据集,而重权则将权重分配给由类频率反转确定的类别。由于重新抽样和重新加权都试图扩大少数人类别的影响,同时应用重新加权和重新抽样将获得类似甚至比单独使用它们更差的准确性。

与重新加权和重新抽样类似,当我们应用两个或多个长尾效应相关的技巧时,最好能知道哪些技巧可以协同组合,哪些技巧可能与其他技巧相冲突。然而,文献中没有任何指导原则。虽然有几个关于类不平衡学习的良好调查(More 2016; Buda, Maki, and Mazurowski 2018; Japkowicz and Stephen 2002),但它们可以进一步组成深度学习时代的有效技巧。更重要的是,它们缺乏对一组长尾相关技巧进行定量组合和评估的综合实证研究。

在本文中,我们重点探讨了长尾视觉识别中常用的、容易装备的、对超参数不敏感的技巧。同时,我们进行了大量的实验,为未来的研究提供了有价值的实践指南。
这些与长尾相关的技巧被分成四个系列,即
重新加权、重新采样、混合训练和两阶段训练

特别是,我们将混杂训练(Zhang等人,2018;V erma等人,2019)加入到长尾相关技巧中,因为我们发现混杂训练在长尾视觉识别中能带来良好的效果,特别是与重采样结合时
在每个技巧系列中,我们介绍了常用的技巧,并比较了长尾基准数据集的结果。此外,为了克服现有重采样方法中缺乏鉴别性信息的问题,我们提出了一种基于类激活图(CAM)的新型数据增强方法(Zhou等人,2016),它为两阶段训练量身定做,通过转移前景而保持背景不变来生成鉴别性图像。它可以与现有的重采样方法友好结合,并表现出优异的效果,被称为 “基于CAM的采样”。此外,我们还探讨了不同系列的技巧之间的冲突,以找到最佳的技巧组合,命名为技巧袋。表1显示了长尾CIFAR和两个大型数据集(如ImageNet-LT和iNaturalist 2018)的Top-1错误率,这表明与最先进的方法相比,我们的Bag有明显的准确性提高。

我们工作的主要贡献可以总结一下:

我们全面探讨了现有的简单的、对超参数不敏感的、与长尾有关的技巧,并为今后的研究提供了宝贵的实践指南。-

我们提出了一种为两阶段训练量身定做的基于CAM的新型采样方法,这种方法对于长尾视觉识别来说简单而有效。

我们进行了广泛的实验并找到了最佳的技巧组合。与最先进的方法相比,我们的技巧包在四个长尾基准数据集上取得了优于其他方法的识别结果,而没有引入额外的FLOPs。


Datasets and baseline settings

数据集和基线设置

在本节中,我们描述了实验中使用的长尾数据集以及基线训练设置,如骨干网络、数据增强等。为了公平比较,我们的实验设置与以前的工作保持一致(Cao等人,2019;Cui等人,2019;Zhou等人,2020)。


Datasets

Long-tailed CIFAR

CIFAR10和CIFAR-100数据集的长尾版本(CIFAR-10-LT和CIFAR-100LT)(Cui et al. 2019)是长尾识别的基准数据集。与原始的CIFAR数据集(Krizhevsky和Hinton 2009)一样,长尾版本包含相同的类别。然而,它们是通过根据指数函数n = nt × µt减少每个类别的训练样本数量而创建的,其中t是类别索引(0-索引),nt是原始训练图像的数量,µ∈(0,1)。测试集保持不变。长尾CIFAR数据集的不平衡系数被定义为最大类的训练样本数除以最小类的训练样本数,其范围为10到200。在文献中,50和100的不平衡系数被广泛使用,每个不平衡系数下有大约12000张训练图像。

iNaturalist 2018
iNaturalist物种分类数据集(Van Horn等人,2018)是大规模的真实世界数据集,存在着极其不平衡的标签分布。iNaturalist最具挑战性的数据集是2018年版本,其中包含8142个类别的437,513张图片。除了极度不平衡,iNaturalist数据集还面临着细粒度的问题(Wei, Wu, and Cui 2019)。我们在实验中遵循iNaturalist 2018的官方训练和验证分割。

Long-tailed ImageNet

长尾的ImageNet(ImageNet-LT)来自于原始的ImageNet2012(Deng等人,2009),通过从1000个类别中按照帕累托分布进行抽样,每个类别最多有1280张图像,每个类别最少有5张。测试集是按照(Liu et al. 2019b)进行平衡的。


Baseline settings

Backbones

我们采用深度残差网络(He等人,2016)作为骨干。具体来说,我们遵循(Cui et al. 2019),对长尾的CIFAR和iNaturalist数据集分别采用32层的残差网络(ResNet-32)和50层的残差网络(ResNet-50)。对于ImageNet-LT,根据(Liu et al. 2019b),我们采用具有10层的ResNets(ResNet-10)来进行公平的比较。

Data augmentation

对于长尾的CIFAR数据集,我们遵循(He et al. 2016)中的数据扩增。
在训练过程中,每张图片每边填充4个像素,并随机裁剪出一个32乘32的区域。裁剪出来的区域以0.5的概率进行水平翻转,然后在训练前以每个颜色的平均值和标准差进行归一化。在验证过程中,对于每张图片,我们将其较短的边缘调整为36像素,同时保持其长宽比。随后,我们裁剪出中心的32乘32的区域,并将RGB通道归一化,与训练程序类似。对于iNaturalist 2018和ImageNet-LT,我们遵循(Goyal等人,2017)中的数据扩充。在训练过程中,我们使用比例和长宽比数据增强(Szegedy等人,2015),并从增强的图像或其水平翻转中得到一个224×224的随机裁剪区域。这些区域在训练前被每个颜色的平均值和标准差归一化。在验证过程中,对于每张图像,我们将其较短的边缘调整为256像素,同时保持其长宽比,然后在验证前将224乘224的区域裁剪出来并进行归一化。

Training details

所有的骨架都是从头开始训练的。我们采用(He等人,2015)的初始化方法。所有层的偏差都被初始化为0。我们通过随机梯度下降法(SGD)在长尾的CIFAR数据集上训练ResNet-32,动量为0.9,权重衰减为2×10-4。训练周期数为200,批次大小为128。学习率初始化为0.1,并在第160次和180次历时中分别除以100。我们在前五个epochs使用warmup(Goyal等人,2017)。对于iNaturalist 2018和ImageNet-LT,我们遵循与Goyal等人(2017)相同的训练策略。骨干的训练批次大小为512。训练历时数为90,学习率初始化为0.2,并在第30、60和80次历时时除以10,不做预热。采用SGD,动量为0.9,权重衰减为1×10-4。基线训练的Top-1错误率见表2,我们的结果与参考文献(Cui等人,2019;Liu等人,2019b)基本一致。对于稍微不一致的,如iNaturalist 2018和ImageNet-LT,可能是由运行环境(如CUDA和深度学习框架的版本)造成的,因为我们保持训练和验证设置与参考文献一致。


Trick gallery

我们将长尾相关的技巧分为四个系列:
重新加权、
重新采样、
混合训练、
两阶段训练
我们将混合训练作为长尾相关的技巧,因为我们发现混合训练(Zhang等人,2018;Verma等人,2019)在长尾视觉识别中提供了良好的识别精度,特别是与重采样结合时。在每个技巧系列中,我们介绍了常用的技巧并比较了它们的准确性。

此外,我们提出了一种简单而有效的数据增强方法,为两阶段训练量身定做。所提出的方法是基于类激活图(CAM)(Zhou等人,2016),它可以与重采样友好地结合,并被称为 “基于CAM的采样”。


Re-weighting methods

成本敏感的重新加权方法是长尾文献中普遍采用的方法。这些方法通过给不同的类别分配不同的权重,引导网络对少数类别给予更多关注。
形式上,对于每个带有标签c∈{1,2, . . , C},我们将预测输出设为z = [z1, z2, … , zC]T,其中C为类的总数。我们将nc定义为c类中训练图像的数量,nmin定义为最小类中训练图像的数量。采用Softmax交叉熵损失(CE)作为基线,其定义为

在这里插入图片描述
Existing re-weighting methods

我们回顾了常用的重新加权方法,包括成本敏感的softmax交叉熵损失(Japkowicz和Stephen 2002),焦点损失(Lin等人2017),以及最近提出的类平衡损失(Cui等人2019)。


  • Cost-sensitive softmax cross-entropy loss 成本敏感的softmax交叉熵损失(CS CE)(Japkowicz and Stephen 2002)定义为
    在这里插入图片描述

  • Focal loss(Lin等人,2017)在sigmoid交叉熵损失的基础上增加了一个调整因子,以集中训练困难的样本。我们表示pi =sigmoid(zi) = 1 1+exp(-zi),定义pti为
    在这里插入图片描述
    其中γ是控制不同样本重要性的超参数。

  • CBLOSS类平衡损失(Cui等人,2019)考虑了不同类别的真实体积,命名为有效数字,而不是数据集提供的图像的名义数字。有了有效数字的理论,类平衡的焦点损失(CB Focal)和类平衡的softmax交叉熵损失(CB CE)被定义为
    在这里插入图片描述
    其中γ和β是两个超参数。我们根据(Cui et al. 2019)在不同的长尾数据集上设置γ和β。
    Experimental results

我们评估了长尾CIFAR数据集的重新加权方法。如表3所示,我们发现,在CIFAR10-LT上,重新加权的错误率较低,但在CIFAR-100-LT上,与vanilla ResNet-32相比,得到的结果较差。这说明在训练过程中直接使用重定权重并不是一个合适的选择,特别是当分类的数量增加,数据变得更加不平衡的时候。

在“两阶段训练程序”的后一节中,我们将描述长尾视觉识别的两阶段训练策略,它证明了一种应用重权的有效策略。
在这里插入图片描述

表3:重权方法的Top-1错误率。它表明直接应用重新加权是不合适的,特别是当类的数量增加时。


Re-sampling methods

重抽样通常用于处理长尾问题,这种问题试图对数据进行抽样,以获得均匀分布的数据集。

Existing re-sampling methods
我们对现有的简单和常用的再抽样方法作如下综述。

随机过采样(Buda, Maki, and Mazurowski 2018)是有代表性的重采样方法之一,它复制随机采样的少数类训练图像。随机过度采样是有效的,但可能导致过拟合(Sarafianos, Xu,和Kakadiaris 2018)。

•Random undersampling (More 2016)随机删除大多数类的训练图像,直到所有类变得平衡。Drummond和Holte(2003)表明,在某些情况下,欠采样比过采样更可取。

•类别均衡抽样(Kang et al. 2020)使每个类别被选中的概率相等。当q = 0时,每个类j的概率pCBj由(7)式给出。具体来说,类平衡抽样首先对一个类进行均匀抽样,然后对所选类中的一个实例进行均匀抽样:

在这里插入图片描述
其中j为当前类,ni为类I中q∈[0,1]的样本个数。C是总类数。

•平方根抽样(Kang et al. 2020)在式(7)中将q设置为1 2,目的是返回一个更轻的不平衡数据集。
•渐进式平衡抽样(Kang et al. 2020)将班级的抽样概率从普通的不平衡抽样逐步改变为班级平衡抽样。对于当前历元t,第j类对应的采样概率pj可由式(8)计算:

在这里插入图片描述

其中T为总历元。
此外,还有其他采样方法,可以创建人工样本或基于梯度和特征的样本(Y an et al. 2019;Chawla等人2002年;沈、林、黄2018;2005;Perez-Ortiz等人2019年;yu and Lam 2019)。然而,这些方法通常是复杂的,并可能引入噪声数据(Y u和Lam 2019)。因此,我们在本文中没有考虑这些针对简单技巧的方法。


Experimental results

表4给出了长尾CIFAR数据集上不同重采样方法的错误率。可以观察到,直接将重采样应用到训练过程中得到了轻微的改进。
此外,我们将在“两阶段训练程序”一节中展示,将重采样方法与两阶段训练相结合,可以获得显著的改进。

在这里插入图片描述
表4:重采样方法的Top-1错误率。它演示了直接应用重采样方法带来的微小改进。


Mixup training

混淆训练可以被看作是一种数据增强技巧,其目的是正则化cnn。我们发现混合训练在长尾视觉识别中具有良好的准确性,特别是与重采样相结合时。
Existing mixup methods
我们在本节介绍两种混合方法:输入混合(Zhang et al. 2018)和流形混合(V erma et al. 2019)。


  • 输入混淆已被证明能有效缓解cnn中的对抗扰动(He et al. 2019a;Zhang et al.2019)。每个新例子由两个随机抽样的例子(xi, yi)和(xj, yj)组成,通过如下的加权线性插值

在这里插入图片描述
λ从Beta分布中随机取样。我们只在输入混淆的情况下使用(bx, by)


  • 流形混淆鼓励神经网络对隐藏表示的插值预测不那么自信,这将利用语义插值作为额外的训练信号。混合例子由
    在这里插入图片描述
    其中(gk(xi), yi)和(gk(xj), yj)是第k层后两个随机采样样本(xi, yi)和(xj, yj)的中间输出,λ是从Beta分布中采样的混合系数。在我们的实验中,我们只在一个层上应用了流形混合。

Fine-tuning after mixup training
He et al. (2019b)表明,如果我们在过去的几个epoch中去除混淆,通过mixup训练的模型的结果可以进一步提高。在我们的实验中,我们首先使用了混合训练,然后对经过混合训练的模型进行几个epoch的微调以获得进一步的改进,这被称为“混合训练后的微调”。

混合方法实验结果如表5所示。特别是,对于Beta分布,我们没有尝试所有超参数α的可能值,这不是我们工作的主要目的。从表5可以发现1)输入混合和廖混合物提供更好的结果在基线,和2)当α1和混合位置设置为池层,输入混合和多方面的混合物达到类似的结果,需要进行更多的实验与其他技巧。混合训练后的微调结果如表6所示。我们可以发现,输入混合训练后的微调可以得到进一步的改善,但流形混合后的微调效果较差。


Two-stage training procedures

训练分为不平衡训练和平衡微调两阶段。在本节中,我们将重点探讨平衡微调的不同方法。我们首先描述了现有的微调方法,然后提出了基于cam的采样方法。
Balanced fine-tuning after imbalanced training不平衡训练后的平衡微调
在不平衡数据集上训练的cnn,没有任何重新加权或重新采样的方法,可以学习到良好的特征表示,但在未充分表示的尾部类别上,识别精度很差。
这些微调方法(Cao et al. 2019)可分为两部分:通过重采样(DRS)和通过重加权(DRW)延迟再平衡。
•DRS首先使用普通训练计划,然后应用重采样均衡微调。为了得到一个平衡的微调子集,我们将使用“重采样方法”一节中介绍的重采样方法。在此基础上,提出了一种基于cam的采样方法。
•DRW在第一阶段采用香草训练计划,然后在第二阶段采用重加权方法。第二阶段将采用“调整方法”一节中介绍的调整方法。

The proposed CAM-based sampling for DRS
DRS中使用的现有重采样方法仅从原始数据集中复制或删除随机选择的样本以生成平衡子集,这在平衡微调过程中提供了有限的改进。为了生成判别信息,受类激活映射(class activation maps, CAM)的启发(Zhou et al. 2016),我们提出了基于CAM的采样方法,与现有方法相比,该方法在增加边际成本的情况下,精度有了显著提高。

如图1所示,我们首先使用重采样来获得均衡的采样图像。对于每一幅采样的图像,我们使用第一训练阶段训练的参数化模型,根据其ground truth标签和对应的全连通层权值来生成CAM前景和背景是根据其CAM的平均值分开的,其中前景包含大于平均值的像素,背景包含其余的像素。最后,我们在保持背景不变的情况下对前景应用转换。变换包括水平翻转、平移、旋转和缩放,我们为每个图像随机选择一个变换。
在这里插入图片描述
图1:我们提出的基于cam的采样概述。为每个图像重采样,采样凸轮首先生成基于特征图和FC地面真值的权重标签c。我们区分前景和背景基于CAM的平均价值,前景,同时保持背景不变,随后我们变换生成的信息采样数据集。

具体来说,我们将CAM与随机过采样、随机欠采样、类均衡采样、平方根采样和渐进均衡采样相结合,分别命名为“基于CAM的过采样”、“基于CAM的欠采样”、“基于CAM的平衡采样”、“基于CAM的平方采样”和“基于CAM的渐进采样”。

Experimental results
DRS中重采样方法的结果如表7所示。我们增加了一种名为图像传输平衡采样(ImageTrans balance-sampling)的采样方法来证明基于cam的平衡采样的有效性。它的流水线与基于CAM的平衡采样相同,但没有使用CAM来分离前景和背景。

从表7的结果可以看出:1)与表4中直接重采样相比,DRS中采用重采样的效果更好。2)我们提出的基于cam的采样获得了相当大的增益。3)在基于cam的采样中,基于cam的平衡采样效果最好。4) ImageTrans平衡采样的结果证明了CAM在平衡采样中的有效性。

表8显示了DRW中不同重权方法的结果。从结果中我们可以看出:1)与表3中直接调整权重相比,调整权重与DRW结合效果更好,2)DRW与CS CE结合效果最好。

在这里插入图片描述
表7 DRS中不同重采样方法的Top-1错误率。所提出的基于cam的采样可以获得更好的结果。其中,基于cam的平衡采样得到了最好的结果。与表4中直接重采样相比,DRS提供了一种有效的方法来应用重采样方法。

在这里插入图片描述
表8:DRW中不同重权方法的Top-1错误率。CS CE在DRW训练计划中取得了最好的成绩。与表3中直接使用再加权相比,在第二个训练阶段使用再加权更有效。


Trick combinations

在这一节中,我们首先回顾了每个技巧族中的冲突技巧,得到了比较的结果。我们将这些冲突的技巧与其他最好的技巧结合在一起,以找到最好的技巧组合。此外,我们逐步应用最佳技巧组合,以显示这些技巧之间的冲突可以忽略不计。

Removing conflictual tricks in each trick family

“两阶段训练过程”部分的实验表明,两阶段训练的最佳训练方案是基于cam的DRS和基于CS CE的DRW,但DRS和DRW都是两阶段训练技巧,我们需要更多的实验来探索应用它们的最佳策略。此外,在混炼训练中,输入混炼和流形混炼的结果可比较,如表5所示。因此,我们进行了更多的实验来比较它们与其他技巧相结合的结果。

在这里插入图片描述
表5:混合方法的Top-1错误率。α是贝塔分布的超参数。“FC”表示“fullyconnected”。我们可以看到输入混合和流形混合是可以比较的。但是在“移除每个技巧家族中有争议的技巧”一节中,我们将展示输入混淆带来更好的结果。

表9的结果表明,采用两阶段训练的最佳策略是基于cam的平衡采样的DRS。我们还可以发现,将CS CE与基于cam的平衡采样结合在一起并不能进一步提高精度,因为两者都试图扩大尾类的影响,而两者联合使用会由于过拟合问题导致精度下降。此外,从表10中,我们观察到,当与其他最佳技巧相结合时,输入混合比流形混合获得更大的增益。

在这里插入图片描述
通过对各个戏法族和戏法组合的实验,我们发现最优的戏法组合是输入混合、基于cam平衡采样的DRS和混合训练后的微调,我们称之为戏法包。

Applying the best tricks incrementally

为了演示我们的技巧包的性能和可忽略的冲突,我们将这些技巧逐步应用于长尾数据集,包括大规模的真实世界数据集iNaturalist 2018和ImageNet-LT。考虑到在存在输入混叠的DRS中我们使用了基于cam的平衡采样,在混叠训练后的微调中,我们也采用了类平衡采样来保持学习特征。结果如表11所示。结果表明:
1)通过叠加输入混合、基于cam平衡采样的DRS、混合训练后的微调,结果得到了稳定的改善。
2) iNaturalist 2018和ImageNet-LT的结果清楚地证明了我们的技巧包在真实世界的大规模数据集上的有效性。
3)使用我们的所有技巧,我们在所有长尾数据集上减少了约10%的错误率,这表明与现有的最先进的方法相比,有了显著的改进。

在这里插入图片描述
表11:使用增量技巧降低top-1错误率。我们的戏法袋显示了一个稳定的准确性提高的趋势,这证明了我们的戏法在小型和大型真实世界的数据集上的有效性。“iNat 18”代表“iNaturalist 2018”,“IM”代表“输入混乱”。在输入混淆中α是1。


Conclusions

本文系统地探索了现有的简单有效的长尾识别方法,为长尾视觉识别提供了科学的实验指导。此外,我们发现现有的简单抽样方法缺乏判别信息。基于此,我们提出了一种基于类激活映射的数据增强方法,并将其与现有的重采样方法相结合。通过大量的实验,我们得到了最优的技巧组合,包括输入混合、基于cam的均衡采样的DRS和混合训练后的微调。最佳的技巧组合,即技巧包,包含可以忽略的冲突,并在不引入额外失败的情况下在长尾基准测试中获得最佳结果。我们还将源代码作为一个科学实用的工具箱发布,为长尾视觉识别的未来研究提供了有益的参考。在未来,我们将尝试在其他具有挑战性的长尾任务中探索各种技巧,例如检测和分割。


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 花瓣|目标值_Compose 动画边学边做夏日彩虹
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Compose动画边学边做-夏日彩虹相关的知识,希望对你有一定的参考价值。引言Comp ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文研究了使用条件对抗网络进行图片到图片翻译的方法,并提出了一种通用的解决方案。通过学习输入图像到输出图像的映射和训练相应的损失函数,我们可以解决需要不同损失函数公式的问题。实验证明该方法在合成图片、重构目标和给图片着色等多个问题上都很有效。这项工作的重要发现是不再需要人为构建映射函数和损失函数,同时能够得出合理的结果。本文的研究对于图片处理、计算机图片合成和计算机视觉等领域具有重要意义。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • PatchODAX8: ... [详细]
  • 颜色迁移(reinhard VS welsh)
    不要谈什么天分,运气,你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人,然后你就会被自己的才华吓到。------ ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • 关于如何快速定义自己的数据集,可以参考我的前一篇文章PyTorch中快速加载自定义数据(入门)_晨曦473的博客-CSDN博客刚开始学习P ... [详细]
  • [翻译]PyCairo指南裁剪和masking
    裁剪和masking在PyCairo指南的这个部分,我么将讨论裁剪和masking操作。裁剪裁剪就是将图形的绘制限定在一定的区域内。这样做有一些效率的因素࿰ ... [详细]
author-avatar
o0沢田纲吉0o
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有