WO2020089287A1 - Datenverarbeitungsvorrichtung mit einem künstlichen neuronalen netzwerk und verfahren zur datenverarbeitung - Google Patents

Datenverarbeitungsvorrichtung mit einem künstlichen neuronalen netzwerk und verfahren zur datenverarbeitung Download PDF

Info

Publication number
WO2020089287A1
WO2020089287A1 PCT/EP2019/079645 EP2019079645W WO2020089287A1 WO 2020089287 A1 WO2020089287 A1 WO 2020089287A1 EP 2019079645 W EP2019079645 W EP 2019079645W WO 2020089287 A1 WO2020089287 A1 WO 2020089287A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
data
feature
module
learning
Prior art date
Application number
PCT/EP2019/079645
Other languages
English (en)
French (fr)
Inventor
Klaus Pawelzik
David Rotermund
Original Assignee
Universität Bremen
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 Universität Bremen filed Critical Universität Bremen
Publication of WO2020089287A1 publication Critical patent/WO2020089287A1/de

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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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/088Non-supervised learning, e.g. competitive learning

Definitions

  • the invention relates to a data processing device configured to map input data to output data, in particular a data processing device with an artificial neural network. Furthermore, the invention relates to a data processing method in which input data are mapped to output data, in particular a data processing method using an artificial neural network. Applications of the invention are in all areas of data processing, in particular based on machine learning and / or artificial intelligence, e.g. B. given in the evaluation of data and / or the data-based control of devices or methods.
  • Deep neural networks form an important basis for many systems with artificial intelligence applications.
  • Deep neural networks consist of one Input layer, a variety of hidden intermediate layers and an output layer. The layers are typically coupled together via weighted connections. Most of the time, data is processed in a directional manner, in that signals are successively propagated from the input layer through the intermediate layers to the output layer (forward direction). While these networks can theoretically perform any function, the adaptation of the connection weights of the connections between the layers (“learning”) is one of the central challenges of conventional neural networks due to the necessary computing power and / or hardware requirements.
  • DCN Deep Convolutional Networks
  • Other applications are e.g. B. in the operation of autonomously driving vehicles, in image processing, in particular facial recognition, or image processing for medical applications (e.g. tumor detection on MRT / CT images), in the detection of fraudulent bank transactions, in the analysis of the behavior of Given to voters and their manipulation (see e.g. https://www.nvidia.de/deep-lear- ning-ai /). So far, attempts have been made to accelerate the time-consuming learning of conventional networks by implementing them as a hardware solution (see e.g. [10]).
  • HTM Hierarchical Temporal Memory
  • networks are feedback networks of the type known as Boltzmann machines ([14], [15]) or networks based on generative models [16].
  • the latter includes the forward-looking network described in [17], in which the information is transmitted completely with stochastically generated impulses (or: electrical action potentials, indices or "spikes") and all weights and activities may only assume positive values.
  • the network is noise-resistant according to [17] and can supplement missing input data.
  • the applicability of the network was limited to a single hidden layer or the combination with a conventional hierarchical neural network, although there was great interest in expanding to several hidden layers.
  • no method was known as yet of how the weights necessary for the expansion to several hidden layers can be learned.
  • the network was a purely forward-looking network.
  • the network was primarily of theoretical interest according to [17], particularly due to its sparse activity, since there were relationships to so-called economy of information processing in the brain [18] and to "compressed sensing" methods [19].
  • the network was only of limited use for practical applications.
  • the object of the invention is to provide an improved data processing device and / or an improved data processing method with which disadvantages of conventional techniques are avoided.
  • the data processing is to follow using a network, the properties of which can be trained for mapping input data to output data.
  • the data processing device and / or the data processing method are in particular intended to reduce the problems of conventional networks that occur during learning and the backflow of information.
  • the network should be suitable for realizing data processing with an increased number of network nodes, in particular with an increased number of layers, and / or with an increased speed, in particular if applications with increased complexity are given.
  • the network should be suitable especially for applications with low complexity, to implement data processing with a reduced number of network nodes, in particular with a reduced number of layers, and / or an increased speed without impairing the function of the network.
  • the network should also be simplified in terms of circuitry, in particular be able to be implemented with a reduced outlay on hardware components.
  • a data processing device or: neural network for information processing
  • Input data r are used to designate the generally predetermined data which represent information and are to be processed with the data processing device.
  • the input data are the data from which the output data are to be determined.
  • the input data are e.g. B. as a result of measurements, observations, information collections or numerical methods.
  • the input data comprise numerical values r, which are recorded as a one- or multi-dimensional arrangement (positions s) at an input of the data processing device.
  • the information is contained in the input data as a pattern that z. B.
  • Output data is generally used to refer to data which represent information and are to be generated from the input data using the data processing device.
  • Data processing refers to the machine-based (computer-aided) generation of the output data from the input data.
  • the data processing includes, in particular, an analysis of the input data, a pattern recognition in the input data, a feature recognition in the input data, a quantification of features represented by the input data, and / or a forecast of the future change of the system that generates the input data.
  • the output data are determined or assigned from the specified input data by a multi-parameter function, which is represented by the data processing device, in particular a network contained therein (mapping of input data to output data). Data).
  • the multi-parameter function is determined in a learning mode of the data processing device with known input data-output data pairs and is applied in an application mode of the data processing device to predetermined input data in order to determine associated output data.
  • the data processing device comprises an input device which is set up to record the input data r (s), generate an input probability distribution p * (s) of the input data and generate a stochastic representation of the input data in the form of a sequence of input indices.
  • Each input index (or: spike) represents a stochastically determined position within the input probability distribution p * (s).
  • the input indices are, for example, the stochastically determined positions themselves or numbers derived from them.
  • the input probability distribution p * (s) of the input data comprises a sequence of probabilities of the individual input data (e.g. calculated as the values of the input data, each divided by the sum of the input data).
  • the sequence of input indices is determined by stochastic selection of values from the input probability distribution, e.g. B. Before giving a sequence of random numbers between 0 and 1, z. B. by a random number generator, and the determination of the positions in the input probability distribution, the summed probabilities of all previous positions of which are matched to the respective random number.
  • the stochastic selection is also referred to below as "pulling" the indices.
  • the input device generates the sequence of the input indices as a sequence of numbers, which represents a stochastic representation of the information contained in the input data.
  • the input device includes e.g. B. a circuit (input circuit or input circuit) with memory and an arithmetic unit which is set up for generating the sequence of input indices.
  • the computing unit can contain components which are set up to control storage processes in the input device and / or to send the input indices.
  • the data processing device further comprises at least one network of at least two feature modules which are coupled to one another via data connections, at least one of the feature modules being coupled to the input device via a data connection.
  • the input device is set up to send the sequence of input indices to the at least one feature module coupled to the input device.
  • Each Feature module (also called normalization unit) is set up to send a sequence of module indices to the feature modules coupled to this feature module. Sending the sequence of input or module indexes involves transmitting the indexes over the data link.
  • the configuration of the network determines which feature modules are coupled to each other, ie which data connections exist. The data connections are, in particular depending on the specific application of the data processing device, for. B.
  • each feature module comprises a circuit (feature module circuit or feature module circuit) with memories and a computing unit.
  • the number of feature modules used according to the invention is at least two in addition to the input and output devices, but can be considerably larger for practical applications.
  • the data connections of feature modules with other feature modules and / or the input device preferably comprise connections via a data bus or a wireless transmission channel.
  • the connections are e.g. B. List-based implemented.
  • lists are formed which determine from which feature modules and / or the input device to which other feature modules input or module indices are transmitted.
  • the information about the data processing device according to the invention transmitted between the feature modules preferably exclusively includes the input and module indices.
  • the feature modules form nodes of the network at which the information represented by the input and module indices are processed.
  • the network does not contain individual elements that are neurons with a configuration as in a conventional neural network, the network is also referred to here as a neural network due to its function.
  • the network is generally formed from the feature modules, the number of which is at least 2, but in practical applications is preferably selected in the range from 10 to 10,000, but can also be higher.
  • the feature modules in the network can be freely combined regardless of the distance from the input and output devices and the order in the forward or reverse direction, ie the network does not necessarily have a layer structure.
  • Each feature module contains a large number of storage locations, of which a group of storage locations are referred to as state variable storage locations and a further group of storage locations are referred to as index storage locations.
  • the state variable storage locations store normalized latent state variables h ⁇ . A large number of weight storage locations are assigned to each state variable storage location.
  • the weights storage locations store weights p (s
  • the index memory locations of each feature module store received input or module indices or output indices received by an output device.
  • the feature modules are each set up to send (transmit) an associated sequence of module indices to the other feature modules coupled to the respective feature module. Based on a feature module probability distribution hi of the respective sending feature module, each module index represents a stochastically determined position of a state variable memory location.
  • the module indexes are preferably generated as explained above for the input indexes and with further details below with reference to the figures.
  • the module indices preferably comprise the stochastically determined sequence of positions of the state variable storage locations.
  • Each feature module also contains the computing unit, which is configured to optimize the state variables hi and, optionally, their weights p (s
  • each feature module is set up to gradually increase the latent state variables hi and the associated weights p (s
  • the data processing device further comprises an output device which is coupled to at least one feature module of the network via a data connection and is set up to provide the output data.
  • the output device in turn comprises z. B. a circuit (output circuit or output circuit) with memory and a Rechenein unit, which is set up for the generation of the output data based on the sequence of received module indices.
  • the computing unit can contain components which are used for the control of storage processes in the output device and / or the processing of the module indices and optionally for the generation and backward transmission of module indices (so-called output indices) to the feature modules coupled to the output device are set up.
  • the architecture of the network is determined by which of the input device, the output device and the feature modules serve as sources for indices for the receiving feature module or the output device, where the received indexes for the latent update State variables and optionally used for learning the weights.
  • the weights of a module describe in a local manner how the receiving module has to update its latent state variables, given a received index and the equations described below (in particular rules for updating the latent state variables).
  • the weights in a module correspond to a two-dimensional matrix of memory locations with positive values, where these values have a real value range between 0 and 1.
  • Each state variable storage location for the latent state variables is assigned the weights in the associated weight storage locations, which can be regarded as a vector of weights.
  • the length of the vector corresponds to the sum of the number of storage spaces for latent state variables across all transmitting components, including the input device, the output device and the feature modules, to which, according to the architecture of the network, this receiving module should react .
  • the sum of the stored values of the entire vector is normalized to a fixed value (for example the value 1).
  • the weights represent a measure of the relevance of the indexes to the associated storage locations of the sending modules or the relevance of the combined occurrence of these indexes. Values of 0 in the weight vector correspond to ignoring the corresponding storage location of the index-sending module.
  • the weights contain the functional relationships extracted when learning from the presented ensemble of patterns from the exercise data (or from other sources such as known mathematical or biological relationships), which are used to solve the data processing task.
  • the weight matrix can advantageously include templates and / or a collection of mixtures of combinations of features which are relevant for the solution of the data processing.
  • An example of how templates are created is when particularly informative patterns from the exercise data are mapped directly into the weights. In the case of a network for recognizing handwritten digits, this could, for example, various concise versions of a digit, e.g. B. the number 2.
  • the associated latent state variable would then receive particularly high values in the course of processing the incoming indices if this special version of the number 2 (or with a slight variation) were shown in the application mode. In the example of a calculation of a Boolean function, this could correspond to the transfer of the function table to the weights.
  • the above. Task solved by a data processing method which is configured to map input data to output data.
  • the data processing method is carried out with the data processing device according to the above first general aspect of the invention.
  • the data processing method comprises the following method steps. First, the input data r (s) are recorded, the input probability distribution p * (s) is generated, and the input data is generated in a stochastic representation in the form of a sequence of input indices with an input device. Each input index is a number that is used to denote a stochastically determined position within the input probability distribution p * (s).
  • At least one network is operated from at least two feature modules which are coupled to one another via data connections, at least one of the feature modules being coupled to the input device via a data connection and each feature module having a plurality of state variable memory locations, each of which has one
  • a plurality of weight storage locations is assigned comprises a plurality of index storage locations and a computing unit, the state variable storage locations deflecting normalized latent state variables hi and the weight storage locations storing weights p (s
  • the input device sends the sequence of input indices to the at least one feature module coupled to the input device.
  • Each feature module sends a sequence of module indices to the feature modules coupled to this feature module, each module index being a stochastically determined position of a state variable memory location based on a feature module probability distribution hi of the respective sending feature module.
  • the index memory locations of each feature module store received input or module indices.
  • the computing unit of each feature module gradually changes the latent state variables hi and the associated weights p (s
  • i pCsIO ⁇ i of the at least one feature module coupled to the input device is adapted to the input probability distribution p * (s).
  • the output data are output with an output device which is coupled to at least one feature module of the network via a data connection.
  • a main advantage of the invention consists in the provision of a universally applicable network architecture which enables the output data to be determined from the input data in each case on the basis of the locally optimized weights and latent status variables in the feature modules and the mutual adaptation of the feature module probability distribution S ⁇ p (s
  • the use of the feature modules for the construction of networks with a freely selectable architecture includes, in particular, networks of the DCN type, the use of which is of great technological interest.
  • the preferably exclusively local determination of the weights and latent state variables in each case in the feature modules allows all computing units to work in parallel, as a result of which both the learning mode and the application mode are accelerated.
  • the data processing takes place at a substantially increased speed, which, for. B. can be increased by a factor of 10,000 or more for a given task to process input data compared to the application of conventional techniques.
  • Such acceleration cannot be achieved by conventional techniques, for example by parallelizing circuits for data processing, or can only be achieved with an unacceptably high cost and energy expenditure.
  • the feature modules that are directly coupled to one another and the transitivity of the feature modules that are coupled to one another allow a recurrent network with a large number of feature modules, in particular a layered recurrent network with many hidden layers, to be built up, in which information can flow both forward and backward .
  • information is exchanged between the feature modules exclusively in the form of the input or module indices (and optionally output indices), ie in the form of stochastic sequences of numbers, which considerably simplifies the network architecture.
  • Another advantage of the invention results from the intrinsic stochastics, which allows the network to work with numerical values which have a low resolution (eg fixed point numbers with a few bits). This makes it possible to use feature modules that each perform only simple calculations. So each feature module can be provided with its own computing unit. In other words, you can use simple computing units (especially with state variables that have a low resolution) that allow massive parallelization of data processing.
  • the processing of stochastic information provided according to the invention in the system also enables inherent elimination or suppression of faults, such as, for. B.
  • a number recognition network comprises over 800 feature modules, which are arranged in five hidden layers. Since the feature modules can be calculated simultaneously and independently of one another and relatively little data is exchanged between the feature modules (only the indices), the scaling problem of conventional networks is overcome.
  • the data processing device can locally on a system, for. B. device operated, on which the input data to be processed are present or generated, for. B. ge measure, recorded, observed, numerically generated or collected.
  • the data processing device can be operated in a network in which the input data to be processed are sent from a locally operated system to a server, e.g. B. a central network server in which the data processing is carried out.
  • the input device comprises at least one input feature module which, like the other feature modules, is constructed with a large number of state variable storage locations and a computing unit, but preferably without index storage locations.
  • the input probability distribution p * (s) of the input data is calculated with the arithmetic unit and stored in the state variable memory locations.
  • the use of the input feature module as an input device has the advantage that one of the feature modules can be freely selected for the input of data when designing the data processing device.
  • the input device can be viewed as part of the network of feature modules.
  • the arithmetic unit for updating the latent state variables is ablen in the input feature module and weights are removed or deactivated. No weights are calculated in the input feature module and the probability in the input feature module from which the indices are generated is predetermined from outside and does not change because of
  • Input feature module does not respond to incoming indexes.
  • the data processing device is preferably set up for operation in a learning mode or in an application mode.
  • the change between the modes advantageously does not require any circuitry precautions.
  • the learning mode training of the network
  • the network of feature modules for updating the latent status variables hi and the learning of the assigned weights p (s
  • the input indices and the module indices are sent simultaneously or in a predetermined order in order to determine the multi-parameter function which is represented by the network and maps the input data to the output data.
  • the network learns its function through examples (in put - output pairs) so that in application mode it calculates the correct (previously unknown) output data when presenting new input data.
  • the arithmetic unit for updating the latent state variables is deactivated because the probability distribution for generating the (output) module indices is predetermined from outside (training output data) and should not change due to incoming module indices.
  • the input device for receiving application input data and the output device for outputting application output data are set up, which are assigned to the application input data and are assigned by the feature modules of the network with the latent state variables hi and the learned weight that have been updated in the learning mode ten p (s
  • the application mode can be combined with the learning mode by setting the network to current environmental conditions during data processing (re-learning).
  • re-learning pairs of input data and output data are also entered into the network and included in the optimization of the latent state variables and weights.
  • the input device can optionally additionally comprise at least one learning input feature module which is coupled with the at least network of at least two feature modules in the learning mode and is separated from the at least network in the application mode.
  • additional learners can use it Learning input data are provided which accelerate learning and / or improve the learning outcome (increased reliability of the network in application mode).
  • the processed data can carry information of various categories.
  • the input data and / or output data can e.g. B. information from image features, audio features, language features, sensor features, signal features, economic time series, behavioral data, condition features of a biological organism, condition features of a natural system, such as. B. include weather data, physical parameters, chemical parameters and / or condition features of a technical device.
  • the categories of the input data and the output data can be the same or different.
  • input-side language features can be assigned output information to image features or input-side image features to diagnostic information on the output side.
  • the latent state variables hi can advantageously represent features of the input data. The assignment to characteristics of the input data is done automatically in learning mode.
  • latent state variables hi cannot be assigned to specific, identifiable features of the input data.
  • the latent state variables hi of different feature modules can represent different classes of features of the input data.
  • the latent state variables hi various feature modules when processing image data can use different image features, such as, for. B. represent certain geometric patterns, colors or image components or different weather features when processing weather data.
  • the data processing device can be equipped with a configuration device with which a network configuration can be set.
  • the configuration device can e.g. B. part of a control device of the data processing device and via an input interface by a user, e.g. B. based on empirical values, operable and / or designed for automatic configuration.
  • the network configuration includes the number of feature modules, the number of state variable storage locations of each feature module, the number of weight storage locations, each of which is assigned to a state variable storage location in a feature module, the number of index storage locations of each feature module and / or the data connections between feature modules.
  • the configuration device can advantageously be set up for an iterative setting of the network configuration, in which the number of feature modules and the number of state variable memory locations of each feature module are increased step by step, manually or in a program-controlled manner, until the performance of the mapping of the input data onto the output data corresponds to a predetermined operating criterion, using, for example, evolutionary algorithms (see [22]).
  • the data processing device can contain at least one reserve feature module, which has no data connection to the network of feature modules at the beginning of the operation of the data processing device or even after going through the learning mode.
  • the configuration device of the data processing device is set up to establish at least one data connection between the at least one reserve feature module and the network of feature modules as required.
  • the at least one reserve feature module provides a high degree of flexibility in the data processing device with regard to the adaptation to changed application conditions. It also allows this to compensate for failures due to manufacturing defects on integrated circuits, thereby increasing the yield.
  • the network of feature modules can comprise a layered network, in particular deep convolutional network (DCN), with several layers of feature modules, in which feature modules have common weights within one layer, which weights are assigned to the latent state variables hi.
  • DCN deep convolutional network
  • the particular advantage of this embodiment is that known architectures of layered networks can be simulated, but the use of the network is considerably accelerated. DCNs have the advantage that many feature modules share the same weights, which simplifies learning and often improves the performance of the network.
  • the layered network can in particular be set up for a layer-based learning mode, the layers being set up from the input device for updating the latent state variables hi and learning the assigned weights p (s
  • the layered network can be set up for an unsupervised, layer-based learning mode, the layers starting from the input device up to a penultimate layer in front of the output device successively for determining the latent state variable hi and the associated weights p (see
  • the input data are entered at the input device, but only the first hidden layer of the network is initially coupled to the input device. In this state, the first set of weights is learned, which is assigned to the first hidden layer. After a sufficient amount of learning steps, the weights of this layer are recorded. Then the weights of the next hidden layer are learned. The output data are only taken into account when learning in the last hidden layer.
  • the network when learning, can initially work for a lead time without the learning input data and learning output data being input. Furthermore, it can be of advantage to equate the weights that connect one feature module with another to those in the opposite direction in their structure. Because of the necessary standardization, the values differ from the pure transposition of the corresponding matrices.
  • the layered network can be set up for a monitored, layer-based learning mode in which the weights p (s
  • the computing unit of each feature module can be set up to carry out the numerical optimization based on a probabilistic target measure, in particular the log likelihood, the Kullbach-Leibler divergence or combinations of vector standards.
  • the numerical measure can be chosen depending on the application of the invention for rapid optimization during learning.
  • the parallel and asynchronous updating of both the latent state variables and the weights during learning represents an important advantage of the invention It follows from the optimization of a target function that has not previously been used for learning networks from feature modules (e.g. log likelihood measure).
  • the use of target measures also has the advantage that they result in termination criteria for learning.
  • the number of iterations required to update the latent variables is also determined.
  • the output device of the data processing device can comprise at least one output feature module which, like the other feature modules, is constructed with a multiplicity of state variable storage locations, a multiplicity of index storage locations and an arithmetic unit, the latent addition status variables of the at least one output feature module or variables derived therefrom are output as output data.
  • the output feature module contains a circuit part for extracting a result (output data) from the latent state variables. For this purpose, e.g. For example, a circuit is provided which performs a determination of the position of the memory location which contains the maximum j value on the memory locations of the latent state variables (argmax circuit).
  • the output feature module can send module indices in the reverse direction to the feature modules coupled to the output feature module (transmission of output indices).
  • the output indexes are preferably generated as explained above for the input indexes and with further details below with reference to the figures.
  • the use of the output feature module as an output device has the advantage that one of the feature modules can be freely selected for the output of data when designing the data processing device.
  • the output device can be viewed as part of the network of feature modules.
  • the output device can comprise a classifier, in particular based on perceptrons, or a support vector machine, which operates on the basis of the latent state variables of feature modules with which the output device is coupled.
  • the data processing device can be integrated by an integrated circuit, optionally coupled to a control device, e.g. B. a control computer can be realized. It can e.g. B. a conventional conventional processor with z. B. 8 cores are used to provide 8 feature modules simultaneously. Because of the high number of feature modules used according to the invention (e.g. 100 to 1000), however, the integrated circuit preferably has a processor architecture. architecture that optimally implements the data processing methods (ie in particular with a minimum number of memory accesses). This is made possible by the simplicity of the mathematical individual steps to be carried out in the data processing method, which only include addition, multiplication and division of positive numbers. Hundreds of feature modules can then advantageously be processed by a single specially adapted processor. A large number of feature modules can be implemented in a single integrated circuit, in particular on a chip.
  • the data processing device can include a single network of feature modules.
  • the data processing device comprises a modular system with at least two interconnected, integrated circuits, each of which has a network of feature modules.
  • the at least two networks can be connected to a single input device or to multiple input devices and / or to a single output device or to multiple output devices.
  • the flexibility in adapting the data processing device to a specific task can be improved, the complexity of the application increased and / or the reliability can be improved.
  • the invention offers the following advantages in particular.
  • the network can be implemented with an increased number of feature modules, in particular layers of feature modules.
  • the data processing according to the invention is highly parallelizable and can be set in larger networks in real-time applications.
  • the scaling problem of conventional networks is overcome by the locality, the associated parallelization and the reduced data exchange between modules.
  • the learning and use of data processing, especially with adapted hardware can be realized 1000 to 10000 times faster, so that in particular with closed-loop applications (e.g. in robotics) the respective special task can be carried out efficiently and quickly can be learned or a pre-learned weight structure can be adjusted individually and as quickly as possible.
  • Figure 2 Details of a feature module of a data processing device according to the invention
  • Figure 3 is a representation of the exchange of information within a data processing device according to the invention.
  • Figure 4 is a representation of the application and learning mode of the data processing device according to the invention.
  • FIG. 5 a modification of the learning mode according to FIG. 4;
  • FIG. 6 an exemplary illustration of an application of the data processing device according to the invention.
  • FIG. 7 an exemplary illustration of an application of the data processing device according to the invention in the formation of a DCN.
  • FIG. 8 to 26 Details of a hardware configuration of a data processing device according to the invention.
  • FIG. 1 shows an overview of the data processing device 100 with an input device 10 for receiving input data r (s), a network 20 with feature modules 21, which are coupled to one another and / or to the input device 10 via data connections 22, one Output device 30 for outputting the output data Out and a control device 40.
  • the input device 10 and the output device 30 can each comprise at least one module 11, 31 which is constructed like the feature modules 21. If several modules 11 or 31 are provided, these can each be connected to one another and to feature modules 21 or in each case exclusively to feature modules 21.
  • the input and output devices 10, 30 are provided with data interfaces (reading and reading mechanisms) (not shown).
  • the data connections 22 denote the software or hardware-based coupling of feature modules for the transmission of input or module indices.
  • the control device 40 can e.g.
  • components 10 to 30 include a computer that controls the components 10 to 30 and in particular a con figuration device 41 with which a network configuration and in particular the data connections 22 can be set, an operating device 42 and / or a display device 43 hold ent. Details of components 10 to 30 are described below with reference to Figures 8 to 26. The function of components 10 to 30 is described below in the section "Mathematical basics of data processing".
  • the data processing device 100 can be a computer running software for executing the method according to the invention, or at least one circuit configured with the components mentioned, in particular at least one integrated circuit (network chip, for example ASIC chip) or one A combination of both can be realized. It can also be a modular hardware system can be provided with at least two integrated circuits, each comprising one or more network (s) 20 of feature modules 21.
  • Each feature module 21 comprises a multiplicity of storage locations 23 to 25 and a computing unit 26.
  • the storage locations 23 to 25 comprise state variable storage locations 23, each of which is assigned a group of weight storage locations 24, and index storage locations 25, the functions of which below are explained.
  • N H state variable memory locations 23 are provided for latent state variables. In typical applications, N H is in the range from 4 to 1024. From the state variable memory locations 23, a module index i t is generated stochastically in each processing step and sent to all other feature modules connected to this feature module 21.
  • These other feature modules (possibly including the input device 10) send the input or module indices generated in this stochastically to this feature module 21.
  • the incoming indices (here, s ⁇ , s ⁇ , ...) are stored in the index memory locations 25 in the receiving feature module 21.
  • the latent state variables of this feature module are updated on the basis of their previous values, these stored indices s ⁇ and optionally the associated weights p (s
  • the updated values in the latent state variables are then used again to generate new indices that are sent to the connected feature modules.
  • the incoming indices could also be used as part of an online learning process to update the weights themselves.
  • FIG. 3 shows further details of the flow of the indices using the example of a simple network 20, which in this case has an input module 11 of the input device (EE), two feature modules 21 (MM1, MM2) and an output module 31 of the output device.
  • Facility (AE) includes.
  • a sequence of input indices SL, s 2 , s 3 , s 4 , ... is stochastically generated (“pulled”) from p * (s) during the operation of the network 20.
  • these input indices are communicated to the first feature module MM1, which in turn generates its latent status variables from the respective status Module indices q, i 2 , i 3 , i 4 , and sends them to the feature module MM2 according to the architecture selected here.
  • Feature module MM2 generates the indices h .ja.h. from h MM2 (j) and sends the indices both in the backward direction to feature module MM1 and to the output module 31 of the output device AE.
  • the output module 31 in turn sends / q, k 2 , k, k 4 , ... to the feature module MM2.
  • This sequence of indexes is out the current status of h AE (k).
  • Each incoming index leads to an update of the latent state variables of the receiving feature module, which results in the change in the probability distribution for the generation of the indices in each feature module. This does not apply to p * (s), since this probability distribution depends only on the input data created and no indices are processed by the input device.
  • the update is based on the mathematical operations described below as an example.
  • FIG. 4 shows the flow of the input and / or module indices in an application mode and a learning mode of the network 20. Typically, both in the application mode and in the learning mode, a pattern of input data r (s) is sent to the input device 10 (EE ) created.
  • indices are drawn. This probability distribution is recorded through the processing of this predetermined input data.
  • this set of input data leads to a probability distribution in the output device 30 (AE) via the mutual updating of the latent state variables by the exchanged indices.
  • This probability distribution is then evaluated accordingly and translated into a processing result (output data OUT).
  • a previously known output pattern of output data belonging to the input pattern of input data is typically applied to the output device 30. This leads to a probability distribution (fixed for the respective pattern), which leads to the output device 30 sending indices to other feature modules 21.
  • the network supplements the output data that are no longer present.
  • the input device 10 can additionally have at least one learning input feature module 12, which is coupled to the network 20 of feature modules 21 (learning mode with side coupling).
  • the learning input feature module 12 is separated from the at least network 20.
  • the output data to be learned are fed to the additional learning input feature module 12 and are taken into account in the feature modules 21 when the state variables are updated and the weights are learned.
  • the probability distribution in the output device 30 is not recorded with the desired probability distribution, but rather behaves as in the application mode.
  • the dynamics advantageously correspond to the latent state variables in the output device 30 and the feature modules MM2 were more in line with the desired goal, since the latent state variables can vary more freely compared to the variant in which the output data are recorded on the output device 30 during learning.
  • FIGS. 6a to 6c show the structure of networks which calculate the Boolean parity function (FIGS. 6a and 6b for 4 bits and FIG. 6c for 8 bits).
  • the input device 10 several feature modules 21, which are grouped into layers 50, 51, 52, and the output device 30 are shown by way of example.
  • Figure 6a shows the Boolean parity network for 4 bits.
  • Each four input modules 11 of the input device 10, each with two memory locations, describe the input data. Either the memory location for bit value 0 or the memory location for bit value 1 is active.
  • the input indices generated by these four input modules 11 are forwarded to the first layer 50, where two feature modules 21, each with 4 memory locations for latent state variables, are present.
  • These feature modules 21 of the first layer 50 send module indices to the feature module 21 in the second layer 51 and receive module indices from the second layer 51.
  • the second layer 51 consists of a feature module 21 with four storage locations for latent state variables. This layer 51 sends and receives module indexes to the output device 30 or from the feature modules 21 in the first layer 50.
  • the output device 30 receives module indexes from the feature module 21 of the second layer 51. It is then evaluated which of the two memory locations of the output device 30 has the higher value for the bit value 0 or 1 and is output as a result of the calculation.
  • the weights can be learned.
  • a set of weights is represented by lines, which solves the task. Weights with a value of 0 are not shown. The weights shown in a layer all have the same values, the value being determined by the normalization of the weights.
  • FIG. 6b shows how the indices are exchanged between the feature modules 21 in FIG. 6a.
  • FIG. 6c illustrates an analog structure and the information flow for the 8 bit parity function.
  • Block A shows a set of input feature modules of the input device 10 (28 x 28) for images with 28 x 28 pixels.
  • Each input feature module 21 contains two state variables. This realizes a simplified version of the “On / Off center” known from biology cells ".
  • This set of input feature modules sends input indexes to the collection of feature modules (layer 53).
  • Block B illustrates the folding layer 53 with 24 x 24 feature modules, each with 32 latent state variables.
  • Each feature module processes module indexes of 5 x 5 blocks from the upstream input feature modules and indices from the downstream feature modules with a summarizing property in layer 54.
  • Block C illustrates layer 54 from 12 x 12 feature modules, each with 32 latent state variables.
  • Each feature module in layer 54 receives the module Indices of a 2 x 2 large and non-overlapping area in the layer 53.
  • the weights between the layers 53 and 54 are not learned, but are preconfigured (e.g. manually specified), so that a competition between the 32 features of the
  • the feature modules of layer 54 also process the module indices, which are determined by the me Feature modules originate from the folding layer 55 and overlap with the respective catchment area of the feature modules.
  • Block D illustrates the 5 x 5 folding layer 55 with 8 x 8 feature modules. Similar to the feature modules in layer 53, but with 64 memory locations for the latent state variables in the respective feature modules.
  • Block E is a layer 56 like the summary layer 54, but only with 2 x 2 feature modules, each with 64 memory locations for the latent state variables.
  • Block F shows a fully connected feature module 57. This contains 1024 memory locations for latent state variables and is completely networked with the summary layer 56 and output device 30. This is shown in block G with 10 storage locations for the latent state variables, which represent the 10 possible digits. To determine the digit he knows, the position of the storage space with the highest value in the distribution of the latent state variables is calculated and used as output data.
  • FIGS. 8 to 26 show details of a hardware configuration of a data processing device according to the invention (in particular according to the representations in FIGS. 1 to 7), as can be implemented by one or more integrated circuits.
  • FIG. 8 first show basic building blocks that are used in the data processing device.
  • Basic module * in the integrated circuit according to FIG. 8 is configured for the multiplication of two numbers in a pipeline design.
  • A, B input variables
  • i order parameter
  • FIG. 8 After a delay due to the execution of the operation, the result of the multiplication and the order parameter i, which accompanies the A & B pair during its processing, leave the basic module *.
  • This basic building block is represented in the following figures by the symbol *.
  • Basic module + in the integrated circuit according to FIG. 9 is configured for the addition of two numbers in a pipeline design.
  • a value pair of input variables (A, B) and an ordering parameter i are entered in each time step.
  • the result of the addition and the order parameter i which accompanies the A & B pair during its processing, leave the basic building block.
  • This basic building block is represented in the following figures by the sign +.
  • Figure 10 shows the basic module / in the integrated circuit.
  • a value A and the value 1 are added.
  • a / 1 is calculated in a sequential manner 1 / (A + 1).
  • B is multiplied by 1 / (A + 1) by a multiplication pipeline.
  • A changes much less frequently than B.
  • i is an order parameter to B that accompanies B during its processing.
  • This basic building block is represented by / in the following figures.
  • FIG. 11 shows the basic module MEM in the integrated circuit, which contains memory locations in a feature module with memory locations 23, 24 for the latent state variables h ⁇ i) and the associated weight values p (s
  • the MEM module has the three functions of reading (FIG. 11a), writing of the latent variables (FIG. 11b) and writing of the weights (FIG. 11c).
  • the two types of memory locations 23, 24 can be read out according to FIG. 11A.
  • the output of h (V) can be replaced by an initial value (here 1 / N H , where N H corresponds to the number of memory locations used for the latent state variables), which means the additional initial overwriting saves the memory locations of the latent state variables.
  • FIG. 11b shows the configuration for writing to the storage locations h ⁇ i) 23 and FIG. 11c shows the configuration for writing the weights p (s
  • This basic building block is represented in the following figures by the symbol MEM.
  • Figure 12 illustrates the basic building block MULTI-NORM in the integrated circuit.
  • This module fulfills several tasks: 1.) a combination h (V), p (s
  • FIG. 13 shows the basic module INDEX GENERATOR in the integrated circuit.
  • the function of this module is to convert the values of the latent state variables of a module (feature module, input device or output device) and a random number R 1 into corresponding indices.
  • the number of active storage locations of the latent state variable N H is set and a random number R t is made available (eg a 32 bit random number from a Mersen Twister MT 19937 ). Pairs of latent state variables h ⁇ i) and their order parameters i are now transferred to the INDEX GENERATOR.
  • This basic module converts h ⁇ i) into the number format of the random number (e.g.
  • a standard procedure for learning weights in conventional networks is called “cooling down”. This procedure is intended to prevent the weights from getting stuck in local minima of the target function (here: the probabilistic target measure).
  • the generation of the indices is modified. Instead of stochastically pulling the indices directly from the internal state variables, a copy of the internal state variables is created, to which an offset is added. This is then normalized again and used to pull the indices. The size of the offset is continuously reduced through the learning steps.
  • FIG. 14 shows an example of a computing block of the computing unit of each feature module, which is configured to generate indices using the method for "cooling" the input probability p * (s) or feature module probability h (i) during learning.
  • An efficient way to generate indices from these modified probability distributions is to use a double-stochastic process.
  • a random number R t which is an index from the distribution of the latent state variables h (i) (or p * (s)) and an index from the uniform distribution 1 / N H or 1 / N S (N H or N s correspond to the number of active storage locations).
  • R 2 it is determined on the basis of the probability a (i) which of the two indices determined from the random number R 1 is used as the result.
  • This arithmetic block consists of three basic building blocks INDEX GE NERATOR.
  • FIG. 15 shows a computing block of the computing unit of each feature module, which is configured to generate a normalized offset on the weights during learning. It can be advantageous to ensure that the weights p (s
  • i) do not assume the value of a perfect zero when learning. This can be done by adding an offset. However, it is ensured that the normalization ' Z s p Neu (s ⁇ i) 1 remains. In order to achieve this, this computing block can be coupled to the output of the basic module MEM (is not shown in the following drawings in order to maintain the clarity of the drawings). First, the calculation block according to FIG. 15 is informed of the value of offset f and 1 / N S in preparation, where N s corresponds to the number of possible s in p (s
  • N s calculates.
  • the normalized offset on the weights is carried out in a pipeline manner.
  • FIG. 16 shows a computation block of the computation unit of each feature module, which is configured to compute a probability distribution p (s) from observed indices.
  • the observed index values s are used to read the number of previously observed indices (with this index value s) c (s) from their storage space, then to increase the value 1 and into storage space c again (s) to write.
  • the memory value c AT is always read and increased by the value 1 and written back to the memory. If the Probability distribution is required and called up, C AÜ is converted into a suitable numerical
  • the memory location c (s) is read, converted into a suitable number format, and then
  • FIG. 17 shows phase 1 of the update of the latent state variables h (V) on the basis of the index value s.
  • the index value s is specified from the outside. All i from ⁇ 1, ⁇ ⁇ , N H ] are created one after the other on the basic module MEM. All / ⁇ storage locations of the latent state variable len / i (i) and the associated / V ⁇ weight values p (s
  • FIG. 18 shows phase 2 of the update of the latent state variable h ⁇ i) on the basis of the index value s.
  • the index value s is specified from the outside. All i from ⁇ 1, ⁇ ⁇ , N H ] are created one after the other on the basic module MEM. All / ⁇ storage locations of the latent state variable len / i (i) and the associated / V ⁇ weight values p (s
  • the MULTI-NORM basic block returns h (i) p (s ⁇ i) and still holds e (t) / Ei h (i) p (s ⁇ i) Phase 1.
  • the latent state variables h ⁇ i) are updated accordingly with the help of a series of basic modules (*, + and ⁇ ) .
  • the new values are written on the one hand to the associated memory locations in MEM for the latent state variables, and on the other hand the Basic module INDEX GENERATOR (or the arithmetic block for generating indices with "cooling") in parallel the new h (V) values in order to calculate a new index for this feature module (or this output unit).
  • FIGS. 19 to 21 The phases of the online learning of the weights p (s
  • FIG. 19 shows phase 1 of the online learning of the weights p (s
  • FIG. 20 shows phase 2 of the online learning of the weights p (s
  • FIG. 21 shows phase 3 of the online learning of the weights p (s
  • the external index that was used to update the latent state variables is subsequently kept as s t .
  • the memory location i of the auxiliary variable f / (i) is read and a basic module ⁇ is populated with this value. Then all JV s values for s are run through.
  • FIGS. 22 to 23 The learning of the weights p (s
  • Figure 22 shows phase 1 of learning the weights p (s
  • FIG. 23 shows phase 2 of learning the weights p (s
  • i) must be offset against p (s
  • the data processing device can be configured with a single data bus. All or a subset of the feature modules are bound to a common data bus. Each module that is connected to one of the data buses A, B has a unique number on each of these data buses A, B. This number can differ depending on the data bus.
  • a counter control unit monitors whether all the feature modules have finished processing their index memories. When all the feature modules are finished, the meter control unit calls all feature modules available on its data bus by publication of their unique numbers once. The called feature modules react to the naming of their number at a defined time interval (which is the same for all feature modules, input and output modules).
  • this feature module called up has information that must be communicated to the other feature modules, its own feature module number and the generated index value are transmitted to all other connected feature modules via the common data bus. It may be advantageous to operate several of these data buses, and the data buses may extend over several integrated circuits.
  • the counter control unit is in turn controlled by a superordinate control unit (control device 40, see FIGS. 1 and 26). When all the feature modules connected to a data bus have finished processing, the counter control unit notifies the higher-level control unit and waits for a command that triggers the next round of data exchange and processing of the calculated index values.
  • FIG. 25 illustrates a module filter provided according to an advantageous variant of the invention within a feature module and the output device.
  • All feature modules on the common data bus communicate their information via their indices to all other feature modules connected.
  • each feature module has a list for each of the data buses to which it is connected. The incoming index of the sending group is only included in the index memory list if the unique number of a receiving feature module is available in this list.
  • the list contains further information for each of the feature modules to be observed, such as an index offset s 0 ff set> which depends on the incoming module number, so that between the received index value s in and the storage locations for the weights p ( s
  • the list can also contain individual e and learning rates g for each of the sending module. If the counter control unit informs the module that all the indices have been exchanged, the module processes the indices collected in the index memory list. Processed indices are removed from the list.
  • Figure 26 illustrates details of a data bus for control information. It is advantageous for many applications to supply information to the input device 10, feature modules 21, output device 30 and various control units (40) of the network 20 from the outside or to read data about the current state from the network (see FIG. 1 ). Furthermore, the outgoing data flows of the different feature modules should be merged. This is preferably done via a common data bus with an "arbiter" switch.
  • m numbered a set of input data (samples) (e.g. pictures, time series), u numbered all feature modules as well as input and output modules, z runs through all feature modules and output modules, where z F u applies.
  • Indices generated from p ß (s) are called s x .
  • the weights are designated w a ⁇ b . This corresponds to a set of weights in which information flows from feature module a (this module generates the index) to feature module b.
  • the aim is to minimize the distance between the reconstructions and their associated generating probability distributions, whereby latent state variables can occur in several reconstructions at the same time. This couples the reconstructions together.
  • the distance is calculated using the following equation (similar to a likelihood or Kullback-Leibler divergence):
  • r cm (a) corresponds to the input probability of the input device.
  • r Li m ( ⁇ ), bh 2 , m (0 and P hy, ß it applies that these consist of the "old" (from the last time step) latent state variables, from which the currently to be processed The following assignment takes place before each update of the latent state variables:
  • the a's and ß’s are constants.
  • a gradient for optimization for the latent state variables is calculated from the distance between the reconstructions and the generating probabilities:
  • each / i We “ , iVoT'm (y) depends only on the incoming indices, which completely isolates the internal calculations of each feature module from the other feature modules.
  • the feature modules go into an adapted state relative to the feature modules from which these indices are sent.
  • the application has shown that the individual indices can be processed one after the other, which leads to a significantly simplified calculation:
  • weights are standardized after each learning step (multiplicative or additive learning rule):
  • the batch learning shown here has proven to be particularly useful on deep convolutional networks.
  • the inventors successfully trained (learned) a deep convolutional network for recognizing handwritten digits.
  • the multiplicative batch learning rule shown here was successfully applied. It has also proven to be advantageous to pre-learn the network layer by layer, whereby the state of the previous layers is initially kept unchanged and only then learn to the full under dynamic.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (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)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

Eine Datenverarbeitungsvorrichtung (100) zur Abbildung von Eingabedaten auf Ausgabedaten umfasst eine (Eingabe-Einrichtung (10) zur Aufnahme der Eingabedaten r(s), Erzeugung einer Eingabe- Wahrscheinlichkeitsverteilung p (s) der Eingabedaten und Erzeugung einer stochastischen Repräsentation der Eingabedaten als Sequenz von Eingabe-Indizes, die jeweils eine stochastisch ermittelte Position innerhalb der Eingabe-Wahrscheinlichkeitsverteilung repräsentieren; mindestens ein Netzwerk (20) aus mindestens zwei (Merkmalsmodulen (21), die über Datenverbindungen (22) miteinander gekoppelt sind, wobei eines der Merkmalsmodule mit der Eingabe-Einrichtung gekoppelt ist, wobei jedes Merkmalsmodul Zustandsvariabien- Speicherplätze jeweils mit Gewichte-Speicherplätzen, Index- Speicherplätze und eine Recheneinheit umfasst.

Description

Datenverarbeitungsvorrichtung mit einem künstlichen neuronalen Netzwerk und
Verfahren zur Datenverarbeitung
Gebiet der Erfindung
Die Erfindung betrifft eine Datenverarbeitungsvorrichtung, die zur Abbildung von Eingabedaten auf Ausgabedaten konfiguriert ist, insbesondere eine Datenverarbeitungsvorrichtung mit einem künstlichen neuronalen Netzwerk. Des Weiteren betrifft die Erfindung ein Datenverarbeitungsver fahren, bei dem Eingabedaten auf Ausgabedaten abgebildet werden, insbesondere ein Datenver arbeitungsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks. Anwendungen der Erfindung sind in allen Gebieten der Datenverarbeitung, insbesondere basierend auf maschi nellem Lernen und/oder künstlicher Intelligenz, z. B. bei der Auswertung von Daten und/oder der datenbasierten Steuerung von Vorrichtungen oder Verfahren gegeben.
Technischer Hintergrund
In der vorliegenden Beschreibung wird auf den folgenden Stand der Technik Bezug genommen, der den technischen Hintergrund der Erfindung illustriert:
[1] Schmidhuber, J. (2015). Deep learning in neural networks: An overview. Neural net- works, 61, 85-117;
[2] Rosenblatt, F. (1958). The perceptron: a probabilistic model for Information storage and Organization in the brain. Psychological review, 65(6), 386;
[3] Guo, Yanming, et al. "Deep learning for visual understanding: A review." Neurocompu- ting 187 (2016): 27-48;
[4] Azkarate Saiz, A. (2015). Deep learning review and its applications;
[5] Längkvist, M., Karlsson, L., & Loutfi, A. (2014). A review of unsupervised feature learning and deep learning for time-series modeling. Pattern Recognition Letters, 42, 11-24;
[6] Silver, D., Huang, A., Maddison, C. J., Guez, A., Sifre, L., Van Den Driessche, G., ... & Die- leman, S. (2016). Mastering the game of Go with deep neural networks and tree search. Nature, 529(7587), 484-489; [7] Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., ... & Pe- tersen, S. (2015). Human-Ievel control through deep reinforcement learning. Na ture, 518(7540), 529;
[8] Gatys, L. A., Ecker, A. S., & Bethge, M. (2016, June). Image style transfer using convolu- tional neural networks. In Computer Vision and Pattern Recognition (CVPR), 2016 IEEE Conference on (pp. 2414-2423). IEEE;
[9] WO 2017/021322A1;
[10] Lacey, G., Taylor, G. W., & Areibi, S. (2016). Deep learning on FPGAs: Past, present, and future. arXiv preprint arXiv: 1602.04283;
[11] Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back- propagating errors. Nature, 323(6088), 533;
[12] US 2007/192267A1;
[13] US8219507B2;
[14] Hinton, G. E. (2012). A practical guide to training restricted Boltzmann machines. In Neural networks: Tricks of the trade (pp. 599-619). Springer, Berlin, Heidelberg;
[15] Salakhutdinov, R. and Hinton G. E. (2012) An efficient learning procedure for deep Boltz mann machines. Neural Comput. Aug; 24(8):1967-2006. doi: 10.1162/NECO_a_00311
[16] Salakhutdinov, R. (2015). Learning deep generative models. Annual Review ofStatistics and Its Application, 2, 361-385;
[17] Ernst, U., Rotermund, D., & Pawelzik, K. (2007). Efficient computation based on stochastic spikes. Neural computation, 19(5), 1313-1343;
[18] Spanne, A., & Jörnteil, H. (2015). Questioning the role of sparse coding in the brain. Trends in neurosciences, 38(7), 417-427;
[19] Bruckstein, A. M., Elad, M., & Zibulevsky, M. (2008). On the uniqueness of nonnegative sparse Solutions to underdetermined Systems of equations. IEEE Transactions on Infor mation Theory, 54(11), 4813-4820;
[20] Kingma, D. P., & Ba, J. (2014). Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980;
[21] Rolinek, M., & Martius, G. (2018). L4: Practical loss-based stepsize adaptation for deep learning. arXiv preprint arXiv:1802.05074; und
[22] Angeline, P. J., Saunders, G. M., & Pollack, J. B. (1994). An evolutionary algorithm that con- structs recurrent neural networks. IEEE Transactions on Neural Networks, 5(1), 54-65).
Es ist allgemein bekannt, dass tiefe neuronale Netzwerke [1] eine wichtige Basis vieler Systeme mit Anwendungen künstlicher Intelligenz bilden. Tiefe neuronale Netzwerke bestehen aus einer Eingabeschicht, einer Vielzahl von verborgenen Zwischenschichten und einer Ausgabeschicht. Die Schichten sind typischerweise miteinander über gewichtete Verbindungen gekoppelt. Meistens erfolgt die Verarbeitung von Daten gerichtet, indem Signale von der Eingabeschicht sukzessive über die Zwischenschichten bis zur Ausgangschicht propagiert werden (Vorwärtsrichtung). Wäh rend diese Netzwerke theoretisch beliebige Funktionen erfüllen können, ist die Anpassung von Verbindungsgewichten der Verbindungen zwischen den Schichten ("Lernen") aufgrund der erfor derlichen Rechenleistung und/oder Hardware-Anforderungen eine der zentralen Herausforderun gen herkömmlicher neuronaler Netzwerke.
Zum Lernen werden für tiefe neuronale Netzwerke bisher Algorithmen verwendet, die in der Aus gangsschicht auftretende Fehler in Rückwärtsrichtung über die Schichten propagieren (z. B. der so genannte "Backpropagation-Algorithmus") und so den Beitrag der Verbindungsgewichte auch in vorangehenden Schichten zum Fehler minimieren können (Lösung des "credit assignment Prob lem"). Diese Algorithmen zeichnen sich dadurch aus, dass Fehlersignale modifiziert überall im Netzwerk zur Verfügung stehen müssen. Die Verbindungsgewichte müssen gemeinsam für das ge samte Netzwerk gelernt werden (nichtlokales Lernen). Dies wirkt sich nachteilig auf den Rechen aufwand und die Geschwindigkeit des Lernens aus und beschränkt die Zahl der in der Praxis reali sierbaren verborgenen Schichten und die Geschwindigkeit der Anwendung des Netzwerks.
Ein weiterer Nachteil von herkömmlichen tiefen neuronalen Netzwerken besteht darin, dass meist nur dann nützliche Lösungen erreicht werden, wenn die Anzahl der freien Parameter im System stark beschränkt werden kann. Dies ist z. B. bei den "Deep Convolutional Networks" (DCN) der Fall, die sich in vielen Anwendungen bewährt haben ([2] bis [5]). Sie reichen von dem Spielen von Brett- und Computer-Spielen ([6], [7]) bis in die Kunst ([8], [9]). Weitere Anwendungen sind z. B. beim Betrieb autonom fahrender Fahrzeuge, bei der Bildverarbeitung, insbesondere Gesichtser kennung, oder Bildverarbeitung für medizinische Anwendungen (z. B. Tumor-Erkennung auf MRT/CT Aufnahmen), beim Erkennen von betrügerischen Bank-Transaktionen, bei der Analyse des Verhalten von Wählern und deren Manipulation (siehe z.B. https://www.nvidia.de/deep-lear- ning-ai/) gegeben. Bisher wird versucht, das aufwendige Lernen herkömmlicher Netzwerke zu be schleunigen, indem sie als Hardware-Lösung implementiert werden (siehe z.B. [10]).
Neben den tiefen neuronalen Netzwerken gibt es weitere Typen von neuronalen Netzwerken, die allerdings weniger erfolgreich sind. Ein Beispiel sind rekurrente Netzwerke, bei denen die verbor gene Schicht aus einer Ansammlung von Neuronen besteht, die im Gegensatz zu den typischen vorwärts gerichteten Netzwerken auch untereinander verbunden sind. Das Lernen dieses Netz werk-Typs ist notorisch schwierig [11] Weitere Beispiele sind durch die so genannten Hierarchical Temporal Memory (HTM) Systeme [12, 13] gegeben.
Weitere Netzwerktypen sind rückgekoppelte Netzwerke vom Typ der so genannten Boltzmann Maschinen ([14], [15]) oder Netzwerke, die auf generativen Modellen [16] basieren. Zu Letzteren zählt das in [17] beschriebene vorwärts gerichtete Netzwerk, bei dem die Information vollständig mit stochastisch erzeugten Impulsen (oder: elektrische Aktionspotentiale, Indizes oder "Spikes" genannt) übertragen werden und alle Gewichte und Aktivitäten nur positive Werte annehmen dürfen.
Es erwies sich als vorteilhaft, dass das Netzwerk gemäß [17] rauschrobust ist und fehlende Einga bedaten ergänzen kann. Die Anwendbarkeit des Netzwerks blieb jedoch auf eine einzige verbor gene Schicht oder die Kombination mit einem herkömmlichen hierarchischen neuronalen Netz werk beschränkt, obwohl ein großes Interesse an einer Erweiterung auf mehrere verborgene Schichten bestand. Es war jedoch noch kein Verfahren bekannt, wie die für die Erweiterung auf mehrere verborgene Schichten notwendigen Gewichte gelernt werden können. Des Weiteren war das Netzwerk ein rein vorwärts gerichtetes Netzwerk. Im Ergebnis war das Netzwerk gemäß [17] insbesondere aufgrund seiner spärlichen Aktivität vorrangig von theoretischem Interesse, da sich Beziehungen zur so genannten Sparseness bei der Informationsverarbeitung im Gehirn [18] und zu "Compressed Sensing"-Verfahren ergaben [19]. Für praktische Anwendungen war das Netz werk jedoch nur beschränkt geeignet.
Aufgabe der Erfindung
Die Aufgabe der Erfindung ist es, eine verbesserte Datenverarbeitungsvorrichtung und/oder ein verbessertes Datenverarbeitungsverfahren bereitzustellen, mit denen Nachteile herkömmlicher Techniken vermieden werden. Die Datenverarbeitung soll unter Verwendung eines Netzwerks er folgen, dessen Eigenschaften für eine Abbildung von Eingabedaten auf Ausgabedaten trainierbar sind. Die Datenverarbeitungsvorrichtung und/oder das Datenverarbeitungsverfahren sollen insbe sondere die Probleme herkömmlicher Netzwerke verringern, die beim Lernen und dem Rück wärtsfluss von Information auftreten. Das Netzwerk soll geeignet sein, eine Datenverarbeitung mit einer erhöhten Anzahl von Netzwerkknoten, insbesondere mit einer erhöhten Anzahl von Schichten, und/oder einer erhöhten Geschwindigkeit zu realisieren, insbesondere wenn Anwen dungen mit erhöhter Komplexität gegeben sind. Des Weiteren soll das Netzwerk geeignet sein, insbesondere für Anwendungen mit geringer Komplexität, eine Datenverarbeitung mit einer ver ringerten Anzahl von Netzwerkknoten, insbesondere mit einer verringerten Anzahl von Schichten, und/oder einer erhöhten Geschwindigkeit ohne Beeinträchtigung der Funktion des Netzwerks zu realisieren. Das Netzwerk soll ferner schaltungstechnisch vereinfacht, insbesondere mit einem verringerten Aufwand an Hardware-Komponenten realisierbar sein.
Zusammenfassung der Erfindung
Diese Aufgaben werden durch eine Datenverarbeitungsvorrichtung und/oder ein Datenverarbei tungsverfahren mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Ausfüh rungsformen und Anwendungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
Gemäß einem ersten allgemeinen Gesichtspunkt der Erfindung wird die o. g. Aufgabe durch eine Datenverarbeitungsvorrichtung (oder: Neuronales Netzwerk zur Informationsverarbeitung) gelöst, die zur Abbildung von Eingabedaten auf Ausgabedaten konfiguriert ist. Mit Eingabedaten r(s) wer den allgemein vorgegebene Daten bezeichnet, die Informationen repräsentieren und mit der Da tenverarbeitungsvorrichtung verarbeitet werden sollen. Die Eingabedaten sind die Daten, aus de nen die Ausgabedaten ermittelt werden sollen. Die Eingabedaten liegen z. B. als Ergebnis von Messungen, Beobachtungen, Informationssammlungen oder numerischen Verfahren vor. Typi scherweise umfassen die Eingabedaten numerische Werte r, die als ein- oder mehrdimensionale Anordnung (Positionen s) an einem Eingang der Datenverarbeitungsvorrichtung aufgenommen werden. Die Informationen sind in den Eingabedaten als Muster enthalten, die z. B. quantitative Werte der Eingabedaten und/oder eine Eigenschaft der Anordnung der Eingabedaten umfassen. Mit Ausgabedaten werden allgemein Daten bezeichnet, die Informationen repräsentieren und mit der Datenverarbeitungsvorrichtung aus den Eingabedaten erzeugt werden sollen. Mit Datenverar beitung wird die maschinengestützte (computergestützte) Erzeugung der Ausgabedaten aus den Eingabedaten bezeichnet. Die Datenverarbeitung schließt in Abhängigkeit von der konkreten An wendung der Erfindung insbesondere eine Analyse der Eingabedaten, eine Mustererkennung in den Eingabedaten, eine Merkmalserkennung in den Eingabedaten, eine Quantifizierung von Merkmalen, welche durch die Eingabedaten repräsentiert werden, und/oder eine Prognose der zukünftigen Veränderung des Systems, welches die Eingabedaten erzeugt, ein. Allgemein werden die Ausgabedaten durch eine vielparametrige Funktion, welche durch die Datenverarbeitungsvor richtung, insbesondere ein in dieser enthaltenes Netzwerk, repräsentiert wird, aus den vorgege benen Eingabedaten ermittelt oder diesen zugeordnet (Abbildung von Eingabedaten auf Ausgabe- daten). Die vielparametrige Funktion wird in einem Lernmodus der Datenverarbeitungsvorrich tung mit bekannten Eingabedaten-Ausgabedaten-Paaren ermittelt und in einem Anwendungsmo dus der Datenverarbeitungsvorrichtung auf vorgegebene Eingabedaten angewendet, um zugehö rige Ausgabedaten zu ermitteln.
Die Datenverarbeitungsvorrichtung umfasst eine Eingabe-Einrichtung, die zur Aufnahme der Ein gabedaten r(s), Erzeugung einer Eingabe-Wahrscheinlichkeitsverteilung p*(s) der Eingabedaten und Erzeugung einer stochastischen Repräsentation der Eingabedaten in Gestalt einer Sequenz von Eingabe-Indizes eingerichtet ist. Jeder Eingabe-Index (oder: Spike) repräsentiert eine stochas tisch ermittelte Position innerhalb der Eingabe-Wahrscheinlichkeitsverteilung p*(s). Die Eingabe- Indizes sind beispielsweise die stochastisch ermittelten Positionen an sich oder davon abgeleitete Zahlen.
Die Eingabe-Wahrscheinlichkeitsverteilung p*(s) der Eingabedaten umfasst eine Folge von Wahr scheinlichkeiten der einzelnen Eingabedaten (z. B. berechnet als die Werte der Eingabedaten, je weils dividiert durch die Summe der Eingabedaten). Die Sequenz von Eingabe-Indizes wird durch stochastische Auswahl von Werten aus der Eingabe-Wahrscheinlichkeitsverteilung, z. B. die Vor gabe einer Sequenz von Zufallszahlen zwischen 0 und 1, z. B. durch einen Zufallsgenerator, und die Ermittlung der Positionen in der Eingabe-Wahrscheinlichkeitsverteilung, deren summierte Wahrscheinlichkeiten aller vorherigen Positionen an die jeweilige Zufallszahl angepasst ist, gebil det. Die stochastische Auswahl wird im Folgenden auch als "ziehen" der Indizes bezeichnet.
Im Ergebnis erzeugt die Eingabe-Einrichtung die Sequenz der Eingabe-Indizes als Folge von Zahlen, welche eine stochastische Repräsentation der in den Eingabedaten enthaltenen Informationen darstellt. Die Eingabe-Einrichtung umfasst z. B. eine Schaltung (Eingabe-Schaltung oder Eingabe- Schaltkreis) mit Speichern und einer Recheneinheit, die für die Erzeugung der Sequenz von Ein gabe-Indizes eingerichtet ist. Des Weiteren kann die Recheneinheit Komponenten enthalten, die für die Steuerung von Speichervorgängen in der Eingabe-Einrichtung und/oder des Sendens der Eingabe-Indizes eingerichtet sind.
Die Datenverarbeitungsvorrichtung umfasst des Weiteren mindestens ein Netzwerk aus mindes- tens zwei Merkmalsmodulen, die über Datenverbindungen miteinander gekoppelt sind, wobei mindestens eines der Merkmalsmodule über eine Datenverbindung mit der Eingabe-Einrichtung gekoppelt ist. Die Eingabe-Einrichtung ist zum Senden der Sequenz von Eingabe-Indizes an das mindestens eine mit der Eingabe-Einrichtung gekoppelte Merkmalsmodul eingerichtet. Jedes Merkmalsmodul (auch als Normalisierungseinheit bezeichnet) ist zum Senden einer Sequenz von Modul-Indizes an die mit diesem Merkmalsmodul gekoppelten Merkmalsmodule eingerichtet. Das Senden der Sequenz von Eingabe- oder Modul-Indizes umfasst eine Übertragung der Indizes über die Datenverbindung. Welche Merkmalsmodule miteinander gekoppelt sind, d. h. welche Daten verbindungen bestehen, wird durch die Konfiguration des Netzwerks bestimmt. Die Datenverbin dungen werden, insbesondere in Abhängigkeit von der konkreten Anwendung der Datenverarbei tungsvorrichtung, z. B. basierend auf Erfahrungswerten vorgegeben, und sie können bei Betrieb der Datenverarbeitungsvorrichtung modifiziert werden. Jedes Merkmalsmodul umfasst, wie im Folgenden erläutert wird, eine Schaltung (Merkmalsmodul-Schaltung oder Merkmalsmodul- Schaltkreis) mit Speichern und einer Recheneinheit. Die Zahl der erfindungsgemäß verwendeten Merkmalsmodule beträgt zusätzlich zu den Eingabe- und Ausgabe-Einrichtungen mindestens zwei, kann aber für praktische Anwendungen erheblich größer sein.
Die Datenverbindungen von Merkmalsmodulen mit anderen Merkmalsmodulen und/oder der Ein gabe-Einrichtung umfassen vorzugsweise Verbindungen über einen Datenbus oder einen drahtlo sen Übertragungskanal. Die Verbindungen werden z. B. Listen-basiert implementiert. Im Rahmen einer Netzwerkkonfiguration werden Listen gebildet, die festlegen, von welchen Merkmalsmodu len und/oder der Eingabe-Einrichtung an welche anderen Merkmalsmodule Eingabe- oder Modul- Indizes übertragen werden. Die zwischen den Merkmalsmodulen übertragenen Informationen zur erfindungsgemäßen Datenverarbeitungsvorrichtung umfassen vorzugsweise ausschließlich die Eingabe- und Modul-Indizes. Die Merkmalsmodule bilden Knoten des Netzwerks, an denen die durch die Eingabe- und Modul-Indizes repräsentierten Informationen verarbeitet werden. Obwohl das Netzwerk keine einzelnen Elemente enthält, die Neuronen mit einer Konfiguration wie bei ei nem herkömmlichen neuronalen Netzwerk sind, wird das Netzwerk aufgrund seiner Funktion hier auch als neuronales Netzwerk bezeichnet.
Das Netzwerk wird allgemein aus den Merkmalsmodulen gebildet, deren Anzahl mindestens 2 be trägt, bei praktischen Anwendungen jedoch vorzugsweise im Bereich von 10 bis 10000 gewählt ist, aber auch darüber liegen kann. Anders als bei herkömmlichen geschichteten Netzwerken sind die Merkmalsmodule im Netzwerk unabhängig vom Abstand von den Eingabe- und Ausgabe-Ein richtungen und der Reihenfolge in Vorwärts- oder Rückwärtsrichtung frei kombinierbar, d. h. das Netzwerk hat nicht notwendigerweise eine Schichtstruktur. Es besteht jedoch die Möglichkeit, Merkmalsmodule zu Schichten zusammenzufassen, um die Architektur eines geschichteten Netz werks nachzubilden. Wenn die erfindungsgemäße Datenverarbeitungsvorrichtung ein geschichte- tes Netzwerk mit mehreren Merkmalsmodulen pro Schicht aufweist, unterscheidet sich dieses je doch von den herkömmlichen Netzwerken, die jeweils eine durchgängige Schicht aus einer Viel zahl von Neuronen haben.
Jedes Merkmalsmodul enthält eine Vielzahl von Speicherplätzen, von denen eine Gruppe von Speicherplätzen als Zustandsvariablen-Speicherplätze und eine weitere Gruppe von Speicherplät zen als Index-Speicherplätze bezeichnet werden. Die Zustandsvariablen-Speicherplätze speichern normierte latente Zustandsvariablen h^. Jedem Zustandsvariablen-Speicherplatz ist eine Vielzahl von Gewichte-Speicherplätzen zugeordnet. Die Gewichte-Speicherplätze speichern Gewichte p(s | i), die den latenten Zustandsvariablen hi zugeordnet sind. Die Index-Speicherplätze jedes Merkmalsmoduls speichern empfangene Eingabe- oder Modul-Indizes oder von einer Ausgabe- Einrichtung empfangene Ausgabe-Indizes.
Die Merkmalsmodule sind jeweils zum Senden (Übertragen) einer zugehörigen Sequenz von Mo dul-Indizes an die mit dem jeweiligen Merkmalsmodul gekoppelten anderen Merkmalsmodule eingerichtet. Jeder Modul-Index repräsentiert, basierend auf einer Merkmalsmodul-Wahrschein lichkeitsverteilung hi des jeweils sendenden Merkmalsmoduls, eine stochastisch ermittelte Posi tion eines Zustandsvariablen-Speicherplatzes. Die Modul-Indizes werden vorzugsweise erzeugt, wie oben für die Eingabe-Indizes und mit weiteren Einzelheiten unten unter Bezug auf die Figuren erläutert ist. Vorzugsweise umfassen die Modul-Indizes die stochastisch ermittelte Folge von Posi tion der Zustandsvariablen-Speicherplätze.
Jedes Merkmalsmodul enthält des Weiteren die Recheneinheit, die zur Optimierung von den Zu standsvariablen hi und optional von deren Gewichten p(s | i) in Abhängigkeit von Eingabe- oder Modul-Indizes konfiguriert ist. Des Weiteren umfasst die Recheneinheit Komponenten, die für die Steuerung der Speichervorgänge an den Speicherplätzen des jeweiligen Merkmalsmoduls, die Be rechnung der Modul-Indizes, und/oder die Steuerung des Sendens und Empfanges von Eingabe- und/oder Modul-Indizes eingerichtet sind.
Im Einzelnen ist die Recheneinheit jedes Merkmalsmoduls dazu eingerichtet, die latenten Zu standsvariablen hi und die zugeordneten Gewichte p(s | i), die in dem Merkmalsmodul gespeichert sind, durch Anwendung einer numerischen Optimierung basierend auf den Werten in den Index- Speicherplätzen schrittweise so zu verändern, dass für alle direkt miteinander gekoppelten Merk malsmodule wechselweise die Merkmalsmodul-Wahrscheinlichkeitsverteilung Sί p(s|0^i des ei nen Merkmalsmoduls an die latenten Zustandsvariablen hs des jeweils anderen Merkmalsmoduls angepasst ist und die Merkmalsmodul-Wahrscheinlichkeitsverteilung ' i p(s\ i)hi des mindestens einen mit der Eingabe-Einrichtung gekoppelten Merkmalsmoduls an die Eingabe-Wahrscheinlich keitsverteilung p*(s) angepasst ist.
Die Datenverarbeitungsvorrichtung umfasst des Weiteren eine Ausgabe-Einrichtung, die mit min destens einem Merkmalsmodul des Netzwerks über eine Datenverbindung gekoppelt und zur Be reitstellung der Ausgabedaten eingerichtet ist. Die Ausgabe-Einrichtung umfasst wiederum z. B. eine Schaltung (Ausgabe-Schaltung oder Ausgabe-Schaltkreis) mit Speichern und einer Rechenein heit, die für die Erzeugung der Ausgabedaten basierend auf der Sequenz von empfangenen Mo dul-Indizes eingerichtet ist. Des Weiteren kann die Recheneinheit Komponenten enthalten, die für die Steuerung von Speichervorgängen in der Ausgabe-Einrichtung und/oder der Verarbeitung der Modul-Indizes und optional für die Erzeugung und rückwärts gerichtete Übertragung von Modul- Indizes (so genannte Ausgabe-Indizes) an die mit der Ausgabe-Einrichtung gekoppelten Merkmals- module eingerichtet sind.
Die Architektur des Netzwerkes ist dadurch bestimmt, welche der Eingabe-Einrichtung, der Aus gabe-Einrichtung und der Merkmalsmodule als Quellen für Indizes für das empfangende Merk malsmodul bzw. die Ausgabe-Einrichtung dienen, wo dann die empfangenen Indizes für die Aktua lisierung der latenten Zustandsvariablen und optional für das Lernen der Gewichte verwendet werden. Die Gewichte eines Moduls beschreiben in lokaler Weise, wie das empfangende Modul seine latenten Zustandsvariablen, gegeben einen empfangenen Index und den unten beschriebe nen Gleichungen (insbesondere Regeln zur Aktualisierung der latenten Zustandsvariablen), zu ak tualisieren hat. Die Gewichte in einem Modul entsprechen einer zweidimensionalen Matrix an Speicherplätzen mit positiven Werten, wo diese Werte im reellen Wertebereich zwischen 0 und 1 aufweisen.
Jedem Zustandsvariablen-Speicherplatz für die latenten Zustandsvariablen sind auf den zugehöri gen Gewichte-Speicherplätzen die Gewichte zugeordnet, die als ein Vektor an Gewichten betrach tet werden können. Die Länge des Vektors entspricht der Summe über die Anzahl der Speicher plätze für latente Zustandsvariablen über alle sendenden Komponenten, umfassend die Eingabe- Einrichtung, die Ausgabe-Einrichtung und die Merkmalsmodule, auf die, entsprechend der Archi tektur des Netzwerks, dieses empfangende Modul reagieren soll. In einer optionalen Ausfüh rungsform ist die Summe über die Speicherwerte des gesamten Vektors auf einen festen Wert normiert (z.B. den Wert 1). Alternativ kann es vorteilhaft sein, dass die Summe über die Speicher werte von Abschnitten dieses Gewichtsvektors, insbesondere diejenigen, welche gemeinsam zu einem sendenden Eingangs-, Ausgangs-, und Merkmalsmodul gehören, auf einen festen Wert nor miert (z.B. den Wert 1) sind.
Die Gewichte stellen ein Maß für die Relevanz der Indizes zu den dazugehörigen Speicherplätzen der sendenden Module bzw. die Relevanz des kombinierten Auftretens dieser Indizes dar. Werte von 0 in dem Gewichtsvektor entsprechen einem Ignorieren des entsprechenden Speicherplatzes des Index-sendenden Moduls. Die Gewichte enthalten die, beim Lernen aus dem präsentierten Ensemble an Mustern aus den Übungsdaten (oder aus anderen Quellen wie z.B. bekannte mathe matische oder biologische Zusammenhänge), extrahierten funktionalen Zusammenhänge, welche zum Lösen der Datenverarbeitungsaufgabe verwendet werden.
Vorteilhafterweise kann die Gewichtsmatrix Templates (Schablonen) und/oder eine Sammlung an Mischungen von Kombinationen an Merkmalen, die für die Lösung der Datenverarbeitung rele vant sind, umfassen. Ein Beispiel für das Entstehen von Templates ist es, wenn besonders infor mative Muster aus den Übungsdaten direkt in die Gewichte abgebildet werden. Im Fall eines Netzwerkes zur Erkennung von handgeschriebenen Ziffern könnten dies beispielsweise verschie dene prägnante Ausführungen einer Ziffer, z. B. der Ziffer 2, sein. Die dazugehörige latente Zu standsvariable würde dann, im Laufe der Verarbeitung der eingehenden Indizes, besonders hohe Werte erhalten, wenn im Anwendungsmodus diese spezielle Ausführung der Ziffer 2 (oder mit ei ner leichten Variation) gezeigt werden würde. Im Beispiel einer Berechnung einer Booleschen Funktion könnte dies der Übernahme der Funktionstabelle in die Gewichte entsprechen.
Gemäß einem zweiten allgemeinen Gesichtspunkt der Erfindung wird die o. g. Aufgabe durch ein Datenverarbeitungsverfahren gelöst, das zur Abbildung von Eingabedaten auf Ausgabedaten kon figuriert ist. Vorzugsweise wird das Datenverarbeitungsverfahren mit der Datenverarbeitungsvor richtung gemäß dem obigen ersten allgemeinen Gesichtspunkt der Erfindung ausgeführt.
Das erfindungsgemäße Datenverarbeitungsverfahren umfasst die folgenden Verfahrensschritte. Zunächst erfolgen die Aufnahme der Eingabedaten r(s), die Erzeugung einer Eingabe-Wahrschein lichkeitsverteilung p*(s) der Eingabedaten und die Erzeugung einer stochastischen Repräsentation der Eingabedaten in Gestalt einer Sequenz von Eingabe-Indizes mit einer Eingabe-Einrichtung. Je der Eingabe-Index ist eine Zahl, mit der eine stochastisch ermittelte Position innerhalb der Ein gabe-Wahrscheinlichkeitsverteilung p*(s) bezeichnet wird. Des Weiteren wird mindestens ein Netzwerk aus mindestens zwei Merkmalsmodulen betrieben, die über Datenverbindungen miteinander gekoppelt sind, wobei mindestens eines der Merkmals- module über eine Datenverbindung mit der Eingabe-Einrichtung gekoppelt ist und jedes Merk malsmodul eine Vielzahl von Zustandsvariablen-Speicherplätzen, denen jeweils eine Vielzahl von Gewichte-Speicherplätzen zugeordnet ist, eine Vielzahl von Index-Speicherplätzen und eine Re cheneinheit umfasst, wobei die Zustandsvariablen-Speicherplätze normierte latente Zustandsvari ablen hi und die Gewichte-Speicherplätze Gewichte p(s | i) speichern, die den latenten Zustands variablen hi zugeordnet sind. Die Eingabe-Einrichtung sendet die Sequenz von Eingabe-Indizes an das mindestens eine mit der Eingabe-Einrichtung gekoppelte Merkmalsmodul. Jedes Merkmals modul sendet eine Sequenz von Modul-Indizes an die mit diesem Merkmalsmodul gekoppelten Merkmalsmodule, wobei jeder Modul-Index basierend auf einer Merkmalsmodul-Wahrscheinlich keitsverteilung hi des jeweils sendenden Merkmalsmoduls eine stochastisch ermittelte Position eines Zustandsvariablen-Speicherplatzes ist. Die Index-Speicherplätze jedes Merkmalsmoduls speichern empfangene Eingabe- oder Modul-Indizes. Die Recheneinheit jedes Merkmalsmoduls verändert schrittweise die latenten Zustandsvariablen hi und die zugeordneten Gewichte p(s | i), die in dem Merkmalsmodul gespeichert sind, durch Anwendung einer numerischen Optimierung basierend auf den Werten in den Index-Speicherplätzen, so dass für alle direkt miteinander ge koppelten Merkmalsmodule wechselweise die Merkmalsmodul-Wahrscheinlichkeitsverteilung i pCsIO^i des einen Merkmalsmoduls an die latenten Zustandsvariablen hsdes jeweils anderen Merkmalsmoduls angepasst ist und die Merkmalsmodul-Wahrscheinlichkeitsverteilung
i pCsIO^i des mindestens einen, mit der Eingabe-Einrichtung gekoppelten Merkmalsmoduls an die Eingabe-Wahrscheinlichkeitsverteilung p*(s) angepasst ist.
Schließlich werden die Ausgabedaten mit einer Ausgabe-Einrichtung ausgegeben, die mit mindes tens einem Merkmalsmodul des Netzwerks über eine Datenverbindung gekoppelt ist.
Weitere unabhängige Gegenstände der Erfindung sind ein Computerprogrammprodukt, das auf einem Computer-lesbaren Speichermedium gespeichert und zur Ausführung des Verfahrens ge mäß dem zweiten allgemeinen Gesichtspunkt der Erfindung eingerichtet ist, und ein Computer lesbares Speichermedium, auf dem das Computerprogrammprodukt zur Ausführung des Verfah rens gemäß dem zweiten allgemeinen Gesichtspunkt der Erfindung gespeichert ist.
Ein Hauptvorteil der Erfindung besteht in der Bereitstellung einer universell anwendbaren Netz werkarchitektur, die eine Ermittlung der Ausgabedaten aus den jeweils gegebenen Eingabedaten auf der Grundlage der lokal in den Merkmalsmodulen optimierten Gewichte und latenten Zu standsvariablen und der gegenseitigen Anpassung der Merkmalsmodul-Wahrscheinlichkeitsvertei lung Sί p(s|i)/ij des einen Merkmalsmoduls an die latenten Zustandsvariablen hs des jeweils an deren Merkmalsmoduls von unmittelbar miteinander verbundenen Merkmalsmodulen ermög licht. Die Verwendung der Merkmalsmodule für die Konstruktion von Netzwerken mit frei wählba rer Architektur schließt insbesondere Netzwerke vom Typ eines DCNs ein, deren Anwendung von großem technologischem Interesse ist.
Die vorzugsweise ausschließlich lokale Ermittlung der Gewichte und latenten Zustandsvariablen jeweils in den Merkmalsmodulen erlaubt eine parallele Arbeit aller Recheneinheiten, wodurch so wohl der Lernmodus als auch der Anwendungsmodus beschleunigt werden. Die Datenverarbei tung erfolgt mit einer substantiell erhöhten Geschwindigkeit, die z. B. bei einer gegebenen Auf gabe zur Verarbeitung von Eingangsdaten gegenüber der Anwendung herkömmlicher Techniken um den Faktor 10.000 oder mehr erhöht sein kann. Eine derartige Beschleunigung ist durch her kömmliche Techniken, etwa durch Parallelisierung von Schaltungen zur Datenverarbeitung, nicht oder nur unter einem unannehmbar hohen Kosten- und Energieaufwand zu erreichen. Die gegen seitige Anpassung unmittelbar miteinander gekoppelter Merkmalsmodule und die Transitivität der Anpassung miteinander gekoppelter Merkmalsmodule erlaubt es, ein rekurrentes Netzwerk mit einer Vielzahl von Merkmalsmodulen, insbesondere ein geschichtetes rekurrentes Netzwerk mit vielen verborgenen Schichten, aufzubauen, in dem Information sowohl vorwärts als auch rückwärts fließen kann.
Vorteilhafterweise werden Informationen zwischen den Merkmalsmodulen ausschließlich in Ge stalt der Eingabe- oder Modulindizes (und optional Ausgabe-Indizes), d. h. in Gestalt von stochas tischen Zahlenfolgen, ausgetauscht, wodurch die Netzwerk-Architektur erheblich vereinfacht wird. Ein weiterer Vorteil der Erfindung ergibt sich aus der intrinsischen Stochastik, die erlaubt, dass das Netzwerk mit Zahlenwerten arbeiten kann, welche eine geringe Auflösung (e.g. Fixpunkt zahlen mit wenigen Bits) aufweisen. Dies ermöglicht es, Merkmalsmodule zu verwenden, die je weils für sich nur einfache Berechnungen ausführen. So kann jedes Merkmalsmodul mit seiner ei genen Recheneinheit versehen sein. Mit anderen Worten, man kann einfache Recheneinheiten verwenden (insbesondere mit Zustandsvariablen, die eine geringe Auflösung haben), die eine massive Parallelisierung der Datenverarbeitung ermöglichen. Des Weiteren ermöglicht die erfin dungsgemäß vorgesehene Verarbeitung stochastischer Informationen im System auch eine inhä rente Beseitigung oder Unterdrückung von Störungen, wie z. B. Rauschen, Überlagerungen u. ä.. Die Robustheit der Datenverarbeitung gegenüber Störungen steigt. Bei der Verarbeitung der Ein gabe- und/oder Modulindizes werden wahrscheinlichere und spärlichere (englisch:’sparse') wie beim’importance sampling' Repräsentationen und Lösungen erreicht. Weniger relevante Informa tionen werden unterdrückt. Dieser Vorteil wird insbesondere durch Rückkopplungen zwischen den Merkmalsmodulen erzielt, die z. B. in [17] nicht vorgesehen waren.
Praktische Tests der Erfindung wurden bereits bei der Bildbearbeitung, insbesondere Zifferner kennung erfolgreich realisiert. Beispielsweise umfasst ein Ziffererkennungsnetzwerk über 800 Merkmalsmodule, die in fünf verborgenen Schichten angeordnet sind. Da die Merkmalsmodule gleichzeitig und unabhängig voneinander berechnet werden können und zwischen den Merkmals modulen relativ wenige Daten ausgetauscht werden (nur die Indizes), wird das Skalierungsprob lem herkömmlicher Netzwerke überwunden.
Die erfindungsgemäße Datenverarbeitungsvorrichtung kann lokal an einem System, z. B. Gerät, betrieben werden, an dem die zu verarbeitenden Eingabedaten vorliegen oder erzeugt, z. B. ge messen, erfasst, beobachtet, numerisch generiert oder gesammelt, werden. Alternativ oder zu sätzlich kann die erfindungsgemäße Datenverarbeitungsvorrichtung in einem Netzwerk betrieben werden, in dem die zu verarbeitenden Eingabedaten von einem lokal betriebenen System an ei nen Server, z. B. einen zentralen Netzwerk-Server übertragen werden, in dem das Datenverarbei tungsverfahren ausgeführt wird.
Gemäß einer bevorzugten Ausführungsform der Erfindung umfasst die Eingabe-Einrichtung min destens ein Eingabe-Merkmalsmodul, das wie die übrigen Merkmalsmodule mit einer Vielzahl von Zustandsvariablen-Speicherplätzen und einer Recheneinheit, vorzugsweise jedoch ohne Index- Speicherplätze aufgebaut ist. Die Eingabe-Wahrscheinlichkeitsverteilung p*(s) der Eingabedaten wird mit der Recheneinheit berechnet und auf den Zustandsvariablen-Speicherplätzen gespei chert. Die Verwendung des Eingabe-Merkmalsmoduls als Eingabe-Einrichtung hat den Vorteil, dass bei der Gestaltung der Datenverarbeitungsvorrichtung eines der Merkmalsmodule frei für die Eingabe von Daten ausgewählt werden kann. Die Eingabe-Einrichtung kann als Teil des Netz werks aus Merkmalsmodulen betrachtet werden. Im Unterschied zu den übrigen Merkmalsmodu len ist im Eingabe-Merkmalsmodul das Rechenwerk zur Aktualisierung der latenten Zustandsvari ablen und Gewichte entfernt oder deaktiviert. Im Eingabe-Merkmalsmodul werden keine Gewichte berechnet und die Wahrscheinlichkeit in dem Eingabe-Merkmalsmodul, aus der die In dizes generiert werden, wird von außen vorgegeben und ändert sich nicht, weil ein
Eingabe-Merkmalsmodul nicht auf eingehende Indizes reagiert. Vorzugsweise ist die erfindungsgemäße Datenverarbeitungsvorrichtung zum Betrieb in einem Lernmodus oder in einem Anwendungsmodus eingerichtet. Vorteilhafterweise erfordert der Wechsel zwischen den Modi keine schaltungstechnischen Vorkehrungen. Im Lernmodus (Training des Netzwerks) ist die Eingabe-Einrichtung zur Aufnahme vorbekannter Lern-Eingabedaten, die Ausgabe-Einrichtung zur Aufnahme vorbekannter Lern-Ausgabedaten, die den Lern-Eingabedaten zugeordnet sind, und das Netzwerk aus Merkmalsmodulen für das Aktualisieren der latenten Zu standsvariablen hi und das Lernen der zugeordneten Gewichte p(s | i), mit denen die Lern-Einga bedaten auf die Lern-Ausgabedaten abgebildet werden, eingerichtet. Im Lernmodus werden die Eingabe-Indizes und die Modul-Indizes gleichzeitig oder in einer vorbestimmten Reihenfolge ge sendet, um die vielparametrige Funktion zu ermitteln, welche durch das Netzwerk repräsentiert wird und die Eingabedaten auf die Ausgabedaten abbildet. Das Netzwerk lernt durch Beispiele (In put - Output - Paare) seine Funktion, so dass es im Anwendungsmodus bei der Präsentation von neuen Eingabedaten die korrekten (bisher unbekannten) Ausgabedaten berechnet. Im Lernmodus ist die Recheneinheit zur Aktualisierung der latenten Zustandsvariablen deaktiviert, weil die Wahrscheinlichkeitsverteilung zum Generieren der (Ausgabe-)Modul-lndizes von außen (Trai nings-Ausgabedaten) vorgegeben wird und sich nicht durch eingehende Modul-Indizes ändern soll.
Im Anwendungsmodus ist die Eingabe-Einrichtung zur Aufnahme von Anwendungs-Eingabedaten und die Ausgabe-Einrichtung zur Ausgabe von Anwendungs-Ausgabedaten eingerichtet, die den Anwendungs-Eingabedaten zugeordnet und durch die Merkmalsmodule des Netzwerks mit den im Lernmodus aktualisierten latenten Zustandsvariablen hi und zugeordneten gelernten Gewich ten p(s | i) ermittelt sind.
Der Anwendungsmodus kann mit dem Lernmodus kombiniert werden, indem während der An wendung der Datenverarbeitung das Netzwerk auf aktuelle Umgebungsbedingungen eingestellt wird (Nachlernen). Beim Nachlernen werden zusätzlich Paare von Eingabedaten und Ausgabeda ten in das Netzwerk eingegeben und in die Optimierung der latenten Zustandsvariablen und Ge wichte einbezogen.
Gemäß einer weiteren Variante der Erfindung kann die Eingabe-Einrichtung optional zusätzlich mindestens ein Lerneingabe-Merkmalsmodul umfassen, das im Lernmodus mit dem mindestens Netzwerk aus mindestens zwei Merkmalsmodulen gekoppelt und im Anwendungsmodus von dem mindestens Netzwerk getrennt ist. Vorteilhafterweise können damit im Lernmodus zusätzliche Lern-Eingabedaten bereitgestellt werden, die das Lernen beschleunigen und/oder das Lernergeb nis verbessern (erhöhte Zuverlässigkeit des Netzwerks im Anwendungsmodus).
Ein weiterer wichtiger Vorteil der Erfindung besteht darin, dass die verarbeiteten Daten Informati onen verschiedener Kategorien tragen können. Die Eingabedaten und/oder Ausgabedaten können z. B. Informationen von Bildmerkmalen, Audiomerkmalen, Sprachmerkmalen, Sensormerkmalen, Signalmerkmalen, ökonomische Zeitreihen, Verhaltensdaten, Zustandsmerkmalen eines biologi schen Organismus, Zustandsmerkmalen eines natürlichen Systems, wie z. B. Wetterdaten, physi kalischen Größen, chemischen Parametern und/oder Zustandsmerkmale einer technischen Ein richtung umfassen. Die Kategorien der Eingabedaten und der Ausgabedaten können gleich oder verschieden sein. Beispielsweise können eingabeseitige Sprachmerkmalen ausgabeseitig Bild merkmalen oder eingabeseitige Bildmerkmale ausgabeseitig diagnostischen Informationen zuge ordnet werden. Vorteilhafterweise können die latenten Zustandsvariablen hi Merkmale der Ein gabedaten repräsentieren. Die Zuordnung zu Merkmalen der Eingabedaten erfolgt automatisch im Lernmodus. Alternativ kann es sein, dass latente Zustandsvariablen hi nicht bestimmten, be nennbaren Merkmalen der Eingabedaten zuordenbar sind. Des Weiteren können die latenten Zu standsvariablen hi verschiedener Merkmalsmodule verschiedene Klassen von Merkmalen der Ein gabedaten repräsentieren. Beispielsweise können die latenten Zustandsvariablen hi verschiede ner Merkmalsmodule bei der Verarbeitung von Bilddaten verschiedene Bildmerkmale, wie z. B. bestimmte geometrische Muster, Farben oder auch Bildbestandteile oder bei der Verarbeitung von Wetterdaten verschiedene Wettermerkmale repräsentieren.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung kann die Datenverarbeitungs vorrichtung mit einer Konfigurationseinrichtung ausgestattet sein, mit der eine Netzwerkkonfigu ration einstellbar ist. Die Konfigurationseinrichtung kann z. B. Teil einer Steuereinrichtung der Da tenverarbeitungsvorrichtung und über eine Eingabeschnittstelle durch einen Nutzer, z. B. auf der Basis von Erfahrungswerten, bedienbar und/oder für eine automatische Konfiguration ausgelegt sein. Die Netzwerkkonfiguration umfasst die Anzahl der Merkmalsmodule, die Anzahl von Zu- standsvariablen-Speicherplätzen jedes Merkmalsmoduls, die Anzahl von Gewichte-Speicherplät- zen, die jeweils einem Zustandsvariablen-Speicherplatz in einem Merkmalsmodul zugeordnet sind, die Anzahl von Index-Speicherplätzen jedes Merkmalsmoduls und/oder die Datenverbindun gen zwischen Merkmalsmodulen. Die Konfigurationseinrichtung kann vorteilhafterweise für eine iterative Einstellung der Netzwerk konfiguration eingerichtet sein, bei der die Anzahl der Merkmalsmodule und die Anzahl der Zu- standsvariablen-Speicherplätze jedes Merkmalsmoduls manuell oder programmgesteuert schritt weise erhöht werden, bis die Leistung der Abbildung der Eingabedaten auf die Ausgabedaten ei nem vorbestimmten Betriebskriterium entspricht, wobei beispielsweise evolutionäre Algorithmen (siehe [22]) angewendet werden.
Alternativ oder zusätzlich kann die Datenverarbeitungsvorrichtung mindestens ein Reserve-Merk malsmodul enthalten, das zu Beginn des Betriebs der Datenverarbeitungsvorrichtung oder auch nach Durchlaufen des Lernmodus keine Datenverbindung mit dem Netzwerk aus Merkmalsmodu len aufweist. Die Konfigurationseinrichtung der Datenverarbeitungsvorrichtung ist in diesem Fall zur bedarfsweisen Herstellung mindestens einer Datenverbindung des mindestens einen Reserve- Merkmalsmoduls mit dem Netzwerk aus Merkmalsmodulen eingerichtet. Vorteilhafterweise lie fert das mindestens eine Reserve-Merkmalsmodul eine hohe Flexibilität der Datenverarbeitungs vorrichtung in Bezug auf die Anpassung an geänderte Anwendungsbedingungen. Außerdem er laubt dies auch, Ausfälle durch Fertigungsdefekte auf integrierten Schaltungen auszugleichen und dadurch die Ausbeute zu erhöhen.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung kann das Netzwerk aus Merk malsmodulen ein geschichtetes Netzwerk, insbesondere Deep Convolutional Network (DCN), mit mehreren Schichten aus Merkmalsmodulen umfassen, bei dem Merkmalsmodule innerhalb einer Schicht gemeinsame Gewichte haben, die den latenten Zustandsvariablen hi zugeordnet sind. Der besondere Vorteil dieser Ausführungsform besteht darin, dass an sich bekannte Architekturen ge schichteter Netzwerke nachgebildet werden können, wobei jedoch die Anwendung des Netzwerks erheblich beschleunigt ist. DCNe haben den Vorteil, dass sich viele Merkmalsmodule dieselben Gewichte teilen, was das Lernen vereinfacht und oft die Leistungsfähigkeit des Netzwerkes ver bessert.
Das geschichtete Netzwerk kann insbesondere für einen schichtbasierten Lernmodus eingerichtet sein, wobei die Schichten von der Eingabe-Einrichtung beginnend für ein Aktualisieren der laten ten Zustandsvariablen hi und ein Lernen der zugeordneten Gewichte p(s | i) derart eingerichtet ist, dass die Lern-Eingabedaten schichtweise auf die Lern-Ausgabedaten abgebildet werden. Alternativ kann das geschichtete Netzwerk für einen unüberwachten, schichtbasierten Lernmodus eingerichtet sein, wobei die Schichten von der Eingabe-Einrichtung beginnend bis zu einer vorletz ten Schicht vor der Ausgabe-Einrichtung aufeinanderfolgend für eine Ermittlung der latenten Zu standsvariablen hi und der zugeordneten Gewichte p(s | i) ohne Berücksichtigung der Lern-Ausga- bedaten eingerichtet sind (unüberwachtes Vorlernen) und erst eine letzte Schicht vor der Aus gabe-Einrichtung für eine Ermittlung der latenten Zustandsvariablen hi und der zugeordneten Ge wichte p(s | i) mit einer Berücksichtigung der Lern-Ausgabedaten eingerichtet ist.
Beim unüberwachten Vorlernen werden die Eingabedaten an der Eingabe-Einrichtung eingege ben, aber nur die erste verborgene Schicht des Netzwerkes ist zunächst mit der Eingabe-Einrich tung gekoppelt. In diesem Zustand wird der erste Gewichtssatz gelernt, welcher der ersten ver borgenen Schicht zugeordnet ist. Nach einer ausreichenden Menge an Lernschritten werden die Gewichte dieser Schicht festgehalten. Anschließend werden die Gewichte der nächsten verborge nen Schicht gelernt. Erst bei der letzten verborgenen Schicht werden die Ausgabedaten beim Ler nen berücksichtigt.
Alternativ kann beim Lernen zunächst das Netzwerk für eine Vorlaufzeit arbeiten, ohne dass die Lern-Eingabedaten und Lern-Ausgabedaten eingegeben werden. Des Weiteren kann es von Vor teil sein, die Gewichte, die ein Merkmalsmodul mit einem anderen verbinden, mit denen in der Gegenrichtung in ihrer Struktur gleichzusetzen. Wegen der notwenigen Normierung unterschei den sich die Werte von der reinen Transposition der entsprechenden Matrizen.
Alternativ kann das geschichtete Netzwerk für einen überwachten, schichtbasierten Lernmodus eingerichtet sein, bei dem basierend auf dem aktuellen Lernfehler die Gewichte p(s | i) ausgewähl ter Module reinitialisiert werden.
Ein weiterer Vorteil der Erfindung ist es, dass verschiedene numerische Maße für die numerische Optimierung in den Merkmalsmodulen verfügbar sind. Gemäß bevorzugten Varianten der Erfin dung kann die Recheneinheit jedes Merkmalsmodul dazu eingerichtet sein, die numerische Opti mierung basierend auf einem probabilistischen Ziel-Maß, insbesondere der Log-Likelihood, der Kullbach-Leibler-Divergenz oder Kombinationen von Vektornormen, auszuführen. Das numerische Maß kann in Abhängigkeit von der Anwendung der Erfindung für eine schnelle Optimierung beim Lernen gewählt werden. Die parallele und asynchrone Aktualisierung sowohl der latenten Zu standsvariablen als auch der Gewichte beim Lernen stellt einen wichtigen Vorteil der Erfindung dar. Sie folgt aus der Optimierung einer Zielfunktion, die bisher nicht für das Lernen von Netzwer ken aus Merkmalsmodulen verwendet wurde (z. B. Log-Likelihood-Maß). Die Anwendung von Ziel- Maßen hat ferner den Vorteil, dass diese Abbruchkriterien für das Lernen ergeben. Außerdem wird dabei die Anzahl der nötigen Iterationen bei der Aktualisierung der latenten Variablen fest gestellt.
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung kann die Ausgabe-Einrichtung der Datenverarbeitungsvorrichtung mindestens ein Ausgabe-Merkmalsmodul umfassen, das wie die übrigen Merkmalsmodule mit einer Vielzahl von Zustandsvariablen-Speicherplätzen, einer Vielzahl von Index-Speicherplätzen und einer Recheneinheit aufgebaut ist, wobei die latenten Zu standsvariablen des mindestens einen Ausgabe-Merkmalsmoduls oder davon abgeleitete Größen als Ausgabedaten ausgegeben werden. Zusätzlich enthält das Ausgabe-Merkmalsmodul einen Schaltungsteil zur Extraktion eines Ergebnisses (Ausgabe-Daten) aus den latenten Zustandsvariab len. Hierzu ist z. B. eine Schaltung vorgesehen, die auf den Speicherplätzen der latenten Zustands variablen eine Ermittlung der Position des Speicherplatzes, welcher den maximalen jWert bein haltet, ausführt (argmax-Schaltung). Das Ausgabe-Merkmalsmodul kann wie die übrigen Merk malsmodule Modul-Indizes in Rückwärtsrichtung an die mit dem Ausgabe-Merkmalsmodul gekop pelten Merkmalsmodule senden (Übertragung von Ausgabe-Indizes). Die Ausgabe-Indizes werden vorzugsweise so erzeugt, wie oben für die Eingabe-Indizes und mit weiteren Einzelheiten unten unter Bezug auf die Figuren erläutert ist. Die Verwendung des Ausgabe-Merkmalsmoduls als Aus gabe-Einrichtung hat den Vorteil, dass bei der Gestaltung der Datenverarbeitungsvorrichtung ei nes der Merkmalsmodule frei für die Ausgabe von Daten ausgewählt werden kann. Die Ausgabe- Einrichtung kann als Teil des Netzwerks aus Merkmalsmodulen betrachtet werden.
Alternativ oder zusätzlich kann die Ausgabe-Einrichtung einen Klassifikator, insbesondere basie rend auf Perzeptrons, oder einer Support-Vektor-Maschine, umfassen, der auf der Basis der laten ten Zustandsvariablen von Merkmalsmodulen operiert, mit denen die Ausgabe-Einrichtung gekop pelt ist.
Die Datenverarbeitungsvorrichtung kann durch eine integrierte Schaltung, optional gekoppelt mit einer Steuereinrichtung, z. B. einem Steuercomputer, realisiert werden. Es kann z. B. ein her kömmlicher Universal-Prozessor mit z. B. 8 Kernen verwendet werden um 8 Merkmalsmodule gleichzeitig bereitzustellen. Wegen der hohen Zahl der erfindungsgemäß verwendeten Merkmals module (z. B. 100 bis 1000) hat die integrierte Schaltung jedoch vorzugsweise eine Prozessorarchi- tektur, welche die Verfahren zur Verarbeitung der Daten optimal (d.h. insbesondere mit minima ler Anzahl von Speicherzugriffen) umsetzt. Dies wird durch die Einfachheit der auszuführenden mathematischen Einzelschritte des Datenverarbeitungsverfahrens ermöglicht, die lediglich Addi tion, Multiplikation und Division von positiven Zahlen umfassen. Vorteilhafterweise können dann hunderte Merkmalsmodule von einem einzigen speziell angepassten Prozessor verarbeitet wer den. Eine Vielzahl von Merkmalsmodulen kann in einer einzigen integrierten Schaltung, insbeson dere auf einem Chip, realisiert werden.
Die Datenverarbeitungsvorrichtung kann ein einziges Netzwerk aus Merkmalsmodulen beinhal ten. Gemäß einer vorteilhaften Ausführungsform der Erfindung umfasst die Datenverarbeitungs vorrichtung ein modulares System mit mindestens zwei miteinander verbundenen, integrierten Schaltungen, die jeweils ein Netzwerk aus Merkmalsmodulen aufweisen. Die mindesten zwei Netzwerke können mit einer einzigen Eingabe-Einrichtung oder mit mehreren Eingabe-Einrichtun gen und/oder mit einer einzigen Ausgabe-Einrichtung oder mit mehreren Ausgabe-Einrichtungen verbunden sein. In diesem Fall können die Flexibilität bei der Anpassung der Datenverarbeitungs vorrichtung an eine konkrete Aufgabe verbessert, die Komplexität der Anwendung erhöht und/o der die Ausfallsicherheit verbessert werden.
Zusammengefasst bietet die Erfindung insbesondere die folgenden Vorteile. Das Netzwerk ist im Vergleich mit herkömmlichen Netzwerken mit einer erhöhten Anzahl von Merkmalsmodulen, ins besondere Schichten aus Merkmalsmodulen realisierbar. Die erfindungsgemäße Datenverarbei tung ist hochgradig parallelisierbar und in größeren Netzwerken bei Real-Time Anwendungen er setzbar. Das Skalierungsproblem herkömmlicher Netzwerke wird durch die Lokalität, die damit verbundene Parallelisierung sowie den reduzierten Datenaustausch zwischen Modulen überwun den. Das Lernen und die Anwendung der Datenverarbeitung sind, insbesondere mit angepasster Hardware (z. B. FPGA) , 1000 bis 10000 mal schneller realisierbar, so dass insbesondere bei closed-loop-Anwendungen (z.B. in der Robotik) die jeweilige spezielle Aufgabe effizient schnell er lernt werden kann oder eine vorgelernte Gewichtsstruktur individuell und möglichst schnell ange passt werden kann.
Kurzbeschreibung der Zeichnungen
Weitere Einzelheiten und Vorteile der Erfindung werden im Folgenden mit Bezug auf die beigefüg ten Zeichnungen beschrieben. Es zeigen Figur 1: eine Übersichtsdarstellung einer Datenverarbeitungsvorrichtung mit Merkmalen bevorzugter Ausführungsformen der Erfindung;
Figur 2: Einzelheiten eines Merkmalsmoduls einer Datenverarbeitungsvorrichtung gemäß der Erfindung;
Figur 3: eine Darstellung des Informationsaustauschs innerhalb einer Datenverarbeitungs vorrichtung gemäß der Erfindung;
Figur 4: eine Darstellung des Anwendungs- und des Lernmodus der Datenverarbeitungs vorrichtung gemäß der Erfindung;
Figur 5: eine Abwandlung des Lernmodus gemäß Figur 4;
Figur 6: eine beispielhafte Illustration einer Anwendung der Datenverarbeitungsvorrich tung gemäß der Erfindung;
Figur 7: eine beispielhafte Illustration einer Anwendung der Datenverarbeitungsvorrich tung gemäß der Erfindung bei der Bildung eines DCN; und
Figuren 8 bis 26: Einzelheiten einer Hardware-Konfiguration einer Datenverarbeitungsvorrichtung gemäß der Erfindung.
Bevorzugte Ausführungsformen der Erfindung
Einzelheiten bevorzugter Ausführungsformen der Erfindung werden im Folgenden beispielhaft in Bezug auf die Konfiguration der Datenverarbeitungsvorrichtung, Beispiele von Anwendungen, die schaltungstechnische Ausführung der Datenverarbeitungsvorrichtung und die mathematischen Grundlagen der Datenverarbeitung beschrieben. Es wird betont, dass die Umsetzung der Erfin dung in der Praxis nicht auf die beschriebenen Ausführungsformen, insbesondere die Anwen dungsbeispiele und die schaltungstechnischen Details beschränkt ist. Vielmehr können alle An wendungen, die von herkömmlichen neuronalen Netzwerken bekannt sind, und darüber hinaus komplexere Datenverarbeitungsaufgaben abgearbeitet werden, und Abwandlungen der Konfigu ration und Schaltungstechnik vorgesehen sein. Das Verfahren der Bildung eines einzelnen Merkmalsmoduls mit internen latenten Zustandsvari ablen sowie die Erzeugung von Modul-Indizes mit einem einzigen Merkmalsmodul sind an sich be reits aus [17] bekannt. Die Veröffentlichung [17] wird durch Bezugnahme ausdrücklich in die vor liegende Offenbarung aufgenommen, so dass der Fachmann bei der Konfiguration des Netzwerks der erfindungsgemäßen Datenverarbeitungseinrichtung ergänzende Informationen aus [17] er hält, welche insbesondere die mathematischen Grundlagen der Bildung der latenten Zustandsva riablen und der Erzeugung der Modul-Indizes (in [17] als "Spikes" bezeichnet) betreffen.
Konfiguration der Datenverarbeitungsvorrichtung
Figur 1 zeigt eine Übersichtsdarstellung der Datenverarbeitungsvorrichtung 100 mit einer Ein gabe-Einrichtung 10 zur Aufnahme von Eingabedaten r(s), einem Netzwerk 20 mit Merkmalsmo dulen 21, die über Datenverbindungen 22 miteinander und/oder mit der Eingabe-Einrichtung 10 gekoppelt sind, einer Ausgabe-Einrichtung 30 zur Ausgabe der Ausgabedaten Out und einer Steu ereinrichtung 40. Die Eingabe-Einrichtung 10 und die Ausgabe-Einrichtung 30 können jeweils min destens ein Modul 11, 31 umfassen, das wie die Merkmalsmodule 21 aufgebaut ist. Wenn meh rere Module 11 oder 31 vorgesehen sind, können diese jeweils untereinander und mit Merkmals modulen 21 oder jeweils ausschließlich mit Merkmalsmodulen 21 verbunden sein. Des Weiteren sind die Eingabe- und Ausgabe-Einrichtungen 10, 30 mit Daten-Schnittstellen (Ein- und Auslese mechanismen) versehen (nicht dargestellt).
Die Datenverbindungen 22 bezeichnen die Software- oder hardware-basierte Kopplung von Merk malsmodulen zur Weitergabe von Eingabe- oder Modul-Indizes. Die Steuereinrichtung 40 kann z.
B. einen Computer umfassen, der die Komponenten 10 bis 30 steuert und insbesondere eine Kon figurationseinrichtung 41, mit der eine Netzwerkkonfiguration und insbesondere die Datenverbin dungen 22 einstellbar sind, eine Bedieneinrichtung 42 und/oder eine Anzeigeeinrichtung 43 ent halten. Einzelheiten der Komponenten 10 bis 30 werden unten unter Bezug auf die Figuren 8 bis 26 beschrieben. Die Funktion der Komponenten 10 bis 30 wird unten im Abschnitt "Mathemati sche Grundlagen der Datenverarbeitung" beschrieben.
Die Datenverarbeitungsvorrichtung 100 kann durch einen Computer, auf dem eine Software zur Ausführung des erfindungsgemäßen Verfahrens läuft, oder mindestens eine mit den genannten Komponenten konfigurierte Schaltung, insbesondere mindestens eine integrierte Schaltung (Netz werk-Chip, z. B. ASIC-Chip) oder eine Kombination aus beiden realisiert werden. Es kann ferner ein modulares Hardware-System mit mindestens zwei integrierten Schaltungen vorgesehen sein, die jeweils ein oder mehrere Netzwerk(e) 20 aus Merkmalsmodulen 21 umfassen.
Der Aufbau eines Merkmalsmoduls 21 ist schematisch in Figur 2 gezeigt, während die konkrete schaltungstechnische Umsetzung von Merkmalsmodulen und deren Verbindung in den Figur 8 bis 26 beispielhaft gezeigt ist. Jedes Merkmalsmodul 21 umfasst eine Vielzahl von Speicherplätzen 23 bis 25 und eine Recheneinheit 26. Die Speicherplätze 23 bis 25 umfassen Zustandsvariablen-Spei- cherplätze 23, denen jeweils eine Gruppe von Gewichte-Speicherplätze 24 zugeordnet sind, und Index-Speicherplätzen 25, deren Funktionen unten erläutert werden. Es sind NH Zustandsvariab- len-Speicherplätze 23 für latente Zustandsvariablen vorgesehen. Bei typischen Anwendungen ist NH im Bereich von 4 bis 1024 Aus den Zustandsvariablen-Speicherplätze 23 wird in jedem Verar beitungsschritt ein Modul-Index itstochastisch erzeugt und an alle mit diesem Merkmalsmodul 21 verbundenen anderen Merkmalsmodule gesendet. Diese anderen Merkmalsmodule (ggf. ein schließlich die Eingabe-Einrichtung 10) schicken die in diesen stochastisch erzeugten Eingabe- o- der Modul-Indizes
Figure imgf000023_0001
an dieses Merkmalsmodul 21. Die eingehenden Indizes (hier , s^, s^, ...) werden in den Index-Speicherplätzen 25 im empfangenden Merkmalsmodul 21 gespeichert.
Wenn genügend Indizes gesammelt wurden, werden die latenten Zustandsvariablen dieses Merk malsmoduls auf der Basis ihrer vorigen Werte, dieser gespeicherten Indizes s^und optional den dazugehörigen Gewichten p(s|i) aktualisiert. Die aktualisierten Werte in den latenten Zustands variablen werden dann wieder verwendet um neue Indizes zu generieren, die an die verbundenen Merkmalsmodule gesendet werden. Die eingehenden Indizes könnten im Rahmen eines Online- Lern-Verfahrens auch dazu verwendet werden, die Gewichte selber zu aktualisieren.
Figur 3 zeigt weitere Einzelheiten des Flusses der Indizes am Beispiel eines einfachen Netzwerks 20, das in diesem Fall ein Eingabe-Modul 11 der Eingabe-Einrichtung (EE), zwei Merkmalsmodule 21 (MM1, MM2) und einem Ausgabe-Modul 31 der Ausgabe-Einrichtung (AE) umfasst. In dem Ein gabe-Modul 11 wird im Laufe des Betriebes des Netzwerks 20 aus p*(s) eine Sequenz von Ein gabe-Indizes S-L, s2, s3, s4, ... stochastisch erzeugt („gezogen"). Auf Grund der in diesem Beispiel gewählten Architektur werden diese Eingabe-Indizes dem ersten Merkmalsmodul MM1 mitge teilt. Das Merkmalsmodul MM1 wiederum erzeugt aus dem jeweiligen Zustand seiner latenten Zustandsvariablen
Figure imgf000023_0002
Modul-Indizes q, i2, i3, i4, und sendet diese entsprechend der hier gewählten Architektur an das Merkmalsmodul MM2. Merkmalsmodul MM2 generiert die Indizes h .ja.h. aus hMM2(j) und sendet die Indizes sowohl in Rückwärtsrichtung an Merkmalsmo dul MM1 als auch an das Ausgabe-Modul 31 der Ausgabe-Einrichtung AE. Das Ausgabe-Modul 31 wiederum sendet /q, k2, k , k4, ... an das Merkmalsmodul MM2. Diese Folge an Indizes wird aus dem jeweils aktuellen Stand von hAE(k) erzeugt. Jeder eingehende Index führt zu einer Aktuali sierung der latenten Zustandsvariablen des empfangenden Merkmalsmoduls, was die Änderung der Wahrscheinlichkeitsverteilung für die Erzeugung der Indizes in jedem Merkmalsmodul zur Folge hat. Dies gilt nicht für p*(s), da diese Wahrscheinlichkeitsverteilung nur von den angelegten Eingabedaten abhängt und von der Eingabe-Einrichtung keine Indizes verarbeitet werden. Die Ak tualisierung basiert auf den unten beispielhaft beschriebenen mathematischen Operationen.
Figur 4 zeigt den Fluss der Eingabe- und/oder Modul-Indizes in einem Anwendungsmodus und ei nem Lernmodus des Netzwerks 20. Typischerweise wird sowohl im Anwendungsmodus wie auch im Lernmodus ein Muster von Eingabedaten r(s) an die Eingabe-Einrichtung 10 (EE) angelegt.
Diese rechnet die Eingabedaten in die Wahrscheinlichkeitsverteilung p*(s) = um, aus der
Zfc r(s)
dann Indizes gezogen werden. Diese Wahrscheinlichkeitsverteilung wird über die Verarbeitung dieser vorgegeben Eingabedaten festgehalten. Im Anwendungsmodus führt dieser Satz an Einga bedaten, über die gegenseitige Aktualisierung der latenten Zustandsvariablen durch die ausge tauschten Indizes, zu einer Wahrscheinlichkeitsverteilung in der Ausgabe-Einrichtung 30 (AE). Diese Wahrscheinlichkeitsverteilung wird dann entsprechend ausgewertet und in ein Ergebnis der Verarbeitung übersetzt (Ausgabedaten OUT). Im Lernmodus wird typischerweise ein zum jeweils angelegten Eingabe-Muster von Eingabedaten gehöriges vorbekanntes Ausgabe-Muster von Aus gabedaten an die Ausgabe-Einrichtung 30 angelegt. Dies führt zu einer (für das jeweilige Muster festen) Wahrscheinlichkeitsverteilung, die dazu führt, dass die Ausgabe-Einrichtung 30 Indizes an andere Merkmalsmodule 21 sendet. Die Merkmalsmodule 21, die diese Indizes von der Ausgabe- Einrichtung 30 empfangen, lernen in ihren Gewichten den Zusammenhang (oder Teile davon) zwi schen den Eingabe- und Ausgabedaten. Im Anwendungsmodus, in dem neue Eingabedaten zuge führt werden, ergänzt das Netzwerk die nun nicht mehr anliegenden Ausgabedaten.
Im Lernmodus kann, wie in Figur 5 dargestellt ist, die Eingabe-Einrichtung 10 zusätzlich mindes tens ein Lerneingabe-Merkmalsmodul 12 aufweisen, das mit dem Netzwerk 20 aus Merkmalsmo dulen 21 gekoppelt ist (Lernmodus mit Seiteneinkopplung). Im Anwendungsmodus ist das Lerneingabe-Merkmalsmodul 12 von dem mindestens Netzwerk 20 getrennt. An dem zusätzlichen Lerneingabe-Merkmalsmodul 12 werden die zu lernenden Ausgabedaten zugeführt und beim Ak tualisieren der Zustandsvariablen und Lernen der Gewichte in den Merkmalsmodulen 21 berück sichtigt. Dadurch wird die Wahrscheinlichkeitsverteilung in der Ausgabe-Einrichtung 30 nicht mit der gewünschten Wahrscheinlichkeitsverteilung festgehalten, sondern sie verhält sich so wie im Anwendungsmodus. Vorteilhafterweise entspricht die Dynamik der latenten Zustandsvariablen in der Ausgabe-Einrichtung 30 und dem Merkmalsmodulen MM2 so mehr dem gewünschten Zielzu stand, da die latenten Zustandsvariablen, im Vergleich zu der Variante, bei der die Ausgabedaten an der Ausgabe-Einrichtung 30 beim Lernen festgehalten werden, freier variieren können.
Die Figuren 6a bis 6c zeigen die Struktur von Netzwerken, welche die Boolesche Paritäts-Funktion berechnen (Figuren 6a und 6b für 4 bit und Figur 6c für 8 bit). Wiederum sind beispielhaft die Ein gabe-Einrichtung 10, mehrere Merkmalsmodule 21, die gruppenweise zu Schichten 50, 51, 52 zu sammengefasst sind, und die Ausgabe-Einrichtung 30 gezeigt.
Figur 6a zeigt das Boolesches Parität-Netzwerk für 4 Bit. Jeweils vier Eingabe-Module 11 der Ein gabe-Einrichtung 10 mit jeweils zwei Speicherplätzen beschreiben die Eingabedaten. Entweder ist der Speicherplatz für den Bit-Wert 0 oder der Speicherplatz für den Bit-Wert 1 aktiv. Die von die sen vier Eingabe-Modulen 11 erzeugten Eingabe-Indizes werden an die erste Schicht 50 weiterge leitet, wo zwei Merkmalsmodule 21 mit jeweils 4 Speicherplätzen für latente Zustandsvariablen vorhanden sind. Diese Merkmalsmodule 21 der ersten Schicht 50 senden Modul-Indizes an das Merkmalsmodul 21 in der zweiten Schicht 51 sowie empfangen Modul-Indizes aus der zweiten Schicht 51. Die zweite Schicht 51 besteht aus einem Merkmalsmodul 21 mit vier Speicherplätzen für latente Zustandsvariablen. Diese Schicht 51 sendet und empfängt Modul-Indizes an die Aus gabe-Einrichtung 30 bzw. von den Merkmalsmodulen 21 in der ersten Schicht 50. Die Ausgabe- Einrichtung 30 erhält Modul-Indizes von dem Merkmalsmodul 21 der zweiten Schicht 51. Es wird dann ausgewertet, welcher der beiden Speicherplätze der Ausgabe-Einrichtung 30 für den Bit- Wert 0 oder 1 den höheren Wert hat und als Ergebnis der Berechnung ausgegeben. Die Gewichte können gelernt werden. In Figur 6a ist ein Satz an Gewichten durch Linien dargestellt, der die Auf gabe löst. Dabei sind Gewichte mit einem Wert 0 nicht eingezeichnet. Die gezeigten Gewichte in einer Schicht haben alle die gleichen Werte, wobei der Wert von der Normalisierung der Gewichte bestimmt ist. Figur 6b zeigt, wie die Indizes zwischen den Merkmalsmodulen 21 in Figur 6a ausge tauscht werden. Figur 6c illustriert eine analoge Struktur und der Informationsfluss für die 8 Bit- Paritätsfunktion.
Ein Beispiel eines Deep-Convolution-Netzwerks für die Klassifikation handgeschriebener Ziffern, das durch die erfindungsgemäße Datenverarbeitungseinrichtung realisiert wird, ist schematisch in Figur 7 illustriert. Bei diesem sind die Merkmalsmodule 21 zu Schichten 53 bis 57 wie folgt zusam mengefasst. Der Block A zeigt einen Satz von Eingabe-Merkmalsmodulen der Eingabe-Einrichtung 10 (28 x 28) für Bilder mit 28 x 28 Pixeln. Jedes Eingabe-Merkmalsmodul 21 enthält zwei Zustands variablen. Dies realisiert eine vereinfachte Version der aus der Biologie bekannten„On/Off center cells". Dieser Satz an Eingabe-Merkmalsmodulen sendet Eingabe-Indizes an die Sammlung von Merkmalsmodulen (Schicht 53). Block B illustriert die Faltungsschicht 53 mit 24 x 24 Merkmalsmo dulen mit jeweils 32 latenten Zustandsvariablen. Jedes Merkmalsmodul verarbeitet Modul-Indizes von 5 x 5 Blöcken von den vorgeschalteten Eingabe- Merkmalsmodulen und Indizes von den nach geschalteten Merkmalsmodulen mit einer zusammenfassenden Eigenschaft in Schicht 54. Block C illustriert die Schicht 54 aus 12 x 12 Merkmalsmodulen mit jeweils 32 latenten Zustandsvariablen. Jedes Merkmalsmodul in dieser Schicht 54 erhält die Modul-Indizes eines 2 x 2 großen und nicht überlappenden Bereiches in der Schicht 53. Die Gewichte zwischen den Schichten 53 und 54 wer den nicht gelernt, sondern werden vorkonfiguriert (z. B. manuell vorgegeben), so dass ein Wett bewerb zwischen den 32 Merkmalen der vorigen Schicht entsteht. Die Merkmalsmodule der Schicht 54 verarbeiten auch die Modul-Indizes, welche von den Merkmalsmodulen aus der Fal tungsschicht 55 stammen und mit dem jeweiligen Einzugsgebiet der Merkmalsmodule überlap pen. Wenn man hierfür gemeinsame Gewichte verwenden möchte, kann hier die so genannte „Transposed convolution" (auch„fractionally strided convolutions") angewendet werden. Block D illustriert die 5 x 5 Faltungsschicht 55 mit 8 x 8 Merkmalsmodulen. Ähnlich zu den Merkmalsmo dulen in der Schicht 53, aber mit 64 Speicherplätzen für die latenten Zustandsvariablen in den je weiligen Merkmalsmodulen. Block E ist eine Schicht 56 wie die Zusammenfassungs-Schicht 54, aber nur mit 2 x 2 Merkmalsmodulen mit jeweils 64 Speicherplätzen für die latenten Zustandsvari ablen. Block F zeigt ein vollverbundenes Merkmalsmodul 57. Dieses enthält 1024 Speicherplätze für latente Zustandsvariablen und ist vollständig mit der Zusammenfassungs-Schicht 56 und Aus gabe-Einrichtung 30 vernetzt. Diese ist in Block G mit 10 Speicherplätzen für die latenten Zu standsvariablen gezeigt, welche die 10 möglichen Ziffern repräsentieren. Zum Bestimmen der er kannten Ziffer wird die Position des Speicherplatzes mit dem höchsten Wert in der Verteilung der latenten Zustandsvariablen errechnet und als Ausgabedaten verwendet.
Flardware-Konfiguration einer Datenverarbeitungsvorrichtung
Die Figuren 8 bis 26 zeigen Einzelheiten einer Flardware-Konfiguration einer Datenverarbeitungs vorrichtung gemäß der Erfindung (insbesondere gemäß den Darstellungen in den Figuren 1 bis 7), wie sie durch eine oder mehrere integrierte Schaltung(en) realisiert werden kann.
Die Figuren 8 bis 13 zeigen zunächst Grundbausteine, die in der Datenverarbeitungsvorrichtung verwendet werden. Grundbaustein * in der integrierten Schaltung gemäß Figur 8 ist für die Multi plikation zweier Zahlen in Pipeline-Bauweise konfiguriert. In jedem Zeitschritt werden ein Werte- paar von Eingabevariablen (A, B) sowie ein Ordnungsparameter i eingegeben. Nach einer Verzöge rung durch die Ausführung der Operation verlässt das Ergebnis der Multiplikation und der Ord nungsparameter i, der das A & B Paar bei seiner Verarbeitung begleitet, den Grundbaustein *. Dieser Grundbaustein wird in den folgenden Figuren durch das Zeichen * repräsentiert.
Grundbaustein + in der integrierten Schaltung gemäß Figur 9 ist für die Addition zweier Zahlen in Pipeline-Bauweise konfiguriert. In jedem Zeitschritt werden ein Wertepaar von Eingabevariablen (A, B) und ein Ordnungsparameter i eingegeben. Nach einer Verzögerung durch die Ausführung der Operation verlässt das Ergebnis der Addition und der Ordnungsparameter i, der das A & B Paar bei seiner Verarbeitung begleitet, den Grundbaustein. Dieser Grundbaustein wird in den fol genden Figuren durch das Zeichen + repräsentiert.
Figur 10 zeigt den Grundbaustein / in der integrierten Schaltung. In diesem werden zunächst ein Wert A und der Wert 1 addiert. Aus A+l wird in sequentieller Weise 1/(A+1) ausgerechnet. Nach der Beendigung dieser Operation wird B mit 1/(A+1) durch eine Multiplikationspipeline multipli ziert. A ändert sich deutlich seltener als B. i ist ein Ordnungsparameter zu B, der das B während seiner Verarbeitung begleitet. Dieser Grundbaustein wird in den folgenden Figuren durch das Zei chen / repräsentiert.
In Figur 11 ist der Grundbaustein MEM in der integrierten Schaltung gezeigt, der Speicherplätze in einem Merkmalsmodul mit Speicherplätzen 23, 24 für die latenten Zustandsvariablen h{i ) und den dazugehörigen Gewichtswerte p(s | i) beinhaltet (siehe Figur 2). Das Modul MEM hat die drei Funktionen Lesen (Figur 11a), Schreiben der latenten Variablen (Figur 11b) und Schreiben der Ge wichte (Figur 11c). Auf der Basis eines Paares (s,i) können gemäß Figur 11A die beiden Arten von Speicherplätzen 23, 24 ausgelesen werden. Alternativ kann z.B. bei Anliegen eines neuen Eingabe- Musters die Ausgabe von h(V) durch einen Initialwert (hier 1/NH , wobei NH der Anzahl der ver wendeten Speicherplätze für die latenten Zustandsvariablen entspricht) ersetzt werden, was das zusätzliche initiales Überschreiben der Speicherplätze der latenten Zustandsvariablen einspart.
Um den richtigen Speicherplatz für p(s| i) zu finden, wird ein Speicherplatzpositionsrechner ver wendet, der Teil der Recheneinheit 26 (siehe Figur 2) ist. Als Reaktion auf ein Paar (s,i), liefert der Grundbaustein MEM die dazugehörigen h{i ) , p(s| i) und den dazugehörigen Ordnungsparameter i. Figur 11b zeigt die Konfiguration für das Schreiben in die Speicherplätze h{i ) 23 und Figur 11c zeigt die Konfiguration für das Schreiben der Gewichte p(s| i). Dieser Grundbaustein wird in den folgenden Figuren durch das Zeichen MEM repräsentiert. Figur 12 illustriert den Grundbaustein MULTI-NORM in der integrierten Schaltung. Dieser Baustein erfüllt mehrere Aufgaben: 1.) eine Kombination h(V), p(s| i) und i wird durch eine Multiplikations pipeline gemäß Figur 8 in h(i)p(s\ i) umgerechnet und von dem dazugehörigen Ordnungsparame ter i begleitet. 2.) Das Ergebnis der Multiplikationspipeline gemäß Figur 8 wird von einem Sub- Baustein erfasst, und daraus wird die kumulative Summe über alle h(i)p(s\ i) gebildet. Wenn alle i Tupel abgearbeitet wurden, wird C/ Sί h(Qp(s \ C) ausgerechnet. Wenn parallel zur Aktuali sierung der latenten Zustandsvariablen h{i ) auch ein Lernen der dazugehörenden Gewichte durchgeführt werden soll, ist es effizient, parallel g(ί)/Sί h(i)p(s \ i) auszurechnen, wobei y(t) der aktuellen Lernrate entspricht. Nach dem Ende der Division bleibt das Ergebnis erhalten, auch wenn weitere Berechnungen in der Multiplikationspipeline durchgeführt werden, bis das Ergebnis durch einen Reset gelöscht wird. Dieser Grundbaustein wird in den folgenden Figuren durch das Zeichen MULTI-NORM repräsentiert.
Schließlich zeigt Figur 13 den Grundbaustein INDEX GENERATOR in der integrierten Schaltung. Die Aufgabe dieses Bausteins ist es, die Werte der latenten Zustandsvariablen eines Moduls (Merk malsmodul, Eingabe-Einrichtung oder Ausgabe-Einrichtung) und einer Zufallszahl R1 in entspre chende Indizes umzurechnen. Für die Berechnung jedes neuen Index-Wertes der Eingabe- oder Modul-Indizes wird die Anzahl der aktiven Speicherplätze der latenten Zustandsvariablen NH ge setzt und eine Zufallszahl Rt zur Verfügung gestellt (z.B. eine 32 Bit Zufallszahl aus einem Mer- senne Twister MT 19937). Es werden nun Paare an latenten Zustandsvariablen h{i ) und deren Ordnungsparameter i an den INDEX GENERATOR übergeben. Dieser Grundbaustein konvertiert h{i ) in das Zahlenformat der Zufallszahl (z.B. von Fließkommazahl in Fixpunktzahl) und summiert die gezeigten h(i ) schrittweise zu s(ί) kumulativ auf. Wenn s(ί) größer oder gleich Rt wird, wird dieser i Wert gespeichert und als Index-Wert weitergegeben. Sollte i den Wert NH annehmen, ohne dass s(ί) größer oder gleich fi-Lwird, wird NH als neuer Index-Wert weitergegeben.
Ein Standard-Vorgehen beim Lernen von Gewichten in herkömmlichen Netzwerken wird als "Ab kühlen" bezeichnet. Durch dieses Verfahren soll vermieden werden, dass die Gewichte in lokalen Minima der Zielfunktion (hier: das probabilistische Ziel-Maß) hängen bleiben. Zum optional vorge sehenen "Abkühlen" in der erfindungsgemäßen Datenverarbeitungsvorrichtung wird die Erzeu gung der Indizes modifiziert. Anstatt direkt aus den internen Zustandsvariablen die Indizes stochastisch zu ziehen, wird eine Kopie der internen Zustandsvariablen erzeugt, auf die ein Offset addiert wird. Dies wird dann wieder normalisiert und zum Ziehen der Indizes verwendet. Über die Lernschritte wird die Größe des Offsets immer weiter verringert. Figur 14 zeigt beispielhaft einen Rechenblock der Recheneinheit jedes Merkmalsmoduls, der zum Erzeugen von Indizes mit dem Verfahren zum "Abkühlen" der Eingabe-Wahrscheinlichkeit p*(s) bzw. Merkmalsmodul-Wahrscheinlichkeit h(i) beim Lernen konfiguriert ist. Bei einigen Lern-Prob- lemen ist es bevorzugt, die Wahrscheinlichkeit, aus der die Indizes erzeugt werden, nach der Glei chung hneu{i ) = a(t)/NH + (1— a(t))h(i) bzw. p*,neu(i ) = a(t)/Ns + (l— cr(t))p*(s) zu glätten. cr(t) wird dann über das Lernen immer weiter reduziert. Eine effiziente Art, aus diesen modifizierten Wahrscheinlichkeitsverteilungen Indizes zu erzeugen, ist es, einen doppel-stochasti schen Prozess zu verwenden. Einerseits werden auf der Basis einer Zufallszahl Rt zwei Indizes ge zogen, die einen Index aus der Verteilung der latenten Zustandsvariablen h(i ) (bzw. p*(s)) und einen Index aus der Gleichverteilung 1/NH bzw. 1/NS ( NH bzw. Ns entsprechen der Anzahl der jeweils aktiven Speicherplätze) umfassen. Mit der Hilfe einer zweiten Zufallszahl R2 wird auf Basis der Wahrscheinlichkeit a(i) bestimmt, welcher der beiden aus der Zufallszahl R1 bestimmten Indi zes als Ergebnis verwendet wird. Dieser Rechenblock besteht aus drei Grundbausteinen INDEX GE NERATOR.
Figur 15 zeigt einen Rechenblock der Recheneinheit jedes Merkmalsmoduls, der zum Erzeugen eines normalisierten Offsets auf den Gewichten beim Lernen konfiguriert ist. Es kann von Vorteil sein, dafür zu sorgen, dass die Gewichte p(s| i) beim Lernen nicht den Wert einer perfekten Null annehmen. Dies kann durch die Addition eines Offsets erfolgen. Dabei wird aber dafür gesorgt, dass trotzdem die Normierung 'Zs pNeu(s \i) = 1 erhalten beibt. Um dies zu erfüllen, kann dieser Rechenblock an den Ausgang des Grundbaustein MEM gekoppelt werden (wird in den folgenden Zeichnungen nicht gezeigt, um die Übersichtlichkeit der Zeichnungen zu erhalten). Zunächst wird dem Rechenblock gemäß Figur 15 zur Vorbereitung der Wert des Offsets f und 1/NS mitgeteilt, wobei Ns der Anzahl der möglichen s in p(s| i) entspricht. Mit diesen Informationen wird— be-
Ns rechnet. Mit Hilfe der Grundbausteine + und / wird der normalisierte Offset auf den Gewichten in einer Pipeline-weise ausgeführt.
Figur 16 zeigt einen Rechenblock der Recheneinheit jedes Merkmalsmoduls, der zum Berechnen einer Wahrscheinlichkeitsverteilung p(s) aus beobachteten Indizes konfiguriert ist. Die beobach teten Index-Werte s werden verwendet, um die Anzahl der bisher beobachteten Indizes (mit die sem Index-Wert s) c(s ) aus ihrem Speicherplatz zu lesen, anschließend um den Wert 1 zu erhö hen und wieder in den Speicherplatz c(s) zu schreiben. Parallel dazu wird immer der Speicher wert c gelesen und um den Wert 1 erhöht und wieder in den Speicher geschrieben. Wenn die Wahrscheinlichkeitsverteilung benötigt und abgerufen wird, wird C in ein passendes Zahlenfor-
1
mat überführt und— wird berechnet. Dann wird ein Index-Wert s angelegt, der dazu führt, dass
CAU
der Speicherplatz c(s ) gelesen wird, in ein passendes Zahlenformat überführt wird, und dann
1
durch eine Multiplikationspipeline mit— multipliziert wird. Das Ergebnis dieser Berechnung ver-
CAU
lässt dann diesen Rechenblock gemäß Figur 16 und wird in den Figuren 22 und 23 als Eingabe ver wendet.
Die Phasen der Dynamik der latenten Zustandsvariablen ist in den Figuren 17 und 18 illustriert: Figur 17 zeigt Phase 1 der Aktualisierung der latenten Zustandsvariablen h(V) auf der Basis des In dex-Werts s. Der Index-Wert s wird von außen vorgegeben. Alle i aus {1, ·· · , NH] werden nachei nander an den Grundbaustein MEM angelegt. Alle /^Speicherplätze der latenten Zustandsvariab len /i(i)und den dazugehörigen /V^Gewichtswerte p(s| i) werden abgerufen. Optional können diese Werte durch den Rechenblock„normalisierten Offset" geleitet werden. Danach enden die Werte in dem Grundbaustein MULTI-NORM. Nach Durchlaufen aller NH Wertepaare erhält man e(t)/ Ei h(Qp(s \ i), was die Grundlage für Phase 2 bildet.
Figur 18 zeigt Phase 2 der Aktualisierung der latenten Zustandsvariablen h{i ) auf der Basis des In dex-Werts s. Der Index-Wert s wird von außen vorgegeben. Alle i aus {1, ·· · , NH] werden nachei nander an den Grundbaustein MEM angelegt. Alle /^Speicherplätze der latenten Zustandsvariab len /i(i)und den dazugehörigen /V^Gewichtswerte p(s| i) werden abgerufen. Optional können diese Werte durch den Rechenblock„normalisierten Offset" geleitet werden. Der Grundbaustein MULTI-NORM liefert h(i)p(s\ i ) und hält noch e(t)/ Ei h(i)p(s\ i ) aus Phase 1 vor. Mit der Hilfe einer Serie von Grundbaustein (*, + und \) werden die latenten Zustandsvariablen h{i ) entspre chend aktualisiert. Die neuen Werte werden einerseits in die dazugehörigen Speicherplätze in MEM für die latenten Zustandsvariablen geschrieben, andererseits beobachtet der Grundbaustein INDEX GENERATOR (bzw. der Rechenblock zum Erzeugen von Indizes mit„Abkühlen") parallel die neuen h(V) Werte, um einen neuen Index für dieses Merkmalmodul (oder dieser Ausgabe-Einheit) zu berechnen.
Die Phasen des Online-Lernens der Gewichte p(s| i) ist in den Figuren 19 bis 21 illustriert: Figur 19 zeigt Phase 1 des Online-Lernens der Gewichte p(s| i). Parallel zur Phase 1 der Aktualisierung der latenten Zustandsvariablen gemäß Figur 17 wird e(t)/ Ei h(i)p(s\ i) berechnet. Figur 20 zeigt Phase 2 des Online-Lernens der Gewichte p(s| i). Parallel zur Phase 2 der Aktualisierung der laten ten Zustandsvariablen h{i ) gemäß Figur 18 werden mit der Hilfe eines weiteren Grundbausteins * die Werte y(t)/i(i)p(s|i)/ Ei h(i)p(s\i) ausgerechnet und in den Speicherplätzen einer Hilfsvari ablen f/(i) gespeichert. Figur 21 zeigt Phase 3 des Online-Lernens der Gewichte p(s|i). Der ex terne Index, der zur Aktualisierung der latenten Zustandsvariablen genutzt wurde, wird im Folgen den als st weiter bereitgehalten. Der Speicherplatz i der Hilfsvariablen f/(i) wird gelesen, und ein Grundbaustein \ wird mit diesem Wert bestückt. Dann werden alle JVsWerte für s durchlaufen. Im Fall, dass s == st, wird f/(i) zu p(s|i) addiert. Der Grundbaustein \ multipliziert dann p(s|i) bzw. p(s|i) + f/(i) mit i . Das Ergebnis dieser Berechnung wird dann in die entsprechenden Spei
Figure imgf000031_0001
cherplätze p(s|i) in MEM geschrieben.
Das Lernens der Gewichte p(s|i) auf Basis einer Sammlung von Mustern ist in den Figuren 22 bis 23 illustriert. Figur 22 zeigt Phase 1 des Lernens der Gewichte p(s|i) auf Basis der Sammlung von Mustern. Nachdem für ein Eingabe-Muster von Eingabedaten ausreichend Indizes zur Aktualisie rung der latenten Zustandsvariablen verwendet wurden und mit dem Rechenblock zum Berech nen einer Wahrscheinlichkeitsverteilung p(s) aus beobachteten Indizes ausgewertet wurden, v(s')
wird über alle der NH aktiven Speicherplätze der latenten Zustandsvariablen -— ausge-
Figure imgf000031_0002
rechnet. Figur 23 zeigt Phase 2 des Lernens der Gewichte p(s|i) auf Basis einer Sammlung von p(s)
Mustern. Mit Hilfe des Grundbausteins * wird mit p(s\i)h(i) verrechnet. Das Ergebnis i h(i)p(s\i )
Muster wird zu der Hilfsvariable V (sli) addiert, in die schon die Informati-
Figure imgf000031_0003
y J
onen von den vorangegangen Mustern akkumuliert wurden. Nachdem alle Muster abgearbeitet wurden, muss V (s|i) mit p(s|i) verrechnet werden. Dies kann auch auf der integrierten Schal tung erfolgen. Alternativ kann V (s|i) und p(s|i) an eine CPU übergeben werden, die dann die Aktualisierung von p(s|i) durchführt. Dies erlaubt den flexiblen Einsatz von komplexeren Aktuali sierungsverfahren z.B. basierend auf ADAM oder L4.
Die Organisation der Kommunikation der Merkmalsmodule (einschließlich Eingabe-Einrichtungen und/oder Ausgabe-Einrichtungen) durch gemeinsame Datenbusse A, B ist in Figur 24 illustriert. Alternativ kann das die Datenverarbeitungsvorrichtung mit einem einzigen Datenbus konfiguriert sein. Alle oder eine Untermenge der Merkmalsmodule sind an einen gemeinsamen Datenbus an gebunden. Jedes Modul, das mit einem der Datenbusse A, B verbunden ist, hat eine eindeutige Nummer auf jedem dieser Datenbusse A, B. Diese Nummer kann sich je nach Datenbus unter scheiden. Eine Zähler-Kontrolleinheit beobachtet, ob alle Merkmalsmodule mit der Abarbeitung ihrer Index-Speicher fertig sind. Sind alle Merkmalsmodule entsprechend fertig, ruft die Zähler- Kontrolleinheit alle an ihrem Datenbus vorhandenen Merkmalsmodule durch Veröffentlichung derer eindeutigen Nummern einmal auf. In einem definierten zeitlichen Abstand (der für alle Merkmalsmodule, Eingabe- und Ausgabemodule gleich ist) reagieren die aufgerufenen Merkmals- module auf die Nennung ihrer Nummer. Als Reaktion wird, falls dieses aufgerufene Merkmalsmo dule Informationen besitzt, welche den anderen Merkmalsmodule mitgeteilt werden muss, die eigene Merkmalsmodul-Nummer und der generierte Index-Wert über den gemeinsamen Daten bus an alle anderen angeschlossenen Merkmalsmodule übermittelt. Es kann von Vorteil sein, mehrerer dieser Datenbusse zu betreiben, und die Datenbusse können sich über mehrere inte grierte Schaltungen erstrecken. Die Zähler-Kontrolleinheit wird wiederum durch eine übergeord nete Kontrolleinheit (Steuereinrichtung 40, siehe Figuren 1 und 26) gesteuert. Haben alle an ei nem Datenbus angeschlossenen Merkmalsmodule ihre Verarbeitung beendet, teilt dies die Zäh ler-Kontrolleinheit der übergeordneten Kontrolleinheit mit und wartet auf einen Befehl, der die nächste Runde an Datenaustausch und Abarbeitung der errechneten Index-Werte anstößt.
Figur 25 illustriert einen gemäß einer vorteilhaften Variante der Erfindung vorgesehenen Modul- Filter innerhalb eines Merkmalmoduls und der Ausgabe-Einrichtung. Alle Merkmalsmodule an dem gemeinsamen Datenbus teilen ihre Information über ihre Indizes allen anderen angeschlos senen Merkmalsmodulen mit. Zur Realisierung einer geeigneten Architektur kann es aber von Vorteil sein, wenn (während der Laufzeit) definierbar ist, auf welche anderen Merkmalsmodule jedes Merkmalsmodul reagieren soll. Hierzu hat jedes Merkmalsmodul für jeden der Datenbusse, an denen dieses angeschlossen ist, eine Liste. Nur wenn die eindeutige Nummer eines empfan genden Merkmalsmoduls in dieser Liste vorhanden ist, wird der eingehende Index der sendenden Gruppe in die Index-Speicherliste aufgenommen. Die Liste enthält noch weitere Informationen für jedes der zu beobachtenden Merkmalsmodule, wie z.B. einen Index-Offset s0ffset > welcher von der eingehenden Modul-Nummer abhängt, damit zwischen dem empfangenen Index-Wert sin und den Speicherplätzen für die Gewichte p(s|i) eine Zuordnung stattfinden kann. So kann z.B eine Umrechnung des eingegangenen Index-Wertes sin auf die Gewichtsmatrix in folgender Weise erfolgen: p(s = sin + s0ffset 10· Auch kann die Liste individuelle e und Lernraten g für je des sendende Modul beinhalten. Wenn die Zähler-Kontrolleinheit dem Modul mitteilt, dass alle Indizes ausgetauscht sind, arbeitet das Modul die in der Index-Speicherliste gesammelten Indizes ab. Abgearbeitete Indizes werden aus der Liste entfernt. Ist die Liste leer, wird der letzte bei der Aktualisierung erzeugte eigene Index-Wert in einen Speicher kopiert. Der Zähler-Kontrolleinheit wird mitgeteilt, dass die Liste abgearbeitet ist. Kommt nun ein neuer Aufruf der Zähler-Kontrol leinheit, werden die eindeutige Nummer des Moduls und der gespeicherte eigene Index über den Datenbus entsprechend an alle angeschlossenen Module veröffentlicht. Figur 26 illustriert Einzelheiten eines Datenbusses für Steuerinformationen. Es ist für viele Anwen dungen von Vorteil, Informationen an die Eingabe-Einrichtung 10, Merkmalsmodule 21, Ausgabe- Einrichtung 30 und diverse Kontrolleinheiten (40) des Netzwerkes 20 von außen zuzuführen oder Daten über den aktuellen Zustand aus dem Netzwerk auszulesen (siehe Figur 1). Des Weiteren sollen die ausgehenden Datenflüsse der verschiedenen Merkmalsmodule zusammengeführt wer den. Dies geschieht vorzugsweise über einen gemeinsamen Datenbus mit einer„Arbiter"-Weiche. Auf der Seite der eingehenden Daten in das Netzwerk ist es effizienter, wenn Information über Parameter oder andere Befehle, die immer nach einer bestimmten Anzahl an Indizes auftreten (z.B. Wechsel der Lernrate nach einer vorgegebenen Anzahl an Aktualisierungen der latenten Zu standsvariablen), nicht zur richtigen Zeit von außen zugeführt werden müssen. Dies kann zu nicht gewünschten Wartezeiten bis zum Eintreffen der notwendigen Information über den Wechsel der Parameter führen. Um dies zu vermeiden, kann ein internes Nachrichten-Speicher-System 44 ver wendet werden. Es erfasst die Anzahl der verarbeiteten Eingabe- oder Modul-Indizes und abhän gig davon sendet es dort abgelegte Nachrichten an die Merkmalsmodule. Ein Zufallsgenerator ver sorgt in diesem Fall alle Merkmalsmodule mit neuen Zufallszahlen und ein„Endlicher Automat" (Finite State Machine) sorgt für den geordneten Ablauf und die autonome Abarbeitung einer von außen vorgegeben Anzahl an Aktualisierungen der latenten Zustandsvariablen und dem Einsetzen eines optionalen online Lernens.
Mathematische
Figure imgf000033_0001
der Datenverarbeitung
Im Folgenden werden mathematische Gleichungen für das Beispiel eines Netzwerkes mit vier Merkmalsmodulen (Eingabe-Einrichtung, Ausgabe-Einrichtung und zwei Merkmalsmodule, z. B. gemäß Figur 3) präsentiert. Diese lassen sich in entsprechender Weise auf Netzwerke mit mehr Merkmalsmodulen anwenden und verallgemeinern. Bei der Anwendung numerischer Verfahren auftretende Parameter werden, soweit sie sich nicht aus den Daten ergeben, empirisch bestimmt.
Aktualisieren der latenten Zustandsvariablen und Lernen der Gewichte
Im Allgemeinen wird beim Aktualisieren der latenten Zustandsvariablen und Lernen der Gewichte ein Abstandsmaß zwischen der Wahrscheinlichkeit p(sv) , welche zur Erzeugung des Index svve r- wendet wird, und der Rekonstruktion p(sv \h^) basierend auf der latenten Variable Iΐz betrachtet und optimiert. Ein Beispiel ist: Abstand = — SSS^S p(sv) log
m v z sv
Figure imgf000034_0001
wobei m einen Satz an Eingabedaten (Muster) durchnummeriert (z.B. Bilder, Zeitreihen), u alle Merkmalsmodule sowie Eingabe- und Ausgabemodule durchnummeriert, z alle Merkmalsmodule und Ausgabemodule durchläuft, wobei z F u gilt. suund /‘» entspricht den Speicherplätzen für la tente Variablen bzw. der Eingabedatenwahrscheinlichkeiten.
Figure imgf000034_0003
mit 0 <
Figure imgf000034_0002
< 1 und ten Variablen und
Figure imgf000034_0004
für die zugeordneten Gewichte mit
Figure imgf000034_0005
Figure imgf000034_0006
= 1 · Yn,z kann die Werte 0 oder 1 annehmen und repräsentiert die Architektur des Netzwerkes.
Aus dem Abstand kann nun eine Regel zur Aktualisierung der latenten Zustandsvariablen mit der
Hilfe eines Gradientenverfahrens errechnet werden. In diesem Fall ist es z.B.:
Figure imgf000034_0007
mit ev z, als einem, in Abhängigkeit von der Anzahl der zu verarbeitenden Indizes veränderlichen Parameter. Um die zu verarbeitende Information auf die aktuell beobachteten eingehenden und verarbeiteten Indizes s zu beschränken, wird p(sv ) durch sv St ersetzt, wobei j das
Kronecker-Delta ist. Zur Erhaltung der Normierung muss
Figure imgf000034_0008
impliziert oder expliziert durchgeführt werden, um den aktualisierten Wert für die latente Vari able zu erhalten.
Das Lernen der Gewichte basiert ebenfalls auf Gradientenverfahren. Dabei wird ein multiplikati ves Lernverfahren durch
Figure imgf000034_0009
und ein additives Lernverfahren durch
Figure imgf000034_0010
dargestellt, wobei gu, z, einer Lernrate entspricht, die sich über die Lernschritte verändern kann. Es wird die Normierung der Gewichte sichergestellt, so dass
Figure imgf000034_0011
impliziert oder expliziert durchgeführt wird. Diese Lernregeln können nun als Batch-Lernregel an gewendet werden, wobei die gesammelten Informationen über mehr als das aktuelle Muster m für eine Aktualisierung der Gewichte verwendet werden, oder als Online-Lernregel, bei der nur der aktuelle Index für eine Aktualisierung der Gewichte verwendet wird.
Beispiel-Netzwerk mit zwei Merkmalsmodulen
Die folgenden Gleichungen werden für ein Beispiel-Netzwerk mit einer Eingabe-Einrichtung 10 (EE) X (mit einer Eingabe-Wahrscheinlichkeitsverteilung p*(s), s = 1, ... , Ns) und einer Ausgabe- Einrichtung 30 (AE) Y (mit den latenten Zustandsvariablen hy {i), i = 1, ... , Ny ) beschrieben. Zwi schen diesen beiden Einrichtungen befinden sich zwei Merkmalsmodule MM1 (mit den latenten Zustandsvariablen
Figure imgf000035_0001
= 1, ... , NH1) und Merkmalsmodule MM2 (mit den latenten Zustands variablen h2 {i), i = 1, ... , NH2), siehe Figur 3. Dabei nummeriert m das aktuelle Muster rß(s), welches gerade verarbeitet oder gelernt wird. In diesem Beispiel Netzwerk ist MM1 mit der Ein gabe-Einrichtung 10 EE X verbunden und MM2 ist mit der Ausgabe-Einrichtung 30 AE Y verbun den. Des Weiteren sind MM1 und MM2 miteinander verbunden. Es gilt
SΪ,Rί (s) = i , S·I1 ,bw = i, Sίϊ ( = 1 und E ^ CO = 1
sowie
Figure imgf000035_0002
lund 0 < h2 ß(i) < 1,
da es sich bei diesen Größen um Wahrscheinlichkeiten handelt. Diese Wahrscheinlichkeiten wer den dazu verwendet, stochastisch Indizes zu erzeugen, die zum Austausch von Informationen zwi schen den EEs, EAs und MMs verwendet werden. Indizes erzeugt aus pß(s) werden mit sx be nannt. Indizes aus hy i) mit sy , aus hl ß(i) mit s1 und aus h2 ß(i ) mit s2.
Die Gewichte des Netzwerkes werden auf einem Ensemble von M Mustern (m = 1, ... , M) von Ein gabedaten rß(s ) > 0 gelernt, die z. B. Bilder kodieren können. Im Folgenden werden die Gewichte mit wa^b bezeichnet. Dies entspricht einem Gewichtssatz, bei dem Information von Merkmals modul a (dieses Modul erzeugt den Index) nach Merkmalsmodul b fließt. In diesem einfachen Bei spiel gibt es die folgenden fünf Gewichtssätze:
wx^1(A:|Z) mit einer Dimension von Ns x NH1 und Efc W^ /clO = 1, 0 < w^i(/c|Z) < 1 Wi^W mit einer Dimension von NH1 x NH2 und S/c w1^2 10 = 1, 0 < wt^2(k\l) ^ 1 w2^y(k\l) mit einer Dimension von NH2 x NY und k
Figure imgf000035_0003
< 1 wy->2(/c|Z) mit einer Dimension von NY x NH2 und Efc Wy^2 (/c |0 = 1, 0 < wy^2(k\l) < 1 w2^1(k\l) mit einer Dimension von NH2 x NH1 und S/c w2^1(k\l) = 1, 0 < w2^1(k\l) < 1 Basierend auf den Gewichten und den latenten Zustandsvariablen werden folgende fünf„Rekon struktionen" der erzeugenden Wahrscheinlichkeitsverteilung auf der Basis der latenten Zustands variablen der Module MM1, MM2 und AE und den jeweilig dazugehörenden Gewichten definiert:
Figure imgf000036_0001
Ziel ist es, einen Abstand der Rekonstruktionen und deren dazugehörigen erzeugenden Wahr scheinlichkeitsverteilungen zu minimieren, wobei latente Zustandsvariablen in mehreren Rekon struktionen gleichzeitig Vorkommen können. Dies koppelt die Rekonstruktionen aneinander.
Für dieses Beispiel wird der Abstand nach der folgenden Gleichung (ähnlich einer Likelihood oder Kullback-Leibler-Divergenz) berechnet:
Figure imgf000036_0002
+ a2 ^ rLi,m(< log ^ w^2(ic\ h2 ß(i + ß ^ Phy, (.d ) log ί ^ wy^2(d\i)h2 ß(i) J + ay ^ bm2,m (e) log ί ^ w2 (e | i)hy ß (i) )
Dabei entspricht rc m(a ) der Eingabe-Wahrscheinlichkeit der Eingabe-Einrichtung. Für die ande ren drei Wahrscheinlichkeiten rLi m(ί) , bh2,m(0 und Phy,ß( 0 gilt, dass diese aus den„alten" (vom letzten Zeitschritt) latenten Zustandsvariablen bestehen, aus denen die aktuell zu bearbeitenden Indizes erzeugt wurden. Vor jeder Aktualisierung der latenten Zustandsvariablen findet folgende Zuweisung statt:
hi,ß( -» phl,ß( 0 h2,ß( -» Pn2,ß( 0
Figure imgf000037_0001
Dabei sind die a's und ß’s Konstanten.
Aus dem Abstand zwischen den Rekonstruktionen und den erzeugenden Wahrscheinlichkeiten wird ein Gradienten zur Optimierung für die latenten Zustandsvariablen berechnet:
Figure imgf000037_0002
Jetzt werden die p durch die in einem Zeitschritt tatsächlich beobachteten Indizes ersetzt, was ei ner Aktualisierung mit jedem einzelnen beobachten Index st entspricht:
Figure imgf000037_0003
Daraus folgen Aktualisierungsregeln für eine nicht normierte Version latenten Zustandsvariablen:
Figure imgf000037_0004
Diese Zwischenform der latenten Zustandsvariablen hNeu (j ) wird dann noch normalisiert hNeu,Norm ~) = hNeu )/ ^i hNeu (l) .
Dies ist vorgesehen, um die Wahrscheinlichkeitseigenschaften der latenten Zustandsvariablen zu erhalten, die für die stochastische Erzeugung der Indizes benötigt wird.
Es ist ersichtlich, dass jedes /i We,iVoT'm (y) nur von den eingehenden Indizes abhängt, was die in ternen Berechnungen jedes Merkmalsmoduls von den anderen Merkmalsmodulen vollständig iso liert. Die Merkmalsmodule gehen in einen angepassten Zustand relativ zu den Merkmalsmodulen von denen diese Indizes zugesendet bekommen. i der Anwendung hat sich gezeigt, dass die einzelnen Indizes nacheinander abgearbeitet werden önnen, was zu einer deutlich vereinfachten Berechnung führt:
Figure imgf000038_0001
Eine ähnliche Gradienten-Berechnung kann nun auch für die fünf Gewichtssätze durchgeführt werden:
Figure imgf000038_0002
Hieraus kann man verschiedene Lernregeln herleiten. Zunächst zwei Online-Lernregeln (also Ler nen mit jeweils einem Index).
Additive Online-Lernregel:
Figure imgf000038_0003
Figure imgf000039_0001
Multiplikative Online-Lernregel:
Figure imgf000039_0002
Figure imgf000039_0005
w 2^y( t [/) ^ly,; )
w" y(st 2 ly) = w2^y(st 2 ly) + g3
Yiw 2^*y(^t | ^y^(0
wy^2(sy |y) L2,mO)
w"^(sy |y) = wy^2(sy |y) + y4
2 Wy_»2^t |^)^2,m(0
z^!^t 2^) /H,mO)
w"^(st 2|y) = 2^(s? ly) + g5
iw2^1(st 2|i)h1,M(0
Nach jedem Lernschritt (Multiplikative oder Additive Lernregel) werden die Gewichte normiert:
w^ i ( )
Figure imgf000039_0003
ly)
Etw^(rly)
Neu, Norm
Wl->2 (5 ly)
EtW^(rly)
Neu, Norm w2 w yO ly)
^2—>y (5 ly)
ErW^Oly)
w^u 2(s\j)
Neu, Norm
y_, 2 (5 ly)
Etw^(rly)
Neu, Norm
W2->1 (5 ly)
Figure imgf000039_0004
Diese Lernregeln haben unterschiedliche Eigenschaften, wobei vorzugsweise getestet wird, wel che am besten bei welchem Problem funktioniert. Beide Online-Lernregeln wurden erfolgreich zum Lernen von 4Bit Booleschen Parity-Funktionen angewendet. Außerdem kann man Batch-Lernregeln (ein Ensemble an Mustern und mehrere Indizes pro Mus- dAbstcvixcL
ter) mit Hilfe des Gradienten— - - aufstellen, wie z.B. als multiplikative Batch-Lernregel:
dwx^{a\j) '
Figure imgf000040_0001
wobei die 77's und 0's Lernraten entsprechen und wieder, nach jedem Lernschritt, eine Normali sierung erfolgen muss:
Figure imgf000040_0002
Anstatt der hier gezeigten multiplikativen Batch-Lernregen kann man analog auch Lernregeln ba sierend auf moderneren Lernverfahren wie Adam [20] oder L4 [21] aufsetzen.
Das hier gezeigte Batch-Lernen hat sich bei Deep-Convolutional Netzwerken als besonders nütz- lieh erwiesen. Z.B. konnte von den Erfindern erfolgreich ein Deep-Convolutional Netzwerk zur Er kennung von handgeschriebenen Ziffern trainiert (gelernt) werden. Dabei wurde die hier gezeigte multiplikative Batch-Lernregel erfolgreich angewandt. Es hat sich auch als vorteilhaft erwiesen, das Netzwerk schichtweise vorzulernen, wobei der Zu stand der vorangegangenen Schichten zunächst unverändert gehalten wird und erst danach unter der vollen Dynamik zu Ende zu lernen. Um aus der latenten Zustandsvariable hy i) eine Klassifizierung zu berechnen gibt es mehrere Möglichkeiten. Zum Beispiel kann man
Klasse = argmaxi hy i)
verwenden, wobei der Zusammenhang zwischen Klasse und i während des Lernens des Netwerks festgelegt wurde. Oder analog kann man die von der Ausgabe-Einrichtung erzeugten Indizes nach ihrer Quelle sortiert zählen, und anschließend die Quelle mit der maximalen Aktivität als Klasse wählen. In beiden Varianten kann es von Vorteil sein, nach dem Einschwingen der Dynamik der latenten Zustandsvariablen, Fluktuationen herauszumittlen. Es können auch komplizierte Verfah ren (z.B. Klassifikatoren wie Nearest-Neighbor, Support-Vector Maschinen oder Perceptron-Netz- werke) aus dem Maschinenlernen Bereich zum Einsatz kommen.
Die in der vorstehenden Beschreibung, den Zeichnungen und den Ansprüchen offenbarten Merk male der Erfindung können sowohl einzeln als auch in Kombination oder Unterkombination für die Verwirklichung der Erfindung in ihren verschiedenen Ausgestaltungen von Bedeutung sein. Die Erfindung ist nicht auf die oben beschriebenen bevorzugten Ausführungsformen beschränkt. Viel- mehr ist eine Vielzahl von Varianten und Abwandlungen möglich, die ebenfalls von dem Erfin dungsgedanken Gebrauch machen und deshalb ebenfalls in den Schutzbereich fallen. Darüber hinaus beansprucht die Erfindung auch Schutz für den Gegenstand und die Merkmale der Unter ansprüche unabhängig von den in Bezug genommenen Merkmalen und Ansprüchen.

Claims

Ansprüche
1. Datenverarbeitungsvorrichtung (100), die zur Abbildung von Eingabedaten r(s) auf Aus gabedaten konfiguriert ist, umfassend
(a) eine Eingabe-Einrichtung (10), die zur Aufnahme der Eingabedaten r(s), Erzeugung einer Ein gabe-Wahrscheinlichkeitsverteilung p*(s) der Eingabedaten und Erzeugung einer stochastischen Repräsentation der Eingabedaten in Gestalt einer Sequenz von Eingabe-Indizes eingerichtet ist, wobei jeder Eingabe-Index eine stochastisch ermittelte Position innerhalb der Eingabe-Wahr scheinlichkeitsverteilung p*(s) repräsentiert,
(b) mindestens ein Netzwerk (20) aus mindestens zwei Merkmalsmodulen (21), die über Daten verbindungen (22) miteinander gekoppelt sind, wobei mindestens eines der Merkmalsmodule (21) über eine Datenverbindung (22) mit der Eingabe-Einrichtung (10) gekoppelt ist, wobei
(bl) jedes Merkmalsmodul (21) eine Vielzahl von Zustandsvariablen-Speicherplätzen (23), denen jeweils eine Vielzahl von Gewichte-Speicherplätzen (24) zugeordnet ist, eine Viel zahl von Index-Speicherplätzen (25) und eine Recheneinheit (26) umfasst,
(b2) die Zustandsvariablen-Speicherplätze (23) zur Speicherung von normierten latenten Zustandsvariablen h, und die Gewichte-Speicherplätze (24) zur Speicherung von Gewich ten p(s | i), die den latenten Zustandsvariablen h, zugeordnet sind, eingerichtet sind,
(b3) die Eingabe-Einrichtung (10) zum Senden der Sequenz von Eingabe-Indizes an das mindestens eine mit der Eingabe-Einrichtung (10) gekoppelte Merkmalsmodul (21) einge richtet ist,
(b4) jedes Merkmalsmodul (21) zum Senden einer Sequenz von Modul-Indizes an die mit diesem Merkmalsmodul (21) gekoppelten Merkmalsmodule (21) eingerichtet ist, wobei jeder Modul-Index basierend auf einer Merkmalsmodul-Wahrscheinlichkeitsverteilung hi des jeweils sendenden Merkmalsmoduls eine stochastisch ermittelte Position eines Zu- standsvariablen-Speicherplatzes ist,
(b5) die Index-Speicherplätze (25) jedes Merkmalsmoduls zur Speicherung von empfange nen Eingabe- oder Modul-Indizes eingerichtet sind, und
(b6) die Recheneinheit (26) jedes Merkmalsmoduls dazu eingerichtet ist, die latenten Zu standsvariablen hi und die zugeordneten Gewichte p(s | i), die in dem Merkmalsmodul (21) gespeichert sind, durch Anwendung einer numerischen Optimierung basierend auf den Werten in den Index-Speicherplätzen (25) schrittweise so zu verändern, dass für alle di rekt miteinander gekoppelten Merkmalsmodule (21) wechselweise die Merkmalsmodul- Wahrscheinlichkeitsverteilung ' i p(s\ i)hi des einen Merkmalsmoduls an die latenten Zu standsvariablen hs des jeweils anderen Merkmalsmoduls angepasst ist und die Merkmals modul-Wahrscheinlichkeitsverteilung Sί RqIqL-ί des mindestens einen, mit der Eingabe- Einrichtung (10) gekoppelten Merkmalsmoduls an die Eingabe-Wahrscheinlichkeitsvertei lung p*(s) angepasst ist, und
(c) eine Ausgabe-Einrichtung (30), die mit mindestens einem Merkmalsmodul (21) des Netzwerks (20) über eine Datenverbindung (22) gekoppelt und zur Bereitstellung der Ausgabedaten einge richtet ist.
2. Datenverarbeitungsvorrichtung gemäß Anspruch 1, bei der
- die Eingabe-Einrichtung (10) mindestens ein Eingabe-Merkmalsmodul (21) umfasst, das wie die übrigen Merkmalsmodule (21) mit einer Vielzahl von Zustandsvariablen-Speicherplätzen (23) und einer Recheneinheit (26) aufgebaut ist, wobei die Recheneinheit (26) zur Erzeugung der Eingabe- Wahrscheinlichkeitsverteilung p*(s) der Eingabedaten und die Zustandsvariablen-Speicherplätze (23) zur Speicherung der Eingabe-Wahrscheinlichkeitsverteilung p*(s) eingerichtet sind.
3. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, die für einen Lernmodus und für einen Anwendungsmodus eingerichtet ist, wobei
- im Lernmodus die Eingabe-Einrichtung (10) zur Aufnahme vorbekannter Lern-Eingabedaten, die Ausgabe-Einrichtung (30) zur Aufnahme vorbekannter Lern-Ausgabedaten, die den Lern-Eingabe- daten zugeordnet sind, und das Netzwerk (20) aus Merkmalsmodulen (21) für das Aktualisieren der latenten Zustandsvariablen h, und das Lernen der zugeordneten Gewichte p(s | i), mit denen die Lern-Eingabedaten auf die Lern-Ausgabedaten abgebildet werden, eingerichtet sind, und
- im Anwendungsmodus die Eingabe-Einrichtung (10) zur Aufnahme von Anwendungs-Eingabeda ten und die Ausgabe-Einrichtung (30) zur Ausgabe von Anwendungs-Ausgabedaten, die den An wendungs-Eingabedaten zugeordnet und durch die Merkmalsmodule (21) des Netzwerks (20) mit den aktualisierten latenten Zustandsvariablen h, und zugeordneten gelernten Gewichten p(s | i) ermittelt sind, eingerichtet sind.
4. Datenverarbeitungsvorrichtung gemäß den Ansprüchen 2 und 3, bei der
- die Eingabe-Einrichtung (10) zusätzlich mindestens ein Lerneingabe-Merkmalsmodul (12) um fasst, das im Lernmodus mit dem mindestens Netzwerk (20) aus mindestens zwei Merkmalsmo dulen (21) gekoppelt und im Anwendungsmodus von dem mindestens Netzwerk (20) getrennt ist.
5. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, bei der
- die Merkmale der Eingabedaten r(s) Bildmerkmale, Audiomerkmale, Sprachmerkmale, Sensor merkmale, Signalmerkmale, ökonomische Zeitreihen, Verhaltensdaten, Zustandsmerkmale eines biologischen Organismus, Zustandsmerkmale eines natürlichen Systems, physikalische Größen, chemische Parameter und/oder Zustandsmerkmale einer technischen Einrichtung umfassen.
6. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, umfassend
- eine Konfigurationseinrichtung (41), mit der eine Netzwerkkonfiguration einstellbar ist, welche die Anzahl der Merkmalsmodule, die Anzahl von Zustandsvariablen-Speicherplätzen (23) jedes Merkmalsmoduls, die Anzahl von Gewichte-Speicherplätzen (24), die jeweils einem Zustandsvari- ablen-Speicherplatz zugeordnet sind, die Anzahl von Index-Speicherplätzen (25) jedes Merkmals moduls und/oder die Datenverbindungen (22) zwischen Merkmalsmodulen (21) umfasst.
7. Datenverarbeitungsvorrichtung gemäß Anspruch 6, umfassend
- die Konfigurationseinrichtung (41) für eine iterative Einstellung der Netzwerkkonfiguration ein gerichtet ist, bei der die Anzahl der Merkmalsmodule (21) und die Anzahl der Zustandsvariabien- Speicherplätze (23) jedes Merkmalsmoduls schrittweise erhöht werden, bis die Leistung der Abbil dung der Eingabedaten auf die Ausgabedaten einem vorbestimmten Betriebskriterium entspricht.
8. Datenverarbeitungsvorrichtung gemäß Anspruch 6 oder 7, bei der
- mindestens ein Reserve-Merkmalsmodul (21) vorgesehen ist, das keine Datenverbindung (22) mit dem Netzwerk (20) aus Merkmalsmodulen (21) aufweist, und
- die Konfigurationseinrichtung (41) zur Herstellung mindestens einer Datenverbindung (22) des mindestens einen Reserve-Merkmalsmoduls mit dem Netzwerk (20) aus Merkmalsmodulen (21) eingerichtet ist.
9. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, bei der
- das Netzwerk (20) aus Merkmalsmodulen (21) ein geschichtetes Netzwerk (20), insbesondere Deep Convolutional Network (DCN), mit mehreren Schichten (50 - 57) aus Merkmalsmodulen (21) umfasst, bei dem Merkmalsmodule (21) innerhalb einer Schicht gemeinsame Gewichte haben, die den latenten Zustandsvariablen h, zugeordnet sind.
10. Datenverarbeitungsvorrichtung gemäß Anspruch 9, bei der
- das geschichtete Netzwerk (20) für einen schichtbasierten Lernmodus eingerichtet ist, wobei die Schichten von der Eingabe-Einrichtung beginnend für ein Aktualisieren der latenten Zustandsvari ablen hi und ein Lernen der zugeordneten Gewichte p(s | i) derart eingerichtet ist, dass die Lern- Eingabedaten auf die Lern-Ausgabedaten abgebildet werden.
11. Datenverarbeitungsvorrichtung gemäß Anspruch 9, bei der
- das geschichtete Netzwerk (20) für einen unüberwachten, schichtbasierten Lernmodus einge richtet ist, wobei die Schichten von der Eingabe-Einrichtung beginnend bis zu einer vorletzten Schicht vor der Ausgabe-Einrichtung aufeinanderfolgend für eine Ermittlung der latenten Zu standsvariablen hi und der zugeordneten Gewichte p(s | i) ohne Berücksichtigung der Lern-Ausga- bedaten eingerichtet sind und eine letzte Schicht vor der Ausgabe-Einrichtung für eine Ermittlung der latenten Zustandsvariablen h, und der zugeordneten Gewichte p(s | i) mit einer Berücksichti gung der Lern-Ausgabedaten eingerichtet ist.
12. Datenverarbeitungsvorrichtung gemäß Anspruch 9, bei der
- das geschichtete Netzwerk (20) für einen überwachten, schichtbasierten Lernmodus eingerichtet ist, bei dem basierend auf dem aktuellen Lernfehler die Gewichte p(s | i) ausgewählter Module rei- nitialisiert werden.
13. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, bei der
- die Recheneinheit (26) jedes Merkmalsmodul (21) dazu eingerichtet ist, die numerische Optimie rung basierend auf einem probabilistischen Ziel-Maß, insbesondere der Log-Likelihood, der Kull- bach-Leibler-Divergenz oder Kombinationen von Vektornormen, auszuführen.
14. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, bei der
- die Ausgabe-Einrichtung (30) mindestens ein Ausgabe-Merkmalsmodul (21) umfasst, das wie die übrigen Merkmalsmodule (21) mit einer Vielzahl von Zustandsvariablen-Speicherplätzen (23), ei ner Vielzahl von Index-Speicherplätzen (25) und einer Recheneinheit (26) aufgebaut ist, wobei die latenten Zustandsvariablen des mindestens einen Merkmalsmoduls oder davon abgeleitete Grö ßen als Ausgabedaten ausgegeben werden.
15. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, bei der
- die Ausgabe-Einrichtung (30) einen Klassifikator, insbesondere basierend auf Perzeptrons oder einer Support-Vector-Maschine, umfasst, der auf der Basis der latenten Zustandsvariablen von Merkmalsmodulen (21) operiert, mit denen die Ausgabe-Einrichtung (30) gekoppelt ist.
16. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, die umfasst
- ein modulares System mit mindestens zwei integrierten Schaltungen, die jeweils ein Netzwerk (20) aus Merkmalsmodulen (21) umfassen.
17. Datenverarbeitungsvorrichtung gemäß einem der vorherigen Ansprüche, bei der
- die Eingabedaten als Ergebnis von Messungen, Beobachtungen, Informationssammlungen oder numerischen Verfahren vorliegen, und
- die Datenverarbeitungsvorrichtung konfiguriert ist, die Ausgabedaten aus den Eingabedaten zu ermitteln.
18. Datenverarbeitungsverfahren, das zur Abbildung von Eingabedaten r(s) auf Ausgabeda ten konfiguriert ist, umfassend die Schritte
(51) Aufnahme der Eingabedaten r(s), Erzeugung einer Eingabe-Wahrscheinlichkeitsverteilung p*(s) der Eingabedaten und Erzeugung einer stochastischen Repräsentation der Eingabedaten in Gestalt einer Sequenz von Eingabe-Indizes eingerichtet ist, mit einer Eingabe-Einrichtung (10), wo bei jeder Eingabe-Index eine stochastisch ermittelte Position innerhalb der Eingabe-Wahrschein lichkeitsverteilung p*(s) repräsentiert,
(52) Betreiben mindestens eines Netzwerks (20) aus mindestens zwei Merkmalsmodulen (21), die über Datenverbindungen (22) miteinander gekoppelt sind, wobei mindestens eines der Merkmals- module (21) über eine Datenverbindung (22) mit der Eingabe-Einrichtung (10) gekoppelt ist, wo bei
jedes Merkmalsmodul (21) eine Vielzahl von Zustandsvariablen-Speicherplätzen (23), de nen jeweils eine Vielzahl von Gewichte-Speicherplätzen (24) zugeordnet ist, eine Vielzahl von Index-Speicherplätzen (25) und eine Recheneinheit (26) umfasst,
die Zustandsvariablen-Speicherplätze (23) normierte latente Zustandsvariablen h, und die Gewichte-Speicherplätze (24) Gewichte p(s | i) speichern, die den latenten Zustandsvariab len hi zugeordnet sind,
(S2.1) die Eingabe-Einrichtung (10) die Sequenz von Eingabe-Indizes an das mindestens eine mit der Eingabe-Einrichtung (10) gekoppelte Merkmalsmodul (21) sendet, (52.2) jedes Merkmalsmodul (21) eine Sequenz von Modul-Indizes an die mit diesem Merkmalsmodul (21) gekoppelten Merkmalsmodule (21) sendet, wobei jeder Modul-In dex basierend auf einer Merkmalsmodul-Wahrscheinlichkeitsverteilung hi des jeweils sendenden Merkmalsmoduls eine stochastisch ermittelte Position eines Zustandsvariab- len-Speicherplatzes repräsentiert,
(52.3) die Index-Speicherplätze (25) jedes Merkmalsmoduls empfangene Eingabe- oder Modul-Indizes speichern, und
(52.4) die Recheneinheit (26) jedes Merkmalsmoduls die latenten Zustandsvariablen hi und die zugeordneten Gewichte p(s | i), die in dem Merkmalsmodul (21) gespeichert sind, durch Anwendung einer numerischen Optimierung basierend auf den Werten in den In dex-Speicherplätzen (25) schrittweise verändert, dass für alle direkt miteinander gekop pelten Merkmalsmodule (21) wechselweise die Merkmalsmodul-Wahrscheinlichkeitsver teilung Ei PCsIO^i des einen Merkmalsmoduls an die latenten Zustandsvariablen hs des jeweils anderen Merkmalsmoduls angepasst ist und die Merkmalsmodul-Wahrscheinlich keitsverteilung Ei PCsIO^i des mindestens einen, mit der Eingabe-Einrichtung (10) gekop pelten Merkmalsmoduls an die Eingabe-Wahrscheinlichkeitsverteilung p*(s) angepasst ist, und
- (S3) Bereitstellung der Ausgabedaten mit einer Ausgabe-Einrichtung (30), die mit mindestens ei nem Merkmalsmodul (21) des Netzwerks (20) über eine Datenverbindung (22) gekoppelt ist.
19. Datenverarbeitungsverfahren gemäß Anspruch 18, bei dem
- die Eingabe-Einrichtung (10) mindestens ein Eingabe-Merkmalsmodul (21) umfasst, das wie die übrigen Merkmalsmodule (21) mit einer Vielzahl von Zustandsvariablen-Speicherplätzen (23) und einer Recheneinheit (26) aufgebaut ist, und
- die Recheneinheit (26) die Eingabe-Wahrscheinlichkeitsverteilung p*(s) der Eingabedaten er zeugt und die Zustandsvariablen-Speicherplätze (23) die Eingabe-Wahrscheinlichkeitsverteilung p*(s) speichern.
20. Datenverarbeitungsverfahren gemäß einem der Ansprüche 18 bis 19, bei dem ein Lernmodus oder ein Anwendungsmodus ausgeführt wird, wobei
- im Lernmodus die Eingabe-Einrichtung (10) vorbekannte Lern-Eingabedaten aufnimmt, die Aus gabe-Einrichtung (30) vorbekannter Lern-Ausgabedaten aufnimmt, die den Lern-Eingabedaten zu geordnet sind, und das Netzwerk (20) aus Merkmalsmodulen (21) die latenten Zustandsvariablen hi aktualisiert und die zugeordneten Gewichte p(s | i) lernt, mit denen die Lern-Eingabedaten auf die Lern-Ausgabedaten abgebildet werden, und - im Anwendungsmodus die Eingabe-Einrichtung (10) Anwendungs-Eingabedaten aufnimmt und die Ausgabe-Einrichtung (30) Anwendungs-Ausgabedaten ausgibt, die den Anwendungs-Eingabe daten zugeordnet und durch die Merkmalsmodule (21) des Netzwerks (20) mit den aktualisierten latenten Zustandsvariablen h, und zugeordneten gelernten Gewichten p(s | i) ermittelt sind.
21. Datenverarbeitungsverfahren gemäß Anspruch 20, bei dem
- die Eingabe-Einrichtung (10) zusätzlich mindestens ein Lerneingabe-Merkmalsmodul (21) um fasst, das im Lernmodus mit dem mindestens Netzwerk (20) aus mindestens zwei Merkmalsmo dulen (21) gekoppelt und im Anwendungsmodus von dem mindestens Netzwerk (20) getrennt ist.
22. Datenverarbeitungsverfahren gemäß einem der Ansprüche 18 bis 21, bei dem
- die Merkmale der Eingabedaten r(s) Bildmerkmale, Audiomerkmale, Sprachmerkmale, Sensor merkmale, Signalmerkmale, ökonomische Zeitreihen, Verhaltensdaten, Zustandsmerkmale eines biologischen Organismus, physikalische Größen, chemische Parameter und/oder Zustandsmerk male einer technischen Einrichtung umfassen.
23. Datenverarbeitungsverfahren gemäß einem der Ansprüche 18 bis 22, mit dem Konfigu rationsschritt
- Einstellung einer Netzwerkkonfiguration mit einer Konfigurationseinrichtung (41), welche die An zahl der Merkmalsmodule, die Anzahl von Zustandsvariablen-Speicherplätzen (23) jedes Merk malsmoduls, die Anzahl von Gewichte-Speicherplätzen (24), die jeweils einem Zustandsvariabien- Speicherplatz zugeordnet sind, die Anzahl von Index-Speicherplätzen (25) jedes Merkmalsmoduls und/oder die Datenverbindungen (22) zwischen Merkmalsmodulen (21) umfasst.
24. Datenverarbeitungsverfahren gemäß Anspruch 23, bei dem
- die Einstellung der Netzwerkkonfiguration iterativ erfolgt, wobei bei die Anzahl der Merkmals module (21) und die Anzahl der Zustandsvariablen-Speicherplätze (23) jedes Merkmalsmoduls schrittweise erhöht werden, bis die Leistung der Abbildung der Eingabedaten auf die Ausgabeda ten einem vorbestimmten Betriebskriterium entspricht.
25. Datenverarbeitungsverfahren gemäß Anspruch 23 oder 24, bei dem
- der Konfigurationsschritt während der Abbildung der Eingabedaten r(s) auf die Ausgabedaten erfolgt und die Herstellung mindestens einer Datenverbindung (22) von mindestens einem Re serve-Merkmalsmodul (21) mit dem Netzwerk (20) aus Merkmalsmodulen (21) umfasst.
26. Datenverarbeitungsverfahren gemäß einem der Ansprüche 18 bis 25, bei dem
- das Netzwerk (20) aus Merkmalsmodulen (21) ein geschichtetes Netzwerk (20), insbesondere Deep Convolutional Network (DCN), mit mehreren Schichten aus Merkmalsmodulen (21) umfasst, bei dem Merkmalsmodule (21) innerhalb einer Schicht gemeinsame Gewichte haben, die den la tenten Zustandsvariablen h, zugeordnet sind.
27. Datenverarbeitungsverfahren gemäß Anspruch 26, bei dem
- das geschichtete Netzwerk (20) einen schichtbasierten Lernmodus ausführt, wobei die Schichten von der Eingabe-Einrichtung beginnend die latenten Zustandsvariablen h, aktualisieren und die zugeordneten Gewichte p(s | i) lernen, so dass die Lern-Eingabedaten auf die Lern-Ausgabedaten abgebildet werden.
28. Datenverarbeitungsverfahren gemäß Anspruch 26, bei dem
- das geschichtete Netzwerk (20) für einen unüberwachten, schichtbasierten Lernmodus ausführt, wobei die Schichten von der Eingabe-Einrichtung beginnend bis zu einer vorletzten Schicht vor der Ausgabe-Einrichtung aufeinanderfolgend unabhängig von den Lern-Ausgabedaten die latenten Zustandsvariablen h, aktualisieren und die zugeordneten Gewichte p(s | i) lernen und eine letzte Schicht vor der Ausgabe-Einrichtung unter Berücksichtigung der Lern-Ausgabedaten die latenten Zustandsvariablen h, aktualisiert und die zugeordneten Gewichte p(s | i) lernt.
29. Datenverarbeitungsverfahren gemäß Anspruch 26, bei dem
- das geschichtete Netzwerk (20) einen überwachten, schichtbasierten Lernmodus ausführt, bei dem basierend auf dem aktuellen Lernfehler die Gewichte p(s | i) ausgewählter Module reinitiali- siert werden.
30. Datenverarbeitungsverfahren gemäß einem der Ansprüche 18 bis 29, bei dem
- die Recheneinheit (26) jedes Merkmalsmodul (21) die numerische Optimierung basierend auf einem probabilistischen Ziel-Maß, insbesondere der Log-Likelihood, der Kullbach-Leibler-Diver- genz oder Kombinationen von Vektornormen, ausführt.
31. Datenverarbeitungsverfahren gemäß einem der Ansprüche 18 bis 30, bei dem
- die Ausgabe-Einrichtung (30) mindestens ein Merkmalsmodul (21) umfasst, das wie die übrigen Merkmalsmodule (21) mit einer Vielzahl von Zustandsvariablen-Speicherplätzen (23) und einer Recheneinheit (26) aufgebaut ist, wobei die latenten Zustandsvariablen des mindestens einen Merkmalsmoduls oder davon abgeleitete Größen als Ausgabedaten ausgegeben werden.
32. Datenverarbeitungsverfahren gemäß einem der Ansprüche 18 bis 31, bei dem
- die Ausgabe-Einrichtung (30) einen Klassifikator, insbesondere basierend auf Perzeptrons oder einer Support-Vector-Maschine, umfasst, der auf der Basis der latenten Zustandsvariablen von Merkmalsmodulen (21) operiert, mit denen die Ausgabe-Einrichtung (30) gekoppelt ist.
33. Datenverarbeitungsverfahren gemäß einem der Ansprüche 18 bis 32, bei dem
- die Eingabedaten als Ergebnis von Messungen, Beobachtungen, Informationssammlungen oder numerischen Verfahren vorliegen und die Ausgabedaten aus den Eingabedaten ermittelt werden.
34. Computerprogrammprodukt, das auf einem Computer-lesbaren Speichermedium ge speichert und zur Ausführung eines Verfahrens gemäß einem der Ansprüche 18 bis 33 eingerich tet ist. 35. Computer-lesbares Speichermedium, auf dem ein Computerprogrammprodukt gespei chert ist, das zur Ausführung des Verfahrens gemäß einem der Ansprüche 18 bis 33 eingerichtet ist.
PCT/EP2019/079645 2018-11-02 2019-10-30 Datenverarbeitungsvorrichtung mit einem künstlichen neuronalen netzwerk und verfahren zur datenverarbeitung WO2020089287A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018127383.5A DE102018127383A1 (de) 2018-11-02 2018-11-02 Datenverarbeitungsvorrichtung mit einem künstlichen neuronalen Netzwerk und Verfahren zur Datenverarbeitung
DE102018127383.5 2018-11-02

Publications (1)

Publication Number Publication Date
WO2020089287A1 true WO2020089287A1 (de) 2020-05-07

Family

ID=68424898

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/079645 WO2020089287A1 (de) 2018-11-02 2019-10-30 Datenverarbeitungsvorrichtung mit einem künstlichen neuronalen netzwerk und verfahren zur datenverarbeitung

Country Status (2)

Country Link
DE (1) DE102018127383A1 (de)
WO (1) WO2020089287A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192267A1 (en) 2006-02-10 2007-08-16 Numenta, Inc. Architecture of a hierarchical temporal memory based system
US8219507B2 (en) 2007-06-29 2012-07-10 Numenta, Inc. Hierarchical temporal memory system with enhanced inference capability
US20150242745A1 (en) * 2014-02-21 2015-08-27 Qualcomm Incorporated Event-based inference and learning for stochastic spiking bayesian networks
WO2017021322A1 (en) 2015-07-31 2017-02-09 Eberhard Karls Universität Tübingen Method and device for image synthesis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192267A1 (en) 2006-02-10 2007-08-16 Numenta, Inc. Architecture of a hierarchical temporal memory based system
US8219507B2 (en) 2007-06-29 2012-07-10 Numenta, Inc. Hierarchical temporal memory system with enhanced inference capability
US20150242745A1 (en) * 2014-02-21 2015-08-27 Qualcomm Incorporated Event-based inference and learning for stochastic spiking bayesian networks
WO2017021322A1 (en) 2015-07-31 2017-02-09 Eberhard Karls Universität Tübingen Method and device for image synthesis

Non-Patent Citations (22)

* Cited by examiner, † Cited by third party
Title
AMIRHOSSEIN TAVANAEI ET AL: "Deep Learning in Spiking Neural Networks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 22 April 2018 (2018-04-22), XP081228628 *
ANGELINE, P. J.SAUNDERS, G. M.POLLACK, J. B.: "An evolutionary algorithm that constructs recurrent neural networks", IEEE TRANSACTIONS ON NEURAL NETWORKS, vol. 5, no. 1, 1994, pages 54 - 65, XP000441909, DOI: 10.1109/72.265960
AZKARATE SAIZ, A., DEEP LEARNING REVIEW AND ITS APPLICATIONS, 2015
BRUCKSTEIN, A. M.ELAD, M.ZIBULEVSKY, M.: "On the uniqueness of nonnegative sparse solutions to underdetermined systems of equations", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 54, no. 11, 2008, pages 4813 - 4820, XP011236671, DOI: 10.1109/TIT.2008.929920
ERNST, U.ROTERMUND, D.PAWELZIK, K.: "Efficient computation based on stochastic spikes", NEURAL COMPUTATION, vol. 19, no. 5, 2007, pages 1313 - 1343
GATYS, L. A.ECKER, A. S.BETHGE, M.: "Computer Vision and Pattern Recognition (CVPR), 2016 IEEE Conference", June 2016, IEEE, article "Image style transfer using convolutional neural networks", pages: 2414 - 2423
GUO, YANMING ET AL.: "Deep learning for visual understanding: A review", NEUROCOMPUTING, vol. 187, 2016, pages 27 - 48, XP029484736, DOI: 10.1016/j.neucom.2015.09.116
HINTON, G. E.: "Neural networks: Tricks ofthe trade", 2012, SPRINGER, article "A practical guide to training restricted Boltzmann machines", pages: 599 - 619
KINGMA, D. P.BA, J.: "Adam: A method for stochastic optimization", ARXIV PREPRINT ARXIV:1412.6980, 2014
LACEY, G.TAYLOR, G. W.AREIBI, S.: "Deep learning on FPGAs: Past, present, and future", ARXIV PREPRINT ARXIV:1602.04283, 2016
LÄNGKVIST, M.KARLSSON, L.LOUTFI, A.: "A review of unsupervised feature learning and deep learning for time-series modeling", PATTERN RECOGNITION LETTERS, vol. 42, 2014, pages 11 - 24, XP028831931, DOI: 10.1016/j.patrec.2014.01.008
MICHAEL PFEIFFER ET AL: "Deep Learning With Spiking Neurons: Opportunities and Challenges", FRONTIERS IN NEUROSCIENCE, vol. 12, 25 October 2018 (2018-10-25), CH, XP055570520, ISSN: 1662-4548, DOI: 10.3389/fnins.2018.00774 *
MNIH, V.KAVUKCUOGLU, K.SILVER, D.RUSU, A. A.VENESS, J.BELLEMARE, M. G.PETERSEN, S.: "Human-level control through deep reinforcement learning", NATURE, vol. 518, no. 7540, 2015, pages 529, XP055283401, DOI: 10.1038/nature14236
ROH'NEK, M.MARTIUS, G.: "L4: Practical loss-based stepsize adaptation for deep learning", ARXIV PREPRINT ARXIV:1802.05074, 2018
ROSENBLATT, F.: "The perceptron: a probabilistic model for information storage and organization in the brain", PSYCHOLOGICAL REVIEW, vol. 65, no. 6, 1958, pages 386
RUMELHART, D. E.HINTON, G. E.WILLIAMS, R. J.: "Learning representations by backpropagating errors", NATURE, vol. 323, no. 6088, 1986, pages 533
SALAKHUTDINOV, R.: "Learning deep generative models", ANNUAL REVIEW OF STATISTICS AND ITS APPLICATION, vol. 2, 2015, pages 361 - 385
SALAKHUTDINOV, R.HINTON G. E.: "An efficient learning procedure for deep Boltzmann machines", NEURAL COMPUT., vol. 24, no. 8, August 2012 (2012-08-01), pages 1967 - 2006
SCHMIDHUBER, J.: "Deep learning in neural networks: An overview", NEURAL NETWORKS, vol. 61, 2015, pages 85 - 117, XP055283630, DOI: 10.1016/j.neunet.2014.09.003
SILVER, D.HUANG, A.MADDISON, C. J.GUEZ, A.SIFRE, L.VAN DEN DRIESSCHE, G.DIELEMAN, S.: "Mastering the game of Go with deep neural networks and tree search", NATURE, vol. 529, no. 7587, 2016, pages 484 - 489, XP055344199, DOI: 10.1038/nature16961
SPANNE, A.JÖRNTELL, H.: "Questioning the role of sparse coding in the brain", TRENDS IN NEUROSCIENCES, vol. 38, no. 7, 2015, pages 417 - 427
UDO ERNST ET AL: "Efficient Computation Based on Stochastic Spikes", NEURAL COMPUTATION., vol. 19, no. 5, 1 May 2007 (2007-05-01), US, pages 1313 - 1343, XP055656095, ISSN: 0899-7667, DOI: 10.1162/neco.2007.19.5.1313 *

Also Published As

Publication number Publication date
DE102018127383A1 (de) 2020-05-07

Similar Documents

Publication Publication Date Title
DE112018004223B4 (de) Trainieren künstlicher neuronaler Netze
DE69217047T2 (de) Verbesserungen in neuronalnetzen
DE68928484T2 (de) Verfahren zum erkennen von bildstrukturen
DE69423228T2 (de) Unüberwachtes klassifizierungsverfahren mit neuronalem netzwerk mit back propagation
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE112020003498T5 (de) Erzeugung von trainings- und validierungsdaten für maschinelles lernen
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE102018129424A1 (de) System und verfahren zum lernen der struktur von tiefen neuronalen netzwerken
DE112018002822T5 (de) Klassifizieren neuronaler netze
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
DE112019006156T5 (de) Erkennung und behandlung von unsachgemässen eingaben durch neuronale netzwerke
EP3736817A1 (de) Überprüfung und/oder verbesserung der konsistenz von datenkennzeichnungen bei der medizinischen bildverarbeitung
DE112019000676T5 (de) Zentraler scheduler und anweisungszuteiler für einen neuronalen inferenzprozessor
CN108197653A (zh) 一种基于卷积回声状态网络的时间序列分类方法
DE112020003050T5 (de) Fehlerkompensation in analogen neuronalen netzen
DE112020001774T5 (de) Datensatzabhängiges niedrigrang-zerlegen von neuronalen netzwerken
DE69110538T2 (de) Neuronales Klassifikationssystem and -verfahren.
DE60125536T2 (de) Anordnung zur generierung von elementensequenzen
DE112020003446T5 (de) Validierung einer Leistung eines neuronalen Netzes, das mit markierten Trainingsdaten trainiert wurde
DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
DE112020002547T5 (de) Rausch- und signalverwaltung für rpu-array
DE112021003761T5 (de) Prädiktive modelle mit zerlegbaren hierarchischen ebenen, die konfiguriert werden, um interpretierbare resultate zu erzeugen
DE112021003881T5 (de) Online-training von neuronalen netzen
DE112020005613T5 (de) Neuromorphe Einheit mit Kreuzschienen-Array-Struktur
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19797259

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19797259

Country of ref document: EP

Kind code of ref document: A1