DE102017218889A1 - Unarmed parameterized AI module and method of operation - Google Patents

Unarmed parameterized AI module and method of operation Download PDF

Info

Publication number
DE102017218889A1
DE102017218889A1 DE102017218889.8A DE102017218889A DE102017218889A1 DE 102017218889 A1 DE102017218889 A1 DE 102017218889A1 DE 102017218889 A DE102017218889 A DE 102017218889A DE 102017218889 A1 DE102017218889 A1 DE 102017218889A1
Authority
DE
Germany
Prior art keywords
module
values
memory
parameters
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017218889.8A
Other languages
German (de)
Inventor
Jan Mathias Koehler
Tim Genewein
Jan Achterhold
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102017218889.8A priority Critical patent/DE102017218889A1/en
Priority to CN201811229529.5A priority patent/CN109697503A/en
Publication of DE102017218889A1 publication Critical patent/DE102017218889A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/043Architecture, e.g. interconnection topology based on fuzzy logic, fuzzy membership or fuzzy inference, e.g. adaptive neuro-fuzzy inference systems [ANFIS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

Künstliche-Intelligenz-Modul, KI-Modul (1), welches dazu ausgebildet ist, eine oder mehrere Eingangsgrößen (11) durch eine interne Verarbeitungskette (12) zu einer oder mehreren Ausgangsgrößen (16) zu verarbeiten, wobei die interne Verarbeitungskette (12) durch einen oder mehrere Parameter (13) festgelegt ist und wobei das KI-Modul (1) dazu ausgebildet ist, den oder die Parameter (13) aus einem oder mehreren in einem Speicher (14) abgelegten Speicherwerten (15) zu ermitteln, wobei ein Verteilungsmodul (2) vorgesehen ist, welches dazu ausgebildet ist, einer oder mehreren statistischen Verteilungen (21) jeweils einen Einzelwert (22) zu entnehmen und hieraus den oder die Parameter (13) zu ermitteln, wobei mindestens eine statistische Kenngröße einer jeden statistischen Verteilung (21) von mindestens einem Speicherwert (15) abhängt.Verfahren (100) zum Eliminieren von Speicherwerten (15).Verfahren (200) zum Diskretisieren und Komprimieren der Speicherwerte (15).Verfahren (300) zur Auswertung der Unsicherheit (19) der Ausgangsgröße (16).Artificial intelligence module, KI module (1), which is designed to process one or more input variables (11) by an internal processing chain (12) into one or more output variables (16), wherein the internal processing chain (12) is determined by one or more parameters (13) and wherein the KI module (1) is adapted to determine the one or more parameters (13) from one or more stored in a memory (14) memory values (15), wherein a Distribution module (2) is provided, which is adapted to one or more statistical distributions (21) each take a single value (22) and from there to determine the one or more parameters (13), wherein at least one statistical characteristic of each statistical distribution ( 21) depends on at least one memory value (15). Method (100) for eliminating memory values (15). Method (200) for discretizing and compressing the memory values (15). Method (300) for A evaluation of the uncertainty (19) of the output quantity (16).

Description

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.The present invention relates to an artificial intelligence module, KI module, in which the uncertainty of the statement made can be quantified and at the same time the learning variables can be stored to save space on hardware.

Stand der TechnikState of the art

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.Driving a motor vehicle on the road requires reliable visual recognition of a variety of objects, such as traffic signs, lane markings or other road users. In order to drive vehicles fully or partially automated, an artificial replica of the previously made by the human driver detection is needed. Due to the high dimensionality of the problem, Artificial Intelligence (AI) modules are used to classify images according to the objects they contain. These KI modules may in particular contain neural networks.

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.For operational safety, it is important to at least identify situations where detection does not seem to work safely in order to take further appropriate action. An exhaustive test of all possible such situations in the training phase of the AI module is impractical.

Die DE 10 2005 050 577 A1 offenbart ein Verfahren zum automatischen Überprüfen eines neuronalen Netzes für eine Steuerungsvorrichtung.The DE 10 2005 050 577 A1 discloses a method for automatically checking a neural network for a control device.

Offenbarung der ErfindungDisclosure of the invention

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.Within the scope of the invention, an artificial intelligence module, AI module, has been developed. The KI module is designed to process one or more input variables through an internal processing chain to one or more output variables. The internal processing chain is defined by one or more parameters. Here, the notion of the parameter is not limited to a scalar value but also includes vectors, matrices or functions from a function space, such as filters.

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.The KI module is designed to determine the parameter (s) from one or more memory values stored in a memory. This means that there is a calculation rule that assigns values of the parameters to specific storage values stored in memory.

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.A distribution module is provided which is designed to take one individual value from one or more statistical distributions and to determine the parameter (s) from it, wherein at least one statistical parameter of each statistical distribution depends on at least one memory value.

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.This memory value may, for example, have been obtained during a learning process of the AI module, that is to say correspond to the value of a learned learning variable. The memory value may also have been programmed in advance. Combinations are possible. For example, a pre-programmed memory value may be updated during a later re-learning process of the AI module. The lossy compression and discretization of the memory values described below is possible regardless of their original origin.

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.This means that one and the same constellation of memory values are no longer always assigned the same values of the parameters when the distribution module is repeated through the distribution module. Rather, the obtained values of the parameters are statistically distributed around values given by the storage values.

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.The training of an AI module is usually carried out with a plurality of learning values of the input variables, for which learning values of the output variables are known in each case. The memory values from which the distribution module determines the parameters are successively optimized so that the learning values of the input variables are mapped to the learning values of the output variables with sufficient accuracy for the respective application. It is then assumed that the values of the input variables occurring in real operation are also mapped to values of the output variables that are meaningful for the application.

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.The optimization of the memory values can be done, for example, to the effect that the parameters generated therefrom by the distribution module minimize the value of a quality function ("loss function"). Such optimization may, for example, aim for a local or global optimum, and / or a stable state. The introduction of a blur in the determination of the parameters from the memory values in this context has the effect that, as described below, the memory values can be lossy compressed and discretized, without resulting in excessive artifacts in the output variables. Furthermore, the optimization may converge to those memory values that reduce the effect of forced blur on the final output values.

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.This, in turn, has the indirect effect that, in real operation, the processing by the KI Module is made more resistant to disturbances in the input variables, such as noise. The AI module stands on a shaking stand during training and learns how to shake it.

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.The forced blurring of the parameters opens up a possibility to discretize the memory values in a meaningful way and thus to compress them in a lossy manner. Previously, the memory values were stored with high accuracy, such as a 32-bit floating-point number. On the other hand, if forced blur is the limiting factor for the accuracy of the parameters in the internal processing chain, then it does not matter if the accuracy of the stored values deteriorates. Training under forced blurring is thus a statistically motivated approach to finding out where storage space can be saved for the stored value without any noticeable quality loss in the end result.

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.Finally, the values of the output variables also scatter if the same values of the input variables are fed several times to the KI module. This spread is an immediate measure of the uncertainty of the statement made by the AI module.

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.In a particularly advantageous embodiment of the invention, the distribution module contains at least one, referred to in the following codebook table, with a plurality of elements and is adapted to determine the parameter or parameters as a linear combination of these elements. The coefficients of the linear combination are the individual values taken from the statistical distributions. If, for example, a parameter is a scalar, the memory value is not trained as the scalar as such, but as many memory values as there are elements in the codebook table.

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.Initially, this does not lead to the desired savings in storage space, but instead multiplies the space requirement. However, it has been recognized that the representation of the parameters as a linear combination provides information about the size of the entropy of the parameter. The parameters can be set to zero if the memory values have been determined by the training so that the distribution over the parameters has a high entropy, e.g. is equally distributed.

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.In a particularly advantageous embodiment of the invention, the internal processing chain is a deep neural network. In such a neural network, there is between each two layers for each pair of two neurons, one neuron of one layer and the other neuron of the other layer, weighting the connection between these two neurons as parameters. Accordingly large is the number of required parameters, and thus the need for storage space. At the same time, it is clear from the particular application that by far not all weights are equally important with respect to the final result. By decomposing the scalar weights into linear combinations of different elements, a statement about the entropy of the parameters can be obtained, which motivates a selective lossy compression of the weights.

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.Advantageously, the codebook table for this purpose contains an odd number of numbers symmetrically arranged around an average. For example, the codebook table may contain five numbers symmetrically arranged around zero. The distribution module may then comprise a separate codebook table for each layer of the neural network. However, codebook tables of other content are also useful, ideally those in which the expected value is zero. For this it is not absolutely necessary that the codebook table contains an odd number of numbers. The symmetrical arrangement is 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.In a further particularly advantageous embodiment of the invention, the internal processing chain is a neural network with at least one convolution layer, i.e. a convolutional neural network. Such a network is particularly suitable for continuously reducing the dimensionality of high-dimensional data presented as an input variable, in particular image data, by means of successive use of filters, in order finally to arrive at a classification of the image or of the objects contained in it.

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.Advantageously, the codebook table contains filters in such a neural network. In this context, a filter is understood in particular to be an operator that recognizes and / or emphasizes one or more features in the input data. Advantageously, a filter can produce output data having a smaller dimensionality than the input data; however, this is not mandatory.

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.For example, the codebook table may contain between 7 and 11 filters. In contrast to the deep neural network, the decomposition into a linear combination of several filters does not inevitably lead to a multiplication of the requirement for storage space. The filters in the codebook table can be stored, for example, in the form of integer-value matrices which consume significantly less storage space claim as matrices with real values. Only the memory values that make up the distribution module Coefficients of the linear combination forms, as well as the codebook table are still real-valued store. The distribution module may include a separate codebook table for each convolution layer of the neural network.

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.In a further particularly advantageous embodiment of the invention, the memory for the memory values is designed to accommodate integer indexes. At the same time, at least one lookup table is provided for translating each index into one or more discrete memory values. In this way, those memory values that can not be set to zero from the outset can be stored in a lossy compressed form.

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.If, for example, the codebook table contains n elements and the lookup table contains m entries, the discretization of the memory values means that instead of the usual 32 bits only n * log 2 (m) bits per memory value must be stored. At n = 5 and m = 2, for example, 5 bits per memory value are still needed, which is equivalent to compressing to less than one sixth of the original memory requirement. In addition there is the one-time space requirement for the codebook table and for the lookup table.

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.If the lookup table already contains multivalued vectors instead of scalar values, it will grow larger, but only requires log 2 (m) bits of memory space per memory value.

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.As described above, the invention also relates to a method of operating the described KI module. In this method, using the forced blur introduced by the distribution module, a set of storage values is determined such that the KI module translates a plurality of input value learning values into the associated learning values of the outputs with sufficient accuracy. Subsequently, individual values of the parameters are determined repeatedly using the storage values obtained using the distribution module. If the fluctuation range of a parameter exceeds a predetermined threshold value, the associated memory values are set to zero.

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.As explained above in connection with the linear combination of the elements of the codebook table, a strongly fluctuating parameter ultimately only contains a very weak statement. Accordingly, little information is lost when the associated memory values are set to zero. On the other hand, the memory values are saved disproportionately by the "pruning" of the memory values.

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.The invention also relates to a further method for operating the described KI module. This method can be used alternatively to the latter method or also in combination therewith. As in the latter method, using the forced blur introduced by the distribution module, a set of storage values is determined such that the KI module translates a plurality of input value learning values into the associated learning values of the outputs with sufficient accuracy. The storage values are then aggregated into clusters. For each cluster, a memory value is included in the lookup table. When combined with the latter method, this method is only applied to the non-zero memory values.

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.It has been recognized that aggregating to clusters, for example with the k-means algorithm, is a statistically well-motivated and at the same time very flexible way of discretizing the memory values. In particular, a rigid grid is dispensed with. It may well happen that in certain areas of the parameter space the clusters are much denser than in others.

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 D α , γ ( x ) = ( n 1 ) ! γ n 1 k = 1 n ( α k x k γ 1 i = 1 n α i x i γ ) ,

Figure DE102017218889A1_0001
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.In a particularly advantageous embodiment of the invention, the statistical distribution, from which individual values are taken when determining the parameters, is a continuous relaxation of a discrete random variable, which is also referred to as "concrete distribution". The concrete distribution X ~ Concrete (a, y) of a (n-1) -dimensional random variable X is defined by its density D (x) given by D α . γ ( x ) = ( n - 1 ) ! γ n - 1 Π k = 1 n ( α k x k - γ - 1 Σ i = 1 n α i x i - γ ) .
Figure DE102017218889A1_0001
where α ∈ (0, ∞) n and γ ∈ (0, ∞). α is the location of the distribution and y is a temperature parameter. The concrete distribution is characterized by the fact that its density can be written in a closed form and that it can easily be reparametrised.

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.In this case, in order to produce the desired blur, the temperature parameter y is advantageously selected so that the linear combination of the elements of the codebook table always contains at least two coefficients other than zero, that is smeared. The location α is the respective memory value.

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.As described above, the invention also relates to another method of operating an AI module. In this method, the AI module will have the same values or multiple inputs, and the dispersion of the obtained values of the one or more outputs is taken as a measure of the uncertainty of the statement made by the KI module.

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.It has been recognized that the forced blurring in the parameters of the internal processing chain of the KI module is a good test of whether the values of the input are essentially without any doubt mapped to similar values of the output on each pass, or if this mapping is, as it were the tip is "and can be brought by said blur already out of balance.

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.Irrespective of whether the forced blurring is also used for the space-saving storage of the stored values, the newly gained information about the uncertainty alone is often usable.

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.Thus, for example, in the case of at least partially automated driving, the information about the vehicle environment obtained from several sensor types can be merged in a well-motivated manner, by orienting the weighting of the different contributions to the respective uncertainty. On the basis of the merged information, for example, at least one actuator, and / or a physical warning device of the vehicle can then be activated.

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.In the planning of trajectories of an at least partially autonomous vehicle or robot are often the expected trajectories of other road users. By taking into account the particular uncertainty of the expected trajectory, planning can be made more robust and sudden maneuvers can be avoided. If, for example, a neural network predicts that an oncoming vehicle is moving straight on at an intersection, then a high level of uncertainty in this prediction can, for example, lead to a preventive slowing of the vehicle or the robot. For this purpose, for example, at least one actuator of the vehicle, and / or a physical transmission device for outputting a corresponding instruction to the driver, are controlled.

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.Also, an uncertainty of certain predictions can be included early in a route planning to save unnecessary detours. If, for example, it is predicted only with a relatively high degree of uncertainty that a particular parking space will still be free at a certain time, then another parking facility can be activated from the outset in which this uncertainty is lower. For this purpose, for example, at least one actuator of the vehicle, and / or a physical transmission device for outputting a corresponding instruction to the driver, are controlled.

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.In a further particularly advantageous embodiment of the invention, an image is selected as the input variable, and a classification of the image is selected as the output variable. Especially in imaging, there are many sources of uncertainty. Thus, the desired information in the image is not always equally pronounced and can also be completely or partially overlaid by quality fluctuations in image acquisition.

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.For example, when classifying medical images for the presence or severity of a disease, the safety of making that decision may be communicated to the physician in addition to the decision of the algorithm. For example, if there is some uncertainty, the picture may be reported as undecided. For this purpose, for example, a physical transmission device for outputting the message to the doctor can be controlled. The doctor then knows that he should obtain a better quality image or switch to another imaging technique.

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.In at least partially automated driving, it may happen that the vehicle first encounters a particular traffic sign. For example, traffic signs are changed by the legislature, or certain traffic signs occurring only abroad are unknown. In such cases, a warning may be issued that the classification is uncertain. The same can happen when a traffic sign has been deliberately manipulated to deceive the neural network, such as by painting or applying adversarial examples. For example, a physical transmission device can be triggered to output the warning to the driver. It can also be controlled, for example, a switching device for transferring the control to the driver, and / or it can, for example, at least one actuator of the vehicle are controlled to prevent the vehicle to preventively.

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.Analogously, in the case of automated quality control, it is possible to select a test object from a certain uncertainty for manual follow-up on the basis of images. For this purpose, for example, a marking device can be controlled, which marks the test object accordingly, and / or it can, for example, a conveyor be controlled to the effect that the test object is promoted to a workplace for manual follow-up. In the automated Face recognition, a person can be redirected from a certain uncertainty to a human inspector, for example by appropriately driving a visual control system, and / or an output can be automatically closed, for example by appropriately driving a door system.

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.In a further particularly advantageous embodiment of the invention, a manipulated variable is output to the recording device used to record the input variable in order to change at least one physical parameter of the recording, so that the uncertainty of the statement is reduced after re-recording. The recording device is therefore activated in a modified manner in order to record the input variable with a better quality with regard to the evaluation by recording with the changed physical parameter.

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.For example, when capturing the image, the intensity and / or color of the illumination may be changed, which may then saturate a portion of the image, but will provide a clearer indication of the information that matters. Also, sensors and data processing can normally operate in a power-saving mode, while in cases of doubt more computing time and energy is invested in a more accurate detection. In at least partially automated driving additional sensors can be added in case of doubt in real time, which should not be constantly in operation, because their use is associated with about a high energy consumption or high wear. Even a smoke detector, if it does not receive a safe signal with its photoelectric sensor, can switch on a laser or a camera in order to avoid false alarms.

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.A mobile embedded device can run a smaller neural network that consumes less resources. For example, in addition, the memory values according to the invention may be compressed. The smaller neural network can then be used for most requests, and only in cases of doubt is it still necessary to forward the inputs to a larger neural network in the "cloud".

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.In a further particularly advantageous embodiment of the invention, an uncertainty of the statement, which exceeds a predetermined threshold value, is evaluated in such a way that there is an anomaly in the input variable. In this way, for example, "adversarial examples" can be recognized, that is to say deliberate manipulations of traffic signs with the aim that they are not recognized by an at least partially automated vehicle or recognized as another sign.

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.The described innovations can be implemented completely or partially in the software of a computer, an embedded system and / or an AI module. A change in the hardware is not mandatory in order to achieve the advantages provided by the invention. The software is an independently salable product that can also be marketed as an update or add-on to existing systems. Therefore, the invention also relates to a computer program containing machine-readable instructions which, when executed on a computer, and / or an embedded system, and / or an AI module, the computer, and / or the embedded system , and / or the AI module, upgrade to an AI module according to the invention and / or cause it to execute a method according to the invention. Likewise, the invention relates to a machine-readable data carrier with such a computer program.

Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.Further measures improving the invention will be described in more detail below together with the description of the preferred embodiments of the invention with reference to figures.

Figurenlistelist of figures

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.
It shows:
  • 1 Exemplary sketch of the AI module 1 ;
  • 2 Exemplary sketch of the procedure 100 to run the AI module 1 , with the memory values 15 eliminated without meaningfulness;
  • 3 Exemplary sketch of the procedure 200 to run the AI module 1 , with which the memory values 15 discretized and lossy compressed;
  • 4 Exemplary sketch of the procedure 300 to run the AI module 1 with which the uncertainty 19 the message of the AI module 1 is evaluated.

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.To 1 become the input variables 11 from a receiving device 3 their physical recording parameters via a manipulated variable 31 can be controlled. The internal processing chain 12 of the AI module 1 forms the values of the input variables 11 to values of the output variables 16 from.

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.The internal processing chain 12 is by parameters 13 established. As in 1 indicated, is the internal processing chain 12 around a deep neural network, and the Parameters correspond to the weights occupied by the connections between neurons of adjacent layers. The parameters 13 are used for each use by the distribution module 2 partially or completely redetermined.

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 the storage room 14 of the AI module 1 are integer indices 15a deposited under which in the lookup table 17 discrete memory values 15 are deposited. The term "discrete" does not mean that the values have to be integers, just that only a limited number of values are used. The memory values can also be, for example, floating point numbers.

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.In the distribution module 2 become from a statistical distribution 21 that with the memory value 15 is parameterized, individual values 22 accessed. These individual values 22 serve as coefficients to those in a codebook table 23 deposited elements 23a - 23c linear to the required parameters 13 to combine. The internal processing chain configures according to the values of the parameters 13 , This determines which values of the output variables 16 the values of the input variables 11 be imaged.

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.The with the help of the distribution module 2 determined parameters 13 are only valid once. If the same values of the input variables 11 again the AI module 1 are fed, the parameters 13 recalculated and will assume other values because they are random variables. Accordingly, the values of the outputs 16 with a scatter 18 from which, in turn, an uncertainty 19 that of the AI module 1 derived statement.

Beispielsweise können die Gewichte ws,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 cs,k=[-0.3, -0.1, 0, 0.1, 0.3] enthält: w s , i j = k a s , i j , k c s , k ,

Figure DE102017218889A1_0002
worin as,ij,k die Einzelwerte aus der statistischen Verteilung 21 sind und die Summe dieser Einzelwerte gleich 1 ist: k a s , i j , k = 1.
Figure DE102017218889A1_0003
For example, the weights w s, ij of the layer s in the neural network for the connection of neuron i to neuron j can be represented as a linear combination of the elements in a codebook table 23, the five numbers c s, k = [- 0.3, -0.1, 0, 0.1, 0.3] contains: w s . i j = Σ k a s . i j . k c s . k .
Figure DE102017218889A1_0002
where a s, ij, k are the individual values from the statistical distribution 21 and the sum of these individual values is 1: Σ k a s . i j . k = 1.
Figure DE102017218889A1_0003

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.The a s, ij, k in this example are taken from the concrete distribution at the location corresponding to the memory value 15 equivalent. The smearing of the distribution depends on the temperature parameter γ of the concrete distribution.

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. 2 shows an embodiment of the method 100 , with the memory values 15 be eliminated without meaningfulness. First, in step 110 the internal processing chain 12 of the AI module 1 trained, what in the substeps 111 to 116 decays. In sub-step 111 become the codebook table 23 and the values of the memory values 15 initialized. In sub-step 112 gets out of the learning values 11a the input variables 11 and from the learning values 16a the output quantities 16 a mini-batch is selected. In sub-step 113 become the memory value 15 parameterized statistical distribution 21 the individual values 22 taken with those in substep 114 the parameters 13 for the configuration of the internal processing chain 12 be determined.

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.In sub-step 115 the amount of deviation is that of the internal processing chain 12 from the learning value 11a the input quantity 11 generated output 16 from the learning value 16a the output size 16 determined. This will be in sub-step 116 the memory value 15 updated with the goal of minimizing the deviation.

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.When step 110 to final memory values 15 is converged, in step 120 with the distribution module 2 From this, values repeat 13a - 13c for the parameters 13 determined. Because the parameters 13 Random variables are, their individual values differ 13a - 13c from run to run. The corresponding fluctuation range is in step 130 evaluated. If the fluctuation range exceeds a predetermined threshold value (truth value 1 ), in step 140 the associated memory values 15 set to zero.

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. 3 shows an embodiment of the method 200 , with which the memory values 15 be discretized and lossy compressed. This method 200 can with the step 210 start with the step 110 out 2 is identical, as in 3 drawn. The procedure 200 But it can also be connected to the procedure 100 connect that to the step 220 of the procedure 200 the final result of the memory values 15 from the procedure 100 is supplied.

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.In step 220 become the memory values 15 to clusters 15a - 15c aggregated. In step 230 will be each cluster 15a - 15c one memory value each 15 in the lookup table 17 transferred.

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.For example, be related to 1 explained numerical example values p s, ij = [0.22, 0.32, 0.7, 0.77, 0.65] for the memory value 15 have been learned with which the random coefficients a s, ij, k for the linear combination of numbers c s, k = [- 0.3, -0.1, 0, 0.1, 0.3] from the codebook table 23 be won. Then an exemplary cluster process leads to two clusters, which have the values [0.2, 0.7] for the lookup table 17 be assigned. The named values p s, ij become the values in the lookup table 17 discretized by assigning corresponding indexes [0, 0, 1, 1, 1]. Any such index 15a So it only needs 1 bit of space.

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.The values a s, ij, k are always, if a parameter 13 is needed, pulled out of the concrete distribution. For a more efficient implementation on hardware, however, the a s, ij, k can also be sampled from the categorical distribution, for example, for each parameter 13 only one of the values a s, ij, k is equal to 1 and all others are zero. This is an approximation of the concrete distribution.

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. 4 shows an embodiment of the method 400 with which the uncertainty 19 the message of the AI module 1 is evaluated. In the optional step 305 becomes an image as an input 11 and in the optional step 310 becomes a classification of the image as a starting point 16 selected. Instead of an image, any other higher-dimensional input data can also be selected.

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 step 320 become the AI module 1 the same values of the input quantity 11 fed several times. This creates individual values 16b - 16d the output size 16 that scatter among each other. This scattering 18 will be in step 330 as a measure of uncertainty 19 the message of the AI module 1 scored.

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.In step 340 will the uncertainty 19 used to make it a manipulated variable 31 for the recording device 3 to determine with the goal that the physical intake of the input quantity 11 quality is improved and subsequent uncertainty 19 the resulting output 16 is reduced.

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.Alternatively or in combination, in step 350 checked for uncertainty 19 exceeds a predetermined threshold. If this is the case (truth value 1 ), is in step 360 concluded that an anomaly in the input 11 is present. This anomaly will be in step 365 reported to the user.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102005050577 A1 [0004]DE 102005050577 A1 [0004]

Claims (16)

Künstliche-Intelligenz-Modul, KI-Modul (1), welches dazu ausgebildet ist, eine oder mehrere Eingangsgrößen (11) durch eine interne Verarbeitungskette (12) zu einer oder mehreren Ausgangsgrößen (16) zu verarbeiten, wobei die interne Verarbeitungskette (12) durch einen oder mehrere Parameter (13) festgelegt ist und wobei das KI-Modul (1) dazu ausgebildet ist, den oder die Parameter (13) aus einem oder mehreren in einem Speicher (14) abgelegten Speicherwerten (15) zu ermitteln, dadurch gekennzeichnet, dass ein Verteilungsmodul (2) vorgesehen ist, welches dazu ausgebildet ist, einer oder mehreren statistischen Verteilungen (21) jeweils einen Einzelwert (22) zu entnehmen und hieraus den oder die Parameter (13) zu ermitteln, wobei mindestens eine statistische Kenngröße einer jeden statistischen Verteilung (21) von mindestens einem Speicherwert (15) abhängt.Artificial intelligence module, KI module (1), which is designed to process one or more input variables (11) by an internal processing chain (12) into one or more output variables (16), wherein the internal processing chain (12) is determined by one or more parameters (13) and wherein the KI module (1) is designed to determine the parameter (s) (13) from one or more memory values (15) stored in a memory (14), characterized in that a distribution module (2) is provided, which is designed to take one individual value (22) from one or more statistical distributions (21) and to determine therefrom the parameter (s) (13), wherein at least one statistical parameter of each statistical distribution (21) depends on at least one memory value (15). KI-Modul (1) nach Anspruch 1, dadurch gekennzeichnet, dass das Verteilungsmodul (2) mindestens eine Codebuch-Tabelle (23) mit mehreren Elementen (23a-23c) enthält und dazu ausgebildet ist, den oder die Parameter (13) als Linearkombination dieser Elemente (23a-23c) zu ermitteln, wobei die Koeffizienten der Linearkombination die aus den statistischen Verteilungen (21) entnommenen Einzelwerte (22) sind.AI module (1) after Claim 1 , characterized in that the distribution module (2) at least one codebook table (23) with a plurality of elements (23a-23c) and is adapted to determine the one or more parameters (13) as a linear combination of these elements (23a-23c) , where the coefficients of the linear combination are the individual values (22) taken from the statistical distributions (21). KI-Modul (1) nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet, dass die interne Verarbeitungskette (12) ein tiefes neuronales Netzwerk ist.AI module (1) according to one of Claims 1 to 2 , characterized in that the internal processing chain (12) is a deep neural network. KI-Modul (1) nach Anspruch 2 und 3, dadurch gekennzeichnet, dass die Codebuch-Tabelle (23) eine ungerade Anzahl von Zahlen enthält, die symmetrisch um einen Mittelwert angeordnet sind.AI module (1) after Claim 2 and 3 , characterized in that the codebook table (23) contains an odd number of numbers symmetrically arranged around an average. KI-Modul (1) nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet, dass die interne Verarbeitungskette (12) ein neuronales Netzwerk mit mindestens einer Faltungsschicht ist.AI module (1) according to one of Claims 1 to 2 , characterized in that the internal processing chain (12) is a neural network with at least one convolution layer. KI-Modul (1) nach Anspruch 2 und 5, dadurch gekennzeichnet, dass die Codebuch-Tabelle (23) Filter enthält.AI module (1) after Claim 2 and 5 , characterized in that the codebook table (23) contains filters. KI-Modul (1) nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass das Verteilungsmodul (2) für jede Schicht des neuronalen Netzwerks eine separate Codebuch-Tabelle (23) enthält.AI module (1) according to one of Claims 3 to 6 , characterized in that the distribution module (2) contains a separate codebook table (23) for each layer of the neural network. KI-Modul (1) nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Speicher (14) für die Speicherwerte (15) dazu ausgebildet ist, ganzzahlige Indizes (15a) aufzunehmen und dass mindestens eine Lookup-Tabelle (17) zur Übersetzung eines jeden Indexes in einen oder mehrere diskrete Speicherwerte (15) vorgesehen ist.AI module (1) according to one of Claims 1 to 7 characterized in that the memory (14) memory (14) is adapted to receive integer indexes (15a) and that at least one lookup table (17) translates each index into one or more discrete memory values (15). is provided. KI-Modul (1) nach Anspruch 8 und einem der Ansprüche 3 bis 7, dadurch gekennzeichnet, dass für jede Schicht des neuronalen Netzwerks eine separate Lookup-Tabelle (17) vorgesehen ist.AI module (1) after Claim 8 and one of the Claims 3 to 7 , characterized in that a separate lookup table (17) is provided for each layer of the neural network. Verfahren (100) zum Betreiben eines KI-Moduls (1) nach Anspruch 2 und optional einem der Ansprüche 3 bis 9 mit den Schritten: • es wird ein Satz Speicherwerte (15) ermittelt (110, 111-116) dergestalt, dass das KI-Modul (1) eine Vielzahl von Lern-Werten (11a) der Eingangsgrößen (11) mit hinreichender Genauigkeit in die zugehörigen Lern-Werte (16a) der Ausgangsgrößen (16) übersetzt; • unter Verwendung der Speicherwerte (15) werden wiederholt mit dem Verteilungsmodul (2) Einzelwerte (13a-13c) für die Parameter (13) ermittelt (120); und • sofern die Schwankungsbreite eines Parameters (13) einen vorgegebenen Schwellwert überschreitet (130), werden die zugehörigen Speicherwerte (15) auf Null gesetzt (140).Method (100) for operating an AI module (1) according to Claim 2 and optionally one of Claims 3 to 9 comprising the steps: • a set of memory values (15) is determined (110, 111-116) such that the KI module (1) incorporates a plurality of learning values (11a) of the input quantities (11) with sufficient accuracy into the associated learning values (16a) of the output quantities (16) translated; • using the memory values (15), individual values (13a-13c) for the parameters (13) are repeatedly determined (120) with the distribution module (2); and if the fluctuation range of a parameter exceeds a predetermined threshold value, the associated storage values are set to zero (140). Verfahren (200) zum Betreiben eines KI-Moduls (1) nach einem der Ansprüche 8 bis 9 mit den Schritten: • es wird ein Satz Speicherwerte (15) ermittelt (210, 111-116) dergestalt, dass das KI-Modul (1) eine Vielzahl von Lern-Werten (11a) der Eingangsgrößen (11) mit hinreichender Genauigkeit in die zugehörigen Lern-Werte (16a) der Ausgangsgrößen (16) übersetzt; • die Speicherwerte (15) werden zu Clustern (15a-15c) aggregiert (220); und • je Cluster wird ein Speicherwert (15) in die Lookup-Tabelle (17) aufgenommen (230).Method (200) for operating an AI module (1) according to one of Claims 8 to 9 comprising the steps: • a set of memory values (15) is determined (210, 111-116) such that the KI module (1) incorporates a plurality of learning values (11a) of the input quantities (11) with sufficient accuracy into the associated learning values (16a) of the output quantities (16) translated; The storage values (15) are aggregated into clusters (15a-15c) (220); and • for each cluster, a memory value (15) is included in the lookup table (17) (230). Verfahren (300) zum Betreiben eines KI-Moduls (1) nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass dem KI-Modul (1) dieselben Werte der einen oder mehreren Eingangsgröße (11) mehrfach zugeführt werden (320) und die Streuung (18) der erhaltenen Werte (16b-16d) der einen oder mehreren Ausgangsgrößen (16) als Maß für die Unsicherheit (19) der von dem KI-Modul (1) getroffenen Aussage gewertet wird (330).Method (300) for operating an AI module (1) according to one of Claims 1 to 9 , characterized in that the same values of the one or more input variables (11) are repeatedly supplied to the KI module (320) and the scattering (18) of the obtained values (16b-16d) of the one or more output variables (16) as a measure of the uncertainty (19) the statement made by the AI module (1) is assessed (330). Verfahren (300) nach Anspruch 12, dadurch gekennzeichnet, dass ein Bild als Eingangsgröße (11) gewählt wird (305) und dass eine Klassifikation des Bildes als Ausgangsgröße (16) gewählt wird (310).Method (300) according to Claim 12 , characterized in that an image is selected as input (11) (305) and that a classification of the image is selected as output (16) (310). Verfahren (300) nach einem der Ansprüche 12 bis 13, dadurch gekennzeichnet, dass eine Stellgröße (31) an die zur Aufnahme der Eingangsgröße (11) verwendete Aufnahmevorrichtung (3) ausgegeben wird (340), um mindestens einen physischen Parameter der Aufnahme zu ändern, so dass nach erneuter Aufnahme die Unsicherheit (19) der Aussage vermindert wird.Method (300) according to one of Claims 12 to 13 , characterized in that a manipulated variable (31) is output (340) to the recording device (3) used to record the input variable (11) to at least one physical To change the recording parameters so that after re-recording the uncertainty (19) of the statement is reduced. Verfahren (300) nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass eine Unsicherheit (19) der Aussage, die einen vorgegebenen Schwellwert überschreitet (350), dahingehend gewertet wird (360), dass eine Anomalie in der Eingangsgröße (11) vorliegt.Method (300) according to one of Claims 12 to 14 characterized in that an uncertainty (19) of the statement exceeding a predetermined threshold (350) is judged (360) to indicate that there is an anomaly in the input (11). Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder einem Embedded-System, und/oder einem KI-Modul (1) ausgeführt werden, den Computer, und/oder das Embedded-System, und/oder das KI-Modul (1), zu einem KI-Modul (1) nach einem der Ansprüche 1 bis 9 aufwerten, und/oder dazu veranlassen, ein Verfahren (100, 200, 300) nach einem der Ansprüche 10 bis 15 auszuführen.Computer program containing machine-readable instructions which, when executed on a computer, and / or an embedded system, and / or an AI module (1), the computer, and / or the embedded system, and / or the KI module (1), to an AI module (1) according to one of Claims 1 to 9 upgrade, and / or cause, a method (100, 200, 300) according to one of Claims 10 to 15 perform.
DE102017218889.8A 2017-10-23 2017-10-23 Unarmed parameterized AI module and method of operation Pending DE102017218889A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102017218889.8A DE102017218889A1 (en) 2017-10-23 2017-10-23 Unarmed parameterized AI module and method of operation
CN201811229529.5A CN109697503A (en) 2017-10-23 2018-10-22 The KI module and operation method of fuzzy parameter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017218889.8A DE102017218889A1 (en) 2017-10-23 2017-10-23 Unarmed parameterized AI module and method of operation

Publications (1)

Publication Number Publication Date
DE102017218889A1 true DE102017218889A1 (en) 2019-04-25

Family

ID=65996472

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017218889.8A Pending DE102017218889A1 (en) 2017-10-23 2017-10-23 Unarmed parameterized AI module and method of operation

Country Status (2)

Country Link
CN (1) CN109697503A (en)
DE (1) DE102017218889A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018220608A1 (en) * 2018-09-26 2020-03-26 Robert Bosch Gmbh Machine learning system, as well as a method, a computer program and a device for creating the machine learning system
EP3736742A1 (en) 2019-05-08 2020-11-11 Robert Bosch GmbH Machine learning system, a method, a computer program and a device for creating the machine learning system
EP3885973A1 (en) 2020-03-27 2021-09-29 Robert Bosch GmbH Measuring the sensitivity of neural network image classifiers against adversarial attacks
WO2021191115A1 (en) 2020-03-25 2021-09-30 Robert Bosch Gmbh Quantitative rating of the uncertainty of statements by a classifier
WO2021239449A1 (en) 2020-05-26 2021-12-02 Robert Bosch Gmbh Arithmetic unit for approximate calculations in neural networks
DE102020206913A1 (en) 2020-06-03 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Method and device for operating a robot
EP3961325A1 (en) * 2020-08-27 2022-03-02 Siemens Aktiengesellschaft Quality inspection method and quality inspection system for the production of an object
DE102021210566A1 (en) 2021-09-23 2023-03-23 Robert Bosch Gesellschaft mit beschränkter Haftung Quantitative assessment of the uncertainty of statements from a classifier based on measurement data and several processing products of the same
WO2024017735A1 (en) 2022-07-21 2024-01-25 Robert Bosch Gmbh Method for validating a machine learning algorithm

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990855B2 (en) * 2019-06-13 2021-04-27 Baidu Usa Llc Detecting adversarial samples by a vision based perception system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005050577A1 (en) 2005-10-21 2007-05-03 Robert Bosch Gmbh Neuronal network testing method for person motor vehicle, involves outputting positive overall-test signal after each test signal-combination is created, where no partial-signal is stored for given set of test signal-combinations
CN107229967A (en) * 2016-08-22 2017-10-03 北京深鉴智能科技有限公司 A kind of hardware accelerator and method that rarefaction GRU neutral nets are realized based on FPGA
CN107239823A (en) * 2016-08-12 2017-10-10 北京深鉴科技有限公司 A kind of apparatus and method for realizing sparse neural network
CN107239825A (en) * 2016-08-22 2017-10-10 北京深鉴智能科技有限公司 Consider the deep neural network compression method of load balancing
CN107239829A (en) * 2016-08-12 2017-10-10 北京深鉴科技有限公司 A kind of method of optimized artificial neural network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004043875A1 (en) * 2004-09-10 2006-03-16 Frank Bechtold Method and system for optimizing recognition or recognition security in the identification or verification of test objects
DE102011081345A1 (en) * 2011-08-22 2013-02-28 Robert Bosch Gmbh Method for creating a model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005050577A1 (en) 2005-10-21 2007-05-03 Robert Bosch Gmbh Neuronal network testing method for person motor vehicle, involves outputting positive overall-test signal after each test signal-combination is created, where no partial-signal is stored for given set of test signal-combinations
CN107239823A (en) * 2016-08-12 2017-10-10 北京深鉴科技有限公司 A kind of apparatus and method for realizing sparse neural network
CN107239829A (en) * 2016-08-12 2017-10-10 北京深鉴科技有限公司 A kind of method of optimized artificial neural network
CN107229967A (en) * 2016-08-22 2017-10-03 北京深鉴智能科技有限公司 A kind of hardware accelerator and method that rarefaction GRU neutral nets are realized based on FPGA
CN107239825A (en) * 2016-08-22 2017-10-10 北京深鉴智能科技有限公司 Consider the deep neural network compression method of load balancing

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BAGHERINEZHAD, Hessam; RASTEGARI, Mohammad; FARHADI, Ali. Lcnn: Lookup-based convolutional neural network. In: Proc. IEEE CVPR. Conference Date 21-26 July 2017. DOI: 10.1109/CVPR.2017.98 *
HAN, Song, et al. EIE: efficient inference engine on compressed deep neural network. In: Computer Architecture (ISCA), 2016 ACM/IEEE 43rd Annual International Symposium on. IEEE, 2016. S. 243-254. DOI: 10.1109/ISCA.2016.30 *
HAN, Song, et al. Ese: Efficient speech recognition engine with sparse lstm on fpga. In: Proceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. ACM, 2017. S. 75-84. DOI: 10.1145/3020078.3021745 *
HAN, Song; MAO, Huizi; DALLY, William J. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv preprint - Version 5, arXiv:1510.00149v5, 15.02.2016. *
KHOSRAVI, Abbas, et al. Comprehensive review of neural network-based prediction intervals and new advances. IEEE Transactions on neural networks, 2011, 22. Jg., Nr. 9, S. 1341-1356. DOI: 10.1109/TNN.2011.2162110 *
MADDISON, Chris J.; MNIH, Andriy; TEH, Yee Whye. The concrete distribution: A continuous relaxation of discrete random variables. arXiv preprint arXiv:1611.00712v3, 05.032017. *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018220608A1 (en) * 2018-09-26 2020-03-26 Robert Bosch Gmbh Machine learning system, as well as a method, a computer program and a device for creating the machine learning system
WO2020064209A1 (en) 2018-09-26 2020-04-02 Robert Bosch Gmbh Machine learning system and a method, a computer program and a device for creating the machine learning system
EP3736742A1 (en) 2019-05-08 2020-11-11 Robert Bosch GmbH Machine learning system, a method, a computer program and a device for creating the machine learning system
DE102019206621A1 (en) * 2019-05-08 2020-11-12 Robert Bosch Gmbh Machine learning system, as well as a method, a computer program and a device for creating the machine learning system
US11790218B2 (en) 2019-05-08 2023-10-17 Robert Bosch Gmbh Machine learning system, as well as a method, a computer program, and a device for creating the machine learning system
WO2021191115A1 (en) 2020-03-25 2021-09-30 Robert Bosch Gmbh Quantitative rating of the uncertainty of statements by a classifier
DE102020203838A1 (en) 2020-03-25 2021-09-30 Robert Bosch Gesellschaft mit beschränkter Haftung Quantitative evaluation of the uncertainty of statements of a classifier
EP3885973A1 (en) 2020-03-27 2021-09-29 Robert Bosch GmbH Measuring the sensitivity of neural network image classifiers against adversarial attacks
DE102020206570A1 (en) 2020-05-26 2021-12-02 Robert Bosch Gesellschaft mit beschränkter Haftung Arithmetic unit for approximate calculations in neural networks
WO2021239449A1 (en) 2020-05-26 2021-12-02 Robert Bosch Gmbh Arithmetic unit for approximate calculations in neural networks
DE102020206913A1 (en) 2020-06-03 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Method and device for operating a robot
DE102020206913B4 (en) 2020-06-03 2022-12-22 Robert Bosch Gesellschaft mit beschränkter Haftung Method and device for operating a robot
US11738454B2 (en) 2020-06-03 2023-08-29 Robert Bosch Gmbh Method and device for operating a robot
EP3961325A1 (en) * 2020-08-27 2022-03-02 Siemens Aktiengesellschaft Quality inspection method and quality inspection system for the production of an object
DE102021210566A1 (en) 2021-09-23 2023-03-23 Robert Bosch Gesellschaft mit beschränkter Haftung Quantitative assessment of the uncertainty of statements from a classifier based on measurement data and several processing products of the same
WO2024017735A1 (en) 2022-07-21 2024-01-25 Robert Bosch Gmbh Method for validating a machine learning algorithm
DE102022207450A1 (en) 2022-07-21 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Method for validating a machine learning algorithm

Also Published As

Publication number Publication date
CN109697503A (en) 2019-04-30

Similar Documents

Publication Publication Date Title
DE102017218889A1 (en) Unarmed parameterized AI module and method of operation
DE202017102238U1 (en) Aktorsteuerungssystem
DE112017005651T5 (en) Device for classifying data
DE202017102235U1 (en) training system
DE102018128531A1 (en) System and method for analyzing a three-dimensional environment represented by a point cloud through deep learning
DE112019006156T5 (en) DETECTION AND TREATMENT OF INAPPROPRIATE INPUTS THROUGH NEURAL NETWORKS
DE102017218851A1 (en) Method, device and computer program for creating a deep neural network
DE102017219282A1 (en) Method and device for automatically generating an artificial neural network
DE102019211672A1 (en) Training method for an artificial neural network
DE102017128082A1 (en) Meta-architecture design for a CNN network
EP3857455A1 (en) Machine learning system and a method, a computer program and a device for creating the machine learning system
DE102021200643B3 (en) Method for environment recognition for semi-autonomous or autonomous driving functions of a motor vehicle using a neural network
DE102021204040A1 (en) Method, device and computer program for creating training data in the vehicle
DE102020210700A1 (en) More flexible iterative operation of artificial neural networks
DE112020001625T5 (en) Image search system and method
DE102007025620A1 (en) Device for determining an object and / or existence probability of a search object in a read-out window of an image, method and computer program
DE102019130484A1 (en) Method and device for training an ensemble of neural networks
DE102019217952A1 (en) Method and device for providing a training data set for training an AI function on an unknown data domain
WO2019242968A1 (en) Computing unit, method and computer program for multiplying at least two multiplicands
DE60309191T2 (en) SYSTEM FOR FUZZY ASSOCIATES DESCRIPTION OF MULTIMEDIA OBJECTS
DE102021115251A1 (en) Generating an input image for a computer vision algorithm
WO2022152683A1 (en) Ascertaining a confidence of an artificial neural network
DE102020210328A1 (en) Method and device for training a quantized classifier
DE102021109754A1 (en) Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions
DE102019127306A1 (en) System and method for detecting objects in a three-dimensional environment of a carrier vehicle

Legal Events

Date Code Title Description
R163 Identified publications notified