深度学习的面试小记

  1. 随机梯度下降(SGD)

一种迭代方法,用于优化可微分目标函数。SGD有一个训练速度的问题,学习率过大,无法获得理想的结果,而学习率过小,训练可能会非常耗时。
在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。从几何意义上讲,就是函数变化增加最快的地方。
首先来看看梯度下降的一个直观的解释。比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山峰低处。

  1. 学习率衰减

一般来说,我们希望在训练初期学习率大一些,使得网络收敛迅速,在训练后期学习率小一些,使得网络更好的收敛到最优解。
pytorch提供的学习率调整策略分为三大类,分别是:
(1)有序调整:等间隔调整(Step),多间隔调整(MultiStep),指数衰减(Exponential),余弦退火(CosineAnnealing);
(2)自适应调整:依训练状况伺机而变,通过监测某个指标的变化情况(loss、accuracy),当该指标不怎么变化时,就是调整学习率的时机(ReduceLROnPlateau);
(3)自定义调整:通过自定义关于epoch的lambda函数调整学习率(LambdaLR)。

  1. 反向传播

反向传播算法是目前用来训练人工神经网络(Artificial Neural Network,ANN)的最常用且最有效的算法。其主要思想是:

(1)将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程;

(2)由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;

(3)在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。

  1. 学习率warmup

warmup采用以较低学习率逐渐增大至较高学习率的方式实现网络训练的“热身”阶段,防止训练初期模型不稳定,振荡。随着训练的进行学习率慢慢变大,到一定程度后就可以设置的预设的学习率进行训练了,随着模型的拟合,需要的学习率也会越来越小,这时也会需要将学习率调小。
学习率的warmup和学习率衰减可如下图走势:
在这里插入图片描述

  1. dropout

为了缓解网络过拟合的问题,其中一种常见的办法是使用 dropout 函数。dropout
最直接的作用就是可以提升模型的泛化能力,提高模型的健壮性,提高通用性。dropout 是指在深度网络的训练中,以一定的概率随机地
“临时丢弃” 一部分神经元节点。具体来讲,dropout
作用于每份小批量训练数据,由于其随机丢弃部分神经元的机制,相当于每次迭代都在训练不同结构的神经网络。

  1. 批量标准化 Batch Normalization

批量标准化(BN)指的是对神经网络每一层的输入进行标准化,目的是为了解决训练过程中输入数据分布漂移——Internal Covariate
Shift。在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。对于每个隐层神经元,把逐渐向非线性函数映射后向取值区间极限饱和区靠拢的输入分布强制拉回到均值为0方差为1的比较标准的正态分布,使得非线性变换函数的输入值落入对输入比较敏感的区域,以此避免梯度消失问题。BN将激活函数的输出从任意的正态分布拉到均值为0,方差为1的标准正态分布,使得输入落到激活函数的敏感区,即较小的变化也会导致loss较大的变化,梯度变大,防止梯度消失的同时也加速模型收敛。
BN优点总结:
1.防止梯度消失
2.加速模型收敛
3.降低初始化要求,可以设置较大的初始学习率,加快学习。
4.某些情况下,可以提升模型泛化性能,因为BN也可以视为一种正则化的方法。

BN的缺点:
第一个,batch_size较小的时候,效果差。
第二个,就是 BN 在RNN中效果比较差。

  1. 边缘检测canny算子

在这里插入图片描述

  1. 平滑处理

均值滤波,中值滤波,高斯滤波。
图像平滑处理是一种图像处理技术,通常用于去除噪声或细节,并使图像看起来更加柔和或模糊。以下是一些常用的图像平滑处理方法:

均值滤波:将每个像素点替换为其周围像素的平均值。这种方法可以有效地去除噪声,但可能会导致图像变得模糊。

高斯滤波:使用一个高斯函数作为卷积核,使得离中心点越远的像素点产生的影响越小,从而平滑图像并去除噪声。这种方法比均值滤波更好地保留了图像细节。

中值滤波:将每个像素点替换为邻近像素值的中位数。这种方法适用于去除孤立的噪声点,但可能无法消除连续的噪声。

