DE102020101275A1 - Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells, Verfahren zum Trainieren des künstlichen neuronalen Netzwerkmodells und Speichersystem zum Speichern desselben - Google Patents

Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells, Verfahren zum Trainieren des künstlichen neuronalen Netzwerkmodells und Speichersystem zum Speichern desselben Download PDF

Info

Publication number
DE102020101275A1
DE102020101275A1 DE102020101275.6A DE102020101275A DE102020101275A1 DE 102020101275 A1 DE102020101275 A1 DE 102020101275A1 DE 102020101275 A DE102020101275 A DE 102020101275A DE 102020101275 A1 DE102020101275 A1 DE 102020101275A1
Authority
DE
Germany
Prior art keywords
sensitivity
neural network
artificial neural
network model
rate
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
DE102020101275.6A
Other languages
English (en)
Inventor
Byeoungsu Kim
SangSoo Ko
Kyoungyoung Kim
Jaegon Kim
SangHyuck HA
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102020101275A1 publication Critical patent/DE102020101275A1/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/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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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

Landscapes

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

Abstract

Eine Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells beinhaltet: einen Modellanalysator, der konfiguriert ist, um ein erstes künstliches neuronales Netzwerkmodell zu empfangen und das erste künstliche neuronale Netzwerkmodell in eine Mehrzahl von Schichten aufzuteilen; eine Trainingslogik, die konfiguriert ist, um erste Sensitivitätsdaten zu berechnen, die mit der Bereinigung des künstlichen neuronalen Netzwerkmodells variieren; um eine Soll-Sensitivität entsprechend einer Soll-Bereinigungsrate basierend auf den ersten Sensitivitätsdaten zu berechnen, um zweite Sensitivitätsdaten, die mit der Bereinigung von einer jeweiligen von der Mehrzahl von Schichten variieren, zu berechnen und um, basierend auf den zweiten Sensitivitätsdaten, eine optimale Bereinigungsrate von einer jeweiligen von der Mehrzahl von Schichten auszugeben, wobei die optimale Bereinigungsrate der Soll-Bereinigungsrate entspricht; und einen Modellaktualisierer, der konfiguriert ist, um das erste künstliche neuronale Netzwerkmodell basierend auf der optimalen Bereinigungsrate zu bereinigen, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten und um das zweite künstliche neuronale Netzwerkmodell auszugeben.

