神经网络-专题教程

【结构】BP神经网络的模型结构

作者 : 老饼 发表日期 : 2023-03-26 19:15:08 更新日期 : 2024-11-12 18:18:02
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



BP神经网络是一种前馈形结构的神经网络,并以后馈形式来传播误差

本文介绍BP神经网络的通用结构和常用的三层结构,以及神经元之间的传递关系

通过本文,可以清晰地了解BP神经网络的拓扑结构,以及神经元与神经元之间的计算方法




  01. BP神经网络的通用结构  




本节介绍BP神经网络的通用结构,以及它的工作原理




     BP神经网络的通用结构     


BP的通用结构拓扑图如下:
   BP神经网络的结构拓扑图  
在通用结构中,包含了输入层、隐层和输出层,
隐层和输出层的神经元都有自己的阈值和激活函数
它属于前馈型神经网络,即神经元是层层连接、逐层向前传递,
以上仅是一个BP神经网络通用的结构形式,
在使用时,我们需要设定具体的参数,让其具有具体的结构
  对一个BP神经网络来说,需要确定的参数有以下:
 
👉 隐层个数                         
 👉 每个隐层的隐神经元个数 
 👉 每层神经元的激活函数    





     神经元的工作原理    


神经元是BP神经网络的重要组成部分
除了输入层之外,其它层的神经元都有自己的阈值和激活函数
  每个神经元的工作原理如下:
 
BP神经网络的神经元工作原理 
 如图,它将接收到的输入值加权后并加上阈值,就是神经元的值N
 

 
然后将神经元的值N经过自身激活函数T进行转换,就是神经元的输出值
 

每层神经元的输出值,都会传输给下一层,作为下层神经元的输入值







   02. BP神经网络常用结构   




下面介绍实践中一般使用的BP神经网络结构




     BP神经网络常用结构与配置     


虽然BP的通用结构里允许有多个隐层,并且可以设置不同的激活函数,
 但实际上,最常用的是设一个隐层,即一共三层:1个输入层、1个隐层、1个输出层
其中,隐层神经元的激活函数设为tansig函数,输出层的激活函数设为purelin
  如此一来,BP神经网络的结构就如下图所示:
 
  B常用的三层BP神经网络结构 
   其中 
 
tansig函数为S型函数:     
purelin 为恒等线性映射函数:             
上图为3个隐神经元,在实际中,隐神经元个数由具体问题具体设定
✍️说明
 1、输出层设为purelin,也即相当于输出层没有激活函数  
2、 隐层激活函数也可以设为logsig                             
    logsig的表达式为
 ,它和tansig没有太多质的区别 
区别只在于,logsig的取值范围是【0,1】,而tansig是【-1,1】





     为什么BP神经网络实践中采用三层结构     


为什么在实践中一般采用上述的结构呢?主要是因为这样的结构简单又有效
 简单是因为它只有一个隐层,比起多隐层BP神经网络,无疑是要简洁许多 
有效是因为隐层激活函数采用了S型函数,这样网络就有了拟合非线性的能力
而输出层采用purelin,又可以让它的输出不受限制,所以它可以拟合任意非线性曲线
 
如此一来,三层结构就“麻雀虽小,却五脏俱全”,简单又有效
后来有人证明,这种结构只要隐神经元足够,就能逼近任何函数,如此一来,基本就都使用这种结构了





   老饼语   


事实上,BP神经网络有两个巨大的贡献,
首先是它的三层结构,在对一些传统小数据的拟合上简单、有效,曾经红极一时
而另一个是它的多层结构,BP神经网络所提出的多层结构开启了深度学习之门   
 在深度学习井喷之前,多层结构甚至可以说只是一种“毫无用处”的形式,
但在深度学习之后,三层结构所作的贡献,反而是渺小至极,
毕竟,三层结构仅是解决了一些具体的问题,而多层结构则是开启了一个时代,这是无法比拟的
但必须注意的是,尺有所短,寸有所长,杀鸡勿用牛刀,在解决小数据上不要随便套用多层神经网络






以上就是BP神经网络的模型结构的全部内容了~







 End 




联系老饼