<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gcf_uinque的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gcf_uinque</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gcf_uinque]]></copyright><item><title><![CDATA[FOCUSED QUANTIZATION FOR SPARSE CNNS]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/107580207</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/107580207</guid><author>gcf_uinque</author><pubDate>Sun, 02 Aug 2020 00:11:03 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/abs/1903.03046
代码地址：https://github.com/deep-fry/mayo.
作者针对稀疏CNNs提出了聚焦量化(focused quantization)：基于二次幂的量化策略，利用了经过细粒度剪枝后的权重。该方法能够发现不同稀疏度层中的最有效的权值表示，并且量化后的的乘法被移位操作代替，实现了高效推理。
在ResNet50中，实现了18.08倍的压缩比(CR)，top5精度损失0.24%优于现有的压缩方法。(作者将剪枝与量化一起]]></description><category></category></item><item><title><![CDATA[Lossless CNN Channel Pruning via Gradient Resetting and Convolutional Re-parameterization]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/107500679</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/107500679</guid><author>gcf_uinque</author><pubDate>Fri, 24 Jul 2020 22:40:20 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/abs/2007.03260
代码地址：https://github.com/DingXiaoH/ResRep.
因为CNN的表征能力取决于宽度，所以普通的通道剪枝往往会降低性能。作者收神经生物学关于记忆和遗忘的独立性启发，将CNN再参数化为记忆部分和遗忘部分，记忆部分学习保持性能，遗忘部分学习提高效率。

...]]></description><category></category></item><item><title><![CDATA[ONCE-FOR-ALL]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/107093339</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/107093339</guid><author>gcf_uinque</author><pubDate>Tue, 21 Jul 2020 22:25:54 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/abs/1908.09791v5
OFA网络主要的贡献就是只需要训练一次，就能得到大约2×10192 \times 10^{19}2×1019个网络，这些网络能部署在不同的场景，不需要针对不同场景训练不同的网络，因此与其他方法相比，部署成本从O(N)降为O(1)，即部署场景增加，成本几乎不变，而且精度能达到当前SOTA水平甚至超过。

Method
OFA的总体优化目标为：

WoW_oWo​是权重，archiarch_iarchi​是结构配置，C(Wo,arc]]></description><category></category></item><item><title><![CDATA[AdderNet加法网络]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/107129785</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/107129785</guid><author>gcf_uinque</author><pubDate>Sat, 04 Jul 2020 21:37:30 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/abs/1912.13200v2
Abstract
作者用加法代替神经网络中的卷积计算，将传统的CNN转变成AdderNet，大大减少了计算成本、能耗等。具体的做法就是把卷积看作是距离度量的方式，用l1l_1l1​范数来代替卷积。
Adder Networks
普通的卷积滤波器：

加法网络滤波器(利用l1l_1l1​距离)：

但是卷积滤波器输出可正可负，而加法滤波器恒为负数，因此需要通过batch normalization将输出归一化到合适的范围。
Opt]]></description><category></category></item><item><title><![CDATA[onnx-tensorrt踩坑记录]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/106182244</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/106182244</guid><author>gcf_uinque</author><pubDate>Sun, 17 May 2020 23:05:40 +0800</pubDate><description><![CDATA[github地址：https://github.com/onnx/onnx-tensorrt/tree/master
安装onnx-tensorrt
最新版似乎没有安装的教程，但是可以根据旧版来安装。
先把旧版完整的安装过程列出来：
git clone --recursive https://github.com/onnx/onnx-tensorrt.git
mkdir build
cd build
cmake .. -DTENSORRT_ROOT=&lt;tensorrt_install_dir&gt;
]]></description><category></category></item><item><title><![CDATA[pytorch转换成onnx模型的坑：Attribute 'strides' is expected to have field 'ints']]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/106062141</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/106062141</guid><author>gcf_uinque</author><pubDate>Mon, 11 May 2020 20:53:52 +0800</pubDate><description><![CDATA[训练完pytorch模型后，将其转换成onnx模型：
torch.onnx.export(model,               # model being run
                  x,                         # model input (or a tuple for multiple inputs)
                  "resnet18_float.onnx",   # where to save the model (can be a f]]></description><category></category></item><item><title><![CDATA[openvino踩坑记录——onnx模型转换成IR中间模型]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/105827378</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/105827378</guid><author>gcf_uinque</author><pubDate>Tue, 28 Apr 2020 23:32:29 +0800</pubDate><description><![CDATA[安装openvino
linux系统下按照官网教程安装openvino并进行配置：
https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html#install-openvino
ONNX模型转换
对于pytorch、tensorflow等框架训练到模型都可以转换成ONNX模型...]]></description><category></category></item><item><title><![CDATA[ubuntu系统更新：16.04-18.04]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104993675</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104993675</guid><author>gcf_uinque</author><pubDate>Fri, 20 Mar 2020 16:54:21 +0800</pubDate><description><![CDATA[先更新源和软件：
sudo apt-get update

sudo apt-get upgrade

再更新系统：
do-release-upgrade

过程中可能会出现：a new version of configuration file…is availiable…
可以选择install the package maintainer’s version(否则以后更新可能都会出现这个问题...]]></description><category></category></item><item><title><![CDATA[Ternary weight networks]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104735587</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104735587</guid><author>gcf_uinque</author><pubDate>Sun, 08 Mar 2020 21:07:43 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/abs/1605.04711
TWN和BWN类似，只对权重进行量化，只是量化后的值多了个0。其实就是BWN虽然模型压缩率高，但精度不够，于是在全精度和二值化之间取平衡，才有了TWN。
对比BWN，TWN的0并不增加乘法运算，而且表达能力更强。但是由于是三值量化，需要2bit的内存，但是这样就浪费了一位，这一点可能需要改进。
TWN思想也和BWN类似，要...]]></description><category></category></item><item><title><![CDATA[XNOR-Net]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104691822</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104691822</guid><author>gcf_uinque</author><pubDate>Fri, 06 Mar 2020 22:58:24 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/abs/1603.05279
code：http://allenai.org/plato/xnornet
这篇论文的动机是解决DNN在移动端的部署困难的问题，其实这也是量化的主要目的之一。作者提出了两种二值化网络：Binary-Weight-Networks(BWN)和XNOR-Network。其中BWN是将权重量化为1bit(+1,-1)，而XNOR...]]></description><category></category></item><item><title><![CDATA[Binarized Neural Networks]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104649496</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104649496</guid><author>gcf_uinque</author><pubDate>Wed, 04 Mar 2020 22:22:47 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1602.02830.pdf
代码：
Theano框架：https://github.com/MatthieuCourbariaux/BinaryNet
Torch框架：https://github.com/itayhubara/BinaryNet
主要内容
BNNs是在CNNs的基础上，将权重和激活值量化为1bit，即取值为+1和-1，这样前...]]></description><category></category></item><item><title><![CDATA[论文总结：Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104615424</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104615424</guid><author>gcf_uinque</author><pubDate>Mon, 02 Mar 2020 22:40:05 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1308.3432.pdf
主要内容
许多基于神经网络或深度学习的算法都是依赖于梯度的学习，为此需要平滑的网络来计算梯度，但这种想法并不正确。引入扰动可以获得估计的梯度。
像有限差分近似这种独立扰动计算低效，因此需要引入随机扰动。
那么好的梯度估计值是否可以进行计算和训练？
基于这一问题，作者讨论了四种方案：

Noisy Rectifier
...]]></description><category></category></item><item><title><![CDATA[论文总结：UNDERSTANDING STRAIGHT-THROUGH ESTIMATOR IN TRAINING ACTIVATION QUANTIZED NEURAL NETS]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104563448</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104563448</guid><author>gcf_uinque</author><pubDate>Sat, 29 Feb 2020 21:24:20 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1903.05662.pdf
主要内容
像ReLU函数这种输出可能为0的情况下，反向传播时梯度为0，权重无法更新，所以出现了STE：令输入梯度等于输出梯度的阈值函数，不管其本身导数。接着就涌现出各种改造的STE。这样就产生了两个问题：

粗梯度(经过STE修改的损失函数的梯度)不是原本损失函数的梯度，那么沿其负方向搜索为何能降低训练损失？
如何...]]></description><category></category></item><item><title><![CDATA[论文总结：Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104506072</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104506072</guid><author>gcf_uinque</author><pubDate>Wed, 26 Feb 2020 22:35:53 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1712.05877.pdf
主要内容
目前，将复杂的神经网络部署到小的移动设备上的主流方法有两种：一是设计一种体量小且高效的网络结构，如MobileNet、SqueezeNet、ShuffleNet和DenseNet等；另一种就是将网络的权重和激活值由原本的32位浮点数量化为低精度的定点数。
作者的主要贡献为：

提出一种量化方案，将权重和激...]]></description><category></category></item><item><title><![CDATA[论文总结：Post training 4-bit quantization of convolutional networks for rapid-deployment]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104484697</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104484697</guid><author>gcf_uinque</author><pubDate>Mon, 24 Feb 2020 22:38:16 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1810.05723.pdf
主要内容
神经网络的量化造成的精度损失可以通过训练来补偿，但需要完整的数据集信息(大都涉及隐私等)，而且训练很耗时，故此一些统称为训练后量化的方法被提出，这些方法只需要量化权重和激活值，不需要重新训练。但是，低于8bit的量化会导致显著的精度下降，因此作者研究了CNN训练后的4bit量化。
作者提出了三种训练后量化...]]></description><category></category></item><item><title><![CDATA[论文总结：Quantizing deep convolutional networks for efficient inference: A whitepaper]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104464660</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104464660</guid><author>gcf_uinque</author><pubDate>Sun, 23 Feb 2020 21:41:10 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1806.08342.pdf
主要内容
这篇论文是篇介绍量化的综述，对量化的动机、方法等进行了较为详细的描述。

量化器的设计。作者介绍了三种量化方案：一致仿射量化器、均匀对称量化器和随机量化器。
模型量化的方法。大致可以分为两类：Post Training Quantization(训练后量化)和 Quantization Aware Tra...]]></description><category></category></item><item><title><![CDATA[论文总结：PACT]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104435136</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104435136</guid><author>gcf_uinque</author><pubDate>Fri, 21 Feb 2020 22:48:07 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1805.06085v1.pdf
主要内容
作者提出了PArameterized Clipping acTivation(PACT)针对激活值的量化方法，使神经网络能在超低精度的权重和激活值下正常工作(精度不会显著下降)。PACT能将激活值量化至任意精度。而且还第一次证明权重和激活值都能被量化到4位，且网络精度与全精度网络的精度相当。
概括一下...]]></description><category></category></item><item><title><![CDATA[论文总结：WRPN: Wide Reduced-Precision Networks]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104396567</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104396567</guid><author>gcf_uinque</author><pubDate>Wed, 19 Feb 2020 18:16:57 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1709.01134v1.pdf
这篇论文主要篇幅都花在实验上，对于wrpn的具体原理等并未详细介绍。下面简单介绍笔者对该论文的理解。
主要内容
该论文最大贡献就是在不影响网络精度的前提下，对于激活层的量化。
如下图所示，使用minibatch时，随着batch数量的增加，激活层占用的内存显著增加。所以，作者提出了激活层量化的wrpn方法。

...]]></description><category></category></item><item><title><![CDATA[论文总结：Incremental Network Quantization]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104316797</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104316797</guid><author>gcf_uinque</author><pubDate>Fri, 14 Feb 2020 21:46:10 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/pdf/1702.03044.pdf
主要内容
作者提出了一种新的神经网络量化方法——INQ，可以将训练好的全精度的CNN模型转换为权重为2的幂次方或0的低精度模型。INQ引入了三个操作：权重划分、分组量化和再训练。大致步骤为通过某种策略(随机划分或剪枝启发)将权重分为不相交的两组，先将第一组量化作为低精度模型的基，而第二组用于补偿量化带来的精度损失，...]]></description><category></category></item><item><title><![CDATA[论文总结：DoReFa-Net]]></title><link>https://blog.youkuaiyun.com/gcf_uinque/article/details/104254334</link><guid>https://blog.youkuaiyun.com/gcf_uinque/article/details/104254334</guid><author>gcf_uinque</author><pubDate>Tue, 11 Feb 2020 22:15:24 +0800</pubDate><description><![CDATA[论文地址：https://arxiv.org/abs/1606.06160
官方Tensorflow代码：https://github.com/tensorpack/tensorpack/tree/master/examples/DoReFa-Net
PyTorch代码链接：https://github.com/XJTUWYD/DoReFa_Cifar10
主要内容
作者提出了DoReFa-Net...]]></description><category></category></item></channel></rss>