如何计算全连接神经元参数

当前层的全连接参数=上一层神经元数x当前神经元数+当前神经偏移值数量

Posted by yaohong on Thursday, October 22, 2020

TOC

如何计算全连接神经元参数?

模型源码为:

from tensorflow.keras import models
from tensorflow.keras import layers
network = models.Sequential()
network.add(layers.Dense(504, activation='relu', input_shape=(504,)))
network.add(layers.Dense(11, activation='softmax'))
network.summary()

输出:

Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense (Dense)                (None, 504)               254520    
_________________________________________________________________
dense_1 (Dense)              (None, 11)                5555      
=================================================================
Total params: 260,075
Trainable params: 260,075
Non-trainable params: 0
_________________________________________________________________

在第一行中,dense中的254520是怎么计算呢? 其计算方式如下:

254520=	504  	* 	504		+  	504 

第一个504是输入层节点的数量,即前一层的数量,对应代码:input_shape=(504,)
第二个504是本层神经元数量,一个神经元配一个权重(w);对应代码:layers.Dense(504,...
第三个504	偏移值的数量(bias),一个神经元配一个偏移;

当前层的全连接参数 = 上一层神经元数 x 当前神经元数 + 当前神经偏移值数量

在车库一个神经元有一个偏移值,故公式也可以写成:

当前层的全连接参数 =(上一层神经元数 +1)x 当前神经元数

即:254520 = (504 + 1) x 504

同理,第二栏的dense_1的参数5555=504*11+11*1

「点个赞」

Yaohong

点个赞

使用微信扫描二维码完成支付