深度神经网络全连接层
发布网友
发布时间:2024-08-20 17:42
我来回答
共1个回答
热心网友
时间:2024-08-29 00:59
全连接层通常位于网络的后部,用于实现分类输出。该层包含m个输入和n个输出,每个输出与所有输入相连接,其连接权重w各不相同,同时每个输出还包含一个偏差项。
以输入为4,输出为4的例子,每个输出点都对应一个输入点的参数,共需16个w参数,每个输出点都有一个b参数,共需4个b参数。
前向全连接的定量分析如下:
算力:[公式] Flops
BPE byte per element
input feature M*bpe
output feature N*bpe
w参数[公式] *bpe
b参数 N*bpe
反向全连接包括两部分:一是梯度传递,已知[公式],求解[公式],为前一层参数的梯度求解做准备;二是参数梯度求解,已知[公式],求解[公式]和[公式],以获得参数的更新值。
以输入为4,输出为4的例子,每个输出点都对应一个输入点的参数,共需16个w参数,每个输出点都有一个b参数,共需4个b参数。
反向全连接梯度传递的过程如下:(根据前向公式和求导法则容易得出)
可以看到weight矩阵进行了转置,记为[公式] = [公式][公式]
算力为 2MN Flops
参数w梯度求解,已知[公式],求解[公式]
为[公式],其中input feature进行了转置
算力为 MN mul
参数b梯度求解,已知[公式],求解[公式]
为[公式],两者相等