感知机
感知机模型起源于人工神经网络中最简单的结构,大致结构如下
多层感知机
感知机的输入层是在模拟输入的"形状",可以通过约束条件:联立的一元方程组来描述输入在空间中定位,一层输入可以近似成用无限条直线的方程去描述任意形状,在此之外再嵌套一层可以描述任意个数的形状之间的逻辑关系,如图所示就是一个逻辑或,算法判断输入1或者输入2有效的时候最终的输出y =∑ w*x +b = 1
表现在几何上是这样的:
事实上在每一层如果仅仅权重w与偏置b计算然后求和,输入在每一层仅仅是变换系数和b的值而已,无法描述一个非线性的变化,个人理解会在训练丢失这种非线性的特质,这是不希望看的情况,所以在每层计算 a = w *x + b之后会给a一个非线性的函数f(x) 例如阶跃函数 sgn(x),将f(a)作为下一层的输入就使得本层在一定层度上保留了输入的非线性特征
激励函数
由于现实的大多数模型都是非线性的,所以保留非线性特征对训练的结果很重要,且f(x)的求导需要用在反向传播中,鉴于以下几点:
-
输入的特征是未知的,即我们并不知道是否是线性,更不知道如何分布,但是我们希望在处理时尽可能保留这种特征
-
不希望在中间层计算的结果溢出,也就是过大或者过小,更希望将这个f(x)输出的值也就是下一层的输入限定在一个范围内
-
f(x)的求导在反向传播中会持续影响后续的梯度,所以f(x)的梯度越大效果相对越好
综合来看,我们希望得到一个值域