Daten sind die eigentliche Währung für künstliche Intelligenz. Durch die Sammlung, Verarbeitung und Analyse von Daten können Unternehmen wichtige und bedeutende Einblicke in Geschäftsprozesse und menschliche Verhaltensweisen gewinnen oder bestimmte Muster erkennen. Es ist daher nicht verwunderlich, dass Internet-basierte Unternehmen wie Google oder Amazon so stark in die Speicherung und Verarbeitung der Daten investieren, auf die sie Zugriff haben. Im Falle von Deep Learning werden die Datensätze zum Anlernen von neuronalen Netzwerken verwendet. Im Allgemeinen steigen die Genauigkeit und Robustheit des Modells mit der Größe des Datensatzes. Um noch weniger anfällig für Einflüsse durch Umgebungsfaktoren (wie Sonneneinstrahlung, verschmutzten Objektiven, Rauschen, Vibrationen) zu sein, werden die Daten normalerweise augmentiert, indem beispielsweise Bilder gedreht oder beschnitten werden und künstliches Rauschen hinzugefügt wird.
Es gibt unterschiedliche Herangehensweisen für das Training eines Modells; im Prinzip sind dies überwachtes, nicht überwachtes und unterstütztes Lernen. Beim überwachten Lernen wird der Datensatz gekennzeichnet und setzt sich im Falle der Bildklassifizierung aus Paaren von Bildern und Labeln zusammen. Das Bild wird durch die Schichten des Modells propagiert und jede Schicht ergänzt eine weitere Abstraktion, um schlussendlich den Klassifizierungswert zu erhalten. Das Ergebnis wird mit dem Label verglichen und der Fehler wird dann wieder vom Endpunkt zum Ausgangspunkt hin zurückgegeben, um die Gewichte zu aktualisieren. Bei nicht überwachtem Lernen bleibt der Datensatz ohne Kennzeichnung und das Modell entwickelt die Muster von selbst. Bestärkendes Lernen lässt sich am besten am Beispiel eines Videospiels erklären. Ziel ist es, die Punktzahl durch eine Reihe aufeinander folgender Aktionen zu maximieren und dabei auf Rückmeldungen aus der Umgebung zu reagieren, wie beispielsweise beim Ausführen einer Reihe aufeinander folgender Steuerentscheidungen, um von einem Ort zu einem anderen zu gelangen.
Bereitstellung und Inferenz:
die ungelöste Herausforderung
Der Großteil des Trainings tiefer neuronaler Netzwerke findet typischerweise auf großen GPUs statt. Im Hinblick auf Inferenzen, d.h. das Durchreichen innerhalb des neuronalen Netzwerks, um eine Vorhersage oder Klassifizierung eines einzelnen Musters zu erhalten, können unterschiedliche Plattformen verwendet werden. Abhängig von den Anforderungen können Modelle auf Prozessoren wie Cortex-M, Cortex-A mit GPUs oder neuronalen Beschleunigern, FPGAs oder spezialisierten ASICs laufen. Diese unterscheiden sich natürlich in puncto Rechenleistung, Energieverbrauch und Kosten. Die Herausforderung besteht nun darin, ein Modell effizient und einfach umzusetzen. Die Modelle werden normalerweise mithilfe von Deep-Learning-Frameworks wie Tensorflow oder Caffe trainiert. Diese Modelle müssen in ein Format umgewandelt werden, das auf der Inferenzmaschine auf dem Edge-Gerät laufen kann, beispielsweise im Open Neural Network Exchange Format (ONNX) oder als einfache Datei mit Gewichten für ARM CMSIS-NN in Cortex-M. Durch Verfahren wie das Pruning (das Löschen von Werten, die nahe Null sind), Quantisierung (Wechsel von Float32 zu Integer) oder Kompression können die Gewichte zusätzlich optimiert werden.
Am Ende übernimmt eine Inferenzmaschine den Großteil der Arbeit am Gerät. Es liegt dabei in erster Linie bei den Anbietern, Unterstützung für die Zielprozessoren und Komponenten für Frameworks wie OpenCL oder OpenCV zu bieten. Leider ist der Markt momentan äußerst zersplittert und es gibt viele verschiedene geschützte SDKs oder Tools und keinen einheitlichen Standard für die Bereitstellung und Inferenz auf Edge-Geräten. Vielversprechend sind Standards wie ONNX, die zeigen, dass das Interesse an einer Standardisierung innerhalb der Industrie zunehmend größer wird.
Das Ergebnis: Edge-Lösungen werden intelligenter
Künstliche Intelligenz ist der größte Trend der letzten Jahre. Für Edge-Geräte liegen die größten Schwierigkeiten für eine Nutzung in einem mangelnden Verständnis sowie Problemen bei Bereitstellung und Betrieb. Während sich die Anbieter bemühen, Kunden für sich zu gewinnen und ihre eigenen Lösungen als alleinigen Standard durchzusetzen, befindet sich Arrow in der einzigartigen Lage, die verschiedenen Ansätze seiner Partner zu verstehen und zu erkennen, in welchen Fällen unterschiedliche Plattformen für Kunden den größten Nutzen bieten.