Andrew G. Howard Menglong Zhu Bo Chen Dmitry Kalenichenko
Weijun Wang Tobias Weyand Marco Andreetto Hartwig Adam
Google Inc.
{howarda,menglong,bochen,dkalenichenko,weijunw,weyand,anm,hadam}@google.com
Abstract
我们提出了一类有效的移动和嵌入式视觉应用模型MobileNets。MobileNets是基于一个流线型的架构,它使用深度可分离卷积来构建轻量级的深层神经网络。我们引入了两个简单的全局超参数,有效地权衡了延迟和准确性。这些超参数允许模型生成器根据问题的约束为其应用选择合适大小的模型。我们在资源和准确度的权衡方面进行了大量的实验,并且在ImageNet分类方面与其他流行的模型相比表现出了很强的性能。然后,我们展示了MobileNets在广泛的应用和用例中的有效性,包括对象检测、细粒度分类、人脸属性和大规模地理定位。
1. Introduction
自从AlexNet[19]通过赢得ImageNet挑战赛推广深卷积神经网络以来,卷积神经网络在计算机视觉中变得无处不在:ILSVRC 2012[24]。为了获得更高的精度,总的趋势是建立更深更复杂的网络[27,31,29,8]。然而,这些提高准确性的进步并不一定使网络在规模和速度上更有效。在机器人、自动驾驶汽车和增强现实等许多实际应用中,需要在计算有限的平台上及时执行识别任务。
本文描述了一种高效的网络体系结构和一组两个超参数,以建立非常小的、低延迟的模型,这些模型可以很容易地与移动和嵌入式视觉应用的设计要求相匹配。第2节回顾了以前在建立小模型方面的工作。第3节描述了MobileNet体系结构和两个超参数宽度倍增器和分辨率倍增器,以定义所有和更有效的MobileNet。第4节描述了在ImageNet上的实验以及各种不同的应用程序和用例。第5节以总结和结论结束。
2. Prior Work
在最近的文献中,人们对构建小型高效的神经网络越来越感兴趣,例如[16,34,12,36,22]。许多不同的方法通常可以分为压缩预训练网络或直接训练小网络。本文提出了一类网络体系结构,允许模型开发人员为其应用程序选择一个与资源限制(延迟、大小)相匹配的小型网络。MobileNet主要专注于延迟优化,但也产生小型网络。许多关于小型网络的论文只关注规模,而不考虑速度。
mobilenet主要由最初在[26]中引入并随后在初始模型[13]中使用的可分离的深度卷积来构建,以减少前几层中的计算。扁平网络[16]建立了一个完全因子化卷积的网络,显示了极因子化网络的潜力。与本文无关,因子网络[34]引入了一个类似的因子卷积以及拓扑连接的使用。随后,Xception network[3]演示了如何扩大depthwise可分离过滤器以超出Inception V3 networks的性能。另一个小型网络是挤压网[12],它使用瓶颈方法设计一个非常小型的网络。其他简化计算网络包括结构化转换网络[28]和deep-fried convnets[37]。
获得小网络的另一种方法是收缩、分解或压缩预训练网络。基于乘积量化的压缩[36],散列【2】,而剪枝、矢量量化和哈夫曼编码[5]已经在文献中被提出。此外,还提出了各种因子分解以加快预训练网络的速度[14,20]。另一种训练小网络的方法是蒸馏法[9],它使用较大的网络来教导较小的网络它是对我们的方法的补充,并在第4节的一些用例中介绍。另一种新兴的方法是低比特网络[4,22,11]。
3。MobileNet架构
在本节中,我们首先描述MobileNet的核心层,这些核心层是可分离的深度滤波器。然后描述了MobileNet网络结构,并对两种模型的收缩超参数宽度乘子和分辨率乘子进行了描述。
3.1. Depthwise Separable Convolution(深度可分离卷积)
MobileNet模型是基于深度可分离卷积的,是一种分解卷积的形式,它将标准卷积分解为一个深度卷积和一个1×1卷积,称为点卷积。对于MobileNets,深度卷积对每个输入信道应用一个滤波器。然后,逐点卷积应用1×1卷积来组合输出的深度卷积。一种标准卷积方法,它既能滤波,又能一步将输入合并成一组新的输出。深度可分离卷积将其分为两层,一层用于滤波,另一层用于合并。这种分解有显著减少计算和模型大小的效果。图2显示了如何将标准卷积2(a)分解为一个深度卷积2(b)和一个1×1点卷积2(c)。
标准卷积层以DF×DF×M特征映射F作为输入,生成特征映射G,其中为正方形输入特征映射1的空间宽度和高度,M为输入通道数(输入深度),是正方形输出要素地图的空间宽度和高度,N是输出通道数(输出深度)。
标准卷积层由大小为的卷积核K参数化,其中DK是假定为平方的核的空间维数,M是输入通道数,N是前面定义的输出通道数。
假设步幅1和填充,标准卷积的输出特征映射计算如下:
标准卷积的计算成本为:
其中,计算成本与输入信道的数量M、输出信道的数量N成倍地依赖于核大小Dk×Dk和特征映射大小DF×DF。MobileNet模型处理这些术语及其交互作用。首先,它使用可分离的深度卷积来打破输出通道数量和内核大小之间的相互作用。
标准卷积运算具有基于卷积核过滤特征和组合特征以产生新的表示的效果。过滤和组合步骤可以分为两个步骤我们假设输出特征映射与输入具有相同的空间维度,并且两个特征映射都是正方形的。我们的模型收缩结果推广到具有任意大小和长宽比的特征映射。可分离卷积大大降低了计算成本。(我们假设输出特征图与输入具有相同的空间维度,并且两个特征图都是正方形的。我们的模型收缩结果推广到具有任意大小和长宽比的特征映射。)
深度可分卷积由两层组成:深度卷积和点卷积。我们使用深度卷积在每个输入通道(输入深度)应用一个滤波器。点卷积,一个简单的1×1卷积,然后用于创建深度层输出的线性组合。MobileNets对这两个层都使用batchnorm和ReLU非线性。
每个输入通道一个滤波器的深度卷积可以写成:
其中是大小的深度卷积核,其中中的filter应用于F中的channel以产生滤波输出特征映射的channel。
深度卷积的计算成本为:
相对于标准卷积,深度卷积是非常有效的。但是,它只过滤输入通道,不合并它们来创建新功能。因此,为了产生这些新的特征,需要一个额外的层来计算通过1×1卷积的深度卷积的输出的线性组合
深度卷积和1×1(点)卷积的结合称为深度可分离卷积,最初在文献[26]中被引入。
分离卷积成本:
MobileNet使用3×3可分离卷积,其计算量比标准卷积少8到9倍,但精度仅略有降低,如第4节所示。
这是深度卷积和1×1点卷积的和。
通过将卷积表示为滤波和合并的两步过程,我们可以减少计算:
空间维度中的额外因子分解(如[16,31]中的)不会节省很多额外的计算,因为在深度卷积中花费的计算很少。
3.2。网络结构与培训
MobileNet结构建立在上一节提到的可分离的深度卷积上,除了第一层是完全卷积。通过用这样简单的术语定义网络,我们能够轻松地探索网络拓扑以找到一个好的网络。表1定义了MobileNet体系结构。所有层之后都是batchnorm[13]和ReLU非线性,除了最后的完全连接层没有非线性并输入到softmax层进行分类。图3将具有规则卷积、batchnorm和ReLU非线性的层与具有深度卷积、1×1点卷积以及每个卷积层后的batchnorm和ReLU的分解层进行对比。下采样在深度卷积和第一层中用跨步卷积处理。最终的平均池将空间分辨率降低到完全连接层之前的1。将深度卷积和点方向卷积作为单独的层计算,MobileNet有28层。
仅仅用少量的Mult-Adds来定义网络是不够的。确保这些操作能够有效地实现也很重要。
为了实例非结构稀疏矩阵运算通常不比密集矩阵运算快,直到稀疏度非常高。我们的模型结构将几乎所有的计算都放入了密集的1×1卷积中。这可以通过高度优化的通用矩阵乘法(GEMM)函数来实现。卷积通常由GEMM实现,但需要在内存中调用im2col进行初始重新排序,以便将其映射到GEMM。例如,这种方法在流行的Caffe包中使用[15]。1×1卷积不需要在内存中重新排序,可以直接用GEMM实现,GEMM是最优化的数值线性代数算法之一。MobileNet将95%的计算时间花在1×1卷积上,卷积中也有75%的参数,如表2所示。几乎所有附加参数都在完全连接层中。
MobileNet模型在TensorFlow[1]中使用RMSprop[33]进行训练,其异步梯度下降类似于初始V3[31]。然而,与训练大型模型相反,我们使用较少的正则化和数据增强技术,因为小型模型具有较少的过度拟合问题。在训练MobileNets时,我们不使用侧头或标签平滑,并且通过限制在大初始训练中使用的小作物的大小来减少失真图像的数量[31]。此外,我们发现在深度滤波器中加入很少或没有权重衰减(l2正则化)是很重要的,因为它们的参数非常少。对于下一节中的ImageNet基准,所有模型都使用相同的控制参数Gardlessofthesizeofmodel进行训练。
3.3。宽度倍增:较薄模型
尽管基本的MobileNet体系结构已经很小并且延迟很低,但是很多时候,特定的用例或应用程序可能需要模型更小更快。为了构造这些更小、计算成本更低的模型,我们引入了一个非常简单的参数α,称为宽度乘子。宽度乘数α的作用是在每一层均匀地细化网络。对于给定层和宽度乘子α,输入通道数M变为αM,输出通道数N变为αN。
具有宽度乘子α的深度可分离卷积的计算成本为:
其中α∈(0,1),典型设置为1、0.75、0.5和0.25。α=1为基线MobileNet,α<1为减少MobileNet。宽度乘子的作用是将计算成本和参数的数量平方减少大约宽度乘数可以应用于任何模型结构,以定义一个新的更小的模型,具有合理的精度、延迟和大小权衡。它用来定义一个新的简化结构,需要从头开始训练。
3.4 分辨率倍增:简化表示
降低神经网络计算成本的第二个超参数是分辨率乘子ρ。
我们应用这个对输入图像和每个层的内部表示随后被相同的乘法器减少。实际上,我们通过设置输入分辨率隐式地设置了ρ。
我们现在可以用宽度乘子α和分辨率乘子ρ来表示网络核心层的计算成本:
其中,ρ∈(0,1),通常隐式设置,使得网络的输入分辨率为224、192、160或128。ρ=1是基线MobileNet,而ρ<1是简化计算MobileNet。分辨率乘法器的作用是将计算成本降低倍。
作为一个例子,我们可以看看MobileNet中的一个典型层,看看深度可分离卷积、宽度乘子和分辨率乘子是如何降低成本和参数的。表3显示了当架构收缩方法依次应用于层时,层的计算和参数数量。第一行显示输入特征映射大小为14×14×512、核K大小为3×3×512×512的全卷积层的Mult加法和参数。我们将在下一节详细讨论资源和准确性之间的权衡。
4 实验
在这一节中,我们首先研究了深度卷积的影响,以及通过减少网络的宽度而不是层数来选择收缩。然后,我们给出了基于两个超参数(宽度倍增和分辨率倍增)的网络缩减的权衡,并将结果与一些流行的模型进行了比较。然后我们研究了MobileNets在许多不同应用中的应用。
4.1 型号选择
首先,我们将MobileNet的结果与完全卷积的模型进行比较。在表4中我们看到,与完全卷积相比,使用深度可分卷积只会减少
在ImageNet上,1%的精确度在多个添加和参数上节省了很多。
接下来,我们展示了将较薄模型与宽度倍增模型与使用较少层的较浅模型进行比较的结果。为了使MobileNet更浅,去掉表1中特征尺寸为14×14×512的5层可分离滤波器。表5显示,在相似的计算和参数数目下,使MobileNets变薄比使它们变浅要好3%。
4. 2 模型收缩超参数
表6显示了使用宽度乘数α缩小MobileNet架构的精度、计算和大小权衡。精度平稳下降,直到架构在α=0.25时变得太小。
表7显示了通过训练输入分辨率降低的MobileNets,不同分辨率乘法器的精度、计算和大小权衡。准确度在整个分辨率范围内平稳下降。
图4显示了16个模型的成像网精度和计算之间的权衡,16个模型由宽度乘数α∈{1,0.75,0.5,0.25}和分辨率{224192160128}的叉积构成。当模型在α=0.25时变得很小时,结果与跳跃呈对数线性。
图5显示了16个模型的ImageNet精度和参数数量之间的权衡,16个模型由宽度乘数α∈{1,0.75,0.5,0.25}和分辨率{224192160128}的叉积构成。
表8将完整的MobileNet与最初的GoogleNet[30]和VGG16[27]进行了比较。MobileNet几乎和VGG16一样精确,同时它的体积小32倍,计算密集度低27倍。它比GoogleNet更精确,同时体积更小,计算量比GoogleNet少2.5倍。
表9比较了减小的MobileNet与宽度乘数α=0.5和减小的分辨率160×160。减少的MobileNet比AlexNet[19]好4%,比AlexNet小45倍,计算量少9.4倍。在同样的尺寸和22倍的计算量下,它也比挤压网[12]好4%。
4.3 细粒度识别
我们在斯坦福狗数据集上训练MobileNet进行细粒度识别[17]。我们扩展了[18]的方法,并从网络上收集了比[18]更大但噪音更大的训练集。在斯坦福犬训练集上,我们利用网络噪声数据对一个细粒度的犬识别模型进行预训练,然后对模型进行微调。斯坦福狗测试集的结果见表10。MobileNet几乎可以在大大减少计算和大小的情况下达到[18]中的最新结果。
4.4 大规模地理定位
PlaNet[35]提出了一个分类问题,即确定照片在地球上的位置。该方法将地球划分为一个由地理单元组成的网格,作为目标类,并在数百万张地理标记照片上训练一个卷积神经网络。已经证明,PlaNet能够成功地定位各种各样的照片,并优于Im2GPS[6,7]处理同一任务。
我们使用MobileNet架构在相同的数据上重新训练星球。而基于Inception V3架构的全行星模型有5200万个参数和57.4亿个mult。MobileNet模型只有1300万个参数,通常300万个用于身体,1000万个用于最后一层,58万个mult添加。如表所示。11,尽管MobileNet版本更加紧凑,但与PlaNet相比,它的性能仅略有下降。此外,它的性能仍然大大优于Im2GPS
4.5 面属性
MobileNet的另一个用例是使用未知或深奥的训练过程压缩大型系统。在一个人脸属性分类任务中,我们展示了MobileNet和deep网络的知识转移技术蒸馏之间的协同关系。我们试图用7500万个参数和16亿个Mult加法来减少一个大型的人脸属性分类器。该分类器在类似于YFCC100M[32]的多属性数据集上进行训练。
我们使用MobileNet架构提取一个人脸属性分类器。蒸馏[9]的工作原理是训练分类器模拟一个更大的模型的输出,安装基本的真值标签,从而允许从大的(可能是无限的)未标记数据集进行训练。结合蒸馏训练的可扩展性和MobileNet的简约参数化,最终系统不仅不需要正则化(如重量衰减和提前停止),而且表现出了增强的性能。从表12中可以明显看出基于MobileNet的分类器对攻击性模型收缩具有弹性:它实现了与内部属性(mean AP)相似的平均精度,同时只消耗1%的Multi Adds。
4.6 目标检测
MobileNet也可以作为现代目标检测系统的有效基础网络。我们根据最近赢得2016年COCO挑战赛的研究报告了MobileNet在COCO数据上进行目标检测训练的结果[10]。在表13中,MobileNet与更快的RCNN[23]和SSD21]框架下的VGG和Inception V2[13]进行了比较。在我们的实验中,SSD被评估为300输入分辨率(SSD-300),更快的RCNN被比较为300和600输入分辨率(Faster R-CNN 300,Faster R-CNN 600)。Faster R-CNN模型评估每个图像300个RPN建议框。模型在COCO-train+val上训练,不包括8k个minival图像在minival上评估。对于这两个框架,MobileNet实现了与其他网络相比,只有一小部分的计算复杂度和模型大小。
4.7 面嵌入
FaceNet模型是最先进的人脸识别模型[25]。它基于三重态损耗建立面嵌入。为了建立一个移动FaceNet模型,我们通过最小化输出的平方差来进行训练关于FaceNet和MobileNet的培训数据。非常小的MobileNet模型的结果见表14。
5 结论
提出了一种新的基于可分离卷积的MobileNets模型结构。我们研究了导致有效模型的一些重要设计决策。然后,我们演示了如何使用宽度倍增和分辨率倍增来构建更小更快的mobilenet,方法是通过牺牲合理的精确度来减少大小和延迟。然后,我们将不同的MobileNets与展示卓越的尺寸、速度和精度特性的流行模型进行了比较。最后,我们展示了MobileNet在各种任务中的有效性。作为帮助MobileNets采用和探索的下一步,我们计划发布张量流模型。
References
[1] M. Abadi, A. Agarwal, P . Barham, E. Brevdo, Z. Chen,
C. Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, et al.
Tensorflow: Large-scale machine learning on heterogeneous
systems, 2015. Software available from tensorflow. org, 1,
2015. 4
[2] W. Chen, J. T. Wilson, S. Tyree, K. Q. Weinberger, and
Y . Chen. Compressing neural networks with the hashing
trick. CoRR, abs/1504.04788, 2015. 2
[3] F. Chollet. Xception: Deep learning with depthwise separa-
ble convolutions. arXiv preprint arXiv:1610.02357v2, 2016.
1
[4] M. Courbariaux, J.-P . David, and Y . Bengio. Training deep
neural networks with low precision multiplications. arXiv
preprint arXiv:1412.7024, 2014. 2
[5] S. Han, H. Mao, and W. J. Dally. Deep compression: Com-
pressing deep neural network with pruning, trained quantiza-
tion and huffman coding. CoRR, abs/1510.00149, 2, 2015.
2
[6] J. Hays and A. Efros. IM2GPS: estimating geographic in-
formation from a single image. In Proceedings of the IEEE
International Conference on Computer Vision and Pattern
Recognition, 2008. 7
[7] J. Hays and A. Efros. Large-Scale Image Geolocalization.
In J. Choi and G. Friedland, editors, Multimodal Location
Estimation of Videos and Images. Springer, 2014. 6, 7
[8] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learn-
ing for image recognition. arXiv preprint arXiv:1512.03385,
2015. 1
[9] G. Hinton, O. Vinyals, and J. Dean. Distilling the knowledge
in a neural network. arXiv preprint arXiv:1503.02531, 2015.
2, 7
[10] J. Huang, V . Rathod, C. Sun, M. Zhu, A. Korattikara,
A. Fathi, I. Fischer, Z. Wojna, Y . Song, S. Guadarrama, et al.
Speed/accuracy trade-offs for modern convolutional object
detectors. arXiv preprint arXiv:1611.10012, 2016. 7
[11] I. Hubara, M. Courbariaux, D. Soudry, R. El-Yaniv, and
Y . Bengio. Quantized neural networks: Training neural net-
works with low precision weights and activations. arXiv
preprint arXiv:1609.07061, 2016. 2
[12] F. N. Iandola, M. W. Moskewicz, K. Ashraf, S. Han, W. J.
Dally, and K. Keutzer. Squeezenet: Alexnet-level accuracy
with 50x fewer parameters and¡ 1mb model size. arXiv
preprint arXiv:1602.07360, 2016. 1, 6
[13] S. Ioffe and C. Szegedy. Batch normalization: Accelerating
deep network training by reducing internal covariate shift.
arXiv preprint arXiv:1502.03167, 2015. 1, 3, 7
[14] M. Jaderberg, A. V edaldi, and A. Zisserman. Speeding up
convolutional neural networks with low rank expansions.
arXiv preprint arXiv:1405.3866, 2014. 2
[15] Y . Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Gir-
shick, S. Guadarrama, and T. Darrell. Caffe: Convolu-
tional architecture for fast feature embedding. arXiv preprint
arXiv:1408.5093, 2014. 4
[16] J. Jin, A. Dundar, and E. Culurciello. Flattened convolutional
neural networks for feedforward acceleration. arXiv preprint
arXiv:1412.5474, 2014. 1, 3
[17] A. Khosla, N. Jayadevaprakash, B. Yao, and L. Fei-Fei.
Novel dataset for fine-grained image categorization. In First
Workshop on Fine-Grained Visual Categorization, IEEE
Conference on Computer Vision and Pattern Recognition,
Colorado Springs, CO, June 2011. 6
[18] J. Krause, B. Sapp, A. Howard, H. Zhou, A. Toshev,
T. Duerig, J. Philbin, and L. Fei-Fei. The unreasonable ef-
fectiveness of noisy data for fine-grained recognition. arXiv
preprint arXiv:1511.06789, 2015. 6
[19] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet
classification with deep convolutional neural networks. In
Advances in neural information processing systems, pages
1097–1105, 2012. 1, 6
[20] V . Lebedev, Y . Ganin, M. Rakhuba, I. Oseledets, and
V . Lempitsky. Speeding-up convolutional neural net-
works using fine-tuned cp-decomposition. arXiv preprint
arXiv:1412.6553, 2014. 2
[21] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. Reed.
Ssd: Single shot multibox detector. arXiv preprint
arXiv:1512.02325, 2015. 7
[22] M. Rastegari, V . Ordonez, J. Redmon, and A. Farhadi. Xnor-
net: Imagenet classification using binary convolutional neu-
ral networks. arXiv preprint arXiv:1603.05279, 2016. 1, 2
[23] S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards
real-time object detection with region proposal networks. In
Advances in neural information processing systems, pages
91–99, 2015. 7
[24] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh,
S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein,
et al. Imagenet large scale visual recognition challenge.
International Journal of Computer Vision, 115(3):211–252,
2015. 1
[25] F. Schroff, D. Kalenichenko, and J. Philbin. Facenet: A uni-
fied embedding for face recognition and clustering. In Pro-
ceedings of the IEEE Conference on Computer Vision and
Pattern Recognition, pages 815–823, 2015. 8
[26] L. Sifre. Rigid-motion scattering for image classification.
PhD thesis, Ph. D. thesis, 2014. 1, 3
[27] K. Simonyan and A. Zisserman. V ery deep convolutional
networks for large-scale image recognition. arXiv preprint
arXiv:1409.1556, 2014. 1, 6
[28] V . Sindhwani, T. Sainath, and S. Kumar. Structured trans-
forms for small-footprint deep learning. In Advances in
Neural Information Processing Systems, pages 3088–3096,
2015. 1
[29] C. Szegedy, S. Ioffe, and V . V anhoucke. Inception-v4,
inception-resnet and the impact of residual connections on
learning. arXiv preprint arXiv:1602.07261, 2016. 1
[30] C. Szegedy, W. Liu, Y . Jia, P . Sermanet, S. Reed,
D. Anguelov, D. Erhan, V . V anhoucke, and A. Rabinovich.
Going deeper with convolutions. In Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition,
pages 1–9, 2015. 6
[31] C. Szegedy, V . V anhoucke, S. Ioffe, J. Shlens, and Z. Wojna.
Rethinking the inception architecture for computer vision.
arXiv preprint arXiv:1512.00567, 2015. 1, 3, 4, 7
[32] B. Thomee, D. A. Shamma, G. Friedland, B. Elizalde, K. Ni,
D. Poland, D. Borth, and L.-J. Li. Yfcc100m: The new
data in multimedia research. Communications of the ACM,
59(2):64–73, 2016. 7
[33] T. Tieleman and G. Hinton. Lecture 6.5-rmsprop: Divide
the gradient by a running average of its recent magnitude.
COURSERA: Neural Networks for Machine Learning, 4(2),
2012. 4
[34] M. Wang, B. Liu, and H. Foroosh. Factorized convolutional
neural networks. arXiv preprint arXiv:1608.04337, 2016. 1
[35] T. Weyand, I. Kostrikov, and J. Philbin. PlaNet - Photo Ge-
olocation with Convolutional Neural Networks. In European
Conference on Computer Vision (ECCV), 2016. 6, 7
[36] J. Wu, C. Leng, Y . Wang, Q. Hu, and J. Cheng. Quantized
convolutional neural networks for mobile devices. arXiv
preprint arXiv:1512.06473, 2015. 1
[37] Z. Yang, M. Moczulski, M. Denil, N. de Freitas, A. Smola,
L. Song, and Z. Wang. Deep fried convnets. In Proceedings
of the IEEE International Conference on Computer Vision,
pages 1476–1483, 2015. 1