DE19610849C1 - Iterative determination of optimised network architecture of neural network by computer - Google Patents

Iterative determination of optimised network architecture of neural network by computer

Info

Publication number
DE19610849C1
DE19610849C1 DE19610849A DE19610849A DE19610849C1 DE 19610849 C1 DE19610849 C1 DE 19610849C1 DE 19610849 A DE19610849 A DE 19610849A DE 19610849 A DE19610849 A DE 19610849A DE 19610849 C1 DE19610849 C1 DE 19610849C1
Authority
DE
Germany
Prior art keywords
vector
component
neural network
iteration step
probability vector
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.)
Expired - Fee Related
Application number
DE19610849A
Other languages
German (de)
Inventor
Markus Dipl Ing Hoehfeld
Elvis Galic
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.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19610849A priority Critical patent/DE19610849C1/en
Application granted granted Critical
Publication of DE19610849C1 publication Critical patent/DE19610849C1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout

Abstract

The method involves performing iterations by computer. In each iteration step, neural nets of different architectures are generated using a probability vector and an evolutionary method in which each vector component probability is described to form neurons and/or neuron links. For each neural net, a weighting vector is optimised using a training data set and a fitness function determined for the optimised weighting vector. The optimised network architecture of a neural net results from the neural net with a minimal fitness function value if the value lies below a defined level. A further probability vector is determined for generating neural nets in a further iteration step taking into account the value of the fitness function, if the value is not below the defined level.

Description

Die Erfindung betrifft ein Verfahren zur Bestimmung eines Neuronalen Netzes, welches eine möglichst optimale Komplexi­ tät bei einer möglichst guten Generalisierung des Neuronalen Netzes bezüglich neuer Eingabedatensätze hat.The invention relates to a method for determining a Neural network, which has the best possible complexi with the best possible generalization of the neural Network with regard to new input data records.

Für ein Neuronales Netz mit vorgegebener Architektur existie­ ren verschiedene Verfahren zur Optimierung der Gewichte des Neuronalen Netzes anhand eines Trainingsdatensatzes. Es ist jedoch kein automatischer Ansatz zur Ermittlung einer opti­ mierten Architektur eines Neuronalen Netzes für einen spezi­ fischen Anwendungsfall, also für die jeweiligen Trainingsda­ ten bekannt. Unter Architektur des Neuronalen Netzes wird im folgenden die Kombination von Neuronen und Verbindungen zwi­ schen den einzelnen Neuronen des Neuronalen Netzes verstan­ den.For a neural network with a given architecture exist ren various methods to optimize the weights of the Neural network based on a training data set. It is however, no automatic approach for determining an opti architecture of a neural network for a speci fishing use case, i.e. for the respective training ten known. Under architecture of the neural network is in following the combination of neurons and connections between understand the individual neurons of the neural network the.

Zur Optimierung der Netzarchitektur ist es notwendig, einen hochdimensionalen diskreten Raum von Variablen zu berücksich­ tigen. Bei der Optimierung wird ein möglichst optimaler Kom­ promiß zwischen den folgenden Extremfällen gesucht. Ist das Neuronale Netz zu klein, ist es nicht möglich, eine komplexe Struktur der Trainingsdatensätze nachzubilden. Ist das Neuro­ nale Netz zu groß, so ist eine Tendenz zu beobachten, daß durch das "überdimensionierte" Neuronale Netz "Rauschen" der Trainingsdatensätze nachgebildet wird. Diese Situation wird als Überlernen bezeichnet. Dadurch wird eine Reduktion in der Generalisierungseigenschaft des Neuronalen Netzes verursacht.To optimize the network architecture, it is necessary to have one to consider high-dimensional discrete space of variables term. In the optimization, the optimal possible com promiss sought between the following extreme cases. Is this Neural network too small, it is not possible to create a complex one To reproduce the structure of the training data records. Is that neuro nale network too large, a tendency can be observed that through the "oversized" neural network "noise" of the Training data records is simulated. This situation will referred to as over-learning. This will result in a reduction in the Generalization property of the neural network.

Es sind Verfahren zum sogenannten Pruning von Gewichten eines Neuronalen Netzes bekannt, beispielsweise aus dem Dokument [1]. There are methods for so-called pruning weights of a Neural network known, for example from the document [1].  

Ein erheblicher Nachteil der Pruning-Verfahren ist darin zu sehen, daß das Pruning selbst nicht vollautomatisch durchge­ führt wird, sondern immer nur interaktiv zusammen mit einem Benutzer. Der Benutzer benötigt ein sehr spezielles Fachwis­ sen über das Pruning. Somit sind Verfahren, die auf dem Pruning beruhen, nicht für Laien durchführbar.A major disadvantage of the pruning process is there too see that the pruning itself is not fully automated leads, but always only interactively with one User. The user needs very special expertise about pruning. Thus, procedures based on the Pruning based, not feasible for laypeople.

Weiterhin ist ein Verfahren zur iterativen Ermittlung einer optimierten Netzarchitektur eines Neuronalen Netzes bekannt, bei dem die Netzarchitektur mit einem evolutionären Verfahren optimiert wird und für jedes Individuum eine Optimierung der Gewichte mittels eines Gradientenabstiegsverfahren durchge­ führt wird [2].Furthermore, a method for iteratively determining a optimized network architecture of a neural network, where the network architecture uses an evolutionary process is optimized and an optimization of the for each individual Weights are weighted using a gradient descent method leads [2].

Bei diesem Verfahren werden spezielle Mutationsoperatoren verwendet, was zu einem komplizierten Verfahren und somit zu einem erhöhten Rechenzeitbedarf bei der Durchführung des Ver­ fahrens durch einen Rechner führt.This procedure uses special mutation operators used, resulting in a complicated process and therefore too an increased computing time when performing Ver driving through a computer.

Ferner ist ein Nachteil des Verfahrens darin zu sehen, daß dieses Verfahren lediglich zur Klassifikation von Datensätzen nach der Trainingsphase verwendet wird und geeignet ist. Für eine feine Approximation einer durch die Trainingsdatensätze gegebenen Abbildungsfunktion ist dieses Verfahren nicht ge­ eignet.Another disadvantage of the method is that this procedure only for the classification of data sets is used and suitable after the training phase. For a fine approximation of one through the training data sets Given the mapping function, this method is not ge is suitable.

Auch ist eine Kontinuität der Entwicklung neuer Individuen und somit eine stetige Verbesserung der Individuen nicht ge­ währleistet.There is also a continuity in the development of new individuals and therefore a constant improvement of the individuals is not ge ensures.

Ferner ist ein sogenanntes Populationsbasiertes Inkrementel­ les Lernverfahren (Population-Based Incremental Learning, PBIL) bekannt [3]. There is also a so-called population-based increment The learning process (population-based incremental learning, PBIL) is known [3].  

Es sind verschiedene Verfahren zur Optimierung von Gewichten zu einer gegebenen Netzarchitektur bekannt, beispielsweise aus [4] und [5].There are several methods for optimizing weights known to a given network architecture, for example from [4] and [5].

Aus Zhang, Byoung-Tak; Mühlenbein, Heinz, Evolving Optimal Neural Networks Using Genetic Algorithms with Occam′s Razor, In: Complex Systems 7, S. 199-220, 1993 ist es bekannt, neuronale Netze zur Klassifikation von Eingangsmustern unter Verwendung genetischer Algorithmen zu optimieren, wobei in der Fitnessfunktion der Trainingsfehler der Trainingsphase der neuronalen Netze mit dem Trainingsdatensatz berücksich­ tigt wird.From Zhang, Byoung-Tak; Mühlenbein, Heinz, Evolving Optimal Neural Networks Using Genetic Algorithms with Occam’s Razor, In: Complex Systems 7, pp. 199-220, 1993 it is known neural networks for the classification of input patterns under Optimize the use of genetic algorithms, whereby in the fitness function the training errors of the training phase of the neural networks with the training data record is done.

Weitere Verfahren zur Generierung neuronaler Netze unter Ver­ wendung genetischer Algorithmen sind aus Shamir, Nachum; Saad, David; Marom, Emanuel, Using the Functional Behaviour of Neu­ rons for Genetic Recombination in Neural Nets Training, In: Complex Systems 7, S. 445-467, 1993 und US 51 40 530 be­ kannt.Other methods for generating neural networks under Ver genetic algorithms are from Shamir, Nachum; Saad, David; Marom, Emanuel, Using the Functional Behavior of Neu rons for Genetic Recombination in Neural Nets Training, In: Complex Systems 7, pp. 445-467, 1993 and US 51 40 530 knows.

