XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks
publication

XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks

Mohammad Rastegari, Vicente Ordonez, Joseph Redmon, Ali Farhadi.
European Conference on Computer Vision. ECCV 2016. Amsterdam, The Netherlands. October 2016.
Redazione notizie del laboratorio

Sintesi del comunicato stampa

Questa sezione è scritta volutamente con il tono di un comunicato stampa giornalistico, destinato al pubblico generale.

I ricercatori dell'Allen Institute for AI e della University of Washington hanno sviluppato un modo per ridurre drasticamente le dimensioni e accelerare le reti neurali di riconoscimento delle immagini che tipicamente richiedono costose GPU ad alto consumo energetico per funzionare. Il gruppo, guidato da Mohammad Rastegari e Ali Farhadi, ha affrontato un problema semplice ma rilevante: le reti neurali convoluzionali standard memorizzano i loro parametri interni come numeri in virgola mobile a 32 bit ed eseguono miliardi di moltiplicazioni ad alta precisione per classificare una singola immagine, rendendole poco pratiche per smartphone e altri dispositivi con risorse limitate. La loro soluzione, descritta in un articolo su due approcci correlati chiamati Binary-Weight-Networks e XNOR-Networks, sostituisce quei numeri a piena precisione con singoli bit — essenzialmente solo valori positivi o negativi — e rimpiazza le costose operazioni di moltiplicazione-accumulo con rapide istruzioni XNOR e di conteggio di bit che le CPU moderne gestiscono in modo efficiente. La versione a pesi binari riduce l'uso della memoria di circa 32 volte e ha eguagliato l'accuratezza a piena precisione del classico AlexNet sul benchmark di larga scala ImageNet, mentre la più aggressiva XNOR-Net, che binarizza sia i filtri memorizzati sia i dati che attraversano la rete, ha raggiunto operazioni di convoluzione circa 58 volte più veloci a costo di una certa accuratezza. È fondamentale notare che i ricercatori hanno introdotto un semplice fattore di scala — essenzialmente la magnitudine media dei pesi originali — che compensa parzialmente l'informazione persa nella binarizzazione, e mostrano che è proprio questo dettaglio a distinguere i loro risultati dai precedenti tentativi di binarizzazione, rimasti indietro di oltre 16 punti percentuali nell'accuratezza top-1 su ImageNet. L'implicazione pratica è che modelli capaci di riconoscimento delle immagini potrebbero funzionare in tempo reale su comuni CPU di telefoni o dispositivi indossabili, senza necessità di delega al cloud o di hardware specializzato.

abstract

Proponiamo due approssimazioni efficienti delle reti neurali convoluzionali standard: le Binary-Weight-Networks e le XNOR-Networks. Nelle Binary-Weight-Networks, i filtri vengono approssimati con valori binari, ottenendo un risparmio di memoria di 32 volte. Nelle XNOR-Networks, sia i filtri sia l'input degli strati convoluzionali sono binari. Le XNOR-Networks approssimano le convoluzioni utilizzando principalmente operazioni binarie. Ciò si traduce in operazioni convoluzionali 58 volte più veloci e in un risparmio di memoria di 32 volte. Le XNOR-Net offrono la possibilità di eseguire reti allo stato dell'arte su CPU (anziché su GPU) in tempo reale. Le nostre reti binarie sono semplici, accurate, efficienti e funzionano su compiti visivi impegnativi. Valutiamo il nostro approccio sul compito di classificazione di ImageNet. L'accuratezza di classificazione con una versione Binary-Weight-Network di AlexNet è inferiore di appena il 2,9% rispetto ad AlexNet a piena precisione (nella misura top-1). Confrontiamo il nostro metodo con i recenti metodi di binarizzazione delle reti, BinaryConnect e BinaryNets, e superiamo questi metodi con ampi margini su ImageNet, di oltre il 16% nell'accuratezza top-1.

citazione

@inproceedings{rastegari2016xnor,
  title = {XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks},
  author = {Rastegari, Mohammad and Ordonez, Vicente and Redmon, Joseph and Farhadi, Ali},
  year = {2016},
  booktitle = {European Conference on Computer Vision. ECCV 2016},
  url = {http://arxiv.org/abs/1603.05279},
}