progressive random convolutions for single domain generalization论文阅读过程

采用的是吴恩达老师的论文阅读方法。

阅读过程:

Multiple passes[多次通读]

Read the title/abstract/figures

Title

Progressive

采用渐进的方式,逐步改进模型性能或逐步引入新的技术。渐进性通常表示逐步迭代和改进。

Progressively stack randconv block【重复迭代】--block(变形偏移+仿射变换)【保留语义并获得更多style】

Random convolutions

可能在卷积层中引入某种随机性或随机特征来提高性能。【猜测可能用crf】
基于randconv

Single domain generalization

主要目标是解决单一领域泛化问题。泛化指模型在未见过的数据上表现良好的能力。单一领域泛化问题是指模型在训练时只能访问一个领域的数据,但需要在其他领域的数据上进行泛化而不失去性能。【和few-shot learning有类似】
从一个源域中学到鲁棒的representation--生成多样的samples从而扩展源域的覆盖范围

Abstract

Single Domain Generalization

说明研究目标

基于随机卷积(RandConv)的图像增强技术

该方法通过为每个小批量数据随机初始化一个卷积层,扭曲局部纹理,从而帮助模型学习更具泛化能力的视觉表示
 

视觉表示

视觉表示是一种数值或向量表示,它捕捉了图像中或视觉数据的关键特征或信息,用于表征图像内容和结构,例如边缘、纹理、颜色、形状等,以便计算机可以更好地理解和处理图像数据。

具有泛化能力的视觉表示

在训练期间学到的表示,对于不仅仅是用于训练的图像,而且对于新的、以前未见过的图像也能够有效地表征图像内容。

RandConv 方法存在一些结构性限制

增加卷积核大小时容易失去语义信息

缺乏单一卷积操作的内在多样性

单一卷积操作的内在多样性

通过不同参数的卷积核和不同的输入数据部分,同一个卷积操作能够捕获多种不同类型的特征

逐步随机卷积(Pro-RandConv)方法

原理

递归堆叠具有小内核尺寸的随机卷积层,而不是增加卷积核尺寸。——progressive

优势

缓解语义扭曲

减少理论感受野中远离中心的像素的影响

创建更有效的虚拟域

逐渐增加样式多样性

General

将基本的随机卷积层扩展为包括可变形偏移和仿射变换的随机卷积块,以支持纹理和对比度多样化,这两者(可变形偏移和仿射变换)也是随机初始化的。
 

可变形偏移和仿射变换

可变形偏移

卷积核的位置和形状可以动态地适应输入数据的特征

常包括一个可变形偏移模块,该模块学习如何在每个位置对卷积核进行偏移,以适应输入的特定结构。

仿射变换

仿射变换是一种线性变换,包括平移、旋转、缩放、剪切等操作,用于对输入数据进行几何变换。

用于数据增强以及对输入数据进行空间变换,可以在不改变数据内容的情况下改变其外观,使神经网络能够更好地应对不同视角、尺度和旋转下的对象识别等任务。

纹理和对比度多样化

纹理多样化

这种多样性可以用于数据增强,以帮助深度学习模型更好地泛化到不同类型的纹理。

对比度多样化

对比度多样化是一种通过改变图像的亮度和对比度水平来增加图像多样性的技术。可以使模型更鲁棒,能够处理不同亮度和对比度条件下的图像。

数据增强

数据增强可以帮助模型在训练中接触到更多变化,从而提高其鲁棒性

Figures

1

每种情况下progressive(same)+random convolution block性能都最好
最终,model包含multiple random convolution blocks consisting of deformable offsets and affine transformation.

2

RandConv and our Pro-RandConv composed of multiple convolution blocks. 对比的图像增强的例子

3

包含了可变形偏移和仿射变换的能支持纹理和对比度多样化的随机卷积块的示意图

4

卷积核的形状和数值是固定的,但相较于普通的随即卷积操作,引入了可变形偏移变换的随机卷积操作使卷积核的应用位置能够在不同位置上根据图像的局部情况进行调整,从而更灵活地适应不同的图像。