Description

  • Querverweis auf verwandte Anmeldung
  • Die vorliegende Anmeldung nimmt die Priorität der koreanischen Patentanmeldung Nr. 10-2019-0053888 in Anspruch, die am 8. Mai 2019 beim Koreanischen Amt für Geistiges Eigentum eingereicht wurde und deren Inhalt hierin vollinhaltlich mitoffenbart ist.
  • Hintergrund
  • Der Erfindungsgedanke bezieht sich auf eine Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells durch Anpassen einer Bereinigungsrate basierend auf der Sensitivität des künstlichen neuronalen Netzwerkmodells, ein Verfahren zum Trainieren des künstlichen neuronalen Netzwerkmodells und ein Speichersystem zum Speichern des künstlichen neuronalen Netzwerkmodells.
  • Ein künstliches neuronales Netzwerk (ANN) bezieht sich auf eine Rechnerarchitektur, die nach dem Vorbild des biologischen Gehirns aufgebaut ist. Ein Deep-Learning oder maschinelles Lernen kann basierend auf einem ANN realisiert werden. Ein tiefes neuronales Netzwerk oder Deep-Learning, die Beispiel für ein ANN sind, kann eine Mehrschichtstruktur aufweisen, die eine Mehrzahl von Schichten beinhaltet. In jüngster Zeit hat die Menge an Operationen, die unter Verwendung eines ANN durchzuführen sind, merklich zugenommen, und somit auch die Menge an Daten, die zum Trainieren eines ANN verwendet werden, so dass die Notwendigkeit entstanden ist, ein ANN mit geringerem Datenaufwand trainieren zu können.
  • Kurzfassung
  • Gemäß dem Erfindungsgedanken wird eine Rechenvorrichtung, die ein Verfahren zum akkuraten Trainieren eines künstlichen neuronalen Netzwerkmodells unter Verwendung einer geringen Datenmenge durch Berücksichtigung der Sensitivität einer jeweiligen Schicht eines künstlichen neuronalen Netzwerkmodells beinhaltet, wobei die Sensitivität einer Bereinigungsrate (Pruning-Rate) entsprechend variiert, sowie ein Speichersystem bereitgestellt.
  • Gemäß einem Aspekt des Erfindungsgedankens wird eine Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells bereitgestellt, wobei die Rechenvorrichtung aufweist: einen Modellanalysator, der konfiguriert ist, um ein erstes künstliches neuronales Netzwerkmodell zu empfangen, und um das erste künstliche neuronale Netzwerkmodell in eine Mehrzahl von Schichten aufzuteilen; eine Trainingslogik, die konfiguriert ist, um erste Sensitivitätsdaten zu berechnen, die mit der Bereinigung (Pruning) des künstlichen neuronalen Netzwerkmodells variieren, um eine Soll-Sensitivität entsprechend einer Soll-Bereinigungsrate basierend auf den ersten Sensitivitätsdaten zu berechnen, um zweite Sensitivitätsdaten, die mit der Bereinigung einer jeweiligen von der Mehrzahl von schichten des ersten künstlichen neuronalen Netzwerkmodells variieren, zu berechnen und um, basierend auf den zweiten Sensitivitätsdaten, eine optimale Bereinigungsrate einer jeweiligen von der Mehrzahl von Schichten auszugeben, wobei die optimale Bereinigungsrate der Soll-Bereinigungsrate entspricht; und einen Modellaktualisierer, der konfiguriert ist, um das erste künstliche neuronale Netzwerkmodell basierend auf der optimalen Bereinigungsrate zu bereinigen, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten, und um das zweite künstliche neuronale Netzwerkmodell auszugeben.
  • Gemäß einem weiteren Aspekt des Erfindungsgedankens wird eine Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells bereitgestellt, wobei die Rechenvorrichtung aufweist: einen Modellanalysator, der konfiguriert ist, um ein erstes künstliches neuronales Netzwerkmodell zu empfangen und um das erste künstliche neuronale Netzwerkmodell in eine Mehrzahl von Schichten aufzuteilen; eine Trainingslogik, die konfiguriert ist, um eine Soll-Bereinigungsrate zu empfangen, eine Soll-Sensitivität des ersten künstlichen neuronalen Netzwerkmodells zu berechnen, wobei die Soll-Sensitivität der Soll-Bereinigungsrate entspricht, und um eine optimale Bereinigungsrate von jeder von der Mehrzahl von Schichten auszugeben, wobei die optimale Bereinigungsrate der Soll-Sensitivität entspricht; und einen Modellaktualisierer, der konfiguriert ist, um das erste künstliche neuronale Netzwerkmodell basierend auf der optimalen Bereinigungsrate zu bereinigen, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten, und um das zweite künstliche neuronales Netzwerkmodell auszugeben.
  • Gemäß einem anderen Aspekt des Erfindungsgedankens wird ein Verfahren zum Trainieren eines künstlichen neuronalen Netzwerkmodells bereitgestellt, wobei das Verfahren aufweist: Empfangen einer Soll-Bereinigungsrate; Bereinigen eines ersten künstlichen neuronalen Netzwerkmodells; Berechnen von ersten Sensitivitätsdaten, die entsprechend einer Bereinigungsrate des ersten künstlichen neuronalen Netzwerkmodells mit der Bereinigung des ersten künstlichen neuronalen Netzwerkmodells variieren; Berechnen einer Soll-Sensitivität entsprechend der Soll-Bereinigungsrate anhand der ersten Sensitivitätsdaten; Aufteilen des ersten künstlichen neuronalen Netzwerkmodells in eine Mehrzahl von Schichten; Berechnen von zweiten Sensitivitätsdaten, die mit der Bereinigung einer jeweiligen von der Mehrzahl von Schichten variieren; Berechnen einer optimalen Bereinigungsrate einer jeweiligen von der Mehrzahl von Schichten entsprechend der Soll-Sensitivität, basierend auf den zweiten Sensitivitätsdaten; Bereinigen des ersten künstlichen neuronalen Netzwerkmodells basierend auf der optimalen Bereinigungsrate, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten; und Ausgeben des zweiten künstlichen neuronalen Netzwerkmodells.
  • Gemäß einem weiteren Aspekt des Erfindungsgedankens wird ein Speichersystem zum Verarbeiten eines künstlichen neuronalen Netzwerkmodells, das eine Mehrzahl von Schichten beinhaltet, bereitgestellt, wobei das Speichersystem aufweist: einen Host-Prozessor; und eine Mehrzahl von Logikschichten, die konfiguriert sind, um mit dem Host-Prozessor zu kommunizieren, wobei jede von der Mehrzahl von Logikschichten mit einem Speicherstapel elektrisch verbunden ist, und wobei der Host-Prozessor konfiguriert ist, um eine ursprüngliche Gewichtung von einer jeweiligen von der Mehrzahl von Schichten zu empfangen, um Speicheradressen zu empfangen, um die ursprüngliche Gewichtung an eine erste Logikschicht auszugeben, in der ein erster Speicherstapel enthalten, der mit zumindest einigen der Speicheradressen korrespondiert, und um eine Bereinigungsrate, die der ursprünglichen Gewichtung entspricht, an die erste Logikschicht auszugeben, und wobei die erste Logikschicht konfiguriert ist, um eine Sensitivität basierend auf der ursprünglichen Gewichtung und/oder der Bereinigungsrate zu berechnen und um die ursprüngliche Gewichtung, die Bereinigungsrate und/oder die Sensitivität in dem Speicherstapel zu speichern.
  • Gemäß einem weiteren Aspekt des Erfindungsgedankens wird ein nicht-transitorisches computerlesbares Aufzeichnungsmedium bereitgestellt, auf dem ein Programm zum Bereinigen eines künstlichen neuronalen Netzwerkmodells, das eine Mehrzahl von Schichten beinhaltet, aufgezeichnet ist, wobei das Programm beinhaltet: Empfangen einer Soll-Bereinigungsrate; Bereinigen eines ersten künstlichen neuronalen Netzwerkmodells; Berechnen von ersten Sensitivitätsdaten, die entsprechend einer Bereinigungsrate des ersten künstlichen neuronalen Netzwerkmodells variieren; Berechnen, anhand der ersten Sensitivitätsdaten, einer Soll-Sensitivität entsprechend der Soll-Bereinigungsrate; Aufteilen des ersten künstlichen neuronalen Netzwerkmodells in eine Mehrzahl von Schichten; Berechnen von zweiten Sensitivitätsdaten, die entsprechend einer Bereinigungsrate einer jeweiligen von der Mehrzahl von Schichten variieren; Berechnen einer optimalen Bereinigungsrate von einer jeweiligen von der Mehrzahl von Schichten entsprechend der Soll-Sensitivität basierend auf den zweiten Sensitivitätsdaten; Bereinigen des ersten künstlichen neuronalen Netzwerkmodells basierend auf der optimalen Bereinigungsrate, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten; und Ausgeben des zweiten künstlichen neuronalen Netzwerkmodells.
  • Figurenliste
  • Ausführungsformen des Erfindungsgedankens werden anhand der nachstehenden ausführlichen Beschreibung in Verbindung mit der Zeichnung näher erläutert. Es zeigen:
    • 1 eine Ansicht zur Erläuterung einer Rechenvorrichtung gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens;
    • 2 ein Beispiel für ein künstliches neuronales Netzwerkmodell;
    • 3 eine Ansicht zur Erläuterung eines Bereinigungsverfahrens (Pruning-Verfahren) gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens und eines Vergleichsbeispiels;
    • 4 ein Blockdiagramm einer Rechenvorrichtung gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens;
    • 5 einen Graphen, der erste Sensitivitätsdaten des gesamten künstlichen neuronalen Netzwerkmodells gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens zeigt;
    • 6 einen Graphen, der zweite Sensitivitätsdaten einschließlich einer Sensitivitätskurve von einer jeweiligen von einer Mehrzahl von Schichten gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens zeigt;
    • 7 einen Graphen, der dritte Sensitivitätsdaten basierend auf zweiten Sensitivitätsdaten gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens zeigt;
    • 8 einen Graphen, der Sensitivitätswerte von einer jeweiligen der Bereinigungsraten von einer Mehrzahl von Schichten gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens zeigt;
    • 9 einen Graphen, der eine Genauigkeit eines künstlichen neuronalen Netzwerkmodells in Bezug auf eine Bereinigungsrate gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens und eines Vergleichsbeispiels zeigt;
    • 10 ein Flussdiagramm einer Bereinigungsoperation eines künstlichen neuronalen Netzwerkmodells gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens;
    • 11 ein Flussdiagramm eines Verfahrens zum Erhalten von ersten Sensitivitätsdaten gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens;
    • 12 ein Flussdiagramm eines Verfahrens zum Erhalten von zweiten Sensitivitätsdaten gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens;
    • 13 eine Ansicht zur Beschreibung eines Speichersystems gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens;
    • 14 ein Blockdiagramm einer Logikschicht gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens;
    • 15 ein Blockdiagramm eines Speichersystems zum Berechnen einer Bereinigungsrate durch Empfangen einer ursprünglichen Gewichtung gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens;
    • 16 ein Blockdiagramm eines Speichersystems zum Berechnen einer Bereinigungsrate durch Empfangen einer korrigierten Gewichtung gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens; und
    • 17 ein Blockdiagramm eines Speichersystems einschließlich eines Gruppen-ID-Managers gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens.
  • Ausführliche Beschreibung der Ausführungsformen
  • Der Erfindungsgedanke wird nachstehend durch Beschreibung von beispielhaften Ausführungsformen des Erfindungsgedankens unter Bezugnahme auf die beigefügte Zeichnungen erläutert.
  • 1 ist eine Ansicht zur Beschreibung einer Rechenvorrichtung gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens.
  • Ein elektronisches System 10 gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens kann eingegebene Daten basierend auf einem künstlichen neuronalen Netzwerkmodell in Echtzeit analysieren, um effektive Informationen zu extrahieren, und um Komponenten einer elektronischen Vorrichtung einschließlich des elektronischen Systems 10 basierend auf den extrahierten Informationen zu steuern. Das elektronische System 10 kann z. B. auf ein Smartphone, eine mobile Vorrichtung, eine Bildanzeigevorrichtung, eine Messvorrichtung, einen Smart-TV, eine Drohne, eine Robotervorrichtung, wie z. B. ein Fahrerassistenzsystem (FAS), eine medizinische Vorrichtung, eine Internetder-Dinge- (IdD-) Vorrichtung oder dergleichen angewendet werden, oder kann in einer von verschiedenen anderen elektronischen Vorrichtungen als diesen implementiert sein.
  • Das elektronische System 10 von 1 kann ein Anwendungsprozessor sein. Das elektronische System 10 kann so definiert sein, dass es ein künstliches neuronales Netzwerkmodell dahingehend beinhaltet, dass das elektronische System 10 eine künstliche neuronale Netzwerkoperationsfunktion durchführt.
  • Unter Bezugnahme auf 1 kann das elektronische System 10 eine zentrale Verarbeitungseinheit (CPU) 11, einen Direktzugriffsspeicher (RAM) 12, eine neuronale Netzwerkvorrichtung 13, einen Speicher 14 und eine oder mehrere Eingabe-/Ausgabe-(IO-) Vorrichtungen 15 beinhalten. Der Speicher 14 kann einen herkömmlichen Speicher eines Computers aufweisen, wie z. B. eine Festplatte (die ein Festkörperlaufwerk, ein DRAM, ein NAND-Flash-Speicher, etc. sein kann). Die Eingabe-/Ausgabe-Vorrichtungen 15 können eine herkömmliche Computerbenutzerschnittstelle aufweisen und herkömmliche Eingabevorrichtungen beinhalten, wie z. B. eine Tastatur, eine Maus, ein Tastfeld, ein Berührungsbildschirm etc.
  • Die neuronale Netzwerkvorrichtung 13 kann eine Trainingslogik 100 beinhalten. Die Trainingslogik 100 kann, wie beschrieben, ein künstliches neuronales Netzwerkmodell trainieren. In einigen Ausführungsformen kann die Trainingslogik 100 nicht nur in der neuronale Netzwerkvorrichtung 13 beinhaltet sein, sondern auch in der CPU 11, dem RAM 12 und dem Speicher 14 oder dergleichen, oder in verschiedenen Prozessoren, wie z. B. einem digitalen Signalprozessor (DSP). Der Einfachheit halber wird die Trainingslogik 100 als eine solche beschrieben, die in der neuronalen Netzwerkvorrichtung 13 enthalten ist.
  • Obwohl nicht gezeigt, kann das elektronische System 10 ferner ein Sensormodul, ein Sicherheitsmodul, eine Leistungssteuerungsvorrichtung oder dergleichen beinhalten, sowie weitere verschiedene Arten von Betriebseinheiten beinhalten. Zum Beispiel können einige der oder alle Komponenten des elektronischen Systems 10 (die CPU 11, der RAM 12, die neuronale Netzwerkvorrichtung 13, der Speicher 14 und die Eingabe-/Ausgabevorrichtung 15) in einem einzelnen Halbleiterchipelement verkörpert sein. Das elektronische System 10 kann z. B. als ein Ein-Chip-System (SoC) implementiert sein. Die Komponenten des elektronischen Systems 10 können miteinander über einen Bus 16 kommunizieren.
  • Die CPU 11 steuert einen Gesamtbetrieb des elektronischen Systems 10. Die CPU 11 kann eine einzelnen Prozessorkern (Einzelkern) oder eine Mehrzahl von Prozessorkernen (Mehrkern) beinhalten. Die CPU 11 kann in dem Speicher 14 gespeicherte Programme und/oder Daten verarbeiten oder ausführen. Die CPU 11 kann z. B. eine Funktion der neuronalen Netzwerkvorrichtung 13 durch Ausführen von in dem Speicher 14 gespeicherten Programmen steuern.
  • Der RAM 12 kann Programme, Daten und Anweisungen vorübergehend speichern. Programme und/oder Daten, die in dem Speicher 14 gespeichert sind, können z. B. gemäß der Steuerung durch die CPU 11 oder einen Boot-Code vorübergehend in dem RAM 12 gespeichert werden. Der RAM 12 kann einen dynamischen RAM (DRAM) oder einen statischen RAM (SRAM) beinhalten.
  • Die neuronale Netzwerkvorrichtung 13 führt eine Operation basierend auf einem künstlichen neuronalen Netzwerkmodell durch und trainiert ein künstliches neuronales Netzwerkmodell. Gemäß einer beispielhaften Ausführungsform kann die Trainingslogik 100 ein künstliches neuronales Netzwerkmodell nachtrainieren, auf dem ein iteratives Training ausgeführt worden ist. Der Erfindungsgedanke ist jedoch nicht darauf beschränkt, wobei die Trainingslogik 100 jedoch gemäß einer weiteren beispielhaften Ausführungsform ein künstliches neuronales Netzwerkmodell umtrainieren kann. Gemäß einer weiteren beispielhaften Ausführungsform kann die Trainingslogik 100 sowohl ein Umtrainieren als auch ein Nachtrainieren ausführen.
  • Gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens kann die Trainingslogik 100 ein Nachtrainieren durch Verwendung eines Datensatzes, der, anstelle eines vollen Datensatzes, eine relativ geringe Datenmenge beinhaltet, auf einem künstlichen neuronalen Netzwerkmodell ausführen, auf dem ein Vortrainieren , wie z. B. ein Umtrainieren, ausgeführt wird.
  • Das künstliche neuronale Netzwerkmodell kann verschiedene Arten von künstlichen neuronalen Netzwerkmodellen beinhalten, wie z. B. ein Convolutional Neural Network bzw. faltendes neuronales Netzwerk (CNN), einen Bereich mit einem faltenden neuronalen Netzwerk (R-CNN), ein rekurrentes neuronales Netzwerk (RNN), ein stapelungsbasiertes tiefes neuronales Netzwerk (S_DNN), ein dynamisches neuronales Zustandsraum-Netzwerk (S-SDNN), ein Entfaltungsnetzwerk, ein Deep-Believe-Network (DBN), eine beschränkte Boltzmann-Maschine (RBM), ein volles Faltungsnetzwerk, ein Long-short-term-memory- (LSTM-) Netzwerk oder ein Klassifizierungsnetzwerk, ist aber nicht darauf beschränkt. Ein Beispiel für ein künstliches neuronales Netzwerk wird unter Bezugnahme auf 2 beschrieben.
  • 2 stellt ein Beispiel für ein künstliches neuronales Netzwerk dar.
  • Bezugnehmend auf 2 kann ein künstliches neuronales Netzwerk NN eine Mehrzahl von Schichten L1 bis Ln beinhalten. Jede von der Mehrzahl von Schichten L1 bis Ln kann eine lineare Schicht oder eine nicht-lineare Schicht sein, und gemäß einer Ausführungsform können zumindest eine lineare Schicht und zumindest eine nicht-lineare Schicht kombiniert sein und als eine Einzelschicht bezeichnet werden. Eine lineare Schicht kann z. B. ein Faltungsschicht, eine voll verbundene Schicht oder dergleichen sein, und eine nicht-lineare Schicht kann eine Pooling-Schicht und eine Aktivierungsschicht sein.
  • Eine erste Schicht L1 kann z. B. eine Faltungsschicht (Convolutional Layer) sein, und eine zweite Schicht L2 kann eine Pooling-Schicht sein, und eine n. Schicht kann eine voll verbundene Schicht als eine Ausgabeschicht sein. Das künstliche neuronale Netzwerk NN kann ferner eine Aktivierungsschicht und eine Schicht beinhalten, über die andere Arten von Operationen ausgeführt werden.
  • Jede von der Mehrzahl von Schichten L1 bis Ln kann, als ein Eingabe-Feature-Map einen Eingabe-Image-Frame oder ein Feature-Map empfangen, die in einer vorherigen Schicht erzeugte wurden, und kann ein Ausgabe-Feature-Map durch Berechnen des Eingabe-Feature-Map erzeugen. Die Schicht L2 kann z. B. ein Eingabe-Feature-Map von der Schicht L1 empfangen und eine Ausgabe-Feature-Map erzeugen, indem Operationen auf dem Eingabe-Feature-Map ausgeführt werden, die von der Schicht L1 empfangen werden. Die Ausgabe der Schicht L2 kann der Schicht L3 bereitgestellt werden. Ein Feature-Map bezieht sich auf Daten, in denen verschiedene Features von Eingabedaten ausgedrückt werden. Feature-Maps FM1 bis FMn können z. B. eine zweidimensionale Matrixform oder eine dreidimensionale Matrixform aufweisen. Die Feature-Maps FM1 bis FMn können eine Breite W (die auch als Spalte bezeichnet wird), eine Höhe H (die auch als eine Zeile bezeichnet wird) und eine Tiefe D aufweisen, die jeweils einer x-Achse, einer y-Achse und einer z-Achse auf Koordinaten entsprechen können. Die Tiefe D kann als die Anzahl von Kanälen bezeichnet werden.
  • Die erste Schicht L1 kann ein erstes Feature-Map FM1 mit einem Weight-Map WM falten, so dass ein zweites Feature-Map FM2 erzeugt wird. Das Weight-Map WM kann das erste Feature-Map FM1 filtern und kann als ein Filter oder ein Kernel bezeichnet werden. Eine Tiefe eines Weight-Map WM (z. B. die Anzahl der Kanäle des Weight-Map WM) ist gleich einer Tiefe des ersten Feature-Map FM1 (z. B. der Anzahl von Kanälen des ersten Feature-Map), wobei entsprechende Kanäle des Weight-Map WwM mit Kanälen des ersten Feature-Map FM1 gefaltet werden können. Das Weight-Map WM wird auf dem ersten Feature-Map FM1 als ein Schiebefenster bzw. Sliding-Window verschoben. Ein Verschiebungsbetrag kann als eine „Schrittweite“ oder ein „Schritt“ bezeichnet werden. Während einer jeweiligen Verschiebung kann jede in dem Weight-Map WM enthaltene Gewichtung mit einem jeweiligen Feature-Wert in einem Bereich, der das erste Feature-Map FM1 überlappt, multipliziert oder diesem hinzuaddiert werden. Wenn das erste Feature-Map FM1 mit dem Weight-Map WM gefaltet wird, kann ein Kanal des zweiten Feature-Map FM2 erzeugt werden. Wenngleich in 2 ein Weight-Map WM dargestellt ist, kann tatsächlich eine Mehrzahl von Gewichtungen mit dem ersten Feature-Map FM1 gefaltet werden und eine Mehrzahl von Kanälen des zweiten Feature-Maps FM2 erzeugt werden. Die Anzahl der Kanäle des zweiten Feature-Map FM2 kann der Anzahl der Weight-Maps entsprechen.
  • Die zweite Schicht L2 kann eine räumliche Abmessung des zweiten Feature-Map FM2 durch Poolen modifizieren, um ein drittes Feature-Map FM3 zu erzeugen. Unter Poolen ist ein Abtasten oder Heruntertakten zu verstehen. In der zweiten Schicht L2 kann z. B. das zweite Feature-Map FM2 abgetastet (oder heruntergetaktet) werden, um eine räumliche Größe des zweiten Feature-Map FM2 in der x- und y-Richtung zu reduzieren. Ein zweidimensionales Pooling-Fenster PW kann auf dem zweiten Feature-Map FM2 in Einheiten von einer Größe des Poolings-Fensters verschoben werden, wobei ein maximaler Feature-Wert eines Bereichs, der das Pooling-Fenster PW überlappt (oder ein durchschnittlicher Wert von Feature-Werten) ausgewählt werden kann. Das zweidimensionale Pooling-Fenster PW kann z. B. in der x- und y-Richtung in Inkrementen von jeweils der Breite und der Höhe des Pooling-Fensters PW verschoben werden. Dementsprechend kann ein drittes Feature-Map FM3 mit einer räumlichen Größe, die gegenüber der des zweiten Feature-Maps FM2 verändert worden ist, erzeugt werden. Die Anzahl der Kanäle des dritten Feature-Map FM3 ist gleich der Anzahl der Kanäle des zweiten Feature-Map FM2. Eine Tiefe des dritten Feature-Map FM3 kann z. B. mit der Tiefe des zweiten Feature-Map FM2 identisch sein.
  • Gemäß einer beispielhaften Ausführungsform ist die zweite Schicht L2 nicht auf eine Pooling-Schicht beschränkt. Die zweite Schicht L2 kann z. B. eine Pooling-Schicht sein, oder die zweite Schicht L2 kann eine Faltungsschicht sein, die zur ersten Schicht L1 identisch ist. Die zweite Schicht L2 kann das zweite Feature-Map FM2 mit einem Weight-Map falten, um das dritte Feature-Map FM3 zu erzeugen. In diesem Fall kann sich ein Weight-Map, mit dem eine Faltungsoperation in der zweiten Schicht L2 durchgeführt wird, von dem Weight-Map WM unterscheiden, mit dem eine Faltungsoperation in der ersten Schicht L1 durchgeführt wird.
  • Nachdem es die Mehrzahl von Schichten einschließlich der ersten Schicht L1 und der zweiten Schicht L2 passiert hat, kann ein N-tes Feature-Map FMn in einer N-ten Schicht erzeugt werden. Das N-te Feature-Map FMn kann in eine Rekonstruktionsschicht CL eingegeben werden, die sich an einem hinteren Ende des künstlichen neuronalen Netzwerks NN befindet, von dem aus Ausgabedaten ausgegeben werden. Die Rekonstruktionsschicht CL kann ein Ausgabebild REC durch Falten des N-ten Feature-Map FMn mit einem Weight-Map erzeugen. Die Rekonstruktionsschicht CL kann eine Faltungsschicht beinhalten oder kann unter Verwendung anderer Arten von Schichten implementiert sein, die ein Bild anhand eines Feature-Map gemäß beispielhafter Ausführungsformen rekonstruieren können.
  • Unter Bezugnahme auf 1 und 2 kann die Trainingslogik 100 ein künstliches neuronales Netzwerkmodell trainieren, so dass das künstliche neuronale Netzwerkmodell eine optimale Bereinigungsrate (Pruning-Rate) in Bezug auf die Eingabedaten aufweisen kann. Eine optimale Bereinigungsrate eines künstlichen neuronalen Netzwerkmodells in Bezug auf eine Bildanalyse kann z. B. ein erster Wert sein, und eine optimale Bereinigungsrate eines künstlichen Netzwerkmodells in Bezug auf eine Stimmanalyse kann ein zweiter Wert sein, wobei sich der zweite Wert von dem ersten Wert unterscheidet.
  • Die Trainingslogik 100 kann erste Sensitivitätsdaten in Bezug auf das gesamte künstliche neuronale Netzwerkmodell berechnen und kann zweite Sensitivitätsdaten von einer jeweiligen von der Mehrzahl von Schichten L1 bis Ln berechnen.
  • Im Folgenden können Sensitivitätsdaten einen Grad beinhalten, zu dem gemäß einer Operation eines künstlichen neuronalen Netzwerks ausgegebene Daten beeinträchtigt werden, wenn eine bestimmte Schicht bereinigt (geprunt) wird oder das gesamte künstliche neuronale Netzwerk bereinigt wird. Die Sensitivitätsdaten können Sensitivitätswerte einschließen, die z. B. entsprechend einer Bereinigungsrate variieren. Eine Bereinigungsrate kann eine Rate umfassen, mit der Komponenten, die in jeder von der Mehrzahl von Schichten L1 bis Ln enthaltenen Neuronen und/oder Synapsen entsprechen, entfernt werden. Die ersten Sensitivitätsdaten können z. B. einen Grad der Verringerung der Genauigkeit eines Ergebnisses anzeigen, das durch ein künstliches neuronales Netzwerkmodell gemäß einem Anstieg an Neuronen und/oder Synapsen, die von dem gesamten künstlichen neuronalen Netzwerkmodell entfernt worden sind, ausgegeben wird. Als ein weiteres Beispiel können zweite Sensitivitätsdaten einen Grad der Verringerung der Genauigkeit eines Ergebnisses anzeigen, das durch ein künstliches neuronales Netzwerkmodell gemäß einem Anstieg an Neuronen und/oder Synapsen, die von einer bestimmten Schicht entfernt worden sind, ausgegeben wird.
  • Die Trainingslogik 100 kann eine Soll-Sensitivität basierend auf den ersten Sensitivitätsdaten berechnen. In diesem Fall kann die Trainingslogik 100 die Soll-Sensitivität durch Anwenden einer empfangenen Soll-Bereinigungsrate auf die ersten Sensitivitätsdaten berechnen. Die Soll-Sensitivität kann z. B. ein Sollwert einer Sensitivität sein, die eine jeweilige von der Mehrzahl der Schichten L1 bis Ln aufweisen soll, wobei die Soll-Sensitivität Sensitivitätsdaten einer gegenüber der Anzahl der Mehrzahl der Schichten L1 bis Ln gleichwertigen Anzahl aufweisen kann. Die Soll-Sensitivität kann z. B. einen Soll-Sensitivitätswert für eine jeweilige von der Mehrzahl von Schichten L1 bis Ln beinhalten.
  • Die Trainingslogik 100 kann eine optimale Bereinigungsrate einer jeweiligen von der Mehrzahl von Schichten L1 bis Ln basierend auf den zweiten Sensitivitätsdaten und der Soll-Sensitivität berechnen. Die neuronale Netzwerkvorrichtung 13 kann z. B. eine inverse Funktion der zweiten Sensitivitätsdaten berechnen. Die inverse Funktion kann eine Bereinigungsrate darstellen, die der Sensitivität entsprechend variiert. Die Bereinigungsrate kann z. B. eine inverse Funktionsbeziehung mit den zweiten Sensitivitätsdaten sein. Die Trainingslogik 100 kann eine optimale Bereinigungsrate einer jeweiligen von der Mehrzahl von Schichten L1 bis Ln berechnen, indem die Soll-Sensitivität für eine jeweilige von der Mehrzahl von Schichten L1 bis Ln in die inverse Funktion eingegeben wird.
  • Die Trainingslogik 100 kann ein künstliches neuronales Netzwerk erzeugen, das durch Bereinigen (Pruning) eines künstlichen neuronalen Netzwerkmodells gemäß der berechneten optimalen Bereinigungsrate trainiert wird. Die neuronale Netzwerkvorrichtung 13 kann ein künstliches neuronales Netzwerkmodell aktualisieren.
  • Der Speicher 14 ist ein Speicherraum zum Speichern von Daten, und kann ein Betriebssystem (OS), verschiedene Programme und verschiedene Daten speichern. Einer Ausführungsform entsprechend kann der Speicher 14 zumindest einen Prozessor beinhalten, der die Trainingslogik 100 betreibt. Der Speicher 14 kann z. B. als ein Prozessor-im-Speicher (PIM) bezeichnet werden.
  • Der Speicher 14 kann ein DRAM sein, ist aber nicht darauf beschränkt. Der Speicher 14 kann zumindest einen flüchtigen Speicher und/oder einen nichtflüchtigen Speicher beinhalten. Ein nichtflüchtiger Speicher kann z. B. einen Nur-Lese-Speicher (ROM), einen programmierbaren ROM (PROM), einen elektrisch programmierbaren ROM (EPROM), einen elektrisch löschbaren und programmierbaren ROM (EEPROM), einen Flash-Speicher, einen Phasenwechsel-RAM (PRAM), einen magnetischen RAM (MRAM), einen Resistive-RAM (RRAM) oder einen ferroelektrischen RAM (FRAM) beinhalten. Ein flüchtiger Speicher kann z. B. einen DRAM, einen SRAM, einen synchronen DRAM (SDRAM), einen PRAM, einen MRAM, einen RRAM oder einen FRAM beinhalten. Einer Ausführungsform gemäß kann der Speicher 14 ein Festplattenlaufwerk (HDD), ein Festkörperlaufwerk (SSD), eine Compact-Flash- (CF-) Karte, eine sichere digitale (SD-) Karte, eine Micro-Secure-Digital- (Micro-SD-) Karte, eine Mini-Secure-Digital- (Mini-SD-) Karte, eine Extreme-digital- (xD-) Karte und/oder einen Speicherstick beinhalten.
  • Die Eingabe/Ausgabe-Vorrichtung 15 kann arbeiten, um ein durch das elektronische System 10 berechnetes Operationsergebnis nach außen auszugeben, oder die Eingabe/Ausgabe-Vorrichtung 15 kann Daten empfangen.
  • 3 ist eine Ansicht zur Erläuterung eines Bereinigungsverfahrens (Pruning-Verfahren) gemäß einer Ausführungsform des Erfindungsgedankens und eines Vergleichsbeispiels.
  • Ein erstes künstliches neuronales Netzwerkmodell NN1 kann ein künstliches neuronales Netzwerkmodell vor dessen Bereinigung sein, und ein zweites künstliches neuronales Netzwerkmodell NN2 kann ein bereinigtes künstliches neuronales Netzwerkmodell sein. Das erste und das zweite künstliche neuronale Netzwerkmodell NN1 und NN2 können eine Mehrzahl von Schichten Las beinhalten, wobei jede Schicht LA zumindest ein Neuron NR beinhalten kann. Ein Ergebnis einer Operation, das von einem ersten Neuron NR ausgegeben wird, kann auf ein zweites Neuron NR über eine Synapse SN übertragen werden. In einem künstlichen neuronalen Netzwerkmodell NN2 kann die Anzahl der Neuronen NR in einer Schicht LA geringer sein als die Anzahl der Neuronen NR in derselben Schicht LA eines künstlichen neuronalen Netzwerkmodells NN1. Darüber hinaus kann in einem künstlichen neuronalen Netzwerkmodell NN2 die Anzahl der Synapsen SN zwischen den Schichten LA kleiner sein als die Anzahl der Synapsen SN zwischen den selben Schichten LAs des künstlichen neuronalen Netzwerkmodells NN1. Die Anzahl der Schichten LAs in dem künstlichen neuronalen Netzwerkmodell NN1 und NN2 kann gleich bleiben.
  • Gemäß einem Vergleichsbeispiel können ein Neuron NR und eine Synapse SN basierend auf jeweiligen Gewichtungen des Neurons NR und der Synapse SN bereinigt werden. Dies geschieht basierend auf der Annahme, dass sich die Gesamtnetzwerkleistung kaum verschlechtert, wenn ein Neuron NR und eine Synapse SN, die einen relativ leichten Gewichtungswert aufweisen, bereinigt werden. Selbst wenn es sich jedoch um einen geringen Gewichtungswert handelt, kann ein solcher die Genauigkeit des gesamten künstlichen neuronalen Netzwerks stark beeinträchtigen. Somit wird gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens die Bedeutung von einer Mehrzahl der Schichten LAs basierend auf einer Sensitivität und einer Bereinigungsrate berechnet, wobei die Verringerung der Genauigkeit minimiert werden kann. Gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens kann darüber hinaus zur Verhinderung einer Verschlechterung der Leistung des gesamten künstlichen neuronalen Netzwerks eine optimale Bereinigungsrate einer Mehrzahl von Schichten LAs basierend auf einer Sensitivität und einer Bereinigungsrate des gesamten künstlichen neuronalen Netzwerks zugeordnet werden.
  • 4 ist ein Blockdiagramm einer Rechenvorrichtung 20 gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens.
  • Bezugnehmend auf 4 kann die Rechenvorrichtung 20 die Trainingslogik 100, einen Modellanalysator 210 und einen Modellaktualisierer 220 beinhalten. Die Trainingslogik 100 von 4 kann mit der in Bezug auf 1 beschriebenen identisch sein und kann einen Teil des elektronischen Systems 10 von 1 darstellen. Die Trainingslogik 100 kann einen Sensitivitätsanalysator 110 und einen Bereinigungs-Controller 120 beinhalten. Daneben kann der Sensitivitätsanalysator 110 einen Sensitivitätsanalysator 111 für ein künstliches neuronales Netzwerk und einen Schichtsensitivitätsanalysator 112 beinhalten, und der Bereinigungs-Controller 120 kann einen Soll-Sensitivitäts-Kalkulator 121 und einen optimale Bereinigungsrate-Kalkulator 122 beinhalten.
  • Die Rechenvorrichtung 20 kann ein Computer (oder mehrere miteinander verbundene Computer) sein und kann z. B. einen oder mehrere Prozessoren beinhalten, die durch eine Software konfiguriert sind, wie z. B. eine CPU (zentrale Verarbeitungseinheit), eine GPU (einen Grafikprozessor), einen Controller etc., und kann die Trainingslogik 100, den Modellanalysator 210, den Modellaktualisierer 220 und dergleichen beinhalten, die verschiedene funktionale Module des Computers bilden. Der Computer kann ein Allzweckcomputer oder eine dedizierte Hardware oder Firmware sein (z. B. eine elektronische oder optische Schaltung, wie z. B. eine anwendungsspezifische Hardware, wie z. B. ein digitaler Signalprozessor (DSP) oder ein feldprogrammierbares Gate-Array (FPGA)). Ein Computer kann aus mehreren miteinander verbundenen Computern konfiguriert sein. Jedes funktionale Modul (oder Einheit), die hierin beschrieben sind, kann einen separaten Computer aufweisen, oder ein Teil der oder alle funktionalen Module (oder Einheiten) können aus der Hardware desselben Computers bestehen und diese gemeinsam verwenden. Verbindungen und Interaktionen zwischen den hierin beschriebenen Einheiten können festverdrahtet sein und/oder in der Form von Daten vorliegen (z. B. als Daten, die in dem Speicher des Computers gespeichert und von diesem abgerufen werden, wie z. B. einem Register, Puffer, Cache, Speicherlaufwerk etc., wie z. B. einem Teil einer Anwendungsschnittstelle (API)). Die funktionalen Module (oder Einheiten) der Rechenvorrichtung 20 (z. B. die Trainingslogik 100, der Modellanalysator 210 und der Modellaktualisierer 220) können jeweils einem separaten Segment oder Segmenten einer Software (z. B. einer Subroutine) entsprechen, die den Computer der Rechenvorrichtung 20 konfigurieren, und/oder einem Segment(en) einer Software entsprechen, die ebenfalls einem oder mehreren anderen funktionalen Modulen (oder Einheiten) entsprechen, die hierin beschrieben sind (z. B. können die funktionalen Module (oder Einheiten) ein bestimmte(s) Segment(e) einer Software gemeinsam verwenden oder durch dieselben Segment(e) der Software verkörpert sein). Es wird darauf hingewiesen, dass unter „Software“ vorgeschriebene Regeln zum Betreiben eines Computers zu verstehen sind, wie z. B. ein Code oder eine Skriptsprache.
  • Die Modellanalysator 210 kann das erste künstliche neuronale Netzwerkmodell NN1 empfangen, das erste künstliche neuronale Netzwerk NN1 in eine Mehrzahl von Schichten Ls teilen und Informationen über die Mehrzahl von Schichten Ls ausgeben. Darüber hinaus kann der Modellanalysator 210 Informationen über das gesamte erste künstliche neuronale Netzwerk NN1 ausgeben. Der Modellanalysator 210 kann z.B. eine Datenstruktur des ersten künstlichen neuronalen Netzwerkmodell NN1 ersetzen, zusammenführen und/oder aufteilen, um Informationen über die Mehrzahl von Schichten Ls des ersten künstlichen neuronalen Netzwerkmodells NN1 auszugeben. In einigen beispielhaften Ausführungsformen kann der Modellanalysator 210 die Knoten des ersten künstlichen neuronalen Netzwerkmodells NN1 zu einer Mehrzahl von Schichten Ls organisieren, und eine jede von der Mehrzahl von Schichten Ls definierende Informationen an den Sensitivitätsanalysator 110 übertragen.
  • Der Sensitivitätsanalysator 110 kann die ersten Sensitivitätsdaten SD1 basierend auf dem ersten künstlichen neuronalen Netzwerkmodell NN1 ausgeben und zweite Sensitivitätsdaten SD2 basierend auf der Mehrzahl von Schichten Ls ausgeben. Der Sensitivitätsanalysator 110 kann Eingabedaten DIN empfangen, die in einem Test benötigt werden, und kann erste und zweite Sensitivitätsdaten SD1 und SD2 ausgeben, einschließlich der Sensitivitätswerte, die einer Bereinigungsrate entsprechend variieren, indem verschiedene Bereinigungsraten auf das erste künstliche neuronale Netzwerkmodell NN1 und die Mehrzahl von Schichten Ls angewendet werden. Der Sensitivitätsanalysator 111 des künstlichen neuronalen Netzwerks kann z. B. das erste künstliche neuronale Netzwerkmodell NN1 empfangen, das von dem Modellanalysator 210 ausgegeben wird, kann die ersten Sensitivitätsdaten SD1 basierend auf dem empfangenen ersten künstlichen neuronalen Netzwerkmodell NN1 und den Eingabedaten DIN berechnen und kann die berechneten ersten Sensitivitätsdaten SD1 ausgeben. Darüber hinaus kann der Schicht-Sensitivitätsanalysator 112 die Informationen über die Mehrzahl von Schichten Ls empfangen, die von dem Modellanalysator 210 ausgegeben werden, kann die zweiten Sensitivitätsdaten SD2 basierend auf der empfangenen Mehrzahl von Schichten Ls und der Eingabedaten DIN berechnen und kann die berechneten zweiten Sensitivitätsdaten SD2 ausgeben.
  • Gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens kann der Sensitivitätsanalysator 110 zur Verringerung des Operationsaufwands die Sensitivitätswerte interpolieren, um die ersten und zweiten Sensitivitätsdaten SD1 und SD2 auszugeben. Der Sensitivitätsanalysator 110 kann z. B. Bereinigungsraten in Einheiten von z. B. 0,1 aus den Bereinigungsraten mit Werten von 0 bis 1 erhalten. Der Sensitivitätsanalysator 110 kann Bereinigungsraten mit einem vorbestimmten Einheitsintervall, wie z. B. 0, 0,1, ..., 0,9, 1, auf das erste künstliche neuronale Netzwerk NN1 und die Mehrzahl von Schichten Ls anwenden. Das erste künstliche neuronale Netzwerkmodell NN1 und die Mehrzahl von Schichten Ls kann so bereinigt werden, dass sie den angewendeten Bereinigungsraten entsprechen. Das erste künstliche neuronale Netzwerkmodell NN1 und die Mehrzahl von Schichten Ls können aufgrund von Neuronen NR oder Synapsen SN, die mit der Erhöhung einer Bereinigungsrate beseitigt werden, eine geringere Datengenauigkeit aufweisen. Das kann ein Anzeichen dafür sein, dass die Ausgabedaten aufgrund der beseitigen Neuronen NR oder Synapsen SN sensibel reagieren, und dass die Sensitivität mit der Erhöhung der Bereinigungsrate zunehmen kann. Der Sensitivitätsanalysator 110 kann mit dem Anstieg der Bereinigungsrate Sensitivitätsdaten einer erhöhten Sensitivität erhalten und kann die Sensitivitätswerte darstellende erste Sensitivitätsdaten SD1 und zweite Sensitivitätsdaten SD2 ausgeben.
  • Der Bereinigungs-Controller (Pruning-Controller) 120 kann eine optimale Bereinigungsrate OP basierend auf den ersten Sensitivitätsdaten SD1 und den zweiten Sensitivitätsdaten SD2 bestimmen und ausgeben. Der Bereinigungs-Controller 120 kann eine Soll-Sensitivität TS basierend auf den ersten Sensitivitätsdaten SD1 und einer empfangenen Soll-Bereinigungsrate TP erhalten. Der Bereinigungs-Controller 120 kann die Soll-Sensitivität TS auf eine Sensitivität von einer jeweiligen von der Mehrzahl von Schichten Ls anwenden, die in den zweiten Sensitivitätsdaten SD2 enthalten sind. Der Bereinigungs-Controller 120 kann eine optimale Bereinigungsrate OP ausgeben, die der Soll-Sensitivität TS entspricht und die eine jeweilige von der Mehrzahl von Schichten Ls aufweisen kann.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann der Soll-Sensitivitäts-Kalkulator 121 die ersten Sensitivitätsdaten SD1, die von dem Sensitivitätsanalysator 111 des künstlichen neuronalen Netzwerks ausgegeben werden, und die Soll-Bereinigungsrate TP empfangen, und kann die Soll-Sensitivität TS ausgeben. Der Soll-Sensitivitäts-Kalkulator 121 kann z. B. eine Soll-Sensitivität TS entsprechend der Soll-Bereinigungsrate TP anhand der ersten Sensitivitätsdaten SD1 berechnen. Die Soll-Bereinigungsrate TP kann z. B. einen Grad bezeichnen, zu dem das gesamte erste künstliche neuronale Netzwerkmodell NN1 bereinigt werden kann. Die Soll-Bereinigungsrate TP kann z. B. gemäß einer Anfrage von dem elektronischen System 10 variieren. Der optimale Bereinigungsrate-Kalkulator 122 kann die Soll-Sensitivität TS, die von dem Soll-Sensitivitäts-Kalkulator 121 ausgegeben wird, und die zweiten Sensitivitätsdaten SD2 empfangen, die von dem Schicht-Sensitivitätsanalysator 112 ausgegeben werden. Der optimale Bereinigungsrate-Kalkulator 122 kann eine optimale Bereinigungsrate OP von einer jeweiligen von der Mehrzahl von Schichten Ls gemäß der Soll-Sensitivität TS berechnen, die das erste künstliche neuronale Netzwerkmodell NN1 aufweisen soll. Der optimale Bereinigungsrate-Kalkulator 122 kann eine optimale Bereinigungsrate OP von einer jeweiligen von der Mehrzahl von Schichten Ls basierend auf der Soll-Sensitivität TS berechnen, die von dem Soll-Sensitivitäts-Kalkulator 121 ausgegeben wird. Eine optimale Bereinigungsrate OP kann z. B. aus der Mehrzahl von Schichten Ls variieren, oder kann nur aus zumindest einem Teil von der Mehrzahl von Schichten Ls variieren. Eine optimale Bereinigungsrate OP kann z. B. eine Mehrzahl von Bereinigungsratenwerten beinhalten. Der optimale Bereinigungsrate-Kalkulator 122 kann hingegen Zuweisungsinformationen ausgeben, wodurch eine optimale Bereinigungsrate OP einer jeweiligen von der Mehrzahl von Schichten Ls zugewiesen wird.
  • Gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens kann der Modellaktualisierer 220 die optimale Bereinigungsrate OP, die von dem optimalen Bereinigungsrate-Kalkulator 122 ausgegeben wird, und das erste künstliche neuronale Netzwerkmodell NN1 empfangen. Der Modellaktualisierer 220 kann ein zweites künstliches neuronales Netzwerkmodell NN2 erzeugen und ausgeben, das durch Anwenden der optimalen Bereinigungsrate OP auf das erste künstliche neuronale Netzwerkmodell NN1 aktualisiert wird. Der Modellaktualisierer 220 kann z.B. Neuronen und/oder Synapsen SN von einer oder mehreren von der Mehrzahl von Schichten Ls basierend auf einer optimalen Bereinigungsrate OP bereinigen. In diesem Fall können unterschiedliche Anzahlen von Neuronen NR und Synapsen SN basierend auf unterschiedlichen Bereinigungsraten für eine jeweilige von der Mehrzahl von Schichten Ls bereinigt werden.
  • 5 ist ein Graph, der erste Sensitivitätsdaten des gesamten künstlichen neuronalen Netzwerkmodells gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens zeigt.
  • Bezugnehmend auf 5 bezeichnet die horizontale Achse eine Bereinigungsrate; wenn eine Bereinigungsrate 0 ist, wird keine Bereinigung durchgeführt, und wenn eine Bereinigungsrate 1 ist, werden alle Neuronen N und Synapsen SN beseitigt. Die vertikale Achse bezeichnet die Sensitivität und zeigt einen Grad an, zu dem die Ausgabedaten eines künstlichen neuronalen Netzwerkmodells einer Bereinigungsrate entsprechend ungenau reagieren. Die Sensitivität kann z. B. einen Grad wiedergeben, zu dem die Ausgabedaten in Reaktion auf unterschiedliche Bereinigungsraten ungenau werden.
  • Bezugnehmend auf 5 können die ersten Sensitivitätsdaten SD1 eine Variation der Sensitivität des ersten künstlichen neuronalen Netzwerkmodells NN1 enthalten, die in der Trainingslogik 100 gemäß einer Veränderung der Bereinigungsrate enthalten ist. Eine erste Sensitivitätskurve SD1_1 zeigt eine tatsächliche Veränderung der Sensitivität des ersten künstlichen neuronalen Netzwerkmodells NN1 an, eine zweite Sensitivitätskurve SD1_2 zeigt eine Interpolation einer Veränderung der Sensitivität des ersten künstlichen neuronalen Netzwerkmodells NN1 an, und eine dritte Sensitivitätskurve SD_3 zeigt Daten an, die durch symmetrisches Verschieben der zweiten Sensitivitätskurve SD1_1 um y = x erhalten werden.
  • Bezugnehmend auf 4 und 5 kann der Sensitivitätsanalysator 111 des künstlichen neuronalen Netzwerks Ausgabedaten erhalten, indem er, an den Eingabedaten DIN, eine Operation gemäß dem ersten künstlichen neuronalen Netzwerkmodell NN1 durchführt, und kann die Sensitivität durch Analysieren einer Veränderung der Ausgabedaten oder Analysieren einer Genauigkeit derselben berechnen, während eine Bereinigungsrate variiert. In diesem Fall kann der Sensitivitätsanalysator 111 des künstlichen neuronalen Netzwerks eine Bereinigungsrate von 0 bis 1 in Einheitsintervalle aufteilen, eine bestimmte Anzahl von Bereinigungsraten auf das erste künstliche neuronale Netzwerkmodell NN1 anwenden und Sensitivitätswerte entsprechend den angelegten Bereinigungsraten erhalten. Der Sensitivitätsanalysator 111 des künstlichen neuronalen Netzwerks kann die erhaltenen Sensitivitätswerte interpolieren, um die zweite Sensitivitätskurve SD1_2 und die dritte Sensitivitätskurve SD1_3 zu erhalten, die um y = x symmetrische verschoben ist. Als nächstes kann der Soll-Sensitivitäts-Kalkulator 121 die empfangene Soll-Bereinigungsrate TP für die dritte Sensitivitätskurve SD1_3 ersetzen, um die Soll-Sensitivität TS zu erhalten.
  • 6 ist ein Graph, der zweite Sensitivitätsdaten einschließlich einer Sensitivitätskurve von einer jeweiligen von einer Mehrzahl von Schichten Ls gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens zeigt, und 7 ist ein Graph, der dritte Sensitivitätsdaten basierend auf zweiten Sensitivitätsdaten gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens zeigt.
  • Bezugnehmend auf 6 können die Sensitivitätswerte von einer Mehrzahl von Schichten Ls, die in dem ersten künstlichen neuronalen Netzwerkmodell NN1 enthalten sind, gemäß einer Veränderung einer Bereinigungsrate variieren. In einem Bereich einer Bereinigungsrate von etwa 0,2 bis etwa 0,8 kann z. B. die Sensitivität von einer ersten Schicht LA1 abrupt ansteigen (z. B. eine größere Neigung aufweisen), wobei die von einer zweiten Schicht LA2 sanft ansteigen kann (z. B. eine geringere Neigung aufweisen kann). Wenn das erste künstliche neuronale Netzwerkmodell NN1 durch Verwendung eines ersten Bereinigungswerts P1 bereinigt wird, kann die erste Schicht LA1 einen ersten Sensitivitätswert S1 aufweisen, der relativ hoch ist, jedoch kann die zweite Schicht LA1 einen zweiten Sensitivitätswert S2 aufweisen, der relativ niedrig ist.
  • Gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens kann durch Beibehalten des ersten Bereinigungsratenwerts P1 und des ersten Sensitivitätswerts S1, die auf die erste Schicht LA1 gesetzt sind, und durch Erhöhen des ersten Bereinigungsratenwerts PI, der auf die zweite Schicht LA2 gesetzt ist, eine Verringerung der Genauigkeit (oder eine Erhöhung der Sensitivität) im Verhältnis zu dem Anstieg der Bereinigungsrate abgeschwächt werden. Ein Bereinigungsratenwert der zweiten Schicht LA2 kann z. B. auf einen dritten Bereinigungsratenwert P3 erhöht werden. Wenn der Bereinigungsratenwert der zweiten Schicht LA2 ein dritter Bereinigungsratenwert P3 ist, kann die zweite Schicht LA2 einen Sensitivitätswert S3 aufweisen, der größer ist als der Sensitivitätswert S2 und kleiner als der Sensitivitätswert S1.
  • Bezugnehmend auf 6 und 7 kann der optimale Bereinigungsrate-Kalkulator 122 die zweiten Sensitivitätsdaten SD2 interpolieren und Bereinigungsratendaten PD berechnen, die durch Durchführen einer reversen Funktionsoperation erhalten werden. In diesem Fall kann der optimale Bereinigungsrate-Kalkulator 122 Sensitivitätswerte von einem jeweiligen bestimmten Abschnitt einer Bereinigungsrate berechnen und die berechneten Sensitivitätswerte interpolieren.
  • Der optimale Bereinigungsrate-Kalkulator 122 kann die Soll-Sensitivität TS empfangen und die Soll-Sensitivität TS auf die Bereinigungsratendaten PD anwenden, um die erste und die zweite optimale Bereinigungsrate OPA und OPB von der Mehrzahl von jeweils der ersten und zweiten Schicht LA1 und LA2 zu berechnen. Die erste Schicht LA1 weist z. B. eine relativ hohe Sensitivität in einem bestimmten Bereinigungsratenbereich auf, und somit wird ihr eine erste optimale Bereinigungsrate OPA zugewiesen. Die zweite Schicht LA2 weist eine verhältnismäßig geringere Sensitivität in einem bestimmten Bereinigungsratenbereich auf, und somit wird derselben eine zweite optimale Bereinigungsrate OPB zugewiesen, die höher ist als die erste optimale Bereinigungsrate OPA.
  • 8 ist ein Graph, der Sensitivitätswerte von einer jeden der Bereinigungsraten von einer Mehrzahl von Schichten Ls gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens zeigt.
  • Wie vorstehend unter Bezugnahme auf 7 beschrieben ist, kann der optimale Bereinigungsrate-Kalkulator 122 die erste und die zweite optimale Bereinigungsrate OPA und OPB berechnen. Der Modellaktualisierer 220 kann eine Mehrzahl von Schichten Ls des ersten künstlichen neuronalen Netzwerkmodells NN1 basierend auf der ersten und der zweiten optimalen Bereinigungsrate OPA und OPB bereinigen und kann das zweite künstliche neuronale Netzwerkmodell NN2 ausgeben, das nach der Bereinigung aktualisiert wird. Das zweite künstliche neuronale Netzwerkmodell NN2, das aktualisiert ist, kann eine erste Schicht LA1 und eine zweite Schicht LA2 beinhalten. Die erste Schicht LA1 kann der ersten optimalen Bereinigungsrate OPA gemäß bereinigt werden, so dass sie eine erste Sensitivität SA aufweist. Die zweite Schicht LA2 kann der zweiten optimalen Bereinigungsrate OPB gemäß bereinigt werden, so dass sie eine zweite Sensitivität SB aufweist. Die erste Sensitivität SA und die zweite Sensitivität SB können mit der vorstehend beschriebenen Soll-Sensitivität TS identisch sein. Wie vorstehend unter Bezugnahme auf 6 beschrieben ist, kann die zweite Schicht LA2 mit einer verhältnismäßig geringen Sensitivität um einen größeren Grad bereinigt werden, wenn ein Bereinigungsratenwert der zweiten Schicht LA2 mit einer verhältnismäßig geringen Sensitivität so gesetzt wird, dass er höher als ein Bereinigungsratenwert der ersten Schicht LA ist. Dementsprechend kann die Rechenvorrichtung 20 das erste künstliche neuronale Netzwerkmodell NN1 effizient bereinigen.
  • 9 ist ein Graph, der die Genauigkeit eines künstlichen neuronalen Netzwerkmodells in Bezug auf eine Bereinigungsrate gemäß einer Ausführungsform des Erfindungsgedankens und eines Vergleichsbeispiels zeigt. Die vorliegende Ausführungsform wird basierend auf den Bezugszeichen der vorstehend beschriebenen Zeichnung erläutert.
  • Unter Bezugnahme auf 9 bezeichnet die horizontale Achse eine Bereinigungsrate zum Bereinigen eines künstlichen neuronalen Netzwerkmodells, und die vertikale Achse bezeichnet die Genauigkeit einer Datenausgabe, basierend auf Eingabedaten, durch das künstliche neuronale Netzwerkmodell.
  • Bezugnehmend auf 9 kann das erste künstliche neuronale Netzwerkmodell NN1, das bei einer optimalen Bereinigungsrate OP gemäß den vorstehend beschriebenen Ausführungsformen bereinigt worden ist, eine verhältnismäßig geringfügige Verringerung einer Genauigkeit AC1 trotz der Erhöhung einer Bereinigungsrate aufweisen. Dies ist darin begründet, dass z. B. eine Schicht (z. B. die Schicht LA1 von 8), die die Sensitivität des ersten künstlichen neuronalen Netzwerkmodells NN1 in einem bestimmten Bereich einer Bereinigungsrate (von etwa 0,5 bis 1) deutlich beeinträchtigt, bei einer verhältnismäßig niedrigen Bereinigungsrate (z. B. der Bereinigungsrate OPA von 8) bereinigt wird. Ein weiterer Grund ist darüber hinaus, dass eine Schicht (z. B. die Schicht LA2 von 8), die die Sensitivität des ersten künstlichen neuronalen Netzwerkmodells NN1 in einem bestimmten Bereich einer Bereinigungsrate nicht so häufig beeinträchtigt, bei einer verhältnismäßig höheren Bereinigungsrate (z. B. der Bereinigungsrate OPB von 8) bereinigt wird.
  • Eine elektronische Vorrichtung gemäß dem Vergleichsbeispiel hingegen kann eine Bereinigung in einer Reihenfolge ab einem geringsten, in den Schichten beinhalteten Gewichtungswert durchführen. Bei der Bereinigung einer Schicht L, einer Synapse SN oder eines Neurons NR, das schlichtweg eine niedrigen Gewichtungswert aufweist, musst die Datenausgabegenauigkeit des gesamten künstlichen neuronalen Netzwerkmodells nicht in Betracht gezogen werden. Somit kann die Genauigkeit AC2 in Bezug auf eine Bereinigungsrate gemäß dem Vergleichsbeispiel geringer sein als die der Ausführungsform des Erfindungsgedankens, in der die Sensitivität in Bezug auf die Bereinigungsrate des gesamten künstlichen neuronalen Netzwerkmodells und die Sensitivität in Bezug auf eine Bereinigungsrate einer jeweiligen Schicht in Betracht gezogen wird.
  • 10 ist ein Flussdiagramm einer Bereinigungsoperation eines künstlichen neuronalen Netzwerkmodells gemäß einer Ausführungsform des Erfindungsgedankens.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann die Rechenvorrichtung 20 eine Soll-Bereinigungsrate TP empfangen (S110). Die Soll-Bereinigungsrate TP kann ein Wert sein, der durch einen Benutzer gesetzt wird, und kann einen Grad anzeigen, um den das gesamte künstliche neuronale Netzwerkmodell bereinigt werden kann. Die Soll-Bereinigungsrate TP kann z. B. in die Rechenvorrichtung 20 über eine Eingabe/Ausgabe-Vorrichtung (nicht gezeigt) der Rechenvorrichtung 20 eingegeben werden.
  • Die Rechenvorrichtung 20 kann das erste künstliche neuronale Netzwerkmodell NN1 empfangen (S120). Das erste künstliche neuronale Netzwerkmodell NN1 kann ein Modell sein, bei dem es sich um ein zu bereinigendes Objekt handelt, und kann eine Mehrzahl von Schichten Ls beinhalten.
  • Die Rechenvorrichtung 20 kann eine erste Sensitivität des gesamten ersten künstlichen neuronalen Netzwerkmodells NN1 und eine zweite Sensitivität einer jeweiligen von der Mehrzahl von Schichten Ls, die in dem ersten künstlichen neuronalen Netzwerkmodell NN1 beinhaltet sind, berechnen (S130). Hier können die erste Sensitivität und die zweite Sensitivität einen Grad einer Ungenauigkeit eines Ergebnisses umfassen, das durch das erste künstliche neuronale Netzwerkmodell NN1 den Eingabedaten entsprechend ausgegeben wird. Die erste Sensitivität kann z. B. eine Mehrzahl von Sensitivitätswerten des ersten künstlichen neuronalen Netzwerkmodells NN1 beinhalten, das unter Verwendung einer Mehrzahl von Bereinigungsratenwerten bereinigt wird. Die zweite Sensitivität kann z. B. Sensitivitätswerte über Ausgabedaten des ersten künstlichen neuronalen Netzwerkmodells NN1 einer Mehrzahl von Schichten Ls entsprechend beinhalten, die jeweils bei voneinander unterschiedlichen Raten bereinigt werden.
  • Die Rechenvorrichtung 20 kann eine optimale Bereinigungsrate OP basierend auf einer ersten Sensitivität, die durch Durchführen einer Bereinigungsoperation auf dem gesamten ersten künstlichen neuronalen Netzwerkmodell NN1 erhalten wird, und einer zweiten Sensitivität, die durch Durchführen einer Bereinigungsoperation auf jeder von der Mehrzahl von Schichten Ls erhalten wird, und der Soll-Bereinigungsrate TP bestimmen (S140). Die Rechenvorrichtung 20 kann z. B. eine optimale Bereinigungsrate OP berechnen, indem sowohl die erste Sensitivität des gesamten ersten künstlichen neuronalen Netzwerkmodells NN1 einer Bereinigungsrate entsprechend als auch die zweite Sensitivität einer jeden von der Mehrzahl von Schichten Ls einer Bereinigungsrate entsprechend in Betracht gezogen werden.
  • Die Rechenvorrichtung 20 kann ein künstliches neuronales Netzwerkmodell bereinigen (S150). Die Rechenvorrichtung 20 kann z. B. ein künstliches neuronales Netzwerkmodell durch Bereinigen von einer Mehrzahl von Schichten Ls bei voneinander verschiedenen optimalen Bereinigungsraten OP bereinigen. Das zweite künstliche neuronale Netzwerkmodell NN2, das durch Bereinigen aktualisiert wird, kann für Eingabedaten besser optimiert sein als das erste künstliche neuronale Netzwerkmodell NN1, das einen Zustand vor der Bereinigung aufweist.
  • 11 ist ein Flussdiagramm eines Verfahrens zum Erhalten von ersten Sensitivitätsdaten gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens. Die vorliegende Ausführungsform wird basierend auf den Bezugszeichen der vorstehend beschriebenen Zeichnung erläutert.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann die Rechenvorrichtung 20 ein erstes künstliches neuronales Netzwerkmodell NN1 empfangen (S210).
  • Die Rechenvorrichtung 20 kann das erste künstliche neuronale Netzwerkmodell NN1 durch Verwendung einer Mehrzahl von Bereinigungsratenwerten bereinigen (S220). Der Sensitivitätsanalysator 110 kann z. B. eine Bereinigungsrate in Einheitsintervalle aufteilen, Sensitivitätswerte durch Analysieren einer Variation von Ausgabedaten von einem jeweiligen Einheitsintervall erhalten und Sensitivitätswerte interpolieren.
  • Die Rechenvorrichtung 20 kann erste Sensitivitätsdaten SD gemäß einer Bereinigungsrate des ersten künstlichen neuronalen Netzwerkmodells NN1 ausgeben (S230). Der Sensitivitätsanalysator 110 kann empfangene Eingabedaten DIN auf das erste künstliche neuronale Netzwerkmodell NN1 anwenden. Der Sensitivitätsanalysator 110 kann eine Variation der Ausgabedaten analysieren, während eine Bereinigungsrate 0 bis 1 Einheitsintervalle erhöht wird. Je größer die Variation, desto geringer kann die Genauigkeit und desto höher kann die Sensitivität sein. Der Sensitivitätsanalysator 110 kann die Sensitivität basierend auf der Variation der Ausgabedaten digitalisieren. Wenn z. B. eine Bereinigungsrate 0,5 ist, können sich die Daten, die durch das erste künstliche neuronale Netzwerkmodell NN1 ausgegeben werden, von den ausgegebenen Daten bei einer Bereinigungsrate von 0 um einen bestimmten Wert unterscheiden. Der Sensitivitätsanalysator 110 kann die Differenz und die ausgegebenen ersten Sensitivitätsdaten SD einschließlich der Sensitivitätswerte von 0 bis 1 digitalisieren
  • 12 ist ein Flussdiagramm eines Verfahrens zum Erhalten von zweiten Sensitivitätsdaten gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens. Die vorliegende Ausführungsform wird basierend auf den Bezugszeichen der vorstehend beschriebenen Zeichnung erläutert.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann die Rechenvorrichtung 20 ein erstes künstliches neuronales Netzwerkmodell NN1 empfangen (S310).
  • Die Rechenvorrichtung 20 kann das erste künstliche neuronale Netzwerkmodell NN1 in eine Mehrzahl von Schichten Ls aufteilen (S320). Der Modellanalysator 210 kann z. B. eine Mehrzahl von Schichten Ls, die in dem ersten künstlichen neuronalen Netzwerkmodell NN1 enthalten sind, durch Verwendung hinreichend bekannter Verfahren analysieren. In einigen Ausführungsformen kann der Modellanalysator 210 jede von der analysierten Mehrzahl von Schichten Ls an die Trainingslogik 100 übertragen. In anderen Ausführungsformen kann die Trainingslogik 100 nur Informationen über die Mehrzahl von Schichten Ls ohne Aufteilung des ersten künstlichen neuronalen Netzwerkmodells NN1 übertragen.
  • Die Rechenvorrichtung 20 kann die Sensitivität durch Anwenden einer Mehrzahl von Bereinigungsraten auf eine i. Schicht bestimmen (S330). Die Operation S330 kann z. B. wiederholt auf allen N Schichten durchgeführt werden, die in dem ersten künstlichen neuronalen Netzwerkmodell NN1 enthalten sind, oder auf zumindest einigen Schichten in einem anderen Beispiel. Der Sensitivitätsanalysator 110 kann z. B. eine Bereinigungsrate in Einheitsintervalle aufteilen. Der Sensitivitätsanalysator 110 kann die Bereinigungsraten, die in Einheitsintervalle aufgeteilt wurden, jeweils auf die Schichten anwenden. Anschließend kann der Sensitivitätsanalysator 110 die empfangenen Eingabedaten DIN auf das erste künstliche neuronale Netzwerkmodell NN1 anwenden. Der Sensitivitätsanalysator 110 kann eine Variation der Ausgabedaten gemäß den Bereinigungsraten, die jeweils den Schichten zugeordnet sind, analysieren, während eine Bereinigungsrate von 0 auf 1 zunimmt. Je größer die Variation ist, desto geringer kann die Genauigkeit und desto höher kann die Sensitivität sein. Der Sensitivitätsanalysator 110 kann Sensitivitätswerte basierend auf der Variation der Ausgabedaten erhalten.
  • Die Rechenvorrichtung 20 kann zweite Sensitivitätsdaten SD2 gemäß den jeweiligen Bereinigungsraten von der Mehrzahl von Schichten Ls basierend auf den erhaltenen Sensitivitätswerten ausgeben (S340). Wenn die erste Schicht LA1 z. B. unter Verwendung von einer Mehrzahl von Bereinigungsraten bereinigt wird, kann ein künstliches neuronales Netzwerkmodel, in dem die erste Schicht LA1 bereinigt wird, Daten ausgeben und Sensitivitätswerte gemäß den Ausgabedaten beinhalten. Gleiches gilt für die zweite Schicht LA2.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann eine Bereinigung einer Schicht verhindert werden, die zwar einen geringen Gewichtungswert, aber einen großen Einfluss auf die Leistung eines künstlichen neuronalen Netzwerks hat, wodurch die Genauigkeit des künstlichen neuronalen Netzwerks verbessert wird.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann die Genauigkeit oder Sensitivität eines gesamten künstlichen neuronalen Netzwerks zunächst analysiert werden und dann unter Verwendung eines Nachtrainierverfahrens die Bereinigung darauf durchgeführt werden, wobei somit ein künstliches neuronales Netzwerk unter Verwendung einer geringeren Datenmenge als ein Umtrainierverfahren des Stands der Technik rasch trainiert werden kann.
  • 13 ist eine Ansicht zur Erläuterung eines Speichersystems gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens. Die vorliegende Ausführungsform wird basierend auf den Bezugszeichen der vorstehend beschriebenen Zeichnung erläutert.
  • Bezugnehmend auf 13 kann ein elektronisches System eine CPU 11, eine neuronale Netzwerkvorrichtung 13, ein Speichersystem 17 und einen Bus 16 beinhalten, die eine Kommunikation in dem elektronischen System durchführt.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann ein Wert einer Gewichtung W, die in der Mehrzahl von Schichten Ls enthalten ist, nicht einheitlich sein, wenn eine Bereinigungsrate PR von einer jeweiligen von der Mehrzahl von Schichten Ls in eine optimale Bereinigungsrate OP verwandelt wird. Dementsprechend kann das elektronische System 30 die Gewichtung W aktualisieren (oder anpassen). In einigen Ausführungsformen kann die Trainingslogik 100 die Gewichtung G von einer jeweiligen von der Mehrzahl von Schichten Ls basierend auf der in dem ersten künstlichen neuronalen Netzwerkmodell NN1 enthaltenen Gesamtgewichtung normalisieren. Eine Normalisierung kann z. B. durch Setzen einer Anzahl von Gewichtungen des gesamten ersten künstlichen neuronalen Netzwerkmodells NN1 auf 1 durchgeführt werden. In einigen Ausführungsformen kann die Trainingslogik 100 die Gewichtung W von einer jeweiligen von der Mehrzahl von Schichten Ls anpassen und die angepasste Gewichtung W von einer jeweiligen von der Mehrzahl von Schichten Ls in dem Speichersystem 17 speichern. Wenn die neuronale Netzwerkvorrichtung 13 die Gewichtung W entsprechend einer Variation der Bereinigungsrate PR kontinuierlich anpasst, kann die Gewichtung W einer jeweiligen von der Mehrzahl von Schichten Ls über das Speichersystem 17 wiederholt gelesen und geschrieben werden, wobei die Verarbeitungsgeschwindigkeit dementsprechend verringert werden kann.
  • Zumindest ein Teil der Verarbeitung der neuronalen Netzwerkvorrichtung 13 kann durch Verwendung des Speichersystems 17 durchgeführt werden. Wenn die neuronale Netzwerkvorrichtung 13 beispielsweise eine Bereinigungsrate PR ausgibt, kann das Speichersystem 17 die Gewichtung W basierend auf der empfangenen Bereinigungsrate PR aktualisieren und die aktualisierte Gewichtung (z. B. die aktualisierte Gewichtung W' von 16) an die neuronales Netzwerkvorrichtung 13 ausgeben. Als ein weiteres Beispiel kann das Speichersystem 17, wenn die neuronale Netzwerkvorrichtung 13 eine aktualisierte Gewichtung (z. B. eine aktualisierte Gewichtung W' von 16) ausgibt, die Bereinigungsrate PR so aktualisieren, dass sie der aktualisierten Gewichtung entspricht. Das Speichersystem 17 kann z. B. eine Gewichtung W, eine Bereinigungsrate PR und/oder eine Sensitivität basierend auf einem Wert aktualisieren, der von der neuronalen Netzwerkvorrichtung 13 empfangen wird.
  • Das Speichersystem 17 kann einen Host-Prozessor 171, eine Mehrzahl von Logikschichten 172 und eine Mehrzahl von Speicherstapeln 173 beinhalten. In einigen Ausführungsformen kann eine jeweilige der Logikschichten 172 einen Speicher-Controller und/oder eine andere Logik implementieren, die mit dem Hostprozessor 171 und der Mehrzahl der Speicherstapel 173 interagiert. In einigen Ausführungsformen kann jeder von der Mehrzahl von Speicherstapeln 173 eine Mehrzahl von Speichervorrichtungen (z. B. einen DRAM-Speicher) beinhalten. Jede Logikschicht 172 kann mit dem entsprechenden Speicherstapel 173 elektrisch verbunden sein.
  • Der Host-Prozessor 171 kann eine Gewichtung W, die in einer Mehrzahl von Schichten Ls enthalten ist, von der neuronalen Netzwerkvorrichtung 13 über den Bus 16 empfangen. Darüber hinaus kann der Host-Prozessor 171 von der CPU 11 eine Adresse ADDR empfangen, die zum Speichern notwendiger Werte für eine Operation eines künstlichen neuronalen Netzwerks oder zum Trainieren eines künstlichen neuronalen Netzwerks verwendet wird. Die Adresse ADDR kann z. B. Information über eine Adresse des Speicherstapels 173 entsprechend einer bestimmten Gewichtung enthalten.
  • Gemäß einer Ausführungsform kann der Host-Prozessor 171 eine Bereinigungsrate und eine Sensitivität basierend auf der empfangenen Gewichtung W berechnen. Der Host-Prozessor 171 kann die berechnete Bereinigungsrate PR und Sensitivität in dem Speicherstapel 173 entsprechend der Adresse ADDR speichern.
  • Gemäß einer weiteren Ausführungsform kann der Host-Prozessor 171 die Gewichtung W und die Adresse ADDR empfangen, die in einer Mehrzahl von Schichten Ls enthalten sind. Der Host-Prozessor 171 kann die Gewichtung W, die einer jeweiligen Adresse ADDR zugeordnet ist, an die Logikschicht 172, die den Speicherstapel 173 enthält, entsprechend der Adresse ADDR ausgeben. Die Logikschicht 172 kann eine Bereinigungsrate PR und Sensitivität basierend auf der empfangenen Gewichtung W berechnen. Die Logikschicht 172 kann die berechnete Bereinigungsrate PR und Sensitivität in dem Speicherstapel 173 entsprechend der Adresse ADDR speichern.
  • Wenn eine Leseanforderung von der CPU 11 empfangen wird, kann das Speichersystem 17 Informationen über eine Bereinigungsrate PR, Sensitivität und eine Gewichtung W, die im Speicherstapel 173 gespeichert sind, entsprechend der Leseanforderung ausgeben.
  • 14 ist ein Blockdiagramm einer Logikschicht gemäß einer Ausführungsform des Erfindungsgedankens. Die vorliegende Ausführungsform wird basierend auf den Bezugszeichen der vorstehend beschriebenen Zeichnung erläutert.
  • Bezugnehmend auf 14 kann die Logikschicht 172 einen Bereinigungsraten-Kalkulator 174, einen Sensitivitäts-Kalkulator 175 und einen Interpolations-Kalkulator 176 beinhalten. Die Logikschicht 172 kann ähnliche Operationen wie die der vorstehend beschriebenen Trainingslogik 100 durchführen. Der Bereinigungsraten-Kalkulator 174 kann z. B. eine Operation ähnlich der des Bereinigungs-Controllers 120 durchführen, der unter Bezugnahme auf 4 beschrieben ist. Der Bereinigungsraten-Kalkulator 174 kann z. B. eine optimale Bereinigungsrate OP basierend auf den empfangenen ersten und zweiten Sensitivitätsdaten SD1 und SD2 berechnen. Der Sensitivitätskalkulator 175 kann die ersten und die zweiten Sensitivitätsdaten SD1 und SD2 basierend auf dem ersten künstlichen neuronalen Netzwerkmodell NN1 und einer Mehrzahl von Schichten Ls berechnen. Darüber hinaus kann der Sensitivitäts-Kalkulator 175 zudem eine Soll-Sensitivität TS basierend auf einer Soll-Bereinigungsrate TP berechnen. Der Interpolationskalkulator 176 kann eine Mehrzahl von Sensitivitätswerten interpolieren, um die ersten Sensitivitätsdaten SD1 und die zweiten Sensitivitätsdaten SD2 zu erzeugen. Darüber hinaus kann der Interpolationskalkulator 176 eine Mehrzahl von Bereinigungsraten interpolieren, um Bereinigungsraten PD zu erzeugen.
  • Gemäß einer Ausführungsform kann der Host-Prozessor 171 den Bereinigungsratenkalkulator 174, den Sensitivitätskalkulator 175 und den Interpolationskalkulator 176 beinhalten. Der Host-Prozessor 171 kann z. B. die Berechnung einer Bereinigungsrate, die Berechnung einer Sensitivität und eine Interpolationsoperation durchführen, die vorstehend auf die gleiche Weise beschrieben ist.
  • 15 ist ein Blockdiagramm eines Speichersystems zur Berechnung einer Bereinigungsrate, indem eine ursprüngliche Gewichtung gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens empfangen wird.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann die neuronale Netzwerkvorrichtung 13 eine Gewichtung W ausgeben. In einigen Ausführungsformen kann die ursprüngliche Gewichtung W an eine erste Logikschicht 173 ausgegeben werden. Die Gewichtung W kann beispielsweise in einer Matrix implementiert sein und Matrixwerte W11, W12, W21 und W22 beinhalten, wobei die Matrixwerte jeweils Gewichtungswerten entsprechen können. Die CPU 11 kann eine Adresse ADDR ausgeben. In einigen Ausführungsformen kann die Adresse ADDR eine Nachschlagtabelle (LUT) sein, die eine Mehrzahl von Adressen ADDRs beinhaltet. Die Adresse ADDR kann beispielsweise eine erste Adresse (z. B. Gruppe 0 Addr) entsprechend einem ersten Gewichtungswert W11 und eine zweite Adresse (z. B. Group 1 Addr) entsprechend einem zweiten Gewichtungswert W12 beinhalten. Darüber hinaus kann die Adresse ADDR eine dritte Adresse (z. B. Group 2 Addr) und eine vierte Adresse (z. B. Group 3 Addr) beinhalten. Die Gewichtung W, die durch die neuronale Netzwerkvorrichtung 13 ausgegeben wird, und die Adresse ADDR, die durch die CPU 11 ausgegeben wird, kann durch den Host-Prozessor 171 des Speichersystems 17 empfangen werden.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann der Host-Prozessor 171 einen jeweiligen Speicherstapel 173 einer Mehrzahl von Gruppen zuordnen. Ein erster Speicherstapel 173_1 kann z. B. einer ersten Gruppe zugeordnet werden, und ein zweiter Speicherstapel 173 2 kann einer zweiten Gruppe zugeordnet werden. Darüber hinaus kann der Host-Prozessor 171 zumindest einen Wert einer Adresse ADDR einer Gruppe zuordnen. Die erste Adresse (z. B. Group 0 Addr) kann z. B. der ersten Gruppe zugeordnet werden, und die zweite Adresse (z. B. Group 1 Addr) kann der zweiten Gruppe zugeordnet werden.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann der Host-Prozessor 171 eine Bereinigungsrate basierend auf der empfangenen Gewichtung W berechnen. Eine erste Bereinigungsrate PR1 kann z. B. basierend auf dem ersten Gewichtungswert W11 berechnet werden, und eine zweite Bereinigungsrate PR2 kann basierend auf dem zweiten Gewichtungswert W12 berechnet werden. Der Host-Prozessor 171 kann einen Gewichtungswert und einen Bereinigungsratenwert entsprechend dem Gewichtungswert in dem Speicherstapel 173 speichern. Eine erste Bereinigungsrate PR1 kann z. B. basierend auf dem ersten Gewichtungswert W11 der ersten Gruppe berechnet werden, und der erste Gewichtungswert W11 und die erste Bereinigungsrate PR1 können in dem Speicherstapel 173_1 der ersten Gruppe gespeichert werden. Als ein weiteres Beispiel kann eine zweite Bereinigungsrate PR2 basierend auf dem zweiten Gewichtungswert W12 der zweiten Gruppe berechnet werden, und der zweite Gewichtungswert W12 und die zweite Bereinigungsrate PR2 können in dem Speicherstapel 173 2 der zweiten Gruppe gespeichert werden.
  • 16 ist ein Blockdiagramm eines Speichersystems zur Berechnung einer Bereinigungsrate durch Empfangen einer korrigierten Gewichtung gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens. Die vorliegende Ausführungsform wird basierend auf den Bezugszeichen der vorstehend beschriebenen Zeichnung erläutert.
  • Bezugnehmend auf 16 kann die neuronale Netzwerkvorrichtung 13 eine korrigierte Gewichtung W' ausgeben. Die neuronale Netzwerkvorrichtung 13 kann z. b. ein Training auf einem künstlichen neuronalen Netzwerkmodell durchführen, um eine ursprüngliche Gewichtung W zu korrigieren und um eine korrigierte Gewichtung W' auszugeben.
  • Der Host-Prozessor 171 kann eine Bereinigungsrate basierend auf der korrigierten Gewichtung W' berechnen. Der Host-Prozessor 171 kann z. B. Bereinigungsraten PR1' und PR2' ausgeben, die sich jeweils von den Bereinigungsraten PR1 und PR2 unterscheiden, die basierend auf der ursprünglichen Gewichtung W ausgegeben werden. Der Host-Prozessor 171 kann einen korrigierten Gewichtungswert und einen Bereinigungsratenwert entsprechend dem korrigierten Gewichtungswert in dem Speicherstapel 173 speichem. Eine erste Bereinigungsrate PR1' kann z. B. basierend auf dem ersten Gewichtungswert W11' der ersten Gruppe berechnet werden, und der erste Gewichtungswert W11' und die erste Bereinigungsrate PR1' können in dem Speicherstapel 173_1 der ersten Gruppe gespeichert werden. Als ein weiteres Beispiel kann eine zweite Bereinigungsrate PR2' basierend auf dem zweiten Gewichtungswert W12' der zweiten Gruppe berechnet werden, und der zweite Gewichtungswert W12' und die zweite Bereinigungsrate PR2' können in dem Speicherstapel 173 2 der zweiten Gruppe gespeichert werden.
  • 17 ist ein Blockdiagramm eines Speichersystems, das einen Gruppen-ID-Manager gemäß einer beispielhaften Ausführungsform des Erfindungsgedankens beinhaltet. Die vorliegende Ausführungsform wird basierend auf Bezugszeichen der vorstehend beschriebenen Zeichnung erläutert.
  • Bezugnehmend auf 17 kann die Logikschicht 172 ferner einen Gruppen-ID-Manager 177 beinhalten, wobei jeder Speicherstapel 173 einer Gruppen-ID zugeordnet sein kann.
  • Gemäß einer Ausführungsform des Erfindungsgedankens kann der Gruppen-ID-Manager 177 eine von der CPU 11 empfangene Adresse ADDR analysieren und kann eine Bereinigungsrate, Sensitivität und eine Gewichtung in dem Gruppen_ ID_Manager entsprechenden Speicherstapel 173 speichern. Der Gruppen-ID-Manager 177 kann die Adresse ADDR analysieren, um Adresswerte entsprechend der von der neuronalen Netzwerkvorrichtung 13 empfangenen Gewichtung W zu erhalten. Der Gruppen-ID-Manager 177 kann einen Adresswert entsprechend einer bestimmten Gruppen-ID identifizieren, die von dem Host-Prozessor 171 empfangen wird. Eine Gruppen-ID kann z. B. einen Mehrzahl von Adresswerten beinhalten. Der Gruppen-ID-Manager 177 kann Adresswerte, die Gruppen-IDs des Speicherstapels 173 entsprechen, der dem Gruppen-ID-Manager 177 entspricht, identifizieren, wobei bestimmte Gewichtswerte in dem Speicherstapel 173 gespeichert werden können. Der Gruppen-ID-Manager 177 kann hingegen eine Bereinigungsrate und Sensitivität entsprechend den bestimmten Gewichtungswerten in dem Speicherstapel 173 speichern.
  • Wenngleich der Erfindungsgedanke im Besonderen unter Bezugnahme auf Ausführungsformen desselben gezeigt und beschrieben worden ist, wird darauf hingewiesen, dass daran verschiedene Veränderungen in Form und Detail vorgenommen werden können, ohne vom Schutzbereich der angehängten Ansprüche abzuweichen.
  • 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
    • KR 1020190053888 [0001]

Claims (22)

  1. Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells, wobei die Rechenvorrichtung folgende Merkmale aufweist: einen Modellanalysator, der konfiguriert ist, um ein erstes künstliches neuronales Netzwerkmodell zu empfangen und um das erste künstliche neuronale Netzwerkmodell in eine Mehrzahl von Schichten aufzuteilen; eine Trainingslogik, die konfiguriert ist, um erste Sensitivitätsdaten zu berechnen, die mit einer Bereinigung des ersten künstlichen neuronalen Netzwerkmodells variieren, um eine Soll-Sensitivität entsprechend einer Soll-Bereinigungsrate basierend auf den ersten Sensitivitätsdaten zu berechnen, um zweite Sensitivitätsdaten zu berechnen, die mit der Bereinigung von jeder von der Mehrzahl von Schichten des ersten künstlichen neuronalen Netzwerkmodells variieren, und um, basierend auf den zweiten Sensitivitätsdaten, eine optimale Bereinigungsrate von jedem von der Mehrzahl von Schichten auszugeben, wobei die optimale Bereinigungsrate der Soll-Bereinigungsrate entspricht; und einen Modellaktualisierer, der konfiguriert ist, um das erste künstliche neuronale Netzwerkmodell basierend auf der optimalen Bereinigungsrate zu bereinigen, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten und um das zweite künstliche neuronale Netzwerkmodell auszugeben.
  2. Rechenvorrichtung nach Anspruch 1, wobei die Mehrzahl von Schichten eine erste Schicht mit einer ersten Sensitivität und eine zweite Schicht mit einer zweiten Sensitivität aufweist, wobei die zweite Sensitivität niedriger ist als die erste Sensitivität, wobei die optimale Bereinigungsrate eine erste optimale Bereinigungsrate der ersten Schicht und eine zweite optimale Bereinigungsrate der zweiten Schicht aufweist, und wobei die zweite optimale Bereinigungsrate höher ist als die erste optimale Bereinigungsrate.
  3. Rechenvorrichtung nach Anspruch 1, wobei die Trainingslogik ferner konfiguriert ist, um eine Mehrzahl von Bereinigungsratewerten auf das erste künstliche neuronale Netzwerkmodell und auf die Mehrzahl von Schichten anzuwenden, um eine Mehrzahl von Sensitivitätswerten zu erhalten und um die Mehrzahl von Sensitivitätswerten zu interpolieren, um die ersten Sensitivitätsdaten und die zweiten Sensitivitätsdaten zu berechnen.
  4. Rechenvorrichtung nach Anspruch 1, wobei die Trainingslogik ferner konfiguriert ist, um Bereinigungsratedaten zu erhalten, die in einer inversen funktionalen Beziehung mit den zweiten Sensitivitätsdaten sind, um die optimale Bereinigungsrate von der Bereinigungsrate basierend auf der Soll-Sensitivität zu berechnen und um die optimale Bereinigungsrate auszugeben.
  5. Rechenvorrichtung nach Anspruch 1, wobei die Trainingslogik ferner konfiguriert ist, um eine Gewichtung einer jeden von der Mehrzahl der Schichten gemäß der Ausgabe der optimalen Bereinigungsrate anzupassen.
  6. Rechenvorrichtung nach Anspruch 5, wobei die Trainingslogik ferner konfiguriert ist, um die Gewichtung von jeder von der Mehrzahl von Schichten basierend auf der Gesamtgewichtung zu normalisieren, die in dem ersten künstlichen neuronalen Netzwerkmodell enthalten ist.
  7. Rechenvorrichtung nach Anspruch 5, wobei die Vorrichtung ferner folgende Merkmale aufweist: einen Speicher, der einen Prozessor aufweist, wobei der Prozessor konfiguriert ist, um die Gewichtung so anzupassen, dass eine angepasste Gewichtung bereitgestellt und die angepasste Gewichtung in dem Speicher gespeichert wird.
  8. Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells, wobei die Rechenvorrichtung folgende Merkmale aufweist: einen Modellanalysator, der konfiguriert ist, um ein erstes künstliches neuronales Netzwerkmodell zu empfangen und um das erste künstliche neuronale Netzwerkmodell in eine Mehrzahl von Schichten aufzuteilen; eine Trainingslogik, die konfiguriert ist, um eine Soll-Bereinigungsrate zu empfangen, um eine Soll-Sensitivität des ersten künstlichen neuronalen Netzwerkmodells zu berechnen, wobei die Soll-Sensitivität der Soll-Bereinigungsrate entspricht, und um optimale Bereinigungsrate von jeder von der Mehrzahl von Schichten auszugeben, wobei die optimale Bereinigungsrate der Soll-Bereinigungsrate entspricht; und einen Modellaktualisierer, der konfiguriert ist, um das erste künstliche neuronale Netzwerkmodell basierend auf der optimalen Bereinigungsrate zu bereinigen, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten und um das zweite künstliche neuronale Netzwerkmodell auszugeben.
  9. Rechenvorrichtung nach Anspruch 8, wobei die Trainingslogik ferner folgende Merkmale aufweist: einen Sensitivitätsanalysator, der das erste künstliche neuronale Netzwerkmodell analysiert, um erste Sensitivitätsdaten, die entsprechend einer Bereinigungsrate variieren, auszugeben, und der jede von der Mehrzahl von Schichten analysiert, um zweite Sensitivitätsdaten, die entsprechend der Bereinigungsrate variieren, auszugeben.
  10. Rechenvorrichtung nach Anspruch 9, wobei die Trainingslogik ferner konfiguriert ist, um die optimale Bereinigungsrate basierend auf der Soll-Bereinigungsrate, den ersten Sensitivitätsdaten und den zweiten Sensitivitätsdaten auszugeben, und die optimale Bereinigungsrate jeder von der Mehrzahl von Schichten zugeordnet ist.
  11. Rechenvorrichtung nach Anspruch 9, wobei der Sensitivitätsanalysator ferner konfiguriert ist, um eine Mehrzahl von Bereinigungsraten auf das erste künstliche neuronale Netzwerkmodell und jede von der Mehrzahl von Schichten anzuwenden, um eine Mehrzahl von Sensitivitätswerten zu erhalten und um die Mehrzahl von Sensitivitätswerten zu interpolieren, um die ersten Sensitivitätsdaten und die zweiten Sensitivitätsdaten zu berechnen.
  12. Rechenvorrichtung nach Anspruch 9, die ferner folgende Merkmale aufweist: einen Bereinigungs-Controller, wobei der Bereinigungs-Controller folgende Merkmale aufweist: einen Soll-Sensitivitätskalkulator, der konfiguriert ist, um die Soll-Sensitivität basierend auf den ersten Sensitivitätsdaten und der Soll-Bereinigungsrate auszugeben; und einen optimalen Bereinigungsrate-Kalkulator, der konfiguriert ist, um die optimale Bereinigungsrate basierend auf den zweiten Sensitivitätsdaten und der Soll-Sensitivität auszugeben.
  13. Rechenvorrichtung nach Anspruch 12, wobei der optimale Bereinigungsrate-Kalkulator ferner konfiguriert ist, um Bereinigungsratedaten zu erhalten, die in einer inversen Funktionsbeziehung mit den zweiten Sensitivitätsdaten sind, und wobei die Bereinigungsratedaten eine Bereinigungsrate gemäß einer Variation der Sensitivitätsdaten von jeder von der Mehrzahl von Schichten aufweisen, und wobei der optimale Bereinigungsrate-Kalkulator ferner konfiguriert ist, um die Soll-Sensitivität auf die Bereinigungsratedaten anzuwenden und die optimale Bereinigungsrate von jeder von der Mehrzahl von Schichten auszugeben.
  14. Rechenvorrichtung nach Anspruch 8, wobei die Mehrzahl von Schichten eine erste Schicht und eine zweite Schicht mit einer niedrigeren Sensitivität als die erste Schicht aufweist, wobei die optimale Bereinigungsrate eine erste optimale Bereinigungsrate der ersten Schicht und eine zweite optimale Bereinigungsrate der zweiten Schicht aufweist, und wobei die zweite optimale Bereinigungsrate höher ist als die erste optimale Bereinigungsrate.
  15. Rechenvorrichtung nach Anspruch 14, wobei die Vorrichtung ferner folgende Merkmale aufweist: einen Speicher, wobei der Modellanalysator eine erste Gewichtung von jeder von der Mehrzahl von Schichten ausgibt, und wobei die Trainingslogik ferner konfiguriert ist, um eine zweite Gewichtung zu berechnen, die durch Aktualisierung der ersten Gewichtung basierend auf der optimalen Bereinigungsrate erhalten wird, und um die zweite Gewichtung und die optimale Bereinigungsrate entsprechend der zweiten Gewichtung im Speicher zu speichem.
  16. Rechenvorrichtung nach Anspruch 8, wobei die Trainingslogik ferner konfiguriert ist, um eine Gewichtung von jeder von der Mehrzahl von Schichten gemäß der Ausgabe der optimalen Bereinigungsrate anzupassen.
  17. Verfahren zum Trainieren eines künstlichen neuronalen Netzwerkmodells, wobei das Verfahren folgende Schritte beinhaltet: Empfangen einer Soll-Bereinigungsrate; Bereinigen eines ersten künstlichen neuronalen Netzwerkmodells; Berechnen von ersten Sensitivitätsdaten, die entsprechend einer Bereinigungsrate des ersten künstlichen neuronalen Netzwerkmodells mit der Bereinigung des ersten künstlichen neuronalen Netzwerkmodells variieren; Berechnen einer Soll-Sensitivität entsprechend der Soll-Bereinigungsrate anhand der ersten Sensitivitätsdaten; Aufteilen des ersten neuronalen Netzwerkmodells in eine Mehrzahl von Schichten; Berechnen von zweiten Sensitivitätsdaten, die mit der Bereinigung von jeder von der Mehrzahl von Schichten variieren; Berechnen einer optimalen Bereinigungsrate von jeder von der Mehrzahl von Schichten entsprechend der Soll-Sensitivität basierend auf den zweiten Sensitivitätsdaten; Bereinigen des ersten künstlichen neuronalen Netzwerkmodells basierend auf der optimalen Bereinigungsrate, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten; und Ausgeben des zweiten künstlichen neuronalen Netzwerkmodells.
  18. Verfahren nach Anspruch 17, wobei die Mehrzahl von Schichten eine erste Schicht mit einer ersten Sensitivität und eine zweite Schicht mit einer zweiten Sensitivität aufweist, wobei die zweite Sensitivität niedriger als die erste Sensitivität ist, wobei die optimale Bereinigungsrate eine erste optimale Bereinigungsrate der ersten Schicht und eine zweite optimale Bereinigungsrate der zweiten Schicht aufweist, und wobei die zweite optimale Bereinigungsrate höher ist als die erste optimale Bereinigungsrate.
  19. Verfahren nach Anspruch 18, wobei der Schritt des Berechnens der ersten Sensitivitätsdaten, die entsprechend der Bereinigungsrate des ersten künstlichen neuronalen Netzwerkmodells variieren, ferner folgende Schritte beinhaltet: Aufteilen der Bereinigungsrate in Einheitsintervalle; Analysieren einer Variation von Daten, die von dem ersten künstlichen neuronalen Netzwerkmodell in jedem der Einheitsintervalle ausgegeben werden, Erhalten von Sensitivitätswerten; Interpolieren der Sensitivitätswerte; und Berechnen der ersten Sensitivitätsdaten basierend auf den Sensitivitätswerten, die interpoliert worden sind.
  20. Verfahren nach Anspruch 18, wobei der Schritt des Berechnens der zweiten Sensitivitätsdaten, die entsprechend der Bereinigungsrate von jeder von der Mehrzahl von Schichten variieren, ferner folgende Schritte aufweist: Eingeben von Daten in das erste künstliche neuronale Netzwerkmodell; Anwenden von Bereinigungsraten, die in Einheitsintervalle aufgeteilt worden sind, jeweils auf die Mehrzahl von Schichten; Analysieren einer Variation von Daten, die von dem ersten künstlichen neuronalen Netzwerkmodell ausgegeben werden; Erhalten von Sensitivitätswerten; Interpolieren der Sensitivitätswerte; und Berechnen der zweiten Sensitivitätsdaten basierend auf den Sensitivitätswerten, die interpoliert sind.
  21. Speichersystem zum Verarbeiten eines künstlichen neuronalen Netzwerkmodells, das eine Mehrzahl von Schichten beinhaltet, wobei das Speichersystem folgende Merkmale aufweist: einen Host-Prozessor; und eine Mehrzahl von Logikschichten, die konfiguriert sind, um mit dem Host-Prozessor zu kommunizieren, wobei jede von der Mehrzahl von Logikschichten mit einem Speicherstapel elektrisch verbunden ist, und wobei der Host-Prozessor konfiguriert ist, um ein ursprüngliche Gewichtung von jeder von der Mehrzahl von Schichten zu empfangen, um Speicheradressen zu empfangen, um die ursprüngliche Gewichtung an eine erste logische Schicht auszugeben, in der ein erster Speicherstapel, der zumindest einigen der Speicheradressen entspricht, enthalten ist, und um eine Bereinigungsrate entsprechend der ursprünglichen Gewichtung, die an die erste logische Schicht ausgegeben wurde, auszugeben, und wobei die erste logische Schicht konfiguriert ist, um eine Sensitivität basierend auf der ursprünglichen Gewichtung und/oder der Bereinigungsrate zu berechnen, und um die ursprüngliche Gewichtung, die Bereinigungsrate und/oder die Sensitivität in dem ersten Speicherstapel zu speichern.
  22. Nichttransitorisches computerlesbares Aufzeichnungsmedium, auf dem ein Programm zum Bereinigen eines künstlichen neuronalen Netzwerkmodells aufgezeichnet ist, das eine Mehrzahl von Schichten beinhaltet, wobei das Programm folgende Schritte beinhaltet: Empfangen einer Soll-Bereinigungsrate; Bereinigen eines ersten künstlichen neuronalen Netzwerkmodells; Berechnen von ersten Sensitivitätsdaten, die entsprechend einer Bereinigungsrate des ersten künstlichen neuronalen Netzwerkmodells variieren; Berechnen, anhand der ersten Sensitivitätsdaten, einer Soll-Sensitivität entsprechend der Soll-Bereinigungsrate; Aufteilen des ersten künstlichen neuronalen Netzwerkmodells in eine Mehrzahl von Schichten; Berechnen von zweiten Sensitivitätsdaten, die entsprechend einer Bereinigungsrate einer jeden von der Mehrzahl von Schichten variieren; Berechnen einer optimalen Bereinigungsrate einer jeden von der Mehrzahl von Schichten entsprechend der Soll-Sensitivität basierend auf den zweiten Sensitivitätsdaten; Bereinigen des ersten künstlichen neuronalen Netzwerkmodells basierend auf einer optimalen Bereinigungsrate, um ein zweites künstliches neuronales Netzwerkmodell zu erhalten; und Ausgeben des zweiten künstlichen neuronalen Netzwerkmodells.
