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 PDF

Info

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
Application number
DE102021212526.3A
Other languages
German (de)
Inventor
Kenichi Nakazato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102021212526A1 publication Critical patent/DE102021212526A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, 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 [Patent Document 1] U.S. 10,380,484 B2
  • [Patentdokument 2] JP 3178884 B2 [Patent Document 2] 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]

1 zeigt die Anordnung einer Datenverarbeitungsvorrichtung 1A der ersten Ausführungsform der vorliegenden Erfindung. 1 Fig. 12 shows the arrangement of a data processing device 1A of the first embodiment of the present invention.

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 data processing device 1A is equipped with a calculation processing section 11 and a learning processing section 12A. The data processing apparatus 1A performs deep learning of a neural network. Machine learning of a multi-layer neural network is referred to as deep learning.

(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 calculation processing section 11 calculates prediction data y* from input data x. The prediction data y* is data (eg, multi-valued from 0 to 1) representing a probability of belonging to one of a plurality of solutions. The calculation processing section 11 has a multilayer neural network in which a parameter θ is set, and performs the calculation of the prediction data y* by the neural network using the parameter θ.

2 zeigt ein beispielhaftes mehrschichtiges neuronales Netzwerk 30. Das neuronale Netzwerk 30 umfasst eine Eingabeschicht 4a, zwei versteckte Schichten 4b und eine Ausgabeschicht 4c. Die Eingabeschicht 4a, die versteckten Schichten 4b und die Ausgabeschicht 4c sind in dieser Reihenfolge in einer Reihe angeordnet und mit der nachfolgenden Schicht verbunden. 2 1 shows an exemplary multi-layer neural network 30. The neural network 30 comprises an input layer 4a, two hidden layers 4b and an output layer 4c. The input layer 4a, the hidden layers 4b and the output layer 4c are lined up in this order and connected to the subsequent layer.

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 neural network 30 is provided with a plurality of nodes 31 in each layer and with a plurality of edges 32 connecting the nodes 31 of each layer. A parameter of a bias b and an activation function fn are assigned to each node 31 . A parameter of a weight wi is assigned to each edge 32 .

Im neuronalen Netzwerk 30 wird die folgende Vorwärtspropagationsberechnung durchgeführt.In the neural network 30, the following forward propagation calculation is performed.

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 nodes 31 of the input layer 4a. xi means the set with a number i of variables x1, x2, ..., xi. The input data xi is output from the input layer 4a via the edges 32 into each of the nodes 31 of the hidden layers 4b.

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] u = i w i x i + b

Figure DE102021212526A1_0001
y i = f n ( u )
Figure DE102021212526A1_0002
At each of the nodes 31 of the hidden layers 4b, output data yi is calculated from the input data xi. Formulas (1) and (2) below show the calculation formulas for this.
[Mathematical Formula 1] and = i w i x i + b
Figure DE102021212526A1_0001
y i = f n ( and )
Figure DE102021212526A1_0002

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 edge 32 . b stands for a bias associated with a node 31. fn represents an activation function associated with a node 31.

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 edges 32 to each of the nodes 31 of the subsequent layer. At the nodes 31 of the subsequent layer, the same calculation as explained above is performed using the number i of output data yi coming from each of the nodes 31 of the previous layer as input data xi. Finally, the output data yi calculated at the nodes 31 of the output layer 4c is output as prediction data y*.

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 neural network 30 and the number of nodes 31 in each of the layers can be set appropriately.

(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 learning processing section 12A teaches the neural network 30 of the calculation processing section 11 training data. Through the learning, the parameter θ set in the neural network 30 is updated. The learning processing section 12A of the present embodiment can not only perform online learning in which the parameter θ is updated once using a single training data, but it can perform mini-batch learning in which the parameter θ is updated using a training data group consisting of a plurality of training data is updated once.

Der Lernverarbeitungsabschnitt 12A ist mit einem Erfassungsabschnitt 121, einem Datenspeicherabschnitt 122, einem Datenerzeugungsabschnitt 123, einem Aktualisierungsabschnitt 124 und einem Mischungssteuerabschnitt 125 ausgestattet.The learning processing section 12A is provided with an acquiring section 121, a data storing section 122, a data generating section 123, an updating section 124 and a mixing control section 125. FIG.

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 acquisition section 121 obtains from the data storage section 122 training data D(x,y) used in learning. In mini-batch learning, the acquiring section 121 may generate a training data group composed of a plurality of training data D(x,y).

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 section 121 receives noise data Dn(x,y) from the data generating section 123, and can generate a training data group in which the noise data Dn(x,y) is mixed with the training data D(x,y).

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 data storage section 122 stores the training data D(x,y). The training data D(x,y) are pre-associated pairs of input data x and output data y. In the training data D(x,y), the input data x and the output data y are in an example-solution relationship.

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 data generating section 123 generates noise data Dn(x,y). The noise data Dn(x,y) are pairs of input data x and output data y different from the training data D(x,y). The input data x and the output data y of the noise data Dn(x,y) are independent of each other, regardless of whether they are in an example-solution relationship like the training data D(x,y).

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 section 124 updates the parameter θ in the calculation processing section 11 using the training data group. The update is carried out using the backpropagation method. The parameter θ is e.g. B. the weight wi and the bias b, etc. Also, the number of layers, the number of nodes 31 in each of the layers, etc. can become the parameter θ if they exert an influence on the calculation result of the calculation processing section 11.

Der Mischungssteuerabschnitt 125 steuert ein Mischungsverhältnis T (T = 0 bis 1) der Rauschdaten Dn(x,y) in der Trainingsdatengruppe.The mixing control section 125 controls a mixing ratio T (T=0 to 1) of the noise data Dn(x,y) in the training data group.

Im Lernverarbeitungsabschnitt 12A wird ein Mini-Batch-Lernen mithilfe der Trainingsdatengruppe auf folgende Weise nach dem Backpropagation-Verfahren durchgeführt.In the learning processing section 12A, mini-batch learning is performed using the training data group by the back propagation method in the following manner.

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 section 121 obtains training data D(x,y) of N number. In the calculation processing section 11, prediction data y* is calculated from the input data x.

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 section 124 obtains an objective function from the deviation between the output data y and the prediction data y*. The objective function is a function to which the output data y, which are target values, and the prediction data y*, which are actual measured values, are input, and which calculates and outputs an estimated value of the deviation of these data. In other words, the objective function represents the magnitude of the deviation between the target value and the actual measured value and can therefore be an indicator of whether the parameter θ is optimal or not.

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] E = 1 N i = 1 N ( y * y ) 2

Figure DE102021212526A1_0003
The update section 124 calculates an objective function for each of the training data D(x,y) of the training data group and finds the mean value thereof. For example, given a mean square error, an average objective function E is calculated according to formula (3) below.
[Mathematical Formula 2] E = 1 N i = 1 N ( y * y ) 2
Figure DE102021212526A1_0003

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 neural network 30 for input data x of training data D(x,y), y represents output data paired with input data x of training data D(x,y).

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] w i * = w i η E w i

Figure DE102021212526A1_0004
b * = b η E b
Figure DE102021212526A1_0005
In den obigen Formeln (4) bzw. (5) steht η für die Lernrate.The updating section 124 updates the parameter θ such that the mean value of the deviations between the output data y and the prediction data y* becomes smaller. Concretely, the updating section 124 calculates an updated parameter θ* in the order from the output layer 4c toward the input layer 4a, that is, in the opposite order to the calculation of the prediction data y*, such that the gradient of the objective function E expressed in the above formula (3) is minimized. For example, an updated weight wi* and an updated bias b* can be calculated from the weight wi and the bias b before the update using formulas (4) and (5) below.
[Mathematical Formula 3] w i * = w i n E w i
Figure DE102021212526A1_0004
b * = b n E b
Figure DE102021212526A1_0005
In the above formulas (4) and (5), η stands for the learning rate.

Der Aktualisierungsabschnitt 124 aktualisiert den aktuellen Parameter θ im Berechnungsverarbeitungsabschnitt 11 auf θ*, der wie oben beschrieben berechnet wurde.The update section 124 updates the current parameter θ in the calculation processing section 11 to θ* calculated as described above.

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 neural network 30 from the input data x of each of the training data D(x, y) are calculated, and the output data y forming pairs with the respective input data x becomes smaller.

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 calculation processing section 11 and the learning processing section 12A can be realized by having a computer, such as a processor, etc., read out and execute a program that causes the computer to execute the processing operations described below from a storage medium. As a storage medium for the program, a semiconductor memory, a magnetic disk, an optical disk, etc. can be used.

3 zeigt ein beispielhaftes System, in das die Datenverarbeitungsvorrichtung 1A implementiert werden kann. 3 FIG. 1 shows an exemplary system in which the data processing device 1A can be implemented.

