【机器学习基础】卷积保持通道数不变原因

C3D后期卷积保持通道数不变

        self.conv1 = nn.Conv3d(3, 64, kernel_size=(3, 3, 3), padding=(1, 1, 1)) # 16*h*w
        self.pool1 = nn.MaxPool3d(kernel_size=(1, 2, 2), stride=(1, 2, 2)) # 第一个是1,不希望在一开始就压缩时间维度上的特征 16*h/2*w/2,不希望下采样下降的太快

        self.conv2 = nn.Conv3d(64, 128, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.pool2 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2)) # 从第二个开始就是正常池化了

        self.conv3a = nn.Conv3d(128, 256, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.conv3b = nn.Conv3d(256, 256, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.pool3 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))

        self.conv4a = nn.Conv3d(256, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.conv4b = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.pool4 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2))

        self.conv5a = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1))
        self.conv5b = nn.Conv3d(512, 512, kernel_size=(3, 3, 3), padding=(1, 1, 1)) # 最终变成512特征图
        self.pool5 = nn.MaxPool3d(kernel_size=(2, 2, 2), stride=(2, 2, 2), padding=(0, 1, 1))

        self.fc6 = nn.Linear(8192, 4096) # 8192是通过卷积得到的特征图大小 H*W*C
        self.fc7 = nn.Linear(4096, 4096)
        self.fc8 = nn.Linear(4096, num_classes)

        self.dropout = nn.Dropout(p=0.5) #神经元很大(太多?)Dropout一半
        self.relu = nn.ReLU()

        self.__init_weight() #权重参数初始化

在这个网络架构中,卷积层的通道数随着网络的深度不断增加,达到512后保持不变。这种设计有以下几个原因:

  1. 提取更丰富的特征:

    • 随着网络的加深,输入数据的特征图尺寸逐渐缩小,而特征的复杂性和抽象程度逐渐增加。保持512个通道数不变有助于提取更丰富的高级特征。
  2. 避免特征图尺寸过小:

    • 在网络的后几层,特征图的空间尺寸已经相对较小。如果继续增加通道数,可能会导致参数量急剧增加,训练难度加大。保持通道数为512可以在提取足够特征的同时控制参数规模。
  3. 经典架构设计的经验:

    • 像VGG、ResNet等经典网络架构中,也有类似的设计。在网络前期,通道数会逐渐增加(如从64到128,再到256),而在后期保持较大的通道数不变。这种设计已经被证明在多种任务中效果良好。
  4. 计算效率的考虑:

    • 增加卷积通道数意味着需要更多的计算资源。保持512个通道数,可以在计算成本和模型效果之间取得平衡。

综上所述,保持512通道数不变的设计,主要是为了在提取高级特征时有效地控制计算复杂度和参数规模,同时确保网络具有足够的表达能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值