-
Die vorliegende Erfindung betrifft ein Künstliche-Intelligenz-Modul, KI-Modul, bei dem die Unsicherheit der getroffenen Aussage quantifizierbar ist und zugleich die Lerngrößen platzsparend auf Hardware gespeichert werden können.
-
Stand der Technik
-
Das Führen eines Kraftfahrzeugs im Straßenverkehr erfordert die zuverlässige visuelle Erkennung einer Vielzahl von Objekten, wie etwa Verkehrszeichen, Fahrbahnmarkierungen oder anderer Verkehrsteilnehmer. Um Fahrzeuge ganz oder teilweise automatisiert fahren zu lassen, wird eine künstliche Nachbildung der bislang vom menschlichen Fahrer geleisteten Erkennung benötigt. Auf Grund der hohen Dimensionalität des Problems kommen hierfür Künstliche-Intelligenz-Module (KI-Module) zum Einsatz, die Bilder nach den in ihnen enthaltenen Objekten klassifizieren. Diese KI-Module können insbesondere neuronale Netze enthalten.
-
Für die Betriebssicherheit ist es wichtig, Situationen, in denen die Erkennung nicht sicher zu funktionieren scheint, zumindest festzustellen, um weitere geeignete Maßnahmen einleiten zu können. Ein erschöpfender Test aller möglichen derartigen Situationen in der Trainingsphase des KI-Moduls ist nicht praktikabel.
-
Die
DE 10 2005 050 577 A1 offenbart ein Verfahren zum automatischen Überprüfen eines neuronalen Netzes für eine Steuerungsvorrichtung.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Künstliche-Intelligenz-Modul, KI-Modul, entwickelt. Das KI-Modul ist dazu ausgebildet, eine oder mehrere Eingangsgrößen durch eine interne Verarbeitungskette zu einer oder mehreren Ausgangsgrößen zu verarbeiten. Dabei ist die interne Verarbeitungskette durch einen oder mehrere Parameter festgelegt. Hierbei ist der Begriff des Parameters nicht auf einen skalaren Wert beschränkt, sondern umfasst auch Vektoren, Matrizen oder Funktionen aus einem Funktionenraum, wie beispielsweise Filter.
-
Das KI-Modul ist dazu ausgebildet, den oder die Parameter aus einem oder mehreren in einem Speicher abgelegten Speicherwerten zu ermitteln. Das bedeutet, dass es eine Rechenvorschrift gibt, die konkreten, im Speicher abgelegten Speicherwerten Werte der Parameter zuordnet.
-
Es ist ein Verteilungsmodul vorgesehen, welches dazu ausgebildet ist, einer oder mehreren statistischen Verteilungen jeweils einen Einzelwert zu entnehmen und hieraus den oder die Parameter zu ermitteln, wobei mindestens eine statistische Kenngröße einer jeden statistischen Verteilung von mindestens einem Speicherwert abhängt.
-
Dieser Speicherwert kann beispielsweise bei einem Lernprozess des KI-Moduls erhalten worden sein, also dem Wert einer gelernten Lerngröße entsprechen. Der Speicherwert kann aber auch vorab einprogrammiert worden sein. Auch Kombinationen sind möglich. So kann beispielsweise ein vorab einprogrammierter Speicherwert bei einem späteren erneuten Lernprozess des KI-Moduls aktualisiert werden. Die im Folgenden beschriebene verlustbehaftete Komprimierung und Diskretisierung der Speicherwerte ist unabhängig von ihrer ursprünglichen Herkunft möglich.
-
Das bedeutet, dass ein und derselben Konstellation von Speicherwerten bei wiederholtem Durchlaufen des Verteilungsmoduls nicht mehr immer gleiche Werte der Parameter zugeordnet werden. Vielmehr sind die erhaltenen Werte der Parameter statistisch verteilt um Werte, die durch die Speicherwerte vorgegeben sind.
-
Das Training eines KI-Moduls wird üblicherweise mit einer Vielzahl von Lern-Werten der Eingangsgrößen durchgeführt, zu denen jeweils Lern-Werte der Ausgangsgrößen bekannt sind. Die Speicherwerte, aus denen das Verteilungsmodul die Parameter ermittelt, werden sukzessive so optimiert, dass die Lern-Werte der Eingangsgrößen mit einer für die jeweilige Anwendung hinreichenden Genauigkeit auf die Lern-Werte der Ausgangsgrößen abgebildet werden. Es wird dann davon ausgegangen, dass auch die im realen Betrieb auftretenden Werte der Eingangsgrößen auf für die Anwendung sinnvolle Werte der Ausgangsgrößen abgebildet werden.
-
Die Optimierung der Speicherwerte kann beispielsweise dahingehend erfolgen, das die hieraus vom Verteilungsmodul erzeugten Parameter den Wert einer Gütefunktion („Loss-Funktion“) minimieren. Eine derartige Optimierung kann beispielsweise ein lokales oder globales Optimum, und/oder einen stabilen Zustand anstreben. Die Einführung einer Unschärfe in die Ermittlung der Parameter aus den Speicherwerten hat in diesem Zusammenhang die Wirkung, dass, wie im Folgenden beschrieben, die Speicherwerte verlustbehaftet komprimiert und diskretisiert werden können, ohne dass dies zu übermäßigen Artefakten in den Ausgangsgrößen führt. Weiterhin kann die Optimierung zu solchen Speicherwerten konvergieren, bei denen die Auswirkung der erzwungenen Unschärfe auf die letztendlich erhaltenen Werte der Ausgangsgrößen vermindert ist.
-
Dies wiederum hat mittelbar die Wirkung, dass im realen Betrieb die Verarbeitung durch das KI-Modul resistenter gegen Störungen in den Eingangsgrößen, wie beispielsweise Rauschen, gemacht wird. Das KI-Modul steht gleichsam während des Trainings auf einem Rüttelstand und lernt das Rütteln mit.
-
Die erzwungene Unschärfe der Parameter eröffnet eine Möglichkeit, die Speicherwerte in sinnvoller Weise zu diskretisieren und auf diese Weise verlustbehaftet zu komprimieren. Bislang wurden die Speicherwerte mit hoher Genauigkeit gespeichert, etwa als 32-Bit-Gleitkommazahl. Wenn nun die erzwungene Unschärfe der begrenzende Faktor für die Genauigkeit der Parameter in der internen Verarbeitungskette ist, fällt es demgegenüber nicht mehr ins Gewicht, wenn sich die Genauigkeit der Speicherwerte verschlechtert. Das Training unter erzwungener Unschärfe ist also ein statistisch motivierter Ansatz, um herauszufinden, an welcher Stelle ohne merklichen Qualitätsverlust im Endergebnis Speicherplatz für die Speicherwerte eingespart werden kann.
-
Schließlich streuen auch die Werte der Ausgangsgrößen, wenn dem KI-Modul dieselben Werte der Eingangsgrößen mehrfach zugeführt werden. Diese Streuung ist ein unmittelbar einsichtiges Maß für die Unsicherheit der von dem KI-Modul getroffenen Aussage.
-
In einer besonders vorteilhaften Ausgestaltung der Erfindung enthält das Verteilungsmodul mindestens eine, in Folgenden Codebuch-Tabelle genannte, Tabelle mit mehreren Elementen und ist dazu ausgebildet, den oder die Parameter als Linearkombination dieser Elemente zu ermitteln. Die Koeffizienten der Linearkombination sind die aus den statistischen Verteilungen entnommenen Einzelwerte. Ist also beispielsweise ein Parameter ein Skalar, so wird als Speicherwert nicht dieser Skalar als solcher trainiert, sondern so viele Speicherwerte wie es Elemente in der Codebuch-Tabelle gibt.
-
Dies führt zunächst gerade nicht zu der angestrebten Ersparnis an Speicherplatz, sondern vervielfacht stattdessen den Platzbedarf. Es wurde jedoch erkannt, dass sich aus der Darstellung der Parameter als Linearkombination eine Aussage darüber ableiten lässt, wie groß die Entropie des Parameters ist. Die Parameter können auf Null gesetzt werden, wenn die Speicherwerte durch das Training so bestimmt wurden, dass die Verteilung über die Parameter eine hohe Entropie hat, z.B. gleichverteilt ist.
-
In einer besonders vorteilhaften Ausgestaltung der Erfindung ist die interne Verarbeitungskette ein tiefes neuronales Netzwerk. In einem solchen neuronalen Netzwerk ist zwischen jeweils zwei Schichten für jedes Paar von zwei Neuronen, wobei das eine Neuron der einen Schicht und das andere Neuron der anderen Schicht angehört, die Verbindung zwischen diesen beiden Neuronen mit einem Gewicht als Parameter zu belegen. Dementsprechend groß ist die Anzahl der benötigten Parameter, und somit auch der Bedarf an Speicherplatz. Zugleich ergibt sich aus der jeweiligen Anwendung, dass bei weitem nicht alle Gewichte gleich wichtig in Bezug auf das Endergebnis sind. Indem die Zerlegung der skalaren Gewichte in Linearkombinationen aus unterschiedlichen Elementen nun eine Aussage über die Entropie der Parameter liefert, lässt sich eine selektive verlustbehaftete Komprimierung der Gewichte motivieren.
-
Vorteilhaft enthält die Codebuch-Tabelle zu diesem Zweck eine ungerade Anzahl von Zahlen, die symmetrisch um einen Mittelwert angeordnet sind. Beispielsweise kann die Codebuch-Tabelle fünf Zahlen enthalten, die symmetrisch um 0 herum angeordnet sind. Das Verteilungsmodul kann dann für jede Schicht des neuronalen Netzwerks eine separate Codebuch-Tabelle umfassen. Es sind jedoch auch Codebuch-Tabellen anderen Inhalts sinnvoll, idealerweise solche, bei denen der Erwartungswert Null ist. Dazu ist es nicht zwingend notwendig, dass die Codebuch-Tabelle eine ungerade Anzahl von Zahlen enthält. Auch die symmetrische Anordnung ist optional.
-
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung ist die interne Verarbeitungskette ein neuronales Netzwerk mit mindestens einer Faltungsschicht, d.h., ein „convolutional neural network“. Ein solches Netzwerk eignet sich insbesondere, um mittels sukzessiver Anwendung von Filtern die Dimensionalität von als Eingangsgröße vorgelegten hochdimensionalen Daten, insbesondere Bilddaten, immer weiter zu reduzieren, um schließlich zu einer Klassifikation des Bildes, bzw. der in ihm enthaltenen Objekte, zu gelangen.
-
Vorteilhaft enthält die Codebuch-Tabelle bei einem derartigen neuronalen Netzwerk Filter. Unter einem Filter wird in diesem Zusammenhang insbesondere ein Operator verstanden, der eines oder mehrere Merkmale in den Eingabedaten erkennt und/oder hervorhebt. Ein Filter kann vorteilhaft Ausgabedaten erzeugen, die eine geringere Dimensionalität haben als die Eingangsdaten; dies ist jedoch nicht zwingend.
-
Beispielsweise kann die Codebuch-Tabelle zwischen 7 und 11 Filter enthalten. Im Gegensatz zum tiefen neuronalen Netzwerk muss hier die Zerlegung in eine Linearkombination aus mehreren Filtern nicht zwangsläufig zu einer Vervielfachung des Bedarfs an Speicherplatz führen: Die Filter in der Codebuch-Tabelle können beispielsweise in Form von Matrizen mit ganzzahligen Werten abgespeichert sein, die deutlich weniger Speicherplatz beanspruchen als Matrizen mit reellen Werten. Nur die Speicherwerte, aus denen das Verteilungsmodul die Koeffizienten der Linearkombination bildet, sowie die Codebuch-Tabelle sind noch reellwertig abzuspeichern. Das Verteilungsmodul kann für jede Faltungsschicht des neuronalen Netzwerks eine separate Codebuch-Tabelle umfassen.
-
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung ist der Speicher für die Speicherwerte dazu ausgebildet, ganzzahlige Indizes aufzunehmen. Zugleich ist mindestens eine Lookup-Tabelle zur Übersetzung eines jeden Indexes in einen oder mehrere diskrete Speicherwerte vorgesehen. Auf diese Weise lassen sich diejenigen Speicherwerte, die nicht von vornherein zu Null gesetzt werden können, verlustbehaftet komprimiert abspeichern.
-
Wenn beispielsweise die Codebuch-Tabelle n Elemente enthält und die Lookup-Tabelle m Einträge enthält, so führt die Diskretisierung der Speicherwerte dazu, dass an Stelle der üblichen 32 Bit nur noch n*log2(m) Bit pro Speicherwert abgespeichert werden müssen. Bei n=5 und m=2 sind beispielsweise noch 5 Bit pro Speicherwert nötig, was einer Kompression auf weniger als ein Sechstel des ursprünglichen Speicherplatzbedarfs entspricht. Hinzu kommt noch der einmalige Platzbedarf für die Codebuch-Tabelle und für die Lookup-Tabelle.
-
Wenn die Lookup-Tabelle an Stelle skalarer Werte bereits Vektoren aus mehreren Werten enthält, wird sie zwar größer, es sind jedoch pro Speicherwert nur noch log2(m) Bit an Speicherplatz erforderlich.
-
Nach dem zuvor Beschriebenen bezieht sich die Erfindung auch auf ein Verfahren zum Betreiben des beschriebenen KI-Moduls. Bei diesem Verfahren wird, unter Anwendung der durch das Verteilungsmodul eingebrachten erzwungenen Unschärfe, ein Satz Speicherwerte dergestalt ermittelt, dass das KI-Modul eine Vielzahl von Lern-Werten der Eingangsgrößen mit hinreichender Genauigkeit in die zugehörigen Lern-Werte der Ausgangsgrößen übersetzt. Anschließend werden unter Verwendung der erhaltenen Speicherwerte wiederholt mit dem Verteilungsmodul Einzelwerte der Parameter ermittelt. Sofern die Schwankungsbreite eines Parameters einen vorgegebenen Schwellwert überschreitet, werden die zugehörigen Speicherwerte auf Null gesetzt.
-
Wie zuvor im Zusammenhang mit der Linearkombination aus den Elementen der Codebuch-Tabelle erläutert, enthält ein stark schwankender Parameter letztlich nur eine sehr schwache Aussage. Dementsprechend geht nur wenig Information verloren, wenn die zugehörigen Speicherwerte auf Null gesetzt werden. Hingegen wird durch das Nullsetzen („Pruning“) der Speicherwerte überproportional viel Speicherplatz eingespart.
-
Die Erfindung bezieht sich auch auf ein weiteres Verfahren zum Betreiben des beschriebenen KI-Moduls. Dieses Verfahren kann alternativ zu dem letztgenannten Verfahren oder auch in Kombination hierzu angewendet werden. Wie im letztgenannten Verfahren wird, unter Anwendung der durch das Verteilungsmodul eingebrachten erzwungenen Unschärfe, ein Satz Speicherwerte ermittelt dergestalt, dass das KI-Modul eine Vielzahl von Lern-Werten der Eingangsgrößen mit hinreichender Genauigkeit in die zugehörigen Lern-Werte der Ausgangsgrößen übersetzt. Anschließend werden die Speicherwerte zu Clustern aggregiert. Je Cluster wird ein Speicherwert in die Lookup-Tabelle aufgenommen. Bei einer Kombination mit dem letztgenannten Verfahren wird dieses Verfahren lediglich auf die noch nicht auf Null gesetzten Speicherwerte angewendet.
-
Es wurde erkannt, dass das Aggregieren zu Clustern, beispielsweise mit dem k-means-Algorithmus, eine statistisch gut motivierte und zugleich sehr flexible Art und Weise ist, die Speicherwerte zu diskretisieren. Insbesondere wird auf ein starres Raster verzichtet. So kann es durchaus vorkommen, dass in bestimmten Bereichen des Parameterraums die Cluster deutlich dichter liegen als in anderen.
-
In einer besonders vorteilhaften Ausgestaltung der Erfindung ist die statistische Verteilung, aus der bei der Ermittlung der Parameter Einzelwerte entnommen werden, eine kontinuierliche Relaxation einer diskreten Zufallsvariable, welche auch als „Concrete-Verteilung“ bezeichnet wird. Die Concrete-Verteilung X ~ Concrete(a,y) einer (n-1)-dimensionalen Zufallsvariablen X ist dadurch definiert, dass ihre Dichte D(x) gegeben ist durch
worin α ∈ (0,∞)
n und γ ∈ (0, ∞). α ist der Ort („location“) der Verteilung und y ein Temperaturparameter. Die Concrete-Verteilung zeichnet sich dadurch aus, dass ihre Dichte sich in einer geschlossenen Form schreiben lässt und dass sie sich leicht reparametrisieren lässt.
-
Hierbei wird im Training zwecks Herstellung der gewünschten Unschärfe der Temperaturparameter y vorteilhaft so gewählt, dass die Linearkombination aus den Elementen der Codebuch-Tabelle immer mindestens zwei von Null verschiedene Koeffizienten enthält, also verschmiert ist. Als Ort α wird der jeweilige Speicherwert angesetzt.
-
Nach dem zuvor Beschriebenen bezieht sich die Erfindung auch auf ein weiteres Verfahren zum Betreiben eines KI-Moduls. Bei diesem Verfahren werden dem KI-Modul dieselben Werte der einen oder mehreren Eingangsgröße mehrfach zugeführt, und die Streuung der erhaltenen Werte der einen oder mehreren Ausgangsgrößen wird als Maß für die Unsicherheit der von dem KI-Modul getroffenen Aussage gewertet.
-
Es wurde erkannt, dass die erzwungene Unschärfe in den Parametern der internen Verarbeitungskette des KI-Moduls einen guten Test dafür darstellt, ob die Werte der Eingangsgröße bei jedem Durchlauf im Wesentlichen ohne Zweifel auf ähnliche Werte der Ausgangsgröße abgebildet werden oder ob diese Zuordnung gleichsam „auf der Kippe steht“ und durch besagte Unschärfe bereits aus dem Gleichgewicht gebracht werden kann.
-
Unabhängig davon, ob die erzwungene Unschärfe auch für die platzsparende Speicherung der Speicherwerte genutzt wird, ist allein schon die neu gewonnene Information über die Unsicherheit vielfach nutzbar.
-
So können beispielsweise beim zumindest teilweise automatisierten Fahren die von mehreren Sensortypen gewonnenen Informationen über die Fahrzeugumgebung in gut motivierter Weise fusioniert werden, indem sich die Gewichtung der unterschiedlichen Beiträge an der jeweiligen Unsicherheit orientiert. Auf der Basis der fusionierten Informationen kann dann beispielsweise mindestens ein Aktor, und/oder eine physikalische Warneinrichtung des Fahrzeugs, angesteuert werden.
-
In die Planung von Trajektorien eines zumindest teilweise autonomen Fahrzeugs oder Roboters gehen vielfach auch die erwarteten Trajektorien anderer Verkehrsteilnehmer ein. Indem die jeweilige Unsicherheit der erwarteten Trajektorie berücksichtigt wird, kann die Planung robuster gemacht werden, und plötzliche Manöver können vermieden werden. Sagt beispielsweise ein neuronales Netz voraus, dass sich ein entgegenkommendes Fahrzeug an einer Kreuzung geradeaus weiterbewegt, so kann eine hohe Unsicherheit dieser Vorhersage beispielsweise dazu führen, dass das Fahrzeug, bzw. der Roboter, präventiv verlangsamt wird. Zu diesem Zweck kann beispielsweise mindestens ein Aktor des Fahrzeugs, und/oder eine physikalische Übermittlungseinrichtung zur Ausgabe einer entsprechenden Anweisung an den Fahrer, angesteuert werden.
-
Auch kann eine Unsicherheit bestimmter Vorhersagen frühzeitig in eine Routenplanung einbezogen werden, um unnötige Umwege zu sparen. Wird beispielsweise nur mit einer relativ hohen Unsicherheit vorhergesagt, dass ein bestimmter Parkplatz zu einer bestimmten Zeit noch frei sein wird, so kann von vornherein eine andere Parkmöglichkeit angesteuert werden, bei der diese Unsicherheit geringer ist. Zu diesem Zweck kann beispielsweise mindestens ein Aktor des Fahrzeugs, und/oder eine physikalische Übermittlungseinrichtung zur Ausgabe einer entsprechenden Anweisung an den Fahrer, angesteuert werden.
-
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung wird ein Bild als Eingangsgröße gewählt, und eine Klassifikation des Bildes wird als Ausgangsgröße gewählt. Gerade bei der Bildgebung gibt es viele Quellen für Unsicherheiten. So ist die gewünschte Information im Bild nicht immer gleich stark ausgeprägt und kann auch durch Qualitätsschwankungen bei der Bildaufnahme ganz oder teilweise überlagert werden.
-
Wenn beispielsweise medizinische Bilder auf das Vorhandensein oder den Ausprägungsgrad einer Krankheit klassifiziert werden, so kann neben der Entscheidung des Algorithmus auch die Sicherheit, mit der diese Entscheidung getroffen wurde, dem Arzt mitgeteilt werden. Ab einer bestimmten Unsicherheit kann das Bild beispielsweise als „unentschlossen“ zurückgemeldet werden. Hierzu kann beispielsweise eine physikalische Übermittlungseinrichtung zur Ausgabe der Meldung an den Arzt angesteuert werden. Der Arzt weiß dann, dass er ein qualitativ besseres Bild beschaffen oder auf ein anderes bildgebendes Verfahren ausweichen sollte.
-
Beim zumindest teilweise automatisierten Fahren kann der Fall eintreten, dass das Fahrzeug einem bestimmten Verkehrszeichen erstmals begegnet. So werden beispielsweise Verkehrszeichen vom Gesetzgeber geändert, oder es sind bestimmte nur im Ausland vorkommende Verkehrszeichen unbekannt. In derartigen Fällen kann eine Warnung ausgegeben werden, dass die Klassifikation unsicher ist. Gleiches kann geschehen, wenn ein Verkehrszeichen bewusst manipuliert wurde, um das neuronale Netzwerk zu täuschen, wie beispielsweise durch Bemalen oder Anbringen von Aufklebern („adversarial examples“). Beispielsweise kann zur Ausgabe der Warnung an den Fahrer eine physikalische Übermittlungseinrichtung angesteuert werden. Es kann auch beispielsweise eine Umschalteinrichtung zur Übergabe der Steuerung an den Fahrer angesteuert werden, und/oder es kann beispielsweise mindestens ein Aktor des Fahrzeugs angesteuert werden, um das Fahrzeug präventiv zu verlangsamen.
-
Analog kann bei der automatisierten Qualitätskontrolle anhand von Bildern ein Prüfobjekt ab einer bestimmten Unsicherheit zur manuellen Nachkontrolle selektiert werden. Hierzu kann beispielsweise eine Markierungsvorrichtung angesteuert werden, die das Prüfobjekt entsprechend markiert, und/oder es kann beispielsweise eine Fördereinrichtung dahingehend angesteuert werden, dass das Prüfobjekt zu einem Arbeitsplatz für die manuelle Nachkontrolle gefördert wird. Bei der automatisierten Gesichtserkennung kann eine Person ab einer bestimmten Unsicherheit an einen menschlichen Kontrolleur umgeleitet werden, beispielsweise durch entsprechendes Ansteuern eines visuellen Leitsystems, und/oder es kann ein Ausgang automatisch verschlossen werden, beispielsweise durch entsprechendes Ansteuern eines Türsystems.
-
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung wird eine Stellgröße an die zur Aufnahme der Eingangsgröße verwendete Aufnahmevorrichtung ausgegeben, um mindestens einen physischen Parameter der Aufnahme zu ändern, so dass nach erneuter Aufnahme die Unsicherheit der Aussage vermindert wird. Die Aufnahmevorrichtung wird also in geänderter Weise angesteuert, um durch die Aufnahme mit dem geänderten physikalischen Parameter die Eingangsgröße mit einer im Hinblick auf die Auswertung besseren Qualität aufzunehmen.
-
So kann beispielsweise bei der Bildaufnahme die Intensität, und/oder die Farbe, der Beleuchtung geändert werden, wodurch dann möglicherweise ein Teil des Bildes in die Sättigung gezogen wird, aber die Information, auf die es ankommt, klarer herausgearbeitet wird. Auch können Sensoren und die Datenverarbeitung im Normalfall in einem Energiesparmodus betrieben werden, während in Zweifelsfällen mehr Rechenzeit und Energieaufwand in eine genauere Erkennung investiert wird. Beim zumindest teilweise automatisierten Fahren können in Zweifelsfällen in Echtzeit zusätzliche Sensoren hinzugeschaltet werden, die nicht ständig in Betrieb sein sollen, weil ihre Nutzung etwa mit einem hohen Energieverbrauch oder einem hohen Verschleiß einhergeht. Auch ein Rauchmelder kann, wenn er mit seinem fotoelektrischen Sensor kein sicheres Signal erhält, etwa einen Laser oder eine Kamera zuschalten, um Falschalarme zu vermeiden.
-
Auf einem mobilen Embedded-Gerät kann ein kleineres neuronales Netz laufen, das weniger Ressourcen verbraucht. Beispielsweise können zusätzlich die Speicherwerte gemäß der Erfindung komprimiert sein. Das kleinere neuronale Netz kann dann für die meisten Anfragen genutzt werden, und nur in Zweifelsfällen ist es noch erforderlich, die Eingangsgrößen an ein größeres neuronales Netz in der „Cloud“ weiterzuleiten.
-
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung wird eine Unsicherheit der Aussage, die einen vorgegebenen Schwellwert überschreitet, dahingehend gewertet, dass eine Anomalie in der Eingangsgröße vorliegt. Auf diese Weise können beispielsweise „adversarial examples“ erkannt werden, also etwa bewusste Manipulationen von Verkehrszeichen mit dem Ziel, dass diese von einem zumindest teilweise automatisierten Fahrzeug nicht erkannt oder als ein anderes Zeichen erkannt werden.
-
Die beschriebenen Neuerungen können ganz oder teilweise in der Software eines Computers, eines Embedded-Systems und/oder eines KI-Moduls umgesetzt werden. Eine Änderung der Hardware ist nicht zwingend erforderlich, um an die von der Erfindung bereitgestellten Vorteile zu gelangen. Die Software ist insofern ein eigenständig verkaufbares Produkt, das auch als Update oder Add-On zu bestehenden Systemen vermarktet werden kann. Daher bezieht sich die Erfindung auch auf ein Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder einem Embedded-System, und/oder einem KI-Modul ausgeführt werden, den Computer, und/oder das Embedded-System, und/oder das KI-Modul, zu einem KI-Modul gemäß der Erfindung aufwerten, und/oder dazu veranlassen, ein Verfahren gemäß der Erfindung auszuführen. Ebenso bezieht sich die Erfindung auf einen maschinenlesbaren Datenträger mit einem solchen Computerprogramm.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
-
Figurenliste
-
Es zeigt:
- 1 Beispielhafte Skizze des KI-Moduls 1;
- 2 Beispielhafte Skizze des Verfahrens 100 zum Betreiben des KI-Moduls 1, mit dem Speicherwerte 15 ohne Aussagewert eliminiert werden;
- 3 Beispielhafte Skizze des Verfahrens 200 zum Betreiben des KI-Moduls 1, mit dem die Speicherwerte 15 diskretisiert und verlustbehaftet komprimiert werden;
- 4 Beispielhafte Skizze des Verfahrens 300 zum Betreiben des KI-Moduls 1, mit dem die Unsicherheit 19 der Aussage des KI-Moduls 1 ausgewertet wird.
-
Nach 1 werden die Eingangsgrößen 11 von einer Aufnahmeeinrichtung 3 aufgenommen, deren physische Aufnahmeparameter über eine Stellgröße 31 gesteuert werden können. Die interne Verarbeitungskette 12 des KI-Moduls 1 bildet die Werte der Eingangsgrößen 11 auf Werte der Ausgangsgrößen 16 ab.
-
Die interne Verarbeitungskette 12 ist durch Parameter 13 festgelegt. Wie in 1 angedeutet, handelt es sich bei der internen Verarbeitungskette 12 um ein tiefes neuronales Netzwerk, und die Parameter entsprechen den Gewichten, mit denen die Verbindungen zwischen Neuronen benachbarter Schichten belegt sind. Die Parameter 13 werden für jede Verwendung durch das Verteilungsmodul 2 teilweise oder ganz neu ermittelt.
-
Im Speicher 14 des KI-Moduls 1 sind ganzzahlige Indizes 15a hinterlegt, unter denen in der Lookup-Tabelle 17 diskrete Speicherwerte 15 hinterlegt sind. Dabei bezieht sich der Begriff „diskret“ nicht darauf, dass die Werte ganzzahlig sein müssen, sondern lediglich darauf, dass nur eine begrenzte Anzahl von Werten verwendet wird. Die Speicherwerte können auch beispielsweise Gleitkommazahlen sein.
-
In dem Verteilungsmodul 2 werden aus einer statistischen Verteilung 21, die mit dem Speicherwert 15 parametrisiert ist, Einzelwerte 22 abgerufen. Diese Einzelwerte 22 dienen als Koeffizienten, um die in einer Codebuch-Tabelle 23 hinterlegten Elemente 23a-23c linear zu den benötigten Parametern 13 zu kombinieren. Die interne Verarbeitungskette konfiguriert sich entsprechend der Werte der Parameter 13. Hierdurch ist festgelegt, auf welche Werte der Ausgangsgrößen 16 die Werte der Eingangsgrößen 11 abgebildet werden.
-
Die mit Hilfe des Verteilungsmoduls 2 ermittelten Parameter 13 sind nur einmal gültig. Wenn die gleichen Werte der Eingangsgrößen 11 erneut dem KI-Modul 1 zugeführt werden, werden die Parameter 13 neu berechnet und werden andere Werte annehmen, da es sich um Zufallsvariablen handelt. Dementsprechend sind die Werte der Ausgangsgrößen 16 mit einer Streuung 18 behaftet, aus der sich wiederum eine Unsicherheit 19 der vom KI-Modul 1 getroffenen Aussage ableiten lässt.
-
Beispielsweise können die Gewichte w
s,ij der Schicht s in dem neuronalen Netzwerk für die Verbindung von Neuron i zu Neuron j als Linearkombination der Elemente in einer Codebuch-Tabelle 23 dargestellt werden, die die fünf Zahlen c
s,k=[-0.3, -0.1, 0, 0.1, 0.3] enthält:
worin a
s,ij,k die Einzelwerte aus der statistischen Verteilung
21 sind und die Summe dieser Einzelwerte gleich 1 ist:
-
Die as,ij,k werden in diesem Beispiel der Concrete-Verteilung an dem Ort entnommen, der dem Speicherwert 15 entspricht. Die Verschmierung der Verteilung hängt von dem Temperaturparameter γ der Concrete-Verteilung ab.
-
2 zeigt ein Ausführungsbeispiel des Verfahrens 100, mit dem Speicherwerte 15 ohne Aussagewert eliminiert werden. Zunächst wird in Schritt 110 die interne Verarbeitungskette 12 des KI-Moduls 1 trainiert, was in die Unterschritte 111 bis 116 zerfällt. In Unterschritt 111 werden die Codebuch-Tabelle 23 und die Werte der Speicherwerte 15 initialisiert. In Unterschritt 112 wird aus den Lern-Werten 11a der Eingangsgrößen 11 und aus den Lern-Werten 16a der Ausgangsgrößen 16 ein Minibatch ausgewählt. In Unterschritt 113 werden der mit dem Speicherwert 15 parametrisierten statistischen Verteilung 21 die Einzelwerte 22 entnommen, mit denen in Unterschritt 114 die Parameter 13 für die Konfiguration der internen Verarbeitungskette 12 ermittelt werden.
-
In Unterschritt 115 wird die betragsmäßige Abweichung der von der internen Verarbeitungskette 12 aus dem Lern-Wert 11a der Eingangsgröße 11 erzeugten Ausgangsgröße 16 vom Lern-Wert 16a der Ausgangsgröße 16 ermittelt. Hieraus wird in Unterschritt 116 der Speicherwert 15 aktualisiert mit dem Ziel, die Abweichung zu minimieren.
-
Wenn Schritt 110 zu endgültigen Speicherwerten 15 konvergiert ist, werden in Schritt 120 mit dem Verteilungsmodul 2 hieraus wiederholt Werte 13a-13c für die Parameter 13 ermittelt. Da die Parameter 13 Zufallsvariable sind, unterscheiden sich ihre Einzelwerte 13a-13c von Durchlauf zu Durchlauf. Die diesbezügliche Schwankungsbreite wird in Schritt 130 ausgewertet. Sofern die Schwankungsbreite einen vorgegebenen Schwellwert überschreitet (Wahrheitswert 1), werden in Schritt 140 die zugehörigen Speicherwerte 15 auf Null gesetzt.
-
3 zeigt ein Ausführungsbeispiel des Verfahrens 200, mit dem die Speicherwerte 15 diskretisiert und verlustbehaftet komprimiert werden. Dieses Verfahren 200 kann mit dem Schritt 210 starten, der mit dem Schritt 110 aus 2 identisch ist, wie in 3 gezeichnet. Das Verfahren 200 kann aber auch dergestalt an das Verfahren 100 anschließen, dass dem Schritt 220 des Verfahrens 200 das Endergebnis der Speicherwerte 15 aus dem Verfahren 100 zugeführt wird.
-
In Schritt 220 werden die Speicherwerte 15 zu Clustern 15a-15c aggregiert. In Schritt 230 wird je Cluster 15a-15c jeweils ein Speicherwert 15 in die Lookup-Tabelle 17 überführt.
-
Seien beispielsweise in dem im Zusammenhang mit 1 erläuterten Zahlenbeispiel Werte ps,ij=[0.22, 0.32, 0.7, 0.77, 0.65] für den Speicherwert 15 gelernt worden, mit denen die zufälligen Koeffizienten as,ij,k für die Linearkombination der Zahlen cs,k=[-0.3, -0.1, 0, 0.1, 0.3] aus der Codebuch-Tabelle 23 gewonnen werden. Dann führt ein beispielhafter Clusterprozess zu zwei Clustern, denen die Werte [0.2, 0.7] für die Lookup-Tabelle 17 zugeordnet werden. Die genannten Werte ps,ij werden zu den Werten in der Lookup-Tabelle 17 diskretisiert, indem ihnen entsprechende Indizes [0, 0, 1, 1, 1] zugewiesen werden. Jeder derartige Index 15a benötigt also nur noch 1 Bit Speicherplatz.
-
Die Werte as,ij,k werden immer dann, wenn ein Parameter 13 benötigt wird, aus der Concrete-Verteilung gezogen. Für eine effizientere Implementierung auf Hardware können die as,ij,k aber auch beispielsweise aus der Categorical-Verteilung gesamplet werden, wobei dann pro Parameter 13 nur einer der Werte as,ij,k gleich 1 ist und alle anderen Null. Dies ist eine Approximation der Concrete-Verteilung.
-
4 zeigt ein Ausführungsbeispiel des Verfahrens 400, mit dem die Unsicherheit 19 der Aussage des KI-Moduls 1 ausgewertet wird. Im optionalen Schritt 305 wird ein Bild als Eingangsgröße 11 gewählt, und im optionalen Schritt 310 wird eine Klassifikation des Bildes als Ausgangsgröße 16 gewählt. Statt eines Bildes können auch beliebige andere höherdimensionale Eingangsdaten gewählt werden.
-
In Schritt 320 werden dem KI-Modul 1 dieselben Werte der Eingangsgröße 11 mehrfach zugeführt. Dabei entstehen Einzelwerte 16b-16d der Ausgangsgröße 16, die untereinander streuen. Diese Streuung 18 wird in Schritt 330 als Maß für die Unsicherheit 19 der Aussage des KI-Moduls 1 gewertet.
-
In Schritt 340 wird die Unsicherheit 19 genutzt, um hieraus eine Stellgröße 31 für die Aufnahmeeinrichtung 3 zu ermitteln mit dem Ziel, dass die physische Aufnahme der Eingangsgröße 11 qualitativ verbessert wird und im Anschluss die Unsicherheit 19 der daraus gewonnenen Ausgangsgröße 16 vermindert wird.
-
Alternativ oder in Kombination hierzu wird in Schritt 350 geprüft, ob die Unsicherheit 19 einen vorgegebenen Schwellwert überschreitet. Ist dies der Fall (Wahrheitswert 1), wird in Schritt 360 geschlossen, dass eine Anomalie in der Eingangsgröße 11 vorliegt. Diese Anomalie wird in Schritt 365 an den Benutzer gemeldet.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102005050577 A1 [0004]