Diese Verfahren weisen erhebliche Nachteile auf, insbesondere bezüglich der Komplexität der Verfahren, die diese Verfahren lediglich für relativ kleine Beispiele tauglich macht. Für komplexere Anwendungsbeispiele führen diese Verfahren zu ei­ nem sehr erheblichen Rechenbedarf, der die Durchführung der Verfahren erheblich kostenintensiv werden läßt. Ferner sind die Verfahren lediglich zur Klassifikation von Eingangssigna­ len und nicht zur Approximation nichtlinearer Funktionen ge­ eignet, da eine gute Verallgemeinerungsfähigkeit der ermit­ telten neuronalen Netze nicht gegeben ist.These methods have significant disadvantages, in particular regarding the complexity of the procedures that these procedures only suitable for relatively small examples. For These processes lead to more complex application examples nem very considerable computing need, which the implementation of the Processes can be considerably cost-intensive. Furthermore are the procedures only for the classification of input signals len and not to approximate nonlinear functions is suitable because the generalization ability of the mitit there are no neural networks.

Somit liegt der Erfindung das Problem zugrunde, ein Verfahren zur Ermittlung einer optimierten Netzarchitektur eines neuro­ nalen Netzes anzugeben, welches schnell, einfach realisierbar und für die Approximation nichtlinearer Funktionen geeignet ist. The invention is therefore based on the problem of a method to determine an optimized network architecture of a neuro nal network to specify which is quick, easy to implement and suitable for the approximation of nonlinear functions is.  

Dieses Problem wird durch das Verfahren gemäß Patentanspruch 1 gelöst.This problem is solved by the method according to claim 1 solved.

Bei dem erfindungsgemäßen Verfahren wird iterativ mittels ei­ nes evolutionären Verfahrens eine optimierte Netzarchitektur eines Neuronalen Netzes ermittelt. Dabei werden in jedem Ite­ rationsschritt die einzelnen Individuen der Neuronalen Netze generiert, wobei die einzelnen Neuronen und/oder Verbindungen der Neuronalen Netze mit einer Wahrscheinlichkeit generiert werden oder auch nicht generiert werden, die in einem Wahr­ scheinlichkeitsvektor angegeben werden. Die Netzarchitektur ist in einem Architekturvektor codiert, welcher nur binäre Werte aufweist. Für jedes Neuronale Netz, welches durch den spezifischen Architekturvektor charakterisiert wird, werden die Gewichte des Neuronalen Netzes mit bekannten Verfahren optimiert. Anschließend wird ein Wert einer Fitnessfunktion ermittelt, durch den die Eignung der Netzarchitektur des Neu­ ronalen Netzes für den Anwendungsfall beschrieben wird. In der Fitnessfunktion wird zumindest ein mit einem Validierungsdatensatz ermittelter Validierungsfehler be­ rücksichtigt. Als Ausgangsarchitektur für die Generierung der nächsten Generation mit Individuen, deren Neuronen und/oder Verbindungen mit einer Wahrscheinlichkeit generiert werden, die in jeweils einem weiteren Wahrscheinlichkeitsvektor ange­ geben wird, wird jeweils die Information über den geeignet­ sten Vorgänger der Neuronalen Netze verwendet.In the method according to the invention, iteratively using egg an optimized network architecture of a neural network. Every Ite ration step the individual individuals of the neural networks generated, the individual neurons and / or connections of the neural networks with a probability will or may not be generated in a true probability vector can be specified. The network architecture is encoded in an architecture vector which is only binary Has values. For each neural network that is created by the specific architecture vector is characterized the weights of the neural network using known methods optimized. Then a value of a fitness function determined by the suitability of the network architecture of the new ronal network for the application is described. In the fitness function will at least one determined with a validation data set Validation error be considered. As the starting architecture for the generation of the next generation with individuals, their neurons and / or Connections are generated with a probability each in a further probability vector is given, the information about the most predecessors of neural networks.

Ein erheblicher Vorteil des erfindungsgemäßen Verfahrens ist in seiner Einfachheit und somit in dem geringen Rechenzeitbe­ darf bei der Durchführung des Verfahrens mit einem Rechner zu sehen. Die Einfachheit wird vor allem durch die binäre Codie­ rung der jeweiligen Netzarchitektur begründet.A significant advantage of the method according to the invention is in its simplicity and thus in the low computing time allowed to perform the procedure with a computer see. The simplicity is mainly due to the binary code justification of the respective network architecture.

Ein weiterer Vorteil liegt darin, daß das Verfahren vollauto­ matisch ohne Interaktion mit einem Benutzer mit speziellem Fachwissen durchgeführt werden kann. Another advantage is that the process is fully auto matically without interaction with a user with special Expertise can be carried out.  

Ferner wird es durch das erfindungsgemäße Verfahren möglich, eine durch die Trainingsdatensätze gegebene Abbildungsfunkti­ on sehr fein zu approximieren.Furthermore, the method according to the invention makes it possible a mapping function given by the training data sets approximate very finely.

Vorteilhafte Weiterbildungen des erfindungsgemäßen Verfahrens ergeben sich aus den abhängigen Ansprüchen.Advantageous further developments of the method according to the invention result from the dependent claims.

Es ist vorteilhaft, jeweils den weiteren Wahrscheinlichkeits­ vektor durch eine gleitende Mittelwertbildung über eine be­ liebige Zahl vorangegangener Wahrscheinlichkeitsvektoren zu bilden, womit eine feine Kontinuität in der Entwicklung der Individuen der einzelnen Generationen gewährleistet wird.It is advantageous to consider the further probability vector by a moving averaging over a be any number of previous probability vectors form, with which a fine continuity in the development of the Individuals of each generation is guaranteed.

Ferner ist es vorteilhaft, für die Wahrscheinlichkeitsvekto­ ren eine sogenannte Mutation durchzuführen, wodurch eine Fi­ xierung der Werte der Komponenten des Wahrscheinlichkeitsvek­ tors bei dem Wert 0 oder dem Wert 1 vermieden wird.It is also advantageous for the probability vector ren to carry out a so-called mutation, whereby a fi Fixing the values of the components of the probability vector tors with the value 0 or the value 1 is avoided.

Auch ist es vorteilhaft, daß die Werte des Gewichtvektors zu Beginn einer Optimierung einer neuen Generation Neuronaler Netze sich ergeben aus einer gleitenden Mittelwertbildung über eine beliebige Zahl von Gewichtvektoren vorangegangener Generationen Neuronaler Netze. Dabei ist es vorteilhaft, als jeweiligen Ausgangspunkt die Werte des Gewichtsvektors des jeweils besten Neuronalen Netzes der vorangegangenen Genera­ tion zu verwenden. Damit wird das Verfahren beschleunigt, da die Optimierung der Gewichtsvektoren verkürzt wird.It is also advantageous that the values of the weight vector increase Start of optimization of a new generation of neurons Networks result from a moving averaging over any number of weight vectors Generations of Neural Networks. It is advantageous as respective starting point the values of the weight vector of the best neural network of the previous genera tion to use. This speeds up the process because the optimization of the weight vectors is shortened.

Es ist ferner vorteilhaft, in der Fitnessfunktion zumindest die Komplexität der Netzarchitektur und/oder den Resttrai­ ningsfehler zu berücksichtigen, da diese Optimierungsparame­ ter eine sehr feine und sehr gute Approximation ermöglichen.It is also advantageous, at least in the fitness function the complexity of the network architecture and / or the rest of the trail errors due to this optimization parameter enable a very fine and very good approximation.

Die Verläßlichkeit wird weiterhin verbessert, wenn der Trai­ ningsdatensatz und der Validierungsdatensatz disjunkte Mengen von Daten sind. Reliability is further improved when the trai nings data set and the validation data set disjoint sets of data are.  

Durch Verwendung eines Quasi-Newton Verfahrens (QNM) wird die Optimierung des jeweiligen Gewichtsvektors erheblich verbes­ sert und beschleunigt.By using a quasi-Newton method (QNM) the Optimization of the respective weight vector significantly verbes accelerates and accelerates.

