一、概念
全连接层一般在网络的最后部分做分类输出,全连接层的有m个输入和n个输出,每一个输出都和所有的输入相连,相连的权重w都是不一样的,同时每一个输出还有一个bias。
二、前向全连接
假设输入是4,输出是4,每个输出点都有一个输入点的参数,一共4x4=16个w参数,每个输出点都有一个b参数,一共4个b参数。
![bedb3c15cde43f067706074be1dfab6a.png](https://i-blog.csdnimg.cn/blog_migrate/7828cd8a01e931bcd62990b3f29730d0.png)
前向全连接的定量分析如下
算力:
BPE byte per element
input feature M*bpe
output feature N*bpe
w参数
b参数 N*bpe
三、反向全连接input gradient传递
反向全连接是有两个2部分,
一个是gradient的传递,已知
另外是参数gradient求解,已知
假设输入是4,输出是4,每个输出点都有一个输入点的参数,一共4x4=16个w参数,每个输出点都有一个b参数,一共4个b参数。
反向全连接gradient传递的过程如下:(根据前向公式和求导法则很容易得出)
![985fe4b15edb06907bb097f485329a75.png](https://i-blog.csdnimg.cn/blog_migrate/40ae767cd161dee3dca6b993e7aa0edc.png)
可以看到weight矩阵进行了转置 记为
算力为 2MN Flops
三、反向全连接参数gradient求解
参数w gradient求解,已知
![2ddc2b71a4174ba730a688eda6f3e3e7.png](https://i-blog.csdnimg.cn/blog_migrate/6afce7dd6ff92020665cd4d08dd60a7c.png)
为
算力为 MN mul
参数b gradient求解,已知
![b1c92172ea3db25963fbcf7ceb4c7b13.png](https://i-blog.csdnimg.cn/blog_migrate/2af0fd7de7f526d1fe42e1bfc2153ac0.png)
为