机器学习: 全连接层

全连接层

  • 全连接层指本层的每一个结点都和上一层的所有结点相连接

  • 全连接层适合处理特征数量较少全局特征数据,要求各条样本之间不含空间或时间上的相关性

  • 全连接层通常作为任务头,用于生成输出而不是中间计算,例如作为输出层

  • 全连接层在不同深度学习框架中的命名有所不同,例如:

    • Affine层(仿射变换层):根据其数学本质(线性变换与偏移)命名
    • Linear层(线性层)
    • Dense层(密集层)
  • 具体结构:

    • 全连接层的输入和输出均为特征展平的列向量x,本层输入的元素个数和上一层结点数相同、本层输出的元素个数和本层结点数相同

    • 权重为二维矩阵WWi, j(l)表示第l − 1层第i个结点到第l层的第j个结点的权重

      因此若第k层结点数为c(k),则W(l)是一个c(l−1)c(l)列的矩阵

    • 偏置则为列向量b,它的元素个数与所在层的结点数相同

  • 全连接层的FP(此后假设同一层的激活函数相同): $$ \begin{align}&x_{j}^{(l+1)}=g_j^{(l)}\left(\left(W_{:,j}^{(l)}\right)^T\boldsymbol x^{(l)}+\boldsymbol b^{(l)}\right)\\&\boldsymbol x^{(l+1)}=g^{(l)}\left(\left(W^{(l)}\right)^T\boldsymbol x^{(l)}+\boldsymbol b^{(l)}\right)\end{align} $$

  • 全连接层的BP梯度计算: $$ \begin{align}&\boldsymbol\delta^{(l)}=\begin{cases}{\Large\frac{\part L(\hat y)}{\part\hat y}\frac{\part g^{(l)}(Y^{(l)})}{\part Y^{(l)}}},&l为输出层\\W^{(l+1)}\boldsymbol\delta^{(l+1)}{\Large\frac{\part g^{(l)}(Y^{(l)})}{\part Y^{(l)}}},&l为隐藏层\end{cases}\\&\frac{\part L}{\part W^{(l)}}=\boldsymbol x^{(l)}(\boldsymbol\delta^{(l)})^T\\&\frac{\part L}{\part\boldsymbol b^{(l)}}=\boldsymbol\delta^{(l)}\end{align} $$