DE102020123155A1 - Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und Operationsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks - Google Patents

Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und Operationsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks Download PDF

Info

Publication number
DE102020123155A1
DE102020123155A1 DE102020123155.5A DE102020123155A DE102020123155A1 DE 102020123155 A1 DE102020123155 A1 DE 102020123155A1 DE 102020123155 A DE102020123155 A DE 102020123155A DE 102020123155 A1 DE102020123155 A1 DE 102020123155A1
Authority
DE
Germany
Prior art keywords
quantized
sample
bias
quantization
ann
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
DE102020123155.5A
Other languages
English (en)
Inventor
Juhee Park
Kyoungyoung 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
Priority claimed from KR1020200029807A external-priority patent/KR20210035702A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102020123155A1 publication Critical patent/DE102020123155A1/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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

Landscapes

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

Abstract

Computersystem enthält ein neuronales Netzwerksystem, das eingerichtet ist, um ein künstliches neuronales Netzwerk (ANN) anzutreiben; und ein Quantisierungssystem, das eingerichtet ist, um das ANN zu quantisieren, wobei das Quantisierungssystem ferner eingerichtet ist, um Parameter des ANN zu quantisieren, um die quantisierten Parameter des ANN zu erzeugen, um einen Quantisierungsfehler der Parameter des ANN auf der Grundlage der Parameter des ANN und der quantisierten Parameter zu erzeugen, um einen Kompensationsbias auf der Grundlage der quantisierten Parameter und des Quantisierungsfehlers der Parameter des ANN zu erzeugen und um die erzeugten quantisierten Parameter und den Kompensationsbias an das neuronale Netzwerksystem zu übertragen.

