概念:感知器、S型神经元
感知器(Perceptrons)
一个感知器接受几个二进制的输入,得到一个二进制输出。
书上举例是三个,可以有更多输入。
threshold表示阈值,wj表示一个输入的权重。上式含义的意思就是如果加权和小于等于阈值,输出为0,加权和大于阈值,输出为1.
令b=-threshold,称谓偏置,则上式改写为:
w,x都表示的向量。
感知器可以用来实现逻辑电路,如,输入00是1,输入11是0,输入10或者01是1,这就是个与非门。
再比如更复杂的:
把与非门都换成感知器:
S型神经元
单个感知器上一个权重或偏置的微小改动有时候会引起那个感知器的输出完全翻转,如 0 变到 1。那样的翻转可能接下来引起其余网络的行为以极其复杂的方式完全改变。我们希望小的改动引起小的改变(也即结果改变不是直接翻转,而是更加平滑),所以设计了S型神经元,他的输出表达如下:
output=σ(w·x+b)
其中:
所以带入可以得到S型神经元的输出表达式为:
这里可以看出,二者在z趋近正无穷或者趋近负无穷的时候,S型神经元和感知器的行为是一样的,即z是一个大正数的话,整个表达式趋近于1,z是一个小负数的话,整个表达式趋近于0.区别在于取中间值时,S型神经元与感知器存在巨大偏离。
之所以叫S型神经元,可能是因为(3)式的图像形状和S比较像:
函数
σ(wx+b)也称作是激活函数。书上说后面可能会采用其他形式的激活函数。
神经网络架构
一个如图的神经网络,最左边的叫输入层,这一层的神经元称为
输入神经元;最右边的叫输出层,这一层的神经元称为
输出神经元;中间的叫隐藏层(hidden layer),如图的是一个隐藏层,实际上可能出现好几个隐藏层(非输入输出的都叫隐藏层),如下图
虽然实际上这些都是由S型神经元组成,但是因为历史遗留原因,这样的多层神经网络还是被称为是多层感知器或者MLP(multilayer perceptrons
)。
)。
目前为止,讨论的都是输出不反馈给输入的神经网络,这样的称为前馈神经网络,如果一个输出会延时反馈给输入,这样的称为递归神经网络。递归神经网络的学习算法目前不够先进(这个是书上这么写的),本书就不做讨论了。至于为啥没有输出即时反馈给输入的神经网络模型……因为这么做的话难以理解。。。