全连接 DNN:计算 DNN 中自由参数的数量

数据挖掘 神经网络 数学 深度学习
2022-03-08 04:47:31

全连接 DNN 的层大小为 3-3-4-2,其中第一层大小代表输入层。我们假设所有层都是仿射层(没有 ReLU)。给出网络中所有权重矩阵和所有偏置向量的维度,并计算此 DNN 中自由参数的总数。

根据这个任务,第一层大小代表输入层,所以它必须是 3。

a(0) = x = 3

如果我知道输入层,那么 3-4-2 也是偏置向量的大小。

我现在知道输入层的维度和偏置向量。由于输入层的大小,W 的列也必须为 3。W 的行必须等于偏置向量的大小。

所以我计算了以下维度:

W(1) = W33, b3, a(1) = 3

W(2) = W43, b4, a(2) = 4

W(3) = W24, b2, a(3) = 2

但是如何计算这个 DNN 中自由参数的总数呢?

1个回答

第一层的权重也取决于输入的维度。

假设,这是您的网络。输入有 5 个特征 dair.ai 的机器学习视觉 图片来源 - dair.ai 的 ML Visuals


每层权重和偏差

WeightsBiasesLayer153=153Layer233=93Layer334=124Layer442=82

用代码检查

import tensorflow as tf
from tensorflow import keras
model = keras.Sequential()

model.add(keras.layers.Dense( 3, activation="linear",input_shape=(5,)))
model.add(keras.layers.Dense( 3, activation="linear"))
model.add(keras.layers.Dense( 4, activation="linear"))
model.add(keras.layers.Dense( 2, activation="linear"))

model.summary()
#model.get_weights() #Can check weights matrix with this

输出

在此处输入图像描述