Description

  • QUERVERWEISE AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Vorteile der koreanischen Patentanmeldungen Nr. 10-2019-0117485 und 10-2020-0029807 , die am 24. September 2019 und am 10. März 2020 beim koreanischen Amt für geistiges Eigentum eingereicht wurden und deren Offenbarung hiermit durch Verweis hierauf hierin in ihrer Gesamtheit enthalten sind.
  • HINTERGRUND
  • Die erfinderischen Konzepte beziehen sich auf ein Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und ein Operationsverfahren, das unter Verwendung des künstlichen neuronalen Netzwerks durchgeführt wird, und insbesondere auf ein Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und ein Operationsverfahren, das unter Verwendung des künstlichen neuronalen Netzwerks durchgeführt wird, wobei ein Erwartungswert eines in einem Quantisierungsprozess auftretenden Fehlers als ein Kompensationsbias erzeugt wird und der erzeugte Kompensationsbias durch ein quantisiertes künstliches neuronales Netzwerk auf ein Operationsergebnis reflektiert wird.
  • Ein künstliches neuronales Netzwerk kann sich auf eine Computervorrichtung oder ein von einer Computervorrichtung durchgeführtes Verfahren zur Erzeugung miteinander verbundener Sätze künstlicher Neuronen (oder neuronaler Modelle) beziehen. Ein künstliches Neuron kann Ausgabedaten erzeugen, indem es einfache Operationen an Eingabedaten durchführt, und die Ausgabedaten können zu einem anderen künstlichen Neuron übertragen werden. Als Beispiel für ein künstliches neuronales Netzwerk kann ein tiefgehendes neuronales Netzwerk (deep neural network) oder tiefgehendes Lernen (deep learning) eine mehrschichtige Struktur aufweisen.
  • ZUSAMMENFASSUNG
  • Die erfinderischen Konzepte sehen ein Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und ein Operationsverfahren, das das künstliche neuronale Netzwerk verwendet, vor, wobei ein Erwartungswert eines in einem Quantisierungsprozess auftretenden Fehlers als Kompensationsbias erzeugt wird und der erzeugte Kompensationsbias durch ein quantisiertes künstliches neuronales Netzwerk auf ein Operationsergebnis reflektiert wird.
  • Nach einem Aspekt der erfinderischen Konzepte wird ein Computersystem, das ein neuronales Netzwerksystem enthält, vorgesehen, das eingerichtet ist, um ein künstliches neuronales Netzwerk (ANN) zu steuern; ein Quantisierungssystem, das eingerichtet ist, um das ANN zu quantisieren, wobei das Quantisierungssystem ferner eingerichtet ist, um Parameter des ANN zu quantisieren, um die quantisierten Parameter des ANN zu erzeugen, um einen Quantisierungsfehler der Parameter des ANN auf der Grundlage der Parameter des ANN und der quantisierten Parameter zu erzeugen, um einen Kompensationsbias auf der Grundlage der quantisierten Parameter und des Quantisierungsfehlers der Parameter des ANN zu erzeugen und um die erzeugten quantisierten Parameter und den Kompensationsbias an das neuronale Netzwerksystem zu übertragen.
  • Nach einem anderen Aspekt der erfinderischen Konzepte wird ein Operationsverfahren vorgesehen, das ein künstliches neuronales Netzwerk (ANN) verwendet, enthaltend Quantifizieren einer Gewichtung und eines Bias des ANN; Erzeugen eines Kompensationsbias durch Kompensation des quantisierten Bias, um einen Fehler aufgrund der Quantisierung zu enthalten; Quantisieren einer Eingabeprobe; Durchführen einer ersten Multiplizieren-Akkumulieren (MAC)-Operation auf der Grundlage der quantisierten Gewichtung des ANN und der quantisierten Eingabeprobe; und Reflektieren des Kompensationsbias auf ein Ergebnis der ersten MAC-Operation.
  • Nach einem anderen Aspekt der erfinderischen Konzepte wird ein Quantisierungsverfahren eines künstlichen neuronalen Netzwerks (ANN) vorgesehen, enthaltend: Quantisieren von Parameters des ANN; Berechnen eines Quantisierungsfehlers der Parameter auf der Grundlage der Parameter des ANN und der quantisierten Parameter; und Erzeugen eines Kompensationsbias auf der Grundlage der quantisierten Parameter und des Quantisierungsfehlers der Parameter.
  • Figurenliste
  • Beispielhafte Ausführungsformen der erfinderischen Konzepte werden aus der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlicher verstanden, in der
    • 1 ist eine Ansicht, die ein künstliches neuronales Netzwerk nach Beispielausführungsformen zeigt;
    • 2 ist ein Diagramm, das ein Computersystem nach Beispielausführungsformen veranschaulicht;
    • 3 ist ein Ablaufdiagramm, das die Operationen eines neuronalen Netzwerksystems, eines Parameterquantisierers, eines Probenquantisierers und eines Bias-Kompensators nach Beispielausführungsformenveranschaulicht;
    • 4 ist ein Diagramm zur Erläuterung der Architektur eines Berechnungsgraphs nach Beispielausührungsformen;
    • 5 ist ein Diagramm, das eine Operation des Reflektierens eines Erwartungswertes eines Quantisierungsfehlers eines neuronalen Netzwerksystems auf eine quantisierte Operation nach Beispielausführungsformen veranschaulicht;
    • 6 ist ein Diagramm, das ein Verfahren zur Erzeugung eines Kompensationsbias nach Beispielausführungsformen veranschaulicht;
    • 7 ist ein Diagramm, das ein Verfahren zur Erzeugung eines Kompensationsbias nach Beispielausführungsformen veranschaulicht;
    • 8 ist ein Diagramm, das eine Operation des Reflektierens eines Erwartungswertes eines Quantisierungsfehlers eines neuronalen Netzwerksystems auf eine quantisierte Operation nach Beispielausführungsformen veranschaulicht;
    • 9 ist ein Ablaufdiagramm, das ein Verfahren zur Bestimmung einer Referenzprobe, einer quantisierten Referenzprobe und eines Quantisierungsfehlers einer Referenzprobe nach Beispielausführungsformen veranschaulicht;
    • 10 ist ein Diagramm, das ein Computersystem nach Beispielausführungsformen veranschaulicht;
    • 11 ist ein Diagramm, das ein Verfahren zur Erwartung einer nächsten Eingabeprobe nach Beispielausführungsformen veranschaulicht;
    • 12 ist ein Diagramm, das ein Verfahren zur Erwartung einer nächsten Eingabeprobe nach Beispielausführungsformen veranschaulicht;
    • 13 ist ein Ablaufdiagramm, das ein Verfahren zur Bestimmung einer Referenzprobe, einer quantisierten Referenzprobe und eines Quantisierungsfehlers der Referenzprobe nach Beispielausführungsformen veranschaulicht;
    • 14 ist ein Diagramm, das ein Verfahren zur Durchführung einer Operation an einer Eingabeprobe eines nächsten Auftrags durch ein quantisiertes künstliches neuronales Netzwerk (ANN) nach Beispielausführungsformen veranschaulicht;
    • 15 ist ein Ablaufdiagramm, das ein Operationsverfahren unter Verwendung einer ANN nach Beispielausführungsformen veranschaulicht;
    • 16 ist ein Blockdiagramm, das eine elektronische Vorrichtung nach Beispielausführungsformen veranschaulicht; und
    • 17 ist ein Blockdiagramm, das eine elektronische Vorrichtung nach Beispielausführungsformen veranschaulicht.
  • DETKILLIERTE BESCHREIBUNG VON BEISPIELAUSFÜHRUNGSFORMEN
  • 1 ist eine Ansicht, die ein künstliches neuronales Netzwerk (ANN) nach Beispielausführungsformen zeigt. 1 ist beispielsweise ein Diagramm, das schematisch die Struktur eines tiefgehenden neuronalen Netzwerks 10 als ein Beispiel für das ANN nach Beispielausführungsformen zeigt.
  • ANN kann sich auf ein Computersystem beziehen, das sich auf ein biologisches neuronales Netzwerk konzentriert, das ein tierisches Gehirn darstellt, im Gegensatz zu klassischen Algorithmen, die Aufgaben nach vordefinierten Bedingungen durchführen, wie z. B. regelbasierte Programmierung, kann ANN durch die Berücksichtigung mehrerer Proben (oder Beispiele) auf die Durchführung von Aufgaben trainiert werden. ANN kann eine Struktur aufweisen, in der künstliche Neuronen (oder Neuronen) verbunden sind, und eine Verbindung zwischen Neuronen kann als Synapse bezeichnet werden. Ein Neuron kann empfangene Signale verarbeiten und die verarbeiteten Signale über die Synapse an ein anderes Neuron übertragen. Die Ausgabe des Neurons kann als „Aktivierung“ bezeichnet werden. Das Neuron und/oder die Synapse können eine variable Gewichtung aufweisen, und der Einfluss des vom Neuron verarbeiteten Signals kann je nach Gewichtung zu- oder abnehmen. Insbesondere die mit einem individuellen Neuron verbundene Gewichtung kann als Bias bezeichnet werden.
  • Ein tiefgehendes neuronales Netzwerk (DNN = Deep Neural Network) oder eine tiefgehende Lernarchitektur kann eine Schichtenstruktur aufweisen, und die Ausgabe einer bestimmten Schicht kann eine Eingabe für eine nachfolgende Schicht sein. In einer solchen mehrschichtigen Struktur kann jede der Schichten entsprechend mehrerer Muster trainiert werden. Künstliche neuronale Netzwerke, wie DNN, können durch eine Anzahl von Verarbeitungsknoten implementiert werden, die jeweils künstlichen Neuronen entsprechen, was eine höhere Rechenkomplexität erfordern kann, um gute Ergebnisse, wie z. B. Ergebnisse mit höherer Genauigkeit, zu erhalten, und dementsprechend viele Rechenressourcen erfordern kann.
  • Bezugnehmend auf 1 kann ein DNN 10 eine Vielzahl von Schichten L1, L2, L3,..., LN enthalten, und die Ausgabe einer Schicht kann über mindestens einen Kanal in eine nachfolgende Schicht eingegeben werden. Die erste Schicht L1 kann zum Beispiel eine Ausgabe an die zweite Schicht L2 über eine Vielzahl von Kanälen CH11... CHlx durch Verarbeiten einer Probe SAM, und die zweite Schicht L2 kann auch eine Ausgabe an die dritte Schicht L3 über eine Vielzahl von Kanälen CH21... CH2y zuführen. Schließlich kann die N-te Schicht LN ein Ergebnis RES ausgeben, und das Ergebnis RES kann mindestens einen auf die Probe SAM bezogenen Wert enthalten. Die Anzahl der Kanäle, über die die Ausgaben der mehreren Schichten L1, L2, L3,..., LN übertragen werden, kann gleich oder unterschiedlich sein. Die Anzahl der Kanäle CH21... CH2y der zweiten Schicht L2 und die Anzahl der Kanäle CH31... CH3z der dritten Schicht L3 können z. B. gleich oder unterschiedlich sein.
  • Die Probe SAM können Eingabedaten sein, die von dem DNN 10 verarbeitet werden. Die Probe SAM kann beispielsweise ein Bild sein, das einen von einer Person geschriebenen Buchstaben enthält, und das DNN 10 kann das Ergebnis RES ausgeben, das einen Wert enthält, der den Buchstaben darstellt, indem der Buchstabe aus dem Bild erkannt wird. Das Ergebnis RES kann eine Vielzahl von Wahrscheinlichkeiten enthalten, die verschiedenen Buchstaben entsprechen, und der einflussreichste Buchstabe unter den verschiedenen Buchstaben kann der höchsten Wahrscheinlichkeit entsprechen. Jede der Vielzahl von Schichten L1, L2, L3,..., LN des DNN 10 kann ihre eigenen Ausgaben erzeugen, indem sie die Probe SAM und die Ausgabe einer vorhergehenden Schicht auf der Grundlage von Werten verarbeitet, die durch das Lernen einer Vielzahl von Bildern, die Buchstaben enthalten, erzeugt wurden, wie z. B. Gewichtung, Bias usw.
  • Das DNN 10 kann eine große Anzahl von Schichten oder Kanälen nach Beispielausführungsformen enthalten, und dementsprechend kann sich die Berechnungskomplexität des DNN 10 erhöhen. Das DNN 10 mit hoher Berechnungskomplexität kann eine Menge Ressourcen erfordern. Um die Berechnungskomplexität des DNN 10 zu reduzieren, kann das DNN 10 daher quantisiert werden. Die Quantisierung des DNN 10 kann sich auf einen Prozess beziehen, bei dem Eingabewerte auf eine Anzahl von Werten abgebildet werden, die kleiner als die Anzahl der Eingabewerte ist, wie z. B. die Abbildung einer reellen Zahl auf eine ganze Zahl durch Runden. Das quantisierte DNN 10 kann eine geringe Berechnungskomplexität aufweisen, kann jedoch aufgrund eines Fehlers im Quantisierungsprozess eine geringere Genauigkeit aufweisen.
  • Wie nachstehend mit Bezug auf die folgenden Zeichnungen beschrieben, kann das nach Beispielausführungsformen quantisierte DNN 10 einen Erwartungswert des im Quantisierungsprozess auftretenden Fehlers auf ein Operationsergebnis reflektieren, und somit kann das DNN 10 eine verbesserte Leistung und/oder geringere Komplexität aufweisen.
  • 2 ist ein Diagramm, das ein Computersystem 1000 nach Beispielausführungsformen veranschaulicht.
  • Unter Bezugnahme auf 2 kann das Computersystem 1000 ein Quantisierungssystem 100 und ein neuronales Netzwerksystem 200 enthalten. Das neuronale Netzwerksystem 200 kann ein ANN vorsehen, und das Quantisierungssystem 100 kann das vom neuronalen Netzwerksystem 200 vorgesehene ANN quantisieren und das zumindest teilweise quantisierte ANN dem neuronalen Netzwerksystem 200 zuführen. In 1 sind das neuronale Netzwerksystem 200 und das Quantisierungssystem 100 voneinander getrennt, aber nach Beispielausführungsformen können das neuronale Netzwerksystem 200 und das Quantisierungssystem 100 als ein System implementiert sein.
  • Das neuronale Netzwerksystem 200 kann jedes System sein, das das ANN vorsieht (oder antreibt), und kann auch als eine neuronale Netzwerkvorrichtung bezeichnet werden. Das neuronale Netzwerksystem 200 kann z. B. in einer Verarbeitungsschaltung, z. B. in einem Computersystem, das mindestens einen Prozessor und Speicher enthält, implementiert sein. Als nicht einschränkendes Beispiel kann das neuronale Netzwerksystem 200 sowohl ein stationäres Computersystem, wie etwa ein Desktop-Computer, ein Server usw., als auch ein mobiles Computersystem, wie etwa ein Laptop-Computer, ein Smartphone usw., sein.
  • In Beispielausführungsformen kann das neuronale Netzwerksystem 200 das ANN antreiben und (eine) Information(en) über das ANN dem Quantisierungssystem 100 zuführen. In Beispielausführungsformen kann das neuronale Netzwerksystem 200 das ANN entsprechend der/den vom Quantisierungssystem 100 zugeführten Information(en) antreiben und dem Quantisierungssystem 100 die Information(en) über das angetriebene ANN zuführen.
  • Das Quantisierungssystem 100 kann jedes System sein, das die Quantisierung des ANN durchführt, und kann auch als eine Quantisierungsvorrichtung bezeichnet werden. Das Quantisierungssystem 100 kann z. B. in einer Verarbeitungsschaltung, z. B. in einem Computersystem, das mindestens einen Prozessor und einen Speicher enthält, implementiert sein. Das Quantisierungssystem 100 kann ein stationäres Computersystem oder ein mobiles Computersystem sein. Das Quantisierungssystem 100 kann das ANN auf der Grundlage der Information(en) des ANN, die vom neuronalen Netzwerksystem 200 zugeführt werden, quantisieren.
  • Unter Bezugnahme auf 2 kann das Quantisierungssystem 100 eine neuronale Netzwerk-Schnittstelle 110, einen Parameterquantisierer 120, einen Probenquantisierer 130 und/oder einen Bias-Kompensator 140 enthalten. In Beispielausführungsformen kann jeder von der neuronalen Netzwerk-Schnittstelle 110, dem Parameterquantisierer 120, dem Probenquantisierer 130 und dem Bias-Kompensator 140 in Verarbeitungsschaltungen z. B. als ein durch Logiksynthese implementierter Logikblock, ein von einem Prozessor durchgeführter Softwareblock oder eine Kombination davon implementiert werden. In Beispielausführungsformen kann jedes von der neuronalen Netzwerk-Schnittstelle 110, dem Parameterquantisierer 120, dem Probenquantisierer 130 und dem Bias-Kompensator 140 eine Prozedur als ein Satz einer Vielzahl von Anweisungen sein, die vom Prozessor ausgeführt werden, und können vom Prozessor in einem zugänglichen Speicher gespeichert werden.
  • Die neuronale Netzwerk-Schnittstelle 110 kann eine Schnittstelle bezüglich des Neuronalen Netzwerksystems 200 zu dem Parameterquantisierer 120 und dem Probenquantisierer 130 vorsehen. Die Schnittstelle für neuronale Netzwerke 110 kann beispielsweise Parameter des vom neuronalen Netzwerksystem 200 empfangenen ANN dem Parameterquantisierer 120 und vom Parameterquantisierer 120 empfangene quantisierte Parameter dem neuronale Netzwerksystem 200 zuführen. Außerdem kann die Schnittstelle für neuronale Netzwerke 110 vom neuronalen Netzwerksystem 200 empfangene Proben dem Probenquantisierer 130 zuführen und vom Probenquantisierer 130 empfangene quantisierte Proben dem neuronalen Netzwerksystem 200 zuführen. Darüber hinaus kann die Schnittstelle 110 des neuronalen Netzwerks einen Kompensationsbias, der vom Bias-Kompensator 140 empfangen wird, dem neuronalen Netzwerksystem 200 zuführen.
  • Der Parameterquantisierer 120 kann aus den Parametern, die vom neuronalen Netzwerksystem 200 über die neuronale Netzwerk-Schnittstelle 110 empfangen werden, quantisierte Parameter erzeugen. Der Parameterquantisierer 120 kann beispielsweise eine Gewichtung und einen Bias als Parameter des ANN erhalten und eine quantisierte Gewichtung und einen quantisierten Bias erzeugen. Der Parameterquantisierer 120 kann dem neuronalen Netzwerksystem 200 über die neuronale Netzwerk-Schnittstelle 110 die quantisierte Gewichtung zuführen.
  • Darüber hinaus kann der Parameterquantisierer 120 einen Quantisierungsfehler der Gewichtung und einen Quantisierungsfehler des Bias unter Verwendung der quantisierten Gewichtung und des quantisierten Bias erzeugen. Der Quantisierungsfehler der Gewichtung kann einen Fehler enthalten, der in einem Prozess der Quantisierung der Gewichtung des ANN auftritt. Durch Verwendung der Eigenschaft, dass eine nicht quantisierte Gewichtung gleich der Summe aus der quantisierten Gewichtung und dem Quantisierungsfehler der Gewichtung ist, kann der Parameterquantisierer 120 den Quantisierungsfehler der Gewichtung aus der empfangenen Gewichtung und der quantisierten Gewichtung erzeugen. Darüber hinaus kann der Quantisierungsfehler des Bias einen Fehler enthalten, der in einem Prozess der Quantisierung des Bias des ANN auftritt. Durch Verwendung der Eigenschaft, dass ein nicht quantisierter Bias gleich der Summe aus dem quantisierten Bias und dem Quantisierungsfehler des Bias ist, kann der Parameterquantisierer 120 den Quantisierungsfehler des Bias aus dem empfangenen Bias und dem quantisierten Bias erzeugen.
  • Darüber hinaus kann der Parameterquantisierer 120 den Bias-Kompensator 140 mit (einer) Information(en) versorgen, die zur Erzeugung des Kompensationsbias zur Kompensation eines Fehlers aufgrund der Quantisierung verwendet werden. Der Parameterquantisierer 120 kann dem Bias-Kompensator 140 die quantisierte Gewichtung, den quantisierten Bias, den Quantisierungsfehler der Gewichtung und den Quantisierungsfehler des Bias zuführen.
  • Der Probenquantisierer 130 kann aus Proben, die vom neuronalen Netzwerksystem 200 über die neuronale Netzwerk-Schnittstelle 110 empfangen werden, quantisierte Proben erzeugen. Der Probenquantisierer 130 kann beispielsweise eine Vielzahl von Bildern, Sprachdaten usw. empfangen und quantisierte Bilder, quantisierte Sprachdaten usw. erzeugen. Der Probenquantisierer 130 kann die quantisierten Proben dem neuronalen Netzwerksystem 200 über die Schnittstelle 110 des neuronalen Netzwerks zuführen. Da Parameter und Proben in dem ANN unterschiedliche Eigenschaften aufweisen, können die Quantisierung der Parameter und die Quantisierung der Proben getrennt werden.
  • Der Bias-Kompensator 140 kann den Kompensationsbias zur Kompensation des Fehlers aufgrund der Quantisierung unter Verwendung der vom Parameterquantisierer 120 erhaltenen Information(en) erzeugen. In Beispielausführungsformen kann der Bias-Kompensator 140 den Kompensationsbias durch Kompensation des quantisierten Bias erzeugen, um den Fehler aufgrund der Quantisierung einzubeziehen. Beispiele für die Operation des Bias-Kompensators 140 zur Erzeugung des Kompensationsbias werden nachstehend unter Bezugnahme auf 6 und 7 beschrieben. Der Bias-Kompensator 140 kann den erzeugten Kompensationsbias über die neuronale Netzwerk-Schnittstelle 110 dem neuronalen Netzwerksystem 200 zuführen.
  • Das neuronale Netzwerksystem 200 kann eine Multiplizieren-Akkumulieren (MAC)-Operation auf der Grundlage des vom Parameterquantisierer 120 erhaltenen quantisierten Gewichtung und der vom Probenquantisierer 130 erhaltenen quantisierten Probe durchführen. Darüber hinaus kann das neuronale Netzwerksystem 200 ein endgültiges Operationsergebnis erzeugen, indem es den vom Bias-Kompensator 140 erhaltenen Kompensationsbias in ein MAC-Operationsergebnis umwandelt.
  • 3 ist ein Ablaufdiagramm, das die Operationen des neuronalen Netzwerksystems 200, des Parameterquantisierers 120, des Probenquantisierers 130 und des Bias-Kompensators 140 nach Beispielausführungsformen veranschaulicht. 3 ist beispielsweise ein Ablaufdiagramm, das eine Quantisierungsoperation eines ANN des neuronalen Netzwerksystems 200, des Parameterquantisierers 120, des Probenquantisierers 130 und des Bias-Kompensators 140 aus 2 sowie eine Operation unter Verwendung eines quantisierten ANN veranschaulicht.
  • Unter Bezugnahme auf 2 und 3 kann das neuronale Netzwerksystem 200 das ANN enthalten (S100). Darüber hinaus kann das neuronale Netzwerksystem 200 eine Gewichtung W und einen Bias dem Parameterquantisierer 120 als Parameter des ANN zusammen mit einer Quantisierungsanforderung zuführen (S105). Der Parameterquantisierer 120 kann die empfangene Gewichtung W und den Bias quantisieren (S110). Außerdem kann der Parameterquantisierer 120 dem neuronalen Netzwerksystem 200 eine quantisierte Gewichtung q_W zuführen (S110). Das neuronale Netzwerksystem 200 kann die empfangene quantisierte Gewichtung q_W speichern. der Parameterquantisierer 120 die quantisierte Gewichtung q_W, einen quantisierte Bias q_Bias, einen Quantisierungsfehler e_W der Gewichtung und einen Quantisierungsfehler e_Bias des Bias dem Bias-Kompensator 140 zuführen (S120). Die Operationsreihenfolge der Operationen S110 und S120 kann geändert werden.
  • Darüber hinaus kann der Bias-Kompensator 140 einen Kompensationsbias zur Kompensation eines Fehlers aufgrund der Quantisierung auf der Grundlage der empfangenen Information(en) (S125) erzeugen. Der Bias-Kompensator 140 kann beispielsweise den Kompensationsbias auf der Grundlage der empfangenen quantisierten Gewichtung q_W, des quantisierten Bias q_Bias, des Quantisierungsfehlers e_W der Gewichtung und des Quantisierungsfehlers e_Bias des Bias erzeugen. Beispiele für die Operation des Bias-Kompensators 140 zur Erzeugung des Kompensationsbias werden nachstehend unter Bezugnahme auf die 6 und 7 beschrieben. Darüber hinaus kann der Bias-Kompensator 140 einen erzeugten Kompensationsbias q_bias1 dem neuronalen Netzwerksystem 200 zuführen (S130). Das neuronale Netzwerksystem 200 kann den empfangenen Kompensationsbias q_bias1 speichern.
  • Das neuronale Netzwerksystem 200 kann eine neue Probe X erhalten (S135). Dann kann das neuronale Netzwerksystem 200 die Probe X zusammen mit einer Quantisierungsanforderung dem Probenquantisierer 130 zuführen (S140). Darüber hinaus kann der Probenquantisierer 130 die empfangene Probe X quantisieren (S145). Darüber hinaus kann der Probenquantisierer 130 eine quantisierte Probe q_X dem neuronalen Netzwerksystem 200 zuführen (S150). Das neuronale Netzwerksystem 200 kann eine MAC-Operation auf der Grundlage der quantisierten Gewichtung q_W und der quantisierten Probe q_X durchführen (S155). Darüber hinaus kann das neuronale Netzwerksystem 200 ein endgültiges Operationsergebnis erzeugen, indem es den Kompensationsbias q_bias1 auf ein MAC-Operationsergebnis reflektiert (S160).
  • 4 ist ein Diagramm zur Erläuterung der Architektur eines Berechnungsgraphen 20 nach Beispielausführungsformen.
  • Unter Bezugnahme auf 4 ist der Berechnungsgraph 20 ein Graph, der ein mathematisches Modell zeigt, das durch Knoten und Kanten ausgedrückt wird. Die Architektur des Berechnungsgraphen 20 kann der Architektur einer ANN oder eines quantisierten ANN entsprechen. Das ANN oder das quantisierte ANN kann zum Beispiel als ein neuronales Faltungsnetz (CNN = Convolution Neural Network) implementiert sein, aber die erfinderischen Konzepte sind nicht darauf beschränkt. Wenn das quantisierte ANN von 4 das CNN ausdrückt, kann der Berechnungsgraph 20 einigen Schichten des CNN entsprechen. Der Berechnungsgraph 20 kann zum Beispiel einer Schicht des CNN entsprechen, die eine MAC-Operation durchführt, wie z. B. einer Faltungsschicht, einer vollständig verbundenen Schicht usw. Nachfolgend wird zur Vereinfachung der Beschreibung ein vom neuronalen Netzwerksystem 200 aus 2 durchgeführtes Verfahren beschrieben, bei dem die MAC-Operation unter Verwendung einer quantisierten Gewichtung und einer quantisierten Probe unter der Prämisse durchgeführt wird, dass der Berechnungsgraph 20 die Faltungsschicht ist.
  • Unter Bezugnahme auf 2 und 4 kann das neuronale Netzwerksystem 200 die Gewichtung W des ANN zusammen mit einer Quantisierungsanforderung dem Parameterquantisierer 120 zuführen und die quantisierte Gewichtung q_W vom Parameterquantisierer 120 erhalten. Zusätzlich kann das neuronale Netzwerksystem 200 die empfangene Eingabeprobe X zusammen mit der Quantisierungsanforderung dem Parameterquantisierer 120 zuführen und die quantisierte Eingabeprobe q_X vom Parameterquantisierer 120 empfangen. Dann kann das neuronale Netzwerksystem 200 die MAC-Operation auf der Grundlage der quantisierten Gewichtung q_W und der quantisierten Eingabeproben q_X durchführen und einen (nicht gezeigten) Bias auf ein MAC-Operationsergebnis reflektieren, um eine quantisierten Ausgabeprobe q_Y zu erzeugen.
  • Die quantisierte Eingabeprobe q_X und die quantisierte Ausgabeprobe q_Y können zweidimensionale oder höherdimensionale Matrizen sein und können entsprechende Aktivierungsparameter aufweisen. Wenn die quantisierte Eingabeprobe q_X und die quantisierte Ausgabeprobe q_Y beispielsweise dreidimensionalen Matrizen entsprechen, können die quantisierte Eingabeprobe q_X und die quantisierte Ausgabeprobe q_Y eine Breite W (oder eine Spalte), eine Höhe H (oder eine Zeile) und eine Tiefe D aufweisen. In einigen Beispielausführungsformen kann die Tiefe D als die Anzahl der Kanäle bezeichnet werden.
  • In der Faltungsschicht kann eine Faltungsoperation auf der quantisierten Eingabeprobe q_X und der quantisierten Gewichtung q_W durchgeführt werden, und als Ergebnis kann die quantisierte Ausgabeprobe q_Y erzeugt werden. Die quantisierte Gewichtung q_W kann die quantisierte Eingabeprobe q_X filtern und kann als Filter oder Kernel bezeichnet werden. Die quantisierte Gewichtung q_W kann eine Kernelgröße K (d. h. die Größe der Gewichtung) aufweisen, und die Tiefe der quantisierten Gewichtung q_W, d. h. die Anzahl der Kanäle der quantisierten Gewichtung q_W, kann gleich der Tiefe D der quantisierten Eingabeprobe q_X sein. Die quantisierte Gewichtung q_W kann verschoben werden, indem die quantisierte Eingabeprobe q_X als Schiebefenster durchlaufen wird. Während jeder Verschiebung kann jedes der in der quantisierten Gewichung q_W enthaltenen Gewichtungen multipliziert und zu allen Werten in einer Region, die die quantisierte Eingabeprobe q_X überlappt, addiert werden. Wenn die quantisierte Eingabeprobe q_X und die quantisierte Gewichtung q_W gefaltet werden, kann ein Kanal der quantisierten Ausgabeprobe q_Y erzeugt werden. Obwohl eine quantisierte Gewichtung q_W in 1 dargestellt ist, können im Wesentlichen eine Vielzahl von quantisierten Gewichtungen q_W und die quantisierte Eingabeprobe q_X so gefaltet werden, dass eine Vielzahl von Kanälen der quantisierten Ausgabeprobe q_Y erzeugt werden kann.
  • Die Durchführung der MAC-Operation unter Verwendung der quantisierten ANN und der quantisierten Eingabe kann im Vergleich zu Beispielausführungsformen, die die MAC-Operation unter Verwendung eines nicht quantisierten ANN und einer nicht quantisierten Eingabe durchführen, einen Fehler verursachen.
  • Die Operation des ANN kann zum Beispiel als folgende Gleichung ausgedrückt werden. y = c , k C , K { ( q w c , k + e w c , k ) ( q x c , k + e x c , k ) } + q b i a s + e b i a s = c , k C , K { q w c , k q x c , k + q w c , k e x c , k + e w c , k q x c , k + e w c , k e x c , k } + q b i a s + e b i a s = c , k C , K { q w c , k q x c , k } + q b i a s + c , k C , K { q w c , k e x c , k + e w c , k q x c , k + e w c , k e x c , k } + e b i a s
    Figure DE102020123155A1_0001
    (C ist die Anzahl der Kanäle der Eingabe, K ist eine Kernelgröße, qw c,k ist die quantisierte Gewichtung w, ew c,k ist ein Quantisierungsfehler der Gewichtung W, qbias ist ein quantisierter Bias, ebias ist ein Quantisierungsfehler des Bias, qx c,k ist die quantisierte Eingabeprobe X, und ex c,k ist ein Quantisierungsfehler der Eingabeprobe X)
  • Die Operation des ANN lässt sich in eine quantisierte Operation(①) und einen Quantisierungsfehler (②) unterteilen. Das Neuronale Netzwerksystem 200 des Standes der Technik konzentrierte sich auf die Implementierung der quantisierten Operation(①), die optimiert wurde, um die Quantisierungsfehler der Gewichtung W und der Eingabeprobe X zu reduzieren, ohne direkte Berücksichtigung des Quantisierungsfehlers (②) (d. h. ohne Reflexion des Quantisierungsfehlers (②) auf die Operation des ANN). Das Neuronale Netzwerksystem 200 kann nach Beispielausführungsformen einen Erwartungswert des Quantisierungsfehlers(②) berechnen und den berechneten Erwartungswert auf die quantisierte Operation (①) reflektieren und dadurch die Genauigkeit des quantisierten ANN erhöhen.
  • In 4 wird zur Vereinfachung der Beschreibung die Operation in einer Schicht des ANN veranschaulicht und beschrieben, aber die Operation des ANN nach der technischen Idee der erfinderischen Konzepte kann im Wesentlichen auf jede einer Vielzahl von Schichten, die das ANN bilden, in der gleichen Weise angewandt werden.
  • 5 ist ein Diagramm, das eine Operation des Reflektierens eines Erwartungswertes eines Quantisierungsfehlers des neuronalen Netzwerksystems 200 auf eine quantisierte Operation nach Beispielausführungsformenveranschaulicht.
  • Unter Bezugnahme auf 2, 4 und 5 kann das neuronale Netzwerksystem 200 nach Beispielausführungsformen eine MAC-Operation durchführen, die auf der quantisierten Eingabeprobe q_X und der quantisierten Gewichtung q_W basiert, das vom Quantisierungssystem 100 erhalten wurde. Zusätzlich kann das neuronale Netzwerksystem 200 die quantisierte Ausgabeprobe q_Y erzeugen, indem es anstelle der quantisierten Bias q_bias, die durch einfache Quantisierung eines Bias einer ANN erhalten wird, den Kompensationsbias q_bias1, der durch den Bias-Kompensator 140 des Quantisierungssystems 100 erzeugt wird, auf ein MAC-Operationsergebnis reflektiert,. Der Kompensationsbias q_bias1 kann die gleiche Größe wie die des MAC-Operationsergebnisses aufweisen, wie später in 6 und 7 beschrieben. Daher kann der Kompensationsbias q_bias1 zu allen Werten in einer Region addiert werden, die das Ergebnis der MAC-Operation überlappt. In 5 wird die quantisierte Ausgabeprobe q_Y in Bezug auf einen beliebigen Kanal k angegeben, aber die quantisierte Ausgabeprobe q_Y für jeden Kanal kann im Wesentlichen erzeugt werden.
  • Der Bias-Kompensator 140 kann sowohl den Kompensationsbias q_bias1, der den Quantisierungsfehler enthält, als auch den quantisierten Bias q_bias des ANN erzeugen. Insbesondere kann der Bias-Kompensator 140 den Kompensationsbias q_bias1 erzeugen, um eine nachstehende Formel von ③in eine Quantisierungsoperationsgleichung des ANN einzuschließen. y = c , k C , K { q w c , k q x c , k } + q b i a s + c , k C , K { q w c , k e x c , k + e w c , k q x c , k + e w c , k e x c , k } + e b i a s               c , k C , K { q w c , k q x c , k } + q b i a s 1
    Figure DE102020123155A1_0002
    In der vorstehenden Gleichung der Quantisierungsoperation des ANN, sind qbias, ebias, qw c,k und ew c,k Werte, die zuvor durch die Quantisierung des ANN des Probenquantisierers 130 bekannt sind. Allerdings sind qx c,k und ex c,k Werte, die zum Zeitpunkt der Durchführung der Operationsverarbeitung an der Eingabeprobe X vorher unbekannt sind. Dementsprechend kann der Bias-Kompensator 140 den Kompensationsbias q_bias1 erzeugen, indem qx c,k und ex c,k einer Referenzprobe X', die die tatsächliche Eingabeprobe X anstatt qx c,k und ex c,k in Bezug auf die tatsächliche Eingabeprobe X ersetzt.
  • Der Probenquantisierer 130 kann beispielsweise eine Vielzahl von quantisierten Proben und Quantisierungsfehlern der Vielzahl von Proben erzeugen, indem er eine Vielzahl von aus einem Probenpool ausgewählten Proben quantisiert. Der Bias-Kompensator 140 kann qx c,k unter Verwendung der Vielzahl von quantisierten Proben erzeugen und kann ex c,k unter Verwendung der Quantisierungsfehler der Vielzahl von Proben erzeugen. Darüber hinaus kann der Bias-Kompensator 140 den Kompensationsbias q_bias1 unter Verwendung vonqx c,k und ex c,k erzeugen. Eine spezifische Operation zur Erzeugung des Kompensationsbias q_bias1 unter Verwendung der Vielzahl von Proben wird später unter Bezugnahme auf 9 beschrieben.
  • Als weiteres Beispiel kann der Bias-Kompensator 140 qx c,k aus einer Eingabeprobe eines nächsten Auftrags, der unter Verwendung der bereits über das ANN verarbeiteten Eingabeproben erwartet wird, und aus ex c,k der Eingabeprobe des nächsten Auftrags unter Verwendung von Quantisierungsfehlern der bereits verarbeiteten Eingabeproben erzeugen. Darüber hinaus kann der Bias-Kompensator 140 den Kompensationsbias q_bias1 unter Verwendung von qx c,k und ex c,k erzeugen. Die spezifische Operation der Erzeugung des Kompensationsbias q_bias1 unter Verwendung der bereits verarbeiteten Eingabeproben wird später unter Bezugnahme auf 10 bis 14 beschrieben.
  • 6 ist ein Diagramm, das ein Verfahren zur Erzeugung des Kompensationsbias q_bias1 nach Beispielausführungsformen veranschaulicht. 6 ist zum Beispiel ein Diagramm, das das Verfahren zur Erzeugung des Kompensationsbias, der einen quantisierten Bias und einen Quantisierungsfehler eines ANN enthält, veranschaulicht.
  • Die Wirkungsweise des Kompensationsbias lässt sich durch die folgende Gleichung ausdrücken q b i a s n e w = { q b i a s + E [ c , k C , K { q w c , k e x c , k + e w c , k q x c , k + e w c , k e x c , k } + e b i a s ] }    = { q b i a s + E [ c , k C , K { q w c , k e x c , k + e w c , k ( q x c , k + e x c , k ) } + e b i a s ] }                 = { q b i a s + E [ c , k C , K { q w c , k e x c , k + e w c , k x c , k } + e b i a s ] }                        = { b i a s + E [ c , k C , K { q w c , k e x c , k + e w c , k x c , k } ] }
    Figure DE102020123155A1_0003
    (E ist ein Erwartungswert)
  • Vorstehend kann in der letzten Gleichung xc,k die Referenzprobe X' statt der tatsächlichen Eingabeprobe X bezeichnen, und ex c,k kann unter Verwendung der Referenz-probe X' erzeugt werden. Ein Verfahren zur Bestimmung der Referenzprobe X' und ein Verfahren zur Berechnung des Quantisierungsfehlers ex c,k der Referenzprobe X' wird später in 9 und 13 beschrieben.
  • Unter Bezugnahme auf 6 kann die letzte vorstehende Gleichung durch die Operation des Bias-Kompensators 140 implementiert werden. Der Bias-Kompensator 140 kann eine erste MAC-Operation auf der Grundlage eines Quantisierungsfehlers e_X' der Referenzprobe X' und der quantisierten Gewichtung q_W durchführen. Darüber hinaus kann der Bias-Kompensator 140 eine zweite MAC-Operation auf der Grundlage der Referenzprobe X' und des Quantisierungsfehlers e_W einer Gewichtung durchführen. Dann kann der Bias-Kompensator 140 ein erstes MAC-Operationsergebnis, ein zweites MAC-Operationsergebnis und den Bias des ANN (der gleich der Summe des quantisierten Bias q_bias und des Quantisierungsfehlers e_bias des Bias ist) addieren, um den Kompensationsbias q_bias1 zu erzeugen.
  • 7 ist ein Diagramm, das ein Verfahren zur Erzeugung des Kompensationsbias q_bias1 nach Beispielausführungsformen veranschaulicht. 7 ist zum Beispiel ein Diagramm, das eine modifizierbare Beispielausführungsform von 6 veranschaulicht.
  • Die Operation der Kompensationsbias von 6 lässt sich durch die folgende Gleichung ausdrücken q b i a s n e w = { q b i a s + E [ c , k C , K { q w c , k e x c , k + e w c , k q x c , k + e w c , k e x c , k } + e b i a s ] }          = { q b i a s + E [ c , k C , K { e w c , k q x c , k + e x c , k ( q w c , k + e w c , k ) } + e b i a s ] }                  = { q b i a s + E [ c , k C , K { e w c , k q x c , k + e x c , k W c , k } + e b i a s ] }                       = { b i a s + E [ c , k C , K { e w c , k q x c , k + e x c , k W c , k } ] }
    Figure DE102020123155A1_0004
  • Vorstehend kann in der letzten Gleichung Wc,k die nicht-quantisierte Gewichtung W einer ANN bedeuten. qx c,k und ex c,k können unter Verwendung der Referenzprobe X' statt der tatsächlichen Eingabeprobe X erzeugt werden. Ein Verfahren zur Bestimmung des Referenzprobe X' und ein Verfahren zur Berechnung der quantisierten Referenzprobe (qx c,k ) und des Quantisierungsfehlers (ex c,k ) der Referenzprobe X' wird später in 9 und 13 beschrieben.
  • Unter Bezugnahme auf 7 kann der letzte vorstehende Ausdruck durch die Operation des Bias-Kompensators 140 umgesetzt werden. Der Bias-Kompensator 140 kann eine dritte MAC-Operation auf der Grundlage des Quantisierungsfehlers e_X' der Referenzprobe X' und der nicht quantisierten Gewichtung W durchführen. Außerdem kann der Bias-Kompensator 140 eine vierte MAC-Operation auf der Grundlage einer quantisierten Referenzprobe q_X' und des Quantisierungsfehlers e_W einer Gewichtung durchführen. Zusätzlich kann der Bias-Kompensator 140 ein drittes MAC-Operationsergebnis, ein viertes MAC-Operationsergebnis und einen Bias eines ANN addieren, um den Kompensationsbias q_bias1 zu erzeugen.
  • Verfahren zur Erzeugung des Kompensationsbias q_bias1 sind in 6 und 7 unterschiedlich, aber ihre Werte können die gleichen sein. Die quantisierte Eingabeprobe q_X von 5 und die Referenzprobe X', die quantisierte Referenzprobe q_X' und der Quantisierungsfehler e_X' der Referenzprobe X' von 6 und 7 können die gleiche Breite W und Höhe H aufweisen. Die quantisierte Gewichtung q_W von 5, die quantisierte Gewichtung q_W und der Quantisierungsfehler e_W der Gewichtung der 6 und 7 können die gleiche Kernelgröße K aufweisen. Dementsprechend kann die Größe des in 6 und 7 erzeugten Kompensationsbias q_bias1 gleich der Größe eines MAC-Operationsergebnisses der quantisierten Gewichtung q_W und der quantisierten Eingabeprobe q_X in einem Kanal von 5 sein. Dementsprechend kann der erzeugte Kompensationsbias q_bias1 zu allen Werten in einer Region addiert werden, die das Ergebnis der MAC-Operation der quantisierten Gewichtung q_W und der quantisierten Eingabeprobe q_X überlappt.
  • 8 ist ein Diagramm, das eine Operation zum Reflektieren eines Erwartungswertes eines Quantisierungsfehlers des neuronalen Netzwerksystems 200 auf eine quantisierte Operation nach Beispielausführungsformen veranschaulicht. 8 ist beispielsweise ein Diagramm, das eine modifizierbare Beispielausführungsform von 5 veranschaulicht.
  • Wie vorstehend in 7 beschrieben, kann der Kompensationsbias q_bias1 die gleiche Größe eines MAC-Operationsergebnisses der quantisierten Gewichtung q_W und der quantisierten Eingabeprobe q_X in einem Kanal aufweisen. Nach der modifizierbaren Beispielausführungsform kann der Kompensationsbias q_bias1 eher einen skalaren Wert als eine zweidimensionale Matrixstruktur aufweisen. In Beispielausführungsformen kann der Bias-Kompensator 140 einen zweiten Kompensationsbias q_bias2, der den skalaren Wert aufweist, erzeugen, indem er den Mittelwert der Werte erhält, die den Kompensationsbias q_bias1 bilden. Ein durch den Bias-Kompensator 140 durchgeführtes Verfahren zur Erzeugung des zweiten Kompensationsbias q_bias2, der den skalaren Wert aufweist, ist nicht auf das vorstehend beschriebene Beispiel beschränkt, und es können verschiedene Verfahren angewandt werden.
  • Der Bias-Kompensator 140 kann den erzeugten zweiten Kompensationsbias q_bias2 dem neuronalen Netzwerksystem 200 zuführen. Nach Beispielausführungsformen kann der Bias-Kompensator 140 den Kompensationsbias q_bias1 dem neuronalen Netzwerksystem 200 zuführen und den zweiten Kompensationsbias q_bias2, der den skalaren Wert aufweist, unter Verwendung des vom neuronalen Netzwerksystem 200 empfangenen Kompensationsbias q_bias1 erzeugen.
  • Unter Bezugnahme auf 8 kann das neuronale Netzwerksystem 200 eine MAC-Operation basierend auf der quantisierten Eingabeprobe q_X und der quantisierten Gewichtung q_W durchführen. Darüber hinaus kann das neuronale Netzwerksystem 200 die quantisierte Ausgabeprobe q_Y erzeugen, indem es anstelle der quantisierten Bias q_bias, der durch einfache Quantisierung eines Bias eines ANN erhalten wird, den zweiten Kompensationsbias q_bias2 auf das Ergebnis der MAC-Operation reflektiert. Wie vorstehend beschrieben, kann sich, wenn der zweite Kompensationsbias q_bias2 anstelle des Kompensationsbias q_bias1 verwendet wird, die Effizienz des Speicherplatzes eines Speichers erhöhen, und es kann nur ein skalarer Wert auf das MAC-Operationsergebnis reflektiert werden, wodurch sich die Operationsgeschwindigkeit erhöhen kann.
  • 9 ist ein Ablaufdiagramm, das ein Verfahren zur Bestimmung einer Referenzprobe, einer quantisierten Referenzprobe und eines Quantisierungsfehlers einer Referenzprobe nach Beispielausführungsformen veranschaulicht. 9 ist zum Beispiel das Ablaufdiagramm, das das Verfahren zur Bestimmung der Referenzprobe, der quantisierten Referenzprobe und des Quantisierungsfehlers der Referenzprobe zur Erzeugung einer Kompensationsbias veranschaulicht, das vom neuronalen Netzwerksystem 200 und dem Quantisierungssystem 100 von 2 fest verwendet werden kann.
  • Unter Bezugnahme auf 2 und 9 kann das neuronale Netzwerksystem 200 eine Vielzahl von ersten Proben aus einem Probenpool (S210) auswählen. Hierbei kann es sich bei der Vielzahl der ersten Proben um Trainingsproben handeln, die zum Training eines ANN verwendet werden. Die erfinderischen Konzepte sind jedoch nicht darauf beschränkt, und die Vielzahl der ersten Proben können Proben sein, die nicht für das Training des ANN verwendet werden, und können sowohl Trainingsproben, die für das Training verwendet werden, als auch die Proben, die nicht für das Training verwendet werden, enthalten.
  • Darüber hinaus kann das neuronale Netzwerksystem 200 über das ANN (S220) Operationen an der Vielzahl der ersten Proben durchführen. Das neuronale Netzwerksystem 200 kann beispielsweise über ein nicht quantisiertes neuronales Netzwerk Operationen an der Vielzahl der ersten Proben durchführen.
  • Darüber hinaus kann das neuronale Netzwerksystem 200 mindestens eine zweite Probe aus der Vielzahl der ersten Proben auf der Grundlage statistischer Verteilungen einer Vielzahl von Ausgabeproben jeder der Schichten, die das ANN (S230) bilden, auswählen. Das neuronale Netzwerksystem 200 kann zum Beispiel die statistischen Verteilungen der Ausgabeproben der Schichten, die ein nicht quantisiertes ANN bilden, z. B. jede von der ersten Schicht L1 bis zur n-ten Schicht Ln von 1, identifizieren. Dabei können die statistischen Verteilungen mindestens eines von einem Mittelwert, einer Varianz, einem Erwartungswert, einer Asymmetrie und einer Kurtosis der Ausgabeproben enthalten und sind nicht auf das vorstehend beschriebene Beispiel beschränkt. Darüber hinaus kann das neuronale Netzwerksystem 200 die mindestens eine zweite Probe aus der Vielzahl der ersten Proben auf der Grundlage der statistischen Verteilungen auswählen. Das neuronale Netzwerksystem 200 kann zum Beispiel die mindestens eine zweite Probe, die einer Ausgabeprobe mit einem Wert nahe dem Mittelwert jeder der Schichten entspricht, aus der Vielzahl der ersten Proben auswählen. Ein Verfahren zum Auswählen der mindestens einen zweiten Probe auf der Grundlage der statistischen Verteilungen ist nicht auf das vorstehend beschriebene Beispiel beschränkt.
  • Dann kann das neuronale Netzwerksystem 200 unter Verwendung der ausgewählten zweiten Probe eine quantisierte zweite Probe und einen Quantisierungsfehler der zweiten Probe berechnen (S240). Das neuronale Netzwerksystem 200 kann beispielsweise eine Operation an der zweiten Probe durch das quantisierte ANN durchführen, um die quantisierte zweite Probe zu berechnen. Dann kann das neuronale Netzwerksystem 200 unter Verwendung der Eigenschaft, dass die Eingabeprobe X gleich der quantisierten Eingabeprobe q_X und dem Quantisierungsfehler e_X der Eingabeprobe ist, den Quantisierungsfehler der zweiten Probe aus der zweiten Probe und der quantisierten zweiten Probe berechnen.
  • Darüber hinaus kann das Quantisierungssystem 100 eine Referenzprobe, eine quantisierte Referenzprobe und/oder einen Quantisierungsfehler der Referenzprobe bestimmen (S250). In Beispielausführungsformen kann das Quantisierungssystem 100 den Mittelwert jedes von der mindestens einen zweiten Probe, der quantisierten zweiten Probe und dem Quantisierungsfehler der zweiten Probe berechnen und den berechneten Mittelwert der zweiten Probe, den Mittelwert der quantisierten zweiten Probe und den Mittelwert des Quantisierungsfehlers der zweiten Probe als Referenzprobe, die quantisierte Referenzprobe bzw. den Quantisierungsfehler der Referenzprobe bestimmen. Ein durch das Quantisierungssystem 100 durchgeführtes Verfahren zur Bestimmung der Referenzprobe, der quantisierten Referenzprobe und/oder des Quantisierungsfehlers der Referenzprobe unter Verwendung des Quantisierungsfehlers der zweiten Probe ist nicht auf das vorstehend beschriebene Beispiel beschränkt, und es können verschiedene Verfahren angewandt werden.
  • Darüber hinaus kann das Quantisierungssystem 100 einen Kompensationsbias auf der Grundlage der bestimmten Referenzprobe, der quantisierten Referenzprobe und/oder des Quantisierungsfehlers der Referenzprobe erzeugen. Bezogen auf 6 kann der Bias-Kompensator 140 des Quantisierungssystems 100 beispielsweise eine erste MAC-Operation basierend auf dem Quantisierungsfehler e_X' der Referenzprobe und der quantisierten Gewichtung q_W durchführen. Darüber hinaus kann der Bias-Kompensator 140 eine zweite MAC-Operation auf der Basis der Referenzprobe X' und des Quantisierungsfehlers e_W einer Gewichtung durchführen. Dann kann der Bias-Kompensator 140 ein erstes MAC-Operationsergebnis, ein zweites MAC-Operationsergebnis und einen Bias des ANN (der gleich der Summe des quantisierten Bias q_bias und des Quantisierungsfehlers e bias des Bias ist) addieren, um den Kompensationsbias q_bias1 zu erzeugen.
  • Unter Bezugnahme auf 7 kann der Bias-Kompensator 140 des Quantisierungssystems 100 alternativ eine dritte MAC-Operation auf der Grundlage des Quantisierungsfehlers e_X' der Referenzprobe und der nicht quantisierten Gewichtung W durchführen. Außerdem kann der Bias-Kompensator 140 eine vierte MAC-Operation auf der Grundlage der quantisierten Referenzprobe q_X' und des Quantisierungsfehlers e_W der Gewichtung durchführen. Zusätzlich kann der Bias-Kompensator 140 ein drittes MAC-Operationsergebnis, ein viertes MAC-Operationsergebnis und den Bias des ANN addieren, um den Kompensationsbias q_bias1 zu erzeugen.
  • Wie vorstehend mit Bezug auf 8 beschrieben, kann der Bias-Kompensator 140 den Mittelwert der Werte erhalten, die den erzeugten Kompensationsbias q_bias1 bilden, wodurch ein zweiter Kompensationsbias q_bias2, der einen skalaren Wert aufweist, erzeugt wird.
  • Wie vorstehend beschrieben, kann der Bias-Kompensator 140 die Referenzprobe, die quantisierte Referenzprobe und/oder den Quantisierungsfehler der Referenzprobe unter Verwendung einer Vielzahl von Proben bestimmen und den Kompensationsbias q_bias1 oder q_bias2 auf der Grundlage der bestimmten Referenzprobe, der quantisierten Referenzprobe und/oder des Quantisierungsfehlers der Referenzprobe erzeugen. Das neuronale Netzwerksystem 200 kann den erzeugten Kompensationsbias q_bias1 oder q_bias2 bei der Operation der Eingabeprobe verwenden. Die erfinderischen Konzepte sind nicht darauf beschränkt, und nach Beispielausführungsformen kann der Bias-Kompensator 140 periodisch oder nichtperiodisch einen Kompensationsbias erzeugen.
  • Der Bias-Kompensator 140 kann die Referenzprobe, die quantisierte Referenzprobe und den Quantisierungsfehler der Referenzprobe unter Verwendung bereits verarbeiteter Eingabeproben bestimmen. Diesbezüglich werden später detaillierte Beschreibungen unter Bezugnahme auf 10 bis 14 gegeben.
  • 10 ist ein Diagramm, das ein Computersystem 1000a nach Beispielausführungsformen darstellt. 10 ist zum Beispiel ein Diagramm, das eine modifizierbare Beispielausführungsform von 2 veranschaulicht.
  • Unter Bezugnahme auf 10 kann das Computersystem 1000a ein Quantisierungssystem 100a und das neuronale Netzwerksystem 200 enthalten. Das Quantisierungssystem 100a kann die neuronale Netzwerk-Schnittstelle 110, den Parameterquantisierer 120, den Probenquantisierer 130, einen Bias-Kompensator 140a und einen Probengenerator 150a erzeugen. Das neuronale Netzwerksystem 200, die neuronale Netzwerk-Schnittstelle 110, der Parameterquantisierer 120 und der Probenquantisierer 130 nach den Beispielausführungsformen von 10 können dem neuronalen Netzwerksystem 200, der neuronalen Netzwerk-Schnittstelle 110, dem Parameterquantisierer 120 und dem Probenquantisierer 130 von 1 entsprechen, so dass redundante Beschreibungen davon entfallen.
  • Der Mustergenerator 150a kann in Verarbeitungsschaltungen implementiert werden, z. B. in einem durch Logiksynthese implementierten Logikblock, einem von einem Prozessor ausgeführten Softwareblock oder einer Kombination davon. Unter Bezugnahme auf 10 wird der Beispielgenerator 150a zwar veranschaulicht und beschrieben, dass er im Quantisierungssystem 100a enthalten ist, doch kann der Beispielgenerator 150a nach Beispielausführungsformen in dem System 200 des neuronalen Netzwerks enthalten oder in einer vom System 200 des neuronalen Netzwerks und dem Quantisierungssystem 100a getrennten Konfiguration implementiert sein.
  • Der Probengenerator 150a kann eine Eingabeprobe eines nächsten Auftrags erzeugen, die unter Verwendung mindestens einer Eingabeprobe erwartet wird, die bereits vom neuronalen Netzwerksystem 200 verarbeitet wurde. Der Probengenerator 150a kann beispielsweise die bereits verarbeitete mindestens eine Eingabeprobe analysieren und die Eingabeprobe des nächsten Auftrags nach einem Analyseergebnis erwarten. Darüber hinaus kann der Probengenerator 150a die erwartete Eingabeprobe dem Bias-Kompensator 140a zuführen. Eine detaillierte Beschreibung der vom Probengenerator 150a durchgeführten Operation zur Erzeugung der Eingabeprobe des nächsten Auftrags, die unter Verwendung der bereits verarbeiteten mindestens einen Eingabeprobe erwartet wird, wird später unter Bezugnahme auf 11 und 12 gegeben.
  • Der Bias-Kompensator 140a kann unter Verwendung der empfangenen erwarteten Eingabeprobe einen Kompensationsbias erzeugen. Ein spezifisches, vom Bias-Kompensator 140a durchgeführtes Verfahren zur Erzeugung des Kompensationsbias unter Verwendung der erwarteten Eingabeprobe wird später in 11 beschrieben.
  • 11 ist ein Diagramm, das ein Verfahren zur Erwartung einer nächsten Eingabeprobe nach einer Ausführungsform veranschaulicht. 11 ist beispielsweise ein Diagramm, das ein vom Probengenerator 150a von 10 ausgeführtes Verfahren zur Erwartung einer Eingabeprobe eines nächsten Auftrags unter Verwendung mindestens einer bereits verarbeiteten Eingabeprobe veranschaulicht.
  • Eingabeproben, die durch das neuronale Netzwerksystem 200 verarbeitet werden, können kontinuierlich fotografierte Bilder sein. Jedes der kontinuierlich fotografierten Bilder weist einen kleinen Unterschied zu einem Bild in einem vorhergehenden oder nachfolgenden Auftrag auf, und ein Unterschied zwischen den Bildern kann eine zeitliche Richtungsabhängigkeit aufweisen. Dementsprechend kann der Probengenerator 150a die Eingabeprobe des nächsten Auftrags erwarten, indem er eine Differenz zwischen bereits verarbeiteten Eingabeproben, z. B. den kontinuierlich fotografierten Bildern, analysiert. Darüber hinaus kann der Probengenerator 150a die Eingabeprobe des nächsten Auftrags zuführen, die für den Bias-Kompensator 140a erwartet wird. Der Probengenerator 150a kann die bereits verarbeiteten Eingabeproben aus einem (nicht gezeigten) Speicher lesen, der im Quantisierungssystem 100a enthalten ist, oder die bereits verarbeiteten Eingabeproben aus dem neuronalen Netzwerksystem 200 oder einer anderen unterschiedlichen Konfiguration empfangen.
  • Unter Bezug auf 11 kann der Probengenerator 150a unter den bereits bearbeiteten Bildern mit einem Kalman-Filter usw. z. B. Bewegungsvektoren eines N-2-ten Rahmens und eines N-1-ten Rahmens berechnen, die die jüngsten Bilder sind. Darüber hinaus kann der Probengenerator 150a ein Objekt (z. B. eine Person), das sich in einem Bild bewegt, mit Hilfe der berechneten Bewegungsvektoren identifizieren. Darüber hinaus kann der Probengenerator 150a einen erwarteten N-ten Rahmen erzeugen, indem er einen Bewegungspfad im Bild des identifizierten Objekts erwartet.
  • Unter Bezugnahme auf 11 wird der Probengenerator 150a zwar veranschaulicht und beschrieben, wie er das nächste Bild erwartet, wobei zwei neuere Bilder verwendet werden, die erfinderischen Konzepte sind jedoch nicht darauf beschränkt, und zwei oder mehr neuere Bilder können verwendet werden, um das nächste Bild zu erwarten.
  • 12 ist ein Diagramm, das ein Verfahren zur Erwartung einer nächsten Eingabeprobe nach Beispielausführungsformen veranschaulicht. 12 ist beispielsweise ein Diagramm, das ein vom Probengenerator 150a von 10 ausgeführtes Verfahren zur Erwartung einer Eingabeprobe eines nächsten Auftrags unter Verwendung mindestens einer bereits verarbeiteten Eingabeprobe veranschaulicht.
  • Der Probengenerator 150a kann ein künstliche Intelligenz (KI)-Modul 151a enthalten. Das KI-Modul 151a kann ein KI-Modul sein, das darauf trainiert wird, die nächste Probe auf der Grundlage der Eingabeprobe zu erwarten. Der Probengenerator 150a kann die mindestens eine bereits verarbeitete Eingabeprobe in das KI-Modul 151a eingeben und eine Ausgabeprobe aus dem KI-Modul 151 an den Bias-Kompensator 140a als nächste Eingabeprobe ausgeben. Das KI-Modul 151a kann als ein durch Logiksynthese implementierter Logikblock, als ein von einem Prozessor ausgeführter Softwareblock oder als eine Kombination davon implementiert werden.
  • Unter Bezugnahme auf 11 und 12 werden die vom neuronalen Netzwerksystem 200 verarbeiteten Eingabeproben als kontinuierlich fotografierte Bilder beschrieben, aber die erfinderischen Konzepte sind nicht darauf beschränkt, und es können verschiedene Arten von Daten wie Sprachdaten oder tiefgehende Daten verwendet werden.
  • 13 ist ein Ablaufdiagramm, das ein Verfahren zur Bestimmung einer Referenzprobe, einer quantisierten Referenzprobe und eines Quantisierungsfehlers der Referenzprobe nach Beispielausführungsformen veranschaulicht. 13 ist insbesondere das Ablaufdiagramm, das das Verfahren zur Bestimmung der Referenzprobe, der quantisierten Referenzprobe und des Quantisierungsfehlers der Referenzprobe zur Erzeugung eines Kompensationsbias veranschaulicht, den das neuronale Netzwerksystem 200 und das Quantisierungssystem 100a von 10 bei der Operation einer Eingabeprobe eines nächsten Auftrags verwenden können.
  • Unter Bezugnahme auf 10 und 13 kann das Quantisierungssystem 100a mindestens eine erste Probe aus den bereits verarbeiteten Eingabeproben auswählen (S310). Der Probe-Generator 150a des Quantisierungssystems 100a kann beispielsweise eine voreingestellte Anzahl von ersten Proben aus den bereits verarbeiteten Eingabeproben auswählen. Dabei kann die voreingestellte Anzahl von einem Hersteller oder einem Benutzer festgelegt werden. Der Probengenerator 150a kann beispielsweise 100 kürzlich verarbeitete Bilder als erste Proben aus den bereits verarbeiteten aufeinanderfolgenden Bildern auswählen, wenn es sich bei den Eingabeproben um aufeinanderfolgend fotografierte Bilder handelt.
  • Darüber hinaus erwartet das Quantisierungssystem 100a möglicherweise eine zweite Probe eines nächsten Auftrags auf der Grundlage der ersten Probe (S320). Der Probengenerator 150a kann beispielsweise die voreingestellte Anzahl der ersten Proben analysieren und die zweite Probe des nächsten Auftrags auf der Grundlage eines Analyseergebnisses erwarten. Das vom Probengenerator 150a durchgeführte Verfahren zur Erwartung der zweiten Probe des nächsten Auftrags, kann das gleiche oder im Wesentlichen das gleiche wie das in 11 und 12 beschriebene Verfahren sein. Darüber hinaus kann der Probengenerator 150a die zweite Probe dem Bias-Kompensator 140a zuführen.
  • Dann kann das Quantisierungssystem 100a die erwartete zweite Probe als Referenzprobe bestimmen (S330). Dann kann das Quantisierungssystem 100a den Quantisierungsfehler der Referenzprobe unter Verwendung eines Quantisierungsfehlers der mindestens einen ersten Probe bestimmen (S340). In Beispielausführungsformen kann der Bias-Kompensator 140a den Quantisierungsfehler der Referenzprobe bestimmen, indem er den Mittelwert der Quantisierungsfehler der mindestens einen ersten Probe erhält. Alternativ kann der Bias-Kompensator 140a einen Quantisierungsfehler der zuletzt verarbeiteten Probe unter der mindestens eine ersten Probe identifizieren und den identifizierten Quantisierungsfehler als den Quantisierungsfehler der Referenzprobe bestimmen. Das heißt, der Bias-Kompensator 140a kann den Quantisierungsfehler der Referenz-Probe bestimmen, ohne die Eigenschaft zu verwenden, dass die Eingabeprobe X die gleiche wie die quantisierte Eingabeprobe q_X und der Quantisierungsfehler e_X der Eingabeprobe X ist.
  • Darüber hinaus kann das Quantisierungssystem 100a einen Kompensationsbias auf der Grundlage der bestimmten Referenzprobe und des Quantisierungsfehlers der Referenzprobe erzeugen. Bezogen auf 6 kann der Bias-Kompensator 140a des Quantisierungssystems 100a beispielsweise eine erste MAC-Operation basierend auf dem Quantisierungsfehler e_X' der Referenzprobe und der quantisierten Gewichtung q_W durchführen. Darüber hinaus kann der Bias-Kompensator 140a eine zweite MAC-Operation auf der Basis der Referenzprobe X' und des Quantisierungsfehlers e_W der Gewichtung durchführen. Zusätzlich kann der Bias-Kompensator 140a ein erstes MAC-Operationsergebnis, ein zweites MAC-Operationsergebnis und einen Bias eines ANN (der gleich der Summe der quantisierten Bias q_bias und des Quantisierungsfehlers e bias des Bias ist) addieren, um den Kompensationsbias q_bias1 zu erzeugen.
  • Nach einer modifizierbaren Beispielausführungsform kann das Quantisierungssystem 100a die bestimmte Referenzprobe quantisieren und den Kompensationsbias auf der Grundlage der quantisierten Referenzprobe und des Quantisierungsfehlers der Referenzprobe erzeugen. Unter Bezugnahme auf 7 kann der Bias-Kompensator 140a des Quantisierungssystems 100a beispielsweise eine dritte MAC-Operation auf der Grundlage des Quantisierungsfehlers e_X' der Referenzprobe und der nicht quantisierten Gewichtung W durchführen. Zusätzlich kann der Bias-Kompensator 140a eine vierte MAC-Operation auf der Grundlage der quantisierten Referenzprobe q_X' und des Quantisierungsfehlers e_W der Gewichtung durchführen. Darüber hinaus kann der Bias-Kompensator 140a ein drittes MAC-Operationsergebnis, ein viertes MAC-Operationsergebnis und den Bias des ANN addieren, um den Kompensationsbias q_bias1 zu erzeugen.
  • Wie vorstehend mit Bezug auf 8 beschrieben, kann der Bias-Kompensator 140a den zweiten Kompensationsbias q_bias2, der einen skalaren Wert aufweist, erzeugen, indem er den Mittelwert der Werte erhält, die den erzeugten Kompensationsbias q_bias1 bilden.
  • Wie vorstehend beschrieben, kann der Bias-Kompensator 140a die Referenzprobe, die quantisierte Referenzprobe und/oder den Quantisierungsfehler der Referenzprobe unter Verwendung der bereits verarbeiteten Eingabeproben bestimmen und die zweite Kompensation q_bias1 oder den Bias q_bias2 auf der Grundlage der bestimmten Referenzprobe, der quantisierten Referenzprobe und des Quantisierungsfehlers der Referenzprobe erzeugen. Das neuronale Netzwerksystem 200 kann den erzeugten Kompensationsbias q_bias1 oder den Bias q_bias2 bei der Operation einer Eingabeprobe eines nächsten Auftrags verwenden.
  • 14 ist ein Diagramm, das ein Verfahren zur Durchführung einer Operation an einer Eingabeprobe eines nächsten Auftrags durch ein quantisiertes ANN nach Beispielausführungsformen veranschaulicht. 14 ist beispielsweise das Diagramm, das die vom Quantisierungssystem 100a und dem Neuronalen Netzwerksystem 200 von 10 durchgeführte Verfahren zur Durchführung von Operationen an der Eingabeprobe des nächsten Auftrags veranschaulicht. Im Folgenden wird zur Vereinfachung der Beschreibung eine Beschreibung unter der Annahme gegeben, dass die Eingabeproben kontinuierlich fotografierte Bilder sind.
  • Unter Bezugnahme auf 10 und 14 können kontinuierlich fotografierte Bilder Rahmen 0 bis Rahmen N, bei denen es sich um eine Vielzahl von Eingabeproben handelt, nacheinander verarbeitet werden. Wenn die Verarbeitung auf einem Rahmen N-1 abgeschlossen ist, kann das Quantisierungssystem 100a die Verarbeitung auf einem Rahmen N vorbereiten.
  • Das Quantisierungssystem 100a kann beispielsweise mindestens ein Bild aus den bereits verarbeiteten Bildern Rahmen 0 bis Rahmen N-1 auswählen. Bezogen auf 14 kann z. B. der Probengenerator 150a des Quantisierungssystems 100a das Bild N-1 auswählen. Darüber hinaus kann das Quantisierungssystem 100a ein Bild des nächsten Auftrags auf der Grundlage des ausgewählten Bildes erwarten. Bezogen auf 14, kann der Probengenerator 150a zum Beispiel erwarten, dass der Rahmen N basierend auf dem Rahmen N-1 einen erwarteten Rahmen N erzeugt.
  • Darüber hinaus kann das Quantisierungssystem 100a unter Verwendung des Bildes des nächsten Auftrags einen Kompensationsbias erzeugen. Unter Bezugnahme auf 14 kann der Bias-Kompensator 140a beispielsweise den erwarteten Rahmen N vom Probengenerator 150a empfangen und den empfangenen erwarteten Rahmen N als Referenzprobe X' bestimmen. Zusätzlich kann der Bias-Kompensator 140a den Quantisierungsfehler e_X' der Referenzprobe unter Verwendung eines Quantisierungsfehlers von mindestens einem der bereits verarbeiteten Bilder Rahmen 0 bis Rahmen N-1 bestimmen. In Beispielausführungsformen kann der Bias-Kompensator 140a einen Quantisierungsfehler des Rahmens N-1 als Quantisierungsfehler e_X' der Referenzprobe bestimmen oder den Quantisierungsfehler e_X' der Referenzprobe bestimmen, indem er den Mittelwert der Quantisierungsfehler einer voreingestellten Anzahl von zuletzt verarbeiteten Bildern erhält.
  • Quantisierungsfehler der bereits verarbeiteten Bilder Rahmen 0 bis Rahmen N-1 können in einem vorhergehenden Operationsprozess auf den bereits verarbeiteten Bildern Rahmen 0 bis Rahmen N-1 berechnen und im Speicher 160 gespeichert werden. Zum Beispiel können unter Verwendung der Eigenschaft, dass die Eingabeprobe X gleich der quantisierten Eingabeprobe q_X und der Quantisierungsfehler e X der Eingabeprobe ist, die Quantisierungsfehler der bereits verarbeiteten Bilder Rahmen 0 bis Rahmen N-1 berechnet und im Speicher 160 gespeichert werden. Dementsprechend kann der Bias-Kompensator 140a den Quantisierungsfehler von mindestens einem der bereits verarbeiteten Bilder Rahmen 0 bis Rahmen N-1 aus dem Speicher 160 lesen und den Quantisierungsfehler e_X' der Referenzprobe unter Verwendung des Lesefehlers bestimmen. In 14 ist zwar der Speicher 160 dargestellt und als im Quantisierungssystem 100a enthalten beschrieben, aber der Speicher 160 kann in dem neuronalen Netzwerksystem 200 enthalten oder in einer vom neuronalen Netzwerksystem 200 und dem Quantisierungssystem 100a getrennten Konfiguration implementiert werden.
  • Darüber hinaus kann der Bias-Kompensator 140a den Kompensationsbias q_bias1 oder q_bias2 basierend auf der Referenzprobe X' und dem Quantisierungsfehler e_X' der Referenzprobe X' erzeugen. Zusätzlich kann der Bias-Kompensator 140a den erzeugten Kompensationsbias q_bias1 oder q_bias2 über die neuronale Netzwerk-Schnittstelle 110 dem neuronalen Netzwerksystem 200 zuführen.
  • Dann kann der Probenquantisierer 130 den Rahmen N quantisieren, um einen quantisierten Rahmen N zu erzeugen. Außerdem kann der Probenquantisierer 130 den quantisierten Rahmen N dem neuronalen Netzwerksystem 200 über die neuronale Netzwerk-Schnittstelle 110 zuführen.
  • Darüber hinaus kann das neuronale Netzwerksystem 200 eine Operation auf der Grundlage des empfangenen quantisierten Rahmens N und des Kompensationsbias q_bias1 oder q_bias2 durchführen. Das neuronale Netzwerksystem 200 kann beispielsweise die MAC-Operation basierend auf dem quantisierten Rahmen N und einer quantisierten Gewichtung durchführen und den Kompensationsbias q_bias1 oder q_bias2 auf ein MAC-Operationsergebnis reflektieren, um die quantisierte Ausgabeprobe q_Y zu erzeugen.
  • 15 ist ein Ablaufdiagramm, das ein Operationsverfahren unter Verwendung eines ANN nach einer Ausführungsform veranschaulicht. 15 ist beispielsweise das Ablaufdiagramm, das das Operationsverfahren unter Verwendung des ANN des Computersystems 1000 oder 1000a von 2 oder 10 veranschaulicht.
  • Unter Bezugnahme auf 2, 10 und 15 kann das Computersystem 1000 oder 1000a Parameter des ANN (S410) quantisieren. Das Quantisierungssystem 100 oder 100a des Computersystems 1000 oder 1000a kann zum Beispiel die Parameter des ANN wie einer Gewichtung und einen Bias quantisieren. Darüber hinaus kann das Computersystem 1000 oder 1000a einen Kompensationsbias erzeugen, indem es den quantisierten Bias so kompensiert, dass er einen Fehler aufgrund der Quantisierung enthält (S420). Dabei kann der Kompensationsbias unter Verwendung mindestens eines von einem quantisierten Gewicht des ANN, einem Quantisierungsfehler der Gewichtung, dem quantisierten Bias, einem Quantisierungsfehler des Bias, einer Referenzprobe, einer quantisierten Referenzprobe und einem Quantisierungsfehler der Referenzprobe erzeugt werden. Die Referenzprobe kann durch eine Vielzahl von Proben bestimmt werden, die sich von einer Eingabeprobe unterscheiden, die gerade verarbeitet wird, oder sie kann durch mindestens eine der Eingabeproben bestimmt werden, die bereits verarbeitet wurden.
  • Außerdem kann das Computersystem 1000 oder 1000a die Eingabeprobe quantisieren (S430). Das Quantisierungssystem 100 oder 100a des Computersystems 1000 oder 1000a kann beispielsweise die Eingabeprobe quantisieren (S430). Darüber hinaus kann das Quantisierungssystem 100 oder 100a die quantisierte Eingabeprobe dem neuronalen Netzwerksystem 200 des Computersystems 1000 oder 1000a zuführen. Außerdem kann das Computersystem 1000 oder 1000a eine MAC-Operation auf der Grundlage der quantisierten Gewichtung und der quantisierten Eingabeprobe durchführen (S440). Das neuronale Netzwerksystem 200 kann beispielsweise die quantisierte Eingabeprobe empfangen und die MAC-Operation auf der Grundlage der quantisierten Gewichtung und der empfangenen quantisierten Eingabeprobe durchführen.
  • Darüber hinaus kann das Computersystem 1000 oder 1000a den Kompensationsbias zur Kompensation des Quantisierungsfehlers auf ein MAC-Operationsergebnis reflektieren (S450). Das neuronale Netzwerksystem 200 des Computersystems 1000 oder 1000a kann ein endgültiges Operationsergebnis erzeugen, indem es den vom Quantisierungssystem 100 oder 100a erhaltenen Kompensationsbias auf das MAC-Operationsergebnis reflektiert. Das Computersystem nach Beispielausführungsformen kann einen Erwartungswert eines Fehlers, der in einem Quantisierungsprozess als Kompensationsbias auftritt, erzeugen und den erzeugten Kompensationsbias durch ein quantisiertes ANN auf ein MAC-Operationsergebnis reflektieren. Dementsprechend kann das Operationsverfahren, das das ANN nach Beispielausführungsformen verwendet, aufgrund der Verwendung des quantisierten ANN eine verringerte Komplexität aufweisen und eine gute Leistung entsprechend der Reflektion des Kompensationsbias aufweisen.
  • 16 ist ein Blockdiagramm, das eine elektronische Vorrichtung 300 nach Beispielausführungsformen veranschaulicht.
  • In Beispielausführungsformen kann das Quantisierungssystem 100 oder 100a aus 2 oder 10 als elektronische Vorrichtung 300 aus 16 implementiert werden. Wie in 16 dargestellt, kann die elektronische Vorrichtung 300 einen Systemspeicher 310, einen Prozessor 330, einen Speicher 350, Ein-/Ausgabe (E/A)-Vorrichtungen 370 und/oder Kommunikationsverbindungen 390 enthalten. Die in der elektronischen Vorrichtung 300 enthaltenen Komponenten können kommunikativ miteinander z. B. über einen Bus verbunden sein.
  • Der Systemspeicher 310 kann ein Programm 312 enthalten. Das Programm 312 kann den Prozessor 330 veranlassen, die Quantisierung eines ANN nach Beispielausführungsformen, die Quantisierung einer Eingabeprobe und die Erzeugung eines Kompensationsbias durchzuführen. Das Programm 312 kann beispielsweise eine Vielzahl von Anweisungen enthalten, die vom Prozessor 330 ausgeführt werden können. Darüber hinaus kann die Vielzahl der im Programm 312 enthaltenen Anweisungen vom Prozessor 330 ausgeführt werden, um die Quantisierung des ANN, die Quantisierung der Eingabeprobe oder die Erzeugung der Kompensationsbias durchzuführen. Der Systemspeicher 310 kann als nicht einschränkendes Beispiel einen flüchtigen Speicher, wie etwa einen statischen Speicher mit wahlfreiem Zugriff (SRAM) und dynamischen Speicher mit wahlfreiem Zugriff (DRAM), oder einen nichtflüchtigen Speicher, wie etwa einen Flash-Speicher, enthalten.
  • Der Prozessor 330 kann mindestens einen Kern enthalten, der einen beliebigen Satz von Anweisungen ausführen kann (z. B. Intel Architecture-32 (IA-32), 64-Bit-Erweiterungen IA-32, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64 usw.). Der Prozessor 330 kann im Systemspeicher 310 gespeicherte Anweisungen ausführen und das Programm 312 ausführen, um die Quantisierung des ANN, die Quantisierung der Eingabeprobe oder die Erzeugung des Kompensationsbias durchzuführen.
  • Der Speicher 350 kann möglicherweise keine gespeicherten Daten verlieren, auch wenn die Leistungsversorgung der elektronischen Vorrichtung 300 blockiert ist. Der Speicher 350 kann zum Beispiel auch einen nichtflüchtigen Speicher, wie etwa einen elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), einen Flash-Speicher, Phasenwechselspeicher mit wahlfreiem Zugriff (PRAM), einen Widerstandsspeicher mit wahlfreiem Zugriff (RRAM), einen Nano-Floating-Gate-Speicher (NFGM), einen Polymerspeicher mit wahlfreiem Zugriff (PoRAM), einen Magnetspeicher mit wahlfreiem Zugriff (MRAM), einen ferroelektrischen Speicher mit wahlfreiem Zugriff (FRAM) usw., und ein Speichermedium, wie etwa ein Magnetband, eine optische Platte und eine Magnetplatte, enthalten. In einigen Beispielausführungsformen kann der Speicher 350 von der elektronischen Vorrichtung 300 entfernbar sein.
  • In Beispielausführungsformen kann der Speicher 350 für die Quantisierung des ANN nach Beispielausführungsformen, die Quantisierung der Eingabeprobe und die Erzeugung der Kompensationsbias das Programm 312 speichern. Und bevor das Programm 312 durch den Prozessor 330 ausgeführt wird, kann das Programm 312 oder zumindest ein Teil davon aus dem Speicher 350 in den Systemspeicher 310 geladen werden. In Beispielausführungsformen kann der Speicher 350 eine in einer Programmiersprache geschriebene Datei speichern, und das von einem Compiler oder dergleichen erzeugte Programm 312 oder zumindest ein Teil davon kann aus der Datei in den Systemspeicher 310 geladen werden.
  • In Beispielausführungsformen kann der Speicher 350 Daten speichern, die vom Prozessor 330 verarbeitet werden sollen und/oder Daten, die vom Prozessor 330 verarbeitet werden. Der Speicher 350 kann z. B. Eingabeproben, quantisierte Eingabeproben und Quantisierungsfehler der Eingabeproben sowie den erzeugten Kompensationsbias usw. speichern.
  • Die E/A-Vorrichtungen 370 können eine Eingabevorrichtung, wie z. B. eine Tastatur und eine Zeigevorrichtung, und eine Ausgabevorrichtung, wie z. B. eine Anzeigevorrichtung und einen Drucker, enthalten. Ein Benutzer kann beispielsweise die Ausführung des Programms 312 durch den Prozessor 330 über die E/A-Vorrichtungen 370 auslösen, die Eingabeprobe eingeben und eine Ausgabeprobe und/oder eine Fehlermeldung usw. identifizieren.
  • Die Kommunikationsverbindungen 390 können den Zugang zu einem Netzwerk außerhalb der elektronischen Vorrichtung 300 ermöglichen. Das Netzwerk kann zum Beispiel mehrere Computersysteme und Kommunikationsverbindungen enthalten, und die Kommunikationsverbindungen können drahtgebundene Verbindungen, optische Verbindungen, Drahtlos-Verbindungen oder jede andere Form von Verbindungen enthalten.
  • 17 ist ein Blockdiagramm, das eine elektronische Vorrichtung 400 nach Beispielausführungsformen veranschaulicht. In Beispielausführungsformen kann das neuronale Netzwerksystem 200 aus 2 oder 10 als die elektronische Vorrichtung 400 aus 17 implementiert werden. Die elektronische Vorrichtung 400 kann, als nicht einschränkendes Beispiel, jede mobile elektronische Vorrichtung sein, die durch eine Batterie oder durch Selbsterzeugung betrieben wird, wie z. B. ein Mobiltelefon, ein Tablet-PC, eine tragbare Vorrichtung, eine Vorrichtung für das Internet der Dinge usw.
  • Wie in 17 gezeigt, kann die elektronische Vorrichtung 400 ein Speichersubsystem 410, E/A-Vorrichtungen 430, eine Verarbeitungseinheit 450 und/oder eine Netzwerk-Schnittstelle 470 enthalten, und das Speichersubsystem 410, die E/A-Vorrichtungen 430, die Verarbeitungseinheit 450 und/oder die Netzwerk-Schnittstelle 470 können über einen Bus 490 miteinander kommunizieren. In einigen Beispielausführungsformen können mindestens zwei von dem Speichersubsystem 410, den E/A-Vorrichtungen 430, der Verarbeitungseinheit 450 und der Netzschnittstelle 470 als ein System-on-a-Chip (SoC) in einem Paket enthalten sein.
  • Das Speichersubsystem 410 kann ein RAM 412 und einen Speicher 414 enthalten. Im RAM 412 und/oder im Speicher 414 können von der Verarbeitungseinheit 450 ausgeführte Anweisungen und zu verarbeitende Daten gespeichert werden. Beispielsweise können im RAM 412 und/oder im Speicher 414 Parameter wie Signale, Gewichtungen und Biases eines ANN gespeichert werden. In einigen Beispielausführungsformen kann der Speicher 414 einen nichtflüchtigen Speicher enthalten.
  • Die Verarbeitungseinheit 450 kann eine zentrale Verarbeitungseinheit (CPU) 452, eine Grafikverarbeitungseinheit (GPU) 454, einen digitalen Signalprozessor (DSP) 456 und eine neuronale Verarbeitungseinheit (NPU) 458 enthalten. Anders als in 17 dargestellt, kann die Verarbeitungseinheit 450 in Beispielausführungsformen nur einen Teil der CPU 452, der GPU 454, des DSP 456 und der NPU 458 enthalten.
  • Die CPU 452 kann direkt den Gesamtbetrieb der elektronischen Vorrichtung 400, z. B. eine bestimmte Aufgabe als Reaktion auf eine externe Eingabe, die über die E/A-Vorrichtungen 430 empfangen wird, durchführen oder andere Komponenten der Verarbeitungseinheit 450 anweisen, den Gesamtbetrieb durchzuführen. Die GPU 454 kann Daten für eine Bildausgabe über eine in den E/A-Vorrichtungen 430 enthaltene Anzeigevorrichtung erzeugen oder Daten kodieren, die von einer in den E/A-Vorrichtungen 430 enthaltenen Kamera empfangen werden. Der DSP 456 kann nützliche Daten durch die Verarbeitung eines digitalen Signals, z. B. eines von der Netzwerk-Schnittstelle 470 zugeführten digitalen Signals, erzeugen.
  • Die NPU 458 ist eine dedizierte Hardware für das ANN und kann eine Vielzahl von Rechenknoten enthalten, die zumindest einigen künstlichen Neuronen entsprechen, die das ANN bilden, und zumindest einige der Vielzahl von Rechenknoten können Signale parallel verarbeiten. Da das nach Beispielausführungsformen quantisierte ANN eine höhere Genauigkeit und/oder eine geringere Berechnungskomplexität aufweist, kann das ANN leicht in der elektronischen Vorrichtung 400 von 17 implementiert werden, eine hohe Verarbeitungsgeschwindigkeit aufweisen und z. B. von der kleinen NPU 458 implementiert werden.
  • Die E/A-Vorrichtungen 430 können Eingabevorrichtungen, wie z. B. eine Berührungseingabevorrichtung, eine Toneingabevorrichtung, eine Kamera und Ausgabevorrichtungen, wie z. B. eine Anzeigevorrichtung und eine Tonausgabevorrichtung, enthalten. Wenn z. B. die Sprache des Benutzers über eine Toneingabevorrichtung eingegeben wird, kann die Sprache durch das in der elektronischen Vorrichtung 400 implementierte ANN erkannt und eine entsprechende Operation ausgelöst werden. Darüber hinaus kann bei der Eingabe eines Bildes über die Kamera ein im Bild enthaltenes Objekt durch ein in der elektronischen Vorrichtung 400 implementierte DNN erkannt und dem Benutzer eine Ausgabe wie z. B. virtuelle Realität zugeführt werden. Die Netzwerk-Schnittstelle 470 kann der elektronischen Vorrichtung 400 den Zugang zu einem mobilen Kommunikationsnetzwerk, wie LTE (LTE = Long Term Evolution), 5G usw. oder den Zugang zu einem lokalen Netzwerk, wie etwa Wi-Fi, ermöglichen.
  • Jedes der vorstehend offenbarten Elemente, die das neuronale Netzwerksystem und/oder das Quantisierungssystem enthalten, kann eine Verarbeitungsschaltung enthalten oder in einer Verarbeitungsschaltung implementiert sein, die Logikschaltungen enthaltende Hardware, eine Hardware/Software-Kombination, wie etwa einen Software ausführenden Prozessor, oder eine Kombination davon umfassen kann. Insbesondere kann die Verarbeitungsschaltung beispielsweise im Besonderen eine zentrale Verarbeitungseinheit (CPU), eine arithmetische Logikeinheit (ALU), einen digitalen Signalprozessor, einen Mikrocomputer, ein Field-Programmable-Gate-Array (FPGA), ein System-on-Chip (SoC), eine programmierbare Logikeinheit, einen Mikroprozessor, eine anwendungsspezifische integrierte Schaltung (ASIC) usw. enthalten, ist aber nicht darauf beschränkt.
  • In einigen Ausführungsformen kann das künstliche neuronale Netzwerk ANN Organisations- und Verarbeitungsmodelle, wie z. B. konvolutionäre neuronale Netzwerke (CNN), dekonvolutionäre neuronale Netzwerke, rekurrierende neuronale Netzwerke (RNN), die wahlweise Einheiten mit langem Kurzzeitgedächtnis (LSTM) und/oder gattergesteuerte rekurrierende Einheiten (GRU) enthalten, gestapelte neuronale Netzwerke (SNN), dynamische neuronale Netzwerke im Zustandsraum (SSDNN), Deep-Believe-Netzwerke (DBN), generative gegnerische Netzwerke (GANs) und/oder eingeschränkte Boltzmann-Maschinen (RBM), enthalten.
  • Alternativ oder zusätzlich kann das künstliche neuronale Netzwerk ANN auch andere Formen von Modellen des maschinellen Lernens, wie z. B. lineare und/oder logistische Regression, statistische Clusterbildung, Bayes'sche Klassifikation, Entscheidungsbäume, Dimensionalitätsreduktion wie z. B. Hauptkomponentenanalyse und Expertensysteme; und/oder Kombinationen davon, einschließlich Ensembles wie Zufallswälder, enthalten. Solche maschinellen Lernmodelle können auch dazu verwendet werden, verschiedene Dienste und/oder Anwendungen vorzusehen, z. B. kann ein Bildklassifizierungsdienst, ein Benutzerauthentifizierungsdienst auf der Grundlage einer/von Bioinformation(en) oder biometrischer Daten, ein Dienst für ein fortgeschrittenes Fahrerassistenzsystem (ADAS), ein Sprachassistenzdienst, ein Dienst für automatische Spracherkennung (ASR) oder ähnliches von elektronischen Vorrichtungen durchgeführt, ausgeführt oder verarbeitet werden.
  • Während die erfinderischen Konzepte insbesondere nach Beispielausführungsformen gezeigt und beschrieben worden sind, wird davon ausgegangen, dass darin verschiedene Änderungen in Form und Einzelheiten vorgenommen werden können, ohne vom Geist und Umfang der folgenden 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 1020190117485 [0001]
    • KR 1020200029807 [0001]

