深度学习
文章平均质量分 78
Law-Yao
数字信号处理与人工智能相关的软硬件系统实现工作。
展开
-
Decoupled Knowledge Distillation——目标分布与非目标分布相解耦
传统KD loss中Teacher的目标概率越高,NCKD越被抑制;然而,单独使用TCKD鲜有收益,而在某些场景下单独使用NCKD、可获得比TCKD更好的效果(详见论文的Ablation分析);并且,TCKD主要迁移难例相关的知识,NCKD则能够真正反映暗知识(Dark knowledge)。通过将网络Classification Head预测的概率分布、解耦为目标分布与非目标分布,并分别计算二者的蒸馏Loss(Teacher的预测输出亦作相同解耦),然后进行加权求和获得新的蒸馏Loss。原创 2022-08-19 21:30:37 · 1720 阅读 · 0 评论 -
随笔记录——FCOS及其应用
Paper地址:https://arxiv.org/abs/1904.01355FCOS简介FCOS是全卷积、单阶段、无锚框类型的目标检测器(Fully Convolutional One-stage Anchor-free Objector Detector),自提出以来被广泛应用于图像/视频内容理解领域,包括商品检索、Logo检测等应用。FCOS总体结构、及特点如下:全卷积网络: Backbone、Neck与Head均为全卷积构造,以便于模块化建模、可扩展应用与推理优化支持(如Ten原创 2022-02-12 17:12:42 · 2253 阅读 · 0 评论 -
随笔记录——不同模态信号、表征与应用
深度学习模型(主要是感知类模型)接受的输入信号,主要包括图像、文本、语音等信号。不同模态的输入信号,经过模型的逐层抽象、转换之后,转变为不同程度的抽象表示,并应用于不同的任务场景。如上图所示,深度学习模型包含前处理、浅层、深层、任务相关层与后处理多个阶段,不同阶段的输入/输出具备不同的含义,简述如下(图像信号处理以CNN模型为例、语音/文本信号处理以BERT/Transformer模型为例):输入信号:模型接收的输入信号,是原始的、或仅初步加工的数据(raw data),包括自然信号(图像、语音原创 2022-01-23 15:38:53 · 3812 阅读 · 0 评论 -
Polarization Regularizer——极化剪枝
Paper地址:https://papers.nips.cc/paper/2020/file/703957b6dd9e3a7980e040bee50ded65-Paper.pdfGitHub地址:https://github.com/polarizationpruning/PolarizationPruning基本原理基于L1 regularizer的剪枝技术,其Scaling factors(用于生成剪枝Masking)的数据分布不容易被区分。因而,由剪枝率决定的Threshold,容易筛原创 2021-12-01 17:17:54 · 1545 阅读 · 1 评论 -
NetAug——增强Tiny-model的训练效果
Paper地址:https://arxiv.org/abs/2110.08890前言通常当深度学习模型的参数规模较大,甚至大于数据集规模时(例如ResNet50与ImageNet2012-1K),常规模型训练容易陷入过拟合状态(Over-fitting)。因此可引入一系列训练增强技巧(正则化技术)、以增强训练效果,诸如Data Augmentation与Dropout等技术:Data Augmentation通过对采样数据施加变换操作,能够引入数据噪声(如高斯白噪声、随机旋转、随机裁剪、随机Re原创 2021-10-25 12:57:20 · 880 阅读 · 0 评论 -
VR-DANN: 联合视频解码与AI处理
方案概述联合视频解码、与视频的AI分割/检测处理,提升视频AI处理实时性; 参考论文:https://ieeexplore.ieee.org/abstract/document/9251974算法步骤解码I/P关键帧,获取B关键帧的运动矢量; 将NN-L (ROI SegNet)模型,应用于I/P帧,获得参考分割结果; 利用参考分割结果、与运动矢量,重建B帧的分割结果; 将I/P帧分割结果、与B帧重建分割结果,组成三通道Tensor、送入NN-S执行Refine,消除边界模糊;主要特点原创 2021-08-09 13:52:22 · 653 阅读 · 0 评论 -
AttentiveNAS——采用Attentive Sampling改善NAS效果
Paper链接:https://arxiv.org/abs/2011.09011GitHub (PyTorch):https://github.com/facebookresearch/AttentiveNASTwo Stage One-shot NAS结合资源约束的网络结构搜索(NAS: Network Architecture Search),通常被定义为如下形式(以FLOPS约束为例):其中A表示搜索空间,可以是Input Resolution、Kernel size、Wid.原创 2021-05-05 18:02:21 · 796 阅读 · 1 评论 -
AdaQuant——基于优化方式求解量化参数
背景模型经过量化,势必引入量化噪声;大多数情况下,会导致推理精度下降; 为改善量化后精度,通常的策略: PTQ路线:改进PTQ策略(如KL改进),或叠加有助于减少量化误差的PTQ策略(如ADMM、Bias Correction、AMP); 优势:简单易用,见效快; 劣势:未必能完全消除精度损失; QAT路线:通过训练数据微调,改善量化效果; 优势:精度效果相对更好;更适合极低精度量化; 劣势:存在训练成本,维护升级相对吃力;精度效果未必好,也依赖策略选择;原创 2021-04-16 19:44:30 · 4489 阅读 · 0 评论 -
自蒸馏One-shot NAS——Cream of the Crop
Paper:https://arxiv.org/abs/2010.15821GitHub (NNI):https://github.com/microsoft/nni/blob/master/docs/en_US/NAS/Cream.rstGitHub:https://github.com/microsoft/CreamCream基本原理One-shot NAS: 搜索过程中,设置Prioritized Board,收集精度与速度满足要求的最佳Sub-networks,并按末尾淘汰.原创 2021-02-26 16:55:35 · 1102 阅读 · 1 评论 -
端到端Transformer模型的混合精度后量化
端到端Transformer模型的混合精度后量化,需要克服如下难点:Transformer自回归模型,包含了Encoder与Decoder;端到端模型压缩的支持,需要考虑自回归逻辑(Beam Search)的复杂实现; 后量化需要考虑合理、有效的策略,确保量化鲁棒性; 混合精度决策需要考虑实现的高效性,通常采用Label-free方式;具体可参考端到端语音识别的移动端解决方案;...原创 2020-11-18 14:01:34 · 1928 阅读 · 0 评论 -
FBNetV1, FBNetV2
"FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search"Paper Link: https://arxiv.org/abs/1812.03443Github (PyTorch): https://github.com/AnnaAraslanova/FBNetIntroductionSearch SpaceDARTS、AdaBert等方法: 以Cell原创 2020-09-27 11:37:53 · 640 阅读 · 0 评论 -
具备记忆单元的Transformer ASR (SAN-M)
"SAN-M: Memory Equipped Self-Attention for End-to-End Speech Recognition"这篇文章巧妙的将DFSMN记忆单元、融合到Transformer ASR模型中,取得了显著的改进效果。Paper地址:https://arxiv.org/abs/2006.01713Introduction传统ASR方案采用混合架构,包含了单独的AM、PM、LM; 端到端的ASR方案(将AM、PM、LM集成到一个模型),主要有两种方案: AM+CT原创 2020-08-20 11:51:03 · 3070 阅读 · 0 评论 -
Proxyless NAS: Direct Neural Architecture Search on Target Task and Hardware
Paper:https://arxiv.org/abs/1812.00332GitHub (PyTorch):https://github.com/mit-han-lab/proxylessnasIntroductionNAS能够针对目标任务、以及目标部署平台,按自动化方式、搜索出性能与效率折中最好的网络结构; 如果目标任务的数据集规模比较大,通常会设计Proxy task (简化的中间任务),作为桥接目标任务的桥梁:在Proxy task上的评估结果,可间接反映目标任务上的效果,用来指导N原创 2020-07-13 17:58:42 · 1149 阅读 · 0 评论 -
Learning Dynamic Routing for Semantic Segmentation——在线动态定义网络结构
Paper Link:https://arxiv.org/abs/2003.10401GitHub (PyTorch):https://github.com/yanwei-li/DynamicRoutingIntroduction如何有效应对输入图像中目标尺度的差异与多样性,是语义分割面临的一个难题; 传统的解法主要是设计良好的静态网络结构:FCN, U-Net, PSPNet, Conv-Deconv, SegNet等;针对特定场景与目标硬件,也可以通过NAS自动搜索有效的网络结构:..原创 2020-05-29 15:16:51 · 1872 阅读 · 0 评论 -
CenterMask : Real-Time Anchor-Free Instance Segmentation
Paper Link:https://arxiv.org/abs/1911.06667GitHub (PyTorch):https://github.com/youngwanLEE/CenterMaskIntroduction实例分割的经典代表,包括Mask-RCNN与YOLACT等; Mask-RCNN基于two-stage检测框架,mask AP相对较高,但执行速度较慢; ...原创 2020-04-23 20:28:02 · 3381 阅读 · 0 评论 -
BlendMask: Top-Down Meets Bottom-Up for Instance Segmentation
Paper link:https://arxiv.org/abs/2001.00309GitHub (PyTorch, 基于Detectron2):https://github.com/aim-uofa/adetIntroduction实例分割任务需要执行dense per-pixel prediction,在完成像素级语义分类的同时,需要鉴别出目标实例鉴。基于深度学习的实例...原创 2020-03-28 20:37:44 · 2420 阅读 · 0 评论 -
基于可训练Step-size的低比特量化——LSQ: Learned Step-size Quantization
Paper地址:https://arxiv.org/abs/1902.08153GitHub地址 (PyTorch):https://github.com/zhutmost/lsq-net基本量化设置计算结点伪量化:Weight跟Activation都采用Per-tensor量化; Scaling factor (Paper标记为Step size)是可学习参数;量化计算公式...原创 2020-02-12 11:37:14 · 6501 阅读 · 3 评论 -
NVIDIA INT4量化算法介绍
MLPerf是由来自学界和业界的多个组织(包括Google、Baidu、Intel、AMD、哈佛和斯坦福)共同发布的新型AI基准平台,用于衡量机器学习平台的AI性能,是目前业界最权威、最公正的AI性能评测平台之一。MLPerf目前已推出v0.5评测结果,参赛队伍包括Alibaba、NVIDIA、Google、Huawei等世界知名企业。MLPerf详情见官方网站的介绍:https://www....原创 2020-01-24 14:40:22 · 5918 阅读 · 0 评论 -
网络结构搜索 (NAS: Network Architecture Search)
NAS Definition基于搜索策略,并结合约束条件 (如accuracy、latency),在搜索空间内 (set of candidate operations or blocks)探索最优网络结构、或组件结构 (如detector的backbone、FPN); 高效的NAS算法,通常是Trade-off between data-driven and experience-driv...原创 2020-01-04 11:09:21 · 8387 阅读 · 0 评论 -
基于连接重要性的稀疏剪枝
"SNIP: single shot network pruning based on connection sensitivity" 这篇文章提出了基于权重连接重要性(saliency)的剪枝方法,能够在深度模型训练之前(初始化阶段),通过mini-batch的多次采样,决定不同权重连接的重要性,进而根据剪枝目标生成剪枝模板(prunning mask)、应用于稀疏剪枝,从而节省了相对耗时的剪枝...原创 2019-03-22 16:16:02 · 4035 阅读 · 14 评论 -
知识蒸馏(Knowledge Distillation)
1、Distilling the Knowledge in a Neural NetworkHinton的文章"Distilling the Knowledge in a Neural Network"首次提出了知识蒸馏(暗知识提取)的概念,通过引入与教师网络(teacher network:复杂、但推理性能优越)相关的软目标(soft-target)作为total loss的一部分,以诱导学...原创 2018-06-04 16:55:38 · 182424 阅读 · 34 评论 -
Post-training量化策略——without training or re-training
基于Pre-trained模型,采用Post-training量化策略,能够在一定程度上弥补量化精度损失,并且避免了相对耗时的quantization-ware training或re-training过程。 WA与BC "Data-Free Quantization through Weight Equalization and Bias Correction" 这篇文章提出了两种po...原创 2019-10-01 10:22:47 · 5495 阅读 · 0 评论 -
通过训练获得最优量化区间——Quantization Interval Learning
"Learning to Quantize Deep Networks by Optimizing Quantization Intervals with Task Loss" 这篇文章提出了通过训练获得最优量化器的方法(QIL: Quantization Interval Learning),能够为网络权重与激活的量化,找到最优的量化区间或量化器参数。针对指定的训练任务,比如ImageNet图像...原创 2019-07-22 16:08:59 · 4241 阅读 · 0 评论 -
深度学习模型压缩与优化加速(Model Compression and Acceleration Overview)
1. 简介深度学习(Deep Learning)因其计算复杂度或参数冗余,在一些场景和设备上限制了相应的模型部署,需要借助模型压缩、优化加速、异构计算等方法突破瓶颈。模型压缩算法能够有效降低参数冗余,从而减少存储占用、通信带宽和计算复杂度,有助于深度学习的应用部署,具体可划分为如下几种方法(后续重点介绍剪枝与量化):线性或非线性量化:1/2bits, int8 和 fp16等; 结构或...原创 2018-07-17 17:49:48 · 45918 阅读 · 18 评论 -
Soft Filter Pruning (SFP)——允许更新Pruned Filters的Channel Pruning策略
"Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks"这篇文章首先强调了结构稀疏的优势,基于结构稀疏的channel pruning不需要特定存储格式和算法库的支持,能够充分利用成熟算法库或框架以运行剪枝后模型。文章同时提到传统的"hard filter pruning"依赖于预训练模型,并且直接删除pr...原创 2018-07-16 17:16:53 · 2900 阅读 · 38 评论 -
用MXnet预训练模型初始化Pytorch模型
1、MXnet符号图:基于MXnet所构建的符号图是一种静态计算图,图结构与内存管理都是静态的。以Resnet50_v2为例,Bottleneck结构的符号图如下: bn1 = mx.sym.BatchNorm(data=data, fix_gamma=False, eps=2e-5, momentum=bn_mom, name=name + '_bn1') ...原创 2018-06-06 15:22:52 · 2048 阅读 · 2 评论 -
ABCnet——高精度二值化网络(Binary Neural Network)
"Towards Accurate Binary Convolutional Neural Network"这篇文章提出了ABCnet,是一种表示精度较高的二值化网络结构(作为XNORnet的演进)。有关XNORnet及其优势可以参考论文:"XNORNet: ImageNet Classification Using Binary Convolutional Neural Networks"。...原创 2018-06-12 15:27:04 · 7500 阅读 · 3 评论 -
Network Slimming——有效的通道剪枝方法(Channel Pruning)
"Learning Efficient Convolutional Networks through Network Slimming"这篇文章提出了一种有效的结构性剪枝方法,即规整的通道剪枝策略:在训练期间,通过对网络BN层的gamma系数施加L1正则约束,使得模型朝着结构性稀疏的方向调整参数。此时BN层的Gamma系数所起的作用,类似于信息流通道的开关系数,控制着信息流通道的开关闭合。完成稀疏...原创 2018-06-11 11:43:54 · 14658 阅读 · 1 评论 -
学习对称形式的量化(Learning Symmetric Quantization)
"SYQ: Learning Symmetric Quantization For Efficient Deep Neural Networks"这篇文章提出了基于梯度的对称量化(SYQ: Learning Symmetric Quantization)方法设计高效率的二值化或三值化深度网络(1-bit或2-bit权重量化),并在pixel-wise或row-wise而非layer-wise定义细...原创 2018-05-28 19:58:29 · 4129 阅读 · 0 评论 -
基于NISP (Neuron Importance Score Propagation)算法的网络剪枝
"NISP: Pruning Networks using Neuron Importance Score Propagation"这篇文章认为,若只单独考虑深度网络某一层或连续两层neurons的重要性,裁剪掉看似不重要的neuron连接,可能会对后续层(不仅是接下来的一层)的响应输出产生影响,并且误差会逐层累积。因此需要整体考虑neurons的重要性。如上图所示,文章提出了NISP (Neur...原创 2018-05-26 19:12:38 · 3152 阅读 · 0 评论 -
渐进式剪枝及剪枝的必要性探讨
"To prune or not to prune: exploring the efficacy of pruning for model compression"这篇文章提出了渐进式的剪枝策略,该策略被应用于CNN、RNN与LSTM深度模型:裁剪比率逐渐减小,直至目标压缩比,曲线斜率如下:文章以复杂稀疏模型(large and sparse)与小而密集模型(small and ...原创 2018-05-25 10:22:52 · 2099 阅读 · 0 评论 -
结合量化的知识蒸馏(Quantization Mimic)
"Quantization Mimic Towards Very Tiny CNN for Object Detection"这篇文章通过将知识蒸馏(Knowledge Distillation)与量化技术(Model Quantization)有效结合,能够诱导训练生成纤细、但性能良好的目标检测网络(主干网络通道数少、层数浅的R-FCN或Faster RCNN)。Quantization Mim...原创 2018-08-28 15:44:56 · 7320 阅读 · 2 评论 -
Bi-Real Net——XNOR-net的增强与演进(Binary Neural Network)
"Bi-Real Net: Enhancing the Performance of 1bit CNNs with Improved Representational Capacity and Advanced Training Algorithm"这篇文章针对XNOR-net的缺陷,在网络结构及优化训练方面做了一系列增强与改进,具体包括引入one layer per block形式的shortc...原创 2018-09-08 18:54:05 · 5819 阅读 · 13 评论 -
目标检测网络的知识蒸馏
"Learning Efficient Object Detection Models with Knowledge Distillation"这篇文章通过知识蒸馏(Knowledge Distillation)与Hint指导学习(Hint Learning),提升了主干精简的多分类目标检测网络的推理精度(文章以Faster RCNN为例),例如Faster RCNN-Alexnet、Faster...原创 2018-09-06 17:01:21 · 18126 阅读 · 23 评论 -
基于几何中位数的通道剪枝——Filter Pruning via Geometric Median
"Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration" 这篇文章开门见山地指出了"smaller-norm-less-important"剪枝策略的不足,即通常需要满足两个前提条件:1)首先要求filter norm数据分布的偏差足够大,确保在宽泛的分布区间内,通过阈值化处理...原创 2019-08-02 11:36:53 · 4762 阅读 · 9 评论 -
基于生成对抗的结构剪枝——Generative Adversarial Learning
"Towards Optimal Structured CNN Pruning via Generative Adversarial Learning" 这篇文章提出了非常新颖的结构剪枝策略:基于生成对抗的思路,将剪枝网络设置为生成器(Generator),其输出特征作为Fake,并设置Soft Mask门控一些异质结构的输出(如通道、分支、网络层或模块等);将预训练模型设置为Baseline,B...原创 2019-07-29 16:11:37 · 3627 阅读 · 0 评论 -
MXNet的高效率CUDA NMS解析
非极大抑制(NMS:Non Maximum Suppression)起到边框(水平框或倾斜框)去重叠的作用,广泛应用于通用目标检测、人脸检测与OCR检测等算法的后处理。简单的Python实现如下:def standard_nms(S, thres): order = np.argsort(S[:, -1])[::-1] keep = [] while order.si...原创 2019-06-13 11:51:41 · 1822 阅读 · 0 评论 -
The Lottery Ticket Hypothesis: 寻找最优子网络结构
"The Lottery Ticket Hypothesis Finding Sparse, Trainable Neural Networks" 这篇文章提出了Lottery Ticket Hypothesis,认为较复杂的深度神经网络存在一个比较优化的稀疏子网络结构(称之为winning tickets),可应用于模型压缩。相比于原网络,稀疏子网络的参数量与复杂度要低许多,但推理精度基本相当。...原创 2019-05-08 16:27:11 · 8192 阅读 · 0 评论 -
PeleeNet——一种面向实时应用的精简CNN结构
Pelee: A Real-Time Object Detection System on Mobile Devices1、Pelee分类网络PeleeNet是一种基于Densenet的轻量化网络变体(variant),主要面向移动端部署。分类网络的结构改进包括以下五点:1)Stem Block:实现输入图像空间维度的第一次降采样(stride=2)和通道数的增加。并且在不增加较多计算...原创 2018-12-28 16:16:18 · 14922 阅读 · 1 评论 -
ThiNet——基于Greedy Method与最小化重建误差的Channel Selection
"ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression"这篇文章的主要贡献包括:1)基于贪心策略与最小化重建误差,设计了ThiNet剪枝方法,并且是规整的通道剪枝方法;2)将网络剪枝视作优化问题,并利用下一层的输入输出关系获取统计信息,以决定当前层的剪枝;3)在ImageNet数据集上,获得了良好的...原创 2018-12-19 14:05:30 · 2105 阅读 · 6 评论