2023.11.05 机器学习周报

目录

引言

Abstract

一、文献阅读

1、题目

2、引言

3、方法

4、实验过程

5、实验结果

6、结论

二、卷积神经网络(CNN)

1、卷积的作用

2、卷积特征值计算方法

3、步长与卷积核大小对结果的影响

4、边缘填充方法

5、特征图尺寸计算与参数共享

6、池化层的作用

7、整体网络架构

8、VGG网络架构

9、残差网络Resnet

10、感受野的作用

总结

引言

本周阅读了一篇关于人类感知引入卷积神经网络(CNN)的文献,提出了MENTOR方法,MENTOR方法还可以用于生成未知数据的人类感知显著性图,从而在任何基于视觉显著性的训练范式中使用。并且还重新对CNN的相关理论知识进行了重温和学习,CNN是在计算机视觉和深度学习领域广泛应用的模型,具有强大的特征提取和图像识别能力。

Abstract

This week, I read a literature on the introduction of convolutional neural networks (CNN) into human perception, proposing the Mentor method. The Mentor method can also be used to generate human perception saliency maps of unknown data, which can be used in any visual saliency based training paradigm. Moreover, the relevant theoretical knowledge of CNN has been revisited and learned. CNN is a widely used model in the fields of computer vision and deep learning, with strong feature extraction and image recognition capabilities.

一、文献阅读

1、题目

MENTOR: Human Perception-Guided Pretraining for Iris Presentation Detection

2、引言

将人的显著性纳入细胞神经网络的训练提高了在诸如生物特征呈现攻击检测之类的困难任务中的性能。然而,收集人工注释是一项艰巨的任务,更不用说如何以及在哪里(在模型体系结构中)将这些信息有效地合并到一旦获得注释,模型的训练。在这个本文介绍了MENTOR(huMan pErceptoNguided preTraining fOr iris pResementation attack detection),它通过以下两个方面来解决这两个问题独特的训练轮次。首先,我们训练一个自动编码器来学习给定输入虹膜的人类显著性图图像(真实和虚假的例子)。一旦学习了这种表示,我们就使用经过训练的自动编码器以两种不同的方式:(a)作为虹膜呈现攻击检测器,以及(b)作为未知数据上显著特征的受人启发的注释器。我们发现,MENTOR的好处有三方面:(a)使用人类感知训练编码器的权重比较通用权重(例如来源于ImageNet,或随机),(b)生成无穷多的能力未发现虹膜PAD样本的类人显著性图,用于任何人类显著性引导训练范例,以及(c)虹膜PAD效率的提高模型培训。提供源代码和权重以及纸张。

3、方法

MENTOR通过训练自编码器来学习人类显著特征与真实和伪造虹膜图像之间的关联,从而将人类显著特征融入模型中。然后,使用自编码器构建虹膜PAD分类器,并为新样本生成类似人类的显著性图。

  • 第一步,使用UNET或UNET++架构的自编码器训练生成类似人类显著性的图像。使用Adam优化器,学习率为0.0001,批量大小为4,训练10个epochs。
  • 第二步,在编码器的嵌入层上添加分类层,并对整个架构进行微调,以解决虹膜展示攻击检测任务。使用Stochastic Gradient Descent (SGD)优化器,学习率为0.005,训练50个epochs。同时,探索了不同的权重初始化方法(随机、ImageNet、MENTOR)和损失函数(交叉熵、人类引导)。评估使用LivDet-Iris 2020官方测试集。

4、实验过程

  1. 首先,使用一个自编码器对输入图像和人类显著性图进行训练,以学习它们之间的关联。
  2. 学习完这种表示后,移除解码器,并在编码器的潜在空间上放置一个分类器,例如多层感知器,作为标准卷积神经网络(CNN)的骨干。
  3. 使用这种基于人类感知的预训练的模型骨干进行训练,以提高训练效率并更好地泛化到未知的虹膜攻击类型。
  4. 与随机权重初始化或使用大量数据(如ImageNet)进行预训练的模型相比,这种基于人类感知的预训练方法能够更好地应对开放集虹膜攻击检测的挑战。

这种实验过程通过有效地利用有限的人类感知数据,将人类感知的异常信息纳入模型训练中,从而提高了模型的性能和泛化能力。

5、实验结果

