多层感知机的基本知识
深度学习主要关注多层模型。在这里,我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。
隐藏层
下图展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐藏单元。
表达公式
具体来说,给定一个小批量样本X∈,其批量大小为n,输入个数为d。假设多层感知机只有一个隐藏层,其中隐藏单元个数为h。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为H,有H∈。因为隐藏层和输出层均是全连接层,可以设隐藏层的权重参数和偏差参数分别为Wh∈和 bh∈,输出层的权重和偏差参数分别为Wo∈和bo∈
我们先来看一种含单隐藏层的多层感知机的设计。其输出O∈的计算为
也就是将隐藏层的输出直接作为输出层的输入。如果将以上两个式子联立起来,可以得到
从联立后的式子可以看出,虽然神经网络引入了隐藏层,却依然等价于一个单层神经网络:其中输出层权重参数为,偏差参数为。不难发现,即便再添加更多的隐藏层,以上设计依然只能与仅含输出层的单层神经网络等价。
二 tensor张量求导
backward() 函数求导注意事项
backward() 函数是反向求导,使用链式求导法则求导,适用于标量求导,如果对于非标量y求导,函数需要额外指定grad_tensor,且grad_tensor的shape 必需和y一致,对于非标量y求导,也可先将y求和变成标量之后再求导(y.sum().backgrad())
可参考https://blog.csdn.net/shiheyingzhe/article/details/83054238 理解