如何计算3D卷积层的可训练参数?

问题描述 投票:1回答:1

我是CNN的初学者,我在构建网络时使用3D卷积层,但我无法理解如何计算此卷积3D层的可训练参数。下面是一个简单的单层网络示例,它具有输入形状(3,16,112,112)(通道,帧,高度,宽度),即16个RGB大小的图像(112 * 112):

def get_model(summary=False):

model = Sequential()
model.add(Convolution3D(64, (3, 3, 3), activation='relu', 
                        padding='valid', name='conv1',
                        strides=(1, 1, 1), 
                        input_shape=(3, 16, 112, 112)))
if summary:
    print(model.summary())
return model

摘要显示5248可训练参数,有人可以向我解释这个数字是如何产生的吗?

parameters 3d deep-learning convolution
1个回答
1
投票

可训练参数指的是网络中的所有权重和偏差以及3D卷积层中卷积滤波器中的值。这意味着在可训练的卷积滤波器中有5248个不同的连接权重,偏差和值。

网络也可能具有不可训练的部分,例如最大池化层。该层的作用不受培训影响。

权重数=内核宽度*内核高度*内核深度(因为3d)x输入图像中的通道数*内核数

偏差数=内核数

所以对你来说:

权重数= 3×3×3×3×64 = 5184

偏差数= 64

参数数量= 5184 + 64 = 5248

© www.soinside.com 2019 - 2024. All rights reserved.