对PPT的简单总结省流版本,不代表全部内容。
通过这个计算,分类器可以对输入的图像进行分类,输出10个数值,表示图像属于每个类别的分数。得分最高的类别即为预测的分类结果。
神经网络: - 2层网络:该网络由两层全连接层(Fully Connected Layer)组成。 - 全连接网络:每一层的每一个神经元都与下一层的每一个神经元相连。
线性分类器与两层神经网络的对比: - 之前(Before):线性分类器的线性得分函数是 ,其中 是输入向量, 是权重矩阵。 - 现在(Now):两层神经网络的得分函数是 ,其中 和 是两层的权重矩阵, 是ReLU激活函数。
数学表示:
实践中的偏置项:在实际操作中,我们通常会在每一层添加一个可学习的偏置项。
这张图展示了从两层神经网络到三层神经网络的扩展,使得模型能够处理更复杂的特征和模式。通过增加网络的层数,可以增强模型的表达能力,更好地解决复杂的非线性问题。
卷积神经网络通过引入卷积操作,能够更高效地处理图像数据,尤其在处理具有空间结构的输入(如图像)时表现出色。这使得它们在计算机视觉任务中广泛应用,如图像分类、目标检测和图像分割等。
CNN的组成:
CNN的架构假设输入是图像:
这些假设带来的好处:
卷积操作的几个关键参数:
Filter size(滤波器大小):
Padding(填充):
Stride(步幅):
Dilation(扩张):
Activation function(激活函数):
滤波器大小:
较大滤波器大小:
奇数大小的滤波器:
卷积操作中的尺寸变化:
保持图像尺寸不变的填充方法:
通过适当的填充,可以在卷积操作后保持图像的空间尺寸不变,这在深层神经网络中非常有用,特别是在需要保留输入图像的空间信息时。
步幅的定义:
步幅为1:
步幅为2:
通过调整步幅,可以控制卷积操作的输出尺寸。较大的步幅会减少输出的空间维度,适用于降维和减少计算量,而较小的步幅则有助于保留更多的细节信息。
卷积操作中的基础:
扩张的定义:
扩张的作用:
激活函数的应用:
首选的激活函数:
ReLU激活函数的作用:
通过使用ReLU激活函数,可以引入非线性,使神经网络能够学习和表示更复杂的模式。这种非线性变换对于深度学习模型的表现和训练效率至关重要。
卷积层的输出:
卷积层的参数:
前向传播中的卷积操作:
网络的学习过程:
这种设计使得卷积神经网络能够有效地捕捉输入图像中的局部特征,如边缘、纹理等,从而在图像分类、目标检测等任务中表现出色。
高维图像数据的挑战:
局部连接性的概念:
感受野(Receptive Field):
深度轴上的连接性:
空间上的局部连接:
这种局部连接性的设计,使得卷积神经网络能够有效地提取图像中的局部特征,如边缘、纹理等,从而在计算效率和模型性能上取得良好的平衡。
池化层的作用:
池化层通常使用最大池化(Max Pooling)或平均池化(Average Pooling)来减少特征图的空间尺寸,同时保留重要的特征。这有助于降低计算复杂度和防止过拟合,同时使得模型在检测特征时具有一定的平移不变性。
这张图片展示了最大池化(Max Pooling)的操作过程:
输入特征图:
最大池化操作:
输出特征图:
具体过程如下:
池化层通过这种方式实现了特征图的降采样,减少了特征图的尺寸,同时保留了重要的特征信息。
输入大小:
卷积层需要的超参数:
输出大小计算:
参数数量:
池化层通过这些超参数和公式,实现特征图的降采样,同时保留重要的特征信息,减少计算量,防止过拟合。
ConvNets的结构:
发展趋势:
历史架构: 传统架构通常如下所示:
其中: 通常在 5 左右。 较大。。
损失函数(Loss Function):
训练目标:
损失的作用:
优化算法:
通过最小化损失函数,CNN模型可以调整其权重,从而提高预测的准确性。在训练过程中,梯度下降和优化算法帮助模型逐步收敛到最优状态。
数据划分:
训练过程(Training process):
最终评估(Evaluation of final model performance):
这种方法学通过数据的合理划分和系统的训练过程,确保模型能够在训练数据、验证数据和测试数据上表现出色,从而提高模型的泛化能力和实际应用效果。
迁移学习的目标:
资源丰富的领域和低资源任务:
迁移学习的效果:
通过迁移学习,可以有效地将已有的知识和模型应用到新的、相关但不同的任务中,从而提高学习效率,减少对大量训练数据的需求。
监控损失:
欠拟合:
过拟合:
防止模型过拟合的几种常用方法:
增加训练数据(More training data):
提前停止(Early Stopping):
数据增强(Data Augmentation):
正则化(Regularization):
批量归一化(Batch Normalization):
专为处理网格状数据设计:
自动学习相关特征:
使用卷积层检测局部模式:
全连接层进行最终分类决策:
这些特点使得卷积神经网络在图像分类任务中表现出色,通过自动提取和学习图像中的特征,大大提高了分类的准确性和效率。
这是 Yann LeCun 在1989年为数字识别开发的第一个卷积神经网络。以下是 LeNet 的关键特点:
使用反向传播:
网络结构:
步长:
激活函数:
权重初始化:
这些特点使得 LeNet 在当时成为一种非常有效的数字识别模型,并为后来的深度学习和卷积神经网络的发展奠定了基础。
这是一种著名的卷积神经网络,它在2012年的ImageNet竞赛中取得了显著的成绩。以下是 AlexNet 的一些重要启发式方法:
ReLU 非线性:
局部响应归一化(Local Response Normalization, LRN):
数据增强:
Dropout:
这些方法在 AlexNet 的应用,使得其在处理大规模数据集和复杂图像分类任务时表现出色,同时也为后续的卷积神经网络的发展奠定了基础。
这是一种由牛津大学视觉几何组(Visual Geometry Group, VGG)开发的卷积神经网络。
开发者:
竞赛成绩:
VGG-19:
VGG 网络以其简单而深层的结构著称,通常使用多个连续的小卷积核(例如 3x3 卷积核)和池化层来构建深度网络,从而能够有效地提取图像的多层次特征。
GoogLeNet(也称为 Inception V1)是由谷歌研究人员开发的一种 22 层卷积神经网络。
开发背景:GoogLeNet 是一种由谷歌研究人员开发的 22 层卷积神经网络。
深层网络挑战:深层网络容易出现过拟合问题,并且可能受到梯度爆炸或梯度消失问题的影响。
核心理念:GoogLeNet 的核心理念是 “Inception 模块”,它采用多分支、多尺寸卷积核的设计。
辅助损失:在训练过程中添加辅助损失作为额外的监督手段,以帮助缓解梯度消失问题并提高训练效果。
这种结构通过结合不同尺寸的卷积核来捕捉图像的多尺度特征,有效地提高了网络的表达能力和性能。
ResNet(Residual Networks)是由微软研究人员(包括何恺明等人)开发的一种深层卷积神经网络。
开发背景:ResNet 是由微软研究人员开发的,其核心理念是通过引入残差连接(residual connections)或跳跃连接(skip connections)来保持梯度的传递。
核心理念:残差连接的核心思想是在每一个卷积层之后添加直接的跳跃连接,允许输入数据在层与层之间直接传递。
优势:残差连接能够有效地防止梯度消失问题,并且可以帮助网络更容易地进行更深层次的训练,从而显著提高模型的性能。
ResNet 通过这种残差结构,使得非常深的网络也能够进行有效的训练,极大地推动了深度学习模型的应用和发展。
SENet(Squeeze-and-Excitation Network)是一种旨在增强卷积神经网络表示能力的架构。
空间和通道信息融合:卷积神经网络(CNNs)融合空间和通道信息以提取特征来解决任务。
通道加权机制:在 SENet 出现之前,网络在创建输出特征图时对每个通道的权重是相等的。SENet 引入了一种内容感知机制,可以自适应地加权每个通道。
SE Block 的作用:SE Block(Squeeze-and-Excitation Block)通过访问全局信息来增强网络的表示能力,更好地映射通道依赖性。
这种机制使得 SENet 在保持计算效率的同时,显著提高了模型的性能和精度。
DenseNet(Densely Connected Convolutional Networks)是一种卷积神经网络架构,其主要特点包括:
Dense Block vs Res Block:DenseNet 的核心在于其密集连接(dense connections),与 ResNet 的残差连接(residual connections)相比,DenseNet 通过直接连接每一层到所有后续层,形成密集块(dense block)。这种方式允许前面的层的特征图被后续的层重用,减少了梯度消失问题并提高了信息流动效率。
更灵活的连接:DenseNet 的每一层都接收来自所有前面层的输入,使其能够更高效地利用之前的特征,增强了模型的表示能力。
过渡层(Transition Layer):在密集块之间,DenseNet 使用过渡层来进行维度和计算的简化。过渡层通常包含卷积层和池化层,用于减少特征图的数量和尺寸,从而控制计算复杂度。
这些特点使得 DenseNet 能够更高效地使用参数,达到更好的性能,同时减少过拟合的风险。
预训练模型来自(大规模)数据集:迁移学习通常利用在大规模数据集(如ImageNet)上预训练的模型,这些模型已经学习到了一些通用的特征和模式。
将已学到的知识转移到新的任务:这种技术可以将预训练模型应用于新的数据和任务。通过这种方式,我们可以更快地训练模型,且通常能获得更好的性能。
新数据具有不同的分布(从合成数据到真实数据):迁移学习可以帮助模型适应新数据,即使这些数据与预训练数据的分布不同。例如,从合成数据(虚拟生成的数据)转移到真实世界的数据。
新任务(从分类到分割):迁移学习也可以用于不同类型的任务。一个常见的例子是将用于图像分类的预训练模型应用于图像分割任务。
本文作者:Jeff Wu
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!