双边滤波:将像素点替换为周围像素点的加权平均值,其中权重取决于像素之间的距离和亮度差异。这种方法可以平滑图像同时保留边缘信息,因此特别适用于去除噪声并保留图像细节。

以上方法可以单独使用,也可以组合使用。根据具体情况选择最适合的方法可以有效地平滑图像并提高图像质量。

  1. 增强处理

图像亮度增强和降低,多角度旋转,水平翻转,垂直翻转,高斯噪声, 缩放,裁剪,对比度增强和降低,随机区域擦除。
图像增强处理是一种图像处理技术,它旨在改善图像的视觉质量和提高图像的可读性。以下是一些常用的图像增强处理方法:

直方图均衡化:通过重新分配像素灰度级的分布,使得图像中的像素值对比更加明显,从而改善图像亮度和对比度。

对比度增强:调整图像中不同灰度级之间的差异,以增强图像的对比度和视觉效果。

锐化处理:通过提高图像边缘的对比度,使得图像更加清晰和锐利。

噪声去除:去除图像中的噪声,可以使用平滑处理、小波变换等方法。

色彩调整:调整图像的色调、饱和度和亮度,以改变图像的颜色和效果。

图像重建:使用信号处理技术恢复模糊或受损的图像,以获得更好的视觉效果。

以上方法可以单独使用,也可以组合使用。根据具体情况选择最适合的方法可以有效地增强图像并提高图像质量。

  1. 膨胀腐蚀

膨胀是在二值图像中“加长”或“变粗”的操作。
腐蚀“收缩"或“细化”二值图像中的对象。
开运算是先腐蚀后膨胀。主要用于消除小物体,在纤细点处分离物体,并且在平滑较大物体的边界的同时不明显改变其面积,同时抑制比结构元小的亮细节。
闭运算是先膨胀后腐蚀。用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积,同时抑制比结构元小的暗细节。
高帽计算:原始图像 - 开运算结果 黑帽计算:闭运算结果 - 原始图像 高帽操作显示毛刺,那么黑帽就是显示缺陷。

  1. detr

DETR是一种基于Transformer的目标检测模型,具有以下优点和缺点:

优点:

端到端:DETR 是一个端到端的模型,可以一次性完成物体检测任务,而且不需要外部的先验框或者人工设计的锚点,减少了训练和测试中的超参数调整。

鲁棒性:DETR 在检测小目标、遮挡物体或变形目标的时候都有较好的表现。

可解释性强:DETR 采用了新的注意力机制和位置编码方法,使得它比传统的CNN+RPN方法更容易被理解和分析。

训练效率高:DETR
使用了Transformer网络结构,可以并行化处理序列中的所有元素,因此训练速度很快,特别是在GPU上的实现效果更好。

缺点:

对于大量类别目标检测效果稍逊:与传统的RCNN系列算法相比,在大量类别目标检测任务上,DETR还有提升空间。

训练数据对模型性能影响较大:DETR同样需要足够的训练数据进行训练,特别是当存在超出训练场景的情况时,其泛化能力可能会受到影响。

误检率较高:在一些实验中,DETR的误检率比一些传统的基于锚点的方法略高。

模型大小:DETR模型相对其他目标检测算法的模型更大,需要更多的存储空间和计算资源。
在这里插入图片描述

  1. solov2
  2. mask rcnn

Mask R-CNN是一种强大的实例分割模型,具有许多优点和一些缺点。

优点:

具有高精度:Mask R-CNN能够提供高质量、精确的实例分割结果,相对于传统的语义分割模型来说,它具有更好的分割能力。

具有高效性:Mask R-CNN使用了RoIAlign层,使得网络能够在较短的时间内进行高质量的实例分割。

统一框架:Mask R-CNN将目标检测和实例分割融合到了一个统一的框架中,使得整个算法流程更加简洁和直观。

可扩展性:Mask R-CNN可以通过调整网络深度和复杂度来适应不同的任务,同时还可以结合其他技术来进一步改进模型性能,例如注意力机制等。

缺点:

计算量大:由于Mask R-CNN使用了深度神经网络,并且要同时完成目标检测和实例分割两个任务,所以需要更大的计算资源和算力支持。

