神经网络基础知识

神经网络出现了很多年了,它曾经沉寂,但如今他又火热起来,尤其是卷积神经网络(CNN)在图像识别领域具有广泛应用和不可替代的优势。
首先从简单的神经网络说起:

M-P模型:

它是首个通过模仿神经元而形成的模型。在模型中,多个输入xi(i=1,…,n),对应一个输出y。让每个输入xi乘以对应的权重wi,然后相加求和得到y结果之和如果大于阈值h,则输出1,否则就输出0。
神经网络基础知识神经网络基础知识
上述的f(x)就是**函数,就是看输入x能不能**f,使其输出对应的值。
上面对应的是多输入单输出,当然也有单输入单输出,但是用处相对较小。
但是这种简单的输入输出并不能解决我们遇到的问题,我们需要他自己有学习功能,自己调整参数wi。为什么要调整参数wi呢?因为常常输出的y并不是我们想要得到的准确值。为此我们需要修改参数wi,使其输出我们想要的值。因此我们想要的值(设为target),与输出的值之间就会有一个误差E,E=target-y。这就是实际输出和期望输出之间的误差。而我们可以通过误差修正学习,修改参数wi,h。
wi=wi+α(target-y)xi h=h-α(target-y)。
α是学习率,后边会讲。α越大,学习速度越快,修改参数wi的速度越快。α越小,学习速度越慢,修改参数wi的速度越慢

神经网络基础知识

多层感知器

上面的例子已经具有了初步的功能,但是要是解决更加复杂的问题,还是不行。多层感知器应运而生。
神经网络基础知识
如图,多层感知器有很多层组成,输入层、中间层(又叫隐藏层)、输出层组成。计算过程类似,只是层数不同。

误差反向传播算法:

误差形式有很多种,交叉熵,最小二乘误差等。以最小二乘误差为例。
神经网络基础知识
误差反向传播的目的就是为了使得E趋于零,就是没有误差,输入的数据都能得到理想的输出,就达到了预测的目的。调整的方式使用梯度下降算法。即在误差大时增大调整值,小时减小调整值。所以就可以得到权重wi的调整值▽wi:η是学习率,前面提过的。
神经网络基础知识
上述函数η后边的部分就是梯度。但是梯度怎么求呢?
首先我们知道y是关于w和x的函数,E是关于y的函数。也就是说E是复合函数,接下来就是复合函数求导。
神经网络基础知识
神经网络基础知识
这里有一个问题,求导怎么少了个2倍。因为2倍被η融合了,因为最后的梯度要乘以学习率η,所以,2倍其实在η里面。也就是说系数不重要。
神经网络基础知识神经网络基础知识神经网络基础知识
最后就是对f(x)求导了,因为f(x)是**函数,**函数有很多,我们拓展一下:
Sigmoid函数:
神经网络基础知识神经网络基础知识
绿色的就是sigmoid函数图像。
Tanh函数:
神经网络基础知识
线性修正单元函数:
神经网络基础知识
我们用的多的就是sigmoid函数,但他不一定是最好的。Sigmoid函数求导如下
神经网络基础知识
所以最后的梯度为
神经网络基础知识
由于y=f(u),调整如下

神经网络基础知识
然后由梯度则可以更新权重wi和h