关于神经网络keras中参数总量的计算原理及方法

keras中提供了model.summary()来查看神经网络每层的参数总量
关于神经网络keras中参数总量的计算原理及方法_第1张图片
具体计算过程参考如下:

1. 参数说明

已知数据及设定的参数如下:
样本的特征数:784
每一批的样本数量:batch_size = 64
神经元个数:units = 64

2. 计算每层的矩阵形状

每一层神经网络矩阵乘法中的形状可以根据线性方程x*w + b来计算

X(batch_size,特征数) * W(特征数,神经元个数) + B(神经元个数, )

第一层运算结果的形状:(64,784) * (784,64) + (64,)→ (64,64)

第二层运算结果的形状:(64,64) * (64,64) + (64,) → (64,64)

输出层运算结果的形状:(64,64) * (64,10) + (10,) → (64,10)

3. 计算每层的参数总量

参数总量 = w的参数量 + b的参数量

第一层参数总量:784*64 + 64 = 50240

第二层参数总量:64*64 + 64 = 4160

第三层参数总量:64*10 + 10 = 650

细节说明

  1. W的维度:第一个维度必须和前面矩阵的列数相同,即特征数(上一层的神经元个数);第二个维度为当前层的神经元的个数。
  2. 神经元个数相当于线性方程组的个数,有多少个神经元就有多少个方程。
  3. 神经网络中,前一层的输出会作为后一层的输入进行计算。

你可能感兴趣的:(神经网络,keras,深度学习)