计算CNN卷积神经网络中各层的参数数量「附代码」

image

每个对机器学习感兴趣的机器学习工程师/软件开发人员/学生都在卷积神经网络(也称为CNN)上工作。我们有一个一般理论,即如何训练网络对图像进行分类。但是,刚接触机器学习/神经网络的人们并不了解CNN如何精确地学习参数。

我们知道,在每个转换层中,网络都试图了解基本模式。例如:在第一层中,网络尝试学习图案和边缘。在第二层中,它尝试了解形状/颜色和其他内容。最后一层称为要素层/完全连接层尝试对图像进行分类。

在学习参数之前,我们需要了解卷积网络中的一些基本概念,这对修改/重用源代码非常有帮助。

CNN网络中存在各种层。

输入层:所有输入层所做的都是读取图像。因此,这里没有学习参数。

卷积层:考虑一个以“ l ”个特征图为输入并以“ k ”个特征图为输出的卷积层。过滤器尺寸为“ n * m ” 。

image

在此,输入具有l = 32个特征图作为输入,k = 64个特征图作为输出,并且过滤器大小为n = 3和m = 3。重要的是要理解,我们不只是拥有3 * 3过滤器,而是实际上拥有3 * 3 * 32过滤器,因为我们的输入具有32个尺寸。作为第一转换层的输出,我们学习了64个不同的3 * 3 * 32滤波器,总权重为“ n * m * k * l ”。然后,每个特征图都有一个称为“偏差”的术语。因此,参数总数为“ (n * m * l + 1)* k ”.

池化层:池化层中没有可以学习的参数。该层仅用于减小图像尺寸。

完全连接层:在此层中,所有输入单元对每个输出单元都具有可分离的权重。对于“ n ”个输入和“ m ”个输出,权数为“ n * m ”。另外,该层对于每个输出节点都有偏差,因此“ (n + 1)* m ”个参数。

输出层:此层是完全连接的层,因此当“ n ”是输入数而“ m ”是输出数时,参数(n + 1)m。

CNN层的最后一个困难是第一个完全连接的层。我们不知道完全连接层的尺寸,因为它是卷积层。要计算它,我们必须从输入图像的大小开始,并计算每个卷积层的大小。

在简单的情况下,输出CNN层的大小被计算为“ input_size-(filter_size-1) ”。例如,如果输入image_size为(50,50)且filter为(3,3),则(50-(3-1))= 48。但是卷积网络的输入图像的大小不应小于输入的大小,因此可以进行填充。

因此可以进行填充。
要计算填充,请输入input_size + 2 * padding_size-(filter_size-1)。对于上述情况,(50+(2 * 1)-(3-1)= 52–2 = 50)给出相同的输入大小。
如果我们想明确地想在卷积过程中对图像进行下采样,则可以定义一个跨度。
最后,要计算网络学习的参数数量(n * m * k + 1)* f.

让我们在给定的代码中看到这一点。

import keras
image

input_1(输入层)的形状为(None,96,96,1),参数为0。在整个程序中,stride = 1,kernel_size = 2 * 2,padding = same。

卷积_1:(((kernel_size)* stride + 1)* filters)= 3 * 3 * 1 + 1 * 32 = 320个参数。在第一层中,卷积层具有32个滤镜。

Dropout_1:Dropout层不执行任何操作。它只是删除低于所述权重的节点。

Convolutional_2:由于convolutional_1已经学习了32个过滤器。所以数量该层中的可训练参数为3 * 3 * 32 + 1 * 32 = 9248,依此类推。

Max_pooling_2d:此层用于减小输入图像的大小。kernal_size =(2,2)在这里使用。因此输入图像96减少到一半48。模型从这一层学不到任何东西。

Convolutional_3: 3 * 3 * 32 + 1 * 64 = 18496,依此类推。

最后,所有的参数总结在一起。

总训练参数= 7,759,521可训练参数= 7,759,251非训练参数= 0。

image

Have a great day..!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354