数据需求高:Mask R-CNN需要大量的标注数据来训练模型,特别是在需要进行实时在线学习的场景下,数据需求更为突出。

模型复杂:Mask R-CNN的模型结构比较复杂,需要一定的深度学习和计算机视觉背景才能了解其原理和实现方法。

对于小目标检测效果不佳:Mask R-CNN在处理小目标时分割效果并不是很好,因为小目标的特征表达相对不明显,更容易受到语义分割误差的影响。

  1. yolov3

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

  1. swim transformer
  2. sotr
  3. solov7
  4. transformer
  5. t5
  6. knn最近邻算法

官方说明:如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
通俗理解:简单来说就是设定k值,取样本点范围最近的k个点,其中哪类数量最多则预测的点就为那一类

  1. kmeans

首先, 随机确定 K 个初始点作为质心(不必是数据中的点)。 然后将数据集中的每个点分配到一个簇中, 具体来讲,
就是为每个点找到距其最近的质心, 并将其分配该质心所对应的簇. 这一步完成之后, 每个簇的质心更新为该簇所有点的平均值.
重复上述过程直到数据集中的所有点都距离它所对应的质心最近时结束。

  1. 最小二乘法

最小二乘法(Least Squares
Method)是一种常见的数学优化算法,其目的在于找到一组参数,使得这些参数所代表的模型与给定的数据之间的误差最小。具体来说,最小二乘法通常用于求解线性回归问题,即寻找一条直线,使得该直线能够最好地拟合给定的数据点。在最小二乘法中,我们通过最小化残差平方和来确定最佳拟合直线的斜率和截距。残差是指每个数据点的实际值与该直线对应点处的预测值之间的差异。最小二乘法在多项式回归以及其他许多机器学习算法中也有广泛应用。

  1. opencv
  2. pandas
  3. numpy
  4. matplotlib
  5. python
  6. pytorch
  7. tensorflow
  8. resnet的目的

解决了网络退化以及梯度消失/爆炸这两个主要问题
当使用更深层的网络时,会发生梯度消失/爆炸问题,这个问题很大程度通过标准的初始化和正则化层来基本解决,这样可以确保几十层的网络能够收敛,但是随着网络层数的增加,梯度消失或者爆炸的问题仍然存在。
还有一个问题就是网络的退化,这就是随着网络深度增加,模型会产生退化现象。它不是由过拟合产生的,而是由冗余的网络层学习了不是恒等映射的参数造成的。
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/5a8fc38e9a084d7f845038d116853e56.png
在这里插入图片描述

  1. mobilenet

使用了深度可分离卷积和网络宽度缩减来减少参数量和计算量,以适应计算资源受限的设备和场景。

  1. 梯度爆炸,梯度消失的原因

本质上是因为神经网络的更新方法,梯度消失是因为反向传播过程中对梯度的求解会产生sigmoid导数和参数的连乘,sigmoid导数的最大值为0.25,权重一般初始都在0,1之间,乘积小于1,多层的话就会有多个小于1的值连乘,导致靠近输入层的梯度几乎为0,得不到更新。梯度爆炸是也是同样的原因,只是如果初始权重大于1,或者更大一些,多个大于1的值连乘,将会很大或溢出,导致梯度更新过大,模型无法收敛。

梯度消失:(1)隐藏层的层数过多;(2)采用了不合适的激活函数(更容易产生梯度消失,但是也有可能产生梯度爆炸)
梯度爆炸:(1)隐藏层的层数过多;(2)权重的初始化值过大

梯度消失解决的方法 (1)pre-training+fine-tunning (2) 选择relu等梯度大部分落在常数上的激活函数
relu函数的导数在正数部分是恒等于1的,因此在深层网络中使用relu激活函数就不会导致梯度消失的问题。 (3)batch
normalization
BN就是通过对每一层的输出规范为均值和方差一致的方法,消除了权重参数放大缩小带来的影响,进而解决梯度消失的问题,或者可以理解为BN将输出从饱和区拉到了非饱和区。
(4) 残差网络的捷径(shortcut)

