DE102019210290A1 - Optimierungsverfahren für ein künstliches neuronales Netzwerk - Google Patents

Optimierungsverfahren für ein künstliches neuronales Netzwerk Download PDF

Info

Publication number
DE102019210290A1
DE102019210290A1 DE102019210290.5A DE102019210290A DE102019210290A1 DE 102019210290 A1 DE102019210290 A1 DE 102019210290A1 DE 102019210290 A DE102019210290 A DE 102019210290A DE 102019210290 A1 DE102019210290 A1 DE 102019210290A1
Authority
DE
Germany
Prior art keywords
neural network
artificial neural
data
trimmed
subset
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
DE102019210290.5A
Other languages
English (en)
Inventor
Frank Hafner
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.)
ZF Friedrichshafen AG
Original Assignee
ZF Friedrichshafen AG
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 ZF Friedrichshafen AG filed Critical ZF Friedrichshafen AG
Priority to DE102019210290.5A priority Critical patent/DE102019210290A1/de
Publication of DE102019210290A1 publication Critical patent/DE102019210290A1/de
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/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

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

Optimierungsverfahren für ein künstliches neuronales Netzwerk mit einer Topologie, die Knoten und Gewichte umfasst, mit den folgenden Schritten: Bereitstellen (S1) eines trainierten künstlichen neuronalen Netzwerks, welches zu Eingangsdaten des künstlichen neuronalen Netzwerks jeweils Ausgangsdaten ermittelt, wobei die Ausgangsdaten von einem Trainingsdatensatz mit mehreren Datensets umfassend Eingangsdaten und Ausgangsdaten vorgegeben sind; Beschneiden (S2) der Topologie des künstlichen neuronalen Netzwerks zu einem ersten beschnittenen künstlichen neuronalen Netzwerk, derart dass der Trainingsdatensatz eine erste Teilmenge mit Datensets, für die das erste beschnittene künstliche neuronale Netzwerk zu Eingangsdaten jeweils die vorgegebenen Ausgangsdaten ermittelt sowie eine zweite Teilmenge mit Datensets, für die das erste beschnittene künstliche neuronale Netzwerk zu Eingangsdaten jeweils die vorgegebenen Ausgangsdaten nicht ermittelt; Speichern (S3) des ersten beschnittenen künstlichen neuronalen Netzwerks; Beschneiden (S4) der Topologie des trainierten künstlichen neuronalen Netzwerks zu einem zweiten beschnittenen künstlichen neuronalen Netzwerk, derart dass das zweite beschnittene künstliche neuronale Netzwerk zumindest die vorgegebenen Ausgangsdaten der Datensets der zweiten Teilmenge ermittelt; Speichern (S5) des zweiten beschnittenen künstlichen neuronalen Netzwerks.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Optimierungsverfahren für ein künstliches neuronales Netzwerk.
  • TECHNISCHER HINTERGRUND
  • Optimierungsverfahren für Datenstrukturen, wie beispielsweise Bäume, sind bekannt. Diese Optimierungsverfahren werden mit dem englischen Begriff „Pruning“ (deutsch für Beschneiden) bezeichnet. Für Baumstrukturen ist ein solches Optimierungsverfahren beispielsweise in dem deutschsprachigen Wikipedia-Artikel zum Pruning beschrieben: https://de.wikipedia.org/wiki/Pruning.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Vor diesem Hintergrund liegt der vorliegenden Erfindung die Aufgabe zugrunde, ein Optimierungsverfahren für ein künstliches neuronales Netzwerk zu schaffen.
  • Erfindungsgemäß wird diese Aufgabe durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst.
  • Demgemäß ist vorgesehen:
    • - ein Optimierungsverfahren für ein künstliches neuronales Netzwerk mit einer Topologie, die Knoten und Gewichte umfasst, mit den folgenden Schritten: Bereitstellen eines trainierten künstlichen neuronalen Netzwerks, welches zu Eingangsdaten eines Trainingsdatensatzes jeweils Ausgangsdaten ermittelt, wobei die Ausgangsdaten von dem Trainingsdatensatz mit mehreren Datensets umfassend Eingangsdaten und Ausgangsdaten vorgegeben sind; Beschneiden der Topologie des künstlichen neuronalen Netzwerks zu einem ersten beschnittenen künstlichen neuronalen Netzwerk, derart dass der Trainingsdatensatz eine erste Teilmenge mit Datensets, für die das erste beschnittene künstliche neuronale Netzwerk zu den Eingangsdaten jeweils die vorgegebenen Ausgangsdaten ermittelt sowie eine zweite Teilmenge mit Datensets, für die das erste beschnittene künstliche neuronale Netzwerk zu den Eingangsdaten jeweils die vorgegebenen Ausgangsdaten nicht ermittelt; Speichern des ersten beschnittenen künstlichen neuronalen Netzwerks; Beschneiden der Topologie des trainierten künstlichen neuronalen Netzwerks zu einem zweiten beschnittenen künstlichen neuronalen Netzwerk, derart dass das zweite beschnittene künstliche neuronale Netzwerk zumindest die vorgegebenen Ausgangsdaten der Datensets der zweiten Teilmenge ermittelt; Speichern des zweiten beschnittenen künstlichen neuronalen Netzwerks.
  • Fahrzeuge im Sinne dieser Patentanmeldung sind Landfahrzeuge, Luftfahrzeuge oder Wasserfahrzeuge.
  • Ein künstliches neuronales Netzwerk (KNN, englisch artificial neural network - ANN) ist insbesondere ein in einem Rechenprogramm nachgebildetes Netzwerk aus vernetzten künstlichen Neuronen. Die künstlichen Neuronen sind dabei typischerweise auf verschiedenen Schichten (layers) angeordnet. Üblicherweise umfasst das künstliche neuronale Netzwerk eine Eingangsschicht und eine Ausgabeschicht (output layer), deren Neuronenausgabe als einzige des künstlichen neuronalen Netzwerks sichtbar wird. Zwischen der Eingangsschicht und der Ausgabeschicht liegende Schichten werden typischerweise als verdeckte Schichten (hidden layer) bezeichnet. Typischerweise wird zunächst eine Architektur bzw. Topologie eines künstlichen neuronalen Netzwerks initiiert und dann in einer Trainingsphase für eine spezielle Aufgabe oder für mehrere Aufgaben in einer Trainingsphase trainiert.
  • Der Begriff „Topologie eines KNN“ umfasst sämtlich Aspekte bezüglich des Aufbaus eines KNN. Hierunter fallen beispielsweise die Anzahl der Neuronen (Knoten) des KNN, die Aufteilung der Neuronen auf die einzelnen Schichten des KNN, die Anzahl der Schichten eines KNN, die Vernetzung der Neuronen und die Gewichtung der Vernetzung.
  • Das Training des künstlichen neuronalen Netzwerks umfasst dabei typischerweise eine Veränderung eines Gewichts einer Verbindung zwischen zwei künstlichen Neuronen des künstlichen neuronalen Netzwerks. Das Gewicht enthält Information zur Stärke der Berücksichtigung eines Eingangs eines Neurons. Das Training des künstlichen neuronalen Netzwerks kann auch eine Entwicklung von neuen Verbindungen zwischen künstlichen Neuronen, ein Löschen von bestehenden Verbindungen zwischen künstlichen Neuronen, ein Anpassen von Schwellwerten der künstlichen Neuronen und/oder ein Hinzufügen oder ein Löschen von künstlichen Neuronen umfassen.
  • Ein Beispiel für ein künstliches neuronales Netzwerk ist ein flaches künstliches neuronales Netzwerk (shallow neural network), welches oft nur eine einzelne verdeckte Schicht zwischen der Eingabeschicht und der Ausgabeschicht enthält und damit relativ einfach zu trainieren ist. Ein weiteres Beispiel ist ein tiefes künstliches neuronales Netzwerkwerk (deep neural network), welches zwischen der Eingangsschicht und der Ausgabeschicht mehrere verschachtelte verdeckte Schichten von künstlichen Neuronen enthält. Das tiefe künstliche neuronale Netzwerk ermöglicht dabei eine verbesserte Erkennung von Mustern und komplexen Zusammenhängen
  • Beispielsweise kann das künstliche neuronale Netzwerk ein ein- bzw. mehrschichtiges feedforward-Netzwerk oder eine rekurrentes Netzwerk sein. Feedforward-Netzwerke weisen Neuronen auf, die ausschließlich vorwärtsgespeist werden, d.h. ein Neuron wird ausschließlich von höher liegenden Schichten gespeist.
  • Ein rekurrentes Netzwerk weist bidirektional verbundene Neuronen auf, d.h. ein Neuron wird zudem von tiefer liegenden Schichten gespeist. Somit lässt sich bei einem späteren Durchlauf des KNN Information aus eine früheren Durchlauf berücksichtigen, wodurch ein Erinnerungsvermögen geschaffen wird.
  • Intelligenter Algorithmus bedeutet, dass der Algorithmus Mittel der künstlichen Intelligenz, also der Automatisierung intelligenten Verhaltens und dem Maschinenlernen, umfasst. Ein intelligenter Algorithmus ist zum Beispiel ein künstliches neuronales Netzwerk.
  • Trainingsdaten sind in dieser Anmeldung Datenpaare oder Datensets aus Eingangsdaten, die von dem KNN zu verarbeiten sind, sowie (Soll-)Ausgangsdaten, die von dem KNN zu ermitteln sind. Aus den Ausgangsdaten werden Reaktionsdaten bzgl. einer Reaktion auf die Eingangsdaten abgeleitet. Während des Trainings wird das KNN aufgrund eines Vergleichs von Soll-Ausgangsdaten mit dem von dem KNN ermittelten Ist-Ausgangsdaten angepasst, wodurch sich ein Trainingseffekt einstellt.
  • Ein Trainingsdatensatz umfasst mehrere Datensets.
  • Eingangsdaten sind umgebungsbezogene Sensordaten, z.B. Bild-, Radar- und/oder Lidardaten, mit welchen ein KNN gespeist wird.
  • Das KNN ermittelt Ausgangsdaten als Reaktion auf die Eingangsdaten.
  • Ein Datenset ist beispielsweise ein Datenpaar aus Eingangsdaten und Ausgangsdaten oder ein Datentripel aus Eingangsdaten, Ausgangsdaten und einer Reaktion, die aufgrund der Ausgangsdaten ermittelt wird.
  • Der Begriff Laufzeit beschreibt die Zeitdauer, die ein Programm, ausgeführt durch einen Recheneinheit, zur Bewältigung einer Aufgabe benötigt.
  • Computerprogrammprodukte umfassen in der Regel eine Folge von Befehlen, durch die die Hardware bei geladenem Programm veranlasst wird, ein bestimmtes Verfahren durchzuführen, das zu einem bestimmten Ergebnis führt.
  • Die der Erfindung zugrunde liegende Idee ist es, ein trainiertes künstliches neuronales Netzwerk für eine Problemklasse in mehrere Subnetzwerke für jeweils eine sub-Problemklasse zu unterteilen. Dabei sind die Subnetzwerke gegenüber dem trainierten künstlichen neuronalen Netzwerk von einer reduzierten Komplexität, woraus sich eine reduzierte Laufzeit eines der Subnetzwerke gegenüber dem ursprünglichen trainierten künstlichen neuronalen Netzwerk ergibt.
  • Vorzugsweise ist das trainierte künstliche neuronale Netzwerk dabei derart in Subnetzwerke unterteilt, dass die Komplexität der sub-Problemklassen, die von den einzelnen Subnetzwerken gelöst werden, zusammengenommen nicht geringer ist als die Komplexität der Problemklasse des trainierten künstlichen neuronalen Netzwerks.
  • Das künstliche neuronale Netzwerk wird unterteilt, indem dessen struktur stark vereinfacht wird, so dass das künstliche neuronale Netzwerk gezielt Fähigkeiten verlernt.
  • Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich aus den weiteren Unteransprüchen sowie aus der Beschreibung unter Bezugnahme auf die Figuren der Zeichnung.
  • Gemäß einer bevorzugten Weiterbildung der Erfindung ist ein künstliches neuronales Netzwerk vorgesehen, welches trainiert wird, um festzustellen, ob ein beschnittenes künstliches neuronales Netzwerk für bestimmte Eingangsdaten geeignete Ausgangsdaten ermittelt. Es versteht sich, dass diese Funktionalität auch durch das erste und/oder durch das zweite beschnittene künstliche neuronale Netzwerk bereitgestellt werden kann. Somit ist es nicht erforderlich, Eingangsdaten auf mehrere beschnittene neuronale Netzwerke anzuwenden, sondern ein geeignetes beschnittenes neuronales Netzwerk auszusuchen. Somit lässt sich Rechenkapazität einsparen.
  • Es versteht sich, dass alternativ auch vorgesehen sein kann, dass mehrere beschnittene künstliche neuronale Netzwerke Eingangsdaten verarbeiten und geeignete Ausgangsdaten oder eine Kombination geeigneter Ausgangsdaten von einem der beschnittenen künstlichen neuronale Netzwerke ausgewählt werden.
  • Gemäß einer bevorzugten Weiterbildung der Erfindung wird der Trainingsdatensatz in wenigstens eine erste und in eine zweite Teilmenge geteilt. Dabei wird das trainierte künstliche neuronale Netzwerk derart beschnitten, dass das erste beschnittene künstliche neuronale Netzwerk zu Trainingsdaten der ersten Teilmenge geeignete Ausgangsdaten ermittelt. Das trainierte künstliche neuronale Netzwerk wird erneut derart beschnitten, dass das zweite beschnittene künstliche neuronale Netzwerk für die zweite Teilmenge des Trainingsdatensatzes geeignete Ausgangsdaten ermittelt.
  • Dementsprechend werden zunächst die erste und zweite Teilmenge festgelegt und im Folgenden das erste und zweite beschnittene neuronale Netzwerk konstruiert.
  • Häufig sind Trainingsdaten von einer bestimmten Struktur. Indem die Trainingsdaten, beispielsweise anhand ihrer Struktur unterteilt werden, lässt sich diese Struktur nutzen, um eine sinnvolle Partition der Trainingsdaten zu generieren. Somit lässt sich sicherstellen, dass in den Subnetzwerken keine Fähigkeit für das Lösen bestimmter struktureller Problemklassen verloren geht.
  • Beispielsweise ist es denkbar, dass die Trainingsdaten Fotos und/oder Videos von Menschen umfassen. In diesem Fall kann vorgesehen sein, dass die Trainingsdaten dahingehend strukturiert sind, ob die Trainingsdaten ein Kind oder einen Erwachsenen zeigen. Dementsprechend ließe sich ein erstes Subnetzwerk zur Erkennung von Erwachsenen konstruieren und ein zweites Subnetzwerk zur Erkennung von Kindern konstruieren.
  • Es versteht sich, dass dieses Beispiel lediglich anschaulicher Natur ist und es sich auch um Strukturen handeln kann, die von einem Menschen nicht erfasst werden, können.
  • Dabei ist es auch zweckmäßig, wenn das erste beschnittene künstliche neuronale Netzwerk die vorgegebenen Ausgangsdaten des Datensets der zweiten Teilmenge nicht ermittelt und/oder das zweite beschnittene künstliche neuronale Netzwerk die vorgegebenen Ausgangsdaten der Datensets der ersten Teilmenge nicht ermittelt. Somit ist gewährleistet, dass die Subnetzwerke so weit wie möglich vereinfacht, also beschnitten, werden und es zwischen den Fähigkeiten zweier Subnetzwerke keine Überschneidungen gibt. Somit lässt sich Rechenleistung und Laufzeit einsparen.
  • Alternativ kann vorgesehen sein, dass für das erste beschnittene künstliche neuronale Netzwerk eine erste und eine zweite Teilmenge des Trainingsdatensatzes ermittelt werden und ein zweites beschnittenes künstliches neuronales Netzwerk konstruiert werden, welches die vorgegebenen Ausgangsdaten zu den Eingangsdaten der Datensets der zweiten Teilmenge ermittelt.
  • Dementsprechend kann vorgesehen sein, dass das trainierte künstliche neuronale Netzwerk zunächst beschnitten wird und die erste und zweite Teilmenge nachfolgend festgelegt wird. Typischerweise ist die Zielsetzung hierbei, eine große Reduktion der Komplexität zu erreichen, beispielsweise indem bestimmte Teilmengen der Knoten und Gewichte des trainierten künstlichen neuronalen Netzwerks in bestimmten Schichten gezielt entfernt werden. Somit lässt sich die Struktur eines künstlichen neuronalen Netzwerks nutzen, indem bestimmte Teilstrukturen des künstlichen neuronalen Netzwerks entfernt werden.
  • Dabei ist es ferner zweckmäßig, wenn das zweite beschnittene künstliche neuronale Netzwerk die vorgegebenen Ausgangsdaten zu den Eingangsdaten der Datensets der ersten Teilmenge nicht ermittelt. Somit ist gewährleistet, dass es zwischen den beschnittenen künstlichen neuronalen Netzwerken keine Überschneidung in Fähigkeiten gibt. Somit lässt sich Rechenleistung und Laufzeit einsparen.
  • Gemäß einer bevorzugten Weiterbildung der Erfindung wird ermittelt, ob die Laufzeit einer künstlichen Intelligenz, welche das erste und das zweite beschnittene künstliche neuronale Netzwerk aufweist, kürzer ist als die Laufzeit des trainierten künstlichen neuronalen Netzwerks.
  • Es versteht sich, dass dabei vorgesehen sein kann, dass Eingangsdaten sowohl auf das erste und das zweite beschnittene künstliche neuronale Netzwerk angewendet werden, und der Algorithmus mit Mitteln der künstlichen Intelligenz im Folgenden geeignete Ausgangsdaten des ersten oder des zweiten beschnittenen künstlichen neuronalen Netzwerks auswählt. Alternativ kann vorgesehen sein, dass der Algorithmus ein geeignetes beschnittenes neuronales Netzwerk für bestimmte Eingangsdaten ermittelt.
  • Somit ist es vorteilhaft, wenn der Algorithmus eine Entscheidungsroutine zur Auswahl eines geeigneten beschnittenen Netzwerks bzw. zur Auswahl von geeigneten Ausgangsdaten aufweist.
  • Sofern die Laufzeit dieser Entscheidungs- und Problemlösungsroutine geringer ist als die Laufzeit des ursprünglichen trainierten künstlichen neuronalen Netzwerkes ist eine Zielsetzung des Verfahrens erreicht.
  • In diesem Fall kann es vorteilhaft sein, das Verfahren wie es vorstehend beschrieben wurde, erneut auf das erste und/oder auf das zweite beschnittene künstliche neuronale Netzwerk anzuwenden.
  • Folglich versteht es sich auch, dass vorgesehen sein kann, zu einem trainierten künstlichen neuronalen Netzwerk auch mehr als zwei beschnittene Subnetzwerke zu konstruieren.
  • Das Computerprogrammprodukt gemäß einer Ausführungsform der Erfindung führt die Schritte eines Verfahrens gemäß der vorangehenden Beschreibung aus, wenn das Computerprogrammprodukt auf einem Computer, insbesondere einem fahrzeuginternen Computer, läuft. Wenn das betreffende Programm auf einem Computer zum Einsatz kommt, ruft das Computerprogrammprodukt einen Effekt hervor, nämlich die Verkürzung der Laufzeit zur Inferenz eines trainierten künstlichen neuronalen Netzwerkes.
  • Es versteht sich, dass eine Recheneinheit, auf welcher mehrere beschnittene künstliche neuronale Netzwerke wie sie vorstehend beschrieben sind, gespeichert sind, vorteilhaft ist.
  • Figurenliste
  • Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnungen angegebenen Ausführungsbeispiele näher erläutert. Es zeigen dabei:
    • 1 ein schematisches Blockdiagramm gemäß einer Ausführungsform der Erfindung.
  • Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung. Andere Ausführungsformen und viele der genannten Vorteile ergeben sich im Hinblick auf die Zeichnungen. Die Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt.
  • In den Figuren der Zeichnungen sind gleiche, funktionsgleiche und gleichwirkende Elemente, Merkmale und Komponenten - sofern nicht anders ausgeführt ist - jeweils mit denselben Bezugszeichen versehen.
  • BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
  • 1 zeigt eine Ausführungsform eines Optimierungsverfahrens für ein künstliches neuronales Netzwerk mit einer Topologie, die Kanten, und Gewichte umfasst. In dem Schritt S1 wird ein trainiertes künstliches neuronales Netzwerk bereitgestellt. Das künstliche neuronale Netzwerk ermittelt zu Eingangsdaten eines Trainingsdatensatzes jeweils Ausgangsdaten, die von dem Trainingsdatensatz mit mehreren Datensets umfassend Eingangsdaten und Ausgangsdaten vorgegeben ist. Dementsprechend ist das künstliche neuronale Netzwerk derart aufgebaut, dass dieses die vorgegebenen Ausgangsdaten auf die jeweiligen Eingangsdaten ermittelt, ohne die vorgegebenen Ausgangsdaten zu kennen.
  • In dem Schritt S2 wird die Topologie des trainierten künstlichen neuronalen Netzwerks zu einem ersten beschnittenen künstlichen neuronalen Netzwerk, derart beschnitten, dass der Trainingsdatensatz eine erste Teilmenge mit Datensets, für die das erste beschnittene künstliche neuronale Netzwerk zu den Eingangsdaten jeweils die vorgegebenen Ausgangsdaten ermittelt. Dementsprechend werden Ausgangsdaten einer zweiten Teilmenge der Datensets von dem ersten beschnittenen künstlichen neuronalen Netzwerk zu Eingangsdaten nicht ermittelt.
  • In dem Schritt S3 wird das erste beschnittene künstliche neuronale Netzwerk gespeichert.
  • In dem Schritt S4 wird das trainierte künstliche neuronale Netzwerk erneut zu einem zweiten beschnittenen künstlichen neuronalen Netzwerk beschnitten, derart dass das zweite beschnittene künstliche neuronale Netzwerk zumindest die vorgegebenen Ausgangsdaten der Datensets der zweiten Teilmenge ermittelt.
  • In dem Schritt S5 wird das zweite beschnittene künstliche neuronale Netzwerk gespeichert.
  • Bezugszeichenliste
  • S1-S5
    Verfahrensschritte

