1、输入层
2、中间层——最基本的抽象事物
隐藏层的作用可以被理解为对输入数据进行特征提取和特征转换的过程,逐步揭示数据中更深层次的特征和模式。这就好像“抽丝剥茧”,即逐层深入地分析和理解数据。比如从文字到具体笔画再到横、竖、点。
第一层读取输入层的数据
权重和偏置再加上第一层从输入层获得的数据,再经过激活函数计算下一层的激活值获得进一步结果,机器学习就是学习这些权重具体的值。
偏置项通过偏置项b限制是否激发,同时也代表了该神经元是否更容易被触发
激活函数除了用于激活下一个神经元还有一个作用:非线性变化,如果没有激活函数永远只是线性变换,无论层数多深都无法表现复杂的非线性关系
各个激活值可以理解为是否激活下一层的各个神经元,即使它们可能还会参与计算甚至还有权重,但是它们激活值为0或者接近于0无论它的参数怎么变都没有影响,就好像一个神经元处于未激活状态。
比如说w1a1+w2a2...+w13a13-10,如果w1a1+w2a2...+w13a13的结果小于10,那么结果就是负的,再通过激活函数就是0或者非常接近于0了。
最后一层,最后根据权重和偏置计算激活值然后输出。
3、输出层
4、梯度下降
4.1 梯度下降如何进行
4.1.1 前向传播
首先,进行一次正常的梯度下降,隐藏层第一层A(A由a1,a2,a3......组成)接收输入层数据,所有的A对B的每一个点都有各自的权重,根据各自的权重计算出结果,再通过激发函数获得激活值b1,以此类推,到最后通过最后一层的激活值决定最后的的输出
举个计算b1的例子:
通过a1,a2,a3....从输入层接收到的数据加上各自的权重再加上偏置项:w1a1+w2a2+w3a3......wnan计算结果,结果进入激活函数,然后产生激活值b1。
4.1.2 损失函数
然后,这时预测值和真实值一定存在误差,依次形成了损失函数,损失函数是由隐藏层的最后一层的激活值与输出层的期望结果之间的误差关系。
4.1.3 反向转播
损失函数的结果取决于隐藏层的最后一层的激活值(即输出),而输出取决于前一层本身的激活值的结果和其各自的权重和偏置。 所以是权重和偏置影响了最后的结果。
这时用输出对前面每一层的权重和偏置求梯度便能找到使得损失函数减少最快的方向,然后再定下步长就可以完成向损失函数减少最快方向的一次前进。
对于隐藏层的所有权重值都是如此,A影响B,B影响C.....Z影响输出,每一层最后都会影响输出
就像一个由无数个旋钮组成的操作台,每一个旋钮的转动都会影响到具体操作。
梯度下降算法就是反回去一步一步求权重的导数,找到权重变化对损失函数的影响,找到影响最大的那个权重变化方式。即损失函数对前面所有权重的敏感度
常用表达式