梯度爆炸 (1)pre-training + fine-tunning
(2)Relu、leaky Relu… (3)BN (4)残差网络 (5)LSTM的门结构 (6)重新设计网络模型 (7)梯度阶段
(8)权重正则化

  1. 模型剪枝量化

模型剪枝是一种减少神经网络参数数量和计算量的技术,一般分为以下几类方法:

轻量化模型:通过设计更加简单的模型结构,如MobileNet、ShuffleNet等,来实现模型压缩。

权值剪枝:通过删除权值接近0的部分参数来降低模型参数量。常见的剪枝方法包括全局剪枝、通道剪枝、卷积核剪枝等。

知识蒸馏:使用一个较大的模型(教师模型)对训练数据进行训练,并将学到的知识传递给一个较小的模型(学生模型),从而达到模型压缩的目的。

参数量化:将模型中的参数转变为低精度表示,如8位整数或4位浮点数,在保证模型准确率的前提下减少了存储空间和计算量。

以上是主流的模型剪枝方法,实际应用时也可以根据具体的场景选择不同的方法进行组合使用。

  1. 半精度计算

半精度计算是一种使用16位浮点数(FP16)来进行计算的方法,相比于传统的单精度计算(32位浮点数,FP32),半精度计算可以大幅减小存储空间和传输带宽的需求,同时也可以提高计算速度。

在深度学习中,半精度计算被广泛应用于模型训练和推理过程中。通过将神经网络中的参数、输入、输出等数据转换为16位浮点数,可以显著降低模型占用的存储空间和内存带宽,从而加快模型训练和推理的速度。

不过,半精度计算也存在一些问题。由于16位浮点数的表示范围较小,在某些情况下会导致数值精度损失过大,进而影响模型的精度。因此,在应用半精度计算时,需要对模型的网络结构、训练方式以及量化方法等进行综合考虑和优化,以保证模型的精度和性能。

  1. Layer normalization

Layer normalization是一种在机器学习和深度学习中用于提高神经网络性能的技术。它是一种在层级别应用的归一化方法,而不是针对单个输入或输出进行归一化。

在layer normalization中,层的输入的均值和方差通过每个特征维度进行标准化。这意味着每个特征维度的输入均值为零,方差为一。这有助于减少训练过程中可能发生的内部协变量漂移,从而导致收敛速度较慢和性能较差。

  1. 分类损失

在这里插入图片描述

在这里插入图片描述

  1. 回归损失

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. VGG

在这里插入图片描述

  1. YOLOv5是对YOLOv3进行了一系列改进和优化的目标检测算法,具体改进如下:

轻量化结构:YOLOv5相较于YOLOv3采用了更加轻量级的网络结构,减少了模型的参数数量,提高了模型的速度和效率。

网络架构:YOLOv5引入了一种新的网络架构,称为CSPNet(Cross Stage Partial
Network),该架构将网络划分为多个阶段,每个阶段包含一个跨阶段部分和一个局部部分,有助于加速训练和提高检测性能。

数据增强:YOLOv5采用了更加丰富和多样化的数据增强技术,如随机大小和比例的数据增强、颜色扰动、翻转、裁剪等,有效提升了模型对不同尺度、姿态和光照条件下的目标的检测能力。

更高的检测精度:YOLOv5通过改进损失函数和训练策略,进一步提高了目标检测的精度。采用了一种新的损失函数,称为CIoU(Complete
Intersection over Union),可以更好地衡量预测框和真实框之间的重叠度,从而使得检测结果更加准确和稳定。

自适应训练:YOLOv5引入了自适应训练策略,通过动态调整图像分辨率和模型的输入尺寸,实现了对不同尺度目标的检测。这使得模型能够适应不同分辨率的输入图像,提高了模型的泛化能力。

多尺度预测:YOLOv5在不同的特征层上进行多尺度的预测,通过预测不同大小目标的检测框,从而提高了模型对不同尺度目标的检测能力。

总的来说,YOLOv5在保持高效性能的同时,进一步提升了目标检测的准确度和鲁棒性。

  1. YOLOv3 相对于先前版本的主要改进包括以下几个方面:

