JP2019519045A - Neural network and method of neural network training - Google Patents
Neural network and method of neural network training Download PDFInfo
- Publication number
- JP2019519045A JP2019519045A JP2018564317A JP2018564317A JP2019519045A JP 2019519045 A JP2019519045 A JP 2019519045A JP 2018564317 A JP2018564317 A JP 2018564317A JP 2018564317 A JP2018564317 A JP 2018564317A JP 2019519045 A JP2019519045 A JP 2019519045A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- training
- weight
- neuron
- neural network
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 378
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 173
- 238000000034 method Methods 0.000 title claims description 144
- 238000012937 correction Methods 0.000 claims abstract description 400
- 210000002569 neuron Anatomy 0.000 claims abstract description 314
- 210000000225 synapse Anatomy 0.000 claims abstract description 167
- 230000008859 change Effects 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims description 278
- 238000012986 modification Methods 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 22
- 230000002829 reductive effect Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 description 65
- 238000010586 diagram Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 35
- 230000015572 biosynthetic process Effects 0.000 description 31
- 238000009826 distribution Methods 0.000 description 30
- 238000004422 calculation algorithm Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 14
- 230000000946 synaptic effect Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 11
- 230000000153 supplemental effect Effects 0.000 description 10
- 239000003990 capacitor Substances 0.000 description 9
- 230000009467 reduction Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000002360 preparation method Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 7
- 238000005315 distribution function Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000000670 limiting effect Effects 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 210000004205 output neuron Anatomy 0.000 description 4
- 238000003909 pattern recognition Methods 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000000638 solvent extraction Methods 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
- 230000005684 electric field Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000007620 mathematical function Methods 0.000 description 3
- 238000009828 non-uniform distribution Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000004027 cell Anatomy 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
- 230000009977 dual effect Effects 0.000 description 2
- 230000002964 excitative effect Effects 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 230000002401 inhibitory effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005192 partition Methods 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
- 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
- 230000002411 adverse Effects 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
- 230000009286 beneficial 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
- 210000003169 central nervous system Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007429 general method Methods 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
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (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)
- Image Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
Abstract
ニューラルネットワークは、入力信号を受信するための入力と、入力に接続されており、配列に編成された修正重みを有するシナプスとを含む。トレーニング画像は、入力によって配列として受信されるか、またはネットワークのトレーニングの間にそのようなものとして体系化されるかのいずれかである。ネットワークはまた、1つのシナプスを介して少なくとも1つの入力に接続された出力を各々有し、それぞれのニューロンに接続された各シナプスから選択された修正重みを合計することによってニューロン和配列を生成する、ニューロンを含む。さらに、ネットワークは、所望の画像を配列の形態で受信し、所望の出力値配列からのニューロン和配列の逸脱を決定し、逸脱配列を生成するコントローラを含む。コントローラは逸脱配列を用いて修正重み配列を変更する。変更された修正重みを合算し、ニューロン和配列を決定することは、問題の逸脱を低減し、同時ネットワークトレーニングのためのトレーニングされた修正重み配列を生成する。A neural network includes an input for receiving an input signal, and a synapse connected to the input and having correction weights organized in an array. Training images are either received as an array by input or are organized as such during network training. The network also has an output connected to at least one input via one synapse, and generates a neuron sum sequence by summing the correction weights selected from each synapse connected to the respective neuron , Including neurons. In addition, the network includes a controller that receives the desired images in the form of an array, determines the deviation of the neuron sum array from the desired output value array, and generates a deviating array. The controller uses the deviance array to change the modified weight array. Summing the modified correction weights and determining the neuron sum arrangement reduces the problem deviation and produces a trained correction weight array for simultaneous network training.
Description
関連出願の相互参照
本出願は、2017年3月3日に出願された米国実用特許出願第15/449614号、および2016年6月9日に出願された米国実用特許出願第15/178,137号の利益を主張する。これらの出願は各々、2015年9月23日に出願された米国実用特許バイパス出願第14/862,337号の一部継続であり、この出願は、2015年3月6日に出願された国際出願PCT/US2015/19236号の継続であり、この出願は、2014年3月6日に出願された米国特許仮出願第61/949,210号、および2015年1月22日に出願された米国特許仮出願第62/106,389号の利益を主張し、さらに、2015年6月9日に出願された米国特許仮出願第62/173,163号の利益を主張し、同出願の内容全体は同様に本明細書において参照により組み込まれている。
This application claims the benefit of US Ser. No. 15 / 449,614, filed Mar. 3, 2017, and US Ser. No. 15 / 178,137, filed Jun. 9, 2016. Claim the benefits of Each of these applications is a continuation-in-part of US Patent Application No. 14 / 862,337, filed on September 23, 2015, which application is filed on March 6, 2015. No. PCT / US2015 / 19236, which is a continuation of US Provisional Patent Application No. 61 / 949,210, filed March 6, 2014, and the United States filed January 22, 2015. Provisional Patent Application No. 62 / 106,389, further claiming the benefit of US Provisional Patent Application No. 62 / 173,163, filed on Jun. 9, 2015, the entire contents of that application Is likewise incorporated herein by reference.
本開示は、人工ニューラルネットワーク、およびそれをトレーニングする方法に関する。 The present disclosure relates to artificial neural networks and methods of training them.
機械学習において、用語「ニューラルネットワーク」は、概して、ソフトウェアおよび/またはコンピュータアーキテクチャ、すなわち、それを実行するために必要とされるハードウェアおよびソフトウェアを含む、コンピュータシステムまたはマイクロプロセッサの全体設計または構造を指す。人工ニューラルネットワークは、動物の中枢神経系、特に、脳としても知られる、生物学的ニューラルネットワークから発想を得た統計学習アルゴリズム群であり得る。人工ニューラルネットワークは、主として、多数の入力に依存し得る一般的に未知の機能を推定または近似するために用いられる。このようなニューラルネットワークは、コンピュータ視覚および音声認識を含む、普通のルールベースのプログラミングを用いて解くことが難しい多種多様のタスクのために用いられてきた。 In machine learning, the term "neural network" generally refers to the overall design or structure of a computer system or microprocessor, including software and / or computer architecture, ie, the hardware and software required to execute it. Point to. Artificial neural networks may be a group of statistical learning algorithms inspired by biological neural networks, also known as the central nervous system of animals, in particular the brain. Artificial neural networks are mainly 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 solve using ordinary rule-based programming, including computer vision and speech recognition.
人工ニューラルネットワークは概して、入力から値を計算し得る「ニューロン」のシステムとして提示され、それらの適応性のおかげで、機械学習およびパターン認識の能力を有する。各ニューロンは、しばしば、シナプス重みを有するシナプスを通していくつかの入力と接続する。 Artificial neural networks are generally presented as a system of "neurons" that can calculate values from inputs, and, due to their adaptability, have the capabilities of machine learning and pattern recognition. Each neuron often connects to several inputs through synapses with synaptic weights.
ニューラルネットワークは典型的なソフトウェアおよびハードウェアとしてプログラムされず、トレーニングされる。このようなトレーニングは、通例、十分な数の代表例の解析を経て、入力画像の所与のセットが出力画像の所与のセットに対応するようシナプス重みを統計的もしくはアルゴリズム的に選択することによって達成される。古典的なニューラルネットワークに対してよく言われる批判は、それらのトレーニングのために膨大な時間および他のリソースがしばしば必要とされることである。 Neural networks are not programmed as typical software and hardware but are trained. Such training is typically through analysis of a sufficient number of representative cases to statistically or algorithmically select synaptic weights such that a given set of input images correspond to a given set of output images. Achieved by A frequent criticism of classical neural networks is that a great deal of time and other resources are often needed for their training.
様々な人工ニューラルネットワークが、以下の米国特許:第4,979,124号、第5,479,575号、第5,493,688号、第5,566,273号、第5,682,503号、第5,870,729号、第7,577,631号、および第7,814,038号に記載されている。 Various artificial neural networks are described in U.S. Pat. Nos. 4,979,124, 5,479,575, 5,493,688, 5,566,273, 5,682,503. Nos. 5,870,729, 7,577,631 and 7,814,038.
一実施形態では、ニューラルネットワークは、トレーニング画像を受信するように構成されたニューラルネットワークへの複数の入力を含む。トレーニング画像は、複数の入力によってトレーニング入力値配列として受信されるか、またはニューラルネットワークのトレーニングの間に、すなわち、複数の入力によって受信された後に、トレーニング入力値配列として体系化されるかのいずれかである。ニューラルネットワークはまた、複数のシナプスを含む。各シナプスは複数の入力のうちの1つに接続されており、複数の修正重みを含む。各修正重みは重み値によって規定され、複数のシナプスの修正重みは修正重み配列に編成される。 In one embodiment, the neural network includes a plurality of inputs to a neural network configured to receive a training image. Either the training image is received as a training input value array by multiple inputs, or is organized during training of the neural network, ie, after being received by multiple inputs, as a training input value array It is. Neural networks also include multiple synapses. Each synapse is connected to one of a plurality of inputs and includes a plurality of correction weights. Each correction weight is defined by a weight value, and the correction weights of the plurality of synapses are organized into a correction weight array.
ニューラルネットワークは、さらに、複数のニューロンを含む。各ニューロンは少なくとも1つの出力を有し、複数のシナプスのうちの少なくとも1つを介して複数の入力のうちの少なくとも1つと接続されている。各ニューロンは、それぞれのニューロンに接続された各シナプスに対応する修正重みの重み値を合算するように構成されており、これにより、複数のニューロンはニューロン和配列を生成する。ニューラルネットワークはまた、所望の出力値配列として編成された所望の画像を受信するように構成されたコントローラを含む。 The neural network further includes a plurality of neurons. Each neuron has at least one output and is connected to at least one of the plurality of inputs via at least one of the plurality of synapses. Each neuron is configured to add the weight value of the correction weight corresponding to each synapse connected to the respective neuron, whereby the plurality of neurons generate a neuron sum sequence. The neural network also includes a controller configured to receive the desired image organized as the desired output value array.
コントローラはまた、所望の出力値配列からのニューロン和配列の逸脱を決定し、逸脱配列を生成するように構成されている。コントローラは、さらに、決定された逸脱配列を用いて修正重み配列を変更するように構成されている。変更された修正重み値を合算し、ニューロン和配列を決定することは、所望の出力値配列からのニューロン和配列の逸脱を低減する。すなわち、トレーニングの間にニューロンネットワークによって生成される誤差を補償し、トレーニングされた修正重み配列を生成し、これにより、ニューラルネットワークの同時または並列トレーニングを容易にする。 The controller is also configured to determine a departure of the neuron sum sequence from the desired output value sequence and to generate a departure sequence. The controller is further configured to change the modified weight sequence using the determined deviation sequence. Summing the modified corrected weight values to determine the neuron sum sequence reduces the deviation of the neuron sum sequence from the desired output value array. That is, it compensates for errors generated by the neuron network during training and produces a trained correction weight array, thereby facilitating simultaneous or parallel training of the neural network.
トレーニングされたニューラルネットワークにおいて、ニューラルネットワークへの複数の入力は、入力画像を受信するように構成され得る。このような入力画像は、入力値配列として受信されるか、またはニューラルネットワークによって画像の認識の間に入力値配列として体系化されるかのいずれかであり得る。各シナプスは、トレーニングされた修正重み配列の複数のトレーニングされた修正重みを含み得る。加えて、各ニューロンは、それぞれのニューロンに接続された各シナプスに対応するトレーニングされた修正重みの重み値を合算するように構成されていてもよく、これにより、複数のニューロンは、認識された画像配列を生成し、これにより、このような入力画像の認識をもたらす。 In a trained neural network, multiple inputs to the neural network may be configured to receive an input image. Such an input image may either be received as an input value array or may be organized as an input value array during recognition of the image by a neural network. Each synapse may include a plurality of trained correction weights of the trained correction weight sequence. In addition, each neuron may be configured to add up the weight values of the trained correction weights corresponding to each synapse connected to the respective neuron, whereby a plurality of neurons are recognized An image array is generated, which results in the recognition of such an input image.
ニューラルネットワークはまた、分配器のセットを含み得る。このような実施形態では、分配器のセットは、トレーニング画像および入力画像の各々をそれぞれのトレーニング入力値配列および入力値配列として体系化するように構成され得る。分配器のこのようなセットは、それぞれのトレーニング画像および入力画像を受信するための複数の入力に動作可能に接続され得る。 The neural network may also include a set of distributors. In such embodiments, the set of distributors may be configured to organize each of the training image and the input image as a respective training input value array and input value array. Such a set of distributors may be operatively connected to a plurality of inputs for receiving respective training images and input images.
コントローラは、さらに、所望の出力値配列からのニューロン和配列の目標逸脱の配列を用いてプログラムされ得る。さらに、コントローラは、所望の出力値配列からのニューロン和配列の逸脱が目標逸脱の配列の許容範囲内に入ると、ニューラルネットワークのトレーニングを完了するように構成され得る。 The controller may further be programmed with an array of target deviations of the neuron sum array from the desired output value array. Further, the controller may be configured to complete training of the neural network when the deviation of the neuron sum sequence from the desired output value sequence falls within the tolerance of the target deviation sequence.
トレーニング入力値配列、入力値配列、修正重み配列、ニューロン和配列、所望の出力値配列、逸脱配列、トレーニングされた修正重み配列、認識された画像配列、および目標逸脱配列は、それぞれ、トレーニング入力値行列、入力値行列、修正重み行列、ニューロン和行列、所望の出力値行列、逸脱行列、トレーニングされた修正重み行列、認識された画像行列、および目標逸脱行列として編成され得る。 The training input value array, the input value array, the correction weight array, the neuron sum array, the desired output value array, the deviation array, the trained correction weight array, the recognized image array, and the target deviation array are each a training input value It may be organized as a matrix, an input value matrix, a correction weight matrix, a neuron sum matrix, a desired output value matrix, a deviation matrix, a trained correction weight matrix, a recognized image matrix, and a target deviation matrix.
ニューラルネットワークは、さらに、複数のデータプロセッサを含み得る。このような実施形態では、コントローラは、さらに、それぞれの入力値行列、トレーニング入力値行列、修正重み行列、ニューロン和行列、および所望の出力値行列のうちの少なくとも1つをそれぞれの部分行列に区分し、複数の得られた部分行列を複数のデータプロセッサへ、それらを用いた別個の並列数学演算のために伝達するように構成され得る。問題の行列のうちの任意のものをそれぞれの部分行列へのこのように区分することは、同時または並列データ処理、ならびに入力値行列の画像認識またはニューラルネットワークのトレーニングのいずれかの速度の増大を容易にする。このような同時または並列データ処理はまた、ニューラルネットワークのスケーラビリティも可能にする。 The neural network may further include a plurality of data processors. In such embodiments, the controller further partitions at least one of the respective input value matrix, the training input value matrix, the modified weight matrix, the neuron sum matrix, and the desired output value matrix into respective submatrices And may be configured to communicate the plurality of derived submatrices to a plurality of data processors for separate parallel mathematical operations with them. This partitioning of any of the problem matrices into respective submatrices increases the speed of either simultaneous or parallel data processing, as well as either image recognition of the input value matrix or training of the neural network. make it easier. Such simultaneous or parallel data processing also enables neural network scalability.
コントローラは、トレーニング入力値行列および修正重み行列に代数行列演算を適用することによって修正重み行列を変更し、これにより、ニューラルネットワークをトレーニングし得る。 The controller may modify the modified weighting matrix by applying algebraic matrix operations to the training input value matrix and the modified weighting matrix to train the neural network.
数学行列演算は、トレーニング入力値行列と修正重み行列との数学的積を決定し、これにより、現在のトレーニングエポックの重み行列を形成することを含み得る。 The mathematical matrix operation may include determining the mathematical product of the training input value matrix and the modified weight matrix, thereby forming a weight matrix of the current training epoch.
コントローラはまた、ニューロン和行列を所望の出力値行列から減算し、ニューロン和の逸脱の行列を生成するように構成され得る。加えて、コントローラは、ニューロン和の逸脱の行列を、それぞれのニューロンに接続された入力の数で除算し、ニューロン入力ごとの逸脱の行列を生成するように構成され得る。 The controller may also be configured to subtract the neuron sum matrix from the desired output value matrix to generate a matrix of neuron sum deviations. In addition, the controller may be configured to divide the matrix of neuron sum deviations by the number of inputs connected to each neuron to generate a matrix of deviations for each neuron input.
コントローラはまた、各修正重みがニューラルネットワークの1つのトレーニングエポックの間に用いられた回数を決定するように構成され得る。コントローラは、さらに、各修正重みが1つのトレーニングエポックの間に用いられた決定された回数を用いて1つのトレーニングエポックについての平均逸脱行列を形成するように構成され得る。さらに、コントローラは、1つのトレーニングエポックについての平均逸脱行列を修正重み行列に加算し、これにより、トレーニングされた修正重み行列を生成し、1つのトレーニングエポックを完了するように構成され得る。 The controller may also be configured to determine the number of times each correction weight has been used during one training epoch of the neural network. The controller may be further configured to form an average deviation matrix for one training epoch using the determined number of times each correction weight was used during one training epoch. Further, the controller may be configured to add the mean deviation matrix for one training epoch to the modified weight matrix, thereby generating a trained modified weight matrix, and completing one training epoch.
また、このようなニューラルネットワークを動作させる方法、すなわち、トレーニングおよび画像認識のための方法が開示される。 Also disclosed is a method of operating such a neural network, ie a method for training and image recognition.
追加的に開示されるのは、人工ニューラルネットワークを動作させるための非一時的コンピュータ可読記憶デバイス、および人工ニューラルネットワークを動作させるための装置である。 Additionally disclosed are non-transitory computer readable storage devices for operating artificial neural networks and devices for operating artificial neural networks.
別の実施形態では、ニューラルネットワークは複数のネットワーク入力を含み、これにより、各入力は、入力値を有する入力信号を受信するように構成されている。ニューラルネットワークはまた、複数のシナプスを含み、各シナプスは複数の入力のうちの1つに接続されており、複数の修正重みを含み、各修正重みは、それぞれの重み値を保持するメモリ要素によって確立される。ニューラルネットワークは、さらに、分配器のセットを含む。各分配器は、それぞれの入力信号を受信するための複数の入力のうちの1つに動作可能に接続されており、入力値に相関して複数の修正重みから1つ以上の修正重みを選択するように構成されている。ニューラルネットワークはまた、ニューロンのセットを含む。各ニューロンは少なくとも1つの出力を有し、複数のシナプス群のうちの1つを介して複数の入力のうちの少なくとも1つと接続されており、それぞれのニューロンに接続された各シナプスから選択された修正重みの重み値を合算し、これにより、ニューロン和を生成するように構成されている。各ニューロンの出力はそれぞれのニューロン和を提供し、ニューラルネットワークの動作出力信号を確立する。 In another embodiment, the neural network includes a plurality of network inputs, whereby each input is configured to receive an input signal having an input value. The neural network also includes a plurality of synapses, each synapse being connected to one of a plurality of inputs, including a plurality of correction weights, each correction weight being by a memory element holding a respective weight value. Is established. The neural network further includes a set of distributors. Each distributor is operatively connected to one of the plurality of inputs for receiving the respective input signal, and selects one or more correction weights from the plurality of correction weights in correlation with the input value. It is configured to The neural network also includes a set of neurons. Each neuron has at least one output and is connected to at least one of the plurality of inputs via one of the plurality of synapse groups, selected from each synapse connected to the respective neuron The weighting values of the correction weights are summed up to generate a neuron sum. The output of each neuron provides the respective neuron sum to establish the working output signal of the neural network.
ニューラルネットワークはまた、値を有する所望の出力信号を受信し、所望の出力信号値からのニューロン和の逸脱を決定し、決定された逸脱を用いて、対応するメモリ要素によって確立されたそれぞれの修正重み値を変更するように構成された重み修正計算器を含み得る。このような場合には、変更された修正重み値を合算し、ニューロン和を決定することは、所望の出力信号値からのニューロン和の逸脱を最小化し、これにより、トレーニングされたニューラルネットワークを生成することを意図されている。 The neural network also receives a desired output signal having a value, determines a deviation of the neuron sum from the desired output signal value, and uses the determined deviation to correct each of the corrections established by the corresponding memory element. It may include a weight correction calculator configured to change weight values. In such a case, summing the modified corrected weight values and determining the neuron sum minimizes the deviation of the neuron sum from the desired output signal value, thereby producing a trained neural network. It is intended to be.
トレーニングされたニューラルネットワークは、値を有する補足入力信号、および対応する補足的な所望の出力信号のみを用いて、補足トレーニングを受けるように構成され得る。 The trained neural network may be configured to receive supplemental training using only the supplemental input signal having values and the corresponding supplemental desired output signal.
トレーニングの間、またはニューラルネットワークの補足トレーニングの後のどちらかにおいて、複数のシナプスの各々は、それぞれのメモリ要素によって確立された1つ以上の追加の修正重みを受け入れるように構成され得る。 Either during training or after supplemental training of the neural network, each of the plurality of synapses can be configured to accept one or more additional correction weights established by the respective memory element.
ニューラルネットワークは、ニューラルネットワークのトレーニングの間または後に、それぞれのシナプスから、それぞれのメモリ要素によって確立された1つ以上の修正重みを削除するように構成され得る。一部の修正重みのこのような削除は、ニューラルネットワークが、ニューラルネットワークを動作させるために必要とされる数のメモリ要素のみを保持することを可能にし得る。 The neural network may be configured to remove one or more correction weights established by the respective memory element from the respective synapse during or after the training of the neural network. Such elimination of some correction weights may allow the neural network to hold only the number of memory elements needed to operate the neural network.
ニューラルネットワークは、ニューラルネットワークのトレーニングの前または間に、追加の入力、追加のシナプス、および追加のニューロンのうちの少なくとも1つを受け入れ、これにより、ニューラルネットワークの動作パラメータを拡張するように構成され得る。 The neural network is configured to receive at least one of an additional input, an additional synapse, and an additional neuron before or during training of the neural network, thereby extending the operating parameters of the neural network. obtain.
ニューラルネットワークは、ニューラルネットワークのトレーニングの前、間、または後に、入力、シナプス、およびニューロンのうちの少なくとも1つを削除するように構成され得る。ネットワークによって使用されていないニューラルネットワーク要素を削除するこのような能力は、構造を単純化し、ネットワークの出力品質の損失を伴うことなくニューラルネットワークの動作パラメータを変更することを意図されている。 The neural network may be configured to delete at least one of the input, synapse and neurons before, during or after training of the neural network. Such ability to eliminate neural network elements not used by the network is intended to simplify the structure and to change the operating parameters of the neural network without loss of network output quality.
各メモリ要素は、それぞれの重み値を規定するように構成された電気特性および/または磁気特性によって特徴付けられる電気デバイスによって確立され得る。このような特性は、抵抗、インピーダンス、静電容量、磁界、誘導、電界強度などであり得る。各デバイスのそれぞれの電気特性および/または磁気特性は、ニューラルネットワークのトレーニングの間に変更されるように構成され得る。加えて、重み修正計算器は、対応する電気デバイスの電気特性および磁気特性のうちのそれぞれの少なくとも1つを変更することによって、それぞれの修正重み値を変更し得る。 Each memory element may be established by an electrical device characterized by electrical and / or magnetic properties configured to define a respective weight value. Such characteristics may be resistance, impedance, capacitance, magnetic field, induction, electric field strength, etc. The respective electrical and / or magnetic properties of each device may be configured to be changed during training of the neural network. Additionally, the weight correction calculator may change the respective correction weight value by changing at least one of each of the electrical and magnetic properties of the corresponding electrical device.
電気デバイスは、抵抗器、メミスタ、メモリスタ、トランジスタ、キャパシタ、電界効果トランジスタ、光依存抵抗器(light−dependent resistor、LDR)などのフォトレジスタ、または磁気依存抵抗器(magnetic dependent resistor、MDR)のうちの1つとして構成され得る。 The electric device may be a resistor, a resonator, a memristor, a transistor, a capacitor, a field effect transistor, a photo-resistor such as a light-dependent resistor (LDR), or a magnetic dependent resistor (MDR). Can be configured as one of
各メモリ要素は電気抵抗器のブロックによって確立され、決定された逸脱を用いてブロックから1つ以上の電気抵抗器を選択し、各修正重みを確立するように構成された選択デバイスを含み得る。 Each memory element is established by the block of electrical resistors and may include a selection device configured to select one or more electrical resistors from the block using the determined deviation and to establish each modified weight.
電気抵抗器のブロックは、さらに、電気キャパシタを含み得る。換言すれば、各メモリ要素は、電気抵抗器および電気キャパシタの両方を有するブロックによって確立され得る。このとき、選択デバイスは、さらに、決定された逸脱を用いてキャパシタを選択し、各修正重みを確立するように構成され得る。 The block of electrical resistors may further include electrical capacitors. In other words, each memory element can be established by a block having both an electrical resistor and an electrical capacitor. At this time, the selection device may be further configured to select capacitors using the determined deviation and to establish each correction weight.
ニューラルネットワークは、アナログネットワーク、デジタルネットワーク、およびデジタル−アナログネットワークのうちの1つとして構成され得る。このようなネットワークでは、複数の入力、複数のシナプス、メモリ要素、分配器のセット、ニューロンのセット、重み修正計算器、および所望の出力信号のうちの少なくとも1つは、アナログフォーマット、デジタルフォーマット、およびデジタル−アナログフォーマットで動作するように構成され得る。 The neural network may be configured as one of an analog network, a digital network, and a digital-analog network. In such a network, at least one of the plurality of inputs, the plurality of synapses, the memory element, the set of distributors, the set of neurons, the weight correction calculator, and the desired output signal may be in analog format, digital format, And may be configured to operate in a digital-analog format.
ニューラルネットワークがアナログネットワークとして構成されている場合には、各ニューロンは、電線、または直列バスもしくは並列バスなどの、直列および並列のうちの一方の通信チャネルによって確立され得る。 If the neural network is configured as an analog network, each neuron may be established by a wire, or one of serial and parallel communication channels, such as a serial bus or a 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.
分配器の各々は、受信された入力信号に応じて複数の修正重みから1つ以上の修正重みを選択するように構成されたデマルチプレクサであり得る。 Each of the distributors may be a demultiplexer configured to select one or more of the correction weights from the plurality of correction weights in response to the received input signal.
各分配器は、受信された入力信号を2進符号に変換し、2進符号に相関して複数の修正重みから1つ以上の修正重みを選択するように構成され得る。 Each distributor may be configured to convert the received input signal into a binary code and to correlate to the binary code to select one or more correction weights from the plurality of correction weights.
ニューラルネットワークは、メモリを有する電子デバイス内にプログラムされてもよく、各メモリ要素は電子デバイスのメモリ内に記憶される。 The neural network may be programmed in an electronic device having a memory, each memory element being stored in a memory of the electronic device.
また、ユーティリティニューラルネットワークを動作させる方法が開示される。本方法は、ユーティリティニューラルネットワークを介して、別個の類似ニューラルネットワークによってそのトレーニングの間に確立された変更された修正重み値を用いてデータを処理することを含む。本方法はまた、別個の類似ニューラルネットワークによって確立された変更された修正重み値を用いてユーティリティニューラルネットワークの動作出力信号を確立することを含む。 Also disclosed is a method of operating a utility neural network. The method includes processing the data via the utility neural network with the modified correction weight values established during the training by a separate similar neural network. The method also includes establishing the operational output signal of the utility neural network using the modified correction weight values established by the separate similarity neural network.
ユーティリティニューラルネットワークによる変更された修正重み値の使用のために、別個の類似ニューラルネットワークは、ニューラルネットワークへの入力を介して、トレーニング入力値を有するトレーニング入力信号を受信することと、トレーニング入力信号を、入力に動作可能に接続された分配器へ通信することと、分配器を介して、トレーニング入力値に相関して、複数の修正重みから1つ以上の修正重みを選択することであって、各修正重みは重み値によって規定され、入力に接続されたシナプス上に位置付けられる、選択することと、シナプスを介して入力と接続され、少なくとも1つの出力を有するニューロンを介して、選択された修正重みの重み値を合算し、ニューロン和を生成することと、重み修正計算器を介して、値を有する所望の出力信号を受信することと、重み修正計算器を介して、所望の出力信号値からのニューロン和の逸脱を決定することと、重み修正計算器を介して、決定された逸脱を用いてそれぞれの修正重み値を変更し、変更された修正重み値を確立することであって、変更された修正重み値を合算し、ニューロン和を決定することが、所望の出力信号値からのニューロン和の逸脱を最小化し、これにより、ニューラルネットワークをトレーニングするようにする、確立することと、を通してトレーニングされた。 For the use of the modified correction weight values by the utility neural network, the separate similar neural network receives the training input signal having the training input value via the input to the neural network, and the training input signal Communicating with a splitter operatively connected to the input, and, via the splitter, correlating to the training input value to select one or more of the correction weights from the plurality of correction weights, Each correction weight is defined by a weight value and is located on a synapse connected to the input, selecting and connected to the input via the synapse, selected correction via a neuron having at least one output Summing the weights and generating the neuron sum, and the value via the weight correction calculator Receiving the desired output signal having, determining the deviation of the neuron sum from the desired output signal value via the weight correction calculator, and using the determined deviation via the weight correction calculator Changing the respective modified weight values and establishing the modified corrected weight values, summing the modified corrected weight values and determining the neuron sum from the desired output signal value Training was done through establishing, which minimizes the deviation of the sum, thereby training the neural network.
ユーティリティニューラルネットワークおよびトレーニングされた別個の類似ニューラルネットワークは、多数の入力、修正重み、分配器、ニューロン、およびシナプスを含む整合ニューラルネットワーク構造を含み得る。 The utility neural network and the trained separate similar neural network may include matched neural network structures including multiple inputs, correction weights, distributors, neurons, and synapses.
ユーティリティニューラルネットワークおよびトレーニングされた別個の類似ニューラルネットワークの各々において、各修正重みは、それぞれの重み値を保持するメモリ要素によって確立され得る。 In each of the utility neural network and the trained separate similar neural network, each correction weight may be established by a memory element holding a respective weight value.
上述の特徴および利点、ならびに本開示の他の特徴および利点は、添付の図面および添付の請求項と関連して、実施形態および、本開示を実施するための最良の形態の以下の詳細な説明から容易に明らかになるであろう。 The above features and advantages, as well as other features and advantages of the present disclosure, will be better understood by the following detailed description of embodiments and best modes for practicing the disclosure in conjunction with the accompanying drawings and the appended claims. It will be readily apparent from
古典的な人工ニューラルネットワーク10は、図1に示されるように、通例、入力デバイス12と、シナプス重み16を有するシナプス14と、加算器20および活性化関数デバイス22を含む、ニューロン18と、ニューロン出力24と、重み修正計算器26とを含む。各ニューロン18はシナプス14を通して2つ以上の入力デバイス12に接続されている。シナプス重み16の値は一般的に、電気抵抗、導電率、電圧、電荷、磁気特性、または他のパラメータを用いて表される。 A classical artificial neural network 10, as shown in FIG. 1, typically comprises a neuron 18 and a neuron comprising an input device 12, a synapse 14 with synaptic weights 16, an adder 20 and an activation function device 22. An output 24 and a weight correction calculator 26 are included. Each neuron 18 is connected to two or more input devices 12 through a synapse 14. The value of synapse weight 16 is generally expressed using electrical resistance, conductivity, voltage, charge, magnetic properties, or other parameters.
古典的なニューラルネットワーク10の教師付きトレーニングは概して、トレーニングペア28のセットの適用に基づく。各トレーニングペア28は一般的に、入力画像28−1、および教師信号としても知られる、所望の出力画像28−2からなる。古典的なニューラルネットワーク10のトレーニングは通例、以下のように行われる。入力信号(I1〜Im)のセットの形態の入力画像が入力デバイス12に入り、初期重み(W1)を有するシナプス重み16へ転送される。入力信号の値は、重みによって、通例、各信号(I1〜Im)の値にそれぞれの重みを乗算するか、またはそれで除算することによって、変更される。シナプス重み16から、変更された入力信号が各々、それぞれのニューロン18へ転送される。各ニューロン18は、問題のニューロン18に関連するシナプス14のグループから信号のセットを受信する。ニューロン18内に含まれる加算器20は、重みによって変更され、問題のニューロンによって受信された全ての入力信号を合計する。活性化関数デバイス22は、それぞれの得られたニューロン和を受信し、数学関数に従って和を変更し、かくして、ニューロン出力信号のセット(ΣF1…ΣFn)としてそれぞれの出力画像を形成する。 Supervised training of the classical neural network 10 is generally based on the application of a set of training pairs 28. Each training pair 28 generally consists of an input image 28-1 and a desired output image 28-2, also known as a teacher signal. The training of the classical neural network 10 is typically performed as follows. An input image in the form of a set of input signals (I 1 -I m ) enters the input device 12 and is transferred to a synapse weight 16 having an initial weight (W 1 ). The value of the input signal is modified by the weight, typically by multiplying or dividing the value of each signal (I 1 -I m ) by the respective weight. From the synapse weights 16 each modified input signal is forwarded to a respective neuron 18. Each neuron 18 receives a set of signals from the group of synapses 14 associated with the neuron 18 in question. The adder 20 contained within the neuron 18 is modified by the weights and sums all the input signals received by the neuron in question. The activation function device 22 receives each obtained neuron sum, modifies the sum according to the mathematical function, and thus forms each output image as a set of neuron output signals (ΣF 1 ... FF n ).
ニューロン出力信号(ΣF1…ΣFn)によって規定された、得られたニューロン出力画像は、重み修正計算器26によって所定の所望の出力画像(O1〜On)と比較される。得られたニューロン出力画像ΣFnと所望の出力画像Onとの決定された差に基づいて、事前にプログラムされたアルゴリズムを用いてシナプス重み16を変更するための修正信号が形成される。全てのシナプス重み16に対して修正が行われた後に、入力信号のセット(I1〜Im)がニューラルネットワーク10に再導入され、新たな修正が行われる。得られたニューロン出力画像ΣFnと所望の出力画像Onとの差が何らかの所定の誤差未満であると決定されるまで、上述のサイクルが繰り返される。全ての個々の画像を用いたネットワークトレーニングの1つのサイクルは、通例、「トレーニングエポック」として識別される。概して、トレーニングエポックのたびに、誤差の大きさは低減される。しかし、個々の入力(I1〜Im)の数、ならびに入力および出力の数に依存して、古典的なニューラルネットワーク10のトレーニングは、場合によっては、何十万という大きさになり得る、膨大な数のトレーニングエポックを必要とし得る。 The resulting neuron output image, defined by the neuron output signals (ΣF 1 ... FF n ), is compared by the weight correction calculator 26 with a predetermined desired output image (O 1 to O n ). Based on the determined difference between the obtained neuron output image FF n and the desired output image O n , a correction signal for changing the synapse weights 16 is formed using a preprogrammed algorithm. After all the synapse weights 16 have been corrected, the set of input signals (I 1 -I m ) is reintroduced into the neural network 10 and a new correction is made. Difference resulting neuron output image .SIGMA.F n and the desired output image O n until it is determined that some is less than the predetermined error, the above cycle is repeated. One cycle of network training with all individual images is commonly identified as a "training epoch". Generally, at each training epoch, the magnitude of the error is reduced. However, depending on the number of individual inputs (I 1 to I m ), and the number of inputs and outputs, the training of the classical neural network 10 can possibly be hundreds of thousands in size, It may require a huge number of training epochs.
ホップフィールドネットワーク、制限ボルツマンマシン、放射基底関数ネットワーク、およびリカレントニューラルネットワークを含む、種々の古典的なニューラルネットワークが存在する。分類およびクラスタ化の特定のタスクは、特定の種類のニューラルネットワーク、入力画像のみをネットワーク入力トレーニング情報として用いる自己組織化マップを必要とし、それに対して、特定の入力画像に対応する所望の出力画像は、最大値を有する出力信号を有する単一の勝者ニューロンに基づいてトレーニングプロセスの間に直接形成される。 Various classical neural networks exist, including Hopfield networks, restricted Boltzmann machines, radial basis function networks, and recurrent neural networks. The specific task of classification and clustering requires a specific type of neural network, a self-organizing map using only the input image as network input training information, whereas the desired output image corresponding to the specific input image Are formed directly during the training process based on a single winner neuron having an output signal with a maximum value.
上述されたように、ニューラルネットワーク10などの、既存の古典的なニューラルネットワークに対する主な懸念のうちの1つは、これらのトレーニングを成功させるには、膨大な期間を必要とし得ることである。古典的なネットワークに対するいくつかのさらなる懸念は、計算リソースの大量消費であり得る。これは結果的に高性能のコンピュータの必要性を生じさせるであろう。さらなる懸念は、ネットワークの完全な再トレーニングを行わずにはネットワークのサイズを増大させることができないこと、「ネットワークの麻痺」および「極小におけるフリーズ」のような現象に陥りやすい傾向である。このせいで、特定のニューラルネットワークが、所与のシーケンスで所与の画像セットを用いてトレーニングされることが可能であろうかどうかを予測することが困難になる。また、トレーニングの間に画像が導入される特定のシーケンシングに関連する制限も存在し得る。この場合、トレーニング画像の導入の順序を変更すると、ネットワークのフリーズを招くとともに、すでにトレーニングされたネットワークの追加のトレーニングを遂行できなくなり得る。 As mentioned above, one of the main concerns for existing classical neural networks, such as neural network 10, is that these trainings may require an enormous amount of time to be successful. Some additional concerns for classical networks may be the large consumption of computing resources. This will result in the need for a high performance computer. A further concern is the inability to increase the size of the network without complete retraining of the network, and the tendency to be prone to phenomena such as "network paralysis" and "freezes at the minima". This makes it difficult to predict whether a particular neural network can be trained with a given set of images in a given sequence. There may also be limitations associated with specific sequencing where images are introduced during training. In this case, changing the order of introduction of training images may cause the network to freeze and prevent further training of already trained networks.
残りの図面を参照すると、同様の参照符号は同様の構成要素を指し、図2は、プログレッシブニューラルネットワーク、以下、「プログレッシブネットワーク」、または「pネット」100の概略図を示す。pネット100は、pネットの複数の入力102、または入力102のセットを含む。各入力102は、入力信号104を受信するように構成されている。ここで、図2において、入力信号はI1、I2…Imと表されている。各入力信号I1、I2…Imは、入力画像106の何らかの特性、例えば、大きさ、周波数、位相、信号偏角、または入力画像106の異なる部分との関連の値を表す。各入力信号104は入力値を有し、全体として、複数の入力信号104は概して入力画像106を記述する。 Referring to the remaining figures, like reference numerals refer to like components and FIG. 2 shows a schematic of a progressive neural network, hereinafter "progressive network" or "p-net" 100. The p-net 100 includes a plurality of inputs 102, or sets of inputs 102, of the p-net. Each input 102 is configured to receive an input signal 104. Here, in FIG. 2, the input signals are represented as I 1 , I 2 ... I m . Each input signal I 1 , I 2 ... I m represents some characteristic of the input image 106, eg, magnitude, frequency, phase, signal declination, or a value associated with a different part of the input image 106. Each input signal 104 has an input value, and collectively, the plurality of input signals 104 generally describe the input image 106.
各入力値は、−∞〜+∞にある値の範囲内にあり得、デジタル形式および/またはアナログ形式で設定され得る。入力値の範囲はトレーニング画像のセットに依存し得る。最も単純な場合には、入力値の範囲は、全てのトレーニング画像についての入力信号の最も小さい値と最も大きい値との差であることができるであろう。実用的な理由から、入力値の範囲は、過剰に高いと見なされる入力値を無くすことによって制限されてもよい。例えば、入力値の範囲のこのような制限は、重要度サンプリングなどの、分散低減のための既知の統計的方法を通して達成され得る。入力値の範囲を制限する別の例は、所定の最小レベルよりも低い全ての信号の、特定の最小値への指定、および所定の最大レベルを超える全ての信号の、特定の最大値への指定であり得る。 Each input value may be in a range of values from -− to + ∞, and may be set in digital and / or analog form. The range of input values may depend on the set of training images. In the simplest case, the range of input values could be the difference between the smallest value and the largest value of the input signal for all training images. For practical reasons, the range of input values may be limited by eliminating input values that are considered to be excessively high. For example, such limitation of the range of input values can be achieved through known statistical methods for variance reduction, such as importance sampling. Another example of limiting the range of input values is the specification of all signals below a predetermined minimum level to a specific minimum, and to all signals above a predetermined maximum level at a specific maximum. May be specified.
pネット100はまた、複数のシナプス118、またはシナプス118のセットを含む。各シナプス118は、図2に示されるように、複数の入力102のうちの1つに接続されており、複数の修正重み112を含み、また、シナプス重み108も含み得る。各修正重み112はそれぞれの重み値によって規定される。pネット100はまた、分配器114のセットを含む。各分配器114は、それぞれの入力信号104を受信するための複数の入力102のうちの1つに動作可能に接続されている。加えて、各分配器114は、入力値に相関して複数の修正重み112から1つ以上の修正重みを選択するように構成されている。 The p-net 100 also includes a plurality of synapses 118 or a set of synapses 118. Each synapse 118 is connected to one of a plurality of inputs 102, as shown in FIG. 2, includes a plurality of correction weights 112, and may also include a synapse weight 108. Each correction weight 112 is defined by a respective weight value. The p-net 100 also includes a set of distributors 114. Each distributor 114 is operatively connected to one of a plurality of inputs 102 for receiving a respective input signal 104. In addition, each distributor 114 is configured to select one or more correction weights from the plurality of correction weights 112 in correlation to the input value.
pネット100は、さらに、ニューロン116のセットを含む。各ニューロン116は少なくとも1つの出力117を有し、1つのシナプス118を介して複数の入力102のうちの少なくとも1つと接続されている。各ニューロン116は、それぞれのニューロン116に接続された各シナプス118から選択された修正重み112の修正重み値を合算または合計し、これにより、Σnとして別記されるニューロン和120を生成して出力するように構成されている。図3A、図3B、および図3Cに示されるように、所与の入力102のシナプス118ごとに別個の分配器114が用いられてもよく、あるいは図4A、図4B、および図4Cに示されるように、このようなシナプスの全てのために単一の分配器が用いられてもよい。pネット100の形成またはセットアップの間に、全ての修正重み112は、pネットトレーニングのプロセスの間に変化し得る、初期値を割り当てられる。修正重み112の初期値は古典的なニューラルネットワーク10の場合と同様に割り当てることができ、例えば、重みは、ランダムに選択される、所定の数学関数の助けを借りて算出される、所定のテンプレートから選択されるなどし得る。 p-net 100 further includes a set of neurons 116. Each neuron 116 has at least one output 117 and is connected to at least one of the plurality of inputs 102 via one synapse 118. Each neuron 116 sums up or adds the modified weight values of the modified weights 112 selected from each synapse 118 connected to the respective neuron 116, thereby generating and outputting the neuron sum 120 separately described as n n. Is configured as. A separate splitter 114 may be used for each synapse 118 of a given input 102, as shown in FIGS. 3A, 3B and 3C, or as shown in FIGS. 4A, 4B and 4C. As such, a single splitter may be used for all such synapses. During formation or setup of the p-net 100, all the correction weights 112 are assigned initial values that may change during the process of p-net training. The initial values of the correction weights 112 can be assigned as in the case of the classical neural network 10, for example, the weights can be randomly selected, predetermined templates calculated with the aid of predetermined mathematical functions And so on.
pネット100はまた、重み修正計算器122を含む。重み修正計算器122は、信号値を有し、出力画像126の一部分を表す、所望の、すなわち、所定の、出力信号124を受信するように構成されている。重み修正計算器122はまた、所望の出力信号124の値から、トレーニング誤差としても知られる、ニューロン和120の逸脱128を決定し、決定された逸脱128を用いてそれぞれの修正重み値を変更するように構成されている。その後、変更された修正重み値を合計し、ニューロン和120を決定することは、所望の出力信号124の値からの問題のニューロン和の逸脱を最小化し、その結果、pネット100をトレーニングするために有効である。 The p-net 100 also includes a weight correction calculator 122. Weight correction calculator 122 is configured to receive a desired or predetermined output signal 124 that has signal values and that represents a portion of output image 126. The weight correction calculator 122 also determines from the value of the desired output signal 124 a deviation 128 of the neuron sum 120, also known as a training error, and changes the respective correction weight value using the determined deviation 128. Is configured as. Then, summing the modified correction weights and determining the neuron sum 120 minimizes the problem of the neuron sum deviation from the desired output signal 124 value, and thus training the p-net 100. It is effective for
図1に関して説明された古典的なネットワーク10との類推のために、逸脱128はまた、決定されたニューロン和120と所望の出力信号124の値とのトレーニング誤差として記述することもできる。図1に関して説明された古典的なニューラルネットワーク10と比較すると、pネット100では、入力信号104の入力値は一般的なネットワークセットアップの最中にのみ変化し、pネットのトレーニングの間には変更されない。入力値を変更する代わりに、pネット100のトレーニングは、修正重み112の値112を変更することによって提供される。加えて、各ニューロン116は、ニューロンが修正重み値を合算する合計関数を含むが、ニューロン116は、古典的なニューラルネットワーク10における活性化関数デバイス22によって提供されるものなどの、活性化関数を必要とせず、実際に、活性化関数が存在しないことによって特徴付けられる。 For analogy with the classical network 10 described with respect to FIG. 1, the deviation 128 can also be described as a training error between the determined neuron sum 120 and the value of the desired output signal 124. As compared to the classical neural network 10 described with respect to FIG. 1, in the p-net 100, the input value of the input signal 104 changes only during general network setup and changes during p-net training I will not. Instead of changing the input value, training of the p-net 100 is provided by changing the value 112 of the correction weight 112. In addition, while each neuron 116 includes a summation function in which the neurons sum correction weight values, the neurons 116 include activation functions such as those provided by the activation function device 22 in the classical neural network 10. It is not required and is in fact characterized by the absence of an activation function.
古典的なニューラルネットワーク10では、トレーニングの間の重み修正は、シナプス重み16を変更することによって達成され、その一方で、pネット100では、図2に示されるように、修正重み値112を変更することによって、対応する重み修正がもたらされる。それぞれの修正重み112は、シナプス118の全てまたは一部の上に位置付けられた重み修正ブロック110内に含まれ得る。ニューラルネットワークコンピュータエミュレーションでは、各シナプス重みおよび修正重みは、メモリセルなどのデジタルデバイス、および/またはアナログデバイスのいずれかによって表され得る。ニューラルネットワークソフトウェアエミュレーションでは、修正重み112の値は、適切なプログラムされたアルゴリズムを介して提供することが可能であり、その一方で、ハードウェアエミュレーションでは、メモリ制御のための既知の方法を用いることができるであろう。 In the classical neural network 10, weight correction during training is achieved by changing the synaptic weights 16, while in the p-net 100, the correction weight values 112 are changed as shown in FIG. The result is a corresponding weight correction. Each correction weight 112 may be included in a weight correction block 110 located on all or part of the synapse 118. In neural network computer emulation, each synapse weight and correction weight may be represented by either a digital device such as a memory cell and / or an analog device. In neural network software emulation, the values of the correction weights 112 can be provided via a suitable programmed algorithm, while in hardware emulation the known method for memory control is used Will be able to
pネット100では、所望の出力信号124からのニューロン和120の逸脱128は、両者の間の数学的に計算された差として表され得る。加えて、それぞれの変更された修正重み112の生成は、計算された差の、ニューロン和120を生成するために用いられる各修正重みへの配分を含み得る。このような実施形態では、それぞれの変更された修正重み112の生成は、ニューロン和120が少数のエポック以内に所望の出力信号値に収束されることを可能にすることになり、場合によっては、単一のエポックを必要とするのみであり、pネット100を高速にトレーニングする。特定の例では、ニューロン和120を生成するために用いられる修正重み112の間における数学的差の配分は、決定された差を、それぞれのニューロン和120を生成するために用いられる各修正重みの間で等しく除算することを含み得る。 In the p-net 100, the deviation 128 of the neuron sum 120 from the desired output signal 124 can be represented as a mathematically calculated difference between the two. In addition, the generation of each modified correction weight 112 may include an allocation of the calculated difference to each correction weight used to generate the neuron sum 120. In such embodiments, the generation of each modified correction weight 112 will allow the neuron sum 120 to converge to the desired output signal value within a small number of epochs, in some cases It only needs a single epoch and trains the p-net 100 fast. In a particular example, the distribution of the mathematical differences among the correction weights 112 used to generate the neuron sum 120 is determined by dividing the determined differences by the respective correction weights used to generate the respective neuron sum 120. It may include dividing equally between.
別個の実施形態では、所望の出力信号値からのニューロン和120の逸脱128の決定は、所望の出力信号値をニューロン和で除算し、これにより、逸脱係数を生成することを含み得る。このような特定の例では、それぞれの変更された修正重み112の変更は、ニューロン和120を生成するために用いられる各修正重みに逸脱係数を乗算することを含む。各分配器114は、さらに、複数の影響係数134を複数の修正重み112に割り当てるように構成され得る。本実施形態では、各影響係数134は、それぞれのニューロン和120を生成するために何らかの所定の割合で複数の修正重み112のうちの1つに割り当てられ得る。各々のそれぞれの修正重み112との対応のために、各影響係数134には、図に示されるように、「Сi,d,n」の名称が付与され得る。 In a separate embodiment, determining the deviation 128 of the neuron sum 120 from the desired output signal value may include dividing the desired output signal value by the neuron sum, thereby generating a deviation factor. In such a particular example, changing each modified correction weight 112 includes multiplying each correction weight used to generate neuron sum 120 by a deviation factor. Each distributor 114 may be further configured to assign a plurality of influence factors 134 to a plurality of correction weights 112. In the present embodiment, each influence factor 134 may be assigned to one of the plurality of correction weights 112 at some predetermined rate to generate a respective neuron sum 120. In order to correspond to each respective correction weight 112, each influence coefficient 134 may be given the name " , i, d, n " as shown in the figure.
特定のシナプス118に対応する複数の影響係数134の各々はそれぞれの影響分布関数136によって規定される。影響分布関数136は、全ての影響係数134に対して同じであるか、または特定のシナプス118に対応する複数の影響係数134に対してのみ同じであるかのいずれかであり得る。複数の入力値の各々は、間隔分布関数140に従って間隔または小区分「d」に分割された値の範囲137内に受信され得、これにより、各入力値はそれぞれの間隔「d」内で受信され、各修正重みはこのような間隔のうちの1つに対応する。各分配器114は、それぞれの受信された入力値を用い、それぞれの間隔「d」を選択し、それぞれの複数の影響係数134を、選択されたそれぞれの間隔「d」に対応する修正重み112、およびWi,d+1,nもしくはWi,d−1,nなどの、選択されたそれぞれの間隔に隣接する間隔に対応する少なくとも1つの修正重みに割り当て得る。別の非限定例では、影響係数134の所定の割合は統計的分布に従って規定され得る。 Each of the plurality of influence factors 134 corresponding to a particular synapse 118 is defined by a respective influence distribution function 136. The influence distribution function 136 may either be the same for all influence coefficients 134 or only for a plurality of influence coefficients 134 corresponding to a particular synapse 118. Each of the plurality of input values may be received within the range 137 of values divided into intervals or subdivisions "d" according to the interval distribution function 140, whereby each input value is received within the respective interval "d" And each correction weight corresponds to one of such intervals. Each distributor 114 selects the respective interval "d" using the respective received input value, and the respective influence coefficients 134 are corrected weights 112 corresponding to the respective selected intervals "d". And W i, d + 1, n or W i, d-1, n, etc. may be assigned to at least one correction weight corresponding to the interval adjacent to the selected interval. In another non-limiting example, the predetermined percentage of influence coefficients 134 may be defined according to a statistical distribution.
ニューロン和120を生成することは、最初に、入力値102に従ってそれぞれの影響係数134を各修正重み112に割り当て、次に、問題の影響係数に、それぞれの用いられている修正重み112の値を乗算することを含み得る。次に、各ニューロン116を介して、修正重み112と割り当てられた影響係数134との個々の積を、それに接続された全てのシナプス118にわたって合計する。 Generating the neuron sum 120 first assigns each influence coefficient 134 to each correction weight 112 according to the input value 102, and then, for the problem influence coefficient, the value of each used correction weight 112 It may include multiplying. Next, through each neuron 116, the individual products of the correction weights 112 and the assigned influence coefficients 134 are summed over all synapses 118 connected thereto.
重み修正計算器122は、それぞれの影響係数134を適用し、それぞれの変更された修正重み112を生成するように構成され得る。具体的には、重み修正計算器122は、それぞれの影響係数134によって確立された割合に従って、ニューロン和120と所望の出力信号124との計算された数学的差の一部分を、ニューロン和120を生成するために用いられる各修正重み112に適用し得る。加えて、ニューロン和120を生成するために用いられる修正重み112の間で分割された数学的差はそれぞれの影響係数134でさらに除算され得る。その後、それぞれの影響係数134によるニューロン和120の除算の結果は、ニューロン和120を所望の出力信号値に収束するために、修正重み112に加算され得る。 Weight correction calculator 122 may be configured to apply respective influence factors 134 to generate respective modified correction weights 112. Specifically, the weight correction calculator 122 generates a neuron sum 120 for a portion of the calculated mathematical difference between the neuron sum 120 and the desired output signal 124 according to the proportion established by the respective influence factor 134 Can be applied to each of the correction weights 112 used to In addition, the mathematical differences divided between the correction weights 112 used to generate the neuron sum 120 can be further divided by the respective influence factors 134. The result of the division of the neuron sum 120 by the respective influence factor 134 may then be added to the correction weights 112 to converge the neuron sum 120 to the desired output signal value.
通例、pネット100の形成は、pネットのトレーニングが開始する前に行われることになる。しかし、別個の実施形態では、トレーニングの間に、pネット100が、初期修正重みが存在しない入力信号104を受信する場合には、適切な修正重み112が生成され得る。このような場合には、特定の分配器114が、特定の入力信号104のための適切な間隔「d」を決定することになり、初期値を有する修正重み112のグループが、所与の入力102、所与の間隔「d」、および全てのそれぞれのニューロン116のために生成されることになる。加えて、対応する影響係数134が、各々の新たに生成された修正重み112に割り当てられ得る。 Typically, formation of the p-net 100 will be performed before training of the p-net starts. However, in separate embodiments, during training, if the p-net 100 receives an input signal 104 without an initial correction weight, an appropriate correction weight 112 may be generated. In such a case, a particular splitter 114 will determine the appropriate spacing "d" for a particular input signal 104, and the group of correction weights 112 having an initial value is a given input. 102 will be generated for a given interval "d" and all respective neurons 116. In addition, corresponding influence factors 134 may be assigned to each newly generated correction weight 112.
各修正重み112は、pネット100上における各々のそれぞれの修正重みの位置を識別するように構成されたインデックスのセットによって規定され得る。インデックスのセットは、具体的に、特定の入力102に対応する修正重み112を識別するように構成された入力インデックス「i」、それぞれの修正重みのための上述の選択された間隔を特定するように構成された間隔インデックス「d」、および特定のニューロン116に対応する修正重み112を名称「Wi,d,n」によって特定するように構成されたニューロンインデックス「n」を含み得る。それゆえ、特定の入力102に対応する各修正重み112には、問題の位置を示すために、添え字内において特定のインデックス「i」が割り当てられる。同様に、特定のニューロン116およびそれぞれのシナプス118に対応する各修正重み「W」には、pネット100上における修正重みの問題の位置を示すために、添え字内において特定のインデックス「n」および「d」が割り当てられる。インデックスのセットはまた、それぞれの修正重み112がpネット100のトレーニングの間に入力信号104によってアクセスされた回数を数えるように構成されたアクセスインデックス「a」を含み得る。換言すれば、特定の間隔「d」およびそれぞれの修正重み112がトレーニングのために複数の修正重みから入力値に相関して選択されるたびに、アクセスインデックス「a」は、入力信号をカウントするために、インクリメントされる。アクセスインデックス「a」は、名称「Wi,d,n,a」を採用することによって、各修正重みの現在のステータスをさらに特定または規定するために用いられ得る。インデックス「i」、「d」、「n」、および「a」の各々は0〜+∞の範囲内の数値であり得る。 Each modification weight 112 may be defined by a set of indices configured to identify the location of each respective modification weight on p-net 100. The set of indices specifically identifies the input index "i" configured to identify the correction weights 112 corresponding to the particular input 102, the above selected intervals for each of the correction weights And the neuron index "n" configured to identify the correction weight 112 corresponding to a particular neuron 116 by the name "W i, d, n ". Therefore, each correction weight 112 corresponding to a particular input 102 is assigned a particular index "i" within the subscript to indicate the location of the problem. Similarly, each correction weight "W" corresponding to a particular neuron 116 and a respective synapse 118 has a particular index "n" in the subscript to indicate the position of the problem of the correction weight on p-net 100. And "d" are assigned. The set of indices may also include an access index "a" configured to count the number of times each modification weight 112 has been accessed by the input signal 104 during p-net 100 training. In other words, access index "a" counts the input signal each time a particular interval "d" and the respective correction weight 112 are selected in correlation to the input value from the plurality of correction weights for training. To be incremented. The access index "a" may be used to further specify or define the current status of each modified weight by adopting the name "W i, d, n, a ". Each of the indexes “i”, “d”, “n”, and “a” may be numerical values in the range of 0 to + ∞.
図5に、入力信号104の範囲を間隔d0、d1…dmに分割する様々な可能性が示されている。特定の間隔分布は一様または線形であり得る。これは、例えば、全ての間隔「d」を同じサイズによって特定することによって達成され得る。所定の最低レベルよりも低いそれぞれの入力信号値を有する全ての入力信号104は、0の値を有すると見なすことができ、その一方で、所定の最高レベルよりも大きいそれぞれの入力信号値を有する全ての入力信号は、同じく図5に示されるように、このような最高レベルに割り当てることができる。特定の間隔分布はまた、対称、非対称、または無制限など、非一様または非線形であり得る。間隔「d」の非線形分布は、入力信号104の範囲が非実用的に大きいと見なされ、範囲の最初、中間、または最後などにおける、範囲の特定の部分が、最も重要と見なされる入力信号を含み得るであろうというときに、有用であり得る。特定の間隔分布はまた、ランダム関数によって記述することもできる。間隔分布の他の変形例も可能であるため、上述の例は全て非限定的な性質のものである。 FIG. 5 shows various possibilities of dividing the range of the input signal 104 into the intervals d 0 , d 1 ... D m . The particular spacing distribution may be uniform or linear. This may be achieved, for example, by specifying all intervals "d" by the same size. All input signals 104 having a respective input signal value below a predetermined minimum level can be considered as having a value of 0, while having a respective input signal value greater than a predetermined maximum level. All input signals can be assigned to such highest levels, as also shown in FIG. The particular spacing distribution may also be non-uniform or non-linear, such as symmetric, asymmetric or unlimited. The non-linear distribution of the interval "d" is considered that the range of the input signal 104 is considered to be impractically large, and certain parts of the range, such as at the beginning, middle, or end of the range, are considered most important. It may be useful when it may be included. Specific interval distributions can also be described by random functions. The above examples are all of non-limiting nature, as other variations of the spacing distribution are possible.
入力信号104の選択された範囲内の間隔「d」の数は、pネット100を最適化するために増大させられてもよい。pネット100のこのような最適化は、例えば、入力画像106のトレーニングの複雑さの増大とともに望ましくなり得る。例えば、多色画像のためには、単色画像と比べて、より多数の間隔が必要になり得、複雑な装飾品のためには、単純なグラフィックよりも多数の間隔が必要になり得る。複雑な色勾配を有する画像の正確な認識のためには、輪郭によって記述される画像と比べて、増大した数の間隔が必要となり得、より総数の大きいトレーニング画像に対しても同様である。また、ノイズの大きさが高い場合、トレーニング画像における分散が高い場合、および計算リソースの消費が過大である場合には、間隔「d」の数の低減も必要になり得る。 The number of intervals “d” within the selected range of input signal 104 may be increased to optimize p-net 100. Such optimization of p-net 100 may be desirable, for example, with increasing training complexity of input image 106. For example, for multi-color images, more spacing may be required compared to monochrome images, and for complex adornments, more spacing may be required than simple graphics. For accurate recognition of images with complex color gradients, an increased number of intervals may be required as compared to the image described by the contour, as is the case with larger total training images. Also, if the magnitude of the noise is high, if the variance in the training image is high, and the consumption of computational resources is excessive, then a reduction in the number of intervals "d" may also be required.
pネット100によって処理されるタスク、または情報の種類、例えば、視覚データまたは文字データ、様々な種類のセンサからのデータに依存して、異なる数の間隔およびそれらの分布の種類が指定され得る。入力信号値間隔「d」ごとに、インデックス「d」を有する所与のシナプスの対応する修正重みが割り当てられ得る。それゆえ、特定の間隔「d」は、所与の入力に関連するインデックス「i」、所与の間隔に関連するインデックス「d」、および0〜nのインデックス「n」のための全ての値を有する全ての修正重み112を含むことになる。pネット100をトレーニングするプロセスにおいて、分配器114は各入力信号値を規定し、かくして、問題の入力信号104を、対応する間隔「d」に関連付ける。例えば、0〜100の入力信号の範囲内に10個の等しい間隔「d」が存在する場合には、30〜40の値を有する入力信号は間隔3に関連付けられることになり、すなわち、「d」=3になる。 Depending on the task being processed by the p-net 100 or the type of information, eg visual data or character data, data from different types of sensors, different numbers of intervals and types of their distribution may be specified. For each input signal value interval "d", a corresponding correction weight of a given synapse with index "d" may be assigned. Thus, a particular interval "d" is an index "i" associated with a given input, an index "d" associated with a given interval, and all values for an index "n" from 0 to n. Will include all the correction weights 112. In the process of training p-net 100, splitter 114 defines each input signal value, thus associating the input signal in question 104 with the corresponding interval "d". For example, if there are ten equal intervals "d" in the range of 0 to 100 input signals, then an input signal having a value of 30 to 40 would be associated with interval 3, ie "d '= 3.
所与の入力102と接続された各シナプス118の全ての修正重み112のために、分配器114は、特定の入力信号に関連付けられた間隔「d」に従って影響係数134の値を割り当て得る。分配器114はまた、正弦波、正規、対数分布曲線などの、(図6に示される)影響係数134の値の所定の分布、またはランダム分布関数に従って影響係数134の値を割り当て得る。多くの場合、各シナプス118に関連する特定の入力信号102についての影響係数134またはСi,d,nの和または積分は、1(1)の値を有することになる。
ΣSynapseСi,d,n=1 または ∫SynapseСi,d,n=1 [1]
最も単純な場合には、入力信号値に最も密接に対応する修正重み112は影響係数134(Сi,d,n)に1(1)の値が割り当てられ得、その一方で、他の間隔のための修正重みは0(0)の値を受け得る。
For all correction weights 112 of each synapse 118 connected with a given input 102, the distributor 114 may assign the value of the influence factor 134 according to the interval "d" associated with the particular input signal. Divider 114 may also assign values of influence coefficient 134 according to a predetermined distribution of values of influence coefficient 134 (shown in FIG. 6), such as sine waves, normal, logarithmic distribution curves, etc., or according to a random distribution function. In many cases, the sum or integral of the influence coefficients 134 or С i, d, n for the particular input signal 102 associated with each synapse 118 will have a value of 1 (1).
Syn Synapse С i, d, n = 1 or ∫ Synapse С i, d, n = 1 [1]
In the simplest case, the correction weight 112, which most closely corresponds to the input signal value, may be assigned a value of 1 (1) for the influence factor 134 (С i, d, n ), while the other intervals The correction weights for can receive a value of 0 (0).
pネット100は、古典的なニューロンネットワーク10と比べて、pネットのトレーニングの間における期間および他のリソースの使用の低減に焦点を合わせている。pネット100の一部として本明細書において開示される要素のうちのいくつかは、古典的なニューラルネットワークに精通した人々に知られた特定の名称または識別名によって指定されるが、特定の名称は、簡潔にするために用いられており、古典的なニューラルネットワークにおけるそれらの対応物とは異なって用いられ得る。例えば、入力信号(I1〜Im)の大きさを制御するシナプス重み16は、古典的なニューラルネットワーク10の一般的セットアップのプロセスの間に定められ、古典的なネットワークのトレーニングの間に変更される。他方で、pネット100のトレーニングは、修正重み112を変更することによって達成され、その一方で、シナプス重み108はトレーニングの間に変化しない。加えて、上述されたように、ニューロン116の各々は合計または合算構成要素を含むが、古典的なニューラルネットワーク10に典型的である活性化関数デバイス22を含まない。 The p-net 100 focuses on reducing the use of period and other resources during training of the p-net as compared to the classical neuron network 10. Although some of the elements disclosed herein as part of p-net 100 are designated by particular names or identifiers known to those familiar with classical neural networks, particular names Are used for brevity and may be used differently from their counterparts in classical neural networks. For example, the synaptic weights 16 controlling the magnitude of the input signals (I 1 -I m ) are defined during the process of the general setup of the classical neural network 10 and are changed during the training of the classical network Be done. On the other hand, training of the p-net 100 is achieved by changing the correction weights 112, while the synapse weights 108 do not change during training. In addition, as described above, each of the neurons 116 includes a summation or summation component but does not include the activation function device 22 that is typical of the classical neural network 10.
概して、pネット100は、特定のニューロンおよび全てのそれぞれのシナプス118、ならびに問題のニューロンと接続された修正重み112を含む、それぞれのニューロン116および全ての接続シナプス118を含む各ニューロンユニット119をトレーニングすることによってトレーニングされる。したがって、pネット100のトレーニングは、それぞれのニューロン116に寄与する修正重み112を変更することを含む。修正重み112に対する変更は、以下において詳細に開示される方法200に含まれるグループトレーニングアルゴリズムに基づいて行われる。本開示のアルゴリズムでは、ニューロンごとにトレーニング誤差、すなわち、逸脱128が決定され、これに基づいて、修正値が決定され、各々のそれぞれのニューロン116によって得られる和を決定する際に用いられる重み112の各々に割り当てられる。トレーニングの間におけるこのような修正値の導入は、問題のニューロン116についての逸脱128を0に低減することを意図される。追加の画像を用いたトレーニングの間には、前に利用された画像に関連する新たな誤差が再び現れ得る。このような追加的な誤差を無くすために、1つのトレーニングエポックの完了後に、pネット100全体の全てのトレーニング画像についての誤差が算出されてもよく、このような誤差が所定の値よりも大きい場合には、誤差が目標または所定の値未満になるまで、1つ以上の追加のトレーニングエポックが実施されてもよい。 In general, p-net 100 trains each neuron unit 119, including each neuron 116 and all connected synapses 118, including a particular neuron and all respective synapses 118, and the correction weights 112 connected with the neuron in question. Are trained by doing. Thus, training of the p-net 100 involves changing the correction weights 112 that contribute to each neuron 116. Changes to the correction weights 112 are made based on a group training algorithm included in the method 200 disclosed in detail below. In the algorithm of the present disclosure, a training error or deviation 128 is determined for each neuron, based on which a correction value is determined and a weight 112 used in determining the sum obtained by each respective neuron 116. Assigned to each of The introduction of such corrections during training is intended to reduce the deviation 128 for the neuron 116 in question to zero. During training with additional images, new errors associated with previously utilized images may reappear. In order to eliminate such additional errors, the errors for all training images of the entire p-net 100 may be calculated after completion of one training epoch, such errors being greater than a predetermined value. In some cases, one or more additional training epochs may be performed until the error is less than the target or predetermined value.
図23は、図2〜図22を参照して上述されたとおりの、pネット100をトレーニングする方法200を示す。方法200はフレーム202において開始する。フレーム202において、本方法は、入力102を介して、入力値を有する入力信号104を受信することを含む。フレーム202に続き、本方法はフレーム204へ進む。フレーム204において、本方法は、入力信号104を、入力102に動作可能に接続された分配器114へ通信することを含む。フレーム202またはフレーム204のどちらかにおいて、方法200は、インデックスのセットによって各修正重み112を規定することを含み得る。pネット100の構造に関して上述されたように、インデックスのセットは、入力102に対応する修正重み112を識別するように構成された入力インデックス「i」を含み得る。インデックスのセットはまた、それぞれの修正重み112のための選択された間隔を特定するように構成された間隔インデックス「d」、および特定のニューロン116に対応する修正重み112を「Wi,d,n」として特定するように構成されたニューロンインデックス「n」を含み得る。インデックスのセットは、さらに、それぞれの修正重み112がpネット100のトレーニングの間に入力信号104によってアクセスされた回数を数えるように構成されたアクセスインデックス「a」を含み得る。したがって、各修正重みの現在のステータスは名称「Wi,d,n,a」を採用し得る。 FIG. 23 illustrates a method 200 for training p-net 100 as described above with reference to FIGS. Method 200 begins at frame 202. At frame 202, the method includes receiving, via input 102, an input signal 104 having an input value. Following frame 202, the method proceeds to frame 204. At frame 204, the method includes communicating the input signal 104 to a splitter 114 operatively connected to the input 102. In either frame 202 or frame 204, method 200 may include defining each correction weight 112 by a set of indices. As described above with respect to the structure of p-net 100, the set of indices may include an input index "i" configured to identify the correction weight 112 corresponding to input 102. The set of indices may also be configured to specify a selected interval for each modification weight 112, and an interval index "d", and a modification weight 112 corresponding to a particular neuron 116 "W i, d, It may include a neuron index "n" configured to identify as n ". The set of indices may further include an access index "a" configured to count the number of times each modification weight 112 has been accessed by the input signal 104 during training of the p-net 100. Thus, the current status of each correction weight may adopt the name "W i, d, n, a ".
フレーム204の後、本方法はフレーム206へ進む。フレーム206において、本方法は、分配器114を介して、入力値に相関して、問題の入力102に接続されたシナプス118上に配置された複数の修正重みから1つ以上の修正重み112を選択することを含む。上述されたように、各修正重み112はそのそれぞれの重み値によって規定される。フレーム206において、本方法は、さらに、分配器114を介して、複数の影響係数134を複数の修正重み112に割り当てることを含み得る。フレーム206において、本方法はまた、所定の割合で各影響係数134を複数の修正重み112のうちの1つに割り当て、ニューロン和120を生成することを含み得る。また、フレーム206において、本方法は、ニューロン116を介して、修正重み112と割り当てられた影響係数134との積を、それに接続された全てのシナプス118にわたって合算することを含み得る。加えて、フレーム206において、本方法は、重み修正計算器122を介して、それぞれの影響係数134によって確立された割合に従って、決定された差の一部分を、ニューロン和120を生成するために用いられる各修正重み112に適用することを含み得る。 After frame 204, the method proceeds to frame 206. At frame 206, the method correlates one or more correction weights 112 from the plurality of correction weights disposed on the synapse 118 connected to the input 102 in question in correlation with the input value via the distributor 114. Including choosing. As mentioned above, each correction weight 112 is defined by its respective weight value. At frame 206, the method may further include assigning the plurality of influence factors 134 to the plurality of correction weights 112 via the distributor 114. At frame 206, the method may also include assigning each influence factor 134 to one of the plurality of correction weights 112 at a predetermined rate to generate a neuron sum 120. Also, at frame 206, the method may include summing, via the neuron 116, the product of the correction weight 112 and the assigned influence factor 134 across all synapses 118 connected thereto. In addition, at frame 206, the method is used to generate a neuron sum 120, part of the determined difference, according to the proportion established by the respective influence factor 134, via the weight correction calculator 122. It may include applying each correction weight 112.
pネット100の構造に関して上述されたように、複数の影響係数134は影響分布関数136によって規定され得る。このような場合には、本方法は、さらに、入力値を、間隔分布関数140に従って間隔「d」に分割された値の範囲137内に受信することを含み得、これにより、入力値はそれぞれの間隔内で受信され、各修正重み112は間隔のうちの1つに対応する。また、本方法は、分配器114を介して、受信された入力値を用い、それぞれの間隔「d」を選択し、複数の影響係数134を、選択されたそれぞれの間隔「d」に対応する修正重み112、および選択されたそれぞれの間隔「d」に隣接する間隔に対応する少なくとも1つの修正重みに割り当てることを含み得る。pネット100の構造に関して上述されたように、選択されたそれぞれの間隔「d」に隣接する間隔に対応する修正重み112は、例えば、Wi,d+1,nまたはWi,d−1,nとして識別され得る。 As described above with respect to the structure of p-net 100, a plurality of influence factors 134 may be defined by the influence distribution function 136. In such a case, the method may further include receiving the input values within the range 137 of values divided into intervals "d" according to the interval distribution function 140, whereby each of the input values is , And each correction weight 112 corresponds to one of the intervals. The method also uses the input values received via the splitter 114 to select respective intervals "d", and the plurality of influence coefficients 134 correspond to the respective selected intervals "d". It may include assigning a correction weight 112, and at least one correction weight corresponding to an interval adjacent to the selected respective interval "d". As described above with respect to the structure of p-net 100, the correction weights 112 corresponding to the intervals adjacent to each selected interval "d" are, for example, W i, d + 1, n or W i, d-1, n May be identified as
フレーム206に続き、本方法はフレーム208へ進む。フレーム208において、本方法は、シナプス118を介して入力102と接続された特定のニューロン116によって、選択された修正重み112の重み値を合算し、ニューロン和120を生成することを含む。pネット100の構造に関して上述されたように、各ニューロン116は少なくとも1つの出力117を含む。フレーム208の後、本方法はフレーム210へ進む。フレーム210において、本方法は、重み修正計算器122を介して、信号値を有する所望の出力信号124を受信することを含む。フレーム210に続き、本方法は、フレーム212へ進む。フレーム212において、本方法は、重み修正計算器122を介して、所望の出力信号124の値からのニューロン和120の逸脱128を決定することを含む。 Following frame 206, the method proceeds to frame 208. At frame 208, the method includes summing the weight values of the selected modified weights 112 by the particular neuron 116 connected to the input 102 via the synapse 118 to generate a neuron sum 120. Each neuron 116 includes at least one output 117 as described above with respect to the structure of p-net 100. After frame 208, the method proceeds to frame 210. At frame 210, the method includes receiving, via weight correction calculator 122, a desired output signal 124 having signal values. Following frame 210, the method proceeds to frame 212. At frame 212, the method includes determining, via the weight correction calculator 122, the deviation 128 of the neuron sum 120 from the value of the desired output signal 124.
以上においてpネット100の説明で開示されたように、所望の出力信号値からのニューロン和120の逸脱128の決定は、これらの間の数学的差を決定することを含み得る。加えて、それぞれの修正重み112の変更は、数学的差を、ニューロン和120を生成するために用いられる各修正重みに配分することを含み得る。代替的に、数学的差の配分は、決定された差を、ニューロン和120を生成するために用いられる各修正重み112の間で等しく除算することを含み得る。さらに別個の実施形態では、逸脱128の決定はまた、所望の出力信号124の値をニューロン和120で除算し、これにより、逸脱係数を生成することを含み得る。さらに、このような場合には、それぞれの修正重み112の変更は、ニューロン和120を生成するために用いられる各修正重み112に、生成された逸脱係数を乗算することを含み得る。 As disclosed above in the description of p-net 100, the determination of the deviation 128 of the neuron sum 120 from the desired output signal value may include determining the mathematical difference between them. In addition, changing each of the correction weights 112 may include distributing mathematical differences to each of the correction weights used to generate the neuron sum 120. Alternatively, the distribution of the mathematical differences may include equally dividing the determined differences among each of the correction weights 112 used to generate the neuron sum 120. In yet another embodiment, determining the deviation 128 may also include dividing the desired output signal 124 value by the neuron sum 120, thereby generating a deviation factor. Further, in such a case, changing each of the correction weights 112 may include multiplying each correction weight 112 used to generate the neuron sum 120 by the generated deviation coefficient.
フレーム212の後に、本方法はフレーム214へ進む。フレーム214において、本方法は、重み修正計算器122を介して、決定された逸脱128を用いてそれぞれの修正重み値を変更することを含む。変更された修正重み値は、その後、加算または合計され、次に、新たなニューロン和120を決定するために用いられ得る。合計された変更された修正重み値は、次に、所望の出力信号124の値からのニューロン和120の逸脱を最小化し、これにより、pネット100をトレーニングする役割を果たし得る。フレーム214に続き、方法200は、所望の出力信号124の値からのニューロン和120の逸脱が十分に最小化されるまで、フレーム202へ戻り、追加のトレーニングエポックを遂行することを含み得る。換言すれば、ニューロン和120を所定の逸脱または誤差値以内まで所望の出力信号124に収束するために、追加のトレーニングエポックを遂行することができ、これにより、pネット100が、トレーニングされ、新たな画像を用いた操作の準備ができたと見なされ得るようにする。 After frame 212, the method proceeds to frame 214. At frame 214, the method includes, via the weight correction calculator 122, changing the respective correction weight values using the determined deviation 128. The modified correction weight values may then be summed or summed and then used to determine a new neuron sum 120. The summed modified modified weight values may then serve to train the p-net 100 by minimizing the deviation of the neuron sum 120 from the value of the desired output signal 124. Following frame 214, method 200 may include returning to frame 202 and performing additional training epochs until deviation of neuron sum 120 from the value of the desired output signal 124 is sufficiently minimized. In other words, additional training epochs can be performed to converge the neuron sum 120 to the desired output signal 124 to within the predetermined deviation or error value, whereby the p-net 100 is trained and new Make it possible to be considered ready for manipulation with
概して、入力画像106は、pネット100のトレーニングのために準備される必要がある。トレーニングのためのpネット100の準備は、概して、入力画像106、および、ほとんどの場合、問題の入力画像に対応する所望の出力画像126を含む、トレーニング画像のセットの形成から始まる。pネット100のトレーニングのための入力信号I1、I2…Imによって規定された入力画像106(図2に示される)は、pネットが処理するよう任務を受けたタスク、例えば、人間の画像もしくは他の物体の認識、特定の活動の認識、クラスタ化もしくはデータ分類、統計データの解析、パターン認識、予報、または特定のプロセスの制御に従って選択される。したがって、入力画像106は、コンピュータへの導入のために適した任意のフォーマットで、例えば、表、チャート、図およびグラフィックの形式の、フォーマット、jpeg、gif、またはpptx、様々な文書フォーマット、あるいは記号のセットを用いて提示され得る。 In general, the input image 106 needs to be prepared for p-net 100 training. Preparation of the p-net 100 for training generally begins with the formation of a set of training images, including the input image 106 and, in most cases, the desired output image 126 corresponding to the input image in question. The input image 106 (shown in FIG. 2) defined by the input signals I 1 , I 2 ... I m for the training of the p-net 100 is a task which the p-net is tasked to process, eg human It is selected according to the recognition of images or other objects, recognition of specific activities, clustering or data classification, analysis of statistical data, pattern recognition, forecasting, or control of specific processes. Thus, the input image 106 may be in any format suitable for installation on a computer, for example, in the form of a table, chart, diagram and graphic, format, jpeg, gif or pptx, various document formats or symbols Can be presented using a set of
pネット100のトレーニングのための準備はまた、選択された入力画像106を、pネット100による問題の画像の処理のために都合よいそれらの統一のために変換すること、例えば、全ての画像を、同数の信号、または、ピクチャの場合には、同数のピクセルを有するフォーマットへ変化することを含み得る。カラー画像は、例えば、3つの基本色の組み合わせとして提示することができるであろう。画像変換はまた、特性の変更、例えば、画像を空間内で移動させること、解像度、明るさ、コントラスト、色、視点、遠近感、焦点距離および焦点などの、画像の視覚特性を変更すること、ならびに記号、番号、またはメモを追加することを含むことができるであろう。 The preparation for training of the p-net 100 also converts the selected input images 106 for their unification convenient for processing of the image in question by the p-net 100, eg all images In the case of the same number of signals or pictures, it may involve changing to a format with the same number of pixels. Color images could be presented, for example, as a combination of three basic colors. Image transformation also changes the characteristics of the image, for example moving the image in space, changing the visual characteristics of the image, such as resolution, brightness, contrast, color, viewpoint, perspective, focal length and focus, etc. And could include the addition of symbols, numbers, or notes.
間隔の数の選択後には、特定の入力画像が間隔フォーマットの入力画像に変換され得る。すなわち、実信号値が、問題のそれぞれの信号が属する間隔の番号として記録され得る。この手順は所与の画像のための各トレーニングエポックにおいて実行され得る。しかし、画像はまた、間隔番号のセットとして一度形成されてもよい。例えば、図7では、初期画像がピクチャとして提示されており、その一方で、テーブル「デジタルフォーマットによる画像」では、同じ画像はデジタル符号の形式で提示されており、テーブル「間隔フォーマットによる画像」では、このとき、画像は間隔番号のセットとして提示されており、この場合、デジタル符号の10の値ごとに別個の間隔が割り当てられている。 After selection of the number of intervals, a particular input image may be converted to an input image of interval format. That is, the actual signal value may be recorded as the number of the interval to which each signal in question belongs. This procedure may be performed at each training epoch for a given image. However, the image may also be formed once as a set of interval numbers. For example, in FIG. 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 code and in the table "image in interval format" At this time, the image is presented as a set of interval numbers, where a separate interval is assigned for every 10 values of the digital code.
pネット100の本記載の構造、および説明されたとおりのトレーニングアルゴリズムもしくは方法200は、pネットの連続的または反復トレーニングを可能にし、それゆえ、トレーニングプロセスの開始時にトレーニング入力画像106の完全なセットを形成することは要求されない。トレーニング画像の比較的小さい開始セットを形成することが可能であり、このような開始セットを必要に応じて拡張することができるであろう。入力画像106は、異なるカテゴリ、例えば、1人の人物のピクチャのセット、猫の写真のセット、または車の写真のセットに分割されてもよく、これにより、各カテゴリは、単一の出力画像、このような人物の名前、または特定のラベルに対応する。所望の出力画像126は、各点が−∞〜+∞の特定の数値に対応する、デジタル値、またはアナログ値のフィールドまたはテーブルを表す。所望の出力画像126の各点はpネット100のニューロンのうちの1つの出力に対応し得る。所望の出力画像126は、画像のデジタル符号もしくはアナログ符号、テーブル、テキスト、式、バーコードなどの記号のセット、または音声を用いて符号化され得る。 The described structure of p-net 100 and the training algorithm or method 200 as described allow continuous or repetitive training of p-nets, and thus a complete set of training input images 106 at the start of the training process. There is no requirement to form It is possible to form a relatively small starting set of training images, and such starting set could be extended as needed. The input image 106 may be divided into different categories, eg, a set of pictures of one person, a set of pictures of a cat, or a set of pictures of a car, so that each category has a single output image , Corresponding to the name of such a person, or a specific label. The desired output image 126 represents a field or table of digital or analog values, each point corresponding to a particular numerical value between -∞ and + ∞. Each point of the desired output image 126 may correspond to the output of one of the p-net 100 neurons. The desired output image 126 may be encoded using a digital or analog code of the image, a table, text, a formula, a set of symbols such as barcodes, or audio.
最も単純な場合には、各入力画像106は、問題の入力画像を符号化した、出力画像に対応し得る。このような出力画像の点のうちの1つには最大可能値、例えば、100%を割り当てることができ、それに対して、全ての他の点には最小可能値、例えば、0を割り当てることができる。このような場合には、トレーニングの後に、トレーニング画像との類似率の形の様々な画像の確率的認識が可能にされることになる。図8は、2つの画像、正方形および円の認識のためにトレーニングされたpネット100が、和が必ずしも100%と等しくない百分率で表される、各形状のいくらかの特徴を包含するピクチャをどのように認識し得るのかについての一例を示す。トレーニングのために用いられる異なる画像間の類似率を規定することによるパターン認識のこのようなプロセスは、特定の画像を分類するために用いられ得る。 In the simplest case, each input image 106 may correspond to an output image encoded from the input image in question. One of such output image points may be assigned the maximum possible value, eg, 100%, whereas all other points may be assigned the minimum possible value, eg, 0. it can. In such a case, after training, probabilistic recognition of various images in the form of similarity rates with training images will be enabled. FIG. 8 shows a p-net 100 trained for the recognition of two images, a square and a circle, with a picture that includes some features of each shape, represented by a percentage whose sum is not necessarily equal to 100%. An example of what can be recognized as follows is shown. Such a process of pattern recognition by defining the similarity between different images used for training can be used to classify a particular image.
精度を改善し、誤差を排除するために、符号化は、1つの出力ではなく、いくつかのニューラル出力のセットを用いて達成され得る(以下参照)。最も単純な場合には、出力画像はトレーニングに先立って準備され得る。しかし、出力画像をトレーニングの間にpネット100によって形成させることも可能である。 To improve accuracy and eliminate errors, coding can be achieved with a set of several neural outputs rather than one output (see below). In the simplest case, the output image can be prepared prior to training. However, it is also possible for the output image to be formed by p-net 100 during training.
pネット100では、入力画像と出力画像とを逆転させる可能性もある。換言すれば、入力画像106がデジタル値またはアナログ値のフィールドまたはテーブルの形式のものであってもよく、この場合、各点はpネットの1つの入力に対応し、その一方で、出力画像が、コンピュータへの導入のために適した任意のフォーマットで、例えば、テーブル、チャート、図およびグラフィックの形式のフォーマット、jpeg、gif、pptx、様々な文書フォーマット、あるいは記号のセットを用いて提示されてもよい。得られたpネット100は、アーカイブシステム、ならびに画像の連想検索、音楽表現、計算式、またはデータセットのためによく適し得る。 In the p-net 100, the input image and the output image may be reversed. In other words, the input image 106 may be in the form of a field or table of digital values or analog values, where each point corresponds to one input of the p-net while the output image is , Presented in any format suitable for installation on a computer, for example, in the form of tables, charts, diagrams and graphics, jpeg, gif, pptx, various document formats, or a set of symbols It is also good. The obtained p-net 100 may be well suited for archiving systems as well as associative search of images, music expressions, formulas or data sets.
入力画像106の準備に続き、通例、pネット100が形成される必要があり、および/または既存のpネットのパラメータが、所与のタスクを処理するために設定されなければならない。pネット100の形成は以下の指定を含み得る。
・ 入力および出力の数によって規定されるとおりの、pネット100の寸法、
・ 全ての入力のためのシナプス重み108、
・ 修正重み112の数、
・ 入力信号104の異なる値に対する修正重み影響係数(Сi,d,n)の分布、ならびに
・ トレーニングの所望の精度
入力の数は入力画像106のサイズに基づいて決定される。例えば、ピクチャのためには多数のピクセルが用いられ得るが、その一方で、選択される出力数は所望の出力画像126のサイズに依存し得る。場合によっては、選択される出力数はトレーニング画像のカテゴリの数に依存し得る。
Following the preparation of the input image 106, typically, the p-net 100 needs to be formed and / or the parameters of the existing p-net have to be set to process a given task. The formation of p-net 100 may include the following designations.
The dimensions of p-net 100, as defined by the number of inputs and outputs
Synapse weights 108 for all inputs,
The number of correction weights 112,
The distribution of the modified weight influence factors (С i, d, n ) for different values of the input signal 104, and the desired accuracy of training. The number of inputs is determined based on the size of the input image 106. For example, a large number of pixels may be used for a picture, while the number of outputs selected may depend on the size of the desired output image 126. In some cases, the number of outputs selected may depend on the number of training image categories.
個々のシナプス重み108の値は−∞〜+∞の範囲内にあり得る。0(0)よりも小さいシナプス重み108の値は、例えば、多数の異なる人物または物体を包含する写真内における人間の顔のより効果的な認識のために、特定の入力からの、または特定の画像からの信号の影響を高めるために用いられ得る、信号増幅を示し得る。他方で、0(0)よりも大きいシナプス重み108の値は、必要とされる算出の数を低減し、pネット100の動作速度を増大させるために用いられ得る、信号減衰を示すために用いられ得る。概して、シナプス重みの値が大きいほど、対応するニューロンへ伝送される信号は大きく減衰させられる。全ての入力に対応する全てのシナプス重み108が等しく、全てのニューロンが全ての入力と等しく接続されている場合には、ニューラルネットワークは万能型になり、画像の性質について前もってほとんど知られていないときなどには、共通タスクのために最も有効になる。しかし、このような構造は概して、トレーニングおよび演算の間に必要とされる計算の数を増大させることになる。 The values of the individual synapse weights 108 may be in the range of -∞ to + ∞. The value of synapse weights 108 less than 0 (0) may, for example, be derived from a particular input or for a more specific recognition of a human face in a picture containing a large number of different persons or objects. It may show signal amplification that may be used to enhance the effect of the signal from the image. On the other hand, values of synapse weights 108 greater than 0 (0) are used to indicate signal attenuation, which can be used to reduce the number of calculations required and to increase the speed of operation of the p-net 100. Can be In general, the higher the value of the synapse weight, the more the signal transmitted to the corresponding neuron is attenuated. If all synapse weights 108 corresponding to all inputs are equal and all neurons are equally connected to all inputs, then the neural network becomes universal and little is known in advance about the nature of the image Etc, it is most effective for common tasks. However, such a structure will generally increase the number of calculations required during training and operations.
図9は、統計的正規分布に従って入力とそれぞれのニューロンとの間の関係が低減される、pネット100の一実施形態を示す。シナプス重み108の不均一な分布は、入力信号全体が所与の入力のための目標または「中央」ニューロンへ伝達されるという結果をもたらし得、それゆえ、問題のシナプス重みに0の値を割り当てる。加えて、シナプス重みの不均一な分布は、他のニューロンが、例えば、正規分布、対数正規分布、正弦波分布、または他の分布を用いて、低減された入力信号値を受信するという結果をもたらし得る。低減された入力信号値を受信するニューロン116のためのシナプス重み108の値は、「中央」ニューロンからのそれらの距離の増大とともに増大し得る。このような場合には、計算の数を低減することができ、pネットの動作が高速化する。既知の完全に接続されたニューラルネットワークと不完全に接続されたニューラルネットワークとの組み合わせであるこのようなネットワークは、強い内部パターン、例えば、人間の顔、または映画フィルムの連続フレームを有する画像の解析のためにきわめて有効なものになり得る。 FIG. 9 shows an embodiment of p-net 100 in which the relationship between the input and each neuron is reduced according to a statistical normal distribution. An uneven distribution of synaptic weights 108 can result in the entire input signal being transmitted to a target or "central" neuron for a given input, thus assigning a value of 0 to the synaptic weights in question. . In addition, the non-uniform distribution of synaptic weights results in other neurons receiving reduced input signal values, eg, using normal, log normal, sine wave, or other distributions. Can bring. The value of synaptic weights 108 for neurons 116 receiving reduced input signal values may increase with increasing their distance from the "central" neurons. In such a case, the number of calculations can be reduced and the operation of the p-net can be accelerated. Such a network, which is a combination of a known fully connected neural network and an incompletely connected neural network, analyzes an image with strong internal patterns, for example a human face or a continuous frame of motion picture film It can be very effective for
図9は、局所パターンの認識のために有効であるpネット100の一実施形態を示す。共通パターンの識別を改善するために、シナプス重み108の値が小さいか、または0である、10〜20%の強い接続が、格子の形態などの、決定論的アプローチ、またはランダムアプローチで、pネット100全体にわたって分布し得る。特定のタスクを処理するために意図されるpネット100の実際の形成は、シナプス、シナプス重み、分配器、修正重み、ニューロン等などの、pネットの主要素をソフトウェアオブジェクトとして生成する、例えば、オブジェクト指向プログラミング言語で書かれた、プログラムを用いて遂行される。このようなプログラムは、上述のオブジェクトと、それらのアクションを特定するアルゴリズムとの間の関係を割り当て得る。具体的には、シナプス重みおよび修正重みは、pネット100の形成の開始時に、それらの初期値の設定とともに形成され得る。pネット100は、そのトレーニングの開始前に完全に形成され、後のフレームにおいて、必要に応じて、例えば、ネットワークの情報容量が枯渇した時、または致命的エラーが生じた場合に、変更または拡張されてもよい。pネット100の完成は、トレーニングが継続している間にも可能である。 FIG. 9 illustrates one embodiment of a p-net 100 that is effective for local pattern recognition. To improve identification of common patterns, 10-20% strong connections where the value of synaptic weights 108 is small or 0, p in a deterministic or random approach, such as in the form of lattices, p It may be distributed throughout the net 100. The actual formation of the p-net 100 intended to process a specific task generates as a software object the main elements of the p-net, such as synapses, synapse weights, distributors, modification weights, neurons etc., eg It is accomplished using a program written in an object oriented programming language. Such programs may assign relationships between the objects described above and the algorithms that identify their actions. Specifically, synapse weights and correction weights may be formed at the beginning of the formation of p-net 100 with the setting of their initial values. The p-net 100 is completely formed before the start of its training, and it may be modified or extended in later frames, for example, when the information capacity of the network is exhausted, or when a fatal error occurs. It may be done. Completion of the p-net 100 is also possible while training is continuing.
pネット100があらかじめ形成される場合には、特定のシナプス上の選択される修正重みの数は、入力信号の範囲内の間隔の数と等しくてもよい。加えて、修正重みは、pネット100の形成後に、個々の間隔の出現に応じた信号として生成されてもよい。古典的なニューラルネットワーク10と同様に、パラメータの選択およびpネット100の設定は、一連の目標を定めた実験を用いてもたらされる。このような実験は、(1)全ての入力において同じシナプス重み108を有するpネットの形成、ならびに(2)選択された画像のための入力信号値の評価および間隔の数の初期選択を含み得る。例えば、2値(1色)画像の認識のためには、2つの間隔を有するのみで十分であり得、8ビット画像の定性的認識のためには、最大256個の間隔を用いることができ、複雑な統計的依存性の近似は、数十個、またはさらに数百個の間隔を必要とし得、大規模なデータベースのためには、間隔の数は千単位になり得るであろう。 If p-net 100 is pre-formed, the number of correction weights selected on a particular synapse may be equal to the number of intervals within the range of the input signal. In addition, the correction weights may be generated as a signal in response to the appearance of the individual intervals after formation of the p-net 100. Similar to the classical neural network 10, parameter selection and p-net 100 settings are provided using a series of targeted experiments. Such experiments may include (1) formation of p-nets with the same synapse weights 108 at all inputs, and (2) evaluation of input signal values for the selected image and initial selection of the number of intervals. . For example, for the recognition of binary (one color) images, it may be sufficient to have only two intervals, and for qualitative recognition of 8-bit images, up to 256 intervals can be used. An approximation of a complex statistical dependency may require tens or even hundreds of intervals, and for large databases, the number of intervals could be thousands.
pネット100をトレーニングするプロセスにおいて、入力信号の値は、それらが特定の間隔の間に分布するときに、丸められてもよい。それゆえ、間隔の数によって分割された範囲の幅よりも大きい入力信号の精度は要求されなくてもよい。例えば、入力値の範囲が100個のユニットのために設定され、間隔の数が10個である場合には、±5よりも良い精度は要求されないことになる。このような実験はまた、(3)入力信号の値の全範囲にわたる間隔の一様な分布の選択を含み得、修正重み影響係数Сi,d,nのための最も単純な分布は、特定の入力信号のための間隔に対応する修正重みについては、1と等しく設定されてもよく、その一方で、残りの全ての修正重みのための修正重み影響は0(0)に設定されてもよい。このような実験は、さらに、(4)1つ、より多数、または全ての準備されたトレーニング画像を用いて所定の精度でpネット100をトレーニングすることを含み得る。 In the process of training p-net 100, the values of the input signals may be rounded as they are distributed during a particular interval. Therefore, an accuracy of the input signal greater than the width of the range divided by the number of intervals may not be required. For example, if the range of input values is set for 100 units and the number of intervals is 10, then an accuracy better than ± 5 will not be required. Such experiments may also include (3) selection of uniform distribution of intervals over the whole range of values of the input signal, the simplest distribution for the modified weight influence factor С i, d, n The correction weights corresponding to the interval for the input signal of may be set equal to 1, while the correction weight impact for all remaining correction weights is set to 0 (0) Good. Such experiments may further include (4) training the p-net 100 with a predetermined accuracy using one, more, or all of the prepared training images.
所定の精度のためのpネット100のトレーニング時間は実験によって確立され得る。pネット100の精度およびトレーニング時間が満足できるものである場合には、選択された設定を維持または変更することができるであろう。その一方で、より効果的な変形の探索が継続される。要求精度が達成されない場合には、最適化の目的のために、特定の変更の影響が評価されてもよい。これは、その時に1つ遂行されるか、またはグループで遂行され得る。変更のこのような評価は、間隔の数を変更すること、増大または減少させること、修正重み影響係数(Сi,d,n)の分布の種類を変更すること、正規分布、累乗分布、対数分布、または対数正規分布を用いるなど、間隔の非一様な分布を用いた変形を試験すること、ならびにシナプス重み108の値を変更すること、例えば、それらの、非一様な分布への移行を含み得る。 The training time of p-net 100 for a given accuracy may be established by experimentation. If the accuracy and training time of the p-net 100 are satisfactory, it will be possible to maintain or change the selected settings. On the other hand, the search for more effective deformation is continued. If the required accuracy is not achieved, the impact of certain changes may be evaluated for optimization purposes. This may be performed one at a time or in groups. Such an assessment of the change may be changing the number of intervals, increasing or decreasing, changing the distribution type of the modified weight influence factor (係数i, d, n ), normal distribution, power distribution, log Testing deformation with non-uniform distribution of intervals, such as using distribution or lognormal distribution, as well as changing the value of synaptic weights 108, eg, transitioning them to non-uniform distribution May be included.
正確な結果のために必要とされるトレーニング時間が過大であると考えられる場合には、間隔の数を増大させたトレーニングが、トレーニング時間に対するその効果について評価されてもよい。その結果、トレーニング時間が低減された場合には、要求精度を損なうことなく所望のトレーニング時間が得られるまで間隔の数の増大が繰り返されてもよい。間隔の数を増大させるにつれて、トレーニング時間が、低減されるのでなく、増加する場合には、間隔の数を低減して追加のトレーニングが遂行されてもよい。間隔の数の低減がトレーニング時間の低減をもたらす場合には、所望のトレーニング時間が得られるまで、間隔の数をさらに低減することができるであろう。 If the training time required for accurate results is considered to be excessive, training with an increased number of intervals may be evaluated for its effect on training time. As a result, if the training time is reduced, the number of intervals may be repeated until the desired training time is obtained without compromising the required accuracy. As the number of intervals is increased, the training time is not reduced, but if increased, the number of intervals may be reduced to perform additional training. If a reduction in the number of intervals results in a reduction in training time, the number of intervals could be further reduced until the desired training time is obtained.
pネット100の設定の形成は、所定のトレーニング時間を用いたトレーニング、およびトレーニング精度の実験的決定を経たものであり得る。パラメータは、上述されたものと同様の実験的変更を経て改善することができるであろう。様々なpネットを用いた実践により、設定選択の手順は単純であり、多大な時間を要しないことが示された。 The formation of the p-net 100 settings may be through training using a predetermined training time and experimental determination of training accuracy. The parameters could be improved through experimental modifications similar to those described above. The practice of using various p-nets has shown that the procedure of setting selection is simple and does not require much time.
図23に示される、方法200の一部としてのpネット100の実際のトレーニングは、入力画像信号I1、I2…Imをネットワーク入力デバイス102へ供給することから開始する。入力画像信号はネットワーク入力デバイス102からシナプス118へ伝送され、シナプス重み108を通過し、分配器(または分配器のグループ)114に入る。入力信号値に基づいて、分配器114は、所与の入力信号104が対応する間隔「d」の番号を設定し、それぞれの入力102と接続された全てのシナプス118の重み修正ブロック110の全ての修正重み112のための修正重み影響係数Сi,d,nを割り当てる。例えば、間隔「d」が第1の入力のために3に設定され得る場合には、全ての重みW1,3,nのために、С1,3,n=1は1に設定され、その一方で、i≠1およびd≠3を有する全ての他の重みのためには、Сi,d,nは0(0)に設定されてもよい。 The actual training of p-net 100 as part of method 200, shown in FIG. 23, begins with providing input image signals I 1 , I 2 ... I m to network input device 102. An input image signal is transmitted from the network input device 102 to the synapse 118, passes through the synapse weights 108, and enters a splitter (or group of splitters) 114. Based on the input signal values, the divider 114 sets the number of the interval "d" that a given input signal 104 corresponds to, and all of the weight correction blocks 110 of all synapses 118 connected to the respective input 102. Assign a correction weight influence factor С i, d, n for the correction weight 112 of For example, if the interval "d" may be set to 3 for the first input, then С 1,3, n = 1 is set to 1 for all weights W 1,3, n , On the other hand, С i, d, n may be set to 0 (0) for all other weights with i ≠ 1 and d ≠ 3.
以下の関係において「n」として識別されるニューロン116ごとに、特定のニューロンに寄与する全てのシナプス118について、以下の関係においてWi,d,nとして識別される各修正重み112に、対応する修正重み影響係数Сi,d,nを乗算し、得られた全ての値を加算することによって、ニューロン出力和Σ1、Σ2…Σnが形成される。
Σn=Σi,d,nWi,d,n×Сi,d,n [2]
Wi,d,n×Сi,d,nの乗算は、様々なデバイスによって、例えば、分配器114、記憶された重みを有するデバイスによって遂行されるか、またはニューロン116によって直接遂行され得る。和はニューロン出力117を介して重み修正計算器122へ転送される。所望の出力画像126を記述する所望の出力信号O1、O2…Onもまた、計算器122へ供給される。
For each neuron 116 identified as "n" in the relationship below, for every synapse 118 contributing to a particular neuron, corresponding to each correction weight 112 identified as W i, d, n in the relationship below The neuron output sums 1 1, 重 み 2... N n are formed by multiplying the corrected weight influence coefficients С i, d, n and adding all the obtained values.
N n = i i, d, n Wi , d, n × С i, d, n [2]
The multiplication of W i, d, n × С i, d, n may be performed by various devices, eg, by distributor 114, a device with stored weights, or directly by neuron 116. The sum is forwarded to weight correction calculator 122 via neuron output 117. The desired output signals O 1 , O 2 ... O n describing the desired output image 126 are also supplied to the calculator 122.
上述されたように、重み修正計算器122は、ニューロン出力和Σ1、Σ2…Σnと所望の出力信号O1、O2…Onとの比較によって修正重みのための変更された値を算出するための計算デバイスである。図11は、対応する修正重み影響係数Ci,d,1を乗算される、ニューロン出力和Σ1に寄与する、修正重みWi,d,1のセットを示し、これらの積が、その後、ニューロン出力和Σ1によって加算される。
Σ1=W1,0,1×C1,0,1.+W1,1,1×C1,1,1.+W1,2,1×C1,2,1.+… [3]
トレーニングが開始する際には、すなわち、第1のエポックの間は、修正重みWi,d,1は、トレーニングのために用いられる入力画像106に対応せず、それゆえ、ニューロン出力和Σ1は、対応する所望の出力画像126と等しくない。初期修正重みWi,d,1に基づいて、重み修正システムは、ニューロン出力和Σ1(Wi,d,1)に寄与する全ての修正重みを変更するために用いられる、修正値Δ1を算出する。pネット100は、指定のニューロン116に寄与する全ての修正重みWi,d,nのための集団的修正信号をpネット100が形成して利用するための様々な選択肢または変形例を可能にする。
As described above, the weight correction calculator 122 calculates the modified values for the correction weights by comparing the neuron output sum Σ 1, 2 2... Σ n with the desired output signals O 1 , O 2 . Is a computing device for FIG. 11 shows the set of correction weights W i, d, 1 that contribute to the neuron output sum 1 1 multiplied by the corresponding correction weight influence factors C i, d, 1 and their product is then the neuron The output sum Σ1 is added.
Σ 1 = W 1, 0, 1 × C 1, 0, 1 . + W 1,1,1 × C 1,1,1 . + W 1,2,1 × C 1,2,1 . + ... [3]
When training starts, ie during the first epoch, the correction weights W i, d, 1 do not correspond to the input image 106 used for training, and hence the neuron output sum Σ 1 is , Not equal to the corresponding desired output image 126. Based on the initial correction weights W i, d, 1 , the weight correction system calculates a correction value Δ 1 which is used to change all correction weights that contribute to the neuron output sum Σ 1 (W i, d, 1 ) Do. The p-net 100 allows various options or variations for the p-net 100 to form and utilize a collective correction signal for all the correction weights W i, d, n contributing to the specified neuron 116. Do.
以下に、集団的修正信号の形成および利用のための2つの例示的な非限定的変形例を示す。変形例1−以下のとおりの、所望の出力信号と得られた出力和との差に基づく修正信号の形成および利用:
・ 次式による、ニューロン「n」に寄与する全ての修正重みのための等しい修正値Δnの算出:
Δn=(On−Σn)/S [4]、
ここで
On − ニューロン出力和Σnに対応する望ましい出力信号、
S − ニューロン「n」に接続されたシナプスの数。
・ 次式による、ニューロン「n」に寄与する全ての修正重みWi,d,nの変更:
Wi,d,n modified=Wi,d,n+Δn/Ci,d,n [5]
変形例2 − 以下のとおりの、所望の出力信号対得られた出力和の比に基づく修正信号の形成および利用:
・ 次式による、ニューロン「n」に寄与する全ての修正重みのための等しい修正値Δnの算出:
Δn=On/Σn [6]、
・ 次式による、ニューロン「n」に寄与する全ての修正重みWi,d,nの変更:
Wi,d,n, modified=Wi,d,n,×Δn [7]、
いずれの利用可能な変形例による修正重みWi,d,nの変更も、各ニューロンの出力和Σnを所望の出力信号の値に収束することによって、各ニューロン116についてのトレーニング誤差を低減することが意図される。このような仕方で、所与の画像についてのトレーニング誤差は、それが0と等しくなるか、または0に接近するまで、低減され得る。
In the following, two exemplary non-limiting variants for the formation and utilization of a collective correction signal are shown. Modification 1—Formation and utilization of a modified signal based on the difference between the desired output signal and the resulting output sum:
Calculation of equal correction value Δn for all correction weights contributing to neuron 'n' according to the following formula:
Δ n = (O n −Σ n ) / S [4],
Where the desired output signal corresponding to On-neuron output sum Σ n ,
S-Number of synapses connected to the neuron "n".
Change of all correction weights W i, d, n contributing to the neuron "n" according to the following formula:
W i, d, n modified = W i, d, n + Δ n / C i, d, n [5]
Variant 2-Formation and use of a modified signal based on the ratio of the desired output signal to the obtained output sum as follows:
Calculation of equal correction value Δn for all correction weights contributing to neuron 'n' according to the following formula:
Δ n = O n / Σ n [6],
Change of all correction weights W i, d, n contributing to the neuron "n" according to the following formula:
Wi , d, n, modified = Wi , d, n, x? N [7],
The modification of the correction weights W i, d, n according to any available variant reduces the training error for each neuron 116 by focusing the output sum n n of each neuron to the value of the desired output signal. Is intended. In this way, the training error for a given image can be reduced until it becomes equal to or approaches zero.
図11に、トレーニングの間における修正重みWi,d,nの変更の一例が示される。修正重みWi,d,nの値は、トレーニングが開始する前に、重み値が修正重み範囲から0±10%に設定されたランダム重み分布の形で設定され、トレーニング後に最終重み分布に到達する。集団的信号の説明された算出はpネット100内の全てのニューロン116について実施される。1つのトレーニング画像のための説明されたトレーニング手順を全ての他のトレーニング画像のために繰り返すことができる。一部の修正重みWi,d,nはいくつかの画像に関与し得るため、このような手順は、以前にトレーニングされた画像の一部に対してトレーニング誤差の出現を生じさせ得る。したがって、別の画像を用いたトレーニングは、以前の画像のために形成された修正重みWi,d,nの分布を部分的に乱し得る。しかし、各シナプス118が修正重みWi,d,nのセットを含むという事実のゆえに、新たな画像を用いたトレーニングは、場合によってはトレーニング誤差を増大させつつも、pネット100が以前にトレーニングされた画像を抹消しない。さらに、シナプス118が各ニューロン116に大きく寄与するほど、および各シナプスにおける修正重みWi,d,nの数が多いほど、特定の画像のためのトレーニングが他の画像のためのトレーニングに与える影響は小さい。 FIG. 11 shows an example of changing the correction weights Wi, d, n during training. The values of the correction weights W i, d, n are set in the form of a random weight distribution where the weight values are set to 0 ± 10% from the correction weight range before the training starts, and the final weight distribution is reached after training Do. The illustrated calculation of the collective signal is performed for all neurons 116 in p-net 100. The described training procedure for one training image can be repeated for all other training images. Such a procedure may cause the appearance of a training error on a portion of the previously trained image, as some correction weights Wi, d, n may be involved in some images. Thus, training with another image may partially disturb the distribution of correction weights W i, d, n formed for the previous image. However, due to the fact that each synapse 118 includes a set of correction weights W i, d, n , training with new images may have caused p-net 100 to train previously, while possibly increasing the training error. Do not erase the Furthermore, the more synapse 118 contributes to each neuron 116 greatly, and the greater the number of correction weights W i, d, n at each synapse , the effect training for a particular image has on training for other images Is small.
各トレーニングエポックは概して、全てのトレーニング画像についての総合トレーニング誤差および/または局所トレーニング誤差の実質的な収束をもって終了する。誤差は、例えば、平均二乗誤差(Mean Squared Error、MSE)、平均絶対誤差(Mean Absolute Error、MAE)、または標準誤差平均(Standard Error Mean、SEM)などの、既知の統計的方法を用いて評価され得る。総合誤差、または局所誤差の一部が高すぎる場合には、誤差が所定の誤差値未満に低減されるまで追加のトレーニングエポックが実施されてもよい。トレーニングのために用いられる異なる画像の間の類似率を規定することによる、上述された画像認識プロセス(図8に示される)は、それ自体では、以前に規定されたカテゴリに沿った画像の分類プロセスである。 Each training epoch generally ends with substantial convergence of the overall training error and / or the local training error for all training images. Errors are evaluated using known statistical methods, such as, for example, Mean Squared Error (MSE), Mean Absolute Error (MAE), or Standard Error Mean (SEM). It can be done. If the total error, or part of the local error, is too high, additional training epochs may be performed until the error is reduced below a predetermined error value. The image recognition process described above (shown in FIG. 8), by defining the similarity rates between different images used for training, is in itself a classification of images along previously defined categories. It is a process.
クラスタ化、すなわち、画像を、以前に特定されなかった自然クラスまたはグループに分割するために、方法200の基本トレーニングアルゴリズムは、変更された自己組織化マップ(Self−Organizing Map、SOM)のアプローチを用いて変更することができる。所与の入力画像に対応する所望の出力画像126は、出力ニューロン和120の最大値を有する勝者ニューロンのセットに基づいてpネット100をトレーニングするプロセスにおいて直接形成されてもよい。図22は、方法200の基本アルゴリズムの使用がどのように出力ニューロン和の1次セットを生成し得るのかを示す。この場合、セットは、いくつかのより大きな和はそれらの値を保持するか、または増大し、その一方で、他の全ての和は0と等しいと見なされるように、さらに変換される。出力ニューロン和のこの変換されたセットが所望の出力画像126として受け入れられ得る。 Clustering, ie, to divide the image into natural classes or groups not previously identified, the basic training algorithm of the method 200 takes a modified Self-Organizing Map (SOM) approach It can be used to change. The desired output image 126 corresponding to a given input image may be formed directly in the process of training p-net 100 based on the set of winner neurons having the maximum value of output neuron sum 120. FIG. 22 illustrates how the use of the basic algorithm of method 200 can generate a first-order set of output neuron sums. In this case, the set is further transformed such that some larger sums hold or increase their values, while all other sums are considered equal to zero. This transformed set of output neuron sums may be accepted as the desired output image 126.
上述されたように形成され、所望の出力画像126のセットはクラスタまたはグループを含む。それゆえ、所望の出力画像126のセットは、線形分離不可能な画像のクラスタ化を可能にする。これは古典的なネットワーク10とは異なる。図13は、説明されているアプローチが複雑な仮想画像「猫車」のクラスタ化をどのように支援し得るのかを示す。この場合、画像の異なる特徴は、異なるクラスタ − 猫および車に割り当てられる。説明されたように作成された所望の出力画像126のセットは、例えば、クラスタ化の結果として形成された基準に基づく、異なる分類の作成、統計的解析、画像選択のために用いられ得る。また、pネット100によって生成された所望の出力画像126は、同様に問題のpネット100のために説明された方針に従って形成され得る、別の、または追加のpネットのための入力画像として用いられ得る。かように形成され、所望の出力画像126は多層pネットの後続の層のために用いられ得る。 Formed as described above, the set of desired output images 126 includes clusters or groups. Thus, the set of desired output images 126 allows for clustering of non-linearly separable images. This is different from the classical network 10. FIG. 13 shows how the described approach can support clustering of complex virtual image "cat". In this case, different features of the image are assigned to different clusters-cats and cars. The set of desired output images 126 created as described may be used, for example, for creating different classifications, statistical analysis, image selection based on criteria formed as a result of clustering. Also, the desired output image 126 generated by the p-net 100 may be used as an input image for another or additional p-nets, which may also be formed according to the policies described for the p-net 100 in question. Can be Thus formed, the desired output image 126 may be used for subsequent layers of the multilayer p-net.
古典的なニューラルネットワーク10のトレーニングは、概して、入力画像および所望の出力画像の予備的に準備されたペアに基づく教師付きトレーニング方法を通して提供される。同じ一般的方法がpネット100のトレーニングのためにも用いられるが、pネット100のトレーニング速度の増大は、外部トレーナーによるトレーニングも可能にする。外部トレーナーの役割は、例えば、人によって、またはコンピュータプログラムによって遂行され得る。外部トレーナーの役を務めるとき、人は物理的な作業の遂行に関与するか、またはゲーム環境内で動作し得る。pネット100は、特定の状況およびそれに対する変更に関するデータの形態の入力信号を受信する。トレーナーのアクションを反映する信号は所望の出力画像126として導入され、pネット100が基本アルゴリズムに従ってトレーニングされることを可能にし得る。このような仕方で、様々なプロセスのモデル化がpネット100によってリアルタイムに生成され得る。 The training of the classical neural network 10 is generally provided through a supervised training method based on a pre-prepared pair of input and desired output images. The same general method is also used for training p-net 100, but increasing the training speed of p-net 100 also allows training by external trainers. The role of the external trainer may, for example, be performed by a person or by a computer program. When acting as an external trainer, one may be involved in performing physical tasks or may operate within the gaming environment. The p-net 100 receives an input signal in the form of data regarding a particular situation and changes thereto. A signal reflecting the action of the trainer may be introduced as the desired output image 126, enabling the p-net 100 to be trained according to the basic algorithm. In this manner, modeling of various processes can be generated by p-net 100 in real time.
例えば、pネット100は、道路条件およびドライバーのアクションに関する情報を受信することによって自動車を運転するようにトレーニングされ得る。多種多様の危機的状況のモデル化を通して、同じpネット100は、多くの異なるドライバーによってトレーニングされ、誰か一人のドライバーによって一般的に可能であるよりも多くの運転技術を蓄積し得る。pネット100は、特定の道路条件を0.1秒で、またはより高速に評価し、種々の状況における交通の安全性を高め得る実質的な「運転経験」を積む能力を有する。pネット100はまた、コンピュータ、例えば、チェスプレイマシンと協動するようにトレーニングされ得る。トレーニングモードから認識モードへ、およびその逆に容易に移行するpネット100の能力は、pネット100が外部トレーナーによってトレーニングされる際に、「失敗からの学習」モードの実現を可能にする。このような場合には、部分的にトレーニングされたpネット100は、例えば、技術的プロセスを制御するための、独自のアクションを生成し得る。トレーナーはpネット100のアクションを制御し、必要なときにはそれらのアクションを修正することができるであろう。かくして、pネット100の追加的トレーニングをもたらすことができるであろう。 For example, p-net 100 can be trained to drive a vehicle by receiving information regarding road conditions and driver actions. Through modeling of a wide variety of crisis situations, the same p-net 100 can be trained by many different drivers and accumulate more driving skills than is generally possible by any one driver. The p-net 100 has the ability to assess specific road conditions in 0.1 seconds or faster and build up a substantial "driving experience" that may enhance traffic safety in various situations. The p-net 100 may also be trained to cooperate with a computer, eg, a chess play machine. The ability of the p-net 100 to easily transition from training mode to recognition mode and vice versa allows the realization of a "learning from failure" mode when the p-net 100 is trained by an external trainer. In such a case, the partially trained p-net 100 may generate its own actions, for example, to control technical processes. The trainer will be able to control the actions of p-net 100 and modify those actions as needed. Thus, additional training of p-net 100 could be provided.
pネット100の情報容量は非常に大きいが、無制限ではない。pネット100の入力、出力、および間隔の数などの、設定された寸法を所与とした上で、pネットがトレーニングされる画像の数の増大がすると、一定数の画像の後には、トレーニング誤差の数および大きさも増大し得る。pネットは、トレーニングエポックの合間に、pネットにわたって、またはその構成要素において、ニューロン116の数、および/または信号間隔「d」の数を増大させることを可能にするため、誤差生成のこのような増大が検出されると、pネット100のサイズを増大させることによって、誤差の数および/または大きさを低減することができる。pネット100の拡大は、新たなニューロン116を追加すること、新たな入力102およびシナプス118を追加すること、修正重み影響係数Ci,d,nの分布を変更すること、ならびに既存の間隔「d」を分割することによってもたらされ得る。 Although the information capacity of the p-net 100 is very large, it is not unlimited. Given a set dimension, such as the number of inputs, outputs, and intervals of p-net 100, if the number of images that p-net is trained to increase, then after a certain number of images, The number and magnitude of errors can also be increased. This way of error generation, as p-nets allow the number of neurons 116 and / or the number of signal intervals "d" to be increased between training epochs, across p-nets, or in their components. If such an increase is detected, the number and / or magnitude of the errors can be reduced by increasing the size of p-net 100. The expansion of p-net 100 adds new neurons 116, adds new inputs 102 and synapses 118, modifies the distribution of the correction weight influence factors C i, d, n , and the existing intervals “ d "can be provided by splitting.
ほとんどの場合、pネット100は、画像、パターン、および画像もしくは画像のセットに固有の相関を認識するその能力を確実にするためにトレーニングされることになる。最も単純な場合における認識プロセスは、方法200の一部として開示される基本アルゴリズムに従ってトレーニングプロセスの最初のステップを繰り返す。具体的には、
・ トレーニング用画像をフォーマットするために用いられる同じルールに従う画像のフォーマッティングから、直接認識が開始する、
・ 画像が、トレーニングされたpネット100の入力へ送信され、分配器が、トレーニングの間に設定された入力信号の値に対応する修正重みWi,d,nを割り当て、ニューロンが、図8に示されるように、それぞれのニューロン和を生成する、
・ 出力画像126を表す得られた出力和が、pネット100がトレーニングされた画像のうちの1つに完全に適合する場合には、物体はぴったりと認識されたことになる、
・ 出力画像126が、pネット100がトレーニングされたいくつかの画像に部分的に適合する場合には、結果は、異なる画像との一致率を百分率として示す。図13は、猫および自動車の画像の組み合わせに基づいて作成された複雑な画像の認識の間に、出力画像126が所与の画像の組み合わせを表現し、組み合わせへの各初期画像の寄与の百分率を指示する様子を具体的に示している。
In most cases, p-net 100 will be trained to ensure its ability to recognize an image, pattern, and correlation specific to an image or set 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 the formatting of the image according to the same rules used to format the training image,
The image is sent to the input of the trained p-net 100, the distributor assigns the correction weights W i, d, n corresponding to the values of the input signal set during training, and the neurons are shown in FIG. Generate the respective neuron sum, as shown in
If the obtained output sum representing the output image 126 perfectly matches one of the p-net 100 trained images, the object has been recognized as snug
If the output image 126 partially matches some of the images for which the p-net 100 has been trained, the result indicates the percentage of agreement with different images. FIG. 13 shows that during recognition of complex images created based on combinations of cat and car images, the output image 126 represents a given combination of images and the percentage of each initial image's contribution to the combination It shows concretely how to instruct.
例えば、特定の人物のいくつかのピクチャがトレーニングのために用いられた場合には、認識された画像は、第1のピクチャに90%、第2のピクチャに60%、および第3のピクチャに35%対応し得る。認識された画像が、いくらかの確率で、他の人物、またはさらに、動物のピクチャに対応するということがあり得る。これは、ピクチャの間にいくらかの類似性が存在することを意味する。しかし、このような類似性の確率は大抵、より低い。このような確率に基づいて、認識の信頼性が、例えば、ベイズの定理に基づいて、決定され得る。 For example, if several pictures of a particular person were used for training, the recognized image would be 90% for the first picture, 60% for the second picture, and the third picture. It can correspond to 35%. It is possible that the recognized image will, with some probability, correspond to the picture of another person or even an animal. This means that there is some similarity between the pictures. However, the probability of such similarity is usually lower. Based on such probabilities, the credibility of the recognition may be determined, for example, based on Bayesian theorem.
pネット100を用いると、アルゴリズム的認識方法およびニューラルネットワーク認識方法の利点を組み合わせる多段階認識を実施することも可能である。このような多段階認識は以下のことを含み得る。
・ 本明細書において「基本入力」と指定される、入力の、全てではなく、1%〜10%のみを用いることを通して事前にトレーニングされたネットワークによる画像の初期認識。入力のこのような部分は、一様に、ランダムに、または任意の他の分布関数によってpネット100内に分布し得る。例えば、複数の他の物体を含む写真内の人物の認識、
・ 最も情報の多い物体、または物体の部分をさらに詳細な認識のために選択すること。このような選択は、アルゴリズム的方法の場合のように、メモリ内に事前に設定された特定の物体の構造に従って、あるいは画像の色の勾配、明るさ、および/または奥行に従ってもたらされ得る。例えば、肖像の認識では、以下の認識ゾーン、目、口角、鼻の形状を選択することができ、また、入れ墨、自動車プレート番号、または家屋番号などの、何らかの特定の特徴を選択し、同様のアプローチを用いて認識することができる、ならびに
・ 必要に応じて、選択された画像の詳細な認識も可能である。
Using p-net 100, it is also possible to implement multi-step recognition combining the advantages of algorithmic and neural network recognition methods. Such multi-step recognition may include the following.
Initial recognition of the image by the network, which has been pretrained through using only 1% to 10% of the inputs, designated here as "basic inputs". Such portions of the input may be distributed in p-net 100 uniformly, randomly or with any other distribution function. For example, recognition of a person in a photo that includes multiple other objects,
Select the most informative object, or part of the object, for more detailed recognition. Such selection may be effected according to the structure of the particular object preset in memory, or according to the gradient, the brightness and / or the depth of the color of the image, as in the algorithmic method. For example, for recognition of portraits, the following recognition zones, eyes, mouth corners, nose shapes can be selected, and some specific features such as tattoos, car plate numbers, or house numbers can be selected and similar It can be recognized using an approach, and if necessary, a detailed recognition of the selected image is also possible.
pネット100のコンピュータエミュレーションの形成およびそのトレーニングは、任意のプログラミング言語を用いることによって上述の説明の基づいてもたらされ得る。例えば、オブジェクト指向プログラミングを用いることができ、この場合、シナプス重み108、修正重み112、分配器114、およびニューロン116はプログラミングオブジェクトまたはオブジェクトのクラスを表し、リンクまたはメッセージを介してオブジェクトクラスの間の関係が確立され、オブジェクトの間およびオブジェクトクラスの間の相互作用のアルゴリズムが設定される。 The formation of the computer emulation of p-net 100 and its training can be provided based on the above description by using any programming language. For example, object oriented programming may be used, where synapse weights 108, modification weights 112, distributors 114, and neurons 116 represent classes of programming objects or objects, and may be linked or linked between objects classes. Relationships are established and algorithms for interaction between objects and between object classes are set.
pネット100のソフトウェアエミュレーションの形成およびトレーニングは以下のことを含み得る。
1.pネット100の形成およびトレーニングの準備、具体的には、
・ 所与のタスクに従う、トレーニング入力画像のセットの、デジタル形式への変換、
・ トレーニングのために用いられるべき入力信号のパラメータ、例えば、周波数、大きさ、位相、または座標の選択を含む、得られたデジタル画像の解析、ならびに
・ トレーニング信号の範囲、問題の範囲内の間隔の数、および修正重み影響係数Сi,d,nの分布の設定。
2.以下のことを含む、pネットのソフトウェアエミュレーションの形成。
・ pネット100への入力のセットの形成。例えば、入力の数はトレーニング入力画像内の信号の数と等しくてもよい、
・ ニューロンのセットの形成。ここで、各ニューロンは加算デバイスを表す、
・ シナプス重みを有するシナプスのセットの形成。ここで、各シナプスは1つのpネット入力および1つのニューロンに接続されている、
・ 各シナプスにおける重み修正ブロックの形成。ここで、重み修正ブロックは分配器および修正重みを含み、各修正重みは以下の特性を有する。
〇 修正重み入力インデックス(i)、
〇 修正重みニューロンインデックス(n)、
〇 修正重み間隔インデックス(d)、および
〇 修正重み初期値(Wi,d,n)。
・ 間隔と修正重みとの相関の指定。
3.以下のことを含む、1つの入力画像を用いた各ニューロンのトレーニング。
・ 以下のことを含む、修正重み影響係数Сi,d,nの指定。
○ 各入力によって受信されたトレーニング入力画像の入力信号に対応する間隔の決定、および
○ 全てのシナプスのための全ての修正重みに対する修正重み影響係数Сi,d,nの大きさの指定。
・ ニューロンに寄与する全てのシナプス重みの修正重み値Wi,d,nに、対応する修正重み影響係数Сi,d,nを乗算したものを加算することによる、ニューロン「n」ごとのニューロン出力和(Σn)の算出。
Σn=Σi,d,nWi,d,n×Ci,d,n
・ ニューロン出力和Σnの、対応する所望の出力信号Onからの減算を介した逸脱またはトレーニング誤差(Tn)の算出。
Tn=On−Σn、
・ トレーニング誤差を、ニューロン「n」に接続されたシナプスの数「S」で除算することを介したニューロン「n」に寄与する全ての修正重みのための等しい修正値(Δn)の算出。
Δn=Tn/S
・ 各修正重みに、対応する修正重み影響係数Ci,d,nで除算した修正値Δnを加算することによる、それぞれのニューロンに寄与する全ての修正重みWi,d,nの変更。
Wi,d,n modified=Wi,n,d+Δn/Ci,d,n。
ニューロン「n」に寄与する全ての修正重みについて、等しい修正値(Δn)を算出し、修正重みWi,d,nを変更する別の方法は、以下のことを含み得る。
・ 所望の出力画像の信号Onをニューロン出力和Σnで除算すること。
Δn=On/Σn
・ 修正重みに修正値Δnを乗算することによる、ニューロンに寄与する修正重みWi,n,dの変更。
Wi,d,n modified=Wi,d,n×Δn
4.以下のことを含む、全てのトレーニング画像を用いたpネット100のトレーニング。
・ 1つのトレーニングエポック内に含まれる全ての選択されたトレーニング画像にわたって上述されたプロセスの繰り返すこと、および
・ 特定のトレーニングエポックの誤差もしくは誤差群を決定し、それらの誤差を所定の許容誤差レベルと比較し、トレーニング誤差が所定の許容誤差レベル未満になるまでトレーニングエポックを繰り返すこと。
The formation and training of software emulation of p-net 100 may include the following.
1. Preparation of p-net 100 and preparation of training, specifically,
Converting a set of training input images into digital form, according to a given task
Analysis of the acquired digital image, including selection of parameters of the input signal to be used for training, eg frequency, magnitude, phase or coordinates, and Range of training signal, spacing within the range of the problem And the distribution of the correction weight influence factor 修正i, d, n .
2. Software emulation of p-net including:
Formation of a set of inputs to p-net 100. For example, the number of inputs may be equal to the number of signals in the training input image
Formation of a set of neurons. Where each neuron represents a summing device,
Formation of a set of synapses with synaptic weights. Here, each synapse is connected to one p net input and one neuron,
Formation of weight correction blocks at each synapse. Here, the weight correction block includes a distributor and a correction weight, and each correction weight has the following characteristics.
○ Modified weight input index (i),
O Modified Weighted Neuron Index (n),
O Modified Weight Interval Index (d), and o Modified Weight Initial Value (W i, d, n ).
• Specifying correlations between intervals and correction weights.
3. Training each neuron with one input image, including:
• Specification of the modified weight influence factor С i, d, n which includes:
O determining the interval corresponding to the input signal of the training input image received by each input, and o specifying the magnitude of the modified weight influence factor С i, d, n for all modified weights for all synapses.
・ Neurons for each neuron "n" by adding the correction weight values W i, d, n of all synapse weights contributing to the neurons multiplied by the corresponding correction weight influence factor С i, d, n Calculation of output sum (Σn).
N n = i i, d, n W i, d, n × C i, d, n
Calculation of the deviation or training error (T n ) via subtraction of the neuron output sum n n from the corresponding desired output signal O n .
T n = O n −Σ n ,
Calculation of equal correction values (Δ n ) for all correction weights that contribute to neuron 'n' via dividing the training error by the number 'S' of synapses connected to neuron 'n'.
Δ n = T n / S
Change of all the correction weights W i, d, n contributing to the respective neuron by adding the correction value Δ n divided by the corresponding correction weight influence factor C i, d, n to each correction weight.
Wi , d, n modified = Wi , n, d +? N / Ci , d, n .
Another method of calculating equal correction values (Δ n ) and changing the correction weights W i, d, n for all correction weights contributing to the neuron “n” may include:
Divide the signal O n of the desired output image by the neuron output sum n n .
Δ n = O n / Σ n
Modification of the correction weights W i, n, d that contribute to the neuron by multiplying the correction weights by the correction value Δ n .
W i, d, n modified = W i, d, n × Δ n
4. Training p-net 100 with all training images, including:
Repeating the process described above over all selected training images contained within one training epoch, and determining a set of errors or errors for a particular training epoch, with those errors at a predetermined tolerance level Compare and repeat training epochs until the training error is less than a predetermined tolerance level.
オブジェクト指向プログラミングを用いるpネット100のソフトウェアエミュレーションの実際の例が以下において説明され、図14〜図21に示される。
NeuronUnitオブジェクトクラスの形成は以下のものの形成を含み得る。
・ シナプスクラスのオブジェクトのセット、
・ トレーニングの間に加算が遂行される、変数を提示するニューロン116、および
・ 所望のニューロン和120の値が記憶され、トレーニングプロセスの間に修正値Δnの算出が遂行される、変数を提示する計算器122。
pネット100のトレーニングを行うクラスNeuronUnitは、以下のことを含み得る。
・ ニューロン和120の形成、
・ 所望の和の設定、
・ 修正値Δnの算出、および
・ 修正重みWi,n,dへの算出された修正値Δnの加算。
オブジェクトクラスSynapseの形成は以下のものを含み得る。
・ 修正重みWi,n,dのセット、および
・ シナプス118に接続された入力を指示するポインタ。
クラスSynapseは以下の機能を遂行し得る。
・ 修正重みWi,n,dの初期化、
・ 重みWi,n,dへの係数Сi,d,nの乗算、および
・ 重みWi,n,dの修正。
オブジェクトクラスInputSignalの形成は以下のものを含み得る。
・ 所与の入力102に接続されたシナプス118上のインデックスのセット、
・ 入力信号104の値を含む変数、
・ 可能な最小および最大入力信号の値、
・ 間隔「d」の数、および
・ 間隔の長さ。
クラスInputSignalは以下の機能を提供し得る。
・ 以下のことを含む、pネット100の構造の形成。
〇 入力102とシナプス118との間のリンクの追加および削除、ならびに
〇 特定の入力102のシナプス118のための間隔「d」の数の設定。
・ 最小および最大入力信号104のパラメータの設定、
・ pネット100の動作への寄与。
〇 入力信号104の設定、および
〇 修正重み影響係数Сi,d,nの設定。
オブジェクトクラスPNetの形成は以下のオブジェクトクラスのセットを含む。
・ NeuronUnit、および
・ InputSignal。
クラスPNetは以下の機能を提供する。
・ InputSignalクラスのオブジェクトの数の設定、
・ NeuronUnitクラスのオブジェクトの数の設定、ならびに
・ オブジェクトNeuronUnitおよびInputSignalの機能のグループ要求。
トレーニングプロセスの間に、サイクルを形成することができ、
・ サイクルが開始する前に、0と等しいニューロン出力和が形成される、
・ 所与のNeuronUnitに寄与する全てのシナプスが見直される。シナプス118ごとに、
○ 入力信号102に基づいて、分配器が修正重み影響係数Сi,d,nのセットを形成する、
○ 前記シナプス118の全ての重みWi,n,dが見直され、重みごとに、
■ 重みWi,n,dの値に、対応する修正重み影響係数Сi,d,nが乗算される、
■ 乗算の結果が形成中のニューロン出力和に加算される、
・ 修正値Δnが算出される、
・ 修正値Δnが修正重み影響係数Сi,d,nで除算される、すなわち、Δn/Сi,d,n、および
・ 所与のNeuronUnitに寄与する全てのシナプス118が見直される。シナプス118ごとに、問題のシナプスの全ての重みWi,n,dが見直され、重みごとに、その値が、対応する修正値Δnに変更される。
A practical example of software emulation of p-net 100 using object oriented programming is described below and is illustrated in FIGS.
The formation of the NeuronUnit object class may include the formation of:
A set of objects of the synapse class,
• The neurons 116 presenting variables, where the addition is performed during training, and the values of the desired neuron sum 120 are stored, and the calculation of the correction value Δ n is performed during the training process, the variables are presented Calculator 122.
The class NeuronUnit for training p-net 100 may include the following.
・ Formation of neuron sum 120,
・ Setting of desired sum,
And correction value delta n is calculated, and - modifying the weights W i, n, calculated sum of the correction value delta n to d.
The formation of object class Synapse may include the following.
A set of correction weights W i, n, d , and a pointer pointing to the input connected to the synapse 118.
Class Synapse may perform the following functions:
・ Initialization of correction weights W i, n, d
The multiplication of the weight W i, n, d by the factor С i, d, n , and the correction of the weight W i, n, d .
The formation of the object class InputSignal may include the following.
A set of indices on synapses 118 connected to a given input 102,
A variable containing the value of the input signal 104,
• possible minimum and maximum input signal values,
• The number of intervals “d”, and • the length of the intervals.
The class InputSignal may provide the following functionality:
-Formation of the structure of p-net 100, including the following.
O addition and deletion of links between the input 102 and the synapse 118, and o setting of the number of intervals "d" for the synapse 118 of a particular input 102.
Setting the parameters of the minimum and maximum input signal 104,
Contribution to the operation of the p-net 100.
設定 setting of the input signal 104, and 設定 setting of the correction weight influence factor С i, d, n .
The formation of object class PNet includes the following set of object classes.
-NeuronUnit, and-InputSignal.
The class PNet provides the following functions:
・ Setting the number of objects of InputSignal class,
-Setting of the number of objects of the NeuronUnit class, and-Group request of the functions of the objects NeuronUnit and InputSignal.
During the training process, cycles can be formed,
Before the cycle starts, a neuron output sum equal to 0 is formed,
All synapses contributing to a given NeuronUnit are reviewed. Every synapse 118
○ Based on the input signal 102, the distributor forms a set of modified weight influence factors С i, d, n ,
○ All weights W i, n, d of the synapse 118 are reviewed, and for each weight
■ The values of the weights W i, n, d are multiplied by the corresponding modified weight influence factors С i, d, n ,
■ The result of the multiplication is added to the forming neuron output sum,
The correction value Δ n is calculated,
The correction value Δ n is divided by the correction weight influence factor С i, d, n , ie, Δ n / С i, d, n , and • all synapses 118 contributing to a given NeuronUnit are reviewed. For each synapse 118, all weights W i, n, d of the synapse in question are reviewed, and for each weight, its value is changed to the corresponding correction value Δ n .
pネット100の追加のトレーニングの上述された可能性は、トレーニングプロセスが高速化され、その精度が改善されることを可能にする、トレーニングと画像の認識との組み合わせを可能にする。互いに若干異なるフィルムの連続フレームを使ってトレーニングするなど、順次変化する画像のセットを使ってpネット100をトレーニングする際には、追加のトレーニングは以下のことを含み得る。
・ 第1の画像を用いたトレーニング、
・ 次の画像の認識、および新たな画像と、ネットワークが最初にトレーニングされた画像との間の類似率の特定。認識誤差がその所定の値未満である場合には、追加のトレーニングは必要ない、ならびに
・ 認識誤差が所定の値を超える場合には、追加のトレーニングが行われる。
The above mentioned possibilities of the additional training of the p-net 100 allow a combination of training and image recognition, which allows the training process to be speeded up and its accuracy to be improved. When training p-net 100 with a set of sequentially changing images, such as training with successive frames of film slightly different from one another, the additional training may include:
・ Training using the first image,
Recognition of the next image and identification of the similarity between the new image and the one the network was initially trained on. If the recognition error is less than the predetermined value, no additional training is required, and if the recognition error exceeds the predetermined value, additional training is performed.
上述の基本トレーニングアルゴリズムによるpネット100のトレーニングは、画像認識の問題を解決するために有効であるが、重複する画像に起因するデータの損失または破損を排除しない。したがって、記憶目的のためのpネット100の使用は、可能ではあっても、完全に信頼できるものにはなり得ない。本実施形態は、情報の損失または破損に対する保護をもたらすpネット100のトレーニングを説明する。いずれの修正重みWi,n,dも1度だけトレーニングされ得ることを必要とする追加の制限が基本ネットワークトレーニングアルゴリズム内に導入されてもよい。最初のトレーニングサイクルの後に、重みWi,n,dの値は、固定状態または一定にとどまる。これは、トレーニングプロセスの間における問題の修正重みWi,n,dへのアクセスの数を表す上述のインデックスである、修正重みごとの追加のアクセスインデックス「a」を入れることによって達成され得る。 Training of the p-net 100 with the basic training algorithm described above is effective to solve the problem of image recognition but does not eliminate data loss or corruption due to duplicate images. Thus, the use of p-net 100 for storage purposes, although possible, can not be completely reliable. The present embodiment describes training of p-net 100 that provides protection against loss or corruption of information. An additional restriction may be introduced into the basic network training algorithm that requires that any correction weights W i, n, d can be trained only once. After the first training cycle, the values of the weights W i, n, d remain fixed or constant. This may be achieved by including an additional access index "a" for each correction weight, which is the above-mentioned index representing the number of accesses to the correction weight W i, n, d of the problem during the training process.
上述されたように、各修正重みはWi,n,d,aの名称を呈してもよい。ここで、「a」はトレーニングプロセスの間における問題の重みへのアクセスの数である。最も単純な場合には、変更されていない、すなわち、固定されていない重みについては、a=0であり、その一方で、上述の基本アルゴリズムによって変更または修正された重みについては、a=1である。さらに、基本アルゴリズムを適用する間に、固定された値a=1を有する修正重みWi,n,d,aは、修正がなされる重みから除外され得る。このような場合には、式[5]、[6]、および[7]は以下のように変形され得る。 As mentioned above, each correction weight may take on the names Wi , n, d, a . Here, "a" is the number of accesses to the problem weights during the training process. In the simplest case, for weights that have not been modified or fixed, a = 0, while for weights modified or modified by the above-described basic algorithm, a = 1. is there. Furthermore, while applying the basic algorithm, the modified weights W i, n, d, a with fixed value a = 1 can be excluded from the weights to be corrected. In such a case, equations [5], [6], and [7] can be modified as follows.
上述の制限は、以前にトレーニングされた修正重みWi,n,d,aの修正に部分的に適用され得るが、最も重要な画像を形成する重みに対してのみ適用され得る。例えば、単一の人物の肖像のセットを使ったトレーニング内において、1つの特定の画像がプライマリと宣言され、優先権を付与され得る。このような優先画像を使ったトレーニング後に、トレーニングのプロセスにおいて変更された全ての修正重みWi,n,d,aは固定されてもよく、すなわち、インデックスa=1となり、それゆえ、重みをWi,n,d,1として指定し、同じ人物の他の画像は変更可能な状態にとどまってもよい。このような優先権は、他の画像、例えば、暗号化キーとして用いられ、および/または重要な数値データを包含するものを含み得る。 The above limitations may be partially applied to the correction of the previously trained correction weights Wi, n, d, a , but may only be applied to the weights forming the most important image. For example, within training with a set of single person portraits, one particular image may be declared primary and given priority. After training with such a preferred image, all the modified weights W i, n, d, a modified in the training process may be fixed, ie index a = 1, hence the weights Designated as Wi, n, d, 1 other images of the same person may remain modifiable. Such preferences may include other images, such as those used as encryption keys and / or contain significant numerical data.
修正重みWi,n,d,aの変化はまた、完全に禁止されるのではなく、インデックス「a」の増加に対して制限されてもよい。すなわち、重みWi,n,d,aの各々のその後の使用は、その変化能力を低減するために用いられてもよい。特定の修正重みWi,n,d,aが頻繁に用いられるほど、アクセスごとの重みの変化は小さくなり、それゆえ、後続の画像を使ったトレーニングの間には、以前の、記憶された画像は変更が少なくなり、被る破損が低減される。例えば、a=0である場合には、重みWi,n,d,aの任意の変化が可能であり、a=1であるときには、重みの変化の可能性は重みの値の±50%に減少させられてもよく、a=2の場合には、変化の可能性は重みの値の±25%に低減されてもよい。 The change of the correction weights W i, n, d, a may also be limited to the increase of the index "a", rather than being completely forbidden. That is, the subsequent use of each of the weights Wi, n, d, a may be used to reduce its ability to change. The more frequently a particular correction weight W i, n, d, a is used, the smaller is the change in weight per access, and thus, the previous stored during training with subsequent images The image is less changed and the damage incurred is reduced. For example, when a = 0, any change of the weights W i, n, d, a is possible, and when a = 1, the possibility of changing the weight is ± 50% of the value of the weight In the case of a = 2, the probability of change may be reduced to ± 25% of the weight value.
インデックス「a」によって示されるとおりの、所定のアクセス数に達した後には、例えば、a=5であるときには、重みWi,n,d,aのさらなる変化は禁止されてもよい。このようなアプローチは、単一のpネット100内における高い知能と情報安全性との組み合わせをもたらし得る。ネットワーク誤差算出機構を用いて、所定の精度範囲内の損失を有する情報が保存され得るように許容誤差のレベルを設定することができる。ここで、精度範囲は特定のタスクに応じて付与され得る。換言すれば、視覚画像を用いて動作するpネット100に対しては、誤差は、裸眼によって捉えることができないレベルに設定されてもよく、これにより、大幅な記憶容量の増大「の因子」がもたらされるであろう。上述のことは、視覚情報、例えば、映画の非常に有効な記憶の生成を可能にすることができる。 After reaching the predetermined access number, as indicated by the index "a", further changes in the weights Wi, n, d, a may be prohibited, for example when a = 5. Such an approach may provide a combination of high intelligence and information security in a single p-net 100. The network error calculation mechanism can be used to set the level of tolerance so that information with losses within a predetermined accuracy range can be stored. Here, the accuracy range may be assigned according to a particular task. In other words, for a p-net 100 operating with a visual image, the error may be set to a level that can not be caught by the naked eye, which causes a significant increase in storage capacity. Will be brought. The above may enable the generation of visual information, for example, a very efficient storage of movies.
コンピュータメモリを選択的にクリーニングする能力は、pネット100の継続した高レベルの機能のために有益であり得る。メモリのこのような選択的クリーニングは、記憶された情報の残りの部分の損失または破損を伴うことなく、特定の画像を削除することによって行われ得る。このようなクリーニングは以下のようにもたらされ得る。
・ 例えば、画像をネットワークに導入すること、または画像ごとに用いられる修正重みのリストをまとめることによる、画像形成に関与する全ての修正重みWi,n,d,aの識別、
・ それぞれの修正重みWi,n,d,aのためのインデックス「a」の低減、ならびに
・ 修正重みWi,n,d,aを、0、またはインデックス「a」が0に低減されたときに問題の重みについてあり得る値の範囲の中央に近いランダム値のいずれかと置換すること。
The ability to selectively clean computer memory may be beneficial for the continued high level functionality of p-net 100. Such selective cleaning of the memory can be performed by deleting certain images without loss or corruption of the remaining part of the stored information. Such cleaning may be effected as follows.
• Identification of all the correction weights W i, n, d, a involved in the image formation, eg by introducing an image into the network or putting together a list of correction weights used per image
The reduction of the index "a" for each correction weight W i, n, d, a , and the correction weight W i, n, d, a reduced to 0, or the index "a" to 0 When replacing with one of the random values close to the middle of the range of possible values for the problem weight.
画像のシーケンス内に隠れた強いパターンを識別するために、インデックス「a」の低減の適切な順序および継起を実験的に選択することができる。例えば、トレーニングの間に100個の画像がpネット100内に導入されるごとに、インデックス「a」は、「a」が0の値に達するまで、1のカウントだけ低減されてもよい。このような場合において、「a」の値は新たな画像の導入に対応して増加してもよい。「a」の増加と低減との間の競合は、ランダムな変化がメモリから徐々に削除され、その一方で、何度も用いられ、確認された修正重みWi,n,d,aは保存され得る状況をもたらし得る。pネット100が、例えば、同じ問題の環境または同様の環境の、同様の属性を有する多数の画像を使ってトレーニングされると、しばしば用いられる修正重みWi,n,d,aはそれらの値を絶えず確認し、これらの領域内の情報は非常に安定する。さらに、ランダムノイズが徐々に消えることになる。換言すれば、pネット100は、インデックス「a」の漸減とともに、有効なノイズフィルタの役割を果たし得る。 The appropriate order and succession of the reductions of the index "a" can be selected experimentally to identify strong patterns hidden within the sequence of images. For example, every time 100 images are introduced into p-net 100 during training, index "a" may be reduced by a count of 1 until "a" reaches a value of 0. In such cases, the value of "a" may be increased in response to the introduction of a new image. The competition between the increase and decrease of the 'a' is that random changes are gradually removed from the memory, while being used many times, the modified correction weights Wi, n, d, a stored It can lead to situations that can be When the p-net 100 is trained, for example, using multiple images with similar attributes in the same problem environment or similar environments, the correction weights W i, n, d, a often used are their values Constantly confirm, the information in these areas becomes very stable. Furthermore, random noise will gradually disappear. In other words, the p-net 100 can play the role of an effective noise filter with the decreasing index "a".
情報の損失を伴わないpネット100のトレーニングの上述の実施形態は、高い容量および信頼性を有するpネットメモリを作成することを可能にする。このようなメモリは、「キャッシュメモリ」システムよりさえも大きな速度をもたらす大容量の高速コンピュータメモリとして用いられ得るが、「キャッシュメモリ」システムに典型的であるように、コンピュータのコストおよび複雑さを増大させることはない。公開データによれば、概して、ニューラルネットワークを用いて映画を記録している間に、メモリは、記録品質の大きな損失を伴うことなく、数十または数百倍圧縮され得る。換言すれば、ニューラルネットワークは、非常に効果的なアーカイブプログラムとして動作することができる。ニューラルネットワークのこの能力をpネット100の高速トレーニング能力と組み合わせることで、高速データ伝送システム、高い記憶容量を有するメモリ、および高速解読プログラムマルチメディアファイル、すなわち、コーデックスの作成が可能になり得る。 The above described embodiment of p-net 100 training without loss of information makes it possible to create p-net memories with high capacity and reliability. Such memory can be used as a large capacity high-speed computer memory that delivers even greater speed than a "cache memory" system, but with the cost and complexity of the computer being typical of a "cache memory" system. There is no increase. According to published data, generally, while recording a movie using a neural network, the memory can be compressed by tens or hundreds of times without significant loss of recording quality. In other words, the neural network can operate as a very effective archive program. Combining this ability of neural networks with the fast training capabilities of p-net 100 may allow the creation of a fast data transmission system, a memory with a high storage capacity, and a fast decoding program multimedia file, i.e. codecs.
pネット100内において、データは、一種の符号記録である、修正重みWi,n,d,aのセットとして記憶されるという事実のゆえに、既存の方法を介した、および同一のネットワークを使用しない、復号またはpネットへの不正アクセスは考えにくい。それゆえ、pネット100は相当な程度のデータ保護をもたらし得る。また、従来のコンピュータメモリと異なり、pネット100の個々の記憶要素への損傷は、他の要素が失われた機能を相当に補償するため、あまり悪影響を与えない。画像認識プロセスにおいて、1つ以上の要素の損傷の結果、用いられている画像の固有パターンは実用上ゆがめられない。上述のことは、コンピュータの信頼性を劇的に改善し、通常の条件下では欠陥と見なされるであろう、特定のメモリブロックを用いることを可能にし得る。加えて、この種のメモリは、pネット100内の重要なバイトのためのパーマネントアドレスが存在しないため、ハッカーの攻撃に対する脆弱性がより低く、メモリは種々のコンピュータウィルスによるこのようなシステムの攻撃を受けにくくなる。 In the p-net 100, because of the fact that the data is stored as a set of code records, as a set of correction weights Wi, n, d, a , via the existing method and using the same network Do not consider decryption or unauthorized access to p-net. Therefore, p-net 100 can provide a significant degree of data protection. Also, unlike conventional computer memories, damage to the individual storage elements of p-net 100 has less adverse effects as it substantially compensates for the function of the other elements being lost. In the image recognition process, the intrinsic pattern of the image being used is practically undistorted as a result of the damage of one or more elements. The above can dramatically improve computer reliability and allow the use of specific memory blocks that would be considered defects under normal conditions. In addition, this type of memory is less vulnerable to hacker attacks since there is no permanent address for the important bytes in p-net 100, and the memory is attacked by such systems with various computer viruses. It becomes difficult to receive
トレーニングにおいて用いられる異なる画像の間の類似率の決定を用いる画像認識の上述されたプロセスは、上述されたとおりの、以前に規定されたカテゴリに従う画像分類のプロセスとしても利用され得る。事前に規定されていない自然クラスまたはグループへの画像の分割である、クラスタ化のために、基本トレーニングプロセスを変更することができる。本実施形態は以下のことを含み得る。
・ 準備された出力画像を含まない、トレーニング用入力画像のセットの準備、
・ 基本アルゴリズムに従って行われるとおりの、ニューロン出力和の形成を用いたネットワークの形成およびトレーニング、
・ 得られた出力画像内における、最大出力和を有する出力、すなわち、勝者出力、またはコホーネンネットワークと同様に編成され得る、勝者出力のグループの選択、
・ 勝者出力または勝者出力のグループが最大値を受ける、所望の出力画像の作成。同時に、
○ 選択される勝者出力の数は、例えば、1〜10の範囲内で、事前に決められてもよく、または勝者出力は、ルール「最大ニューロン和のN%以上」に従って選択されてもよく、「N」は、例えば、90〜100%以内であり得、
○ 他の全ての出力は0と等しく設定されてもよい。
・ 作成された所望の出力画像を用いることによる基本アルゴリズムに従うトレーニング、図13、ならびに
・ 異なる勝者または勝者グループの画像ごとの形成を用いて他の画像について全ての手順を繰り返す。
The above described process of image recognition using the determination of similarity rates between different images used in training can also be utilized as a process of image classification according to previously defined categories as described above. The basic training process can be modified for clustering, which is the division of the image into non-predefined natural classes or groups. This embodiment may include the following.
・ Preparation of a set of training input images, not including prepared output images
Network formation and training using the formation of neuron output sums as performed according to the basic algorithm,
In the obtained output image, the output with the largest output sum, ie the selection of a group of winner outputs, which may be organized like a winner output or a Kohonen network
Creation of the desired output image, in which the winner output or the group of winner outputs receives the maximum value. at the same time,
O The number of winner outputs to be selected may be predetermined, eg, in the range of 1 to 10, or the winner outputs may be selected according to the rule "N% or more of the maximum neuron sum""N" may be, for example, within 90-100%,
O All other outputs may be set equal to zero.
• training according to the basic algorithm by using the desired output image created, Fig. 13, and · repeating the whole procedure for the other images with the image-by-image formation of different winners or winner groups.
上述の仕方で形成された所望の出力画像のセットは、複数の入力画像が自然に分離し得るクラスタまたはグループを記述するために用いられ得る。所望の出力画像のこのようなセットは、確立された基準に従った、統計的解析における画像の選択などのための、異なる分類を作り出すために用いられ得る。上述のことはまた、入力画像と出力画像との上述の逆転のために用いられてもよい。換言すれば、所望の出力画像が、別の、すなわち、追加のネットワークのための入力画像として用いられてもよく、追加のネットワークの出力が、コンピュータ入力のために適した任意の形式で提示される画像であってもよい。 The set of desired output images formed in the manner described above may be used to describe clusters or groups into which multiple input images may be naturally separated. Such a set of desired output images can be used to create different classifications, such as for image selection in statistical analysis, according to established criteria. The above may also be used for the above described reversal of input and output images. In other words, the desired output image may be used as an input image for another or additional network, and the additional network output is presented in any form suitable for computer input. Image may be used.
pネット100では、上述のアルゴリズムを用いたトレーニングの単一のサイクルの後に、所望の出力画像は、若干の出力和のばらつきを伴って生成され得る。これは、トレーニングプロセスの速度を低下させる場合があり、また、その精度も低下させる場合がある。pネット100のトレーニングを改善するために、点の大きさのばらつきが、可能な出力値の全範囲、例えば、図21に示されるように、−50〜+50を包括するであろうように、点の初期ばらつきが人為的に増大または拡張されてもよい。点の初期ばらつきのこのような拡張は線形または非線形のいずれかであり得る。 In p-net 100, after a single cycle of training using the above algorithm, the desired output image can be generated with some variation of the output sum. This may reduce the speed of the training process and may also reduce its accuracy. In order to improve the training of the p-net 100, the variation of the point size will cover the full range of possible output values, eg -50 to +50, as shown in FIG. The initial variation of points may be artificially increased or expanded. Such an extension of the initial variation of points may be either linear or non-linear.
特定の出力の最大値が外れ値または誤り、例えば、ノイズの発現である状況が生じ得る。これは、多数の小さな信号によって包囲された最大値の出現によって発現され得る。勝者出力が選択される際に、小さな信号値は、他の大きな信号によって包囲された最も大きな信号勝者としての選択を通して無視することができる。この目的のために、重要度サンプリングなどの、分散低減の既知の統計的技法が用いられ得る。このようなアプローチは、基本的な有用なパターンを維持しつつ、ノイズを除去することを可能にし得る。勝者グループの作成は、図13に示されるように、線形分離不可能な画像、すなわち、1つを超えるクラスタに関連する画像のクラスタ化を可能にする。上述のことは、精度の著しい改善をもたらし、クラスタ化の誤差の数を減少させ得る。 Situations may arise in which the maximum value of a particular output is an outlier or an error, for example the appearance of noise. This can be manifested by the appearance of maxima surrounded by a large number of small signals. When the winner output is selected, small signal values can be ignored through selection as the largest signal winner surrounded by other large signals. Known statistical techniques of variance reduction, such as importance sampling, may be used for this purpose. Such an approach may allow noise removal while maintaining the basic useful pattern. The creation of the winner group allows clustering of the linearly inseparable images, ie images associated with more than one cluster, as shown in FIG. The above results in a significant improvement in accuracy and can reduce the number of clustering errors.
pネット100のトレーニングのプロセスにおいて、修正を受ける典型的な誤差は以下のものである。 In the process of training p-net 100, typical errors that are subject to correction are:
外部トレーナーを用いたトレーニングにおける上述のアルゴリズムの助けを借りた誤差修正も可能である。 Error correction is also possible with the aid of the above mentioned algorithm in training with an external trainer.
pネット100のハードウェア部分は、デジタル、アナログ、または複合デジタル−アナログマイクロチップの形で提供され得る。代表的なpネット100のマイクロチップが情報の記憶および処理の両方のために利用され得る。pネット100のマイクロチップは、様々な可変抵抗器、電界効果トランジスタ、メモリスタ、キャパシタ、スイッチング素子、電圧発生器、非線形光電池などに基づき得る。可変抵抗器は、シナプス重み108および/または修正重み112として用いられ得る。複数のこのような抵抗器が並列、直列、または直並列に接続され得る。それぞれの抵抗器の並列接続の場合には、信号を電流値によって符号化することができ、その結果、電流の自動アナログ合計が容易になり得る。正または負の信号を得るために、興奮性および抑制性の、抵抗器の2つのセットが各シナプス上に提供され得る。このようなハードウェア構造では、抑制性信号は興奮性信号から減算され得る。 The hardware portion of p-net 100 may be provided in the form of digital, analog, or complex digital-analog microchips. A representative p-net 100 microchip can be utilized for both information storage and processing. The microchip of p-net 100 may be based on various variable resistors, field effect transistors, memristors, capacitors, switching elements, voltage generators, non-linear photovoltaic cells, etc. Variable resistors may be used as synaptic weights 108 and / or correction weights 112. A plurality of such resistors may be connected in parallel, in series or in series-parallel. In the case of parallel connection of the respective resistors, the signal can be encoded by the current value, so that an automatic analog summation of the currents can be facilitated. Two sets of resistors, excitatory and inhibitory, may be provided on each synapse to obtain positive or negative signals. In such a hardware structure, the inhibitory signal can be subtracted from the excitatory signal.
各修正重み112は、メモリスタ様のデバイス(メモリスタ)として実装され得る。当業者によって理解されるように、メモリスタは、回路内の電流によって、または電位もしくは電荷によって制御される抵抗を有する可変抵抗器である。適切なメモリスタ機能性は、実際のメモリスタデバイス、そのソフトウェアまたは物理エミュレーションを介して達成され得る。低電圧電位におけるpネット100の動作時には、メモリスタは単純な抵抗器として動作し得る。トレーニングモードの間に、メモリスタの抵抗は、例えば、強い電圧パルスによって、変更され得る。メモリスタの値の変化がいかようであるか(抵抗の増大か、それとも減少か)は電圧の極性に依存し得、その一方で、値の変化の大きさは電圧パルスの大きさに依存し得る。 Each correction weight 112 may be implemented as a memristor-like device. As understood by those skilled in the art, a memristor is a variable resistor having a resistance controlled by the current in the circuit or by the potential or charge. Appropriate memristor functionality may be achieved via the actual memristor device, its software or physical emulation. During operation of p-net 100 at low voltage potentials, the memristor can operate as a simple resistor. During the training mode, the resistance of the memristor can be changed, for example by a strong voltage pulse. How the change in value of the memristor (increase or decrease in resistance) may depend on the polarity of the voltage, while the magnitude of the change in value may depend on the magnitude of the voltage pulse .
図24は、後述されることになる特定の要素を有すること以外、上述されたpネット100とあらゆる点で同様である、pネット100Aと標識されたpネット100の一実施形態を示す。pネット100Aでは、各修正重み112は、特定の修正重みのそれぞれの重み値を保持するメモリ要素150によって確立される。pネット100Aでは、重み修正計算器122は、対応するメモリ要素150によって確立された修正重み112のそれぞれの修正重み値を変更するように構成され得る。pネット100Aの他の実施形態と一貫して、修正重み112は、決定された逸脱128を用いて、対応するメモリ要素150内で確立される。図25に示されるpネット100Aの動作の間に、全てのニューロン116の各々のそれぞれの出力117はそれぞれのニューロン和120を提供し、pネット100Aの動作出力信号152を確立する。動作出力信号152は信号値を有し、動作出力画像154の一部分または全体のいずれかを表す。 FIG. 24 illustrates one embodiment of a p-net 100 labeled p-net 100A that is similar in all respects to the p-net 100 described above, except having the specific elements that will be described later. In p-net 100A, each correction weight 112 is established by a memory element 150 that holds the respective weight value of a particular correction weight. In p-net 100A, weight correction calculator 122 may be configured to change the respective correction weight value of correction weights 112 established by the corresponding memory element 150. Consistent with other embodiments of p-net 100A, correction weights 112 are established in corresponding memory elements 150 using the determined deviation 128. During operation of p-net 100A shown in FIG. 25, the respective outputs 117 of each of all neurons 116 provide respective neuron sums 120 and establish the operation output signal 152 of p-net 100A. The motion output signal 152 has signal values and represents either a portion or all of the motion output image 154.
pネット100Aのトレーニングの間に、重み修正計算器122は、出力画像126の一部分または全体を表す所望の出力信号124を受信し、所望の出力信号124の値からのニューロン和120の逸脱128を決定し、決定された逸脱を用いて、対応するメモリ要素によって確立されたそれぞれの修正重み値を変更し得る。さらに、対応するメモリ要素150によって確立された修正重み112の変更された修正重み値を合算し、ニューロン和を決定することは、所望の出力信号値124からのニューロン和120の逸脱を最小化することになる。所望の出力信号値124からのニューロン和120の逸脱を最小化することを用いて、pネット100Aをトレーニングする。 During training of p-net 100A, weight correction calculator 122 receives the desired output signal 124 representing a portion or all of output image 126, and the deviation 128 of neuron sum 120 from the value of the desired output signal 124. The determined and determined deviations may be used to change the respective correction weight value established by the corresponding memory element. Further, summing the modified correction weight values of the correction weights 112 established by the corresponding memory element 150 and determining the neuron sum minimizes the deviation of the neuron sum 120 from the desired output signal value 124. It will be. The p-net 100A is trained with minimizing the departure of the neuron sum 120 from the desired output signal value 124.
図24において想像線で示されるように、開示されている任意の実施形態のトレーニングされたpネット100Aは、値を有する補足入力信号156のみを、対応する補足的な所望の出力信号158とともに用いて補足トレーニングを受けるように構成され得る。換言すれば、以前にトレーニングされたpネット100Aは、pネット100Aを最初にトレーニングするために利用された元の入力信号104および所望の出力信号124の一部または全てを保持されずに、補足トレーニングを受けることができる。pネット100A内の複数のシナプス118の各々は、それぞれのメモリ要素150によって確立された1つ以上の追加の修正重み112を受け入れるように構成され得る。このような追加の修正重み112は、pネット100Aのトレーニングの間、または補足トレーニングの前のいずれかにおいてシナプスに加算され得る。このような追加の修正重み112は、pネット100Aをトレーニングし、動作させるために利用可能なメモリ要素150の数を拡張するために用いられ得る。 As shown in phantom in FIG. 24, the trained p-net 100A of any of the disclosed embodiments uses only the supplemental input signal 156 having a value with the corresponding supplemental desired output signal 158. Can be configured to receive supplemental training. In other words, the previously trained p-net 100A is complemented without retaining some or all of the original input signal 104 and the desired output signal 124 utilized to initially train the p-net 100A. I can receive training. Each of the plurality of synapses 118 in p-net 100A may be configured to receive one or more additional modification weights 112 established by the respective memory element 150. Such additional correction weights 112 may be added to the synapse either during training of the p-net 100A or prior to supplemental training. Such additional correction weights 112 may be used to extend the number of memory elements 150 available to train and operate the p-net 100A.
pネット100Aはまた、pネット100Aのトレーニングの間または後のいずれかにおいて、それぞれのシナプス118から、それぞれのメモリ要素150によって確立された1つ以上の修正重み112を削除するように構成され得る。一部の修正重み112の削除は、ニューラルネットワークが、ニューラルネットワークを動作させるために必要とされる数のメモリ要素のみを保持することを可能にし得る。修正重み112を削除するこのような能力は、pネットをよりコンパクトにし、それゆえ、トレーニングおよびその後の動作のためにより有効にすることが意図される。pネット100Aはまた、pネットのトレーニングの前または間のいずれかにおいて、追加の入力102、追加のニューロン116を、それぞれの追加のニューロン出力117、および追加のシナプス118とともに受け入れ、これにより、pネットの動作パラメータを拡張するように構成され得る。pネット100Aへのこのような追加は、容量、出力精度、およびpネットによって処理され得るタスクの数などの、能力を高め得る。 The p-net 100A may also be configured to remove one or more modification weights 112 established by the respective memory element 150 from the respective synapse 118 either during or after the training of the p-net 100A. . Removal of some of the correction weights 112 may allow the neural network to hold only the number of memory elements needed to operate the neural network. Such ability to remove the correction weights 112 is intended to make the p-net more compact and hence more effective for training and subsequent operation. The p-net 100A also receives an additional input 102, an additional neuron 116 with each additional neuron output 117 and an additional synapse 118 either before or during training of the p-net, thereby p It may be configured to extend the operating parameters of the net. Such additions to p-net 100A may enhance capabilities such as capacity, output accuracy, and the number of tasks that can be processed by p-net.
pネット100Aは、さらに、pネットの初期トレーニングまたは補足トレーニングのいずれかの前、間、または後に、任意の数の使用されていない入力102、ニューロン116を、それぞれの追加のニューロン出力117、およびシナプス118とともに削除するように構成され得る。使用されていないpネット100Aの要素を削除するこのような能力は、pネットの出力品質の損失を伴うことなく、構造を単純化し、pネットの動作パラメータを変更する、すなわち、pネットを圧縮することが意図される。 The p-net 100A further includes any number of unused inputs 102, neurons 116, each additional neuron output 117, and either before, during, or after the p-net's initial training or supplemental training. It may be configured to delete along with the synapse 118. Such an ability to eliminate elements of unused p-net 100A simplifies the structure and changes the operating parameters of p-net without loss of output quality of p-net, ie compresses p-net It is intended to do.
図26に示されるように、各メモリ要素150は、抵抗、インピーダンス、静電容量、磁界、誘導、または電界強度などの、それぞれの修正重み112の重み値を規定するように構成された電気特性および/または磁気特性によって特徴付けられる電気構成要素またはデバイス160によって確立され得る。このような電気デバイス160は、例えば、メモリスタ(図26〜図28に示される)、抵抗器(図29〜図32に示される)、トランジスタ、キャパシタ(図29〜図32に示される)、電界効果トランジスタ、フォトレジスタもしくは光依存抵抗器(LDR)、磁気依存抵抗器(MDR)、またはメミスタとして構成され得る。当業者によって理解されるように、メミスタは、論理演算を遂行し、情報を記憶することができるメモリを有する抵抗器であり、概して、メモリスタの3端子実装形態である。 As shown in FIG. 26, each memory element 150 is configured to define a weight value of a respective correction weight 112, such as resistance, impedance, capacitance, magnetic field, induction, or electric field strength. And / or may be established by an electrical component or device 160 characterized by magnetic properties. Such an electrical device 160 may, for example, be a memristor (shown in FIGS. 26-28), a resistor (shown in FIGS. 29-32), a transistor, a capacitor (shown in FIGS. 29-32), an electric field. It can be configured as an effect transistor, a photoresistor or light dependent resistor (LDR), a magnetic dependent resistor (MDR), or a thermistor. As understood by those skilled in the art, a thermistor is a resistor having a memory capable of performing logic operations and storing information, generally a three terminal implementation of memristor.
メモリ要素150のこのような実施形態では、各電気デバイス160のそれぞれの電気特性および/または磁気特性は、pネット100Aのトレーニングの間に変更されるように構成され得る。加えて、メモリ要素150の電気デバイス160の実施形態を用いるpネット100Aでは、重み修正計算器122は、pネット100Aによって利用される対応するデバイスのそれぞれの電気特性および/または磁気特性を変更することによって、それぞれの修正重み112の値を変更し得る。各電気デバイス160はまた、上述されたように、pネット100Aのトレーニングの間に変更され、トレーニング後にpネットの動作の間に用いられるそれぞれの修正重み112の値に対応する電気特性および/または磁気特性を維持または保持するように構成され得る。 In such embodiments of memory element 150, the respective electrical and / or magnetic properties of each electrical device 160 may be configured to be changed during training of p-net 100A. In addition, in the p-net 100A using the embodiment of the electrical device 160 of the memory element 150, the weight correction calculator 122 alters the electrical and / or magnetic properties of each of the corresponding devices utilized by the p-net 100A. Thus, the value of each correction weight 112 may be changed. Each electrical device 160 is also modified during training of the p-net 100A, as described above, and the electrical characteristics and / or corresponding to the values of the respective correction weights 112 used during the operation of the p-net after training. It may be configured to maintain or maintain magnetic properties.
適切なメモリスタの特定の実施形態は、デバイスの既知の物理的表現、ならびにデバイスのソフトウェアもしくは電気回路の機能的表現もしくは同等物の両方であり得る。図26〜図28は、このような物理メモリスタを利用する代表的なpネット100Aの諸実施形態を示す。図26に示されるように、各入力102は、アナログ入力信号104を受信するように構成されており、画像センサ、光感応要素またはマイクロフォンのアレイ、デジタル−アナログコンバータ等などの、外部ソースからの入力信号は、電圧V1、V2…Vmとして表されている。全ての入力信号104が組み合わさって、対応する入力画像106を全体的に記述する。 Particular embodiments of suitable memristor may be both a known physical representation of the device, as well as a functional representation or equivalent of the software or electrical circuitry of the device. Figures 26-28 illustrate embodiments of a representative p-net 100A that utilizes such physical memristor. As shown in FIG. 26, each input 102 is configured to receive an analog input signal 104 and may be from an external source, such as an image sensor, an array of light sensitive elements or microphones, a digital to analog converter, etc. The input signals are represented as voltages V1, V2 ... Vm. All input signals 104 combine to generally describe the corresponding input image 106.
各メモリ要素150はまた、電気抵抗器164を有するブロック162によって確立され得る。電気抵抗器164を有するこのようなブロック162は選択デバイス166を含み得る。選択デバイス166は、上述されたように、所望の出力信号124の値からのニューロン和120の決定された逸脱128を用いてブロック162から1つ以上の電気抵抗器164を選択し、各修正重み112を確立するように構成されている。さらに、電気抵抗器164を有するブロック162によって確立される各メモリ要素150はまた、電気キャパシタ168も含み得る。換言すれば、各メモリ要素150は、電気抵抗器164および電気キャパシタ168を有するブロック162によって確立され得る。このような場合には、選択デバイス166は、さらに、決定された逸脱128を用いてキャパシタ168および電気抵抗器164を選択し、各修正重み112を確立するように構成され得る。 Each memory element 150 may also be established by a block 162 having an electrical resistor 164. Such a block 162 having an electrical resistor 164 may include a selection device 166. The selection device 166 selects one or more electrical resistors 164 from the block 162 using the determined deviation 128 of the neuron sum 120 from the value of the desired output signal 124 as described above, each correction weight It is configured to establish 112. Additionally, each memory element 150 established by the block 162 with the electrical resistor 164 may also include an electrical capacitor 168. In other words, each memory element 150 may be established by block 162 having an electrical resistor 164 and an electrical capacitor 168. In such case, the selection device 166 may be further configured to select the capacitors 168 and the electrical resistors 164 using the determined deviation 128 to establish each correction weight 112.
図24および25に示されるpネット100Aの実施形態の各々は、アナログ、デジタル、およびデジタル−アナログニューラルネットワークのいずれかとして構成され得る。pネット100Aのこのような実施形態では、複数の入力102、複数のシナプス118、メモリ要素150、分配器114のセット、ニューロン116のセット、重み修正計算器122、および所望の出力信号124のうちの任意のものは、アナログフォーマット、デジタルフォーマット、およびデジタル−アナログフォーマットで動作するように構成され得る。図26は、所望の出力信号124の値からのニューロン和120の逸脱128の決定をもって終結するトレーニングの第1段階におけるpネット100Aを示し、その一方で、図27は、トレーニングの第2段階におけるpネット100Aが、電気デバイス160によって確立された修正重み112のための修正信号170の形成をもって終結する様子を示す。図26に示されるように、各シナプス118は複数の入力102のうちの1つに接続されており、修正重み112として機能する、メモリスタとして示される、複数の電気デバイス160を含む。各修正重み112は電気抵抗の値によって規定される。 Each of the embodiments of p-net 100A shown in FIGS. 24 and 25 may be configured as any of analog, digital, and digital-analog neural networks. In such an embodiment of p-net 100A, of the plurality of inputs 102, the plurality of synapses 118, the memory element 150, the set of distributors 114, the set of neurons 116, the weight correction calculator 122, and the desired output signal 124. Any of may be configured to operate in analog format, digital format, and digital-analog format. FIG. 26 shows the p-net 100A in the first phase of training ending with the determination of the deviation 128 of the neuron sum 120 from the value of the desired output signal 124, while FIG. 27 shows in the second phase of training The p-net 100A is shown terminating with the formation of a correction signal 170 for the correction weights 112 established by the electrical device 160. As shown in FIG. 26, each synapse 118 includes a plurality of electrical devices 160, shown as memristor, connected to one of the plurality of inputs 102 and functioning as a correction weight 112. Each correction weight 112 is defined by the value of the electrical resistance.
図26に示されるpネット100Aはまた、分配器114のセットを含む。各分配器114は、メモリスタとして構成された、電気デバイス160のセットを介してそれぞれの入力信号104を受信し、適切な修正重み112を確立するための複数の入力102のうちの1つに動作可能に接続されている。加えて、各分配器114は、入力電圧に相関して、利用可能な複数の修正重みからメモリスタによって具体化された1つ以上の修正重み112を選択するように構成されている。図28は、双対並列分岐状に配置されたメモリスタとして構成された電気デバイス160を用いるpネット100Aを示す。上述されたpネット100Aの構築のための他の解決策に関して、図29〜図31は、pネット100Aにおける適切な抵抗を規定するための共通抵抗器として構成された電気デバイス160を示し、その一方で、図32は、pネット100Aにおけるインピーダンスを規定するように構成された電気デバイス160を示す。 The p-net 100 A shown in FIG. 26 also includes a set of distributors 114. Each distributor 114 receives its respective input signal 104 via a set of electrical devices 160 configured as a memristor, operating on one of a plurality of inputs 102 for establishing the appropriate correction weights 112. It is connected possible. In addition, each distributor 114 is configured to select one or more correction weights 112 embodied by the memristor from the plurality of available correction weights in correlation to the input voltage. FIG. 28 shows a p-net 100A using an electrical device 160 configured as a memristor arranged in a dual parallel branch. With respect to the other solutions for the construction of p-net 100A described above, FIGS. 29-31 show electrical device 160 configured as a common resistor to define the appropriate resistance in p-net 100A, On the other hand, FIG. 32 shows an electrical device 160 configured to define the impedance in p-net 100A.
アナログまたはアナログ−デジタルネットワークとして構成されたpネット100Aでは、各入力102は、アナログまたはデジタル入力信号104を受信するように構成されている。ここで、図24および図25において、入力信号はI1、I2…Imとして表されている。各入力信号I1、I2…Imは、入力画像106の何らかのアナログ特性、例えば、大きさ、周波数、位相、信号偏角などの値を表す。アナログpネット100Aでは、各入力信号104は入力アナログ値を有し、全体として、複数の入力信号104は概してアナログ入力画像106を記述する。アナログネットワークとして構成されたpネット100Aでは、各ニューロン116は、直列または並列のいずれかの通信チャネル172、例えば、電線、または直列もしくは並列バスによって確立され得る。通信チャネル172の代表的なバスの実施形態は、当業者によって理解されるように、並列接続およびビット直列接続の両方を用い得る。例えば、対応するアナログ信号が電流を介して提供される場合には、通信チャネル172は直列電流バスであってもよく、その一方で、対応するアナログ信号がそれぞれの修正重み112上の電位を介して提供される場合には、代表的な通信チャネルは並列バスであってもよい。 In p-net 100A configured as an analog or analog-to-digital network, each input 102 is configured to receive an analog or digital input signal 104. Here, in FIG. 24 and FIG. 25, input signals are represented as I 1 , I 2 ... I m . Each input signal I 1 , I 2 ... I m represents some analog characteristic of the input image 106, such as, for example, values such as magnitude, frequency, phase, signal declination, and the like. In the analog p-net 100A, each input signal 104 has an input analog value, and collectively, the plurality of input signals 104 generally describe the analog input image 106. In p-net 100A configured as an analog network, each neuron 116 may be established by either serial or parallel communication channel 172, eg, a wire, or a serial or parallel bus. The exemplary bus embodiment of communication channel 172 may use both parallel and bit-serial connections, as will be appreciated by those skilled in the art. For example, if the corresponding analog signal is provided via current, the communication channel 172 may be a serial current bus while the corresponding analog signal is via the potential on the respective correction weight 112. If provided, the exemplary communication channel may be a parallel bus.
図26〜図32には、修正重み112のアナログ実施形態が示されている。各アナログ修正重み112はメモリ要素150によって規定される。メモリ要素150は、特定の修正重みのそれぞれの重み値を保持し、メモリ要素150を通って流れる、(入力から出力への)順方向信号
上述のことと一貫して、アナログpネット100A内の各電気デバイス160は、pネットのトレーニングの後にそれぞれの修正重み112の変更された値に対応する電気特性および/または磁気特性を再記憶するように構成され得る。重み修正計算器122は、所望の出力信号124の値からのニューロン和120の決定された逸脱128を表す1つ以上の修正信号を生成するように構成され得る。さらに、生成された修正信号の各々は、少なくとも1つの電気デバイス160の電気特性および/または磁気特性を変更するために用いられ得る。すなわち、変更されるデバイスごとに別個の修正信号が用いられる。重み修正計算器122はまた、各電気デバイス160の電気特性および/または磁気特性を変更するために用いられる単一の修正信号を生成するように構成され得る。すなわち、変更される全ての電気デバイスのために1つの修正信号が用いられ得る。 Consistent with the above, each electrical device 160 in the analog p-net 100A restores the electrical and / or magnetic properties corresponding to the modified value of the respective correction weight 112 after p-net training. Can be configured as follows. The weight correction calculator 122 may be configured to generate one or more correction signals that represent the determined deviation 128 of the neuron sum 120 from the value of the desired output signal 124. Additionally, each of the generated correction signals may be used to alter the electrical and / or magnetic properties of the at least one electrical device 160. That is, a separate correction signal is used for each device to be changed. Weight correction calculator 122 may also be configured to generate a single correction signal that is used to change the electrical and / or magnetic properties of each electrical device 160. That is, one correction signal may be used for all electrical devices to be changed.
重み修正計算器122の特定の実施形態は、プログラムされたソフトウェアとしてpネット100A内に組み込まれるか、あるいは外部デバイスまたはアクセス可能なコンピュータプログラムを介して確立され得る。例えば、重み修正計算器122は差動増幅器174のセットとして確立され得る。本開示全体と一貫して、各々のこのような差動増幅器174は、所望の出力信号124の値からのニューロン和120の決定された逸脱128を表すそれぞれの修正信号を生成するように構成され得る。各電気デバイス160は、pネット100Aのトレーニングが完了された後にそれぞれの修正重み112の変更された値に対応する電気特性および/または磁気特性を維持するように構成され得る。pネット100Aはまた、pネットの動作の間に、すなわち、トレーニングが完了された後に、維持された電気特性および/または磁気特性を用いるように構成され得る。pネット100Aのこのような構造は、修正重み112の並列またはバッチトレーニングを容易にし、これにより、上述された古典的なニューラルネットワークと比べて、pネットをトレーニングするために必要とされる時間量の大幅な低減を可能にする。 The particular embodiment of the weight correction calculator 122 may be incorporated into the p-net 100A as programmed software or be established via an external device or accessible computer program. For example, weight correction calculator 122 may be established as a set of differential amplifiers 174. Consistent with the entire disclosure, each such differential amplifier 174 is configured to generate a respective correction signal that represents the determined deviation 128 of the neuron sum 120 from the value of the desired output signal 124. obtain. Each electrical device 160 may be configured to maintain electrical and / or magnetic characteristics corresponding to the modified values of the respective correction weights 112 after training of the p-net 100A is completed. The p-net 100A may also be configured to use the maintained electrical and / or magnetic properties during operation of the p-net, ie, after training has been completed. Such a structure of p-net 100A facilitates parallel or batch training of correction weights 112, thereby the amount of time required to train p-net as compared to the classical neural network described above. Enable a significant reduction of
pネット100A内の各分配器114は、単一の入力信号104を取り込み、単一の入力に接続された、複数のデータ出力線のうちの1つ以上を選択する、アナログデバイス、デジタルデバイス、またはアナログ−デジタルデバイスのいずれか、すなわち、デマルチプレクサ176として構成され得る。このようなデマルチプレクサ176は、受信された入力信号104に応じて複数の修正重みから1つ以上の修正重み112を選択するように構成され得る。各分配器114は、受信された入力信号104を2進符号に変換し、2進符号に相関して複数の修正重みから1つ以上の修正重み112を選択するように構成され得る。 Each distributor 114 in p-net 100A takes a single input signal 104 and selects one or more of a plurality of data output lines connected to a single input, an analog device, a digital device, Or, it can be configured as either an analog-to-digital device, ie as a demultiplexer 176. Such demultiplexer 176 may be configured to select one or more of the correction weights 112 from the plurality of correction weights in response to the received input signal 104. Each distributor 114 may be configured to convert the received input signal 104 into a binary code and to correlate to the binary code to select one or more correction weights 112 from the plurality of correction weights.
図33は、ユーティリティニューラルネットワーク100B(図25に示される)を動作させる方法300を示す。方法300は、図2〜図22および図24〜32に関する上述の開示に従って動作する。方法300はフレーム302において開始する。フレーム302において、本方法は、ユーティリティニューラルネットワーク100Bを準備することを含む。フレーム302に続き、本方法はフレーム304へ進む。フレーム304において、本方法は、ユーティリティニューラルネットワーク100Bを介して、pネット100Aなどの、別個の類似ニューラルネットワークによってそのトレーニングの間に確立された修正重み112の変更された値を用いてデータを処理することを含む。類似pネット100Aのトレーニングは、図24を参照して上述されたように、補足トレーニングを含み得る。 FIG. 33 illustrates a method 300 of operating a utility neural network 100B (shown in FIG. 25). Method 300 operates in accordance with the above-described disclosure of FIGS. 2-22 and 24-32. Method 300 begins at frame 302. At frame 302, the method includes providing a utility neural network 100B. Following frame 302, the method proceeds to frame 304. At frame 304, the method processes the data via the utility neural network 100B with the modified values of the correction weights 112 established during its training by a separate similar neural network, such as p-net 100A. To do. The training of the similar p-net 100A may include supplemental training, as described above with reference to FIG.
ユーティリティニューラルネットワーク100Bおよびトレーニングされた別個のpネット100Aは、例えば、図25に表されるように、整合ニューラルネットワーク構造を有することによって、類似のものにすることができ、これにより、ユーティリティニューラルネットワーク100Bは、重み修正計算器122、およびユーティリティニューラルネットワークをトレーニングする対応する能力を排除し得る。したがって、整合ニューラルネットワーク構造は、同一の数の入力102、修正重み112、分配器114、ニューロン116、ニューロン出力117、およびシナプス118を含み得る。換言すれば、pネット100Aおよびユーティリティニューラルネットワーク100Bは、ネットワークの動作パラメータを確立する全ての特徴に関して実質的に同一であり得る。最も大きな機能的相違は、pネット100Aが、変更された修正重み112を確立することによって、トレーニングされることが可能である点である。類似pネット100Aおよびユーティリティニューラルネットワーク100Bの各々は、異なる構成、例えば、ハードウェアおよび/またはソフトウェアの様々な形態、ならびにアナログおよび/またはデジタルフォーマットで実装することができ、これにより、ユーティリティニューラルネットワークおよび類似pネットが異種の担体によって表されることが可能になる。このような場合には、変更された修正重み112を有するデータを変換または解釈するための翻訳機構(図示せず)が利用されてもよい。 The utility neural network 100B and the trained separate p-net 100A can be made similar, for example by having a matching neural network structure, as represented in FIG. 25, whereby the utility neural network 100B may eliminate weight correction calculator 122 and the corresponding ability to train a utility neural network. Thus, the matching neural network structure may include the same number of inputs 102, correction weights 112, distributors 114, neurons 116, neuron outputs 117, and synapses 118. In other words, p-net 100A and utility neural network 100B may be substantially identical for all the features that establish the operating parameters of the network. The largest functional difference is that p-net 100A can be trained by establishing modified correction weights 112. Each of the analog p-net 100A and the utility neural network 100B can be implemented in different configurations, for example, various forms of hardware and / or software, and analog and / or digital formats, such that the utility neural network and Similar p-nets can be represented by heterogeneous carriers. In such cases, a translation mechanism (not shown) may be utilized to transform or interpret the data having the modified correction weights 112.
ユーティリティニューラルネットワーク100Bおよびトレーニングされた別個のpネット100Aの各々において、各修正重み112はメモリ要素150によって確立され得る。具体的には、pネット100Aにおいて、メモリ要素150は、pネットのトレーニングの後に修正重み112に対応するそれぞれの変更された重み値を保持し得る。ユーティリティニューラルネットワーク100Bに提供される各入力画像106は、図2に関する説明と同じく、I1、I2…Imによって表される複合された入力信号104によって表され得る。図2に関して追加的に説明されたように、各入力信号I1、I2…Imは、対応する入力画像106の何らかの特性の値を表す。 Each correction weight 112 may be established by the memory element 150 in each of the utility neural network 100B and the trained separate p-net 100A. Specifically, in p-net 100A, memory element 150 may hold respective modified weight values corresponding to modification weights 112 after p-net training. Each input image 106 provided to the utility neural network 100B may be represented by a combined input signal 104 represented by I 1 , I 2 ... I m , as described with respect to FIG. As described additionally with respect to FIG. 2, each input signal I 1 , I 2 ... I m represents the value of some characteristic of the corresponding input image 106.
フレーム304から、本方法はフレーム306へ進む。フレーム306において、本方法は、図25に関して説明されたように、変更された修正重み112を用いて動作出力信号152を確立することを含む。したがって、ユーティリティニューラルネットワーク100Bを介した入力画像106などの入力データの処理は、このようなデータの認識をもって、ユーティリティニューラルネットワークの動作出力信号152として締めくくられ得る。ユーティリティニューラルネットワーク100Bの動作出力信号152は、次に、本方法を完了するためのフレーム308の一部として、ユーティリティネットワーク自体、またはユーティリティネットワークのオペレータのいずれかによって、解釈または復号され得る。pネット100Aにおける変更された修正重み112の確立は、図23に関して説明されたように、pネット100をトレーニングする方法200に従って達成され得る。 From frame 304, the method proceeds to frame 306. At frame 306, the method includes establishing the motion output signal 152 with the modified correction weights 112 as described with respect to FIG. Thus, processing of input data, such as input image 106 via utility neural network 100B, may be concluded as an operation output signal 152 of the utility neural network with such data recognition. The operation output signal 152 of the utility neural network 100B may then be interpreted or decoded either by the utility network itself or by an operator of the utility network as part of a frame 308 to complete the method. The establishment of the modified correction weights 112 in the p-net 100A may be accomplished according to the method 200 of training the p-net 100, as described with respect to FIG.
図34および図35は、後述されることになる特定の要素を有すること以外、上述されたpネット100とあらゆる点で同様である、pネット100Bと標識されたpネット100の一実施形態を示す。さらに、図34および図35に示されるpネット100Bは、配列構造を用いて動作する、すなわち、選択された画像を用いて、他の画像のその後の認識のためにトレーニングされるように構成されている。用語「画像」は、本明細書において使用されるとき、処理のために受信されるか、またはニューラルネットワークによって生成される任意の種類の情報またはデータを示すことが意図される。図36において、トレーニングされたpネット100Bは符号100Cを介して指定される。pネット100Bがトレーニングされているときには、入力画像106はトレーニング画像として定義され、その一方で、トレーニングされたpネット100Cにおいては、入力画像106は、認識を受けることが意図される。トレーニング画像106は、複数の入力102によってトレーニング入力値配列107として受信されるか、またはpネット100Bのトレーニングの間に、すなわち、複数の入力によって受信された後に、トレーニング入力値配列107として体系化されるかのいずれかである。 34 and 35 illustrate an embodiment of p-net 100 labeled p-net 100 B, which is similar in all respects to p-net 100 described above, except having particular elements to be described later. Show. Furthermore, the p-net 100B shown in FIGS. 34 and 35 operates with the alignment structure, ie is configured to be trained for subsequent recognition of other images using the selected image ing. The term "image" as used herein is intended to indicate any kind of information or data received for processing or generated by a neural network. In FIG. 36, the trained p-net 100B is designated via a symbol 100C. When p-net 100B is being trained, input image 106 is defined as a training image, while in trained p-net 100C, input image 106 is intended to be recognized. The training image 106 is received as a training input value array 107 by a plurality of inputs 102, or is organized as a training input value array 107 during training of the p-net 100B, ie after being received by a plurality of inputs. Either.
他の実施形態と同様に、図34〜図36に示されるpネット100Bおよびpネット100Cの各々はまた、シナプス118を含み、各シナプス118は複数の入力102のうちの1つに接続されており、複数の修正重み112を含み、また、シナプス重み108を含み得る。全てのシナプス118の修正重み112は、修正重み配列119Aとして、すなわち、修正重み配列119Aの形式で編成される。したがって、図34〜図36において、修正重み配列119Aは破線の枠119A内の全ての修正重み112を含む。pネット100Bはまた、分配器114のセットを含み得る。このような実施形態では、各分配器114は、それぞれの入力信号104を受信するための複数の入力102のうちの1つに動作可能に接続されている。修正重み配列119Aを含むpネット100Bの実施形態はまた、ニューロンユニットの構成要素のうちのいくつかを保持しつつも、異なるニューロンユニット119が存在しないことによって特徴付けられ得る。 Similar to the other embodiments, each of p-net 100B and p-net 100C shown in FIGS. 34-36 also includes synapses 118, each synapse 118 being connected to one of a plurality of inputs 102. And may include multiple correction weights 112 and may also include synaptic weights 108. The correction weights 112 for all synapses 118 are organized as a correction weight array 119A, ie, in the form of a correction weight array 119A. Thus, in FIGS. 34-36, the correction weight array 119A includes all the correction weights 112 within the dashed box 119A. p-net 100 B may also include a set of distributors 114. In such an embodiment, each splitter 114 is operatively connected to one of a plurality of inputs 102 for receiving a respective input signal 104. The embodiment of p-net 100B, including modified weight array 119A, may also be characterized by the absence of different neuron units 119 while retaining some of the components of the neuron units.
上述されたpネット100およびpネット100Aと類似して、pネット100Bは、さらに、ニューロン116のセットを含み、以下において詳細に説明されるアクションを実行するための手段となる。各ニューロン116はまた、少なくとも1つの出力117を有し、1つのシナプス118を介して複数の入力102のうちの少なくとも1つと接続されている。各ニューロン116は、同様に、それぞれのニューロン116に接続された各シナプス118から選択された修正重み112の値を合計し、これにより、Σnとして別記されるニューロン和配列120Aを生成して出力するように構成されている。本実施形態では、図34〜図36に示されるように、所与の入力102のシナプス118ごとに別個の分配器114が同様に用いられてもよい。代替的に、全てのこのようなシナプスのために単一の分配器が用いられてもよい(図示されていない)。pネット100Bの形成またはセットアップの間に、全ての修正重み112は、図35に示されるように、pネットトレーニングのプロセスの間に変化し得る、初期値を割り当てられる。修正重み112の初期値は、ランダムに選択される、所定の数学関数の助けを借りて算出される、所定のテンプレートから選択されるなどし得る。修正重み112の初期値は修正重み112ごとに同一であるか、または異なり得、また、0であってもよい。 Similar to p-net 100 and p-net 100A described above, p-net 100B further includes a set of neurons 116, providing a means for performing the actions described in detail below. Each neuron 116 also has at least one output 117 and is connected to at least one of the plurality of inputs 102 via one synapse 118. Each neuron 116 similarly sums the values of the correction weights 112 selected from each synapse 118 connected to the respective neuron 116, thereby generating and outputting the neuron sum array 120A separately noted as n n. Is configured as. In this embodiment, as shown in FIGS. 34-36, separate distributors 114 may be used for each synapse 118 of a given input 102 as well. Alternatively, a single splitter may be used for all such synapses (not shown). During formation or setup of the p-net 100B, all the correction weights 112 are assigned initial values that may change during the process of p-net training, as shown in FIG. The initial value of the correction weights 112 may be randomly selected, calculated with the aid of a predetermined mathematical function, selected from a predetermined template, and so on. The initial value of the correction weights 112 may be the same or different for each correction weight 112 and may be zero.
図34および図35に示されるように、pネット100Bはまた、pネット100Bのトレーニングを統制するように構成されたコントローラ122Aを含み、それゆえ、以下において詳細に説明されるアクションを実行するための手段となる。コントローラ122Aは、他の実施形態に関して上述された重み修正計算器122を含み得る。以下において詳細に説明されるタスクを適切に遂行するために、コントローラ122Aはメモリを含む。メモリの少なくとも一部は有形且つ非一時的なものである。コントローラ122Aのメモリは、コンピュータ可読データまたは処理命令を提供することに関与する記録可能媒体であり得る。このような媒体は、限定するものではないが、不揮発性媒体および揮発性媒体を含む、多くの形態を取り得る。コントローラ122Aのための不揮発性媒体としては、例えば、光もしくは磁気ディスクおよびその他の永続メモリを挙げることができる。揮発性媒体としては、例えば、主メモリを構成し得る、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)を挙げることができる。このような命令は、コンピュータのプロセッサに結合されたシステムバスを含む電線を含む、同軸ケーブル、銅線および光ファイバを含む、1つ以上の伝送媒体によって伝送され得る。 As shown in FIGS. 34 and 35, p-net 100B also includes a controller 122A configured to direct the training of p-net 100B, and therefore to perform the actions described in detail below. It becomes a means of The controller 122A may include the weight correction calculator 122 described above for the other embodiments. The controller 122A includes memory to properly perform the tasks described in detail below. At least a portion of the memory is tangible and non-transitory. The memory of controller 122A may be a recordable medium involved in providing computer readable data or processing instructions. Such media may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media for 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 the main memory. Such instructions may be transmitted by one or more transmission media including coaxial cables, copper wire and fiber optics, including electrical wires including a system bus coupled to the processor of the computer.
コントローラ122Aのメモリはまた、適切な媒体、例えば、磁気または光媒体を含み得る。コントローラ122Aは、高速クロック、必須のアナログ−デジタル(A/D)および/またはデジタル−アナログ(D/A)回路機構、必要な入力/出力回路機構およびデバイス(I/O)、ならびに適切な信号調節および/またはバッファ回路機構などの、他の必要とされるコンピュータハードウェアを用いて構成されるか、またはこれを備え得る。コントローラ122Aによって必要とされる、またはコントローラ122Aによってアクセス可能なアルゴリズムはメモリ内に記憶され、以下において詳細に説明される必要な機能性を提供するために自動的に実行されてもよい。 The memory of controller 122A may also include suitable media, such as magnetic or optical media. The controller 122A may include a high speed clock, required analog-to-digital (A / D) and / or digital-to-analog (D / A) circuitry, necessary input / output circuitry and devices (I / O), and appropriate signals. It may be configured or equipped with other required computer hardware, such as adjustment and / or buffer circuitry. The algorithms required by controller 122A or accessible by controller 122A may be stored in memory and automatically implemented to provide the necessary functionality described in detail below.
コントローラ122Aは、修正重み112を修正重み配列119Aに編成するようにプログラムされ得る。コントローラ122Aはまた、所望の出力値配列126Aとして編成された所望の画像または出力信号124を受信するように構成されている。コントローラ122Aは、さらに、所望の出力値配列からのニューロン和配列120Aの逸脱128を決定し、逸脱配列132を生成するように構成されている。コントローラ122Aは、さらに、決定された逸脱配列132を用いて修正重み配列119Aを変更するように構成されている。このような場合には、変更された修正重み値を合算し、ニューロン和配列120Aを決定することは、所望の出力値配列126Aからのニューロン和配列120Aの逸脱128を低減し、すなわち、最小化し、トレーニングされた修正重み配列134A(図36に示される)を生成する。図34および図35に示される修正重み配列119Aと類似して、トレーニングされた修正重み配列134Aは破線の枠134A内の全ての修正重み112を含む。また、図36に示されるように、および図34および図35における修正重み配列119Aと類似して、トレーニングされた修正重み配列134Aは破線の枠119A内の全てのトレーニングされた修正重み112Aを含み、これらと関連付けられた分配器114を含み得る。したがって、ニューロン和配列120Aの最小化された逸脱128は、pネット100Bによって生成された誤差を補償する。さらに、生成されたトレーニングされた修正重み配列134Aはpネット100Bの同時または並列トレーニングを容易にする。 Controller 122A may be programmed to organize correction weights 112 into correction weight array 119A. The controller 122A is also configured to receive a desired image or output signal 124 organized as a desired output value array 126A. The controller 122A is further configured to determine a deviation 128 of the neuron sum array 120A from the desired output value array and generate a deviation array 132. The controller 122A is further configured to change the correction weight array 119A using the determined deviation array 132. In such a case, summing the modified correction weight values to determine neuron sum array 120A reduces, ie, minimizes, the deviation 128 of neuron sum array 120A from the desired output value array 126A. , Generate a trained correction weight array 134A (shown in FIG. 36). Similar to the correction weight array 119A shown in FIGS. 34 and 35, the trained correction weight array 134A includes all the correction weights 112 in the dashed box 134A. Also, as shown in FIG. 36 and similar to the correction weight array 119A in FIGS. 34 and 35, the trained correction weight array 134A includes all the trained correction weights 112A in the dashed box 119A. , A distributor 114 associated with them. Thus, the minimized deviation 128 of the neuron sum array 120A compensates for the error generated by the p-net 100B. In addition, the generated trained correction weight array 134A facilitates simultaneous or parallel training of the p-net 100B.
図35に示される、トレーニングされたpネット100Cにおいて、pネットへの複数の入力102は、入力画像106を受信するように構成され得る。このような入力画像106は、入力値配列107Aとして受信されるか、またはpネット100Bによって画像の認識の間に入力値配列107Aとして体系化されるかのいずれかであり得る。各シナプス118は、複数のトレーニングされた修正重み112Aを含み得る。加えて、各ニューロン116は、それぞれのニューロンに接続された各シナプス118に対応するトレーニングされた修正重み112Aの重み値を合算するように構成されていてもよく、これにより、複数のニューロンは、認識された画像配列136を生成し、これにより、入力画像106の認識をもたらす。分配器114のセットを含むpネット100Bおよびトレーニングされたpネット100Cの実施形態では、分配器は、トレーニング画像および入力画像106をそれぞれのトレーニング入力値配列107および入力値配列107Aとして体系化するように構成され得る。したがって、分配器114のこのようなセットは、それぞれのトレーニング画像および入力画像106の各々を受信するための複数の入力102に動作可能に接続されている。上述の動作は、以下において詳細に説明されるように、トレーニングされた修正重み配列134Aの代わりに、構造化行列、具体的には、トレーニングされた修正重み行列を用いて遂行され得る。 In trained p-net 100C, shown in FIG. 35, multiple inputs 102 to the p-net may be configured to receive input image 106. Such an input image 106 may either be received as an input value array 107A or may be organized as an input value array 107A during image recognition by p-net 100B. Each synapse 118 may include a plurality of trained correction weights 112A. In addition, each neuron 116 may be configured to sum the weight values of the trained correction weights 112A corresponding to each synapse 118 connected to the respective neuron, whereby the plurality of neurons is A recognized image array 136 is generated, which results in the recognition of the input image 106. In the embodiment of p-net 100B and trained p-net 100C including a set of distributors 114, the distributors organize the training and input images 106 as respective training input value arrays 107 and input value arrays 107A. Can be configured. Thus, such a set of distributors 114 is operatively connected to a plurality of inputs 102 for receiving each of the respective training and input images 106. The above-described operations may be performed using a structured matrix, specifically, a trained modified weight matrix, instead of the trained modified weight array 134A, as described in detail below.
コントローラ122Aは、さらに、所望の出力値配列126Aからのニューロン和配列120Aの目標逸脱の配列または目標逸脱配列138を用いてプログラムされ得る。さらに、コントローラ122Aは、所望の出力値配列126Aからのニューロン和配列120Aの逸脱128が目標逸脱配列138の許容範囲139内に入ると、pネット100Bのトレーニングを完了するように構成され得る。許容範囲139は、目標逸脱配列138内の最大値もしくは最小値、または目標逸脱配列138の平均値と照合されてもよい。代替的に、コントローラ122Aは、逸脱128の低減あるいはトレーニング入力値配列107および所望の出力値配列126Aの収束の速度が所定の速度値140へ落ちると、pネット100Bのトレーニングを完了するように構成され得る。許容範囲139および/または所定の速度値140はコントローラ122A内にプログラムされてもよい。 The controller 122A can be further programmed with the target deviation array or target deviation array 138 of the neuron sum array 120A from the desired output value array 126A. Further, controller 122A may be configured to complete training of p-net 100B when deviation 128 of neuron sum array 120A from desired output value array 126A falls within tolerance 139 of target deviation array 138. The tolerance range 139 may be checked against the maximum value or the minimum value in the target deviation array 138, or the average value of the target deviation array 138. Alternatively, the controller 122A is configured to complete training of the p-net 100B when the reduction of the deviation 128 or the speed of convergence of the training input value array 107 and the desired output value array 126A falls to the predetermined speed value 140. It can be done. Acceptable range 139 and / or predetermined velocity value 140 may be programmed into controller 122A.
トレーニング入力値配列107、入力値配列107A、修正重み配列119A、ニューロン和配列120A、所望の出力値配列126A、逸脱配列132、トレーニングされた修正重み配列134A、認識された画像配列136、および目標逸脱配列138、すなわち、これらの内部のパラメータ値は、それぞれ、トレーニング入力値行列141、入力値行列141A、修正重み行列142、ニューロン和行列143、所望の出力値行列144、逸脱行列145、トレーニングされた修正重み行列146、認識された画像行列147、および目標逸脱行列148として編成され得る。この場合、各々のそれぞれの配列107、107A、119、120、126、132、134、136、および138において、それぞれのパラメータの値は、例えば、プロセッサがアクセス可能なデータテーブルの形式で編成されてもよく、それぞれの行列141、141A、142、143、144、145、146、147、および148内の値は、特に、代数行列演算を各々のそれぞれの行列に個々に適用すること、およびこれらの組み合わせに適用することを可能にするように編成される。行列141、141A、142、143、144、145、146、147、および148は図に具体的に示されていないが、そのように編成されるときには、それぞれの配列107、107A、119、120、126、132、134、136、および138に取って代わると理解されるべきである。 Training input value array 107, input value array 107A, correction weight array 119A, neuron sum array 120A, desired output value array 126A, deviation array 132, trained correction weight array 134A, recognized image array 136, and target deviation The array 138, ie, the parameter values therein, are trained in the training input value matrix 141, the input value matrix 141A, the correction weight matrix 142, the neuron sum matrix 143, the desired output value matrix 144, the deviation matrix 145, respectively. It may be organized as a modified weight matrix 146, a recognized image matrix 147, and a target deviation matrix 148. In this case, in each respective array 107, 107A, 119, 120, 126, 132, 134, 136 and 138, the values of the respective parameters are organized, for example, in the form of a data table accessible to the processor The values in each of the matrices 141, 141A, 142, 143, 144, 145, 146, 147, and 148 may in particular apply algebraic matrix operations individually to each respective matrix, and Organized to allow application to combinations. Matrices 141, 141A, 142, 143, 144, 145, 146, 147, and 148 are not specifically shown in the figure, but when so organized, the respective arrays 107, 107A, 119, 120, It should be understood to replace 126, 132, 134, 136 and 138.
以下の例では、例示目的のために、任意数の列および行を有する特定の行列が示される。例えば、トレーニング画像は入力トレーニング行列|I|の形で受信され、および/または編成され得る。 In the following example, a specific matrix with any number of columns and rows is shown for illustrative purposes. For example, training images may be received and / or organized in the form of an input training matrix | I |.
その後、上記のトレーニング入力画像行列は、コントローラ122Aを介して、行列|C|と表される、トレーニング入力値行列141へ変換され得る。各行列|C|は、入力「I」の数に対する、ただし、特定の数の間隔「i」を考慮した、対応する数の列、および画像の数に対する対応する数の行を有することになる。 The training input image matrix described above may then be converted to a training input value matrix 141, represented as matrix | C |, via controller 122A. Each matrix | C | will have a corresponding number of columns for the number of inputs “I”, but taking into account a certain number of intervals “i”, and a corresponding number of rows for the number of images. .
行列|C|内において、トレーニングの間に用いられることになる特定の修正重み112を用いて識別される間隔「i」。間隔「i」に対応する列内において、信号の値は、特定の信号が特定の間隔において用いられることになることを示すために、1(1)と置換されてもよく、その一方で、問題の信号のための他の間隔においては、特定の間隔が考慮されないことになることを示すために、信号の値は0(0)と置換されてもよい。 In the matrix | C |, intervals “i” identified with the specific correction weights 112 to be used during training. Within the column corresponding to interval "i", the value of the signal may be replaced with 1 (1) to indicate that a particular signal is to be used at a particular interval, while At other intervals for the signal in question, the value of the signal may be replaced with 0 (0) to indicate that a particular interval will not be considered.
例示的な修正重み行列146は、以下に示される行列|W|として形成され得る。 An exemplary modified weighting matrix 146 may be formed as the matrix | W | shown below.
ニューロン和行列143は、以下に示される行列|Σ|として表され得る。
所望の出力値行列144は、以下に示されるように、行列|O|として形成され得る。 The desired output value matrix 144 may be formed as matrix | O |, as shown below.
ニューロン和行列143の逸脱128は、所望の出力値行列144から決定することができ、以下の行列|E|として表される逸脱行列148を生成する。
以下において行列|W|として表される修正重み行列142は、決定された逸脱行列145を用いて変更され得る。これは、変更された修正重み112の値を合算し、ニューロン和行列143を決定し、所望の出力値行列144からのニューロン和行列143の逸脱を最小化し、行列|Wtrained|として表されるトレーニングされた修正重み行列146を生成することを可能にする。行列|Wtrained|は、式|Wtrained|=|W|+|∇W|に従って導かれる(ここで、因子|∇W|は以下において詳細に説明されることになる)。 The modified weighting matrix 142, which will be represented as matrix | W | in the following, may be modified using the determined deviation matrix 145. This sums the values of the modified correction weights 112, determines the neuron sum matrix 143, minimizes the deviation of the neuron sum matrix 143 from the desired output value matrix 144, and is represented as the matrix | W trained | It is possible to generate a trained correction weight matrix 146. The matrix | W trained | is derived according to the equation | W trained | = | W | + | ∇W | (where the factor | ∇W | will be described in detail below).
上述されたように、トレーニングされた修正重み配列134Aおよびトレーニングされた修正重み行列146の形成はpネット100Bの同時トレーニングを容易にする。 As discussed above, the formation of the trained correction weight array 134A and the trained correction weight matrix 146 facilitates simultaneous training of the p-net 100B.
トレーニングされたpネット100Cを用いる画像認識の実施形態(図36に示される)において、入力画像106のバッチの同時認識は、上述された行列演算を用いてもたらされ得る。具体的には、トレーニングされたpネット100C、2次元n x k行列|W|として表され得る、修正重み配列。ここで、「n」はニューロン116の数であり、「k」は特定のニューロン内の修正重み112の数である。行列|W|は以下のように一般的に表され得る。 In the image recognition embodiment (shown in FIG. 36) using the trained p-net 100C, simultaneous recognition of batches of the input image 106 may be effected using the matrix operations described above. Specifically, a modified p-net 100C, a modified weight array that may be represented as a two-dimensional n x k matrix | W |. Here, “n” is the number of neurons 116 and “k” is the number of correction weights 112 in a particular neuron. The matrix | W | can be expressed generally as:
入力画像106のバッチの同時認識のために、認識されるべき入力画像はv x k行列|Ir|として提示され得る。ここで、「v」は認識可能な画像の数であり、「k」は特定のニューロン116内の修正重み112の数である。認識のための入力画像106の行列|Ir|は以下のように一般的に表され得る。 For simultaneous recognition of batches of input image 106, the input image to be recognized may be presented as v x k matrix | Ir |. Here, “v” is the number of recognizable images and “k” is the number of correction weights 112 in a particular neuron 116. The matrix | Ir | of the input image 106 for recognition may be generally represented as:
上記の行列|Ir|において、行列の各行は、認識を受ける単一の画像である。 In the above matrix | Ir |, each row of the matrix is a single image to be recognized.
入力画像106のバッチの同時認識は、行列|W|に転置行列|I|Tを乗算し、記号「|Y|」によって表され、以下のように表される、認識された画像行列147を生成することによってもたらされ得る。
|Y|=|W|×|Ir|T
行列|Y|は寸法n x vを有する。行列|Y|の各列は、トレーニングされたpネット100Cによって得られた単一の出力または認識された画像である。行列|Y|は以下のように一般的に示され得る。
The simultaneous recognition of a batch of input images 106 multiplies the matrix | W | by the transposed matrix | I | T and is represented by the symbol “| Y |” and is represented by: It can be brought about by generating.
| Y | = | W | × | Ir | T
The matrix | Y | has dimensions n x v. Each column of the matrix | Y | is a single output or recognized image obtained by the trained p-net 100C. The matrix | Y | can be generally indicated as follows.
pネット100Bおよび100Cの各々は、さらに、コントローラ122Aのサブユニットであり得る、データプロセッサ150を含み得る。このような実施形態では、コントローラ122Aは、さらに、それぞれのトレーニング入力値行列141、入力値行列141A、修正重み行列142、ニューロン和行列143、および所望の出力値行列144のうちの少なくとも1つをそれぞれの部分行列に区分する、または切り分けるように構成され得る。コントローラ122Aはまた、複数の得られた部分行列または部分行列群をデータプロセッサ150へ、これを用いた別個の数学演算のために伝達するように構成され得る。問題の行列141、142、143、および144のうちの任意のものの、それぞれの部分行列へのこのような区分は、同時または並列データ処理、ならびに入力値行列141Aの画像認識またはpネット100Bのトレーニングのいずれかの速度の増大を容易にする。このような同時または並列データ処理はまた、pネット100Bまたは100Cのスケーラビリティを可能にする。すなわち、特定のプロセッサ上で代数操作を受けるそれぞれの行列のサイズを制限し、および/または図示のプロセッサ150などの、複数のプロセッサの間で行列を分割することによって、pネットのサイズを変更する能力をもたらす。図34〜図36に示されるように、pネット100Bおよび100Cのこのような実施形態では、コントローラ122Aと通信する複数のデータプロセッサ150が、コントローラ122Aの一部としてであるのか、それとも末端に配置されているのかにかかわらず、利用され、別個に、および並列に動作するように構成されていてもよい。 Each of p-nets 100B and 100C may further include data processor 150, which may be a subunit of controller 122A. In such an embodiment, controller 122A further includes at least one of respective training input value matrix 141, input value matrix 141A, modified weight matrix 142, neuron sum matrix 143, and desired output value matrix 144. It may be configured to partition or divide into each submatrix. The controller 122A may also be configured to communicate the plurality of obtained submatrices or submatrices to the data processor 150 for separate mathematical operations with it. Such partitioning of each of the problem matrices 141, 142, 143, and 144 into respective submatrices is simultaneous or parallel data processing, as well as image recognition of the input value matrix 141A or training of the p-net 100B. To facilitate any increase in speed. Such simultaneous or parallel data processing also enables the scalability of p-net 100B or 100C. That is, by changing the size of the p-net by limiting the size of each matrix undergoing algebraic operations on a particular processor and / or splitting the matrix among multiple processors, such as the illustrated processor 150 Bring the ability. As shown in FIGS. 34-36, in such an embodiment of p-nets 100B and 100C, multiple data processors 150 in communication with controller 122A may be part of controller 122A or may be deployed at the end. Regardless of whether they are, they may be configured to be utilized, operate separately and in parallel.
コントローラ122Aは、トレーニング入力値行列141Aおよび修正重み行列に代数行列演算を適用することによって修正重み行列142を変更し、これにより、pネット100Bをトレーニングし得る。このような数学行列演算は、入力値行列141Aと修正重み行列146との数学的積を決定し、これにより、現在のトレーニングエポックの重み行列151を形成することを含み得る。コントローラ122Aはまた、ニューロン和行列143を所望の出力値行列144から減算し、上述された行列|E|として示されるニューロン和の逸脱の行列153を生成するように構成され得る。加えて、コントローラ122Aは、ニューロン和の逸脱の行列153を、それぞれのニューロン116に接続された、以下において文字「m」を用いて識別される、シナプス118の数で除算し、次式のように、以下において記号「|ΔW|」によって表される、ニューロン入力ごとの逸脱の行列155を生成するように構成され得る。
|ΔW|=|E|/m
The controller 122A may modify the modified weighting matrix 142 by applying algebraic matrix operations to the training input value matrix 141A and the modified weighting matrix to train the p-net 100B. Such mathematical matrix operations may include determining the mathematical product of the input value matrix 141A and the modified weight matrix 146, thereby forming the weight matrix 151 of the current training epoch. The controller 122A may also be configured to subtract the neuron sum matrix 143 from the desired output value matrix 144 to generate a matrix 153 of neuron sum deviations shown as the matrix | E | described above. In addition, the controller 122 A divides the neuron sum deviation matrix 153 by the number of synapses 118 connected to each neuron 116, identified below with the letter “m”, such as In addition, it may be configured to generate a matrix 155 of deviations for each neuron input, represented by the symbol “| ΔW |” below.
| ΔW | = | E | / m
コントローラ122Aは、さらに、下式において記号「|S|」によって表されるpネット100Bの1つのトレーニングエポックの間に各修正重み112が用いられた回数を決定するように構成され得る。以下に示されるように、行列|S|は、トレーニング入力値行列141Aに単位ベクトルを乗算することを通して得られる。
|∇W|=|ΔW|/|S|
さらに、コントローラ122Aは、1つのトレーニングエポックについての平均逸脱行列157を修正重み行列142に加算し、これにより、以下において|Wtrained|として表される、トレーニングされた修正重み行列146を生成し、以下に示されるように1つのトレーニングエポックを完了するように構成され得る。
|Wtrained|=|W|+|∇W|
The controller 122A may be further configured to determine the number of times each correction weight 112 has been used during one training epoch of the p-net 100B, represented by the symbol "| S |" As shown below, the matrix | S | is obtained through multiplying the training input value matrix 141A by a unit vector.
| ∇W | = | ΔW | / | S |
Further, controller 122A adds the mean deviation matrix 157 for one training epoch to the modified weight matrix 142, thereby generating a trained corrected weight matrix 146, denoted in the following as | W trained | It may be configured to complete one training epoch as shown below.
| W trained | = | W | + | ∇W |
図37は、図34〜図36を参照して上述されたとおりの、pネット100Bを動作させるための方法400を示す。方法400は、プロセッサ150などの、1つ以上のデータプロセッサを用いて教師付きトレーニングを実施する際に利用される、コンピュータ、またはコンピュータのシステムなどの、装置の動作を改善するように構成されている。方法400は、pネット100Bを動作させるための、本方法を遂行するために実行可能な命令を符号化された非一時的コンピュータ可読記憶デバイス内にプログラムされてもよい。 FIG. 37 illustrates a method 400 for operating p-net 100B as described above with reference to FIGS. 34-36. Method 400 is configured to improve the operation of a device, such as a computer or computer system, utilized in performing supervised training with one or more data processors, such as processor 150. There is. Method 400 may be programmed in a non-transitory computer readable storage device encoded with instructions executable to perform the method for operating p-net 100B.
方法400はフレーム402において開始する。フレーム402において、本方法は、複数の入力102を介して、トレーニング画像106を受信することを含む。図34および図35に示されるpネット100Bの構造に関して上述されたように、トレーニング画像106は、問題のトレーニング局面の開始前にトレーニング入力値配列107として受信されるか、または実際のトレーニング局面の間にトレーニング入力値配列として体系化されるかのいずれかであり得る。フレーム402に続き、本方法はフレーム404へ進む。フレーム404において、本方法は、複数のシナプス118の修正重み112を修正重み配列119Aに編成することを含む。pネット100Bの構造に関して上述されたように、各シナプス118は複数の入力102のうちの1つに接続されており、複数の修正重み112を含む。 Method 400 begins at frame 402. At frame 402, the method includes receiving a training image 106 via the plurality of inputs 102. As described above with respect to the structure of p-net 100B shown in FIGS. 34 and 35, training image 106 may be received as training input value array 107 prior to the start of the training phase in question, or of the actual training phase. May be either organized as a training input value sequence. Following frame 402, the method proceeds to frame 404. At frame 404, the method includes organizing the correction weights 112 of the plurality of synapses 118 into a correction weight array 119A. Each synapse 118 is connected to one of the plurality of inputs 102 and includes a plurality of correction weights 112, as described above with respect to the structure of p-net 100B.
フレーム404の後に、本方法はフレーム406へ進む。フレーム406において、本方法は、複数のニューロン116を介してニューロン和配列120Aを生成することを含む。pネット100Bの構造に関して上述されたように、各ニューロン116は少なくとも1つの出力117を有し、複数のシナプス118のうちの1つを介して複数の入力102のうちの少なくとも1つと接続されている。さらに、各ニューロン116は、それぞれのニューロンに接続された各シナプス118に対応する修正重み112の重み値を合算するように構成されている。フレーム406に続き、フレーム408において、本方法は、コントローラ122Aを介して、所望の出力値配列126Aとして編成された所望の画像124を受信することを含む。フレーム408の後に、本方法はフレーム410へ進む。フレーム410において、本方法は、コントローラ122Aを介して、所望の出力値配列126Aからのニューロン和配列120Aの逸脱128を決定し、これにより、逸脱配列132を生成することを含む。 After frame 404, the method proceeds to frame 406. At frame 406, the method includes generating a neuron sum sequence 120A via the plurality of neurons 116. Each neuron 116 has at least one output 117 and is connected to at least one of the plurality of inputs 102 via one of the plurality of synapses 118, as described above with respect to the structure of p-net 100B. There is. Furthermore, each neuron 116 is configured to sum the weight values of the correction weights 112 corresponding to each synapse 118 connected to the respective neuron. Following frame 406, at frame 408, the method includes receiving, via controller 122A, the desired image 124 organized as the desired output value array 126A. After frame 408, the method proceeds to frame 410. At frame 410, the method includes, via the controller 122A, determining the deviation 128 of the neuron sum array 120A from the desired output value array 126A, thereby generating the deviation array 132.
フレーム410に続き、本方法はフレーム412へ進む。フレーム412において、本方法は、コントローラ122Aを介して、決定された逸脱配列132を用いて修正重み配列119Aを変更することを含む。変更された修正重み配列119Aの変更された修正重み値は、その後、加算または合計され、次に、新たなニューロン和配列120Aを決定するために用いられ得る。変更された修正重み配列119Aの合計された変更された修正重み値は、次に、所望の出力値配列126Aからのニューロン和配列120Aの逸脱を低減または最小化し、トレーニングされた修正重み配列134Aを生成する役目を果たし得る。逸脱配列132は、pネット100Cの構造に関して上述されたように、所望の出力値配列126Aからのニューロン和配列120Aの逸脱128が目標逸脱の配列138の許容範囲139内に入ると、十分に最小化されたと決定されてもよい。トレーニングされた修正重み配列134Aは、逸脱配列132を用いて決定されたトレーニングされた修正重み112Aを含み、これにより、pネット100Bを訓練する。 Following frame 410, the method proceeds to frame 412. At frame 412, the method includes, via the controller 122A, modifying the correction weight array 119A with the determined deviation array 132. The modified correction weight values of the modified correction weight array 119A may then be summed or summed and then used to determine a new neuron sum array 120A. The summed modified modified weight values of the modified modified weight array 119A then reduce or minimize the deviation of the neuron sum array 120A from the desired output value array 126A, and the trained modified weight array 134A It can serve to generate. Deviation array 132 is sufficiently minimized when deviation 128 of neuron sum array 120A from desired output value array 126A falls within tolerance 139 of target deviation array 138, as described above for the structure of p-net 100C. It may be determined to be The trained correction weight array 134A includes the trained correction weights 112A determined using the deviance array 132, thereby training the p-net 100B.
pネット100Bの構造に関して上述されたように、トレーニング入力値配列107、修正重み配列119A、ニューロン和配列120A、所望の出力値配列126A、逸脱配列132、トレーニングされた修正重み配列134A、および目標逸脱配列138の各々は、それぞれ、トレーニング入力値行列141、修正重み行列142、ニューロン和行列143、所望の出力値行列144、逸脱行列145、トレーニングされた修正重み行列146、および目標逸脱行列148として編成され得る。フレーム412において、本方法は、コントローラ122Aを介して、それぞれのトレーニング入力値行列141、入力値行列141A、修正重み行列142、ニューロン和行列143、および所望の出力値行列144のうちの少なくとも1つをそれぞれの部分行列に区分することをさらに含み得る。このように得られた部分行列は、データプロセッサ150へ、これを用いた別個の数学演算のために伝達され、これにより、同時データ処理、およびpネット100Bのトレーニングの速度の増大を容易にし得る。 As described above with respect to the structure of p-net 100B, training input value array 107, correction weight array 119A, neuron sum array 120A, desired output value array 126A, deviation array 132, trained correction weight array 134A, and target deviation Each of the arrays 138 is organized as a training input value matrix 141, a correction weight matrix 142, a neuron sum matrix 143, a desired output value matrix 144, a deviation matrix 145, a trained correction weight matrix 146, and a target deviation matrix 148, respectively. It can be done. At frame 412, the method causes at least one of the respective training input value matrix 141, input value matrix 141A, modified weight matrix 142, neuron sum matrix 143, and desired output value matrix 144 via controller 122A. It may further include partitioning into each submatrix. The submatrices thus obtained may be conveyed to the data processor 150 for separate mathematical operations with it, which may facilitate simultaneous data processing and an increase in the speed of training of the p-net 100B. .
フレーム412において、本方法はまた、コントローラ122Aを介して、トレーニング入力値行列141および修正重み行列に代数行列演算を適用することによって修正重み行列142を変更し、これにより、pネット100Bをトレーニングすることを含み得る。このような数学行列演算は、トレーニング入力値行列141と修正重み行列142との数学的積を決定し、これにより、現在のトレーニングエポックの重み行列151を形成することを含み得る。フレーム412において、本方法は、さらに、コントローラ122Aを介して、ニューロン和行列143を所望の出力値行列144から減算し、ニューロン和の逸脱の行列153を生成することを含み得る。また、フレーム412において、本方法は、コントローラ122Aを介して、ニューロン和の逸脱の行列153を、それぞれのニューロン116に接続された入力の数で除算し、ニューロン入力ごとの逸脱の行列155を生成することを含み得る。 At frame 412, the method also modifies the modified weighting matrix 142 by applying algebraic matrix operations to the training input value matrix 141 and the modified weighting matrix via the controller 122A, thereby training the p-net 100B. Can be included. Such mathematical matrix operations may include determining the mathematical product of the training input value matrix 141 and the modified weight matrix 142, thereby forming the weight matrix 151 of the current training epoch. At frame 412, the method may further include, via controller 122A, subtracting the neuron sum matrix 143 from the desired output value matrix 144 to generate a matrix 153 of neuron sum deviations. Also, at frame 412, the method divides, via controller 122A, the matrix 153 of neuron sum deviations by the number of inputs connected to each neuron 116 to generate a matrix 155 of deviations for each neuron input May include.
さらに、フレーム412において、本方法は、コントローラ122Aを介して、pネット100Bの1つのトレーニングエポックの間に各修正重み112が用いられた回数を決定することを含み得る。また、本方法は、さらに、コントローラ122Aを介して、特定のトレーニングエポックの間に各修正重み112が用いられた決定された回数を用いて1つのトレーニングエポックについての平均逸脱行列157を形成することを含み得る。例えば、このような演算は、要素ごとに、ニューロン入力ごとの逸脱の行列を、特定のトレーニングエポックの間に各修正重みが用いられた決定された回数で除算し、1つのトレーニングエポックの間に用いられた各修正重み112についての平均逸脱を得、これにより、1つのトレーニングエポックについての平均逸脱行列157を形成することを含み得る。 Further, at frame 412, the method may include determining, via controller 122A, the number of times each correction weight 112 has been used during one training epoch of p-net 100B. Also, the method further comprises, via the controller 122A, forming an average deviation matrix 157 for one training epoch using the determined number of times each correction weight 112 was used during a particular training epoch. May be included. For example, such an operation divides, for each element, the matrix of deviations per neuron input by the determined number of times each correction weight was used during a particular training epoch, and during one training epoch The average deviation for each correction weight 112 used may be obtained, which may include forming an average deviation matrix 157 for one training epoch.
加えて、フレーム412では、例えば、算術平均、幾何平均、調和平均、二乗平均平方根などを用いて1つのトレーニングエポックについての平均逸脱行列157を形成するための、他の行列に基づく演算が利用されてもよい。また、フレーム412において、本方法は、コントローラ122Aを介して、1つのトレーニングエポックについての平均逸脱行列157を修正重み行列142に加算し、これにより、トレーニングされた修正重み行列146を生成し、特定のトレーニングエポックを完了することを含み得る。したがって、行列演算が全ての修正重み112に並列に適用されることを可能にすることによって、方法400は、トレーニングされたpネット100Cを生成する際における、pネット100Bの、同時の、およびその結果、速度の向上した、トレーニングを容易にする。 In addition, in frame 412, other matrix-based operations are used to form mean deviation matrix 157 for one training epoch, eg using arithmetic means, geometric means, harmonic means, root mean square, etc. May be Also, at frame 412, the method adds, via controller 122A, the mean deviation matrix 157 for one training epoch to the modified weight matrix 142, thereby generating a trained corrected weight matrix 146, and identifying May include completing a training epoch. Thus, by allowing matrix operations to be applied in parallel to all the correction weights 112, the method 400 can simultaneously generate p-nets 100B in training, and so on. As a result, speed is improved, facilitating training.
フレーム412に続き、方法400は、逸脱配列132が十分に最小化されるまで、フレーム402へ戻り、追加のトレーニングエポックを遂行することを含み得る。換言すれば、ニューロン和配列120Aを所定の逸脱または誤差値以内まで所望の出力値配列126Aに収束するために、追加のトレーニングエポックを遂行することができ、これにより、pネット100Bが、トレーニングされ、新たな入力画像106を用いた操作の準備ができたと見なされ得るようにする。したがって、フレーム412の後に、本方法は、トレーニングされたpネット100C(図36に示される)を用いた画像認識のために、フレーム414へ進み得る。 Following frame 412, method 400 may include returning to frame 402 and performing additional training epochs until deviation array 132 is sufficiently minimized. In other words, additional training epochs can be performed to converge the neuron sum array 120A to the desired output value array 126A to within a predetermined deviation or error value, whereby the p-net 100B is trained. , Be prepared to be ready for manipulation with the new input image 106. Thus, after frame 412, the method may proceed to frame 414 for image recognition with trained p-net 100C (shown in FIG. 36).
トレーニングされたpネット100Cを用いる画像認識の実施形態では、フレーム414において、方法400は、複数の入力102を介して入力画像106を受信することを含む。pネット100Cの構造に関して上述されたように、入力画像106は、入力値配列107Aとして受信されるか、またはpネット100Cによって画像の認識の間に入力値配列として体系化されるかのいずれかであり得る。フレーム414に続き、フレーム416において、本方法は、トレーニングされた修正重み配列134Aの複数のトレーニングされた修正重み112Aを各シナプス118に帰属させることを含む。フレーム416の後に、本方法はフレーム418へ進む。 In the image recognition embodiment using trained p-net 100 C, at frame 414, method 400 includes receiving input image 106 via multiple inputs 102. As described above with respect to the structure of p-net 100C, either input image 106 is received as input value array 107A or is organized as an input value array during recognition of the image by p-net 100C. It can be. Continuing to frame 414, at frame 416, the method includes assigning the plurality of trained correction weights 112A of the trained correction weight array 134A to each synapse 118. After frame 416, the method proceeds to frame 418.
フレーム418において、本方法は、それぞれのニューロン116に接続された各シナプス118に対応するトレーニングされた修正重み112Aの重み値を合算することを含む。pネット100Bの構造に関して上述されたように、トレーニングされた修正重み112Aの重み値のこのような合計は、複数のニューロン116が、認識された画像配列136を生成することを可能にし、これにより、入力画像106の認識をもたらす。pネット100Cの構造に関して上述されたように、トレーニングのために用いられる行列141、142、143、144、145、146、および148に加えて、入力値配列107Aおよび認識された画像配列136は、それぞれ、入力値行列141Aおよび認識された画像行列147として編成され得る。 At frame 418, the method includes summing the weight values of the trained correction weights 112A corresponding to each synapse 118 connected to the respective neuron 116. Such a summation of the weight values of the trained correction weights 112A allows the plurality of neurons 116 to generate a recognized image array 136, as described above with respect to the structure of p-net 100B. , Provide recognition of the input image 106. In addition to the matrices 141, 142, 143, 144, 145, 146 and 148 used for training, as described above for the structure of p-net 100C, the input value array 107A and the recognized image array 136 are: Each may be organized as an input value matrix 141A and a recognized image matrix 147.
フレーム418において、本方法はまた、コントローラ122Aを介して、入力値行列141Aなどの、用いられる行列のうちの任意のものをそれぞれの部分行列に区分することを含み得る。このように得られた部分行列は、データプロセッサ150へ、これを用いた別個の数学演算のために伝達され、これにより、同時データ処理、およびpネット100Cの画像認識の速度の増大を容易にし得る。行列演算がフレーム202〜212における方法400のトレーニング部分に与える効果と類似して、代数行列演算が、トレーニングされたpネット100Cの行列または部分行列に並列に適用されると、フレーム214〜218における画像認識部分は速度の向上の恩恵を受ける。したがって、行列演算が全てのトレーニングされた修正重み112Aに並列に適用されることを可能にすることによって、方法400は、pネット100Cを用いた、同時の、およびその結果、速度の向上した、画像認識を容易にする。フレーム418に続き、本方法は、達成された画像認識が十分な正確さを欠いていると見なされる場合には、図34〜図36に関して説明されたように、追加のトレーニングのためにフレーム402へ戻ることができ、さもなければ、本方法はフレーム420において終結することができる。 At frame 418, the method may also include partitioning any of the used matrices, such as the input value matrix 141A, into respective submatrices via the controller 122A. The sub-matrices thus obtained are conveyed to the data processor 150 for separate mathematical operations using it, thereby facilitating simultaneous data processing and increased speed of image recognition of the p-net 100C. obtain. Similar to the effect that matrix operations have on the training portion of method 400 in frames 202-212, if algebraic matrix operations are applied in parallel to the matrix or submatrix of trained p-net 100C, then in frames 214-218. The image recognition part benefits from the speed improvement. Thus, by allowing matrix operations to be applied in parallel to all trained correction weights 112A, the method 400 simultaneously and consequently with speed improvement using p-net 100C, Make image recognition easy. Following frame 418, the method proceeds to frame 402 for additional training, as described with respect to FIGS. 34-36, if the image recognition achieved is deemed to lack sufficient accuracy. And the method may end at frame 420.
詳細な説明および図面もしくは図は本開示を支持し、説明するが、本開示の範囲は請求項によってのみ規定される。クレームされている開示を実施するための最良の形態および他の実施形態のうちのいくつかが詳細に説明されたが、添付の請求項において規定される本開示を実践するための様々な代替的な設計および実施形態が存在する。さらに、図面において示される実施形態、または本記載において述べられた様々な実施形態の特徴は、必ずしも互いに独立した実施形態として理解されるべきではない。むしろ、一実施形態の例のうちの1つにおいて説明される特徴の各々は、他の実施形態からの1つまたは複数の他の所望の特徴と組み合わせることができ、言葉で、または図面を参照して説明されない他の実施形態を生み出すことが可能である。したがって、このような他の実施形態は添付の請求項の範囲の枠組み内に含まれる。 The detailed description and drawings or figures support and explain the present disclosure, but the scope of the present disclosure is defined only by the claims. Although some of the best mode and other embodiments for implementing the claimed disclosure have been described in detail, various alternatives for practicing the disclosure as defined in the appended claims Various designs and embodiments exist. Moreover, the features of the embodiments shown in the drawings, or of the various embodiments described in the present description, are not necessarily to be understood as embodiments independent of one another. Rather, each of the features described in one of the example embodiments may be combined with one or more other desired features from other embodiments, verbally or with reference to the drawings. It is possible to create other embodiments which will not be described. Accordingly, such other embodiments are included within the scope of the appended claims.
Claims (24)
トレーニング画像を受信するように構成された前記ニューラルネットワークへの複数の入力であって、前記トレーニング画像は、トレーニング入力値配列として受信されるか、または前記ニューラルネットワークのトレーニングの間に前記トレーニング入力値配列として体系化されるかのいずれかである、複数の入力と、
複数のシナプスであって、各シナプスは前記複数の入力のうちの1つに接続されており、複数の修正重みを含み、各修正重みは重み値によって規定され、前記複数のシナプスの前記修正重みは修正重み配列に編成される、複数のシナプスと、
複数のニューロンであって、各ニューロンは少なくとも1つの出力を有し、前記複数のシナプスのうちの少なくとも1つを介して前記複数の入力のうちの少なくとも1つと接続されており、各ニューロンは、前記それぞれのニューロンに接続された各シナプスに対応する前記修正重みの前記重み値を合算するように構成されており、これにより、前記複数のニューロンはニューロン和配列を生成する、複数のニューロンと、
コントローラであって、
所望の出力値配列として編成された所望の画像を受信することと、
前記所望の出力値配列からの前記ニューロン和配列の逸脱を決定し、逸脱配列を生成することと、
前記決定された逸脱配列を用いて前記修正重み配列内のそれぞれの修正重み値を変更することであって、これにより、前記変更された修正重み値を合算し、前記ニューロン和配列を決定することが、前記所望の出力値配列からの前記ニューロン和配列の前記逸脱を低減するようにし、トレーニングされた修正重み配列を生成し、これにより、前記ニューラルネットワークの同時トレーニングを容易にする、変更することと、
を行うように構成された、コントローラと、
を備え、
前記トレーニング入力値配列、前記修正重み配列、前記ニューロン和配列、前記所望の出力値配列、前記逸脱配列、および前記トレーニングされた修正重み配列は、それぞれ、トレーニング入力値行列、修正重み行列、ニューロン和行列、所望の出力値行列、逸脱行列、およびトレーニングされた修正重み行列として編成される、
ニューラルネットワーク。 A neural network implemented by a computer,
A plurality of inputs to the neural network configured to receive a training image, the training image being received as a training input value array, or the training input values during training of the neural network Multiple inputs, either organized as an array,
A plurality of synapses, each synapse being connected to one of the plurality of inputs, comprising a plurality of correction weights, each correction weight being defined by a weight value, the correction weights of the plurality of synapses Are organized in a modified weight array, with multiple synapses,
A plurality of neurons, each neuron having at least one output and being connected to at least one of the plurality of inputs via at least one of the plurality of synapses, each neuron being A plurality of neurons, configured to add the weight values of the correction weights corresponding to the synapses connected to the respective neurons, whereby the plurality of neurons generate a neuron sum array;
A controller,
Receiving a desired image organized as a desired output value array;
Determining a deviation of the neuron sum array from the desired output value array, and generating a deviation array;
Modifying the respective modified weight values in the modified weight array using the determined deviation array, thereby summing the modified corrected weight values and determining the neuron sum array To reduce the deviation of the neuron sum array from the desired output value array, generate a trained correction weight array, and thereby facilitate simultaneous training of the neural network. When,
With the controller, configured to
Equipped with
The training input value array, the correction weight array, the neuron sum array, the desired output value array, the deviation array, and the trained correction weight array are a training input value matrix, a correction weight matrix, and a neuron sum, respectively. Organized as a matrix, a desired output value matrix, a deviation matrix, and a trained correction weight matrix,
neural network.
前記ニューラルネットワークへの前記複数の入力が、入力画像を受信するように構成されており、前記入力画像は、入力値行列として受信されるか、または前記ニューラルネットワークによる前記画像の認識の間に前記入力値行列として体系化されるかのいずれかであり、
各シナプスが、前記トレーニングされた修正重み行列の複数のトレーニングされた修正重みを含み、
各ニューロンが、前記それぞれのニューロンに接続された各シナプスに対応する前記トレーニングされた修正重みの前記重み値を合算するように構成されており、これにより、前記複数のニューロンは、認識された画像行列を生成し、これにより、前記入力画像の認識をもたらす、
請求項1に記載のニューラルネットワーク。 In a trained neural network,
The plurality of inputs to the neural network are configured to receive an input image, wherein the input image is received as an input value matrix, or the recognition is performed during recognition of the image by the neural network. Either organized as an input value matrix,
Each synapse includes a plurality of trained correction weights of the trained correction weight matrix,
Each neuron is configured to sum the weight values of the trained correction weights corresponding to each synapse connected to the respective neuron, whereby the plurality of neurons are identified by the recognized image Generate a matrix, which results in the recognition of the input image,
The neural network according to claim 1.
前記ニューロン和行列を前記所望の出力値行列から減算し、ニューロン和の逸脱の行列を生成することと、
ニューロン和の逸脱の前記行列を、前記それぞれのニューロンに接続された入力の数で除算し、ニューロン入力ごとの逸脱の行列を生成することと、
を行うようにさらに構成されている、請求項8に記載のニューラルネットワーク。 The controller
Subtracting the neuron sum matrix from the desired output value matrix to generate a matrix of neuron sum deviations;
Dividing the matrix of neuron sum deviations by the number of inputs connected to the respective neuron to generate a matrix of deviations for each neuron input;
9. The neural network of claim 8, further configured to:
各修正重みが前記ニューラルネットワークの1つのトレーニングエポックの間に用いられた回数を決定することと、
各修正重みが前記1つのトレーニングエポックの間に用いられた前記決定された回数を用いて前記1つのトレーニングエポックについての平均逸脱行列を形成することと、
前記1つのトレーニングエポックについての前記平均逸脱行列を前記修正重み行列に加算し、これにより、前記トレーニングされた修正重み行列を生成し、前記1つのトレーニングエポックを完了することと、
を行うようにさらに構成されている、請求項9に記載のニューラルネットワーク。 The controller
Determining the number of times each correction weight has been used during one training epoch of the neural network;
Forming an average deviation matrix for the one training epoch using the determined number of times each correction weight was used during the one training epoch;
Adding the mean deviation matrix for the one training epoch to the modified weight matrix, thereby generating the trained modified weight matrix and completing the one training epoch;
10. The neural network of claim 9, further configured to:
前記ニューラルネットワークへの複数の入力を介してトレーニング画像を受信することであって、前記トレーニング画像は、トレーニング入力値行列として受信されるか、または前記ニューラルネットワークのトレーニングの間に前記トレーニング入力値行列として体系化されるかのいずれかである、受信することと、
複数のシナプスの修正重みを修正重み行列に編成することであって、各シナプスは前記複数の入力のうちの1つに接続されており、複数の修正重みを含み、各修正重みは重み値によって規定される、編成することと、
複数のニューロンを介してニューロン和行列を生成することであって、各ニューロンは少なくとも1つの出力を有し、前記複数のシナプスのうちの1つを介して前記複数の入力のうちの少なくとも1つと接続されており、各ニューロンは、前記それぞれのニューロンに接続された各シナプスに対応する前記修正重みの前記重み値を合算するように構成されている、生成することと、
コントローラを介して、所望の出力値行列として編成された所望の画像を受信することと、
前記コントローラを介して、前記所望の出力値行列からの前記ニューロン和行列の逸脱を決定し、逸脱行列を生成することと、
前記コントローラを介して、前記決定された逸脱行列を用いて前記修正重み行列内のそれぞれの修正重み値を変更することであって、これにより、前記変更された修正重み値を合算し、前記ニューロン和行列を決定することが、前記所望の出力値行列からの前記ニューロン和行列の前記逸脱を低減するようにし、トレーニングされた修正重み行列を生成し、これにより、前記ニューラルネットワークの同時トレーニングを容易にする、変更することと、
を含む、方法。 A method for operating a computer implemented neural network, comprising:
Receiving a training image via a plurality of inputs to the neural network, the training image being received as a training input value matrix, or the training input value matrix during training of the neural network Receiving, either being organized as
Organizing the correction weights of the plurality of synapses into a correction weight matrix, each synapse being connected to one of the plurality of inputs, comprising a plurality of correction weights, each correction weight being a weight value Prescribed, organized and
Generating a neuron sum matrix via a plurality of neurons, each neuron having at least one output, and at least one of the plurality of inputs via one of the plurality of synapses Generating, each connected being configured to sum up the weight values of the correction weights corresponding to each synapse connected to the respective neuron;
Receiving, via a controller, a desired image organized as a desired output value matrix;
Determining the deviation of the neuron sum matrix from the desired output value matrix via the controller to generate a deviation matrix;
Changing the respective modified weight values in the modified weight matrix using the determined deviation matrix via the controller, thereby summing the modified corrected weight values, the neuron Determining a sum matrix causes the deviation of the neuron sum matrix from the desired output value matrix to be reduced, producing a trained correction weight matrix, thereby facilitating simultaneous training of the neural network Change, and
Method, including.
前記ニューラルネットワークへの前記複数の入力を介して入力画像を受信することであって、前記入力画像は、入力値行列として受信されるか、または前記ニューラルネットワークによる前記画像の認識の間に前記入力値行列として体系化されるかのいずれかである、受信し、
前記トレーニングされた修正重み行列の複数のトレーニングされた修正重みを各シナプスに帰属させることであって、各々のトレーニングされた修正重みは重み値によって規定される、帰属させ、
前記それぞれのニューロンに接続された各シナプスに対応する前記トレーニングされた修正重みの前記重み値を合算し、これにより、前記複数のニューロンは、認識された画像行列を生成し、これにより、前記入力画像の認識をもたらす、
請求項11に記載の方法。 In a trained neural network,
Receiving an input image via the plurality of inputs to the neural network, the input image being received as an input value matrix, or the input during recognition of the image by the neural network Receive, which is either organized as a value matrix
Attributing a plurality of trained correction weights of the trained correction weight matrix to each synapse, wherein each trained correction weight is defined by a weight value,
The weights of the trained correction weights corresponding to each synapse connected to the respective neuron are summed, whereby the plurality of neurons generate a recognized image matrix, thereby the input Bring recognition of the image,
The method of claim 11.
前記コントローラを介して、ニューロン和の逸脱の前記行列を、前記それぞれのニューロンに接続された入力の数で除算し、ニューロン入力ごとの逸脱の行列を生成することと、
をさらに含む、請求項18に記載の方法。 Subtracting the neuron sum matrix from the desired output value matrix via the controller to generate a matrix of neuron sum deviations;
Dividing the matrix of neuron sum deviations by the number of inputs connected to the respective neuron via the controller to generate a matrix of deviations for each neuron input;
The method of claim 18, further comprising:
前記コントローラを介して、各修正重みが前記1つのトレーニングエポックの間に用いられた前記決定された回数を用いて前記1つのトレーニングエポックについての平均逸脱行列を形成することと、
前記コントローラを介して、前記1つのトレーニングエポックについての前記平均逸脱行列を前記修正重み行列に加算し、これにより、前記トレーニングされた修正重み行列を生成し、前記1つのトレーニングエポックを完了することと、
をさらに含む、請求項19に記載の方法。 Determining, via the controller, the number of times each correction weight has been used during one training epoch of the neural network;
Forming an average deviation matrix for the one training epoch using the determined number of times each correction weight was used during the one training epoch via the controller;
Adding the mean deviation matrix for the one training epoch to the modified weighting matrix via the controller, thereby generating the trained modified weighting matrix and completing the one training epoch ,
20. The method of claim 19, further comprising
前記ニューラルネットワークへの複数の入力を介してトレーニング画像を受信することであって、前記トレーニング画像は、トレーニング入力値行列として受信されるか、または前記ニューラルネットワークのトレーニングの間に前記トレーニング入力値行列として体系化されるかのいずれかである、受信することと、
複数のシナプスの修正重みを修正重み行列に編成することであって、各シナプスは前記複数の入力のうちの1つに接続されており、複数の修正重みを含み、各修正重みは重み値によって規定される、編成することと、
複数のニューロンを介してニューロン和行列を生成することであって、各ニューロンは少なくとも1つの出力を有し、前記複数のシナプスのうちの1つを介して前記複数の入力のうちの少なくとも1つと接続されており、各ニューロンは、前記それぞれのニューロンに接続された各シナプスに対応する前記修正重みの前記重み値を合算するように構成されている、生成することと、
所望の出力値行列として編成された所望の画像を受信することと、
前記所望の出力値行列からの前記ニューロン和行列の逸脱を決定し、逸脱行列を生成することと、
前記決定された逸脱行列を用いて前記修正重み行列内のそれぞれの修正重み値を変更することであって、これにより、前記変更された修正重み値を合算し、前記ニューロン和行列を決定することが、前記所望の出力値行列からの前記ニューロン和行列の前記逸脱を低減するようにし、トレーニングされた修正重み行列を生成し、これにより、前記ニューラルネットワークの同時トレーニングを容易にする、変更することと、
を行うために実行可能な命令を符号化されている、記憶デバイス。 A non-transitory computer readable storage device for operating an artificial neural network, said storage device comprising
Receiving a training image via a plurality of inputs to the neural network, the training image being received as a training input value matrix, or the training input value matrix during training of the neural network Receiving, either being organized as
Organizing the correction weights of the plurality of synapses into a correction weight matrix, each synapse being connected to one of the plurality of inputs, comprising a plurality of correction weights, each correction weight being a weight value Prescribed, organized and
Generating a neuron sum matrix via a plurality of neurons, each neuron having at least one output, and at least one of the plurality of inputs via one of the plurality of synapses Generating, each connected being configured to sum up the weight values of the correction weights corresponding to each synapse connected to the respective neuron;
Receiving a desired image organized as a desired output value matrix;
Determining the deviation of the neuron sum matrix from the desired output value matrix, and generating a deviation matrix;
Changing the respective modified weight values in the modified weight matrix using the determined deviation matrix, thereby summing the modified corrected weight values and determining the neuron sum matrix To reduce the deviation of the neuron sum matrix from the desired output value matrix, generate a trained correction weight matrix, thereby facilitating simultaneous training of the neural network When,
A storage device in which executable instructions are encoded to do
前記トレーニングされた修正重み行列の複数のトレーニングされた修正重みを各シナプスに帰属させることであって、各々のトレーニングされた修正重みは重み値によって規定される、帰属させることと、
前記それぞれのニューロンに接続された各シナプスに対応する前記トレーニングされた修正重みの前記重み値を合算し、これにより、前記複数のニューロンは、認識された画像行列を生成し、これにより、前記入力画像の認識をもたらすことと、
を行うために実行可能な命令をさらに符号化されている、請求項21に記載の記憶デバイス。 Receiving an input image via the plurality of inputs to the neural network, the input image being received as an input value matrix, or the input during recognition of the image by the neural network Receiving, which is either systematized as a value matrix,
Attributing a plurality of trained correction weights of the trained correction weight matrix to each synapse, each trained correction weight being defined by a weight value;
The weights of the trained correction weights corresponding to each synapse connected to the respective neuron are summed, whereby the plurality of neurons generate a recognized image matrix, thereby the input Bring recognition of the image,
22. The storage device of claim 21, wherein the executable instructions are further encoded to:
前記ニューラルネットワークへの複数の入力を介してトレーニング画像を受信するための手段であって、前記トレーニング画像は、トレーニング入力値行列として受信されるか、または前記ニューラルネットワークのトレーニングの間に前記トレーニング入力値行列として体系化されるかのいずれかである、手段と、
複数のシナプスの修正重みを修正重み行列に編成するための手段であって、各シナプスは前記複数の入力のうちの1つに接続されており、複数の修正重みを含み、各修正重みは重み値によって規定される、手段と、
複数のニューロンを介してニューロン和行列を生成するための手段であって、各ニューロンは少なくとも1つの出力を有し、前記複数のシナプスのうちの1つを介して前記複数の入力のうちの少なくとも1つと接続されており、各ニューロンは、前記それぞれのニューロンに接続された各シナプスに対応する前記修正重みの前記重み値を合算するように構成されている、手段と、
所望の出力値行列として編成された所望の画像を受信するための手段と、
前記所望の出力値行列からの前記ニューロン和行列の逸脱を決定し、逸脱行列を生成するための手段と、
前記決定された逸脱行列を用いて前記修正重み行列内のそれぞれの修正重み値を変更するための手段であって、これにより、前記変更された修正重み値を合算し、前記ニューロン和行列を決定することが、前記所望の出力値行列からの前記ニューロン和行列の前記逸脱を低減するようにし、トレーニングされた修正重み行列を生成し、これにより、前記ニューラルネットワークの同時トレーニングを容易にする、手段と、
を備える、装置。 An apparatus for operating an artificial neural network, comprising
Means for receiving a training image via a plurality of inputs to the neural network, the training image being received as a training input value matrix, or the training input during training of the neural network Means, which are either systematized as a value matrix,
Means for organizing a plurality of synapse modification weights into a modification weight matrix, each synapse being connected to one of the plurality of inputs, including a plurality of modification weights, each modification weight being a weight Means, defined by the values,
Means for generating a neuron sum matrix via a plurality of neurons, each neuron having at least one output and at least one of the plurality of inputs via one of the plurality of synapses Means, connected with each other, each neuron being configured to sum the weight values of the correction weights corresponding to each synapse connected to the respective neuron,
Means for receiving a desired image organized as a desired output value matrix;
Means for determining the deviation of the neuron sum matrix from the desired output value matrix and generating a deviation matrix;
Means for changing the respective modified weight values in the modified weight matrix using the determined deviation matrix, thereby summing the modified corrected weight values and determining the neuron sum matrix Means for reducing the deviation of the neuron sum matrix from the desired output value matrix, producing a trained correction weight matrix, thereby facilitating simultaneous training of the neural network. When,
An apparatus comprising:
前記ニューラルネットワークへの前記複数の入力を介して入力画像を受信するための手段であって、前記入力画像は、入力値行列として受信されるか、または前記ニューラルネットワークによる前記画像の認識の間に前記入力値行列として体系化されるかのいずれかである、手段と、
前記トレーニングされた修正重み行列の複数のトレーニングされた修正重みを各シナプスに帰属させるための手段であって、各々のトレーニングされた修正重みは重み値によって規定される、手段と、
前記それぞれのニューロンに接続された各シナプスに対応する前記トレーニングされた修正重みの前記重み値を合算する手段であって、これにより、前記複数のニューロンは、認識された画像行列を生成し、これにより、前記入力画像の認識をもたらす、手段と、
を有する請求項23に記載の装置。 In a trained neural network,
Means for receiving an input image via the plurality of inputs to the neural network, wherein the input image is received as an input value matrix or during recognition of the image by the neural network Means, which are either organized as said input value matrix,
Means for assigning a plurality of trained correction weights of said trained correction weight matrix to each synapse, wherein each trained correction weight is defined by a weight value,
Means for summing the weights of the trained correction weights corresponding to each synapse connected to the respective neuron, whereby the plurality of neurons generate a recognized image matrix, Means for providing recognition of the input image by
24. The apparatus of claim 23, comprising:
Applications Claiming Priority (5)
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/178,137 | 2016-06-09 | ||
US15/449,614 US10423694B2 (en) | 2014-03-06 | 2017-03-03 | Neural network and method of neural network training |
US15/449,614 | 2017-03-03 | ||
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 |
---|---|
JP2019519045A true JP2019519045A (en) | 2019-07-04 |
JP7041078B2 JP7041078B2 (en) | 2022-03-23 |
Family
ID=60579026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018564317A Active JP7041078B2 (en) | 2016-06-09 | 2017-06-09 | Neural networks, and neural network training methods |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3469521A4 (en) |
JP (1) | JP7041078B2 (en) |
KR (1) | KR102558300B1 (en) |
CN (1) | CN109416758A (en) |
WO (1) | WO2017214507A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023090592A1 (en) * | 2021-11-19 | 2023-05-25 | 서울대학교산학협력단 | Weight transfer device for neuromorphic element, and weight transfer method using same |
JP7493398B2 (en) | 2020-07-03 | 2024-05-31 | 日本放送協会 | Conversion device, learning device, and program |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018202095A1 (en) * | 2018-02-12 | 2019-08-14 | Robert Bosch Gmbh | Method and apparatus for checking neuron function in a neural network |
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 (en) * | 2019-03-29 | 2021-04-13 | 云南电网有限责任公司电力科学研究院 | Insulating multi-angle inclined scratch cable wetting experiment evaluation method and device |
CN110135557B (en) * | 2019-04-11 | 2023-06-02 | 上海集成电路研发中心有限公司 | Neural network topology architecture of image processing system |
CN110111234B (en) * | 2019-04-11 | 2023-12-15 | 上海集成电路研发中心有限公司 | Image processing system architecture based on neural network |
CN110046513B (en) * | 2019-04-11 | 2023-01-03 | 长安大学 | Plaintext associated image encryption method based on Hopfield chaotic neural network |
KR102675806B1 (en) * | 2019-05-03 | 2024-06-18 | 삼성전자주식회사 | Image processing apparatus and image processing method thereof |
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 (en) * | 2019-11-27 | 2022-06-20 | 고려대학교 산학협력단 | Deep neural network accelerator using heterogeneous multiply-accumulate unit |
CN111461308B (en) * | 2020-04-14 | 2023-06-30 | 中国人民解放军国防科技大学 | Memristor neural network and weight training method |
CN111815640B (en) * | 2020-07-21 | 2022-05-03 | 江苏经贸职业技术学院 | Memristor-based RBF neural network medical image segmentation algorithm |
CN112215344A (en) * | 2020-09-30 | 2021-01-12 | 清华大学 | Correction method and design method of neural network circuit |
US20220138579A1 (en) * | 2020-11-02 | 2022-05-05 | International Business Machines Corporation | Weight repetition on rpu crossbar arrays |
CN113570048B (en) * | 2021-06-17 | 2022-05-31 | 南方科技大学 | Circuit simulation-based memristor array neural network construction and optimization method |
CN115358389B (en) * | 2022-09-01 | 2024-08-20 | 清华大学 | Training error reduction method and device for neural network, electronic equipment and medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160012330A1 (en) * | 2014-03-06 | 2016-01-14 | Progress, Inc. | Neural network and method of neural network training |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69032259T2 (en) | 1989-09-20 | 1998-08-13 | Fujitsu Ltd | Parallel data processing system |
CN101980290B (en) * | 2010-10-29 | 2012-06-20 | 西安电子科技大学 | Method for fusing multi-focus images in anti-noise environment |
US9753959B2 (en) * | 2013-10-16 | 2017-09-05 | University Of Tennessee Research Foundation | Method and apparatus for constructing a neuroscience-inspired artificial neural network with visualization of neural pathways |
-
2017
- 2017-06-09 EP EP17811082.1A patent/EP3469521A4/en not_active Withdrawn
- 2017-06-09 CN CN201780035716.7A patent/CN109416758A/en active Pending
- 2017-06-09 JP JP2018564317A patent/JP7041078B2/en active Active
- 2017-06-09 KR KR1020197000226A patent/KR102558300B1/en active IP Right Grant
- 2017-06-09 WO PCT/US2017/036758 patent/WO2017214507A1/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160012330A1 (en) * | 2014-03-06 | 2016-01-14 | Progress, Inc. | Neural network and method of neural network training |
Non-Patent Citations (1)
Title |
---|
DMITRI PESCIANSCHI ET AL: "Analog and Digital Modeling of a Scalable Neural Network", PROCEEDINGS OF THE 2015 INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE (ICAI 2015), vol. vol. II, JPN6021027673, 2015, pages 1 - 6, ISSN: 0004554302 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7493398B2 (en) | 2020-07-03 | 2024-05-31 | 日本放送協会 | Conversion device, learning device, and program |
WO2023090592A1 (en) * | 2021-11-19 | 2023-05-25 | 서울대학교산학협력단 | Weight transfer device for neuromorphic element, and weight transfer method using same |
Also Published As
Publication number | Publication date |
---|---|
EP3469521A4 (en) | 2020-02-26 |
JP7041078B2 (en) | 2022-03-23 |
EP3469521A1 (en) | 2019-04-17 |
WO2017214507A1 (en) | 2017-12-14 |
KR20190016539A (en) | 2019-02-18 |
CN109416758A (en) | 2019-03-01 |
KR102558300B1 (en) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7041078B2 (en) | Neural networks, and neural network training methods | |
US9619749B2 (en) | Neural network and method of neural network training | |
JP6382354B2 (en) | Neural network and neural network training method | |
TWI655587B (en) | Neural network and method of neural network training | |
CN109328362B (en) | Progressive neural network | |
JP7228320B2 (en) | Neuromorphic chip, neuromorphic system, method and computer program for updating synaptic weights in neuromorphic chip | |
CN108780519A (en) | Structure learning in convolutional neural networks | |
JP7445360B2 (en) | Learning and replay in spiking neural networks | |
KR20170031695A (en) | Decomposing convolution operation in neural networks | |
US20150317557A1 (en) | Temporal spike encoding for temporal learning | |
KR20160125967A (en) | Method and apparatus for efficient implementation of common neuron models | |
JP2021526678A (en) | Image processing methods, devices, electronic devices and storage media | |
KR20200131663A (en) | Image processing apparatus and operating method for the same | |
JP7045351B2 (en) | Automatic image generation method and automatic image generation device using skim-pixel convolutional neural network | |
Ali et al. | E-learners grouping in uncertain environment using fuzzy ART-Snap-Drift neural network | |
US20230176762A1 (en) | Object storage system, migration control device, and migration control method | |
Luu et al. | Improving Spiking Neural Network Accuracy With Color Model Information Encoded Bit Planes | |
Krausse et al. | Extreme Sparsity in Hodgkin-Huxley Spiking Neural Networks | |
Widiartha et al. | A Hybrid Method of Backpropagation and Particle Swarm Optimization for Enhancing Accuracy Performance | |
Mahner et al. | Dimensions that matter: Interpretable object dimensions in humans and deep neural networks | |
Picek | Rotation-equivariant convolutional neural network for design of visual prosthetic stimulation protocol | |
CN116959095A (en) | Training method, device, equipment, storage medium and product of motion prediction model | |
Monner | A neurocomputational model of grounded language comprehension and production at the sentence level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200529 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200529 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210720 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20211020 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220310 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7041078 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |