DE102021212526A1 - Data processing device and method and program for deep learning of a neural network - Google Patents
Data processing device and method and program for deep learning of a neural network Download PDFInfo
- Publication number
- DE102021212526A1 DE102021212526A1 DE102021212526.3A DE102021212526A DE102021212526A1 DE 102021212526 A1 DE102021212526 A1 DE 102021212526A1 DE 102021212526 A DE102021212526 A DE 102021212526A DE 102021212526 A1 DE102021212526 A1 DE 102021212526A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- learning
- processing
- neural network
- parameter
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Processing (AREA)
Abstract
[Aufgabe]Einem neuronalen Netzwerk wird eine gewünschte Eigenschaft im Voraus verliehen.[Lösungsmittel]Es ist eine Datenverarbeitungsvorrichtung (1D) zum Durchführen eines tiefen Lernens eines neuronalen Netzwerkes (30). Die Datenverarbeitungsvorrichtung (1D) umfasst einen Berechnungsverarbeitungsabschnitt (11), der ein neuronales Netzwerk (30) aufweist, welches aus Eingabedaten mithilfe eines Parameters Vorhersagedaten berechnet, und der die Vorhersagedaten ausgibt, und einen Lernverarbeitungsabschnitt (12D), der eine Lernverarbeitung ausführt, mit der mithilfe von Trainingsdaten, bei denen es sich um im Voraus zugeordnete Paare von Eingabedaten und Ausgabedaten handelt, der Parameter aktualisiert wird. Der Lernverarbeitungsabschnitt (12D) führt vor der Lernverarbeitung eine Vorverarbeitung aus, mit der dem Vorhersagemodell eine Eigenschaft verliehen wird.[Objection] A desired property is imparted to a neural network in advance. [Solvent] It is a data processing apparatus (1D) for performing deep learning of a neural network (30). The data processing device (1D) comprises a calculation processing section (11) which has a neural network (30) which calculates prediction data from input data using a parameter and which outputs the prediction data, and a learning processing section (12D) which executes learning processing with which using training data, which are pre-matched pairs of input data and output data, the parameter is updated. The learning processing section (12D) performs pre-processing for imparting a property to the prediction model before the learning processing.
Description
[Technisches Gebiet][Technical Field]
Die vorliegende Erfindung betrifft eine Datenverarbeitungsvorrichtung sowie ein Verfahren und ein Programm zum tiefen Lernen eines neuronalen Netzwerkes.The present invention relates to a data processing device and a method and a program for deep learning of a neural network.
[Stand der Technik][State of the art]
Herkömmlich sind neuronale Netzwerke als eine Art von Vorhersagemodell bekannt. Ein neuronales Netzwerk lernt eine Kombination von Eingabedaten und Ausgabedaten, d. h. Trainingsdaten. Der im Vorhersagemodell zur Berechnung der Ausgabedaten verwendete Parameter wird durch Lernen optimiert, damit eine optimale Lösung nicht nur für die Trainingsdaten, sondern auch für unbekannte Daten ausgegeben werden kann.Conventionally, neural networks are known as a kind of predictive model. A neural network learns a combination of input data and output data, i. H. training data. The parameter used in the prediction model to calculate the output data is optimized through learning so that an optimal solution can be output not only for the training data but also for unknown data.
Als Methode zum Optimieren des Parameters ist das Backpropagation-Verfahren bekannt. Beim Backpropagation-Verfahren kann es dazu kommen, dass der Parameter keine globale optimale Lösung erreicht, sondern auf eine lokale Lösung gerät. Um dies zu vermeiden, wird manchmal das Backpropagation-Verfahren mit einem Zeitplan eines Dropouts kombiniert und eine Abkühlung durchgeführt (siehe z. B. Patentdokument 1). Ferner wird ggf. anstelle des Backpropagation-Verfahrens auch das Monte-Carlo-Verfahren verwendet (siehe z. B. Patentdokument 2).The backpropagation method is known as a method for optimizing the parameter. In the case of the backpropagation method, it can happen that the parameter does not achieve a global optimal solution, but arrives at a local solution. To avoid this, the back propagation method is sometimes combined with a schedule of dropout and cooling is performed (e.g., see Patent Document 1). Further, the Monte Carlo method may also be used instead of the backpropagation method (for example, see Patent Document 2).
[Dokumente zum Stand der Technik][Prior Art Documents]
[Patentdokumente][patent documents]
-
[Patentdokument 1]
US 10,380,484 B2 U.S. 10,380,484 B2 -
[Patentdokument 2]
JP 3178884 B2 JP 3178884 B2
[Zusammenfassung der Erfindung][Summary of the Invention]
[Zu lösende Aufgabe der Erfindung][Object to be solved by the invention]
Anhand der gegebenen Trainingsdaten extrahiert der Parameter Merkmale der Eingabedaten und teilt diese ein, und wird aktualisiert, um die optimale Lösung herzuleiten. Normalerweise beginnt eine Aktualisierung des Parameters aus einem Zustand heraus, in dem der Parameter auf einen beliebigen Wert, wie 0, eine Zufallszahl usw., rückgesetzt worden ist.Given the training data, the parameter extracts and bins features of the input data and is updated to derive the optimal solution. Normally an update of the parameter starts from a state where the parameter has been reset to an arbitrary value like 0, a random number and so on.
Da somit durch Lernen in einem rückgesetzten Zustand, in den ein beliebiger Parameter eingestellt wurde, ein Vorhersagemodell erstellt wird, werden die Eigenschaften des erstellten Vorhersagemodells durch die Trainingsdaten verliehen. In der Regel werden beim Lernen Trainingsdaten verwendet, die im Voraus abgetastet wurden, doch diese werden nicht unbedingt mit demselben Gewicht abgetastet, so dass es dazu kommen kann, dass eine gewünschte Eigenschaft dem Vorhersagemodell nicht verliehen werden kann.Thus, since a predictive model is created by learning in a reset state in which an arbitrary parameter has been set, the characteristics of the created predictive model are imparted by the training data. Typically, learning uses training data that has been sampled in advance, but these are not necessarily sampled with the same weight, and a desired property may not be imparted to the predictive model.
Ferner ist es bei Vorhersagemodellen wie neuronalen Netzwerken schwierig, die Grundsätze, d. h. wie sie während der Berechnung der Ausgabedaten aus den Eingabedaten die Eingabedaten einteilen, zu verstehen. Da unklar ist, durch welches Lernen dem Vorhersagemodell die gewünschten Eigenschaften verliehen werden können, war die Gestaltung der Lerninhalte schwierig.Furthermore, with predictive models such as neural networks, it is difficult to apply the principles, i. H. understand how they partition the input data while computing the output data from the input data. Since it is unclear by which learning the desired properties can be imparted to the prediction model, the design of the learning content was difficult.
Ziel der vorliegenden Erfindung ist es, einem neuronalen Netzwerk eine gewünschte Eigenschaft im Voraus zu verleihen.The object of the present invention is to impart a desired property to a neural network in advance.
[Mittel zum Lösen der Aufgabe][means for solving the task]
Ein Aspekt der vorliegenden Erfindung ist eine Datenverarbeitungsvorrichtung (1D) zum Durchführen eines tiefen Lernens eines neuronalen Netzwerkes. Die Datenverarbeitungsvorrichtung (1D) umfasst einen Berechnungsverarbeitungsabschnitt (11), der ein neuronales Netzwerk (30) aufweist, welches aus Eingabedaten mithilfe eines Parameters Vorhersagedaten berechnet, und der die Vorhersagedaten ausgibt, und einen Lernverarbeitungsabschnitt (12D), der eine Lernverarbeitung ausführt, mit der mithilfe von Trainingsdaten, bei denen es sich um im Voraus zugeordnete Paare von Eingabedaten und Ausgabedaten handelt, der Parameter aktualisiert wird. Der Lernverarbeitungsabschnitt (12D) führt vor der Lernverarbeitung eine Vorverarbeitung aus, mit der dem neuronalen Netzwerk (30) eine Eigenschaft verliehen wird.One aspect of the present invention is a data processing apparatus (1D) for performing deep learning of a neural network. The data processing device (1D) comprises a calculation processing section (11) which has a neural network (30) which calculates prediction data from input data using a parameter and which outputs the prediction data, and a learning processing section (12D) which executes learning processing with which using training ten, which are pre-associated pairs of input data and output data, the parameter is updated. The learning processing section (12D) carries out pre-processing for imparting a property to the neural network (30) before the learning processing.
Ein anderer Aspekt der vorliegenden Erfindung ist ein Verfahren zum tiefen Lernen eines neuronalen Netzwerkes (30), das aus Eingabedaten mithilfe eines Parameters Vorhersagedaten berechnet. Das Verfahren umfasst Schritte zum Ausführen einer Lernverarbeitung, mit der der Parameter mithilfe von Trainingsdaten, bei denen es sich um im Voraus zugeordnete Paare von Eingabedaten und Ausgabedaten handelt, aktualisiert wird, und vor der Lernverarbeitung Schritte zum Ausführen einer Vorverarbeitung, mit der dem neuronalen Netzwerk (30) eine Eigenschaft verliehen wird.Another aspect of the present invention is a method for deep learning a neural network (30) that computes prediction data from input data using a parameter. The method includes steps of performing learning processing that updates the parameter using training data that are pairs of input data and output data associated in advance, and prior to the learning processing, steps of performing pre-processing that uses the neural network (30) a property is bestowed.
Ein anderer Aspekt der vorliegenden Erfindung ist ein Programm, das für ein tiefes Lernen eines neuronalen Netzwerkes (30), das aus Eingabedaten mithilfe eines Parameters Vorhersagedaten berechnet, durch einen Computer ausgeführt wird. Das Programm veranlasst den Computer, Schritte zum Ausführen einer Lernverarbeitung, mit der der Parameter mithilfe von Trainingsdaten, bei denen es sich um im Voraus zugeordnete Paare von Eingabedaten und Ausgabedaten handelt, aktualisiert wird, und vor der Lernverarbeitung Schritte zum Ausführen einer Vorverarbeitung, mit der dem neuronalen Netzwerk (30) eine Eigenschaft verliehen wird, auszuführen.Another aspect of the present invention is a program executed by a computer for deep learning of a neural network (30) that calculates prediction data from input data using a parameter. The program causes the computer to perform steps of performing learning processing that updates the parameter using training data, which are pairs of input data and output data associated in advance, and prior to the learning processing, steps of performing preprocessing that imparting a property to the neural network (30) to execute.
[Vorteile der Erfindung][Advantages of the invention]
Die vorliegende Erfindung ermöglicht es, einem neuronalen Netzwerk eine gewünschte Eigenschaft im Voraus zu verleihen.The present invention makes it possible to impart a desired property to a neural network in advance.
Figurenlistecharacter list
-
[
1 ] zeigt die Anordnung einer Datenverarbeitungsvorrichtung einer ersten Ausführungsform.[1 ] shows the arrangement of a data processing apparatus of a first embodiment. -
[
2 ] zeigt ein beispielhaftes mehrschichtiges neuronales Netzwerk.[2 ] shows an example multi-layer neural network. -
[
3 ] zeigt die Anordnung eines Systems, das ein Implementierungsbeispiel der Datenverarbeitungsvorrichtung ist.[3 ] shows the arrangement of a system which is an implementation example of the data processing apparatus. -
[
4 ] ist ein Flussdiagramm einer Lernverarbeitung in der ersten Ausführungsform.[4 ] is a flowchart of learning processing in the first embodiment. -
[
5 ] zeigt die Anordnung einer Datenverarbeitungsvorrichtung einer zweiten Ausführungsform.[5 ] shows the arrangement of a data processing apparatus of a second embodiment. -
[
6 ] zeigt ein neuronales Netzwerk, in dem ein Dropout durchgeführt wurde.[6 ] shows a neural network in which a dropout was performed. -
[
7 ] zeigt die Anordnung einer Datenverarbeitungsvorrichtung einer dritten Ausführungsform.[7 ] shows the arrangement of a data processing apparatus of a third embodiment. -
[
8 ] ist ein Flussdiagramm einer Lernverarbeitung in der dritten Ausführungsform.[8th ] is a flowchart of learning processing in the third embodiment. -
[
9 ] zeigt konzeptionell die Komplexität der Ausgabegrenze.[9 ] conceptually shows the complexity of the output boundary. -
[
10 ] ist ein Flussdiagramm einer Lernverarbeitung in einer vierten Ausführungsform.[10 ] is a flowchart of learning processing in a fourth embodiment. -
[
11 ] zeigt die Anordnung einer Datenverarbeitungsvorrichtung einer fünften Ausführungsform.[11 ] shows the arrangement of a data processing apparatus of a fifth embodiment. -
[
12 ] ist ein Flussdiagramm einer Vorverarbeitung in der fünften Ausführungsform.[12 ] is a flowchart of pre-processing in the fifth embodiment. -
[
13 ] ist ein Flussdiagramm einer Vorverarbeitung in einer sechsten Ausführungsform.[13 ] is a flowchart of pre-processing in a sixth embodiment.
[Ausführungsformen der Erfindung][Embodiments of the invention]
Im Folgenden werden Ausführungsformen einer Datenverarbeitungsvorrichtung sowie eines Verfahrens und eines Programms zum tiefen Lernen eines neuronalen Netzwerkes der vorliegenden Erfindung anhand der Zeichnungen erläutert. Die im Folgenden erläuterten Anordnungen sind Beispiele (repräsentative Beispiele) der vorliegenden Erfindung und die Erfindung ist jedoch nicht darauf beschränkt.In the following, embodiments of a data processing device and a method and a program for deep learning of a neural network of the present invention are explained with reference to the drawings. The configurations explained below are examples (representative examples) of the present invention, and the invention is not limited thereto.
[Erste Ausführungsform][First embodiment]
Die Datenverarbeitungsvorrichtung 1A ist mit einem Berechnungsverarbeitungsabschnitt 11 und einem Lernverarbeitungsabschnitt 12A ausgestattet. Die Datenverarbeitungsvorrichtung 1A führt ein tiefes Lernen eines neuronalen Netzwerkes aus. Als tiefes Lernen wird ein maschinelles Lernen eines mehrschichtigen neuronalen Netzwerkes bezeichnet.The
(Der Berechnungsverarbeitungsabschnitt)(The calculation processing section)
Der Berechnungsverarbeitungsabschnitt 11 berechnet aus Eingabedaten x Vorhersagedaten y*. Die Vorhersagedaten y* sind Daten (z. B. mehrwertig von 0 bis 1), die eine Wahrscheinlichkeit, zu einer von mehreren Lösungen zu gehören, darstellen. Der Berechnungsverarbeitungsabschnitt 11 verfügt über ein mehrschichtiges neuronales Netzwerk, in dem ein Parameter θ eingestellt ist, und führt durch das neuronale Netzwerk mithilfe des Parameters θ die Berechnung der Vorhersagedaten y* aus.The
Das neuronale Netzwerk 30 ist in jeder Schicht mit einer Mehrzahl von Knoten 31 und mit einer Mehrzahl von die Knoten 31 jeder Schicht verbindenden Kanten 32 ausgestattet. Jedem Knoten 31 sind ein Parameter eines Bias b und eine Aktivierungsfunktion fn zugeordnet. Jeder Kante 32 ist ein Parameter eines Gewichts wi zugeordnet.The
Im neuronalen Netzwerk 30 wird die folgende Vorwärtspropagationsberechnung durchgeführt.In the
Zunächst werden Eingabedaten xi in jeden der Knoten 31 der Eingabeschicht 4a eingegeben. Mit xi ist die Menge mit einer Anzahl i von Variablen x1, x2, ..., xi gemeint. Die Eingabedaten xi werden von der Eingabeschicht 4a über die Kanten 32 in jeden der Knoten 31 der versteckten Schichten 4b ausgegeben.First, input data xi is input to each of the
An jedem der Knoten 31 der versteckten Schichten 4b werden aus den Eingabedaten xi Ausgabedaten yi berechnet. Die nachstehenden Formeln (1) und (2) stellen die Berechnungsformeln dafür dar.
[Mathematische Formel 1]
[Mathematical Formula 1]
In den obigen Formeln (1) und (2) steht wi für ein Gewicht, das einer Kante 32 zugeordnet ist. b steht für ein Bias, das einem Knoten 31 zugeordnet ist. fn steht für eine Aktivierungsfunktion, die einem Knoten 31 zugeordnet ist.In formulas (1) and (2) above, wi represents a weight associated with an
Die berechneten Ausgabedaten yi werden über die Kanten 32 an jeden der Knoten 31 der nachfolgenden Schicht ausgegeben. An den Knoten 31 der nachfolgenden Schicht wird dieselbe Berechnung wie oben erläutert durchgeführt, wobei die von jedem der Knoten 31 der vorhergehenden Schicht kommenden Anzahl i von Ausgabedaten yi als Eingabedaten xi verwendet wird. Schließlich werden die an den Knoten 31 der Ausgabeschicht 4c berechneten Ausgabedaten yi als Vorhersagedaten y* ausgegeben.The calculated output data yi is output via the
Die Anzahl der Schichten im neuronalen Netzwerk 30 sowie die Anzahl der Knoten 31 in jeder der Schichten können in geeigneter Weise eingestellt werden.The number of layers in the
(Der Lernverarbeitungsabschnitt)(The learning processing section)
Der Lernverarbeitungsabschnitt 12A bringt dem neuronalen Netzwerk 30 des Berechnungsverarbeitungsabschnitts 11 Trainingsdaten bei. Durch das Lernen wird der im neuronalen Netzwerk 30 eingestellte Parameter θ aktualisiert. Der Lernverarbeitungsabschnitt 12A der vorliegenden Ausführungsform kann nicht nur ein Online-Lernen ausführen, bei dem der Parameter θ mithilfe eines einzelnen Trainingsdatums einmal aktualisiert wird, sondern er kann ein Mini-Batch-Lernen ausführen, bei dem der Parameter θ mithilfe einer Trainingsdatengruppe, die aus einer Mehrzahl von Trainingsdaten besteht, einmal aktualisiert wird.The
Der Lernverarbeitungsabschnitt 12A ist mit einem Erfassungsabschnitt 121, einem Datenspeicherabschnitt 122, einem Datenerzeugungsabschnitt 123, einem Aktualisierungsabschnitt 124 und einem Mischungssteuerabschnitt 125 ausgestattet.The
Der Erfassungsabschnitt 121 erhält aus dem Datenspeicherabschnitt 122 Trainingsdaten D(x,y), die beim Lernen verwendet werden. Beim Mini-Batch-Lernen kann der Erfassungsabschnitt 121 eine Trainingsdatengruppe erzeugen, die aus einer Mehrzahl von Trainingsdaten D(x,y) besteht.The
Der Erfassungsabschnitt 121 erhält vom Datenerzeugungsabschnitt 123 Rauschdaten Dn(x,y) und kann eine Trainingsdatengruppe erzeugen, in der den Trainingsdaten D(x,y) die Rauschdaten Dn(x,y) beigemischt sind.The acquiring
Der Datenspeicherabschnitt 122 speichert die Trainingsdaten D(x,y). Die Trainingsdaten D(x,y) sind im Voraus zugeordnete Paare von Eingabedaten x und Ausgabedaten y. In den Trainingsdaten D(x,y) stehen die Eingabedaten x und die Ausgabedaten y in einer Beziehung von Beispiel und Lösung.The
Der Datenerzeugungsabschnitt 123 erzeugt Rauschdaten Dn(x,y). Die Rauschdaten Dn(x,y) sind Paare von Eingabedaten x und Ausgabedaten y, die sich von den Trainingsdaten D(x,y) unterscheiden. Die Eingabedaten x und die Ausgabedaten y der Rauschdaten Dn(x,y) sind voneinander unabhängig, egal, ob sie in einer Beziehung von Beispiel und Lösung stehen wie die Trainingsdaten D(x,y).The
Konkret werden die Eingabedaten x der Rauschdaten Dn(x,y) beliebig aus einer Datengruppe extrahiert, die im gleichen Datenraum wie die Eingabedaten x der Trainingsdaten D(x,y) liegt. Separat von dieser Extraktion der Eingabedaten x werden die Ausgabedaten y der Rauschdaten Dn(x,y) beliebig aus einer Datengruppe extrahiert, die im gleichen Datenraum wie die Ausgabedaten y der Trainingsdaten D(x,y) liegt. Die Rauschdaten Dn(x,y) ergeben sich, indem die Kombinationen der Eingabedaten x und der Ausgabedaten y der Trainingsdaten D(x,y) aus den Kombinationen der jeweils unabhängig voneinander extrahierten Eingabedaten x und Ausgabedaten y eliminiert werden.Concretely, the input data x of the noise data Dn(x,y) is arbitrarily extracted from a data group that is in the same data space as the input data x of the training data D(x,y). Separately from this extraction of the input data x, the output data y of the noise data Dn(x,y) is arbitrarily extracted from a data group lying in the same data space as the output data y of the training data D(x,y). The noise data Dn(x,y) result from the combinations of the input data x and the output data y of the training data D(x,y) being eliminated from the combinations of the input data x and output data y extracted independently of one another.
In den Trainingsdaten D(x,y) sind Eingabedaten x und Ausgabedaten y zugeordnet, für die im Voraus eine Beziehung von Beispiel und Lösung erkannt wurde. Beispielsweise werden bei der Vorhersage, ob es sich um eine Katze oder einen Hund handelt, aus Bildern von Katzen extrahierte Merkmale als Eingabedaten x und Katzen darstellende Daten (z. B. Daten, bei denen Katzen 0 und Hunde 1 sind) als Ausgabedaten y zugeordnet. Andererseits werden in den Rauschdaten Dn(x,y) unabhängig voneinander extrahierte Eingabedaten x und Ausgabedaten y kombiniert, ohne dass die Beziehung, ob es sich um eine Katze oder einen Hund handelt, erkannt wird. Daher kann es in den Rauschdaten Dn(x,y) dazu kommen, dass tatsächlich Eingabedaten x, die Merkmale von Katzen aufweisen, mit Ausgabedaten y, die eine Katze darstellen, kombiniert werden, selbst wenn dies im Voraus nicht erkannt wurde. Mit anderen Worten: In den Rauschdaten Dn(x,y) gibt es sowohl ungewollt Kombinationen von Eingabedaten x und Ausgabedaten y, die in einer Beziehung von Beispiel und Lösung stehen, als auch Kombinationen, bei denen diese Beziehung nicht vorliegt.In the training data D(x,y), input data x and output data y are associated for which an example-solution relationship has been recognized in advance. For example, in predicting whether it is a cat or a dog, features extracted from images of cats are assigned as input data x and data representing cats (eg, data where cats are 0 and dogs are 1) are assigned as output data y . On the other hand, in the noise data Dn(x,y), independently extracted input data x and output data y are combined without recognizing the relationship of whether it is a cat or a dog. Therefore, in the noise data Dn(x,y), it may happen that input data x showing features of cats are actually combined with output data y showing a cat even if not recognized in advance. In other words: In the noise data Dn(x,y) there are unintentional combinations of input data x and output data y that are in a relationship between example and solution, as well as combinations in which this relationship does not exist.
Als Beispiele für Rauschdaten Dn(x,y) sind beliebige Kombinationen aus Eingabedaten und Ausgabedaten, wie bei einer aus einem Zufalls-Bit-Kodierer o. dgl. ausgegebenen zufälligen Bitfolge, oder Kombinationen aus Eingabedaten x und Ausgabedaten y, die in einer beliebigen Richtung einen beliebigen Abstand von den Trainingsdaten D(x,y) entfernt sind, zu nennen.As examples of noise data Dn(x,y), any combinations of input data and output data, such as a random bit sequence output from a random bit encoder or the like, or combinations of input data x and output data y, in any direction are an arbitrary distance away from the training data D(x,y).
In der vorliegenden Ausführungsform werden die Trainingsdaten D(x,y) gespeichert und die Rauschdaten Dn(x,y) werden erzeugt, und die Erfindung ist jedoch nicht hierauf beschränkt. Es können auch die Trainingsdaten D(x,y) erzeugt werden und die Rauschdaten Dn(x,y) im Voraus gespeichert sein.In the present embodiment, the training data D(x,y) is stored and the noise data Dn(x,y) is generated, but the invention is not limited to this. Also, the training data D(x,y) can be generated and the noise data Dn(x,y) stored in advance.
Der Aktualisierungsabschnitt 124 aktualisiert den Parameter θ im Berechnungsverarbeitungsabschnitt 11 mithilfe der Trainingsdatengruppe. Die Aktualisierung erfolgt nach dem Backpropagation-Verfahren. Der Parameter θ ist z. B. das Gewicht wi und das Bias b usw. Auch die Anzahl der Schichten, die Anzahl der Knoten 31 in jeder der Schichten usw. können zum Parameter θ werden, wenn sie einen Einfluss auf das Berechnungsergebnis des Berechnungsverarbeitungsabschnitts 11 ausüben.The updating
Der Mischungssteuerabschnitt 125 steuert ein Mischungsverhältnis T (T = 0 bis 1) der Rauschdaten Dn(x,y) in der Trainingsdatengruppe.The mixing
Im Lernverarbeitungsabschnitt 12A wird ein Mini-Batch-Lernen mithilfe der Trainingsdatengruppe auf folgende Weise nach dem Backpropagation-Verfahren durchgeführt.In the
Zunächst erhält der Erfassungsabschnitt 121 Trainingsdaten D(x,y) mit einer Anzahl N. Innerhalb dieser Trainingsdatengruppe werden Eingabedaten x eines einzelnen Trainingsdatums D(x,y) an den Berechnungsverarbeitungsabschnitt 11 ausgegeben und die Ausgabedaten y werden an den Aktualisierungsabschnitt 124 ausgegeben. Im Berechnungsverarbeitungsabschnitt 11 werden aus den Eingabedaten x Vorhersagedaten y* berechnet.First, the acquiring
Der Aktualisierungsabschnitt 124 ermittelt aus der Abweichung zwischen den Ausgabedaten y und den Vorhersagedaten y* eine Zielfunktion. Die Zielfunktion ist eine Funktion, in welche die Ausgabedaten y, die Sollwerte sind, und die Vorhersagedaten y*, die gemessene Istwerte sind, eingegeben werden und die einen Schätzwert der Abweichung dieser Daten berechnet und ausgibt. Mit anderen Worten: Die Zielfunktion stellt die Größe der Abweichung zwischen Sollwert und gemessenem Istwert dar und kann daher ein Indikator dafür sein, ob der Parameter θ optimal ist oder nicht.The updating
Der Aktualisierungsabschnitt 124 berechnet für jedes der Trainingsdaten D(x,y) der Trainingsdatengruppe eine Zielfunktion und ermittelt den Mittelwert daraus. Beispielweise wird bei einem mittleren quadratischen Fehler eine gemittelte Zielfunktion E gemäß der nachstehenden Formel (3) berechnet.
[Mathematische Formel 2]
[Mathematical Formula 2]
In der obigen Formel (3) steht N für die Anzahl von Trainingsdaten D(x,y). y* steht für Vorhersagedaten, die vom neuronalen Netzwerk 30 für die Eingabedaten x der Trainingsdaten D(x,y) berechnet wurden, y steht für Ausgabedaten, die mit den Eingabedaten x der Trainingsdaten D(x,y) Paare bilden.In the above formula (3), N represents the number of training data D(x,y). y* represents prediction data computed by
Der Aktualisierungsabschnitt 124 aktualisiert den Parameter θ derart, dass der Mittelwert der Abweichungen zwischen den Ausgabedaten y und den Vorhersagedaten y* kleiner wird. Konkret berechnet der Aktualisierungsabschnitt 124 einen aktualisierten Parameter θ* in der Reihenfolge von der Ausgabeschicht 4c zur Eingabeschicht 4a hin, d. h. in entgegengesetzter Reihenfolge wie die Berechnung der Vorhersagedaten y*, derart, dass der Gradient der in der obigen Formel (3) ausgedrückten Zielfunktion E minimiert wird. Beispielsweise können ein aktualisiertes Gewicht wi* und ein aktualisiertes Bias b* anhand der nachstehenden Formeln (4) und (5) aus dem Gewicht wi und dem Bias b vor der Aktualisierung berechnet werden.
[Mathematische Formel 3]
[Mathematical Formula 3]
Der Aktualisierungsabschnitt 124 aktualisiert den aktuellen Parameter θ im Berechnungsverarbeitungsabschnitt 11 auf θ*, der wie oben beschrieben berechnet wurde.The
Auf diese Weise wird beim Mini-Batch-Lernen der Parameter θ einmal nach dem Backpropagation-Verfahren derart aktualisiert, dass der Mittelwert der Abweichung zwischen den Vorhersagedaten y*, die durch das neuronale Netzwerk 30 aus den Eingabedaten x jedes der Trainingsdaten D(x,y) berechnet werden, und den Ausgabedaten y, die Paare mit den jeweiligen Eingabedaten x bilden, kleiner wird.In this way, in the mini-batch learning, the parameter θ is updated once by the backpropagation method such that the mean value of the deviation between the prediction data y* obtained by the
Der Berechnungsverarbeitungsabschnitt 11 und der Lernverarbeitungsabschnitt 12A können realisiert werden, indem ein Computer, wie ein Prozessor usw., ein Programm, das den Computer veranlasst, die unten beschriebenen Verarbeitungsabläufe auszuführen, aus einem Speichermedium ausliest und ausführt. Als Speichermedium für das Programm können ein Halbleiterspeicher, eine magnetische Platte, eine optische Platte usw. verwendet werden.The
In
Der Prozessor 21 kann die Funktionen des Berechnungsverarbeitungsabschnitts 11 und des Lernverarbeitungsabschnitts 12A übernehmen, indem er das Programm aus der Speichervorrichtung 23 ausliest, es im RAM 22 entfaltet und es ausführt. Die Speichervorrichtung 23 kann die Funktion des Datenspeicherabschnitts 122 zum Speichern der Trainingsdaten D(x,y) übernehmen.The
Der Berechnungsverarbeitungsabschnitt 11 und der Lernverarbeitungsabschnitt 12A sind nicht auf das oben Beschriebene beschränkt, sondern können auch durch Hardware, wie einen ASIC (Application Specific Integrated Circuit), ein FPGA (Field Programmable Gate Array) usw., realisiert werden.The
(Die Lernverarbeitung)(The learning processing)
In der vorliegenden Ausführungsform führt der Lernverarbeitungsabschnitt 12A mithilfe einer Trainingsdatengruppe, in welcher den Trainingsdaten D(x,y) die Rauschdaten Dn(x,y) beigemischt sind, ein Mini-Batch-Lernen durch.In the present embodiment, the
Zunächst stellt in Schritt S11 der Mischungssteuerabschnitt 125 das Mischungsverhältnis Tauf T= 1 ein.First, in step S11, the
In Schritt S12 erzeugt der Erfassungsabschnitt 121 durch Beimischen der Rauschdaten Dn(x,y) mit dem Mischungsverhältnis T zu den Trainingsdaten D(x,y) eine Trainingsdatengruppe mit einer Datenanzahl N. Mit anderen Worten: Die Trainingsdatengruppe ist eine Mischung aus Trainingsdaten D(x,y) mit einem Mischungsverhältnis (1-T), die aus dem Datenspeicherabschnitt 122 erhalten wurden, und Rauschdaten Dn(x,y) mit einem Mischungsverhältnis T, die aus dem Datenerzeugungsabschnitt 123 erhalten wurden. Wenn T = 1, dann besteht die Trainingsdatengruppe ausschließlich aus Rauschdaten Dn(x,y).In step S12, the acquiring
In Schritt S13 wird mithilfe der Trainingsdatengruppe ein Lernen durchgeführt. Beim Lernen gibt der Erfassungsabschnitt 121 die Eingabedaten x der Trainingsdaten D(x,y) an den Berechnungsverarbeitungsabschnitt 11 und die Ausgabedaten y an den Aktualisierungsabschnitt 124 aus. Der Berechnungsverarbeitungsabschnitt 11 berechnet aus den Eingabedaten x die Vorhersagedaten y*.In step S13, learning is performed using the training data group. In learning, the acquiring
Der Aktualisierungsabschnitt 124 ermittelt aus den vom Erfassungsabschnitt 121 ausgegebenen Ausgabedaten y und den im Berechnungsverarbeitungsabschnitt 11 berechneten Vorhersagedaten y* eine Zielfunktion für jedes der Trainingsdaten D(x,y) bzw. die Rauschdaten Dn(x,y) und mittelt diese. Der Aktualisierungsabschnitt 124 berechnet einen Parameter θ*, der optimiert ist, damit die gemittelte Zielfunktion E minimiert wird. Der Aktualisierungsabschnitt 124 aktualisiert den im Berechnungsverarbeitungsabschnitt 11 eingestellten Parameter θ auf den berechneten Parameter θ*.The updating
Ist das Lernen beendet, beurteilt in Schritt S14 der Mischungssteuerabschnitt 125, ob das Mischungsverhältnis T bei T = 0 liegt oder nicht. Wenn T = 0 nicht vorliegt (S14: N), senkt in Schritt S15 der Mischungssteuerabschnitt 125 das Mischungsverhältnis T. Danach wird zu Schritt S12 zurückgekehrt, die Rauschdaten Dn(x,y) mit dem gesenkten Mischungsverhältnis T und die Trainingsdaten (x,y) mit dem Mischungsverhältnis (1-T) werden erneut erhalten, und das Lernen wird mithilfe der gemischten Trainingsdatengruppe wiederholt. Wenn T = 0 vorliegt (S14: J), d. h. wenn keine Rauschdaten Dn(x,y) mehr in der Trainingsdatengruppe vorhanden sind, wird die Lernverarbeitung beendet.When the learning is finished, the
Bei der obigen Lernverarbeitung kann der Mischungssteuerabschnitt 125 den Anteil anpassen, um den das Mischungsverhältnis T bezüglich der Anzahl von Lerndurchgängen gesenkt wird. Der Mischungssteuerabschnitt 125 kann das Mischungsverhältnis T auch nach einem Zeitplan senken, mit dem im Voraus der Anteil der Senkung bezüglich der Anzahl von Lerndurchgängen festgelegt ist, d. h. mit dem festgelegt ist, wie stark das Mischungsverhältnis T nach Durchführen welcher Anzahl von Lerndurchgängen gesenkt wird. Es kann ein Anteil, um den das Mischungsverhältnis T in jedem Lerndurchgang gesenkt wird, zeitlich geplant werden, bspw. -10 % nach dem ersten Lerndurchgang und -20 % nach dem zweiten Lerndurchgang. Ferner kann der Zeitplan auch so aufgestellt werden, dass das Mischungsverhältnis T immer dann gesenkt wird, wenn eine bestimmte Anzahl von Lerndurchgängen durchgeführt wurde, z. B. 0 % nach dem ersten und zweiten Lerndurchgang, -10 % nach dem dritten Lerndurchgang, 0 % nach dem vierten Lerndurchgang und -50 % nach dem fünften Lerndurchgang.In the above learning processing, the
Ein rasches Senken des Mischungsverhältnisses T innerhalb weniger Lerndurchgänge verkürzt zwar die Suchzeit für eine Lösung, engt aber tendenziell den Suchbereich ein. Andererseits verlängert ein allmähliches Senken des Mischungsverhältnisses T über viele Lerndurchgänge hinweg zwar die Suchzeit für eine Lösung, erhöht aber tendenziell die Wahrscheinlichkeit der Konvergenz zu einer globalen optimalen Lösung. Mit dem Mischungssteuerabschnitt 125 kann der Anteil, um den das Mischungsverhältnis T bezüglich der Anzahl von Lerndurchgängen gesenkt wird, derart angepasst werden, dass in kurzer Zeit eine Konvergenz zu einer globalen optimalen Lösung erreicht wird.A rapid reduction in the mixing ratio T within a few learning runs shortens the search time for a solution, but tends to narrow the search area. On the other hand, gradually decreasing the mixing ratio T over many learning runs increases the search time for a solution, but tends to increase the probability of convergence to a global optimal solution. With the mixing
Zwar wurde ein Beispiel erläutert, bei dem das Mischungsverhältnis T allmählich gesenkt wird, doch der Umwandlungsprozess des Mischungsverhältnisses T kann auch derart zeitlich geplant sein, dass das Mischungsverhältnis T zeitweilig angehoben wird.Although an example in which the mixture ratio T is gradually lowered has been explained, the conversion process of the mixture ratio T may be timed so that the mixture ratio T is temporarily increased.
Wie oben beschrieben, wird in der ersten Ausführungsform beim Lernen nach dem Backpropagation-Verfahren mithilfe einer Trainingsdatengruppe, in der Rauschdaten Dn(x,y) beigemischt sind, ein Mini-Batch-Lernen zum Aktualisieren des Parameters θ wiederholt, während das Mischungsverhältnis T der Rauschdaten Dn(x,y) in der Trainingsdatengruppe gesenkt wird.As described above, in the first embodiment, in backpropagation learning using a training data group in which noise data Dn(x,y) is mixed, mini-batch learning is repeated to update the parameter θ while the mixture ratio T der noise data Dn(x,y) in the training data set is lowered.
Wurde der Parameter θ gemäß dem Gradienten der Zielfunktion E nach dem Backpropagation-Verfahren optimiert, kann es dazu kommen, dass man keine globale optimale Lösung erreicht, sondern auf eine lokale optimale Lösung gerät. Dies geschieht, weil man sich nicht von der lokalen optimalen Lösung entfernen kann, wenn man zum Ermitteln des Zustandes (der Lösung) mit der minimalen Abweichung den Zustand immer in jene Richtung aktualisiert, in welcher der Gradient der Zielfunktion am kleinsten wird. Um dies zu vermeiden, ist die Methode der simulierten Abkühlung (Simulated Annealing) bekannt.If the parameter θ was optimized according to the gradient of the objective function E according to the backpropagation method, it can happen that a global optimal solution is not reached, but a local optimal solution. This is because one cannot move away from the local optimal solution if one always updates the state in the direction in which the gradient of the objective function becomes smallest in order to find the state (the solution) with the minimum deviation. In order to avoid this, the method of simulated cooling (simulated annealing) is known.
Die Methode der simulierten Abkühlung lässt Aktualisierungen hin zu einem Zustand mit zunehmender Abweichung zu. Ein Parameter zum Steuern des Grades, in dem eine Aktualisierung hin zu einem Zustand mit zunehmender Abweichung zugelassen wird, wird als „Temperatur“ bezeichnet. Durch allmähliches Herunterkühlen des Zustands einer „hohen Temperatur“, bei der eine Zunahme der Abweichung zugelassen wird, auf eine „niedrige Temperatur“, bei der eine Zunahme der Abweichung nicht zugelassen wird, ist es möglich, nicht auf eine lokale optimale Lösung zu geraten, sondern eine globale optimale Lösung zu erreichen.The simulated cooling method allows updates to a state of increasing deviation. A parameter for controlling the degree to which an update to a state of increasing deviation is allowed is referred to as "temperature". By gradually cooling down from a 'high temperature' condition, where the error is allowed to increase, to a 'low temperature', where the error is not allowed to increase, it is possible not to end up with a local optimal solution, but to achieve a global optimal solution.
Die von den Trainingsdaten D(x,y) verschiedenen Rauschdaten Dn(x,y) lassen eine Aktualisierung hin zu einem Zustand mit zunehmender Abweichung zu. Und je größer das Mischungsverhältnis T der Rauschdaten Dn(x,y), umso einfacher nimmt die Abweichung zu. Folglich entspricht das Mischungsverhältnis T dem Temperaturparameter bei der simulierten Abkühlung, so dass die Lernverarbeitung der vorliegenden Ausführungsform, bei der ein Lernen wiederholt wird, während das Mischungsverhältnis T geändert wird, eine simulierte Abkühlung nach dem Backpropagation-Verfahren realisiert.The noise data Dn(x,y) different from the training data D(x,y) allows an update to a state with increasing deviation. And the larger the mixing ratio T of the noise data Dn(x,y), the easier the deviation increases. Accordingly, the mixing ratio T corresponds to the temperature parameter in the simulated cooling, so that the learning processing of the present embodiment, in which learning is repeated while changing the mixing ratio T, realizes simulated cooling by the back propagation method.
Bei der herkömmlichen, allgemeinen Methode der simulierten Abkühlung wird bei einer Anfangstemperatur T(0) anhand der Trainingsdaten eine Zielfunktion E ermittelt, daraufhin wird der Parameter θ geändert und die Zielfunktion E erneut anhand der Trainingsdaten ermittelt. Nimmt die Abweichung ΔE der Zielfunktion E vor und nach der Änderung des Parameters θ ab, wird die Änderung akzeptiert. Nimmt die Abweichung ΔE zu, wird die Änderung mit einer gewissen Wahrscheinlichkeit p akzeptiert. Wird sie nicht akzeptiert, wird die Änderung rückgängig gemacht.In the conventional, general method of simulated cooling, a target function E is determined using the training data at an initial temperature T(0), then the parameter θ is changed and the target function E is determined again using the training data. If the deviation ΔE of the objective function E before and after the change of the parameter θ decreases, the change is accepted. If the deviation ΔE increases, the change will be accepted with a certain probability p. If not accepted, the change will be rolled back.
Beispielsweise wird die Wahrscheinlichkeit p mithilfe einer sigmoiden Funktion gemäß der nachstehenden Formel bestimmt, wobei n für die aktuelle Anzahl der Wiederholungen, T(n) für die Temperatur und ΔE für das Inkrement der Abweichung steht.
[Mathematische Formel 4]
[Mathematical Formula 4]
Daher ist es zur Implementierung der herkömmlichen Methode der simulierten Abkühlung nötig, eine Anordnung hinzuzufügen, mit der die Abweichung ΔE der Zielfunktion E berechnet wird und mit der entsprechend der Änderung der Abweichung ΔE beurteilt wird, ob die Änderung des Parameters θ akzeptiert wird oder nicht. Es war schwierig, sie in Kombination mit dem Backpropagation-Verfahren in ein System zu implementieren, da der Rechenaufwand zunimmt.Therefore, in order to implement the conventional method of simulated cooling, it is necessary to add an arrangement for calculating the deviation ΔE of the objective function E and for judging whether or not the change in the parameter θ is accepted according to the change in the deviation ΔE. It was difficult to implement them in a system in combination with the backpropagation method because the computational effort increases.
Da es in der vorliegenden Ausführungsform jedoch ausreicht, das Mischungsverhältnis T der Rauschdaten Dn(x,y) als Temperaturparameter anzupassen, ist keine besondere Berechnung oder Beurteilung nötig. Eine simulierte Abkühlung kann leicht nach dem Backpropagation-Verfahren durchgeführt werden und die Implementierung in das System wird erleichtert. Folglich kann eine globale optimale Lösung leicht erreicht und eine Datenverarbeitungsvorrichtung 1A, die leicht zu implementieren ist, bereitgestellt werden.However, in the present embodiment, since it suffices to adjust the mixing ratio T of the noise data Dn(x,y) as a temperature parameter, no special calculation or judgment is required. Simulated cooling can easily be performed using the backpropagation method and implementation in the system is facilitated. Consequently, a global optimal solution can be easily achieved and a
[Zweite Ausführungsform][Second embodiment]
Mit der ersten Ausführungsform, in der eine simulierte Abkühlung mit dem Mischungsverhältnis T der Rauschdaten Dn(x,y) als Temperaturparameter durchgeführt wird, kann außerdem ein Dropout kombiniert werden.In addition, with the first embodiment in which a simulated cooling is performed with the mixing ratio T of the noise data Dn(x,y) as a temperature parameter, a dropout can be combined.
Die Datenverarbeitungsvorrichtung 1B ist mit einem Berechnungsverarbeitungsabschnitt 11 und einem Lernverarbeitungsabschnitt 12B ausgestattet. Der Lernverarbeitungsabschnitt 12B ist mit einem Erfassungsabschnitt 121, einem Datenspeicherabschnitt 122, einem Datenerzeugungsabschnitt 123, einem Aktualisierungsabschnitt 124, einem Mischungssteuerabschnitt 125 und einem Dropout-Steuerabschnitt 126 ausgestattet.The
Der Erfassungsabschnitt 121, der Datenspeicherabschnitt 122, der Datenerzeugungsabschnitt 123, der Aktualisierungsabschnitt 124 und der Mischungssteuerabschnitt 125 haben dieselbe Anordnung wie in der ersten Ausführungsform. In
Der Dropout-Steuerabschnitt 126 führt einen Dropout des neuronalen Netzwerkes 30 aus. Ein Dropout ist eine Verarbeitung zum Deaktivieren eines Teils der Knoten 31 der versteckten Schichten 4b. An den deaktivierten Knoten 31 wird keine Berechnung für die Eingabedaten x durchgeführt und es erfolgt keine Ausgabe.The
In
Die Dropout-Rate bezeichnet den Anteil der Knoten 31 in einer Schicht, an denen ein Dropout ausgeführt wurde. Die Dropout-Rate kann zweckgemäß in geeigneter Weise eingestellt werden. Je höher die Dropout-Rate, umso einfacher steigt die Generalisierungsleistung des neuronalen Netzwerkes 30. Folglich wird es leichter, eine optimale Lösung nicht nur für gelernte Trainingsdaten, sondern auch für unbekannte Daten zu erhalten. Andererseits fällt die Lösung umso wahrscheinlicher wie erlernt aus, je niedriger die Dropout-Rate ist.The dropout rate denotes the proportion of
Der Lernverarbeitungsabschnitt 12B der zweiten Ausführungsform führt durch den Dropout-Steuerabschnitt 126 ein Dropout des Berechnungsverarbeitungsabschnitts 11 aus und führt dann dieselbe Lernverarbeitung wie in der ersten Ausführungsform aus. Auf diese Weise wird das Mini-Batch-Lernen wiederholt, während in einem Zustand, in dem für einige Knoten 31 ein Dropout durchgeführt wurde, das Mischungsverhältnis T der Rauschdaten Dn(x,y) in der Trainingsdatengruppe gesenkt wird.The
Durch eine simulierte Abkühlung mit dem Mischungsverhältnis T als Temperaturparameter können zusätzlich zu den Trainingsdaten D(x,y) auch die Rauschdaten Dn(x,y) gelernt werden, und die Datenanzahl N, die vom neuronalen Netzwerk 30 gelernt wird, kann erhöht werden. Da jedoch die Rauschdaten Dn(x,y), anders als die ursprünglichen Trainingsdaten D(x,y), nicht unbedingt in einer Beziehung von Beispiel und Lösung stehen, kann es je nach Grad der simulierten Abkühlung dazu kommen, dass für andere Eingabedaten als die Trainingsdaten D(x,y) neutrale Vorhersagedaten, d. h. Vorhersageergebnisse, die keinerlei Lösung sind, ausgegeben werden. Dies ist gleichbedeutend mit der Erstellung eines Wörterbuchs der Trainingsdaten D(x,y) und die Allgemeingültigkeit (auch als Generalisierungsfähigkeit bezeichnet) des neuronalen Netzwerkes 30, d. h. dass es auch für unbekannte Daten optimale Lösungen ausgibt, kann nicht garantiert werden.By simulating cooling with the mixing ratio T as a temperature parameter, the noise data Dn(x,y) can also be learned in addition to the training data D(x,y), and the number of data N learned by the
Im Gegensatz dazu deaktiviert ein Dropout die Berechnung einiger Knoten 31, so dass verhindert werden kann, dass einige Merkmale der Eingabedaten überbewertet werden. Daher wird mit der zweiten Ausführungsform, in welcher die Lernverarbeitung der ersten Ausführungsform, die eine simulierte Abkühlung ausführt, zusätzlich mit einem Dropout kombiniert ist, der Parameter θ derart aktualisiert, dass die Vorhersagedaten y* der optimalen Lösung auch dann berechnet werden, wenn ein Teil der Eingabedaten fehlt. Im Ergebnis ist die optimale Lösung für unbekannte Daten leichter zu erhalten, selbst wenn Rauschdaten Dn(x,y) beim Lernen verwendet werden. Die oben beschriebene neutrale Ausgabe kann verringert und die Allgemeingültigkeit des neuronalen Netzwerkes 30 erhöht werden.In contrast, a dropout disables the computation of some
Mit den folgenden dritten und vierten Ausführungsformen wird ein neuronales Netzwerk 30 zur Verfügung gestellt, das sehr robust ist und die Schwäche, dass sich bei einer geringfügigen Änderung der Eingabe auch die Ausgabe ändert, in geringem Maße aufweist.With the following third and fourth embodiments, a
[Dritte Ausführungsform][Third Embodiment]
Die Datenverarbeitungsvorrichtung 1C ist mit einem Berechnungsverarbeitungsabschnitt 11 und einem Lernverarbeitungsabschnitt 12C ausgestattet. Der Lernverarbeitungsabschnitt 12C ist mit einem Erfassungsabschnitt 121, einem Datenspeicherabschnitt 122, einem Datenerzeugungsabschnitt 123, einem Aktualisierungsabschnitt 124 und einem Umwandlungsabschnitt 127 ausgestattet.The data processing device 1C is equipped with a
Der Erfassungsabschnitt 121, der Datenspeicherabschnitt 122, der Datenerzeugungsabschnitt 123 und der Aktualisierungsabschnitt 124 haben dieselbe Anordnung wie in der ersten Ausführungsform. In
Der Umwandlungsabschnitt 127 wandelt die vom Berechnungsverarbeitungsabschnitt 11 für die Eingabedaten x der Trainingsdaten D(x,y) ausgegebenen Vorhersagedaten y* mithilfe eines Schwellenwerts in Lösungsdaten Y um. Während die Vorhersagedaten y* Daten (z. B. mehrwertig von 0 bis 1) sind, die eine Wahrscheinlichkeit, zu einer von mehreren Lösungen zu gehören, darstellen, sind die Lösungsdaten Y Daten (z. B. binär 0 oder 1), die eine von mehreren Lösungen darstellen.The
In Schritt S32 wird mithilfe der erzeugten Trainingsdatengruppe ein Mini-Batch-Lernen durchgeführt. Beim Lernen gibt der Erfassungsabschnitt 121 die Eingabedaten x der Trainingsdaten D(x,y) bzw. Rauschdaten Dn(x,y) in der Trainingsdatengruppe an den Berechnungsverarbeitungsabschnitt 11 und die Ausgabedaten y an den Aktualisierungsabschnitt 124 aus. Der Berechnungsverarbeitungsabschnitt 11 berechnet aus der Eingabe x die Vorhersagedaten y*.In step S32, mini-batch learning is performed using the generated training data group. In learning, the
Der Aktualisierungsabschnitt 124 ermittelt aus den vom Erfassungsabschnitt 121 ausgegebenen Ausgabedaten y und den im Berechnungsverarbeitungsabschnitt 11 berechneten Vorhersagedaten y* eine Zielfunktion für jedes der Trainingsdaten D(x,y) bzw. Rauschdaten Dn(x,y) und mittelt diese. Der Aktualisierungsabschnitt 124 berechnet einen Parameter θ*, der optimiert ist, damit die gemittelte Zielfunktion E minimiert wird, und aktualisiert den im Berechnungsverarbeitungsabschnitt 11 eingestellten Parameter θ auf den berechneten Parameter θ*.The updating
Wenn das Mini-Batch-Lernen beendet ist, wandelt in Schritt S33 der Umwandlungsabschnitt 127 die Ausgabedaten y der beim Lernen verwendeten Rauschdaten Dn(x,y) in eines von mehreren Lösungsdaten Y um. Die Umwandlung wird basierend auf einer bestimmten Wahrscheinlichkeit durchgeführt. Die bestimmte Wahrscheinlichkeit wird abhängig von einem Schwellenwert zugeteilt.When the mini-batch learning is finished, the converting
Der Schwellenwert kann ein Grenzwert für die Einteilung der Lösungsdaten Y sein. Wenn bspw. die Lösungsdaten Y binär 0 oder 1 sind, zeigen die aus dem Berechnungsverarbeitungsabschnitt 11 erhaltenen Vorhersagedaten y* von 0 bis 1 die Wahrscheinlichkeit an, zu einer der durch 0 dargestellten Lösung oder der durch 1 dargestellten Lösung zu gehören. Wenn 0,5 als Grenzwert dieser beiden Lösungen gegeben ist, werden die Vorhersagedaten y* stochastisch mit 0,5 in die Lösungsdaten Y umgewandelt. Konkret werden die Vorhersagedaten y* stochastisch in Lösungsdaten Y von 1 umgewandelt, wenn sie größer gleich 0,5 sind, und in Lösungsdaten Y von 0, wenn sie kleiner als 0,5 sind. Die Lösungsdaten Y in diesem Beispiel werden durch Y = F(x) dargestellt. F(x) stellt eine Funktion dar, mit der durch Berechnung in jeder der Schichten des neuronalen Netzwerkes 30 von der Eingabeschicht 4a bis zur Ausgabeschicht 4c die Eingabedaten x in Lösungsdaten Y umgewandelt werden.The threshold value can be a limit for the classification of the solution data Y. For example, when the solution data Y is binary 0 or 1, the prediction data y* from 0 to 1 obtained from the
Der Schwellenwert kann durch eine sigmoide Funktion festgelegt werden. Der Schwellenwert kann auch eine Zufallszahl sein. In diesem Fall kann der Umwandlungsabschnitt 127 die Zufallszahl erhalten und die Vorhersagedaten y* von 0 bis 1 dann, wenn sie größer als die Zufallszahl sind, stochastisch in Lösungsdaten Y von 1 umwandeln und dann, wenn sie kleiner als die Zufallszahl sind, stochastisch in Lösungsdaten Y von 0 umwandeln.The threshold can be determined by a sigmoid function. The threshold can also be a random number. In this case, the converting
Als nächstes erhält in Schritt S34 der Erfassungsabschnitt 121 die Trainingsdaten D(x,y). Der Erfassungsabschnitt 121 mischt den erhaltenen Trainingsdaten D(x,y) die umgewandelten Rauschdaten Dn(x,y) bei und erzeugt eine Trainingsdatengruppe mit der vorgegebenen Anzahl N.Next, in step S34, the acquiring
In Schritt S35 wird mithilfe der erzeugten Trainingsdatengruppe erneut ein Mini-Batch-Lernen ausgeführt, um den Parameter θ auf dieselbe Weise wie in Schritt S32 zu aktualisieren.In step S35, mini-batch learning is performed again using the generated training data group to update the parameter θ in the same manner as in step S32.
Wenn in Schritt S36 die Anzahl von Lerndurchgängen eine vorgegebene Anzahl nicht erreicht (S36: N), wird zu Schritt S33 zurückgekehrt. Dadurch werden das Umwandeln der Ausgabedaten y der Rauschdaten Dn(x,y) in Lösungsdaten Y und das Lernen mithilfe einer Trainingsdatengruppe, die die umgewandelten Rauschdaten Dn(x,y) umfasst, wiederholt. Wenn in Schritt S36 die Anzahl von Lerndurchgängen die vorgegebene Anzahl erreicht (S36: J), endet die Lernverarbeitung.If in step S36 the number of times of learning does not reach a predetermined number (S36: N), it returns to step S33. Thereby, converting the output data y of the noise data Dn(x,y) into solution data Y and learning using a training data group including the converted noise data Dn(x,y) are repeated. In step S36, when the number of times of learning reaches the predetermined number (S36: Y), the learning processing ends.
Bei der obigen Lernverarbeitung kann der Umwandlungsabschnitt 127 das Verhältnis der Anzahl der Umwandlungen der Ausgabedaten y bezüglich der Anzahl von Lerndurchgängen anpassen. Der Umwandlungsabschnitt 127 kann die Umwandlungen auch nach einem Zeitplan durchführen, mit dem im Voraus die Zeitpunkte der Umwandlungen bezüglich der Anzahl von Lerndurchgängen festgelegt sind, d. h. mit dem festgelegt ist, nach Ausführen welcher Anzahl von Lerndurchgängen eine Umwandlung ausgeführt wird. Beispielsweise kann, wie oben beschrieben, eine Umwandlung pro Lerndurchgang ausgeführt werden, oder Umwandlungen können mit einem Verhältnis von einer Umwandlung pro zwei Lerndurchgängen ausgeführt werden.In the above learning processing, the converting
Es ist vorteilhaft, dass das Verhältnis der Anzahl der Umwandlungen der Ausgabedaten y durch den Umwandlungsabschnitt 127 bezüglich der Anzahl von Lerndurchgängen einigermaßen groß ist, da so ein Tendieren der Vorhersagedaten y* in Richtung einer Lösung einfacher unterdrückt werden kann. Ferner kann das Verhältnis auch entsprechend der Datenanzahl N der beim Lernen verwendeten Trainingsdatengruppe angepasst werden.It is advantageous that the ratio of the number of times the output data y is converted by the converting
Wie oben beschrieben, wird in der dritten Ausführungsform ein Mini-Batch-Lernen wiederholt, während die Ausgabedaten y der beim Lernen verwendeten Rauschdaten Dn(x,y) in Lösungsdaten Y umgewandelt werden. Dadurch nähern sich die Ausgabedaten y der Rauschdaten Dn(x,y) einem der Lösungsdaten Y an.As described above, in the third embodiment, mini-batch learning is repeated while converting the output data y of the noise data Dn(x,y) used in learning into solution data Y. FIG. Thereby, the output data y of the noise data Dn(x,y) approaches one of the solution data Y.
In den Trainingsdaten D(x,y) sind Ausgabedaten kombiniert, die die optimalen Lösungen für die Eingabedaten, bei denen es sich ursprünglich um Beispiele handelt, sind, aber bei den Rauschdaten Dn(x,y) liegt diese Beziehung nicht unbedingt vor, sondern die Kombination aus Eingabedaten und Ausgabedaten ist beliebig. In der dritten Ausführungsform können jedoch während des wiederholten Lernens Rauschdaten Dn(x,y) gelernt werden, die den Lösungsdaten Y, bei denen die Ausgabedaten die optimale Lösung für die Eingabedaten sind, stochastisch annähernd sind. Da auch ein Lernen möglich ist, wenn bestimmte Ausgabedaten auch mit Eingabedaten, die sich von den Trainingsdaten D(x,y) unterscheiden, kombiniert werden, ändern sich auch die Vorhersagedaten y* für unbekannte Eingabedaten, die sich geringfügig gegenüber den gelernten Eingabedaten geändert haben, nur schwer, wodurch die Robustheit der Vorhersage verbessert wird.The training data D(x,y) combines output data that are the optimal solutions for the input data, which are originally examples, but the noise data Dn(x,y) does not necessarily have this relationship but the combination of input data and output data is arbitrary. In the third embodiment, however, noise data Dn(x,y) stochastically approximate to the solution data Y in which the output data is the optimal solution for the input data can be learned during the repeated learning. Since learning is also possible when certain output data is also combined with input data that differs from the training data D(x,y), the prediction data y* also changes for unknown input data that have slightly changed from the learned input data , only difficult, which improves the robustness of the prediction.
Aufgrund der Komplexität der Ausgabegrenze, d. h. des Rahmens der Ausgabe für die Umgebung der Eingabe, kann es leicht zu der Schwäche kommen, dass sich bei einer geringfügigen Änderung der Eingabe auch die Ausgabe ändert. Die Komplexität der Ausgabegrenze kann bspw. danach bewertet werden, wie viele der Ausgaben für Werte in der Nähe der Eingabe sich von den Ausgaben für die Eingabe unterscheiden.Due to the complexity of the spending limit, i. H. the context of the output for the environment of the input, it is easy to suffer from the weakness that if the input changes slightly, the output will also change. For example, the complexity of the output boundary can be evaluated by how many of the outputs for values near the input differ from the outputs for the input.
Wenn die Ausgabegrenze 63 für die Umgebung der Eingabe nicht in der Umgebung des Ausgabepunktes 61 für die Eingabe liegt, sondern eine hohe Komplexität aufweist, kann die Vorhersage geschwächt werden. Im Gegensatz dazu wird in der obigen dritten Ausführungsform während des wiederholten Lernens, während dessen die Ausgabedaten y der Rauschdaten Dn(x,y) umgewandelt werden, die Ausgabegrenze 63 in eine Ausgabegrenze 62 mit niedriger Komplexität geändert. Im Ergebnis ändert sich die Ausgabe auch bei geringfügiger Änderung der Eingabe nur schwer.If the
[Vierte Ausführungsform][Fourth Embodiment]
In der dritten Ausführungsform wurden die Ausgabedaten y basierend auf einer bestimmten Wahrscheinlichkeit in Lösungsdaten Y umgewandelt. Die Robustheit der Vorhersage kann jedoch auch verbessert werden, indem die Ausgabedaten y wie im Folgenden erläutert umgewandelt werden.In the third embodiment, the output data y has been converted into solution data Y based on a certain probability. However, the robustness of the prediction can also be improved by transforming the output data y as explained below.
In Schritt S42 gibt der Erfassungsabschnitt 121 die Eingabedaten x der Rauschdaten Dn(x,y) an den Berechnungsverarbeitungsabschnitt 11 aus. Der Berechnungsverarbeitungsabschnitt 11 berechnet für die Eingabedaten x die Vorhersagedaten y* und gibt sie aus.In step S42, the
In Schritt S43 gibt der Erfassungsabschnitt 121 ein oder mehrere Eingabedaten x^, die in der Umgebung der Eingabedaten x liegen, an den Berechnungsverarbeitungsabschnitt 11 aus. Als Eingabedaten x^ der Umgebung werden Daten bezeichnet, die im Datenraum der Eingabedaten x den Eingabedaten x benachbart sind oder innerhalb eines bestimmten Abstands von den Eingabedaten x liegen. Der Datenraum ist ein hochdimensionaler Raum, in dem mehrere Variablen xi der Eingabedaten x Vektorelemente sind. Der Berechnungsverarbeitungsabschnitt 11 berechnet für jedes Eingabedatum x^ ein Vorhersagedatum y*^ und gibt es aus.In step S43, the
In Schritt S44 legt der Umwandlungsabschnitt 127 innerhalb der Mehrzahl von Lösungsdaten Y, in die jedes der aus dem Berechnungsverarbeitungsabschnitt 11 erhaltenen Vorhersagedaten y* und y*^ eingeteilt wird, das Mehrheitslösungsdatum Y fest. Konkret zählt der Umwandlungsabschnitt 127 innerhalb der Mehrzahl von Lösungsdaten Y, in die jedes der Vorhersagedaten y* und y*^ eingeteilt wird, die Anzahl der identischen Lösungsdaten Y und legt das Lösungsdatum Y mit der höchsten Anzahl als Mehrheitslösungsdatum Y fest. Dann wandelt der Umwandlungsabschnitt 127 die Ausgabedaten y der beim Lernen verwendeten Rauschdaten Dn(x,y) in das festgelegte Lösungsdatum Y um.In step S44, the converting
Wenn bspw. die Eingabedaten x der Rauschdaten Dn(x,y) eine zufällig erzeugte 4-Bit-Folge „1010“ sind, werden die 4-Bit-Folge „1010“, d. h. die Eingabedaten x, sowie die 4-Bit-Folgen „1000“, „1001“, „1011“ und „1100“, bei denen es sich um Eingabedaten x^ der Umgebung handelt, an den Berechnungsverarbeitungsabschnitt 11 ausgegeben.For example, if the input data x of the noise data Dn(x,y) is a randomly generated 4-bit string "1010", the 4-bit string becomes "1010", ie the input data x as well as the 4-bit strings "1000", "1001", "1011" and “1100”, which is input data x^ of the surroundings, are output to the
Werden für jedes der Eingabedaten x und x^ die folgenden Vorhersagedaten y* und y*^ ausgegeben, werden die jeweiligen Vorhersagedaten y* und y*^ mit dem Schwellenwert 0,5 in drei Lösungsdaten Y mit dem Wert „0“ und zwei Lösungsdaten Y mit dem Wert „1“ eingeteilt. [Tabelle 1]
Von den fünf Lösungsdaten Y, die aus den jeweiligen Eingabedaten x und x^ ermittelt wurden, liegt die Anzahl der Lösungsdaten Y mit dem Wert „0“ bei 3 und die Anzahl der Lösungsdaten Y mit dem Wert „1“ liegt bei 2. Daher wird das Mehrheitslösungsdatum Y auf „0“ festgelegt. Ist das mit den Eingabedaten x „1010“ ein Paar bildende Ausgabedatum y „1“, werden die Rauschdaten Dn(1010,1) in die Rauschdaten Dn(1010,0) umgewandelt. Ist das Mehrheitslösungsdatum Y ebenso wie das ursprüngliche Ausgabedatum y „0“, kann die Umwandlung übersprungen werden.Of the five solution data Y obtained from the respective input data x and x^, the number of solution data Y with the value "0" is 3 and the number of solution data Y with the value "1" is 2. Therefore, the majority solution date Y is set to "0". When the output data y paired with the input data x "1010" is "1", the noise data Dn(1010,1) is converted into the noise data Dn(1010,0). If the majority solution date Y is "0" as is the original issue date y, the conversion can be skipped.
In Schritt S45 erhält der Erfassungsabschnitt 121 die Trainingsdaten D(x,y). Der Erfassungsabschnitt 121 mischt diesen Trainingsdaten D(x,y) die umgewandelten Rauschdaten Dn(x,y) bei und erzeugt eine Trainingsdatengruppe.In step S45, the acquiring
In Schritt S46 wird mithilfe der erzeugten Trainingsdatengruppe ein Mini-Batch-Lernen durchgeführt. Beim Lernen gibt der Erfassungsabschnitt 121 die Eingabedaten x jedes der Trainingsdaten D(x,y) bzw. der Rauschdaten Dn(x,y) in der Trainingsdatengruppe an den Berechnungsverarbeitungsabschnitt 11 und die Ausgabedaten y an den Aktualisierungsabschnitt 124 aus. Der Berechnungsverarbeitungsabschnitt 11 berechnet aus den Eingabedaten x die Vorhersagedaten y*.In step S46, mini-batch learning is performed using the generated training data group. In learning, the acquiring
Der Aktualisierungsabschnitt 124 ermittelt aus den vom Erfassungsabschnitt 121 ausgegebenen Ausgabedaten y und den im Berechnungsverarbeitungsabschnitt 11 berechneten Vorhersagedaten y* eine Zielfunktion für jedes der Trainingsdaten D(x,y) bzw. Rauschdaten Dn(x,y) und mittelt diese. Der Aktualisierungsabschnitt 124 berechnet einen Parameter θ*, der optimiert ist, damit die gemittelte Zielfunktion E minimiert wird, und aktualisiert den im Berechnungsverarbeitungsabschnitt 11 eingestellten Parameter θ auf den berechneten Parameter θ*.The updating
Wenn in Schritt S47 die Anzahl von Lerndurchgängen eine vorgegebene Anzahl nicht erreicht (S47: N), wird zu Schritt S42 zurückgekehrt. Dadurch werden in Schritt S46 die Ausgabedaten y der beim Lernen verwendeten Rauschdaten Dn(x,y) in das Mehrheitslösungsdatum Y umgewandelt, und das Mini-Batch-Lernen wird anhand einer Trainingsdatengruppe wiederholt, die die umgewandelten Rauschdaten Dn(x,y) umfasst. Wenn in Schritt S47 die Anzahl von Lerndurchgängen die vorgegebene Anzahl erreicht (S47: J), endet die Lernverarbeitung.If in step S47 the number of times of learning does not reach a predetermined number (S47: N), it returns to step S42. Thereby, in step S46, the output data y of the noise data Dn(x,y) used in learning is converted into the majority solution data Y, and the mini-batch learning is repeated on a training data group including the converted noise data Dn(x,y). In step S47, when the number of times of learning reaches the predetermined number (S47: Y), the learning processing ends.
Wie bei der dritten Ausführungsform kann der Umwandlungsabschnitt 127 das Verhältnis der Anzahl der Umwandlungen der Ausgabedaten y bezüglich der Anzahl von Lerndurchgängen anpassen. Es ist vorteilhaft, dass das Verhältnis der Anzahl der Umwandlungen bezüglich der Anzahl von Lerndurchgängen einigermaßen groß ist, da so ein Tendieren der Vorhersagedaten y* in Richtung einer Lösung einfacher unterdrückt werden kann. Ferner kann das Verhältnis der Anzahl der Umwandlungen bezüglich der Anzahl von Lerndurchgängen auch entsprechend der Datenanzahl N der beim Lernen verwendeten Trainingsdatengruppe angepasst werden.As in the third embodiment, the
Wie oben beschrieben, wird in der vierten Ausführungsform ein Mini-Batch-Lernen wiederholt, während die Ausgabedaten y der Rauschdaten Dn(x,y) in das Mehrheitslösungsdatum Y innerhalb der Mehrzahl von Lösungsdaten Y, in die die Ausgabedaten y und die Vorhersagedaten y*^ der Eingabedaten x^ für die Umgebung eingeteilt werden, umgewandelt werden. Dadurch nähern sich auch die Eingabedaten x^ für die Umgebung der Eingabedaten x der Rauschdaten Dn(x,y) denselben Vorhersagedaten y* an.As described above, in the fourth embodiment, mini-batch learning is repeated while converting the output data y of the noise data Dn(x,y) into the majority solution data Y within the plurality of solution data Y into which the output data y and the prediction data y* ^ of the input data x^ for the Environment are divided, are converted. As a result, the input data x^ for the vicinity of the input data x of the noise data Dn(x,y) also approach the same prediction data y*.
In den Trainingsdaten D(x,y) sind Ausgabedaten kombiniert, die die optimalen Lösungen für die Eingabedaten, bei denen es sich ursprünglich um Beispiele handelt, sind, aber bei den Rauschdaten Dn(x,y) liegt diese Beziehung nicht unbedingt vor, sondern die Kombination aus Eingabedaten und Ausgabedaten ist beliebig. In der vierten Ausführungsform können jedoch während des wiederholten Lernens Rauschdaten Dn(x,y) gelernt werden, bei denen die Ausgabedaten auf die Lösungsdaten Y für die Umgebung der Eingabedaten abstimmen. Daher ändern sich auch die Vorhersagedaten y* für unbekannte Eingabedaten, die sich geringfügig gegenüber den gelernten Eingabedaten x geändert haben, nur schwer, wodurch die Robustheit der Vorhersage verbessert wird.The training data D(x,y) combines output data that are the optimal solutions for the input data, which are originally examples, but the noise data Dn(x,y) does not necessarily have this relationship but the combination of input data and output data is arbitrary. In the fourth embodiment, however, noise data Dn(x,y) in which the output data matches the solution data Y for the vicinity of the input data can be learned during the repeated learning. Therefore, even for unknown input data that has changed slightly from the learned input data x, the prediction data y* hardly changes, thereby improving the robustness of prediction.
Wie oben beschrieben, beruht die Schwäche, dass sich bei einer geringfügigen Änderung der Eingabe auch die Ausgabe ändert, auf der Komplexität der Ausgabegrenze für die Umgebung der Eingabe. In der vierten Ausführungsform kann im Fall, dass sich die Ausgabe für die Eingabe von der Mehrheit der Ausgaben für die Umgebung der Eingabe unterscheidet, eine lokale Abstimmung realisiert werden, indem die Ausgabedaten y der Rauschdaten Dn(x,y) derart korrigiert werden, dass sie auf die Umgebung abgestimmt werden. Daher kann auf dieselbe Weise wie in der dritten Ausführungsform die Komplexität der Ausgabegrenze gesenkt und die obige Schwäche verringert werden.As described above, the weakness that a small change in the input also changes the output stems from the complexity of the output boundary for the environment around the input. In the fourth embodiment, in the case that the output for the input differs from the majority of the outputs for the surroundings of the input, local matching can be realized by correcting the output data y of the noise data Dn(x,y) so that they are matched to the environment. Therefore, in the same manner as in the third embodiment, the complexity of the output margin can be reduced and the above weakness can be reduced.
In den nachstehenden fünften bis siebten Ausführungsformen kann dem neuronalen Netzwerk 30 durch Ausführen einer Vorverarbeitung eine gewünschte Eigenschaft verliehen werden.In the fifth to seventh embodiments below, a desired property can be imparted to the
[Fünfte Ausführungsform][Fifth embodiment]
Im Berechnungsverarbeitungsabschnitt 11 wird der Parameter θ normalerweise mit einem beliebigen Wert, z. B. 0 oder einer Zufallszahl, rückgesetzt und durch wiederholtes Lernen der Trainingsdaten D(x,y) aktualisiert. Der Ausgangswert des Parameters θ beeinflusst den Lernprozess und das Lernergebnis. In der fünften Ausführungsform wird der Ausgangswert dieses Parameters θ durch eine Vorverarbeitung derart angepasst, dass dem neuronalen Netzwerk 30 eine gewünschte Lerneigenschaft verliehen wird.In the
Die Datenverarbeitungsvorrichtung 1D ist mit einem Berechnungsverarbeitungsabschnitt 11 und einem Lernverarbeitungsabschnitt 12D ausgestattet. Der Lernverarbeitungsabschnitt 12D ist mit einem Erfassungsabschnitt 121, einem Datenspeicherabschnitt 122, einem Datenerzeugungsabschnitt 123, einem Aktualisierungsabschnitt 124 und einem Dropout-Steuerabschnitt 126 ausgestattet. Diese Elemente besitzen dieselbe Anordnung wie in der zweiten Ausführungsform. In
Zuerst stellt in Schritt S51 der Aktualisierungsabschnitt 124 den Parameter θ im Berechnungsverarbeitungsabschnitt 11 ein. Der Ausgangswert des Parameters θ ist 0 oder ein beliebiger anderer Wert, wie eine Zufallszahl o. dgl.First, the updating
In Schritt S52 führt der Dropout-Steuerabschnitt 26 einen Dropout des Berechnungsverarbeitungsabschnitts 11 aus. Die Dropout-Rate kann in geeigneter Weise festgelegt werden. Je höher die Dropout-Rate, umso einfacher verkleinert sich der Einfluss der Eingabedaten auf die Berechnung der optimalen Lösung. Die Gradienten der anhand beliebiger Trainingsdaten D(x,y) berechneten Zielfunktionen ähneln sich einfacher und die Empfindlichkeit gegenüber den einzelnen Trainingsdaten D(x,y) nimmt einfacher ab, so dass es leicht ist, dem neuronalen Netzwerk 30 eine hohe Allgemeingültigkeit zu verleihen. Andererseits, je niedriger die Dropout-Rate, umso einfacher vergrößert sich der Einfluss der Eingabedaten auf die Berechnung der optimalen Lösung. Folglich sind die Gradienten der anhand beliebiger Trainingsdaten D(x,y) berechneten Zielfunktionen leichter voneinander unabhängig, so dass die Lerneffizienz ansteigt und noch mehr Daten gelernt werden können.In step S<b>52 , the
In Schritt S53 erhält der Erfassungsabschnitt 121 eine vorgegebene Anzahl N von Rauschdaten Dn(x,y) und erzeugt eine Trainingsdatengruppe, die aus den Rauschdaten Dn(x,y) besteht.In step S53, the acquiring
In Schritt S54 wird mithilfe der erzeugten Trainingsdatengruppe ein Mini-Batch-Lernen durchgeführt. Beim Lernen gibt der Erfassungsabschnitt 121 die Eingabedaten x jedes der Rauschdaten D(x,y) an den Berechnungsverarbeitungsabschnitt 11 und die Ausgabedaten y an den Aktualisierungsabschnitt 124 aus. Der Berechnungsverarbeitungsabschnitt 11 berechnet aus den Eingabedaten x die Vorhersagedaten y*.In step S54, mini-batch learning is performed using the generated training data group. In learning, the acquiring
Der Aktualisierungsabschnitt 124 ermittelt aus der Abweichung zwischen den vom Erfassungsabschnitt 121 ausgegebenen Ausgabedaten y und den im Berechnungsverarbeitungsabschnitt 11 berechneten Vorhersagedaten y* eine Zielfunktion für jedes der Rauschdaten Dn(x,y) und mittelt sie. Der Aktualisierungsabschnitt 124 berechnet einen Parameter θ*, der optimiert ist, damit die gemittelte Zielfunktion E minimiert wird, und aktualisiert den im Berechnungsverarbeitungsabschnitt 11 eingestellten Parameter θ auf den berechneten Parameter θ*.The
Der aktualisierte Parameter θ* wird als Ausgangswert des Parameters θ eingestellt. Danach wird eine Lernverarbeitung mithilfe der Trainingsdaten D(x,y) durchgeführt und der Ausgangswert des Parameters θ wird auf den anhand der Trainingsdaten D(x,y) optimierten Parameter θ* aktualisiert.The updated parameter θ* is set as the initial value of the parameter θ. Thereafter, learning processing is performed using the training data D(x,y), and the initial value of the parameter θ is updated to the parameter θ* optimized using the training data D(x,y).
Wie oben beschrieben, wird in der fünften Ausführungsform der Parameter θ vor der Lernverarbeitung mithilfe der Trainingsdaten D(x,y) anhand der Rauschdaten Dn(x,y) rückgesetzt.As described above, in the fifth embodiment, the parameter θ is reset from the noise data Dn(x,y) before the learning processing using the training data D(x,y).
Da der Ausgangswert des Parameters θ kein bedeutungsloser beliebiger Wert ist, sondern das Ergebnis des Lernens der Rauschdaten Dn(x,y), erhöht sich die Lernempfindlichkeit für die in einer späteren Lernverarbeitung verwendeten Trainingsdaten D(x,y). Da die Rauschdaten Dn(x,y) in der Vorverarbeitung getrennt von den in der späteren Lernverarbeitung zu lernenden Trainingsdaten D(x,y) gelernt werden, kann zudem die insgesamt gelernte Datenmenge erhöht werden. Daher kann die Zeit bis zur Optimierung des Parameters θ durch das Lernen verkürzt werden und dem neuronalen Netzwerk 30 kann eine Lerneigenschaft verliehen werden, die es ihm ermöglicht, die Trainingsdaten D(x,y) effektiv zu lernen.Since the initial value of the parameter θ is not a meaningless arbitrary value but the result of learning the noise data Dn(x,y), the learning sensitivity for the training data D(x,y used in later learning processing) increases. In addition, since the noise data Dn(x,y) in the pre-processing is learned separately from the training data D(x,y) to be learned in the later learning processing, the total amount of data learned can be increased. Therefore, the time until the parameter θ is optimized by the learning can be shortened, and the
Da ferner die Eingabedaten und die Ausgabedaten der Rauschdaten Dn(x,y) nicht unbedingt in einer Beziehung von Beispiel und Lösung wie die Trainingsdaten D(x,y) stehen, kann dem neuronalen Netzwerk 30 durch Verwenden der Rauschdaten D(x,y) eine Allgemeingültigkeit verliehen werden. Wird hiermit weiterhin ein Dropout kombiniert, kann die Empfindlichkeit auf beliebige Trainingsdaten D(x,y), d. h. die Abhängigkeit der Ausgabe von den Trainingsdaten D(x,y), angepasst werden. Durch die Verringerung der Abhängigkeit der Ausgabe von den Trainingsdaten D(x,y) kann vermieden werden, dass sich die Ausgabe ändert, selbst wenn sich die Eingabe geringfügig gegenüber den Eingabedaten derTrainingsdaten D(x,y) geändert haben, und die Allgemeingültigkeit des neuronalen Netzwerkes 30 kann erhöht werden. Folglich ist es durch die Vorverarbeitung möglich, dem neuronalen Netzwerk 30 im Voraus die gewünschte Allgemeingültigkeit zu verleihen.Further, since the input data and the output data of the noise data Dn(x,y) are not necessarily in an example-solution relationship like the training data D(x,y), by using the noise data D(x,y) be given general validity. If a dropout is combined with this, the sensitivity to any training data D(x,y), i. H. the dependence of the output on the training data D(x,y) can be adjusted. By reducing the dependency of the output on the training data D(x,y), the output can be avoided from changing even if the input has changed slightly from the input data of the training data D(x,y), and the generality of the
[Sechste Ausführungsform][Sixth embodiment]
In der fünften Ausführungsform wurde eine Vorverarbeitung zum Rücksetzen des Parameters θ ausgeführt, aber dem neuronalen Netzwerk 30 kann auch durch eine Vorverarbeitung zum selektiven Erhalten einer beim Lernen verwendeten Trainingsdatengruppe Allgemeingültigkeit verliehen werden.In the fifth embodiment, pre-processing for resetting the parameter θ was performed, but generality can also be given to the
Bei der Vorverarbeitung der sechsten Ausführungsform erhält in Schritt S61 der Erfassungsabschnitt 121 die Trainingsdaten D(x,y).In the pre-processing of the sixth embodiment, the acquiring
In Schritt S62 erzeugt der Datenerzeugungsabschnitt 123 basierend auf der Dichte der erhaltenen Trainingsdaten D(x,y) die Rauschdaten Dn(x,y).In step S62, the
Die Dichte der Trainingsdaten D(x,y) bezeichnet eine Dichtheit der einzelnen Eingabedaten x in dem Datenraum, in dem die Eingabedaten x mehrerer Trainingsdaten D(x,y) verteilt sind. Wie oben beschrieben, ist der Datenraum ein hochdimensionaler Raum, in dem mehrere Variablen xi der Eingabedaten x Vektorelemente sind.The density of the training data D(x,y) denotes a density of the individual input data x in the data space in which the input data x of a plurality of training data D(x,y) are distributed. As described above, the data space is a high-dimensional space in which a plurality of variables xi of the input data x are vector elements.
Die Dichte der Eingabedaten x kann durch eine Dichtefunktion der Eingabedaten x ausgedrückt werden, wenn eine Gruppe von Eingabedaten x mit einer Anzahl N gegeben ist und jedes der Eingabedaten x eine Variable xi hat. Wenn xi durch eine Deltafunktion als δ(x,h) definiert ist, wird die Dichtefunktion p(x) durch p(x) = Σδ(xi,h)/N ausgedrückt. δ(x,h) ist eine Gaußglocke mit einem Maximum nur bei x und einer Basis eines Radius h.The density of the input data x can be expressed by a density function of the input data x given a group of input data x of N number and each of the input data x has a variable xi. If xi is defined as δ(x,h) by a delta function, the density function p(x) is expressed by p(x) = Σδ(xi,h)/N. δ(x,h) is a Gaussian with a maximum only at x and a base of radius h.
Beispielsweise kann der Datenerzeugungsabschnitt 123 in Regionen, in denen die Dichte der Trainingsdaten D(x,y) hoch ist, mehr Rauschdaten Dn(x,y) erzeugen als in Regionen, in denen sie niedrig ist. Konkret können im Datenraum der Trainingsdaten D(x,y) in der Umgebung einiger der Trainingsdaten (x,y) Rauschdaten Dn(x,y) mit derselben Dichte wie die Trainingsdaten D(x,y) erzeugt werden. Alternativ können Daten, die auf dem Schwerpunkt einiger Trainingsdaten (x,y) liegen, als Rauschdaten Dn(x,y) erzeugt werden, und durch das Hinzufügen von Rauschdaten Dn(x,y) kann die Dichte der Trainingsdaten D(x,y) erhöht werden.For example, the
Andererseits kann der Datenerzeugungsabschnitt 123 in Regionen, in denen die Dichte der Trainingsdaten D(x,y) niedrig ist, in deren Umgebung Rauschdaten Dn(x,y) mit einer ebenso geringen Dichte erzeugen. Beispielsweise können im Datenraum der Trainingsdaten D(x,y) in der Umgebung einiger der Trainingsdaten (x,y) Rauschdaten Dn(x,y) mit derselben Dichte wie die Trainingsdaten D(x,y) erzeugt werden.On the other hand, in regions where the density of the training data D(x,y) is low, the
Mit einer Trainingsdatengruppe, zu der auf diese Weise Rauschdaten Dn(x,y) hinzugefügt wurden, können dem neuronalen Netzwerk 30 entsprechend den Trainingsdaten D(x,y) unterschiedliche Allgemeingültigkeiten verliehen werden.With a training data group to which noise data Dn(x,y) has been added in this way, different generalities can be given to the
Konkret heißt das: Da in einer Region, in der die Dichte der Trainingsdaten D(x,y) hoch ist, in der Nähe der Eingabedaten x, denen Ausgabedaten y zugeordnet sind, bei denen es sich um optimale Lösungen handelt, auch Eingabedaten x liegen, die ebenso optimalen Lösungen zugeordnet sind, reagiert die Ausgabe selbst auf geringfügige Unterschiede in der Eingabe empfindlich, so dass die optimale Lösung leicht ausgegeben wird. Mit anderen Worten: In einer Region, in der die Dichte der Trainingsdaten D(x,y) hoch ist, kann die Allgemeingültigkeit des neuronalen Netzwerkes 30 gesenkt und die Unterscheidungsfähigkeit erhöht werden.Specifically, since in a region where the density of training data D(x,y) is high, input data x associated with output data y, which are optimal solutions, is also close to input data x , which are also associated with optimal solutions, the output is sensitive to even slight differences in the input, so the optimal solution is easily output. In other words, in a region where the density of the training data D(x,y) is high, the generality of the
Andererseits werden in einer Region, in der die Dichte der Trainingsdaten D(x,y) niedrig ist, in deren Umgebung Rauschdaten Dn(x,y) hinzugefügt, die dieselbe Dichte wie die Trainingsdaten D(x,y) oder eine niedrige Dichte haben, so dass sich die Region, in der die Dichte der Trainingsdaten D(x,y) niedrig ist, ausweitet. Hierdurch kann die Allgemeingültigkeit des neuronalen Netzwerkes 30 in einer Region, in der die Dichte der Trainingsdaten D(x,y) niedrig ist, erhöht werden, da die Regionen unbekannter Daten abnehmen und die Änderung der Ausgabe auch bei einer geringfügigen Änderung der Eingabe verringert wird.On the other hand, in a region where the density of the training data D(x,y) is low, noise data Dn(x,y) having the same density as the training data D(x,y) or a low density is added in its vicinity , so that the region where the density of the training data D(x,y) is low expands. This can increase the generality of the
Als nächstes mischt in Schritt S63 der Erfassungsabschnitt 121 den aus dem Datenspeicherabschnitt 122 erhaltenen Trainingsdaten D(x,y) die Rauschdaten Dn(x,y), die durch den Datenerzeugungsabschnitt 123 erzeugt wurden, bei und erzeugt eine Trainingsdatengruppe.Next, in step S63, the acquiring
Der Datenerzeugungsabschnitt 123 kann auch zufällige Rauschdaten Dn(x,y) erzeugen und aus diesen kann der Erfassungsabschnitt 121 die Rauschdaten Dn(x,y) erhalten, die der Dichte der Trainingsdaten D(x,y) entsprechen.The
Im Allgemeinen werden die Trainingsdaten D(x,y) nicht unbedingt mit einem einheitlichen Gewicht vom Subjekt abgetastet, sondern es gibt Regionen, in denen viele Trainingsdaten D(x,y) abgetastet wurden, und Regionen, in denen wenige abgetastet wurden. Wenn sich dadurch je nach Region der Verteilungszustand der Trainingsdaten D(x,y) unterscheidet, wird nicht unbedingt in jeder Region die gleiche Ausgabe erwartet. Beispielsweise wird für Regionen, in denen viele Trainingsdaten D(x,y) abgetastet wurden, erwartet, dass die Ausgabe empfindlich auf geringfügige Unterschiede in den Eingabedaten reagiert. Andererseits wird in Regionen, in denen wenige Abtastungen vorliegen, erwartet, dass die Ausgabe auch bei einer geringfügigen Änderung der Eingabedaten gleichbleibt.In general, the training data D(x,y) is not necessarily sampled with a uniform weight from the subject, but there are regions where many training data D(x,y) have been sampled and regions where few have been sampled. If, as a result, the distribution state of the training data D(x,y) differs depending on the region, the same output is not necessarily expected in every region. For example, for regions where lots of training data D(x,y) has been sampled, the output is expected to be sensitive to subtle differences in the input data. On the other hand, in regions where there are few samples, the output is expected to remain the same even with a small change in the input data.
Im Gegensatz dazu werden in der sechsten Ausführungsform die Rauschdaten Dn(x,y) entsprechend der Dichte der Trainingsdaten D(x,y) erhalten. Da der Datenraum, in dem die Trainingsdaten D(x,y) verteilt sind, mit Rauschdaten Dn(x,y) ergänzt werden kann, die der Dichte derTrainingsdaten D(x,y) entsprechen, ist für jede Region eine Anpassung an die erhoffte Allgemeingültigkeit wie im obigen Beispiel möglich. Daher können verschiedenen Regionen mit unterschiedlichen Dichten von Trainingsdaten D(x,y) anhand der Rauschdaten Dn(x,y) durch die Vorverarbeitung zum Erzeugen einer Trainingsdatengruppe unterschiedliche Allgemeingültigkeiten verliehen werden.In contrast, in the sixth embodiment, the noise data Dn(x,y) is obtained according to the density of the training data D(x,y). Since the data space in which the training data D(x,y) is distributed can be supplemented with noise data Dn(x,y) corresponding to the density of the training data D(x,y), there is a fit for each region to that hoped for General validity as in the example above possible. Therefore, different regions with different densities of training data D(x,y) can be based on the Noise data Dn(x,y) are given different generalities by the preprocessing to generate a training data set.
[Siebte Ausführungsform][Seventh Embodiment]
In der siebten Ausführungsform wird dem neuronalen Netzwerk 30 durch eine Vorverarbeitung zum Steuern der Dropout-Rate die Eigenschaft verliehen, die Eingabedaten x von großen Kategorien zu kleinen Kategorien hin hierarchisch einzuteilen.In the seventh embodiment, the
Die Vorverarbeitung der siebten Ausführungsform kann durch die Datenverarbeitungsvorrichtung 1D der fünften Ausführungsform ausgeführt werden. Nach der Vorverarbeitung wird die Lernverarbeitung ausgeführt.The pre-processing of the seventh embodiment can be performed by the
In der Vorverarbeitung der siebten Ausführungsform führt der Dropout-Steuerabschnitt 26 einen Dropout des Berechnungsverarbeitungsabschnitts 11 aus. Hierbei stellt der Dropout-Steuerabschnitt 26 die Dropout-Rate von der Eingabeschicht 4a zur Ausgabeschicht 4c hin in jeder Schicht stufenweise niedriger ein.In the pre-processing of the seventh embodiment, the
Wenn bspw. in drei versteckten Schichten 4b ein Dropout durchgeführt wird, kann die Dropout-Rate der jeweiligen versteckten Schicht 4b von der Eingabeschicht 4a zur Ausgabeschicht 4c in der Reihenfolge 50 %, 25 %, 10 % eingestellt werden.For example, when dropout is performed in three
Wie oben beschrieben, nimmt in der siebten Ausführungsform die Dropout-Rate der versteckten Schichten 4b von der Eingabeschicht 4a zur Ausgabeschicht 4c hin ab. Haben die Eingabedaten x eine Anzahl i von Variablen xi, hat die Berechnung an jedem der Knoten 31 der versteckten Schichten 4b die Funktion, aus den jeweiligen Variablen xi der Eingabedaten x eine Charakteristik zu extrahieren und diese einzuteilen. Der Dropout stoppt diese Einteilungsfunktion der Knoten 31.As described above, in the seventh embodiment, the dropout rate of the
Folglich weist durch die oben beschriebene Gradienten-Steuerung der Dropout-Rate die Seite der Eingabeschicht 4a mehr Knoten 31 auf, an denen die Einteilungsfunktion gestoppt wird, und die Seite der Ausgabeschicht 4b weist weniger solcher Knoten 31 auf. Mit anderen Worten: Je weiter man sich von der Eingabeschicht 4a zur Ausgabeschicht 4c bewegt, umso leichter wird es für die versteckten Schichten 4b, ihre Einteilungsfunktion auszuführen, und eine präzisere Einteilung wird möglich. Im Ergebnis wird jede der Variablen xi der Eingabedaten x von großen Kategorien zu kleinen Kategorien hin hierarchisch eingeteilt und charakterisiert.Consequently, by the above-described gradient control of the dropout rate, the
Somit kann in der siebten Ausführungsform dem neuronalen Netzwerk 30 durch die Vorverarbeitung die Eigenschaft verliehen werden, die Eingabedaten x von großen Kategorien zu kleinen Kategorien hin hierarchisch einzuteilen.Thus, in the seventh embodiment, the
Im Allgemeinen sind neuronale Netzwerke Vorhersagemodelle, bei denen es schwierig ist, die Grundsätze der Vorhersage, d. h. auf welche Weise sie Vorhersagen treffen, zu verstehen. Aber auch bei neuronalen Netzwerken sind die Grundsätze der Vorhersage für Vorhersagemodelle mit einer hierarchischen Einteilungsfunktion, wie der oben beschriebenen, für einen Nutzer leicht zu verstehen. Dies erleichtert dem Nutzer die Gestaltung der Lerninhalte und die Nutzung der Vorhersageergebnisse.In general, neural networks are predictive models where it is difficult to apply the principles of prediction, i. H. understand how they make predictions. But even with neural networks, the principles of prediction are easy for a user to understand for prediction models with a hierarchical classification function such as that described above. This makes it easier for the user to design the learning content and use the prediction results.
Die oben beschriebenen ersten bis siebten Ausführungsformen können in geeigneter Weise kombiniert werden. Beispielweise kann, nachdem mit der Vorverarbeitung der fünften Ausführungsform der Parameter θ rückgesetzt wurde, mithilfe dieses rückgesetzten Parameters θ die Lernverarbeitung der ersten Ausführungsform ausgeführt werden. Oder es kann in der zweiten Ausführungsform beim Erzeugen der Trainingsdatengruppe, die beim Mini-Batch-Lernen verwendet wird, durch Kombination mit der sechsten Ausführungsform eine Vorverarbeitung zum Erzeugen der Trainingsdatengruppe ausgeführt werden.The first to seventh embodiments described above may be combined as appropriate. For example, after the parameter θ is reset with the pre-processing of the fifth embodiment, the learning processing of the first embodiment can be executed using this reset parameter θ. Or, in the second embodiment, when generating the training data set used in mini-batch learning, by combining with the sixth embodiment, pre-processing for generating the training data set may be performed.
Als Anwendungsbeispiel für die Datenverarbeitungsvorrichtung der vorliegenden Erfindung ist die Fahrassistenz für Fahrzeuge usw. zu nennen. Beispielsweise können Daten von verschiedenen, an einem Fahrzeug angebrachten Sensoren, wie Kameras, Geschwindigkeitssensoren, Lenkwinkelsensoren oder GPS usw., als Eingabedaten verwendet werden, um durch eine Datenverarbeitungsvorrichtung eine gewünschte Lenkung oder Fahrgeschwindigkeit usw. vorherzusagen. Ferner können Daten von Kameras, Millimeterwellenradar usw. als Eingabedaten verwendet werden, um durch eine Datenverarbeitungsvorrichtung die Wahrscheinlichkeit einer Kollision mit einem Fahrzeug oder einem Fußgänger in der Umgebung vorherzusagen.Driving assistance for vehicles, etc. is given as an application example of the data processing apparatus of the present invention. For example, data from various sensors mounted on a vehicle, such as cameras, speed sensors, steering angle sensors or GPS, etc., can be used as input data to predict a desired steering or driving speed, etc., by a data processing device. Furthermore, data from cameras, millimeter-wave radar, etc. can be used as input data to predict, by a data processing device, the probability of a collision with a vehicle or a pedestrian in the vicinity.
Die vorliegende Erfindung kann nicht nur für Fahrzeuge, sondern auch für verschiedene Zwecke verwendet werden, wie z. B. die Analyse von Big Data, die Erfassung von Läsionen in Röntgenbilddaten usw.The present invention can be used not only for vehicles but also for various purposes, such as. B. Big data analysis, detection of lesions in X-ray image data, etc.
Oben wurden bevorzugte Ausführungsformen der vorliegenden Erfindung erläutert; die vorliegende Erfindung ist jedoch nicht auf diese Ausführungsformen beschränkt. Sie können im Rahmen der vorliegenden Erfindung in geeigneter Weise verändert werden.Preferred embodiments of the present invention have been explained above; however, the present invention is not limited to these embodiments. They can be appropriately changed within the scope of the present invention.
Die vorliegende Erfindung kann auch auf andere Vorhersagemodelle als neuronale Netzwerke angewendet werden, so lange es sich um ein Vorhersagemodell handelt, das bspw. mit einer Mehrzahl von Berechnungsmodulen, die wie die Eingabeschicht 4a, die versteckten Schichten 4b und die Ausgabeschicht 4c des neuronalen Netzwerkes in einer Reihe angeordnet sind, ausgestattet ist und das Vorhersagedaten berechnet, indem mithilfe eines Parameters, der wie das Gewicht wi und das Bias bi den Berechnungsmodulen zugeordnet ist, eine Berechnung für die Ausgabe des vorgeschalteten Berechnungsmoduls durchgeführt wird und das Ergebnis dieser Berechnung an das nachfolgende Berechnungsmodul ausgegeben wird.The present invention can also be applied to prediction models other than neural networks as long as it is a prediction model that is, for example, provided with a plurality of calculation modules such as the
Die vorliegende Erfindung kann auch auf ein neuronales Netzwerk angewendet werden, das in einem Generative Adversarial Network (GAN) verwendet wird. Im Allgemeinen werden in einem GAN ein als Generator bezeichnetes neuronales Netzwerk und ein als Diskriminator bezeichnetes neuronales Netzwerk eingesetzt. Der Generator erzeugt aus gegebenen Daten Pseudodaten und der Diskriminator beurteilt die Echtheit der erzeugten Pseudodaten mithilfe der echten Daten. Entsprechend dem Ergebnis dieser Beurteilung erzeugt der Generator Pseudodaten, die den echten Daten noch mehr annährend sind. Die vorliegende Erfindung kann auch auf solche miteinander in Konkurrenz lernende Generatoren und Diskriminatoren angewendet werden.The present invention can also be applied to a neural network used in a Generative Adversarial Network (GAN). In general, a neural network called a generator and a neural network called a discriminator are used in a GAN. The generator generates pseudo data from the given data and the discriminator judges the authenticity of the generated pseudo data using the real data. According to the result of this judgment, the generator creates pseudo data that is even more close to the real data. The present invention can also be applied to such concurrently learning generators and discriminators.
BezugszeichenlisteReference List
- 1A bis 1D1A to 1D
- Datenverarbeitungsvorrichtung, 1data processing device, 1
- 11
- Berechnungsverarbeitungsabschnitt,calculation processing section,
- 12A bis 12D12A to 12D
- Lernverarbeitungsabschnitt,learning processing section,
- 121121
- Erfassungsabschnitt,detection section,
- 124124
- Aktualisierungsabschnitt,update section,
- 125125
- Mischungssteuerabschnitt,blend control section,
- 126126
- Dropout-Steuerabschnitt,dropout control section,
- 127127
- Umwandlungsabschnittconversion section
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent Literature Cited
- US 10380484 B2 [0003]US 10380484 B2 [0003]
- JP 3178884 B2 [0003]JP 3178884 B2 [0003]
Claims (7)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020196702A JP2022085166A (en) | 2020-11-27 | 2020-11-27 | Data processor, method for deep learning of neural network, and program |
JP2020-196702 | 2020-11-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102021212526A1 true DE102021212526A1 (en) | 2022-06-02 |
Family
ID=81586271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021212526.3A Pending DE102021212526A1 (en) | 2020-11-27 | 2021-11-08 | Data processing device and method and program for deep learning of a neural network |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022085166A (en) |
DE (1) | DE102021212526A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3178884B2 (en) | 1992-03-30 | 2001-06-25 | 株式会社東芝 | Neural network device |
US10380484B2 (en) | 2015-04-19 | 2019-08-13 | International Business Machines Corporation | Annealed dropout training of neural networks |
-
2020
- 2020-11-27 JP JP2020196702A patent/JP2022085166A/en active Pending
-
2021
- 2021-11-08 DE DE102021212526.3A patent/DE102021212526A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3178884B2 (en) | 1992-03-30 | 2001-06-25 | 株式会社東芝 | Neural network device |
US10380484B2 (en) | 2015-04-19 | 2019-08-13 | International Business Machines Corporation | Annealed dropout training of neural networks |
Also Published As
Publication number | Publication date |
---|---|
JP2022085166A (en) | 2022-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3785177B1 (en) | Method and device for determining a network-configuration of a neural network | |
DE112016001796T5 (en) | FINE-BITE IMAGE CLASSIFICATION BY EXPLORING LABELS FROM A BIPARTITE GRAPH | |
DE112016006360T5 (en) | IMPROVING LEARNING OF DISTANCE METHOD WITH AN N-PAIR LOSS | |
DE112020004471T5 (en) | Inference device, training device, inference method and training method | |
DE102017219282A1 (en) | Method and device for automatically generating an artificial neural network | |
DE102018130004B3 (en) | INTELLIGENT DRIVING BASED ON A SUPPORT VECTOR MACHINE FOR PASSING CROSSROADS AND INTELLIGENT DRIVING SYSTEM THEREFOR | |
DE102017219492A1 (en) | A method and apparatus for operating a system by training and calculating a deep recurrent Gaussian process | |
DE102021212483A1 (en) | Data processing device and method and program for deep learning of a neural network | |
DE102021207613A1 (en) | Process for quality assurance of a system | |
EP3785178B1 (en) | Method and device for determining a network-configuration of a neural network | |
DE102021212526A1 (en) | Data processing device and method and program for deep learning of a neural network | |
DE102021212074A1 (en) | Data processing device and method and program for deep learning of a neural network | |
DE102013225768A1 (en) | Method and apparatus for determining a LOLIMOT model | |
DE102021133977A1 (en) | Method and system for classifying virtual test scenarios and training methods | |
DE102020211596A1 (en) | Method for generating a trained neural convolution network with an invariant integration layer for classifying objects | |
DE102019217951A1 (en) | Method and apparatus for determining a domain distance between at least two data domains | |
DE202019105256U1 (en) | Device for creating a machine learning system | |
DE102019214546A1 (en) | Computer-implemented method and device for optimizing an architecture of an artificial neural network | |
EP3956820B1 (en) | Method, device and computer program for creating a neuronal network | |
DE102021109757A1 (en) | Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions | |
DE102022200106A1 (en) | Selection of test scenarios for testing components of a driver assistance function | |
WO2018234130A1 (en) | Classification and localization of an object by a lidar sensor apparatus of a motor vehicle | |
DE202021102086U1 (en) | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions | |
DE202021102084U1 (en) | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions | |
DE202021102085U1 (en) | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |