WO2006100209A2 - Field programmable synapses array and method for programming the same - Google Patents
Field programmable synapses array and method for programming the same Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical 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.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
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 dratische Aktivierungsunktion), Anordnung im Block (L - links, R - rechts, O - oben), Spalten- bzw. Zeilennummer, enthält lineare, sigmoide und quadratische AktivierungsfunktionHNLl hidden neuron 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
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 (3)
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 |
CN114662657A (en) * | 2022-03-03 | 2022-06-24 | 中国科学院重庆绿色智能技术研究院 | Polynomial tree process neural network and prediction method thereof |
Families Citing this family (1)
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 |
Family Cites Families (4)
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 |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
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. |
US20040039717A1 (en) * | 2002-08-22 | 2004-02-26 | Alex Nugent | High-density synapse chip using nanoparticles |
-
2005
- 2005-03-24 DE DE102005014323A patent/DE102005014323A1/en not_active Ceased
-
2006
- 2006-03-17 WO PCT/EP2006/060831 patent/WO2006100209A2/en not_active Application Discontinuation
Cited By (7)
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 |
CN114662657A (en) * | 2022-03-03 | 2022-06-24 | 中国科学院重庆绿色智能技术研究院 | Polynomial tree process neural network and prediction method thereof |
Also Published As
Publication number | Publication date |
---|---|
WO2006100209A3 (en) | 2007-08-30 |
DE102005014323A1 (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112016003245B4 (en) | Resistive processing unit | |
US12380320B2 (en) | Resilient neural network | |
US9082079B1 (en) | Proportional-integral-derivative controller effecting expansion kernels comprising a plurality of spiking neurons associated with a plurality of receptive fields | |
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 | |
DE69430527T2 (en) | Circuit for precharging input vector components into a free neuron circuit during the detection phase | |
Wilamowski | Neural networks and fuzzy systems | |
DE69430528T2 (en) | Search / sort circuit for neural networks | |
DE69030592T2 (en) | Generation method for motion tractors in a dynamic system | |
DE68925156T2 (en) | Integrated semiconductor circuit for neural network | |
DE69430870T2 (en) | Innovative neural circuit architecture | |
DE102019116305A1 (en) | PIPELINING TO IMPROVE THE INFERENCE ACCURACY OF NEURONAL NETWORKS | |
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 | |
WO2014047142A1 (en) | Spiking neuron network adaptive control apparatus and methods | |
DE112021002939T5 (en) | EFFICIENT TILE MAPPING FOR LINE-BY-ROW MAPPING IN CONVOLUTIONAL NEURAL NETWORKS TO ANALOG INFERENCE IN ARTIFICIAL INTELLIGENCE NETWORKS | |
DE112008003510T5 (en) | Micro- and / or nanoscale neuromorphs have integrated hybrid circuitry | |
WO2006100209A2 (en) | Field programmable synapses array and method for programming the same | |
DE60125536T2 (en) | ARRANGEMENT FOR GENERATING ELEMENT SEQUENCES | |
Kozlova et al. | The use of neural networks for planning the behavior of complex systems | |
DE112020005613T5 (en) | Neuromorphic unit with crossbar array structure | |
Sharma et al. | Study of artificial neural network | |
Widrow et al. | Adaptive neural networks and their applications | |
US20080201284A1 (en) | Computer-Implemented Model of the Central Nervous System |
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 |