DE102018220701A1 - Diskretisierung von Zahlenwerten mit adaptiver Genauigkeit - Google Patents

Diskretisierung von Zahlenwerten mit adaptiver Genauigkeit Download PDF

Info

Publication number
DE102018220701A1
DE102018220701A1 DE102018220701.1A DE102018220701A DE102018220701A1 DE 102018220701 A1 DE102018220701 A1 DE 102018220701A1 DE 102018220701 A DE102018220701 A DE 102018220701A DE 102018220701 A1 DE102018220701 A1 DE 102018220701A1
Authority
DE
Germany
Prior art keywords
encoder
numerical values
interval
intervals
module
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
DE102018220701.1A
Other languages
English (en)
Inventor
Rolf Michael Koehler
Jan Mathias Koehler
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 DE102018220701.1A priority Critical patent/DE102018220701A1/de
Priority to US16/689,377 priority patent/US11488006B2/en
Priority to CN201911200671.1A priority patent/CN111260041A/zh
Publication of DE102018220701A1 publication Critical patent/DE102018220701A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

Encoder (1), verbindbar mit einem Datenspeicher (3) und ausgebildet für die Speicherung von Zahlenwerten (4), die in einem Wertebereich (43) zwischen einem vorgegebenen Minimalwert (41) und einem vorgegebenen Maximalwert (42) liegen, in dem Datenspeicher (3), wobei der Encoder (1) eine Zuordnungsvorschrift (11) beinhaltet, nach der der Wertebereich (43) in mehrere diskrete Intervalle (12a-12d) unterteilt ist, und wobei der Encoder (1) dazu ausgebildet ist, einen zu speichernden Zahlenwert (4) in genau ein Intervall (12a-12d) einzuordnen und eine Kennung (13a-13d) dieses Intervalls (12a-12d) auszugeben, wobei die Intervalle (12a-12d) auf der Skala der Zahlenwerte (4) unterschiedlich breit sind.Decoder (2) für Zahlenwerte (4), die mit einem Encoder (1) nach einem der Ansprüche 1 bis 5 in einem Datenspeicher (3) abgespeichert sind, dazu ausgebildet, einer aus dem Datenspeicher (3) abgerufenen Kennung (13a-13d) eines diskreten Intervalls (12a-12d) nach einer Zuordnungsvorschrift (21) einen zu diesem Intervall (12a-12d) gehörenden festen Zahlenwert (22a-22d) zuzuordnen und auszugeben.KI-Modul (5) mit KNN (50), Encoder (1) und Decoder (2).Verfahren (100) zur Herstellung des KI-Moduls (5).Zugehöriges Computerprogramm.