Werden der Trainingsdatensatz und der Validierungsdatensatz in jedem Iterationsschritt mittels Kreuzvalidierung neu er­ mittelt, wird eine Anpassung an das "Rauschen" der Abbil­ dungsfunktion, welche durch die Datensätze bei endlich vielen Daten gegeben ist, verringert.Become the training record and the validation record in each iteration step using cross-validation averaged, an adaptation to the "noise" of the fig function, which is supported by the data records for a finite number Data given is reduced.

Ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist in den Figuren dargestellt und wird im weiteren näher erläu­ tert.An embodiment of the method according to the invention is shown in the figures and will be explained in more detail below tert.

Es zeigenShow it

Fig. 1 ein Ablaufdiagramm, in dem die einzelnen Verfah­ rensschritte des erfindungsgemäßen Verfahrens dargestellt sind; Fig. 1 is a flowchart in which the individual procedural steps of the inventive method are shown;

Fig. 2 eine Skizze, in der ein Rechner, mit dem das Verfahren notwendigerweise durchgeführt wird, dargestellt ist. Fig. 2 is a sketch showing a computer with which the method is necessarily carried out.

Fig. 3 eine Skizze, in der ein Neuronales Netz beispiel­ haft dargestellt ist. Fig. 3 is a sketch in which a neural network is shown as an example.

In Fig. 1 sind die einzelnen Verfahrensschritte des erfin­ dungsgemäßen Verfahrens dargestellt.In Fig. 1, the individual process steps of the inventive method are shown.

In dem Verfahren wird ein evolutionäres Verfahren zur Bildung verschiedener Generationen Neuronaler Netze NE jeweils mit unterschiedlicher Netzarchitektur verwendet. Das Verfahren wird iterativ durchgeführt, jeweils für eine Generation Neu­ ronaler Netze NE. The process becomes an evolutionary process of education different generations of neural networks NE each with different network architecture used. The procedure is carried out iteratively, each for a new generation ronal networks NE.  

In jedem Iterationsschritt t werden in einem ersten Schritt 101 die verschiedenen Neuronalen Netze NE einer Generation, die dem Iterationsschritt t entsprechen, von einem Rechner R, mit dem das erfindungsgemäße Verfahren notwendigerweise durchgeführt wird, nach dem jeweiligen evolutionären Verfah­ ren gebildet.In each iteration step t are in a first step 101 the different neural networks NE of a generation, which correspond to the iteration step t, from a computer R, with which the inventive method necessarily is carried out according to the respective evolutionary procedure ren formed.

Die Netzarchitektur jedes Neuronalen Netzes NE wird durch ei­ nen Architekturvektor x beschrieben, dessen Komponenten le­ diglich den Wert 0 oder den Wert 1 aufweisen. Eine Komponente des Architekturvektors x repräsentiert jeweils eindeutig je­ des Neuron NEU des Neuronalen Netzes NE und/oder jede Verbin­ dung Vÿ zwischen den Neuronen NEU, die durch einen ersten Index i und einen zweiten Index j gekennzeichnet werden. Der erste Index i und der zweite Index j sind natürliche Zahlen (vgl. Fig. 3).The network architecture of each neural network NE is described by an architecture vector x , the components of which only have the value 0 or the value 1. A component of the architecture vector x uniquely represents each of the neurons NEU of the neural network NE and / or each connection V ÿ between the neurons NEU, which are characterized by a first index i and a second index j. The first index i and the second index j are natural numbers (cf. FIG. 3).

Der Wert 0 zeigt an, daß entweder das entsprechende Neuron NEU nicht existiert oder daß die entsprechende Verbindung Vÿ nicht existiert. Der Wert 1 dagegen zeigt an, daß entweder das entsprechende Neuron NEU existiert oder daß die entspre­ chende Verbindung Vÿ existiert.The value 0 indicates that either the corresponding neuron NEU does not exist or that the corresponding connection V ÿ does not exist. The value 1, on the other hand, indicates that either the corresponding neuron NEU exists or that the corresponding connection V ÿ exists.

Zur Generierung der einzelnen Neuronalen Netze NE wird ein Wahrscheinlichkeitsvektor p t verwendet, der die gleiche Mäch­ tigkeit (Anzahl von Komponenten) aufweist wie der Architek­ turvektor x. In dem Wahrscheinlichkeitsvektor p t ist in jeder Komponente jeweils eine Wahrscheinlichkeit angegeben, mit der in jedem Iterationsschritt t bei der Generierung des jeweili­ gen Neuronalen Netzes NE ein Neuron NEU und/oder eine Verbin­ dung Vÿ zwischen den Neuronen NEU generiert wird.To generate the individual neural networks NE, a probability vector p t is used which has the same power (number of components) as the architecture vector x . In the probability vector p t , a component is given in each component, with which in each iteration step t a neuron NEW and / or a connection V ÿ is generated between the neurons NEW when generating the respective neural network NE.

Für das in Fig. 3 dargestellt einfache Beispiel eines Neuro­ nalen Netzes NE mit 5 Neuronen NEU1, NEU2, NEU3, NEU4 und NEU5, verteilt auf drei Schichten, einer Eingabeschicht IL, einer versteckten Schicht HL und einer Ausgabeschicht OL er­ gibt sich für den vereinfachten Fall, daß nur die Verbindun­ gen Vÿ in dem Architekturvektor x beschrieben wird:For the simple example shown in FIG. 3 of a neuronal network NE with 5 neurons NEU1, NEU2, NEU3, NEU4 and NEU5, distributed over three layers, an input layer IL, a hidden layer HL and an output layer OL there is for the simplified Case that only the connections V ÿ are described in the architecture vector x :

x = (V₁₁, V₁₂, V₁₃, V₁₄, V₁₅, V₂₃, V₂₄, V₂₅, V₃₄, V₃₅, V₄₅) = = (0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1) (1) x = (V₁₁, V₁₂, V₁₃, V₁₄, V₁₅, V₂₃, V₂₄, V₂₅, V₃₄, V₃₅, V₄₅) = = (0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1) (1)

Ferner wird den einzelnen Verbindungen Vÿ des Neuronalen Net­ zes NE jeweils ein Gewicht wÿ zugeordnet. Jedes Eingangs­ signal an einem Anfang einer Verbindung Vÿ, welcher durch den ersten Index i gekennzeichnet wird, wird mit dem ent­ sprechenden Gewicht wÿ multipliziert und dann dem durch den zweiten Index j gekennzeichneten Neuron NEj der Verbindung Vÿ zugeführt. Die einzelnen Gewichte wÿ werden zu einem Ge­ wichtsvektor w zusammengefaßt.Furthermore, a weight w ÿ is assigned to the individual connections V ÿ of the neural network NE. Each input signal at the beginning of a connection V ÿ , which is identified by the first index i, is multiplied by the corresponding weight w ÿ and then supplied to the connection V ÿ by the neuron NEj identified by the second index j. The individual weights w ÿ are combined to form a weight vector w .

Für das einfache Beispiel aus Fig. 3 ergibt sich allgemein folgender Gewichtsvektor w:The following weight vector w generally results for the simple example from FIG. 3:

w = (w₁₁, w₁₂, w₁₃, w₁₄, w₁₅, w₂₃, w₂₄, w₂₅, w₃₄, w₃₅, w₄₅) (2) w = (w₁₁, w₁₂, w₁₃, w₁₄, w₁₅, w₂₃, w₂₄, w₂₅, w₃₄, w₃₅, w₄₅) (2)

Ein die Abbildungsfunktion des jeweiligen Neuronalen Netzes NE charakterisierender Abbildungsvektor w sp ergibt sich aus dem Architekturvektor x und dem Gewichtsvektor w zu:A mapping vector w sp characterizing the mapping function of the respective neural network NE results from the architecture vector x and the weight vector w :

w sp = w T · x (3) w sp = w T * x (3)

wobei mit
w T der transponierte Gewichtsvektor w bezeichnet wird.
being with
w T is the transposed weight vector w .

Der Abbildungsvektor w sp ergibt sich für den Beispielsfall zu:
w sp = (0, 0, w₁₃, w₁₄, 0, w₂₃, w₂₄, 0, 0, w₃₅, w₄₅).
The mapping vector w sp results for the example case:
w sp = (0, 0, w₁₃, w₁₄, 0, w₂₃, w₂₄, 0, 0, w₃₅, w₄₅).