In 3 ist ein System 20 mit einem Prozessor 21, wie einer CPU (Central Processing Unit), einem RAM 22, einer Speichervorrichtung 23, wie einer Festplatte usw., einer Kommunikationsschnittstelle 24, einer Eingabeschnittstelle 25, wie einer Tastatur usw., und einer Ausgabeschnittstelle 26, wie einem Bildschirm usw., ausgestattet.In 3 is a system 20 having a processor 21 such as a CPU (Central Processing Unit), a RAM 22, a storage device 23 such as a hard disk, etc., a communication interface 24, an input interface 25 such as a keyboard, etc., and an output interface 26 , such as a screen, etc.

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 processor 21 can take over the functions of the calculation processing section 11 and the learning processing section 12A by reading out the program from the storage device 23, unfolding it in the RAM 22, and executing it. The storage device 23 can take over the function of the data storage section 122 for storing the training data D(x,y).

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 calculation processing section 11 and the learning processing section 12A are not limited to the above, but may be realized by hardware such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and so on.

(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 learning processing section 12A performs mini-batch learning using a training data group in which the noise data Dn(x,y) is mixed with the training data D(x,y).

4 ist ein Flussdiagramm einer Lernverarbeitung durch den Lernverarbeitungsabschnitt 12A. 4 12 is a flowchart of learning processing by the learning processing section 12A.

Zunächst stellt in Schritt S11 der Mischungssteuerabschnitt 125 das Mischungsverhältnis Tauf T= 1 ein.First, in step S11, the mixture control section 125 sets the mixture ratio T to T=1.

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 section 121 generates a training data group having a data number N by mixing the noise data Dn(x,y) having the mixing ratio T with the training data D(x,y). In other words, the training data group is a mixture of training data D( x,y) with a mixture ratio (1-T) obtained from the data storage section 122, and noise data Dn(x,y) with a mixture ratio T obtained from the data generation section 123. If T = 1, then the training data set consists exclusively of noise data Dn(x,y).

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 section 121 outputs the input data x of the training data D(x,y) to the calculation processing section 11 and the output data y to the updating section 124 . The calculation processing section 11 calculates the prediction data y* from the input data x.

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 section 124 obtains and averages an objective function for each of the training data D(x,y) and the noise data Dn(x,y) from the output data y output from the acquiring section 121 and the prediction data y* calculated in the calculation processing section 11. The update section 124 calculates a parameter θ* optimized so that the average objective function E is minimized. The update section 124 updates the parameter θ set in the calculation processing section 11 to the calculated parameter θ*.

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 mixture control section 125 judges in step S14 whether the mixture ratio T is T=0 or not. If T = 0 does not hold (S14: N), the mixture control section 125 decreases the mixture ratio T in step S15. Thereafter, returning to step S12, the noise data Dn(x,y) with the decreased mixture ratio T and the training data (x,y ) with the mixing ratio (1-T) are obtained again, and the learning is repeated using the mixed training data group. If T = 0 (S14: Y), i. H. when there is no more noise data Dn(x,y) in the training data group, the learning processing is terminated.

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 mixture control section 125 can adjust the proportion by which the mixture ratio T is decreased with respect to the number of times of learning. The mixture control section 125 may also decrease the mixture ratio T according to a schedule that determines in advance the rate of reduction relative to the number of times of learning, that is, by how much the mixture ratio T will decrease after performing what number of times of learning. An amount by which the mixing ratio T is decreased in each learning can be scheduled, for example, -10% after the first learning and -20% after the second learning. Furthermore, the schedule can also be set up in such a way that the mixing ratio T is lowered whenever a certain number of learning runs has been carried out, e.g. B. 0% after the first and second learning pass, -10% after the third learning pass, 0% after the fourth learning pass and -50% after the fifth learning pass.

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 control section 125, the proportion by which the mixing ratio T is decreased with respect to the number of times of learning can be adjusted so that convergence to a global optimum solution is achieved in a short time.

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] p = 1 1 + e x p ( Δ E T ( n ) )

Figure DE102021212526A1_0006
Der obige Prozess wird wiederholt, während die Temperatur T(n) gesenkt wird. Der Prozess wird beendet, wenn keine weiteren Änderungen des Parameters θ akzeptiert werden können oder wenn der Prozess ausreichend oft wiederholt wurde.For example, the probability p is determined using a sigmoid function according to the formula below, where n is the current number of iterations, T(n) is the temperature, and ΔE is the increment of the deviation.
[Mathematical Formula 4] p = 1 1 + e x p ( Δ E T ( n ) )
Figure DE102021212526A1_0006
The above process is repeated while lowering the temperature T(n). The process is terminated when no further changes in the parameter θ can be accepted or when the process has been repeated a sufficient number of times.

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 data processing apparatus 1A easy to implement can be provided.

[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.

5 zeigt die Anordnung einer Datenverarbeitungsvorrichtung 1B der zweiten Ausführungsform. 5 Fig. 12 shows the arrangement of a data processing device 1B of the second embodiment.

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 data processing device 1B is equipped with a calculation processing section 11 and a learning processing section 12B. The learning processing section 12B is provided with an acquisition section 121, a data storage section 122, a data generation section 123, an updating section 124, a mixing control section 125, and a dropout control section 126.

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 5 sind jene Bestandteile, die mit der Datenverarbeitungsvorrichtung 1A der ersten Ausführungsform identisch sind, mit denselben Bezugszeichen versehen.The detecting section 121, the data storing section 122, the data generating section 123, the updating section 124 and the mixing control section 125 have the same arrangement as in the first embodiment. In 5 those components which are identical to the data processing apparatus 1A of the first embodiment are given the same reference numerals.

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 dropout control section 126 drops out the neural network 30 . A dropout is processing for deactivating part of the nodes 31 of the hidden layers 4b. At the deactivated nodes 31, no calculation is performed for the input data x and no output takes place.

6 zeigt ein neuronales Netzwerk 30 in einem Zustand, in dem ein Dropout kombiniert wurde. 6 Fig. 12 shows a neural network 30 in a state where a dropout has been combined.

In 6 sind die schwarzen Knoten 31 jene Knoten, an denen ein Dropout ausgeführt wurde. Im Beispiel der 6 ist die Dropout-Rate der Knoten 31 in den zwei versteckten Schichten 4b jeweils 1/2 und 1/3.In 6 the black nodes 31 are the nodes that have been dropped out. In the example of 6 the dropout rate of the nodes 31 in the two hidden layers 4b is 1/2 and 1/3, respectively.

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 nodes 31 in a layer at which a dropout has been carried out. The dropout rate can be appropriately set according to the purpose. The higher the dropout rate, the easier the generalization performance of the neural network 30 increases. Consequently, it becomes easier to obtain an optimal solution not only for learned training data but also for unknown data. On the other hand, the lower the dropout rate, the more likely the solution will be as learned.

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 learning processing section 12B of the second embodiment drops out the calculation processing section 11 by the dropout control section 126 and then executes the same learning processing as in the first embodiment. In this way, the mini-batch learning is repeated, wah rend in a state where some nodes 31 have been dropped out, the mixing ratio T of the noise data Dn(x,y) in the training data group is lowered.

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 neural network 30 can be increased. However, since the noise data Dn(x,y), unlike the original training data D(x,y), does not necessarily have an example-solution relationship, it may happen, depending on the degree of the simulated cooling, that for input data other than the training data D(x,y) neutral prediction data, d. H. Prediction results that are not a solution at all are output. This is equivalent to creating a dictionary of the training data D(x,y) and the generality (also called generalization ability) of the neural network 30, i. H. it cannot be guaranteed that it also outputs optimal solutions for unknown data.

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 nodes 31, so that some features of the input data can be prevented from being overestimated. Therefore, with the second embodiment in which the learning processing of the first embodiment, which performs simulated cooling, is additionally combined with a dropout, the parameter θ is updated so that the optimal solution prediction data y* is calculated even when a part the input data is missing. As a result, the optimal solution for unknown data is easier to obtain even when using noise data Dn(x,y) in learning. The neutral output described above can be reduced and the generality of the neural network 30 increased.

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 neural network 30 is provided which is very robust and has the weakness that a small change in the input also changes the output to a small extent.

[Dritte Ausführungsform][Third Embodiment]

7 zeigt die Anordnung einer Datenverarbeitungsvorrichtung 1C der dritten Ausführungsform. 7 Fig. 12 shows the arrangement of a data processing device 1C of the 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 calculation processing section 11 and a learning processing section 12C. The learning processing section 12C is provided with an acquiring section 121, a data storing section 122, a data generating section 123, an updating section 124 and a converting section 127. FIG.

Der Erfassungsabschnitt 121, der Datenspeicherabschnitt 122, der Datenerzeugungsabschnitt 123 und der Aktualisierungsabschnitt 124 haben dieselbe Anordnung wie in der ersten Ausführungsform. In 7 sind jene Bestandteile, die mit der Datenverarbeitungsvorrichtung 1A der ersten Ausführungsform identisch sind, mit denselben Bezugszeichen versehen.The acquisition section 121, the data storage section 122, the data generation section 123 and the update section 124 have the same arrangement as in the first embodiment. In 7 those components which are identical to the data processing apparatus 1A of the first embodiment are given the same reference numerals.

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 conversion section 127 converts the prediction data y* output from the calculation processing section 11 for the input data x of the training data D(x,y) into solution data Y using a threshold value. While prediction data y* is data (e.g., multi-valued from 0 to 1) representing a probability of belonging to one of a plurality of solutions, solution data Y is data (e.g., binary 0 or 1) representing represent one of several solutions.

8 ist ein Flussdiagramm einer Lernverarbeitung im Lernverarbeitungsabschnitt 12C. Zuerst erhält in Schritt S31 der Erfassungsabschnitt 121 die Trainingsdaten D(x,y) und die Rauschdaten Dn(x,y) und erzeugt eine Trainingsdatengruppe mit einer vorgegebenen Anzahl N. 8th 12 is a flowchart of learning processing in the learning processing section 12C. First, in step S31, the acquiring section 121 obtains the training data D(x,y) and the noise data Dn(x,y), and generates a training data group of a predetermined number N.

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 acquisition section 121 outputs the input data x of the training data D(x,y) and noise data Dn(x,y) in the training data group to the calculation processing section 11 and the output data y to the updating section 124, respectively. The calculation processing section 11 calculates the prediction data y* from the input x.

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 section 124 obtains an objective function for each of the training data D(x,y) and noise data Dn(x,y) from the output data y output from the acquiring section 121 and the prediction data y* calculated in the calculation processing section 11, and averages them. The update section 124 calculates a parameter θ* optimized so that the average objective function E is minimized, and updates the parameter θ set in the calculation processing section 11 to the calculated parameter θ*.

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 section 127 converts the output data y of the noise data Dn(x,y) used in learning into one of a plurality of solution data Y in step S33. The conversion is performed based on a certain probability. The determined probability is assigned depending on a threshold.

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 calculation processing section 11 indicates the probability of belonging to one of the solution represented by 0 or the solution represented by 1. Given 0.5 as the limit of these two solutions, the prediction data y* is stochastically converted to the solution data Y with 0.5. Concretely, the prediction data y* is stochastically converted into solution data Y of 1 when it is greater than or equal to 0.5 and into solution data Y of 0 when it is smaller than 0.5. The solution data Y in this example is represented by Y = F(x). F(x) represents a function with which the input data x is converted into solution data Y by calculation in each of the layers of the neural network 30 from the input layer 4a to the output layer 4c.

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 section 127 may obtain the random number and stochastically convert the prediction data y* from 0 to 1 into solution data Y of 1 when larger than the random number and into solution data when smaller than the random number Convert Y from 0.

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 section 121 obtains the training data D(x,y). The acquiring section 121 mixes the converted noise data Dn(x,y) with the obtained training data D(x,y) and generates a training data group of the predetermined number N.

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 section 127 can adjust the ratio of the number of times of conversion of the output data y with respect to the number of times of learning. The converting section 127 can also perform the conversions according to a schedule in which the timings of the conversions are set in advance in terms of the number of times of learning, i.e., H. which defines after which number of learning passes a conversion is executed. For example, as described above, one conversion may be performed per learning pass, or conversions may be performed at a ratio of one conversion per two learning passes.

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 section 127 with respect to the number of times of learning is somewhat large, since the tendency of the prediction data y* toward a solution can be more easily suppressed. Furthermore, the ratio can also be adjusted according to the data number N of the training data group used in learning.

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.

9 zeigt konzeptionell die Komplexität der Ausgabegrenze. 9 conceptually shows the complexity of the spending limit.

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 output boundary 63 for the input neighborhood is not in the vicinity of the output point 61 for the input but has high complexity, the prediction may be weakened. In contrast, in the above third embodiment, during the repeated learning during which the output data y of the noise data Dn(x,y) is converted, the output boundary 63 is changed to an output boundary 62 with low complexity. As a result, the output hardly changes even if the input changes slightly.

[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.

10 ist ein Flussdiagramm einer Lernverarbeitung in der vierten Ausführungsform. Diese Lernverarbeitung kann durch dieselbe Anordnung wie die der Datenverarbeitungsvorrichtung 1C der dritten Ausführungsform ausgeführt werden. Zuerst erhält in Schritt S41 der Erfassungsabschnitt 121 die Rauschdaten Dn(x,y). 10 14 is a flowchart of learning processing in the fourth embodiment. This learning processing can be executed by the same arrangement as that of the data processing device 1C of the third embodiment. First, in step S41, the acquiring section 121 obtains the noise data Dn(x,y).

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 detection section 121 outputs the input data x of the noise data Dn(x,y) to the calculation processing section 11. FIG. The calculation processing section 11 calculates and outputs the prediction data y* for the input data x.

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 detection section 121 outputs to the calculation processing section 11 one or more input data x^ located in the vicinity of the input data x. Input data x^ of the environment refers to data that is adjacent to the input data x in the data space of the input data x or that lies within a certain distance from the input data x. The data space is a high-dimensional space in which several variables xi of the input data x are vector elements. The calculation processing section 11 calculates and outputs a prediction data y*^ for each input data x^.

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 section 127 sets the majority solution data Y among the plurality of solution data Y into which each of the prediction data y* and y*^ obtained from the calculation processing section 11 is divided. Concretely, among the plurality of solution data Y into which each of the prediction data y* and y*^ is divided, the converting section 127 counts the number of the identical solution data Y and sets the solution data Y having the largest number as the majority solution data Y. Then, the converting section 127 converts the output data y of the noise data Dn(x,y) used in learning into the fixed solution data Y.

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 calculation processing section 11.

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] Eingabedaten Vorhersagedaten Lösungsdaten 1010 0,1 0 1000 0,2 0 1001 0,4 0 1011 0,6 1 1100 0,6 1 If the following prediction data y* and y*^ is output for each of the input data x and x^, the respective prediction data y* and y*^ with the threshold 0.5 becomes three solution data Y with the value "0" and two solution data Y assigned the value "1". [Table 1] input data forecast data solution data 1010 0.1 0 1000 0.2 0 1001 0.4 0 1011 0.6 1 1100 0.6 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 section 121 obtains the training data D(x,y). The acquiring section 121 mixes the converted noise data Dn(x,y) with this training data D(x,y) and generates a training data group.

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 section 121 outputs the input data x of each of the training data D(x,y) and the noise data Dn(x,y) in the training data group to the calculation processing section 11 and the output data y to the updating section 124 . The calculation processing section 11 calculates the prediction data y* from the input data x.

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 section 124 obtains an objective function for each of the training data D(x,y) and noise data Dn(x,y) from the output data y output from the acquiring section 121 and the prediction data y* calculated in the calculation processing section 11, and averages them. The update section 124 calculates a parameter θ* optimized so that the average objective function E is minimized, and updates the parameter θ set in the calculation processing section 11 to the calculated parameter θ*.

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 conversion section 127 can adjust the ratio of the number of times of conversion of the output data y with respect to the number of times of learning. It is advantageous that the ratio of the number of conversions with respect to the number of learning times is somewhat large, since it is easier to suppress the tendency of the prediction data y* toward a solution. Furthermore, the ratio of the number of conversions with respect to the number of times of learning can also be adjusted according to the data number N of the training data group used in learning.

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 neural network 30 by performing pre-processing.

[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 calculation processing section 11, the parameter θ is usually given an arbitrary value, e.g. B. 0 or a random number, reset and updated by repeated learning of the training data D (x,y). The initial value of the parameter θ influences the learning process and the learning result. In the fifth embodiment, the initial value of this parameter θ is adjusted by pre-processing so that the neural network 30 is given a desired learning property.

11 zeigt die Anordnung einer Datenverarbeitungsvorrichtung 1D der fünften Ausführungsform. 11 Fig. 12 shows the arrangement of a data processing device 1D of the fifth embodiment.

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 11 sind jene Bestandteile, die mit der Datenverarbeitungsvorrichtung 1B der zweiten Ausführungsform identisch sind, mit denselben Bezugszeichen versehen.The data processing device 1D is equipped with a calculation processing section 11 and a learning processing section 12D. The learning processing section 12D is provided with an acquisition section 121, a data storage section 122, a data generation section 123, an update section 124 and a dropout control section 126. FIG. These elements have the same arrangement as in the second embodiment. In 11 those components which are identical to the data processing apparatus 1B of the second embodiment are given the same reference numerals.

12 zeigt den Verarbeitungsablauf der Vorverarbeitung. 12 shows the processing flow of the preprocessing.

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 section 124 sets the parameter θ in the calculation processing section 11 in step S51. The initial value of the parameter θ is 0 or any other value, such as a random number or the like.

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 dropout control section 26 drops out the calculation processing section 11 . The dropout rate can be set appropriately. The higher the dropout rate, the easier it is to reduce the influence of the input data on the calculation of the optimal solution. The gradients of the objective functions calculated from any training data D(x,y) become similar more easily and the sensitivity to each training data D(x,y) decreases more easily, so that it is easy to give the neural network 30 high generality. On the other hand, the lower the dropout rate, the easier it is to increase the influence of the input data on the calculation of the optimal solution. Consequently, the gradients of the objective functions calculated from any training data D(x,y) are more easily independent from each other, so that the learning efficiency increases and more data can be learned.

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 section 121 obtains a predetermined number N of noise data Dn(x,y) and generates a training data group consisting of the noise data Dn(x,y).

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 section 121 outputs the input data x of each of the noise data D(x,y) to the calculation processing section 11 and the output data y to the updating section 124 . The calculation processing section 11 calculates the prediction data y* from the input data x.

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 update section 124 obtains an objective function for each of the noise data Dn(x,y) from the deviation between the output data y output from the acquisition section 121 and the prediction data y* calculated in the calculation processing section 11 and averages them. The update section 124 calculates a parameter θ* optimized so that the average objective function E is minimized, and updates the parameter θ set in the calculation processing section 11 to the calculated parameter θ*.

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 neural network 30 can be given a learning property that enables it to learn the training data D(x,y) effectively.

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 neural Network 30 can be increased. Thus, by the pre-processing, it is possible to give the neural network 30 desired generality in advance.

[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 neural network 30 by pre-processing for selectively obtaining a training data group used in learning.

13 ist ein Flussdiagramm der Vorverarbeitung der sechsten Ausführungsform. Die Vorverarbeitung der sechsten Ausführungsform kann durch die Datenverarbeitungsvorrichtung 1D der fünften Ausführungsform ausgeführt werden. Diese Vorverarbeitung ist eine Verarbeitung, mit der die Trainingsdatengruppe im Voraus vorbereitet wird, und diese Trainingsdatengruppe wird bei der Lernverarbeitung, die nach der Vorverarbeitung ausgeführt wird, verwendet. 13 12 is a flowchart of the pre-processing of the sixth embodiment. The pre-processing of the sixth embodiment can be performed by the data processing device 1D of the fifth embodiment. This pre-processing is processing with which the training data group is prepared in advance, and this training data group is used in the learning processing performed after the pre-processing.

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 section 121 obtains the training data D(x,y) in step S61.

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 data generating section 123 generates the noise data Dn(x,y) based on the density of the obtained training data D(x,y).

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 data generating section 123 can generate more noise data Dn(x,y) in regions where the density of the training data D(x,y) is high than in regions where it is low. Concretely, in the data space of the training data D(x,y), in the vicinity of some of the training data (x,y), noise data Dn(x,y) can be generated with the same density as the training data D(x,y). Alternatively, data centered on some training data (x,y) can be generated as noise data Dn(x,y), and by adding noise data Dn(x,y), the density of training data D(x,y ) increase.

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 data generating section 123 can generate noise data Dn(x,y) with an equally low density in the vicinity thereof. For example, in the data space of the training data D(x,y), in the vicinity of some of the training data (x,y), noise data Dn(x,y) can be generated with the same density as the training data D(x,y).

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 neural network 30 according to the training data D(x,y).

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 neural network 30 can be lowered and the discrimination ability can be increased.

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 neural network 30 in a region where the density of the training data D(x,y) is low, since the regions of unknown data decrease and the change in output is reduced even with a slight change in input .

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 section 121 mixes the noise data Dn(x,y) generated by the data generating section 123 with the training data D(x,y) obtained from the data storing section 122 and generates a training data group.

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 data generating section 123 can also generate random noise data Dn(x,y), and from this the acquiring section 121 can obtain the noise data Dn(x,y) corresponding to the density of the training data D(x,y).

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 neural network 30 is given a property of hierarchically dividing the input data x from large categories to small categories by pre-processing for controlling the dropout rate.

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 data processing device 1D of the fifth embodiment. After the pre-processing, the learning processing is executed.

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 dropout control section 26 drops out the calculation processing section 11 . Here, the dropout control section 26 gradually lowers the dropout rate from the input layer 4a toward the output layer 4c in each layer.

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 hidden layers 4b, the dropout rate of each hidden layer 4b can be adjusted from the input layer 4a to the output layer 4c in the order of 50%, 25%, 10%.

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 hidden layers 4b decreases from the input layer 4a toward the output layer 4c. When the input data x has i number of variables xi, the calculation at each of the nodes 31 of the hidden layers 4b has a function of extracting a characteristic from the respective variables xi of the input data x and classifying it. The dropout stops this scheduling function of nodes 31.

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 input layer 4a side has more nodes 31 at which the scheduling function is stopped, and the output layer 4b side has fewer such nodes 31. In other words, the further one moves from the input layer 4a to the output layer 4c, the easier it becomes for the hidden layers 4b to perform their classification function, and more precise classification becomes possible. As a result, each of the variables xi of the input data x is hierarchically classified and characterized from large categories to small categories.

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 neural network 30 can be given the property of hierarchically dividing the input data x from large categories to small categories by the pre-processing.

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 input layer 4a, the hidden layers 4b and the output layer 4c of the neural network in arranged in a row, and which calculates prediction data by performing a calculation for the output of the upstream calculation module using a parameter associated with the calculation modules such as the weight wi and the bias bi, and the result of this calculation to the subsequent calculation module is issued.

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)

Datenverarbeitungsvorrichtung (1D) zum Durchführen eines tiefen Lernens eines neuronalen Netzwerkes; umfassend 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; wobei der Lernverarbeitungsabschnitt (12D) vor der Lernverarbeitung eine Vorverarbeitung ausführt, mit der dem neuronalen Netzwerk (30) eine Eigenschaft verliehen wird.Data processing apparatus (1D) for performing deep learning of a neural network; full a calculation processing section (11) having 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) that executes learning processing for updating the parameter using training data that are pairs of input data and output data associated in advance; wherein the learning processing section (12D) performs pre-processing for imparting a property to the neural network (30) prior to the learning processing. Datenverarbeitungsvorrichtung (1D) gemäß Anspruch 1, wobei der Lernverarbeitungsabschnitt (12D) bei der Vorverarbeitung einen beliebigen Parameter im neuronalen Netzwerk (30) einstellt; und den beliebigen Parameter mithilfe von Rauschdaten, bei denen es sich um von den Trainingsdaten verschiedene Paare von Eingabedaten und Ausgabedaten handelt, rücksetzt.Data processing device (1D) according to claim 1 wherein the learning processing section (12D) sets an arbitrary parameter in the neural network (30) in the pre-processing; and resets the arbitrary parameter using noise data, which are pairs of input data and output data different from the training data. Datenverarbeitungsvorrichtung (1D) gemäß Anspruch 2, wobei der Lernverarbeitungsabschnitt (12D) bei der Vorverarbeitung einen Dropout des neuronalen Netzwerkes (30) ausführt; den beliebigen Parameter derart aktualisiert, dass die Abweichung zwischen den Ausgabedaten der Rauschdaten und Vorhersagedaten, die durch das neuronale Netzwerk (30) aus den Eingabedaten der Rauschdaten berechnet werden, kleiner wird; und den aktualisierten Parameter als Ausgangswert des Parameters einstellt, der durch die Lernverarbeitung aktualisiert wird.Data processing device (1D) according to claim 2 wherein the learning processing section (12D) performs a dropout of the neural network (30) in the pre-processing; updates the arbitrary parameter such that the deviation between the output data of the noise data and prediction data calculated by the neural network (30) from the input data of the noise data becomes smaller; and sets the updated parameter as an initial value of the parameter updated by the learning processing. Datenverarbeitungsvorrichtung (1D) gemäß Anspruch 1, wobei der Lernverarbeitungsabschnitt (12D) bei der Vorverarbeitung die Trainingsdaten erhält und entsprechend der Dichte der Trainingsdaten Rauschdaten erhält, bei denen es sich um von den Trainingsdaten verschiedene Paare von Eingabedaten und Ausgabedaten handelt; und eine bei der Lernverarbeitung verwendete Trainingsdatengruppe erzeugt, indem den Trainingsdaten die Rauschdaten beigemischt werden.Data processing device (1D) according to claim 1 wherein the learning processing section (12D) obtains the training data in the pre-processing and obtains noise data, which are pairs of input data and output data different from the training data, according to the density of the training data; and a training data group used in the learning processing is generated by mixing the noise data with the training data. Datenverarbeitungsvorrichtung (1D) gemäß Anspruch 1, wobei das neuronale Netzwerk (30) eine Eingabeschicht (4a), versteckte Schichten (4b) und eine Ausgabeschicht (4c) aufweist; und der Lernverarbeitungsabschnitt (12D) bei der Vorverarbeitung einen Dropout des neuronalen Netzwerkes (30) ausführt; und eine Dropout-Rate in jeder der Schichten des neuronalen Netzwerkes (30) von der Eingabeschicht (4a) zur Ausgabeschicht (4c) hin stufenweise senkt.Data processing device (1D) according to claim 1 , wherein the neural network (30) has an input layer (4a), hidden layers (4b) and an output layer (4c); and the learning processing section (12D) performs a dropout of the neural network (30) in the pre-processing; and gradually decreasing a dropout rate in each of the layers of the neural network (30) from the input layer (4a) to the output layer (4c). Verfahren zum tiefen Lernen eines neuronalen Netzwerkes (30), das aus Eingabedaten mithilfe eines Parameters Vorhersagedaten berechnet; umfassend 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.Method for deep learning of a neural network (30) that calculates prediction data from input data using a parameter; comprising 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 before the learning processing, steps for performing pre-processing for imparting a property to the neural network (30). 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, wobei das Programm den Computer veranlasst, 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.A program executed by a computer for deep learning of a neural network (30) that calculates prediction data from input data using a parameter, wherein the program causes the computer Steps for performing learning processing that updates the parameter using training data, which are pairs of input data and output data associated in advance, and before the learning processing, steps for executing a pre-processing with which the neural network (30) is given a property, to execute.
DE102021212526.3A 2020-11-27 2021-11-08 Data processing device and method and program for deep learning of a neural network Pending DE102021212526A1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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