神经网络与深度学习:神经元模型、感知机与多层网络

举报
xia1111 发表于 2020/12/09 09:55:05 2020/12/09
【摘要】 神经网络是人工智能的核心之一,那么它是何时提出的呢?又是如何实现”智能“的呢?最近一段时间在学习周志华老师的经典书籍《机器学习》,对其中的一些重点做了些总结和一些个人的理解。如有错误,还请批评指正。1、神经元模型Kohonen在1988提出了神经网络的定义:神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。神经网络中最基本的...

神经网络是人工智能的核心之一,那么它是何时提出的呢?又是如何实现”智能“的呢?

最近一段时间在学习周志华老师的经典书籍《机器学习》,对其中的一些重点做了些总结和一些个人的理解。如有错误,还请批评指正。

1、神经元模型

image.png

Kohonen在1988提出了神经网络的定义:神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。

神经网络中最基本的成分是神经元(neuron),如下图所示基本神经元模型——M-P神经元模型,1943年由McCulloch和Pitts首次提出。

image.png

在上述神经元模型中,神经元接收到其他神经元传递信号, 这些信号通过带权重的连接(connection)传递,神经元接收到的总输入值将与神经元的阈值进行比较,通过"激活函数" (activation function) 处理以产生神经元的输出。

理想中的激活函数是阶跃函数,如下图所示,它将输入值映射为输出值“0” 或1,“显然”1“ 对应于神经元兴奋, ”0“ 对应于神经元抑制。

image.png

然而,阶跃函数具有不连续、不光滑等不太好的性质,因此实际常用Sigmoid函数作为激活函数。如下图所示,它把可能在较大范围内变化的输入值挤压到(0,1) 输出值范围内,因此有时也称 为"挤压函数" (squashing function)。

image.png

把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络。事实上,从计算机科学的角度看,可以先不考虑神经网络是否真的模拟了生物神经网络,只需将一个神经网络视为包含了许多参数的数学模型,这个模型是若干个函数相互嵌套得到的。这些函数可能是如下的形式:

image.png

同时有效的神经网络学习算法大多以数学证明为支撑。

2、感知机与多层网络

感知机(Perceptron) 由两层神经元组成,如图所示。输入 层接收外界输入信号后传递给输出层, 输出层是M-P 神经 元,亦称“阈值逻辑单元" (threshold logic unit) . 

感知机能容易地实现逻辑与、或、非运算,注意到上述的函数,假设函数f是一个阶跃函数,即它的输出只有0和1,那么则有性质如下所示:

image.png

而更具一般性的来说,我们可以通过训练来得到权重w和阈值θ。阈值可看作一个固定输入为-1.0的“哑结点”(dummy node),它对应一个连接权重w(n+1)。这样权重和阈值的学习可统一为权重w的学习。对训练样例(x,y),如当前感知机的输出为拔,则感知机权重如下调整:

image.png

其中η称为学习率,取值范围为0-1之间,从(1)式可以看出,假如感知机对训练样例(x,y)的预测是正确的,即y拔=y,则感知机不会发生变化,否则将根据错误的程度进行权重的调整。

那么感知机有哪些缺点呢?主要有以下两点:

1)只有一层功能神经元(functional neuron),学习能力差 ;

2)只在线性可分问题中收敛,非线性问题收敛弱。

image.png

如上图所示,与、或和非均为线性可分问题,异或为非线性问题。

要解决非线性可分问题,需考虑多层功能神经元。如简单的两层感知机就能解决异或问题,输出层与输入层之间的一 层神经元,被称为隐含层(hidden layer) ,隐含层和输出层神经元都是拥有激活函数的功能神经元。

image.png

更一般地,常见的神经网络是形如下图所示的层级结构, 每层神经元与下层神经元全互连, 神经元之间不存在同层连接, 也不存在跨层连接。这样的神经网络结构通常称为 “多层前馈神经网络” (multi-layer feedforward neural networks) ,其中输入层神经元接收外界输入,隐层与输出层神经元对信号进行加工,最终结果由输出层神经元输出。那么理论上,多层神经网络可以拟合所有的函数。

image.png

神经网络的学习过程,就是根据训练数据来调整神经元之间的“连接权” (connection weight) 及每个功能神经元的阈值。

换言之,神经网络“学”到的东西,蕴涵在连接权与阈值之中。


那么神经网络是如何进行具体的学习与参数的更新的呢?有时间再给大家介绍啦。。。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。