关于3DCNN卷积网络卷积网络结构以及参数变化

关于3DCNN卷积网络卷积网络结构以及参数变化

以下是使用3DCNN的相关代码

model = Sequential()
model.add(Conv3D(32, (3, 3, 5), activation='gelu',input_shape = (75, 55, 88, 1)))
model.add(BatchNormalization())
model.add(MaxPool3D((2, 2, 2)))

model.add(Conv3D(32, (3, 3, 5), activation='gelu'))
model.add(BatchNormalization())
model.add(MaxPool3D((2, 2, 2)))

model.add(Conv3D(32, (3, 3, 5), activation='gelu'))
model.add(BatchNormalization())
model.add(MaxPool3D((2, 2, 2)))

model.add(Flatten())
#model.add(Dense(60, activation='relu'))
model.add(Dense(512, activation='gelu',kernel_regularizer=regularizers.l2(0.003),activity_regularizer=regularizers.l1(0.005)))
#model.add(Dropout(0.5))
model.add(Dense(4))

在这里插入图片描述

3DCNN卷积

过程中的一般形式

静态图片描述:
卷积操作的几种形式
(a)、(b)图分别表示单通道与多通道的2D卷积操作,其特点即L(Input_shape)=L(kernel),(c)图为3D卷积操作卷积核的深度<输入数据的深度,在同一深度操作完成之后会根据stride跳入下一深度继续进行卷积操作。

动态图片描述:
Alt
如图所示更加直观的3D卷积CNN网络

3D卷积的参数量以及output_shape

model.add(Conv3D(32, (3, 3, 5), activation='gelu',input_shape = (75, 55, 88, 1)))

输入的数据尺寸=(75,55,88,1)
卷积核大小=(3,3,5)×32
默认stride=(1,1,1)

卷积后尺寸计算

假设输入的特征图(feature map)的shape为[Height, Weight, Channel],对应的字母表示为: [ H − i n , W − i n , C − i n ] [ H_-in , W_-in,C_-in] [Hin,Win,Cin]

  • 卷积核(kernel)的shape为: [ H k , W k ] [ H_k , W_k] [Hk,Wk];
  • 滤波器(filter)的shape为: [ C − o u t , H − o u t , W − o u t , C − i n ] [ C_-out,H_-out , W_-out,C_-in] [Cout,Hout,Wout,Cin]
  • 输出的feature_map的shape为: [ H − o u t , W − o u t , C − o u t ] [ H_-out , W_-out,C_-out] [Hout,Wout,Cout]
  • padding: [ P 1 , P 2 ] [P_1,P_2] [P1,P2]
  • stride: [ S 1 , S 2 ] [S_1,S_2] [S1,S2]
    按照公式:
    H − o u t = ( H − i n + 2 P 1 − H k ) / S 1   + 1 H_-out=(H_-in+2P_1-H_k)/S_1\ +1 Hout=(Hin+2P1Hk)/S1 +1
    W − o u t = ( W − i n + 2 P 2 − W k ) / S 2   + 1 W_-out=(W_-in+2P_2-W_k)/S_2\ +1 Wout=(Win+2P2Wk)/S2 +1
变量数的计算

根据公式:

  • 卷积核参数量: H x × W k H_x×W_k Hx×Wk
  • 滤波器的参数量: C − o u t × H k × W k × C − i n C_-out\times H_k\times W_k\times C_-in Cout×Hk×Wk×Cin
  • bias参数量: C − o u t C_-out Cout
  • 总的参数量: C − o u t × H k × W k × C i n + C − o u t C_-out\times H_k\times W_k\times C_in+C_-out Cout×Hk×Wk×Cin+Cout
Layer(type)outputshapeparam
conv3d (Conv3D)(None,73,53,84,32)1472

conv3d由上式计算可得:
shape:(75-3+2×0)/1+1=73,(55-3+2×0)/1+1=55,(88-5+2×0)/1+1,32
param:(3×3×5+1)×32=1472

batch_Normalization

计算过程:
在这里插入图片描述
故其shape不会发生变化
参数量:BatchNormalization 一般接在卷积层后面,对每个通道都有gamma、beta、mean、variance四个参数(mean、variance是Non-trainable Parameters,不会随着训练更新)。因此,BatchNormalization的参数量=4x上一层的输出的通道数。
因此其参数量:32×4=128

https://www.zhihu.com/search?type=content&q=batchnormalization%E5%8F%82%E6%95%B0%E9%87%8F%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97

MaxPool3D层的参数计算

max3Dpool为最大池化操作,即选取特定尺寸下的最大值,
当最后的尺寸,小于最大池化的特征尺寸时,即舍去该部分多余尺寸,

model.add(MaxPool3D((2, 2, 2)))

output_shape=(36,26,42,32)

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DCNN(深度卷积神经网络)属于卷积神经网络的一种类型。卷积神经网络CNN)是一类强大的神经网络,设计用于处理图像数据。基于卷积神经网络结构的模型在计算机视觉领域已经占据主导地位,并广泛应用于图像识别、对象检测和语义分割等任务。DCNNCNN的一种扩展形式,它在传统的卷积神经网络基础上引入了更深的层次和更复杂的结构,以提取更高级别的特征表示。AlexNet是第一个现代深度卷积网络模型,它使用了许多现代深度卷积网络的技术方法,如ReLU作为非线性激活函数、Dropout防止过拟合、数据增强和GPU并行训练等。因此,DCNN卷积神经网络的一种特殊类型。123 #### 引用[.reference_title] - *1* *2* [卷积神经网络(2D卷积神经网络3D卷积神经网络理解)](https://blog.csdn.net/weixin_44521672/article/details/127738215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [卷积神经网络(CNN)与深度卷积神经网络(DCNN)](https://blog.csdn.net/chenfang0529/article/details/108102384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flow_code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值