深度学习相关概念

二、相关概念

卷积层

基础概念:图片的卷积和池化操作

全连接层

fc全连接层的作用、卷积层的作用、pooling层、激活函数的作用
深入理解卷积层,全连接层的作用意义

将经过卷积层和池化层的输出摊平(flatten),局部特征“摊平”之后就变成了全局特征。FC层整合了前面卷积层和池化层提取的高维特征信息,将它们整合成全局信息。

FC层“整合”之后,会损失掉许多位置信息,这就是为什么不能在目标检测、图像分割此类不仅对 语义信息 严格,也对 定位信息 要求严格的任务中采用全连接层。全连接层是用来分类的

全连接层的参数很多,一般占用网络的60%-80%。

超参(Hyper-parametric)

超参是可以调整的参数,可以控制模型训练优化的过程,不同的超参值数值可能会影响模型训练和收敛速度。

损失函数

损失函数用来评价模型的预测值和目标值之间的误差。

优化器函数

优化器函数用于计算和更新梯度,模型优化算法的选择直接关系到最终模型的性能。有时候最终模型效果不好,未必是特征或者模型设计的问题,很有可能是优化算法的问题。

梯度下降算法

梯度下降算法是一个被广泛用来最小化模型误差的参数优化算法,梯度下降算法通过多次迭代,并在每一步中最小化损失函数来估计模型的参数。

学习率(learning rate)

学习率在模型迭代过程中,控制模型的学习进度。如果学习率偏小,会导致收敛的速度变慢,如果学习率偏大则可能会导致训练不收敛等不可预测的结果。**相关研究表明,更大的学习率有利于提高模型的泛化能力,尽量使用大的学习率。**当然也有个度,学习率过大也会导致模型震荡难以收敛。

批次大小(batch size)

数据集进行分批读取训练,设定每个批次数据的大小。batch size太小,相邻批次间的差异相差过大,那么相邻两次迭代的梯度震荡情况会比较严重,不利于收敛;batch size越大,相邻批次间的差异相对越小,虽然梯度震荡情况会比较小,一定程度上利于模型收敛。但如果batch size极端大,则相邻批次间的差异过小,相邻两个批次的梯度没有区别,整个训练过程就会沿着一个方向蹭蹭蹭往下走,很容易陷入局部最小值不出来。

扫描二维码关注公众号,回复: 14391710 查看本文章

总结:**batch size过小,花费时间多,同时梯度震荡严重,不利于收敛;batch size过大,不同batch的梯度方向没有任何变化,容易陷入局部极小值。**因此需要选择合适的batch size,可以有效提高模型精度、全局收敛。

学习轮次(epoch)

训练时遍历数据集的次数。

收敛与网络性能

收敛与网络性能好坏没有绝对的关系。收敛情况好并不意味着网络的性能好,网络收敛好意味着较好的拟合,但是并不意味着会对测试数据作出很好的拟合,这存在一个“泛化”问题。

降维与升维

维度是指channel的维度,升维是指增加channel,降维是指减少channel。用1x1的卷积实现降维和升维的操作。

召回率与准确率

对于目标检测模型,通过设置分数阈值调整模型的召回率和准确率。阈值设置低一点,目标检测框就多一点,召回率就高;阈值设置高一点,目标检测框就少一点,准确率高。

算子

Operator算子,操作运算,比如AI的ReLU、Conv、Pooling、Scale、Softmax等。算子(Operator)是一个数学概念,它将一个元素在 向量空间(或 )中转换为另一个元素的 映射。举个例子,f(x) = abs(x),abs就是算子,它的作用就是求x的绝对值。x被称作操作数(operand)。一个或多个算子+操作数就组成了算法

算子名称

算子的名称,用于标志网络中的某个算子,同一网络中算子的名称需要保持唯一

算子类型

网络中每一个算子根据算子类型进行算子实现的匹配,相同类型的算子的实现逻辑相同

张量(Tensor)

Tensor是算子中的数据,包括输入数据与输出数据。TensorDesc(Tensor描述符)是对输入数据与输出数据的描述,TensorDesc数据结构包含如下属性如下表所示。

属性 定义
名称(name) 用于对Tensor进行索引,不同Tensor的name需要保持唯一。
形状(shape) Tensor的形状,比如(10,)或者(1024,1024)或者(2,3,4)等。详细介绍请参见[ 形状(shape)]。默认值:无形式:(i1, i2,…in),其中i1到in均为正整数
数据类型(dtype) 功能描述:指定Tensor对象的数据类型。默认值:无取值范围:float16, float32, int8, int16, int32, uint8, uint16, bool。
数据排布格式(format) 详细请参见[ 数据排布格式(format)]。