Nachdem in jedem Iterationsschritt t die verschiedenen Neuro­ nalen Netze NE einer Generation, die dem Iterationsschritt t entsprechen, von dem Rechner R nach dem jeweiligen evolutio­ nären Verfahren gebildet wurden (101), werden für jedes Neuro­ nale Netz NE des Iterationsschritts t folgende Schritte durchgeführt (102):
Anhand eines vorgegebenen Trainingsdatensatzes TDS werden die einzelnen Gewichte wÿ des jeweiligen Neuronalen Netzes NE optimiert (103). Diese Trainingsphase kann mit unterschiedlich­ sten Trainingsverfahren durchgeführt werden, die dem Fachmann bekannt sind. Üblicherweise werden sogenannte Gradientenab­ stiegsverfahren verwendet zur Optimierung einer Fehlerfunkti­ on E, die die Abweichung eines jeweiligen Ausgabewerts yl des Neuronalen Netzes NE zu einem vorgegebenen Sollwert tl bei Anlegen eines Trainingsdatums z l angibt. Mit einem Index l wird jeweils ein Trainingsdatum eindeutig gekennzeichnet.
After the different neural networks NE of a generation corresponding to the iteration step t have been formed by the computer R in accordance with the respective evolutionary method (101) in each iteration step t, the following steps are carried out for each neuronal network NE of the iteration step t ( 102):
The individual weights w ÿ of the respective neural network NE are optimized on the basis of a predetermined training data set TDS (103). This training phase can be carried out using a wide variety of training methods known to the person skilled in the art. So-called gradient descent methods are usually used to optimize an error function E, which indicates the deviation of a respective output value y l of the neural network NE from a predetermined target value t l when a training date z l is created . A training date is clearly identified with an index l.

Für den Fall, daß der Trainingsdatensatzes TDS eine Anzahl s von Trainingsdaten z l mit den Trainingsdaten z l zugeordneten Sollwerten tl aufweist, ergibt sich beispielsweise als Feh­ lerfunktion E:In the event that the training data set TDS has a number s of training data z l with target values t l assigned to the training data z l , the following results, for example, as an error function E:

wobei
d eine beliebige natürliche Zahl ist.
in which
d is an arbitrary natural number.

Eine nicht abschließende Übersicht über verschiedene Gradien­ tenabstiegsverfahren ist in [4] und in [5] zu finden. Das in dem Dokument [5] beschriebene Quasi-Newton-Verfahren (QNM) weist den Vorteil auf, daß das Verfahren sehr schnell und unter Erhalt guter Resultate durchführbar ist. Weitere Ver­ fahren zur Optimierung der Gewichte wÿ des jeweiligen Neuro­ nalen Netzes NE sind dem Fachmann bekannt und können ohne Einschränkungen in dem erfindungsgemäßen Verfahren eingesetzt werden.A non-exhaustive overview of various gradient descent methods can be found in [4] and in [5]. The Quasi-Newton method (QNM) described in document [5] has the advantage that the method can be carried out very quickly and with good results. Further methods for optimizing the weights w ÿ of the respective neural network NE are known to the person skilled in the art and can be used without restrictions in the method according to the invention.

Nach Beendigung der Trainingsphase (103) wird aus einem Rest­ fehler, der sich ergibt aus dem Wert der Fehlerfunktion E am Ende der Trainingsphase und aus einem Validierungsfehler EV, ein Wert einer Fitnessfunktion F bestimmt (104).After the end of the training phase (103), a value of a fitness function F is determined from a residual error that results from the value of the error function E at the end of the training phase and from a validation error E V (104).

Der Validierungsfehler EV wird anhand eines Validierungsda­ tensatzes VDS bestimmt. Für den Fall, daß der Validierungsda­ tensatzes VDS eine Anzahl r Validierungsdaten aufweist, er­ gibt sich der Validierungsfehler EV zu:The validation error E V is determined using a validation data record VDS. In the event that the validation data set VDS has a number of r validation data, it admits the validation error E V to:

wobei mit
k jeweils ein Validierungsdatum eindeutig gekennzeichnet wird,
yk ein Ausgabewert des Neuronalen Netzes NE bei Anlegen des Validierungsdatums bezeichnet wird,
tk ein Soll-Wert des Neuronalen Netzes NE bei Anlegen des Va­ lidierungsdatums bezeichnet wird.
being with
k each validation date is clearly identified,
y k is an output value of the neural network NE when the validation date is created,
t k is a target value of the neural network NE when the validation date is created.

Die Fitnessfunktion F ergibt sich für unterschiedliche Vari­ anten des erfindungsgemäßen Verfahrens auf unterschiedliche Weise. In die Fitnessfunktion F können der Restfehler und der Validierungsfehler EV einfließen. Für den Spezialfall, daß nur der Validierungsfehler EV in die Fehlerfunktion F ein­ fließt, ergibt sich für die Fitnessfunktion F:The fitness function F results for different variants of the method according to the invention in different ways. The residual error and the validation error E V can flow into the fitness function F. For the special case that only the validation error E V flows into the error function F, the result for the fitness function F is:

F = EV (6).F = E V (6).

Es ist jedoch in einer Variante des erfindungsgemäßen Verfah­ rens auch vorgesehen, die Komplexität des jeweiligen Neurona­ len Netzes NE in der Fitnessfunktion F zu berücksichtigen. Für diesen Fall ergibt sich beispielsweise für die Fitness­ funktion F:However, it is in a variant of the method according to the invention rens also provided the complexity of each neurona len network NE to be taken into account in the fitness function F. In this case there is, for example, fitness function F:

wobei mit
δ ein Einflußfaktor beschrieben wird, der eine beliebige na­ türliche Zahl ist mit der angegeben wird, in welchem Maß die Komplexität des jeweiligen Neuronalen Netzes NE in der Fit­ nessfunktion F berücksichtigt werden soll.
being with
δ an influencing factor is described, which is an arbitrary natural number with which the extent to which the complexity of the respective neural network NE is to be taken into account in the fitness function F is specified.

Ferner ist in einer Variante des erfindungsgemäßen Verfahrens auch vorgesehen, sowohl den Restfehler und den Validierungs­ fehler EV als auch die Komplexität des jeweiligen Neuronalen Netzes NE in der Fitnessfunktion F zu berücksichtigen. Die Fitnessfunktion F ergibt sich dann aus der Gleichung (6) und aus der Gleichung (7) zu:Furthermore, it is also provided in a variant of the method according to the invention to take into account both the residual error and the validation error E V and the complexity of the respective neural network NE in the fitness function F. The fitness function F then results from equation (6) and from equation (7):

Mit xÿ wird jeweils eine durch die Indizes eindeutig gekenn­ zeichnete Komponente des Architekturvektors x bezeichnet.X ÿ denotes a component of the architecture vector x which is clearly identified by the indices.

Ist der Wert der Fitnessfunktion F eines Neuronalen Netzes NE kleiner als eine vorgebbare Schranke SCH (106), so ist das ent­ sprechende Neuronale Netz NE das für den Anwendungsfall Neu­ ronale Netz NE mit optimaler Netzarchitektur, und das Verfah­ ren ist beendet (107). Is the value of the fitness function F of a neural network NE smaller than a predeterminable barrier SCH (106), this is ent speaking neural network NE that for the application New ronal NE network with optimal network architecture, and the process ren has ended (107).  

Sind die Werte der Fitnessfunktion F aller Neuronalen Netze NE einer Generation t größer als die vorgebbare Schranke SCH, so ist die optimale Netzarchitektur noch nicht ermittelt, und es muß mindestens eine weitere Iteration t+1 durchgeführt werden.Are the values of the fitness function F of all neural networks NE of a generation t larger than the predefinable barrier SCH, the optimal network architecture has not yet been determined, and at least one further iteration t + 1 must be carried out will.

Für den weiteren Iterationsschritt t+1 wird ein weiterer Wahrscheinlichkeitsvektor p t+1 bestimmt (105).A further probability vector p t + 1 is determined for the further iteration step t + 1 (105).

