人工神经网络——理解人工神经元和神经网络

前言

人工神经网络主要根据大脑神经元构建人工神经元,并且按照一定的拓扑结构建立神经元之间的连接,模拟生物神经网络。早期模型强调生物合理性,目前更加强调对认知能力的模拟,完成某种特定任务。人工神经网络系列博客持续更新。由于本人更喜欢使用Word和Mathtype,所以较多截图。如果我的理解有欠缺或者错误,望指出。

目录

一、生物神经元

二、人工神经元模型

三、生物神经网络

四、人工神经网络

4.1 模拟生物神经网络

4.2 网络结构

五、总结


一、生物神经元

大脑神经系统是由成千上万的生物神经元通过突触相互连接的复杂神经网络,因此神经元是神经系统的基本组成单元,用于产生神经冲动和传输神经冲动。下图展示了一个典型的生物神经元结构:  

                                                     

生物神经元主要由细胞体、树突和轴突组成。

(1)树突:从细胞体向四周分散开来的突起称之为树突,用于接收神经冲动,神经元细胞有一个或多个树突。与不同神经元连接的树突强度有强有弱;

(2)细胞体:细胞体细胞膜上存在受体,可以与神经冲动的神经递质结合,产生兴奋或者抑制。神经元所获得的输入信号的积累超过某个阈值时,处于兴奋状态,否则为抑制状态;

(3)轴突:将自身的兴奋传递到下一个神经元细胞的树突

二、人工神经元模型

       人工神经元是人工神经网络的基本单元。模拟生物神经元,人工神经元有1个或者多个输入(模拟多个树突或者多个神经元向该神经元传递神经冲动);对输入进行加权求和(模拟细胞体将神经信号进行积累和树突强度不同);对输入之和使用激活函数计算活性值(模拟细胞体产生兴奋或者抑制);输出活性值并传递到下一个人工神经元(模拟生物神经元通过轴突将神经冲动输入到下一个神经元)。

                                                                  

人工神经元的计算描述。假设人工神经元有n个输入x_{1},x_{2},...,x_{n}x={x_{1},x_{2},...,x_{n}},定义输入向量x=\begin{Bmatrix} x_{1},x_{2},...,x_{n}} \end{Bmatrix},则人工神经元的加权求和值(净输入值)net由下式计算:

                                                                               net=\sum_{i=1}^{n}w_{i}x_{i}+b=w^{T}x+b

式中,w=\begin{bmatrix} w_{1},...,w_{n} \end{bmatrix},b为偏置变量。

net输入到激活函数f中,可以得到人工神经元的活性值也即输出值O

                                                            

三、生物神经网络

根据初中学习的生物学知识可知,我们动物学习经验、学习记忆和感觉的产生是大量的神经元产生神经冲动和传递神经冲动的作用,并不是单个神经元就能完成上述任务。因此,主要研究由神经元组成的神经网络如何工作。

       Hebb提出了细胞联合(突触可塑性)基本原理:当神经元A的有个轴突和神经元B非常接近,足以对它产生影响,并且持续地、重复地参与对神经元B的兴奋,那么神经元A和B发生某种生理变化,以致于神经元A成为神经元B兴奋的细胞之一。简单例子:巴甫洛夫的条件反射实验,每次给狗狗喂食时,都会先摇响铃铛,时间足够长后,摇响铃铛,即使不给狗狗食物,狗狗也会分泌唾液;原因即,狗狗的摇响铃铛激发的神经元,食物出现激发的神经元,二者关联加强,突触效能加强。

       综上所述,突触的连接强度可以随着突触前后神经元的活动而变化,且通过重复足够次数,可以储存在长期记忆中。

四、人工神经网络

4.1 模拟生物神经网络

生物神经网络是大量神经元通过一定的连接方式形成;人工神经网络是通过大量的人工神经元通过一定的连接方式组成。使用人工神经元的连接权重w模拟突触;激活函数f模拟细胞体对神经冲动的兴奋或者抑制;使用学习规则(误差纠正学习,Hebb学习和竞争学习,注:知识有限,也许不够全面)进行权重学习,模拟突触可塑;将训练数据重复输入多次,模拟重复足够次数可以存储长期记忆。

4.2 网络结构

4.2.1 前馈网络(正在学习)

                                                                                      

(1)定义:信息传播单向。前馈神经网络按照传输信息的次序将神经元分为不同的层,每一层神经元接收前一层神经元的输出,将输出传递至前一层神经元。

(2)实例:全连接前馈神经网络和卷积神经网络

(3)一句话总结:前馈网络是通过非线性函数的多次复合实现输入和输出的复杂映射关系

4.2.2 记忆网络(挖坑,以后填)

                                                                                        

(1)定义:神经元不仅可以接收其他神经元的信息,而且可以接收自己的历史信息;信息传播可以单向也可以双向。

(2)实例:循环神经网络、Hopfield网络。

(3)一句话总结:记忆网络可以视作一个程序,具有计算和记忆能力

4.2.3 图网络(挖坑,以后填)

                                                                                        

(1)定义:图网络用来解决输入为图结构的数据,例如社交网络;节点之间连接时可以有向或者无向,而且可以收到相邻节点或自身的信息。

(2)实例:图卷积网络

五、总结

 

本文主要参考了邱鹏老师的《神经网络与深度学习》。

 

 

 

 

 

 

 

 

  • 8
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中的BP神经网络是一种利用反向传播算法实现的多层神经网络。BP神经网络是一种前向神经网络,通过训练数据进行监督式学习来进行模型的拟合或分类。它由若干个神经元连接而成,可以通过调整神经元之间的连接权重来实现输入与输出之间的映射关系。 在MATLAB中,可以使用神经网络工具箱来创建和训练BP神经网络。具体来说,可以使用MATLAB的神经网络工具箱中的函数来定义网络结构、设置训练参数、导入训练数据、进行网络训练以及进行预测和分类等操作。通常,BP神经网络的训练过程包括前向传播和反向传播两个步骤。在前向传播中,输入数据通过网络的各个层传递并计算输出结果。在反向传播中,根据输出结果与目标结果之间的差异,通过调整连接权重来更新网络参数,从而不断优化网络性能。 使用MATLAB进行BP神经网络的训练可以帮助我们实现各种模式识别、预测分析、数据挖掘等应用。通过合理设计网络结构、选择适当的激活函数和损失函数以及设置合理的训练参数,我们可以让神经网络拟合复杂的非线性关系,并对未知数据进行准确的预测和分类。 总的来说,MATLAB的BP神经网络是一种强大的工具,可以帮助我们解决各种复杂的问题。通过学习和应用BP神经网络,我们可以深入理解神经网络的原理和训练算法,并将其应用于实际的工程和科学领域中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [BP神经网络的Matlab实现——人工智能算法](https://blog.csdn.net/sinat_38321889/article/details/79182832)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值