机器学习: 全连接层
全连接层
全连接层指本层的每一个结点都和上一层的所有结点相连接
全连接层适合处理特征数量较少的全局特征数据,要求各条样本之间不含空间或时间上的相关性
全连接层通常作为任务头,用于生成输出而不是中间计算,例如作为输出层
全连接层在不同深度学习框架中的命名有所不同,例如:
Affine层(仿射变换层):根据其数学本质(线性变换与偏移)命名Linear层(线性层)Dense层(密集层)
具体结构:
全连接层的输入和输出均为特征展平的列向量x,本层输入的元素个数和上一层结点数相同、本层输出的元素个数和本层结点数相同
权重为二维矩阵W,Wi, 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} $$