深度学习-深度学习基础知识
文章平均质量分 76
深度学习-深度学习基础知识
浩瀚之水_csdn
路漫漫其修远兮,吾将上下而求索,立刻行动,坚持,努立
展开
-
深入浅出之Res unit和ResX模块(YOLO)
在YOLO系列算法中,Res unit(残差单元)和ResX是两个重要的组件,它们在网络结构中扮演着关键角色。以下是对这两个组件的详细解释:Res unit是借鉴了ResNet(残差网络)中的残差结构,旨在解决深层网络训练中的梯度消失或梯度爆炸问题,使网络能够构建得更深。在YOLO系列中,Res unit允许网络在增加深度的同时,保持较好的训练效果和性能。特点:ResX是YOLO系列中的一个大组件,它由一个CBL(Conv+Bn+Leaky_relu)和X个残差组件(Res unit)构成。在YOLOv3等原创 2024-09-19 08:34:33 · 603 阅读 · 0 评论 -
深入浅出之Concat模块(YOLO)
Concat模块在YOLO算法中发挥着关键作用,它通过融合不同层次的特征图来提高目标检测的准确性和效率。在实际应用中,可以通过替换或优化Concat模块来进一步提升YOLO算法的性能。随着技术的不断进步,相信未来会有更多创新的替换技巧被提出,以推动YOLO算法在目标检测领域的发展。原创 2024-09-19 08:22:42 · 553 阅读 · 0 评论 -
深入浅出之CBM和CBL模块(YOLO)
CBM和CBL作为YOLOv4网络结构中的基本组件,各自具有独特的激活函数,分别用于增强网络的非线性能力和防止神经元死亡。它们在YOLOv4的网络中相互配合,共同构成了强大的特征提取和学习能力。在实际应用中,这些组件的选择和优化对于提升YOLOv4的性能至关重要。原创 2024-09-18 18:58:04 · 985 阅读 · 0 评论 -
深入浅出之SPP、SPPF、SPPCSPC与ASPP模块(YOLO)
YOLOv4中的SPP模块是一个重要的组成部分,它通过融合不同尺度大小的特征图来增强网络的特征提取能力。SPP的引入使得YOLOv4能够更好地适应不同大小的输入图像,并提取出更加丰富的特征信息,从而提高目标检测的精度和泛化能力。原创 2024-09-18 18:06:28 · 373 阅读 · 0 评论 -
YOLO算法全家桶(YOLOV1~YOLOV10)
YOLOV1作为目标检测领域的开创性模型,以其独特的设计理念和高效的检测性能赢得了广泛的关注和应用。尽管存在一些不足之处,但YOLOV1为后续的YOLO系列模型奠定了坚实的基础,推动了目标检测技术的不断发展。YOLOv6专注于提供极致的检测精度和推理效率,适用于自动驾驶、安防监控等多种领域。它支持模型训练、推理及多平台部署等全链条的工业应用需求,并在网络结构、训练策略等算法层面进行了多项改进和优化。Backbone。原创 2024-09-10 15:29:43 · 1041 阅读 · 0 评论 -
深入浅出之正负样本分配策略(目标检测)
正负样本分配策略在目标检测中起着至关重要的作用。不同的策略适用于不同的场景和目标检测框架。在实际应用中,可以根据具体需求和目标检测框架的特点选择合适的分配策略。同时,随着目标检测技术的不断发展,新的分配策略也在不断涌现,为进一步提高检测精度和训练效率提供了可能。原创 2024-09-18 09:30:07 · 995 阅读 · 0 评论 -
深入浅出之RCNN网络
这里训练时,网络输出要有所改变,因为分类问题,网络输出为N+1,其中N为正样本的类别数,1为背景。对于VOC,N=20,对于ILSVRC2013, N=200。原创 2024-09-17 18:02:13 · 920 阅读 · 0 评论 -
深入浅出之SPPNET网络
在普通的CNN机构中,输入图像的尺寸往往是固定的(比如224*224像素),输出则是一个固定维数的向量。SPP Net在普通的CNN结构中加入了ROI池化层(ROI Pooling),使得网络的输入图像可以是任意尺寸的,输出则不变,同样是一个固定维数的向量。原创 2024-09-17 17:18:24 · 1173 阅读 · 0 评论 -
深入浅出之非极大值抑制(NMS)
非极大值抑制(Non-Maximum Suppression, NMS)首次在论文“Efficient non-maximum suppression”中被提出,主要是为了解决在目标检测任务中,同一目标被多个检测器多次检测到,导致出现多个相交或重叠的候选框的问题。这些冗余的候选框不仅增加了计算负担,还降低了目标检测的精度。Non-Maximum Suppression的翻译是非“”抑制,而不是非“最大值”抑制。。原创 2024-09-17 10:02:41 · 1079 阅读 · 0 评论 -
深入浅出之重叠度(IOU)
IoU定义为两个边界框的重叠面积与它们并集面积的比例,即:其中,重叠面积(Area of Overlap)是两个边界框相交部分的面积,并集面积(Area of Union)则是两个边界框合并后的总面积。物体检测需要定位出物体的bounding box,就像下面的图片一样,我们不仅要定位出车辆的我们还要识别出bounding box 里面的物体就是车辆。对于bounding box的定位精度,有一个很重要的概念: 因为我们算法不可能百分百跟人工标注的数据完全匹配,因此就存在一个定位精度评价公式:IOU。原创 2024-09-17 09:42:33 · 930 阅读 · 0 评论 -
深入浅出之selective search
在计算机视觉领域,目标检测是一项重要的任务,它要求从图像中识别和定位出感兴趣的目标。然而,传统的滑动窗口方法在处理大规模图像时效率低下,且生成的候选区域数量过多,导致计算复杂度高。因此,需要一种更高效的算法来生成高质量的候选区域,以提高目标检测的效率和准确性。Selective Search算法正是在这样的背景下被提出的。原创 2024-09-16 12:41:31 · 1143 阅读 · 0 评论 -
深度学习常用的专业术语(20240919更新)
(Spatial Pyramid Pooling,SPP)是一种用于处理不同尺寸输入的卷积神经网络中的池化方法。它通过将不同大小的池化层级进行组合,从而能够对任意大小的输入图像进行池化操作,从而提高了网络的灵活性和泛化能力。原创 2024-09-16 11:17:15 · 641 阅读 · 0 评论 -
SRResNet
原理:通过堆叠多个残差块来构建深度网络,每个残差块包含卷积层和批归一化层,以及一个跳接(shortcut connection)将输入与输出相加,从而学习低分辨率图像与高分辨率图像之间的残差信息,恢复丢失的高频细节。综上所述,SRResNet是一种有效的图像超分辨率重建算法,通过残差学习和子像素卷积等技术手段,实现了从低分辨率图像到高分辨率图像的转换。对抗生成网络(GAN)思想:在某些实现中,SRResNet会与判别器网络结合,通过对抗训练生成更加真实和细致的高分辨率图像。原创 2024-09-09 20:59:35 · 180 阅读 · 0 评论 -
深入浅出之FPN (Feature Pyramid Networks for Object Detection)网络
FPN网络是在2017年的CVPR会议上提出的,主要目的是通过特征融合的方式,在不显著增加计算量的情况下,提升多尺度目标的检测性能,尤其是对小目标的检测能力。它通过构建多尺度特征金字塔,将高层特征图的语义信息与低层特征图的空间信息进行融合,生成具有丰富多尺度信息的特征表示。原创 2024-09-15 21:07:25 · 855 阅读 · 0 评论 -
pytorch 卷积层
在中,是透过两个函数 f 和 g生成第三个函数的一种数学算子,表征函数 f 与经过翻转和平移的 g 的乘积函数所围成的曲边梯形的面积。函数f,g是定义域上的,两者的卷积记作f*g,即:例如:两个方波的卷积。原创 2024-09-05 14:50:29 · 792 阅读 · 0 评论 -
PyTorch模型格式及使用
状态字典(state_dict)是深度学习框架(如PyTorch)中用于保存和加载模型参数的一种数据结构。它本质上是一个Python字典对象,将模型中的每一层(特别是那些具有可学习参数的层,如卷积层、线性层等)映射到其对应的参数张量(即权重和偏差)。在深度学习框架(如PyTorch)中,状态字典(state_dict)主要包含了模型的参数(parameters),这些参数是模型在训练过程中学习到的权重(weights)和偏差(biases)。具体来说,state_dict。原创 2024-09-09 19:11:23 · 1186 阅读 · 0 评论 -
深入浅出之ZFNet网络
ZFNet 仅仅是在 AlexNet 上做了一些调参:改变了 AlexNet 的第一层,即将卷积核的尺寸大小 11x11 变成 7x7,并且将步长 4 变成了 2。ZFNet实际上是微调(Fine-tuning)了AlexNet, 并通过反卷积(Deconvolution) 的方式可视化各层的输出特征图,进一步解释了卷积操作在大型网络中效果显著的原因。作者将卷积核的计算结果(feature maps)映射回原始的像素空间(映射的方法为反卷积,反池化)并进行可视化。原创 2024-09-15 10:55:43 · 553 阅读 · 0 评论 -
深入浅出之CSPNet网络
CSPNet(Cross Stage Partial Network)的提出背景主要源于对现有计算机视觉模型的分析和挑战。在计算资源受限的情况下,轻量级神经网络模型越来越受到关注,但这类模型在轻量化的同时往往会牺牲模型的准确性。此外,现有的模型在推断过程中存在计算瓶颈和内存开销较大的问题,这限制了模型在嵌入式设备和边缘计算平台上的应用。CSPNet旨在解决这些问题,通过优化网络结构和计算流程,提高轻量级模型的学习能力,以在保持较高准确性的同时实现轻量化。原创 2024-09-14 08:20:37 · 994 阅读 · 0 评论 -
深入浅出之DenseNet网络
CNN史上的一个里程碑事件是的出现,ResNet可以训练出更深的CNN模型,从而实现更高的准确度。今天我们要介绍的是,它的基本思路与ResNet一致,但是它建立的是前面所有层与后面层的密集连接(),它的名称也是由此而来。DenseNet也因此斩获的最佳论文奖。传统卷积神经网络(CNN)在深度增加时,容易出现梯度信息在反向传播过程中逐渐减弱甚至消失的情况,导致深层网络难以训练。同时,深层网络也面临着参数冗余和计算复杂度高的问题。原创 2024-09-13 18:44:12 · 617 阅读 · 0 评论 -
深入浅出之DarkNet网络
Darknet53是在深度学习,尤其是卷积神经网络(CNN)快速发展的背景下提出的。随着计算机视觉任务的复杂度和精度要求不断提高,传统的网络结构已经难以满足需求。为了提升目标检测和分类等任务的性能,Joseph Redmon在2018年的论文《YOLOv3: An Incremental Improvement》中提出了Darknet53网络结构,作为YOLOv3目标检测算法的核心网络。原创 2024-09-13 17:43:18 · 850 阅读 · 0 评论 -
深入浅出之Resnet网络
ResNet(Residual Network,残差网络)是一种由微软亚洲研究院提出的深度神经网络结构,其核心在于通过残差连接(residual connections)解决了深层网络训练中的梯度消失和梯度爆炸问题,使得网络可以训练得更深,性能更强。原创 2024-09-13 09:52:14 · 810 阅读 · 0 评论 -
深度学习的骨干网络
骨干网络是深度学习模型中的重要组成部分,负责从原始输入中提取有效的特征表示。不同的骨干网络架构具有各自的特点和优势,适用于不同的任务和场景。在选择骨干网络时,需要根据具体任务的需求、数据的特性以及计算资源的限制进行综合考虑。原创 2024-09-12 09:15:00 · 358 阅读 · 0 评论 -
深入浅出之VGGNet网络
VGGNet(Visual Geometry Group Network)是一种深度卷积神经网络,由牛津大学计算机视觉组(Visual Geometry Group)的研究团队于2014年提出。VGGNet在当时的ImageNet图像识别挑战中取得了优异的表现,并成为了深度学习和计算机视觉领域中的经典模型之一。以下是对VGGNet的详细解析:VGGNet提供了多种网络结构,如VGG-11、VGG-13、VGG-16和VGG-19等,这些网络结构的基本架构相似,但卷积核的数量和深度有所不同。以VGG-16为例原创 2024-09-07 09:18:40 · 136 阅读 · 0 评论 -
GoogLeNet介绍
2. **网络结构**:GoogLeNet采用了模块化的结构,整个网络由九个Inception模块组成,分为22层(包括池化层为27层),并在网络的最后使用全局平均池化(Average Pooling)替代传统的全连接层,大大减少了模型的参数[^3^][^5^]。4. **性能优化**:通过这些设计,GoogLeNet在保持高效计算的同时实现了极高的性能,其模型大小只有VGGNet的1/20,但准确率却更高[^3^]。这不仅提高了特征的丰富性,还减少了参数量和计算复杂度[^1^][^2^]。原创 2024-09-07 09:18:05 · 188 阅读 · 0 评论 -
Inception v1介绍
**与传统模型比较**:相比于传统的AlexNet和VGGNet,Inception v1通过其独特的模块设计,实现了更高的性能和更低的计算成本[^4^]。- **高效计算**:通过精心设计的Inception模块,该模型大大减少了计算量,使得网络在保持高性能的同时,计算成本显著降低[^1^][^2^]。- **减少参数**:通过在大的卷积核(如3x3和5x5)前添加1x1卷积核,显著降低了输入特征的数量,从而减少了计算量[^1^][^3^]。1. **核心思想**2. **网络结构**原创 2024-09-07 09:16:59 · 125 阅读 · 0 评论 -
Inception v2的介绍
*Inception v2是谷歌DeepMind团队在2015年提出的深度学习模型架构,它是Inception网络家族的重要成员之一,基于原始的Inception架构进行了优化和改进**。这种分解不但可以减少计算量(大约节省计算资源的28%),还可以增加网络的深度,从而捕捉更丰富的特征信息[^1^][^2^]。这些设计思路不仅推动了卷积神经网络的发展,也为后续的网络架构提供了重要的参考价值。4. **增强网络的鲁棒性**:通过上述的结构改进,Inception v2在提高准确度的同时减少了计算复杂度。原创 2024-09-07 09:16:36 · 126 阅读 · 0 评论 -
Inception v3的介绍
2. **引入Batch Normalization与RMSProp**:Inception v3继续使用Batch Normalization(BN),并在每一卷积层后加入BN,有效缓解深层网络中的梯度消失问题,加速训练过程,提高模型的收敛速度[^1^][^2^]。这种分解不仅提高了计算效率,还增强了网络对输入图像不同尺度特征的捕获能力[^2^]。1. **卷积分解优化**:Inception v3进一步推动了卷积分解的思想,通过将较大的卷积核分解为多个较小的卷积核来减少计算量[^1^][^2^]。原创 2024-09-07 09:16:07 · 159 阅读 · 0 评论 -
Inception v4的介绍
Inception v4保留了Inception模块的核心思想,即通过并行使用不同大小的卷积核来捕捉图像中的多尺度信息,同时减少参数数量和计算量。在Inception v4中,Inception模块被进一步细分为Inception-A、Inception-B和Inception-C三种类型,每种类型在结构上略有不同,但都遵循并行卷积和池化的基本原则。Inception v4中的Inception模块与InceptionV3中的模块类似,但引入了一些新的模块形状及其间的连接设计。原创 2024-09-07 09:15:19 · 269 阅读 · 0 评论 -
深入理解空洞卷积
2. **应用案例**:在语义分割任务中,如DeepLab系列网络,就广泛使用了空洞卷积来保持高分辨率的特征图,同时允许模型捕捉更大的视觉范围,这对于精确的像素级预测至关重要[^1^]。3. **优势分析**:传统增加感受野的方法如池化会导致分辨率下降,而空洞卷积可以在保持特征图分辨率的同时增大感受野,这对于细节敏感的任务尤为重要[^2^]。**空洞卷积是一种卷积操作形式,通过在卷积核的元素间插入空格(零)来扩大卷积核的感受野,同时不改变输出特征图的尺寸**。原创 2024-09-04 22:52:10 · 278 阅读 · 0 评论 -
深入理解感受野
例如,对于卷积层,感受野的计算公式为 \(r_l = r_{l-1} + (k_l - 1) \cdot \prod_{i=0}^{l-1}{s_i}\),其中 \(r_l\) 是第 \(l\) 层的感受野大小,\(k_l\) 是卷积核大小,\(s_i\) 是步长[^1^][^4^]。- **有效感受野**:与理论感受野不同,有效感受野是一种超参数,无法精确计算。- **来源**:感受野的概念最初应用于视觉系统的研究,后来被引入到计算机视觉和深度学习领域,成为卷积神经网络设计的重要理论基础[^3^]。原创 2024-09-04 22:27:37 · 183 阅读 · 0 评论 -
全局平均池化层
全局平均池化(Global Average Pooling, GAP)的概念最早出现在2013年的论文《Network In Network》中,其基本思想是对每个通道的特征图的所有像素求平均值,从而得到一个数值,该数值代表了该特征图的全局信息[^1^]。全连接层通常包含大量的参数,这不仅增加了计算负担,还容易产生过拟合现象[^5^]。总之,全局平均池化层通过简单的平均操作实现了从特征图到类别预测的直接转换,既保留了重要的全局信息,又减少了模型复杂度和过拟合的风险,同时还提高了模型的可解释性。原创 2024-09-04 22:23:52 · 140 阅读 · 0 评论 -
最大值池化与均值池化的比较
有时,甚至可以将这两种方法结合使用,以获得更好的性能。1. 最大值池化:在最大值池化中,我们从输入特征图的每个区域中选择最大的值作为输出。这种方法的优点是可以保留特征图中的最显著特征,同时减小特征图的尺寸。然而,最大值池化可能会丢失一些有用的信息,因为它只关注每个区域的最大值。2. 均值池化:在均值池化中,我们从输入特征图的每个区域中计算平均值作为输出。这种方法的优点是它可以保留特征图中的更多信息,因为它考虑了每个区域的所有值。最大值池化和均值池化是两种常用的池化技术,用于降低卷积神经网络中的特征图尺寸。原创 2024-09-04 22:18:57 · 198 阅读 · 0 评论 -
全连接层的优缺点
2. **容易过拟合**:由于大量的参数,全连接层容易导致过拟合现象,即在训练数据上表现良好,但在测试数据上表现较差[^2^][^4^]。1. **参数量大导致计算量大**:全连接层的参数数量随着输入向量大小的增加而急剧增加,这会导致模型变得庞大并且需要更多的计算资源来进行训练和推断[^2^][^3^]。2. **强大的表达能力**:由于每个神经元都连接到前一层的所有神经元,全连接层具备强大的表达能力,能够捕获复杂的非线性关系并对输入进行有效的分类或回归[^2^]。- **全连接层的优点**原创 2024-09-04 22:14:49 · 128 阅读 · 0 评论 -
全连接层的作用
这种密集连接方式使得全连接层能够整合并提炼从卷积层和池化层提取出的特征,为最终的分类决策提供依据[^2^]。例如,在图像识别任务中,全连接层可以将不同层次和位置的视觉特征综合起来,从而作出准确的分类判断[^3^]。由于全连接层的参数数量较多,有时可占到整个网络参数总量的80%左右,这会降低训练速度并增加过拟合的风险[^4^]。**全连接层的主要作用是将前层的特征空间映射到样本标记空间,实现端到端的学习能力,并通过组合特征帮助确定最终分类,从而提高模型的表达能力和鲁棒性**。原创 2024-09-04 22:12:19 · 191 阅读 · 0 评论 -
BN层的推理及应用场景
4. **融合卷积操作**:在推理阶段,BN层可以与前面的卷积层融合,形成一个新的卷积层(conv+bn->conv),这样可以减少计算量,起到加速推理的作用[^1^][^2^]。这种融合不影响模型性能,反而提升了运行效率。5. **提升模型鲁棒性**:在测试时,BN层使用训练中得到的全局均值和方差,确保了单个样本的输出不会因不同批次而发生变化,增强了模型的鲁棒性[^1^]。3. **提高泛化能力**:BN层通过引入可学习参数γ和β,能够重构出原始网络所要学习的特征分布,从而提高网络的泛化能力[^4^]。原创 2024-09-04 22:07:32 · 352 阅读 · 0 评论 -
dropout层的思想
1. **随机丢弃神经元**:Dropout的核心思想是在每次训练迭代中,随机选择一部分神经元并将其临时丢弃,即这些神经元在本次迭代中不参与计算和权重更新[^1^]。3. **增强特征鲁棒性**:通过随机丢弃神经元,Dropout使得网络必须学习更鲁棒的特征,这些特征能够在不同神经元子集中存在,增强了模型的泛化能力[^3^]。6. **自适应正则化**:Dropout能够自适应地调整神经元的活跃程度,起到一种正则化的作用,减少了模型的复杂度,从而有效防止过拟合[^2^]。原创 2024-09-04 22:01:20 · 111 阅读 · 0 评论 -
Dropout层的作用及使用场景
1. **全连接网络**:在全连接层中使用Dropout可以减少神经元之间的共适应性,从而降低过拟合的风险[^1^][^2^]。6. **多任务学习**:在多任务学习中,Dropout不仅可以减少每个任务内部的过拟合,还能减少任务间的过拟合,增强模型在不同任务上的泛化能力[^3^]。4. **自编码器**:在自编码器中,Dropout能够减少重构误差,提升模型对输入数据的压缩表示能力,同时避免过拟合[^3^]。**Dropout层的主要作用是防止过拟合,提高神经网络模型的泛化能力**。原创 2024-09-04 21:58:20 · 145 阅读 · 0 评论 -
卷积层的作用
**捕捉局部信息**:卷积层通过卷积核在输入图像上滑动,提取每个局部区域的特征。- **特征一致性**:由于卷积操作保留了特征的位置信息,即使输入图像发生平移,相应的特征图也会同步平移,从而使网络能够识别移位后的特征[^1^]。- **减少参数数量**:在卷积层中,同一个卷积核的权重被应用于整个输入图像,这意味着无论图像多大,每个卷积核的参数数量都是固定的[^4^]。- **多层级特征表达**:多层卷积层堆叠在一起,每一层都是对前一层特征的再处理和抽象,从而形成多层次的特征表达[^2^]。原创 2024-09-04 21:55:06 · 372 阅读 · 0 评论 -
池化层的作用
1. **降低维度**:通过将输入图像划分为多个区域,并对每个区域进行聚合操作,如最大值或平均值,池化层能有效地降低特征图的空间维度[^1^][^3^]。7. **实现空间不变性**:池化操作使网络能够关注特征是否存在,而不是特征的具体位置[^2^][^5^]。5. **保留显著特征**:最大池化层通过选取区域内的最大值来保留最显著的特征,这些特征对于分类或识别任务至关重要[^2^][^5^]。6. **提高计算效率**:较小的特征图尺寸意味着更少的计算量,从而提高了模型的推理速度[^1^]。原创 2024-09-04 21:51:07 · 241 阅读 · 0 评论 -
激活层的作用
**加速学习过程**:使用适当的激活函数可以加快学习过程的收敛速度,例如ReLU函数相较于传统的Sigmoid或Tanh函数,能显著提高SGD的收敛速度[^5^]。- **实现复杂函数**:通过对每一层的线性输出应用激活函数,神经网络能够实现对输入数据的复杂、非线性映射,从而学习并模拟更复杂的数据关系和特征[^4^]。- **避免梯度消失**:某些激活函数如ReLU能够有效避免梯度消失问题,保持梯度在一个合适的范围内,有助于深层次网络的训练[^1^][^5^]。6. **增强学习能力**原创 2024-09-04 21:49:03 · 345 阅读 · 0 评论