从第二层开始,每一个神经元都会获得它上一层所有神经元的结果。即每一个 y = wx + b的值。

具体分析如下:

如此下去就会非常可能出现了一个问题——就是越靠后的神经元获得的y值会非常大,试想一下,如果这个数远远大于它前面神经元的值,前面神经元对整个网络的表达就显得毫无意义。所以我们在每创建一层网络时就要多“y”进行一次约束。

我们有很多选择,但最好的方法就是运用Sigmoid函数。它可以将每层网络中的神经元全部控制在0-1之间。

我们到最后输出层每个神经元就可以获得一个y值。

三.反向传播(数据一层层传播来,我们就一层层给它们每个反馈)

写到这里,我觉的我们可以先返回到我们出发点,我们为什么想要搭建一个网络,我相信大部分人的出发点就是想要网络对未知物体进行预测。反向传播所做的就是让每一个神经元都拥有一个wh值。这样我们在传进一个新的数据时,我们可以将他准确的预测。

训练的目的是希望神经网络的输出和真实数据的输出"一样",但是在"一样"之前,模型输出和真实数据都是存在一定的差异,我们把这个"差异"作这样的一个参数ee代表误差的意思,那么模型输出加上误差之后就等于真实标签了,作:y=wx+b+e。我们把每次的失误都加起来。为了防止e值的正负抵消。我们取其平方值。这样我们就可以获得一个损失函数。如下:

损失值顾名思义,它就是误差,我们肯定希望它越小越好,所以我们接下来想做的就是取得的新w值与b值使随时函数取得的值越小越好。专家们名其曰:梯度下降。

数学公式如下:

写出总式子: ​​​​​​​ ​​​​​​​

利用这种链式传播,我们就可以更新我们的每个神经元。

全连接网络可以经过大量数据的训练之后,对一个未知事物进行预测。是深度学习的基础。如有不足之处,还望指正。文章有所参考,但仅为少数公理。