一、神经网络的层的定义
神经网络的层(Neural Network Layer)是构成深度学习模型的基本组件,每一层由多个神经元(或节点)组成,负责对输入数据进行特定计算(如加权求和、非线性激活等),并将结果传递到下一层。通过堆叠不同的层(如输入层、隐藏层、输出层),神经网络能够逐步提取和组合特征,最终完成分类、回归等任务。
通俗理解
可以把神经网络的层想象成工厂的流水线:每一层就像一道加工工序,原始数据(比如图片)经过第一层简单处理(比如识别边缘),再到下一层组合更复杂的特征(比如眼睛、鼻子),最后输出结果(比如“这是一只猫”)。层数越多,网络能学到的特征就越抽象和高级!
二、神经网络的计算过程
1. 输入层
输入层:向量x⃗。
[197, 184, 136, 214]
2. 隐藏层
有三个神经元,每一个神经元都要接收输入层的所输入的数字,然后进行一个函数计算。
图中使用的是
Sigmoid函数
进行计算。这种函数用于神经元计算的就叫做激活函数。其中三个神经元所算出来的值分别是:
[0.3,0.7,0.2]
,然后这个向量结果继续输入到第二层隐藏层。这个
[1],[2]
的含义分别是隐藏层的编号,其中输入层为[0]
。
3. 输出层
有一个神经元,把隐藏层计算出来的结果输入到输出,然后进行一个函数计算。
图中使用的是
Sigmoid函数
进行计算。这个神经元所算出来的值分别是:
[0.84]
,然后这个向量结果输出。这个
[1],[2]
的含义分别是隐藏层的编号,其中输入层为[0]
。这里注意的是,输出层的 w1[2] 和 b1[2] 中是用该层的w和b,而不是上一层的,所以标识了 [2],但是 a[1] 是用第一层输出的结果,所以标识了 [1]。
4. 输出结果
最终输出的结果为 0.84
,然后可以根据这个来进行计算分类
三、多层神经网络的计算过程
这里也是和上面的同理,只是经过的隐藏层数增多
不过要特别注意的是:要清楚知道每一层中的神经元用的 w ,b , a 用的是哪个。
例子:手写数字识别
1. 网络结构
输入层:接收手写数字图像(如数字 "8"、"2"、"1" 的示例)。
隐藏层:
Layer 1:25 个隐藏单元(神经元)。
Layer 2:15 个隐藏单元。
输出层(Layer 3):
1 个输出单元,预测输入图像为手写数字 "1" 的概率。
标签(label)为二分类形式(0 或 1)。
2. 数学表达
每个隐藏神经元的计算使用激活函数 g(未明确类型,可能是 Sigmoid 或 ReLU):
wi[1]:第 1 层第 i 个神经元的权重向量。
x⃗:输入特征向量。
bi[1]:第 1 层第 i 个神经元的偏置。
3. 关键说明
输出层:直接输出概率值(如 "是数字 1" 的概率)。
表格中的
:
符号表示未完全展示的神经元连接。
前向传播
数据流动方向:输入 → 第一层(25个神经元)→ 第二层(15个神经元)→ 输出层
每层计算:
输入数字图片
第一层处理完输出25个值(a¹)
第二层处理完输出15个值(a²)
输出层最终给出1个概率值(a³)
结果判断:
输出值>0.5 → 是数字"1"
输出值≤0.5 → 不是"1"