5

四种不同领域在单域泛化设置中改变 RandConv 的核大小 (k) 和改变 ProRandConv 的重复次数 (L) 的比较分析。

6

在单域泛化设置中将高斯平滑应用于 RandConv 的卷积核的分析。

7

权重初始化分析?
(a)-(c)对比度多样化,(d)-(e)纹理多样化

Table

1

显示了在MNIST数据集上训练的单一领域泛化准确性。

每一列的标题表示目标领域,数字值表示该领域的性能。训练时使用了LeNet模型。

总体而言,Pro-RandConv方法在所有目标领域上都表现出色,是这些方法中性能最佳的。

2

显示了在PACS数据集上使用ResNet18进行训练的单一领域泛化准确性

每一列的标题表示源领域,数字值表示在目标领域上的平均性能。

Pro-RandConv方法在PACS数据集(目标)上也表现出色,是这些方法中性能最佳的。

  • 源领域(Source Domain):

 源领域是模型训练的原始数据集或环境。在这个领域中,模型接收训练数据并学习特征、模式等。源领域通常是模型熟悉的领域,模型的性能在这个领域上较好。

目标领域(Target Domain):

目标领域是模型希望泛化的新数据集或环境。当模型在源领域上训练后,其目标是在目标领域中表现良好,即使目标领域的分布可能与源领域不同。目标领域是模型在实际应用中需要适应的领域。

3

显示了在PACS数据集上进行多领域泛化(Multi domain generalization)训练的模型在不同目标领域上的性能。

表格的每一列表示一个目标领域

ResNet-18

ro-RandConv在所有目标领域上都表现不错,平均准确性为84.29%。

ResNet-50:

Pro-RandConv也较好

4

在不同数据集和模型上,使用Pro-RandConv相对于使用RandConv能够获得更好的领域泛化性能。

5

在RTX A5000上(每批次64个样本)评估的效率统计信息。表格中的数字表示不同方法的训练和推断效率,以及准确性。

Intro+conclusions+figures+skim rest(skim related work)

intro

现状

建立在测试数据(目标)与训练数据(源)共享相同分布的假设上的,常常无法泛化到分布外的数据。--域差异

解决方向

领域自适应DA

从源域向特定目标域转移知识【在一个或多个源域上学习到的知识、模型参数或特征表示等迁移到一个特定的目标域上。】--考虑labeld and unlabelled target domain data的可用性?

领域泛化DG

仅利用源域数据学习领域无关的特征表示【 learn a domain-agnostic feature representation】,而不使用目标域数据【在源域数据上学习出一组领域无关的特征表示,这些特征能捕捉到源域中的共同模式或结构

,而不受源域之间特定差异影响】

差别

领域自适应有一个源域和一个目标域,目标是通过利用源域数据来适应目标域;领域泛化是从多个源域学习,以获得对未见过的目标域具有泛化能力。
总之领域泛化的目标域是未知的,而领域自适应在训练时是需要用到目标域的

多源领域

先前的研究侧重于使用多源域以减轻分布差异,但由于数据收集预算的实际限制,这种方法存在一些局限。

单一领域泛化

只利用单一源域学习鲁棒表示的问题。
common solution:采用对抗数据增强方案生成多样化样本来扩展源域的覆盖范围。

局限:这些方法通常具有复杂的训练流程和多个目标函数。

Random Convolution(RandConv)

包含一个单一的卷积层,其权重在每个mini-batch中是随机初始化的。

a simple and lightweight image augmentation technique

When RandConv is applied to an input image, it tends to modify the texture of the input image depending on the kernel size of the convolution layer.【根据kernel size修改输入图像的纹理】

缺陷

存在结构上的局限,容易在增加卷积层的核大小时失去图像的语义

在测试域中的泛化性能随着k变大而变差:

并且缺乏单一卷积操作的内在多样性。

在传统卷积操作中,每个卷积核由一组权重参数组成。通过学习过程的反向传播和梯度更新,卷积核的权重参数会不断调整,使得每个卷积核能适应输入数据中的不同特征。--多样性
randconv在每次前向传播时会直接随机初始化卷积核,而不会对卷积核进行不断调整。

Progressive Random Convolutions(Pro-RandConv)

多个具有小尺寸卷积核的卷积层

多层结构可以通过减小理论上感受野中远离中心像素的影响来缓解语义失真问题。
因此,增加感受野也不会降低表现。【当stride不变?较大的卷积核涉及更多的输入像素,因此其感受野更大。】
 

堆叠相同权值的随机卷积层比使用不同权值的随机卷积层可以生成更有效的虚拟域。

虚拟域:通过某种变换或处理生成的虚构的数据分布。

感受野:

rand表示初始化时具有不确定性??相同权值rand就是初始化时的随机权值是一样的?rand前向传播时随机初始化,传统卷积在每次前向传播时不会重新初始化卷积核。

prorandconv优势

这种方法可以解释为逐渐增加对中心像素的单一变换的失真幅度【扭曲程度】
( 逐渐增加:这是指通过采用逐层堆叠小内核的卷积层,每一层都对输入图像进行逐渐增加的变换。这个过程逐渐引入对中心像素的变换。)

(中心像素的单一变换:关注对中心像素的变换,即图像的核心部分。)

与具有大内核的单层相比,这种方法可以在图像转换中实现更细粒度的控制,从而具有逐步改善样式多样性的效果。
(更细粒度的控制:每一层的小内核可以更加集中地影响图像的局部结构,使得整个样式的变化更为渐进和精细。)
(VS大内核:相较于使用单一具有大内核的卷积层,这种逐步增加变换程度的方法使得样式多样性得以增强。每一步的变换都会渐进地改变图像的外观,从而提高整体的样式多样性。)

随机卷积块

包括可变偏移和仿射变换,以支持纹理和对比度的多样性。
所有的权重都从高斯分布中采样--卷积块完全随机

通过采用随机卷积块的渐进方式,我们可以在保持新生成图像语义的同时,最大限度地提高样式的多样性

prorandconv的优越性

超越单一领域泛化,只使用图像增强而不需要额外的损失函数或复杂的训练流程。

主要贡献

Progressive approach

提出了一种递归堆叠小规模随机卷积以提高样式多样性并保留语义的方法--recursively和progressive的区别是什么??

a random convolution layer

开发了一个具有变形偏移和仿射变换的随机卷积层以促进增强图像的纹理和对比度多样性

在单一和多领域泛化基准上进行了全面的评估和分析,相较于其他方法在识别性能上取得了显著的改进

conclusions

 Pro-RandConv

图像增强技术-增强在领域泛化任务中的泛化能力

Approach

Progressively applying small-scale random convolutions instead

of a single large-scale convolution.

Allow deformable offsets and affine transformations to promote texture and contrast diversity

表现

it outperformed recent competitors significantly

Pro-RandConv produces qualitative and

quantitative improvements over the RandConv method.

figure

1

每一个minibatch都随机初始化,所以没有单一卷积固有的多样性?
 

这些L层的是L个相同权重(产生更有效的虚拟域?)的卷积块(变形偏移和仿射变换?)吗?
这个是叫递归叠加小规模卷积吗?叠加了L个?

随着K变大randconv的性能越来越差--丢失语义
pro(diff)应该是叠加randconv并且权值不同
pro(same)应该是叠加randconv并且权值相同
por(same)+block应该是叠加randconv并且权值相同且有变形偏移和仿射变换(block)

2

随着kernal size变大,randconv会丢失语义【越大越模糊】

随着递归叠加次数的变多(感觉就是叠加的block变多),样式多样性提高了并且语义被保留

3

block的内部结构。
随机初始化权值--prorandconv的rand

变形偏移:deform conv