通过对10次运行中表现最好的三个模型的AUC进行平均,发现当使用传统的交叉熵损失或人类引导的(CYBORG)损失时,MENTOR始终优于使用ImageNet和随机权重的模型。对于DenseNet161模型,使用交叉熵损失时,MENTOR的AUC为0.926±0.011,而使用人类引导的损失时,MENTOR的AUC为0.952±0.013。对于ResNet50模型,使用交叉熵损失时,MENTOR的AUC为0.914±0.029。

6、结论

MENTOR预训练的权重始终优于随机或ImageNet权重初始化的模型。在不同的自编码器架构(DenseNet161、ResNet50、ResNet152)和交叉熵、人类引导损失函数下,都观察到了性能的提升。其中,基于ResNet的架构获得了最大的性能提升。人类引导训练进一步增强了MENTOR预训练的虹膜PAD泛化性能。MENTOR预训练相比使用ImageNet权重初始化的模型,提高了训练效率。论文提供了MENTOR的源代码和模型权重,以便在该领域进行再现性研究。

二、卷积神经网络(CNN)

1、卷积的作用

在神经网络中,卷积(Convolution)是一种重要的操作,特别是在卷积神经网络(CNN)中应用广泛。卷积操作有助于从输入数据中提取重要的特征。通过卷积核(也称为过滤器)在输入数据上滑动并执行卷积操作,网络可以识别输入中的模式和特征,例如边缘、纹理、形状等。卷积操作中的参数共享是其关键特点。每个卷积核在输入数据的不同位置执行相同的操作,从而减少了神经网络的参数数量。这使得网络更加高效,减少了过拟合的风险。卷积操作使神经网络具有平移不变性,这意味着网络可以识别相同模式的不同位置,而不受位置的影响。这对于图像处理任务尤为重要。通过多层卷积操作,神经网络可以学习不同抽象级别的特征,从较低级别的边缘和纹理到更高级别的形状和对象。卷积操作通常伴随着池化(Pooling)操作,可减小特征图的尺寸,减轻计算负担,同时保留重要信息。

2、卷积特征值计算方法

卷积特征值计算是深度学习中卷积神经网络(Convolutional Neural Network,CNN)的核心操作之一,它用于从输入数据中提取特征,通常用于图像识别、计算机视觉和自然语言处理等任务。卷积操作是通过滑动一个卷积核(也称为滤波器)在输入数据上进行局部区域的计算,以生成特征映射。

输入数据,卷积操作的输入通常是一个三维张量,包括以下维度:高度(Height):表示图像或数据的垂直维度。宽度(Width):表示图像或数据的水平维度。通道数(Channels):表示图像或数据的特征通道数,例如,对于RGB图像,通道数为3。

卷积核(滤波器): 卷积核是一个小的二维张量,通常具有固定的高度和宽度。卷积核的深度(通道数)与输入数据的通道数相匹配。

卷积操作: 卷积操作通过在输入数据上滑动卷积核来计算特征值。具体步骤如下:将卷积核的中心对齐到输入数据的一个位置。对卷积核与输入数据的重叠区域执行逐元素相乘。对所有乘积结果进行求和,得到一个单一的标量值,该值将成为特征映射的一个元素。移动卷积核,继续在输入数据上滑动,直到覆盖整个输入数据的区域。

步幅(Stride): 步幅是指卷积核在输入数据上滑动的距离。它可以控制特征映射的尺寸,以及特征值的密度。较大的步幅会导致特征映射尺寸减小,而较小的步幅会导致特征映射尺寸增大。

填充(Padding): 填充是在输入数据的边界周围添加零值,以便在边界上也可以执行卷积操作。填充可以控制特征映射的尺寸,以及特征值的边界信息。通常有"valid"(不填充)和"same"(填充后特征映射与输入尺寸相同)两种选择。

多通道卷积: 当输入数据和卷积核都具有多个通道时,卷积操作将分别在每个通道上执行,并将结果求和,以生成最终的特征映射。

输出特征映射: 卷积操作的结果是一个二维张量,称为输出特征映射。它由多个特征值组成,每个特征值对应一个卷积核在输入数据上的不同位置计算得出的结果。

3、步长与卷积核大小对结果的影响

卷积神经网络(CNN)中的步长(stride)和卷积核大小是两个重要的超参数,它们会显著影响卷积操作的结果以及整个网络的性能。

