Wie binäre neuronale Netze funktionieren und warum sie 2020 populär sein werden

Neuronale Netze sind eine coole Sache, aber ihr Potenzial ist immer noch durch Kosten und Energie begrenzt. Binäre Neuronale Netze können dabei helfen




Das Konzept der neuronalen Netze entstand vor mehr als 40 Jahren, als Wissenschaftler mit der mathematischen Modellierung von Gehirnfunktionen experimentierten. Sie fanden heraus, wie ein neuronales Netzwerk mechanisch implementiert werden kann, um Muster zu erkennen und Daten zu klassifizieren - beispielsweise um zu erkennen, ob das Video eine Katze oder einen Hund enthält.

In den letzten zehn Jahren hat die Komplexität und Leistungsfähigkeit neuronaler Netze erheblich zugenommen. Zusammen mit einer beispiellosen Steigerung der Leistung erschwinglicher und erschwinglicher Supercomputer und Grafikprozessoren (GPUs) haben sie sich als Standardmethode zum Lösen von Problemen, Erkennen von Mustern und Erkennen von Anomalien herausgestellt. Unternehmen verwenden sie heute, um Vorhersagen zu treffen, Benutzervorgaben zu recherchieren, Daten zu validieren und Risiken zu managen.

Trotz ihrer aktiven Nutzung haben sie jedoch Nachteile, die ihr Potenzial einschränken. Der Heilige Gral ist ein neuronales Netzwerk, das Informationen schnell analysieren kann, kostengünstig ist und keinen Energiebedarf hat. Die Schaffung eines Netzwerks, das diese Kriterien erfüllt, ist eine schwierige Aufgabe, die jedoch gelöst werden muss, damit wir die neuronalen Netzwerke, die näher am Rand von IT- und Kommunikationsnetzwerken liegen, sowie auf Endgeräten nutzen können.

Eine der Alternativen, die viele Organisationen untersuchen, sind binäre Netzwerke. Dies ist eine relativ neue Technologie, die jedoch im Jahr 2020 einen erheblichen Einfluss haben dürfte. Um zu verstehen, warum, müssen wir verstehen, wie beide Arten von Netzwerken funktionieren.

Wie funktionieren neuronale Netze?


Neuronale Netze bestehen aus mehreren Schichten gewichteter Summen. Jede gewichtete Summe gibt eine Zahl an, die entweder angibt, dass diese Daten wahrscheinlich ein Zeichen enthalten, oder dass sie wahrscheinlich nicht vorhanden sind. Diese Ebenen kombinieren beispielsweise Rohbilder zu Merkmalssätzen und kombinieren sie neu, um schließlich eine Antwort zu erhalten.

Nehmen wir einfach an, Sie möchten, dass das neuronale Netzwerk Gesichter auf Fotos erkennt. Das System unterteilt das Bild in kleine Segmente. Anschließend scannen die Netzwerkebenen jedes Segment des Bildes und suchen nach einem Zeichen, dessen Identifizierung ihnen beigebracht wurde. Die erste Ebene kann beispielsweise nach Grundmerkmalen suchen: schwarze Kreise, weiße Kreise, weiße Rechtecke, Hautfarbe. Diese Zeichen sind leicht zu erkennen.

Die zweite Ebene kann nach Augen (ein schwarzer Kreis in Weiß), Mündern (eine Reihe weißer Rechtecke in der Nähe und umgeben von Haut) suchen. Die nächste Ebene kann nach zwei Augen über dem Mund und mit Haut suchen. Jedes Merkmal gibt jedem Bildsegment eine Schätzung der Wahrscheinlichkeit des Vorhandenseins des gewünschten Merkmals in diesem Teil des Fotos. Dann werden diese Wahrscheinlichkeiten kombiniert, und wenn eine ausreichende Anzahl von Schichten glaubt, dass sich das gewünschte Zeichen auf dem Foto befindet, kommt das Netzwerk zu dem Schluss, dass die Person dort ist.


Abb. 1

In Abb. Abbildung 1 (und dies ist ein Foto von Barack Obama) zeigt, wie diese Analyseebenen und Wahrscheinlichkeiten zusammengefasst werden, sodass das Netzwerk, das mit Näherungswerten arbeitet, eine relativ genaue Antwort liefert.

Beachten Sie, dass Funktionen wie schwarze Kreise, Augen oder Mund nicht von einer Person programmiert werden, sondern vom Netzwerk während des Trainings erkannt werden. Es ist möglich, dass ein anderes Muster (z. B. Nase, Ohren oder Haaransatz) besser für die Suche nach Personen geeignet ist, und die Schönheit neuronaler Netze besteht darin, dass sie zur Suche nach solchen Mustern verwendet werden können.

