人工神经元模型

生物学上神经元通常由细胞体,细胞核,树突和轴突构成。

树突用来接收其他神经元传导过来的信号,一个神经元有多个树突;

细胞核是神经元中的核心模块,用来处理所有的传入信号;

轴突是输出信号的单元,它有很多个轴突末梢,可以给其它神经元的树突传递信号。

人工神经元的模型可以由下图来表述:

图中X1~Xn是从其它神经元传入的输入信号,Wi1~Win分别是传入信号的权重,θ表示一个阈值,或称为偏置(bias),偏置的设置是为了正确分类样本,是模型中一个重要的参数。神经元综合的输入信号和偏置(符号为-1~1)相加之后产生当前神经元最终的处理信号net,该信号称为净激活或净激励(net activation),激活信号作为上图中圆圈的右半部分f(*)函数的输入,即f(net); f称为激活函数或激励函数(Activation Function),激活函数的主要作用是加入非线性因素,解决线性模型的表达、分类能力不足的问题。上图中y是当前神经元的输出。

常见的激活函数

1.  Sigmoid

Sigmoid函数的特点是会把输出限定在0~1之间,如果是非常大的负数,输出就是0,如果是非常大的正数,输出就是1,这样使得数据在传递过程中不容易发散。

Sigmod有两个主要缺点,一是Sigmoid容易过饱和,丢失梯度。从Sigmoid的示意图上可以看到,神经元的活跃度在0和1处饱和,梯度接近于0,这样在反向传播时,很容易出现梯度消失的情况,导致训练无法完整;二是Sigmoid的输出均值不是0,基于这两个缺点,SIgmoid使用越来越少了。

2. tanh

tanh是Sigmoid函数的变形,tanh的均值是0,在实际应用中有比Sigmoid更好的效果。

3. ReLU

ReLU是近来比较流行的激活函数,当输入信号小于0时,输出为0;当输入信号大于0时,输出等于输入。

ReLU的优点:

1. ReLU是部分线性的,并且不会出现过饱和的现象,使用ReLU得到的随机梯度下降法(SGD)的收敛速度比Sigmodi和tanh都快。

2. ReLU只需要一个阈值就可以得到激活值,不需要像Sigmoid一样需要复杂的指数运算。

ReLU的缺点:

在训练的过程中,ReLU神经元比价脆弱容易失去作用。例如当ReLU神经元接收到一个非常大的的梯度数据流之后,这个神经元有可能再也不会对任何输入的数据有反映了,所以在训练的时候要设置一个较小的合适的学习率参数。

4. Leaky-ReLU

相比ReLU,Leaky-ReLU在输入为负数时引入了一个很小的常数,如0.01,这个小的常数修正了数据分布,保留了一些负轴的值,在Leaky-ReLU中,这个常数通常需要通过先验知识手动赋值。

5. Maxout


Maxout是在2013年才提出的,是一种激发函数形式,一般情况下如果采用Sigmoid函数的话,在前向传播过程中,隐含层节点的输出表达式为:

其中W一般是二维的,这里表示取出的是第i列,下标i前的省略号表示对应第i列中的所有行。而在Maxout激发函数中,在每一个隐含层和输入层之间又隐式的添加了一个“隐含层”,这个“隐隐含层”的激活函数是按常规的Sigmoid函数来计算的,而Maxout神经元的激活函数是取得所有这些“隐隐含层”中的最大值,如上图所示。

Maxout的激活函数表示为:

f(x)=max(wT1x+b1,wT2x+
b2)

可以看到,ReLU 和 Leaky ReLU 都是它的一个变形(比如,w1,b1=0 的时候,就是 ReLU)。

Maxout的拟合能力是非常强的,它可以拟合任意的的凸函数,优点是计算简单,不会过饱和,同时又没有ReLU的缺点(容易死掉),但Maxout的缺点是过程参数相当于多了一倍。

其他一些激活函数列表:

3. 神经网络模型分类

神经网络由大量的神经元互相连接而构成,根据神经元的链接方式,神经网络可以分为3大类。

(1) 前馈神经网络 ( Feedforward Neural Networks )

前馈网络也称前向网络。这种网络只在训练过程会有反馈信号,而在分类过程中数据只能向前传送,直到到达输出层,层间没有向后的反馈信号,因此被称为前馈网络。前馈网络一般不考虑输出与输入在时间上的滞后效应,只表达输出与输入的映射关系;

感知机( perceptron)与BP神经网络就属于前馈网络。下图是一个3层的前馈神经网络,其中第一层是输入单元,第二层称为隐含层,第三层称为输出层(输入单元不是神经元,因此图中有2层神经元)。

(2)反馈神经网络 ( Feedback Neural Networks )

反馈型神经网络是一种从输出到输入具有反馈连接的神经网络,其结构比前馈网络要复杂得多。反馈神经网络的“反馈”体现在当前的(分类)结果会作为一个输入,影响到下一次的(分类)结果,即当前的(分类)结果是受到先前所有的(分类)结果的影响的。

典型的反馈型神经网络有:Elman网络和Hopfield网络。


(3)自组织网络 ( SOM ,Self-Organizing Neural Networks )