Claims (10)

  1. Optimierungsverfahren für ein künstliches neuronales Netzwerk mit einer Topologie, die Knoten und Gewichte umfasst, mit den folgenden Schritten: - Bereitstellen (S1) eines trainierten künstlichen neuronalen Netzwerks, welches zu Eingangsdaten eines Trainingsdatensatzes jeweils Ausgangsdaten ermittelt, wobei die Ausgangsdaten von dem Trainingsdatensatz mit mehreren Datensets umfassend Eingangsdaten und Ausgangsdaten vorgegeben sind; - Beschneiden (S2) der Topologie des künstlichen neuronalen Netzwerks zu einem ersten beschnittenen künstlichen neuronalen Netzwerk, derart dass der Trainingsdatensatz eine erste Teilmenge mit Datensets, für die das erste beschnittene künstliche neuronale Netzwerk zu den Eingangsdaten jeweils die vorgegebenen Ausgangsdaten ermittelt sowie eine zweite Teilmenge mit Datensets, für die das erste beschnittene künstliche neuronale Netzwerk zu den Eingangsdaten jeweils die vorgegebenen Ausgangsdaten nicht ermittelt, aufweist; - Speichern (S3) des ersten beschnittenen künstlichen neuronalen Netzwerks; - Beschneiden (S4) der Topologie des trainierten künstlichen neuronalen Netzwerks zu einem zweiten beschnittenen künstlichen neuronalen Netzwerk, derart dass das zweite beschnittene künstliche neuronale Netzwerk zumindest die vorgegebenen Ausgangsdaten der Datensets der zweiten Teilmenge ermittelt; - Speichern (S5) des zweiten beschnittenen künstlichen neuronalen Netzwerks.
  2. Optimierungsverfahren für ein künstliches neuronales Netzwerk nach Anspruch 1, wobei ein künstliches neuronales Netzwerk, insbesondere das erste und/oder das zweite beschnittene künstliche neuronale Netzwerk, darauf trainiert wird, festzustellen, ob ein beschnittenes künstliches neuronales Netzwerk für bestimmte Eingangsdaten geeignete Ausgangsdaten ermittelt.
  3. Optimierungsverfahren nach einem der vorstehenden Ansprüche, wobei der Trainingsdatensatz in wenigstens eine erste und eine zweite Teilmenge geteilt wird und für die erste Teilmenge ein erstes beschnittenes künstliches neuronales Netzwerk ermittelt wird und für die zweite Teilmenge ein zweites beschnittenes künstliches neuronales Netzwerk ermittelt wird.
  4. Optimierungsverfahren nach Anspruch 3, wobei das erste beschnittene künstliche neuronale Netzwerk die vorgegebenen Ausgangsdaten von Datensets der zweiten Teilmenge nicht ermittelt und/oder das zweite beschnittene künstliche neuronale Netzwerk die vorgegebenen Ausgangsdaten von Datensets der ersten Teilmenge nicht ermittelt.
  5. Optimierungsverfahren nach einem der vorstehenden Ansprüche 1 oder 2, wobei für das erste beschnittene künstliche neuronale Netzwerk eine erste und eine zweite Teilmenge des Trainingsdatensatzes ermittelt wird und ein zweites beschnittenes künstliches neuronales Netzwerk konstruiert wird, welches die vorgegebenen Ausgangsdaten zu den Eingangsdaten der Datensets der zweiten Teilmenge ermittelt.
  6. Optimierungsverfahren nach Anspruch 5, wobei das zweite beschnittene künstliche neuronale Netzwerk die vorgegebenen Ausgangsdaten zu Eingangsdaten der Datensets der ersten Teilmenge nicht ermittelt.
  7. Optimierungsverfahren nach einem der vorstehenden Ansprüche, wobei ermittelt wird, ob die Laufzeit einer künstlichen Intelligenz, welche das erste und das zweite beschnittene künstliche neuronale Netzwerk aufweist, kürzer ist als die Laufzeit des trainierten künstlichen neuronalen Netzwerks.
  8. Optimierungsverfahren nach Anspruch 7, wobei auf das erste und/oder das zweite beschnittene künstliche neuronale Netzwerk, das Verfahren nach einem der vorstehenden Ansprüche angewendet wird, wenn ermittelt wird, dass die Laufzeit der künstlichen Intelligenz, die das erste und das zweite beschnittene künstliche neuronale Netzwerk aufweist, kürzer ist als die Laufzeit des trainierten künstlichen neuronalen Netzwerks.
  9. Computerprogrammprodukt, das ausgeführt ist, in einen Speicher eines Computers geladen zu werden und das Softwarecodeabschnitte umfasst, mit denen die Schritte des Verfahrens nach einem der vorstehenden Ansprüche ausgeführt werden, wenn das Computerprogrammprodukt auf dem Computer läuft.
  10. Recheneinheit auf welcher mehrere beschnittene künstliche neuronale Netzwerke, die mit einem Optimierungsverfahren nach einem der vorstehenden Ansprüche optimiert wurden, gespeichert sind.
