Lets keep it simple: using simple architectures to outperform deeper
architectures

In recent years, all winning architectures that achieved state of the art results have been very deep and had parameters ranging from tens to hundreds of millions. While an optimal depth has yet to be discovered, it is known that these deep architectures are far from being optimal. Very deep and heavy architecture such as VGGNet, GoogleNet, ResNet and the likes, are very demanding in terms of hardware requirements, and so their practical use has become very limited and costly. The computational and memory overhead caused by such architectures has a negative effect on the expansion of methods and applications utilizing deep architectures. In order to overcome this issues, some thinned architectures such as Squeezenet are proposed that are computationally light-weight and useful for embedded systems. However their usage is also hindered by the low accuracy they provide. While deep architectures do provide good accuracy, we empirically show that a well-crafted yet simple and reasonably deep architecture can equally perform. This allows for more practical uses, especially in embed systems, or systems with computational and memory limitations. In this work, we present a very simple fully convolutional network with 13 layers that outperforms almost all deeper architectures to date such as ResNet, GoogleNet,WRN, etc with 2 to 25 times fewer number of parameters, and rarely when it does not supersede an architecture, it performs on par. We achieved state of the art results and very close to it on datasets such as CIFAR10/100, MNIST and SVHN with simple or no data-augmentation.
View on arXiv