首页 > 编程知识 正文

全连接神经网络介绍,全连接神经网络的训练算法

时间:2023-05-04 14:35:55 阅读:188240 作者:1371

多层感知器可以看作是结构最为简单的神经网络,只要把激活函数换成非线性即可。

一个感知器可以有多个输入但是同时只有一个输出;

全连接神经网络的概念

多层感知器组成的层式结构,每个感知器(神经元)与所有输入均有权重连接的网络,叫做全连接网络。

下图为四个神经元组成的全连接神经网络:

下图为更为复杂的全连接神经网络 

全连接神经网络的前向传播 

神经网络的前向传播与感知器的前馈计算类似,只是激活函数不同。

图1

这样看有点抽象,可以用具体的实例演示一下。

全连接神经网络的反向传播算法

如图一所示的全连接神经网络。具体结构如下:

有一层隐层输入为2维向量x输出为2维向量yt为x所对应的期望输出(Ground truth)

上一部分介绍了该网络的前向传播,那么反向传播又是怎么一回事呢?

全连接网络的输出向量y与期望输出t进行比较,如果则说明参与计算的权重和偏置不是恰当,需要进行调整。调整的手法就是反向传播。

反向传播的核心就是通过比较预测值y与真实值t,对参与计算的w进行调整,只不过计算是从网络的输出层开始的,从输出到输入逐层计算梯度并更新权重。

由于要计算梯度,那么应用的求导方法是链式法则。链式函数是求复合函数导数的一个法则,高中应该有学过。

比如说,

不要担心这些很难理解,后续会有反向传播的计算公式。这个据说一定要会手推,面试喜欢考,不过好在在我们真的呢训练神经网络的时候,可能真的不需要用大量的代码来实现反向传播,运用的各种框架已经为我们编写好反向传播的代码,我们直接调用即可。

数学之美,在于让人找不到北,开始公式推导。

反向传播公式推导

这里的代价函数为最小二乘法 

 

反向传播的过程中,存在梯度消失。以至于在浅层中的权重没有足够的梯度来更新自己,模型的训练优化效果会不够好,可能不会收敛。。

反向传播中还存在Zig Zag问题。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。