DE102019210290.5A 2019-07-11 2019-07-11 Optimierungsverfahren für ein künstliches neuronales Netzwerk Pending DE102019210290A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019210290.5A DE102019210290A1 (de) 2019-07-11 2019-07-11 Optimierungsverfahren für ein künstliches neuronales Netzwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019210290.5A DE102019210290A1 (de) 2019-07-11 2019-07-11 Optimierungsverfahren für ein künstliches neuronales Netzwerk

Publications (1)

Publication Number Publication Date
DE102019210290A1 true DE102019210290A1 (de) 2021-01-14

Family

ID=74092129

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019210290.5A Pending DE102019210290A1 (de) 2019-07-11 2019-07-11 Optimierungsverfahren für ein künstliches neuronales Netzwerk

Country Status (1)

Country Link
DE (1) DE102019210290A1 (de)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FRANKLE, Jonathan; CARBIN, Michael: The lottery ticket hypothesis: Finding sparse, trainable neural networks. In: arXiv preprint, arXiv:1803.03635, 04.03.2019, 1-42. https://arxiv.org/abs/1803.03635v5 [abgerufen am 28.05.2020] *
HOU, Saihui; LIU, Xu; WANG, Zilei: DualNet: Learn Complementary Features for Image Recognition. In: 2017 IEEE International Conference on Computer Vision (ICCV), 2017, 502-510. https://doi.org/10.1109/ICCV.2017.62 [abgerufen am 28.05.2020] *

