本文是11年Dan C.Ciresan的作品,主要贡献是提供了一种快速,全GPU部署的CNN计算框架,通过快速的GPU计算可以让作者尝试相对以前的神经网络更深的CNN,而且是仅仅使用监督学习的方式。
本来不想写本文的总结的,但是最近看了ImageNet上取得好成绩的网络,都是通过GPU(caffe,convnet)部署,仅仅通过监督学习的方式来训练更加深的CNN,所以打算总结一下本文,作为在GPU上通过监督学习来训练深度CNN的开篇(Dan不是第一个使用GPU计算CNN的,个人见解)。
一,介绍
……尽管在硬件上的进步,计算速度仍然是限制CNN发展的一个主要瓶颈。为了系统性地测试各种结构的影响,本文提供了一种快速GPU部署CNN框架。之前的GPU部署CNN都是为了满足GPU硬件的限制,或者使用一般的函数库,然而我们的GPU部署比较灵活而且是on-line的权值学习方式。我们的部署允许训练CNN时间是以天为单位,而不是月;这样我们可以探索更大的参数空间,研究各种结构的影响。
二.CNN
2.1卷积层
C层的参数=f(特征图大小,特征图个数,filter尺寸,跳跃间隔因子,连接表)
采用valid的卷积方式,卷积后特征图大小关系,如下式:
n代表层数,M代表每层特征个数,x,y分别代表特征图的长宽。K代表filter,S代表跳跃间隔数。(貌似上面公式并不具有普遍性,因为自己在后面的一些论文用此公式是map的尺寸和公式的结果不一样,估计可能是和Stride的定义有关,再有就是填充像素的原因)
2.2 max-Pooling层
相比mean-Pooling,max-Pooling能够较快的收敛,选择更加具有不变性的特征,而且还能够增加泛化能力。Max-Pooling能够在更大的局域上具有不变性,下采样(降维)特征图按照Kx和Ky倍数。
2.3 分类层
需要选择Filter尺寸&#