XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks
Sintesi del comunicato stampa
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},
}