DE102020101275.6A 2019-05-08 2020-01-21 Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells, Verfahren zum Trainieren des künstlichen neuronalen Netzwerkmodells und Speichersystem zum Speichern desselben Pending DE102020101275A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0053888 2019-05-08
KR1020190053888A KR20200129458A (ko) 2019-05-08 2019-05-08 인공 신경망 모델을 트레이닝하는 컴퓨팅 장치, 인공 신경망 모델을 트레이닝하는 방법 및 이를 저장하는 메모리 시스템

Publications (1)

Publication Number Publication Date
DE102020101275A1 true DE102020101275A1 (de) 2020-11-12

Family

ID=72943809

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020101275.6A Pending DE102020101275A1 (de) 2019-05-08 2020-01-21 Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells, Verfahren zum Trainieren des künstlichen neuronalen Netzwerkmodells und Speichersystem zum Speichern desselben

Country Status (4)

Country Link
US (1) US11556795B2 (de)
KR (1) KR20200129458A (de)
CN (1) CN111914991A (de)
DE (1) DE102020101275A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220222520A1 (en) * 2021-01-13 2022-07-14 International Business Machines Corporation Supervised vae for optimization of value function and generation of desired data
CN113128664A (zh) * 2021-03-16 2021-07-16 广东电力信息科技有限公司 神经网络压缩方法、装置、电子设备及存储介质
CN113361578B (zh) * 2021-05-31 2023-08-04 北京百度网讯科技有限公司 图像处理模型的训练方法、装置、电子设备及存储介质
CN113311715B (zh) * 2021-07-30 2021-12-07 中国人民解放军海军工程大学 一种复杂机电设备的故障辨识与溯源方法
US11853558B2 (en) 2021-12-30 2023-12-26 Micron Technology, Inc. Power down workload estimation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5288645A (en) 1992-09-04 1994-02-22 Mtm Engineering, Inc. Hydrogen evolution analyzer
US7848569B2 (en) 2005-12-14 2010-12-07 Micron Technology, Inc. Method and apparatus providing automatic color balancing for digital imaging systems
US8856055B2 (en) 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
US8831763B1 (en) 2011-10-18 2014-09-09 Google Inc. Intelligent interest point pruning for audio matching
KR102239714B1 (ko) 2014-07-24 2021-04-13 삼성전자주식회사 신경망 학습 방법 및 장치, 데이터 처리 장치
US11423311B2 (en) 2015-06-04 2022-08-23 Samsung Electronics Co., Ltd. Automatic tuning of artificial neural networks
US10984308B2 (en) 2016-08-12 2021-04-20 Xilinx Technology Beijing Limited Compression method for deep neural networks with load balance
US11315018B2 (en) 2016-10-21 2022-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
EP3340129B1 (de) 2016-12-21 2019-01-30 Axis AB Künstliches neuronales netzwerk klassenbasierte ausdünnung
US20190005377A1 (en) 2017-06-30 2019-01-03 Advanced Micro Devices, Inc. Artificial neural network reduction to reduce inference computation time
US20190362235A1 (en) * 2018-05-23 2019-11-28 Xiaofan Xu Hybrid neural network pruning