Nachteile herkömmlicher neuronaler Netze


Das Problem besteht darin, dass bei der Suche nach der höchstmöglichen Genauigkeit sehr detaillierte, abgegrenzte Wahrscheinlichkeitsniveaus behandelt werden müssen und für diese mathematischen Berechnungen ernsthafte Ressourcen erforderlich sind. Aufgrund der Verwendung von Gleitkommazahlen für die Segmentanalyse benötigen neuronale Netze relativ viel Rechenleistung, Speicher und Arbeitszeit.

Obwohl die Cloud über genügend Rechenleistung und Arbeitsspeicher verfügt, können sich viele Edge-Anwendungen nicht auf die Cloud verlassen. Beispielsweise müssen Robomobile Entscheidungen sofort basierend auf ihrer Umgebung treffen, und dabei können sie sich nicht auf Kommunikation mit begrenzter Bandbreite verlassen.

Neuronale Netze, die auf Endgeräten mit Gleitkommazahlen arbeiten, können nicht verwendet werden. Aus diesem Grund verwenden viele Unternehmen die Ganzzahl-Arithmetik, die viel Speicher und Rechenleistung spart, aber es gibt einen besseren Weg - hier manifestieren sich binäre neuronale Netze.

So funktionieren binäre Netzwerke


Wenn ein gewöhnliches neuronales Netzwerk ein Picasso-Gemälde ist, ist ein binäres neuronales Netzwerk eine grobe Bleistiftskizze.

Wenn neuronale Netze jedem Segment eine genau berechnete Wahrscheinlichkeit zuweisen, reduzieren binäre neuronale Netze, wie der Name schon sagt, die wahrscheinlichen Werte auf eine Schwarz-Weiß-Version, dh entweder auf -1 (wenn das Netz davon ausgeht, dass dieses Fragment kein Vorzeichen enthält) oder auf + 1 (falls vorhanden).

Eine gewichtete Summe wertet nun jedes Merkmal entweder positiv (Multiplikation mit +1) oder negativ (Multiplikation mit -1) aus. Statt vollständiger Multiplikationen müssen wir nur die Multiplikation mit +1 und -1 in Betracht ziehen.


Abb. 2

Dieser Ansatz beeinträchtigt ein gewisses Maß an Genauigkeit, aber wir können die Verluste ausgleichen, indem wir das Netzwerk geringfügig vergrößern. Binäre Netzwerke sind von Natur aus viel einfacher.

Im Vergleich zu ihren Gleitkomma-Gegenstücken benötigen sie zum Speichern der Zahl 32-mal weniger Speicherplatz (1 Bit statt 32) und Hunderte-mal weniger Energie, weshalb sie sich viel besser für "Edge-Anwendungen" wie Robomobile eignen. wenn die Geräte selbst Informationen ohne Cloud Computing verarbeiten können.

Normalerweise treten in einem binären Netzwerk noch Schichten mit nicht-binären Werten auf, insbesondere am Eingang und manchmal am Ausgang. Am Eingang ist das Bild höchstwahrscheinlich vollfarbig und muss numerisch interpretiert werden, bevor die Binärebenen beginnen. Und die Ausgabeebene wird auch immer eine nicht-binäre Ausgabe haben.

Die Zukunft der binären Netze


Diese Einfachheit eröffnet ein weites Feld für den kommerziellen Einsatz unter Bedingungen, in denen Effizienz alles ist. Auf einem eingebauten Chip werden eher binäre Netzwerkkoeffizienten als Netzwerke mit Gleitkommakoeffizienten gespeichert. Prozessorhersteller müssen diese Technologie übernehmen und Binärnetzwerke unterstützen.

2020 dürfte das Jahr der binären Netze sein. Unternehmen arbeiten aktiv an der Implementierung dieser Technologie, und die für das Training von Binärnetzwerken erforderliche Software entwickelt sich rasant. Die erste echte Anwendung dieser Technologie wird wahrscheinlich sehr bald zu sehen sein, und auf Edge-Geräten, mit denen Bilder oder andere Daten klassifiziert werden können, werden stromsparende Chips mit geringem Energieverbrauch zu sehen sein.

Somit wird die nächste Generation der Technologie auf Einfachheit basieren.

Source: https://habr.com/ru/post/de483674/


All Articles