更新中
神经网络结构:
神经网络是由多个相互连接的层组成的。每个连接都有一个权重,用于表示它对下一层神经元的影响程度
训练神经网络:
训练神经网络的目标是调整这些权重,使得网络能够根据输入数据生成正确的输出。
训练过程如下:
前向传播
定义:将上一层的输出作为下一层的输入,并计算下一层的输出。
传递方向是从模型输入向模型输出
设输入为X,权重为W,偏置为b,输出为A
Z = X * W + b
A = f(Z)
f是是激活函数(如 ReLU、Sigmoid 等)
可以看到第一步得到的Z和输入X的关系是线性的,激活函数的作用就是引入非线性
反向传播
目的:使模型与真实值更加接近
定义:将模型输出与真实值的误差,从输出层向输入层反向传播,在传播的过程中更新模型的权重和偏置。
输出结果与目标值之间的差距用损失函数衡量,也就是说我们可以用损失函数来衡量神经网络模型的准确性。损失函数越小,模型越好。
损失函数的导数即为梯度,我们可以根据导数的方向,寻找损失函数的最小值。
假设我们的损失函数为 L,我们需要计算 L 对每个权重的偏导数。以一个简单的网络为例,计算损失函数关于权重 W 的梯度:
dL/dW
根据链式法则
dL/dW = dL/dA * dA/dZ * dZ/dW
A,Z是 L和W 中间途径的两个权重