网站设计数据库怎么做,上海seo优化公司,成都住建局官网下载,广州网站建设知名 乐云践新神经网络 基础知识整理 前向传播前向传播pytorch中的forward函数 反向传播 顾名思义#xff0c;前向传播是从前往后传播的#xff0c;从input层到output层的方向#xff1a;前面一层的输出传入后一层作为输入#xff0c;再对数据进行相应的处理#xff0c;继续传下去… 神经网络 基础知识整理 前向传播前向传播pytorch中的forward函数 反向传播 顾名思义前向传播是从前往后传播的从input层到output层的方向前面一层的输出传入后一层作为输入再对数据进行相应的处理继续传下去直到输出层反向传播是从后往前传播的从output层到input层的方向目标函数对应的损失函数对某权重or某偏置即神经网络中可训练的参数求偏导根据链式法则从后往前计算偏导。
前向传播
前向传播
我们以多层感知机MLP为例子来看看前向传播的过程神经网络分为3层输入层、中间层隐藏层、输出层数据分别用X、A、Y表示输入是1*3的向量中间层有4个神经元节点输出有2个神经元比如二分类任务。X输入然后经过线性变换非线性变换激活函数得到AA再经过线性变换非线性变换得到YY经过非线性变换得到最终的输出整个过程就是前向传播的过程。 我们来看看a1、a2、a3、a4具体的计算式子用W表示权重B表示偏置表示成矩阵运算即Af(WXB)其中A是1*4的向量W是4*3的矩阵4对应着输出节点数量3对应着输入节点数量【权重矩阵W的维度表示成m*n的话m对应着i1层网络层的维度n对应着i层网络层的维度】f是激活函数 最后输出Y的计算式子
pytorch中的forward函数
首先说说python中的__call__()方法这个方法使得一个类假设是MyClass的实例化对象myclass可以直接用myclass()调用__call__()方法而不需要myclass.__call__()这样显示调用。以下代码的输出是调用了__call__函数, 其中age23, nameEliy可见myclass()等于myclass.__call__()
class MyClass:def __call__(self, age, name) - Any:print(f调用了__call__函数, 其中age{age}, name{name})if __name__ __main__:mycalss MyClass()# 观察是否会调用__call__()mycalss(age23, name Eliy)pytorch中自定义的网络结构都需要继承nn.Module类这个类里面有self.forward()函数自定义类需要重写这个函数具体内容是实现前向传播。用resnet网络为例forward函数内容如此 def forward(self, x):# 忽略每一层的具体结构观察输入x的流向# 前向传播就是output model(input)的数据处理过程out F.relu(self.bn1(self.conv1(x)))out self.layer1(out)out self.layer2(out)out self.layer3(out)out self.layer4(out)out F.avg_pool2d(out, 4)out out.view(out.size(0), -1)out self.fc(out)return out需要注意的是在nn.Module类中的__call__()方法里面会去调用nn.Module的forward()方法因此要得到自己model的输出不必显式调用model.forward(input)直接model(input)此时会调用__call__()进一步调用forward()。
反向传播
反向传播算法back propagation全称是误差反向传播算法这里的误差实际就是目标函数/损失函数即模型的输出y’与真实标签y之间的误差。反向传播算法通过使用链式法则从网络的输出层开始沿着网络的连接逐层向后计算梯度。这个过程实际上就是计算损失函数对于每个参数的偏导数然后将这些偏导数整合成梯度。这些梯度随后可以被用于梯度下降等优化算法中来更新网络参数以最小化损失函数。 反向传播算法与梯度下降算法结合使用用于训练神经网络模型具体来说是反向传播算法计算梯度下降算法所需要的梯度。
因为模型中有很多可训练参数假设用W表示因此损失函数E是关于W的多元函数高等数学学习了多元函数求偏导的方法以及符合函数求导的链式法则反向传播求梯度需要用到这些知识。 假设yf(u(x))求关于x的导数如下 我们按照第一张图片给出的三层神经网络以MSE作为损失函数假设这里是二分类用softmax作为激活函数的话输出是(y1,y2)这样的向量计算MSE就逐元素相减再平方再相加具体以反向传播计算w1_11的偏导为例