仿射变换:affine transform

4

详解添加了deform conv的random conv与未添加的区别。
random deformable conv的每个参考点的权值相同(?),但偏移的分配不同【左右?】,促进了局部纹理的多样性。--每个参考点的偏移是随机的

通过为不同的参考点分配不同的偏移,使得卷积操作在不同位置的响应具有差异性,从而有助于捕捉到更丰富和多样的局部纹理特征。

关键:不同的参考点分配不同的偏移

5

单一领域泛化

对于progressive的方法依旧是调整堆叠的层数(重复次数 L)来观察性能变化

原始randconv是调整卷积核大小

6

有具体指明哪个域吗?

高斯平滑:应用高斯滤波器来模糊图像,减少噪声或细节。

蓝vs紫:对 RandConv 卷积核应用高斯平滑表现更好
紫vs黄:虽有提升但是仍旧比不过pro(same)

7

针对block的个体组件和权值初始化饿视觉分析。(感觉就是对个体组件的权值初始化时选值不同带来的不同结果)

图 (a)-(c) 与对比度多样性有关,图 (d)-(e) 与纹理多样性有关。

Table

1

单一领域泛化

源领域(训练域):mnist

目标域:SVHN MINIST-M SYM USPS

网络:LeNet

老四样:randconv ;pro(diff);pro(same);pro(same)+block[aka prorandconv]

2

单一领域泛化

源领域(训练域):art cartoon photo sketch
目标域:PACS

网络:ResNet18

3

多域泛化【多个源领域】

源领域(训练域):pacs+【下面三个】

目标域:art cartoon photo sketch【其余三个不是目标域的域用于训练】
只比较randconv和prorandconv了


 

4

RC vs P-RC

只说了不同数据集上,是不是源域和目标域都是来自该数据集??那多域??

5

效率估计
比较不同方法在硬件上的性能?

标红是最好的?标蓝是最差的?

Read but skim math

abstract

1.Intro

多源域:简单聚合多训练源的数据可以减轻分布shift

单域:从有限的源上学习--生成不同的样本,以便通过对抗性数据增强方案扩大源域的覆盖范围

多层--减轻语义歪曲--减少理论感受野中原理中心的像素的影响--即使感受野变大也不会降低效果

【叠垛需要的参数更少?】

相同权重--生成更有效的虚拟域

--逐步增加对中央像素的歪曲程度?--更具细粒度

在识别性能上取得了显著进步?--accuracy

2. Related work

Domain generalization

目的

从源域学习模型,并将其推广到未见过的目标领域,而不需要访问任何目标领域的数据

多域泛化

使用领域对齐、模型集成

单域泛化

无法使用对齐、集成

单域泛化方法

目的

通过生成更多样化的样本来扩展源域的覆盖范围

Adversarial Data Augmentation

PDEN

采用渐进的方法,通过优化基于对抗的对比损失函数生成新领域。【区分不同类别+在对抗性环境中保持良好表现】

L2D

通过优化互信息来学习风格化模块和任务网络

互信息:度量两个随机变量之间关联性的指标

风格化模块:用于处理图像样式的组件--优化调整参数从而更好捕捉风格信息
任务网络:执行某个具体任务的组件--优化执行任务

减少领域差异

几何和纹理增强--从对象类别的增强分布中采样

MetaCNN

将卷积特征分解为元特征(进一步处理以去除不相关的组件)

大多复杂且用多目标函数的专用训练程序

Data augmentation

手动

光度变换(例如颜色抖动和灰度变换)和几何变换(例如平移、旋转和剪切)

自动

AutoAugment 使用强化学习来优化数据增强策略,而 RandAugment 通过随机选择一部分增强类型来减小 AutoAugment 的搜索空间。【对可能的增强操作进行了限制】

问题

这些方法并不足以应对在单域泛化中存在的不同领域之间存在显著的差异或变化(大的领域偏移)问题

Domain randomization

领域随机化