自组织神经网络是一种无导师学习网络。它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。

人工神经元模型及常见激活函数相关推荐

  1. 多层感知器及常见激活函数-深度神经网络DNN及计算推导

    多层感知器 在之前的博客中,我们了解到,感知器(指单层感知器)具有一定的局限--无法解决异或问题,即线性不可分的问题. 将多个单层感知器进行组合,就可以得到一个多层感知器(MLP--Multi-Lay ...

  2. 整理Sigmoid~Dice常见激活函数,从原理到实现

    本文首发于我的个人博客: 激活函数:https://fuhailin.github.io/activation-functions/ 并同步于我的公众号:赵大寳Note(ID:StateOfTheAr ...

  3. 人工神经元模型的三要素,神经元模型包括

    人工神经网络的基本特征 人工神经网络是由大量处理单元互联组成的非线性.自适应信息处理系统.它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理.记忆信息的方式进行信息处理. 人工神经 ...

  4. 单个人工神经元模型示意图,人体神经元模型制作

    人工神经元的基本构成 人脑的神经元模型如图8.6所示.图中一个神经元由细胞核.一个轴突.多个树突.突触组成.生物电信号从树突传入,经过细胞核处理,从轴突输出一个电脉冲信号. 神经元通过树突与轴突之间的 ...

  5. matplotlib.pyplot绘制常见激活函数图像

    通过绘制几个常见的激活函数图像,简单介绍pyplt绘制子图的方法,包括子图绘制,间距调整,子图和主图标题设置,子图坐标轴标签设置,子图坐标范围调整等. 下面是代码示例和绘图结果示例 # 该代码用于绘制 ...

  6. 深度学习之常见激活函数-Sigmoid、Tanh、ReLu、softplus、softmax、ELU、PReLU

    一.常见激活函数总结 激活函数: 就是在神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端. 常见的激活函数包括 Sigmoid TanHyperbolic(tanh) ReLu softp ...

  7. sigmoid函数解决溢出_常见激活函数优缺点与dead relu problem

    转载自: G-kdom:温故知新--激活函数及其各自的优缺点​zhuanlan.zhihu.com 1.什么是激活函数? 所谓激活函数(Activation Function),就是在人工神经网络的神 ...

  8. 激活函数(Activation Function)及十大常见激活函数

    目录 1 激活函数的概念和作用 1.1 激活函数的概念 1.2 激活函数的作用 1.3 通俗地理解一下激活函数(图文结合) 1.3.1 无激活函数的神经网络 1.3.2 带激活函数的神经网络 2 神经 ...

  9. 【深度学习】激活函数:原理+常见激活函数(Sigmoid\Tanh\ReLU\Leaky ReLU\Softmax)

    首先需要知道为什么要引入激活函数:激活函数是用来加入非线性因素的,因为线性模型的表达能力不够.引入非线性激活函数,可使深层神经网络的表达能力更加强大. 在深度学习中,线性模型只需要简单的全连接层就能实 ...

  10. 常见激活函数持续更新)sigmoid Tanh Relu Leaky-ReLU RReLU

     激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线. sigmoid 公式: 函数图像:  Sigmoid函数也叫 Logistic 函数,用于隐层神经元输出,取值范 ...

最新文章

  1. 编写spring应用
  2. 解决WIN7与虚拟机CentOS的文件夹共享问题
  3. ZOJ 3609 Modular Inverse(扩展欧几里得)题解
  4. ABAP:DYNP_VALUES_READ读取屏幕字段值
  5. 使用parted命令对硬盘进行操作
  6. git把本地代码上传(更新)到github上
  7. try、catch、finally用法总结
  8. leetcode_150. 逆波兰表达式求值
  9. 【C语言】在线OJ题 BC72-BC87-牛客网编程初学者入门训练
  10. 记腾讯一面 | 掘金技术征文
  11. java完全自学手册(java完全自学手册pdf洪维恩)
  12. python b站弹幕分析_【python】B站弹幕数据分析及可视化(爬虫+数据挖掘)
  13. hadoop SLA
  14. matlab plc控制系统设计,基于MATLAB的PLC温度监控系统设计
  15. 依赖倒转原则与里氏代换原则
  16. 前端开发是做什么的?工作职责有哪些?
  17. LAME应用教学--HIFI级MP3制作之路
  18. B - LIS LCS
  19. python游戏联机_CoderZh首款Python联机对战游戏 - NancyTetris1.0倾情发布(一)
  20. SSR 配置postcss 自动将px转化为rem

热门文章

  1. Redis雪崩效应以及解决方案
  2. 机器学习库sklearn之怎么划分训练集和测试集
  3. editormd显示后台html,editormd文档不显示内容了,js也全部都引入了
  4. RTL8152网卡灯配置详细说明
  5. 常见的DoS攻击防御方式
  6. 音视频中的语音信号处理技术
  7. FAT文件系统解析(一) 引导扇区、FAT表及根目录区分析
  8. 从布朗运动、随机微积分到股票买卖
  9. c#登陆qq空间无视JS加密
  10. 【安全知识分享】PPTX|精益安全管理(130页)(附下载)