imagenet classification using binary convolutional neural...

13
XNOR-Net ImageNet Classification Using Binary Convolutional Neural Networks Mohammad Rastegari Vicente Ordonez Joseph Redmon Ali Farhadi Presentation by Naveen

Upload: others

Post on 16-Aug-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

XNOR-NetImageNet Classification Using Binary

Convolutional Neural Networks

Mohammad Rastegari Vicente OrdonezJoseph Redmon

Ali Farhadi

Presentation by Naveen

Page 2: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

Deep Neural Networks are Complicated(And Huge!)

Remember HW2 - Size of AlexNet?

Page 3: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

CPU vs GPU

SmallWeak

Scrawny

BigStrong

Powerful

Page 4: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

Possible ApproachesShallow Approximation Compression

Page 5: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

Binary-Weights Network

Basic Idea: Too much information in each convolutional layer. Can we store less?

Page 6: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

I * W ~ (I W) a~

I = Input TensorW = Weightsa = scaling factor

Binary-Weights Network

Page 7: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

Training

Binarize weights in forward pass and backward

propagation

Use real valued weights in gradient descent (Why?)

Also, if we are using real valued weights somewhere, what’s the

point?!

Page 8: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

XNOR-Net

Page 9: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

Training

BinActivComputes the K and sign(I)

BinConvPerform earlier Binary

Convolution

Page 10: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

Experiments

Efficiency

58x CPU Speedups

Page 11: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

ExperimentsAccuracy

Cifar-10

Binary-Weight Network: 9.88% Error XNOR-Net: 10.17% Error

Page 12: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

ExperimentsAccuracy

Page 13: ImageNet Classification Using Binary Convolutional Neural ...vicente/recognition/2016/presentations/xnornet.pdfImageNet Classification Using Binary Convolutional Neural Networks

Questions?