步长(Stride)的影响:

  • 大步长(stride > 1):使用较大的步长可以减小特征映射的尺寸,因为卷积核不会重叠地移动。这可能有助于减少计算成本和内存需求,加速模型训练。然而,它也可能导致信息丢失,因为输出的空间分辨率降低,特征映射变得更加粗糙,可能无法捕捉细微的特征。
  • 小步长(stride = 1):小步长可以保持特征映射的高分辨率,有助于保留更多的信息。这通常在需要更细致的特征表示时使用,但会增加计算成本和模型复杂度。

卷积核大小的影响:

  • 大卷积核:大卷积核通常用于捕捉大尺度的特征和结构,可以覆盖更多的输入信息。这有助于识别物体的整体形状和大尺度特征,但可能丧失一些局部细节。
  • 小卷积核:小卷积核通常用于捕捉细节和局部特征,有助于更精确地定位物体内的细微结构。小卷积核还可以在相同的感受野(receptive field)下引入更多的非线性变换,增加模型的表达能力。

4、边缘填充方法

为什么需要padding填白?

  • 因为每次经过filter卷积,图像都缩小,这样卷不了几次就没了;
  • 相比于图片中间的点,图片边缘的点在卷积中被计算的次数很少。这样的话,边缘的信息就易于丢失。

为了解决这个问题,可以采用padding的方法。我们每次卷积前,先给图片周围都补一圈空白,让卷积之后图片跟原来一样大,同时,原来的边缘也被计算了更多次。

  • “让卷积之后的大小不变”的padding方式,称为 “Same”方式
  • 把不经过任何填白的,称为 “Valid”方式。

比如,把(8,8)的图片给补成(10,10),那么经过(3,3)的filter之后,就是(8,8),没有变。这就是“Same”

边缘填充padding:

5、特征图尺寸计算与参数共享

参数共享机制,让网络的参数数量大大地减少。这样,可以用较少的参数,训练出更加好的模型,典型的事半功倍,而且可以有效地 避免过拟合。 同样,由于filter的参数共享,即使图片进行了一定的平移操作,我们照样可以识别出特征,这叫做 “平移不变性”。因此,模型就更加稳健了。

由卷积的操作可知,输出图像中的任何一个单元,只跟输入图像的一部分有关系

而传统神经网络中,由于都是全连接,所以输出的任何一个单元,都要受输入的所有的单元的影响。这样无形中会对图像的识别效果大打折扣。比较,每一个区域都有自己的专属特征,我们不希望它受到其他区域的影响。

6、池化层的作用

池化层的作用是对卷积层中提取的特征进行挑选

常见的池化操作有最大池化和平均池化,池化层是由n×n大小的矩阵窗口滑动来进行计算的,类似于卷积层,只不过不是做互相关运算,而是求n×n大小的矩阵中的最大值、平均值等。

如图,对特征图进行最大池化和平均池化操作:

池化层主要有以下几个作用:

1. 挑选不受位置干扰的图像信息。

2. 对特征进行降维,提高后续特征的感受野,也就是让池化后的一个像素对应前面图片中的一个区域。

3. 因为池化层是不进行反向传播的,而且池化层减少了特征图的变量个数,所以池化层可以减少计算量。

7、整体网络架构

卷积层:

  • 卷积层是CNN中的基本层,由多个卷积核构成,每个卷积核负责提取不同的特征。
  • 卷积层通过将输入图像与卷积核进行卷积操作,并应用激活函数(如ReLU)来产生激活特征图(Activation Map)。
  • 可以通过堆叠多个卷积层来逐渐提取更加抽象和高级的特征

池化层:

  • 池化层用于减少特征图的空间尺寸,降低计算复杂度,并提取出主要特征。
  • 常见的池化操作包括最大池化(Max Pooling)和平均池化(Average Pooling),它们分别选择局部区域中的最大值或平均值作为池化结果。

全连接层:

  • 全连接层通过将上一层的所有特征连接到当前层的每个神经元来进行分类或回归任务。
  • 全连接层通常位于CNN的最后几层,用于将高级特征映射到类别标签或回归目标。

8、VGG网络架构

VGG(Visual Geometry Group)是一个非常著名的深度卷积神经网络(CNN)架构,由牛津大学的Visual Geometry Group开发,它在2014年的ImageNet大规模图像分类挑战中取得了卓越的成绩。VGG的主要特点是其深度和卷积核的设计一致性。

VGG具有非常深的网络结构,包括16层或19层卷积层,其中包括卷积层、池化层和全连接层。深度网络有助于捕获复杂的特征和模式。VGG网络的卷积核大小始终为3x3,步幅为1,填充为1。这一设计的一致性有助于保持小感受野,使网络可以更好地捕获细微的特征。VGG网络使用最大池化(Max Pooling)层来逐步减小特征映射的空间维度。通常,2x2的最大池化窗口被应用,步幅为2,这会将特征映射的大小减小一半。VGG通过堆叠多个卷积层和池化层,从粗到细地捕获多尺度的特征信息。这有助于模型更好地理解输入数据的不同层次表示。VGG的最后几层是全连接层,用于执行最终的分类。这些全连接层具有大量的参数,用于将特征映射映射到具体的类别。VGG网络通常使用修正线性单元(ReLU)作为激活函数,以引入非线性性。VGG原始版本中没有批量归一化层,但在一些变种中,可以添加批量归一化来加速训练并提高模型性能。VGG网络在ImageNet数据集上进行了预训练,然后可以迁移到其他计算机视觉任务,如目标检测和图像分割。

9、残差网络Resnet

残差网络(Residual Network,通常缩写为ResNet)是一种深度卷积神经网络(CNN)架构,由微软研究院的Kaiming He等人于2015年提出。ResNet 的关键创新是引入了残差块(Residual Block)的概念,允许训练非常深的神经网络,而不会受到梯度消失的困扰。这一技术大大加速了深度神经网络的训练和提高了性能,因此成为深度学习领域的重要突破之一。

ResNet的核心思想是将每个残差块的输出定义为输入与残差(差值)的相加,而不是传统的将输入映射到输出的方式。这使得网络可以轻松地学习恒等映射(即,将输入原样传递给输出),从而解决了梯度消失问题。每个残差块包括以下组件:

  1. 卷积层:用于学习特征表示。
  2. 批量归一化层:用于加速训练和提高模型的泛化能力。
  3. 激活函数:通常使用修正线性单元(ReLU)作为激活函数。

每个残差块的输入与输出的尺寸相同,因此可以将它们相加。如果输入和输出的尺寸不同,可以通过附加额外的卷积层来进行维度匹配。ResNet通常由多个残差块组成,其中每个残差块可以包含多个卷积层。

ResNet还引入了跳跃连接(Skip Connection),允许信息从一个层直接传递到更远的层,从而进一步加强了网络的特征学习和训练稳定性。

ResNet的一些变体包括ResNet-18、ResNet-34、ResNet-50、ResNet-101和ResNet-152等,它们具有不同深度的网络结构,可以根据任务和计算资源的需求进行选择。ResNet架构在图像分类、目标检测、图像分割等计算机视觉任务中表现出色,因此成为了深度学习中的一个重要里程碑和实用工具。

10、感受野的作用

感受野(Receptive Field)是指神经网络中每个神经元(或卷积核)对输入数据的局部区域感知范围。感受野的大小对于神经网络的性能和特征学习起着关键作用。

感受野决定了神经元可以"看到"的输入数据的范围。较小的感受野有助于捕获输入数据中的细微特征,而较大的感受野有助于识别更大尺度的结构和模式。通过堆叠多个层次的神经元,可以捕获不同尺度的特征,从局部特征到全局特征。神经网络通常由多个层次的卷积层组成,每个层次的神经元感知的感受野逐渐扩大。这有助于模型逐步学习抽象层次的特征表示,从简单的特征到复杂的模式。较小的感受野有助于精确定位图像中的物体或特征,而较大的感受野有助于理解物体的上下文和关联。这对于目标检测和图像分割等任务非常有用。感受野的大小影响神经元对平移不变性的能力。较小的感受野会使神经元对输入数据的局部变化更敏感,而较大的感受野有助于模型对输入数据的平移不变性。感受野的大小也影响了网络的参数数量。较大的感受野需要更多的参数来处理,因此可能增加计算成本。在深度学习中,通常会选择适当大小的感受野来权衡性能和计算资源。

感受野的设计取决于网络的架构和任务。在卷积神经网络(CNN)中,不同的层可以具有不同大小的感受野,以捕获多尺度的信息。感受野的合理设计有助于神经网络更好地理解和处理输入数据,从而提高其性能。

总结

本周阅读了一篇关于CNN的相关文献,以及重新学习了CNN的相关理论知识,下周再根据相关资料和这些理论知识结合公式和代码对CNN进行更深入的学习。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值