当前位置: 首页 > 知识库问答 >
问题:

卷积神经网络中参数个数的计算

谢哲瀚
2023-03-14

我是CNN研究的新手,我从看Andrew'NG的课程开始。有一个例子我不明白:

他是如何计算#参数值的?

共有1个答案

诸经略
2023-03-14

正如您在StackOverflow问题的答案1中看到的,卷积网络参数数的计算公式是:channels_in*kernel_width*kernel_height*channels_outchannels_out。

但这个公式与你的数据不符。事实上,你展示的图纸与你给出的表格不一致。

如果我以图纸为基础,那么第一个CN有3个输入通道,一个5*5的滑动窗口和6个输出通道,所以参数的数量应该是456。

你给出数字208,这是1个输入通道和8个输出通道得到的数字(表上说8,而图上说6)。因此,如果我们考虑有一个输入通道而不是三个,那么从表数据中获得208似乎是正确的。

至于第二个CN,有6个入口通道,一个滑动窗口5*5和16个输出通道,需要2416个参数,看起来很接近表中给出的416个参数。

对于其余的网络,它总是输入维度数乘以输出维度数,再加上一个:5*5*16*120 1=48001,120*84 1=10081,84*10 1=841。

 类似资料:
  • 我正在使用千层面为MNIST数据集创建CNN。我将密切关注这个示例:卷积神经网络和Python特征提取。 我目前拥有的CNN架构(不包括任何退出层)是: 这将输出以下图层信息: 并输出可学习参数的数量为217,706 我想知道这个数字是如何计算的?我已经阅读了许多资源,包括这个StackOverflow的问题,但没有一个明确概括了计算。 如果可能,每层可学习参数的计算是否可以泛化? 例如,卷积层:

  • 我指的是在此链接https://richliao.github.io/supervised/classification/2016/11/26/textclassifier-convolutional上实现的“使用CNN的文本分类”。在“简化卷积”一节中,他们使用了以下Keras层: Conv1D(128、5,激活='RELU')

  • 我正在试图理解卷积神经网络中的维度是如何表现的。在下图中,输入为带1个通道的28乘28矩阵。然后是32个5乘5的过滤器(高度和宽度步幅为2)。所以我理解结果是14乘14乘32。但是在下一个卷积层中,我们有64个5×5的滤波器(同样是步幅2)。那么为什么结果是7乘7乘64而不是7乘7乘32*64呢?我们不是将64个滤波器中的每一个应用于32个通道中的每一个吗?

  • 如何计算CNN网络中的参数总数 代码如下: 如何获取320、18496、73856、590336、2052,有人能解释一下吗?

  • 我找不到正确的公式来计算CNN中一个卷积层中的MAC数量。我从Quora尝试了这个公式 式中:输入特征映射的HW大小;KL滤波器大小S跨距C通道输入M输出特征映射N输入特征映射数 我举了一个例子:1个输入图像5x5x1 1个过滤器3x3x1然后我做了一个天真的计算,我得到了81个MAC。但当我使用上述公式时,ai得到了9。 我想有些事情我不明白。 提前感谢

  • 注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组大小为32x32的RGB图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Kriz