Description

  • Die vorliegende Erfindung betrifft die Diskretisierung von Zahlenwerten für die Speicherung in einem Datenspeicher, wobei die Genauigkeit auf die jeweilige Anwendung zuschneidbar ist.
  • Stand der Technik
  • Ein künstliches neuronales Netzwerk, KNN, umfasst in der Regel eine Mehrzahl von Schichten mit Neuronen, die jeweils eine Mehrzahl von Eingaben mit Gewichten zu einer Aktivierung zusammenfassen. Die in einer Schicht gebildeten Aktivierungen, bzw. ein hieraus durch eine weitere Verarbeitung ermitteltes Ergebnis, werden jeweils der nächsten angrenzenden Schicht zugeführt, bis das KNN vollständig durchlaufen ist. Die Gewichte, die Aktivierungen und die hieraus ermittelten Ergebnisse sind in der Regel Gleitkommazahlen (englisch „float“).
  • Um den Speicherbedarf für die Realisierung des KNN zu reduzieren und zugleich preiswertere Hardware mit geringerem Energieverbrauch einsetzen zu können, wird häufig Hardware verwendet, die auf Berechnungen mit Festkommazahlen (englisch „fixed-point“) oder Ganzzahlen (englisch „integer“) spezialisiert ist. Die Fließkommazahlen werden dann zu Festkommazahlen oder Ganzzahlen diskretisiert.
  • Die WO 2018/158 043 A1 offenbart ein Verfahren für die Kodierung von Zahlenwerten in einem KNN, bei dem das höchstwertige Bit speziell für die Kodierung des Werts Null reserviert ist. Auf diese Weise lässt sich besonders schnell prüfen, ob der Wert Null ist.
  • Offenbarung der Erfindung
  • Im Rahmen der Erfindung wurde ein Encoder für die Speicherung von Zahlenwerten, die in einem Wertebereich zwischen einem vorgegebenen Minimalwert und einem vorgegebenen Maximalwert liegen, in einem Datenspeicher entwickelt. Der Encoder ist für diesen Zweck mit einem Datenspeicher verbindbar.
  • Der Encoder beinhaltet eine Zuordnungsvorschrift, nach der der Wertebereich in mehrere diskrete Intervalle unterteilt ist. Dabei wird unter einem Intervall insbesondere eine Zahlenmenge verstanden, die aus Elementen besteht, die zwischen einer vorgegebenen oberen Grenze und einer vorgegebenen unteren Grenze liegen. Die Unterteilung in diskrete Intervalle beinhaltet somit, dass für jedes Intervall eine obere Grenze und eine untere Grenze festgelegt wird.
  • Der Encoder ist dazu ausgebildet, einen zu speichernden Zahlenwert in genau ein Intervall einzuordnen und eine Kennung dieses Intervalls auszugeben, wobei diese Ausgabe insbesondere an den Datenspeicher erfolgen kann. Die Speicherung des Zahlenwerts ist dann in dem Datenspeicher in der dort abgelegten Kennung verkörpert. Das bedeutet, dass jeder Zahlenwert im Datenspeicher nur so viel Speicherplatz belegt wie die Kennung. Werden also beispielsweise die Zahlenwerte in 256 verschiedene Intervalle diskretisiert, so werden 8 Bits benötigt, um eine eindeutige Kennung für jedes der Intervalle abzuspeichern. Die Intervalle sind auf der Skala der Zahlenwerte unterschiedlich breit.
  • Dabei können insbesondere Gleitkommazahlen auf Festkommazahlen oder gar auf ganze Zahlen diskretisiert werden. Dies ist jedoch nicht zwingend erforderlich. Eine Reduzierung des Speicherbedarfs lässt sich auch dann bewirken, wenn ganze Zahlen (beispielsweise 64 Bit große „long integer“) in eine Anzahl Intervalle diskretisiert werden, deren Kennungen weniger Speicherplatz belegen (beispielsweise 22 Bit für die Darstellung von 65.536 Intervallen).
  • Die Diskretisierung auf Intervalle ist eine verlustbehaftete Kompression der Zahlenwerte. Das heißt, sie geht immer mit einem Verlust an Genauigkeit einher.
  • Es wurde erkannt, dass sich durch die unterschiedlich breiten Intervalle die Auswirkungen dieses Genauigkeitsverlusts auf die Anwendung, in der die Zahlenwerte verwendet werden, deutlich reduzieren lassen. Dies beruht auf der Erkenntnis, dass in vielen Anwendungen nicht alle Zahlenwerte gleich wichtig sind. So haben beispielsweise bei der Verarbeitung in künstlichen neuronalen Netzwerken, KNNs, höhere Gewichte und Aktivierungswerte einen deutlich stärkeren Einfluss auf die letztendlich gelieferte Ausgabe als niedrigere Werte. Daher ist es sinnvoll, die höheren Werte mit einer besseren Genauigkeit abzubilden als die niedrigeren Werte. Insbesondere ist die genaue Differenz zwischen höheren Werten relevanter als Differenzen zwischen niedrigen Werten. Genau dies lässt sich mit dem Encoder abbilden.
  • Dabei kann in einer besonders vorteilhaften Ausgestaltung die Breite der diskreten Intervalle auf der Skala der Zahlenwerte mit zunehmendem mittlerem Betrag der Zahlenwerte, die in den Intervallen jeweils enthalten sind, monoton fallen. Mit ein und derselben Menge an Bits, die im Datenspeicher für die Kennung eines Intervalls benötigt wird, können dann betragsmäßig geringere Zahlenwerte mit einer geringeren Genauigkeit und betragsmäßig höhere Zahlenwerte mit einer besseren Genauigkeit abgespeichert werden.
  • Beispielsweise kann die Breite der diskreten Intervalle auf der Skala der Zahlenwerte exponentiell mit einem fortlaufenden Index k über Intervalle, und/oder über Gruppen von Intervallen, variieren. Eine solche Zuordnungsvorschrift bildet die Korrelation zwischen betragsmäßiger Höhe und Wichtigkeit der Zahlenwerte für viele Anwendungen zutreffend ab.
  • Sei beispielsweise ein ganzzahliger Wertebereich zwischen 0 und 2R mit einer positiven ganzen Zahl R vorgegeben, der in 2R (mit P < R) verschiedene Gruppen von Intervallen diskretisiert werden soll. Dabei sind jeweils alle zu einer Gruppe von Intervallen gehörenden Intervalle gleich breit, aber die zu unterschiedlichen Gruppen gehörenden Intervalle sind unterschiedlich breit. Dann kann beispielsweise für jede Gruppe k die untere Grenze Uk der Zahlenwerte, bei der diese Gruppe k beginnt, zu U k = 2 R k 2 R P
    Figure DE102018220701A1_0001
    und die obere Grenze Ok , bei der diese Gruppe endet, zu O k = 2 R ( k 1 ) 2 R P
    Figure DE102018220701A1_0002
    festgelegt werden, wobei diese obere Grenze Ok schon nicht mehr zu der Gruppe k gehören soll. Die Anzahl Nk der Intervalle, die zu der Gruppe k gehören, kann dann beispielsweise festgelegt werden zu N k = 2 R P k + 1 .
    Figure DE102018220701A1_0003
    Nk ist also gleichbedeutend mit der Anzahl unterschiedlicher Intervall-Kennungen, die benötigt werden, um alle Intervalle aus der Gruppe k darzustellen. Um den gesamten ursprünglichen Wertebereich von 0 bis 2R abzubilden, werden also N = k = 1 2 P N k
    Figure DE102018220701A1_0004
    unterschiedliche Intervall-Kennungen benötigt.
  • Dies sei an einem Zahlenbeispiel mit R=10 und P=3 verdeutlicht. Da 2R-P=27=128 ist, erstreckt sich jede der 23=8 Gruppen über 128 Zahlenwerte des ursprünglichen Wertebereichs.
  • Für die erste Gruppe mit k=1 besagt die Formel für Nk , dass der Bereich zwischen der unteren Grenze U1=896 und O1=1024, mit 1024 ausgenommen, in N1=128 Intervalle aufzuteilen ist. Damit werden die 128 höchsten diskreten Zahlenwerte des Gesamt-Wertebereichs ohne Verlust an Genauigkeit zu Intervall-Kennungen abgebildet.
  • Für die zweite Gruppe mit k=2 besagt die Formel für Nk , dass diese Gruppe nur noch N2=64 Intervalle enthalten soll. Die 128 Zahlenwerte in dieser Gruppe (zwischen U2=768 und O2=896, mit 896 ausgenommen) werden also auf 64 Intervall-Kennungen, und somit um einen Faktor 2, verdichtet.
  • Dies setzt sich fort bis k=8. Für k=8 wird der gesamte Bereich von U8=0 bis O8=128, mit 128 ausgenommen, in nur noch N8=20=1 einziges Intervall komprimiert, also um einen Faktor 128.
  • Insgesamt werden N=255 (128+64+32+22+8+4+2+1) verschiedene Kennungen für Intervalle benötigt, die sich mit einem Speicherbedarf von 8 Bits darstellen lassen. Demgegenüber wurden ursprünglich 10 Bits benötigt, um alle 1024 diskreten Zahlenwerte des ursprünglichen Wertebereichs abzuspeichern. Insgesamt werden also 20 % an Speicherplatz eingespart.
  • Insbesondere in einem KNN handelt es sich bei den abgespeicherten Zahlenwerten vielfach um Zwischenergebnisse, mit denen später noch einmal weiter gerechnet werden soll. Hierfür ist es erforderlich, mit einem Decoder die im Datenspeicher hinterlegte Kennung des Intervalls wieder in einen Zahlenwert zurückzuübersetzen, mit dem weiter gerechnet werden kann. Daher bezieht sich die Erfindung auch auf einen Decoder für Zahlenwerte, die mit dem beschriebenen Encoder in einem Datenspeicher abgespeichert sind. Dieser Decoder ist dazu ausgebildet, einer aus dem Datenspeicher abgerufenen Kennung eines diskreten Intervalls nach einer Zuordnungsvorschrift einen zu diesem Intervall gehörenden festen Zahlenwert zuzuordnen und auszugeben.
  • Dabei kann der Decoder beispielsweise dazu ausgebildet sein, mindestens einer Kennung eines diskreten Intervalls das Maximum, das Minimum oder den Mittelwert der zu diesem Intervall gehörenden Zahlenwerte zuzuordnen. Diese Größen sind zumindest Näherungen für den ursprünglich abgespeicherten Zahlenwert, deren maximaler Fehler vorab bekannt ist.
  • Um den durchschnittlichen Fehler bei der Rekonstruktion deutlich zu vermindern, ist in einer weiteren besonders vorteilhaften Ausgestaltung der Encoder zusätzlich dazu ausgebildet, für mindestens eines der diskreten Intervalle eine zusammenfassende Statistik über eingegebene Zahlenwerte zu führen, die der Encoder dem diskreten Intervall zugeordnet hat. Aus dieser zusammenfassenden Statistik lässt sich ein besser motivierter Zahlenwert ableiten, den der Decoder bei der späteren Rekonstruktion der Kennung des Intervalls zuordnen kann.
  • Zu diesem Zweck kann der Encoder insbesondere dazu ausgebildet sein, im Rahmen der zusammenfassenden Statistik ein Perzentil (etwa das 75. Perzentil), einen Mittelwert und/oder einen Median derjenigen Zahlenwerte zu ermitteln, die er dem diskreten Intervall zugeordnet hat.
  • Die Speicherung der zusammenfassenden Statistik zusätzlich zu den Kennungen der Intervalle kostet einen geringen Betrag an zusätzlichem Speicherplatz.
  • Nach dem zuvor Beschriebenen ist die Diskretisierung von Zahlenwerten in unterschiedlich breite Intervalle besonders vorteilhaft für die Realisierung künstlicher neuronaler Netzwerke, KNN, da hier in besonderem Maße betragsmäßig höhere Zahlenwerte einen stärkeren Einfluss auf die letztendlich erzielte Ausgabe haben als betragsmäßig niedrigere Zahlenwerte. Daher bezieht sich die Erfindung auch auf ein Künstliche-Intelligenz-Modul, Kl-Modul, mit einem KNN, das eine Mehrzahl von Schichten mit Neuronen umfasst. Die Neuronen sind jeweils dazu ausgebildet, eine Mehrzahl von Eingaben mit Gewichten zu einer Aktivierung zusammenzufassen. Diese Aktivierungen können wahlweise unmittelbar als Eingaben für die nächste Schicht des KNN dienen oder aber durch eine optionale nichtlineare Verarbeitungsstufe zu einem Ergebnis verarbeitet werden, dass dann wiederum der nächsten Schicht als Eingabe zugeführt wird.
  • Eine derartige nichtlineare Verarbeitungsstufe kann beispielsweise eine Gleichrichtungsfunktion umfassen, die nur den positiven Anteil ihres Arguments und ansonsten Null ausgibt (Rectified Linear Unit, ReLU).
  • Es ist mindestens ein Encoder für die Speicherung der Gewichte mindestens einer Schicht, und/oder mindestens der in einer Schicht gebildeten Aktivierungen und/oder Ergebnisse, in einem Datenspeicher vorgesehen. Weiterhin ist mindestens ein Decoder für den Abruf der Gewichte, Aktivierungen bzw. Ergebnisse aus dem Datenspeicher vorgesehen.
  • Wie zuvor beschrieben, hat die Diskretisierung mit dem Encoder die Wirkung, dass der Speicherbedarf in dem Datenspeicher deutlich reduziert wird. Zugleich leistet diese Diskretisierung auch die Vorarbeit für eine Implementierung des KNN auf Hardware, die speziell für Festkomma- oder Ganzzahlberechnungen ausgelegt ist. Daher sind in einer besonders vorteilhaften Ausgestaltung die Neuronen in dem KI-Modul mit einer Recheneinheit realisiert, die für Festkomma- oder Ganzzahlberechnungen ausgebildet ist.
  • Die Größenordnungen, in denen sich die Zahlenwerte von Aktivierungen, Gewichten und Ergebnissen bewegen, können sich von Schicht zu Schicht des KNN unterscheiden. So können beispielsweise nichtlineare Verarbeitungsstufen, die jeweils die Ausgabe eines Neurons zu einem Ergebnis verarbeiten, bewirken, dass die Beträge der Aktivierungen von Schicht zu Schicht sukzessive ansteigen. Wird beispielsweise die „Rectified Linear Unit“ (ReLU) als nichtlineare Verarbeitungsstufe verwendet, so können beispielsweise in der ersten Schicht des KNN die Aktivierungen zwischen 0 und 2 liegen, während sie in der fünften Schicht bereits zwischen 0 und 40 liegen. Daher sind in einer vorteilhaften Ausgestaltung für unterschiedliche Schichten des KNN Encoder mit unterschiedlichen Zuordnungsvorschriften von Zahlenwerten zu Intervallen vorgesehen.
  • Ebenso sind in einer weiteren vorteilhaften Ausgestaltung für unterschiedliche Schichten des KNN Decoder mit unterschiedlichen Zuordnungsvorschriften von Intervall-Kennungen zu Zahlenwerten vorgesehen. Beispielsweise können die Encoder für unterschiedliche Schichten des KNN unterschiedliche Wertebereiche in unterschiedlicher Weise in Intervalle aufteilen, und der Decoder sollte dann jeweils hierzu korrespondieren. Die Encoder können auch beispielsweise für unterschiedliche Schichten des KNN unterschiedliche zusammenfassende Statistiken in Bezug auf ein und dasselbe diskrete Intervall erstellen, so dass die Decoder der Kennung dieses Intervalls dann jeweils einen passenden Zahlenwert für die weiteren Rechnungen zuordnen können.
  • In dem KI-Modul können der Encoder und der Decoder an beliebiger Stelle untergebracht sein. Der Encoder und der Decoder können beispielsweise in einen Pfad für den direkten Speicherzugriff (Direct Memory Access, DMA) geschaltet sein oder auch beispielsweise an einer beliebigen Stelle sitzen, an der sie exklusiv den Zugriff auf zumindest einen Teil des Datenspeichers kontrollieren. Der Encoder und der Decoder können aber auch beispielsweise innerhalb der Software-Implementierung des KNN implementiert sein und sich der herkömmliche, von der Hardware und vom Betriebssystem bereitgestellten, Methoden für den Speicherzugriff bedienen.
  • Typischerweise wird ein KNN mit zufälligen Werten oder anderen Startwerten für die darin vorkommenden Gewichte initialisiert, und die endgültigen Gewichte bilden sich dann erst während des Trainings heraus. Das Training entscheidet somit über die Größenordnungen, in denen sich die Zahlenwerte von Aktivierungen, Gewichten und Ergebnissen bewegen.
  • Daher bezieht sich die Erfindung auch auf ein Verfahren zur Herstellung des beschriebenen KI-Moduls.
  • Im Rahmen dieses Verfahrens werden zunächst die Gewichte des KNN in dem KI-Modul mittels Lern-Datensätzen für die Eingabedaten und zugehörigen Lern-Ausgaben trainiert. Hierbei werden die Gewichte insbesondere so optimiert, dass das KNN zu den Lern-Datensätzen jeweils eine Ausgabe liefert, die nach Maßgabe einer Fehlerfunktion hinreichend gut der zugehörigen Lern-Ausgabe entspricht.
  • Es wird nun anhand von Datensätzen für die Eingabedaten ermittelt, in welchem Wertebereich die in mindestens einer Schicht des KNN gebildeten Aktivierungen und/oder Ergebnisse liegen. Der auf diese Weise ermittelte Wertebereich, und/oder ein Wertebereich, in dem die beim Training ermittelten Gewichte liegen, wird als Wertebereich für mindestens einen Encoder des KI-Moduls festgelegt. Diese Datensätze können beispielsweise für das Training verwendete Lern-Datensätze, für die Validierung nach dem Training verwendete Test-Datensätze, oder auch beliebige Kombinationen hieraus, beinhalten.
  • Wie zuvor beschrieben, kann diese Festlegung separat für jede einzelne Schicht des KNN erfolgen. Es kann aber auch beispielsweise ein globaler Wertebereich für alle Aktivierungen, Ergebnisse bzw. Gewichtungen des gesamten KNN festgelegt werden, der alle im KNN vorkommenden Zahlenwerte abdeckt.
  • Situationen, in denen die genaue Differenz zwischen höheren Zahlenwerten wichtiger ist als Differenzen zwischen niedrigeren Zahlenwerten, können insbesondere auftreten, wenn ein KNN für Klassifikationsaufgaben eingesetzt wird. Bei dieser Art Aufgaben können hohe Konfidenzen für mehrere Klassen nahe beieinander liegen, und nur diese Klassen kommen überhaupt für die Auswahl der letztendlich ausgegebenen Klasse in Betracht. Daher ist die genaue Unterscheidung zwischen diesen Klassen viel wichtiger als eine Unterscheidung zwischen Klassen, bezüglich derer die Konfidenz bereits wesentlich niedriger eingestuft wurde. Daher wird das beschriebene KI-Modul besonders vorteilhaft für die Spracherkennung, Objekterkennung, Linienschätzung, Ego-Line-Schätzung, Betrugserkennung, Gesichtserkennung und/oder semantische Segmentierung aus physikalisch aufgenommenen Messdaten verwendet. Wichtige Anwendungen sind hier beispielsweise Fahrassistenzsysteme, die Steuerung eines zumindest teilweise automatisierten Fahrzeugs im Straßenverkehr sowie auch die Zutrittskontrolle, bei der es darauf ankommt, das Vorliegen eines gültigen Zugangsmediums zu erkennen.
  • Der Encoder und der Decoder können ganz oder teilweise in einer Software implementiert sein, die insbesondere auch nachträglich auf ein bestehendes Kl-Modul nachgerüstet werden kann. Diese Software ist somit ein eigenständiges Produkt mit dem unmittelbaren Kundennutzen, dass die Performance eines damit ausgerüsteten KI-Moduls besser wird. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem Embedded-System, ausgeführt werden, den Computer, und/oder das Embedded-System, zu dem beschriebenen Encoder, und/oder zu dem beschriebenen Decoder, aufwerten, und/oder den Computer, bzw. das Embedded-System, dazu veranlassen, das beschriebene Verfahren zur Herstellung eines KI-Moduls auszuführen. Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger oder ein Downloadprodukt mit dem 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.
  • Ausführungsbeispiele
  • Es zeigt:
    • 1 Kodierung von Zahlenwerten 4 mit einem beispielhaften Encoder 1 und Dekodierung mit einem beispielhaften Decoder 2;
    • 2 Ausführungsbeispiel eines KI-Moduls mit Encoder 1 und Decoder 2;
    • 3 Ausführungsbeispiel des Verfahrens 100.
  • Nach 1 fallen aus beliebiger Quelle Zahlenwerte 4 an, die sich über einen Wertebereich 43 zwischen einem vorgegebenen Minimalwert 41 und einem vorgegebenen Maximalwert 42 erstrecken. Diese Zahlenwerte sind in diskretisierter, platzsparender Form in dem Datenspeicher 3 zu hinterlegen.
  • Hierfür kommt der beispielhafte Encoder 1 zum Einsatz. Gemäß der Zuordnungsvorschrift 11 in dem Encoder 1 wird der Wertebereich 43 in diskrete Intervalle 12a-12d unterteilt, deren Breiten 14a-14d unterschiedlich sind. Abhängig davon, in welches der Intervalle 12a-12d ein konkreter abzuspeichernder Zahlenwert 4 fällt, wird die Kennung 13a-13d des jeweiligen Intervalls 12a-12d in dem Datenspeicher 3 hinterlegt.
  • Der Encoder 1 führt weiterhin eine zusammenfassende Statistik 15a-15d über diejenigen Zahlenwerte 4, die er jeweils den einzelnen Intervallen 12a-12d zugeordnet hat. Diese zusammenfassende Statistik 15a-15d wird ebenfalls in den Datenspeicher 3 ausgegeben. Da diese Statistik 15a-15d ein Komprimat aus sehr vielen Einzelwerten 4 ist, ist der zusätzliche Platzbedarf im Datenspeicher 3 sehr gering.
  • Wird ein Zahlenwert 4 wieder benötigt, um damit weiter zu rechnen, werden die an Stelle dieses Zahlenwerts 4 im Datenspeicher 3 hinterlegte Kennung 13a-13d des Intervalls 12a-12d sowie eine eventuell vorhandene zusammenfassende Statistik 15a-15d aus dem Datenspeicher 3 abgerufen. Die Zuordnungsvorschrift 21 des Decoders 2 ordnet der Kennung 13a-13d einen festen Wert 22a-22d zu, der für die weitere Verwendung an die Stelle des ursprünglich eingegebenen Zahlenwerts 4 tritt. Dabei kann für die Festlegung des zu jeder Kennung 13a-13d gehörenden festen Werts 22a-22d insbesondere auch die vom Encoder 1 zum jeweiligen Intervall 12a-12d geführte und im Datenspeicher 3 hinterlegte zusammenfassende Statistik herangezogen werden.
  • 2 zeigt ein Ausführungsbeispiel des KI-Moduls 5. Das KI-Modul 5 enthält ein künstliches neuronales Netzwerk, KNN 50. Das KNN 50 besteht aus einer Vielzahl von Schichten, von denen drei in 2 beispielhaft dargestellt und mit den Bezugszeichen 51-53 bezeichnet sind. Jede Schicht 51-53 enthält eine Vielzahl von Neuronen, von denen in 2 eines beispielhaft mit dem Bezugszeichen 54 bezeichnet ist. Das KI-Modul 5 ist dazu bestimmt, Zahlenwerte 4, beispielsweise Messdaten aus physikalischen Beobachtungen, in eine für die jeweilige Anwendung zutreffende Ausgabe 7, etwa eine Klassifikation dieser Messdaten, zu übersetzen.
  • Zum Training des KNN 50 wird dieses mit Lern-Datensätzen 6a beaufschlagt, und die internen Gewichte 51a-53a in den Schichten 51-63 werden so optimiert, dass die Ausgabe 7 des KNN 5 nach Maßgabe einer Fehlerfunktion hinreichend gut zu der zugehörigen Lern-Ausgabe 6b korrespondiert. Zum Einrichten des Encoders 1, das im Zusammenhang mit 3 näher erläutert wird, werden weiterhin Datensätze in das KNN 50 eingegeben. Diese Datensätze können beispielsweise für das Training verwendete Lern-Datensätze, für die Validierung nach dem Training verwendete Test-Datensätze, oder auch beliebige Kombinationen hieraus, beinhalten.
  • Dabei sind die Neuronen 54 des KNN 50 zumindest im fertig trainierten Zustand mit einer Recheneinheit 55 realisiert, die für Festkomma- oder Ganzzahlberechnungen ausgebildet ist. Für das Training kann Hardware verwendet werden, die mit Gleitkommazahlen arbeitet, damit die kleinen, während des Trainings auftretenden Gradientenschritte nicht durch Rundungseffekte unterdrückt werden.
  • In den Schichten 51-53 des KNN 50 entstehende Aktivierungen 51b-53b, sowie daraus durch nichtlineare Verarbeitung ermittelte Ergebnisse 51c-53c, werden über den Encoder 1 im Datenspeicher 3 abgelegt. Auch die nach dem Training entstandenen Gewichte 51a-53a werden in dieser Weise gespeichert. Wie im Zusammenhang mit 1 beschrieben, wird zu jedem diesbezüglichen Zahlenwert 4 die Kennung 13a-13d eines Intervalls 12a-12d, in das der Zahlenwert fällt, abgespeichert. Zusätzlich wird auch die zusammenfassende Statistik 15a-15d über alle jeweils dem Intervall 12a-12d zugeordneten Zahlenwerte 4 abgespeichert.
  • Wenn die Zahlenwerte 4 wieder benötigt werden, etwa um die Eingabe für die nächste Schicht 51-53 zu erstellen, werden, wie im Zusammenhang mit 1 beschrieben, den Kennungen 13a-13d mit dem Decoder 2 feste Werte 22a-22d aus den jeweiligen Intervallen 12a-12d zugeordnet. Diese festen Werte 22a-22d treten bei der weiteren Verarbeitung an die Stelle der Zahlenwerte 4, die ursprünglich zur Speicherung vorgelegt wurden. Sie können beispielsweise unter Heranziehung der jeweiligen zusammenfassenden Statistik 15a-15d festgelegt sein.
  • 3 zeigt ein Ausführungsbeispiel des Verfahrens 100. In Schritt 110 liegt das KI-Modul 5 zunächst noch in seinem untrainierten Zustand 5' vor und wird, wie zuvor beschrieben, trainiert. Als Ergebnis entstehen die internen Gewichte 51a-53a der Schichten 51-53 im KNN 50 des KI-Moduls 5. Das KI-Modul 5 liegt jetzt in seinem trainierten Zustand vor.
  • In diesem trainierten Zustand bekommt das KI-Modul 5 in Schritt 120 Datensätze 6c für Eingabedaten zugeführt. Diese Datensätze 6c können beispielsweise für das Training verwendete Lern-Datensätze 6a, für die Validierung nach dem Training verwendete Test-Datensätze, oder auch beliebige Kombinationen hieraus, beinhalten. Die Datensätze 6c können aber auch beispielsweise disjunkt zu den Lern-Datensätzen 6a, und/oder zu den Test-Datensätzen, sein. Es wird getestet, in welchen Wertebereichen 43 die in den Schichten 51-53 des KNN 50 gebildeten Aktivierungen 51b-53b, bzw. die hieraus ermittelten Ergebnisse 51c-53c, liegen.
  • Diese Wertebereiche werden in Schritt 130 als Wertebereiche 43 für mindestens einen Encoder 1 des KI-Moduls 5 festgelegt. Auch der Wertebereich 43, in dem die beim Training 110 ermittelten Gewichte 51a-53a liegen, wird als Wertebereich 43 für mindestens einen solchen Encoder 1 festgelegt.
  • Diesen Anpassungen des Encoders 1 kann insbesondere auch der jeweils zugehörige Decoder 2 nachgeführt werden.
  • 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
    • WO 2018/158043 A1 [0004]

