你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
ruirui_ICT - 听大大们说,要“左手代码,右手公式”,喵~
赞同来自: xinmiao 、月光里的阳光ysu 、xjtuljy 、OutLaws 、deeepsea 、搬砖工彭于晏哼 、调参小白 、ersanqiao 、OpenAI 、xmj9999 、土拨鼠翻翻土 、mabixxoo 、深度学习思考者 、Uio96更多 »
zeakey - please visit my homepage: zhaok.xyz
赞同来自: 调参小白
bonerkiller - buptldy.github.io
赞同来自: crystal
llhlby
赞同来自:
qingsong99
华灯初上照小川
mingsuntse
Goodwin
要回复问题请先登录或注册
8 个回复
ruirui_ICT - 听大大们说,要“左手代码,右手公式”,喵~
赞同来自: xinmiao 、月光里的阳光ysu 、xjtuljy 、OutLaws 、deeepsea 、搬砖工彭于晏哼 、调参小白 、ersanqiao 、OpenAI 、xmj9999 、土拨鼠翻翻土 、mabixxoo 、深度学习思考者 、Uio96更多 »
先说结论:一个卷积核是三维的(channel×height×width),每个卷积层有若干卷积核,一个卷积核输出的feature map是二维的,每层输出的feature map数量和卷积核数量相等。
以经典的AlexNet为例,先上图
输入图像是227×227×3(注1),conv1的卷积核参数是:
kernel_size: 11
stride: 4
num_output: 96
因此实际的卷积核维度是11×11×3,channel是输入的图像的第三维(如果是后面的卷积层,其卷积核的channel是与之做卷积的输入的feature map的数量),即3,做卷积的时候,是11×11×3的卷积核和输入图像里的11×11×3的块进行卷积,得到一个值,卷积的过程是在height和width上滑动,第三维上不滑动,因此得到的feature map是二维的,公式是
$$\text{FeaSize}=\lfloor\frac{\text{InputSize}-\text{KernelSize}}{\text{Stride}}\rfloor+1$$
(注意这里是下取整,pooling是上取整,二者是反着的)
因此conv1输出的feature map size为$$\lfloor\frac{227-11}{4}\rfloor+1=55$$
输出的feature map数量和卷积核数量相同,为96,因此conv1的输出是55×55×96
后面的层类似,只要注意卷积核的第三维是由输入的feature map的数量决定就可以了,这一点从图上也可以看出来。
最后祝大家春节快乐~
注1:论文里是224×224×3,caffe官网的例子里是227×227×3,这里以官网的例子为例。
(针对最近大大们头疼的侵权问题,在这里弱弱的加一句:本内容为本人原创,仅授权给CaffeCN社区(caffecn.cn)使用,如需转载须注明转载来源。(⊙v⊙))
zeakey - please visit my homepage: zhaok.xyz
赞同来自: 调参小白
一个卷积核的输出是二维的feature-map, 相当于一个神经元对输入作二维卷积
神经网络一个层的输入是三维, 由本层的多个 神经元/卷积核 产生的feature-map concat形成.
bonerkiller - buptldy.github.io
赞同来自: crystal
llhlby
赞同来自:
qingsong99
赞同来自:
华灯初上照小川
赞同来自:
mingsuntse
赞同来自:
Goodwin
赞同来自: