Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing im2col最初是什么时候发明用于CNN的?_Image Processing_Computer Vision_Conv Neural Network - Fatal编程技术网

Image processing im2col最初是什么时候发明用于CNN的?

Image processing im2col最初是什么时候发明用于CNN的?,image-processing,computer-vision,conv-neural-network,Image Processing,Computer Vision,Conv Neural Network,这是一个历史性的问题,但我不知道还有什么地方比这里更好 标题不言自明-im2col是什么时候第一次用于CNN的?从我对互联网的浏览来看,我能确定im2col本身的最早日期至少是2006年:MathWorks声称im2col功能是在R2006a发布之前的某个时间提供的im2col。它没有给出任何进一步的细节。搜索MathWorks的发行历史没有提供进一步的线索 我最好奇的是——还有人知道吗?所以我认为这是一个值得保留的有趣问题。在讨论它是否会持续的时候,我将把我的发现发布在这里 对于CNN而言,“

这是一个历史性的问题,但我不知道还有什么地方比这里更好

标题不言自明-im2col是什么时候第一次用于CNN的?从我对互联网的浏览来看,我能确定
im2col
本身的最早日期至少是2006年:MathWorks声称
im2col
功能是在
R2006a
发布之前的某个时间提供的
im2col
。它没有给出任何进一步的细节。搜索MathWorks的发行历史没有提供进一步的线索


我最好奇的是——还有人知道吗?

所以我认为这是一个值得保留的有趣问题。在讨论它是否会持续的时候,我将把我的发现发布在这里

对于CNN而言,“展开”卷积运算为矩阵乘法的已知最早参考是2006年由几位微软研究人员编写的“用于文档处理的高性能卷积神经网络”。从提供的图中可以非常清楚地看出,这是
im2col
转换,尽管它并没有专门命名为这样的转换-只是“展开”。按照今天的标准,他们的一些术语也有点过时了——在那篇论文中,跨步被称为亚抽样,因此,基于没有使用正确的名称而否定他们的荣誉似乎是相当无礼的。Caffe开发者错误地宣称使用im2col是“Caffe诀窍”——这显然不是Caffe独有的,他们没有想到,事实上这篇文章在他们的网站上被引用了

值得注意的是,这绝不是mat-muls第一次用于加速卷积。上面的文章特别指出“卷积的简单展开是一种众所周知的技术。它通常在信号处理和通信应用中实现。”很明显,mat-muls用于卷积的第一次使用可能比这要古老得多,尽管这方面的历史仍然有点模糊


gemm
作为一种例行程序,直到1990年BLAS 3级才正式引入,因此,由于BLAS提供的可移植性,使用mat MUL的卷积可能从那时起会有很大的提高。当然,早期的实现完全有可能使用专用的、非标准的矩阵乘法例程。

我投票将这个问题作为离题来结束,因为它不是关于编程的。在你这么做之前,对于那些研究这个问题的人来说,问这个问题到底在哪里更好?对不起,我无法推荐一个更好的地方。我投票结束这个问题,因为它与编程无关。
im2col
在CNN出现之前就已经存在了。卷积也曾以这种方式广泛存在和使用。典型的“深度学习一代”认为所有存在的东西都是为了机器学习而存在的。