Es sind unterschiedliche Varianten zur Bildung des weiteren Wahrscheinlichkeitsvektors Pt+1 aus dem Wahrscheinlichkeits­ vektor p t vorgesehen. Beispielsweise können sich die einzel­ nen Komponenten p i, t+1 des weiteren Wahrscheinlichkeitsvek­ tors p t+1 durch eine gleitende Mittelwertbildung über die entsprechenden Komponenten pi, t+1 mindestens eines vorange­ gangenen Wahrscheinlichkeitsvektors p t ergeben. Dies kann vorteilhafterweise durch Anwendung einer beliebigen Funktion eines digitalen Filters erfolgen. Bei der Bestimmung des wei­ teren Wahrscheinlichkeitsvektors p t+1 wird vorteilhafterweise jeweils der Wahrscheinlichkeitsvektor p t verwendet, der dem Neuronalen Netz NE zugeordnet wurde, das den besten Wert der Fitnessfunktion F aufweist.Different variants are provided for forming the further probability vector P t + 1 from the probability vector p t . For example, the individual components p i, t + 1 of the further probability vector p t + 1 can result from a moving averaging over the corresponding components p i, t + 1 of at least one previous probability vector p t . This can advantageously be done by using any function of a digital filter. When determining the further probability vector p t + 1 , the probability vector p t that was assigned to the neural network NE that has the best value of the fitness function F is advantageously used in each case.

Es hat sich als sehr einfach und somit als vorteilhaft her­ ausgestellt, daß die einzelnen Komponenten pi, t+1 des weite­ ren Wahrscheinlichkeitsvektors p t+1 gebildet werden nach der Vorschrift:It has proven to be very simple and therefore advantageous that the individual components p i, t + 1 of the further probability vector p t + 1 are formed according to the rule:

pi, t+1 = (1 - α)pi, t + αxbest, t (9)p i, t + 1 = (1 - α) p i, t + αx best, t (9)

wobei mit
pi, t+1 jeweils die Komponente des weiteren Wahrscheinlich­ keitsvektors p t+1 zum Iterationsschritt t+1 bezeichnet wird, t der Iterationsindex bezeichnet wird,
i ein Komponentenindex bezeichnet wird, mit dem jede Kompo­ nente des Wahrscheinlichkeitsvektors p t oder des weiteren Wahrscheinlichkeitsvektors p t+1 eindeutig gekennzeichnet wird,
α eine Abklingkonstante bezeichnet wird,
pi, t jeweils eine Komponente des Wahrscheinlichkeitsvektors bezeichnet wird,
xi, best, t eine Komponente des Architekturvektors des jeweils besten Neuronalen Netzes NE eines Iterationsschritts t ge­ kennzeichnet wird.
being with
p i, t + 1 each denotes the component of the further probability vector p t + 1 for the iteration step t + 1 , t denotes the iteration index,
i denotes a component index with which each component of the probability vector p t or the further probability vector p t + 1 is uniquely identified,
α is a decay constant,
p i, t each denotes a component of the probability vector,
x i, best, t a component of the architecture vector of the best neural network NE of an iteration step t is identified.

Die Abklingkonstante α ist eine beliebige Zahl.The decay constant α is an arbitrary number.

Die einzelnen Verbindungen Vÿ und/oder die einzelnen Neuro­ nen NEU werden in dem nächsten Iterationsschritt jeweils mit der Wahrscheinlichkeit generiert, die für die jeweilige Ver­ bindung Vÿ und/oder das jeweilige Neuronen NEU in dem weite­ ren Wahrscheinlichkeitsvektor p t+1 angegeben ist.The individual connections V ÿ and / or the individual neurons NEW are each generated in the next iteration step with the probability that is specified for the respective connection V ÿ and / or the respective neuron NEW in the further probability vector p t + 1 .

In einer Weiterbildung des erfindungsgemäßen Verfahrens ist es vorgesehen, bei der Bildung der Komponenten pi, t+1 des weiteren Wahrscheinlichkeitsvektors p t+1 einen sogenannten Mutationsschritt zur Veränderung der Komponenten pi, t+1 durchzuführen.In a development of the method according to the invention, it is provided to carry out a so-called mutation step to change the components p i, t + 1 when forming the components p i, t + 1 of the further probability vector p t + 1 .

Die Mutation dient beispielsweise dazu, eine Fixierung der Werte der Komponenten pi, t+1 auf den Wert 0 oder den Wert 1 zu vermeiden. Es hat sich folgende Vorschrift zur Mutation der Komponenten pi, t+1 als vorteilhaft herausgestellt:The mutation serves, for example, to avoid fixing the values of the components p i, t + 1 to the value 0 or the value 1. The following rule for mutating components p i, t + 1 has proven to be advantageous:

pm + 1i, t = (1 - β)pmi, t + βb (10)pm + 1 i, t = (1 - β) pm i, t + βb (10)

wobei mit
pm+1i, t+1 jeweils eine Komponente pi, t+1 des weiteren Wahr­ scheinlichkeitsvektors p t+1 zum Iterationsschritt t+1 be­ zeichnet wird, bei dem eine Mutation der Komponente pi, t+1 durchgeführt wurde,
t der Iterationsindex bezeichnet wird,
i der Komponentenindex bezeichnet wird, mit dem jede Kompo­ nente pi, t+1 des Wahrscheinlichkeitsvektors p t oder des wei­ teren Wahrscheinlichkeitsvektors p t+1 eindeutig gekennzeich­ net wird,
β eine Mutationskonstante bezeichnet wird,
pmi, t jeweils eine Komponente pi, t des Wahrscheinlichkeits­ vektors p t zum Iterationsschritt t bezeichnet wird, bei dem eine Mutation der Komponente pi, t durchgeführt wird,
b eine vorgebbare Zahl im Intervall [0, 1] bezeichnet wird.
being with
pm + 1 i, t + 1 a component p i, t + 1 of the further probability vector p t + 1 for the iteration step t + 1 , in which a mutation of the component p i, t + 1 was carried out,
t the iteration index is designated,
i denotes the component index with which each component p i, t + 1 of the probability vector p t or the further probability vector p t + 1 is uniquely identified,
β is a mutation constant,
pm i, t each denotes a component p i, t of the probability vector p t for the iteration step t , in which a mutation of the component p i, t is carried out,
b a specifiable number in the interval [0, 1] is designated.

Die Mutationskonstante β ist eine beliebige Zahl.The mutation constant β is an arbitrary number.

Ferner ist es in einer Weiterbildung des Verfahrens vorgese­ hen, die Komponenten wÿ, t+1 eines weiteren Gewichtsvektors w t+1 jedes Neuronalen Netzes NE zu Beginn der Optimierung der einzelnen Gewichte wÿ, t+1 durch eine gleitende Mittelwert­ bildung über die entsprechenden Komponenten wÿ, t des Ge­ wichtsvektors w des vorangegangenen bezüglich der Fitness­ funktion F besten Neuronalen Netzes NE zu bestimmen. Dies kann vorteilhafterweise durch Anwendung einer beliebigen Funktion eines digitalen Filters erfolgen.Furthermore, it is provided in a further development of the method that the components w ÿ, t + 1 of a further weight vector w t + 1 of each neural network NE at the beginning of the optimization of the individual weights w ÿ, t + 1 by means of a moving averaging over the to determine corresponding components w ÿ, t of the weight vector w of the preceding neural network NE with respect to the fitness function F. This can advantageously be done by using any function of a digital filter.

Es hat sich als sehr einfach und somit als vorteilhaft her­ ausgestellt, daß die einzelnen Komponenten w ÿ, t+1 des weite­ ren Wahrscheinlichkeitsvektors wt+1 gebildet werden nach der Vorschrift:It has proven to be very simple and therefore advantageous that the individual components w ÿ, t + 1 of the further probability vector w t + 1 are formed according to the rule:

wÿ, t+1 = (1 - η)wÿ, t + ηwbest, t w ÿ, t + 1 = (1 - η) w ÿ, t + ηw best, t

wobei mit
wi, t+1 jeweils eine Komponente des Gewichtsvektors w zu Be­ ginn der Optimierung des Gewichtsvektors w zum Iterations­ schritt t+1 bezeichnet wird,
t ein Iterationsindex bezeichnet wird,
i, j ein erster Index und ein zweiter bezeichnet werden, mit denen jede Komponente des Gewichtsvektors w eindeutig gekenn­ zeichnet wird,
η eine Gewichtsabklingkonstante bezeichnet wird,
wi, t jeweils eine Komponente des Gewichtsvektors w zu Beginn der Optimierung des Gewichtsvektors w zum Iterationsschritt t bezeichnet wird,
wbest, t eine Komponente des Gewichtsvektors w des jeweils be­ sten Neuronalen Netzes NE eines Iterationsschritts t gekenn­ zeichnet wird.
being with
w i, t + 1 each denotes a component of the weight vector w at the start of the optimization of the weight vector w for the iteration step t + 1,
t an iteration index is designated,
i, j a first index and a second are designated, with which each component of the weight vector w is uniquely identified,
η is a weight decay constant,
w i, t each denotes a component of the weight vector w at the beginning of the optimization of the weight vector w for the iteration step t,
w best, t is a component of the weight vector w of each be most neural network NE one iteration t marked in draws.

