Künstliche Intelligenz ist fester Bestandteil in Forschung und Entwicklung geworden und in zahlreichen Technologien implementiert. Im Bereich der Softwareentwicklung ist KI längst nicht mehr wegzudenken. Auch in der Medizin wird eifrig geforscht, wie man mithilfe künstlicher Intelligenz Krebszellen besiegen oder Krankheitsverläufe prognostizieren kann.
Mit einer richtigen Prognose des Krankheitsverlaufes können die Mediziner die Behandlung der Patienten anpassen. Wir finden KI-Anwendungen in jeglichen Lebensbereichen. In der Rechtsprechung, in der Kunst, im Marketing, im Bankwesen – und auch in der Hardware-Sparte. Die Elektronikentwicklung ist ein Milliardenmarkt. Schätzungen zufolge fließen jährlich 160 Milliarden Euro in die Entwicklung von Elektronik.
KI als täglicher Begleiter
Künstliche Intelligenz ist fester Bestandteil in Forschung und Entwicklung geworden und in zahlreichen Technologien implementiert. Im Bereich der Softwareentwicklung ist KI längst nicht mehr wegzudenken. Auch in der Medizin wird eifrig geforscht, wie man mithilfe künstlicher Intelligenz Krebszellen besiegen oder Krankheitsverläufe prognostizieren kann. Mit einer richtigen Prognose des Krankheitsverlaufes können die Mediziner die Behandlung der Patienten anpassen. Wir finden KI-Anwendungen in jeglichen Lebensbereichen. In der Rechtsprechung, in der Kunst, im Marketing, im Bankwesen – und auch in der Hardware-Sparte. Die Elektronikentwicklung ist ein Milliardenmarkt. Schätzungen zufolge fließen jährlich 160 Milliarden Euro in die Entwicklung von Elektronik.
Mit dem zunehmenden Einsatz von KI konzentrieren sich immer mehr Unternehmen auf innovative Ideen, die die Entwicklung von Technologie auf die nächste Stufe heben. Dabei ist Künstliche Intelligenz oder Machine Learning als Teilbereich von KI, im Bereich der Automatisierung der Elektronikentwicklung ein nächster logischer Schritt.
Erweiterte modellbasierte Hardwareentwicklung
In der Elektronikentwicklung wird dieser Ansatz „erweiterte modellbasierte Hardwareentwicklung“ genannt. Künstliche Intelligenz in der Elektronikentwicklung ermöglicht es den Maschinen aus Erfahrungen zu lernen, sich auf neuen Input einzustellen und menschenähnliche Aufgaben zu erfüllen. Hierdurch wird es möglich, Informationen effektiver zu integrieren, Daten zu analysieren und die daraus resultierenden Erkenntnisse zu nutzen, um die Entscheidungsfindung für automatisierte Elektronikentwicklung zu verbessern. Die meisten KI-Beispiele, von denen wir heute hören, sind stark von Deep Learning und Natural Language Processing abhängig. Mit diesen Technologien können Modelle trainiert werden, um bestimmte Aufgaben zu erfüllen, indem sie große Datenmengen verarbeiten und Muster in diesen Daten erkennen.
Der neueste Stand der Technik im Hinblick auf Elektronikentwicklung ermöglicht es etwa Schaltpläne, Layouts und Leiterplattendesign komplett automatisch mittels Software zu erstellen. Solche Anwendungen sind wahre digitale Zeitmacher. Denn sie sparen den Elektronikentwicklern hunderte manuelle Arbeitsstunden und geben wieder mehr Freiraum für spannende Projekte. Machen wir uns aber nichts vor: Klar geht die Automatisierung solcher Prozesse immer mit einem initialen Aufwand einher. Denn die Infrastruktur, um bestimmte Prozesse automatisieren zu können, muss erst einmal geschaffen werden. Auf deren anderen Seite amortisiert sich dieser aber auch schnell wieder.
Zurück zum Beispiel: Wird ein Elektronik-Design in Form von Schaltplänen und PCB-Layouts in die Automatisierungssoftware hochgeladen, analysiert und interpretiert ein Algorithmus die Informationen in den Dateien und macht darauf basierende Vorhersagen. Zusammen mit den Eingaben der Nutzer, dienen diese Informationen beispielsweise dazu, um intern die Funktionalität zu dokumentieren, was im späteren Prozess genutzt werden kann. Um diese Vorhersagen mit einer so hohen Erfolgsrate machen zu können, benötigt das neuronale Netzwerk eine große Menge an Trainingsdaten. Aufgrund des Prinzips des maschinellen Lernens optimiert sich Algorithmus selbst immer weiter: Manuelle Korrekturen von Nutzer werden verwendet, um das Modell weiter zu trainieren und zu optimieren. So werden die Prozesse im Laufe der Zeit immer genauer abgebildet.
In Schaltplänen kann eine solche Anwendung wie folgt aussehen. Lassen Sie uns annehmen, dass wir folgende Komponenten wissen:
- net 1: Ground
- net 2: Data line
- net 3: Clock
- net 5: VCC
- net 6: Clock
Und wir wissen darüber hinaus, dass das Interface Folgendes enthalten muss:
-
- VCC
- Data line
- Ground
In diesem Fall wird der Algorithmus zunächst die Klassen der einzelnen Netze identifizieren (ground, vcc,clock etc.) denn diese Information ist der Maschine erst mal unbekannt. Basierend auf den bereits identifizierten Klassen, geht der Algorithmus dann durch die Interfaces, die in der Datenbank identifiziert sind und prüft, ob wir mit diesen Netzen ein Interface erstellen können. In unserem Beispiel bedeutet das: Identifiziert das Programm die Netze „net 1“, „net 2“ und „net 5“ mit deren korrekten Klassen, können wir das „Interface 1“ erstellen und die diese Information im User Interface hinterlegen.
Labeling und Gruppierung
Der gesamte Ablauf wäre wie folgt: Der Nutzer lädt einen Schaltplan in eine KI-basierte Elektronikentwicklungssoftware. Der Machine Learning Algorithmus lädt das Schaltplandokument vom User und labeled die Funktionen, die vorher von den Ingenieuren definierten Klassen. Der Algorithmus extrahiert einige Features wie den Klassennamen und die Verbindung zwischen den Netzen, um die Klassen der Netze zu erlernen. Im weiteren Schritt sagt das Machine Learning Modell dann die Klassen der Netze voraus und ist in der Lage die Netze zu gruppieren auf Basis der Netzklassen und Features, die eingangs identifiziert wurden. Als letzter Schritt gibt der Algorithmus dann die identifizierten Interfaces samt Informationen an den User aus und zeigt sie im User Interface an.
Anwendungsfälle wie diese mögen für Laien zunächst kompliziert klingen. Dabei muss es gar nicht immer High-end KI sein, die zum Einsatz kommt und man muss auch kein Genie sein, um sich mit den Basisanwendungen von KI vertraut zu machen und daraus praktische Anwendungsfälle zu erstellen. Im Prinzip kann jeder Künstliche Intelligenz vergleichsweise einfach nutzen, indem er zum Beispiel Tensorflow von Google oder das Entwicklungs-Framework »Caffe« der Universität Berkeley verwendet und Szenarien ausprobiert.
Wir trainieren jeden Tag eine KI
Wie bereits im obigen Beispiel erwähnt, ist besonders der Einsatz von Deep Neural Networks (DNN) aus dem Bereich des Deep Learning für viele Anwender spannend. Hierbei handelt es sich um ein vielschichtiges Netzwerk, das sich bereits im Bereich der computergestützten Bildverarbeitung bewährt hat, jedoch in allen möglichen anderen Anwendungsbereichen eingesetzt werden kann.
Ein berühmtes Beispiel für die computergestützte Bildverarbeitung kommt aus dem Hause Google. Der Konzern erwarb vor einiger Zeit das Unternehmen reCaptcha, das viele Internet-User als Sicherheitsabfrage zur Erkennung menschlichen Verhaltens auf Webseiten kennen. Recaptcha bedient sich dabei einer einfachen Methode. Es werden in einem Fenster mehrere Kacheln zu einem bestimmten Motiv angezeigt. Der Nutzer wird dabei gefragt, was er auf den Bildern erkennt. Er soll zum Beispiel alle Bilder auswählen, die einen Baum anzeigen. Auf diese Weise weiß das Tool, dass es sich bei der Nutzeraktivität um menschliches Verhalten handelt. Im Hintergrund wird jedoch eine KI mit Trainingsdaten angereichert. Denn nichts anderes machen die Nutzer, wenn sie die Bilder voneinander manuell unterscheiden. Sie sagen dem Algorithmus, dass es sich bei bestimmten Formen und Farben um Bäume handelt und bei anderen wiederum nicht. So lernt das Deep Neural Network. Die Vorgehensweise ist sehr geschickt, denn das Netzwerk wird täglich von tausenden unbezahlten Usern trainiert.
Deep Neural Network
Widmen wir uns einmal der Struktur eines Deep Neural Networks etwas genauer. Wie bereits im obigen Beispiel erwähnt, wird der Algorithmus mit Beispieldaten angereichert und die berechneten Ergebnisse werden dann mit den gewünschten Resultaten verglichen, sodass allmählich die Parameter des Netzwerks verändert werden. So wird Fehlerquote bei der Berechnung reduziert. Auf diese Weise wird die automatische Merkmalsextraktion immer präziser. Diese Methode ist auch deshalb spannend, weil zwar der Rechenaufwand für das Lernen sehr hoch ist, dafür aber die Anwendung des Gelernten, die sogenannte Inferenzphase, weitaus weniger Rechenleistung benötigt. In der Lernphase muss das neuronale Netz mit einer großen Menge an Lerndaten gespeist werden, um die Koeffizienten zu berechnen. Da der Rechenaufwand enorm groß ist, werden dazu Server eingesetzt. Ist die Lernphase des neuronalen Netzes abgeschlossen und das Netz trainiert, dann werden die Koeffizienten auf das Zielsystem übertragen. Aufgrund der Asymmetrie der neuronalen Netze wird in der Anwendungsphase weitaus weniger Rechenleistung benötigt. Abhängig von der jeweiligen Netzwerkstruktur entsteht das Ergebnis eines neuronalen Netzes durch Matrixberechnungen, ausgehend von der Eingangsschicht schrittweise in eine Richtung zur Ausgangsschicht.
Ausgehend von diesem Prinzip gibt es für die Elektronikentwicklung zahlreiche mögliche Anwendungsfälle. Die Kunst liegt darin, sich auf die Suche nach dem versteckten Potenzial zu machen. Künstliche Intelligenz ist hier – wie in vielen anderen Bereichen unseres alltäglichen Lebens, die Schlüsseltechnologie. Die mit KI erreichte Effizienzsteigerung ist durch keine andere Technologie replizierbar.
„KI – Made in Germany“ soll auch laut der deutschen Bundesregierung zum Markenzeichen des Landes werden. Der Bund hat sogar bereits eine eigene KI-Strategie verabschiedet. Jetzt liegt es an den Unternehmen, ihre eigene KI-Strategie zu etablieren und Gebrauch von KI-basierter Automatisierungssoftware für den Elektronikentwicklungssektor zu machen.