IPCs mit Intel-Prozessoren und Windows 10 IoT liefern High-Performance für Bildverarbeitung und Machine Learning
25.06.2018 -
Künstliche Intelligenzen sind vom Menschen entwickelte Computerprogramme. Festgelegt wird, was sie tun sollen – zum Beispiel auf Bildern Katzen zu erkennen. Doch bleiben künstliche neuronale Netzwerke undurchschaubar. Wir wissen nicht, warum ihre sogenannten Deep-Learning-Netzwerke Katzen erkennen, aber wir können die Technik dahinter erklären.
Bereits im Jahr 2011 schuf Google X Labs ein Netzwerk aus 1.000 Computern, das sie Google Brain nannten. Es sollte Informationen aller Art aufsaugen. Gefüttert wurde es mit gut 10 Millionen Standbildern aus YouTube-Filmen. Nachdem Google Brain drei Tage lang in den Bildern nach wiederkehrenden Mustern gesucht hatte, entschied es, die Bilderflut in Kategorien einzuteilen: menschliche Gesichter, menschliche Körper und … Katzen, was überraschte [1]. Dazu später mehr.
Nun ist es im Alltag so, dass kein Netzwerk bestehend aus 1.000 Computern verfügbar ist, wenn man es braucht. Daher forschten die Hersteller in den vergangenen Jahren daran, diesen Prozess für größere und vor allem billigere Deep-Learning-Netzwerke zu vereinfachen und griffen auf ultraschnelle Prozessoren von Grafikkarten (GPUs) zurück. So konnte (relative einfach) ein Netz aus 11 Milliarden Verknüpfungen geschaffen werden. Der Prozessorhersteller Intel zum Beispiel hat in den vergangenen Jahren an der Optimierung seiner Prozessoren gearbeitet.
Von Machine Learning zu Deep Learning
Es ist bekannt, dass Computer schneller und zuverlässiger arbeiten als Menschen. Dennoch müssen wir – zumindest noch – den Computersystemen mit konventionellen Programmen beibringen, wie die Tätigkeit auszuführen ist. Also, (a) was soll der Computer (b) wann und in (c) welchen Schritten tun. Deep Learning ändert dieses Modell komplett.
Mit Machine Learning bringen wir dem System nämlich (nur) bei, wie es eigenständig lernt, etwas zu tun, also eine Aufgabe eigenständig zu erfüllen. Gerade in komplexen Systemen hat sich bewiesen, dass Computer hier oft einen einfacheren Weg zur Lösung finden als wir Menschen.
Back to the cats: Die bemerkenswerte Fähigkeit, auf Bildern eigenständig Katzen zu erkennen, belegte, dass ein solches System zum so genannten unüberwachten Lernen fähig ist – der schwierigsten Variante des Problems, bei der die Programme ohne jegliche Zusatzinformation in Form von Namen, Überschriften oder Kategorien auskommen müssen [1]. Das ist Deep Learning. Unter Verwendung neuronaler Netzwerke versetzt sich die Maschine selbst in die Lage, Strukturen zu erkennen, das Erkannte zu evaluieren und sich in mehreren, vorwärts wie rückwärts gerichteten, Durchläufen selbst zu verbessern [2].
In der Elektronikbranche lassen sich durch Deep Learning Prüfprozesse weiter automatisieren und beschleunigen, indem alle denkbaren Produktfehler durch selbstlernende Verfahren angelernt und dann erkannt werden können. Kleinste Kratzer oder Risse in Leiterplatten, Halbleitern und anderen Bauteilen können zuverlässig gefunden und fehlerhafte Teile automatisch aussortiert werden. Auch im Automobilbau werden diese Verfahren bereits eingesetzt. Beispielsweise um winzige Lackschäden mithilfe selbstlernender Algorithmen zuverlässig zu identifizieren [3].
Neuronale Vernetzung sensorischer Signale beim Menschen
Beim Mensch sind vielen Milliarden Neuronen synaptisch verschaltet. Dies ist charakterisiert durch Parallelität, andererseits durch datenreduzierende Bündelung. Rückwärts gerichtete, hemmende Neuronen bewirken eine Konzentration auf Aktuelles und Bedeutungsvolles. Eine gesamtheitliche Weiterleitung an zentrale Regionen des Gehirns würde seine Überforderung bedeuten. Zu ihrer Vermeidung hat die Evolution Mechanismen der Bündelung, Konzentrierung, Filterung und Verkopplung entwickelt, weshalb wir nur 3 % der Realität überhaupt wahrnehmen können. Neuronale Vernetzung führt hier also zur Reduktion der Datenmenge [4].
Menschen nehmen ihre dreidimensionale Umwelt relativ einfach wahr. Denn bereits in jungen Jahren lernt unser Gehirn die wichtigsten Grundinformationen wie Identifikation der Merkmale, Hindernissvermeidung, Koordination und Tiefenwahrnehmung aus haptischen und visuellen Reizen.
Mit erlerntem Wissen eigenständige Entscheidungen treffen
Bei Computern versuchen wir mit hochperformanten Prozessoren, 3D-Kamerasystemen und diversen Sensoren das Gleiche zu tun. Nur dass hier die CPU die Funktion des Gehirns übernimmt. Hunderte von Sensoren liefern, über diverse Schnittstellen, umfangreiche, zusammenhängende Datenmengen im Gigabitbereich – weit über unsere 3 % Wahrnehmungsgrenze hinaus. Unsere datenorientierte Welt hat Machine Vision zu einem unglaublich aktiven Forschungsgebiet gemacht. Unternehmen nutzen es in einer Weise, die vor 10 Jahren noch als unwahrscheinlich galt.
In der Bildverarbeitung werden zum Beispiel tausende von Gut- und Schlechtbildern eingelernt. Die PC-Systeme sollen dann, auf Grundlage der angelernten Erfahrungen, die Prüfobjekte automatisch den Kategorien zuordnen und über die Qualität der inspizierten Teile entscheiden – also die Prüfergebnisse mit erlerntem Wissen abgleichen und eigenständig eine Entscheidung treffen.
Den Trick, den das menschliche Gehirn zur besseren Verarbeitung der Daten anwendet – die Reduktion auf die (erfahrungsgemäß) relevanten Daten – darf es hier nicht geben. Denn gerade für die Entwicklung von Smart Cities, als Basis für intelligente Fahrzeuge und für die personalisierte Medizin dürfen keine Fehler auftreten. Das hat sich erst kürzlich bei mehreren Unfällen mit selbstfahrenden Autos in den USA gezeigt.
IPC-Systeme für Machine Vision und Deep Learning
„Da die Anforderungen hoch sind, kommt es auf die perfekte Abstimmung der Komponenten an. Daher stellen wir für unsere Kunden individuelle, für jeden Einsatzbereich der industriellen Bildverarbeitung und Machine Learning, modulare, skalierbare und maßgeschneiderte Systemlösungen her. Denn maschinelles Lernen erfordert sowohl enorme Rechenfähigkeiten, welche die Zeit für das Training reduzieren, als auch Software-Frameworks, die Software-Entwicklern in jeder Branche die Möglichkeiten des maschinellen Lernens eröffnen. Aus diesem Grund werden auf unseren CamCube-Systemen ausschließlich Intel-Prozessoren der aktuellsten Generation sowie Windows 10 IoT eingesetzt“, erläutert Sebastian Wagner, Business Development Manager Industry.
Und nochmal zurück zu den Katzenbildern: Während wir für die Erkennung von 1.000 Katzenbildern aus einem Pool von 50.000 Fotos sicherlich im Zeitansatz von Tagen denken müssten, könnte eine entsprechende künstliche Intelligenz diese Aufgabe in Sekunden oder Minuten erbringen, je nach Rechenleistung [2].
Windows 10 IoT Core versucht dieses Bedürfnis durch Kompatibilität mit zwei Angeboten zu erfüllen: Microsoft Cognitive Services und OpenCV. Intel bietet auf Softwareseite bereits Zugriff auf Machine-Learning-Funktionen auf Intel-Xeon-Prozessoren mit Tools wie der Intel Math Kernel Library (Intel MKL) und der Intel Data Analytics Acceleration Library (Intel DAAL). Diese Bibliotheken wurden so optimiert, um eine bis zu 30-mal höhere Leistung in Deep-Learning-Anwendungen zu erreichen [5].
Quellen:
[1] Spektrum.de (Nature.com), Wie Maschinen lernen, Nicola Jones
[2] t3n.de Ratgeber AI, MV...
[3] Die Industrielle Bildverarbeitung im Umbruch, Alexandra Pisek
[4] Springer.com, Bewusstsein und optimierter Wille, Pfützner H;
[5] Intel.com
Kontakt
Pyramid Computer GmbH
Bötzinger Str. 60
79111 Freiburg
+49 761 4514 0
+49 761 4514 700