深度学习:CSPNet

简介: 深度学习:CSPNet

深度学习:CSPNet

前言

CSPNet 是作者 Chien-Yao Wang 于 2019 发表的论文 CSPNET: A NEW BACKBONE THAT CAN
ENHANCE LEARNING CAPABILITY OF CNN。也是对 DenseNet 网络推理效率低的改进版本。

解决的问题

  1. 由于在轻量级的网络下,他的精度会有所下降,CSPnet可以在维持足够精度的同时提升10%到20%的计算效率,同时可以应用于传统的 ResNet,ResNeXt,DenseNet等网络。
  2. 降低计算瓶颈。
  3. 降低内存资源。

Method

目前主流网络存在的问题

在这里插入图片描述

我们以DenseNet为例,如上图,我们上下两个分别为他们的推导公式,我们发现有很多以前的feature重复出现,在反向传播的过程中,网络会不断的学习这些相同的梯度,作者认为这些冗余feature会影响模型的性能,于是作者对网络做出了下面的改进。

Cross Stage Partial Network

在这里插入图片描述

如上图为作者作出的改进,作者首先把input 分成两部分,一部分经过了卷基层,另一部分什么也不做,然后在把这两个结果concat拼接。
总体而言,所提出的 CSPDenseNet 保留了 DenseNet 特征重用特性的优势,但同时通过截断梯度流来防止过多的重复梯度信息。这个想法是通过设计分层特征融合策略并在局部transition层中使用来实现的。

Partial Dense Block

设计局部dense block的优点是:

  1. 增加梯度路径:通过拆分合并策略,梯度路径的数量可以增加一倍。由于采用了跨阶段策略,可以缓解使用显式特征图副本进行concatenation带来的缺点;
  2. 平衡每层的计算:通常,DenseNet 的base layer中的通道数远大于growth rate(注:DenseNet的超参数,值为dense block中dense卷积层的卷积核个数)。由于在一个局部dense block中参与dense层操作的base layer通道只占原始数量的一半,因此可以有效解决近一半的计算瓶颈(注:解决近一半的计算瓶颈是通过拆分输入通道实现,拆分各一半,一半传入dense block,一半直接传到dense block后);
  3. 减少内存流量:假设 DenseNet 中一个dense block的基本特征图大小为w × h × c,growth rate为 dd,总共有 m 个dense层。那么,那个dense block的CIO(Convolutional Input/Output)是( c × m ) + ( ( m ^ 2 + m ) × d ) / 2 。虽然 m 和 d 通常远小于 c,但局部dense block最多可以节省网络一半的内存流量。

Partial Transition Layer

在DenseNet中,Trainsition layer起到了特征融合的作用,在这里,作者采取了4中不同的融合策略进行试验如下图:
在这里插入图片描述
通过实验,最终作者选取了第三种方案,这种方案速度更快,精度更高。

Exact Fusion Model

实验

在这里插入图片描述

目录
相关文章
|
2天前
|
机器学习/深度学习 算法 大数据
深度学习在图像识别中的应用及挑战
【4月更文挑战第3天】 随着人工智能技术的飞速发展,深度学习作为其重要分支之一,在图像识别领域取得了显著的成果。本文将探讨深度学习在图像识别中的应用,分析其优势和面临的挑战,并展望未来的发展趋势。
16 4
|
21小时前
|
机器学习/深度学习 算法 计算机视觉
深度学习在图像识别中的应用与挑战
【5月更文挑战第16天】 随着科技的不断发展,深度学习技术在图像识别领域取得了显著的成果。本文将探讨深度学习在图像识别中的应用,以及在实际应用中所面临的挑战。我们将介绍卷积神经网络(CNN)在图像识别中的关键作用,以及如何通过优化网络结构和训练策略来提高识别准确率。此外,我们还将讨论在大规模数据集上进行训练时可能遇到的问题,以及如何利用迁移学习和数据增强等技术来解决这些问题。
|
2天前
|
机器学习/深度学习 边缘计算 安全
深度学习在图像识别中的应用和挑战
【5月更文挑战第14天】 随着人工智能的飞速发展,深度学习技术已成为推动计算机视觉领域革新的主要动力。本文将深入探讨深度学习在图像识别任务中的关键应用,并剖析当前面临的技术挑战与潜在解决方案。我们将从基础原理出发,透过案例分析,探索卷积神经网络(CNN)的优化策略、数据增强的重要性以及对抗性网络的创新应用。同时,文章也将关注模型泛化能力、计算效率及安全性问题,旨在为读者提供一个关于深度学习在图像识别领域的综合性视角。
|
2天前
|
机器学习/深度学习 监控 自动驾驶
深度学习在图像识别中的应用及其挑战
【4月更文挑战第30天】 随着人工智能技术的飞速发展,深度学习已经成为了计算机视觉领域的核心动力。尤其是在图像识别任务中,深度神经网络以其卓越的特征提取能力和泛化性能,推动了从面部识别到医学影像分析的广泛应用。尽管取得了显著成就,图像识别仍面临数据偏差、模型泛化和对抗性攻击等挑战。本文将探讨深度学习在图像识别领域的应用,并分析其面临的主要技术难题及未来可能的解决途径。
|
算法 计算机视觉 网络架构
YOLOv7 | 模型结构与正负样本分配解析
YOLOv7 | 模型结构与正负样本分配解析
1493 0
YOLOv7 | 模型结构与正负样本分配解析
|
机器学习/深度学习 算法 数据挖掘
YOLOv6 | 模型结构与训练策略详细解析
YOLOv6 | 模型结构与训练策略详细解析
1371 0
YOLOv6 | 模型结构与训练策略详细解析
|
机器学习/深度学习 人工智能 网络架构
YOLOv5架构详解
YOLOV5神经网络架构详解
2442 0
|
算法 数据库 计算机视觉
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
|
机器学习/深度学习 存储 数据可视化
【PyTorch基础教程23】可视化网络和训练过程
为了更好确定复杂网络模型中,每一层的输入结构,输出结构以及参数等信息,在Keras中可以调用一个叫做model.summary()的API能够显示我们的模型参数,输入大小,输出大小,模型的整体参数等。
1359 0
【PyTorch基础教程23】可视化网络和训练过程
|
12月前
|
计算机视觉
CVPR2023最新Backbone |FasterNet远超ShuffleNet、MobileNet、MobileViT等模型(二)
CVPR2023最新Backbone |FasterNet远超ShuffleNet、MobileNet、MobileViT等模型(二)
182 0