Claims (15)

  1. Encoder (1), verbindbar mit einem Datenspeicher (3) und ausgebildet für die Speicherung von Zahlenwerten (4), die in einem Wertebereich (43) zwischen einem vorgegebenen Minimalwert (41) und einem vorgegebenen Maximalwert (42) liegen, in dem Datenspeicher (3), wobei der Encoder (1) eine Zuordnungsvorschrift (11) beinhaltet, nach der der Wertebereich (43) in mehrere diskrete Intervalle (12a-12d) unterteilt ist, und wobei der Encoder (1) dazu ausgebildet ist, einen zu speichernden Zahlenwert (4) in genau ein Intervall (12a-12d) einzuordnen und eine Kennung (13a-13d) dieses Intervalls (12a-12d) auszugeben, wobei die Intervalle (12a-12d) auf der Skala der Zahlenwerte (4) unterschiedlich breit sind.
  2. Encoder (1) nach Anspruch 1, wobei die Breite (14a-14d) der diskreten Intervalle (12a-12d) auf der Skala der Zahlenwerte (4) mit zunehmendem mittlerem Betrag der Zahlenwerte (4), die in den Intervallen (12a-12d) jeweils enthalten sind, monoton fällt.
  3. Encoder (1) nach einem der Ansprüche 1 bis 2, wobei die Breite (14a-14d) der diskreten Intervalle (12a-12d) auf der Skala der Zahlenwerte (4) exponentiell mit einem fortlaufenden Index k über Intervalle (12a-12d), und/oder über Gruppen von Intervallen (12a-12d), variiert.
  4. Encoder (1) nach einem der Ansprüche 1 bis 3, zusätzlich dazu ausgebildet, für mindestens eines der diskreten Intervalle (12a-12d) eine zusammenfassende Statistik (15a-15d) über eingegebene Zahlenwerte (4) zu führen, die der Encoder (1) dem diskreten Intervall (12a-12d) zugeordnet hat.
  5. Encoder (1) nach Anspruch 4, dazu ausgebildet, im Rahmen der zusammenfassenden Statistik (15a-15d) ein Perzentil, einen Mittelwert und/oder einen Median der Zahlenwerte (4) zu ermitteln, die der Encoder (1) dem diskreten Intervall (12a-12d) zugeordnet hat.
  6. Decoder (2) für Zahlenwerte (4), die mit einem Encoder (1) nach einem der Ansprüche 1 bis 5 in einem Datenspeicher (3) abgespeichert sind, dazu ausgebildet, einer aus dem Datenspeicher (3) abgerufenen Kennung (13a-13d) eines diskreten Intervalls (12a-12d) nach einer Zuordnungsvorschrift (21) einen zu diesem Intervall (12a-12d) gehörenden festen Zahlenwert (22a-22d) zuzuordnen und auszugeben.
  7. Decoder (2) nach Anspruch 6, dazu ausgebildet, mindestens einer Kennung (13a-13d) eines diskreten Intervalls (12a-12d) das Maximum, das Minimum oder den Mittelwert der zu diesem Intervall (12a-12d) gehörenden Zahlenwerte (4) zuzuordnen.
  8. Decoder (2) nach einem der Ansprüche 6 bis 7, dazu ausgebildet, mindestens einer Kennung (13a-13d) eines diskreten Intervalls (12a-12d) einen durch einen Encoder (1) nach einem der Ansprüche 4 bis 5 mit der zusammenfassenden Statistik (15a-15d) ermittelten Zahlenwert (22a-22d) zuzuordnen.
  9. Künstliche-Intelligenz-Modul, Kl-Modul (5), mit einem künstlichen neuronalen Netzwerk, KNN (50), wobei das KNN eine Mehrzahl von Schichten (51-53) mit Neuronen (54) umfasst, die jeweils eine Mehrzahl von Eingaben (50a) mit Gewichten (51a-53a) zu einer Aktivierung (51b-53b) zusammenfassen, wobei optional zusätzlich eine nichtlineare Verarbeitungsstufe für die Weiterverarbeitung der Aktivierung (51b-53b) zu einem Ergebnis (51c-53c) vorgesehen ist, weiterhin umfassend mindestens einen Encoder (1) für die Speicherung der Gewichte (51a-53a) mindestens einer Schicht (51-53), und/oder mindestens der in einer Schicht (51-53) gebildeten Aktivierungen (51b-53b) und/oder Ergebnisse (51c-53c), in einem Datenspeicher (3) sowie mindestens einen Decoder (2) für den Abruf der Gewichte (51a-53a), Aktivierungen (51b-53b) bzw. Ergebnisse (51c-53c) aus dem Datenspeicher (3).
  10. KI-Modul (5) nach Anspruch 9, wobei für unterschiedliche Schichten (51-53) des KNN (50) Encoder (1) mit unterschiedlichen Zuordnungsvorschriften (11) von Zahlenwerten (4) zu Intervallen (12a-12d) vorgesehen sind.
  11. Kl-Modul (5) nach einem der Ansprüche 9 bis 10, wobei für unterschiedliche Schichten (51-53) des KNN (50) Decoder (2) mit unterschiedlichen Zuordnungsvorschriften (21) von Intervall-Kennungen (12a-12d) zu Zahlenwerten (4) vorgesehen sind.
  12. Kl-Modul (5) nach einem der Ansprüche 9 bis 11, wobei die Neuronen (54) mit einer Recheneinheit (55) realisiert sind, die für Festkomma- oder Ganzzahlberechnungen ausgebildet ist.
  13. Verfahren (100) zur Herstellung eines KI-Moduls (5) nach einem der Ansprüche 9 bis 12 mit den Schritten: • die Gewichte (51a-53a) des KNN (50) in dem KI-Modul (5) werden mittels Lern-Datensätzen (6a) für die Eingabedaten und zugehörigen Lern-Ausgaben (6b) so trainiert (110), dass das KNN (5) zu den Lern-Datensätzen (6a) jeweils eine Ausgabe (7) liefert, die nach Maßgabe einer Fehlerfunktion hinreichend gut der zugehörigen Lern-Ausgabe (6b) entspricht; • anhand von Datensätzen (6c) für die Eingabedaten wird ermittelt (120), in welchem Wertebereich (43) die in mindestens einer Schicht (51-53) des KNN (50) gebildeten Aktivierungen (51b-53b) und/oder Ergebnisse (51c-53c) liegen; • der auf diese Weise ermittelte Wertebereich (43), und/oder ein Wertebereich (43), in dem die beim Training (110) ermittelten Gewichte (51a-53a) liegen, wird als Wertebereich (43) für mindestens einen Encoder (1) des KI-Moduls (5) festgelegt (130).
  14. Verwendung eines KI-Moduls (5) nach einem der Ansprüche 9 bis 12 für die Spracherkennung, Objekterkennung, Linienschätzung, Ego-Line-Schätzung, Betrugserkennung, Gesichtserkennung und/oder semantische Segmentierung aus physikalisch aufgenommenen Messdaten.
  15. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem Embedded-System, ausgeführt werden, den Computer, und/oder das Embedded-System, zu einem Encoder (1) nach einem der Ansprüche 1 bis 5, und/oder zu einem Decoder (2) nach einem der Ansprüche 6 bis 8, aufwerten, und/oder den Computer, bzw. das Embedded-System, dazu veranlassen, das Verfahren (100) nach Anspruch 13 auszuführen.