多尺度预测:YOLOv3 引入了三个不同尺度的预测层,分别在较低、中等和较高层级上进行目标检测。这使得 YOLOv3
能够同时检测不同尺寸的目标,提高了检测算法对小目标和远距离目标的识别能力。

Darknet-53 网络结构:YOLOv3 中引入了一种名为 Darknet-53 的深度卷积神经网络结构作为基础网络。相较于之前的
YOLO 版本中使用的简单卷积层结构,Darknet-53
结构包含更多的卷积层和残差连接,提供了更好的特征表示能力,从而提高了检测的准确性。

使用卷积核进行检测:YOLOv3 在较低层级上使用更小的 1x1
卷积核来进行检测,这使得该层级可以检测到较小的目标。而较高层级使用更大的卷积核进行检测,以检测到较大的目标。这种多尺度的检测策略有助于提高整体的检测能力。

使用多个大小的 anchor box:YOLOv3 引入了不同比例和长宽比的 anchor box。通过在不同尺度上使用这些 anchor
box,YOLOv3 能够更好地适应不同大小和形状的目标。

这些改进使得 YOLOv3 在目标检测任务上取得了更好的性能,提高了检测的准确性和鲁棒性,尤其在同时检测多尺度目标时表现出色

  1. YOLO(You Only Look Once)系列算法的工作原理

YOLO(You Only Look
Once)系列算法的工作原理是基于单阶段目标检测的思想。相对于传统的两阶段检测方法(如R-CNN系列),YOLO算法将目标检测任务看作一个回归问题,并在单个网络中综合完成目标定位与分类。

具体来说,YOLO算法的工作流程如下:

输入图片被划分为网格:输入图片被划分成固定大小的网格,每个网格负责预测相应位置的目标。这种划分方式保证了检测算法对整张图片进行全局理解,避免了传统滑动窗口的耗时操作。

每个网格预测边界框和类别:每个网格通过卷积神经网络提取特征,并预测出该网格内存在的目标的边界框(Bounding
Box)和对应的类别概率。预测的边界框包括位置(中心坐标相对于网格和宽高)和置信度(指该边界框中是否存在目标)。

边界框筛选与修正:根据预测的置信度,选择置信度高于阈值的边界框作为候选框,并根据置信度对边界框进行排序。同时,采用非极大值抑制(Non-Maximum
Suppression, NMS)的方法,去除高度重叠的候选框,保留最具代表性的框。

后处理和输出:经过筛选和修正的边界框被输出为最终的检测结果,其中包括它们的位置和对应的类别标签。

总结起来,YOLO系列算法通过将目标检测问题转化为回归问题,在单个网络中实现了目标的定位和分类,并通过网格划分、特征提取、边界框预测和后处理等流程完成检测任务。这种单阶段的设计使得YOLO算法具有实时性的优势,并在许多实际应用中取得了很好的效果。

  1. YOLO v3和fast rcnn,谁在小目标的检测效果好

  2. mask rcnn和fast rcnn的区别是什么

1.roi align和roi pooling
2.mask rcnn多了一个分割像素点的头

  1. 在进行CUDA矩阵计算时,有几种方法可以进行优化,以提高计算性能和效率:

使用合适的矩阵布局:CUDA提供了不同的矩阵存储布局,如行主序(row-major)和列主序(column-major)。选择适合问题的矩阵布局可以优化内存访问模式,减少数据传输和计算的开销。

使用共享内存:共享内存是一块高速缓存,位于多个线程之间共享。将矩阵的一部分加载到共享内存中,可以减少对全局内存的读写操作,提高访问速度。

优化内存访问模式:在进行矩阵计算时,尽量按照内存访问的连续性原则,以利用缓存和硬件预取功能,减少访存延迟。

使用适当的线程块大小:线程块大小的选择会对性能有显著影响。合理选择线程块大小可以充分发挥GPU的并行计算能力,减少线程同步和资源竞争。

考虑使用CUDA的库函数和优化技术:CUDA提供了丰富的库函数,如cuBLAS和cuSPARSE,可以利用GPU硬件的性能优势。另外,还可以使用CUDA提供的优化技术,如纹理内存和常量内存等,进一步提高计算效率。