在模拟环境中改变场景参数,以扩展训练数据并产生更好的泛化

 Tobin

变化不同的环境配置

Yue

将其应用于语义分割任务,并提出了金字塔一致性损失。【确保网络在不同尺度(金字塔中的不同层次)上生成的特征具有一致性】

风格随机化

通过随机卷积或标准化层调制等方式模拟新的源域

调制标准化层可能包括在训练过程中动态地调整标准化层的参数,以模拟不同的数据分布

提出

在randconv基础上提出一种渐进式方法,其中包括随机卷积块,旨在改善风格多样性的同时保持语义。

3. Background

. Problem formulation

Goal

学习一个领域无关的模型

经验风险最小化:一种机器学习策略,通过最小化训练数据集上的损失函数来选择模型,以达到在实际应用中的最佳性能。

普通的经验风险最小化方法

多源域

效果好

单域

次优-容易过拟合

落回

基于随机卷积生成新的样式

 Revisiting random convolutions

applies a convolution layer with random weights

修改图像纹理并保持object形状不变

This layer对每个mini-batch进行不同的初始化

使网络对不同纹理具有鲁棒性,并消除了cnn固有的纹理bias。

优点

Simple and lightweight
 

缺点structural limitations.

a large-sized kernel -- low generalization ability

Progressive scheme+design creating more diverse styles【block】

4. Proposed method

Progressive random convolutions

 Random convolution block

Training pipeline

5. Experiments

Datasets and settings

Digits dataset

five sub-datasets: MNIST [33],

SVHN [47], MNIST-M [17], SYN [17], and USPS [11].

扩展到语义分割

实现细节

Digits dataset

LeNet--base network
优化器:SGD+0.9momentum动量
初始lr:0.01+500epoch余弦学习率调度

image尺寸: 32×32 pixels.

PACS--AlexNet
OfficeHome--ResNet18

VLCS--ResNet50

SGD with batch size 64, momentum 0.9, initial learning rate 0.001, and cosine learning rate scheduling for 50 epochs  in single DG

and 150 epochs in multi DG experiments

image尺寸: 224×224 pixels.

in-domain validation sets

choose the

best model from multiple saved checkpoints during training【从checkpoints里面选】

固定卷积核大小为3,

最大重复次数Lmax为10

每个batch递归叠垛卷积块1-10次

He-initialization

高斯平滑--重新加权卷积权值

 deformable offsets

采样N(0,σ2∆)

??尺度从均匀分布中抽样为σ∆~ U(epsilon, b∆)。

b∆

Digits

 0.2

other datasets

 0.5

变形尺度受图像大小的影响

对比度多样化

σγ和σβ都设置为0.5

Evaluation of single domain generalization

Results on Digits

MNIST as the source domain
remaining four sub-datasets are employed as the target domains.

性质:
 

表现优于基于对抗学习的数据增强方法

可以通过简单的随机卷积块对源域进行扩展,而无需学习

与使用基于学习的生成器逐步扩展域的PDEN方法相比

与RandConv[70]相比,Pro-RandConv方法在这些领域的识别性能显著提高。【由于用了渐进式的方法】

SVHN、SYN和USPS数据集在字体形状方面与MNIST有很大的域间差距

Results on PACS

优于所有方法

泛化表示可以通过randconv(简单图像增强)来学习,而不像几何和纹理增强方法

几何和纹理增强方法

使用精细的子模块来生成风格--

e.g. an arbitrary neural artistic stylization network and a geometric

warping network

Vs RandConv

在cartoon和sketch领域提升显著

Evaluation of multi domain generalization

multi DG experiments on PACS

a leave-one-domain-out protocol

优于randconv

证明了progressive approach and diversification techniques are highly effective

Discussion

Comparative analysis with RandConv

Pro-RandConv outperforms RandConv in

all datasets and all models.
优势在多域泛化更明显

使用block的渐进式方法通过生成更有效的虚拟域,显著提高泛化能力