Claims (20)

  1. Computersystem, umfassend: ein neuronales Netzwerksystem, das zum Antreiben eines künstlichen neuronalen Netzwerks (ANN) eingerichtet ist; und ein Quantisierungssystem, das eingerichtet ist, um das ANN zu quantisieren, wobei das Quantisierungssystem ferner eingerichtet ist, um Parameter des ANN zu quantisieren, um die quantisierten Parameter des ANN zu erzeugen, um einen Quantisierungsfehler der Parameter des ANN auf der Grundlage der Parameter des ANN und der quantisierten Parameter zu erzeugen, um einen Kompensationsbias auf der Grundlage der quantisierten Parameter und des Quantisierungsfehlers der Parameter des ANN zu erzeugen und um die erzeugten quantisierten Parameter und den Kompensationsbias an das neuronale Netzwerksystem zu übertragen.
  2. Computersystem nach Anspruch 1, wobei das Quantisierungssystem ferner eingerichtet ist, um bei Empfang einer Eingabeprobe vom neuronalen Netzwerksystem die Eingabeprobe zu quantisieren und die quantisierte Eingabeprobe an das neuronale Netzwerksystem zu übertragen, und wobei das neuronale Netzwerksystem ferner eingerichtet ist, um bei Empfang der quantisierten Eingabeprobe eine erste Multiplizieren-Akkumulieren (MAC)-Operation auf der Grundlage der quantisierten Eingabeprobe und der quantisierten Parameter durchzuführen und den Kompensationsbias auf ein Ergebnis der ersten MAC-Operation zu reflektieren, um ein endgültiges Operationsergebnis zu erzeugen.
  3. Computersystem nach Anspruch 1, wobei die Parameter des ANN eine Gewichtung und einen Bias des ANN umfassen, wobei die quantisierten Parameter eine quantisierte Gewichtung und einen quantisierten Bias umfassen, und wobei der Quantisierungsfehler der Parameter einen Quantisierungsfehler der Gewichtung und einen Quantisierungsfehler des Bias umfasst.
  4. Computersystem nach Anspruch 3, wobei das Quantisierungssystem ferner eingerichtet ist, um eine Referenzprobe zu identifizieren, um den Kompensationsbias zu erzeugen, die Referenzprobe zu quantisieren, um eine quantisierte Referenzprobe zu erzeugen, einen Quantisierungsfehler der Referenzprobe auf der Basis der Referenzprobe und der quantisierten Referenzprobe zu erzeugen und den Kompensationsbias auf der Basis von mindestens einem von der Referenzprobe, der quantisierten Referenzprobe, dem Quantisierungsfehler der Referenzprobe, den quantisierten Parametern und dem Quantisierungsfehler der Parameter des ANN zu erzeugen.
  5. Computersystem nach Anspruch 4, wobei das Quantisierungssystem ferner eingerichtet ist, um eine zweite MAC-Operation auf der Grundlage der Referenzprobe und des Quantisierungsfehlers der Gewichtung durchzuführen, eine dritte MAC-Operation auf der Grundlage des Quantisierungsfehlers der Referenzprobe und der quantisierten Gewichtung durchzuführen und den Kompensationsbias auf der Grundlage eines Ergebnisses der zweiten MAC-Operation und eines Ergebnisses der dritten MAC-Operation zu erzeugen.
  6. Computersystem nach Anspruch 5, wobei das Quantisierungssystem ferner eingerichtet ist, um das Ergebnis der zweiten MAC-Operation, das Ergebnis der dritten MAC-Operation und den Bias des ANN aufzusummieren, um den Kompensationsbias zu erzeugen.
  7. Computersystem nach Anspruch 6, wobei das Quantisierungssystem ferner eingerichtet ist, um einen Durchschnittswert eines Ergebnisses der Summierung zu berechnen und den Kompensationsbias, der den berechneten Durchschnittswert als skalaren Wert aufweist, zu erzeugen.
  8. Computersystem nach Anspruch 4, wobei das Quantisierungssystem ferner eingerichtet ist, um eine vierte MAC-Operation auf der Grundlage der quantisierten Referenzprobe und des Quantisierungsfehlers der Gewichtung durchzuführen, eine fünfte MAC-Operation auf der Grundlage des Quantisierungsfehlers der Referenzprobe und der Gewichtung des ANN durchzuführen und den Kompensationsbias auf der Grundlage eines Ergebnisses der vierten MAC-Operation und eines Ergebnisses der fünften MAC-Operation zu erzeugen.
  9. Computersystem nach Anspruch 4, wobei das neuronale Netzwerksystem ferner eingerichtet ist, um mindestens eine erste Probe aus einem Probenpool auszuwählen und die mindestens eine erste Probe an das Quantisierungssystem zu übertragen, und wobei das Quantisierungssystem ferner eingerichtet ist, um die Referenzprobe auf der Grundlage der mindestens einen ersten Probe zu erzeugen, die mindestens eine erste Probe quantisiert, um die quantisierte mindestens eine erste Probe zu erzeugen, und die quantisierte Referenzprobe unter Verwendung der quantisierten mindestens einen ersten Probe zu erzeugen.
  10. Computersystem nach Anspruch 9, wobei das neuronale Netzwerksystem ferner eingerichtet ist, um eine Vielzahl von zweiten Proben aus dem Probenpool auszuwählen, eine Operation an der Vielzahl von zweiten Proben über das ANN durchzuführen und die mindestens eine erste Probe auf der Grundlage eines Ergebnisses der Operation auszuwählen.
  11. Computersystem nach Anspruch 10, wobei das neuronale Netzwerksystem ferner eingerichtet ist, um auf der Grundlage des Ergebnisses der Operation statistische Verteilungen von Ausgabeproben jeder der Schichten, die das ANN bilden, zu identifizieren und die mindestens eine erste Probe auf der Grundlage der identifizierten statistischen Verteilungen auszuwählen.
  12. Computersystem nach Anspruch 3, wobei das Quantisierungssystem ferner eingerichtet ist, um eine Probe eines nächsten Auftrags auf der Grundlage von mindestens einer dritten Probe, die von dem neuronalen Netzwerksystem auf der Grundlage der quantisierten Parameter verarbeitet wird, zu erwarten, um eine erwartete Eingabeprobe zu erzeugen, einen Quantisierungsfehler der erwarteten Eingabeprobe auf der Grundlage eines Quantisierungsfehlers der mindestens einen dritten Probe zu erzeugen und den Kompensationsbias auf der Grundlage der erwarteten Eingabeprobe, des Quantisierungsfehlers der erwarteten Eingabeprobe, der quantisierten Parameter und des Quantisierungsfehlers der Parameter des ANN zu erzeugen.
  13. Computersystem nach Anspruch 12, wobei das Quantisierungssystem ferner eingerichtet ist, um einen Bewegungsvektor der mindestens einen dritten Probe zu berechnen und die erwartete Eingabeprobe unter Verwendung des berechneten Bewegungsvektors zu erzeugen.
  14. Operationsverfahren, das unter Verwendung eines künstlichen neuronalen Netzwerks (ANN) durchgeführt wird, wobei das Operationsverfahren umfasst: Quantifizieren einer Gewichtung und eines Bias des ANN; Erzeugen eines Kompensationsbias durch Kompensation des quantisierten Bias, um einen Fehler aufgrund der Quantisierung zu enthalten; Quantisieren einer Eingabeprobe; Durchführen einer ersten Multiplizieren-Akkumulieren (MAC)-Operation auf der Grundlage der quantisierten Gewichtung des ANN und der quantisierten Eingabeprobe; und Reflektieren des Kompensationsbias auf ein Ergebnis der ersten MAC-Operation.
  15. Operationsverfahren nach Anspruch 14, wobei die Erzeugung des Kompensationsbias die Kompensation des quantisierten Bias auf der Grundlage eines ersten Fehlers, der als ein Quantisierungsfehler einer Referenzprobe definiert ist, und eines zweiten Fehlers, der als ein Quantisierungsfehler der Gewichtung definiert ist, umfasst.
  16. Operationsverfahren nach Anspruch 15, wobei die Erzeugung des Kompensationsbias umfasst: Durchführen einer zweiten MAC-Operation auf der Grundlage der quantisierten Gewichtung und des ersten Fehlers; Durchführen einer dritten MAC-Operation auf der Grundlage der Referenzprobe und des zweiten Fehlers; und Kompensation des quantisierten Bias auf der Grundlage eines Ergebnisses der zweiten MAC-Operation und eines Ergebnisses der dritten MAC-Operation.
  17. Operationsverfahren nach Anspruch 16, wobei die Kompensation des quantisierten Bias auf der Grundlage des Ergebnisses der zweiten MAC-Operation und des Ergebnisses der dritten MAC-Operation umfasst: Summierung des Ergebnisses der zweiten MAC-Operation, des Ergebnisses der dritten MAC-Operation und des Bias des ANN; und Kompensation für den quantisierten Bias, so dass dieser ein Ergebnis der Summierung darstellt.
  18. Operationsverfahren nach Anspruch 17, wobei die Kompensation für den quantisierten Bias, der das Ergebnis der Summierung umfasst, umfasst: Berechnen eines Durchschnittswertes des Ergebnisses der Summierung; und Kompensation für den quantisierten Bias, so dass dieser den berechneten Durchschnittswert als skalaren Wert darstellt.
  19. Operationsverfahren nach Anspruch 15, wobei das Erzeugen des Kompensationsbias umfasst: Durchführen einer vierten MAC-Operation auf der Grundlage der Gewichtung und des ersten Fehlers; Quantisieren der Referenzprobe; Durchführen einer fünften MAC-Operation auf der Grundlage der quantisierten Referenzprobe und des quantisierten Fehlers der Gewichtung; und Kompensation für den quantisierten Bias auf der Grundlage eines Ergebnisses der vierten MAC-Operation und eines Ergebnisses der fünften MAC-Operation.
  20. Quantisierungsverfahren eines künstlichen neuronalen Netzwerks (ANN), wobei das Quantisierungsverfahren umfasst: Quantisieren von Parametern des ANN; Berechnen eines Quantisierungsfehlers der Parameter auf der Grundlage der Parameter des ANN und der quantisierten Parameter; und Erzeugen eines Kompensationsbias auf der Grundlage der quantisierten Parameter und des Quantisierungsfehlers der Parameter.