Also Published As

Publication number Publication date
US11556795B2 (en) 2023-01-17
KR20200129458A (ko) 2020-11-18
CN111914991A (zh) 2020-11-10
US20200356860A1 (en) 2020-11-12

Similar Documents

Publication Publication Date Title
DE102020101275A1 (de) Rechenvorrichtung zum Trainieren eines künstlichen neuronalen Netzwerkmodells, Verfahren zum Trainieren des künstlichen neuronalen Netzwerkmodells und Speichersystem zum Speichern desselben
DE202017105729U1 (de) Kerndurchschreiten in Hardware
DE112018002950B4 (de) System und Verfahren zum Aufbauen von synaptischen Gewichten für künstliche neuronale Netze aus mit Vorzeichen versehenen analogen Leitwertpaaren unterschiedlicher Wertigkeit
DE102018133582A1 (de) Vorrichtung zur Ausführung einer neuronalen Netzoperation und Verfahren zum Betreiben dieser Vorrichtung
DE112018004693T5 (de) Verbessern der effizienz eines neuronalen netzes
DE112022000106T5 (de) Verfahren zur Getriebefehlerdiagnose und Signalerfassung, eine Vorrichtung und ein elektronisches Gerät
DE112018002822T5 (de) Klassifizieren neuronaler netze
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE102019122818A1 (de) Neuronale Netzwerkvorrichtung für eine neuronale Netzwerkoperation, Verfahren zum Betreiben einer neuronalen Netzwerkvorrichtung und Anwendungsprozessor, der die neuronale Netzwerkvorrichtung beinhaltet
DE10035043A1 (de) Mehrdimensionale Indexierungsstruktur zur Verwendung mit linearen Optimierungsanfragen
DE102013213397A1 (de) Verfahren und Vorrichtung zum Bereitstellen von Stützstellendaten für ein datenbasiertes Funktionsmodell
DE102012009502A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes
DE102017218889A1 (de) Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
DE112013000966T5 (de) Vorrichtung, Programm und Verfahren zum Clustern einer Vielzahl von Dokumenten
DE112018000723T5 (de) Aktualisierungsverwaltung für eine RPU-Anordnung
DE112019003326T5 (de) Speichererweiterte neuronale netzwerkarchitekturen eines codierers-decodierers
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE112020001774T5 (de) Datensatzabhängiges niedrigrang-zerlegen von neuronalen netzwerken
DE112018006377T5 (de) Verschmelzen spärlich besetzter kernels zur approximation eines vollen kernels eines neuronalen faltungsnetzes
DE102020120212A1 (de) Netzwerk zur automatischen Programmierspannungsauswahl
DE102018204514A1 (de) Handhaben einer signalsättigung in gepulsten neuronalen netzen
DE112021003881T5 (de) Online-training von neuronalen netzen
DE102021108823A1 (de) System für eine flexible leitwerttraverse
DE102013206291A1 (de) Verfahren und Vorrichtung zum Erstellen eines nicht parametrischen, datenbasierten Funktionsmodells
DE102019113874A1 (de) Hochpräzises niedrigbit-convolutional-neural-network

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication