[tensorflow 入门]ReLU 与MNIST卷积
来源:互联网 发布:淘宝手机直通车怎么找 编辑:程序博客网 时间:2024/06/08 18:43
ReLU
为什么引入非线性激励函数?
如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。
正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入。
为什么引入ReLU?
- 计算量小。采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。
- 对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失,,从而无法完成深层网络的训练。
- Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生,即神经元低于阈值时处于沉默状态。
当然现在也有一些对relu的改进,比如prelu,random relu等,在不同的数据集上会有一些训练速度上或者准确率上的改进,具体的大家可以找相关的paper看。
多加一句,现在主流的做法,会多做一步batch normalization,尽可能保证每一层网络的输入具有相同的分布[1]。而最新的paper,他们在加入bypass connection之后,发现改变batch normalization的位置会有更好的效果。
什么是ReLU?
RuLU:
f(x)=max(0,x)
它的一个平滑解析函数softplus为:
f(x)=ln(1+ex)
MNIST 入门:卷积
待编辑
阅读全文
0 0
- [tensorflow 入门]ReLU 与MNIST卷积
- tensorflow,卷积神经网络与mnist
- [TensorFlow]入门学习笔记(2)-卷积神经网络mnist手写识别
- Tensorflow 02: 卷积神经网络-MNIST
- [tensorflow 入门] MNIST 入门
- Tensorflow之Mnist入门
- TensorFlow入门-MNIST & CNN
- tensorflow入门Day3-MNIST
- tensorflow 入门之MNIST
- Tensorflow-MNIST入门实例
- tensorflow mnist入门
- Tensorflow安装,mnist入门
- tensorflow mnist入门
- tensorflow入门 Mnist
- MNIST tensorflow官方卷积网络示例
- tensorflow笔记:卷积神经网络用于MNIST识别
- 【20170630】TensorFlow与python学习(2)-Mnist入门
- TensorFlow安装与入门: 使用CNN训练MNIST
- HDU 6103 Kirinriki
- sphinx 的安装与应用
- 自定义注解框架的那些事
- WordPress需要删除的13个函数
- 客户端调用CXF2.2.3 webservice
- [tensorflow 入门]ReLU 与MNIST卷积
- 应用数据源Druid监控SQL语句的执行情况配置
- linux 内核自旋锁spinlock实现详解(基于ARM处理器)
- hadoop IO操作
- tcp滑动窗口以拥塞窗口和各种缓冲的总结
- POJ3061-Subsequence
- mock数据
- POJ 3155 Hard Life(最大密度子图)
- ubuntu下 u盘的格式化