WO2006100209A2 - Field programmable synapses array and method for programming the same - Google Patents

Field programmable synapses array and method for programming the same Download PDF

Info

Publication number
WO2006100209A2
WO2006100209A2 PCT/EP2006/060831 EP2006060831W WO2006100209A2 WO 2006100209 A2 WO2006100209 A2 WO 2006100209A2 EP 2006060831 W EP2006060831 W EP 2006060831W WO 2006100209 A2 WO2006100209 A2 WO 2006100209A2
Authority
WO
WIPO (PCT)
Prior art keywords
synapses
function
network
neurons
field programmable
Prior art date
Application number
PCT/EP2006/060831
Other languages
German (de)
French (fr)
Other versions
WO2006100209A3 (en
Inventor
Frank STÜPMANN
Steffen Rode
Dirk Diele
Original Assignee
Silicann Technologies Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicann Technologies Gmbh filed Critical Silicann Technologies Gmbh
Publication of WO2006100209A2 publication Critical patent/WO2006100209A2/en
Publication of WO2006100209A3 publication Critical patent/WO2006100209A3/en

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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Definitions

  • the invention is a field Programmable Synapse Array (FPSA), an intelligent processor and a chip solution for the integration of a neural network and a method for programming the FPSA.
  • FPSA field Programmable Synapse Array
  • Artificial neural networks are models of brain function. They try to simulate brain cell complexes in structure and function and thus to achieve a viable simulation of complex thinking processes. They provide a computational model for information processing and are thus an alternative to computational computer models. These are largely based on Von Neumann architecture. In the literature, the nature of neuronal information processing is shown in great detail u.a. in [Rojas, R .; Neural Networks, Springer Verlag, Berlin and others. 2002], [Zell, A .; Simulation of neural networks; Oldenbourg-Verlag, Vienna, 1994].
  • Characteristics of neural networks Fault tolerance and generalization capability are often achieved, but depend on the choice of network model, network size, and encoding processing information (input and output patterns).
  • an output vector (e.g., symptoms, measurements or images) is assigned an output vector.
  • an output vector e.g., symptoms, measurements or images
  • the training takes place exclusively with the patterns to be classified. Unlearned patterns and faults are classified as unknown in later use.
  • Unsupervised learning is learning without well-known goal values. Thereby different things can be learned.
  • Popular are the automatic classification (clustering) or the compression of data for dimensionality reduction. It is the optimization of weights based on criteria that the network itself has.
  • the learning algorithm of reinforcing learning adapts weights based on maximizing a reward, or minimizing punishment, which is pronounced on the basis of the calculated output becomes.
  • a problem with the use of neural networks is the rather complex determination of the optimal network structure and the parameters, such as output functions of the neurons, threshold, minimum, maximum, learning rule, learning rate and number of learning steps. Therefore, many tasks employ expensive conventional methods (e.g., statistical or rule-based methods), although the use of neural networks would be simpler, faster, and cheaper.
  • Analog circuit technology is particularly for the implementation of certain
  • the patent US 6513023 Bl is about the implementation of an analog neural network in the form of an MLP.
  • the back propagation algorithm is implemented with on-chip learning.
  • For the neuron a special circuit is presented, with which the sigmoid function and its derivative can be mapped.
  • the weights are charged analogously as charges in capacities and must be refreshed regularly. Learning takes place under external supervision.
  • Disadvantage of the invention is that the implementation is fixed. A scaling is only possible with a new design. The implementation is limited to a network with back propagation. There is no other algorithm usable.
  • the learning is purely analog, the weight storage takes place during the learning phase analog capacitively in a capacitor and in the working phase locally digital in registers behind MDACs to not have to refreshen. Added to this is the global weight storage in a memory block and monitoring, which are done digitally. An external controller is required, so this is not a pure on-chip learning / self-learning implementation.
  • the analog-to-digital conversion is carried out by 16 implemented ADCs line by line on the chip.
  • the structure of the multilayer perceptron is freely selectable on the chip.
  • the BPA with learning is hard-wired. No other algorithms can be used.
  • a universal neural network computer and supercomputer is known. It is about the implementation of a cellular neural network (CNN), a multi-dimensional grid arrangement of a plurality of identical cells. Each cell acts directly with a given number of cells of r neighboring layers. The r-neighborhood is the "receive radius field.” The application determines whether the layers of neighbor cells are 2- or 3-dimensional The basic unit is the cell with linear and non-linear circuit elements.
  • the proposed solution is a CNN which is programmable without hardware components having to be exchanged.
  • this publication is a 2- or 3-dimensional lattice structure in which the processors are arranged. It is not a structure with freely selectable network topology. The processors only interact with each other in a finite neighborhood. Thus, the arrangement is limited to a few algorithms.
  • JP 2002358503 A is generally the control of scalable analog
  • Blocks are described by digital switches and digital connection circuits.
  • the digital circuit blocks of each cell are the so-called “programmable devices.”
  • the analog circuit blocks can be configured by programming these "devices", i. be connected with each other. This can be used to structure a network.
  • the disadvantage here is that there is a very general circuit of analog and digital circuit blocks for the implementation of signal processing functions. For learning structures, as they are needed for a neural network, a great effort is needed. There are no pre-assigned activation functions that can be selected according to the network topology and neuron types used.
  • the disadvantages of the aforementioned solutions are that
  • the object of the invention is to provide a modular analog neuronal integrated system which contains both very flexible, as well as very complex blocks of neural networks for recognition and classification problems.
  • the neural structure on the arrangement should be designed in such a way that the largest possible number of network topologies can be implemented.
  • the arrangement should be able to be controlled and structured from the outside and still be a self-sufficient classification system after the configuration, which learns independently.
  • the object is achieved by the field programmable synapse array according to the invention and a method for programming the FPSA, as described in the claims.
  • the Programmable Synapse Array field is characterized in that an optimized arrangement of optimized connections (synapses) is topologically realized as "sea of synapses" on an integrated system with modular structure, which realizes a generic network of dendrites and axons, whereby processors (neurons) are connected in such a way that they are layered and map a multiplicity of topologies of neural networks.
  • processors neurons
  • the neural network on the integrated device is circuitally designed so that the largest possible number of network topologies can be implemented.
  • the synapses are designed so that they are arranged in a field and can be connected from the outside via programming as far as possible with each neuron.
  • the arrangement has, in contrast to other conventional neural hardware solutions, a modular structure.
  • both the number of required synapses and the form of the neuron activation functions can be varied.
  • tolerance and selectivity can be directly trained.
  • FIG. 1 Synapse block with register FIG. 2 Neuron functions
  • FIG. 3 Hidden neuron block
  • FIG. 4 Input hidden output neuron block
  • FIG. 5 Perceptron type
  • FIG. 6 Nearest neighbor type
  • FIG. 7 Example for Network Construction
  • FIG. 8 Single-layer perceptron network and synapses with linear or non-linear
  • Inputs 16 hidden synapses and 4 hidden neurons in the first hidden layer, 16 hidden synapses and 4 hidden neurons in the second hidden layer, 16 hidden synapses and 4 hidden neurons in the third hidden layer, 16 output synapses and 4 output neurons
  • FIG. 12 shows two parallel perceptron networks with two inputs each, one hidden layer each consisting of four synapses and two neurons and one output layer each consisting of four synapses and two outputs
  • Figure 13 A first perceptron network with 2 inputs, a hidden layer consisting of 4 synapses and 2 neurons and an output layer consisting of 4 synapses and 2 outputs and a second perceptron network with 2 inputs, a first hidden layer consisting of 4 synapses and 2 Neurons, a second hidden layer consisting of 4 synapses and 2 neurons and an output layer consisting of 4 synapses and 2 outputs
  • Figure 15 RB F network with 3 inputs, a hidden layer consisting of 6
  • Figure 16 winner-take-all network with 3 inputs, 3 outputs and 15 synapses. If all synapse connections are not trained, this network can also be considered a Kohonen feature map.
  • Prerequisite for the implementation is a strictly object-oriented (modular and hierarchical) system concept with clearly defined interfaces between the hierarchy and module levels and the instances of a module level, e.g.
  • This system concept has the advantage that the various module levels can be optimized and standardized independently of each other.
  • the arrangement is such that after production of the chip, a specific application-specific topology can be "burned" into the chip.
  • this arrangement can be described as FPSA (Field Programmable Synapses Array).
  • the FPSA circuits based on this uniform technology can be produced in different scaling stages for different fields of application and thus produce a diversified portfolio of standard products that can be tailored to the respective application.
  • the modular chip is a neural classifier that learns independently.
  • This unit allow for the first time the use of different topologies neural networks in a sensor-related system for mobile and autonomous applications and devices.
  • This simpler and faster implementation of a neural network on the basis of such a chip is intended to replace previous implementation variants and artificial neural networks u.a. significantly simplify decision-making in connection with sensors and transducers.
  • the synapses are addressable so that weight values can be written in or read out.
  • Biassynapse is constructed exactly like the synapse and can also be used as such.
  • the synapses are arranged in blocks of four each. Between the upper and lower as well as between the right and left two four four-wire cables are arranged.
  • the inputs and outputs of the synapses can be:
  • any connection can be made to these lines.
  • the two differential input and output lines of a synapse may only be wired to one line at a time.
  • several differential input and output lines of different synapses on the same cable pairs can be wired.
  • a register is provided in each synapse block, in which the switch position is stored coded.
  • FIG. 2 Two functions (FIG. 2) are provided for the neurons. These are:
  • the sigmoid function is the standard activation function in addition to the linear function. Both are topologically provided in the hidden layers and the source layer.
  • the sigmoid function is used in particular with the multilayer perceptron.
  • the quadratic function can be used only in the hidden layers, while the Gaussian (Nearest Neighbor) function only in the output layer
  • the function curves can each be set via various parameters (eg sigmoid function - slope can be changed via working current).
  • the hidden neuron functions can also assume a synaptic function task in special cases. Should, for example In the case of the nearest-neighbor network, the function for calculating the Euclidean distance (w-x) is executed by a synapse, this can be implemented here by the sum of (w -2 * w x + x).
  • the value w is generated in a biassynapse, the value -2 * wx in a general synapse and the value x 2 in a hidden neuron and the
  • the neuron functions are combined into blocks.
  • the wiring is done as with the synapses by programming a register.
  • one block each is implemented with the linear, one with the sigmoid function and one with the quadratic function together with a synapse.
  • the synapse can be e.g. be used as a bias or feedback synapse, which is required in fed-back networks.
  • These neuron blocks are placed on the left, right and top edges of the mesh.
  • output-hidden neuron blocks can optionally be treated as neurons of the hidden or output layer.
  • One neuron contains the linear and the sigmoid function and the other neuron the linear and Gaussian functions. These two neurons do not contain connections to bias or feedback synapses. But a switchable driver is implemented in them, which makes it possible to control external loads without the need for additional circuitry between the chip and connected actuators. At the same time the influence of additional sources of error on the output signals of the arrangement is avoided because the signal flow between the sensor and the actuator is kept extremely short. There is no analog / digital or digital / analog conversion. In addition, no further drivers and converters are needed in the optimal case.
  • FIG. 5 shows the perceptron type.
  • the input signals are weighted (multiplied by a weight value). This is followed by a summation of the weighted input signals. This corresponds mathematically to the scalar product. After scalar formation, the sum is transferred by a special function (linear, sigmoid, jump-shaped).
  • FIG. 6 shows the nearest neighbor type.
  • the nearest neighbor type the difference between the input signal and the weight is formed and then squared, and the sum of the squares is then formed.
  • GRNN Generalized Regression Networks
  • PNN Probabilistic Neural Networks
  • SOM Self-Organizing Maps
  • weights can be calculated analytically. There is exactly one global minimum.
  • the weights can be calculated conditionally analytically. With a simple iterative minimization method one finds a global minimum.
  • the determination of the weights for the task to be solved can only be done with a statistical iterative minimization method (learning). There are generally a variety of local minima. Therefore, the success of weight determination is not predictable but random. It is also not possible to specify the appropriate topology of meshing for a particular task because there are no analytical relationships between task type and topology properties. The minimization process may require a great deal of iterations and may require a lot of time (depending on the computing power). In principle, with multilayer perceptron networks classification and
  • This network has only one layer and no special transfer function. It can be directly evaluated the sum at the output. In the weights, the so-called prototypes of a class are stored. The calculation of the network produces at the output of the network a vector which represents the (quadratic) distances of the input signal to the stored class prototypes. By determining the minimum output signal, the appropriate class is found. Ideally, the minimum is zero because the input signal and prototype are identical.
  • This network type is very well suited for classification tasks in which class prototypes can be specified and where no further re-mapping of the output signals is necessary.
  • a well-known example is the classification of colors.
  • the RBF network has two layers.
  • the first layer is fully wired to the input, as in the simple multilayer perceptron.
  • the weighted sums are calculated in a special function that has a bell shape.
  • the layer provides for test patterns that are outside the training pattern only minor activities, since only areas that lie within the respective bells lead to activities of the neurons.
  • the second layer of the RBF network is of the perpe- trone type with a linear output function. Therefore, the weights of this layer can be calculated analytically, so that no statistical iterative minimization process is required.
  • the second layer can realize various tasks (anything that a single-layered network can do).
  • One function is "mapping". transition vector of the first layer assigned a specific vector at the output of the second layer, for example, to define classes.
  • the second layer may allow the RBF network to be used for general functional approximations.
  • the hidden neuron functions can also assume a synaptic function task in special cases. Should, for example In the nearest neighbor network, the function for calculating the Euclidean distance (w-x) is performed by a synapse, this can be implemented by the sum of (w -2 * w x + x).
  • the value w is generated in a biassynapse, the value -2 * wx in a general synapse and the value x 2 in a hidden neuron and the
  • the synapse neuron array has a strictly modular design to produce a nearly arbitrary shape and size of a neural network.
  • Figure 7 shows a proposal for setting up the FPSA.
  • the structure is designed in such a way that as many conceivable as possible realistic network topologies can be implemented in hardware.
  • the neurons are grouped in blocks.
  • the wiring is done as with the synapses by programming a register.
  • one block each is implemented with the linear, one with the sigmoid and one with the quadratic function together with a synapse.
  • the synapse can be e.g. be used as a bias or feedback synapse, which is required in fed-back networks.
  • These neuron blocks are placed on the left, right and top edges of the mesh. At the bottom are blocks with four neurons that perform the sigmoid function. One can do this e.g. each split into three input and one output neuron.
  • HNLl hidden neuron dramatic activation function contains linear, sigmoidal and quadratic activation function
  • OHNAl Output Hiddenne OHN - Output hidden neuron A - I. Neuron in the block uron (contains linear and sigmoid activation function), B - 2. Neuron in the block (contains linear and Gaussian activation function), column number
  • a network with 64 synapses, 12 biassynaps, 16 hidden neurons, 12 input neurons, 4 output neurons and 3 bias neurons is shown.
  • a practical network could contain 1088 (1024 synapses + 64 biassynapses) synapses and 131 (48 input neurons + 64 hidden neurons + 16 output neurons + 3 bias neurons) neurons.
  • the input signals are multiplied by a weight value. This is followed by a summation of the weighted input signals. This corresponds mathematically to the scalar product. After scalar formation, the sum is transferred by a special function (linear, sigmoid, jump-shaped).
  • weights can be calculated analytically. There is exactly one global minimum. This network shape can be used e.g. for linear color space transformations such as for sensor correction or for conversions between different color monitor types.
  • FIG. 1 A practically realized perceptron network with a weight layer and linear transfer function for the cited FPSA example is shown in FIG.
  • the network has 4 inputs (INAl, INA2, IN A3, IN A4), a weight layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 outputs (OHNAl, OHNA2, OHNA3, OHN A4).
  • the network can be operated with or without bias neurons and synapses.
  • the bias neurons can also be used as additional input neurons.
  • the linear activation is performed.
  • the synapses SD 1,1, SD2,2, SD3,3 and SD4,4 are for signal redirection only. There is no weighting in them.
  • the weights can be calculated conditionally analytically. With a simple iterative minimization method one finds a global minimum.
  • FIG. 1 A practically realized perceptron network with an output layer and non-linear transfer function for the cited FPSA example is shown in FIG.
  • the network has 4 inputs (INAl, INA2, IN A3, IN A4), a weight layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 outputs (OHNAl, OHNA2, OHNA3, OHN A4).
  • the network can be operated with or without bias neurons and synapses.
  • the bias neurons can also be used as additional input neurons.
  • HNR1, HNR2, HNR3 and HNR4 nonlinear activation is performed.
  • the synapses SD 1,1, SD2,2, SD3,3 and SD4,4 are for signal redirection only. There is no weighting in them.
  • the determination of the weights for the task to be solved can only be done with a statistical iterative minimization method (learning). There are generally a variety of local minima. Therefore, the success of weight determination is not predictable but random. It is also not possible to specify the appropriate topology of meshing for a particular task because there are no analytical relationships between task type and topology properties. The minimization process may require a great deal of iterations and may require a lot of time (depending on the computing power).
  • classification and function approximation tasks can be solved with multilayer perceptron networks.
  • a perceptron network for the cited FPSA example with one, two, or even three hidden layers and with also optionally usable in the individual layers linear or nonlinear transfer function is thus feasible.
  • the networks can be operated with or without bias neurons and synapses.
  • the bias neurons can also be used as additional input neurons.
  • a network with 4 inputs (INAl, INA2, IN A3, IN A4), a hidden layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 neurons (HNRl, HNR2, HNR3, HNR4) and an output layer consisting of 16 synapses (SB 1 ... 4,1 ... 4) and 4 outputs (OHNAl, 0HNA2, 0HNA3, OHN A4) is shown in FIG. 4 inputs (INAl, INA2, IN A3, IN A4), a first hidden layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 neurons (HNRl, HNR2, HNR3, HNR4) , a second hidden layer consisting of 16 synapses (SB 1 ...
  • An example of a network with 4 inputs (INAl, INA2, IN A3, IN A4), a first hidden layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 neurons (HNRl, HNR2, HNR3, HNR4), a second hidden layer consisting of 16 synapses (SBl ... 4,1 ... 4) and 4 neurons (HNOl, HNO2, HNO3, HNO4), a third hidden layer consisting of 16 synapses ( SCl ... 4,1 ... 4) and 4 neurons (HNL1, HNL2, HNL3, HNL4) and an output layer consisting of 16 synapses (SDL ... 4,1 ... 4) and 4 outputs (OHNAl, OHNA2, OHNA3, OHNA4) is Figure 11 again.
  • the FPSA offers the possibility of implementing parallel networks which are completely independent of one another.
  • the topologies used can also be completely different.
  • FIG. 12 shows an implementation example for the cited FPSA example, if two topologically identical networks with 2 inputs each (INA1JNA2 or IN A3, IN A4), each with a hidden layer consisting of 4 synapses (SAI..2, 1..2 or SA3 ... 4,3 ... 4) and 2 neurons (HNRl, HNR2 or HNR3, HNR4) each with an output layer consisting of 4 synapses (SBl ... 2,1 ... 2 or SB3 ... 4,3 ... 4) and 2 outputs (OHNAl, 0HNA2 or 0HNA3, 0HNA4).
  • the networks can be operated with or without bias neurons and synapses, or linear or nonlinear activation function.
  • the bias neurons can also be used as additional input neurons.
  • FIG. 13 shows a possible implementation variant.
  • INAl INA2
  • SAl a hidden layer consisting of 4 synapses
  • HNRl HNR2
  • OHNAl OHNA2
  • a second network with 2 inputs IN A3, IN A4
  • the difference between the input signal and the weight is formed and then squared, and the sum of the squares is then formed.
  • Networks from the "Nearest Neighbor” open up a whole series of network variants.
  • This network has only one layer and no special transfer function. It can be evaluated directly the sum of the Euclidean distances at the output. In the weights, the so-called prototypes of a class are stored. The calculation of the network produces at the output of the network a vector which represents the quadratic distances of the input signal to the stored class prototypes. By determining the minimum output signal, the appropriate class is found. Ideally, the minimum is zero because the input signal and prototype are identical.
  • This type of network is very well suited for classification tasks in which class Prototypes can be specified and where no further re-interpretation (mapping) of the output signals is necessary.
  • a well-known example is the classification of colors.
  • the classifier has 3 inputs (INAl, INA2, INA3) and 4 outputs (OHNAl, OHNA2, OHNA3, OHNA4).
  • INAl INA2, INA3
  • 4 outputs OHNAl, OHNA2, OHNA3, OHNA4.
  • the bias value BNR, BNL, BNO
  • wi weight value in the synapses
  • SRI synapses
  • SLl SLl ... 4, SOl ... 4
  • the RBF network has two layers.
  • the first layer is a hidden layer like the simple multilayer perceptron.
  • the weighted sums are calculated in a special function that has the shape of a bell curve.
  • the second layer of the RBF network is of the perpe- trone type with a linear output function. Therefore, the weights of this stage can be calculated analytically, so that no statistical iterative minimization process is required.
  • the second layer can realize various tasks.
  • One function is "mapping", where each output vector of the first layer is assigned a particular vector at the output of the second layer to define classes, for example, and the second layer allows the RBF network to use general function approximations leaves.
  • An implementation example of the cited FPSA could be a 3-input RBF network (INAl, INA2, INA3), a hidden layer consisting of 6 synapses (SB1,1, SB2,2, SC 1,1, SC2,2, SD 1,1, SD2,2) and 2 neurons (OHNBl, OHNB2) and an output layer consist of 4 synapses (SB 1,4, SB2, 4, SC 1.4, SC2, 4) and 2 neurons (OHNAl OHN A2), which Figure 15 shows.
  • the network operates like a simple classifier with a downstream output layer.
  • the two hidden neurons (OHNBl, OHNB2) work with the Gaussian function as activation.
  • the bias neurons (BNL, BNO, BNR) are used to reference the weight values stored in the synapses SL1, SL2, SO1, SO2, SR1 and SR2.
  • the synapses SAl 5 I, SA1.2, SA2.1, SA2,2, SA3.1, SA3,2, S Al, 4 and SA2,4 as well as the neuron blocks HNL4 and HNR4 are used for signal deflection. In these blocks, no weighting or activation is made.
  • the n-dimensional inputs are processed with as many arithmetic units as how clusters are to be determined. For three clusters, a network of three competitive units is needed.
  • a practically realizable WTA network for the cited FPSA which shows Figure 16, has 3 inputs (INAl, INA2, INA3) and 3 outputs (OHNAl, 0HNA2, 0HNA3).
  • the network is single-layered and fully networked with 9 synapses (SAl 5 I ... 3, SA2,1 ... 3, SA3.1 ... 3).
  • the outputs of each neuron (HNR1, HNR2, HNR3) are additionally switched to the inputs of all other neurons with 6 synapses (SB1,2, SB1,3, SB2.1, SB2,3, SB3.1, SB3,2) ,
  • the synapse blocks SD 1,4, SD2,4 and SD3,4 are not used as synapses, but are only used to connect the outputs of the neurons to the FPSA outputs.
  • Kohonen feature maps work similar to WTA networks. The difference is however, that the output is not limited to one unit and the number of clusters is not known before learning. The clustering is thus generated during learning.
  • FIG. 1 An example of how to implement a Kohonen network with 3 inputs and 3 outputs in the cited FPSA example is shown in FIG.
  • the network is exactly the same as in the WTA example.
  • the illustrated feedback connections through synapses SB1,2, SB1,3, SB2,1, SB2,3, SB3,1 and SB3,2 may not be formed during teaching.
  • the network consists of a single layer of n neurons.
  • the n neurons are totally networked with each other, i.
  • Each neuron has a connection to every other neuron (feedback, recursion).
  • the network is symmetrically weighted, i. the weight of the bond between neuron i and neuron j is equal to the weight of the connection between neuron j and neuron i.
  • Each neuron is assigned a linear threshold function as an activation function.
  • the Hopfield network converges - under certain conditions - to a quiescent state after a finite time.
  • Input of the neurons output of the neurons (autoassociation).
  • the Hopfield network in Figure 17 with 3 inputs (INAl, INA2, INA3) and 3 outputs (OHNAl, OHNA2, OHNA3) represents another implementation possibility of a topology in the FPSA.
  • the network is single-layered with 6 synapses (SB 1,2, SB 1,3, SB2,1, SB2,3, SB3,1, SB3,2) are fully fed back.
  • Each neuron HNR1, HNR2, HNR3 has a connection to every other neuron. No neuron, however, is directly connected to itself.
  • the synapse blocks SAI 5 I, SA 2, 2, SA 3, 3, SBI 5 I, SB 2, 2 and SB 3, 3 are not used as synapses, but merely serve to switch the inputs or outputs of the neurons to the FPSA input. or outputs.
  • the sensor market is one of the fastest growing segments in the entire microelectronics market. Based on standardized interfaces, it is possible to easily link sensors to networks.

Abstract

The invention relates to a field programmable synapses array (FPSA) for integration into a neuronal network and to a method for programming the FPSA. The aim of the invention is to provide a modular analog neuronal integrated system which comprises flexible yet very complex blocks of neuronal networks for recognition and classification problems. The inventive method combines a plurality of network topologies on an integrated array. The array can be controlled and structured from the exterior and, once configured, is a self-learning classification system that operates autonomously. The FPSA is characterized by an optimized array of connections (synapses) that are optimized in themselves and that are implemented on an integrated system having modular structures as a 'sea of synapses' having no topology, said structure forming a generic network of dendrites and axons. For the teaching the array, a linear function, a sigmoid function, a square function and a Gaussean function is used either individually or in combination.

Description

Beschreibung description
Feld Programmierbares Synapsen Array und Verfahren zu dessenField Programmable synapse Array and method for its
Programmierungprogramming
Technisches UmfeldTechnical environment
[0001] Die Erfindung ist ein Feld Programmierbares Synapsen Array (FPSA), ein intelligenter Prozessor und eine Chiplösung für die Integration eines neuronalen Netzes und ein Verfahren zur Programmierung des FPSA.The invention is a field Programmable Synapse Array (FPSA), an intelligent processor and a chip solution for the integration of a neural network and a method for programming the FPSA.
[0002] Künstliche neuronale Netze sind Modelle der Gehirnfunktion. Sie versuchen in Struktur und Funktionsweise Gehirnzellenkomplexe nachzubilden und dadurch eine tragfähige Simulation komplexer Denkvorgänge zu erzielen. Sie bieten ein Rechenmodell für die Informationsverarbeitung und sind damit eine Alternative zu den Computerrechenmodellen. Diese basieren weitgehend auf der Von- Neumann- Architektur. In der Literatur ist die Art der neuronalen Informationsverarbeitung sehr ausführlich dargestellt u.a. in [Rojas, R.; Neural Networks, Springer Verlag, Berlin u.a. 2002], [Zell, A.; Simulation neuronaler Netze; Oldenbourg- Verlag, Wien, 1994].Artificial neural networks are models of brain function. They try to simulate brain cell complexes in structure and function and thus to achieve a viable simulation of complex thinking processes. They provide a computational model for information processing and are thus an alternative to computational computer models. These are largely based on Von Neumann architecture. In the literature, the nature of neuronal information processing is shown in great detail u.a. in [Rojas, R .; Neural Networks, Springer Verlag, Berlin and others. 2002], [Zell, A .; Simulation of neural networks; Oldenbourg-Verlag, Vienna, 1994].
[0003] Lernfähigkeit und Parallelität der Verarbeitung zählen zu den wichtigstenLearning and parallelism of processing are among the most important
Merkmalen neuronaler Netze. Fehlertoleranz und Generalisierungsfähigkeit werden oft erreicht, hängen allerdings von der Wahl des Netzwerkmodells, der Netzwerkgröße und der Kodierung verarbeitenden Informationen (Ein- und Ausgabemuster) ab.Characteristics of neural networks. Fault tolerance and generalization capability are often achieved, but depend on the choice of network model, network size, and encoding processing information (input and output patterns).
[0004] Es gibt verschiedene Lernansätze für neuronale Netze: überwacht, unüberwacht und verstärkend.There are several learning approaches for neural networks: supervised, unsupervised and amplifying.
[0005] Beim überwachten Lernen (supervised learning) wird der Fehler zwischen berechnetem und gewünschtem Output minimiert. Bei der überwachten Lernphase wird einem Eingangsvektor (z.B. Symptome, Messwerte oder Bilder) ein Ausgangsvektor zugeordnet. Beim Einsatz eines neuronalen Netzes als Klassifikator erfolgt das Training ausschließlich mit den zu klassifizierenden Mustern. Nicht gelernte Muster und Störungen werden im späteren Einsatz als unbekannt klassifiziert.In supervised learning, the error between calculated and desired output is minimized. In the supervised learning phase, an output vector (e.g., symptoms, measurements or images) is assigned an output vector. When using a neural network as a classifier, the training takes place exclusively with the patterns to be classified. Unlearned patterns and faults are classified as unknown in later use.
[0006] Unüberwachtes Lernen (unsupervised learning) ist Lernen ohne im Voraus bekannte Zielwerte. Dabei können verschiedene Dinge gelernt werden. Beliebt sind die automatische Klassifikation (Clustering) oder die Komprimierung von Daten zur Dimensionsreduktion. Es ist die Optimierung von Gewichten basierend auf Kriterien, die das Netz selber hat.Unsupervised learning is learning without well-known goal values. Thereby different things can be learned. Popular are the automatic classification (clustering) or the compression of data for dimensionality reduction. It is the optimization of weights based on criteria that the network itself has.
[0007] Der Lernalgorithmus des bestärkenden Lernens (reinforcement learning) adaptiert Gewichte basierend auf Maximierung einer Belohnung (reward) bzw. Minimierung einer Bestrafung (punishment), die aufgrund des berechneten Outputs ausgesprochen wird.The learning algorithm of reinforcing learning adapts weights based on maximizing a reward, or minimizing punishment, which is pronounced on the basis of the calculated output becomes.
[0008] Ein Problem beim Einsatz neuronaler Netze ist die recht aufwendige Ermittlung der optimalen Netzstruktur und der Parameter, wie Ausgangsfunktionen der Neuronen, Schwelle, Minimum, Maximum, Lernregel, Lernrate und Anzahl der Lernschritte. Deshalb werden bei vielen Aufgaben aufwändige herkömmliche Verfahren (z.B. statistische oder regelbasierte Verfahren) eingesetzt, obwohl der Einsatz neuronaler Netze einfacher, schneller und preiswerter wäre.A problem with the use of neural networks is the rather complex determination of the optimal network structure and the parameters, such as output functions of the neurons, threshold, minimum, maximum, learning rule, learning rate and number of learning steps. Therefore, many tasks employ expensive conventional methods (e.g., statistical or rule-based methods), although the use of neural networks would be simpler, faster, and cheaper.
[0009] Neben der eigentlichen algorithmischen Aufgabe besteht noch die Anforderung der Implementierung. Wenn für eine gegebene Aufgabe eine bestimmte neuronale Struktur und Topologie gefunden wurde, ist es bei den Anforderungen an eine Embedded- Implementierung wichtig, eine geeignete Zielhardware zu finden. Hier spielen die Hardwareimplementierungen von neuronalen Netzen eine Rolle.In addition to the actual algorithmic task is still the requirement of implementation. When a given neural structure and topology is found for a given task, it is important in the embedded implementation requirements to find appropriate target hardware. Here the hardware implementations of neural networks play a role.
[0010] Bei der Untersuchung von bestehenden Neurohardware-Lösungen wird deutlich, dass die digitalen Realisierungen den Hauptteil der kommerziellen Produkte stellen. Das ist zum einen dadurch begründet, dass digitale Schaltungstechnik einfacher zu beherrschen ist als analoge. Zum anderen sind die Designtools für digitale Schaltungstechnik deutlich komfortabler und weiter automatisiert als vergleichbare Tools für analoge Schaltungsentwicklung. Durch die längeren Entwicklungszyklen in der Analog- im Vergleich zur Digitaltechnik, sind die Entwicklungskosten entsprechend höher.In examining existing neurohardware solutions, it is clear that the digital realizations make up the bulk of commercial products. This is due to the fact that digital circuitry is easier to master than analog. On the other hand, the design tools for digital circuit technology are much more convenient and more automated than comparable tools for analog circuit development. Due to the longer development cycles in analogue compared to digital technology, the development costs are correspondingly higher.
[0011] Analoge Schaltungstechnik ist besonders für die Implementierung bestimmterAnalog circuit technology is particularly for the implementation of certain
Funktionen des neuronalen Netzes deutlich effektiver als ihr digitales Pendant. Dazu zählen Multiplikationen und Aktivierungsfunktionen. Es ist zu erwarten, dass neben den digitalen Implementierungen auch die analogen Ansätze in Zukunft leistungsfähige Realisierungen neuronaler Netze hervorbringen werden.Functions of the neural network much more effective than its digital counterpart. These include multiplication and activation functions. It is to be expected that in addition to the digital implementations, the analog approaches will also produce powerful realizations of neural networks in the future.
[0012] Bisherige Implementierungen haben gezeigt, dass mit der analogen Realisierungsvariante von Multilayerperzeptren mit einem Hidden-Layer Informationsverarbeitungsgeschwindigkeiten in der Reproduktionsphase vom Eingang zum Ausgang des Netzes von unter 5 μs erreicht werden. Der nicht lernfähige Analogchip von INTEL, der ETANN, benötigt für eine Reproduktion 8 μs. Die Gewichtsgenauigkeit liegt bei 6 Bit.Previous implementations have shown that with the analog implementation variant of multilayer perceptions with a hidden layer, information processing speeds in the reproduction phase from the input to the output of the network of less than 5 μs are achieved. The non-adaptive analog chip from INTEL, the ETANN, requires 8 μs for a reproduction. The weight accuracy is 6 bits.
[0013] In dem Patent US 6513023 Bl geht es um die Implementierung eines analogen neuronalen Netzwerkes in Form eines MLP. Der Backpropagationalgorithmus wird mit On-Chip-Learning implementiert. Für das Neuron wird eine spezielle Schaltung vorgestellt, mit der die sigmoide Funktion und deren Ableitung abgebildet werden kann. Die Gewichte werden analog als Ladungen in Kapazitäten geladen und müssen regelmäßig aufgefrischt werden. Das Lernen erfolgt unter externer Überwachung.The patent US 6513023 Bl is about the implementation of an analog neural network in the form of an MLP. The back propagation algorithm is implemented with on-chip learning. For the neuron, a special circuit is presented, with which the sigmoid function and its derivative can be mapped. The weights are charged analogously as charges in capacities and must be refreshed regularly. Learning takes place under external supervision.
[0014] Nachteil der Erfindung ist, dass die Implementierung fest ist. Eine Skalierung ist nur über ein Neudesign möglich. Die Implementierung ist auf ein Netzwerk mit Back- propagation begrenzt. Es ist kein anderer Algorithmus verwendbar.Disadvantage of the invention is that the implementation is fixed. A scaling is only possible with a new design. The implementation is limited to a network with back propagation. There is no other algorithm usable.
[0015] In der Patentanmeldung WO 2003015027 A2 erfolgt das Lernen rein analog, die Gewichtsspeicherung erfolgt während der Lernphase analog kapazitiv in einem Kondensator und in der Arbeitsphase lokal digital in Registern hinter MDACs um nicht refreshen zu müssen. Hinzu kommt die globale Gewichtsspeicherung in einem Speicherblock und Überwachung, welche digital erfolgen. Es ist ein externer Controller notwendig, sodass dies keine reine On- Chip-Learning-/Self-Learnig-Implementierung darstellt. Die Analog- zu-Digital-Wandlung erfolgt durch 16 implementierte ADCs zeilenweise auf dem Chip. Auf dem Chip ist die Struktur des Multilayerperzeptrons frei wählbar. Der BPA mit Lernen ist hart verdrahtet. Es können keine anderen Algorithmen benutzt werden.In the patent application WO 2003015027 A2, the learning is purely analog, the weight storage takes place during the learning phase analog capacitively in a capacitor and in the working phase locally digital in registers behind MDACs to not have to refreshen. Added to this is the global weight storage in a memory block and monitoring, which are done digitally. An external controller is required, so this is not a pure on-chip learning / self-learning implementation. The analog-to-digital conversion is carried out by 16 implemented ADCs line by line on the chip. The structure of the multilayer perceptron is freely selectable on the chip. The BPA with learning is hard-wired. No other algorithms can be used.
[0016] Aus der Patentveröffentlichung DE 693 30 432 T2 ist ein Universaler neuronaler Netzwerkrechner und Superrechner bekannt. Es geht um die Implementierung eines zellularen neuronalen Netzes (CNN), eine mehrdimensionale Gitteranordnung einer Mehrzahl identischer Zellen. Jede Zelle agiert direkt mit einer vorgegebenen Anzahl von Zellen von r Nachbarschichten. Die r-Nachbarschaft ist das „Empfangsradiusfeld". Die Anwendung bestimmt, ob die Schichten von Nachbarzellen 2- oder 3-dimensional sind. Die Grundeinheit ist die Zelle mit linearen und nichtlinearen Schaltungselementen. Die Verbindung der Zellen wird je nach Anwendung durch eine KIo- nungsmaske bestimmt. Die vorgeschlagene Lösung ist ein CNN welches programmierbar ist, ohne dass dabei Hardwarekomponenten getauscht werden müssen.From the patent publication DE 693 30 432 T2 a universal neural network computer and supercomputer is known. It is about the implementation of a cellular neural network (CNN), a multi-dimensional grid arrangement of a plurality of identical cells. Each cell acts directly with a given number of cells of r neighboring layers. The r-neighborhood is the "receive radius field." The application determines whether the layers of neighbor cells are 2- or 3-dimensional The basic unit is the cell with linear and non-linear circuit elements. The proposed solution is a CNN which is programmable without hardware components having to be exchanged.
[0017] Nachteil dieser Veröffentlichung ist es, dass es sich um eine 2- oder 3-dimensionale Gitterstruktur handelt, in der die Prozessoren angeordnet sind. Es ist keine Struktur mit frei wählbarer Netztopologie. Die Prozessoren agieren nur in einer finiten Nachbarschaft miteinander. Damit bleibt die Anordnung auf wenige Algorithmen beschränkt.Disadvantage of this publication is that it is a 2- or 3-dimensional lattice structure in which the processors are arranged. It is not a structure with freely selectable network topology. The processors only interact with each other in a finite neighborhood. Thus, the arrangement is limited to a few algorithms.
[0018] In JP 2002358503 A wird allgemein die Steuerung von skalierbaren analogenIn JP 2002358503 A is generally the control of scalable analog
Blöcken durch digitale Switches und digitale Verbindungsschaltungen beschrieben. Die digitalen Schaltungsblöcke jeder Zelle sind die sogenannten „programmable devices". Die analogen Schaltungsblöcke können durch das Programmieren dieser „devices" konfiguriert, d.h. mit einander verbunden werden. Damit kann ein Netz strukturiert werden. Daneben sind Schaltungen, die jeweils zur Konfiguration des jeweiligen Blockes existieren. Außerdem gibt es jeweils einen Speicherblock, der die Information über den Schaltzustand der Switches und die Konfiguration der jeweiligen Schaltungen enthält.Blocks are described by digital switches and digital connection circuits. The digital circuit blocks of each cell are the so-called "programmable devices." The analog circuit blocks can be configured by programming these "devices", i. be connected with each other. This can be used to structure a network. In addition, there are circuits that each exist for configuring the respective block. In addition, there is a memory block each containing the information about the switching state of the switches and the configuration of the respective circuits.
[0019] Nachteilig ist hier, dass es eine sehr allgemeine Beschaltung von analogen und digitalen Schaltungsblöcken zur Umsetzung von Signalverarbeitungsfunktionen gibt. Für lernende Strukturen, wie sie für ein neuronales Netz benötigt werden, ist ein großer Aufwand vonnöten. Es bestehen keine vorbelegten Aktivierungsfunktionen, die entsprechend der Netztopologie und der verwendeten Neuronentypen ausgewählt werden kann. [0020] Die Nachteile der vorgenannten Lösungen sind, dassThe disadvantage here is that there is a very general circuit of analog and digital circuit blocks for the implementation of signal processing functions. For learning structures, as they are needed for a neural network, a great effort is needed. There are no pre-assigned activation functions that can be selected according to the network topology and neuron types used. The disadvantages of the aforementioned solutions are that
- Der Anwendungsingenieur die Chips bis in das kleinste Detail genau kennen muss, damit er die Schaltkreise einsetzen kann.- The application engineer must know the chips to the smallest detail so that he can use the circuits.
- Ein sehr großer schaltungstechnischer Aufwand betrieben werden muss, um diese Chips in einer Anwendung zu integrieren.- A very large circuit complexity must be operated to integrate these chips in one application.
- Entweder nur eine Netz-Topologie umgesetzt werden kann oder die Netztopologie von außen nicht programmierbar ist.- Either only one network topology can be implemented or the network topology is not programmable from the outside.
- Ein sehr großer schaltungstechnischer Aufwand betrieben werden muss, um die nichtlinearen Aktivierungsfunktionen zu integrieren.- A very large circuit complexity must be operated to integrate the non-linear activation functions.
Offenbarung der Erfindung Technisches ProblemDisclosure of Invention Technical Problem
[0021] Die Aufgabe der Erfindung ist die Bereitstellung eines modularen analogen neuronalen intergrierten Systems, welches sowohl sehr flexible, als auch sehr komplexe Blöcke neuronaler Netze für Erkennungs- und Klassifikationsprobleme enthält. Die neuronale Struktur auf der Anordnung soll schaltungstechnisch so gestaltet werden, dass eine möglichst große Anzahl von Netztopologien implementiert werden kann.The object of the invention is to provide a modular analog neuronal integrated system which contains both very flexible, as well as very complex blocks of neural networks for recognition and classification problems. The neural structure on the arrangement should be designed in such a way that the largest possible number of network topologies can be implemented.
[0022] Es ist weiterhin die Aufgabe durch ein Verfahren mehrere Netztopologien auf einer intergrierten Anordnung zu vereinen, so dass der Anwender durch Programmierung in der Lage ist, eine neuronale Netzwerk- Topologie zu wählen. Die Anordnung soll von außen kontrolliert und strukturiert werden können und trotzdem nach der Konfiguration ein autark arbeitendendes Klassifikationssystem sein, welches selbstständig lernt. Technische LösungIt is a further object to combine a plurality of network topologies on an integrated arrangement by a method so that the user is able by programming to select a neural network topology. The arrangement should be able to be controlled and structured from the outside and still be a self-sufficient classification system after the configuration, which learns independently. Technical solution
[0023] Die Lösung der Aufgabe erfolgt durch das erfindungsgemäße Feld- Programmierbare Synapsen Array und ein Verfahren zur Programmierung des FPSA, wie es in den Ansprüchen beschrieben wird.The object is achieved by the field programmable synapse array according to the invention and a method for programming the FPSA, as described in the claims.
[0024] Das Feld Programmierbare Synapsen Array ist dadurch gekennzeichnet, dass eine optimierte Anordnung in sich optimierter Verbindungen (Synapsen) topologielos als „sea of synapses" auf einem integrierten System mit modularer Struktur realisiert wird, welche ein generisches Netz von Dendriten und Axonen realisiert, wodurch Prozessoren (Neuronen) derart verschaltet werden, dass sie geschichtet werden und eine Vielzahl von Topologien neuronaler Netze abbilden. [0025] Für das Belehren der Anordnung wird eine lineare Funktion, eine Sigmoid-The Programmable Synapse Array field is characterized in that an optimized arrangement of optimized connections (synapses) is topologically realized as "sea of synapses" on an integrated system with modular structure, which realizes a generic network of dendrites and axons, whereby processors (neurons) are connected in such a way that they are layered and map a multiplicity of topologies of neural networks. For teaching the arrangement, a linear function, a sigmoid
Funktion, eine quadratische Funktion und eine gaußsche Funktion entweder einzeln oder in Kombination von mehreren verwendet.Function, a quadratic function and a Gaussian function either individually or in combination of several used.
[0026] Die bestehenden Entwicklungen sind mit der hier dargestellten Erfindung nicht zu vergleichen. Der wesentliche Vorteil dieser Lösung ist es, dass nach Produktion eines Standardchip-Releases festgelegt werden kann, welche konkrete Topologie (=Anwendung) implementiert werden soll.The existing developments can not be compared with the invention shown here. The main advantage of this solution is that after the production of a standard chip release it can be determined which concrete topology (= application) should be implemented.
[0027] Das neuronale Netz auf der integrierten Anordnung ist schaltungstechnisch so gestaltet, dass eine möglichst große Anzahl von Netztopologien implementiert werden kann.The neural network on the integrated device is circuitally designed so that the largest possible number of network topologies can be implemented.
[0028] Dazu werden die Synapsen so gestaltet, dass sie in einem Feld angeordnet sind und von außen über Programmierung nach Möglichkeit mit jedem Neuron verbunden werden können.For this purpose, the synapses are designed so that they are arranged in a field and can be connected from the outside via programming as far as possible with each neuron.
[0029] Die Anordnung besitzt, im Gegensatz zu anderen herkömmlichen neuronalen Hardwarelösungen, eine modulare Struktur. Damit können sowohl die Anzahl der benötigten Synapsen als auch die Form der Neuronen- Aktivierungsfunktionen variiert werden. In Abhängigkeit vom Lernprozess und der jeweils gewählten Netztopologie sowie den vorgegebenen Mustern lassen sich Toleranz und Trennschärfe direkt trainieren. Diese Eigenschaften führen dazu, dass eine Vielzahl von Embedded- Lösungen für komplexe Klassifikationsaufgaben überhaupt erst möglich wird.The arrangement has, in contrast to other conventional neural hardware solutions, a modular structure. Thus both the number of required synapses and the form of the neuron activation functions can be varied. Depending on the learning process and the selected network topology as well as the given patterns, tolerance and selectivity can be directly trained. These properties mean that a large number of embedded solutions for complex classification tasks becomes possible in the first place.
[0030] So wird der Forderung nach sowohl hochgradig flexiblen, als auch immer komplexeren Komponenten für Erkennungs- und Klassifikationsprobleme genügt.Thus, the requirement for both highly flexible, as well as more complex components for recognition and classification problems is sufficient.
[0031] Die gleichzeitige Integration einer digitalen Standard-Schnittstelle erhöht die Flexibilität und die Handhabbarkeit der Anorgnung. Im Zusammenhang mit der steigenden Akzeptanz neuronaler Lösungen für technische Klassifikationsprobleme öffnen sich dem geplanten Produkt breite Anwendungsmöglichkeiten. Selbst nach Produktion eines Chip-Releases können Netztopologien mit modernen Verfahren (z.B. evolutionäre, genetische und statistische Algorithmen) optimiert werden und in die zuvor produzierte Charge implementiert werden. Während bisher Fehler in einzelnen Blöcken des zu implementierenden neuronalen Netzes zum Verwerfen der gesamten Chip-Produktion führen, ist der Erfolg der Chip-Produktion nun nicht mehr abhängig von der Qualität des implementierten Netzes, da defekte Synapsen oder Neuronen abgeschaltet werden können.The simultaneous integration of a standard digital interface increases the flexibility and the handling of the Anorgnung. In connection with the increasing acceptance of neural solutions for technical classification problems, the planned product opens up wide application possibilities. Even after production of a chip release, network topologies can be optimized with modern methods (e.g., evolutionary, genetic, and statistical algorithms) and implemented into the previously produced batch. While hitherto errors in individual blocks of the neural network to be implemented lead to discarding the entire chip production, the success of the chip production is no longer dependent on the quality of the implemented network, since defective synapses or neurons can be switched off.
[0032] Mit diesen Eigenschaften kann die Entwicklungsarbeit (von Abhängigkeiten) entflechtet und parallelisiert werden, daWith these characteristics, the development work (of dependencies) can be unbundled and parallelized since
• durch das modulare Systemkonzept Modulentwickler parallel arbeiten können und der Abstimmungsaufwand reduziert wird.• be able to work in parallel with the modular system concept module developers and reduce the coordination effort.
• die Entwicklung der Netztopologien parallel und unabhängig von der Chip- Entwicklung erfolgen kann.• the development of network topologies in parallel and independent of the chip Development can take place.
• die Anwendungsentwicklung nicht auf die Fertigstellung bestimmter Chips• The application development does not affect the completion of certain chips
(ASICs) angewiesen ist, sondern auf standardisierte Produkt- Releases zurückgreifen kann. [0033] Mit einer variablen Anzahl von Verarbeitungseinheiten besitzt die Anordnung eine(ASICs), but can rely on standardized product releases. With a variable number of processing units, the arrangement has a
Struktur, die der Anwender selbst wählen kann. [0034] Mit einer Verarbeitungsgeschwindigkeit im Nanosekundenbereich benötigt derStructure that the user can choose himself. With a processing speed in the nanosecond range requires the
Schaltkreis nur einen Bruchteil der Zeit, die die bislang schnellsten Produkte für dieCircuit only a fraction of the time, which are the fastest products for the fastest
Reproduktion benötigen. [0035] Die Modularität der Netzwerktopologie führt zu einer einfacheren Handhabung durch den Anwendungsingenieur. Dadurch wird die Hemmschwelle zum Umstieg auf eine neuronale Lösung gesenkt. [0036] Es sind neuartige Anwendungen in den Bereichen Auswertung von Sensorarrays in der Automotiv-Industrie, in der Druckindustrie sowie in der Luft- und Raumfahrt denkbar.Need reproduction. The modularity of the network topology results in easier handling by the application engineer. This reduces the inhibition threshold for switching to a neuronal solution. There are novel applications in the areas of evaluation of sensor arrays in the automotive industry, in the printing industry and in the aerospace conceivable.
Kurze Beschreibung von Zeichnungen [0037] Die Erfindung wird anhand von Beispielen näher erläutert. Dabei zeigen dieBrief Description of Drawings The invention will be further described by way of example. The show
Figuren:Characters:
[0038] Figur 1 Synapsenblock mit Register [0039] Figur 2 Neuronenfunktionen [0040] Figur 3 Hiddenneuroenenblock [0041 ] Figur 4 Input-Hidden- Output-Neuronenblock [0042] Figur 5 Perzeptron-Typ [0043] Figur 6 Nearest-Neighbour-Typ [0044] Figur 7 Beispiel zum Netzaufbau [0045] Figur 8 Einschichtiges Perzeptronnetz und Synapsen mit linearer bzw. nichtlinearerFIG. 1 Synapse block with register FIG. 2 Neuron functions FIG. 3 Hidden neuron block FIG. 4 Input hidden output neuron block FIG. 5 Perceptron type FIG. 6 Nearest neighbor type FIG. 7 Example for Network Construction FIG. 8 Single-layer perceptron network and synapses with linear or non-linear
Aktivierungsfunktion, Netz bestehend aus 4 Eingängen, 16 Synapsen und 4 Ausgängen [0046] Figur 9 Perzeptronnetz mit einer versteckten Schicht, Netz bestehend aus 4Activation function, network consisting of 4 inputs, 16 synapses and 4 outputs Figure 9 Perceptive network with a hidden layer, network consisting of 4
Eingängen, 16 versteckten Synapsen, 4 versteckten Neuronen, 16 Ausgangssynapsen und 4 Ausgangsneuronen [0047] Figur 10 Perzeptronnetz mit zwei versteckten Schichten, Netz bestehend aus 4Inputs, 16 hidden synapses, 4 hidden neurons, 16 output synapses and 4 output neurons Figure 10 perceptron network with two hidden layers, network consisting of 4
Eingängen, 16 versteckten Synapsen und 4 versteckten Neuronen in der ersten versteckten Schicht, 16 versteckten Synapsen und 4 versteckten Neuronen in der zweiten versteckten Schicht, 16 Ausgangssynapsen und 4 Ausgangsneuronen [0048] Figur 11 Perzeptronnetz mit drei versteckten Schichten, Netz bestehend aus 4Inputs, 16 hidden synapses and 4 hidden neurons in the first hidden layer, 16 hidden synapses and 4 hidden neurons in the second hidden layer, 16 output synapses and 4 output neurons Figure 11 Perceptual mesh with three hidden layers, mesh consisting of 4
Eingängen, 16 versteckten Synapsen und 4 versteckten Neuronen in der ersten versteckten Schicht, 16 versteckten Synapsen und 4 versteckten Neuronen in der zweiten versteckten Schicht, 16 versteckten Synapsen und 4 versteckten Neuronen in der dritten versteckten Schicht, 16 Ausgangssynapsen und 4 AusgangsneuronenInputs, 16 hidden synapses and 4 hidden neurons in the first hidden layer, 16 hidden synapses and 4 hidden neurons in the second hidden layer, 16 hidden synapses and 4 hidden neurons in the third hidden layer, 16 output synapses and 4 output neurons
[0049] Figur 12 2 parallele Perzeptronnetze mit je 2 Eingängen, je einer versteckten Schicht bestehend aus 4 Synapsen und 2 Neuronen und je einer Ausgangsschicht bestehend aus 4 Synapsen und 2 AusgängenFIG. 12 shows two parallel perceptron networks with two inputs each, one hidden layer each consisting of four synapses and two neurons and one output layer each consisting of four synapses and two outputs
[0050] Figur 13 Ein erstes Perzeptronnetz mit 2 Eingängen, einer versteckten Schicht bestehend aus 4 Synapsen und 2 Neuronen und einer Ausgangsschicht bestehend aus 4 Synapsen und 2 Ausgängen und ein zweites Perzeptronnetz mit 2 Eingängen, einer ersten versteckten Schicht bestehend aus 4 Synapsen und 2 Neuronen, einer zweiten versteckten Schicht bestehend aus 4 Synapsen und 2 Neuronen und einer Ausgangsschicht bestehend aus 4 Synapsen und 2 AusgängenFigure 13 A first perceptron network with 2 inputs, a hidden layer consisting of 4 synapses and 2 neurons and an output layer consisting of 4 synapses and 2 outputs and a second perceptron network with 2 inputs, a first hidden layer consisting of 4 synapses and 2 Neurons, a second hidden layer consisting of 4 synapses and 2 neurons and an output layer consisting of 4 synapses and 2 outputs
[0051] Figur 14 Netz zur einfachen Klassifizierung mit 3 Eingängen und 4 AusgängenFigure 14 network for easy classification with 3 inputs and 4 outputs
[0052] Figur 15 RB F- Netz mit 3 Eingängen, einer versteckten Schicht bestehend aus 6Figure 15 RB F network with 3 inputs, a hidden layer consisting of 6
Synapsen und 2 Neuronen und einer Ausgangsschicht bestehend aus 4 Synapsen und 2 NeuronenSynapses and 2 neurons and an output layer consisting of 4 synapses and 2 neurons
[0053] Figur 16 Winner-Take- All-Netz mit 3 Eingängen, 3 Ausgängen und 15 Synapsen. Bei Nichtausbildung aller Synapsenverbindungen kann dieses Netz auch als Kohonen Feature Maps angesehen werden.Figure 16 winner-take-all network with 3 inputs, 3 outputs and 15 synapses. If all synapse connections are not trained, this network can also be considered a Kohonen feature map.
[0054] Figur 17 Hopfield-Netz bestehend aus 3 Eingängen, 3 Ausgängen und 6 SynapsenFigure 17 Hopfield network consisting of 3 inputs, 3 outputs and 6 synapses
[0055] Voraussetzung für die Umsetzung ist ein streng objekt-orientiertes (modulares und hierarchisches) Systemkonzept mit klar definierten Schnittstellen zwischen den Hierarchie- und Modul-Ebenen und den Instanzen einer Modul-Ebene, z.B.Prerequisite for the implementation is a strictly object-oriented (modular and hierarchical) system concept with clearly defined interfaces between the hierarchy and module levels and the instances of a module level, e.g.
- System- System
- Funktionsblöcke Netz- Function blocks network
- Topologie (bzw. Parallelprozessor-Anordnung) Segmente- Topology (or parallel processor arrangement) segments
- Neuron (bzw. Prozessor)- Neuron (or processor)
- Dendrit- dendrite
- Axon- axon
- Synapse- Synapse
[0056] Dieses Systemkonzept hat den Vorteil, dass die verschiedenen Modul-Ebenen unabhängig voneinander optimiert und standardisiert werden können.This system concept has the advantage that the various module levels can be optimized and standardized independently of each other.
[0057] Unter dieser Voraussetzung kann auf dem Chip eine optimierte Anordnung in sich optimierter Verbindungen (Synapsen) zunächst topologielos als „sea of synapses" realisiert werden.Under this condition, an optimized arrangement of optimized connections (synapses) can initially be realized on the chip topologically as "sea of synapses".
[0058] Mit dieser Anordnung wird ein generisches Netz von Dendriten und Axonen realisiert, welches Prozessoren (Neuronen) derart verschaltet, dass sie geschichtet werden können und eine Vielzahl von Topologien neuronaler Netze abbilden können.With this arrangement, a generic network of dendrites and axons realized, which processors (neurons) interconnected so that they can be layered and can map a variety of topologies neural networks.
[0059] Die Anordnung erfolgt so, dass nach der Produktion des Chips eine konkrete anwendungsspezifische Topologie in den Chip „gebrannt" werden kann.The arrangement is such that after production of the chip, a specific application-specific topology can be "burned" into the chip.
[0060] In Analogie zu FPGAs und FPAAs lässt sich diese Anordnung als FPSA (Field-Programmable Synapses-Array) bezeichnen.In analogy to FPGAs and FPAAs, this arrangement can be described as FPSA (Field Programmable Synapses Array).
[0061] Die auf dieser einheitlichen Technologie basierenden FPSA-Schaltkreise lassen sich in unterschiedlichen Skalierungsstufen für verschiedene Anwendungsgebiete produzieren und so ein diversifiziertes Portfolio von Standard-Produkten erzeugen, die für die jeweilige Anwendung maßgeschneidert werden können.The FPSA circuits based on this uniform technology can be produced in different scaling stages for different fields of application and thus produce a diversified portfolio of standard products that can be tailored to the respective application.
[0062] Für das Belehren des Chips wird ein Verfahren entwickelt, mit dem ein selbststän diges Anpassen des neuronalen Netzes möglich ist. Der Reproduktionspfad kann voll integriert sein. Die Gewichte werden in dieser Variante extern auf einem Rechner gelernt und dann komplett geladen.For the teaching of the chip, a method is developed, with which a selbststän ended fitting the neural network is possible. The reproduction path can be fully integrated. In this variant, the weights are learned externally on a computer and then loaded completely.
[0063] Der modulare Chip ist ein neuronaler Klassifikator, der selbstständig lernt. DasThe modular chip is a neural classifier that learns independently. The
Lernen wird beim überwachten Lernen jedoch von einem Trainer überwacht. Beim un- überw achten Lernen werden u.a. Ähnlichkeiten gesucht und entsprechenden Clustern zugeordnet.However, learning is supervised by a trainer during supervised learning. In the case of uncontrolled learning, i.a. Find similarities and assign them to corresponding clusters.
[0064] Die Abmessungen dieser Einheit ermöglichen erstmals den Einsatz verschiedener Topologien neuronaler Netze in einem sensornahen System für mobile und autonome Anwendungen und Geräte. Diese einfachere und schnellere Realisierung eines neuronalen Netzes auf der Basis eines derartigen Chips soll bisherige Implementierungsvarianten ablösen und künstlichen neuronalen Netzen u.a. für Entscheidungsaufgaben in Verbindung mit Sensoren und Messwertaufnehmern wesentlich vereinfachen.The dimensions of this unit allow for the first time the use of different topologies neural networks in a sensor-related system for mobile and autonomous applications and devices. This simpler and faster implementation of a neural network on the basis of such a chip is intended to replace previous implementation variants and artificial neural networks u.a. significantly simplify decision-making in connection with sensors and transducers.
[0065] Eigenschaften des Netzes:Properties of the network:
- allgemeine Strukturvariabilität, d. h. variabler Algorithmus und skalierbare Netzgröße (Grenze: Anzahl der Synapsen)general structural variability, d. H. variable algorithm and scalable mesh size (limit: number of synapses)
- variable Anzahl von versteckten Schichten möglich (max. 4)- variable number of hidden layers possible (max 4)
- mehrere Netze parallel und unabhängig voneinander implementierbar [0066] Die Signalübertragung zwischen Neuronen, Synapsen, Ein- und Ausgängen erfolgt durch differenzielle Ströme. [0067] Synapsen [0068] Alle Synapsen im Synapsenarray sind gleich aufgebaut und realisieren die gleichen- Several networks can be implemented in parallel and independently of one another. The signal transmission between neurons, synapses, inputs and outputs is effected by differential currents. [0067] Synapses All synapses in the synapse array have the same structure and implement the same
Funktionen (Figur 1). Dies sind zum einen die Speicherung eines Gewichtswertes inFunctions (Figure 1). These are the storage of a weight value in
Form einer digitalisierten Spannung durch Speicherung in digitalen Registern oderForm of a digitized voltage by storage in digital registers or
RAM-Zellen. [0069] Zum anderen wird in der Synapse die Multiplikation des gespeicherten Ge- wichtswertes mit dem an der Synapse anliegenden Eingangswert durchgeführt (w *x ). [0070] Wird der Gewichtswert digital gespeichert, muss in der Synapse ein DAC implementiert sein. Die Umwandlung der analogen Gewichtswerte in digitale Bitmuster erfolgt durch ein Netz aus geschalteten:RAM cells. On the other hand, in the synapse the multiplication of the stored weight value with the input value applied to the synapse (w * x). If the weight value is stored digitally, a DAC must be implemented in the synapse. The conversion of the analog weight values into digital bit patterns is done by a network of switched:
1. Kapazitäten,1. capacities,
2. Widerständen oder2. resistors or
3. Stromquellen.3. Power sources.
[0071] Die Synapsen sind adressierbar, so dass Gewichtswerte hinein geschrieben oder heraus gelesen werden können.The synapses are addressable so that weight values can be written in or read out.
[0072] Die funktionale Sonderform Biassynapse ist genau wie die Synapse aufgebaut und kann auch als solche verwendet werden.The functional special form Biassynapse is constructed exactly like the synapse and can also be used as such.
[0073] Die Synapsen sind in Blöcken zu jeweils vier angeordnet. Zwischen den oberen und unteren sowie zwischen den rechten und linken beiden sind je vier Doppeldrahtleitungen angeordnet. Die Ein- und Ausgänge der Synapsen können durch:The synapses are arranged in blocks of four each. Between the upper and lower as well as between the right and left two four four-wire cables are arranged. The inputs and outputs of the synapses can be:
1. variable Programmierung von Transistorgates oder1. variable programming of transistor gates or
2. feste Programmierung durch Fuses2. Fixed programming by fuses
[0074] auf diese Leitungen beliebig aufgeschaltet werden. Dabei dürfen die zwei diffe- renziellen Ein- und Ausgangsleitungen einer Synapse jedoch nur jeweils auf eine Leitung verdrahtet werden. Dabei können jedoch mehrere differentielle Ein- bzw. Ausgangsleitungen von unterschiedlichen Synapsen auf den gleichen Leitungspaaren verdrahtet sein.[0074] Any connection can be made to these lines. However, the two differential input and output lines of a synapse may only be wired to one line at a time. However, several differential input and output lines of different synapses on the same cable pairs can be wired.
[0075] Um die Programmierung vornehmen zu können, ist in jedem Synapsenblock ein Register vorgesehen, in dem die Schalterstellung kodiert gespeichert wird.In order to make the programming, a register is provided in each synapse block, in which the switch position is stored coded.
[0076] NeuronenNeurons
[0077] Im Netz gibt es unterschiedliche Neuronen-Formen. Allgemein haben sie jedoch die Aufgabe, die Berechnung eines Funktions wertes aus der Summe der an ihrem Eingang anliegenden Signale zu berechnen.There are different neuron forms in the network. In general, however, they have the task of calculating the calculation of a function value from the sum of the signals present at its input.
[0078] Es werden vier Funktionen (Figur 2) für die Neuronen bereitgestellt. Dies sind:Two functions (FIG. 2) are provided for the neurons. These are:
1. die lineare Funktion,1. the linear function,
2. die sigmoide Funktion,2. the sigmoid function,
3. die quadratische Funktion und3. the quadratic function and
4. die gaußsche Funktion.4. the gaussian function.
[0079] Die Sigmoid-Funktion ist neben der linearen Funktion die Standardaktivierungsfunktion. Beide werden topologisch betrachtet in den Hiddenschichten und der Ausgangsschicht zur Verfügung gestellt. Die Sigmoid Funktion wird insbesondere beim Multilayerperzeptron verwendet.The sigmoid function is the standard activation function in addition to the linear function. Both are topologically provided in the hidden layers and the source layer. The sigmoid function is used in particular with the multilayer perceptron.
[0080] Die quadratische Funktion kann nur in den Hiddenschichten eingesetzt werden, während die gaußsche Funktion (Nearest Neighbour) nur in der Ausgangsschicht verwendet werden kann Die Funktionsverläufe können jeweils über verschiedene Parameter eingestellt werden (z.B. Sigmoid- Funktion - Steilheit über Arbeitsstrom veränderbar).The quadratic function can be used only in the hidden layers, while the Gaussian (Nearest Neighbor) function only in the output layer The function curves can each be set via various parameters (eg sigmoid function - slope can be changed via working current).
[0081] Von den vier Funktionen kann entweder eine ausgewählt oder eine Kombination von mehreren vorgenommen werden.Of the four functions, either one selected or a combination of several may be made.
[0082] Die Hiddenneuronenfunktionen können in besonderen Fällen auch eine synaptische Funktionsaufgabe übernehmen. Soll, wie z.B. beim Nearest-Neighbor-Netz, durch eine Synapse die Funktion zur Berechnung des euklidischen Abstandes (w -x ) ausgeführt werden, kann dies hier mit durch die Summe von (w -2*w x +x ) umgesetzt werden.The hidden neuron functions can also assume a synaptic function task in special cases. Should, for example In the case of the nearest-neighbor network, the function for calculating the Euclidean distance (w-x) is executed by a synapse, this can be implemented here by the sum of (w -2 * w x + x).
Dabei wird der Wert w in einer Biassynapse, der Wert -2*w x in einer allgemein verwendbaren Synapse und der Wert x 2 in einem Hiddenneuron erzeugt und dieThe value w is generated in a biassynapse, the value -2 * wx in a general synapse and the value x 2 in a hidden neuron and the
Ausgänge auf einem Knoten zu (wi-xi)2 addiert.Outputs on a node added to (wi-xi) 2 .
[0083] Die Neuronenfunktionen sind zu Blöcken zusammengefasst. Die Verdrahtung erfolgt wie bei den Synapsen durch Programmierung eines Registers. Für die Hidden- neuronenblöcke (Figur3) ist jeweils ein Block mit der linearen, einer mit der Sigmoid- und einer mit der quadratischen Funktion zusammen mit einer Synapse implementiert. Die Synapse kann dabei z.B. als Bias- oder Rückkopplungssynapse eingesetzt werden, was bei rückgekoppelten Netzen erforderlich ist. Diese Neuronenblöcke sind am linken, rechten und oberem Rand des Netzes platziert.The neuron functions are combined into blocks. The wiring is done as with the synapses by programming a register. For the hidden neuron blocks (FIG. 3), one block each is implemented with the linear, one with the sigmoid function and one with the quadratic function together with a synapse. The synapse can be e.g. be used as a bias or feedback synapse, which is required in fed-back networks. These neuron blocks are placed on the left, right and top edges of the mesh.
[0084] Am unteren Rand sind Blöcke mit drei Eingängen und je zwei Neuronen angeordnet. Diese Output-Hidden-Neuronenblöcke (Figur4) können wahlweise als Neuronen der Hidden- oder Ausgangsschicht behandelt werden. Dabei enthält das eine Neuron die lineare und die sigmoide Funktion und das andere Neuron die lineare und die gaußsche Funktion. Diese beiden Neuronen enthalten keine Verbindungen zu Bias- oder Rückkopplungssynapsen. Dafür ist in ihnen aber ein zuschaltbarer Treiber implementiert, der es ermöglicht, externe Lasten anzusteuern, ohne dass zusätzlicher schaltungstechnischer Aufwand zwischen Chip und angeschlossenen Aktuatoren benötigt wird. Gleichzeitig wird dadurch der Einfluss zusätzlicher Fehlerquellen auf die Ausgangssignale der Anordnung vermieden, da der Signalfluss zwischen Sensor und Aktuator extrem kurz gehalten wird. Es erfolgt keine Analog/Digital- oder Digital/ Analog-Wandlung. Außerdem werden im optimalen Fall keine weiteren Treiber und Wandler benötigt.At the bottom are blocks with three inputs and two neurons each. These output-hidden neuron blocks (Figure 4) can optionally be treated as neurons of the hidden or output layer. One neuron contains the linear and the sigmoid function and the other neuron the linear and Gaussian functions. These two neurons do not contain connections to bias or feedback synapses. But a switchable driver is implemented in them, which makes it possible to control external loads without the need for additional circuitry between the chip and connected actuators. At the same time the influence of additional sources of error on the output signals of the arrangement is avoided because the signal flow between the sensor and the actuator is kept extremely short. There is no analog / digital or digital / analog conversion. In addition, no further drivers and converters are needed in the optimal case.
[0085] In Figur 5 wird der Perzeptron-Typ dargestellt. Beim Perzeptron-Typ werden die Eingangssignale gewichtet (mit einem Gewichts wert multipliziert). Anschließend erfolgt eine Summation der gewichteten Eingangssignale. Dies entspricht mathematisch dem Skalarprodukt. Nach der Skalarbildung erfolgt die Übertragung der Summe durch eine spezielle Funktion (linear, sigmoid, sprungförmig).FIG. 5 shows the perceptron type. In the perceptron type, the input signals are weighted (multiplied by a weight value). This is followed by a summation of the weighted input signals. This corresponds mathematically to the scalar product. After scalar formation, the sum is transferred by a special function (linear, sigmoid, jump-shaped).
[0086] Mit diesem Typ lassen sich alle möglichen Vernetzungstopologien realisieren, die dann z.B. zum sogenannten Multilayerperzeptron werden.With this type, all possible networking topologies can be realized then, for example, become the so-called multilayer perceptron.
[0087] Figur 6 zeigt den Nearest-Neighbour-Typ. Beim „Nearest-Neighbour-Typ" wird die Differenz zwischen Eingangssignal und Gewicht gebildet und diese anschließend quadriert. Es wird dann die Summe der Quadrate gebildet.FIG. 6 shows the nearest neighbor type. In the nearest neighbor type, the difference between the input signal and the weight is formed and then squared, and the sum of the squares is then formed.
[0088] Zieht man noch die Quadratwurzel aus der Summe, entspricht dies der Berechnung des Abstandes (eukliedische Distanz) zwischen anliegendem Signal und gespeichertem Gewichtsvektor (daher der Name „Nächster Nachbar"). Dies ist für die Funktion des Netzes aber nicht entscheidend. Es hätte aber den Vorteil, dass dieser Wert bei 1 bis 3-dimensionalen Vektoren geometrisch interpretierbar ist, wie etwa im 3-dimensionalen Farbraum.If one subtracts the square root of the sum, this corresponds to the calculation of the distance (Eukliedische distance) between applied signal and stored weight vector (hence the name "nearest neighbor") .This is not crucial for the function of the network but would have the advantage that this value is geometrically interpretable in 1 to 3-dimensional vectors, such as in the 3-dimensional color space.
[0089] Mit dem „Nearest-Neighbour-Typ" eröffnen sich (durch einige Zusätze) eine ganze Reihe von Netzvarianten, die bekannt sind als:With the "Nearest Neighbor type" opens (by some additions) a whole series of network variants, which are known as:
- Radial Basisfunktionen Netze (RBF)- Radial Basis Functions Networks (RBF)
- Generalized Regression Networks (GRNN) Probabilistic Neural Networks (PNN)- Generalized Regression Networks (GRNN) Probabilistic Neural Networks (PNN)
- Self-Organizing Maps (SOM) (auch Kohonen Feature Maps)- Self-Organizing Maps (SOM) (also Kohonen Feature Maps)
- Learning Vector Quantization Networks (LVQ)- Learning Vector Quantization Networks (LVQ)
[0090] Es muss betont werden, dass sich hinter den verschiedenen Netzvarianten nicht immer eine andere Architektur versteckt, sondern dass vielmehr eine Trainingsmethode oder Nutzungsweise für die Bezeichnung verantwortlich ist.It must be emphasized that behind the different network variants does not always hide another architecture, but rather that a training method or usage is responsible for the name.
[0091] Perzeptronnetze - eine Schicht und lineare ÜbertragungsfunktionPerceptronnets - a layer and linear transfer function
[0092] Dies ist der einfachste Fall eines Perzeptronnetzes. Das Interessante hieran ist, dass die Gewichte analytisch berechnet werden können. Es existiert genau ein globales Minimum. Nutzen kann man diese Netzform z.B. für lineare Farbraumtransformationen etwa zur Sensorkorrektur oder für Umrechnungen zwischen verschiedenen Farbmonitortypen.This is the simplest case of a perceptronnetzes. The interesting thing is that the weights can be calculated analytically. There is exactly one global minimum. One can use this network form, e.g. for linear color space transformations such as for sensor correction or for conversions between different color monitor types.
[0093] Perzeptronnetze - Eine Schicht und nichtlineare ÜbertragungsfunktionPerceptronnets - A layer and non-linear transfer function
[0094] Die Gewichte lassen sich bedingt analytisch berechnen. Mit einem einfachen iterativen Minimierungsverfahren findet man ein globales Minimum.The weights can be calculated conditionally analytically. With a simple iterative minimization method one finds a global minimum.
[0095] Perzeptronnetze - Mehrere Schichten[0095] Perceptronnets - multiple layers
[0096] Die Bestimmung der Gewichte für die zu lösende Aufgabe kann nur noch mit einem statistischen iterativen Minimierungsverfahren erfolgen (Lernen). Es existiert im Allgemeinen eine Vielzahl lokaler Minima. Daher ist der Erfolg der Gewichtsfindung nicht vorhersagbar sondern zufällig. Es ist auch nicht möglich, die geeignete Topologie der Vernetzung für eine bestimmte Aufgabe anzugeben, da keine analytischen Zusammenhänge zwischen Aufgabentyp und Topologieeigenschaften existieren. Der Mi- nimierungsprozess kann evtl. sehr viele Iterationen erfordern und daher (je nach Rechenleistung) viel Zeit erfordern. [0097] Prinzipiell können mit mehrschichtigen Perzeptronnetzen Klassifikations- undThe determination of the weights for the task to be solved can only be done with a statistical iterative minimization method (learning). There are generally a variety of local minima. Therefore, the success of weight determination is not predictable but random. It is also not possible to specify the appropriate topology of meshing for a particular task because there are no analytical relationships between task type and topology properties. The minimization process may require a great deal of iterations and may require a lot of time (depending on the computing power). In principle, with multilayer perceptron networks classification and
Funktionsapproximationsaufgaben gelöst werden. Anzumerken ist allerdings, dass eine wirkliche Klassifikation erst durch eine Zusatzschicht möglich wird, aus der nämlich aus dem Ausgangs vektor des Netzes durch z.B. eine Maximumsbestimmung die Klasse hervorgeht.Function approximation tasks are solved. It should be noted, however, that a real classification becomes possible only through an additional layer, namely from the output vector of the network by e.g. a maximum determination the class emerges.
[0098] Die Qualität einer Funktionsapproximation ist schwer zu überprüfen, da nicht der gesamte (mehrdimensionale) Signalbereich durchgefahren werden kann. Es ist daher möglich, dass die Reaktion des Netzes auf ein bestimmtes Eingangssignal unvorhersehbar vom gewünschten Verhalten abweicht.The quality of a function approximation is difficult to verify, since not the entire (multi-dimensional) signal range can be traversed. It is therefore possible that the response of the network to a particular input signal unpredictably deviates from the desired behavior.
[0099] Nearest-Neighbour-Typ - einfacher KlassifiziererNearest Neighbor Type - Simple Classifier
[0100] An dieser Stelle sollen exemplarisch nur zwei einfache Vertreter aufgeführt werden, an denen die wesentlichen Eigenschaften deutlich werden.At this point, only two simple representatives are to be listed by way of example, on which the essential properties become clear.
[0101] Dieses Netz hat nur eine Schicht und keine spezielle Übertragungsfunktion. Es kann direkt die Summe am Ausgang ausgewertet werden. In den Gewichten werden die sogenannten Prototypen einer Klasse gespeichert. Durch die Berechnung des Netzes entsteht am Ausgang des Netzes ein Vektor, der die (quadratischen) Abstände des Eingangssignals zu den gespeicherten Klassenprototypen repräsentiert. Durch eine Bestimmung des minimalen Ausgangssignals ist die passende Klasse gefunden. Im Idealfall ist das Minimum Null, weil Eingangssignal und Prototyp identisch sind.This network has only one layer and no special transfer function. It can be directly evaluated the sum at the output. In the weights, the so-called prototypes of a class are stored. The calculation of the network produces at the output of the network a vector which represents the (quadratic) distances of the input signal to the stored class prototypes. By determining the minimum output signal, the appropriate class is found. Ideally, the minimum is zero because the input signal and prototype are identical.
[0102] Dieser Netztyp eignet sich sehr gut für Klassifikationsaufgaben, bei denen Klassenprototypen angegeben werden können und wo keine weitere Umdeutung (mapping) der Ausgangssignale notwendig ist. Ein bekanntes Beispiel ist die Klassifizierung von Farben.This network type is very well suited for classification tasks in which class prototypes can be specified and where no further re-mapping of the output signals is necessary. A well-known example is the classification of colors.
[0103] Vorteilhaft ist, dass durch die Topologie (Anzahl der Ein- und Ausgänge) genau feststeht, was der Chip leistet und was nicht. Es kann also schon vorher gesagt werden, ob eine Aufgabe lösbar ist oder nicht.It is advantageous that is determined by the topology (number of inputs and outputs) exactly what the chip and what does not. It can therefore be said in advance whether a task is solvable or not.
[0104] Nearest-Neighbour-Typ -RBF-NetzNearest Neighbor Type RBF Network
[0105] Das RBF-Netz hat zwei Schichten. Die erste Schicht ist mit dem Eingang vollverdrahtet, wie beim einfachen Multilayerperzeptron. Allerdings werden die ge- wichteten Summen in einer speziellen Funktion berechnet, die eine Glockenform hat. Damit liefert die Schicht für Testmuster die außerhalb der Trainingsmuster liegen nur geringe Aktivitäten, da nur Bereiche, die innerhalb der jeweiligen Glocken liegen zu Aktivitäten der Neuronen führen. Die zweite Schicht des RBF-Netzes ist vom Per- zeptrontyp mit linearer Ausgangsfunktion. Daher lassen sich die Gewichte dieser Schicht analytisch berechnen, so dass kein statistischer iterativer Minimierungsprozess erforderlich ist.The RBF network has two layers. The first layer is fully wired to the input, as in the simple multilayer perceptron. However, the weighted sums are calculated in a special function that has a bell shape. Thus, the layer provides for test patterns that are outside the training pattern only minor activities, since only areas that lie within the respective bells lead to activities of the neurons. The second layer of the RBF network is of the perpe- trone type with a linear output function. Therefore, the weights of this layer can be calculated analytically, so that no statistical iterative minimization process is required.
[0106] Die zweite Schicht kann verschiedene Aufgaben realisieren (alles, was ein einschichtiges Netz eben kann). Eine Funktion ist das „Mappen". Dabei wird jedem Aus- gangsvektor der ersten Schicht ein bestimmter Vektor am Ausgang der zweiten Schicht zugeordnet um z.B. Klassen zu definieren.The second layer can realize various tasks (anything that a single-layered network can do). One function is "mapping". transition vector of the first layer assigned a specific vector at the output of the second layer, for example, to define classes.
[0107] Weiterhin kann durch die zweite Schicht ermöglicht werden, dass sich das RBF- Netz für allgemeine Funktionsapproximationen verwenden lässt.Furthermore, the second layer may allow the RBF network to be used for general functional approximations.
[0108] Vorteilhaft ist hier die Eigenschaft, dass prinzipbedingt keine unvorhersehbarenAdvantageous here is the property that inherently no unpredictable
Reaktionen des Netzes auf unbekannte Eingangssignale entstehen können, da das Netz immer nur zwischen den gespeicherten Stützstellen interpoliert.Reactions of the network can arise to unknown input signals, since the network interpolates only between the stored nodes.
[0109] Die Hiddenneuronenfunktionen können in besonderen Fällen auch eine synaptische Funktionsaufgabe übernehmen. Soll, wie z.B. beim Nearest-Neighbor-Netz, durch eine Synapse die Funktion zur Berechnung des euklidschen Abstandes (w -x ) ausgeführt werden, kann dies hiermit durch die Summe von (w -2*w x +x umgesetzt werden.The hidden neuron functions can also assume a synaptic function task in special cases. Should, for example In the nearest neighbor network, the function for calculating the Euclidean distance (w-x) is performed by a synapse, this can be implemented by the sum of (w -2 * w x + x).
Dabei wird der Wert w in einer Biassynapse, der Wert -2*w x in einer allgemein verwendbaren Synapse und der Wert x 2 in einem Hiddenneuron erzeugt und dieThe value w is generated in a biassynapse, the value -2 * wx in a general synapse and the value x 2 in a hidden neuron and the
Ausgänge auf einem Knoten zu (wi-xi)2 addiert.Outputs on a node added to (wi-xi) 2 .
[0110] Das Synapsen-Neuronen- Array ist streng modular aufgebaut um eine nahezu frei wählbare Form und Größe eines neuronalen Netzes zu erzeugen. Ein Vorschlag zum Aufbau des FPSA zeigt Figur 7. Die Struktur ist so gestaltet, dass möglichst viele vorstellbare aber noch realistische Netztopologien in Hardware implementierbar sind.The synapse neuron array has a strictly modular design to produce a nearly arbitrary shape and size of a neural network. Figure 7 shows a proposal for setting up the FPSA. The structure is designed in such a way that as many conceivable as possible realistic network topologies can be implemented in hardware.
[Ol l i] Die Neuronen sind zu Blöcken zusammengefasst. Die Verdrahtung erfolgt wie bei den Synapsen durch Programmierung eines Registers. Für die Hiddenneuronenblöcke sind jeweils ein Block mit der linearen, einer mit der sigmoiden und einer mit der quadratischen Funktion zusammen mit einer Synapse implementiert. Die Synapse kann dabei z.B. als Bias- oder Rückkopplungssynapse eingesetzt werden, was bei rückgekoppelten Netzen erforderlich ist. Diese Neuronenblöcke sind am linken, rechten und oberem Rand des Netzes platziert. Am unteren Rand sind Blöcke mit vier Neuronen, die die Sigmoid-Funktion ausführen, angeordnet. Man kann diese z.B. in jeweils drei Eingangs- und einem Ausgangsneuron aufteilen.[Ol l i] The neurons are grouped in blocks. The wiring is done as with the synapses by programming a register. For the hidden neuron blocks, one block each is implemented with the linear, one with the sigmoid and one with the quadratic function together with a synapse. The synapse can be e.g. be used as a bias or feedback synapse, which is required in fed-back networks. These neuron blocks are placed on the left, right and top edges of the mesh. At the bottom are blocks with four neurons that perform the sigmoid function. One can do this e.g. each split into three input and one output neuron.
[0112] In Figur 7 bezeichnet[0112] In FIG
[0113][0113]
Tabelle 2Table 2
SAl5I Synapse S - Synapse, A - Synapse im Block (A, B, C oder D),SAl 5 I Synapse S - synapse, A - synapse in block (A, B, C or D),
Spaltennummer, ZeilennummerColumn number, line number
INLl InputneuronINLl input neuron
BNR BiasneuronenBNR bias neurons
HNLl Hiddenneuron
Figure imgf000014_0001
dratische Aktivierungsunktion), Anordnung im Block (L - links, R - rechts, O - oben), Spalten- bzw. Zeilennummer, enthält lineare, sigmoide und quadratische Aktivierungsfunktion
HNLl hidden neuron
Figure imgf000014_0001
dramatic activation function), arrangement in the block (L - left, R - right, O - above), column or row number, contains linear, sigmoidal and quadratic activation function
OHNAl Output-Hiddenne OHN - Output- Hiddenneuron , A - I. Neuron im Block uron (enthält lineare und sigmoide Aktivierungsfunktion), B - 2. Neuron im Block (enthält lineare und gaußsche Aktivierungsfunktion), SpaltennummerOHNAl Output Hiddenne OHN - Output hidden neuron, A - I. Neuron in the block uron (contains linear and sigmoid activation function), B - 2. Neuron in the block (contains linear and Gaussian activation function), column number
[0114] Im Beispiel ist ein Netz mit 64 Synapsen, 12 Biassynapsen, 16 Hiddenneuronen, 12 Inputneuronen, 4 Ausgangsneuronen und 3 Biasneuronen dargestellt.In the example, a network with 64 synapses, 12 biassynaps, 16 hidden neurons, 12 input neurons, 4 output neurons and 3 bias neurons is shown.
[0115] Ein praktisch zu realisierendes Netz könnte 1088 (1024 Synapsen + 64 Biassynapsen) Synapsen und 131 (48 Eingangsneuronen+64 Hiddenneuronen+16 Aus- gangsneuronen+3 Biasneuronen) Neuronen enthalten.A practical network could contain 1088 (1024 synapses + 64 biassynapses) synapses and 131 (48 input neurons + 64 hidden neurons + 16 output neurons + 3 bias neurons) neurons.
[0116] Perzeptron-Netze[0116] perceptron networks
[0117] Bei Perzeptron-Netzen werden die Eingangssignale mit einem Gewichtswert multipliziert. Anschließend erfolgt eine Summation der gewichteten Eingangssignale. Dies entspricht mathematisch dem Skalarprodukt. Nach der Skalarbildung erfolgt die Übertragung der Summe durch eine spezielle Funktion (linear, sigmoid, sprungförmig).In perceptron networks, the input signals are multiplied by a weight value. This is followed by a summation of the weighted input signals. This corresponds mathematically to the scalar product. After scalar formation, the sum is transferred by a special function (linear, sigmoid, jump-shaped).
[0118] Mit diesem Typ lassen sich alle möglichen Vernetzungstopologien realisieren, die dann z.B. zum sogenannten Multilayerperzeptron werden.With this type, all possible cross-linking topologies can be realized, which are then e.g. become the so-called multilayer perceptron.
[0119] Im Nachfolgenden sollen beispielhaft einfache Vertreter von Perzeptron-Netzen aufgeführt werden.In the following, by way of example, simple representatives of perceptron networks are to be listed.
[0120] Perzeptron-Netz mit einer Gewichtsschicht und linearer Übertragungsfunktion[0111] Perceptron network with a weight layer and linear transfer function
[0121] Dies ist der einfachste Fall eines Perzeptronnetzes. Das Interessante hieran ist, dass die Gewichte analytisch berechnet werden können. Es existiert genau ein globales Minimum. Genutzt werden kann diese Netzform z.B. für lineare Farbraumtransformationen etwa zur Sensorkorrektur oder für Umrechnungen zwischen verschiedenen Farbmonitortypen.This is the simplest case of a perceptronnetzes. The interesting thing is that the weights can be calculated analytically. There is exactly one global minimum. This network shape can be used e.g. for linear color space transformations such as for sensor correction or for conversions between different color monitor types.
[0122] Ein praktisch zu realisierendes Perzeptron-Netz mit einer Gewichtsschicht und linearer Übertragungsfunktion für das angeführte FPSA-Beispiel ist in Figur 8 dargestellt. Das Netz besitzt 4 Eingänge (INAl, INA2, IN A3, IN A4), eine Gewichtsschicht bestehend aus 16 Synapsen (SAl ...4,1...4) und 4 Ausgänge (OHNAl, OHNA2, OHNA3, OHN A4). Das Netz kann wahlweise mit oder ohne Biasneuronen und -Synapsen betrieben werden. Die Biasneuronen können auch als zusätzliche Eingangsneuronen verwendet werden. In den Neuronenblöcken HNRl, HNR2, HNR3 und HNR4 wird die lineare Aktivierung durchgeführt. Die Synapsen SD 1,1, SD2,2, SD3,3 und SD4,4 dienen nur zur Signalumlenkung. In ihnen wird keine Gewichtung vorgenommen. [0123] Einschichtiges Perzeptron-Netz mit nichtlinearer ÜbertragungsfunktionA practically realized perceptron network with a weight layer and linear transfer function for the cited FPSA example is shown in FIG. The network has 4 inputs (INAl, INA2, IN A3, IN A4), a weight layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 outputs (OHNAl, OHNA2, OHNA3, OHN A4). The network can be operated with or without bias neurons and synapses. The bias neurons can also be used as additional input neurons. In the neuron blocks HNRl, HNR2, HNR3 and HNR4, the linear activation is performed. The synapses SD 1,1, SD2,2, SD3,3 and SD4,4 are for signal redirection only. There is no weighting in them. Single layer perceptron network with nonlinear transfer function
[0124] Die Gewichte lassen sich bedingt analytisch berechnen. Mit einem einfachen iterativen Minimierungsverfahren findet man ein globales Minimum.The weights can be calculated conditionally analytically. With a simple iterative minimization method one finds a global minimum.
[0125] Ein praktisch zu realisierendes Perzeptron-Netz mit einer Ausgangsschicht und nichtlinearer Übertragungsfunktion für das angeführte FPSA-Beispiel ist in Figur 8 dargestellt. Das Netz besitzt 4 Eingänge (INAl, INA2, IN A3, IN A4), eine Gewichtsschicht bestehend aus 16 Synapsen (SAl ...4,1...4) und 4 Ausgänge (OHNAl, OHNA2, OHNA3, OHN A4). Das Netz kann wahlweise mit oder ohne Biasneuronen und -Synapsen betrieben werden. Die Biasneuronen können auch als zusätzliche Eingangsneuronen verwendet werden. In den Neuronenblöcken HNRl, HNR2, HNR3 und HNR4 wird die nichtlineare Aktivierung durchgeführt. Die Synapsen SD 1,1, SD2,2, SD3,3 und SD4,4 dienen nur zur Signalumlenkung. In ihnen wird keine Gewichtung vorgenommen.A practically realized perceptron network with an output layer and non-linear transfer function for the cited FPSA example is shown in FIG. The network has 4 inputs (INAl, INA2, IN A3, IN A4), a weight layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 outputs (OHNAl, OHNA2, OHNA3, OHN A4). The network can be operated with or without bias neurons and synapses. The bias neurons can also be used as additional input neurons. In the neuron blocks HNR1, HNR2, HNR3 and HNR4, nonlinear activation is performed. The synapses SD 1,1, SD2,2, SD3,3 and SD4,4 are for signal redirection only. There is no weighting in them.
[0126] Perzeptron-Netze mit mehreren Hiddenschichten und linearer bzw. nichtlinearer Übertragungsfunktion[0126] Perceptron networks with multiple hidden layers and linear or nonlinear transfer function
[0127] Die Bestimmung der Gewichte für die zu lösende Aufgabe kann nur noch mit einem statistischen iterativen Minimierungsverfahren erfolgen (Lernen). Es existiert im Allgemeinen eine Vielzahl lokaler Minima. Daher ist der Erfolg der Gewichtsfindung nicht vorhersagbar sondern zufällig. Es ist auch nicht möglich, die geeignete Topologie der Vernetzung für eine bestimmte Aufgabe anzugeben, da keine analytischen Zusammenhänge zwischen Aufgabentyp und Topologieeigenschaften existieren. Der Mi- nimierungsprozess kann evtl. sehr viele Iterationen erfordern und daher (je nach Rechenleistung) viel Zeit erfordern.The determination of the weights for the task to be solved can only be done with a statistical iterative minimization method (learning). There are generally a variety of local minima. Therefore, the success of weight determination is not predictable but random. It is also not possible to specify the appropriate topology of meshing for a particular task because there are no analytical relationships between task type and topology properties. The minimization process may require a great deal of iterations and may require a lot of time (depending on the computing power).
[0128] Prinzipiell können mit mehrschichtigen Perzeptronnetzen Klassifikations- und Funktionsapproximationsaufgaben gelöst werden.In principle, classification and function approximation tasks can be solved with multilayer perceptron networks.
[0129] Ein Perzeptron-Netz für das angeführte FPSA-Beispiel mit einer, zwei, oder sogar drei versteckten Schichten und mit auch in den einzelnen Schichten wahlweise einsetzbaren linearen oder nichtlinearen Übertragungsfunktion ist somit realisierbar. Die Netze können, je nach Anforderung an die Topologie, mit oder ohne Biasneuronen und -Synapsen betrieben werden. Die Biasneuronen können dabei auch als zusätzliche Eingangsneuronen verwendet werden.A perceptron network for the cited FPSA example with one, two, or even three hidden layers and with also optionally usable in the individual layers linear or nonlinear transfer function is thus feasible. Depending on the topology requirements, the networks can be operated with or without bias neurons and synapses. The bias neurons can also be used as additional input neurons.
[0130] Ein Netz mit 4 Eingängen (INAl, INA2, IN A3, IN A4), einer versteckten Schicht bestehend aus 16 Synapsen (SAl ...4,1...4) und 4 Neuronen (HNRl, HNR2, HNR3, HNR4) und einer Ausgangsschicht bestehend aus 16 Synapsen (SB 1...4,1...4) und 4 Ausgängen (OHNAl, 0HNA2, 0HNA3, OHN A4) ist in Figur 9 dargestellt. [0131] 4 Eingänge (INAl, INA2, IN A3, IN A4), eine erste versteckte Schicht bestehend aus 16 Synapsen (SAl ...4,1...4) und 4 Neuronen (HNRl, HNR2, HNR3, HNR4), eine zweite versteckte Schicht bestehend aus 16 Synapsen (SB 1...4, 1...4) und 4 Neuronen (HNOl, HNO2, HNO3, HNO4) und eine Ausgangsschicht bestehend aus 16 Synapsen (SCl ...4,1...4) und 4 Ausgängen (OHNAl, OHNA2, OHNA3, OHNA4) besitzt das Netz, welches Figur 10 zeigt. In den Neuronenblöcken HNLl, HNL2, HNL3 und HNL4 wird die Aktivierung durchgeführt. Die Synapsen SD 1,1, SD2,2, SD3,3 und SD4,4 dienen nur zur Signalumlenkung. In ihnen wird keine Gewichtung vorgenommen.A network with 4 inputs (INAl, INA2, IN A3, IN A4), a hidden layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 neurons (HNRl, HNR2, HNR3, HNR4) and an output layer consisting of 16 synapses (SB 1 ... 4,1 ... 4) and 4 outputs (OHNAl, 0HNA2, 0HNA3, OHN A4) is shown in FIG. 4 inputs (INAl, INA2, IN A3, IN A4), a first hidden layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 neurons (HNRl, HNR2, HNR3, HNR4) , a second hidden layer consisting of 16 synapses (SB 1 ... 4, 1 ... 4) and 4 neurons (HNOl, HNO2, HNO3, HNO4) and an output layer consisting of 16 synapses (SCl ... 4,1 ... 4) and 4 outputs (OHNAl, OHNA2, OHNA3, OHNA4) has the network, which shows Figure 10. The activation is carried out in the neuron blocks HNL1, HNL2, HNL3 and HNL4. The synapses SD 1,1, SD2,2, SD3,3 and SD4,4 are for signal redirection only. There is no weighting in them.
[0132] Ein Beispiel für ein Netz mit 4 Eingängen (INAl, INA2, IN A3, IN A4), einer ersten versteckten Schicht bestehend aus 16 Synapsen (SAl ...4,1...4) und 4 Neuronen (HNRl, HNR2, HNR3, HNR4), einer zweiten versteckten Schicht bestehend aus 16 Synapsen (SBl ...4,1...4) und 4 Neuronen (HNOl, HNO2, HNO3, HNO4), einer dritten versteckten Schicht bestehend aus 16 Synapsen (SCl ...4,1...4) und 4 Neuronen (HNLl, HNL2, HNL3, HNL4) und einer Ausgangsschicht bestehend aus 16 Synapsen (SDl ...4,1...4) und 4 Ausgängen (OHNAl, OHNA2, OHNA3, OHNA4) gibt Figur 11 wieder.An example of a network with 4 inputs (INAl, INA2, IN A3, IN A4), a first hidden layer consisting of 16 synapses (SAl ... 4,1 ... 4) and 4 neurons (HNRl, HNR2, HNR3, HNR4), a second hidden layer consisting of 16 synapses (SBl ... 4,1 ... 4) and 4 neurons (HNOl, HNO2, HNO3, HNO4), a third hidden layer consisting of 16 synapses ( SCl ... 4,1 ... 4) and 4 neurons (HNL1, HNL2, HNL3, HNL4) and an output layer consisting of 16 synapses (SDL ... 4,1 ... 4) and 4 outputs (OHNAl, OHNA2, OHNA3, OHNA4) is Figure 11 again.
[0133] Die drei Beispiele zeigen bereits, wie groß die Variationsmöglichkeiten allein für Perzeptron-Netze sind, die mit dem angeführten FPSA-Beispiel möglich sind.The three examples already show how great the possibilities of variation are only for perceptron nets, which are possible with the cited FPSA example.
[0134] Parallele Anordnung von mehreren Perzeptron-Netzen mit einer oder mehreren Gewichtsschichten und linearer bzw. nichtlinearer ÜbertragungsfunktionParallel arrangement of multiple perceptron networks with one or more weight layers and linear or non-linear transfer function
[0135] Um mehrere voneinander völlig unabhängige Sensorsignale verarbeiten zu können, dabei jedoch nicht mehrfach denselben Hardwareaufwand betreiben zu müssen, bietet sich mit dem FPSA die Möglichkeit, parallele, voneinander völlig unabhängige Netze zu implementieren. Dabei können die verwendeten Topologien auch völlig unterschiedlich sein.In order to be able to process a plurality of sensor signals which are completely independent of one another, but without having to operate the same amount of hardware over several times, the FPSA offers the possibility of implementing parallel networks which are completely independent of one another. The topologies used can also be completely different.
[0136] Figur 12 zeigt ein Implementierungsbeispiel für das angeführten FPSA-Beispiel, wenn man zwei topologisch gleiche Netze mit je 2 Eingängen (INA1JNA2 bzw. IN A3, IN A4), je einer versteckten Schicht bestehend aus 4 Synapsen (SAl..2,1..2 bzw. SA3...4,3...4) und 2 Neuronen (HNRl, HNR2 bzw. HNR3, HNR4) je einer Ausgangsschicht bestehend aus 4 Synapsen (SBl ...2,1...2 bzw. SB3...4,3...4) und 2 Ausgängen (OHNAl, 0HNA2 bzw. 0HNA3, 0HNA4) betreiben möchte. Die Netze können wahlweise mit oder ohne Biasneuronen und -Synapsen bzw. linearer oder nichtlinearen Aktivierungsfunktion betrieben werden. Die Biasneuronen können auch als zusätzliche Eingangsneuronen verwendet werden.FIG. 12 shows an implementation example for the cited FPSA example, if two topologically identical networks with 2 inputs each (INA1JNA2 or IN A3, IN A4), each with a hidden layer consisting of 4 synapses (SAI..2, 1..2 or SA3 ... 4,3 ... 4) and 2 neurons (HNRl, HNR2 or HNR3, HNR4) each with an output layer consisting of 4 synapses (SBl ... 2,1 ... 2 or SB3 ... 4,3 ... 4) and 2 outputs (OHNAl, 0HNA2 or 0HNA3, 0HNA4). The networks can be operated with or without bias neurons and synapses, or linear or nonlinear activation function. The bias neurons can also be used as additional input neurons.
[0137] Will man zwei Netze mit unterschiedlicher Topologie im angeführten FPSA- Beispiel betreiben, zeigt Figur 13 eine mögliche Implementierungsvariante. Dort ist ein erstes Netz mit 2 Eingängen (INAl, INA2), einer versteckten Schicht bestehend aus 4 Synapsen (SAl ...2,1...2) und 2 Neuronen (HNRl, HNR2) einer Ausgangsschicht bestehend aus 4 Synapsen (SB 1...2,1...2) und 2 Ausgängen (OHNAl, OHNA2) und ein zweites Netz mit 2 Eingängen (IN A3, IN A4), einer ersten versteckten Schicht bestehend aus 4 Synapsen (SA3...4,3...4) und 2 Neuronen (HNR3, HNR4), einer zweiten versteckten Schicht bestehend aus 4 Synapsen (SB3...4,3...4) und 2 Neuronen (HNO3, HNO4) und einer Ausgangsschicht bestehend aus 4 Synapsen (SC3...4,3...4) und 2 Ausgängen (OHNA3, OHNA4) enthalten. Beim zweiten Netz wird in den Neu- ronenblöcken HNL3 und HNL4 die Aktivierung durchgeführt. Die Synapsen SD3,3 und SD4,4 dienen nur zur Signalumlenkung. In ihnen wird keine Gewichtung vorgenommen. Beide Netze können wahlweise mit oder ohne Biasneuronen und - Synapsen bzw. linearer oder nichtlinearen Aktivierungsfunktion betrieben werden. Die Biasneuronen können auch als zusätzliche Eingangsneuronen verwendet werden.If one wishes to operate two networks with different topologies in the cited FPSA example, FIG. 13 shows a possible implementation variant. There is a first network with 2 inputs (INAl, INA2), a hidden layer consisting of 4 synapses (SAl ... 2,1 ... 2) and 2 neurons (HNRl, HNR2) of an output layer consisting of 4 synapses (SB 1 .. .2,1 ... 2) and 2 outputs (OHNAl, OHNA2) and a second network with 2 inputs (IN A3, IN A4), a first hidden layer consisting of 4 synapses (SA3 ... 4,3 .. .4) and 2 neurons (HNR3, HNR4), a second hidden layer consisting of 4 synapses (SB3 ... 4,3 ... 4) and 2 neurons (HNO3, HNO4) and an output layer consisting of 4 synapses (SC3 ... 4,3 ... 4) and 2 outputs (OHNA3, OHNA4). For the second network, the activation is carried out in the neuron blocks HNL3 and HNL4. The synapses SD3,3 and SD4,4 are only for signal redirection. There is no weighting in them. Both networks can be operated either with or without bias neurons and synapses or linear or nonlinear activation function. The bias neurons can also be used as additional input neurons.
[0138] Nearest-Neighbour-Typ[0138] Nearest Neighbor Type
[0139] Beim „Nearest Neighbour -Typ" wird die Differenz zwischen Eingangssignal und Gewicht gebildet und diese anschließend quadriert. Es wird dann die Summe der Quadrate gebildet.In the Nearest Neighbor type, the difference between the input signal and the weight is formed and then squared, and the sum of the squares is then formed.
[0140] Zieht man noch die Quadratwurzel aus der Summe, entspricht dies der Berechnung des Abstandes (euklidische Distanz) zwischen anliegendem Signal und gespeichertem Gewichtsvektor (daher der Name „Nearest Neighbour"). Dies ist für die Funktion des Netzes aber nicht entscheidend. Es hätte aber den Vorteil, dass dieser Wert bei 1 bis 3-dimensionalen Vektoren geometrisch interpretierbar ist, wie etwa im 3-dimensionalen Farbraum.[0140] If one subtracts the square root of the sum, this corresponds to the calculation of the distance (Euclidean distance) between adjacent signal and stored weight vector (hence the name "Nearest Neighbor") .This is not decisive for the function of the network but would have the advantage that this value is geometrically interpretable in 1 to 3-dimensional vectors, such as in the 3-dimensional color space.
[0141] Mit Netzen vom „Nearest Neighbour" eröffnen sich eine ganze Reihe von Netzvarianten.Networks from the "Nearest Neighbor" open up a whole series of network variants.
[0142] An dieser Stelle sollen exemplarisch nur zwei einfache Vertreter von Netzen vom Nächster-Nachbar-Typ aufgeführt werden, an denen die wesentlichen Eigenschaften deutlich werden.By way of example, only two simple representatives of nearest-neighbor-type networks are to be listed here by way of which the essential properties become clear.
[0143] Einfacher Klassifizierer[0143] Simple Classifier
[0144] Dieses Netz hat nur eine Schicht und keine spezielle Übertragungsfunktion. Es kann direkt die Summe der euklidischen Abstände am Ausgang ausgewertet werden. In den Gewichten werden die sogenannten Prototypen einer Klasse gespeichert. Durch die Berechnung des Netzes entsteht am Ausgang des Netzes ein Vektor, der die quadratischen Abstände des Eingangssignals zu den gespeicherten Klassenprototypen repräsentiert. Durch eine Bestimmung des minimalen Ausgangssignals ist die passende Klasse gefunden. Im Idealfall ist das Minimum Null, weil Eingangssignal und Prototyp identisch sind.This network has only one layer and no special transfer function. It can be evaluated directly the sum of the Euclidean distances at the output. In the weights, the so-called prototypes of a class are stored. The calculation of the network produces at the output of the network a vector which represents the quadratic distances of the input signal to the stored class prototypes. By determining the minimum output signal, the appropriate class is found. Ideally, the minimum is zero because the input signal and prototype are identical.
[0145] Dieser Netztyp eignet sich sehr gut für Klassifikationsaufgaben, bei denen Klassen- Prototypen angegeben werden können und wo keine weitere Umdeutung (mapping) der Ausgangssignale notwendig ist. Ein bekanntes Beispiel ist die Klassifizierung von Farben.[0145] This type of network is very well suited for classification tasks in which class Prototypes can be specified and where no further re-interpretation (mapping) of the output signals is necessary. A well-known example is the classification of colors.
[0146] Ein praktisch zu realisierendes Netz für das angeführte FPSA-Beispiel zur einfachen Klassifizierung ist in Figur 14 dargestellt. Der Klasifizierer besitzt 3 Eingänge (INAl, INA2, INA3) und 4 Ausgänge (OHNAl, OHNA2, OHNA3, OHNA4). Bei der einfachen Klassifizierung wird zunächst die Differenz zwischen den Eingangssignalen und den Gewichten gebildet. Dies geschieht in den Hiddenneuro- nenblöcken (HNRl ...4, HNLl ...4, HNOl ...4). Als Biaswert (BNR, BNL, BNO) wird -1 eingestellt. Dadurch wird der Gewichtswert (wi) in den Synapsen (SRI ...4, SLl ...4,SOl ...4), die in den Hiddenneuronenblöcken (HNRl ...4, HNLl ...4, HNOl ...4) enthalten sind mit -1 multipliziert (-wi). Zu diesem Wert wird nun das Eingangssignal (xi) addiert (xi-wi). Anschließend wird diese Summe quadriert((xi-wi)2). An den nachgeschalteten Input-Hidden-Output-Neuronenblöcken (OHNAl, 0HNA2, 0HNA3, 0HNA4) wird dann die Summe der Quadrate gebildet (Summe((xi-wi)2)). Die Synapsen SBl5I, SB2,2, SB3,3, SB4,4, SCl5I, SC2,2, SC3,3, SC4,4, SDl5I SD2,2 SD3,3 und SD4,4 dienen nur zur Signallenkung. In ihnen wird keine Gewichtung vorgenommen.A practical network for the cited FPSA example for easy classification is shown in FIG. The classifier has 3 inputs (INAl, INA2, INA3) and 4 outputs (OHNAl, OHNA2, OHNA3, OHNA4). In the simple classification, first the difference between the input signals and the weights is formed. This happens in the hidden neuron blocks (HNRl ... 4, HNLl ... 4, HNOl ... 4). The bias value (BNR, BNL, BNO) is set to -1. This results in the weight value (wi) in the synapses (SRI ... 4, SLl ... 4, SOl ... 4), which are stored in the hidden neuron blocks (HNRl ... 4, HNLl ... 4, HNOl .. .4) are multiplied by -1 (-wi). The input signal (xi) is added to this value (xi-wi). Then this sum is squared ((xi-wi) 2). The sum of the squares is then formed at the downstream input hidden output neuron blocks (OHNA1, 0HNA2, 0HNA3, 0HNA4) (sum ((xi-wi) 2)). The synapses SBI 5 I, SB2,2, SB3,3, SB4,4, SCI 5 I, SC2,2, SC3,3, SC4,4, SDl 5 I SD2,2 SD3,3 and SD4,4 are only for signal routing. There is no weighting in them.
[0147] RBF-Netz[0147] RBF network
[0148] Das RBF-Netz hat zwei Schichten. Die erste Schicht ist eine Hiddenschicht wie beim einfacher Multilayerperzeptron. Allerdings werden die gewichteten Summen in einer speziellen Funktion berechnet, die die Form einer Glockenkurve hat. Damit liefert die Schicht für Testmuster die außerhalb der Trainingsmuster liegen nur geringe Aktivitäten, da nur Bereiche, die innerhalb der jeweiligen Glocken liegen zu Aktivitäten der Neuronen führen. Die zweite Schicht des RBF-Netzes ist vom Per- zeptrontyp mit linearer Ausgangsfunktion. Daher lassen sich die Gewichte dieser Stufe analytisch berechnen, so dass kein statistischer iterativer Minimierungsprozess erforderlich ist.The RBF network has two layers. The first layer is a hidden layer like the simple multilayer perceptron. However, the weighted sums are calculated in a special function that has the shape of a bell curve. Thus, the layer provides for test patterns that are outside the training pattern only minor activities, since only areas that lie within the respective bells lead to activities of the neurons. The second layer of the RBF network is of the perpe- trone type with a linear output function. Therefore, the weights of this stage can be calculated analytically, so that no statistical iterative minimization process is required.
[0149] Die zweite Schicht kann verschiedene Aufgaben realisieren. Eine Funktion ist das „Mappen". Dabei wird jedem Ausgangs vektor der ersten Schicht ein bestimmter Vektor am Ausgang der zweiten Schicht zugeordnet um z.B. Klassen zu definieren. Weiterhin kann durch die zweite Schicht ermöglicht werden, dass sich das RBF-Netz für allgemeine Funktionsapproximationen verwenden lässt.The second layer can realize various tasks. One function is "mapping", where each output vector of the first layer is assigned a particular vector at the output of the second layer to define classes, for example, and the second layer allows the RBF network to use general function approximations leaves.
[0150] Vorteilhaft ist hier die Eigenschaft, dass prinzipbedingt keine un vorhersehbaren[0150] The advantage here is the property that, in principle, no unpredictable
Reaktionen des Netzes auf unbekannte Eingangssignale entstehen können, da das Netz immer nur zwischen den gespeicherten Stützstellen interpoliert.Reactions of the network can arise to unknown input signals, since the network interpolates only between the stored nodes.
[0151] Ein Implementierungsbeispiel für das angeführte FPSA könnte ein RBF-Netz mit 3 Eingängen (INAl, INA2, INA3) , einer versteckten Schicht bestehend aus 6 Synapsen (SB1,1,SB2,2, SC 1,1, SC2,2, SD 1,1, SD2,2) und 2 Neuronen (OHNBl, OHNB2) und einer Ausgangsschicht bestehen aus 4 Synapsen (SB 1,4, SB2,4, SC 1,4, SC2,4) und 2 Neuronen (OHNAl OHN A2), welches Figur 15 zeigt, sein Das Netz arbeitet wie ein einfacher Klassifizierer mit nachgeschalteter Ausgangsschicht. Die zwei versteckten Neuronen (OHNBl, OHNB2) arbeiten mit der Gaußschen Funktion als Aktivierung. Die Biasneuronen (BNL, BNO, BNR) dienen zur Referenzzierung der Gewichtswerte, die in den Synapsen SLl, SL2, SOl, S02, SRI und SR2 gespeichert sind. Die Synapsen SAl5I, SA1.2, SA2.1, SA2,2, SA3.1, SA3,2, S Al, 4 und SA2,4 sowie die Neuronenblöcke HNL4 und HNR4 dienen zur Signallenkung. In diesen Blöcken wird keine Gewichtung bzw. Aktivierung vorgenommen.An implementation example of the cited FPSA could be a 3-input RBF network (INAl, INA2, INA3), a hidden layer consisting of 6 synapses (SB1,1, SB2,2, SC 1,1, SC2,2, SD 1,1, SD2,2) and 2 neurons (OHNBl, OHNB2) and an output layer consist of 4 synapses (SB 1,4, SB2, 4, SC 1.4, SC2, 4) and 2 neurons (OHNAl OHN A2), which Figure 15 shows. The network operates like a simple classifier with a downstream output layer. The two hidden neurons (OHNBl, OHNB2) work with the Gaussian function as activation. The bias neurons (BNL, BNO, BNR) are used to reference the weight values stored in the synapses SL1, SL2, SO1, SO2, SR1 and SR2. The synapses SAl 5 I, SA1.2, SA2.1, SA2,2, SA3.1, SA3,2, S Al, 4 and SA2,4 as well as the neuron blocks HNL4 and HNR4 are used for signal deflection. In these blocks, no weighting or activation is made.
[0152] Rückgekoppelte Netze[0152] Feedback networks
[0153] Bisher wurden ausschließlich Netztopologien ohne Rückkopplungen betrachtet. Die Verarbeitung durch Propagation erfolgt von der Eingabeschicht zur Ausgabeschicht. Bei rückgekoppelten Netzen hingegen müssen die Zustände der Neuronen solange neu berechnet werden, bis das Netz in einen Ruhezustand konvergiert ist, in dem sich keine Änderung der Aktivierungszustände mehr ergibt. Ein stabiler Zustand wird daher durch die Eingabe, die Gewichtsmatrix und die Schwellenwerte der Neuronen bestimmt.So far, only network topologies without feedback have been considered. Processing by propagation is from the input layer to the output layer. In the case of feedback networks, on the other hand, the states of the neurons must be recalculated until the network has converged to an idle state in which no change in the activation states results. A stable state is therefore determined by the input, the weight matrix and the threshold values of the neurons.
[0154] Im Folgenden sollen drei typische Vertreter rückgekoppelter Netze kurz dargestellt werden.[0154] In the following, three typical representatives of feedback networks will be briefly presented.
[0155] Winner Take AU (WTA)[0155] Winner take AU (WTA)
[0156] Beim Wettbewerbslernen (Lernen durch Konkurrenz, competition learning) treten die Einheiten des Netzes in Kokurrenz miteinander um das „Recht" für eine Eingabe eine Ausgabe zu erzeugen. Nur eine darf eine Ausgabe abliefern und hindert gleichzeitig alle anderen daran es zu tun.In competitive learning (competition learning), the units of the network co-operate with each other to create the "right" to input an issue, and only one is allowed to deliver one issue while preventing others from doing so.
[0157] Beim unüberwachten Lernen werden die n-dimensionalen Eingaben mit genau so vielen Recheneinheiten verarbeitet, wie Cluster bestimmt werden sollen. Für drei Cluster wird ein Netz von drei kompetitiven Einheiten benötigt.In the case of unsupervised learning, the n-dimensional inputs are processed with as many arithmetic units as how clusters are to be determined. For three clusters, a network of three competitive units is needed.
[0158] Ein praktisch zu realisierendes WTA-Netz für das angeführte FPSA, welches Figur 16 zeigt, besitzt 3 Eingänge (INAl, INA2, INA3) und 3 Ausgänge (OHNAl, 0HNA2, 0HNA3). Das Netz ist einschichtig und mit 9 Synapsen (SAl5I ...3, SA2,1...3, SA3.1...3) voll vernetzt. Die Ausgänge jedes Neurons (HNRl, HNR2, HNR3) werden mit 6 Synapsen (SB 1,2, SB 1,3, SB2.1, SB2,3, SB3.1, SB3,2) zusätzlich auf die Eingänge aller anderen Neuronen geschaltet. Die Synapsenblöcke SD 1,4, SD2,4 und SD3,4 werden nicht als Synapsen verwendet, sondern dienen lediglich zum durchschalten der Ausgänge der Neuronen auf die FPSA- Ausgänge.A practically realizable WTA network for the cited FPSA, which shows Figure 16, has 3 inputs (INAl, INA2, INA3) and 3 outputs (OHNAl, 0HNA2, 0HNA3). The network is single-layered and fully networked with 9 synapses (SAl 5 I ... 3, SA2,1 ... 3, SA3.1 ... 3). The outputs of each neuron (HNR1, HNR2, HNR3) are additionally switched to the inputs of all other neurons with 6 synapses (SB1,2, SB1,3, SB2.1, SB2,3, SB3.1, SB3,2) , The synapse blocks SD 1,4, SD2,4 and SD3,4 are not used as synapses, but are only used to connect the outputs of the neurons to the FPSA outputs.
[0159] Kohonen Feature Maps[0159] Kohonen Feature Maps
[0160] Kohonen Feature Maps arbeiten ähnlich wie WTA-Netze. Der Unterschied ist jedoch, dass die Ausgabe nicht auf eine Einheit beschränkt ist und die Anzahl der Cluster vor dem Lernen nicht feststeht. Die Clusterung wird also während des Lernens erzeugt.Kohonen feature maps work similar to WTA networks. The difference is however, that the output is not limited to one unit and the number of clusters is not known before learning. The clustering is thus generated during learning.
[0161] Ein Beispiel, wie man ein Kohonen-Netz mit 3 Eingängen und 3 Ausgängen im angeführten FPSA-Beispile implementiert, ist in Figur 16 dargestellt. Das Netz ist genau so aufgebaut wie beim WTA-Beispiel. Die dargestellten rückgekoppelten Verbindungen durch die Synapsen SB 1,2, SB 1,3, SB2,1, SB2,3, SB3,1 und SB3,2 können aber müssen sich nicht während des Belehrens ausbilden.An example of how to implement a Kohonen network with 3 inputs and 3 outputs in the cited FPSA example is shown in FIG. The network is exactly the same as in the WTA example. However, the illustrated feedback connections through synapses SB1,2, SB1,3, SB2,1, SB2,3, SB3,1 and SB3,2 may not be formed during teaching.
[0162] Hopfield- Netze[0162] Hopfield networks
[0163] Hopfield- Netze beruhen auf den folgenden Annahmen:Hopfield networks are based on the following assumptions:
- Das Netz besteht aus einer einzigen Schicht von n Neuronen.- The network consists of a single layer of n neurons.
- Die n Neuronen sind untereinander total vernetzt, d.h. jedes Neuron besitzt eine Verbindung zu jedem anderen Neuron (Rückkopplung, Rekursion).The n neurons are totally networked with each other, i. Each neuron has a connection to every other neuron (feedback, recursion).
- Kein Neuron ist direkt mit sich selbst verbunden (keine unmittelbare Rückkopplung).- No neuron is directly connected to itself (no immediate feedback).
- Das Netz ist symmetrisch gewichtet, d.h. das Gewicht der Bindung zwischen Neuron i und Neuron j ist gleich dem Gewicht der Verbindung zwischen Neuron j und Neuron i.The network is symmetrically weighted, i. the weight of the bond between neuron i and neuron j is equal to the weight of the connection between neuron j and neuron i.
- Den einzelnen Neuronen ist jeweils eine lineare Schwellenwertfunktion als Aktivierungsfunktion zugeordnet.- Each neuron is assigned a linear threshold function as an activation function.
- Eingabe ist die übliche gewichtete Summe.- Input is the usual weighted sum.
[0164] Hopfield- Netze sind daher einschichtige neuronale Netze, die ausschließlich indirekte Rückkopplungen zwischen je zwei verschiedenen Knoten i,j ( i ≠ j ) des Netzes besitzen, aber keine direkte Rückkopplung zum gleichen Knoten. Alle Verbindungen zwischen zwei Neuronen sind symmetrisch, d.h. wij = wij. Dies kann auch so interpretiert werden, dass zwischen zwei Neuronen nur eine bidirektionale Leitung besteht.Hopfield networks are therefore single-layered neural networks, which have only indirect feedbacks between each two different nodes i, j (i ≠ j) of the network, but no direct feedback to the same node. All connections between two neurons are symmetric, i. wij = wij. This can also be interpreted as meaning that there is only one bidirectional line between two neurons.
[0165] Das Hopfield- Netz konvergiert - unter gewissen Voraussetzungen - nach einer endlichen Zeit zu einem Ruhezustand. Wenn ein Teil der Ausgabeleitungen auf den Eingang zurückgeführt wird, kann der entsprechende Teil des Ausgabemusters y zum Eingabemuster x beitragen, y = x, d.h. Eingang der Neuronen = Ausgang der Neuronen (Autoassoziation).The Hopfield network converges - under certain conditions - to a quiescent state after a finite time. When a part of the output lines is fed back to the input, the corresponding part of the output pattern y may contribute to the input pattern x, y = x, i. Input of the neurons = output of the neurons (autoassociation).
[0166] Bietet man diesem rückgekoppelten System, in dem solche Musterpaare gespeichert sind, ein unvollständiges Eingabemuster an, so ergibt sich erst einmal ein entsprechend unvollständiges Ausgabemuster. Dessen richtige Gebiete können ausreichen, um bei Rückführung auf den Eingang die fehlenden Anteile teilweise zu ergänzen. Das verbesserte Ausgabemuster wird dem Netz erneut als Eingabe präsentiert, so dass das System mit einer erneut verbesserten Ausgabe reagieren wird. Jeder Ausgang eines Neurons wirkt durch die Rückkopplung auf die Eingänge aller Neuronen zurück.Providing an incomplete input pattern to this feedback system in which such pattern pairs are stored results in a correspondingly incomplete output pattern. Its correct areas may be sufficient to partially supplement the missing portions when returning to the entrance. The improved output pattern is again presented as input to the network so that the system will respond with a further improved output. Every output of a Neurons act by the feedback on the inputs of all neurons back.
[0167] Das Hopfield-Netz in Figur 17 mit 3 Eingängen (INAl, INA2, INA3) und 3 Ausgängen (OHNAl, OHNA2, OHNA3) stellt eine weitere Implementierungsmöglichkeit einer Topologie im FPSA dar. Das Netz ist einschichtig und mit 6 Synapsen (SB 1,2, SB 1,3, SB2,1, SB2,3, SB3,1, SB3,2) vollständig rückgekoppelt. Jedes Neuron (HNRl, HNR2,HNR3) besitzt eine Verbindung zu jedem anderem Neuron. Kein Neuron ist jedoch direkt mit sich selbst verbunden. Die Synapsenblöcke SAl5I, SA2,2, SA3,3, SBl5I, SB2,2 und SB3,3 werden nicht als Synapsen verwendet, sondern dienen lediglich zum durchschalten der Ein- bzw. Ausgänge der Neuronen auf die FPSA-Ein- bzw. -Ausgänge.The Hopfield network in Figure 17 with 3 inputs (INAl, INA2, INA3) and 3 outputs (OHNAl, OHNA2, OHNA3) represents another implementation possibility of a topology in the FPSA. The network is single-layered with 6 synapses (SB 1,2, SB 1,3, SB2,1, SB2,3, SB3,1, SB3,2) are fully fed back. Each neuron (HNR1, HNR2, HNR3) has a connection to every other neuron. No neuron, however, is directly connected to itself. The synapse blocks SAI 5 I, SA 2, 2, SA 3, 3, SBI 5 I, SB 2, 2 and SB 3, 3 are not used as synapses, but merely serve to switch the inputs or outputs of the neurons to the FPSA input. or outputs.
[0168] Anwendung[0168] Application
[0169] Mit der Integration mehrer neuronaler Netztopologien sind auch andere Lernalgorithmen verwendbar. Die Paarung von Modularität, Geschwindigkeit und einer großen Zahl von Verarbeitungseinheiten macht den Chip zu einem Novum, das viele Anwendungen in der Sensorsiganlverarbeitung erst ermöglicht. Die Applikationen für die Erfindung finden sich vorrangig im Sensorik-Bereich (sensor signal processing, adaptation), in der Industrieautomation, sowie anderen Bereichen, in denen es um sehr schnelle Steuerungsfunktionen geht. Das betrifft vor allem Systeme mit wechselnden Umgebungsbedingungen. Hier ist eine Lernfähigkeit für Ereigniszustände erforderlich (Teach-In-Funktionalität). Das Training erfolgt über einen host Computer mit einer speziellen Trainingssoftware.With the integration of multiple neural network topologies, other learning algorithms can be used as well. The combination of modularity, speed and a large number of processing units makes the chip a novelty, which enables many applications in sensor processing. The applications for the invention are primarily in the field of sensor technology (sensor signal processing, adaptation), in industrial automation, as well as other areas in which very fast control functions are involved. This mainly affects systems with changing environmental conditions. Here, a learning ability for event states is required (teach-in functionality). The training takes place via a host computer with a special training software.
[0170] Auf Grund der technischen Parameter des Produktes werden, da viele Eingänge zur Verfügung stehen, parallele Auswertungen von Multisensorarrays in einem Bauteil ermöglicht.Due to the technical parameters of the product, since many inputs are available, parallel evaluations of multi-sensor arrays in one component are made possible.
[0171] Der Sensormarkt ist eines der am stärksten wachsenden Segmente innerhalb des gesamten Mikroelektronik-Marktes. Auf Basis genormter Schnittstellen wird es möglich, Sensoren problemlos mit Netzwerken zu verknüpfen.The sensor market is one of the fastest growing segments in the entire microelectronics market. Based on standardized interfaces, it is possible to easily link sensors to networks.
[0172] Dieser Trend entsteht aus qualitativ neuen Anforderungen an die Sensor- Signalverarbeitung, z.B.:This trend arises from qualitatively new requirements for the sensor signal processing, for example:
- zunehmende Miniaturisierung- increasing miniaturization
- wachsende Chip-Integration- growing chip integration
- intelligente Verfahren- intelligent procedures
- dezentrale Verarbeitung- decentralized processing
- steigende Echtzeit- Anforderungen- increasing real-time requirements
- zunehmende Komplexität zu erfassender Zustände/Situationen- Increasing complexity of detected states / situations
[0173] Der überwiegende Wertschöpfungsanteil liegt damit neben den Sensorelementen selbst, vor allem in der nachfolgenden sensornahen Signalverarbeitung. Die Sensor- Elemente werden immer kleiner, besser, integrierter, robuster und kostengünstiger. Denkbare Anwendungen finden sich in den Hauptbereichen Wireless Com- munication, Automotive Industrie und industrielle Prozessautomation. Dabei sind beispielsweise in den Anwendungsfeldern Aufgaben zu lösen wie Kanalentzerrung, Klassifikation, und Adaptive Regelung, wobei diese Aufzählung nicht abschließend ist. The predominant proportion of added value thus lies next to the sensor elements themselves, above all in the subsequent sensor-near signal processing. The sensor elements are getting smaller, better, more integrated, more robust and cheaper. Conceivable applications can be found in the main areas of wireless communication, automotive industry and industrial process automation. Here, for example, in the application fields to solve tasks such as channel equalization, classification, and adaptive control, this list is not exhaustive.

Claims

Ansprücheclaims
[0001] Feld Programmierbares Analoges Synapsen Array bestehend aus Synapsen, die auf einem intergrierten System mit einem generischen Netz von Dendriten und Axonen realisiert werden dadurch gekennzeichnet, dass eine optimierte Anordnung in sich optimierter Verbindungen analog implementierter Synapsen topologielos als „sea of synapses" auf einem integrierten System mit modularer Struktur realisiert wird, wodurch Prozessoren (Neuronen) derart verschaltet werden, dass sie geschichtet werden und eine Vielzahl von Topologien neuronaler Netze abbilden, wobei der Signalfluss zwischen Sensor und Aktuator extrem kurz gehalten wird und keine Analog/Digital- oder Digital/ Analog-Wandlung erfolgt.Field programmable analog synapse array consisting of synapses, which are realized on an integrated system with a generic network of dendrites and axons, characterized in that an optimized arrangement in itself optimized connections analogously implemented synapses topologielos as "sea of synapses" on a integrated system with modular structure, whereby processors (neurons) are connected in such a way that they are layered and map a multiplicity of topologies of neural networks, whereby the signal flow between sensor and actuator is kept extremely short and no analog / digital or digital / Analog conversion takes place.
[0002] Feld Programmierbares Synapsen Array nach Anspruch 1 dadurch gekennzeichnet, dass die Synapsen so gestaltet werden, dass sie in einem Feld modular angeordnet sind und von außen über Programmierung mit jedem Neuron verbunden werden, so dass sowohl die Anzahl der benötigten Synapsen mit variablen Algorithmus und skalierbarer Netzgröße als auch die Form der Neuronen- Aktivierungsfunktionen variieren, wodurch eine variable Anzahl von versteckten Schichten ermöglicht wird und mehrere Netze unterschiedlicher oder gleichartiger Topologie parallel und unabhängig voneinander implementierbar sind.Field programmable synapse array according to claim 1, characterized in that the synapses are designed so that they are arranged modularly in a field and are connected from the outside via programming with each neuron, so that both the number of required synapses with variable algorithm and scalable network size as well as the shape of the neuron activation functions vary, allowing for a variable number of hidden layers and implementing multiple networks of different or similar topology in parallel and independently of each other.
[0003] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 oder 2 dadurch gekennzeichnet, dass die Synapsen in Blöcken zu jeweils vier und zwischen den oberen und unteren sowie zwischen den rechten und linken zwei Synapsen je vier Doppeldrahtleitungen angeordnet sind, wobei die Ein- und Ausgänge der Synapsen durch variable Programmierung von Transistorgates oder feste Programmierung durch Fuses auf diese Leitungen beliebig aufgeschaltet werden.Field programmable synapse array according to one of claims 1 or 2, characterized in that the synapses are arranged in blocks of four and between the upper and lower and between the right and left two synapses four double-wire lines, the inputs and Outputs of the synapses by variable programming of transistor gates or fixed programming by fuses on these lines are arbitrarily switched.
[0004] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 bis 3 dadurch gekennzeichnet, dass die Synapsen im Synapsenarray gleich aufgebaut und adressierbar sind und die gleichen Funktionen realisieren.Field programmable synapse array according to one of claims 1 to 3, characterized in that the synapses in the synapse array are the same structure and addressable and realize the same functions.
[0005] Feld Programmierbares Synapsen Array nach Anspruch 4 dadurch gekennzeichnet, dass in den Synapsen die Speicherung eines Gewichts wertes in Form einer Spannung durch Speicherung in der C-Unit (Poly-Poly-Cap oder Gate-Cap) oder in einem digitalen Register erfolgt und die Multiplikation des gespeicherten Ge- wichtswertes mit dem an der Synapse anliegenden Eingangswert durchgeführt (w *x ) wird.Field programmable synapse array according to claim 4, characterized in that in the synapses, the storage of a weight value in the form of a voltage by storage in the C-unit (poly-poly-cap or gate-cap) or in a digital register and the multiplication of the stored weight value with the input value applied to the synapse (w * x).
[0006] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 bis 5 dadurch gekennzeichnet, dass für die Programmierung in jedem Synapsenblock ein Register vorgesehen ist, in dem die Schalterstellung kodiert gespeichert wird.Field programmable synapse array according to one of claims 1 to 5, characterized in that for programming in each synapse block, a register is provided, in which the switch position is stored coded.
[0007] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 bis 6 dadurch gekennzeichnet, dass für die Neuronen die lineare, sigmoide, gaußsche und quadratische Funktionen bereitgestellt werden, wobei diese einzeln ausgewählt werden oder eine Kombination von mehreren vorgenommen wird.Field programmable synapse array according to one of claims 1 to 6, characterized in that the neurons, the linear, sigmoidal, Gaussian and quadratic functions are provided, which are individually selected or a combination of several is made.
[0008] Feld Programmierbares Synapsen Array nach Anspruch 7 dadurch gekennzeichnet, dass die lineare und die sigmoide Funktion die Standardfunktionen sind und in der Eingangs-, Hidden- und Ausgangsschicht zur Verfügung gestellt werden.Field programmable synapse array according to claim 7, characterized in that the linear and sigmoidal functions are the standard functions and are provided in the input, hidden and output layers.
[0009] Feld Programmierbares Synapsen Array nach Anspruch 7 dadurch gekennzeichnet, dass die quadratische Funktion nur in der Hiddenschicht eingesetzt wird.Field programmable synapse array according to claim 7, characterized in that the quadratic function is used only in the hidden layer.
[0010] Feld Programmierbares Synapsen Array nach Anspruch 7 dadurch gekennzeichnet, dass die gaußsche Funktion nur in der Ausgangsschicht eingesetzt wird.Field programmable synapse array according to claim 7, characterized in that the Gaussian function is used only in the output layer.
[0011] Feld Programmierbares Synapsen Array nach einem der Ansprüche 7 bis 9 dadurch gekennzeichnet, dass für die Hiddenneuronenblöcke jeweils ein Block mit linearen, einer mit der sigmoiden und einer mit der quadratischen Funktion zusammen mit einer Synapse implementiert sind.Field programmable synapse array according to one of claims 7 to 9, characterized in that for the hidden neuron blocks in each case a block with linear, one with the sigmoid and one with the quadratic function are implemented together with a synapse.
[0012] Feld Programmierbares Synapsen Array nach einem der Ansprüche 7 bis 11 dadurch gekennzeichnet, dass die Neuronenblöcke am linken, rechten und oberem Rand des Netzes platziert sind, wobei am unteren Rand Blöcke mit Eingangsneuronen und zwei Ausgangs- Hiddenneuronen angeordnet sind.Field programmable synapse array according to one of claims 7 to 11, characterized in that the neuron blocks are placed on the left, right and upper edge of the network, wherein at the bottom blocks with input neurons and two output Hiddenneuronen are arranged.
[0013] Feld Programmierbares Synapsen Array nach Anspruch 12 dadurch gekennzeichnet, dass spezielle Ausgangs-Hiddenneuronenblöcke angeordnet sind, die eine Kombinationen aus entweder linearer und sigmoider Funktion oder linearer und gaußscher Funktion enthalten.Field programmable synapse array according to claim 12, characterized in that special output hidden neuron blocks are arranged, which contain a combination of either linear and sigmoid function or linear and Gaussian function.
[0014] Feld Programmierbares Synapsen Array nach einem der Ansprüche 12 bis 13 dadurch gekennzeichnet, dass spezielle Ausgangs-Hiddenneuronenblöcke angeordnet sind, die eine zuschaltbare Funktion enthalten, die externe Lasten treiben können.Field programmable synapse array according to one of claims 12 to 13, characterized in that special output hidden neuron blocks are arranged which contain a switchable function that can drive external loads.
[0015] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 bis 14 dadurch gekennzeichnet, dass die Neuronen zu Blöcken zusammengefasst sind und die Verdrahtung durch Programmierung eines Registers erfolgt.Field programmable synapse array according to one of claims 1 to 14, characterized in that the neurons are combined into blocks and the wiring is carried out by programming a register.
[0016] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 bis 15 dadurch gekennzeichnet, dass mehrere Netze parallel und unabhängig voneinander implementierbar sind.Field programmable synapse array according to one of claims 1 to 15, characterized in that a plurality of networks can be implemented in parallel and independently of each other.
[0017] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 bis 16 dadurch gekennzeichnet, dass die Neuronen und die Synapsen jeweils vorstrukturiert sind und diese vorstrukturierten Schaltungen über Switches verschaltet werden.Field programmable synapse array according to one of claims 1 to 16, characterized in that the neurons and the synapses are each pre-structured and these prestructured circuits are interconnected via switches.
[0018] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 bis 17 dadurch gekennzeichnet, dass die Signalübertragung zwischen Neuronen, Synapsen, Ein- und Ausgängen durch differenzielle Ströme erfolgt.Field programmable synapse array according to one of claims 1 to 17, characterized in that the signal transmission between neurons, synapses, inputs and outputs is effected by differential currents.
[0019] Feld Programmierbares Synapsen Array nach einem der Ansprüche 1 bis 18 dadurch gekennzeichnet, dass sie einen zuschaltbaren Treiber enthält, der es ermöglicht, externe Lasten anzusteuern, ohne zusätzlichen schaltungstechnischen Aufwand zwischen der Anordnung und angeschlossenen Aktuatoren zu betreiben.Field programmable synapse array according to one of claims 1 to 18, characterized in that it contains a switchable driver, which makes it possible to control external loads, without operating additional circuitry effort between the arrangement and connected actuators.
[0020] Verfahren zur Programmierung eines Feld Programmierbares AnalogenMethod for Programming a Field Programmable Analog
Synapsen Arrays, welches aus Synapsen , die auf einem intergrierten System mit einem generischen Netz von Dendriten und Axonen realisiert werden, besteht dadurch gekennzeichnet, dass eine Anordnung in sich optimierter Verbindungen analog implementierter Synapsen topologielos als „sea of synapses" in einem Feld modular angeordnet sind und von außen über Programmierung mit jedem Neuron verbunden werden, so dass sowohl die Anzahl der benötigten Synapsen mit variablen Algorithmus und skalierbarer Netzgröße als auch die Form der Neuronen- Aktivierungsfunktionen variieren, wodurch eine variable Anzahl von versteckten Schichten ermöglicht wird und mehrere Netze unterschiedlicher oder gleichartiger Topologie parallel und unabhängig voneinander implementierbar sind und das Belehren des Systems durch einen Automatismus erfolgt, mit dem ein selbstständiges Anpassen des neuronalen Netzes möglich ist.Synapse arrays, which are realized from synapses that are implemented on an integrated system with a generic network of dendrites and axons, are characterized in that an arrangement of optimized connections of analogously implemented synapses are topologically arranged in a modular manner as "sea of synapses" and externally connected to each neuron via programming so that both the number of synaptic syndromes required with variable algorithm and scalable network size and the shape of the neuron activation functions vary, allowing a variable number of hidden layers and multiple networks of different or more similar Topology can be implemented in parallel and independently of each other and the teaching of the system by an automatic mechanism with which an independent adjustment of the neural network is possible.
[0021] Verfahren nach Anspruch 20 dadurch gekennzeichnet, dass für das Belehren der Anordnung eine lineare Funktion, eine Sigmoid-Funktion, eine quadratische Funktion und eine gaußsche Funktion entweder einzeln oder in Kombination von mehreren verwendet wird.A method according to claim 20, characterized in that for the teaching of the arrangement a linear function, a sigmoid function, a quadratic function and a Gaussian function is used either singly or in combination of several.
[0022] Verfahren nach Anspruch 21 dadurch gekennzeichnet, dass die Sigmoid-Funktion und die linearen Funktion als Standardaktivi erungs- funktionen in der Hidden- und Ausgangsschicht zur Verfügung gestellt werden.A method according to claim 21, characterized in that the sigmoid function and the linear function are provided as standard activation functions in the hidden and output layer.
[0023] Verfahren nach Anspruch 22 dadurch gekennzeichnet, dass die Standardaktivierungsfunktionen beim Multilayerperzeptron verwendet werden.A method according to claim 22, characterized in that the standard activation functions are used in Multilayerperzeptron.
[0024] Verfahren nach Anspruch 21 dadurch gekennzeichnet, dass die quadratische Funktion nur in der Hiddenschicht eingesetzt wird, wobei die Funktionsverläufe jeweils über verschiedene Parameter eingestellt werden.A method according to claim 21, characterized in that the quadratic function is used only in the hidden layer, wherein the function curves are each set via different parameters.
[0025] Verfahren nach einem der Ansprüche 21 oder 24 dadurch gekennzeichnet, dass die gaußsche Funktion nur in der Ausgangsschicht verwendet wird, wobei die Funktionsverläufe jeweils über verschiedene Parameter eingestellt werden.Method according to one of claims 21 or 24, characterized in that the Gaussian function is used only in the output layer, wherein the function curves are each set via different parameters.
[0026] Verfahren nach einem der Ansprüche 20 bis 25 dadurch gekennzeichnet, dass die Hiddenneuronenfunktionen eine synaptische Funktionsaufgabe übernehmen, indem durch eine Synapse die Funktion zur Berechnung des euklidschen Abstandes (w -x ) ausgeführt durch die Summe von (w -2*w x +x ) umgesetzt wird, wobei der Wert w in einer Biassynapse, der Wert -2*w x in einer allgemein verwendbaren Synapse und der Wert x2 in einem Hiddenneuron erzeugt wird und die Ausgänge auf einem Knoten zu (wi-xi)2 addiert werden.Method according to one of claims 20 to 25, characterized in that the Hiddenneuronenfunktionen take over a synaptic function task by performing the function of calculating the Euclidean distance (w -x) by a synapse by the sum of (w -2 * wx + x), where the value w is generated in a biassynapse, the value -2 * wx in a general purpose synapse and the value x 2 in a hidden neuron and the outputs on a node are added to (wi-xi) 2 .
[0027] Verfahren nach Anspruch 21 dadurch gekennzeichnet, dassA method according to claim 21, characterized in that
Eingangssignale mit einem Gewichtswert multipliziert werden, anschließend eine Summation der gewichteten Eingangssignale (Skalarprodukt) und nach der Skalarbildung eine Übertragung der Summe durch eine spezielle Funktion, insbesondere durch eine lineare, eine sigmoide oder eine sprungförmige Funktion, erfolgt.Input signals are multiplied by a weight value, then a summation of the weighted input signals (scalar product) and after the scalar transmission of the sum by a special function, in particular by a linear, a sigmoide or a jump-shaped function occurs.
[0028] Verfahren nach Anspruch 27 dadurch gekennzeichnet, dass mit einer Gewichtsschicht und linearer Übertragungsfunktion die Gewichte analytisch berechnet werden und genau ein globales Minimum existiert.A method according to claim 27, characterized in that with a weight layer and linear transfer function, the weights are calculated analytically and exactly one global minimum exists.
[0029] Verfahren nach Anspruch 27 dadurch gekennzeichnet, dass mit einer Gewichtsschicht und nichtlinearer Übertragungsfunktion die Gewichte bedingt analytisch berechnen werden und mit einem einfachen iterativen Mini- mierungsverfahren ein globales Minimum gefunden wird.[0029] Method according to claim 27, characterized in that, with a weight layer and non-linear transfer function, the weights are conditionally calculated analytically and a global minimum is found with a simple iterative minimization method.
[0030] Verfahren nach Anspruch 29 dadurch gekennzeichnet, dass die Netze je nach Anforderung an die Topologie mit oder ohne Biasneuronen und -Synapsen betrieben werden und/oder die Biasneuronen dabei als zusätzliche Eingangsneuronen verwendet werden. [0031] Verfahren nach Anspruch 27 dadurch gekennzeichnet, dass mit ein oder mehreren Gewichtsschichten und linearer oder nichtlinearer Übertragungsfunktion die Gewichte für die zu lösende Aufgabe mit einem statistischen iterativen Minimierungsverfahren bestimmt werden, wobei eine Vielzahl lokaler Minima existiert.A method according to claim 29, characterized in that the networks are operated depending on the requirements of the topology with or without bias neurons and synapses and / or the bias neurons are used as additional input neurons. A method according to claim 27, characterized in that one or more weight layers and linear or non-linear transfer function, the weights for the task to be solved with a statistical iterative minimization method are determined, wherein a plurality of local minima exists.
[0032] Verfahren nach Anspruch 27 dadurch gekennzeichnet, dass mit einer parallelen Anordnung von mehreren Perzeptron-Netzen mit einer oder mehreren Gewichtsschichten und linearer bzw. nichtlinearer Übertragungsfunktion mehrere voneinander völlig unabhängige Sensorsignale verarbeiten werden, wobei die verwendeten Topologien völlig unterschiedlich sein können.A method according to claim 27, characterized in that with a parallel arrangement of several perceptron networks with one or more weight layers and linear or non-linear transfer function will process a plurality of completely independent sensor signals, the topologies used may be completely different.
[0033] Verfahren nach Anspruch 20 dadurch gekennzeichnet, dass eine Differenz zwischen Eingangssignal und Gewicht gebildet, diese anschließend quadriert und die Summe der Quadrate gebildet wird, wobei der Abstand (euklidische Distanz) durch Ziehen der Quadratwurzel aus der Summe berechnet wird und dies der Berechnung des zwischen anliegendem Signal und gespeichertem Gewichtsvektor entspricht.A method according to claim 20, characterized in that a difference between the input signal and weight formed, this is then squared and the sum of the squares is formed, wherein the distance (Euclidean distance) is calculated by pulling the square root of the sum and this the calculation corresponds between the applied signal and stored weight vector.
[0034] Verfahren nach Anspruch 33 dadurch gekennzeichnet, dass nur eine Schicht und keine spezielle Übertragungsfunktion verwendet wird, in der direkt die Summe der euklidischen Abstände am Ausgang ausgewertet und in den Gewichten die sogenannten Prototypen einer Klasse gespeichert werden, wodurch am Ausgang des Netzes ein Vektor entsteht, der die quadratischen Abstände des Eingangssignals zu den gespeicherten Klassenprototypen repräsentiert und durch eine Bestimmung des minimalen Ausgangssignals ist die passende Klasse gefunden wird.A method according to claim 33, characterized in that only one layer and no special transfer function is used in the directly evaluated the sum of the Euclidean distances at the output and stored in the weights of the so-called prototypes of a class, whereby at the output of the network Vector is formed, which represents the square distances of the input signal to the stored class prototypes, and by a determination of the minimum output signal, the matching class is found.
[0035] Verfahren nach Anspruch 33 dadurch gekennzeichnet, dass zwei Schichten verwendet werden, wobei die erste Schicht eine einfache Gewichtsschicht ist, deren Summen anschließend in einer speziellen Funktion in Form einer Glockenkurve berechnet werden und die zweite Schicht vom Per- zeptrontyp mit linearer Ausgangsfunktion ist, deren Gewichte analytisch berechnet werden, so dass kein statistischer iterativer Minimierungsprozess erforderlich ist.Method according to claim 33, characterized in that two layers are used, the first layer being a simple weight layer, the sums of which are subsequently calculated in a special function in the form of a bell curve and the second layer is of the perpectron type with a linear output function whose weights are calculated analytically, so that no statistical iterative minimization process is required.
[0036] Verfahren nach Anspruch 20 dadurch gekennzeichnet, dass rückgekoppelte Netze verwendet werden, bei denen die Zustände der Neuronen solange neu berechnet werden, bis das Netz in einen Ruhezustand konvergiert ist, in dem sich keine Änderung der Aktivierungszustände mehr ergeben.A method according to claim 20, characterized in that feedback networks are used in which the states of the neurons are recalculated until the network is converged into a resting state in which there is no change in the activation states more.
[0037] Verfahren nach Anspruch 36 dadurch gekennzeichnet, dass ein stabiler Zustand durch die Parameter Eingabe, Gewichtsmatrix und Schwellenwerte der Neuronen bestimmt wird.A method according to claim 36, characterized in that a stable state by the parameters input, weight matrix and Thresholds of neurons is determined.
[0038] Verfahren nach Anspruch 36 oder 37 dadurch gekennzeichnet, dass die n-dimensionalen Eingaben mit genau so vielen Recheneinheiten verarbeitet werden, wie Cluster bestimmt werden sollen und nur eine Einheit des Netzes eine Ausgabe abliefert und gleichzeitig alle anderen daran hindert es zu tun.A method according to claim 36 or 37, characterized in that the n-dimensional inputs are processed with as many arithmetic units as clusters are to be determined and only one unit of the network delivers an output and at the same time prevents all others from doing so.
[0039] Verfahren nach Anspruch 36 oder 37 dadurch gekennzeichnet, dass die n-dimensionalen Eingaben mit genau so vielen Recheneinheiten verarbeitet werden, wie Cluster bestimmt werden sollen und die Ausgabe nicht nur von einer Einheit abgeliefert wird und die Clusterung während des Lernens erzeugt wird.A method according to claim 36 or 37, characterized in that the n-dimensional inputs are processed with as many arithmetic units as clusters are to be determined and the output is not delivered by only one unit and the clustering is generated during learning.
[0040] Verfahren nach Anspruch 36 oder 37 dadurch gekennzeichnet, dass das Netz aus einer einzigen Schicht von n Neuronen besteht, welche untereinander total vernetzt sind, d.h. jedes Neuron besitzt eine Verbindung zu jedem anderen Neuron, kein Neuron direkt mit sich selbst verbunden ist, das Netz symmetrisch gewichtet ist, den einzelnen Neuronen jeweils eine lineare Schwellenwertfunktion als Aktivierungsfunktion zugeordnet ist und als Eingabe die übliche gewichtete Summe erfolgt.A method according to claim 36 or 37, characterized in that the network consists of a single layer of n neurons which are totally networked with each other, i. Each neuron has a connection to every other neuron, no neuron is directly connected to itself, the network is symmetrically weighted, the individual neurons each have a linear threshold value function assigned as an activation function, and the usual weighted sum is input.
[0041] Verfahren nach Anspruch 36 oder 37 dadurch gekennzeichnet, dass ein unvollständiges Eingabemuster in das rückgekoppelte System eingegeben wird und bei Rückführung auf den Eingang die fehlenden Anteile teilweise ergänzt werden und das verbesserte Ausgabemuster dem Netz erneut als Eingabe präsentiert wird, so dass das System mit einer erneut verbesserten Ausgabe reagiert. A method according to claim 36 or 37, characterized in that an incomplete input pattern is input to the feedback system and when returning to the input the missing portions are partially supplemented and the improved output pattern is presented to the network as an input again so that the system responded with a further improved output.
PCT/EP2006/060831 2005-03-24 2006-03-17 Field programmable synapses array and method for programming the same WO2006100209A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005014323A DE102005014323A1 (en) 2005-03-24 2005-03-24 Field Programmable synapse Array and method for its programming
DE102005014323.7 2005-03-24

Publications (2)

Publication Number Publication Date
WO2006100209A2 true WO2006100209A2 (en) 2006-09-28
WO2006100209A3 WO2006100209A3 (en) 2007-08-30

Family

ID=36910905

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/060831 WO2006100209A2 (en) 2005-03-24 2006-03-17 Field programmable synapses array and method for programming the same

Country Status (2)

Country Link
DE (1) DE102005014323A1 (en)
WO (1) WO2006100209A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9269042B2 (en) 2010-09-30 2016-02-23 International Business Machines Corporation Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
DE102020113088A1 (en) 2020-05-14 2021-11-18 Universität Stuttgart Körperschaft des öffentlichen Rechts Method for analog multiplication and / or calculation of a scalar product with a circuit arrangement, in particular for artificial neural networks

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019105985A1 (en) * 2019-03-08 2020-09-10 Bundesdruckerei Gmbh Method and device for automatic quality assessment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155802A (en) * 1987-12-03 1992-10-13 Trustees Of The Univ. Of Penna. General purpose neural computer
DE19833822A1 (en) * 1998-07-28 2000-02-03 Frank Stuepmann Self-learning neuronal network in a hybrid VLSI technology for monitoring learning patterns and controlling learning processes adjusts automatically to learning patterns.

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892962A (en) * 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US20040039717A1 (en) * 2002-08-22 2004-02-26 Alex Nugent High-density synapse chip using nanoparticles

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155802A (en) * 1987-12-03 1992-10-13 Trustees Of The Univ. Of Penna. General purpose neural computer
DE19833822A1 (en) * 1998-07-28 2000-02-03 Frank Stuepmann Self-learning neuronal network in a hybrid VLSI technology for monitoring learning patterns and controlling learning processes adjusts automatically to learning patterns.

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
G.M. BO, D.D. CAVIGLIA, M. VALLE: "An On-Chip Learning Neural Network" IEEE-INNS-ENNS INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN'00), Bd. 4, 2000, Seite 4066, XP002435626 *
JON BRUNETTI & BRIAN VON HERZEN: "Virtex-E LVDS Drivers & Receivers: Interface Guidelines" XILINX LVDS APPLICATION NOTES, [Online] Nr. XAPP232, 4. Oktober 1999 (1999-10-04), Seiten 1-9, XP002435646 *
LEE, E.K.F. & GULAK, P.G.: "Field programmable analogue array based on MOSFET transconductors" ELECTRONICS LETTERS, Bd. 28, Nr. 1, 2. Januar 1992 (1992-01-02), Seiten 28-29, XP002435906 *
SETH BRIDGES, MIGUEL FIGUEROA, DAVID HSU, AND CHRIS DIORIO: "Field-Programmable Learning Arrays" ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 15SIXTEENTH ANNUAL CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS: NATURAL AND SYNTHETIC, Nr. 15, 2002, Seiten 1155-1162, XP002435625 Vancouver, Canada *
STEUPMANN F ET AL: "NEUROPROZESSOR MIT ECHTZEITFAEHIGKEIT FUER OPTISCHE ERKENNUNGSAUFGABEN NEURO PROCESSOR WITH REAL TIME ABILITY FOR VISUAL RECOGNITION TASKS" VDI BERICHTE, DUESSELDORF, DE, Nr. 1800, 2003, Seiten 9-16,170, XP009052227 ISSN: 0083-5560 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9269042B2 (en) 2010-09-30 2016-02-23 International Business Machines Corporation Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
US9946969B2 (en) 2010-09-30 2018-04-17 International Business Machines Corporation Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
US9953261B2 (en) 2010-09-30 2018-04-24 International Business Machines Corporation Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
US11232345B2 (en) 2010-09-30 2022-01-25 International Business Machines Corporation Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
US11270192B2 (en) 2010-09-30 2022-03-08 International Business Machines Corporation Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
DE102020113088A1 (en) 2020-05-14 2021-11-18 Universität Stuttgart Körperschaft des öffentlichen Rechts Method for analog multiplication and / or calculation of a scalar product with a circuit arrangement, in particular for artificial neural networks

Also Published As

Publication number Publication date
WO2006100209A3 (en) 2007-08-30
DE102005014323A1 (en) 2006-09-28

Similar Documents

Publication Publication Date Title
DE112016003245T5 (en) Resistive processing unit
US9082079B1 (en) Proportional-integral-derivative controller effecting expansion kernels comprising a plurality of spiking neurons associated with a plurality of receptive fields
US11861489B2 (en) Convolutional neural network on-chip learning system based on non-volatile memory
DE112018005726B4 (en) COUNTER-BASED RESISTIVE PROCESSING UNIT FOR PROGRAMMABLE AND RECONFIGURABLE ARTIFICIAL NEURAL NETWORKS
US9189730B1 (en) Modulated stochasticity spiking neuron network controller apparatus and methods
US20140081895A1 (en) Spiking neuron network adaptive control apparatus and methods
US20220012564A1 (en) Resilient Neural Network
Malavé et al. Neural network-based design of cellular manufacturing systems
DE112018003231T5 (en) NEUROMORPHE PROCESSING DEVICE
DE112019000226T5 (en) NEUROMORPHER CHIP FOR UPDATING PRECISE SYNAPTICAL WEIGHT VALUES
Zhao et al. Synchronization of coupled memristive competitive BAM neural networks with different time scales
DE60125536T2 (en) ARRANGEMENT FOR GENERATING ELEMENT SEQUENCES
Klidbary et al. A novel adaptive learning algorithm for low-dimensional feature space using memristor-crossbar implementation and on-chip training
WO2006100209A2 (en) Field programmable synapses array and method for programming the same
Kozlova et al. The use of neural networks for planning the behavior of complex systems
Sharma et al. Study of artificial neural networks
US20080201284A1 (en) Computer-Implemented Model of the Central Nervous System
DE112020005613T5 (en) Neuromorphic unit with crossbar array structure
Wilamowski Understanding neural networks
Guyon Neural networks and applications tutorial
International Neural Network Society (INNS), the IEEE Neural Network Council Cooperating Societies et al. The Lneuro-chip: a digital VLSI with on-chip learning mechanism
Bavandpour et al. Spiking neuro-fuzzy clustering system and its memristor crossbar based implementation
Murtagh Neural networks and related'massively parallel'methods for statistics: A short overview
Maravall et al. Fusion of learning automata theory and granular inference systems: ANLAGIS. Applications to pattern recognition and machine learning
DE112021002939T5 (en) EFFICIENT TILE MAPPING FOR LINE-BY-ROW MAPPING IN CONVOLUTIONAL NEURAL NETWORKS TO ANALOG INFERENCE IN ARTIFICIAL INTELLIGENCE NETWORKS

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Country of ref document: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06725130

Country of ref document: EP

Kind code of ref document: A2

WWW Wipo information: withdrawn in national office

Ref document number: 6725130

Country of ref document: EP