神经网络的全连接层_深度神经网络全连接层

一、概念

全连接层一般在网络的最后部分做分类输出,全连接层的有m个输入和n个输出,每一个输出都和所有的输入相连,相连的权重w都是不一样的,同时每一个输出还有一个bias。

二、前向全连接

假设输入是4,输出是4,每个输出点都有一个输入点的参数,一共4x4=16个w参数,每个输出点都有一个b参数,一共4个b参数。

神经网络的全连接层_深度神经网络全连接层_第1张图片

前向全连接的定量分析如下

算力:

Flops

BPE byte per element

input feature M*bpe

output feature N*bpe

w参数

*bpe

b参数 N*bpe

三、反向全连接input gradient传递

反向全连接是有两个2部分,

一个是gradient的传递,已知

,求
,为前一层的参数gradient求解准备。

另外是参数gradient求解,已知

,求
,从而得到参数的更新值。

假设输入是4,输出是4,每个输出点都有一个输入点的参数,一共4x4=16个w参数,每个输出点都有一个b参数,一共4个b参数。

反向全连接gradient传递的过程如下:(根据前向公式和求导法则很容易得出)

神经网络的全连接层_深度神经网络全连接层_第2张图片

可以看到weight矩阵进行了转置 记为

=

算力为 2MN Flops

三、反向全连接参数gradient求解

参数w gradient求解,已知

,求

神经网络的全连接层_深度神经网络全连接层_第3张图片

,其中input feature进行了转置

算力为 MN mul

参数b gradient求解,已知

,求

神经网络的全连接层_深度神经网络全连接层_第4张图片

两者就是相等的关系

你可能感兴趣的:(神经网络的全连接层)