赞
踩
一句话:
换句话说,
大家都知道, z=wx+b,全连接神经网络结构一旦固定,需要学习的参数w是固定的,例如 输入图像是 28*28 = 784,w 的转置= (500,784),===> 输出矩阵的shape:(500,1),如果输入图像的大小改变,但是w的大小并不会改变,因此,无法计算。
这里没有理解是因为暗含这样一份个知识点:
卷积到全连接,所有卷积会一条接一条变成一个全连接的上层 X,比如上面的 28*28 = 784,z=wx+b,如果尺寸不固定,多出来一个 785,就没法 和 w(500,784)去相乘了,有些人就要问了,那我此时改变w为(500,785) 不行嘛?也可以,但是,你训练要很多个step,甚至 epoch(pass)去更新,那,尺寸不固定,这一个step这个神经元训练到了,下一回没训练到,那就没法收敛了。
在小群里,鱼哥看完我文章直接说是扯淡,他说 输入必须固定,是resnet以前的结构的玩法,之后的玩法(好像也不是resnet),可以通过 1*1 卷积 升降维 fix 任何 tensor(解释,也就是通过 1*1 卷积 产生下面几篇参考里提到的 spp结构?还是他确实没搞懂?又成为了一个问题)
所以,在引入预训练模型的时候,如果要自定义输入图片的大小,则需要去掉后面的全连接层的头,附带还需要去掉连接的什么层,给大家留个课后作业,以及,自己定义的输入图片尺寸设计怎么样的 全连接层和softmax层,以及是否可以引入
spp层的方法,大家课后思索。
提问:
对的,可以这么理解,但是训练数据的顺序都是随机打乱的,如果你训练数据不能保证尺寸大小一样,那就不能保证同一批的数据抵达fc层的时候尺寸一样了,所以泛化出来就是所有训练集尺寸就是固定尺寸了
我之前理解的是输入的图片大小就得是固定的尺寸,其实是指同一批输入的每张图片大小必须是固定的
从两个方面将你可能更好理解点,一方面按照你的思路是没有问题的,就是我有一批图片尺寸,然后调整全连接层的大小,也能完成训练,但是这样可能会有一个问题,原先的框架可能是作者经过N多次训练出来的相对较好的参数结果;另一方面,其实这边说的固定尺寸可以这么理解,有一批输入图像,他们的尺寸必须是统一大小的,而不能像faster rcnn那样可能同时支持不同尺寸的图片。
所以,对于工业质检,一般相机的分辨率都是固定,那么,可以指定分辨率,或者,前期可以用
传统方法 找到相应的 ROI ,再裁剪 该部分(尺寸固定),再送入 深度学习模型推理。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。