EP3469521A1 - Neuronales netzwerk und verfahren zum trainieren eines neuronalen netzwerks - Google Patents

Neuronales netzwerk und verfahren zum trainieren eines neuronalen netzwerks

Info

Publication number
EP3469521A1
EP3469521A1 EP17811082.1A EP17811082A EP3469521A1 EP 3469521 A1 EP3469521 A1 EP 3469521A1 EP 17811082 A EP17811082 A EP 17811082A EP 3469521 A1 EP3469521 A1 EP 3469521A1
Authority
EP
European Patent Office
Prior art keywords
array
training
corrective
neuron
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP17811082.1A
Other languages
English (en)
French (fr)
Other versions
EP3469521A4 (de
Inventor
Dmitri PESCIANSCHI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Progress Inc
Original Assignee
Progress Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/178,137 external-priority patent/US9619749B2/en
Priority claimed from US15/449,614 external-priority patent/US10423694B2/en
Application filed by Progress Inc filed Critical Progress Inc
Publication of EP3469521A1 publication Critical patent/EP3469521A1/de
Publication of EP3469521A4 publication Critical patent/EP3469521A4/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Definitions

  • Provisional Application Serial No. 62/106,389 filed January 22, 2015, and also claims the benefit of U.S. Provisional Application Serial No. 62/173,163 filed June 09, 2015, the entire content of which is similarly incorporated by reference.
  • neural network generally refers to software and/or computer architecture, i.e., the overall design or structure of a computer system or a microprocessor, including the hardware and software required to run it.
  • Artificial neural networks may be a family of statistical learning algorithms inspired by biological neural networks, a.k.a., the central nervous systems of animals, in particular the brain. Artificial neural networks are primarily used to estimate or approximate generally unknown functions that may depend on a large number of inputs. Such neural networks have been used for a wide variety of tasks that are difficult to resolve using ordinary rule-based programming, including computer vision and speech recognition.
  • a neural network includes a plurality of inputs to the neural network configured to receive training images.
  • the training images are either received by the plurality of inputs as a training input value array or codified as the training input value array during training of the neural network, i.e., after having been received by the plurality of inputs.
  • the neural network also includes a plurality of synapses. Each synapse is connected to one of the plurality of inputs and includes a plurality of corrective weights. Each corrective weight is defined by a weight value, and the corrective weights of the plurality of synapses are organized in a corrective weight array.
  • the neural network additionally includes a plurality of neurons.
  • Each neuron has at least one output and is connected with at least one of the plurality of inputs via at least one of the plurality of synapses.
  • Each neuron is configured to add up the weight values of the corrective weights corresponding to each synapse connected to the respective neuron, such that the plurality of neurons generate a neuron sum array.
  • the neural network also includes a controller configured to receive desired images organized as a desired output value array.
  • the plurality of inputs to the neural network may be configured to receive input images. Such input images may be either received as an input value array or codified as the input value array during recognition of the images by the neural network.
  • Each synapse may include a plurality of trained corrective weights of the trained corrective weight array. Additionally, each neuron may be configured to add up the weight values of the trained corrective weights corresponding to each synapse connected to the respective neuron, such that the plurality of neurons generate a recognized images array, thereby providing recognition of such input images.
  • the neural network may also include a set of distributors.
  • the set of distributors may be configured to codify each of the training images and input images as the respective training input value array and input value array.
  • Such a set of distributors may be operatively connected to the plurality of inputs for receiving the respective training images and input images.
  • the controller may additionally be programmed with an array of target deviation of the neuron sum array from the desired output value array. Furthermore, the controller may be configured to complete training of the neural network when the deviation of the neuron sum array from the desired output value array is within an acceptable range of the array of target deviation.
  • the training input value array, input value array, corrective weight array, neuron sum array, desired output value array, deviation array, trained corrective weight array, recognized image array, and target deviation array may be organized, respectively, as a training input value matrix, input value matrix, corrective weight matrix, neuron sum matrix, desired output value matrix, deviation matrix, trained corrective weight matrix, recognized image matrix, and target deviation matrix.
  • the neural network may additionally include a plurality of data processors.
  • the controller may be additionally configured to partition at least one of the respective input value, training input value, corrective weight, neuron sum, and desired output value matrices into respective sub-matrices and communicate a plurality of the resultant sub-matrices to the plurality of data processors for separate parallel mathematical operations therewith.
  • partitioning of any of the subject matrices into respective sub-matrices facilitates concurrent or parallel data processing and an increase in speed of either image recognition of the input value matrix or training of the neural network.
  • Such concurrent or parallel data processing also permits scalability of the neural network.
  • the controller may also be configured to subtract the neuron sum matrix from the desired output value matrix to generate a matrix of deviation of neuron sums. Additionally, the controller may be configured to divide the matrix of deviation of neuron sums by the number of inputs connected to the respective neuron to generate a matrix of deviation per neuron input.
  • the controller may be also configured to determine a number of times each corrective weight was used during one training epoch of the neural network.
  • the controller may additionally be configured to form an averaged deviation matrix for the one training epoch using the determined number of times each corrective weight was used during the one training epoch.
  • the controller may be configured to add the averaged deviation matrix for the one training epoch to the corrective weight matrix to thereby generate the trained corrective weight matrix and complete the one training epoch.
  • a method of operating such a neural network i.e., for training and image recognition, is also disclosed.
  • a neural network in another embodiment, includes a plurality of network inputs, such that each input is configured to receive an input signal having an input value.
  • the neural network also includes a plurality of synapses, wherein each synapse is connected to one of the plurality of inputs and includes a plurality of corrective weights, wherein each corrective weight is established by a memory element that retains a respective weight value.
  • the neural network additionally includes a set of distributors. Each distributor is operatively connected to one of the plurality of inputs for receiving the respective input signal and is configured to select one or more corrective weights from the plurality of corrective weights in correlation with the input value.
  • the neural network also includes a set of neurons.
  • Each neuron has at least one output and is connected with at least one of the plurality of inputs via one of the plurality of synapses synapse and is configured to add up the weight values of the corrective weights selected from each synapse connected to the respective neuron and thereby generate a neuron sum.
  • the output of each neuron provides the respective neuron sum to establish an operational output signal of the neural network.
  • the neural network may also include a weight correction calculator configured to receive a desired output signal having a value, determine a deviation of the neuron sum from the desired output signal value, and modify respective corrective weight values established by the corresponding memory elements using the determined deviation. In such a case, adding up the modified corrective weight values to determine the neuron sum is intended to minimize the deviation of the neuron sum from the desired output signal value to thereby generate a trained neural network.
  • the trained neural network may be configured to receive supplementary training using solely a supplementary input signal having a value and a corresponding supplementary desired output signal.
  • each of the plurality of synapses may be configured to accept one or more additional corrective weights established by the respective memory elements.
  • the neural network may be configured to remove from the respective synapses, during or after training of the neural network, one or more corrective weights established by the respective memory elements. Such removal of some corrective weights may permit the neural network to retain only a number of memory elements required to operate the neural network.
  • the neural network may be configured to accept at least one of an additional input, an additional synapse, and an additional neuron before or during training of the neural network to thereby expand operational parameters of the neural network.
  • the neural network may be configured to remove at least one of an input, a synapse, and a neuron before, during, or after training of the neural network. Such ability to remove neural network elements that are not being used by the network is intended to simplify structure and modify operational parameters of the neural network without loss of the network's output quality.
  • Each memory element may be established by an electrical device characterized by an electrical and/or a magnetic characteristic configured to define a respective weight value.
  • a characteristic may be resistance, impedance, capacity, magnetic field, induction, electric field intensity, etc.
  • the respective electrical and/or magnetic characteristic of each device may be configured to be varied during training of the neural network.
  • the weight correction calculator may modify the respective corrective weight values by varying the respective at least one of the electrical and the magnetic characteristic of the corresponding electrical devices.
  • the electrical device may be configured as one of a resistor, a memistor, a memristor, a transistor, a capacitor, a field-effect transistor, a photoresistor, such as a light-dependent resistor (LDR), or a magnetic dependent resistor (MDR).
  • a resistor such as a light-dependent resistor (LDR), or a magnetic dependent resistor (MDR).
  • MDR magnetic dependent resistor
  • Each memory element may be established by a block of electrical resistors and include a selector device configured to select one or more electrical resistors from the block using the determined deviation to establish each corrective weight.
  • the block of electrical resistors may additionally include electrical capacitors.
  • each memory element may be established by a block having both, electrical resistors and electrical capacitors.
  • the selector device may then be additionally configured to select capacitors using the determined deviation to establish each corrective weight.
  • each neuron may be established by one of a series and a parallel communication channel, such as an electrical wire, or a series or parallel bus.
  • the weight correction calculator may be established as a set of differential amplifiers. Furthermore, each differential amplifier may be configured to generate a respective correction signal.
  • Each of the distributors may be a demultiplexer configured to select one or more corrective weights from the plurality of corrective weights in response to the received input signal.
  • Each distributor may be configured to convert the received input signal into a binary code and select one or more corrective weights from the plurality of corrective weights in correlation with the binary code.
  • a method of operating a utility neural network includes processing data via the utility neural network using modified corrective weight values established by a separate analogous neural network during training thereof.
  • the method also includes establishing an operational output signal of the utility neural network using the modified corrective weight values established by the separate analogous neural network.
  • the separate analogous neural network was trained via receiving, via an input to the neural network, a training input signal having a training input value; communicating the training input signal to a distributor operatively connected to the input; selecting, via the distributor, in correlation with the training input value, one or more corrective weights from a plurality of corrective weights, wherein each corrective weight is defined by a weight value and is positioned on a synapse connected to the input; adding up the weight values of the selected corrective weights, via a neuron connected with the input via the synapse and having at least one output, to generate a neuron sum; receiving, via a weight correction calculator, a desired output signal having a value; determining, via the weight correction calculator, a deviation of the neuron sum from the desired output signal value; and modifying, via the weight correction calculator, respective corrective weight values using the determined deviation to establish the modified corrective weight values, such that adding up the modified corrective weight values to determine
  • the utility neural network and the trained separate analogous neural network may include a matching neural network structure including a number of inputs, corrective weights, distributors, neurons, and synapses.
  • each corrective weight may be established by a memory element that retains a respective weight value.
  • FIGURE 1 is a schematic illustration of a prior art, classical artificial neural network.
  • FIGURE 2 is a schematic illustration of a "progressive neural network” (p- net) having a plurality of synapses, a set of distributors, and a plurality of corrective weights associated with each synapse.
  • p- net a "progressive neural network” having a plurality of synapses, a set of distributors, and a plurality of corrective weights associated with each synapse.
  • FIGURE 3A is a schematic illustration of a portion of the p-net shown in Figure 2, having a plurality of synapses and one synaptic weight positioned upstream of each distributor.
  • FIGURE 3B is a schematic illustration of a portion of the p-net shown in Figure 2, having a plurality of synapses and a set of synaptic weights positioned downstream of the respective plurality of corrective weights.
  • FIGURE 3C is a schematic illustration of a portion of the p-net shown in Figure 2, having a plurality of synapses and one synaptic weight positioned upstream of each distributor and a set of synaptic weights positioned downstream of the respective plurality of corrective weights.
  • FIGURE 4C is a schematic illustration of a portion of the p-net shown in
  • Figure 2 having a single distributor for all synapses of a given input, and having one synaptic weight positioned upstream of each distributor and a set of synaptic weights positioned downstream of the respective plurality of corrective weights.
  • FIGURE 5 is a schematic illustration of division of input signal value range into individual intervals in the p-net shown in Figure 2.
  • FIGURE 6B is a schematic illustration of another embodiment of the distribution for values of coefficient of impact of corrective weights in the p-net shown in Figure 2.
  • FIGURE 6C is a schematic illustration of yet another embodiment of the distribution for values of coefficient of impact of corrective weights in the p-net shown in Figure 2.
  • FIGURE 7 is a schematic illustration of an input image for the p-net shown in Figure 2, as well as one corresponding table representing the image in the form of digital codes and another corresponding table representing the same image as a set of respective intervals.
  • FIGURE 9 is a schematic illustration of an embodiment of the p-net shown in Figure 2 with an example of distribution of synaptic weights around a "central" neuron.
  • FIGURE 10 is a schematic illustration of an embodiment of the p-net shown in Figure 2, depicting a uniform distribution of training deviation between corrective weights.
  • FIGURE 11 is a schematic illustration of an embodiment of the p-net shown in Figure 2, employing modification of the corrective weights during p-net training.
  • FIGURE 14 is a schematic illustration of a model for object oriented programming for the p-net shown in Figure 2 using Unified Modeling Language (UML).
  • UML Unified Modeling Language
  • FIGURE 20 is a schematic illustration of training the p-net shown in Figure 2.
  • FIGURE 32 is a schematic illustration of another embodiment of the memory element configured as variable impedance in the p-net.
  • FIGURE 37 is a flow diagram of a method for operating the neural network shown in Figures 34-36.
  • the p-net 100 also includes a plurality or a set of synapses 118. Each synapse 118 is connected to one of the plurality of inputs 102, includes a plurality of corrective weights 112, and may also include a synaptic weight 108, as shown in Figure 2. Each corrective weight 112 is defined by a respective weight value.
  • the p- net 100 also includes a set of distributors 114. Each distributor 1 14 is operatively connected to one of the plurality of inputs 102 for receiving the respective input signal 104. Additionally, each distributor 1 14 is configured to select one or more corrective weights from the plurality of corrective weights 112 in correlation with the input value.
  • the weight correction calculator 122 is also configured to determine a deviation 128 of the neuron sum 120 from the value of the desired output signal 124, a.k.a., training error, and modify respective corrective weight values using the determined deviation 128. Thereafter, summing the modified corrective weight values to determine the neuron sum 120 minimizes the deviation of the subject neuron sum from the value of the desired output signal 124 and, as a result, is effective for training the p-net 100.
  • the deviation 128 may also be described as the training error between the determined neuron sum 120 and the value of the desired output signal 124.
  • the input values of the input signal 104 only change in the process of general network setup, and are not changed during training of the p-net. Instead of changing the input value, training of the p-net 100 is provided by changing the values 112 of the corrective weights 1 12.
  • Generating the neuron sum 120 may include initially assigning respective coefficients of impact 134 to each corrective weight 112 according to the input value 102 and then multiplying the subject coefficients of impact by values of the respective employed corrective weights 112. Then, summing via the each neuron 116 the individual products of the corrective weight 112 and the assigned coefficient of impact 134 for all the synapses 118 connected thereto.
  • the p-net 100 typically formation of the p-net 100 will take place before the training of the p-net commences. However, in a separate embodiment, if during training the p-net 100 receives an input signal 104 for which initial corrective weights are absent, appropriate corrective weights 112 may be generated. In such a case, the specific distributor 114 will determine the appropriate interval "d" for the particular input signal 104, and a group of corrective weights 112 with initial values will be generated for the given input 102, the given interval "d", and all the respective neurons 116. Additionally, a corresponding coefficient of impact 134 may be assigned to each newly generated corrective weight 112.
  • predetermined highest level may be assigned to such highest level, as also shown in Figure 5.
  • the specific interval distribution may also be non-uniform or nonlinear, such as symmetrical, asymmetrical, or unlimited. Nonlinear distribution of intervals "d" may be useful when the range of the input signals 104 is considered to be impractically large, and a certain part of the range could include input signals considered to be most critical, such as in the beginning, in the middle, or at end of the range.
  • the specific interval distribution may also be described by a random function. All the preceding examples are of the non-limiting nature, as other variants of intervals distribution are also possible.
  • determination of the deviation 128 of the neuron sum 120 from the desired output signal value may include determining the mathematical difference therebetween. Additionally, the modification of the respective corrective weights 112 may include apportioning the mathematical difference to each corrective weight used to generate the neuron sum 120. Alternatively, the apportionment of the mathematical difference may include dividing the determined difference equally between each corrective weight 112 used to generate the neuron sum 120. In a yet separate embodiment, the determination of the deviation 128 may also include dividing the value of the desired output signal 124 by the neuron sum 120 to thereby generate the deviation coefficient. Furthermore, in such a case, the modification of the respective corrective weights 112 may include multiplying each corrective weight 112 used to generate the neuron sum 120 by the generated deviation coefficient.
  • the method proceeds to frame 214.
  • the method includes modifying, via the weight correction calculator 122, respective corrective weight values using the determined deviation 128.
  • the modified corrective weight values may subsequently be added or summed up and then used to determine a new neuron sum 120.
  • the summed modified corrective weight values may then serve to minimize the deviation of the neuron sum 120 from the value of the desired output signal 124 and thereby train the p-net 100.
  • method 200 may include returning to frame 202 to perform additional training epochs until the deviation of the neuron sum 120 from the value of the desired output signal 124 is sufficiently minimized.
  • additional training epochs may be performed to converge the neuron sum 120 on the desired output signal 124 to within the predetermined deviation or error value, such that the p-net 100 may be considered trained and ready for operation with new images.
  • a specific input image may be converted into an input image in interval format, that is, real signal values may be recorded as numbers of intervals to which the subject respective signals belong. This procedure may be carried out in each training epoch for the given image. However, the image may also be formed once as a set of interval numbers. For example, in Figure 7 the initial image is presented as a picture, while in the table "Image in digital format” the same image is presented in the form of digital codes, and in the table "Image in interval format” then image is presented as a set of interval numbers, where a separate interval is assigned for each 10 values of digital codes.
  • Desired output images 126 represent a field or table of digital, where each point corresponds to a specific numeric value from - ⁇ to + ⁇ , or analog values. Each point of the desired output image 126 may correspond to the output of one of the neurons of the p-net 100. Desired output images 126 may be encoded with digital or analog codes of images, tables, text, formulas, sets of symbols, such as barcodes, or sounds. [00121] In the simplest case, each input image 106 may correspond to an output image, encoding the subject input image. One of the points of such output image may be assigned a maximum possible value, for example 100%, whereas all other points may be assigned a minimum possible value, for example, zero.
  • Figure 9 shows an embodiment of the p-net 100 in which the relationship between an input and respective neurons is reduced in accordance with statistical normal distribution. Uneven distribution of synaptic weights 108 may result in the entire input signal being communicated to a target or "central" neuron for the given input, thus assigning a value of zero to the subject synaptic weight.
  • Figure 9 shows an embodiment of the p-net 100 that is effective for recognition of local patterns.
  • 10-20% of strong connections where the values of the synaptic weights 108 are small or zero, may be distributed throughout the entire p-net 100, in a
  • a program for example, written in an object-oriented programming language, that generates main elements of the p-net, such as synapses, synaptic weights, distributors, corrective weights, neurons, etc., as software objects.
  • a program may assign relationships between the noted objects and algorithms specifying their actions.
  • synaptic and corrective weights may be formed in the beginning of formation of the p-net 100, along with setting their initial values.
  • Such evaluation of modifications may include changing, either increasing or reducing, the number of intervals; changing the type of distribution of the coefficients of corrective weight impact (Ci,d, n ), testing variants with non-uniform distribution of intervals, such as using normal, power, logarithmic, or log-normal distribution; and changing values of synaptic weights 108, for example their transition to non-uniform distribution.
  • each synapse 118 includes a set of corrective weights Wi,d, n .
  • training with new images while possibly increasing training error does not delete the images, for which the p-net 100 was previously trained.
  • the more synapses 118 contribute to each neuron 116 and the greater the number of corrective weights Wi,d, n at each synapse the less training for a specific image affects the training for other images.
  • the ability of the p-net 100 to easily shift from training mode to the recognition mode and vice versa allows for realization of a "learn from mistakes" mode, when the p-net 100 is trained by an external trainer.
  • the partially trained p-net 100 may generate its own actions, for example, to control a technological process.
  • the trainer could control the actions of the p-net 100 and correct those actions when necessary.
  • additional training of the p-net 100 could be provided.
  • p-net 100 will be trained to ensure its ability to recognize images, patterns, and correlations inherent to the image, or to a sets of images.
  • the recognition process in the simplest case repeats the first steps of the training process according to the basic algorithm disclosed as part of the method 200. In particular: • direct recognition starts with formatting of the image according to the same rules that are used to format images for training;
  • Formation of a NeuronUnit object class may include formation of:
  • the cycles may be formed, where:
  • An appropriate order and succession of reduction of the index "a” may be experimentally selected to identify strong patterns hidden in the sequence of images. For example, for every 100 images introduced into the p-net 100 during training, there may be a reduction of the index "a” by a count of one, until “a” reaches the zero value. In such a case, the value of "a” may grow correspondingly with the introduction of new images. The competition between growth and reduction of "a” may lead to a situation where random changes are gradually removed from memory, while the corrective weights Wi, n ,d, a that have been used and confirmed many times may be saved.
  • the number of selected winner outputs may be predetermined, for example, in a range of 1 to 10, or winner outputs may be selected according to the rule "no less than N% of the maximum neuron sum", where "N" may be, for example, within 90 - 100%; and o All other outputs may be set equal to zero.
  • Each corrective weight 1 12 may be implemented as a memristor-like device (memristor).
  • a memristor is a variable resistor with resistance controlled by an electrical current in a circuit, or by an electrical potential or an electric charge. Appropriate memristor functionality may be achieved via an actual memristor device, software or physical emulation thereof.
  • memristor In operation of the p-net 100 at low voltage potential, memristor may operate as a simple resistor.
  • the resistance of the memristor may be varied, for example, by a strong voltage pulse. Whether the change of the memristor's value (increasing or decreasing of the resistance) may depend on the polarity of the voltage, while the magnitude of the value change may depend on the magnitude of voltage pulse.
  • each respective output 1 17 of every neuron 116 provides the respective neuron sum 120 to establish an operational output signal 152 of the p-net 100A.
  • the operational output signal 152 has a signal value the represents either a portion or the entirety of an operational output image 154.
  • the trained p-net 100A of any disclosed embodiments may be configured to receive supplementary training using solely a supplementary input signal 156 having a value along with a corresponding supplementary desired output signal 158.
  • the previously trained p-net 100A may receive supplementary training without being retrained with some or all of the original input signals 104 and desired output signals 124 that were employed to initially train the p-net 100 A.
  • Each of the plurality of synapses 1 18 in the p-net 100A may be configured to accept one or more additional corrective weights 112 that were established by the respective memory elements 150.
  • Such additional corrective weights 112 may be added to the synapses either during training or before the supplementary training of the p-net 100A.
  • Such additional corrective weights 1 12 may be used to expand a number of memory elements 150 available to train and operate the p-net 100A.
  • each of the generated correction signals may be used to vary the electrical and/or magnetic characteristic of at least one electrical device, 160 i.e., separate correction signals used for each device being modified.
  • the weight correction calculator 122 may also be configured to generate a single correction signal used to vary the electrical and/or magnetic characteristic of each electrical device 160, i.e., one correction signal may be used for all electrical devices being modified.
  • Each neuron 116 is similarly configured to sum up the values of the corrective weights 112 selected from each synapse 118 connected to the respective neuron 116 to thereby generate and output a neuron sum array 120A, otherwise designated as ⁇ n.
  • a separate distributor 1 14 may similarly be used for each synapse 118 of a given input 102, as shown in Figures 34-36.
  • a single distributor may be used for all such synapses (not shown).
  • all corrective weights 1 12 are assigned initial values, which may change during the process of p-net training, as shown in Figure 35.
  • the initial value of the corrective weight 112 may be selected randomly, calculated with the help of a pre-determined mathematical function, selected from a predetermined template, etc.
  • Initial values of the corrective weights 1 12 may be either identical or distinct for each corrective weight 112, and may also be zero.
  • Non-volatile media for the controller 122A may include, for example, optical or magnetic disks and other persistent memory.
  • Volatile media may include, for example, dynamic random access memory (DRAM), which may constitute a main memory.
  • DRAM dynamic random access memory
  • Such instructions may be transmitted by one or more transmission medium, including coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer.
  • adding up the modified corrective weight values to determine the neuron sum array 120A reduces, i.e., minimizes, the deviation 128 of the neuron sum array 120 A from the desired output value array 126A to generate a trained corrective weight array 134A (shown in Figure 36).
  • the trained corrective weight array 134A includes all the corrective weights 112 within the dashed box 134A.
  • the trained corrective weight array 134A includes all the trained corrective weights 112A within the dashed box 119A and may include the distributors 114 associated therewith. Therefore, the minimized deviation 128 of the neuron sum array 120A compensates for errors generated by the p-net 100B.
  • the generated trained corrective weight array 134A facilitates concurrent or parallel training of the p-net 100B.
  • the distributors may be configured to codify the training and input images 106 as the respective training input value array 107 and input value array 107A. Accordingly, such a set of distributors 1 14 being operatively connected to the plurality of inputs 102 for receiving each of the respective training and input images 106.
  • the above operations may be performed using structured matrices, specifically a trained corrective weight matrix in place of the trained corrective weight array 134A, as will be described in detail below.
  • the training images may be received and/or organized in an input training matrix
  • the above training input images matrix may be converted via the controller 122A into the training input value matrix 141, which is represented as matrix
  • will have a corresponding number of columns for the number of inputs "I”, but accounting for a specific number of intervals "i", and a corresponding number of rows for the number of images.
  • concurrent recognition of a batch of input images 106 may be provided using matrix operation described above.
  • the trained p-net lOOC the corrective weights array, which may be represented as a two-dimensional n x k matrix
  • may be generally represented as follows:
  • the controller 122A may be additionally configured to determine a number of times each corrective weight 112 was used during one training epoch of the p-net 100B represented in the expression below by the symbol "
  • controller 122 A may be configured to add the averaged deviation matrix 157 for the one training epoch to the corrective weight matrix 142 to thereby generate the trained corrective weight matrix 146, represented below as
  • Figure 37 depicts a method 400 for operating the p-net 100B, as described above with respect to Figures 34-36.
  • the method 400 is configured to improve operation of an apparatus, such as a computer, or a system of computers employed in implementing supervised training using one or more data processors, such as the processor 150.
  • the method 400 may be programmed into a non-transitory computer-readable storage device for operating the p-net 100B and encoded with instructions executable to perform the method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
EP17811082.1A 2016-06-09 2017-06-09 Neuronales netzwerk und verfahren zum trainieren eines neuronalen netzwerks Withdrawn EP3469521A4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/178,137 US9619749B2 (en) 2014-03-06 2016-06-09 Neural network and method of neural network training
US15/449,614 US10423694B2 (en) 2014-03-06 2017-03-03 Neural network and method of neural network training
PCT/US2017/036758 WO2017214507A1 (en) 2016-06-09 2017-06-09 Neural network and method of neural network training

Publications (2)

Publication Number Publication Date
EP3469521A1 true EP3469521A1 (de) 2019-04-17
EP3469521A4 EP3469521A4 (de) 2020-02-26

Family

ID=60579026

Family Applications (1)

Application Number Title Priority Date Filing Date
EP17811082.1A Withdrawn EP3469521A4 (de) 2016-06-09 2017-06-09 Neuronales netzwerk und verfahren zum trainieren eines neuronalen netzwerks

Country Status (5)

Country Link
EP (1) EP3469521A4 (de)
JP (1) JP7041078B2 (de)
KR (1) KR102558300B1 (de)
CN (1) CN109416758A (de)
WO (1) WO2017214507A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11454968B2 (en) * 2018-02-28 2022-09-27 Micron Technology, Inc. Artificial neural network integrity verification
US11562231B2 (en) * 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US11640522B2 (en) * 2018-12-13 2023-05-02 Tybalt, Llc Computational efficiency improvements for artificial neural networks
CN109799439B (zh) * 2019-03-29 2021-04-13 云南电网有限责任公司电力科学研究院 一种绝缘多角度倾斜划伤电缆受潮实验评估方法及装置
CN110135557B (zh) * 2019-04-11 2023-06-02 上海集成电路研发中心有限公司 一种图像处理系统的神经网络拓扑架构
CN110046513B (zh) * 2019-04-11 2023-01-03 长安大学 基于Hopfield混沌神经网络的明文关联图像加密方法
CN110111234B (zh) * 2019-04-11 2023-12-15 上海集成电路研发中心有限公司 一种基于神经网络的图像处理系统架构
EP3857506A4 (de) 2019-05-03 2022-01-05 Samsung Electronics Co., Ltd. Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren davon
US11361218B2 (en) * 2019-05-31 2022-06-14 International Business Machines Corporation Noise and signal management for RPU array
US11714999B2 (en) * 2019-11-15 2023-08-01 International Business Machines Corporation Neuromorphic device with crossbar array structure storing both weights and neuronal states of neural networks
KR102410166B1 (ko) * 2019-11-27 2022-06-20 고려대학교 산학협력단 이종 곱셈-누셈 유닛을 이용하는 심층 신경망의 가속기
CN111461308B (zh) * 2020-04-14 2023-06-30 中国人民解放军国防科技大学 忆阻神经网络及权值训练方法
JP7493398B2 (ja) 2020-07-03 2024-05-31 日本放送協会 変換装置、学習装置、およびプログラム
CN111815640B (zh) * 2020-07-21 2022-05-03 江苏经贸职业技术学院 一种基于忆阻器的rbf神经网络医学图像分割算法
CN112215344A (zh) * 2020-09-30 2021-01-12 清华大学 神经网络电路的校正方法以及设计方法
US20220138579A1 (en) * 2020-11-02 2022-05-05 International Business Machines Corporation Weight repetition on rpu crossbar arrays
CN113570048B (zh) * 2021-06-17 2022-05-31 南方科技大学 基于电路仿真的忆阻器阵列神经网络的构建及优化方法
KR102514652B1 (ko) * 2021-11-19 2023-03-29 서울대학교산학협력단 뉴로모픽 소자를 위한 가중치 전사 장치 및 이를 이용한 가중치 전사 방법
CN115358389A (zh) * 2022-09-01 2022-11-18 清华大学 神经网络的训练误差降低方法、装置、电子设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU641418B2 (en) * 1989-09-20 1993-09-23 Fujitsu Limited A parallel data processing system for processing and transmitting data concurrently
CN101980290B (zh) * 2010-10-29 2012-06-20 西安电子科技大学 抗噪声环境多聚焦图像融合方法
US10055434B2 (en) * 2013-10-16 2018-08-21 University Of Tennessee Research Foundation Method and apparatus for providing random selection and long-term potentiation and depression in an artificial network
EA035114B1 (ru) 2014-03-06 2020-04-29 Прогресс, Инк. Нейронная сеть и способ обучения нейронной сети

Also Published As

Publication number Publication date
WO2017214507A1 (en) 2017-12-14
JP2019519045A (ja) 2019-07-04
KR102558300B1 (ko) 2023-07-21
KR20190016539A (ko) 2019-02-18
EP3469521A4 (de) 2020-02-26
CN109416758A (zh) 2019-03-01
JP7041078B2 (ja) 2022-03-23

Similar Documents

Publication Publication Date Title
US9619749B2 (en) Neural network and method of neural network training
EP3469521A1 (de) Neuronales netzwerk und verfahren zum trainieren eines neuronalen netzwerks
US9390373B2 (en) Neural network and method of neural network training
TWI655587B (zh) 神經網路及神經網路訓練的方法
KR102545128B1 (ko) 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템
WO2019091020A1 (zh) 权重数据存储方法和基于该方法的神经网络处理器
WO2020019236A1 (en) Loss-error-aware quantization of a low-bit neural network
CN110245741A (zh) 多层神经网络模型的优化和应用方法、装置及存储介质
JP7247878B2 (ja) 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム
CN109919183B (zh) 一种基于小样本的图像识别方法、装置、设备及存储介质
JP2019032808A (ja) 機械学習方法および装置
CN114387486A (zh) 基于持续学习的图像分类方法以及装置
CN108985442B (zh) 手写模型训练方法、手写字识别方法、装置、设备及介质
Hossain et al. Detecting tomato leaf diseases by image processing through deep convolutional neural networks
CN115280329A (zh) 用于查询训练的方法和系统
CN109697511B (zh) 数据推理方法、装置及计算机设备
TWI722383B (zh) 應用於深度學習之預特徵萃取方法
Wang Efficient Adaptation of Deep Vision Models
Eghbali et al. Deep Convolutional Neural Network (CNN) for Large-Scale Images Classification
US20220343162A1 (en) Method for structure learning and model compression for deep neural network
CN115796235B (zh) 补充缺失数据的生成器模型训练方法和系统
JP2019095894A (ja) 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム
Takanashi et al. Image Classification Using l 1-fidelity Multi-layer Convolutional Sparse Representation
Daniels et al. Efficient Model Adaptation for Continual Learning at the Edge
Vodianyk et al. Evolving Node Transfer Functions in Deep Neural Networks for Pattern Recognition

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20181112

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20200124

RIC1 Information provided on ipc code assigned before grant

Ipc: G06N 3/02 20060101AFI20200120BHEP

Ipc: G06F 17/16 20060101ALI20200120BHEP

Ipc: G06N 3/04 20060101ALI20200120BHEP

Ipc: G06N 3/063 20060101ALI20200120BHEP

Ipc: G06F 15/00 20060101ALI20200120BHEP

Ipc: G06N 3/08 20060101ALI20200120BHEP

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20211208

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20220621