Similar Documents

Publication Publication Date Title
DE102005046747B3 (de) Verfahren zum rechnergestützten Lernen eines neuronalen Netzes und neuronales Netz
EP3701433B1 (de) Verfahren, vorrichtung und computerprogramm zur erstellung eines tiefen neuronalen netzes
EP1183619A2 (de) Situationsabhängig operierendes semantisches netz n-ter ordnung
EP3526648B1 (de) Verfahren zur prüfung, vorrichtung und computerprogrammprodukt
EP3542313B1 (de) Verfahren zum berechnen einer ausgabe eines neuronalen netzes
WO2022028935A1 (de) Computerimplementiertes verfahren zum bereitstellen eines test-verlaufs zu testender verkehrsszenarien
EP0901658B1 (de) Verfahren zur optimierung eines fuzzy-regelsatzes durch einen rechner
DE112016000198T5 (de) Entdecken und Nutzen von informativen Schleifensignalen in einem gepulsten neuronalen Netzwerk mit zeitlichen Codierern
DE102018000205A1 (de) Numerische Steuerung
DE102018206110A1 (de) Trainingsverfahren
DE102019210290A1 (de) Optimierungsverfahren für ein künstliches neuronales Netzwerk
EP3785178A1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
EP0548127B1 (de) Neuronales Netzwerk und Schaltungsanordnung zur Bool'schen Realisierung neuronaler Netze vom ADALINE-Typ
WO2020207786A1 (de) Verfahren, vorrichtung und computerprogramm zum betreiben eines tiefen neuronalen netzes
DE102019216973A1 (de) Lernverfahren für neuronale netze basierend auf evolutionären algorithmen
DE102019218448A1 (de) Testen von Kombinationen aus Software und Hardware
DE102020203863A1 (de) Methoden und Techniken zur Minimierung der Verschlechterung von Bauteilen durch Lastausgleich auf einem Multiprozessor-Steuergerät für Kraftfahrzeuge
WO2020193481A1 (de) Verfahren und vorrichtung für training und herstellung eines künstlichen neuronalen netzes
DE102018219996A1 (de) Trainingsverfahren für ein neuronales Netzwerk mit reduzierter Laufzeit
EP4256475A1 (de) Vergleichen eines ersten knn mit einem zweiten knn
WO2022069275A1 (de) Vorrichtung und computerimplementiertes verfahren für eine netzwerkarchitektursuche
DE102021124252A1 (de) Neuronale Netzwerksysteme für abstraktes Denken
DE102017126846A1 (de) Künstliches Neuronales Netz und Verfahren hierzu
WO2021249941A1 (de) Verfahren und vorrichtung zur automatischen untersuchung eines verhaltens einer technischen einrichtung
EP3907574A1 (de) Verfahren zur generierung von einer erklärung zu einer vorgenommenen entscheidung eines fertigungssteuerungssystems

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SCHMIDT, DANIEL, DR., DE

R016 Response to examination communication