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
「点个赞」
点个赞
使用微信扫描二维码完成支付
