UNDERSTANDING STRAIGHT-THROUGH ESTIMATOR IN TRAINING ACTIVATION QUANTIZED NEURAL NETS
STE作为一种方法已经被提出很久了,也出现了很多它的变体。但它在本质上,是用了一个与当前函数无关的梯度来代替原有的梯度,为什么这个朝着这个替代品的梯度下降的方向优化网络有用?面对已经提出的许多STE的变体,我们应该如何选取?本文的主要内容就是解决以上两个问题。
首先,作者定义了一个简单的网络:
其中Z是一个取样自(0,1)高斯分布的输入数据,w和v是权重,σ是二元的的激活函数:
标签的定义如下:
损失函数的定义如下:
由于
,作者这里使||w*||等于1.于是优化目标变为:
使用传统的反向传播方式对参数进行求导的结果是:
但σ的导数几乎处处是零,这就导致网络无法训练,于是STE就提出了解决方案,使用一个可求导的μ函数的导数来代替它:
这样就可以进行训练了。
接着作者定义了真实参数和实际参数的夹角:
并依次改造了损失函数和损失对参数的梯度:
当w为零向量时,不管v是何值,(v,w)都不可能是极小值,模型可能的极小值点为:
其中第二种情况显然是全局最优点,而第一种情况,如果有的话,就是鞍点。
随后作者通过实验证明,使用STE方法时,即使假定输入数据满足不同的分布,损失始终是下降的,且损失的平滑程度随着数据量的提升而提升:
随后作者分别证明了vanilla ReLU和clipped ReLU(如下图所示):分别与真实梯度呈非负相关\正相关,且最终会在鞍点或全局最小值处收敛,而传统的STE方法则不能在这里收敛。随后作者用实验证明了它的正确。
UNDERSTANDING STRAIGHT-THROUGH ESTIMATOR IN TRAINING ACTIVATION QUANTIZED NEURAL NETS相关推荐
- Paper:Xavier参数初始化之《Understanding the difficulty of training deep feedforward neural networks》的翻译与解读
Paper:Xavier参数初始化之<Understanding the difficulty of training deep feedforward neural networks>的 ...
- Paper之DL之BP:《Understanding the difficulty of training deep feedforward neural networks》
Paper之DL之BP:<Understanding the difficulty of training deep feedforward neural networks> 目录 原文解 ...
- 经典DL论文研读(part1)--Understanding the difficulty of training deep feedforward neural networks
学习笔记,仅供参考,有错必纠 文章目录 Understanding the difficulty of training deep feedforward neural networks Abstra ...
- 【Deep Learning】笔记:Understanding the difficulty of training deep feedforward neural networks
这几天读了这篇论文,在这里将大致内容写在这里. Abstract 介绍这篇论文的主要内容就是尝试更好的理解为什么使用"标准随机初始化"来计算使用标准梯度下降的网络效果通常来讲都不是 ...
- 《Understanding the Effective Receptive Field in Deep Convolutional Neural Networks》理解深卷积神经网络中的有效感受野
前言 论文推荐来自B站UP-启释科技,该up对感受野和卷积有深刻的理解 推荐感受野视频讲解: 深度理解感受野(一) 深度理解感受野(二) 深度理解感受野(三) 深度理解感受野(四) 深度理解感受野(五 ...
- 【阅读】A Comprehensive Survey on Distributed Training of Graph Neural Networks——翻译
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] (本文中,涉及到公式部分的翻译不准确,请看对应原文.) 另一篇:[阅读]Distributed Graph Neural Networ ...
- 二值网络训练--Training Competitive Binary Neural Networks from Scratch
Training Competitive Binary Neural Networks from Scratch https://github.com/hpi-xnor/BMXNet-v2 MXNet ...
- 有效感受野--Understanding the Effective Receptive Field in Deep Convolutional Neural Networks
Understanding the Effective Receptive Field in Deep Convolutional Neural Networks NIPS 2016 本文主要分析了 ...
- 论文笔记:Straight to the Tree: Constituency Parsing with Neural Syntactic Distance
论文笔记:Straight to the Tree: Constituency Parsing with Neural Syntactic Distance 目录 论文笔记:Straight to t ...
- Flexpoint: An Adaptive Numerical Format for Efficient Training of Deep Neural Networks:弯曲点:一种有效训练深度神
2017.:Flexpoint: An Adaptive Numerical Format for Efficient Training of Deep Neural Networks:弯曲点:一种有 ...
最新文章
- jQuery - 当当网我的订单页
- 博世投资张翠波:自动驾驶需要突破芯片、传感器、深度学习算法等关键技术
- 【spring】jar包详解与模块依赖关系
- 适用于 ESXi 6.x 中的 OpenSLP 安全漏洞 (CVE-2019-5544) 的权宜措施 (76372)
- 使用spring集成的kafka收发消息
- [leetcode]Symmetric Tree
- (转)“宇宙之王”高盛在历史的交叉口,不得不全面走向机器自动化
- MyBatis入门到精通,最全最详细的MyBatis学习教程来了
- 关于:Google Chrome 官方下载地址
- [Win32]路径操作API函数
- 笔记十五:研发管理者如何激励他人
- 删除Mac中的Windows启动项
- xp下 c语言用什么编程软件,学C语言在windows XP环境下用什么编程软件好??
- tomcat9开启远程调试功能
- 【Python自动化测试14】Python自动化测试基础与进阶练习题
- cortex-M3/cortex-M4处理器简介
- C3P0的使用 Spring配置数据库连接池
- Attention Map
- Python学习笔记3-Python开发工具
- Codeup——597 | 问题 A: Set Similarity (25)
热门文章
- 什么是抓包?为什么要抓包?
- [Unity]摘录笔记UnityShader(解读shader代码构成)
- CF679A.Bear and Prime 100 (交互题)
- html5遮罩层动画制作,纯css3图片点击弹出动画遮罩层效果
- 北理计算机专业如何,2019北理计算机学硕经验分享
- 如何写好一份用户需求说明书
- (六)K8S中HostPath、EmptyDir、ConfigMap、Secret、Downward API用法
- 关于node-pyg的路径问题导致build失败
- Java8 装逼for循环写法
- java中指数形式的格式_java – 复数的指数形式