【问题标题】:Why does googlenet (inception) work well on the ImageNet dataset?为什么 googlenet (inception) 在 ImageNet 数据集上运行良好?
【发布时间】:2017-07-25 02:37:26
【问题描述】:
有人说inception在ImageNet数据集上效果很好的原因是:ImageNet数据集中的原始图片分辨率不同,使用的时候resize到一样大小。所以能处理不同分辨率的inception非常适合ImageNet。这个描述是否属实?谁能给出更详细的解释?我对此感到非常困惑。非常感谢!
【问题讨论】:
标签:
deep-learning
imagenet
【解决方案1】:
首先,深度卷积神经网络,接收固定输入图像大小(如果按大小,您的意思是像素数),因此所有图像应具有相同的大小或维度,这意味着相同的分辨率。另一方面,如果图像分辨率高且细节较多,则任何网络的结果会更好。 Imagnet 图像是来自 fliker 的高分辨率图像,并且调整主题大小不需要插值,因此调整大小的图像保持良好的形状。
其次,inception模块的主要目标是降维,也就是说如果我们有1X1卷积,那么维度计算的系数就是ONE:
output_dim = (input_dim + 2 * pad_data[i] - kernel_extent) / stride_data[i] + 1;
Inception 或换句话说 GoogLeNet,网络非常庞大(超过 100 层),许多 CPU 甚至 GPU 在计算上不可能通过所有卷积,因此需要降维。
您可以在 Imagnet 数据集中使用更深的 AlexNet(具有更多层),我敢打赌它会给您一个很好的结果,但是当您想要深入超过 30 层时,您应该有一个好的策略,例如 Inception.by方式,Imagnet 数据集有超过 500 万张图像(我上次检查过),在 Deep nets more image == more accuracy