数据排布格式(Format)

在深度学习框架中,多维数据通过多维数组存储,比如卷积神经网络的特征图用四维数组保存,四个维度分别为批量大小(Batch, N)、特征图高度(Height, H)、特征图宽度(Width, W)以及特征图通道(Channels, C)。

由于数据只能线性存储,因为这四个维度有对应的顺序。不同深度学习框架会按照不同的顺序存储特征图数据,比如Caffe,排列顺序为[Batch, Channels, Height, Width],即NCHW。Tensorflow中,排列顺序为[Batch, Height, Width, Channels],即NHWC。

如下图所示,以一张格式为RGB的图片为例,NCHW中,C排列在外层,实际存储的是“RRRGGGBBB”,即同一通道的所有像素值顺序存储在一起;而NHWC中C排列在最内层,实际存储的则是“RGBRGBRGB”,即多个通道的同一位置的像素值顺序存储在一起。
在这里插入图片描述

形状(Shape)

如形状(3,4)表示第一维有3个元素,第二维有4个元素,(3,4)表示一个3行4列的矩阵数组。

假设有一些照片,每个像素点都由红/绿/蓝3色组成,即shape里面3的含义,照片的宽和高都是20,也就是20*20=400个像素,总共有4张的照片,这就是shape=(4, 20, 20, 3)的物理含义。
在这里插入图片描述

如果体现在编程上,可以简单把shape理解为操作Tensor的各层循环,比如我们要对shape=(4, 20, 20, 3)的A tensor进行操作,循环语句如下:

produce A {
    
    
  for (i, 0, 4) {
    
    
    for (j, 0, 20) {
    
    
      for (p, 0, 20) {
    
    
        for (q, 0, 3) {
    
    
          A[((((((i*20) + j)*20) + p)*3) + q)] = a_tensor[((((((i*20) + j)*20) + p)*3) + q)]
        }
      }
    }
  }
}

轴(axis)

轴是相对Shape来说的,轴代表张量的shape的下标,比如张量a是一个5行6列的二维数组,即shape是(5,6),则axis=0表示是张量中的第一维,即行。axis=1表示是张量中的第二维,即列。

例如张量数据[[[1,2],[3,4]], [[5,6],[7,8]]],Shape为(2,2,2),则轴0代表第一个维度的数据即[[1,2],[3,4]]与[[5,6],[7,8]]这两个矩阵,轴1代表第二个维度的数据即[1,2]、[3,4]、[5,6]、[7,8]这四个数组,轴2代表第三个维度的数据即1,2,3,4,5,6,7,8这八个数。

轴axis可以为负数,此时表示是倒数第axis个维度。
在这里插入图片描述

权重(weight)

当输入数据进入计算单元时,会乘以一个权重。例如,如果一个算子有两个输入,则每个输入会分配一个关联权重,一般将认为较重要数据赋予较高的权重,不重要的数据赋予较小的权重,为零的权重则表示特定的特征是无需关注的

假设输入数据为X1,与其相关联的权重为W1,那么在通过计算单元后,数据变为了X1*W1。
在这里插入图片描述

偏置(bias)

偏置是除了权重之外,另一个被应用于输入数据的线性分量。它被加到权重与输入数据相乘的结果中,用于改变权重与输入相乘所得结果的范围

假设输入数据为X1,与其相关联的权重为W1,偏差为B1,那么在通过计算单元后,数据变为了X1*W1+B1。
在这里插入图片描述

机器学习与深度学习

在这里插入图片描述

三、常见神经网络模型

LeNet、AlexNet

经典CNN网络:LeNet和AlexNet网络

Resnet18

经典CNN网络:Resnet18网络结构输入和输出
ResNet18结构、各层输出维度
【猫狗数据集】可视化resnet18的输出
Resnet18、34 残差网络复现,附python完整代码
CIF10实战(ResNet18)
一个小改动,CNN输入固定尺寸图像改为任意尺寸图像

卷积层有17个,FC层1个,所以是18。

VGG16

经典CNN网络:VGG16-输入和输出

VGG是Oxford的Visual Geometry Group的组提出的(大家应该能看出VGG名字的由来了)。

R-CNN

目标检测:R-CNN系列

MobileNet v1

经典CNN网络:MobileNet V1

DenseNet

经典CNN网络:DenseNet

YOLO

yolo目标检测

MediaPipe

MediaPipe高级机器视觉

四、CV领域

Opencv

opencv机器视觉

猜你喜欢

转载自blog.csdn.net/m0_37605642/article/details/125690884
今日推荐