初识神经网络(1)

来源:互联网 发布:微信小说分销系统源码 编辑:程序博客网 时间:2024/06/07 11:10

神经网络是由简单处理单元构成的大规模并行分布式处理器,天然的具有存储经验知识和使之可用的特性。神经网络在两个方面与大脑相似:

  1. 神经网络是通过学习过程从外界环境中获取知识的;
  2. 互连神经元的连接强度,即突触权值,用于存储获取的知识。

用于完成学习过程的程序称为学习算法,其功能是以有序的方式改变网络的突触权值以获得想要的设计目标。

神经网络的计算能力可通过以下两点得到体现:第一、神经网络的大规模并行分布式结构;第二、神经网络的学习能力以及由此而来的泛化能力。泛化(generalization)是指神经网络对未在训练(学习)过程中遇到的数据可以得到合理的输出。

神经元是神经网络操作的基本信息处理单位。神经元模型的三种基本要素是:

  1. 突触或者连接链集,每一个都由其权值或者强度作为特征。具体来说,在连到神经元k的突触j上的输入信号xj被乘以k的突触权值wkj。注意突触权值wkj下标的写法很重要。第一个下标指正在研究的这个神经元,第二个下标指权值所在的突触的输入端。和人脑的突触不一样,人工神经元的突触权值有一个范围,可以取正值也可以取负值。
  2. 加法器,用于求输入信号被神经元的相应突触加权的和。这个操作构成一个线性组合器。
  3. 激活函数,用来限制神经元输出振幅。由于它将输出信号压制(限制)到允许范围之内的一定值,故而激活函数也称为压制函数。通常,一个神经元输出的正常幅度范围可写成单位闭区间[0, 1]或者另一种区间[-1, +1]。

神经元模型

上图的神经元模型也包括了一个外部偏置(bias),记为bk。偏置bk的作用是根据其为正或负,相应地增加或降低激活函数的网络输入。

用数学术语来表示,我们可以用如下一对方程描述图中的神经元k:

神经元数学表示

其中,x序列是输入信号,w序列是神经元k的突触权值,uk(图中未标出)是输入信号的线性组合器的输出,bk为偏置,激活函数为激活函数yk是神经元输出信号。偏置bk的作用是对模型中的线性组合器的输出uk作仿射变换(affine transformation),如下所示:

仿射变换

特别地,根据偏置bk取正或取负,神经元k的诱导局部域(included local field)或激活电位(activation potential)vk和线性组合器输出uk的关系如下图所示。

仿射变换坐标图

偏置bk是人工神经元k的外部参数,我们可以像在式(2)中一样考虑它。同样地,可以结合式(1)和式(3)得到如下公式:

新数学表达

在式(4)中,我们加上一个新的突触,其输入是

x0

权值是

wk0

因此得到了神经元k的新模型,如下图所示。在这个图中,偏置起两种作用:(1)添加新的固定输入+1;(2)添加新的等于偏置bk的突触权值。虽然形式上和之前的模型不同,但是在数学上它们是等价的。

另一种神经元模型

激活函数,记为激活函数~,通过诱导局部域v定义神经元输出。这里我们给出两种基本的激活函数:

1、阈值函数。这种激活函数如下所示:

阈值函数

可写为:

式8

在工程文献中,这种函数一般称为Heaviside函数。相应地,在神经元k上使用这种阈值函数,其输出可表示为:

式9

其中vk是神经元的诱导局部域,即

式10

在神经计算中,这样的神经元在文献中称为McCulloch-Pitts模型。在摸行中,如果神经元的诱导局部域非负,则输出为1,否则为0。这描述了McCulloch-Pitts模型的皆有或皆无特性(all-or-none property)。

2、sigmoid函数。此函数的图形是"S"型的,在构造人工神经网络中是最常用的激活函数。它是严格的递增函数,在线性和非线性行为之间显现出较好的平衡。sigmoid函数的一个例子是logistic函数,定义如下:

式11

其中a是sigmoid函数的倾斜参数。修改参数a就可以改变倾斜程度,如下图所示:

sigmoid

实际上,在原点的斜度等于a/4。在极限情况下,倾斜参数趋于无穷,sigmoid就变成了简单的阈值函数。阈值函数仅取值0或1,而sigmoid的值域是0到1的连续区间。还要注意到sigmoid函数是可微分的,而阈值函数不是。

在式(8)、(11)中定义的激活函数的值域是0到+1。有时也期望激活函数的值域是-1到+1,这种情况下激活函数是诱导局部域的奇函数。具体来说,阈值函数(8)的另一种形式是:

式12

通常称之为signum函数。为了与sigmoid函数相对应,我们可以使用双曲正切函数:

式13

如式(13)所示,它允许sigmoid型的激活函数取负值,这有时候会产生比式(11)的logistic函数更好的实际利益。

神经元的统计模型

上面介绍的神经元模型是确定的,它的输入输出行为对所有的输入精确定义。但在一些神经网络的应用中,基于随机神经模型的分析更符合需要。使用一些解析处理方法,McCulloch-Pitts模型的激活函数用概率分布来实现。具体来说,一个神经元允许有两个可能的状态值+1或-1。一个神经元激发(即它的状态开关从“关”到“开”)是随机决定的。用x表示神经元的状态,P(v)表示激发的概率,其中v是诱导局部域。我们可以设定:

式14

一个标准选择是sigmoid型的函数:

式15

其中T是伪温度(pseudotemperature),用来控制激发中的噪声水平即不确定性。但是,不管神经网络是生物的或人工的,T都不是神经网络的物理温度,认识到这一点很重要。进一步,正如所说明的一样,我们仅仅将T看作是一个控制表示突触噪声效果的热波动参数。注意当T趋于0时,式(14)和式(15)所描述的随机神经元就变为无噪声(即确定性)形式,也就是McCulloch-Pitts模型。


0 0
原创粉丝点击