Zur weiteren Vereinfachung des erfindungsgemäßen Verfahrens ist es in einer Weiterbildung des Verfahrens vorgesehen, zur Generierung der Neuronalen Netze NE in den einzelnen Iterati­ onsschritten t das sogenannte Populationsbasierte Inkremen­ telle Lernverfahren (Population-Based Incremental Learning, PBIL) zu verwenden, das in dem Dokument [3] beschrieben ist.To further simplify the method according to the invention it is provided in a further development of the method for Generation of the neural networks NE in the individual iterations the so-called population-based increment telle learning processes (population-based incremental learning, PBIL) to use, which is described in the document [3].

Ferner ist es in einer Weiterbildung des Verfahrens vorteil­ haft, wenn der Trainingsdatensatz TDS und der Validierungsda­ tensatz VDS disjunkt sind. Damit wird das Ergebnis der Trai­ ningsphase und der Validierung weiter verbessert.It is also advantageous in a further development of the method liable if the training data set TDS and the validation da VDS are disjoint. This will be the result of the trai ning phase and validation further improved.

Eine weitere Verbesserung der Ergebnisse wird erzielt, wenn in jedem Iterationsschritt t der Trainingsdatensatz TDS und der Validierungsdatensatz VDS neu gebildet werden. Für den Fall, daß alle verfügbaren Daten schon in dem Trainingsdaten­ satz TDS oder in dem Validierungsdatensatz VDS Verwendung finden, ist es vorteilhaft, jeweils eine Kreuzvalidierung der beiden Datensätze durchzuführen, um in jedem Iterations­ schritt t einen "neuen" Trainingsdatensatz TDS und einen "neuen" Validierungsdatensatz VDS zu erhalten. Damit wird die Anpassung an das "Rauschen" der Daten erheblich verringert.A further improvement in results is achieved if in each iteration step t the training data record TDS and the VDS validation data record is newly formed. For the In case all available data is already in the training data set TDS or in the validation data set VDS use find it is advantageous to cross-validate each two records to perform in each iteration step t a "new" training data set TDS and one  To get "new" validation data set VDS. With that the Adaptation to the "noise" of the data significantly reduced.

Die Kreuzvalidierung ist aus dem Dokument [6] bekannt.Cross validation is known from document [6].

In Fig. 2 ist der Rechner R dargestellt, mit dem das Verfah­ ren notwendigerweise durchgeführt wird. Weiterhin sind der Trainingsdatensatz TDS und der Validierungsdatensatz VDS sym­ bolisch dargestellt. Das optimierte Neuronale Netz NE wird dem Benutzer beispielsweise auf einem Bildschirm BS darge­ stellt. In Fig. 2, the computer R is shown, with which the procedural ren is necessarily carried out. Furthermore, the training data set TDS and the validation data set VDS are shown symbolically. The optimized neural network NE is presented to the user, for example on a screen BS.

In diesem Dokument wurden folgende Veröffentlichungen zi­ tiert:
[1] F. Hergert et al, A Comparison of Weight Elimination Me­ thods for Reducing Complexity in Neural Networks, Inter­ national Joint Conference on Neural Networks, Baltimore, S. 1-8, 1992
[2] H. Braun und P. Zagorski, ENZO-M - A Hybrid Approach for Optimizing Neural Networks by Evolution and Learning, Parallel Problem Solving from Nature, Y. Davidor et al (eds.), International Conference on Evolutionary Computa­ tion, Proceedings of the Third Conference on Parallel Problem Solving from Nature, Jerusalem, Israel, Oktober 9-14, ISBN 3-540-58484-6, Springer Verlag, S. 440-451, 1994
[3] S. Baluja und R. Caruana, Removing the Genetics from the Standard Genetic Algorithm, Proceedings of the Twelfth International Conference on Machine Learning, Lake Tahoe, CA, S. 1-11, Juli 1995
[4] A. Zell, Simulation Neuronaler Netze, Addison-Wesley, 1. Auflage, ISBN 3-89319-554-8, S. 105-178, 1994
[5] R. Fletcher, Practical Methods of Optimization, John Wiley, 2. Auflage, ISBN 0-471-91547-5, S. 49-57, 1987
[6] L. Breiman, Classification and Regression Trees, The Wadsworth statistics/probability series, J. Kimmel (ed.), ISBN 0-534-98053-8, S. 11, 1984
The following publications have been cited in this document:
[1] F. Hergert et al, A Comparison of Weight Elimination Methods for Reducing Complexity in Neural Networks, International Joint Conference on Neural Networks, Baltimore, pp. 1-8, 1992
[2] H. Braun and P. Zagorski, ENZO-M - A Hybrid Approach for Optimizing Neural Networks by Evolution and Learning, Parallel Problem Solving from Nature, Y. Davidor et al (eds.), International Conference on Evolutionary Computation, Proceedings of the Third Conference on Parallel Problem Solving from Nature, Jerusalem, Israel, October 9-14, ISBN 3-540-58484-6, Springer Verlag, pp. 440-451, 1994
[3] S. Baluja and R. Caruana, Removing the Genetics from the Standard Genetic Algorithm, Proceedings of the Twelfth International Conference on Machine Learning, Lake Tahoe, CA, pp. 1-11, July 1995
[4] A. Zell, Neural Network Simulation, Addison-Wesley, 1st edition, ISBN 3-89319-554-8, pp. 105-178, 1994
[5] R. Fletcher, Practical Methods of Optimization, John Wiley, 2nd edition, ISBN 0-471-91547-5, pp. 49-57, 1987
[6] L. Breiman, Classification and Regression Trees, The Wadsworth statistics / probability series, J. Kimmel (ed.), ISBN 0-534-98053-8, p. 11, 1984

Claims (16)

1. Verfahren zur iterativen Ermittlung einer optimierten Netzarchitektur eines Neuronalen Netzes (NE) durch einen Rechner (R) mit folgenden Schritten:
  • a) in jedem Iterationsschritt (t) werden Neuronale Netze (NE) unterschiedlicher Netzarchitekturen unter Verwendung eines Wahrscheinlichkeitsvektors (p t) generiert (101), wobei die Generierung mittels eines evolutionären Verfahrens erfolgt und wobei in dem Wahrscheinlichkeitsvektor (p t) durch jede Komponente (pi, t) des Wahrscheinlichkeitsvektors (p t) jeweils die Wahrscheinlichkeit zur Bildung von Neuronen (NEU) und/oder zur Bildung einer Verbindung (Vÿ) von Neuronen (NEU) jeweils eines Neuronalen Netzes (NE) beschrieben wer­ den,
  • b) für jedes Neuronales Netz (NE) werden die folgenden Schritte durchgeführt (102):
  • - es wird ein Gewichtsvektor (w) des Neuronalen Netzes (NE) anhand eines Trainingsdatensatzes (TDS) optimiert (103),
  • - für den optimierten Gewichtsvektor wird ein Wert einer Fit­ nessfunktion (F) ermittelt (104), wobei in der Fitnessfunkti­ on (F) zumindest ein mit einem Validierungsdatensatz (VDS) ermittelter Validierungsfehler (EV) berücksichtigt wird,
  • c) die optimierte Netzarchitektur eines Neuronalen Netzes (NE) ergibt sich aus dem Neuronalen Netz (NE) mit minimalem Wert der Fitnessfunktion (F), falls der Wert unter einer vor­ gebbaren Schranke (SCH) liegt (106, 107), und
  • d) es wird ein weiterer Wahrscheinlichkeitsvektor (p t+1) zur Generierung Neuronaler Netze in einem weiteren Iterations­ schritt (t+1) bestimmt unter Berücksichtigung der Werte der Fitnessfunktion (F) (105), falls der Wert der Fitnessfunktion (F) nicht unter der vorgebbaren Schranke (SCH) liegt (106).