DE102020123155.5A 2019-09-24 2020-09-04 Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und Operationsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks Pending DE102020123155A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20190117485 2019-09-24
KR10-2019-0117485 2019-09-24
KR10-2020-0029807 2020-03-10
KR1020200029807A KR20210035702A (ko) 2019-09-24 2020-03-10 인공 신경망의 양자화 방법 및 인공 신경망을 이용한 연산 방법

Publications (1)

Publication Number Publication Date
DE102020123155A1 true DE102020123155A1 (de) 2021-03-25

Family

ID=74846466

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020123155.5A Pending DE102020123155A1 (de) 2019-09-24 2020-09-04 Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und Operationsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks

Country Status (3)

Country Link
US (1) US20210089898A1 (de)
CN (1) CN112633464A (de)
DE (1) DE102020123155A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114444650A (zh) * 2020-11-06 2022-05-06 安霸国际有限合伙企业 改进量化的多级对象检测网络的准确度的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102601604B1 (ko) * 2017-08-04 2023-11-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
CN107396124B (zh) * 2017-08-29 2019-09-20 南京大学 基于深度神经网络的视频压缩方法
US20210374510A1 (en) * 2019-08-23 2021-12-02 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
US20210089898A1 (en) 2021-03-25
CN112633464A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
DE102020105535A1 (de) Neuronale Netzwerkvorrichtung und Verfahren zum Quantisieren von Parametern eines neuronalen Netzwerks
DE202019106182U1 (de) Neuronenarchitektursuche mit faktorisiertem hierarchischem Suchraum
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE102018129424A1 (de) System und verfahren zum lernen der struktur von tiefen neuronalen netzwerken
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE202016107436U1 (de) Neuronaler Netzwerkprozessor
DE102018128080A1 (de) Verfahren und Vorrichtung zur Quantisierung eines künstlichen neuronalen Netzwerkes
DE102019135474A1 (de) Zuordnung und quantifizierung des einflusses von features neuronaler netze für explainable artificial intelligence
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
DE102021200012A1 (de) Optimierte quantisierung für neuronale netze mit verringerter auflösung
DE112020004031T5 (de) Systembezogene selektive quantisierung für in der leistungsfähigkeit optimiertes verteiltes deep learning
DE112019006156T5 (de) Erkennung und behandlung von unsachgemässen eingaben durch neuronale netzwerke
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE102022105748A1 (de) Effiziente optimierung für den einsatz und die ausführung neuronaler netze
DE112019000676T5 (de) Zentraler scheduler und anweisungszuteiler für einen neuronalen inferenzprozessor
DE102022003003A1 (de) Automatische Fotobearbeitung mittels sprachlicher Anweisung
DE102018206108A1 (de) Generieren von Validierungsdaten mit generativen kontradiktorischen Netzwerken
DE112020003050T5 (de) Fehlerkompensation in analogen neuronalen netzen
DE102021107510A1 (de) Training eines neuronalen netzwerks unter speicherbeschränkung
DE102018127802A1 (de) Hybrider klassifikator eines gepulsten neuronalen netzwerks und einer support-vektor-maschine
DE112019006317T5 (de) Implementierung eines mehrschichtigen neuronalen netzwerks unter verwendung einer einzigen physikalischen schicht aus analogen neuronen
DE112021005739T5 (de) Erzeugung von peptid-basiertem impfstoff
DE102020123155A1 (de) Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und Operationsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks
DE112021003881T5 (de) Online-training von neuronalen netzen
DE102019113874A1 (de) Hochpräzises niedrigbit-convolutional-neural-network

Legal Events

Date Code Title Description
R012 Request for examination validly filed