Ternary weight networks
文章目录
- Ternary weight networks
- Problem formulation
- Approximated solution with threshold-based ternary function
- Training with stochastic gradient descent method
- Model compression and run time usage
- Experiments
文章链接
Ternary weight networks
主要提出了一个Ternary weight networks(TWNs),它将网络的权值限制为{−1,0,1}\{-1, 0, 1\}{−1,0,1}。并且把它的性能和binary precision weight networks(BPWNs)和full precision weight networks(FPWNs)做了比较。
Expressive ability:能够表达的滤波器更多,例如对于一个3×33\times33×3的滤波器,可以有33∗3=196833^{3*3}=1968333∗3=19683种模板,而BPWNs只有23∗3=5122^{3*3}=51223∗3=512种模板
Model compression:比BPWNs大一倍
Computation requirement:就计算量而言,由于0是不需要任何的乘法计算的,所以计算量和BPWNs相同。
Problem formulation
目标:最小化原始的权重W和乘以一个非负的尺度因子α\alphaα的三值化之后的权重WtW^tWt之间的欧拉距离(Euclidian distance),即:
Cannot read property 'type' of undefined
这里n是滤波器的大小。TWNs在前向时的传播如下所示;
Cannot read property 'type' of undefined
其中,XXX是一个block的输入,∗*∗表示卷积运算或者inner product,ggg是非线性激活函数,⊕\oplus⊕表示inner product或者是不做乘法的卷积运算。XnextX^{next}Xnext表示这个block的输出,或者下一个block的输入。
Approximated solution with threshold-based ternary function
Wit=ft(Wi∣Δ)={+1,ifWi>Δ0,if∣Wi∣⩽Δ−1,ifWi<−Δ(3)W_i^t=f_t(W_i |\Delta)= \begin{cases} +1,&\ \ if &W_i\ \ &>&\Delta \\ 0,&\ \ if &\begin{vmatrix} W_i \end{vmatrix}&\leqslant &\Delta\\ -1,&\ \ if &W_i\ \ &<-&\Delta \end{cases} \tag{3} Wit=ft(Wi∣Δ)=⎩⎪⎨⎪⎧+1,0,−1, if if ifWi ∣∣Wi∣∣Wi >⩽<−ΔΔΔ(3)
式中,Δ\DeltaΔ是一个正的阈值,将(3)(3)(3)代入(2)(2)(2)中,可得
α∗,Δ∗=argminα≥0,Δ≥0(∣IΔ∣α2−2(∑i∈IΔ∣Wi∣)α+cΔ)(4)\alpha^*,\Delta^*=\mathop {argmin}_{\alpha \geq 0, \Delta \geq 0}(\begin{vmatrix} I_{\Delta} \end{vmatrix}\alpha^2-2(\sum_{i \in I_{\Delta}}\begin{vmatrix} W_i \end{vmatrix})\alpha+c_\Delta) \tag{4} α∗,Δ∗=argminα≥0,Δ≥0(∣∣IΔ∣∣α2−2(i∈IΔ∑∣∣Wi∣∣)α+cΔ)(4)
其中,IΔ={i∣∣Wi∣}>ΔI_{\Delta}=\{i|\begin{vmatrix} W_i \end{vmatrix} \}>\DeltaIΔ={i∣∣∣Wi∣∣}>Δ,∣IΔ∣\begin{vmatrix} I_{\Delta} \end{vmatrix}∣∣IΔ∣∣表示IΔI_{\Delta}IΔ中权值大于Δ\DeltaΔ的个数。cΔ=∑i∈IΔcWi2c_\Delta=\sum_{i\in {I_{\Delta}^{c}}}W_i^2cΔ=∑i∈IΔcWi2是一个与α\alphaα无关的常量。因此,对于一个给定的Δ\DeltaΔ,α\alphaα的最优值为:
αΔ∗=1∣IΔ∣∑i∈IΔ∣Wi∣(5)\alpha_\Delta^*={1\over\begin{vmatrix} I_{\Delta} \end{vmatrix}}\sum_{i \in I_{\Delta}}\begin{vmatrix} W_i \end{vmatrix} \tag{5} αΔ∗=∣∣IΔ∣∣1i∈IΔ∑∣∣Wi∣∣(5)
将(4)(4)(4)式中的Δ\DeltaΔ固定,cΔc_\DeltacΔ是一个常数可忽略,对α\alphaα求导即可得到(5)(5)(5)。将(5)(5)(5)式代入(4)(4)(4)中,可以得到一个与Δ\DeltaΔ相关的方程,简化可得:
Δ∗=argmaxΔ>01∣IΔ∣(∑i∈IΔ∣Wi∣)2(6)\Delta^*=\mathop {argmax}_{\Delta > 0}{{1\over\begin{vmatrix} I_{\Delta} \end{vmatrix}}(\sum_{i \in I_{\Delta}}\begin{vmatrix} W_i \end{vmatrix})^2} \tag{6} Δ∗=argmaxΔ>0∣∣IΔ∣∣1(i∈IΔ∑∣∣Wi∣∣)2(6)
但是式(6)(6)(6)没有一个直接的解,因此假设WiW_iWis是均匀分布或者正态分布的(uniform or normal distribution),为了简化计算,估计
Δ∗≈0.7⋅E(∣W∣)≈1n∑i=1n∣Wi∣(7)\Delta^* \approx 0.7\cdot E(\begin{vmatrix} W \end{vmatrix}) \approx{1\over n}\sum_{i=1}^n\begin{vmatrix} W_i \end{vmatrix} \tag{7} Δ∗≈0.7⋅E(∣∣W∣∣)≈n1i=1∑n∣∣Wi∣∣(7)
在具体的实现过程中,即先计算出网络的阈值Δ∗\Delta^*Δ∗,利用它根据(3)(3)(3)式把网络的权值变为{−1,0,1}\{-1,0,1\}{−1,0,1},对于某一层的输入XXX,根据(2)(2)(2)式把它乘以α\alphaα得到αX\alpha XαX作为新的输入,然后进行前向的传播。
Training with stochastic gradient descent method
使用了SGD训练TWNs,三值化的权重在前向传播和反向传播时使用,但是在参数更新时不使用,另外,还使用了Batch Normalization、learning rate scaling、momentum。
Model compression and run time usage
相对于float和double精度的模型,就运行时间而言,该模型可达到16倍或者32倍的压缩倍率。
Experiments
具体可参见论文
Ternary weight networks相关推荐
- Ternary weight networks 论文笔记
前言 就目前而言,深度神经网络的层数和训练时间变得越来越多.一方面,人们想要在处理器上面下功夫,但是处理器的处理速度也十分有限.造成目前一个比较深的神经网络的训练时间有时候往往需要一到两周,基于目前的 ...
- 权值简化(1):三值神经网络(Ternary Weight Networks)
三值神经网络: 本文是对中科院两位科研工作者的文章的理解翻译: 就目前而言,深度神经网络的层数和训练时间变得越来越多.一方面,人们想要在处理器上面下功夫,但是处理器的处理速度也十分有限.造成目前一个比 ...
- 二值网络--Training Binary Weight Networks via Semi-Binary Decomposition
Training Binary Weight Networks via Semi-Binary Decomposition ECCV2018 CNN模型的压缩或加速总体上分为三类: pruning-b ...
- 三值网络--Trained Ternary Quantization
Trained Ternary Quantization ICLR 2017 https://github.com/TropComplique/trained-ternary-quantization ...
- deeplearning模型量化实战
deeplearning模型量化实战 MegEngine 提供从训练到部署完整的量化支持,包括量化感知训练以及训练后量化,凭借"训练推理一体"的特性,MegEngine更能保证量化 ...
- 【知识星球】模型量化从1bit到8bit,二值到三值
欢迎大家来到<知识星球>专栏,这里是网络结构1000变小专题,模型量化是当前工业界的核心技术,我们最近在知识星球更新相关的内容. 作者&编辑 | 言有三 1 1bit量化-二值网络 ...
- 工程之道,深度学习的工业级模型量化实战
MegEngine 提供从训练到部署完整的量化支持,包括量化感知训练以及训练后量化,凭借"训练推理一体"的特性,MegEngine更能保证量化之后的模型与部署之后的效果一致.本文将 ...
- 低精度神经网络:从数值计算角度优化模型效率
作者丨林野 学校丨东北大学自然语言处理实验室2019级博士生 研究方向丨机器翻译.模型压缩.模型加速 背景 近年来,随着人工智能的不断兴起,神经网络已经在语音识别.计算机视觉和自然语言处理领域等多个任 ...
- 超全总结:神经网络加速之量化模型 | 附带代码
作者丨郝泽宇 学校丨西安交通大学人机所硕士生 研究方向丨深度神经网络压缩 鸣谢 | XJTU @魏亚东 I.C. @董豪 量化模型(Quantized Model)是一种模型加速(Model Acce ...
最新文章
- VOC 灰度图 索引图
- ADO.NET 数据连接查询
- 第三方提权之serv-u提权
- Nginx server_name通配符匹配配置
- WEB超链分析算法纵览
- 计算机网络管理员高级技师证书,计算机网络管理员(高级技师)职业资格考核标准详细分析.doc...
- 菊子曰获取模板的草稿{29C28FD771BA4B0D8693}
- linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】
- Web前端笔试115道题(带答案及解析)
- 软件开发工作量的估算方法
- Ant Design 台湾TW地区二级联动 数据
- 用System中System.setOut()方法修改输出方式
- python作业——SVM预测交通流量
- 1.电磁波传播原理,慢衰落、快衰落、阴影效应、多径传播、多普勒效应、塔下黑。
- 2022-2027年中国塑料齿轮行业发展监测及投资战略研究报告
- 众安在线荣获第十届中国证券金紫荆“最佳投资者关系上市公司”奖
- PHP初级程序员能力测试参考答案
- M1 mac使用UTM安装kali linux
- 用串口连接 设置超级终端管理交换机(转)
- ENDC NEDC NGEN-DC是什么
热门文章
- Ubuntu18.04启动盘制作
- 复星打造的外滩新地标--BFC外滩金融中心将于12月12日正式开业
- (NO.00004)iOS实现打砖块游戏(一):素材的制作
- Ta,两年拿下了10亿美金
- 鸿蒙系统概述(HarmonyOS)学习这一篇就够了!
- 查看linux版本32还是64位,查看linux系统版本是32位的还是64位的
- jquery easyui datagrid 列自适应窗口宽度
- 手把手教你如何将chatgpt接入微信公众号
- 【软件开发】基于PyQt5开发的标注软件
- win10 linux安卓模拟器,WIN10电脑安卓模拟器逍遥安卓唯一真正支持