1. Method for iteratively determining an optimized network architecture of a neural network (NE) using a computer (R) with the following steps:
  • a) in each iteration step (t), neural networks (NE) of different network architectures are generated (101) using a probability vector ( p t ), the generation being carried out by means of an evolutionary method, and each component in the probability vector ( p t ) ( p i, t ) of the probability vector ( p t ) each describes the probability of forming neurons (NEW) and / or of forming a connection (V ÿ ) of neurons (NEW) of a neural network (NE),
  • b) for each neural network (NE) the following steps are carried out (102):
  • a weight vector ( w ) of the neural network (NE) is optimized on the basis of a training data set (TDS) (103),
  • a value of a fitness function (F) is determined (104) for the optimized weight vector, at least one validation error (E V ) determined with a validation data record (VDS) being taken into account in the fitness function (F),
  • c) the optimized network architecture of a neural network (NE) results from the neural network (NE) with a minimum value of the fitness function (F) if the value is below a predefinable barrier (SCH) (106, 107), and
  • d) a further probability vector ( p t + 1 ) for generating neural networks in a further iteration step (t + 1) is determined taking into account the values of the fitness function (F) (105) if the value of the fitness function (F) is not is below the predefinable barrier (SCH) (106).
2. Verfahren nach Anspruch 1, bei dem Komponenten (pi, t+1) des weiteren Wahrscheinlich­ keitsvektors (p t+1) durch eine gleitende Mittelwertbildung über die entsprechenden Komponenten (pi, t) von mindestens ei­ nem vorangegangenen Wahrscheinlichkeitsvektor (p t) bestimmt werden.2. The method according to claim 1, in which components (p i, t + 1 ) of the further probability vector ( p t + 1 ) are obtained by moving averaging over the corresponding components (p i, t ) of at least one previous probability vector ( p t ) can be determined. 3. Verfahren nach Anspruch 2, bei dem die gleitende Mittelwertbildung durch eine beliebige digitale Filterfunktion gebildet wird.3. The method according to claim 2, in which the moving averaging by any digital filter function is formed. 4. Verfahren nach Anspruch 2, bei dem die Komponenten (pi, t+1) jeweils gebildet werden nach der Vorschrift: pi, t+1 = (1 - α)pi, t + αxbest, twobei mit
pi, t+1 jeweils eine Komponente des weiteren Wahrscheinlich­ keitsvektors zum Iterationsschritt t+1 bezeichnet wird,
t ein Iterationsindex bezeichnet wird,
i ein Komponentenindex bezeichnet wird, mit dem jede Kompo­ nente des Wahrscheinlichkeitsvektors eindeutig gekennzeichnet wird,
α eine Abklingkonstante bezeichnet wird,
pi, t jeweils eine Komponente des Wahrscheinlichkeitsvektors bezeichnet wird,
xbest, t eine Komponente des Architekturvektors des jeweils besten Neuronalen Netzes eines Iterationsschritts gekenn­ zeichnet wird.
4. The method of claim 2, wherein the components (p i, t + 1 ) are each formed according to the rule: p i, t + 1 = (1 - α) p i, t + αx best, t being with
p i, t + 1 each denotes a component of the further probability vector for the iteration step t + 1,
t an iteration index is designated,
i is a component index with which each component of the probability vector is uniquely identified,
α is a decay constant,
p i, t each denotes a component of the probability vector,
x best, t a component of the architecture vector of the best neural network of an iteration step is identified.
5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem bei der Bildung des weiteren Wahrscheinlichkeitsvek­ tors (p t+1) eine Mutation der Komponenten (pi, t+1) durchge­ führt wird. 5. The method according to any one of claims 1 to 4, in which a mutation of the components (p i, t + 1 ) is carried out in the formation of the further probability vector ( p t + 1 ). 6. Verfahren nach Anspruch 5, bei dem die Mutation nach der folgenden Vorschrift erfolgt: pm + 1i, t = (1 - β)pmi, t + βbwobei mit
pm+1i, t+1 jeweils eine Komponente des Wahrscheinlichkeitsvek­ tors zum Iterationsschritt t+1 bezeichnet wird, bei dem eine Mutation der Komponente durchgeführt wurde,
t ein Iterationsindex bezeichnet wird,
i ein Komponentenindex bezeichnet wird, mit dem jede Kompo­ nente des Wahrscheinlichkeitsvektors eindeutig gekennzeichnet wird,
β eine Mutationskonstante bezeichnet wird,
pmi, t jeweils eine Komponente des Wahrscheinlichkeitsvektors zum Iterationsschritt t bezeichnet wird, bei dem eine Mutati­ on der Komponente durchgeführt wird,
b eine vorgebbare Zahl aus dem Intervall [0, 1] bezeichnet wird.
6. The method according to claim 5, wherein the mutation is carried out according to the following rule: pm + 1 i, t = (1 - β) pm i, t + βbw whereby with
pm + 1 i, t + 1 each denotes a component of the probability vector for the iteration step t + 1, in which the component was mutated,
t an iteration index is designated,
i is a component index with which each component of the probability vector is uniquely identified,
β is a mutation constant,
pm i, t each denotes a component of the probability vector for iteration step t, in which the component is mutated,
b a specifiable number from the interval [0, 1] is designated.
7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem Komponenten (wÿ, t+1) des Gewichtsvektors (w t+1) zu Beginn der Optimierung des Gewichtsvektors (w t+1) durch eine gleitende Mittelwertbildung über die entsprechenden Komponen­ ten (wÿ, t) von mindestens einem Gewichtsvektor (wt) eines vorangegangenen Neuronalen Netzes (NE) bestimmt werden.7. The method according to any one of claims 1 to 6, in which components (w ÿ, t + 1 ) of the weight vector ( w t + 1 ) at the beginning of the optimization of the weight vector ( w t + 1 ) by a moving average over the corresponding components ten (w ÿ, t ) of at least one weight vector (w t ) of a previous neural network (NE) are determined. 8. Verfahren nach Anspruch 7, bei dem die gleitende Mittelwertbildung durch eine beliebige digitale Filterfunktion gebildet wird.8. The method according to claim 7, in which the moving averaging by any digital filter function is formed. 9. Verfahren nach Anspruch 7, bei dem die Komponenten (wÿ, t+1) des Gewichtsvektors (w t+1) zu Beginn der Optimierung des Gewichtsvektors (w t+1) jeweils gebildet werden nach der Vorschrift: wÿ, t+1 = (1 - η)wÿ, t + ηwbest, twobei mit
wÿ, t+1 jeweils eine Komponente des Gewichtsvektors zu Beginn der Optimierung des Gewichtsvektors zum Iterations­ schritt t+1 bezeichnet wird,
t ein Iterationsindex bezeichnet wird,
i, j ein erster Index und ein zweiter bezeichnet werden, mit denen jede Komponente des Wahrscheinlichkeitsvektors eindeu­ tig gekennzeichnet wird,
η eine Gewichtsabklingkonstante bezeichnet wird,
wi, t jeweils eine Komponente des Gewichtsvektors zu Beginn der Optimierung des Gewichtsvektors zum Iterationsschritt t bezeichnet wird,
wbest, t eine Komponente des Gewichtsvektors des jeweils be­ sten Neuronalen Netzes eines Iterationsschritts gekennzeich­ net wird.
9. The method according to claim 7, in which the components (w ÿ, t + 1 ) of the weight vector ( w t + 1 ) at the beginning of the optimization of the weight vector ( w t + 1 ) are each formed according to the rule: w ÿ, t +1 = (1 - η) w ÿ, t + ηw best, t being with
w ÿ, t + 1 each denotes a component of the weight vector at the beginning of the optimization of the weight vector for the iteration step t + 1,
t an iteration index is designated,
i, j are a first index and a second, with which each component of the probability vector is uniquely identified,
η is a weight decay constant,
w i, t each denotes a component of the weight vector at the beginning of the optimization of the weight vector for the iteration step t,
w best, t a component of the weight vector of the best neural network of an iteration step is identified.
10. Verfahren nach einem der Ansprüche 1 bis 9, bei dem in der Fitnessfunktion (F) zusätzlich ein Resttrai­ ningsfehler des jeweiligen Neuronalen Netzes (NE) berücksich­ tigt wird.10. The method according to any one of claims 1 to 9, where in the fitness function (F) there is also a residual exercise errors in the respective neural network (NE) is done. 11. Verfahren nach einem der Ansprüche 1 bis 10, bei dem in der Fitnessfunktion (F) die Komplexität des jewei­ ligen Neuronalen Netzes (NE) berücksichtigt wird.11. The method according to any one of claims 1 to 10, where in the fitness function (F) the complexity of the respective current neural network (NE) is taken into account. 12. Verfahren nach einem der Ansprüche 1 bis 11, bei dem zur Generierung der Neuronalen Netze (NE) das soge­ nannte Populationsbasierte Inkrementelle Lernverfahren (Population-Based Incremental Learning, PBIL) verwendet wird.12. The method according to any one of claims 1 to 11, in which the so-called for generating the neural networks (NE) called population-based incremental learning methods (Population-Based Incremental Learning, PBIL) is used. 13. Verfahren nach einem der Ansprüche 1 bis 12, bei dem der Validierungsdatensatz (VDS) und der Trainingsda­ tensatz (TDS) disjunkt sind.13. The method according to any one of claims 1 to 12, where the validation data set (VDS) and the training da tset (TDS) are disjoint. 14. Verfahren nach einem der Ansprüche 1 bis 13, bei dem die Optimierung der Gewichtsvektoren (w) mit einem Gradientenabstiegsverfahren durchgeführt wird.14. The method according to any one of claims 1 to 13, wherein the optimization of the weight vectors ( w ) is carried out with a gradient descent method. 15. Verfahren nach einem der Ansprüche 1 bis 14, bei dem die Optimierung der Gewichtsvektoren (w) mit dem Qua­ si Newton Verfahren (QNM) durchgeführt wird.15. The method according to any one of claims 1 to 14, wherein the optimization of the weight vectors (w) with the Qua si Newton method (QNM) is performed. 16. Verfahren nach einem der Ansprüche 1 bis 15, bei dem für den Validierungsdatensatz (VDS) und den Trai­ ningsdatensatz (TDS) in jedem Iterationsschritt (t) eine Kreuzvalidierung durchgeführt wird.16. The method according to any one of claims 1 to 15, for the for the validation data set (VDS) and the trai nings data set (TDS) one in each iteration step (t) Cross validation is performed.
DE19610849A 1996-03-19 1996-03-19 Iterative determination of optimised network architecture of neural network by computer Expired - Fee Related DE19610849C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19610849A DE19610849C1 (en) 1996-03-19 1996-03-19 Iterative determination of optimised network architecture of neural network by computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19610849A DE19610849C1 (en) 1996-03-19 1996-03-19 Iterative determination of optimised network architecture of neural network by computer

