EP3469521A1 - Neuronales netzwerk und verfahren zum trainieren eines neuronalen netzwerks - Google Patents
Neuronales netzwerk und verfahren zum trainieren eines neuronalen netzwerksInfo
- 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
Links
- 238000012549 training Methods 0.000 title claims abstract description 375
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 173
- 238000000034 method Methods 0.000 title claims description 141
- 210000002569 neuron Anatomy 0.000 claims abstract description 318
- 210000000225 synapse Anatomy 0.000 claims abstract description 135
- 239000011159 matrix material Substances 0.000 claims description 192
- 238000012545 processing Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 description 67
- 230000000946 synaptic effect Effects 0.000 description 43
- 230000015572 biosynthetic process Effects 0.000 description 37
- 230000008569 process Effects 0.000 description 35
- 238000009826 distribution Methods 0.000 description 26
- 238000004422 calculation algorithm Methods 0.000 description 22
- 230000002829 reductive effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000009467 reduction Effects 0.000 description 10
- 239000003990 capacitor Substances 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000005315 distribution function Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000000670 limiting effect Effects 0.000 description 6
- 238000002360 preparation method Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 210000004205 output neuron Anatomy 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 238000007619 statistical method Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005669 field effect Effects 0.000 description 3
- 238000007620 mathematical function Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005684 electric field Effects 0.000 description 2
- 230000002964 excitative effect Effects 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 230000002401 inhibitory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000009828 non-uniform distribution Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000010287 polarization Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- YZSCPLGKKMSBMV-UHFFFAOYSA-N 5-fluoro-4-(8-fluoro-4-propan-2-yl-2,3-dihydro-1,4-benzoxazin-6-yl)-N-[5-(1-methylpiperidin-4-yl)pyridin-2-yl]pyrimidin-2-amine Chemical compound FC=1C(=NC(=NC=1)NC1=NC=C(C=C1)C1CCN(CC1)C)C1=CC2=C(OCCN2C(C)C)C(=C1)F YZSCPLGKKMSBMV-UHFFFAOYSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000012152 algorithmic method Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003319 supportive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations 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)
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)
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)
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 | Прогресс, Инк. | Нейронная сеть и способ обучения нейронной сети |
-
2017
- 2017-06-09 KR KR1020197000226A patent/KR102558300B1/ko active IP Right Grant
- 2017-06-09 CN CN201780035716.7A patent/CN109416758A/zh active Pending
- 2017-06-09 JP JP2018564317A patent/JP7041078B2/ja active Active
- 2017-06-09 EP EP17811082.1A patent/EP3469521A4/de not_active Withdrawn
- 2017-06-09 WO PCT/US2017/036758 patent/WO2017214507A1/en unknown
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 |