DE102018220701.1A 2018-11-30 2018-11-30 Diskretisierung von Zahlenwerten mit adaptiver Genauigkeit Pending DE102018220701A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102018220701.1A DE102018220701A1 (de) 2018-11-30 2018-11-30 Diskretisierung von Zahlenwerten mit adaptiver Genauigkeit
US16/689,377 US11488006B2 (en) 2018-11-30 2019-11-20 Discretization of numerical values with adaptive accuracy
CN201911200671.1A CN111260041A (zh) 2018-11-30 2019-11-29 具有自适应精度的数值的离散化

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018220701.1A DE102018220701A1 (de) 2018-11-30 2018-11-30 Diskretisierung von Zahlenwerten mit adaptiver Genauigkeit

Publications (1)

Publication Number Publication Date
DE102018220701A1 true DE102018220701A1 (de) 2020-06-04

Family

ID=70680845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018220701.1A Pending DE102018220701A1 (de) 2018-11-30 2018-11-30 Diskretisierung von Zahlenwerten mit adaptiver Genauigkeit

Country Status (3)

Country Link
US (1) US11488006B2 (de)
CN (1) CN111260041A (de)
DE (1) DE102018220701A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020203998A1 (de) 2020-03-27 2021-09-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben eines Klassifikators

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989653B2 (en) * 2020-05-22 2024-05-21 Mipsology SAS Pseudo-rounding in artificial neural networks
DE102022200893A1 (de) * 2022-01-27 2023-07-27 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Codierung und Decodierung von Daten

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018158043A1 (de) 2017-03-01 2018-09-07 Robert Bosch Gmbh Neuronalnetzsystem

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10373022B1 (en) * 2018-02-28 2019-08-06 Konica Minolta Laboratory U.S.A., Inc. Text image processing using stroke-aware max-min pooling for OCR system employing artificial neural network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018158043A1 (de) 2017-03-01 2018-09-07 Robert Bosch Gmbh Neuronalnetzsystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020203998A1 (de) 2020-03-27 2021-09-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben eines Klassifikators