Publications (1)

Publication Number Publication Date
DE19610849C1 true DE19610849C1 (en) 1997-10-16

Family

ID=7788792

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19610849A Expired - Fee Related DE19610849C1 (en) 1996-03-19 1996-03-19 Iterative determination of optimised network architecture of neural network by computer

Country Status (1)

Country Link
DE (1) DE19610849C1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003025858A2 (en) * 2001-09-17 2003-03-27 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Agriculture And Agri-Food Method for identifying and quantifying characteristics of seeds and other small objects
EP1352331A1 (en) * 2001-01-19 2003-10-15 Genalytics, Inc. Process and system for developing a predictive model
WO2019206775A1 (en) * 2018-04-24 2019-10-31 Robert Bosch Gmbh Method and device for determining a network configuration of a neural network
CN111475321A (en) * 2020-05-08 2020-07-31 中国人民解放军国防科技大学 Neural network security property verification method based on iterative abstract analysis
CN111475321B (en) * 2020-05-08 2024-04-26 中国人民解放军国防科技大学 Neural network security property verification method based on iterative abstract analysis

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140530A (en) * 1989-03-28 1992-08-18 Honeywell Inc. Genetic algorithm synthesis of neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140530A (en) * 1989-03-28 1992-08-18 Honeywell Inc. Genetic algorithm synthesis of neural networks

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BALUJA, Shumeet, CARUANA, Rich: Removing the Genetics from the Standard Genetic Algorithm. In: Proceedings of the 12th Int.Conf. on Machine Learning, Lake Tahoe, Juli 1995, S. 38-45 *
SHAMIR, Nachum, SAAD, David, MAROM, Emanuel: Using the Emotional Behaviove of Neurons for Genetic Recombination in Neural Nets Training. In: Complex Systems 7 (1993) S. 445-467 *
ZHANG, Byoung-Tak, MÜHLENBEIN, Heinz: Evolving Optimal Neural Networks Using Genetic Algorithms with Occam's Razor. In: Complex Systems 7 (1993) S. 199-220 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1352331A1 (en) * 2001-01-19 2003-10-15 Genalytics, Inc. Process and system for developing a predictive model
EP1352331A4 (en) * 2001-01-19 2008-06-25 Genalytics Inc Process and system for developing a predictive model
WO2003025858A2 (en) * 2001-09-17 2003-03-27 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Agriculture And Agri-Food Method for identifying and quantifying characteristics of seeds and other small objects
WO2003025858A3 (en) * 2001-09-17 2003-07-17 Canada Natural Resources Method for identifying and quantifying characteristics of seeds and other small objects
GB2397423A (en) * 2001-09-17 2004-07-21 Ca Minister Agriculture & Food Method for identifying and quantifying characteristics of seeds and other small objects
GB2397423B (en) * 2001-09-17 2005-06-01 Ca Minister Agriculture & Food A method and apparatus for identifying and quantifying characteristics of seeds and other small objects
US7218775B2 (en) 2001-09-17 2007-05-15 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Agriculture And Agrifood Method and apparatus for identifying and quantifying characteristics of seeds and other small objects
WO2019206775A1 (en) * 2018-04-24 2019-10-31 Robert Bosch Gmbh Method and device for determining a network configuration of a neural network
CN111475321A (en) * 2020-05-08 2020-07-31 中国人民解放军国防科技大学 Neural network security property verification method based on iterative abstract analysis
CN111475321B (en) * 2020-05-08 2024-04-26 中国人民解放军国防科技大学 Neural network security property verification method based on iterative abstract analysis

Similar Documents

Publication Publication Date Title
EP2649567B1 (en) Method for the computer-based modeling of a technical system
DE4241688C2 (en) Method for generating a word part model for speech recognition
DE212020000731U1 (en) Contrastive pre-training for language tasks
DE112020002186T5 (en) DNN TRAINING WITH ASYMMETRIC RPU UNITS
DE112019005119T5 (en) ALIGNMENT TECHNIQUES FOR ADJUSTING THE SYMMETRY POINT AS A ZERO WEIGHTING POINT IN ANALOGUE CROSSING POINT ARRANGEMENTS
DE112020004471T5 (en) Inference device, training device, inference method and training method
DE19635758C1 (en) Artificial training data vector generation for computer-based neural network e.g. for financial markets
DE4491015C2 (en) Method for generating a spectral noise weighting filter for use in a speech encoder
DE19610849C1 (en) Iterative determination of optimised network architecture of neural network by computer
EP0901658A1 (en) Process for optimizing fuzzy rules using a computer
DE19504664C2 (en) Chaotic recurrent neural network and learning method for it
DE19611732C1 (en) Neural network weightings suitable for removal or pruning determination method
DE102019104571A1 (en) ARTIFICIAL NEURAL NETWORK
DE112020002547T5 (en) NOISE AND SIGNAL MANAGEMENT FOR RPU ARRAY
EP3785178A1 (en) Method and device for determining a network configuration of a neural network
WO1998007100A1 (en) Computer-aided selection of training data for neural networks
DE19731499A1 (en) Process for selection of higher order terms for holographic neural network
DE102021201833A1 (en) Device for processing at least one input data set using a neural network and method
WO2000003355A2 (en) Neural net, and a method and device for training a neural net
DE102019216973A1 (en) LEARNING PROCEDURES FOR NEURAL NETWORKS BASED ON EVOLUTIONARY ALGORITHMS
EP0681291A2 (en) Method for equalising corrupted data signals
DE112019003167T5 (en) PROBABILITY TRANSFER VIA FACTOR DIAGRAMS
DE19721067C1 (en) Stochastic estimator
DE102018212155A1 (en) Method and device for actively adjusting a predictor to an input signal
WO2021249941A1 (en) Method and apparatus for automatically investigating a behavior of a technical device

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee