深度学习模型压缩技术
模型压缩概述
深度学习模型压缩与加速七大方法总结!
随着深度学习的发展与高性能GPU处理能力的增强,神经网络结构变得越来越复杂,模型参数量也越来越庞大,这使得深度学习在移动嵌入式设备上的部署遇到巨大的困难和挑战
因此,如何在不影响深度学习模型性能的情况下进行模型压缩与加速成为了研究热点
在深度学习中,模型压缩是一种通过减小模型的大小、参数数量或计算量来降低模型复杂度的技术。以下是一些常见的模型压缩技术:
参数剪枝(Pruning):通过剪除模型中不重要的连接或参数,减少模型的参数数量和计算量。剪枝可以基于权重的重要性进行,剪除较小的权重或通过稀疏化技术将权重设置为零
权重共享(Weight Sharing):将模型中的一些权重共享,减少模型中需要存储的参数数量。这可以通过对权重进行聚类或使用哈希函数将相似的权重映射到同一个值来实现
低秩近似(Low-Rank Approximation):通过将模型的权重矩阵分解为较低秩的矩阵乘积形式,减少模型的参数数量。常见的方法包括奇异值分解(SVD)和矩阵分解技术
知识蒸馏(Knowledge Distillation):将一个复杂的模型的 ...
作文赏析_语文从我身边走过
语文从我身边走过
Your browser does not support the audio element.
语文从我身边倘徉而过,留下唐风宋韵的淋漓酣畅!
语文从我身边流淌而过,留下诗林词苑的慷慨激昂!
语文从我身边飘然而过,留下美文小说的婉转悠扬!
朦胧中芳香扑鼻,是满园春色中,那枝出墙红杏的香甜之味?还是夏日荷塘那靖蜓伫立小荷所溢的清幽?是重阳菊花怒放带出怡人的淡雅之香?还是冬日山园小梅凌寒傲雪浮动的暗香?
如果你是“大漠孤烟直,长河落日圆”的边塞大漠,我愿飞奔在漫天黄沙里;如采你 ...
图像分割算法
图像分割UNet
U-Net: Convolutional Networks for Biomedical Image Segmentation 2015
图像分割必备知识点 | Unet详解 理论+ 代码
U-Net是一种常用的卷积神经网络结构,特别适用于图像分割任务。它由Olaf Ronneberger等人在2015年提出,并因其在生物医学图像分割中的出色表现而受到广泛关注
U-Net的整体结构呈U字形,因此得名。它包含两个主要部分:编码器(Encoder)和解码器(Decoder)
编码器由一系列卷积层和池化层组成,用于提取图像中的特征并逐渐缩小感受野
解码器由一系列反卷积层和跳跃连接(Skip Connection)组成,用于将编码器提取的特征映射重新放大,并与解码器中的特征进行融合
跳跃连接的作用是将底层的细节信息传递给解码器,有助于更好地恢复分割结果的细节
U-Net的设计思想是在特征提取的同时保留更多的上下文信息,以及保留高分辨率的细节。通过编码器和解码器之间的特征传递和融合,U-Net能够同时获得局部和全局的上下文信息,并生成细致准确的分割结果
由于其简单而有效 ...
深度学习核心之优化器
优化算法最优化是指非线性最优化,解非线性最优化的方法有很多
比如梯度下降法、共轭梯度法、变尺度法和步长加速法等
参考本站链接机器学习_最优化方法
概述
pytorch优化器
飞浆官方文档,总结到位
深度学习优化器方法及学习率衰减方式综述
An overview of gradient descent optimization algorithms
1847
1951
1983
2011
2012
GD(BGD)
SGD
SGDM(Momentum)、NAG
AdaGrad
Adadelta、RMSprop
2015
2016
2018
Adam、AdaMax
Nadam
AMSGrad
相对应的论文
A Stochastic Approximation Method SGD 1951
Learning representations by back-propagating errors Momentum 1983
A method for unconstrained convex minimization problem w ...
深度学习核心之损失函数
概述
一文看尽深度学习中的各种损失函数
常用的损失函数合集
深度学习常用损失函数的基本形式、原理及特点
Loss Functions
损失函数(Loss Function)是用来衡量模型预测值与真实值之间差异的函数,它是深度学习中的一个重要组成部分,用于评估模型的性能并指导模型的优化过程
损失函数、代价函数、目标函数的关系
损失函数(Loss Function):损失函数是用来衡量模型在单个样本上的预测结果与真实标签之间的差异。它是一个标量值,表示模型预测的误差或损失程度。损失函数通常是针对单个样本计算的,例如均方误差(MSE)、交叉熵损失等。在训练过程中,通过最小化损失函数来优化模型参数,使模型的预测结果与真实标签更接近
代价函数(Cost Function):代价函数是指整个训练集上的平均损失或误差函数。代价函数是损失函数的求和或平均,用于衡量模型在整个训练集上的预测结果与真实标签之间的总体差异。代价函数通常是在训练过程中使用的,用于计算梯度并更新模型参数
目标函数(Objective Function):目标函数是在训练过程中要最小化或最大化的函数,可以是损失函数或代价函 ...
深度学习核心之激活函数
概述
激活函数(Activation Function)
激活函数可视化
激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式
引入激活函数的目的
不使用激活函数的话,神经网络的每层都只是做线性变换,多层输入叠加后也还是线性变换。因为线性模型的表达能力通常不够
所以这时候就体现了激活函数的作用了,激活函数可以引入非线性因素,设有三个线性变换
\begin{array}{l}\mathrm{z}_{1}=\mathrm{w}_{1} \mathrm{x}+\mathrm{b}_{1} \\ \mathrm{z}_{2}=\mathrm{w}_{2} \mathrm{x}+\mathrm{b}_{2} \\ \mathrm{z}_{3}=\mathrm{w}_{3} \mathrm{x}+\mathrm{b}_{3}\end{array}将这三个线性变换加到一起,可以得到
\begin{aligned} \mathrm{y} & =\mathrm{w}_{4} \mathrm{z}_{1}+\mathrm{w}_ ...
深度学习核心基础知识点
基础知识简单说明下机器学习和深度学习的主要区别:
模型结构:一般深度学习基于深度神经网络架构较为复杂化
自动提取特征:传统机器学习需要人工构造特征但深度学习基于神经网络自动提取特征
数据量:深度学习需要大量的数据集来训练多层神经网络
反向传播算法反向传播(Backpropagation)算法是一种用于计算神经网络中各个参数梯度的方法,它基于链式法则和梯度下降算法,下面是反向传播算法的基本步骤:
前向传播(Forward Propagation):
输入一个样本,通过神经网络的前向传播计算得到预测输出
逐层计算每个神经元的输出值,直至输出层
在前向传播过程中,将每一层的输入、权重和激活函数的结果保存下来,用于后续的反向传播计算
计算损失函数(Loss Calculation):
根据预测输出和真实标签计算损失函数的值
常见的损失函数包括均方误差(Mean Squared Error)、交叉熵损失(Cross-Entropy Loss)等
反向传播计算梯度(Backward Propagation):
从输出层开始,根据链式法则计算每个参数的梯度
逐层向后传播,通过链式法则 ...
图像分类算法
图像分类
计算机视觉中图像分类任务脉络梳理
An Analysis of Deep Neural Network Models for Practical Applications
经典模型综述
模型综述
LeNet-5: 早期卷积神经网络中最有代表性的架构,是Yann LeCun在1998年设计的,用于手写数字识别的卷积神经网络
AlexNet: 2012年ILSVRC冠军,6千万参数。由于准确率远超传统方法的第二名(top5错误率为15.3%,第二名为26.2%),引起了很大的轰动。自此之后,CNN成为在图像识别分类的核心算法模型,带来了深度学习的大爆发
ZF-Net: 2013年ILSVRC冠军,结构和AlexNet区别不大,分类效果也差不多。这篇文章的贡献在于,提出了一种CNN特征可视化方法:反池化、反激活、反卷积,从而成为CNN特征可视化的开山之作
GoogLeNet: 2014年ILSVRC冠军网络。同样也是5+3的模式(以池化层为界),参数量约为5百万,核心模块是Inception Module。Inception历经了V1、V2、V3、V4等多个版本的发展 ...
目标检测与跟踪算法
目标检测
经典目标检测Object Detection模型整理
深入浅出Yolo系列之Yolov5核心基础知识完整讲解
目标检测 YOLO系列算法
Object Detection in 20 Years: A Survey
论文详解
R-CNN史上最全讲解
YOLOv1论文翻译解读
YOLO v4:物体检测的最佳速度和精度
Yolo系列代码
概述
目标检测——RCNN与YOLO系列
核心问题
分类问题:即图片(或某个区域)中的图像属于哪个类别
定位问题:目标可能出现在图像的任何位置
大小问题:目标有各种不同的大小
形状问题:目标可能有各种不同的形状
算法分类
Anchor Based模型
Anchor Free模型
One-stage模型
YoloV2-5系列、SSD、RetinaNet
YoloV1、FCOS、CornerNet
Two-stage模型
Faster RCNN、Cascade RCNN、MaskRCNN
two stage:
先进行区域生成,该区域称为region proposal(RP,一个有可能包含物体的预选框);再 ...
数据标注工具
label-studio
label-studio社区版和企业版比较
基于UIE的命名实体识别下的label-studio-ml教程
Specific-examples-for-pre-annotations
Label Studio是一个开源的,可配置的数据注释工具,其目的是使您能够使用标准化输出格式的最方便的界面标记不同类型的数据
特色:支持多人协作,支持主动学习、支持多种的标注的任务
缺点:在目标检测标注时,好像没有十字辅助线
支持的标注任务,包括了如下所示,具体的见官方git介绍
label studio 结合 MMDetection 实现数据集自动标记、模型迭代训练的闭环
Label Studio使用技巧
关键的两个git仓库,其中label-studio的官方文档在这里
label-studio, 进行普通的图片标记工作,如果要使用其提供的辅助预标记功能,则需要进行后续配置
label-studio-ml-backend,主要提供深度学习服务,包括预标记和模型训练,结合前端形成模型迭代训练的主动学习效果
python的一些版本
1234567891011- ...