Also Published As

Publication number Publication date
US11488006B2 (en) 2022-11-01
CN111260041A (zh) 2020-06-09
US20200175356A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
DE2844156A1 (de) Verfahren zum verifizieren eines sprechers
DE102018220701A1 (de) Diskretisierung von Zahlenwerten mit adaptiver Genauigkeit
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
DE102017218889A1 (de) Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
DE102019126195A1 (de) Verfahren zur effizienten, simulativen Applikation automatisierter Fahrfunktionen
DE102017218851A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung eines tiefen neuronalen Netzes
DE102011000409A1 (de) Verfahren zum Bewerten der fahrdynamischen Ausprägung eines mit einem Kraftfahrzeug realisierten Fahrprofils
EP0749613B1 (de) Wissensbasierte unschärfe auswahl für erkennungssystem mit mehreren erkennungseinheiten
DE102019211672A1 (de) Trainingsverfahren für ein künstliches neuronales Netzwerk
EP2433185B1 (de) Vorrichtung und verfahren zum bearbeiten einer prozesssimulationsdatenbasis eines prozesses
DE102017217099A1 (de) Verfahren zur Untersuchung eines Funktionsverhaltens eines technischen Systems und Auswerteeinheit
DE102020207449A1 (de) Verfahren, Computerprogramm und Vorrichtung zum Verarbeiten von Signalen
DE102021204550A1 (de) Verfahren zum Erzeugen wenigstens eines Datensatzes zum Trainieren eines Algorithmus maschinellen Lernens
DE112020005759T5 (de) Verfahren und System zum Bestimmen der Aufgabenkompatibilität in neuronalen Netzen
DE102005028252A1 (de) Verfahren zur rechnergestützten Verarbeitung von digitalen Daten
DE102020205394A1 (de) Computerimplementiertes Verfahren und Vorrichtung zum Erstellen eines Knowledge Graph
DE102015218589A1 (de) Verfahren und Vorrichtung zum Betreiben eines Many-Core-System
WO1998049622A1 (de) Chipkarte mit speicherzugriffsmaximierung und protokollierung
DE102020202795A1 (de) Verfahren und Vorrichtung zum Komprimieren eines Neuronalen Netzes
DE102019114049A1 (de) Verfahren zur Validierung eines Fahrerassistenzsystems mithilfe von weiteren generierten Testeingangsdatensätzen
DE102019220411A1 (de) Vereinfachte Auswertung neuronaler Netze für effizientere Implementierung auf Hardware
WO2020108748A1 (de) System und verfahren zum auffinden von optimierten kombinationen von berechnungsfunktionen
DE102016113310A1 (de) Verfahren zur Bewertung von Aussagen einer Mehrzahl von Quellen zu einer Mehrzahl von Fakten
WO1998034177A2 (de) Verfahren zur kombination von ausgangssignalen mehrerer schätzer, insbesondere von mindestens einem neuronalen netz, zu einem gesamtschätzer ermittelten ergebnissignal
DE102019107545A1 (de) Verfahren zur Validierung einer Steuerung

Legal Events

Date Code Title Description
R163 Identified publications notified