Relu激活函数的优点

Relu优点:

1、可以使网络训练更快。

相比于sigmoid、tanh,导数更加好求,反向传播就是不断的更新参数的过程,因为其导数不复杂形式简单。

2、增加网络的非线性。

本身为非线性函数,加入到神经网络中可以是网格拟合非线性映射。

3、防止梯度消失。

当数值过大或者过小,sigmoid,tanh的导数接近于0,relu为非饱和激活函数不存在这种现象。

4、使网格具有稀疏性。

由于小于0部分为0,大于0部分才有值,所以可以减少过拟合。

softmax作用:

将神经网络的输出变为概率分布。

1、数据之和为1.

2、负数变为正数。

cross entropy

衡量两个概率分布的距离。

1、值越小,距离越近。

2、值越大,距离越远。

AlexNet优点:

(1)成功使用relu作为cnn的激活函数,并验证其效果在较深的网络超过sigmoid,成功解决了sigmoid在网络较深时的梯度弥散问题。

(2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。dropout虽有单独的论文论述。但是AlexNet将其实用化。通过实践证实了它的效果。在AlexNet中主要是最后几个全连接层使用了Dropout。

(3)在cnn中使用重叠的最大池化,此前cnn中普遍使用平均池化。AlexNet全部使用最大池化。避免平均池化的模糊化效果。并且让步长比池化核的尺寸小。这样池化的输出之间会有重叠和覆盖。提升了特征的丰富性。

(4)提出了LRN层,对局部神经元的活动创建竞争机制,使得其中相应比较大的值变得相对更大。并抑制其他反馈较小的神经元,增强模型的泛化能力。

(5)使用CUDA加深深度卷积网络的训练,利用GPU强大的并行计算能力。处理神经网络训练时大量的矩阵运算。AlexNet使用了两块GTX 580 GPU进行训练。同时AlexNet的设计让Gpu之间的通信只在网络的某些层进行,控制了通信的性能损耗。

(6)数据增强。随机地从256*256的原始图像中截取224*224大小的区域(以及水平旋转的镜像)对图像的RGB数据进行PCA处理,并对主成分做一个标准差为0,1高斯扰动,增加 一些噪声。

原文地址:https://www.cnblogs.com/limingqi/p/12238630.html

时间: 2024-10-11 09:48:49

Relu激活函数的优点的相关文章

tensorflow Relu激活函数

1.Relu激活函数 Relu激活函数(The Rectified Linear Unit)表达式为:f(x)=max(0,x). 2.tensorflow实现 #!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf input_data = tf.constant( [[0, 10, -10],[-1,2,-3]] , dtype = tf.float32 ) output = tf.nn.relu(input

ReLu激活函数

起源:传统激活函数.脑神经元激活频率研究 传统神经网络中最常用的两个激活函数,Sigmoid系(Logistic-Sigmoid.Tanh-Sigmoid)被视为神经网络的核心所在. 从数学上来看,非线性的Sigmoid函数对中央区的信号增益较大,对两侧区的信号增益小,在信号的特征空间映射上,有很好的效果. 从神经科学上来看,中央区区域酷似神经元的兴奋态,两侧区酷似神经元的抑制态,因而在神经网络学习方面,可以将重点特征推向中央区,将非重点特征推向两侧区. 无论是哪种解释,其实都比早期的线性激活函

ReLU激活函数的缺点

训练的时候很"脆弱",很容易就"die"了,训练过程该函数不适应较大梯度输入,因为在参数更新以后,ReLU的神经元不会再有激活的功能,导致梯度永远都是零. 例如,一个非常大的梯度流过一个 ReLU 神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了,那么这个神经元的梯度就永远都会是 0. 如果 learning rate 很大,那么很有可能网络中的 40% 的神经元都"dead"了. 原因: 假设有一个神经网络的输入W遵循某种分布,

神经网络中激活函数总结

http://blog.csdn.net/whiup/article/details/52276110 1. sigmoid激活函数 sigmoid将一个实数输入映射到[0,1]范围内,如下图(左)所示.使用sigmoid作为激活函数存在以下几个问题: 梯度饱和.当函数激活值接近于0或者1时,函数的梯度接近于0.在反向传播计算梯度过程中:δ(l)=(W(l))Tδ(l+1)?f′(z(L)),每层残差接近于0,计算出的梯度也不可避免地接近于0.这样在参数微调过程中,会引起参数弥散问题,传到前几层

AI - 深度学习之美十四章-概念摘要(8~14)

原文链接:https://yq.aliyun.com/topic/111 08 反向传播(Back Propagation,简称BP) 算法 在神经网络(甚至深度学习)参数训练中,BP算法占据举足轻重的地位. 实际上BP算法是一个典型的双向算法,但通常强调的是反向传播. 工作流程分两大步: 正向传播输入信号,输出分类信息(对于有监督学习而言,基本上都可归属于分类算法).简单说来,就是把信号通过激活函数的加工,一层一层的向前"蔓延",直到抵达输出层. 反向传播误差信息,调整全网权值.如果

深度学习常见问题解析

计算机视觉与自动驾驶 今天 一.为什么深层神经网络难以训练? 1.梯度消失.梯度消失是指通过隐藏层从后向前看,梯度会变得越来越小,说明前面层的学习会显著慢于后面层的学习,所以学习会卡主,除非梯度变大. 梯度消失的原因:学习率的大小,网络参数的初始化,激活函数的边缘效应等.在深层神经网络中,每一个神经元计算得到的梯度都会传递给前一层,较浅层的神经元接收到的梯度受到之前所有层梯度的影响.如果计算得到的梯度值非常小,随着层数增多,求出的梯度更新信息将会以指数形式衰减,就会发生梯度消失. 2.梯度爆炸.

[转]激活函数ReLU、Leaky ReLU、PReLU和RReLU

"激活函数"能分成两类--"饱和激活函数"和"非饱和激活函数". sigmoid和tanh是"饱和激活函数",而ReLU及其变体则是"非饱和激活函数".使用"非饱和激活函数"的优势在于两点:    1.首先,"非饱和激活函数"能解决所谓的"梯度消失"问题.    2.其次,它能加快收敛速度.    Sigmoid函数需要一个实值输入压缩至[0,1]

神经网络中的激活函数具体是什么?为什么Relu要好过与tanh和sigmoid function

为什么要引入激活函数? 如果不用激活函数(其实相当于激励函数是f(x)=x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机了. 正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是是输入的线性组合,可以逼近任意函数).最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入.激活函数的作用是为了增加神经网络模型的非线性.否则你想

注意力机制下的激活函数:自适应参数化ReLU

本文在综述传统激活函数和注意力机制的基础上,解读了一种注意力机制下的激活函数,即自适应参数化修正线性单元(Adaptively Parametric Rectifier Linear Unit,APReLU),希望对大家有所帮助. 1. 激活函数 激活函数是现代人工神经网络的重要组成部分,其作用是实现人工神经网络的非线性化.我们首先来介绍几种最常见的激活函数,即Sigmoid激活函数.Tanh激活函数和ReLU激活函数,分别如下图所示. Sigmoid激活函数和Tanh激活函数的梯度取值范围分别