计算机系统应用教程网站

网站首页 > 技术文章 正文

第19节:特征图尺寸计算与参数共享 【PyTorch深度学习实战教程

btikc 2024-09-17 13:13:38 技术文章 24 ℃ 0 评论

卷积神经网络:卷积结果计算公式:长度:宽度:其中W1、H1表示输入的宽度、长度;W2、H2表示输出特征图的宽度、长度;F表示卷积核长和宽的大小;S表示滑动窗口的步长;P表示边界填充(加几圈0)。

卷积层涉及参数:卷积核尺寸、边缘填充、卷积核个数。只做一次卷积就可以了吗?

再来说一下实际当中计算的公式,比如刚才看的,回头说看下刚才那个图,比如这三十二怎么算出二十八的?怎么算出二十四的?有这样的公式,给大家来看。

公式当中对于h和w的计算方法都是一模一样的,里边的值其实都一样的。h二表示得到的结果,h1表示原始的输入,f表示filter的size。比如这样,比如卷积核大小是三乘三的,此时f、h是三,f、w也是三,p表示要加几圈零。如果要加一圈零,这块就是加上二乘一。

为什么加二乘一?因为在加一圈零的过程当中是不是上面加一层,下面加一层,左面加一层,右边加一层,所以h、w都是二乘上一个p,注意点上下左右都是各翻两倍的意思。

s就是strid不长,它是分母,sri值越小特征越丰富,sri值越大特征越少,不要忘记最后再加一就可以了。

这个就是给大家列出的公式,当有了一个输入,输入就是h、e、w、e,告诉所有的卷积参数,比如三乘三乘三,f、h、f、w都是三,拍定为一,这块就是二乘一二乘一,虽然是为一,这就是除了一,这就完事了。

这个就是给大家解释了一下最终得到的结果是怎么计算的,举个小例子,在这个当中假设输入是三十二乘以三十二乘以三的比较常见的很小连续几,用十个五乘五十个什么意思?用十个卷积核,五乘五乘三的filter的h是五,filter w是五,china是跟原始输入一样的都是三,对filter进行卷积操作,指定步长为一,指定步长等于二,最终的结果点多少?

列这个式子,直接列出来了,看一下就是按照上面的公式,h是三十二w,三十二减去feel赛子五乘五大小,减五加上二倍的排顶,做几个边填充为二,就是做两圈,二乘二再除上不长,不长为一,再加上一,最终也三十二。

所以输入是三十二,输出也是三十二。经过完卷积之后特征图就是特征图大小一定要变小吗?不一定,这东西保持不变也是可能的,像是我提供这种参数就能保持不变。输出规模多大?三十二乘三十二,但是不要忘记点最后乘谁,乘上十。为什么乘十?这里是用十个五乘五乘三的,十个的就是filter盒,卷机盒,所以最终得到的也是十个特征图。

给大家解释一下卷机当中是怎么进行计算的,在卷机参数当中有一个比较重要的特点,这个特点非常重要,叫做一个卷机参数的共享。是这样一个事,比如现在有个卷机盒,就是有一个盒,这盒当中一些纸,比如三二一一四五,然后二五六就是一个三乘三卷机,在这里是不是要对图像当中每一个区域做卷机?比如这里这个区域,然后还有这个区域,还有下面每一个区域是不是都要做卷机?

大家估计会有种想法,对于不同的一个区域是不是应该选择卷机盒里边的值也应该不同的,这样才能做的更好。其实讲道理是这样一个事,但是大家想一想,如果对每一个区域都选择不同的filter盒来去做,总共参数的个数需要多少个?那就太多了。

之前也说过传统神经网当中有个问题是参数太多,七百八十四乘以一百二十八,非常大的一组交通参数,一是不好训点,二是训点比较慢,三是这个东西过敏风险比较大。

转接成有网络肯定要解决一方一些这样的问题,是怎么去做的?就提到一点叫做一个参数共享,比如当前有了这样一组合,用这个合对于每一个区域在进特征提取的时候,里边的值都是一样的,也就是用同样一组卷机盒对于图像当中每一个小区域进行特征提取,在对每一个小区进行特征提取的时候,盒里边值是不变的。

来观察这个值,来看一下,这是第一个区域,来看这个盒,盒里边纸变了吗?盒里面这些纸,第二个区域还是这个值,第三个区域还是这个值,也就是这个就是卷机参数的共享。对于其中每一个位置都是选择相同的卷积核,不像这里是画了四个,其实小区很多,不用颜色画的,表示每个区域应该用,是要用不同的核。但实际当中每个区域都是用相同的核来去做的,这是一个参数的共享。

卷积核神网当中由于设计了这样一个参数共享的原则,来实际看一看,就是执行一次卷积一共需要多少个参数?比如之前就写一个多少点七八四,七八四乘上一个一百得多少?来看看,个十万七万多参数是不是?执行一次全天街需要七万个参数,就全数参数矩阵当中。

但是再来看一下卷积机,卷积当中比如现在数据依旧是三十二乘以三,三十二乘以三比刚才七点八四那个其实还大一点的,继续用十个五乘五乘三的filter来进行卷积。

现在一共需要多少权重参数?让大家来想,既然对于每一个区域都是共享的,那这一块每一个区域大有多少?五乘五乘三,多少?五五二十五,二十五乘三七十五,也就是说卷积核自身是有七十五个值,代表着有七十五个参数,用十个不同的filter,是不是还要再乘十?

因为每一个filter当中值是不一样的,但是同样一个filter在图像当中任何区域都是共享的,所以七十五再乘十等于七百五,这就可以了。

来看一下解释,五乘五乘三等于七数,表示着每一个卷积核需要七十五的参数,此时就是有十个不同卷积核,那才乘十就完事了。但是不要忘记一点,还有什么偏置参数?偏置参数有几个?偏置参数跟结果挂钩在一起,十个filter得到几个特征图?得到十个特征图,所以对每个特征图在进行微调的过程当中都需要一个偏置参数,最终七百五加上十等于七百六,这个就是总共需要的一个参数的个数,才多少个?才七百六十个。

要比什么?要比之前全就是全卷积网络当中这些参数少的多了,这个是全卷积网当中比较重要的一个优点,它涉及到的参数怎么样?比较小,好训练,能训练起来这个意思。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表