由于PACS的图像大小大于Digits中图片大小,所以性能不会随着RandConv内核大小的增加而急剧下降。[大kernel仍旧有作用,对于大尺寸图像]

using a large-sized kernel is a less effective data augmentation technique compared to the repeated use of a small-sized kernel.

可以说是randconv中单个卷积操作中的固有问题

在photo域,有无block影响最大--这个多样化技巧在实际图片中表现很好

具有等权重的渐进式方法表现好的原因:

减少远离中心像素的影响来减轻语义失真;--对RandConv的卷积核应用高斯平滑--随k变大,性能变差得更少【与不使用相比】---类高斯有效接受野可以帮助减轻语义失真。

逐渐增加中心像素的失真幅度来创建有效的虚拟域

Progressive 方法表现更好--即使有效接受野相似,progressive方法在图像转变中较单层随机初始化的层有更细粒度的控制

Analysis on texture and contrast diversification

引入对比度多样性和纹理多样性的原因:

对比度多样性组成

仿射变换、标准化、双曲正切函数

gamma矫正受标准差影响gamma和β
Figure 7(a) and (b)

如果仿射变换的标准偏差过大或过小,则会在图像中出现错误的失真或饱和

Fig. 7(c)

逐个禁用单个组件来检查定性结果

若无仿射变换

对比度多样性受到限制,因为图像的纹理或颜色只是由输入分布和卷积权值决定的。

若无标准化

会出现饱和问题。
 

双曲正切函数

降低了图像的饱和度,稳定了图像的分布

Fig. 7(d)

对Pro-RandConv的3×3卷积核应用高斯平滑的结果
σ趋近于0,它模拟1x1卷积核

σ趋近于无穷,它模拟忽略平滑的正常3x3卷积核
通过这个平滑函数来抑制纹理的过度变形
从均匀分布σg ~ U(ε, 1)中采样,以降低超参数的灵敏度。

Figure 7(e)

显示了可变形偏移量的变形程度
该参数与图像大小有关,因此我们根据图像大小使用不同的值

Figure 7(f)

高斯随机场的功率谱系数
系数越低,白噪声的形状越相似
我们使用合理的高值来诱导自然转换

Computational complexity and inference time

计算复杂度低

RandConv和Pro-RandConv分别增加了0.45M和0.92M的计算复杂度,与基本模型(28.77M mac)相比,增幅较小,仅为2-3%

 

训练时间增加

由于RandConv中的Kullback-Leibler (KL)散度损失

Pro-RandConv中可变形算子的初始化过程造成的

训练效率

Pro-RandConv的训练效率与竞争对手(RandConv和PDEN[38])相当

此外,在推理过程中不使用图像增强,因此不影响推理的复杂性和时间。

6. Conclusion


 

  • 逐步应用小规模随机卷积,而不是单个大规模卷积
  • 引入deformable offsets and affine transformations to promote texture and contrast diversity
  • 在单域和多域泛化基准上评估有效性,发现它明显优于竞争对手
  • Pro-RandConv produces qualitative and quantitative improvements over the RandConv method.--优于randconv

Whole thing but skip parts that don't make sense.

细品math

Read through it

Take detailed notes

See if u can re-derive it from scratch

Answere questions

What did authors try to accomplish?

提出prorandconv
这是一种图像增强方法,能够在domain generalization中起到很好的作用

What were the key element of the approach?

Progressively stack small-size random conv block
block[deformable offsets+标准化+affine transform+双曲正切函数]

What can u use yourself?

轻量的图像增强方法,可以从有限源域中获得更多风格的samples,从而实现领域泛化

收获

通过反复读论文,逐渐增加阅读难度,这样具有层次性的阅读起到了良好的效果,明显感觉理解更轻松。同时,常看常新,每次阅读都能解决上一次的疑问,都会发现自己的漏洞,同时对内容又有了更加完备的了解。

猜你喜欢

转载自blog.csdn.net/m0_62153438/article/details/134945775