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.
Nachrichtenredaktion des Labors

Zusammenfassung der Pressemitteilung

Dieser Abschnitt ist bewusst im Stil einer Pressemitteilung in journalistischem Ton für ein allgemeines Publikum verfasst.

Forscher des Allen Institute for AI und der University of Washington haben eine Methode entwickelt, um die neuronalen Netze zur Bilderkennung, die für ihren Betrieb typischerweise teure, energiehungrige GPUs benötigen, drastisch zu verkleinern und zu beschleunigen. Das Team unter der Leitung von Mohammad Rastegari und Ali Farhadi nahm sich eines unkomplizierten, aber folgenreichen Problems an: Standardmäßige konvolutionale neuronale Netze speichern ihre internen Parameter als 32-Bit-Gleitkommazahlen und führen Milliarden von hochpräzisen Multiplikationen aus, um ein einzelnes Bild zu klassifizieren, was sie für Smartphones und andere ressourcenbeschränkte Geräte unpraktisch macht. Ihre Lösung, beschrieben in einer Arbeit über zwei verwandte Ansätze namens Binary-Weight-Networks und XNOR-Networks, ersetzt diese Zahlen voller Präzision durch einzelne Bits – im Wesentlichen nur positive oder negative Einsen – und ersetzt die aufwendigen Multiply-Accumulate-Operationen durch schnelle XNOR- und Bitzähl-Instruktionen, die moderne CPUs effizient bewältigen. Die Binary-Weight-Version reduziert den Speicherbedarf um etwa das 32-Fache und erreichte die Genauigkeit des standardmäßigen AlexNet mit voller Präzision auf dem groß angelegten ImageNet-Benchmark, während das aggressivere XNOR-Net, das sowohl die gespeicherten Filter als auch die durch das Netzwerk fließenden Daten binarisiert, etwa 58-fach schnellere Konvolutionsoperationen erzielte, auf Kosten einer gewissen Genauigkeit. Entscheidend ist, dass die Forscher einen einfachen Skalierungsfaktor einführten – im Wesentlichen die durchschnittliche Größe der ursprünglichen Gewichte –, der den bei der Binarisierung verlorenen Informationsgehalt teilweise kompensiert, und sie zeigen, dass es dieses Detail ist, das ihre Ergebnisse von früheren Binarisierungsversuchen abhebt, die bei der ImageNet-Top-1-Genauigkeit um mehr als 16 Prozentpunkte zurücklagen. Die praktische Implikation ist, dass leistungsfähige Bilderkennungsmodelle in Echtzeit auf gewöhnlichen CPUs in Telefonen oder Wearables laufen könnten, ohne Cloud-Auslagerung oder spezialisierte Hardware zu benötigen.

Zusammenfassung

Wir schlagen zwei effiziente Approximationen für standardmäßige konvolutionale neuronale Netze vor: Binary-Weight-Networks und XNOR-Networks. In Binary-Weight-Networks werden die Filter mit binären Werten approximiert, was zu einer 32-fachen Speichereinsparung führt. In XNOR-Networks sind sowohl die Filter als auch die Eingabe in die Konvolutionsschichten binär. XNOR-Networks approximieren Konvolutionen vorwiegend mit binären Operationen. Dies führt zu 58-fach schnelleren Konvolutionsoperationen und 32-facher Speichereinsparung. XNOR-Nets eröffnen die Möglichkeit, moderne Netzwerke auf CPUs (statt GPUs) in Echtzeit auszuführen. Unsere binären Netzwerke sind einfach, genau, effizient und funktionieren bei anspruchsvollen visuellen Aufgaben. Wir evaluieren unseren Ansatz an der ImageNet-Klassifikationsaufgabe. Die Klassifikationsgenauigkeit einer Binary-Weight-Network-Version von AlexNet liegt nur 2,9 % unter der von AlexNet mit voller Präzision (im Top-1-Maß). Wir vergleichen unsere Methode mit aktuellen Methoden zur Netzwerkbinarisierung, BinaryConnect und BinaryNets, und übertreffen diese Methoden auf ImageNet mit großem Abstand, um mehr als 16 % in der Top-1-Genauigkeit.

Zitation

@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},
}