使用流并行性:在使用多个CUDA核心时,可以利用流并行性,即在一个核心执行计算的同时,在另一个核心上进行数据传输或计算准备工作,以充分利用计算和传输之间的重叠。

综上所述,通过选择合适的矩阵布局、使用共享内存、优化内存访问模式、调整线程块大小、利用CUDA的库函数和优化技术,以及利用流并行性,可以对CUDA矩阵计算进行优化,提高性能和效率

  1. 二分查找
def binary_search(arr, target):
    left = 0
    right = len(arr) - 1

    while left <= right:
        mid = (left + right) // 2
        print(left, right, mid)
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1

    return -1
  1. 检测小目标的方案

提高模型的输入分辨率
提升图像采集的分辨率
通过增强产生更多数据
特征金字塔网络
Anchor设计:合理设计锚框(Anchor)的尺寸和宽高比,以适应小目标的特点。
多尺度训练和测试
引入注意力机制:通过引入注意力机制,使模型能够更加关注小目标的重要区域,提高对小目标的检测能力。

  1. 欠拟合和过拟合的处理策略

处理欠拟合:

增加模型的复杂度:例如,增加神经网络的层数、增加决策树的深度等,以便模型能够更好地捕捉数据中的复杂关系。
增加特征数量:引入更多有意义的特征,以提供更多关于目标变量的信息。
减少正则化程度:正则化是一种用于降低模型过拟合的技术,但在欠拟合情况下,可能需要减少或移除正则化项,以提高模型的灵活性。
处理过拟合:

增加训练数据量:通过收集更多的训练数据,可以帮助模型更好地学习数据的真实分布,减少过拟合的发生。
数据增强(Data Augmentation):通过对训练数据进行一些随机变换或扩增,例如旋转、平移、缩放等,可以合成更多的训练样本,提高模型的泛化能力。
特征选择:去除一些无关或冗余的特征,以减少模型过拟合的可能性。
正则化:使用正则化技术(如L1正则化、L2正则化)降低模型的复杂度,防止模型过分拟合训练数据。 提前停止(Early
Stopping):在训练过程中,根据验证集的性能来判断模型是否过拟合,一旦性能开始下降,就停止训练,避免过拟合。
以上策略可以根据具体情况进行组合和调整,以达到处理欠拟合和过拟合的目的。

  1. 卷积层,pooling层,全连接层的作用分别是什么?

卷积层(Convolutional Layer):卷积层是深度学习中常用的一种层,主要用于提取输入数据的特征。它通过对输入数据应用一系列的卷积核(也称为过滤器),对输入数据的局部区域进行扫描和加权求和操作,生成特征图。卷积层能够自动学习出不同特征的过滤器,从而有效地捕捉到输入数据中的局部结构和模式,例如边缘、纹理等。卷积层在图像识别、计算机视觉等任务中被广泛应用。

池化层(Pooling Layer):池化层也是深度学习中常用的一种层,其作用是对输入数据进行下采样,减少数据的维度和计算量,同时保留重要的特征信息。常见的池化操作包括最大池化和平均池化。最大池化通过在输入区域中选取最大值作为池化结果,从而保留区域中的最显著特征。平均池化则是计算区域内值的平均值作为池化结果。池化层具有平移不变性,能够在一定程度上提高模型对于输入的不变性,同时减少过拟合的风险。

全连接层(Fully Connected Layer):全连接层也称为密集连接层或全连接层,是神经网络中最常见的一种层。在全连接层中,每个神经元都与上一层的所有神经元相连接。它的主要作用是将前一层的特征进行组合和转换,映射到输出层。全连接层通常用于分类问题的输出层,将抽取的特征映射到类别标签上。全连接层可以提供更复杂的模型表示能力,能够学习到不同特征之间的组合和关系。

综上所述,卷积层用于提取输入数据的特征,池化层用于下采样和减少维度,保留重要特征,而全连接层则用于将特征映射到输出层,进行最终的分类或回归预测。在深度学习网络中,通常会将多个卷积层、池化层和全连接层组成一系列层的堆叠,从而构建出复杂的模型结构。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骨子带刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值