Suchen

Künstliche Intelligenz

Wie sich das menschliche Gehirn im Computer nachbilden lässt

Seite: 2/3

Firmen zum Thema

Vorteile für die Automatisierung

Die zweite Phase eines CNNs besteht in der Ausführung. Die sich aus verschiedenen Schichtknoten zusammensetzenden Möglichkeiten, wie das Bild wahrscheinlich aussieht, können immer abstrakter werden. Eine Faltungsschicht extrahiert Merkmale auf niedriger Ebene aus der Bildquelle, um Merkmale wie Linien oder Kanten innerhalb des Bildes zu erkennen.

Andere als Pooling-Schichten bezeichnete Schichten sollen die Abweichungen reduzieren, indem sie gemeinsame Merkmale innerhalb einer bestimmten Region eines Bildes mitteln (poolen). Sie können dann an weitere Faltungs- und Pooling-Schichten übergeben werden.

Bildergalerie

Die Anzahl der CNN-Schichten korreliert mit der Genauigkeit der Bilderkennung. Allerdings steigert dies die Leistungsanforderungen an das System. Die Schichten können parallel arbeiten, wenn genügend Speicherbandbreite zur Verfügung steht. Der rechenintensivste Teil des CNN sind die Faltungsschichten.

Die Herausforderung für die Entwickler besteht darin, innerhalb der zeitlichen Beschränkung einer Anwendung ausreichende Berechnungsressourcen aufzutreiben, damit das CNN die erforderliche Anzahl von Bildklassifizierungen durchführen kann.

Eine Anwendung für die industrielle Automatisierung könnte mithilfe des maschinellen Sehens ermitteln, welcher Stufe ein Teil auf einem Fließband zugeführt werden muss. Wenn der Vorgang angehalten werden muss, bis das neuronale Netz das Teil identifiziert hat, würde der Fluss unterbrochen und die Fertigung verlangsamt werden.

Implementierung des Convolutional Neural Networks

Eine Beschleunigung eines Teils der aktuellen Phasen des „Reinforcement Learning (Bestärkendes Lernen)“ der Ausführung verkürzt diese im wesentlichen mathematische Aufgabe signifikant. GPUs und FPGAs sind mit ihrer großen Speicherbandbreite und Rechenleistung potenzielle Kandidaten für diese Aufgabe.

Herkömmliche Mikroprozessoren mit den der „von-Neumann“-Architektur innewohnenden Cache-Flaschenhälsen können den Algorithmus ausführen, sollten aber Schichtabstraktionsaufgaben an Hardwarebeschleuniger übergeben.

GPUs und FPGAs verfügen beide über beträchtliche Parallelverarbeitungsmöglichkeiten, aber ein FPGA mit seiner flexiblen und dynamisch konfigurierbaren Architektur erweist sich wegen der festgelegten Architektur einer GPU als geeigneter zur Beschleunigung eines CNN.

Mit einem Ansatz mit hoher Granularität, bei dem die CNN-Algorithmen im Wesentlichen in Hardware implementiert werden, trägt die Architektur eines FPGAs dazu bei, die Latenzen im Vergleich mit einem auf Software basierenden algorithmischen Ansatz einer GPU auf ein absolutes Minimum zu reduzieren und deterministischer zu gestalten.

Ein weiterer Vorteil eines FPGA ist die Möglichkeit, Funktionsblöcke wie einen DSP in der Struktur des Bausteins zu „härten“. Dieser Ansatz stärkt die deterministische Natur des Netzes weiter. Bezüglich des Ressourcenverbrauchs ist ein FPGA sehr effizient. Daher kann jede Schicht des CNNs innerhalb der Struktur des FPGAs in der Nähe ihres Arbeitsspeichers aufgebaut werden (Bild 2).

Die Entwicklung von mit FPGAs beschleunigten CNN-Anwendungen wird durch den Einsatz von OpenCL6-Parallelverarbeitungserweiterungen der Programmiersprache C ergänzt. Ein Beispiel für einen für convolutionale neuronale Netze geeigneten FPGA-Baustein ist die Arria-10-Serie der Programmable Solutions Group (PSG) von Intel, offiziell als Altera bezeichnet.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 44515475)