KR20190016539A - Neural network and neural network training method - Google Patents

Neural network and neural network training method Download PDF

Info

Publication number
KR20190016539A
KR20190016539A KR1020197000226A KR20197000226A KR20190016539A KR 20190016539 A KR20190016539 A KR 20190016539A KR 1020197000226 A KR1020197000226 A KR 1020197000226A KR 20197000226 A KR20197000226 A KR 20197000226A KR 20190016539 A KR20190016539 A KR 20190016539A
Authority
KR
South Korea
Prior art keywords
training
array
neuron
matrix
weight
Prior art date
Application number
KR1020197000226A
Other languages
Korean (ko)
Other versions
KR102558300B1 (en
Inventor
드미트리 페치안시
Original Assignee
프로그레스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/178,137 external-priority patent/US9619749B2/en
Priority claimed from US15/449,614 external-priority patent/US10423694B2/en
Application filed by 프로그레스, 인코포레이티드 filed Critical 프로그레스, 인코포레이티드
Publication of KR20190016539A publication Critical patent/KR20190016539A/en
Application granted granted Critical
Publication of KR102558300B1 publication Critical patent/KR102558300B1/en

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

신경망은 입력 신호들을 수신하기 위한 입력들, 및 입력들에 연결되고 어레이로 조직화된 보정 가중치들을 갖는 시냅스들을 포함한다. 트레이닝 이미지들은 망의 트레이닝 과정동안 입력들에 의해 어레이로 수신되거나 코딩된다. 망은 또한 각각 하나의 시냅스를 통해 적어도 하나의 입력과 연결된 출력을 가지며 각각의 뉴런에 연결된 각 시냅스에서 선택된 보정 가중치를 합산하여 뉴런 합계 어레이를 생성하는 뉴런을 포함한다. 또한, 망은 어레이에서 원하는 이미지들을 수신하고, 원하는 출력 값 어레이로부터 뉴런 합 어레이 편차를 결정하며, 편차 어레이를 생성하는 컨트롤러를 포함한다. 컨트롤러는 편차 어레이를 사용하여 보정 가중치 어레이를 변경한다. 뉴런 합 어레이를 결정하기 위해 변경된 보정 가중치를 더하면 대상 편차가 줄어들고 동시 망 트레인닝을 위한 트레이닝된 보정 가중치 어레이가 생성된다.The neural network includes inputs for receiving input signals, and synapses connected to inputs and having correction weights organized in an array. The training images are received or coded into the array by inputs during the training process of the network. The network also includes neurons that each have an output coupled to at least one input through one synapse and that sum the selected calibration weights at each synapse connected to each neuron to produce a neuron sum array. The network also includes a controller that receives the desired images in the array, determines a neuron sum array deviation from the desired output value array, and generates a deviation array. The controller uses the deviation array to change the calibration weight arrays. Adding the modified calibration weights to determine the neuron sum array reduces the target deviations and generates a training calibration weight array for simultaneous network training.

Description

신경망 및 신경망 트레이닝 방법Neural network and neural network training method

본 출원은 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 benefit of U.S. Utility Model Application No. 15/449614, filed March 3, 2017, and U.S. Utility Model Application No. 15 / 178,137, filed June 9, 2016, This application is a continuation-in-part of U.S. Patent Application No. 14 / 862,337, filed Sep. 23, 2008, International Application No. PCT / US2015 / 19236, filed on March 6, 2015, U.S. Provisional Application No. 61 / 949,210 filed on January 22, 2015, and U.S. Provisional Application No. 62 / 106,389 filed on January 22, 2015, as well as the benefit of U.S. Provisional Application No. 62 / 173,163 filed on June 9, 2015 , The entire contents of which are also incorporated by reference.

본 개시는 인공 신경망 및 트레이닝 방법에 관한 것이다.This disclosure relates to artificial neural networks and training methods.

기계 학습에서, "신경망"이라는 용어는 일반적으로 소프트웨어 및/또는 컴퓨터 아키텍처, 즉 그것을 실행하는데 필요한 하드웨어 및 소프트웨어를 포함하는 컴퓨터 시스템 또는 마이크로프로세서의 전체 디자인 또는 구조를 지칭한다. 인공 신경망들은 동물의 중추 신경계라고 알려진, 특히 뇌의 생물학적 신경 네트워크에서 영감을 얻은 통계적 학습 알고리즘 계열이다. 인공 신경망들은 주로 많은 입력에 의존할 수 있는 일반적으로 알려지지 않은 기능을 추정하거나 근사하는데 사용된다. 이러한 신경망들은 컴퓨터 비전 및 음성 인식을 포함하여 일반적인 규칙 기반 프로그래밍을 사용하여 해결하기 어려운 다양한 작업에 사용되었다.In machine learning, the term " neural network " generally refers to the entire design or structure of a computer system or microprocessor including software and / or computer architecture, i. Artificial neural networks are a family of statistical learning algorithms known as the animal's central nervous system, particularly inspired by the brain's biological neural network. Artificial neural networks are often used to estimate or approximate generally unknown functions that can rely on many inputs. These neural networks have been used for a variety of tasks that are difficult to solve using general rule-based programming, including computer vision and speech recognition.

인공 신경망들은 일반적으로 입력들로부터 값들을 계산할 수 있는 "뉴런들"의 시스템들로서 표현되고, 그 적응적 특성의 결과로서 패턴 인식뿐만 아니라 기계 학습을 할 수 있다. 각 뉴런은 종종 시냅스 가중치들(synaptic weights)을 갖는 시냅스들을 통해 여러 입력들과 연결된다.Artificial neural networks are generally represented as systems of " neurons " that can calculate values from inputs, and machine learning as well as pattern recognition as a result of their adaptive nature. Each neuron is often associated with multiple inputs through synapses with synaptic weights.

신경망들은 통상적인 소프트웨어 및 하드웨어로서 프로그램되지 않고, 다만 트레이닝된다. 이러한 트레이닝은 통상적으로 충분한 수의 대표적인 예시들의 분석을 통해 그리고 시냅스 가중치의 통계적인 또는 알고리즘적 선택에 의해, 주어진 입력 이미지들 세트가 주어진 출력 이미지들 세트에 대응되도록 수행된다. 전통적인 신경망들의 공통적인 비판은 상당한 시간 및 다른 리소스들이 그들의 트레이닝에 자주 필요하다는 것이다.Neural networks are not programmed as conventional software and hardware, but are just trained. This training is typically performed by analyzing a sufficient number of representative examples and by statistical or algorithmic selection of synaptic weights such that a given set of input images corresponds to a given set of output images. A common criticism of traditional neural networks is that significant 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. Patent Nos. 4,979,124; 5,479,575; 5,493,688; 5,566,273; 5,682,503; 5,870,729; 7,577,631; And 7,814,038.

본 개시는 인공 신경망 및 트레이닝 방법을 제공한다.The present disclosure provides artificial neural networks and training methods.

일 실시예에서, 신경망은 트레이닝 이미지들을 수신하도록 구성된 신경망에 대한 다수의 입력들을 포함한다. 트레이닝 이미지들은 다수의 입력들에 의해 신경망의 트레이닝동안, 즉, 다수의 입력들에 의해 수신된 후에, 트레이닝 입력 값 어레이로서 수신되거나 또는 트레이닝 입력 값 어레이로서 코딩된 것의 하나이다. 신경망은 또한 다수의 시냅스들을 포함한다. 각각의 시냅스는 다수의 입력들 중 하나에 연결되고 그리고 다수의 보정 가중치들을 포함한다. 각각의 보정 가중치가 가중치 값에 의해 정의되고, 그리고 다수의 시냅스들의 보정 가중치들이 보정 가중치 어레이로 조직화된다.In one embodiment, the neural network includes a plurality of inputs to a neural network configured to receive training images. Training images are either received as a training input value array or coded as a training input value array during training of the neural network by multiple inputs, i.e. after being received by multiple inputs. Neural networks also include multiple synapses. Each synapse is coupled to one of a plurality of inputs and includes a plurality of calibration weights. Each calibration weight is defined by a weight value, and the calibration weights of the plurality of synapses are organized into a calibration weight array.

신경망은 부가적으로 다수의 뉴런들을 포함한다. 각각의 뉴런이 적어도 하나의 출력을 갖고 그리고 다수의 시냅스들 중 적어도 하나를 통해 다수의 입력들 중 적어도 하나와 연결된다. 각각의 뉴런이 각각의 뉴런에 연결된 대응하는 각각의 시냅스의 보정 가중치들의 가중치 값들을 합산하도록 구성됨으로써, 다수의 뉴런들이 뉴런 합 어레이를 생성한다. 신경망은 또한 원하는 출력 값 어레이로 조직화된 원하는 이미지들을 수신하도록 구성된 컨트롤러를 포함한다.The neural network additionally includes a plurality of neurons. Each neuron has at least one output and is coupled to at least one of the plurality of inputs through at least one of the plurality of synapses. Each neuron is configured to sum the weight values of the correction weights of the corresponding respective synapses connected to each neuron so that multiple neurons produce a neuron sum array. The neural network also includes a controller configured to receive the desired images organized into a desired output value array.

컨트롤러는 또한 원하는 출력 값 어레이로부터 뉴런 합 어레이의 편차를 결정하며 그리고 편차 어레이를 생성하도록 구성된다. 컨트롤러는 부가적으로 결정된 편차 어레이를 이용하여 보정 가중치 어레이를 변경하도록 구성된다. 뉴런 합 어레이를 결정하기 위해 변경된 보정 가중치 값들을 합산하면 원하는 출력 값으로부터 뉴런 합 어레이의 편차를 감소시키고, 즉, 트레이닝 도중 뉴런망에 의해 생성된 오류를 보상하고, 트레이닝된 보정 가중치 어레이를 생성하여, 신경망의 동시 및 병렬 트레이닝을 용이하게 한다.The controller is also configured to determine a deviation of the neuron sum array from the desired output value array and to generate a deviation array. The controller is configured to change the calibration weight arrays using the additionally determined deviation arrays. Summing the modified calibration weight values to determine the neuron sum array reduces the deviation of the neuron sum array from the desired output value, i. E., Compensates for errors generated by the neural network during training, and generates a training calibration weight array , Facilitating simultaneous and parallel training of neural networks.

트레이닝된 신경망에서, 신경망에 대한 다수의 입력들은 입력 이미지들을 수신하도록 구성될 수 있다. 이러한 입력 이미지들은 신경망에 의해 이미지들의 인식동안 입력 값 어레이로서 수신되거나 또는 입력 값 어레이로서 코딩되는 것중 하나일 수 있다. 각각의 시냅스는 트레이닝된 보정 가중치 어레이 중 다수의 트레이닝된 보정 가중치들을 포함할 수 있다. 부가적으로, 각각의 뉴런은 각각의 뉴런에 연결된 각각의 시냅스에 대응하는 트레이닝된 보정 가중치들 중 가중치 값들을 가산하도록 구성될 수 있음으로써, 다수의 뉴런들이 인식된 이미지들 어레이를 생성하여, 이러한 입력 이미지들의 인식을 제공한다.In the trained neural network, multiple inputs to the neural network may be configured to receive input images. These input images may be either received as an input value array or coded as an input value array during recognition of the images by the neural network. Each synapse may include a plurality of training calibration weights among the training calibration weight arrays. Additionally, each neuron may be configured to add weighted values of the training calibration weights corresponding to each synapse connected to each neuron, thereby generating a plurality of neurons of the recognized images array, Provides recognition of input images.

신경망은 또한 분배기들의 세트를 포함할 수 있다. 이러한 실시예에서, 분배기들의 세트는 각각의 트레이닝 이미지들 그리고 각각의 트레이닝 입력 값 어레이와 입력 값 어레이로서 입력 이미지들을 코딩하도록 구성될 수 있다. 이러한 분배기들의 세트는 각각의 트레이닝 이미지들 및 입력 이미지들을 수신하기 위해 다수의 입력들에 동작 가능하게 연결될 수 있다.The neural network may also include a set of distributors. In this embodiment, a set of distributors may be configured to code the input images as respective training images and each training input value array and input value array. A set of such distributors may be operatively connected to a plurality of inputs to receive respective training images and input images.

컨트롤러는 부가적으로 원하는 출력 값 어레이로부터 뉴런 합 어레이의 타겟 편차의 어레이로 프로그래밍될 수 있다. 또한, 컨트롤러는 원하는 출력 값 어레이로부터 뉴런 합 어레이의 편차가 타겟 편차 어레이의 수용 가능한 범위 내에 있을 때, 신경망의 트레이닝을 완료하도록 구성될 수 있다.The controller can additionally be programmed from the desired output value array to an array of target deviations of the neuron sum array. The controller may also be configured to complete the training of the neural network when the deviation of the neuron sum array from the desired output value array is within an acceptable range of the target deviation array.

트레이닝 입력 값 어레이, 입력 값 어레이, 보정 가중치 어레이, 뉴런 합 어레이, 원하는 출력 값 어레이, 편차 어레이, 트레이닝된 보정 가중치 어레이, 인식된 이미지 어레이, 및 타겟 편차 어레이는, 각각, 트레이닝 입력 값 매트릭스, 입력 값 매트릭스, 보정 가중치 매트릭스, 뉴런 합 매트릭스, 원하는 출력 값 매트릭스, 편차 매트릭스, 트레이닝된 보정 가중치 매트릭스, 인식된 이미지 매트릭스 및 타겟 편차 매트릭스로 조직화될 수 있다.The training input value arrays, the input value arrays, the correction weight arrays, the neuron sum arrays, the desired output value arrays, the deviation arrays, the training correction weight arrays, the recognized image arrays, 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.

신경망은 부가적으로 다수의 데이터 프로세서들을 포함할 수 있다. 이러한 실시예에서, 컨트롤러는 부가적으로 각각의 입력 값, 트레이닝 입력 값, 보정 가중치, 뉴런 합 및 원하는 출력 값 매트릭스들 중 적어도 하나를 각각의 서브-매트릭스들로 분할하고 그리고 서브-매트릭스로 별도의 병렬 수학 연산을 위해 다수의 결과적인 서브-매트릭스들이 다수의 데이터 프로세서들과 통신하도록 구성될 수 있다. 이러한 분할 즉, 임의의 대상 매트릭스들을 각각의 서브-매트릭스들로 분할하는 것은 동시 또는 병렬 데이터 프로세싱을 용이하게 하고 입력 값 매트릭스의 이미지 인식 및 신경망의 트레이닝 중 하나의 속도를 향상시킨다. 이러한 동시 또는 병렬 데이터 프로세싱은 또한 신경망의 확장성을 허용한다.The neural network may additionally comprise a plurality of data processors. In this embodiment, the controller additionally divides at least one of each input value, the training input value, the correction weight, the neuron sum, and the desired output value matrix into respective sub-matrices, Multiple resultant sub-matrices for parallel mathematical operations may be configured to communicate with multiple data processors. This partitioning, i.e., splitting any object matrices into respective sub-matrices, facilitates simultaneous or parallel data processing and enhances the speed of one of the image recognition of the input value matrix and the training of the neural network. This simultaneous or parallel data processing also allows the scalability of the neural network.

컨트롤러는 트레이닝 입력 값 매트릭스 및 보정 가중치 매트릭스에 대수 매트릭스 연산을 적용하여 보정 가중치 매트릭스를 변경할 수 있음으로써, 신경망을 트레이닝한다.The controller trains the neural network by applying a logarithmic matrix operation to the training input value matrix and the correction weight matrix to change the correction weight matrix.

수학적 매트릭스 연산은 트레이닝 입력 값과 보정 가중치 매트릭스들의 수학적 곱의 결정을 포함할 수 있음으로써, 현재의 트레이닝 시기 가중치 매트릭스를 형성한다.The mathematical matrix operation may comprise determining a mathematical product of the training input values and the correction weighting matrices to form a current training time weighting matrix.

컨트롤러는 또한 뉴런 합들의 편차 매트릭스를 생성하기 위해 원하는 출력 값 매트릭스로부터 뉴런 합 매트릭스를 감산할 수 있다. 부가적으로, 컨트롤러는 뉴런 입력 당 편차 매트릭스를 생성하기 위해 뉴런 합들의 편차 매트릭스를 각각의 뉴런에 연결된 입력들의 수로 나누도록 구성될 수 있다.The controller may also subtract the neuron sum matrix from the desired output value matrix to produce a deviation matrix of neuron sums. Additionally, the controller may be configured to divide the deviation matrix of neuron sums by the number of inputs connected to each neuron to produce a deviation matrix per neuron input.

컨트롤러는 각각의 보정 가중치가 신경망에서 하나의 트레이닝 시기동안 사용된 횟수를 결정하도록 구성될 수 있다. 컨트롤러는 부가적으로 각각의 보정 가중치가 하나의 트레이닝 시기동안 사용된 결정된 횟수를 사용하여 하나의 트레이닝 시기에 대한 평균 편차 매트릭스를 형성하도록 구성될 수 있다. 또한, 컨트롤러는 하나의 트레이닝 시기에 대한 평균 편차 매트릭스를 보정 가중치 매트릭스에 가산하도록 구성될 수 있어, 트레이닝된 보정 가중치 매트릭스를 생성하고 하나의 트레이닝 시기를 완료한다.The controller may be configured to determine the number of times each calibration weight is used during one training period in the neural network. The controller may be further configured to form an average deviation matrix for one training period using the determined number of times each calibration weight is used during one training period. The controller can also be configured to add an average deviation matrix for one training period to a correction weighting matrix to generate a trained correction weighting matrix and complete one training period.

이러한 신경망을 동작시키는, 즉 트레이닝 및 이미지 인식을 위한 방법이 또한 개시된다.Methods for operating such neural networks, i.e., training and image recognition, are also disclosed.

또한, 인공 신경망을 동작시키기 위한 비 일시적 컴퓨터 판독 가능 저장 장치 및 인공 신경망을 동작시키기 위한 장치가 개시된다.Also disclosed are non-transitory computer readable storage devices for operating an artificial neural network and apparatus for operating an artificial neural network.

다른 실시예에서, 신경망은 다수의 망 입력들을 포함함으로써, 각 입력이 입력 값을 갖는 입력 신호를 수신하도록 구성된다. 신경망은 또한 다수의 시냅스를 포함하되, 각 시냅스는 다수의 입력들 중 하나에 연결되고 그리고 다수의 보정 가중치를 포함하되, 각각의 보정 가중치는 각각의 가중치를 유지하는 메모리 소자에 의해 설정된다. 신경망은 부가적으로 분배기들의 세트를 포함한다. 각각의 분배기는 각각의 입력 신호를 수신하기 위해 다수의 입력들 중 하나에 동작 가능하게 연결되고, 입력 값과 상관하여 다수의 보정 가중치들로부터 하나 이상의 보정 가중치들을 선택하도록 구성된다. 신경망은 또한 뉴런들의 세트를 포함한다. 각각의 뉴런은 적어도 하나의 출력을 가지며, 다수의 시냅스들 중 하나의 시냅스를 통해 다수의 입력들 중 적어도 하나와 연결되고, 각각의 뉴런에 연결된 각각의 시냅스로부터 선택된 보정 가중치들 중 가중치 값을 가산하도록 구성되어, 뉴런 합을 생성한다. 각 뉴런의 출력은 신경망의 작동 출력 신호를 설정하기 위해 각각의 뉴런 합을 제공한다.In another embodiment, the neural network includes a plurality of network inputs, such that each input is configured to receive an input signal having an input value. The neural network also includes a plurality of synapses, each synapse being connected to one of a plurality of inputs and including a plurality of calibration weights, wherein each calibration weight is set by a memory element that maintains a respective weight. The neural network additionally includes a set of distributors. Each divider is operatively connected to one of a plurality of inputs to receive a respective input signal and is configured to select one or more correction weights from a plurality of correction weights in correlation with an input value. The neural network also includes a set of neurons. Each neuron has at least one output and is connected to at least one of a plurality of inputs via a synapse of one of the plurality of synapses and adds a weight value of the selected calibration weights from each synapse connected to each neuron To generate a neuron sum. The output of each neuron provides the sum of each neuron to set the operating 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 a determined value to calculate a weight value A calibration calculator may be included. In this case, adding the modified correction weight values to determine the neuron sum is to generate the trained neural network by minimizing the deviation of the neuron sum from the desired output signal value.

트레이닝된 신경망은 값 및 대응하는 부가적인 원하는 출력 신호를 갖는 보충 입력 신호만을 사용하여 보충 트레이닝을 수신하도록 구성될 수 있다.The trained neural network may be configured to receive supplemental training using only the supplemental input signal having a value and a corresponding additional desired output signal.

신경망의 트레이닝 동안 또는 보충 트레이닝 이전에, 다수의 시냅스들 각각은 각각의 메모리 소자들에 의해 설정된 하나 이상의 추가적인 보정 가중치들을 수용하도록 구성될 수 있다.During training of the neural network or prior to supplementary training, each of the plurality of synapses may be configured to receive one or more additional calibration weights set by respective memory elements.

신경망은 신경망의 트레이닝 동안 또는 후에 각각의 시냅스들로부터 각각의 메모리 소자에 의해 설정된 하나 이상의 보정 가중치를 제거하도록 구성될 수 있다. 이러한 보정 가중치의 제거는 신경망이 신경망을 동작시키는데 필요한 다수의 메모리 소자만을 보유하게 할 수 있다.The neural network may be configured to remove one or more calibration weights set by each memory element from respective synapses during or after training of the neural network. The removal of such calibration weights may cause the neural network to have only a plurality of memory elements required to operate the neural network.

신경망은 신경망의 트레이닝 전 또는 도중에 추가 입력, 추가 시냅스 및 추가 뉴런 중 적어도 하나를 수용하여 신경망의 동작 파라미터를 확장하도록 구성될 수 있다.The neural network may be configured to accommodate at least one of additional inputs, additional synapses, and additional neurons before or during training of the neural network to extend the operating parameters of the neural network.

신경망은 신경망의 트레이닝 전, 도중 또는 후에 입력, 시냅스 및 뉴런 중 적어도 하나를 제거하도록 구성될 수 있다. 망에 의해 사용되지 않는 신경망 소자(요소)를 제거하는 그러한 능력은 망의 출력 품질 손실없이 구조를 단순화하고 신경망의 동작 파라미터를 수정하도록 의도된다.The neural network may be configured to remove at least one of inputs, synapses and neurons before, during or after training of the neural network. Such ability to remove neural network elements (elements) not used by the network is intended to simplify the structure without modifying the output quality of the network and to modify the operating parameters of the neural network.

각각의 메모리 소자는 각각의 가중치를 정의하도록 구성된 전기적 및/또는 자기적 특성을 특징으로 하는 전기 디바이스에 의해 설정될 수있다. 이러한 특성은 저항, 임피던스, 용량, 자기장, 인덕션, 전계 강도 등일 수 있다. 각 디바이스의 각각의 전기적 및/또는 자기적 특성은 신경망의 트레이닝동안 변화되도록 구성될 수 있다. 또한, 보정 가중치 계산기는 대응하는 전기 디바이스의 전기적 및 자기 적 특성 각각을 변화시킴으로써 각각의 보정 가중치 값을 변경할 수 있다.Each memory element may be set by an electrical device characterized by electrical and / or magnetic characteristics configured to define respective weights. These characteristics can be resistance, impedance, capacitance, magnetic field, induction, field strength, and the like. The electrical and / or magnetic properties of each of the devices may be configured to vary during training of the neural network. In addition, the correction weight calculator can change each correction weight value by varying each of the electrical and magnetic characteristics of the corresponding electrical device.

전기 디바이스는 저항, 메미스터, 멤리스터, 트랜지스터, 캐패시터, 전계효과트랜지스터, 광의존성 저항(LDR) 또는 자기의존성 저항(MDR)과 같은 광소자 저항 중 하나로서 구성될 수 있다.The electrical device may be configured as one of a resistor, a resistor, a memory, a transistor, a capacitor, a field effect transistor, a photoresistor such as a light dependent resistor (LDR) or a magnetoresistance resistor (MDR).

각각의 메모리 소자는 전기 저항들 블록에 의해 설정될 수 있으며, 각각의 보정 가중치를 설정할 수 있도록 결정된 편차를 사용하여 블록으로부터 하나 이상의 전기 저항들을 선택하도록 구성된 선택기 디바이스를 포함한다.Each memory element may be set by a block of electrical resistors and includes a selector device configured to select one or more electrical resistors from the block using the determined deviation so as to set a respective calibration weight.

전기 저항들의 블록은 전기 커패시터들을 추가로 포함할 수 있다. 즉, 각각의 메모리 소자는 전기 저항들 및 전기 커패시터들을 모두 갖는 블록에 의해 형성 될 수 있다. 선택기 디바이스는 각각의 가중치를 설정하도록 결정된 편차를 사용하여 커패시터들을 선택하도록 추가로 구성될 수 있다.The block of electrical resistors may further comprise electrical capacitors. That is, each memory element may be formed by a block having both electrical resistors and electrical capacitors. The selector device may be further configured to select the capacitors using a deviation determined to set each weight.

신경망은 아날로그, 디지털 및 디지털-아날로그 망 중 하나로 구성될 수 있다. 이러한 망에서, 다수의 입력들, 다수의 시냅스들, 메모리 소자들, 분배기들의 세트, 뉴런들의 세트, 가중치 보정 계산기 및 원하는 출력 신호 중 적어도 하나는 아날로그, 디지털 및 디지털-아날로그 형식으로 구성된다.The neural network may be composed of one of analog, digital and digital-analog networks. In such a network, at least one of a plurality of inputs, a plurality of synapses, memory elements, a set of distributors, a set of neurons, a weight correction calculator and a desired output signal are configured in analog, digital and digital-analog formats.

신경망이 아날로그 망으로 구성된 경우, 각각의 뉴런은 전기적 와이어, 또는 직렬 또는 병렬 버스와 같은, 직렬 및 병렬 통신 채널중 하나에 의해 설정될 수 있다.When the neural network is composed of analog networks, each neuron may be set by one of serial and parallel communication channels, such as an electrical wire, or a serial or parallel bus.

가중치 보정 계산기는 차동 증폭기들의 세트로서 설정될 수 있다. 또한, 각각의 차동 증폭기는 각각의 보정 신호를 생성하도록 구성 될 수 있다.The weight correction calculator may be set as a set of differential amplifiers. Further, each of the differential amplifiers may be configured to generate a respective correction signal.

각각의 분배기는 수신된 입력 신호에 응답하여 다수의 보정 가중치들로부터 하나 이상의 보정 가중치들을 선택하도록 구성된 디멀티플렉서 일 수 있다.Each divider may be a demultiplexer configured to select one or more correction weights from a plurality of correction weights in response to a received input signal.

각각의 분배기는 수신된 입력 신호를 이진 코드로 변환하고 이진 코드와 관련하여 다수의 보정 가중치들로부터 하나 이상의 보정 가중치를 선택하도록 구성 될 수 있다.Each divider may be configured to convert the received input signal to a binary code and to select one or more correction weights from a plurality of correction weights in association with the binary code.

신경망은 메모리를 갖는 전자 디바이스에 프로그래밍될 수 있되, 각각의 메모리 소자는 전자 디바이스의 메모리에 저장된다.The neural network may be programmed into an electronic device having a memory, wherein each memory device is stored in a memory of the electronic device.

유틸리티 신경망을 동작시키는 방법이 또한 개시된다. 방법은 트레이닝 중에 별도의 유사 신경망에 의해 설정된 변경된 보정 가중치를 사용하여 유틸리티 신경망을 통해 데이터를 처리하는 단계를 포함한다. 방법은 또한 별도의 유사 신경망에 의해 설정된 변경된 보정 가중치 값들을 사용하여 유틸리티 신경망의 동작 출력 신호를 설정하는 단계를 포함한다.A method of operating a utility neural network is also disclosed. The method includes processing data through the utility neural network using modified calibration weights set by separate pseudo neural networks during training. The method also includes setting an operational output signal of the utility neural network using modified calibration weight values set by a separate pseudo-neural network.

유틸리티 신경망에 의해 변경된 보정 가중치 값들의 사용을 위해, 별도의 유사 신경망은 트레이닝 입력 값을 갖는 트레이닝 입력 신호를 신경망으로의 입력을 통해 수신하는 단계; 트레이닝 입력 신호를 입력에 작동 가능하게 연결된 분배기에 전달하는 단계; 다수의 보정 가중치들로부터 하나 이상의 보정 가중치를, 트레이닝 입력 값에 관련하여, 분배기를 통하여 선택하되, 보정 가중치 각각은 가중치 값에 의해 정의되고 입력에 연결된 시냅스 상에 위치하는, 단계; 뉴런 합을 생성하도록 시냅스를 통해 입력과 연결된 뉴런을 통해 적어도 하나의 출력을 갖는 선택된 보정 가중치의 가중치를 가산하는 단계; 가중치 보정 계산기를 통해 값을 갖는 원하는 출력 신호를 수신하는 단계; 가중치 보정 계산기를 통해, 원하는 출력 신호 값으로부터 뉴런 합의 편차를 결정하는 단계; 및 변경된 보정 가중치 값들을 설정하기 위해 결정된 편차를 사용하여 각각의 보정 가중치 값들을, 가중치 보정 계산기를 통해, 변경하여, 뉴런 합을 결정하기 위해 변경된 보정 가중치 값들을 합산하여 원하는 출력 값으로부터 뉴런 합의 편차를 최소화하여, 신경망을 트레이닝하는, 단계에 의해 트레이닝된다.For use of modified calibration weight values by the utility neural network, a separate pseudo-neural network may include receiving a training input signal having a training input value through an input to the neural network; Transmitting a training input signal to a distributor operatively connected to the input; Selecting one or more calibration weights from a plurality of calibration weights, with respect to a training input value, via a divider, each calibration weight being located on a synapse defined by a weight value and connected to an input; Adding a weight of a selected calibration weight having at least one output through a neuron connected to the input via a synapse to produce a neuron sum; Receiving a desired output signal having a value via a weight correction calculator; Determining, via a weight correction calculator, a deviation of the neuron sum from a desired output signal value; And modifying each of the calibration weight values through the weight calibration calculator using the determined deviation to set the modified calibration weight values to sum the modified calibration weight values to determine the neuron sum to obtain a deviation of the neuron sum from the desired output value , And training the neural network.

유틸리티 신경망 및 트레이닝된 개별 유사 신경망은 다수의 입력들, 보정 가중치들, 분배기들, 뉴런들 및 시냅스들을 포함하는 매칭 신경망을 포함할 수 있다.The utility neural network and the trained individual pseudo neural network may include matching neural networks including multiple inputs, calibration weights, distributors, neurons, and synapses.

유틸리티 신경망 및 트레이닝된 개별 아날로그 신경망 각각에서, 각각의 보정 가중치는 각각의 가중치를 유지하는 메모리 소자에 의해 설정될 수 있다.In each of the utility neural network and the trained individual analog neural network, each calibration weight may be set by a memory element that maintains a respective weight.

도 1은 종래의 고전적인 인공 신경망의 개략도이다.
도 2는 다수의 시냅스들들, 분배기들 세트, 및 각 시냅스와 연관된 다수의 보정 가중치들을 갖는 “프로그래시브 신경망”(p-net)의 개략도이다.
도 3a는 다수의 시냅스들과 각 분배기의 업스트림에 위치한 하나의 시냅스 가중치를 갖는 도 2에서 도시된 p-net의 부분의 개략도이다.
도 3b는 다수의 시냅스들과 다수의 보정 가중치들의 각각의 다운스트림에 위치한 시냅스 가중치들 세트를 갖는 도 2에 도시된 p-net의 부분의 개략도이다.
도 3c는 다수의 시냅스들과 각 분배기의 업스트림에 위치한 하나의 시냅스 가중치와 다수의 보정 가중치들의 각각의 다운 스트림에 위치한 시냅스 가중치들의 세트를 갖는 도 2에 도시된 p-net의 부분의 개략도이다.
도 4a는 특정한 입력의 모든 시냅스들을 위한 단일 분배기와 각 분배기의 업스트림에 위치된 하나의 시냅스 가중치를 갖는 도 2에 도시된 p-net의 부분의 개략도이다.
도 4b는 특정한 입력의 모든 시냅스들을 위한 단일 분배기와 다수의 보정 가중치들의 각각의 다운스트림에 위치한 시냅스 가중치들의 세트를 갖는 도 2에 도시된 p-net의 부분의 개략도이다.
도 4c는 특정한 입력의 모든 시냅스들을 위한 단일 분배기를 갖고, 각 분배기의 업스트립에 위치한 하나의 시냅스 가중치와 다수의 보정 가중치들의 각각의 다운스트림에 위치한 시냅스 가중치들의 세트를 갖는 도 2에 도시된 p-net의 부분의 개략도이다.
도 5는 도 2에 도시된 p-net의 개별적인 간격들로 입력 신호값 범위를 나눈 것을 도시한 것이다.
도 6a는 도 2에 도시된 p-net에서 보정 가중치들의 영향 계수값들에 대한 분포의 일 실시예의 개략도이다.
도 6b는 도 2에서 도시된 p-net에서 보정 가중치들의 영향 계수값들에 대한 분포의 다른 실시예의 개략도이다.
도 6c는 도 2에 도시된 p-net에서 보정 가중치들의 영향 계수값들에 대한 분포의 또 다른 실시예의 개략도이다.
도 7은 디지털 코드의 형태에서 이미지를 대표하는 하나의 대응되는 테이블과 각 간격들의 세트로서 동일한 이미지를 대표하는 다른 대응되는 테이블 뿐만 아니라 도 2에 도시된 p-net을 위한 입력 이미지의 개략도이다.
도 8은 두 개의 구별되는 이미지들의 인식을 위해 트레이닝된 p-net의 일 실시예의 도시이고, p-net은 각 이미지의 일부 구성들을 포함하는 사진응 인식하도록 구성된다.
도 9는 "중앙" 뉴런 근처의 시냅스 가중치들의 분포의 예시를 갖는 도 2에서 도시된 p-net의 일 실시예의 개략도이다.
도 10은 보정 가중치들의 사이에서 트레이닝 편차의 균일한 분포를 나타내는 도 2에 도시된 p-net의 일 실시예의 개략도이다.
도 11은 p-net 트레이닝 동안 보정 가중치들의 변형을 채택하는 도 2에 도시된 p-net의 일 실시예의 개략도이다.
도 12는 베이직 알고리즘이 출력 뉴런 합들의 일차적인 세트를 작성하고, 작성된 세트가 보유되거나 증가된 값들을 갖는 여러 "승자" 합들을 작성하는데 사용되고, 남아있는 합들의 공헌이 무효화된 도 2에 도시된 p-net의 일 실시예의 예시이다.
도 13은 다수의 이미지의 원소들을 갖는 복합 이미지를 인식하는 도 2에 도시된 p-net의 일 실시예의 예시이다.
도 14는 통일 모델링 언어(Unified Modeling Language (UML))를 사용하는 도 2에 도시된 p-net을 위한 객체 지향 프로그래밍을 위한 모델의 개략도이다.
도 15는 도 2에 도시된 p-net의 일반적인 형성 시퀀스의 개략도이다.
도 16은 도 2에 도시된 p-net의 형성을 위한 데이터의 대표적인 분석 및 준비의 개략도이다.
도 17은 트레이닝 및 p-net 적용 동안 입력 데이터를 갖는 도 2에 도시된 p-net의 대표적인 입력 작성 허용 상호작용(input creation permitting interaction)의 개략도이다.
도 18은 도 2에 도시된 p-net을 위한 뉴런 유닛들의 대표적인 작성의 개략도이다.
도 19는 뉴런 유닛들과 연결된 각 시냅스의 대표적인 작성의 개략도이다.
도 20은 도 2에 도시된 p-net을 트레이닝하는 것의 개략도이다.
도 21은 도 2에 도시된 p-net에서 뉴런 유닛 트레이닝의 개략도이다.
도 22는 도 2에 도시된 p-net의 트레이닝 동안 뉴런 합들의 확장의 개략도이다.
도 23은 도 2-22에서 도시된 신경망을 트레이닝하는데 사용되는 방법의 흐름도이다.
도 24는 메모리 소자에 의해 확립된 다수의 교정 가중치들 각각을 갖는 p- net의 특정 실시예의 개략도로서, p-net은 네트워크 트레이닝 과정에서 설명된다.
도 25는 메모리 소자에 의해 확립된 다수의 교정 가중치들 각각을 갖는 p- net의 특정 실시예의 개략도로서, p-net은 이미지 인식 과정에서 설명된다.
도 26은 트레이닝의 제1단계 동안 멤리스터들을 사용하는 대표적인 p-net의 개략도이다.
도 27은 트레이닝의 제2단계 동안 멤리스터들을 사용하는 대표적인 p-net의 개략도이다.
도 28은 대표적인 p-net에서 멤리스터들의 쌍둥이 병렬 분기들의 개략도이다.
도 29는 저항들을 사용하는 대표적인 p-net의 개략도이다.
도 30은 p-net에서 저항으로 구성된 메모리 소자의 일 실시예의 개략도이다.
도 31은 p-net에서 저항으로 구성된 메모리 소자의 다른 실시예의 개략도이다.
도 32는 p-net에서 가변 임피던스로 구성된 메모리 소자의 다른 실시예의 개략도이다.
도 33은 도 2-22 및 도 24-32에 도시된 신경망을 동작시키는데 사용되는 방법의 흐름도이다.
도 34는 본 개시에 따른, 다수의 시냅스들 및 각각의 시냅스와 관련된 다수의 보정 가중치들을 갖는 "프로그래시브 신경망"(p-net)의 예시이다.
도 35는 본 개시에 따른, 트레이닝 과정에서의 p-net의 예시이다.
도 36은 본 개시에 따른, 이미지 인식 과정에서의 p-net의 예시이다.
도 37은 도 34-36에 도시된 신경망을 동작시키는 방법의 흐름도이다.
1 is a schematic diagram of a conventional artificial neural network.
2 is a schematic diagram of a " progressive neural network " (p-net) having multiple synapses, a set of distributors, and multiple calibration weights associated with each synapse.
FIG. 3A is a schematic diagram of a portion of p-net shown in FIG. 2 with multiple synapses and one synaptic weight located upstream of each splitter.
Figure 3B is a schematic diagram of a portion of p-net shown in Figure 2 with a set of synaptic weights located downstream of each of a plurality of synapses and a plurality of correction weights.
3C is a schematic diagram of a portion of p-net shown in FIG. 2 having a plurality of synapses and a set of synaptic weights located downstream of each of a plurality of calibration weights and one synapse weight located upstream of each distributor.
4A is a schematic diagram of a portion of p-net shown in Fig. 2 having a single splitter for all synapses of a particular input and one synapse weight located upstream of each splitter.
Figure 4b is a schematic diagram of a portion of p-net shown in Figure 2 with a single distributor for all synapses of a particular input and a set of synaptic weights located downstream of each of a plurality of calibration weights.
FIG. 4C shows a set of synapse weights having a single distributor for all synapses of a particular input and having a set of synaptic weights located downstream of each of a plurality of calibration weights and one synapse weight located in the up- -net. < / RTI >
FIG. 5 illustrates dividing the input signal value range into individual intervals of p-net shown in FIG.
6A is a schematic diagram of one embodiment of a distribution for the influence coefficient values of correction weights at p-net shown in FIG. 2. FIG.
FIG. 6B is a schematic diagram of another embodiment of the distribution of the influence coefficient values of the correction weights at p-net shown in FIG. 2. FIG.
FIG. 6C is a schematic diagram of another embodiment of the distribution of the influence coefficient values of the correction weights at p-net shown in FIG. 2. FIG.
Figure 7 is a schematic diagram of an input image for p-net shown in Figure 2 as well as one corresponding table representing the image in the form of digital code and another corresponding table representing the same image as a set of each interval.
FIG. 8 is a view of one embodiment of p-net trained for recognition of two distinct images, and p-net is configured to recognize a photograph that includes some of the components of each image.
Figure 9 is a schematic diagram of one embodiment of p-net shown in Figure 2 with an example of distribution of synapse weights near a " center " neuron.
Figure 10 is a schematic diagram of one embodiment of p-net shown in Figure 2 showing a uniform distribution of training deviations between correction weights.
Figure 11 is a schematic diagram of one embodiment of p-net shown in Figure 2 employing a modification of correction weights during p-net training.
Figure 12 shows a block diagram of the basic algorithm shown in Figure 2 in which the basic algorithm is used to create a primary set of output neuron sums and the created set is used to create multiple "winner" sums, with retained or incremented values, p-net. < / RTI >
Figure 13 is an illustration of one embodiment of the p-net shown in Figure 2 that recognizes a composite image with multiple image elements.
Figure 14 is a schematic diagram of a model for object-oriented programming for p-net shown in Figure 2 using Unified Modeling Language (UML).
Figure 15 is a schematic diagram of a typical formation sequence of p-net shown in Figure 2;
Figure 16 is a schematic diagram of representative analysis and preparation of data for the formation of the p-net shown in Figure 2;
17 is a schematic diagram of a representative input creation permitting interaction of p-net shown in Fig. 2 with input data during training and p-net application.
Figure 18 is a schematic diagram of an exemplary creation of neuron units for p-net shown in Figure 2;
Figure 19 is a schematic diagram of an exemplary creation of each synapse connected to neuron units.
Figure 20 is a schematic diagram of training the p-net shown in Figure 2;
21 is a schematic diagram of neuron unit training in p-net shown in FIG. 2. FIG.
22 is a schematic diagram of the expansion of neuron sums during training of p-net shown in FIG. 2. FIG.
23 is a flow chart of a method used to train the neural network shown in Figs. 2-22.
24 is a schematic diagram of a particular embodiment of p-net with each of a plurality of calibration weights established by a memory element, wherein p-net is described in a network training procedure.
25 is a schematic diagram of a particular embodiment of p-net having each of a plurality of calibration weights established by a memory element, wherein p-net is described in the image recognition process.
26 is a schematic diagram of an exemplary p-net using memristors during the first stage of training.
Figure 27 is a schematic illustration of an exemplary p-net using memristors during the second stage of training.
28 is a schematic diagram of twin parallel branches of memristors in a representative p-net.
29 is a schematic diagram of an exemplary p-net using resistors.
30 is a schematic diagram of one embodiment of a memory element made up of resistors in p-net.
31 is a schematic diagram of another embodiment of a memory element made up of resistors in p-net.
32 is a schematic diagram of another embodiment of a memory device configured with a variable impedance in p-net.
33 is a flow chart of a method used to operate the neural network shown in Figs. 2-22 and Figs. 24-32.
34 is an illustration of a " progressive neural network " (p-net) having multiple synapses and multiple correction weights associated with each synapse, in accordance with the present disclosure.
35 is an illustration of p-net in the training process, in accordance with the present disclosure;
Figure 36 is an illustration of p-net in the image recognition process, in accordance with the present disclosure;
37 is a flowchart of a method of operating the neural network shown in Figs. 34-36.

도 1에 도시된 바와 같이, 종래의 인공 신경망(10)은 전형적으로 입력 디바이스들(12), 시냅스 가중치(16)를 갖는 시냅스들(14), 가산기(20)와 활성 함수 디바이스(22)를 포함하는 뉴런들(18), 뉴런 출력들(24) 및 가중치 보정 계산기(26)를 포함한다. 각 뉴런(18)은 두 개 이상의 입력 디바이스들(12)에 대해 시냅스들(14)을 통해 연결된다. 시냅스 가중치(16)의 값들은 통상적으로 전기적 저항, 전도도, 전압, 전하, 자성 특성, 또는 다른 파라미터들을 사용하여 표현된다.1, a conventional artificial neural network 10 typically includes input devices 12, synapses 14 with synaptic weights 16, an adder 20 and an active function device 22, Includes neurons 18, neuron outputs 24, and a weight correction calculator 26. Each neuron 18 is connected via two synapses 14 to two or more input devices 12. The values of synaptic weight 16 are typically expressed using electrical resistance, conductivity, voltage, charge, magnetic property, or other parameters.

전통적인 신경망(10)의 통제된 트레이닝(supervised training)은 일반적으로 트레이닝쌍(28)의 세트의 적용에 기초한다. 각 트레이닝쌍(28)은 통상적으로 입력 이미지(28-1)와 감시 신호(supervisory signal)로도 알려진 원하는 출력 이미지(28-2)로 구성된다. 전통적인 신경망(10)의 트레이닝은 일반적으로 다음과 같이 제공된다. 입력 신호들(Ii-Im)의 세트의 형태인 입력 이미지가 입력 디바이스(12)로 들어가고, 초기 가중치(Wi)로 시냅스 가중치(16)로 이동된다. 입력 신호의 값은 가중치에 의해, 통상적으로 각 가중치에 의해 각 신호(Ii-Im)을 곱하거나 나눔으로써 변경된다. 시냅스 가중치(16)로부터, 변경된 입력 신호들은 각 뉴런(18)으로 이동된다. 각 뉴런(18)은 대상 뉴런(subject neuron)(18)에 관련된 시냅스(14)의 그룹으로부터 신호들의 세트를 수신한다. 뉴런(18)에 포함된 가산기(20)는 가중치에 의해 변경되고 대상 뉴런에 의해 수신된 모든 입력 신호들을 합한다. 활성 함수 디바이스(22)는 각 결과적인 뉴런 합을 수신하고, 수학적 함수(들)에 따라 합을 변경하여, 뉴런 출력 신호들(∑Fi...∑F)의 세트로서 출력 각 출력 이미지를 형성한다.The supervised training of the conventional neural network 10 is generally based on the application of the set of training pairs 28. Each training pair 28 is typically comprised of an input image 28-1 and a desired output image 28-2, also known as a supervisory signal. Training of the conventional neural network 10 is generally provided as follows. An input image in the form of a set of input signals Ii-Im enters the input device 12 and is moved to the synaptic weight 16 with an initial weight Wi. The value of the input signal is changed by the weight, typically by multiplying or dividing each signal Ii-Im by each weight. From the synaptic weights 16, the modified input signals are moved to each neuron 18. Each neuron 18 receives a set of signals from a group of synapses 14 associated with a subject neuron 18. The adder 20 included in the neuron 18 is modified by the weight and sums all input signals received by the target neuron. The active function device 22 receives each resulting neuron sum and alters the sum according to the mathematical function (s) to form an output each output image as a set of neuron output signals ([Sigma] Fi ... [Sigma] F) do.

뉴런 출력 신호들(∑Fi...∑F)에 의해 정의된 획득된 뉴런 출력 이미지는 미리 설정된 원하는 출력 이미지들(Oi-On)과 가중치 보정 계산기(26)에 의해 비교된다. 획득된 뉴런 출력 이미지 ∑Fn 과 원하는 출력 이미지 On 사이의 결정된 차이에 근거하여, 시냅스 가중치(16)를 변경하는 보정 신호들이 미리 프로그램된 알고리즘을 이용하여 형성된다. 보정이 모든 시냅스 가중치(16)에 대해 이루어진 이후, 입력 신호(Ii-Im)의 세트는 신경망(10)에 재도입되고, 새로운 보정이 이루어진다. 위의 사이클은 획득된 뉴런 출력 이미지 ∑Fn 과 원하는 출력 이미지 On 의 사이의 차이가 어떤 미리 결정된 에러에 비해 작은 것으로 결정될 때까지 반복된다. 모든 개별적인 이미지를 갖는 망 트레이닝의 하나의 사이클은 통상적으로 "트레이닝 시기(training epoch)"로서 통상적으로 식별된다. 일반적으로, 각 트레이닝 시기에서, 에러의 크기는 감소된다. 그러나, 입력 및 출력의 수 뿐만 아니라 개별적인 입력(Ii-Im)의 수에 따라, 전통적인 신경망(10)의 트레이닝은 많은 수의 트레이닝 시기를 필요로 할 수 있고, 일부 경우에서, 수십만번 만큼 클 수 있다.The obtained neuron output image defined by the neuron output signals [Sigma] Fi ... [Sigma] F is compared by the weight correction calculator 26 with the preset desired output images (Oi-On). On the basis of the determined difference between the obtained neuron output image [Sigma] Fn and the desired output image On, correction signals for changing the synapse weight 16 are formed using a preprogrammed algorithm. After correction is made for all synaptic weights 16, the set of input signals Ii-Im is reintroduced into the neural network 10, and a new correction is made. The above cycle is repeated until it is determined that the difference between the obtained neuron output image [Sigma] Fn and the desired output image On is small compared to some predetermined error. One cycle of network training with all individual images is typically identified as a " training epoch ". Generally, at each training time, the magnitude of the error is reduced. However, depending on the number of inputs and outputs as well as the number of individual inputs (Ii-Im), the training of the conventional neural network 10 may require a large number of training periods and, in some cases, have.

홉필드 네트워크(Hopfield network), 제한된 볼츠만 머신(Restricted Boltzmann Machine), 방사기저함수 네트워크(Radial basis function network) 및 순환형 신경망(recurrent neural network)을 포함하는 다양한 전통적인 신경망이 존재한다. 분류 및 클러스터링의 특정한 태스크들은 특정한 타입의 신경망, 네크워크 입력 트레이닝 정보로서 오직 입력 이미지만을 사용하고, 특정 입력 이미지에 대응하는 원하는 출력 이미지는 최대값을 갖는 출력 신호를 갖는 단일 위닝 뉴런(winning neuron)에 기초한 트레이닝 과정 동안 직접 형성되는 자기조직화 맵(Self-Organizing Maps) 을 필요로 한다.There are a variety of conventional neural networks including Hopfield networks, Restricted Boltzmann machines, Radial basis function networks, and recurrent neural networks. Certain tasks of classification and clustering use only one input image as a particular type of neural network, network input training information, and a desired output image corresponding to a particular input image has a single winning neuron with an output signal having a maximum value Self-organizing maps that are formed directly during the training process.

위에서 언급한 것처럼, 신경망(10)과 같은 존재하는 전통적인 신경망들의 주요 관심사들 중 하나는 그 성공적인 트레이닝이 많은 소요 시간을 필요로 할 수 있다는 것이다. 전통적인 네트워크들의 일부 추가적인 관심사는 컴퓨팅 리소스들의 많은 소모일 수 있고, 이것은 결과적으로 강력한 컴퓨터들을 필요하게끔 유도한다. 추가적인 관심사들은 네트워크의 전체적인 재교육이 없이는 네트워크의 크기를 증가시키기 불가능함, "네트워크 마비(network paralysis)" 및 "극솟값(local minimum)에서의 프리징(freezing)"과 같은 이러한 현상들에 대한 성향이고, 이것은 특정한 신경망이 특정한 시퀀스에서 특정한 이미지들의 세트로 트레이닝될 수 있는지를 예측하기 불가능하게 만든다. 또한, 트레이닝 동안 도입되는 특정한 이미지들의 시퀀싱과 관련한 한정들이 있을 수 있고, 트레이닝 이미지들의 도입의 순서를 변경하는 것은 이미 학습된 네트워크의 추가적인 트레이닝을 수행하는 것에 대한 불가능 뿐만 아니라 네트워크 프리즈로 이어질 수 있다.As mentioned above, one of the main concerns of existing conventional neural networks, such as the neural network 10, is that successful training may require a large amount of time. Some additional concerns of traditional networks can be a large consumption of computing resources, which in turn leads to the need for powerful computers. Additional concerns are the tendency to these phenomena such as the impossibility of increasing the size of the network without the net retraining of the network, the "network paralysis" and "freezing at the local minimum" , This makes it impossible to predict whether a particular neural network can be trained in a particular set of images in a particular sequence. There may also be limitations related to the sequencing of specific images introduced during training, and changing the order of the introduction of training images may lead to network freeze as well as the impossibility of performing additional training of already learned networks.

유사한 도면 부호들은 유사한 구성을 언급하는 나머지 도면들을 참조하면, 도 2는 프로그래시브 신경망, 따라서 "프로그래시브 네트워크", 또는 "p-net"(100)의 개략도를 나타낸다. P-net(100)은 다수의 또는 p-net의 입력들(102)의 세트를 포함한다. 각 입력(102)은 입력 신호(104)를 수신하도록 구성되고, 입력 신호들은 도 2에서 I1, I2 … Im 로서 표시된다. 각 입력 신호 I1, I2 … Im 는 예를 들어, 크기, 주파수, 위상, 신호 편광각, 또는 입력 이미지(106)의 다른 부분들과의 관련성과 같은 입력 이미지(106)의 일부 특성(들)의 값을 나타낸다. 각 입력 신호(104)는 입력값을 갖고, 다수의 입력 신호(104)와 함께 일반적으로 입력 이미지(106)를 설명한다.2 shows a schematic diagram of a progressive neural network, and thus a " progressive network " or " p-net " 100. P-net 100 includes a set of multiple or p-net inputs 102. Each input 102 is configured to receive an input signal 104, and the input signals are denoted as I 1 , I 2 ... I m . Each of the input signals I 1, I 2 ... I m represents the value of some property (s) of input image 106, such as, for example, magnitude, frequency, phase, signal polarization angle, or relevance to other parts of input image 106. Each input signal 104 has an input value, and generally describes the input image 106 along with a number of input signals 104.

각 입력값은 -∞ 와 +∞의 사이에 있는 값 범위 내에 있을 수 있고, 디지털 및/또는 아날로그 형태로 설정될 수 있다. 입력값의 범위는 트레이닝 이미지들의 세트에 종속할 수 있다. 가장 단순한 경우에서, 입력값들의 범위는 모든 트레이닝 이미지들을 위한 입력값들의 가장 작은 값과 가장 큰 값의 사이의 차이일 수 있다. 실제적인 이유로서, 입력값들의 범위는 너무 높은 것으로 여겨지는 입력값들을 제거함으로써 한정될 수 있다. 예를 들어, 입력값들의 범위의 이러한 한정은 중요도 샘플링(importance sampling)과 같은 분산 감소(variance reduction)를 위한 알려진 통계적인 방법들을 통해 수행될 수 있다. 입력 값들의 범위를 한정하는 다른 예는 특정한 최소값에 대해 미리 설정된 최소 레벨에 비해 낮은 모든 신호들의 지정과 특정한 최대값에 대해 미리 설정된 최대 레벨을 초과하는 모든 신호들의 지정일 수 있다.Each input value can be in the range of values between -∞ and + ∞, and can be set to digital and / or analog form. The range of input values may depend on a set of training images. In the simplest case, the range of input values may be the difference between the smallest and largest values of the input values for all training images. For practical reasons, the range of input values may be defined by removing input values that are considered too high. For example, this limitation of the range of input values can be performed through known statistical methods for variance reduction, such as importance sampling. Another example of defining a range of input values may be designation of all signals that are low relative to a predetermined minimum level for a particular minimum value and designation of all signals that exceed a predetermined maximum level for a particular maximum value.

p-net(100)은 또한 다수의 또는 시냅스들(118)의 세트를 포함할 수 있다. 각 시냅스(118)는 도 2에 도시된 바와 같이 다수의 입력들(102) 중 하나와 연결되고 다수의 보정 가중치(112)를 포함하고, 시냅스 가중치(108)를 또한 포함할 수 있다. 각 보정 가중치(112)는 각 가중치값(112)에 의해 정의된다. P-net(100)은 또한 분배기(114)의 세트를 포함한다. 각 분배기(114)는 각 입력 신호(104)를 수신하기 위해 다수의 입력들(102)의 하나와 동작적으로 연결된다. 추가적으로, 각 분배기(114)는 입력값과 관련해서 다수의 보정 가중치들(112)로부터 하나 이상의 보정 가중치들을 선택하도록 구성된다.The p-net 100 may also include multiple or a set of synapses 118. Each synapse 118 is coupled to one of a plurality of inputs 102 as shown in FIG. 2 and includes a plurality of correction weights 112 and may also include synapse weights 108. Each calibration weight 112 is defined by a respective weight value 112. P-net 100 also includes a set of distributors 114. Each distributor 114 is operatively coupled to one of a plurality of inputs 102 to receive each input signal 104. [ Additionally, each distributor 114 is configured to select one or more correction weights from a plurality of correction weights 112 in relation to the input values.

p-net(100)은 추가적으로 뉴런들(116)의 세트를 포함한다. 각 뉴런(116)은 적어도 하나의 출력(117)을 갖고 하나의 시냅스(118)를 통해 다수의 입력들(102) 중 적어도 하나와 연결된다. 각 뉴런(116)은 각 뉴런(116)에 대해 연결된 각 시냅스(118)로부터 선택된 보정 가중치(112)의 보정 가중치 값들을 합산하거나 합하도록 구성되고, 따라서 ∑n 으로 지정된 뉴런 합(120)을 작성하고 출력한다. 분리된 분배기(114)는 도 3a, 3b, 3c에서 도시된 것처럼 특정한 입력(102)의 각 시냅스(118)를 위해 사용될 수 있거나, 또는 도 4a, 4b 및 4c에서 도시된 것처럼 단일 분배기가 모든 이러한 시냅스들을 위해 사용될 수 있다. p-net(100)의 형성 또는 설정 동안, 모든 보정 가중치들(112)은 초기값들을 할당받고, 이것은 p-net 트레이닝의 과정 동안 변경될 수 있다. 보정 가중치(112)의 초기값은 예를 들어, 가중치들이 무작위로 선택될 수 있는 전통적인 신경망(10)에서처럼 할당될 수 있고, 미리 설정된 템플릿 등으로부터 선택된 미리 설정된 수학적 함수의 도움으로 계산될 수 있다.The p-net 100 additionally includes a set of neurons 116. Each neuron 116 has at least one output 117 and is coupled to at least one of the plurality of inputs 102 via one synapse 118. Each neuron 116 is configured to sum or sum the correction weight values of the selected correction weights 112 from each synapse 118 connected to each neuron 116, thus creating a sum of neurons 120 designated < RTI ID = 0.0 > And outputs it. A separate splitter 114 may be used for each synapse 118 of a particular input 102 as shown in Figures 3a, 3b, 3c, or a single splitter may be used for all of these synapses 118 as shown in Figures 4a, 4b, Can be used for synapses. During the formation or setup of p-net 100, all correction weights 112 are assigned initial values, which may change during the course of the p-net training. The initial values of the correction weights 112 may be assigned, for example, as in the conventional neural network 10, where weights may be selected at random, and may be calculated with the aid of a predetermined mathematical function selected from a preset template or the like.

p-net(100)은 또한 가중치 보정 계산기(122)를 포함한다. 가중치 보정 계산기(122)는 신호값을 갖고 출력 이미지(126)의 부분을 표시하는 원하는, 예를 들어, 미리 설정된 출력 신호(124)를 수신하도록 구성된다. 가중치 보정 계산기(122)는 또한 트레이닝 에러로도 알려진 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 편차(128)를 결정하고, 결정된 편차(128)를 사용하여 각 보정 가중치 값을 변경하도록 구성된다. 따라서, 뉴런 합(120)을 결정하기 위한 변경된 보정 가중치 값들을 합하는 것은 원하는 출력 신호(124)의 값으로부터 대상 뉴런 합의 편차를 최소화하고, 그 결과로서, p-net(100)을 트레이닝하기에 효과적이다.The p-net 100 also includes a weight correction calculator 122. The weight correction calculator 122 is configured to receive a desired, e.g., predetermined, output signal 124 that has a signal value and that displays a portion of the output image 126. The weight correction calculator 122 also determines the deviation 128 of the neuron sum 120 from the value of the desired output signal 124, also known as the training error, and uses the determined deviation 128 to change . Thus, summing the modified correction weight values to determine the neuron sum 120 minimizes the deviation of the sum of the subject neurons from the value of the desired output signal 124 and, as a result, is effective for training the p-net (100) to be.

도 1에 대해 언급된 전통적인 네트워크(10)로 유추하면, 편차(128)는 결정된 뉴런 합(120)와 원하는 출력 신호(124)의 값의 사이에서 트레이닝 에러로서 설명될 수 있다. 도 1과 관련하여 논의된 전통적인 신경망(10)과 비교하여, p-net(100)에서 입력 신호(104)의 입력 값들은 단지 일반적인 네트워크 설정의 과정에서만 변하고, p-net의 트레이닝동안 변하지 않는다. 입력 값을 변경하는 대신, p-net(100)의 트레이닝은 보정 가중치(112)의 값(112)을 변경하여 제공된다. 추가적으로, 비록 각 뉴런(116)이 합 함수를 포함하나, 뉴런은 보정 가중치 값들을 합산하고, 뉴런(116)은 필요하지 않으며, 또한 실제로, 전통적인 신경망(10)에서 활성 함수 디바이스(22)에 의해 제공되는 것과 같은 활성 함수의 부재에 의해 특징된다.Analogy to the traditional network 10 referred to in Fig. 1, the deviation 128 can be described as a training error between the determined neuron sum 120 and the desired output signal 124 value. Compared to the conventional neural network 10 discussed with respect to FIG. 1, the input values of the input signal 104 in the p-net 100 change only in the course of a typical network setup and do not change during training of the p-net. Instead of changing the input value, the training of p-net 100 is provided by changing the value 112 of the correction weight 112. Additionally, even though each neuron 116 includes a sum function, the neurons add up the correction weight values, the neuron 116 is not needed, and also, in fact, by the active function device 22 in the conventional neural network 10 Is characterized by the absence of an active function such as that provided.

전통적인 신경망(10)에서, 트레이닝 중 가중치 보정은 시냅스 가중치(16)를 변경함에 의해 수행되나, 반면, p-net(100)에서 대응되는 가중치 보정은 도 2에서 도시된 것처럼, 보정 가중치 값(112)을 변경함에 의해 제공된다. 각 보정 가중치(112)는 전체 또는 일부 시냅스들(118) 상에 위치된 가중치 보정 블록들(110)에 포함될 수 있다. 신경망 컴퓨터 에뮬레이션에서, 각 시냅시스 및 보정 가중치는 예를 들어 메모리 셀과 같은 디지털 디바이스 및/또는 아날로그 디바이스에 의해 표시될 수 있다. 신경망 소프트웨어 에뮬레이션에서, 보정 가중치(112)의 값들은 적절하게 프로그램된 알고리즘을 통해 제공될 수 있고, 반면 하드웨어 에뮬레이션에서, 메모리 컨트롤을 위해 알려진 방법들이 사용될 수 있다.In the conventional neural network 10, the weight correction during training is performed by changing the synaptic weight 16 while the corresponding weight correction in the p-net 100 is performed by changing the correction weight value 112 ). ≪ / RTI > Each calibration weight 112 may be included in weight correction blocks 110 located on all or some of the synapses 118. In neural network computer emulation, each synapse and calibration weights can be represented by a digital device and / or an analog device, such as, for example, a memory cell. In neural network software emulation, the values of the correction weights 112 may be provided through appropriately programmed algorithms, whereas in hardware emulation, known methods for memory control may be used.

p-net(100)에서, 원하는 출력 신호(124)로부터 뉴런 합(120)의 편차(128)는 그 사이에서 수학적으로 계산된 차이로서 표시될 수 있다. 추가적으로, 각 변경된 보정 가중치(112)의 작성은 뉴런 합(120)을 작성하기 위해 사용된 각 보정 가중치에 대한 계산된 차이의 분배를 포함할 수 있다. 이러한 실시예에서, 각 변경된 보정 가중치(110)의 작성은 뉴런 합(120)이 작은 수의 시기 내에서 원하는 출력 신호 값 상에 수렴하도록 허용할 것이고, 단지 하나의 시기만 필요로 하는 일부 경우에서, p-net(100)을 빠르게 트레이닝하는 것을 허용할 것이다. 특정 경우에서, 뉴런 합(120)을 작성하는데 사용되는 보정 가중치(112)의 사이에서의 수학적 차이의 분배는 각 뉴런 합(120)을 작성하기 위해 사용된 각 보정 가중치의 사이에서 결정된 차이를 동일하게 나누는 것을 포함할 수 있다.In p-net 100, the deviation 128 of the neuron sum 120 from the desired output signal 124 may be represented as a mathematically calculated difference therebetween. Additionally, the creation of each modified calibration weight 112 may include a distribution of the calculated difference to each calibration weight used to create the neuron sum 120. In such an embodiment, the creation of each modified calibration weight 110 will allow the neuron sum 120 to converge on a desired output signal value within a small number of periods, and in some cases requiring only one period , p-net (100). In certain cases, the distribution of the mathematical differences between the correction weights 112 used to create the neuron sums 120 is equal to the difference determined between the respective correction weights used to create each neuron sum 120 .

분리된 실시예에서, 원하는 출력 신호 값으로부터의 뉴런 합(120)의 편차(128)의 결정은 이에따라 편차 계수를 작성하기 위해 뉴런 합에 의해 원하는 출력 신호 값을 나누는 것을 포함할 수 있다. 이러한 특정한 경우에서, 각 변형된 보정 가중치(112)의 변형은 편차 계수에 의해 뉴런 합(120)을 작성하는데 사용된 각 보정 가중치의 곱을 포함한다. 각 분배기(114)는 추가적으로 다수의 보정 가중치(112)에 대해 다수의 영향 계수들(134)을 할당하도록 구성될 수 있다. 본 실시예에서, 각 영향 계수(134)는 각 뉴런 합(120)을 작성하기 위해 일부 미리 결정된 비율에서 다수의 보정 가중치들(112)의 하나를 할당할 수 있다. 각각의 보정 가중치(112)와 대응을 위해, 각 영향 계수(134)는 도면들에서 도시된 바와 같이 "Ci,d,n" 명명이 할당될 수 있다.In a separate embodiment, the determination of the deviation 128 of the neuron sum 120 from the desired output signal value may thus include dividing the desired output signal value by the neuron sum to produce a deviation coefficient. In this particular case, the deformation of each modified correction weight 112 includes the product of each correction weight used to create the neuron sum 120 by a deviation coefficient. Each distributor 114 may be further configured to assign a plurality of influence coefficients 134 to a plurality of correction weights 112. [ In this embodiment, each influence coefficient 134 may assign one of a plurality of correction weights 112 at some predetermined rate to create each neuron sum 120. To correspond with each correction weight 112, each coefficient of influence 134 may be assigned the designation " C i, d, n " as shown in the figures.

특정 시냅스(118)에 대응되는 다수의 영향 계수들(134) 각각은 각 영향 분포 함수(136)에 의해 정의된다. 영향 분포 함수(136)는 모든 영향 계수들(134)에 대해 또는 단지 특정 시냅스(118)에 대응되는 다수의 영향 계수들(134)에 대해 동일할 수 있다. 다수의 입력 값들의 각각은 간격들 또는 간격 분포 함수(140)에 따라 서브 디비전 "d"로 나누어진 값 범위(138)로 수신될 수 있어서, 각 입력값은 각 간격 "d" 내에 수신되고, 각 보정 가중치는 이러한 간격들의 하나에 대응한다. 각 분배기(114)는 각 간격 "d"를 선택하고 선택된 각 간격 "d"에 대해 대응하는 보정 가중치(112)와 예를 들어 Wi,d + i,n 또는 Wi,d - i,n와 같이 선택된 각 간격에 인접한 간격에 대응되는 적어도 하나의 보정 가중치에 각각의 다수의 영향 계수들(134)을 할당한다. 다른 비제한적인 예에서, 영향 계수(134)의 미리 결정된 비율은 통계적 분포에 따라 정의될 수 있다.Each of the plurality of influence coefficients 134 corresponding to a specific synapse 118 is defined by an respective influence distribution function 136. [ The influence distribution function 136 may be the same for all of the influence coefficients 134 or for a plurality of influence coefficients 134 that correspond only to a particular synapse 118. Each of the plurality of input values may be received in a value range 138 divided by subdivision "d" according to intervals or interval distribution function 140 such that each input value is received within each interval "d" Each calibration weight corresponds to one of these intervals. Each divider 114 is selected for each interval "d", and W i, for the correction weight 112 and the example corresponding to each selected distance "d" d + i, n or W i, d - i, n And assigns each of the plurality of influence coefficients 134 to at least one correction weight corresponding to the interval adjacent to each selected interval as shown in FIG. In another non-limiting example, a predetermined ratio of the influence coefficient 134 may be defined according to a statistical distribution.

뉴런 합(120)을 작성하는 것은 입력값(102)에 따라 각 보정 가중치(112)에 각 영향 계수(134)들을 초기적으로 할당하고, 그리고 나서 각 채택된 보정 가중치(112)의 값에 의해 대상 영향 계수들을 곱하는 것을 포함할 수 있다. 그리고 나서, 그에 연결된 모든 시냅스들(118)에 대해 각 뉴런(116)을 통해 보정 가중치(112) 및 할당된 영향 계수(134)의 개별적인 곱들을 합한다.Creating the neuron sum 120 initially assigns each influence coefficient 134 to each correction weight 112 according to an input value 102 and then by the value of each adopted correction weight 112 And multiplying the target influence coefficients. The individual products of the correction weight 112 and the assigned influence coefficient 134 are then summed over each neuron 116 for all synapses 118 connected thereto.

가중치 보정 계산기(122)는 각 변경된 보정 가중치(112)를 작성하기 위해 각 영향 계수(134)들을 적용하도록 구성될 수 있다. 특히, 가중치 보정 계산기(122)는 각 영향 계수(134)에 의해 정해진 비율에 따라 뉴런 합(120)을 작성하기 위해 사용된 각 보정 가중치(112)에 대해 뉴런 합(120)과 원하는 출력 신호(124)의 사이의 계산된 수학적 차이의 비율을 적용할 수 있다. 추가적으로, 뉴런 합(120)을 작성하기 위해 사용된 보정 가중치들(112) 사이에서 나누어진 수학적 차이는 각 영향 계수(134)에 의해 더 나누어질 수 있다. 그 이후, 각 영향 계수(134)에 의해 뉴런 합(120)의 나누어진 결과는 원하는 출력 신호값 상에 뉴런 합(120)을 수렴시키기 위해 보정 가중치(112)에 더해질 수 있다.The weight correction calculator 122 may be configured to apply each of the influence coefficients 134 to create each modified correction weight 112. [ In particular, the weight correction calculator 122 calculates the weighted sum of the neuron sum 120 and the desired output signal < RTI ID = 0.0 > (k) < / RTI > for each calibration weight 112 used to create the neuron sum 120, 124) may be applied. In addition, the mathematical difference divided between the correction weights 112 used to create the neuron sum 120 may be further divided by the respective influence coefficients 134. Thereafter, the divided result of the neuron sum 120 by each influence coefficient 134 may be added to the correction weights 112 to converge the neuron sum 120 on the desired output signal value.

p-net(100)의 전형적인 형성은 p-net의 트레이닝이 시작되기 전에 발생할 수 있다. 그러나, 개별적인 실시예에서, 트레이닝하는 동안 p-net(100)이 초기 보정 가중치가 없는 입력 신호(104)를 수신하면, 적절한 보정 가중치(112)가 작성될 수 있다. 이러한 경우, 특정 분배기(114)는 특정 입력 신호(104)를 위한 적절한 간격 "d"을 결정할 것이고, 초기값들을 갖는 보정 가중치(112)의 그룹은 특정 입력(102), 특정 간격 "d" 및 모든 각 뉴런들(116)에 대해 작성될 것이다. 추가적으로, 대응하는 영향 계수(134)는 각각 새로 작성된 보정 가중치(112)에 할당될 수 있다.Typical formation of p-net 100 may occur before training of p-net begins. However, in an individual embodiment, when the p-net 100 receives an input signal 104 that has no initial calibration weight during training, an appropriate calibration weight 112 may be created. In such a case, the particular divider 114 will determine the appropriate interval "d" for the particular input signal 104, and the group of correction weights 112 having the initial values will have a specific input 102, a specific interval "d" Will be written for each of the neurons 116. In addition, a corresponding influence coefficient 134 may be assigned to the newly created correction weight 112, respectively.

각 보정 가중치(112)는 p-net(100) 상에 각 보정 가중치의 위치를 식별하기 위해 구성된 인덱스들의 세트에 의해 정의될 수 있다. 인덱스들의 세트는 특히 특정 입력(102)에 대응하는 보정 가중치(112)를 식별하기 위한 입력 인덱스 "i", 각 보정 가중치에 대해 앞서 언급한 선택된 간격을 명시하기 위한 간격 인덱스 "d", 명명 "Wi,d,n"을 갖는 특정 뉴런(116)에 대응하는 보정 가중치(112)를 명시하기 위해 구성된 뉴런 인덱스 "n"을 포함할 수 있다. 따라서, 특정 입력(102)에 대해 대응하는 각 보정 가중치(112)는 대상 위치를 지정하기 위해 첨자가 있는 특정 인덱스 "i"를 할당받는다. 유사하게, 특정 뉴런(116) 및 각 시냅스(118)에 대응하는 각 보정 가중치 "W'는 p-net(100) 상에 보정 가중치의 대상 위치를 지정하기 위해 첨자가 있는 특정 인덱스들 "n" 및 "d"를 할당받는다. 인덱스들의 세트는 또한 p-net(100)의 트레이닝 동안 각 보정 가중치(112)가 입력 신호(104)에 의해 액세스된 횟수를 총계하도록 구성된 액세스 인덱스 "a"를 포함할 수 있다. 액세스 인덱스 "a"는 명명 "Wi,d,n,a"을 채택함에 의해 각 보정 가중치의 현재 상태를 더 지정하거나 정의하는데 사용될 수 있다. "i", "d", "n" 및 "a"의 각 인덱스는 0 에서 +∞의 범위에서 수치값을 가질 수 있다.Each calibration weight 112 may be defined by a set of indices configured to identify the location of each calibration weight on the p-net 100. The set of indices may in particular comprise an input index " i " for identifying a correction weight 112 corresponding to a particular input 102, an interval index " d " for specifying the selected interval mentioned above for each calibration weight, N " configured to specify a correction weight 112 that corresponds to a particular neuron 116 having a W i, d, n ". Thus, for each particular input 102, each corresponding correction weight 112 is assigned a particular index " i " with a subscript to specify the target position. Similarly, each calibration weight " W " corresponding to a particular neuron 116 and each synapse 118 may be indexed to a specific index " n " with a subscript to specify the target position of the correction weight on p- The set of indices also includes an access index " a ", which is configured to sum the number of times each calibration weight 112 is accessed by the input signal 104 during training of the p-net 100 The access index " a " can be used to further define or define the current state of each calibration weight by employing the nomenclature " W i, d, each index of " n " and " a " can have numerical values in the range of 0 to + infinity.

입력 신호(104)의 범위를 간격 d0, di ... dm으로 나누는 것의 다양한 가능성이 도 5에 도시된다. 특정 간격 분포는 예를 들어, 동일한 크기의 모든 간격 "d"를 지정하는 것에 의해 달성될 수 있는 것처럼 균일하거나, 선형적일 수 있다. 미리 결정된 최하 레벨에 비해 낮은 입력 신호 값을 갖는 모든 입력 신호들(104)은 0 값을 갖도록 고려될 수 있고, 미리 결정된 최상 레벨에 비해 큰 입력 신호 값을 갖는 모든 입력 신호들은 도 5에서 도시된 바와 같이 이러한 최대 레벨을 할당받을 수 있다. 특정 간격 분포는 또한 대칭, 비대칭 또는 무제한과 같이 비균일 또는 비선형적일 수 있다. 간격 "d"의 비선형적 분포는 입력 신호들(104)의 범위가 비실제적으로 큰 것으로 고려되는 때 유용할 수 있고, 범위의 특정 부분은 범위의 처음, 중간 또는 끝에서와 같이 가장 치명적인 것으로 고려되는 입력 신호들을 포함할 수 있다. 특정 간격 분포는 또한 무작위 함수에 의해 설명될 수 있다. 모든 선행하는 예시들은 비제한적인 것으로서, 간격 분포의 다른 변형들도 역시 가능하다.Various possibilities of dividing the range of the input signal 104 by the intervals d 0 , d i ... d m are shown in FIG. The specific interval distribution may be uniform or linear, for example, as may be achieved by specifying all intervals " d " of the same size. All of the input signals 104 having a lower input signal value relative to a predetermined lowest level may be considered to have a value of 0 and all input signals having a larger input signal value relative to a predetermined upper level This maximum level can be assigned as shown. The specific interval distribution may also be non-uniform or non-linear, such as symmetric, asymmetric or unlimited. The non-linear distribution of the spacing " d " may be useful when the range of input signals 104 is considered to be unrealistically large, and certain portions of the range are considered to be the most critical, such as at the beginning, middle, or end of the range Lt; / RTI > The specific interval distribution can also be described by a random function. All preceding examples are non-limiting, and other variations of the interval distribution are also possible.

입력 신호(104)의 선택된 범위 내의 간격 "d"의 수는 p-net(100)을 최적화하도록 증가될 수 있다. 이러한 p-net(100)의 최적화는 예를 들어, 입력 이미지(106)를 트레이닝하는 것의 복잡성에서 증가가 있는 때 바람직하다. 예를 들어, 더 많은 수의 간격은 단색 이미지들과 비교할 때 다색 이미지들에 대해 필요로 할 수 있고, 더 많은 수의 간격들은 단순한 그래픽들에 비해 복잡한 장식에 대해 필요로 할 수 있다. 증가된 수의 간격들은 트레이닝 이미지의 보다 큰 전체 수를 위해서 뿐만 아니라, 윤곽에 의해 설명되는 이미지들과 비교할 때 복잡한 색상 구배를 갖는 이미지의 정확한 인식을 위해 필요할 수 있다. 간격 "d"의 수에서 감소는 노이즈의 높은 크기, 트레이닝 이미지에서 큰 분산 및 컴퓨팅 리소스들에서 과도한 소모의 경우 역시 필요할 수 있다.The number of intervals " d " within the selected range of input signals 104 may be increased to optimize p-net (100). This optimization of p-net (100) is desirable, for example, when there is an increase in the complexity of training the input image (106). For example, a larger number of intervals may be needed for multicolor images as compared to monochrome images, and a greater number of spacings may be needed for complex decorations than simple graphics. An increased number of intervals may be required not only for a larger total number of training images, but also for accurate recognition of images with complex color gradients when compared to the images described by the contours. The reduction in the number of intervals " d " may also be necessary in the case of high magnitudes of noise, large variances in training images and excessive consumption in computing resources.

p-net(100)에 의해 다루어지는 태스크 또는 정보의 종류에 따라, 예를 들어, 화상 또는 텍스트 데이터, 다양한 속성의 센서로부터의 데이터, 다양한 수의 간격들 및 그 분포의 타입이 할당될 수 있다. 각 입력 신호값 간격 "d"에 대해, 인덱스 "d"를 갖는 특정 시냅스의 대응하는 보정 가중치가 할당될 수 있다. 따라서, 특정 간격 "d"는 특정한 입력에 대해 관련하여 인덱스 "i", 특정 간격에 대해 관련된 인덱스 "d" 및 0부터 n까지 인덱스 "n"에 대한 모든 값들을 갖는 모든 보정 가중치(112)를 포함할 것이다. p-net(100)의 트레이닝의 과정에서, 분배기(114)는 각 입력 신호 값을 정의하고 따라서 대응하는 간격 "d"에 대해 대상 입력 신호(104)를 연관시킨다. 예를 들어, 0부터 100까지의 입력 신호들의 범위 내에 10개의 동일한 간격들 "d"가 있다면, 30과 40의 사이에서 값을 갖는 입력 신호는 예를 들어 "d"=3인 간격 3과 연관될 수 있다. Depending on the type of task or information handled by p-net 100, for example, image or text data, data from sensors of various attributes, various numbers of intervals and types of distribution can be assigned . For each input signal value interval "d", a corresponding correction weight of a particular synapse with index "d" may be assigned. Thus, the specific interval " d " includes all correction weights 112 having all values for index " i ", associated index " d " for a particular interval, and index & . In the course of training the p-net 100, the divider 114 defines each input signal value and thus associates the target input signal 104 with the corresponding interval " d ". For example, if there are 10 equal intervals " d " in the range of input signals from 0 to 100, an input signal having a value between 30 and 40 is associated with interval 3, e.g., " d & .

주어진 입력(102)과 연결된 각 시냅스(118)의 모든 보정 가중치(112)에 대해, 분배기(114)는 특정 입력 신호에 관련된 간격 "d"와 부합하여 영향 계수(134)의 값을 할당할 수 있다. 분배기(114)는 또한 정현, 정규, 대수 분포 곡선, 또는 무작위 분포 함수와 같은 영향 계수(134)(도 6에 도시됨)의 값들의 미리 결정된 분포와 부합하는 영향 계수(134)의 값들을 할당할 수 있다. 많은 경우에서, 각 시냅스(118)에 관련된 특정 입력 신호(102)에 대한 영향 계수(134) 또는 Ci,d,n의 합 또는 적분은 1(one)의 값을 가질 것이다.For all correction weights 112 of each synapse 118 connected to a given input 102, the divider 114 can assign a value of the influence coefficient 134 in accordance with the interval " d " have. The distributor 114 also assigns the values of the influence coefficient 134 that match the predetermined distribution of the values of the influence coefficient 134 (shown in Figure 6), such as sine, regular, logarithmic distribution, can do. In many cases, the sum or integral of the influence coefficient 134 or Ci , d, n for a particular input signal 102 associated with each synapse 118 will have a value of one.

Figure pct00001
Figure pct00001

가장 단순한 경우에서, 입력 신호값에 가장 근접하게 대응하는 보정 가중치(112)는 영향 계수(134)(Ci,d,n)에 대해 1(one)의 값을 할당받을 수 있고, 반면 다른 간격들에 대한 보정 가중치는 0(zero)의 값을 받을 수 있다.In the simplest case, the correction weights 112 that most closely correspond to the input signal values can be assigned a value of one for the influence coefficient 134 (Ci , d, n ) The correction weights for the two points may be zero.

p-net(100)은 전형적인 신경망(10)과 비교할 때, p-net의 트레이닝 동안 소요 시간 및 다른 리소스들의 사용의 절감에 포커스된다. 비록 p-net(100)의 부분으로서 여기서 기재된 구성들의 일부는 전통적인 신경망에서의 그것과 유사한 특정 명칭 또는 식별자가 지정되었지만, 특정 명칭들은 명확성을 위해 사용되었고, 전통적인 신경망에서 그 상대로부터 다르게 적용될 수 있다. 예를 들어, 입력 신호들(Ii-Im)의 크기를 컨트롤하기 위한 시냅스 가중치(16)는 전통적인 신경망(10)의 전반적인 설정의 과정 동안 설립되고 전통적인 네트워크의 트레이닝 동안 변경된다. 반면, p-net(100)의 트레이닝은 보정 가중치(112)를 변경하는 것에 의해 수행되고, 반면 시냅스 가중치(108)는 트레이닝 동안 변하지 않는다. 추가적으로, 위에서 논의한 것처럼, 각 뉴런(116)은 합하거나 부가하는 구성을 포함하나, 전통적인 신경망(10)에 대해 통상적인 활성 함수 디바이스(22)는 포함하지 않는다.The p-net 100 focuses on the reduction of the time spent on p-net training and the use of other resources when compared to a typical neural network 10. Although some of the configurations described herein as part of p-net (100) have been assigned specific names or identifiers similar to those in conventional neural networks, certain names have been used for clarity and may be applied differently from the opponent in a conventional neural network . For example, synapse weights 16 for controlling the magnitude of the input signals Ii-Im are established during the course of the overall setting of the conventional neural network 10 and are changed during training of the traditional network. On the other hand, training of p-net 100 is performed by changing calibration weights 112, while synapse weights 108 do not change during training. Additionally, as discussed above, each neuron 116 includes a configuration to add or add, but does not include a conventional active function device 22 for a conventional neural network 10. [

전반적으로, p-net(100)은 각 뉴런(116)과 특정 뉴런과 대상 뉴런에 연결된 모든 각 시냅스(118) 및 보정 가중치(112)를 포함하는 모든 연결 시냅스들(118)을 포함하는 뉴런 유닛(119)을 트레이닝함으로써 트레이닝된다. 따라서, p-net(100)의 트레이닝은 각 뉴런(116)에 대해 기여하는 보정 가중치(112)를 변경하는 것을 포함한다. 보정 가중치(112)에 대한 변경은 이하에서 상세히 설명될 방법(200)에 포함된 그룹-트레이닝 알고리즘에 기반하여 발생한다. 설명된 알고리즘에서, 예를 들어, 편차(128)와 같은 트레이닝 에러는 보정값이 각 뉴런(116)에 의해 획득된 합을 결정하는데 사용된 가중치(112)의 각각에 대해 결정되고 할당되는 것에 근거하여 각 뉴런에 대해 결정된다. 트레이닝 동안 이러한 보정의 도입은 대상 뉴런(116)에 대한 편차(128)를 0으로 줄이도록 의도된다. 추가적인 이미지들을 구비한 트레이닝 동안, 이전에 사용된 이미지들에 관련된 새로운 에러들이 다시 발생할 수 있다. 이러한 추가적인 에러들을 제거하기 위해, 한 트레이닝 시기의 완료 이후, p-net(100)의 모든 트레이닝 이미지들에 대한 에러들이 계산될 수 있고, 민약 이러한 에러들이 미리 결정된 값들 보다 크다면, 하나 이상의 추가적인 트레이닝 시기들이 에러가 타겟 또는 미리 설정된 값 보다 작게 될 때까지 이루어진다.Overall, the p-net 100 includes a neuron unit 118 that includes each neuron 116 and all of the connection synapses 118, including all of the respective synapses 118 and calibration weights 112 associated with a particular neuron and the target neuron, Gt; 119 < / RTI > Thus training of p-net 100 includes changing the correction weights 112 contributing to each neuron 116. [ The change to the correction weight 112 occurs based on the group-training algorithm included in the method 200, which will be described in detail below. In the algorithm described, a training error, such as, for example, a deviation 128, is determined based on which the correction value is determined and assigned for each of the weights 112 used to determine the sum obtained by each neuron 116 For each neuron. The introduction of this correction during training is intended to reduce the deviation 128 to the target neuron 116 to zero. During training with additional images, new errors related to previously used images may occur again. To eliminate these additional errors, errors may be computed for all training images of p-net 100 after the completion of one training period, and if these errors are greater than the predetermined values, one or more additional training The times are taken until the error is less than the target or preset value.

도 2-22와 관련하여 앞에서 설명한 것과 같이, 도 23은 p-net(100)을 트레이닝하는 방법(200)을 도시한다. 방법(200)은 방법이 입력 값을 갖는 입력 신호(104)를 입력(102)을 통해 수신하는 것을 포함하는 프레임(202)에서 시작된다. 프레임(202)을 뒤이어, 방법은 프레임(204)으로 진행한다. 프레임(204)에서, 방법은 입력(102)에 동작적으로 연결된 분배기(114)에 대해 입력 신호(104)를 전달하는 것을 포함한다. 프레임(202) 또는 프레임(204)에서, 방법(200)은 인덱스들의 세트에 의해 각 보정 가중치(112)를 정의하는 것을 포함할 수 있다. p-net(100)의 구조에 대해 앞서 설명한 것처럼, 인덱스들의 세트는 입력(102)에 대응하는 보정 가중치(112)를 식별하기 위해 구성된 입력 인덱스 "i"를 포함할 수 있다. 인덱스들의 세트는 또한 각 보정 가중치(112)에 대해 선택된 간격을 특정하기 위해 구성된 간격 인덱스 "d", 및 "Wi,d,n"으로서 특정 뉴런(116)에 대응하는 보정 가중치(112)를 특정하기 위해 구성된 뉴런 인덱스 "n"을 포함할 수 있다. 인덱스들의 세트는 추가적으로 각 보정 가중치(112)가 p-net(100)의 트레이닝 동안 입력 신호(104)에 의해 접근된 횟수를 총계하도록 구성된 액세스 인덱스 "a"를 포함할 수 있다. 따라서, 각 보정 가중치의 현재 상태는 명명 "Wi,d,n,a"를 채택할 수 있다.As previously described in connection with FIGS. 2-22, FIG. 23 illustrates a method 200 for training p-net 100. FIG. The method 200 begins at a frame 202 that includes receiving a input signal 104 having an input value through an input 102. Following frame 202, the method proceeds to frame 204. In frame 204, the method includes conveying an input signal 104 to a distributor 114 operatively coupled to the input 102. In frame 202 or frame 204, method 200 may include defining each correction weight 112 by a set of indices. a set of indices may comprise an input index " i " configured to identify a correction weight 112 corresponding to input 102, as described above for the structure of p-net 100. [ The set of indices also includes an interval index " d " configured to specify an interval selected for each calibration weight 112, and a calibration weight 112 corresponding to a particular neuron 116 as " W i, May comprise a configured neuron index " n " to specify. The set of indices may additionally include an access index " a " configured to sum the number of times each calibration weight 112 is accessed by the input signal 104 during training of the p-net (100). Thus, the current state of each calibration weight can adopt the nomenclature " W i, d, n, a ".

프레임(204)의 이후, 방법은 프레임(206)으로 진행하고, 방법은 분배기(114)를 통해, 입력 값과 관련하여, 대상 입력(102)에 연결된 시냅스(118) 상에 위치한 다수의 보정 가중치들로부터 하나 이상의 보정 가중치(112)를 선택하는 것을 포함한다. 앞서 설명한 것처럼, 각 보정 가중치(112)는 그 각각의 가중치 값에 의해 정의된다. 프레임(206에서, 방법은 추가적으로 분배기(114)를 통해, 다수의 영향 계수들(134)을 다수의 보정 가중치(112)로 할당하는 것을 포함할 수 있다. 프레임(206)에서 방법은 뉴런 합(120)을 작성하기 위해 미리 결정된 비율에서 다수의 보정 가중치(112) 중 하나에 대해 각 영향 계수(134)를 할당하는 것을 포함할 수도 있다. 또한, 프레임(206)에서 방법은 뉴런(116)을 통해, 그에 연결된 모든 시냅스들(118)에 대해 영향 계수(134)를 할당하는 것을 포함할 수 있다. 추가적으로, 프레임(206)에서 방법은 각 영향 계수(134)에 의해 정해진 비율에 따라 뉴런 합(120)을 작성하기 위해 사용된 각 보정 가중치(112)에 대해 결정된 차이의 비율을 가중치 보정 계산기(122)를 통해 적용하는 것을 포함할 수 있다.After the frame 204 the method proceeds to a frame 206 and the method proceeds via a divider 114 to generate a plurality of correction weights < RTI ID = 0.0 >Lt; RTI ID = 0.0 > 112 < / RTI > As described above, each correction weight 112 is defined by its respective weight value. At frame 206, the method may further include assigning a plurality of influence coefficients 134 to the plurality of correction weights 112 via the distributor 114. In frame 206, The method may include assigning each influence coefficient 134 to one of a plurality of correction weights 112 at a predetermined rate to create a neuron 116. In frame 206, The method may include assigning an influence coefficient 134 to all of the synapses 118 connected thereto via the neuron sum 118. In addition, in the frame 206, 120 to the weight correction calculator 122. The weight correction calculator 122 may be used to calculate the correction weights 112 that are used to create the correction weights 120,

p-net(100)의 구조에 대해 앞서 설명한 것처럼, 다수의 영향 계수들(134)은 영향 분포 함수(136)에 의해 정의될 수 있다. 이러한 경우에서, 방법은 추가적으로 간격 분포 함수(140)에 따라 간격 "d"로 나누어진 값 범위(138)로 입력값을 수신하는 것을 포함할 수 있어서, 입력값은 각 간격 내에 수신되고, 각 보정 가중치(112)는 간격들의 하나에 대응한다. 또한, 방법은 각 간격 "d"를 선택하고 다수의 영향 계수들(134)을 선택된 각 간격 "d"에 대응하는 보정 가중치(112)와 선택된 각 간격 "d"에 대해 인접한 간격에 대응하는 적어도 하나의 보정 가중치에 할당하기 위해 분배기(114)를 통해 수신된 입력값을 사용하는 것을 포함할 수 있다. p-net(100)의 구조에 대해 앞에서 설명한 것처럼, 선택된 각 간격 "d"에 인접한 간격에 대응하는 보정 가중치(112)는 예를 들어 Wi,d+i,n 또는 Wi,d i,n과 같이 식별될 수 있다.As described above for the structure of p-net 100, a number of influence factors 134 may be defined by the impact distribution function 136. [ In this case, the method may further comprise receiving an input value in a value range 138 divided by the interval " d " according to the interval distribution function 140 such that the input value is received within each interval, The weight 112 corresponds to one of the intervals. The method also includes selecting a plurality of influence coefficients 134 for each interval " d " corresponding to the selected interval " d " And using the input values received via the distributor 114 to assign to one calibration weight. As described above for the structure of p-net 100, the correction weights 112 corresponding to the intervals adjacent to the selected interval "d" are, for example, W i, d + i, n or W i, di, n . ≪ / RTI >

프레임(206)에 후속하여, 방법은 프레임(208)으로 진행한다. 프레임(208)에서, 방법은 뉴런 합(120)을 작성하기 위해 시냅스(118)를 통해 입력(102)에 연결된 특정 뉴런(116)에 의해 선택된 보정 가중치(112)의 가중치 값들을 합하는 것을 포함할 수 있다. p-net(100)의 구조에 대해 앞서 설명한 것처럼, 각 뉴런(116)은 적어도 하나의 출력(117)을 포함한다. 프레임(208)의 이후, 방법은 프레임(210)으로 진행하고, 방법은 신호값을 갖는 원하는 출력 신호(124)를 가중치 보정 계산기(122)를 통해 수신하는 것을 포함한다. 프레임(210)에 후속하여, 방법은 방법이 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 편차(128)를 가중치 보정 계산기(122)를 통해 결정하는 것을 포함하는 프레임(212)으로 진행한다.Following frame 206, the method proceeds to frame 208. In frame 208, the method includes adding weight values of the correction weights 112 selected by the particular neuron 116 coupled to the input 102 via synapse 118 to create a neuron sum 120 . As described above for the structure of p-net 100, each neuron 116 includes at least one output 117. After the frame 208, the method proceeds to frame 210, and the method includes receiving via the weight correction calculator 122 the desired output signal 124 having a signal value. Following the frame 210, the method further includes determining a weighted average of the output signal 124 from the value of the desired output signal 124 to the frame 212, which includes determining the deviation 128 of the neuron sum 120 via the weight correction calculator 122 Go ahead.

p-net(100)의 설명에서 앞서 설명한 것처럼, 원하는 출력 신호 값으로부터 뉴런 합(120)의 편차(128)의 결정은 그 사이에서 수학적 차이를 결정하는 것을 포함할 수 있다. 추가적으로, 각 보정 가중치(112)의 변형은 뉴런 합(120)을 작성하도록 사용된 각 보정 가중치에 대해 수학적 차이를 배분하는 것을 포함할 수 있다. 대안으로, 수학적 차이의 배분은 뉴런 합(120)을 작성하기 위해 사용된 각 보정 가중치(112)의 사이에서 결정된 차이를 동일하게 나누는 것을 포함할 수 있다. 다른 개별적인 실시예에서, 편차(128)의 결정은 또한 그에 따라 편차 계수를 작성하기 위해 뉴런 합(120)에 의해 원하는 출력 신호(124)의 값을 나누는 것을 포함할 수 있다. 또한, 이러한 경우에서, 각 보정 가중치(112)의 변형은 편차 계수를 작성하기 위해 뉴런 합(120)을 작성하는데 사용된 각 보정 가중치(112)를 곱하는 것을 포함할 수 있다.The determination of the deviation 128 of the neuron sum 120 from the desired output signal value may include determining a mathematical difference therebetween, as described above in the description of p-net 100. [ In addition, the modification of each calibration weight 112 may include distributing a mathematical difference for each calibration weight used to create the neuron sum 120. Alternatively, the distribution of the mathematical differences may include equally dividing the difference determined between each calibration weight 112 used to create the neuron sum 120. In another particular embodiment, the determination of the deviation 128 may also include dividing the value of the desired output signal 124 by the neuron sum 120 to produce a deviation coefficient accordingly. Further, in this case, the modification of each correction weight 112 may include multiplying each correction weight 112 used to create the neuron sum 120 to produce a deviation coefficient.

프레임(212)의 이후, 방법은 프레임(214)으로 진행한다. 프레임(214)에서 방법은 결정된 편차(128)를 사용하여 각 보정 가중치 값을 가중치 보정 계산기(122)를 통해 변형하는 것을 포함한다. 변형된 보정 가중치 값은 이후 합산되거나 합해지고, 그리고 새로운 뉴런 합(120)을 결정하는데 사용될 수 있다. 합산되어 변형된 보정 가중치 값은 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 편차를 최소화하기 위해 제공하고 따라서 p-net(100)을 트레이닝할 수 있다. 프레임(214)에 후속하여, 방법(200)은 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 편차가 충분히 최소화될 때까지 추가적인 트레이닝 시기를 수행하기 위해 프레임(202)으로 돌아갈 수 있다. 다시 말해서, 추가적인 트레이닝 시기들이 원하는 출력 신호(124) 상의 뉴런 합(120)이 미리 결정된 편차 또는 에러 값 내로 수렴하도록 수행될 수 있고, p-net(100)은 트레이닝된 것으로 고려되고 새로운 이미지들과 동작을 위해 준비할 수 있다.After the frame 212, the method proceeds to the frame 214. The method in frame 214 includes transforming each correction weight value through the weight correction calculator 122 using the determined deviation 128. The modified calibration weight values may then be summed or summed and then used to determine a new neuron sum 120. The summed modified correction weight value may be provided to minimize the deviation of the neuron sum 120 from the value of the desired output signal 124 and thus train the p-net (100). Following the frame 214, the method 200 may return to the frame 202 to perform additional training periods until the deviation of the neuron sum 120 from the value of the desired output signal 124 is sufficiently minimized . In other words, additional training periods may be performed so that the neuron sum 120 on the desired output signal 124 converges into a predetermined deviation or error value, and the p-net 100 is considered to be trained and the new images You can prepare for action.

전반적으로, 입력 이미지(106)는 p-net(100)의 트레이닝을 위해 준비될 필요가 있다. 트레이닝을 위한 p-net(100)의 준비는 전반적으로 입력 이미지들(106), 다수의 경우, 대상 입력 이미지들에 대응하는 원하는 출력 이미지들(126)을 포함하는 트레이닝 이미지들의 세트의 형성으로 시작된다. p-net(100)의 트레이닝을 위해 입력 신호들 I1, I2 … Im 에 의해 정의된 입력 이미지들(106)(도 2에 도시)는 예를 들어, 사람 이미지 또는 다른 객체들의 인식, 특정 행동의 인식, 클러스터링 또는 데이터 분류, 통계학적 데이터의 분석, 패턴 인식, 예측, 또는 특정 과정들의 컨트롤과 같이 p-net이 다루도록 할당된 태스크들과 부합하여 선택된다. 따라서, 입력 이미지(106)는 예를 들어, jpeg, gif, 또는 pptx 포맷을 사용하여 컴퓨터에 도입되기 적합한 어느 형태, 테이블, 차트, 다이어그램과 그래픽, 다양한 문서 포맷 또는 기호들의 세트의 형태로 표시될 수 있다.Overall, the input image 106 needs to be prepared for the training of the p-net 100. The preparation of the p-net 100 for training generally begins with the formation of a set of training images that include the input images 106, in many cases the desired output images 126 corresponding to the target input images do. For training of p-net 100, input signals I 1 , I 2 ... The input images 106 (shown in Fig. 2) defined by I m may be used for example for recognition of human images or other objects, recognition of specific behaviors, clustering or data classification, analysis of statistical data, It is selected in conjunction with tasks assigned to the p-net to handle, such as prediction, or control of specific processes. Thus, the input image 106 may be displayed in any form, table, chart, diagram and graphics, a variety of document formats, or a set of symbols suitable for being introduced into a computer using, for example, the jpeg, gif, or pptx format .

p-net(100)의 트레이닝을 위한 준비는 예를 들어, 모든 이미지들을 동일한 수의 신호들을 갖는 포맷으로, 또는 사진의 경우, 동일한 수의 화소로 변환하는 것과 같이, p-net(100)에 의해 대상 이미지의 프로세싱을 위해 편리한 그 통일화를 위해 선택된 입력 이미지(106)의 변환을 포함할 수 있다. 색상 이미지들은 예를 들어, 세 개의 기본 색상의 조합으로서 표현될 수 있다. 이미지 변환은 예를 들어, 공간에서 이미지를 들어내고, 기호, 숫자, 또는 메모를 추가하는 것뿐만 아니라, 해상도, 밝기, 명암, 색상, 관점, 시각, 초점거리 및 초점, 이미지의 시각적 특징을 변경하는 특성의 변환을 포함할 수 있다.The preparation for training of p-net 100 may be performed on p-net 100, such as, for example, converting all images into a format having the same number of signals, or, The transformation of the selected input image 106 for its unification that is convenient for processing the target image. The color images can be represented, for example, as a combination of three basic colors. Image conversion can be done by changing the resolution, brightness, contrast, color, perspective, vision, focal length and focus, and visual characteristics of the image, as well as extracting images from the space and adding symbols, numbers, Lt; RTI ID = 0.0 > and / or < / RTI >

간격들의 개수의 선택 이후, 특정 입력 이미지는 즉, 실제 신호값들이 각 대상 개별적 신호들이 속한 간격들의 숫자로서 기록될 수 있는 간격 포맷의 입력 이미지로 컨버팅될 수 있다. 이러한 절차는 특정 이미지에 대해 각 트레이닝 시기에서 수행될 수 있다. 그러나, 이미지는 간격 숫자들의 세트로서 한번 형성될 수도 있다. 예를 들어, 도 7에서 초기 이미지는 사진으로서 표시되고, 반면 "디지털 포맷의 이미지"의 테이블에서 동일한 이미지는 디지털 코드의 형태로 표시되며, "간격 포맷의 이미지" 테이블에서 이미지는 간격 숫자의 세트로서 표시되며, 개별적인 간격은 디지털 코드의 각 10개 값들을 위해 할당된다.After the selection of the number of intervals, a particular input image may be converted to an input image in an interval format in which the actual signal values can be recorded as the number of intervals at which each target individual signal belongs. This procedure can be performed at each training time for a specific image. However, the image may be formed once as a set of interval numbers. For example, in Fig. 7, the initial image is displayed as a photograph while the same image in the table of " images in digital format " is displayed in the form of a digital code, And individual intervals are assigned for each of the ten values of the digital code.

설명된 것처럼 p-net(100)의 설명된 구조와 트레이닝 알고리즘 또는 방법(200)은 p-net의 계속되거나 반복되는 트레이닝을 허용하고, 따라서, 트레이닝 과정의 시작에서 입력 이미지(106)의 트레이닝의 완료된 세트를 형성할 필요가 없다. 상대적으로 작은 트레이닝 이미지들의 시작 세트를 형성하는 것이 가능하고, 이러한 시작 세트는 필요한만큼 확장될 수 있다. 입력 이미지들(106)은 예를 들어, 한 사람의 사진의 세트, 고양이의 사진의 세트, 또는 자동차의 사진의 세트와 같이 구분되는 카테고리로 나뉠 수 있고, 각 카테고리는 사람의 이름이나 특정 라벨과 같은 단일 출력 이미지에 대응한다. 원하는 출력 이미지(126)는 필드 또는 디지털의 테이블을 나타내고, 각 포인트는 -∞에서 +∞까지 특정 수치값에 대응한다. 원하는 출력 이미지(126)의 각 포인트는 p-net(100)의 뉴런들의 하나의 출력에 대응한다. 원하는 출력 이미지(126)는 이미지, 텍스트, 공식, 바코드와 같은 기호의 세트 또는 소리의 디지털 또는 아날로그 코드로 인코딩될 수 있다.As described, the described structure and training algorithm or method 200 of p-net 100 allows for continuous or repeated training of p-net, and thus allows the training of the input image 106 at the beginning of the training process There is no need to form a completed set. It is possible to form a starting set of relatively small training images, and such a starting set can be extended as needed. The input images 106 can be divided into categories, such as, for example, a set of photographs of a person, a set of photographs of a cat, or a set of photographs of an automobile, and each category may include a person's name, Corresponds to the same single output image. The desired output image 126 represents a field or digital table, where each point corresponds to a particular numerical value from -∞ to + infinity. Each point of the desired output image 126 corresponds to one output of the neurons of p-net (100). The desired output image 126 may be encoded in a digital or analog code of a set or sound of images, text, formulas, bar codes, or the like.

가장 간단한 경우에서, 각 입력 이미지(106)는 출력 이미지에 대응할 수 있고, 대상 입력 이미지를 인코딩할 수 있다. 이러한 출력 이미지의 포인트들의 하나는 예를 들어 100%인 최대 가능한 값을 할당받을 수 있고, 모든 다른 포인트들은 예를 들어 0의 최소 가능한 값을 할당받을 수 있다. 이러한 경우, 후속하는 트레이닝에서, 트레이닝 이미지들과 유사한 가능성의 형태에서 다양한 이미지들의 확률적 인식이 가능하게 될 것이다. 도 8은 사각형과 원의 두 이미지들의 인식에 대해 트레이닝된 p-net(100)이 각 그림이 합이 반드시 100%는 아닌 확률로서 표현된 각 그림의 일부 구성들을 포함한 사진을 인식할 수 있는지 예를 도시한다. 트레이닝을 위해 사용된 다른 이미지들의 사이에서 유사도의 확률을 정의하는 것에 의해 패턴 인식의 과정는 특정 이미지를 분류하는데 사용될 수 있다.In the simplest case, each input image 106 may correspond to an output image and may encode a target input image. One of the points of the output image may be assigned a maximum possible value, for example 100%, and all other points may be assigned a minimum possible value of, for example, zero. In this case, in subsequent training, probabilistic recognition of various images in the form of likelihoods similar to training images will be possible. Figure 8 shows that the p-net (100) trained for recognition of both rectangular and circular images can recognize a picture containing some of the components of each picture represented as a probability that the sum is not necessarily 100% / RTI > By defining the probability of similarity between different images used for training, the process of pattern recognition can be used to classify a particular image.

정확도를 개선하고 에러를 배제하기 위해, 코딩이 하나의 출력 보다는 여러 뉴럴 출력의 세트를 사용하여 수행될 수 있다(이하 참조). 가장 단순한 경우에서, 출력 이미지들이 트레이닝에 앞서 준비될 수 있다. 그러나, 트레이닝 동안 p-net(100)에 의해 형성되는 출력 이미지들을 갖는 것 역시 가능하다.In order to improve accuracy and eliminate errors, coding can be performed using a set of multiple neural outputs rather than one output (see below). In the simplest case, the output images can be prepared prior to training. However, it is also possible to have output images formed by p-net 100 during training.

p-net(100)에서, 입력 및 출력 이미지들을 인버팅하는 가능성도 역시 있다. 다시 말해서, 입력 이미지(106)는 디지털 또는 아날로그 값들의 필드 또는 테이블의 형태로 있을 수 있고, 각 포인트는 p-net의 하나의 입력에 대응하며, 반면, 출력 이미지는 예를 들어, jpeg, gif, pptx 포맷을 사용하여 컴퓨터에 도입되기 적합한 어느 형태, 테이블, 차트, 다이어그램과 그래픽, 다양한 문서 포맷 또는 기호들의 세트의 형태로 표시될 수 있다. 결과적인 p-net(100)은 이미지의 관련된 검색, 음악적 표현, 수식 또는 데이터 세트 뿐만 아니라 시스템을 보존하는데 상당히 적합할 수 있다.In p-net 100, there is also the possibility of inverting input and output images. In other words, the input image 106 may be in the form of a field or table of digital or analog values, each point corresponding to one input of p-net, while the output image may be, for example, jpeg, gif , tables, charts, diagrams and graphics, various document formats, or a set of symbols, suitable for use in a computer using the pptx format. The resulting p-net 100 may be well suited for preserving systems as well as related searches, musical expressions, formulas or data sets of images.

입력 이미지(106)의 준비에 후속하여, 통상적으로 p-net(100)은 형성될 필요가 있고 및/또는 존재하는 p-net의 파라미터들은 특정 태스크(들)를 핸들링하기 위해 설정되어야 한다. p-net(100)의 형성은 후속하는 목적을 포함할 수 있다.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 must be set to handle the particular task (s). The formation of p-net 100 may include the following objectives.

● 입력 및 출력의 개수에 의해 정의되는 p-net(100)의 차원(dimensions);The dimensions of p-net (100) defined by the number of inputs and outputs;

● 모든 입력들에 대한 시냅스 가중치(108);A synaptic weight 108 for all inputs;

● 보정 가중치(112)의 개수● Number of calibration weights (112)

● 입력 신호(104)의 다른 값들을 위한 보정 가중치 영향 계수들(Ci,d,n)의 분포; 및The distribution of the correction weighting influence factors (Ci , d, n ) for different values of the input signal 104; And

● 원하는 트레이닝의 정확도● Accuracy of desired training

입력의 개수는 입력 이미지(106)의 크기에 기초하여 결정된다. 예를 들어, 다수의 화소들이 사진에 사용될 수 있고, 반면 출력의 선택된 개수는 원하는 출력 이미지(126)의 크기에 의존할 수 있다. 일부 경우에서, 출력의 선택된 개수는 트레이닝 이미지의 카테고리의 개수에 의존할 수 있다.The number of inputs is determined based on the size of the input image 106. For example, a plurality of pixels may be used for the photo, while the selected number of outputs may depend on the size of the desired output image 126. [ In some cases, the selected number of outputs may depend on the number of categories of training images.

개별적인 시냅스 가중치(108)의 값들은 -∞에서 +∞의 범위에 있을 수 있다. 0 보다 작은 시냅스 가중치(108)는 신호 증폭을 나타낼 수 있고, 특정 입력으로부터 또는 예를 들어, 많은 수의 다른 개별 또는 객체들을 포함하는 사진에서 사람 얼굴의 더 효과적인 인식을 위해 특정 이미지로부터 영향을 향상시키는데 사용될 수 있다. 반면, 0보다 큰 시냅스 가중치(108)의 값들은 신호 감쇄를 나타내는데 사용될 수 있고, p-net(100)의 필요한 계산의 수를 줄이고 동작 속도를 증가시키기 위해 사용될 수 있다. 전반적으로, 시냅스 가중치(108)가 커질수록, 보다 감쇄된 신호가 대응하는 뉴런으로 전송된다. 만약 모든 입력들에 대해 대응하는 모든 시냅스 가중치(108)가 동일하고 뉴런들이 모든 입력들에 동일하게 연결된다면, 신경망은 범용적으로 될 것이고, 사전에 이미지의 특성에 대해 거의 알려져 있지 않은 때와 같이 통상적인 태스크들에 대해 가장 효과적으로 될 것이다. 그러나, 이러한 구조는 트레이닝 및 동작 동안 요구되는 계산의 수가 점차적으로 증가하게 될 것이다.The values of the individual synapse weights 108 may range from -∞ to + infinity. A synaptic weight 108 less than zero may indicate signal amplification and may improve the effect from a particular image for more effective recognition of a human face from a particular input or, for example, from a photograph containing a large number of different individuals or objects . On the other hand, values of synaptic weights 108 greater than zero can be used to indicate signal attenuation and can be used to reduce the number of required calculations of p-net 100 and increase the operating speed. Overall, the larger the synaptic weights 108, the more attenuated signals are transmitted to the corresponding neurons. If all the corresponding synaptic weights 108 for all inputs are the same and the neurons are equally connected to all inputs, then the neural network will be universal and, as is the case with little prior knowledge of the characteristics of the image It will be most effective for typical tasks. However, such a structure will gradually increase the number of calculations required during training and operation.

도 9는 입력과 각 뉴런들의 연관이 통계학적 정규 분포와 부합하여 줄어드는 p-net(100)의 일 실시예를 도시한다. 시냅스 가중치(108)의 고르지 않은 분포는 전체 입력 신호가 특정 입력에 대해 타겟 또는 "중앙" 뉴런에 전달되는 것을 유도할 것이고, 따라서 대상 시냅스 가중치에 대해 0의 값을 할당한다. 추가적으로, 시냅스 가중치의 고르지 않은 분포는 다른 뉴런들이 예를 들어, 정규(normal), 대수-정규(log-normal), 정현(sinusoidal) 또는 다른 분포를 사용하여 감소된 입력 신호값들을 수신하도록 유도할 수 있다. 감소된 입력 신호값들을 수신하는 시냅스 가중치(108)의 값들은 "중앙" 뉴런으로부터 그 거리의 증가를 따라 함께 증가할 수 있다. 이러한 경우에서, 계산의 개수는 줄어들 수 있고 p-net의 동작은 속도가 빨라질 수 있다. 이러한 네트워크에서, 완전하게 연결되고 불완전하게 연결된 것으로 알려진 신경망들의 조합은 예를 들어 사람 얼굴 또는 영화의 연속적인 프레임과 같은 강한 내부 패턴들을 갖는 이미지들의 분석을 위해 대단히 효과적일 수 있다.Figure 9 illustrates one embodiment of a p-net (100) where the input and the association of each neuron decrease in accordance with a statistical normal distribution. The uneven distribution of synaptic weights 108 will induce the entire input signal to be delivered to a target or " central " neuron for a particular input, thus assigning a value of zero for the target synaptic weight. Additionally, an uneven distribution of synaptic weights may induce other neurons to receive reduced input signal values using, for example, normal, log-normal, sinusoidal or other distributions . The values of the synaptic weights 108 receiving the reduced input signal values may increase together along with the increase in distance from the " center " neuron. In this case, the number of calculations can be reduced and the operation of p-net can be faster. In such a network, a combination of neural networks that are known to be fully connected and incompletely connected may be highly effective for the analysis of images having strong internal patterns, such as, for example, human faces or successive frames of a movie.

도 9는 로컬 패턴의 인식을 위해 효과적인 p-net(100)의 실시예를 도시한다. 공통 패턴들의 식별을 개선하기 위해, 시냅스 가중치(108)의 값들이 작거나 0인 강한 연결의 10-20%는 그리드(grid)의 형태와 같이 결정론적인 또는 무작위적인 접근에서 전체 p-net(100)을 통해 분포될 수 있다. 특정 태스크를 다루기 위해 의도된 p-net(100)의 실제 형성은 소프트웨어 객체와 같이 시냅스, 시냅스 가중치, 분배기, 보정 가중치, 뉴런 등과 같은 p-net의 주요 구성들을 작성하는 예를 들어 객체-지향 프로그래밍 언어로 작성된 프로그램을 사용하여 수행될 수 있다. 이러한 프로그램은 지목된 객체와 그 행동을 특정하는 알고리즘 사이의 관례를 할당할 수 있다. 특히, 시냅틱 및 보정 가중치들은 그 초기값으로 설정됨과 함께 p-net(100)의 형성의 시작에서 형성될 수 있다. p-net(100)은 그 트레이닝의 시작 전에 완전하게 형성될 수 있고 예를 들어, 네트워크의 수용력이 고갈되는 때 또는 치명적인 에러의 경우 필요에 따라 이후 프레임에서 변경되거나 추가될 수 있다. p-net(100)의 완성은 또한 트레이닝이 계속되는 동안 가능할 수도 있다.Figure 9 shows an embodiment of an effective p-net (100) for local pattern recognition. In order to improve the identification of common patterns, 10-20% of strong connections with values of synaptic weights 108 of less than or equal to zero are considered to be in total p-net (100) in a deterministic or random approach, such as in the form of a grid ). ≪ / RTI > The actual formation of a p-net (100) intended to deal with a particular task can be accomplished by creating key p-net constructs such as synapses, synaptic weights, distributors, calibration weights, neurons, Can be performed using a program written in a language. Such a program can assign a convention between an object that is specified and an algorithm that specifies its behavior. In particular, the synaptic and calibration weights may be formed at the beginning of the formation of p-net 100 with its initial value set. The p-net 100 may be fully formed prior to the start of its training and may be changed or added in subsequent frames, for example, when the capacity of the network is exhausted, or in case of a fatal error, as needed. Completion of p-net 100 may also be possible while training is continuing.

p-net(100)이 미리 형성되면, 특정 시냅스 상의 선택된 보정 가중치의 개수는 입력 신호들의 범위 내의 간격들의 개수와 동일할 수 있다. 추가적으로, 보정 가중치들은 개별적인 간격의 모양에 대응한 신호들로서 p-net(100)의 형성 이후 작성될 수 있다. 전통적인 신경망(10)과 유사하게, p-net(100)의 파라미터의 선택과 설정은 목적된 실험의 일련을 통해 제공된다. 이러한 실험은 (1) 모든 입력들에서 동일한 시냅스 가중치(108)를 갖는 p-net의 형성 및 (2) 선택된 이미지를 위한 입력 신호값들의 평가와 간격들의 개수의 초기적 선택을 포함할 수 있다. 예를 들어, 바이너리(하나의 색상) 이미지의 인식을 위해, 단지 2개의 간격을 갖는 것으로 충분할 수 있고; 8비트 이미지의 질적인 인식을 위해 최대 256개의 간격들이 사용될 수 있고; 복잡한 통계적 의존성의 근사치는 수십 또는 심지어 수백개의 간격을 필요로할 수 있고; 큰 데이터베이스를 위해 간격들의 개수는 수천일 수 있다.Once p-net 100 is preformed, the number of selected calibration weights on a particular synapse may be equal to the number of intervals within the range of input signals. Additionally, calibration weights may be created after formation of p-net 100 as signals corresponding to the shape of the individual gaps. Similar to the conventional neural network 10, the selection and setting of the parameters of the p-net 100 are provided through a series of desired experiments. This experiment may include (1) the formation of p-net with the same synaptic weights 108 at all inputs and (2) the evaluation of the input signal values for the selected image and the initial selection of the number of intervals. For example, for the recognition of a binary (one color) image, it may suffice to have only two intervals; Up to 256 intervals may be used for qualitative recognition of 8 bit images; An approximation of the complex statistical dependence may require tens or even hundreds of intervals; For large databases the number of intervals can be several thousand.

p-net(100)의 트레이닝의 과정에서, 입력 신호들의 값들은 특정 간격들의 사이에서 분포됨에 따라 통합(rounded)될 수 있다. 따라서, 간격의 개수에 의해 나누어진 범위의 폭보다 큰 입력 신호들의 정확도는 요구되지 않을 수 있다. 예를 들어, 입력 값 범위가 100 유닛에 대해 설정되고 간격의 개수가 10이면, ± 5 이상의 정확도는 요구되지 않을 것이다. 이러한 실험은 (3) 특정 입력 신호를 위해 간격에 대응하는 보정 가중치를 위해 1과 동일하게 설정될 수 있고, 반면 모든 잔존하는 보정 가중치들을 위한 보정 가중치 영향은 0으로 설정될 수 있는 입력 신호들의 값의 전체 범위를 통한 간격들의 균일한 분포와 보정 가중치 영향 계수들 Ci,d,n을 위한 가장 단순한 분포의 선택을 포함할 수 있다. 이러한 실험은 추가적으로 (4) 미리 결정된 정확도로 하나, 그 이상, 또는 전체 준비된 트레이닝 이미지들을 갖는 트레이닝 p-net(100)를 포함할 수 있다.In the course of training the p-net 100, the values of the input signals may be rounded as they are distributed between specific intervals. Thus, the accuracy of input signals greater than the width of the range divided by the number of intervals may not be required. For example, if the input value range is set for 100 units and the number of intervals is 10, an accuracy of more than +/- 5 would not be required. This experiment can be set equal to 1 for (3) the correction weights corresponding to the interval for a particular input signal, whereas the correction weight effect for all remaining correction weights can be set to the value of the input signals And the selection of the simplest distribution for the correction weighting influence factors Ci , d, n . This experiment may additionally (4) include training p-net 100 with one, more, or all prepared training images with a predetermined accuracy.

미리 결정된 정확도를 위한 p-net(100)의 트레이닝 시간은 실험에 의해 설정될 수 있다. 만약 p-net(100)의 정확도 및 트레이닝 시간이 충분하다면, 선택된 설정들은 유지되거나 변경될 수 있고, 반면 검색은 보다 효과적인 분산을 위해 계속된다. 만약, 요구된 정확도가 달성되지 않았다면, 취적화 목적을 위해 특정 변형의 영향이 평가될 것이고, 이것은 그때 하나 또는 그룹으로 수행될 수 있다. 이러한 변형의 평가는 간격들의 개수를 증가시키거나 줄이는 변경; 보정 가중치 영향 계수 (Ci,d,n)의 분포 타입을 변경하고, 정규, 파워, 대수 또는 대수 정규 분포를 사용하는 것처럼 간격들의 비정규 분포로 분산을 테스팅; 및 예를 들어 비정규 분포에 대한 전이와 같이 시냅스 가중치(108)의 값을 변경하는 것을 포함할 수 있다. The training time of p-net (100) for predetermined accuracy can be set by experiment. If the accuracy and training time of p-net (100) is sufficient, the selected settings can be maintained or changed, while the search continues for more effective distribution. If the required accuracy has not been achieved, the effect of the particular modification will be evaluated for the purpose of acquisition, which can then be performed in one or a group. The evaluation of such a modification may include changing the number of intervals to increase or decrease; Calibration Weighing Change the distribution type of the influence coefficients (C i, d, n ) and test the variance with an irregular distribution of intervals, such as using normal, power, logarithmic, or lognormal distributions; And changing the value of synaptic weight 108, such as, for example, a transition to an unordered distribution.

만약, 정확한 결과를 위해 요구되는 트레이닝 시간이 과도한 것 같다면, 증가된 수의 간격들을 갖는 트레이닝은 트레이닝 시간 상에 그 효과에 대해 평가될 수 있다. 만약, 그 결과, 트레이닝 시간이 감소되면, 간격들의 개수에서 증가는 바람직한 트레이닝 시간이 필요한 정확도의 손실없이 획득될 때까지 반복될 수 있다. 만약, 트레이닝 시간이 간격들의 증가하는 개수에 따라 줄어드는 대신 증가한다면, 추가적인 트레이닝은 줄어든 개수의 간격들로 수행될 것이다. 만약, 간격들의 줄어든 개수가 줄어든 트레이닝 시간을 유도한다면, 간격들의 개수는 바람직한 트레이닝 시간이 획득될 때까지 더 감소할 수 있다.If the training time required for an accurate result seems excessive, training with an increased number of intervals may be evaluated for its effect on the training time. If, as a result, the training time is reduced, the increase in the number of intervals can be repeated until the desired training time is obtained without loss of the required accuracy. If the training time increases instead of decreasing with increasing number of intervals, additional training will be performed with a reduced number of intervals. If the reduced number of intervals induces a reduced training time, the number of intervals may further decrease until the desired training time is obtained.

p-net(100) 설정의 형성은 미리 결정된 트레이닝 시간 및 트레이닝 정확도의 실험적 결정으로 트레이닝을 통할 수 있다. 파라미터들은 위에서 설명한 것들과 유사한 실험적 변경을 통해 개선될 수 있다. 다양한 p-net을 갖는 실제 실행은 설정 선택의 절차는 전반적으로 간단하고 시간을 소모하지 않음을 보여주고 있다.The formation of the p-net (100) setting may be through training with an empirical determination of a predetermined training time and training accuracy. The parameters may be improved through experimental variations similar to those described above. Actual execution with various p-net shows that the procedure of setting selection is generally simple and does not waste time.

도 23에서 도시된 방법(200)의 일부로서 p-net(100)의 실제 트레이닝은 입력 이미지 신호들(I1, I2 … Im)을 그들이 시냅스(118)에 대해 전송된 곳으로부터 네트워크 입력 디바이스(102)에 대해 공급하는 것으로 시작하고, 시냅스 가중치(108)를 통과하고 분배기(또는 분배기들의 그룹)에 입력한다. 입력 신호값에 기초하여, 분배기(114)는 특정 입력 신호(104)가 대응하는 간격 “d”의 숫자를 설정하고, 각 입력(102)에 연결된 모든 시냅스들(118)의 가중치 보정 블록(110)의 모든 보정 가중치(112)에 대해 보정 가중치 영향 계수 Ci,d,n를 할당한다. 예를 들어, 만약 간격 “d”가 제 1 입력에 대해 3으로 설정될 수 있다면, W1, 3,n Ci,3,n = 1인 모든 가중치에 대해 1로 설정되고, 반면 i≠ 1이고 d≠ 3인 모든 다른 가중치들에 대해 Ci,d,n은 0으로 설정될 수 있다.The actual training of the p-net 100 as part of the method 200 shown in Fig. 23 is based on inputting the input image signals I 1 , I 2 ... I m from the network inputs Device 102, and passes through the synapse weight 108 and into the divider (or group of distributors). Based on the input signal values, the divider 114 sets the number of corresponding intervals " d " by the particular input signal 104 and the weight correction block 110 The correction weight influence coefficient Ci , d, n is assigned to all the correction weights 112 of the input image data. For example, if the interval "d" can be set to 3 for the first input, it is set to 1 for all weights W 1, 3, n C i, 3, n = 1, while i ≠ 1 and C i, d, for all the other weights of d ≠ n 3 may be set to zero.

아래의 관계에서 “n”으로서 식별된 각 뉴런(116)에 대해, 뉴런 출력 합 ∑1, ∑2.. .∑n은 아래 관계에서 Wi,d,n로서 식별된 각 보정 가중치(112)를 특정 뉴런에 대해 기여하는 모든 시냅스들(118)에 대해 대응하는 보정 가중치 영향 계수 Ci,d,n를 곱하고, 획득된 값들을 모두 더함에 의해 형성된다.In relation to the bottom for each of the neurons 116 is identified as "n", neurons output sum Σ1, Σ2 .. .Σn the respective correction weights as identified below in relation to W i, d, n (112 ) For all synapses 118 that contribute to a particular neuron, by the corresponding correction weighting influence coefficients C i, d, n , and adding all of the obtained values.

Figure pct00002
Figure pct00002

Wi,d,n x Ci,d,n의 곱은 예를 들어, 분배기(114)와 같은 저장된 가중치를 갖는 다양한 디바이스들에 의해 또는 뉴런(116)에 의해 직접 수행될 수 있다. 합들은 뉴런 출력(117)을 통해 가중치 보정 계산기(122)로 전달된다. 원하는 출력 이미지(126)를 설명하는 원하는 출력 신호들 O1, O2 … On은 역시 계산기(122)로 공급된다.The product of W i, d, n x C i, d, n may be performed by various devices having stored weights, such as, for example, distributor 114, or directly by neuron 116. The sums are passed to the weight correction calculator 122 via the neuron output 117. The desired output signals O 1 , O 2 ... O n is also supplied to the calculator 122.

위에서 논의한 것처럼, 가중치 보정 계산기(122)는 출력 신호 O1, O2 … On 를 갖는 뉴런 출력 합 ∑1,∑2 ... ∑n의 비교에 의해 보정 가중치의 변형된 값들을 계산하기 위한 연산 디바이스이다. 도 11은 뉴런 출력 합 ∑1에 대해 기여하는 보정 가중치 Wi,d,1의 세트가 대응하는 보정 가중치 영향 계수 Ci,d,1에 의해 곱해지고 이러한 곱들이 뉴런 출력 합 ∑1에 의해 더해지는 것을 보여준다.As discussed above, the weight correction calculator 122 generates output signals O 1 , O 2 ... Is an arithmetic device for calculating the modified values of the correction weights by comparing the neuron output sums Σ1, Σ2 ... Σn with O n . Fig. 11 is a graph showing how the set of correction weights W i, d, 1 contributing to the neuron output sum Σ 1 is multiplied by the corresponding correction weight influence coefficient C i, d, 1 and these products are added by the neuron output sum Σ 1 .

Figure pct00003
Figure pct00003

트레이닝이 시작함에 따라, 예를 들어, 제 1 시기 동안, 보정 가중치 Wi,d,1는 트레이닝에 대해 사용된 입력 이미지(106)에 대응하지 않으며, 따라서, 뉴런 출력 합들 ∑1는 대응하는 원하는 출력 이미지(126)와 동일하지 않다. 최초 보정 가중치 Wi,d,1에 기초하여, 가중치 보정 시스템은 뉴런 출력 합 ∑1에 기여하는 모든 보정 가중치들(Wi,d,1)을 변경하기 위해 사용되는 보정값 Δ1을 계산한다. P-net(100)은 특정된 뉴런(116)에 기여하는 모든 보정 가중치들 Wi,d,n에 대한 집단적인 보정 신호들의 그 형성과 사용에 대해 다양한 옵션들과 변형들을 허용한다.As the training begins, for example, during the first period, the calibration weights W i, d, 1 do not correspond to the input image 106 used for training, and thus the neuron output sums Σ 1 are the corresponding desired Output image 126. < / RTI > Based on the initial calibration weights Wi , d, 1 , the weight correction system calculates a correction value? 1 that is used to change all correction weights W i, d, 1 contributing to the neuron output sum? 1. P-net 100 allows various options and variations on its formation and use of collective correction signals for all correction weights W i, d, n contributing to the specified neuron 116.

이하에는 집단적인 보정 신호들의 형성과 사용에 대한 2개의 예시적이고 비제한적인 변형들이 있다. 변형 1 - 원하는 출력 신호와 획득된 출력 합들의 차이에 기초하여 보정 신호들의 형성 및 사용은 다음과 같다:There are two exemplary, non-limiting variations on the formation and use of collective correction signals. Variant 1 - The formation and use of correction signals based on the difference between the desired output signal and the obtained output sums are as follows:

● 수식에 따라 뉴런 “n”에 기여하는 모든 보정 가중치들에 대해 동일한 보정값 Δn의 계산Calculation of the same correction value [Delta] n for all correction weights contributing to the neuron " n "

*

Figure pct00004
*
Figure pct00004

여기서, here,

On - 뉴런 출력 합 ∑n에 대응하는 원하는 출력 신호On - the desired output signal corresponding to the neuron output sum [

S - 뉴런 “n”에 연결된 시냅스들의 개수S - the number of synapses connected to the "n" neurons

● 수식에 따라 뉴런 “n”에 기여하는 모든 보정 가중치 Wi,d,n의 변경Change of all correction weights W i, d, n contributing to neuron "n" according to the formula

Figure pct00005
Figure pct00005

변형 2 - 획득된 출력 합에 대한 원하는 출력 신호의 비에 기초한 보정 신호들의 형성 및 사용은 다음과 같다:Variation 2 - The formation and use of correction signals based on the ratio of the desired output signal to the sum of the obtained outputs is as follows:

● 수식에 따라 뉴런 “n”에 기여하는 모든 보정 가중치들에 대해 동일한 보정값 Δn의 계산 Calculation of the same correction value [Delta] n for all correction weights contributing to the neuron " n "

Figure pct00006
Figure pct00006

● 수식에 따라 뉴런 “n”에 기여하는 모든 보정 가중치들 Wi,d,n의 변형Variations of all calibration weights W i, d, n contributing to the neuron "n" according to the formula

Figure pct00007
Figure pct00007

어떠한 적용가능한 변형에 의한 보정 가중치들 Wi,d,n의 변형은 원하는 출력 신호의 값 상에 그 출력 합이 수렴함에 의해 각 뉴런(116)에 대한 트레이닝 에러를 줄이기 위해 의도된다. 이러한 방식에서, 특정 이미지에 대한 트레이닝 에러는 이러한 것이 0과 동일하거나 가까워질 때까지 줄어들 수 있다.The deformation of the correction weights W i, d, n by any applicable deformation is intended to reduce the training error for each neuron 116 by its output sum converging on the value of the desired output signal. In this way, training errors for a particular image can be reduced until this is equal to or near zero.

트레이닝 동안 보정 가중치 Wi,d,n의 예시적인 변형이 도 11에 도시된다. 보정 가중치 Wi,d,n 의 값은 트레이닝이 시작하기 전에 보정 가중치 범위로부터 0 ± 10%로 설정된 가중치 값으로 무작위 가중치 분포의 형태로 설정되고, 트레이닝 이후 최종 가중치 분포에 도달한다. 집합적 신호들의 설명된 계산은 p-net(100)에서 모든 뉴런들(116)을 위해 이루어진다. 하나의 트레이닝 이미지를 위한 설명된 트레이닝 절차는 모든 다른 트레이닝 이미지들을 위해 반복될 수 있다. 일부 보정 가중치 Wi,d,n는 여러 이미지에 참여할 수 있기 때문에, 이러한 절차는 이전에 트레이닝된 이미지들의 일부에 대해 트레이닝 에러들의 출현을 유도할 수 있다. 따라서, 다른 이미지를 트레이닝하는 것은 이전의 이미지들을 위해 형성된 보정 가중치 Wi,d,n의 분포를 부분적으로 지장을 줄 수 있다. 그러나, 각 시냅스(118)는 보정 가중치 Wi,d,n의 세트를 포함하기 때문에, 가능한 트레이닝 에러를 증가시키면서 새로운 이미지를 트레이닝하는 것은 p-net(100)이 이미 트레이닝됐던 이미지들을 삭제하지 않는다. 게다가, 더 많은 시냅스(118)가 각 뉴런(116)에 기여하고 각 시냅스에 더 많은 보정 가중치 Wi,d,n의 개수가 기여할수록, 특정 이미지에 대한 더 적은 트레이닝이 다른 이미지들에 대한 트레이닝에 영향을 미치게 된다.An exemplary variation of calibration weights W i, d, n during training is shown in FIG. The values of the calibration weights W i, d, n are set to a weight value set to 0 ± 10% from the calibration weight range before the training starts, and arrive at the final weight distribution after training. The described computation of the aggregate signals is done for all the neurons 116 in the p-net (100). The described training procedure for one training image can be repeated for all other training images. Since some correction weights W i, d, n can participate in multiple images, this procedure can lead to the appearance of training errors for some of the previously trained images. Thus, training another image can partially disrupt the distribution of correction weights W i, d, n formed for previous images. However, since each synapse 118 includes a set of calibration weights W i, d, n , training a new image while increasing possible training errors does not delete images for which the p-net 100 has already been trained . In addition, as more synapses 118 contribute to each neuron 116 and the number of more correction weights W i, d, n contribute to each synapse, less training for a particular image is performed for training . ≪ / RTI >

전반적으로 각 트레이닝 시기는 전체 트레이닝 이미지들을 위한 전체 트레이닝 에러 및/또는 로컬 트레이닝 에러들의 대체적인 수렴으로 종료한다. 에러들은 예를 들어, 평균 제곱 오차(Mean Squared Error (MSE)), 평균 절대 오차(Mean Absolute Error (MAE)), 또는 표준 평균 오차 평균(Standard Error Mean (SEM))과 같은 알려진 통계적 방법을 사용하여 평가될 수 있다. 만약 전체 에러 또는 로컬 에러들의 일부가 너무 크면, 추가적인 트레이닝 시기가 에러가 미리 결정된 에러 값에 비해 작도록 줄어들 때까지 이루어질 수 있다. 트레이닝(도 8에 도시)을 위해 사용된 다른 이미지들 사이의 유사도의 퍼센티지를 정의하는 이미지 인식의 이전에 언급한 과정은 그 자체로 이전에 정의된 카테고리를 따라 이미지의 분류를 하는 과정이다.Overall, each training period ends with a total convergence of the entire training errors and / or local training errors for the entire training images. Errors can be measured using known statistical methods, such as, for example, Mean Squared Error (MSE), Mean Absolute Error (MAE), or Standard Error Mean (SEM) . If the total error or some of the local errors are too large, the additional training time can be made until the error is reduced to be smaller than the predetermined error value. The previously mentioned process of image recognition, which defines the percentage of similarity between different images used for training (shown in FIG. 8), is itself a process of classifying images along a previously defined category.

예를 들어, 이미지들을 이전에 특정되지 않았던 특성 분류 또는 그룹으로 나누는 것과 같이 클러스터링을 위해, 방법(200)의 기초적 트레이닝 알고리즘은 수정된 자가-조직 지도(Organizing Maps (SOM)) 접근으로 수정될 수 있다. 특정 입력 이미지에 대응하는 원하는 출력 이미지(126)는 출력 뉴런 합(120)의 최대값으로 위닝 뉴런들의 세트에 기초한 p-net(100)을 트레이닝하는 과정에서 직접 형성될 수 있다. 도 22는 어떻게 방법(200)의 기초 알고리즘의 사용이 출력 뉴런 합들의 프라이머리 세트를 작성하는지를 도시하고, 세트는 또한 컨버팅되어 여러 더 큰 합들이 그들의 값을 유지하거나 또는 증가하며, 반면 모든 다른 합들은 0과 동일하게 고려된다. 이러한 출력 뉴런 합들의 변환된 세트는 원하는 출력 이미지(126)로서 받아들여진다.For example, for clustering, such as dividing images into feature classes or groups that were not previously specified, the basic training algorithm of method 200 may be modified with a modified Organizing Maps (SOM) approach have. A desired output image 126 corresponding to a particular input image may be formed directly in training the p-net 100 based on a set of winning neurons to a maximum value of the output neuron sum 120. Figure 22 shows how the use of the basic algorithm of the method 200 creates a primary set of output neuron sums and the set is also transformed so that several larger sums maintain or increase their values, Are considered equal to zero. The transformed set of these output neuron sums is taken as the desired output image 126.

위에서 설명한 것처럼 형성된, 원하는 출력 이미지(126)의 세트는 클러스터들 또는 그룹들을 포함한다. 그러한 원하는 출력 이미지(126)의 세트는 선형적으로 불가분의 이미지들의 클러스터링을 허용하며, 이것은 전통적인 네트워크(10)과 차별된다. 도 13은 설명된 접근법이 복합적인 가상의 이미지 "고양이-자동차"를 클러스터링하는 것을 보조하는 방법을 보여주며, 이미지들의 다른 구성들은 다른 클러스터들-고양이들과 자동차들에 대해 할당된다. 원하는 출력 이미지들(126)의 세트는 예를 들어 클러스터링의 결과로서 형성된 기준에 기초하여 다른 분류, 통계적 분석, 이미지 선택을 만들기 위해 사용될 수 있다. 또한, p-net(100)에 의해 작성된 원하는 출력 이미지들(126)은 다른 또는 추가적인 p-net을 위한 입력 이미지로서 사용될 수 있고, 대상 p-net(100)을 위해 설명된 라인들을 따라 역시 형성될 수 있다. 따라서, 형성된 원하는 출력 이미지들(126)은 다층(multi-layer) p-net의 후속 층을 위해 사용될 수 있다.The set of desired output images 126 formed as described above includes clusters or groups. Such a set of desired output images 126 allows the clustering of linearly indivisible images, which is differentiated from the traditional network 10. Figure 13 shows how the described approach assists in clustering a composite virtual image " cat-car " and other configurations of images are assigned to different clusters-cats and cars. A set of desired output images 126 may be used, for example, to make different classification, statistical analysis, image selection based on criteria formed as a result of clustering. In addition, the desired output images 126 created by p-net 100 may be used as an input image for another or additional p-net, and may also be formed along the lines described for the target p-net 100 . Thus, the desired desired output images 126 may be used for subsequent layers of a multi-layer p-net.

전통적인 신경망(10) 트레이닝은 예비적으로 준비된 입력 이미지와 원하는 출력 이미지의 쌍에 기초하여 감시된 트레이닝 방법을 통해 제공된다. 동일한 범용적 방법이 p-net(100)의 트레이닝을 위해 역시 사용되나, p-net(100)의 증가된 트레이닝 속도는 또한 외부 트레이너로 트레이닝하는 것을 허용한다. 외부 트레이너의 역할을 예를 들어, 개별적으로(by an individual) 또는 컴퓨터 프로그램에 의해 수행될 수 있다. 외부 트레이너로서 동작하는 것은 개체(individual)가 물리적 태스크를 수행하는데 포함되거나 게이밍 환경(gaming environment)에서 동작할 수 있다. p-net(100)은 특정 환경에 관한 데이터의 형태로 입력 신호를 수신하고 이에 대해 변경한다. 트레이너의 신호 반사 동작(signals reflecting actions)은 원하는 출력 이미지들(126)로서 도입되고, p-net(100)이 기초 알고리즘에 따라 트레이닝되도록 허용한다. 이러한 방식으로, 다양한 과정들의 모델링이 실시간으로 p-net(100)에 의해 작성될 수 있다.A conventional neural network 10 training is provided through a training method that is monitored based on a pair of preliminarily prepared input images and desired output images. The same universal method is also used for training of p-net (100), but the increased training speed of p-net (100) also allows training to external trainers. The role of an external trainer can be performed, for example, by an individual or by a computer program. Operating as an external trainer may involve an individual in performing a physical task or may operate in a gaming environment. The p-net 100 receives and modifies input signals in the form of data relating to a particular environment. The trainer's signal reflecting actions are introduced as the desired output images 126 and allow the p-net 100 to be trained according to the underlying algorithm. In this way, modeling of various processes can be created in real time by the p-net (100).

예를 들어, p-net(100)은 도로 환경 및 드라이버의 동작에 관한 수신하는 정보에 의해 차량을 구동하도록 트레이닝될 수 있다. 비록 매우 다양한 치명적인 환경을 모델링하는 것이나, p-net(100)은 어떠한 단일 운전자에 의해 일반적으로 가능한 것에 비해 많은 다른 운전자들에 의해 트레이닝되고 보다 많은 운전 기술들을 누적할 수 있다. p-net(100)은 0.1초 또는 이보다 빨리 특정 도로 컨디션을 평가할 수 있고, 다양한 환경에서 교통 안전을 향상시킬 수 있는 "운전 경험"을 축적할 수 있다. p-net(100)은 또한 예를 들어 체스-경기 머신과 같이 컴퓨터와 협업하도록 트레이닝될 수도 있다. p-net(100)이 외부 트레이너에 의해 트레이닝되는 때, 트레이닝 모드로부터 인식 모드로 및 그 반대로 쉽게 변환하는 p-net(100)의 능력은 "실수로부터 학습"의 현실화를 가능하게 한다. 이러한 경우에서, 다수의 트레이닝된 p-net(100)은 예를 들어, 기술적 과정을 컨트롤하는 것과 같은 고유의 동작을 작성할 수 있다. 트레이너는 p-net(100)의 동작을 컨트롤하고 필요할 때 그 동작들을 수정할 수 있다. 따라서, p-net(100)의 추가적인 트레이닝이 제공될 수 있다.For example, the p-net 100 may be trained to drive the vehicle by receiving information regarding the road environment and the operation of the driver. Although modeling a very diverse lethal environment, the p-net 100 can be trained by many different drivers and accumulate more driving skills than is normally possible by any single driver. The p-net (100) can accumulate a "driving experience" that can assess specific road conditions in 0.1 seconds or less and improve traffic safety in a variety of environments. The p-net 100 may also be trained to work with a computer, such as, for example, a chess-match machine. The ability of p-net 100 to easily convert from training mode to recognition mode and vice versa when p-net 100 is trained by an external trainer enables realization of " learning from mistakes ". In this case, a number of trained p-net (s) 100 may create unique behaviors such as, for example, controlling a technical process. The trainer can control the operation of the p-net (100) and modify its behavior when necessary. Thus, additional training of p-net 100 may be provided.

p-net(100)의 정보 수용력은 매우 크지만, 무제한적이지는 않다. p-net(100)이 트레이닝되는 p-net(100)의 입력들, 출력들 및 간격들의 개수와 같은 세트 차원과, 이미지들의 수에서의 증가로, 특정 수의 이미지들 이후, 트레이닝 에러들의 수와 크기가 역시 증가할 것이다. 에러 작성에서 이러한 증가가 감지되는 때, 에러들의 수 및/또는 크기는 p-net(100)의 크기를 증가시키는 것에 의해 줄어들 수 있고, 이것은 p-net은 뉴런들(116)의 수와 p-net을 가로지르는 신호 간격들 "d" 또는 트레이닝 시기들의 사이에서 그 구성들에서의 수를 증가시키는 것을 허용하기 때문이다. p-net(100) 확장은 새로운 뉴런(116)을 추가하고, 새로운 입력(102)과 시냅스들(118)을 추가하고, 보정 가중치 영향 계수 Ci,d,n의 분포를 변경하고, 존재하는 간격 "d"로 나눔으로써 제공될 수 있다.The information capacity of p-net (100) is very large, but it is not unlimited. a set dimension such as the number of inputs, outputs and intervals of p-net 100 in which p-net 100 is trained, and an increase in the number of images, after a certain number of images, And size will also increase. The number and / or size of errors can be reduced by increasing the size of p-net 100, which allows the number of neurons 116 and the number of p- because it allows to increase the number of signal constellations " d " traversing the net or the number of its configurations between training periods. The p-net (100) expansion adds a new neuron 116, adds a new input 102 and synapses 118, changes the distribution of the correction weighting coefficients C i, d, n , Can be provided by dividing by the spacing " d ".

최근 경우에서, p-net(100)은 이미지, 패턴 및 이미지 또는 이미지들의 세트들에 내재된 연관성을 인식하는 그 능력을 보장하기 위해 트레이닝될 수 있다. 가장 간단한 경우에서 인식 과정는 방법(200)의 부분으로서 개시된 기초 알고리즘에 따른 트레이닝 과정의 제 1 단계들을 반복한다. 특히,In a recent case, the p-net 100 may be trained to ensure its ability to recognize images, patterns, and images or associations inherent in sets of images. In the simplest case, the recognition process repeats the first steps of the training process according to the basic algorithm disclosed as part of the method 200. Especially,

● 직접 인식은 포맷 이미지들에 대해 트레이닝을 하기 위해 사용된 동일한 룰에 따라 이미지의 포맷팅으로 시작한다;● Direct recognition begins with the formatting of images according to the same rules used for training on format images;

● 이미지는 트레이닝된 p-net(100)의 입력으로 보내지고, 분배기들은 트레이닝 동안 설정되었던 입력 신호의 값들에 대응되는 보정 가중치 Wi,d,n을 할당하고, 뉴런들은 도 8에 도시된 것처럼, 각 뉴런 합을 작성한다.The images are sent to the inputs of the trained p-net (100), the distributors assign calibration weights W i, d, n corresponding to the values of the input signals that were set during training, , And the sum of each neuron is created.

● 만약 출력 이미지(126)를 표시하는 결과 출력 합들이 p-net(100)이 트레이닝된 이미지들의 하나와 완전하게 충족하면, 객체의 정확한 인식이 존재한다; 그리고• If the resulting output sums representing the output image 126 completely match one of the images trained by p-net 100, there is an accurate recognition of the object; And

● 만약 출력 이미지(126)가 p-net(100)이 트레이닝된 여러 이미지들과 부분적으로 충족하면, 결과는 퍼센티지로서 다른 이미지들과 매칭율을 보여준다. 도 13은 고양이와 차량의 이미지들의 조합에 기초하여 만들어진 복잡한 이미지의 인식 과정동안, 출력 이미지(126)는 특정 이미지 조합을 나타내고, 조합에 대한 각 최초 이미지들의 기여의 퍼센티지를 나타낸다.If the output image 126 partially meets the various images trained by p-net (100), the result shows the matching rate with other images as a percentage. 13 shows an output image 126 representing a specific image combination and representing the percentage of contribution of each original image to the combination during the recognition process of the complex image made based on the combination of images of the cat and the vehicle.

예를 들어, 만약 특정 사람의 여러 사진이 트레이닝에 사용되었다면, 인식된 이미지는 첫번째 사진에 대해 90%, 두번째 사진에 대해 60%, 그리고 세번째 사진에 대해 35%로 대응할 수 있다. 인식된 이미지는 다른 사람 또는 심지어 동물들의 사진들에 대해 특정한 확률로 대응할 수 있고, 이것은 사진들 간에 일부 유사성이 있음을 의미한다. 그러나, 이러한 유사성의 확률은 더 낮기 쉽다. 이러한 가능성에 기초하여, 예를 들어, 베이즈의 정리(Bayes' theorem)에 근거하여 인식의 신뢰성이 결정될 수 있다.For example, if several pictures of a particular person were used for training, the recognized image could correspond to 90% for the first picture, 60% for the second picture, and 35% for the third picture. The recognized image may respond with a certain probability to the photographs of other people or even animals, which means that there is some similarity between the photographs. However, the probability of this similarity is likely to be lower. Based on this possibility, for example, the reliability of recognition can be determined based on Bayes' theorem.

p-net(100)으로, 또한 알고리즘적 및 신경망 인식 방법들의 장점들을 조합한 멀티-스테이지 인식을 구현하는 것이 가능하다. 이러한 멀티-스테이지 인식은 다음을 포함할 수 있다.With p-net (100) it is also possible to implement multi-stage recognition combining the advantages of algorithmic and neural network recognition methods. Such multi-stage recognition may include the following.

● 여기서 "기초 입력들"로 지정된, 입력들의 전체가 아닌 단지 1%-10%를 이용하는 것을 통해 미리 트레이닝된 네트워크에 의해 이미지의 초기 인식. 이러한 입력들의 비율을 균일하게, 무작위로 또는 어떤 다른 분포 함수에 의해 p-net(100) 내에서 분포될 수 있다. 예를 들어, 사진에서 사람의 인식은 다수의 다른 객체를 포함할 수 있다;● Initial recognition of the image by the network pre-trained through using only 1% -10% of the inputs, not the entirety of the inputs specified here as "base inputs". The ratio of these inputs can be distributed uniformly, randomly, or within some other distribution function within the p-net (100). For example, a person's perception in a photograph may include a number of different objects;

● 더 자세한 인식을 위해 가장 유용한 정보를 주는 객체들 또는 객체들의 부분을 선택하는 것. 이러한 선택은 알고리즘적 방법에서처럼 메모리 내에서 미리 설정된 특정 객체들의 구조에 따라 제공되거나 또는 색상의 구배, 밝기 및/또는 이미지의 깊이에 따라 제공된다. 예를 들어, 초상화의 인식에서, 후속하는 인식 영역들이 선택될 수 있다: 문신, 차량 번호 또는 가옥 번호 등과 같은 어떠한 특정 구성들 뿐만 아니라 눈, 입의 가장자리, 코 형상은 또한 유사 접근을 사용하여 선택되고 인식될 수 있다; 그리고• Selecting objects or portions of objects that provide the most useful information for further recognition. This selection is provided according to the structure of specific objects preset in the memory, such as in an algorithmic manner, or is provided according to the gradient of color, brightness and / or image depth. For example, in recognizing a portrait, subsequent recognition areas can be selected: eye, mouth edge, nose shape, as well as any specific configurations such as tattoo, vehicle number or house number, And can be recognized; And

● 선택된 이미지들의 상세한 인식은 필요한다면 역시 가능하다.● Detailed recognition of selected images is also possible if necessary.

p-net(100)과 그 트레이닝의 컴퓨터 에뮬레이션의 형성은 어느 프로그래밍 언어를 사용하여서도 위의 언급에 기초하여 제공될 수 있다. 예를 들어, 객체 지향 프로그래밍이 사용될 수 있고, 여기서 시냅스 가중치(108), 보정 가중치(112), 분배기(114) 및 뉴런들(116)은 프로그래밍 객체들 또는 객체들의 분류를 나타내며, 관련성은 링크나 메시지를 통한 객체 분류를 통해 세워지고, 상호작용의 알고리즘은 객체들의 사이와 객체 분류들의 사이에서 설정된다.The formation of the computer emulation of p-net 100 and its training can be provided using any programming language based on the above mention. For example, object oriented programming may be used, where synaptic weight 108, correction weight 112, distributor 114 and neurons 116 represent the classification of programming objects or objects, It is built up through object classification through a message, and the algorithm of interaction is set up between objects and between object classes.

p-net(100)의 형성과 트레이닝 소프트웨어 에뮬레이션은 다음을 포함할 수 있다:The formation of the p-net 100 and the training software emulation may include:

1. p-net(100)의 형성과 트레이닝의 준비, 특히:1. Preparation of p-net (100) and preparation of training, in particular:

● 특정 태스크와 부합하는 디지털 형태로 트레이닝 입력 이미지들의 세트의 컨버전;Conversion of a set of training input images in digital form consistent with a particular task;

● 예를 들어, 주파수, 크기, 위상 또는 좌표와 같은 트레이닝을 위해 사용되기 위한 입력 신호들의 파라미터들의 선택을 포함하는 결과적인 디지털 이미지들의 분석; 그리고Analysis of the resulting digital images, including selection of parameters of the input signals to be used, for example, for training, such as frequency, size, phase or coordinates; And

● 트레이닝 신호를 위한 범위, 대상 범위 내의 간격들의 수, 보정 가중치 영향 계수 Ci,d,n의 분포를 설정The range for the training signal, the number of intervals in the target range , and the distribution of the calibration weight influence coefficient C i, d, n are set

2. p-net 소프트웨어 에뮬레이션의 형성은 이하를 포함한다.2. Formation of p-net software emulation includes:

● p-net(100)의 입력들의 세트의 형성. 예를 들어, 입력들의 개수는 트레이닝 입력 이미지에서 신호들의 개수와 같을 수 있다;• Formation of a set of inputs of p-net (100). For example, the number of inputs may be equal to the number of signals in the training input image;

● 뉴런들의 형성, 각 뉴런은 추가하는 디바이스를 나타낸다;● Formation of neurons, each neuron representing a device to add;

● 시냅스 가중치를 갖는 시냅스의 세트의 형성, 각 시냅스는 하나의 p-net과 하나의 뉴런에 연결된다;• Formation of a set of synapses with synaptic weights, each synapse connected to one p-net and one neuron;

● 각 시냅스에서 가중치 보정 블록들의 형성, 가중치 보정 블록들은 분배기들과 보정 가중치들을 포함하고, 각 보정 가중치는 다음의 특징을 갖는다:Formation of weight correction blocks at each synapse, the weight correction blocks include distributors and calibration weights, and each calibration weight has the following characteristics:

○ 보정 가중치 입력 인덱스(i); Calibration weight input index (i);

○ 보정 가중치 뉴런 인덱스(n); Calibration weight neuron index (n);

○ 보정 가중치 간격 인덱스(d); 그리고 Calibration weight interval index (d); And

○ 보정 가중치 초기값(Wi,d,n).○ Calibration weight initial value (W i, d, n ).

● 간격들과 보정 가중치들의 사이에서 연관을 지정● Specify associations between intervals and calibration weights

3. 다음을 포함하여 하나의 출력 이미지로 각 뉴런을 트레이닝:3. Train each neuron with one output image, including:

● 다음을 포함하는 보정 가중치 영향 계수 Ci,d,n를 지정:● Specify the calibration weight influence factors C i, d, n , which include:

○ 각 입력에 의해 수신된 트레이닝 입력 이미지의 입력 신호에 대응하는 간격을 결정; 그리고 Determine the interval corresponding to the input signal of the training input image received by each input; And

○ 모든 시냅스들에 대한 모든 보정 가중치들에 보정 가중치 영향 계수 Ci,d,n의 크기를 결정.Determine the magnitude of the calibration weight influence coefficients C i, d, n on all calibration weights for all synapses.

● 대응하는 보정 가중치 영향 계수 Ci,d,n에 의해 곱해진 뉴런에 기여하는 모든 시냅스 가중치들의 보정 가중치값 Wi,d,n을 더하는 것에 의해 각 뉴런 "n"에 대한 뉴런 출력 합(∑n)을 계산:The neuron output sum for each neuron " n " is calculated 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 coefficients C i, n):

Figure pct00008
Figure pct00008

● 대응하는 원하는 출력 신호 On으로부터 뉴런 출력 합 ∑n의 뺄셈을 통해 트레이닝 에러(Tn)의 편차를 계산:Calculate the deviation of the training error (T n ) from the corresponding desired output signal O n by subtracting the neuron output sum Σ n :

Figure pct00009
Figure pct00009

● 뉴런 "n"에 연결된 시냅스들 "S"의 개수에 의해 트레이닝 에러를 나눔으로써 뉴런 "n"에 기여하는 모든 보정 가중치들에 대한 균등한 보정값(Δn)을 계산:• Calculate an even correction (Δn) for all calibration weights contributing to neuron "n" by dividing the training error by the number of synapses "S" connected to neuron "n":

Figure pct00010
Figure pct00010

● 대응하는 보정 가중치 영향 계수들 Ci,d,n에 의해 나누어진 보정값 Δn을 각 보정 가중치에 더함으로써 각 뉴런에 기여하는 모든 보정 가중치들 Wi,d,n을 변형: D) transforming all correction weights W i, d, n contributing to each neuron by adding a correction value? N divided by corresponding correction weight influence coefficients C i, d, n to each correction weight:

Figure pct00011
Figure pct00011

균등한 보정값 (Δn)을 계산하고 뉴런 "n"에 기여하는 모든 보정 가중치에 대한 보정 가중치 Wi,d,n를 변형하는 다른 방법은 다음을 포함할 수 있다.Other methods of calculating the uniform correction value? N and modifying the correction weights W i, d, n for all the correction weights contributing to the neuron "n" may include:

● 뉴런 출력 합 ∑n에 의해 원하는 출력 이미지 On의 신호를 나눔● Divide the signal of the desired output image O n by the neuron output sum Σn

Figure pct00012
Figure pct00012

● 보정 값 Δn에 의해 보정 가중치들을 곱함에 의해 뉴런에 기여하는 보정 가중치들 Wi,d,n을 변형:Variation of the correction weights W i, d, n contributing to the neuron by multiplying the correction weights by the correction value Δn:

Figure pct00013
Figure pct00013

4. 다음을 포함하여 모든 트레이닝 이미지들을 이용하여 p-net(100)을 트레이닝:4. Train p-net (100) with all training images, including:

● 하나의 트레이닝 시기에서 포함된 모든 선택된 트레이닝 이미지들에 대해 위에서 설명한 과정을 반복; 그리고• Repeat the process described above for all selected training images included at one training time; And

● 특정 트레이닝 시기의 에러 또는 에러들을 결정하고, 이러한 에러(들)을 미리 결정된 허용 가능한 에러 레벨과 비교하고, 트레이닝 에러들이 미리 결정된 허용 가능한 에러 레벨보다 작게 될 때까지 트레이닝 시기들을 반복하는 것.Determining errors or errors at a particular training time, comparing these error (s) to a predetermined acceptable error level, and repeating training periods until the training errors are less than a predetermined acceptable error level.

객체 지향 프로그래밍을 이용한 p-net(100)의 소프트웨어 에뮬레이션의 실제 예시는 이하에서 설명되고 도 1-21에서 도시된다.A practical example of software emulation of p-net 100 using object-oriented programming is described below and shown in Figures 1-21.

뉴런유닛(NeuronUnit) 객체 분류의 형성은 다음의 형성을 포함할 수 있다:The formation of the neuron unit object class may include the following:

● 시냅스 분류의 객체들의 세트A set of objects in the synaptic classification

● 변수를 나타내는 뉴런(116), 추가는 트레이닝 동안 수행된다; 그리고A neuron 116 representing a variable, addition is performed during training; And

● 변수를 나타내는 계산기(122), 바람직한 뉴런 합(120)의 값은 저장되고 보정 값 Δn의 계산은 트레이닝 과정 동안 수행된다.The value of the calculator 122 representing the variable, the value of the desired neuron sum 120, is stored and the calculation of the correction value [Delta] n is performed during the training process.

p-net(100)을 제공하는 분류 뉴런유닛(Class NeuronUnit)은 다음을 포함할 수 있다:A Class Neuron Unit providing p-net (100) may include:

● 뉴런 합(120)의 형성;The formation of a neuron sum 120;

● 원하는 합들의 설정;• setting the desired sums;

● 보정값 Δn 의 계산; 그리고 Calculation of the correction value Δn; And

● 계산된 보정값 Δn을 보정 가중치 Wi,n,d에 더함.● The calculated correction value Δn is added to the correction weights W i, n, d .

객체 분류 시냅스(object class Synapse)의 형성은 다음을 포함할 수 있다:The formation of an object class Synapse may include:

● 보정 가중치 Wi,n,d의 설정; 그리고 ● setting calibration weights W i, n, d ; And

● 시냅스(118)에 연결된 입력을 나타내는 포인터.A pointer to an input connected to synapse 118;

분류 시냅스(Class Synapse)는 다음의 기능을 수행할 수 있다:Class Synapse can perform the following functions:

● 보정 가중치 Wi,n,d의 초기화;● Initialization of calibration weights W i, n, d ;

● 계수 Ci,d,n 에 의해 가중치 Wi,n,d를 곱하고; 그리고Multiplying weights W i, n, d by coefficients C i, d, n ; And

● 가중치 Wi,n,d의 보정● Calibration of weights W i, n, d

분류 입력신호(class InputSignal)의 형성은 다음을 포함할 수 있다:The formation of a class input signal (class InputSignal) may include:

● 특정 입력(102)에 연결된 시냅스들(118) 상의 인덱스들의 설정The setting of indices on synapses 118 connected to a particular input 102

● 입력 신호(104)의 값을 포함하는 변수A variable including the value of the input signal 104

● 가능한 최소 및 최대 입력 신호의 값들● Possible values of the minimum and maximum input signals

● 간격 "d"의 수; 그리고The number of intervals "d"; And

● 간격 길이.● Interval length.

분류 입력신호(Class InputSignal)는 다음의 기능을 제공할 수 있다.The Class Input Signal (Class InputSignal) can provide the following functions.

● 다음을 포함하는 p-net(100)의 형성Formation of p-net (100), including:

○ 입력(102)과 시냅스들(118)의 사이의 링크 추가 및 제거; 그리고 Add and remove links between input 102 and synapses 118; And

○ 특정 입력(102)의 시냅스들(118)을 위한 간격 "d"의 수를 설정 Set the number of intervals " d " for synapses 118 of a particular input 102

● 최소 및 최대 입력 신호들(104)의 파라미터들의 설정The setting of the parameters of the minimum and maximum input signals 104

● p-net(100)의 동작에 대한 기여:● contribution to the behavior of p-net (100):

○ 입력 신호(104)를 설정; 및 Set input signal 104; And

○ 보정 가중치 임팩트 Ci,d,n 의 상수들을 설정○ Set the constants of calibration weight impact C i, d, n

객체 분류들의 세트를 포함하는 객체 분류 PNET(object class PNet)의 형성:Classification of objects containing a set of object classifications Formation of PNET (object class PNet)

● 뉴런유닛(NeuronUnit); 그리고 Neuron Unit; And

● 입력신호(InputSignal)● Input signal (InputSignal)

분류 PNET은 다음의 기능을 제공함:Classification PNET provides the following functions:

● 입력신호 분류의 객체의 수를 설정;● Set the number of objects in the input signal classification;

● 뉴런유닛 분류의 객체의 수를 설정; 그리고● Set the number of objects in neuron unit classification; And

● 객체들 뉴런유닛과 입력신호의 함수의 그룹 요청● Objects Neuron unit and a group request of the function of the input signal

트레이닝 과정 동안 사이클들이 형성될 수 있고:Cycles can be formed during the training process:

● 사이클이 시작하기 전에 0과 동일한 뉴런 출력 합이 형성되고• A neuron output sum equal to zero is formed before the cycle starts

● 특정 뉴런유닛에 대해 기여하는 모든 시냅스들이 검토되고, 각 시냅스(118)에 대해:All synapses contributing to a particular neuron unit are examined, and for each synapse 118:

○ 입력 신호(102)에 기초하여, 분배기는 보정 가중치 영향 계수들 Ci,d,n의 설정을 형성한다;Based on the input signal 102, the divider forms the setting of the correction weighting influence factors Ci , d, n ;

○ 시냅스들(118)의 모든 가중치들 Wi,n,d이 검토되고, 각 가중치에 대해:All weights W i, n, d of the synapses 118 are examined, and for each weight:

■ 가중치 Wi,n,d의 값이 대응하는 보정 가중치 영향 계수 Ci,d,n에 의해 곱해진다;The values of the weights W i, n and d are multiplied by the corresponding correction weighting influence coefficients C i, d, n ;

■ 곱의 결과가 뉴런 출력 합을 형성하기 위해 더해진다;   The result of the product is added to form the neuron output sum;

● 보정값 Δn이 계산된다;The correction value [Delta] n is calculated;

● 예를 들어, Δn / Ci,d,n와 같이, 보정값 Δn이 보정 가중치 영향 계수 Ci,d,n에 의해 나누어진다. • For example, the correction value Δn is divided by the correction weighting influence coefficient C i, d, n, such as Δn / C i, d, n .

● 특정 뉴런유닛에 대해 기여하는 모든 시냅스들(118)이 검토된다. 각 시냅스(118)에 대해, 대상 시냅스의 모든 가중치 Wi,n,d가 검토되고, 모든 가중치에 대해 그 값은 대응되는 보정값 Δn에 대해 변경된다.All synapses 118 contributing to a particular neuron unit are reviewed. For each synapse 118, all weights W i, n, d of the subject synapse are examined, and for all weights the value is changed for the corresponding correction value Δn.

p-net(100)의 추가적인 트레이닝의 이전에 언급된 가능성은 트레이닝 과정이 속도를 빠르게 하고 그 정확도를 개선하는 것을 가능하게 하는 이미지의 인식을 통한 트레이닝과 조합을 허용한다. 서로 약간 다른 필름의 연속적인 프레임들 상에서의 트레이닝과 같이 순차적으로 변경하는 이미지들의 세트 상의 p-net(100)을 트레이닝 할 때, 추가적인 트레이닝은 다음을 포함할 수 있다:The previously mentioned possibility of further training of p-net 100 allows for training and combination through recognition of the image, which allows the training process to speed up and improve its accuracy. When training the p-net (100) on a set of images that sequentially change, such as training on successive frames of a film slightly different from each other, the additional training may include:

● 제 1 이미지로 트레이닝● Training with the first image

● 다음 이미지의 인식 및 새로운 이미지와 네트워크가 초기적으로 트레이닝된 이미지 사이의 유사도의 퍼센티지를 식별. 추가적인 트레이닝은 인식 에러가 미리 결정된 값 보다 작다면 필요하지 않다; 그리고● Identify the next image and identify the percentage of similarity between the new image and the network image that was initially trained. Additional training is not required if the recognition error is less than a predetermined value; And

● 인식 에러가 미리 결정된 값을 초과하면, 추가적인 트레이닝이 제공된다.If the recognition error exceeds a predetermined value, additional training is provided.

위의 기본적인 트레이닝 알고리즘에 의한 p-net(100)의 트레이닝은 이미지 인식의 문제들을 해결하기에 효과적이지만, 오버랩핑되는 이미지들에 기인한 데이터의 손실 또는 변형을 배제하지 못한다. 따라서, 메모리 목적을 위한, 비록 가능하지만, p-net(100)의 사용은 완전히 신뢰적이지 않을 수 있다. 본 실시예는 정보의 손실 또는 변형에 반해 보호를 제공하는 p-net(100)의 트레이닝을 설명한다. 추가적인 제한은 모든 보정 가중치 Wi,n,d가 단지 한번에 트레이닝될 수 있는 것을 필요로하는 기초 네트워크 트레이닝 알고리즘으로 도입될 수 있다. 제 1 트레이닝 사이클의 이후, 가중치 Wi,n,d는 고정되거나 상수로 남아있는다. 이것은 각 보정 가중치에 대해 추가적인 접근 인덱스 "a"를 입력함에 의해 달성될 수 있고, 이것은 트레이닝 과정 동안 대상 보정 가중치 Wi,n,d 에 대한 접근들의 수를 나타내는 앞서 설명한 인덱스이다.Training of the p-net (100) by the above basic training algorithm is effective in solving the problems of image recognition, but it does not preclude loss or distortion of data due to overlapping images. Thus, although possible, for memory purposes, the use of p-net 100 may not be completely reliable. This embodiment illustrates training of p-net 100 to provide protection against loss or modification of information. Additional constraints may be introduced into the underlying network training algorithm, which requires that all correction weights Wi, n, d can only be trained at a time. After the first training cycle, the weights Wi, n, d remain fixed or constant. This can be achieved by entering an additional access index " a " for each calibration weight, which is the previously described index indicating the number of accesses to the target calibration weights Wi, n, d during the training process.

앞서 언급한 것처럼, 각 보정 가중치는 "a"가 트레이닝 과정 동안 대상 가중치에 대한 접근의 수인 명칭 Wi,n,d,a 으로 채택될 수 있다. 예를 들어, 고정되지 않은 가장 단순한 경우에서, 가중치, a=0, 반면 언급한 기초 알고리즘에 의해 변경되거나 고정된 가중치에 대해서는 a = 1. 게다가, 기초 알고리즘을 적용하는 동안, 고정된 값 a =1을 갖는 보정 가중치 Wi,n,d,a는 보정이 이루어지는 가중치들로부터 배제될 수 있다. 이러한 경우, 수식 [5], [6] 및 [7]은 아래와 같이 변형될 수 있다.As mentioned earlier, each calibration weight can be adopted as a name W i, n, d, a where "a" is the number of accesses to the target weight during the training process. For example, in the simplest case that is not fixed, a = 0, while a = 1 for a weight that is changed or fixed by the mentioned basic algorithm. Moreover, during the application of the basic algorithm, The correction weights W i, n, d, a having 1 can be excluded from the weights for which the correction is made. In this case, the equations [5], [6] and [7] can be modified as follows.

value 기초 알고리즘Basic algorithm 고정된 가중치들을 갖는 트레이닝 알고리즘Training algorithm with fixed weights 동일한 보정 값
- 변형 1
The same correction value
- Variant 1

Figure pct00014
Figure pct00014
Figure pct00015

S0 - 대상 뉴런에 대해 기여하고 인덱스 a=0을 갖는 모든 보정 가중치들 Wi,n,d,a의 합 Ci,d,n,a
Figure pct00015

S 0 - sum of all correction weights W i, n, d, a contributing to the target neuron and having index a = 0 C i, d, n, a
변형된 보정 가중치
- 변형 1
Modified calibration weights
- Variant 1
Figure pct00016
Figure pct00016
Figure pct00017

Wi,n,d,0은 대상 뉴런에 대해 기여하고 인덱스 a=0을 갖는 가중치들이고, Ci,d,n,0는 대상 뉴런에 대해 기여하고 인덱스 a=0을 갖는 보정 가중치들에 대한 보정 가중치 영향 계수들
Figure pct00017

W i, n, d, 0 are the weights for the target neuron and the index a = 0, C i, d, n, 0 for the target neuron and the correction weights for index a = Calibration weight influence factors
변형된 보정 가중치
- 변형 2
Modified calibration weights
- Variant 2
Figure pct00018
Figure pct00018
Figure pct00019
Figure pct00019

앞의 제한은 앞에서 트레이닝된 보정 가중치 Wi,n,d,a의 보정에 부분적으로 적용될 수 있으나, 가장 중요한 이미지를 형성하는 가중치들에만 그런 것은 아니다. 예를 들어, 단일한 사람의 초상화의 세트 상에서 트레이닝을 하는 내에서, 하나의 특정 이미지가 일차적으로 선언되고 우선권을 할당받을 수 있다. 이러한 우선권 이미지 상에서 트레이닝의 이후, 트레이닝의 과정 내에서 변경될 수 있는 모든 보정 가중치들 Wi,n,d,a 은 예를 들어 인덱스 a=1로 고정될 수 있고, 따라서, Wi,n,d,1로서 가중치를 지정할 수 있고 동일한 사람의 다른 이미지들은 변경 가능하게 남아 있을 수 있다. 이러한 우선권은 예를 들어, 암호화 키에 사용되거나 및/또는 치명적인 수치적 데이터를 포함하는 것과 같이 다른 이미지들을 포함할 수 있다.보정 가중치 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 previous constraints can be applied in part to the correction of the previously corrected calibration weights W i, n, d, a , but not only those which form the most important image. For example, within a single person training on a set of portraits, one particular image may be declared and assigned priority. All correction weights W i, n, d, a that can be changed in the course of training after training on this priority image can be fixed, for example, with index a = 1 , d, 1 , and other images of the same person may remain changeable. Such priorities may include other images, such as, for example, used in encryption keys and / or containing fatal numerical data. Changes to correction weights W i, n, d, But may be limited for growth of the index " a ". That is, each subsequent use of the weights W i, n, d, a can be used to reduce its ability to change. The more frequently a particular calibration weight W i, n, d, or a is used, the less the weight changes for each approach, and thus the previous stored images during the training on subsequent images undergo a lesser and lesser variance . For example, if a = 0, then any changes to the weights W i, n, d, a are possible; The likelihood of a change to a weight when a = 1 can be reduced to +/- 50% of the weight value, and the probability of a change when a = 2 can be reduced to +/- 25% of the weight value.

미리 결정된 접근의 수에 도달한 이후, 인덱스 "a"에 의해 의미되는 것처럼, 예를 들어 a=5일 때, 가중치 Wi,n,d,a의 추가적인 변경은 금지될 수 있다. 이러한 접근은 단일한 p-net(100) 내에서 높은 지능 및 정보의 조합을 제공할 수 있다. 네트워크 에러 계산 메커니즘을 사용하여, 허용되는 에러들의 레벨이 설정될 수 있어서 미리 결정된 정확도 범위 내에서 손실을 갖는 정보가 보호될 수 있고, 정확도 범위는 특정 태스크에 따라 할당될 수 있다. 다시 말하면, 시각 이미지로 동작하는 p-net(100)에 대해, 에러는 육안에 의해 포착될 수 없는 레벨로 설정될 수 있고, 이것은 "저장 용량에서의 증가의 중대한 "요인"을 제공한다. 앞의 것은 예를 들어, 영화와 같은 시각적 정보의 높은 효율적 저장의 작성을 가능하게 할 수 있다.After reaching a predetermined number of accesses, additional changes of the weights W i, n, d, a may be inhibited , for example, when a = 5, as implied by the index "a". This approach can provide a combination of high intelligence and information within a single p-net (100). Using the network error calculation mechanism, the level of allowed errors can be set so that information with loss within a predetermined accuracy range can be protected, and the accuracy range can be assigned according to a particular task. In other words, for the p-net 100 operating as a visual image, the error can be set to a level that can not be captured by the naked eye, and this provides a "significant" factor of the increase in storage capacity. For example, can enable the creation of highly efficient storage of visual information such as movies.

선택적으로 컴퓨터 메모리를 청소하는 능력은 p-net(100)의 연속된 하이레벨 기능에 대해 가치가 있을 수 있다. 이러한 메모리의 선택적인 청소는 저장된 정보의 나머지의 손실이나 변형없이 특정 이미지를 제고함에 의해 이루어질 수 있다. 이러한 청소는 이하와 같이 제공될 수 있다.Optionally, the ability to clean computer memory may be worthy of a continuous high-level function of p-net (100). Selective cleaning of such memory can be accomplished by enhancing a particular image without loss or alteration of the remainder of the stored information. Such cleaning may be provided as follows.

● 예를 들어, 네트워크 상에 이미지를 도입하거나 각 이미지의 사용된 보정 가중치들의 리스트를 컴파일링함에 의해 이미지 형성에 참여한 모든 보정 가중치들 Wi,n,d,a 의 식별;Identification of all correction weights W i, n, d, a participating in image formation, for example by introducing an image on the network or compiling a list of used correction weights for each image;

● 각 보정 가중치들 Wi,n,d,a에 대해 인덱스 "a"를 축소; 그리고• reduce index "a" for each calibration weight W i, n, d, a ; And

● 인덱스 "a"가 0으로 축소된 때 대상 가중치에 대해 보정 가중치들 Wi,n,d,a 를 0 또는 가능한 값들의 범위의 중간에 근접한 임의의 값으로 대체.When the index "a" is reduced to 0, the correction weights W i, n, d, a for the target weight are replaced by 0 or any value close to the middle of the range of possible values.

인덱스 "a"의 축소의 적절한 순서 및 연속은 이미지의 시퀀스 내에서 숨겨진 강한 패턴들을 식별하도록 실험적으로 선택될 수 있다. 예를 들어, "a"가 0 값으로 도달할 때까지 트레이닝 동안 p-net(100)으로 도입된 모든 100개의 이미지들에 대해, 하나의 카운트에 의해 인덱스 "a"의 축소가 있을 수 있다. 이러한 경우, "a"의 값은 새로운 이미지들의 도입에 대응하여 증가할 수 있다. "a"의 증가와 축소 사이의 경쟁은 무작위 변경들이 메모리로부터 점차적으로 제거되는 상황을 유도할 수 있고, 여러번 사용되고 확인되어 왔던 보정 가중치들 Wi,n,d,a 은 저장될 수 있다. p-net(100)이 예를 들어, 동일하거나 유사한 환경과 같은 유사한 속성을 갖는 많은 이미지들 상에서 트레이닝되는 때, 자주 사용된 보정 가중치들 Wi,n,d,a 은 끊임없이 이러한 영역들에서 그들의 값과 정보를 확인하고 매우 안정하게 된다. 또한, 무작위 노이즈는 점차적으로 사라질 것이다. 다시 말하면, 인덱스 "a"에서 점차적인 감소를 갖는 p-net(100)은 효과적인 노이즈 플터로서 제공될 수 있다.The proper order and sequence of scaling of index " a " can be experimentally selected to identify strong patterns hidden within the sequence of images. For example, for all 100 images introduced into p-net (100) during training until " a " reaches zero, there may be a reduction of index " a " by one count. In this case, the value of " a " may increase corresponding to the introduction of new images. The competition between increasing and decreasing " a " can lead to a situation where random changes are gradually removed from the memory and the correction weights W i, n, d, a Can be stored. When the p-net 100 is trained on many images having similar attributes, for example, the same or similar environment, the frequently used correction weights W i, n, d, a Constantly check their values and information in these areas and become very stable. Also, the random noise will gradually disappear. In other words, p-net (100) with a gradual reduction in index " a " can be provided as an effective noise plot.

정보의 손실이 없는 p-net(100) 트레이닝의 설명한 실시예들은 높은 용량 및 신뢰성을 갖는 p-net 메모리를 작성하는 것을 허용한다. 이러한 메모리는 심지어 "캐시 메모리" 시스템에 비해 더 높은 속도를 제공하는 대용량의 고속 컴퓨터 메모리로서 사용될 수 있으나, "캐시 메모리" 시스템을 갖는 종래와 같이 컴퓨터 비용과 복잡도를 증가시키지 않을 것이다. 공개된 데이터에 따라, 일반적으로, 신경망으로 영화를 녹화하는 동안, 메모리는 녹화 품질의 중대한 손실 없이 수십 또는 수백번 압축될 수 있다. 다시 말하면, 신경망은 매우 효과적인 기록 프로그램으로서 동작할 수 있다. p-net(100)의 고속 트레이닝 능력을 갖는 신경망의 이러한 능력을 조합하는 것은 고속 데이터 전송 시스템, 고용량을 갖는 메모리, 예를 들어 코덱스(codex)와 같은 고속 해독 프로그램 멀티미디어 파일의 작성을 허용할 것이다.The described embodiments of p-net (100) training without loss of information allow to create p-net memory with high capacity and reliability. Such memory may be used as a high-capacity high-speed computer memory that provides even higher speeds than a " cache memory " system, but will not increase the cost and complexity of the computer as is conventional with a " cache memory " system. Depending on the published data, in general, while recording a movie into a neural network, the memory may be compressed tens or hundreds of times without significant loss of recording quality. In other words, the neural network can operate as a very effective recording program. Combining this capability of a neural network with high-speed training capabilities of p-net 100 would allow the creation of high-speed data transfer systems, high-speed decryption program multimedia files such as memory with high capacity, for example, Codex .

p-net(100)에서 데이터가 보정 가중치들 Wi,n,d,a의 세트로서 저장되는 사실에 기인하여, 존재하는 방법들을 통하고 동일한 네트워크 및 키의 사용을 하지 않는 코드 레코딩, 디코딩 또는 p-net에 대한 미인가된 접근은 허용되지 않는다. 따라서, p-net(100)은 데이터 보호의 상당한 정도를 제공할 수 있다. 또한, 종래의 컴퓨터 메모리와 달리, 다른 구성들은 잃어버린 기능들을 보상하기 때문에 p-net(100)의 개별적인 저장 소자들에 대한 손상은 중요하지 않은 해로운 효과를 나타낸다. 이미지 인식 과정에서, 사용된 이미지의 내재된 패턴들은 하나 이상의 구성들에 대한 손상의 결과로서 실제적으로 왜곡되지 않는다. 앞의 것은 컴퓨터의 신뢰성을 획기적으로 향상시키고, 평상시 컨디션이 결함이 있는 것으로 고려될 수 있는 특정 메모리 블록을 사용하는 것을 허용한다. 또한, 이러한 메모리의 타입은 p-net(100)에서 치명적인 바이트들에 대해 영구적인 어드레스들의 부재로 인해 해커 공격에 대해 덜 취약하고, 다양한 컴퓨터 바이러스들에 의한 이러한 시스템의 공격에 대해 영향을 받지 않도록 할 수 있다.decode or decode the same network and key through existing methods, due to the fact that data is stored as a set of correction weights W i, n, d, a in p-net 100 Unauthorized access to p-net is not allowed. Thus, p-net 100 can provide a significant degree of data protection. Also, unlike conventional computer memory, damage to individual storage elements of p-net 100 exhibits unimportant and deleterious effects because other configurations compensate for lost functionality. In the image recognition process, the inherent patterns of the used images are not actually distorted as a result of damage to one or more configurations. The former greatly improves the reliability of the computer and allows the use of a specific memory block that can be considered defective in normal condition. Also, this type of memory is less susceptible to hacker attacks due to the absence of permanent addresses for critical bots in p-net 100, and is not susceptible to attacks by this system of various computer viruses can do.

트레이닝에서 사용된 다른 이미지들 사이의 유사도의 퍼센티지의 결정을 갖는 이미지 인식의 이전에 언급된 과정은 위에서 언급한 것처럼 이전에 정의된 카테고리들에 따라 이미지 분류의 과정으로서 채택될 수 있다. 미리 정의되지 않은 속성 또는 그룹으로 이미지들을 분배하는 클러스터링을 위해 기초적인 트레이닝 과정은 변경될 수 있다. 본 실시예는 다음을 포함할 수 있다:The previously mentioned process of image recognition having a determination of the percentage of similarity between different images used in training can be employed as a process of image classification according to previously defined categories as mentioned above. The underlying training process can be changed for clustering to distribute images into predefined attributes or groups. This embodiment may include the following:

● 준비된 출력 이미지들을 포함하지 않고 트레이닝에 대한 입력 이미지들의 세트의 준비● Preparation of a set of input images for training without containing prepared output images

● 기초 알고리즘에 따라 이루어진 대로 뉴런 출력 합들의 형성을 갖는 네트워크의 형성 및 트레이닝• Formation and training of networks with formation of neuron output sums as done according to the basic algorithm

● 예를 들어, 코호넨 네트워크(Kohonen network)와 유사하게 조직화될 수 있는 위너 출력(winner output), 위너 출력들의 그룹과 같은 최대 출력 합을 갖는 출력의 출력 이미지를 도출하는 선택• A choice of deriving an output image of the output with a maximum output sum, for example, a winner output that can be organized similar to a Kohonen network, a group of Winner outputs,

● 위너 출력 또는 위너 출력들의 그룹에서 최대 값을 수신하는 원하는 출력 이미지의 작성. 이와 동시에:● Creation of the desired output image that receives the maximum value from the group of winner output or winner output. At the same time:

○ 선택된 위너 출력들의 수가 예를 들어 1 내지 10의 범위에서 미리 결정되거나, 위너 출력들이 "최대 뉴런 합의 N%보다 작은 것이 없는" 률에 따라 선택될 수 있고, 여기서 "N"은 예를 들어 90-100%일 수 있고; 그리고 The number of selected Wiener outputs may be predetermined, for example in the range of 1 to 10, or the Wiener outputs may be selected according to the " no less than N% of maximum neuron sum "-100%; And

○ 모든 다른 출력들은 0과 동일하게 설정될 수 있다. All other outputs can be set equal to zero.

● 작성된 원하는 출력 이미지를 사용한 기초 알고리즘에 따른 트레이닝, 도 13; 그리고Training based on the basic algorithm using the created desired output image, Fig. 13; And

● 다른 위너들 또는 위너 그룹의 각 이미지에 대한 형성과 함께 다른 이미지에 대한 모든 절차들을 반복.• Repeat all procedures for other images with the formation of each image in another winner or winner group.

위의 방식에서 형성된 원하는 출력 이미지들의 세트는 다수의 입력 이미지들이 자연스럽게 분리되도록 클러스터들 또는 그룹들로 설명하는데 사용될 수 있다. 이러한 원하는 출력 이미지들의 세트는 수립된 기준에 따라 및 통계적 분석에서 이미지들을 선택하는 것과 같이 다양한 분류들을 작성하는데 사용될 수 있다. 앞의 것은 또한 앞서 언급한 입력 및 출력 이미지들의 전환을 위해 사용될 수 있다. 다시 말하면, 원하는 출력 이미지들은 예를 들어, 추가적인 네트워크와 같은 다른 것을 위해 입력 이미지들로서 사용될 수 있고, 추가적인 네트워크의 출력은 컴퓨터 입력을 위해 적합한 어떠한 형태로 표현된 이미지일 수 있다.The set of desired output images formed in the above manner can be used to describe clusters or groups such that multiple input images are separated naturally. This set of desired output images can be used to create various classifications, such as selecting images in accordance with established criteria and in statistical analysis. The foregoing can also be used for the conversion of the aforementioned input and output images. In other words, the desired output images may be used as input images, for example, for another network, and the output of the additional network may be an image expressed in any form suitable for computer input.

p-net(100)에서, 설명된 앞의 알고리즘으로 트레이닝의 단일 사이클의 이후, 원하는 출력 이미지들은 작은 출력 합 변화로 작성될 수 있고, 이것은 트레이닝 과정을 느리게 할 수 있고 또한 그 정확도를 줄일 수 있다. 도 21에 도시된 것처럼, p-net(100)의 트레이닝을 개선하기 위해, 포인트들의 초기 변화는 인위적으로 증가하거나 연장될 수 있어서, 포인트들의 크기의 변화는 예를 들어 -50에서 +50까지 가능한 출력값들의 전체 범위를 커버할 수 있다. 이러한 포인트들의 초기 변화의 연장은 선형이거나 비선형일 수 있다.In p-net 100, after a single cycle of training with the previous algorithm described, desired output images can be created with small output sum changes, which can slow down the training process and also reduce its accuracy . As shown in Fig. 21, in order to improve the training of the p-net 100, the initial change of points can be artificially increased or extended, so that the change of the size of the points is possible from, for example, -50 to +50 It can cover the full range of output values. The extension of the initial variation of these points may be linear or nonlinear.

상황은 예를 들어, 노이즈의 징후와 같이 특정 출력의 최대값이 이상점(outlier)이거나 또는 실수인 경우, 영향을 받을 수 있다. 이러한 것들은 작은 신호들의 크기에 의해 둘러싸인 최대값의 출현에 의해 분명해질 수 있다. 위닝 출력들이 선택된 때, 작은 신호값들은 위너로서 다른 큰 신호들에 의해 둘러싸인 가장 큰 신호들을 선택하는 것을 통해 무시될 수 있다. 이러한 목적을 위해, 중요도 표집(importance sampling)과 같은 분산 축소의 알려진 통계적 기법들이 사용될 수 있다. 이러한 접근은 기본적이고 가치있는 패턴들을 유지하면서 노이즈를 제거하는 것을 허용할 수 있다. 위너 그룹들의 작성은 예를 들어 도 13에서 도시된 것처럼, 하나의 이상의 클러스터에 관련된 이미지와 같은 선형적으로 불가분인 이미지들의 클러스터링을 가능하게 한다. 앞의 것은 정확도에서의 중대한 개선을 제공할 수 있고 클러스터링 에러들의 수를 줄일 수 있다.The situation can be affected if, for example, the maximum value of a particular output, such as a sign of noise, is outliers or a real number. These can be evidenced by the appearance of the maximum value surrounded by the magnitude of the small signals. When the winning outputs are selected, the small signal values can be ignored by selecting the largest signals surrounded by other large signals as winners. For this purpose, known statistical techniques of variance reduction, such as importance sampling, may be used. This approach can allow noise to be removed while maintaining basic and valuable patterns. Creation of winner groups enables the clustering of linearly indivisible images such as images associated with one or more clusters, for example as shown in Fig. The foregoing can provide significant improvements in accuracy and reduce the number of clustering errors.

p-net(100)의 과정에서 보정해야 할 통상적인 에러들은 다음과 같다:Typical errors that should be corrected in the process of p-net (100) are:

신경망의 통상적인 에러Conventional error of neural network p-net(100) 보정의 방법Method of p-net (100) correction 트레이닝 이미지의 선택에서의 에러. 예를 들어, 사람 이미지의 세트가 고양이의 이미지를 포함함.Error in selection of training image. For example, a set of human images contains an image of a cat. 대응되는 원하는 출력 이미지를 지우거나 그 입증(demonstration)을 제한Clear the corresponding desired output image or limit its demonstration 트레이닝 동안 보정되지 않은 네트워크 에러. 예를 들어, 네트워크가 객체의 일부 특징들을 나눌 수 없기 때문에 특정 이미지가 부정확하게 인식됨(선형적 불가분의 영향)Uncorrected network error during training. For example, certain images are incorrectly recognized because the network can not divide some aspects of the object (linearly ineffective) 에러가 감지된 이후 p-net(100)의 추가적인 트레이닝; 추가적인 원하는 출력 이미지의 도입Additional training of p-net (100) after an error is detected; Introducing additional desired output images 네트워크 정보 용량의 한계에 도달함에 기인하여 정확도가 감소 Decrease in accuracy due to reaching the limit of network information capacity P-net(100) 확장P-net (100) expansion

에러 보정은 또한 외부 트레이너와 함께 트레이닝할 때 상술한 알고리즘의 도움으로 가능하다.Error correction is also possible with the aid of the algorithm described above when training with an external trainer.

p-net(100)의 하드웨어 부분은 디지털, 아날로그 또는 결합된 디지털-아날로그 마이크로칩으로 구비될 수 있다. 대표적인 p-net(100) 마이크로칩은 정보의 저장 및 처리 모두에 사용될 수 있다. p-net(100) 마이크로칩은 다양한 가변 저항들, 전계효과트랜지스터들, 멤리스터들, 커패시터들, 스위칭 소자들, 전압 발생기들, 비선형 광-셀들 등을 기반으로 할 수 있다. 가변 저항들은 시냅스 가중치들(108) 및/또는 보정 가중치들(112)로서 이용될 수 있다. 다수의 이러한 저항들은 병렬, 직렬 또는 직렬 병렬로 연결될 수 있다. 각각의 저항들이 병렬로 연결된 경우, 신호는 전류 값에 의해 코딩될 수 있는데, 이는 전류의 자동화된 아날로그 합산을 용이하게 할 수 있다. 양성 또는 음성 신호들을 얻기 위해, 흥분성 및 억제성인 두 세트의 저항들이 각 시냅스 상에 제공될 수 있다. 그러한 하드웨어 구조에서, 억제성 신호들은 흥분성 신호로부터 감산될 수 있다.The hardware portion of the p-net 100 may be provided as a digital, analog, or combined digital-analog microchip. Typical p-net (100) microchips can be used for both storage and processing of information. The p-net (100) microchip may be based on a variety of variable resistors, field effect transistors, memristors, capacitors, switching elements, voltage generators, non-linear light-cells, The variable resistors may be used as the synaptic weights 108 and / or the correction weights 112. Many of these resistors can be connected in parallel, in series, or in series. When each resistor is connected in parallel, the signal can be coded by the current value, which can facilitate automated analog summing of the current. To obtain positive or negative signals, two sets of excitatory and inhibitory resistors may be provided on each synapse. In such a hardware structure, the inhibit signals can be subtracted from the excitatory signal.

각각의 보정 가중치(112)는 멤리스터형 디바이스(멤리스터)로서 구현될 수 있다. 당업자에게 이해되는 바와 같이, 멤리스터는 회로 내의 전류 또는 전위 또는 전하에 의해 제어되는 저항을 갖는 가변 저항이다. 적절한 멤리스터 기능은 실제 멤리스터 디바이스, 그것의 소프트웨어 또는 물리적 에뮬레이션을 통해 수행될 수 있다. 저전압 전위에서의 p-net(100)의 동작에서, 멤리스터는 간단한 저항으로서 동작할 수 있다. 트레인 모드 동안, 멤리스터의 저항은, 예를 들어, 강한 전압 펄스에 의해 변화될 수 있다. 멤리스터의 값 변화(저항의 증가 또는 감소)는 전압의 극성에 따라 달라질 수 있지만, 값 변화의 크기는 전압 펄스의 크기에 따라 달라질 수 있다.Each calibration weight 112 may be implemented as a memristor type device (memristor). As will be understood by those skilled in the art, a memristor is a variable resistor having a resistance controlled by current or potential or charge in a circuit. Appropriate memristor functions can be performed through actual memristor devices, its software, or physical emulation. In the operation of p-net (100) at the low voltage potential, the memristor can operate as a simple resistor. During the train mode, the resistance of the memristor can be changed, for example, by a strong voltage pulse. The change in the value of the memristor (increasing or decreasing the resistance) may vary depending on the polarity of the voltage, but the magnitude of the value change may vary depending on the magnitude of the voltage pulse.

도 24는 p-net(100A)으로 라벨링된 p-net(100)의 일 실시예를 도시하는데, 이는 후술될 특정 소자들(요소들)을 갖는 것 이외에, 앞에서 설명한 p-net(100)와 모든면에서 유사하다. p-net(100A)에서, 각각의 보정 가중치(112)는 특정 보정 가중치의 각 가중치를 유지하는 메모리 소자(150)에 의해 설정된다. p-net(100A)에서, 가중치 보정 계산기(122)는 대응하는 메모리 소자(150)에 의해 설정되는 보정 가중치들(112)의 각각의 보정 가중치를 변경(수정)하도록 구성될 수 있다. p-net(100A)의 다른 실시예와 일치하여, 보정 가중치(112)는 결정된 편차(128)를 사용하여 대응하는 메모리 소자(150)에서 설정된다. 도 25에 도시된 p-net(100A)의 동작동안, 모든 뉴런(116) 각 출력(117)은 p-net(100A)의 동작 출력 신호(152)를 설정하도록 각각의 뉴런 합(120)을 제공한다. 동작 출력 신호(152)는 동작 출력 이미지(154)의 일부 또는 전부를 나타내는 신호 값을 갖는다.24 illustrates one embodiment of p-net 100 labeled p-net 100A, which in addition to having the specific elements (elements) to be described below, It is similar in all respects. In p-net 100A, each calibration weight 112 is set by a memory element 150 that holds each weight of a particular calibration weight. At p-net 100A, the weight correction calculator 122 may be configured to modify (modify) the respective correction weights of the correction weights 112 set by the corresponding memory element 150. In accordance with another embodiment of p-net 100A, the correction weights 112 are set in the corresponding memory elements 150 using the determined deviations 128. [ During operation of p-net 100A shown in Fig. 25, each output 117 of all neurons 116 receives a respective neuron sum 120 to set an operation output signal 152 of p-net 100A to provide. The operation output signal 152 has a signal value indicating part or all of the operation output image 154. [

p-net(100A)의 트레이닝동안, 가중치 보정 계산기(122)는 출력 이미지(126)의 일부 또는 전체를 나타내는 원하는 출력 신호(124)를 수신하고, 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 편차(128)를 결정하고, 그리고 결정된 편차를 사용하여 대응하는 메모리 소자에 의해 설정된 각각의 보정 가중치를 변경한다. 또한, 뉴런 합을 결정하기 위해 대응하는 메모리 소자들(150)에 의해 설정된 보정 가중치들(112)의 변경된 보정 가중치 값들을 합산하면 원하는 출력 신호 값 (124)으로부터 뉴런 합(120)의 편차를 최소화시킬 것이다. 원하는 출력 신호 값(124)으로부터 뉴런 합(120)의 편차를 최소화하는 것이 p-net(100A)을 트레이닝시키는데 사용된다.During training of p-net 100A, weight correction calculator 122 receives the desired output signal 124 representing a portion or all of the output image 126 and generates a neuron sum (" 120), and uses the determined deviation to change the respective correction weights set by the corresponding memory elements. In addition, summing the modified correction weight values of the correction weights 112 set by the corresponding memory elements 150 to determine the neuron sum minimizes the deviation of the neuron sum 120 from the desired output signal value 124 . Minimizing the deviation of the neuron sum 120 from the desired output signal value 124 is used to train the p-net 100A.

도 24의 가상선으로 도시된 바와 같이, 임의의 개시된 실시예의 트레이닝된 p-net(100A)는 대응하는 부가적인 원하는 출력 신호(158)와 함께 값을 갖는 보조 입력 신호(156)만을 사용하여 보충 트레이닝을 수신하도록 구성될 수 있다. 즉, 이전에 트레이닝된 p-net(100A)은 원래의 입력 신호들(104) 및 p-net(100A)을 초기에 트레이닝시키는 데 사용된 원하는 출력 신호들(124)의 일부 또는 전부로 재트레이닝되지 않고 보충 트레이닝을 수신할 수 있다. p-net(100A) 내의 다수의 시냅스들(118) 각각은 각각의 메모리 소자들(150)에 의해 설정된 하나 이상의 추가 보정 가중치들(112)을 수용하도록 구성될 수 있다. 이러한 추가적인 보정 가중치들(112)은 트레이닝동안 또는 p-net(100A)의 보충 트레이닝 이전에 시냅스에 추가될 수 있다. 그러한 추가적인 보정 가중치들(112)은 p-net(100A)을 트레이닝시키고 동작시키기 위해 이용 가능한 다수의 메모리 소자(150)의 수를 확장하는데 사용될 수 있다.As shown by the phantom lines in Fig. 24, the trained p-net 100A of any disclosed embodiment is supplemented using only the auxiliary input signal 156, which has a value along with the corresponding additional desired output signal 158 Training may be received. That is, the previously trained p-net 100A may be re-trained as part or all of the desired output signals 124 used to initially train the original input signals 104 and p-net 100A, And receive supplemental training. Each of the plurality of synapses 118 in the p-net 100A may be configured to receive one or more additional calibration weights 112 set by respective memory elements 150. [ These additional calibration weights 112 may be added to the synapse during training or prior to supplemental training of p-net (100A). Such additional calibration weights 112 may be used to extend the number of available memory devices 150 to train and operate the p-net 100A.

p-net(100A)은 p-net(100A)의 트레이닝동안 또는 후에 각각의 시냅스들(118)로부터 각각의 메모리 소자들(150)에 의해 설정된 하나 이상의 보정 가중치들(112)을 제거하도록 구성될 수도 있다. 일부 보정 가중치들(112)의 제거는 신경망이 신경망을 동작시키는데 필요한 수의 메모리 소자만을 보유하도록 허용할 수 있다. 보정 가중치들(112)을 제거하는 이러한 능력은 p-net을 더욱 소형화하여 트레이닝 및 후속 동작에보다 효율적으로 하기 위한 것이다. p-net(100A)은 또한 p-net의 트레이닝 이전 또는 트레이닝 중에 각각의 추가 뉴런 출력들(117) 및 추가 시냅스들(118)과 함께 추가 입력들(102), 추가 뉴런들(116)을 허용하도록 구성될 수 있음으로써, p-net의 동작 파라미터들을 확장한다. 이러한 p-net(100A) 에의 추가들은 용량, 출력의 정밀도 및 p-net에 의해 처리될 수 있는 태스크의 개수와 같은 능력을 향상시킬 수 있다.p-net 100A is configured to remove one or more calibration weights 112 set by respective memory elements 150 from respective synapses 118 during or after training of p-net 100A It is possible. The removal of some calibration weights 112 may allow the neural network to retain only the number of memory elements necessary to operate the neural network. This ability to remove calibration weights 112 is to make the p-net even smaller to make it more efficient for training and subsequent operations. p-net 100A also allows additional inputs 102, additional neurons 116 along with respective additional neuron outputs 117 and additional synapses 118 prior to training or during training of p- Lt; RTI ID = 0.0 > p-net. ≪ / RTI > Such additions to p-net (100A) can improve capabilities such as capacity, precision of output, and the number of tasks that can be handled by p-net.

p-net(100A)은 초기 트레이닝 또는 보충 트레이닝 이전, 도중 또는 후에 각각의 추가 뉴런 출력들(117) 및 시냅스들(118)과 함께 임의의 수의 사용되지 않은 입력들(102), 뉴런들(116)을 제거하도록 추가로 구성 될 수 있다. 이와 같이 사용되지 않는 p-net(100A)의 요소를 제거하는 능력은 구조를 단순화하고 p-net의 출력 품질 저하없이 p-net의 동작 파라미터를 변경하는 즉, p-net을 압축(condense )하는 것을 목적으로 한다.The p-net 100A may include any number of unused inputs 102, neurons (not shown) along with each additional neuron outputs 117 and synapses 118 before, during, or after initial training or supplemental training 116). ≪ / RTI > The ability to remove such unused elements of p-net (100A) simplifies the structure and changes the operating parameters of p-net without degrading the output quality of p-net, .

도 26에 도시된 바와 같이, 저항, 임피던스, 용량, 자기장, 인덕션, 또는 전계 강도와 같은 각각의 보정 가중치(112)의 가중치 값을 정의하도록 구성된 전기적 및/또는 자기적 특성을 특징으로 하는 전기 부품 또는 디바이스(160)에 의해 각각의 메모리 소자(150)가 설정될 수 있다. 이러한 전기 디바이스(160)는, 예를 들어, 멤리스터(도 26 내지도 28에 도시됨), 저항(도 29 내지 도 32에 도시됨), 트랜지스터, 커패시터(도 29 내지 도 32에 도시됨), 전계효과트랜지스터, 광저항 또는 광 의존성 저항(LDR), 자성의존성저항(MDR), 또는 메미스터(memistor)를 포함할 수있다. 당업자에 의해 이해되는 바와 같이, 메미스터는 논리 동작을 수행하고 정보를 저장할 수 있는 메모리를 갖는 저항이며, 일반적으로 멤리스터의 3단자 구현이다.The electrical components and / or the magnetic characteristics configured to define the weight values of the respective calibration weights 112, such as resistance, impedance, capacitance, magnetic field, induction, or field strength, Or each memory element 150 may be set by the device 160. 29 to 32), a transistor, a capacitor (shown in FIGS. 29 to 32), a resistor (shown in FIGS. , A field effect transistor, a photoresistor or light dependent resistor (LDR), a magnetically dependent resistor (MDR), or a memory. As will be appreciated by those skilled in the art, a mister is a resistor having a memory capable of performing logic operations and storing information, and is typically a three terminal implementation of a memristor.

메모리 소자(150)의 이러한 실시예에서, 각각의 전기 디바이스(160)의 각각의 전기적 및/또는 자기적 특성은 p-net(100A)의 트레이닝 동안 변경되도록 구성될 수 있다. 또한, 메모리 소자(150)의 전기 디바이스(160) 실시예를 사용하는 p-net(100A)에서, 가중치 보정 계산기(122)는 p-net(100A)에 의해 채용된 대응하는 디바이스들의 각각의 전기적 및/또는 자기적 특성을 변화시킴으로써 각각의 보정 가중치들(112)의 값들을 변경할 수 있다. 각각의 전기 디바이스(160)는 또한 전술한 바와 같이 p-net(100A)의 트레이닝동안 변경된 각각의 보정 가중치(112)의 값에 대응하는 전기적 및/또는 자기적 특성을 유지 또는 보유하도록 구성될 수 있으며, 트레이닝 이후 p-net의 동작 중에 사용될 수 있다. In this embodiment of the memory device 150, the electrical and / or magnetic properties of each of the electrical devices 160 may be configured to change during training of the p-net 100A. Further, in p-net 100A using the electrical device 160 embodiment of the memory device 150, the weight correction calculator 122 may calculate the weight of each of the corresponding devices employed by the p-net 100A And / or change the values of the respective correction weights 112 by varying the magnetic properties. Each electrical device 160 may also be configured to maintain or retain electrical and / or magnetic properties corresponding to the values of the respective calibration weights 112 changed during training of the p-net 100A, as described above. And can be used during p-net operation after training.

적절한 멤리스터의 특정 실시예들은 소프트웨어 또는 전기 회로 기능적 표현물 또는 그의 균등물 뿐만 아니라 디바이스의 공지된 물리적 표현물일 수 있다. 도 26-28은 그러한 물리적 멤리스터들을 사용하는 대표적인 p-net(100A)의 실시예를 도시한 것이다. 도 26에 도시된 바와 같이, 각각의 입력(102)은 아날로그 입력 신호(104)를 수신하도록 구성되되, 이미지 센서, 감광 소자들 또는 마이크로폰들, 디지털-아날로그 컨버터 등과 같은 외부 소스로부의 입력 신호들은 전압들 V1, V2 ... Vm으로 표현된다. 모든 입력 신호들(104)은 함께 대응하는 입력 이미지(106)를 일반적으로 기술한다.Certain embodiments of suitable memristors may be software or electrical circuit functional representations or equivalents thereof, as well as known physical representations of the device. Figures 26-28 illustrate an exemplary embodiment of p-net (100A) using such physical memristors. 26, each input 102 is configured to receive an analog input signal 104, wherein the negative input signals to an external source, such as an image sensor, photosensitive elements or microphones, a digital-to-analog converter, Are represented by voltages V1, V2, ..., Vm. All input signals 104 together describe generally the corresponding input image 106.

각각의 메모리 소자(150)는 또한 전기 저항들(164)을 갖는 블록(162)에 의해 설정될 수 있다. 전기 저항들(164)을 갖는 이러한 블록(162)은 선택기 디바이스(166)를 포함할 수 있다. 선택기 디바이스(166)는 전술한 바와 같이 각각의 보정 가중치(112)를 설정하기 위해 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 결정된 편차(128)를 사용하여 블록(162)으로부터 하나 이상의 전기 저항들(164)을 선택하도록 구성된다. 또한, 전기 저항들(164)을 갖는 블록(162)에 의해 설정된 각각의 메모리 소자(150)는 전기 커패시터들(168)을 또한 포함할 수 있다. 다른 말로, 각각의 메모리 소자(150)는 전기적 커패시터들(168) 뿐만 아니라 전기 저항들(164)을 갖는 블록(162)에 의해 설정될 수 있다. 이러한 경우에, 선택기 디바이스(166)는 각각의 보정 가중치(112)를 설정하기 위해 결정된 편차(128)를 사용하여, 전기 저항들(164) 뿐만 아니라 커패시터들(168)을 선택하도록 부가적으로 구성될 수 있다.Each memory element 150 may also be set by block 162 having electrical resistors 164. Such a block 162 with electrical resistors 164 may include a selector device 166. [ The selector device 166 selects one from the block 162 using the determined deviation 128 of the neuron sum 120 from the value of the desired output signal 124 to set the respective correction weights 112 as described above. Or more electrical resistors (164). Each memory element 150 set by block 162 with electrical resistors 164 may also include electrical capacitors 168. [ In other words, each memory element 150 may be set by block 162 having electrical resistors 164 as well as electrical capacitors 168. In this case, the selector device 166 is additionally configured to select the capacitors 168 as well as the electrical resistors 164, using the determined deviation 128 to set the respective correction weights 112 .

도 24 및 도 25에 도시된 p-net(100A)의 실시예 각각은 아날로그, 디지털 및 디지털-아날로그 신경망 중 하나로 구성될 수 있다. p-net(100A)의 그러한 실시예에서, 임의의 다수의 입력들(102), 다수의 시냅스들(118), 메모리 소자들(150), 분배기들의 세트(114), 뉴런들의 세트(116), 가중치 보정 계산기(122), 및 원하는 출력 신호들(124)은 아날로그, 디지털 및 디지털-아날로그 포맷으로 동작하도록 구성될 수 있다. 도 26은 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 편차(128)를 결정하는 것으로 결론을 내리는 트레이닝의 제 1 단계에서의 p-net(100A)을 도시하고, 도 27은 제 2 단계에서 p-net(100A)이 전기 디바이스들(160)에 의해 설정된 보정 가중치들(112)에 대한 보정 신호들(170)의 형성으로 결론나는 것을 도시한다. 도 26에 도시된 바와 같이, 각각의 시냅스(118)는 다수의 입력들(102) 중 하나에 연결되고, 보정 가중치들(112)로서 기능하는, 멤리스터들로 도시된, 다수의 전기 디바이스들(160)을 포함한다.Each of the embodiments of p-net (100A) shown in Figs. 24 and 25 may be configured as one of analog, digital, and digital-analog neural networks. In such an embodiment of p-net 100A, any number of inputs 102, multiple synapses 118, memory elements 150, a set of distributors 114, a set of neurons 116, The weight correction calculator 122, and the desired output signals 124 may be configured to operate in analog, digital, and digital-analog formats. Figure 26 shows p-net (100A) in the first phase of training concluding that it determines the deviation 128 of the neuron sum 120 from the value of the desired output signal 124, In step 2, p-net 100A concludes with the formation of correction signals 170 for correction weights 112 set by electrical devices 160. As shown in Figure 26, each synapse 118 is connected to one of a plurality of inputs 102 and is coupled to a plurality of electrical devices 102, shown as memristors, (160).

도 26에 도시된 p-net(100A)는 또한 분배기들 세트(114)를 포함한다. 각각의 분배기(114)는 적절한 보정 가중치(112)를 설정하는, 멤리스터들로 구성된, 전기 디바이스들(160)의 세트를 통해 각각의 입력 신호(104)를 수신하기 위해 다수의 입력들(102) 중 하나에 동작 가능하게 연결된다. 또한, 각각의 분배기(114)는 입력 전압과 상관하여 이용 가능한 다수의 보정 가중치들로부터 멤리스터들에 의해 구현된 하나 이상의 보정 가중치들(112)을 선택하도록 구성된다. 도 28은 쌍둥이 평행 분기들로 배열된 멤리스터들로서 구성된 전기 디바이스들(160)을 사용하는 p-net(100A)을 도시한다. 상기 언급된 p-net(100A)의 구성을 위한 다른 해결책과 관련하여, 도 29-31은 p-net(100A)에서 적절한 저항을 정의하기 위한 공통 저항으로 구성된 전기 디바이스들(160)을 도시한다; 반면 도 32는 p-net(100A)에서 임피던스를 정의하도록 구성된 전기 디바이스들(160)을 도시한다.The p-net 100A shown in Fig. 26 also includes a set of distributors 114. Fig. Each divider 114 is coupled to a plurality of inputs 102 to receive each input signal 104 through a set of electrical devices 160, consisting of memristors, , ≪ / RTI > In addition, each divider 114 is configured to select one or more calibration weights 112 implemented by the memrists from a plurality of calibration weights available in correlation with the input voltage. Figure 28 shows a p-net 100A using electrical devices 160 configured as memristors arranged in twin parallel branches. With reference to another solution for the construction of the above-mentioned p-net (100A), Figs. 29-31 illustrate electrical devices 160 configured with a common resistor to define an appropriate resistor in the p-net (100A) ; 32 illustrates electrical devices 160 that are configured to define impedance in p-net 100A.

아날로그 또는 아날로그-디지털 망으로서 구성된 p-net(100A)에서, 각각의 입력(102)은 아날로그 또는 디지털 입력 신호(104)를 수신하도록 구성되되, 입력 신호들은 도 24 및 도 25에서 I1, I2 ... Im으로 표시된다. 각각의 입력 신호 I1, I2 ... Im은 입력 이미지(106)의 일부 아날로그 특성(들 값), 예를 들어, 크기, 주파수, 위상, 신호 편광 각도 등을 나타낸다. 아날로그 p-net(100A)에서, 각각의 입력 신호(104)는 입력 아날로그 값을 갖되, 함께 다수의 입력 신호들(104)은 일반적으로 아날로그 입력 이미지(106)를 나타낸다. 아날로그 망으로서 구성된 p-net(100A)에서, 각각의 뉴런(116)은 직렬 또는 병렬 통신 채널(172), 예를 들어, 전기 와이어 또는 직렬 또는 병렬 버스 중 어느 하나에 의해 설정될 수 있다. 통신 채널(172)의 대표적인 버스 실시예는 당업자가 이해하는 바와 같이, 병렬 및 비트 직렬 연결들 모두를 사용할 수 있다. 예를 들어, 대응 아날로그 신호들이 전류를 통해 제공되는 경우, 통신 채널(172)은 직렬 전류 버스일 수 있고, 대응 아날로그 신호들이 각각의 보정 가중치(112) 상의 전위를 통해 제공되는 경우, 대표적인 통신 채널은 병렬 버스일 수 있다.Analog or analog-p-net (100A) is configured as a digital network, each input 102 is an analog or digital input signal doedoe configured to receive (104), the input signals 24 and I 1, I in Fig. 25 2 ... I m . Each input signal I 1 , I 2 ... I m represents some analog characteristic (s) of the input image 106, e.g., magnitude, frequency, phase, signal polarization angle, In the analog p-net 100A, each input signal 104 has an input analog value, while a plurality of input signals 104 generally represent an analog input image 106. [ In p-net 100A configured as an analog network, each neuron 116 may be set by either a serial or parallel communication channel 172, for example, an electrical wire or a serial or parallel bus. Exemplary bus embodiments 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 corresponding analog signals are provided via current, the communication channel 172 may be a serial current bus, and if corresponding analog signals are provided through a potential on each calibration weight 112, May be a parallel bus.

보정 가중치(112)의 아날로그 실시예가 도 26-32에 도시되어있다. 각각의 아날로그 보정 가중치(112)는 특정 보정 가중치의 각 가중치를 유지하고 순방향 신호들

Figure pct00020
(입력에서 출력으로) 또는 역방향 신호들
Figure pct00021
(출력에서 입력으로) 상에 작용하여 변경하는 메모리 소자(150), 또는 제어 신호를 통해 흐르는 추가적인 제어 신호에 의해 정의된다. 또한, 각각의 아날로그 보정 가중치(112)는, 예를 들어, 이미지 인식 동안 p-net(100A)의 실제 동작 동안 그 각각의 가중치를 유지할 수 있다. 또한, 각각의 아날로그 보정 가중치(112)의 값은 순방향 신호들
Figure pct00022
또는 역방향 신호들
Figure pct00023
또는 추가 제어 신호 중 어느 하나를 통해 p-net(100A)의 트레이닝 중에 변경될 수 있다. 결과적으로, p-net(100A)의 아날로그 실시예는 다양한 컴퓨터 애플리케이션의 지원을 허용하는 마이크로칩의 생성을 가능하게 할 수 있다. 또한, 전체 p-net(100A)은 마이크로 칩, 비디오 카드 등과 같은 메모리를 갖는 전자 디바이스에 프로그래밍될 수 있다. 따라서, 각 메모리 소자(150)의 적절한 실시예는 또한 대상 전자 디바이스의 메모리에 저장될 것이다.An analog embodiment of the calibration weight 112 is shown in Figures 26-32. Each of the analog calibration weights 112 maintains respective weights of specific calibration weights,
Figure pct00020
(From input to output) or reverse signals
Figure pct00021
A memory element 150 that acts on and changes (from output to input), or an additional control signal that flows through the control signal. In addition, each analog calibration weight 112 may maintain its respective weight during the actual operation of p-net 100A, for example during image recognition. In addition, the value of each analog calibration weight 112 may be a function of the forward signals
Figure pct00022
Or reverse signals
Figure pct00023
Or may be changed during training of p-net 100A via either of the additional control signals. As a result, the analog embodiment of p-net (100A) may enable generation of microchips that allow support of various computer applications. In addition, the entire p-net 100A can be programmed into an electronic device having a memory such as a microchip, a video card, and the like. Thus, a suitable embodiment of each memory element 150 will also be stored in the memory of the target electronic device.

상기와 일치하여, 아날로그 p-net(100A) 내의 각각의 전기 디바이스(160)는 p-net의 트레이닝 후에 각각의 보정 가중치(112)의 변경된 값에 대응하는 전기적 및/또는 자기적 특성을 복원하도록 구성될 수 있다. 가중치 보정 계산기(122)는 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 결정된 편차(128)를 나타내는 하나 이상의 보정 신호를 생성하도록 구성될 수 있다. 또한, 생성된 보정 신호들 각각은 적어도 하나의 전기 디바이스의 전기적 및/또는 자기적 특성, 즉 변경되는 각각의 디바이스에 사용되는 개별 보정 신호를, 변경하는데 사용될 수 있다. 또한, 가중치 보정 계산기(122)는 각각의 전기 디바이스(160)의 전기적 및/또는 자기적 특성을 변화시키는 데 사용되는 단일 보정 신호를 생성하도록 구성될 수 있다. 즉, 변경되는 모든 전기 디바이스에 대해 하나의 보정 신호가 사용될 수 있다.Consistent with the above, each electrical device 160 in the analog p-net 100A may be configured to restore the electrical and / or magnetic characteristics corresponding to the changed values of the respective correction weights 112 after training of p-net Lt; / RTI > The weight correction calculator 122 may be configured to generate one or more correction signals indicative of the determined deviation 128 of the neuron sum 120 from the value of the desired output signal 124. [ Further, each of the generated correction signals can be used to modify the electrical and / or magnetic characteristics of at least one electrical device, i.e., individual correction signals used for each device being changed. In addition, the weight correction calculator 122 may be configured to generate a single correction signal that is used to change the electrical and / or magnetic characteristics of each electrical device 160. That is, one correction signal may be used for all electrical devices to be changed.

가중치 보정 계산기(122)의 특정 실시예들은 프로그래밍된 소프트웨어로서 p-net(100A)에 내장되거나 또는 외부 디바이스들 또는 접근 가능한 컴퓨터 프로그램을 통해 설정될 수 있다. 예를 들어, 가중치 보정 계산기(122)는 한 세트의 차동 증폭기들(174)로서 설정될 수 있다. 전체적인 개시와 일치하여, 이러한 각각의 차동 증폭기(174)는 원하는 출력 신호(124)의 값으로부터 뉴런 합(120)의 결정된 편차(128)를 나타내는 각각의 보정 신호를 생성하도록 구성될 수 있다. 각 전기 디바이스(160)는 p-net(100A)의 트레이닝이 완료된 후에 각각의 보정 가중치(112)의 변경된 값에 대응하는 전기적 및/또는 자기적 특성을 유지하도록 구성될 수 있다. 또한, p-net(100A)는 p-net의 동작 동안, 즉 트레이닝이 완료된 후에도 유지 된 전기적 및/또는 자기적 특성을 사용하도록 구성될 수 있다. 이러한 p-net(100A)의 구조는 보정 가중치(112)의 병렬 또는 일괄 트레이닝을 용이하게 하고, 이에 의해 전술한 종래의 신경망과 비교하여 p-net을 트레이닝시키는데 필요한 시간의 상당한 감소를 가능하게한다.Certain embodiments of the weight correction calculator 122 may be embedded in the p-net 100A as programmed software or set via external devices or an accessible computer program. For example, the weight correction calculator 122 may be set as a set of differential amplifiers 174. Consistent with the overall disclosure, each of these differential amplifiers 174 can be configured to generate a respective correction signal indicative of a determined deviation 128 of the neuron sum 120 from the value of the desired output signal 124. [ Each electrical device 160 may be configured to maintain electrical and / or magnetic characteristics corresponding to the modified values of the respective calibration weights 112 after the training of the p-net 100A is completed. In addition, p-net 100A may be configured to use electrical and / or magnetic properties maintained during operation of the p-net, i.e., after training is complete. The structure of this p-net (100A) facilitates parallel or batch training of the correction weights 112, thereby enabling a significant reduction in the time required to train the p-net compared to the conventional neural network described above .

p-net(100A)의 각각의 분배기(114)는 단일 입력 신호(104)를 취하여 하나 이상의 다중 데이터-출력-라인들을 선택하는 아날로그, 디지털 또는 아날로그-디지털 디바이스로서 구성될 수 있는데, 이는 단일 입력, 즉, 디멀티플렉서(176)에 연결된다. 이러한 디멀티플렉서(176)는 수신된 입력 신호(104)에 응답하여 다수의 보정 가중치들로부터 하나 이상의 보정 가중치(112)를 선택하도록 구성될 수 있다. 각각의 분배기(114)는 수신된 입력을 바이너리 코드로 변환하고 바이너리 코드와 관련하여 다수의 보정 가중치들로부터 하나 이상의 보정 가중치들(112)을 선택하도록 구성될 수 있다.Each divider 114 of p-net 100A may be configured as an analog, digital, or analog-digital device that takes a single input signal 104 and selects one or more multiple data-output-lines, I. E., A demultiplexer 176. The < / RTI > This demultiplexer 176 may be configured to select one or more correction weights 112 from a plurality of correction weights in response to the received input signal 104. [ Each divider 114 may be configured to convert the received input to a binary code and to select one or more correction weights 112 from a plurality of correction weights in association with the binary code.

도 33은 (도 25에 도시된) 유틸리티 신경망(100B)을 동작시키는 방법(300)을 도시한다. 방법(300)은 도 2 내지 22 및 24 내지 32에 관한 상기 개시 내용에 따라 동작한다. 방법(300)은 프레임(302)에서 시작하며, 이 방법은 유틸리티 신경망(100B)을 제공하는 단계를 포함한다. 프레임(302) 이후, 방법은 프레임(304)으로 진행한다. 프레임(304)에서, 방법은 트레이닝 동안 p-net(100A)과 같은 별도의 유사 신경망에 의해 설정된 보정 가중치(112)의 변경된 값을 사용하여 유틸리티 신경망(100B)을 통한 데이터 프로세싱을 포함한다. 유사한 p-net(100A)의 트레이닝은 도 24와 관련하여 전술한 바와 같은 보충 트레이닝을 포함할 수 있다.Figure 33 shows a method 300 of operating the utility neural network 100B (shown in Figure 25). The method 300 operates in accordance with the teachings of FIGS. 2-22 and 24-32 above. Method 300 begins at frame 302, which includes providing utility neural network 100B. After frame 302, the method proceeds to frame 304. In frame 304, the method includes data processing via the utility neural network 100B using modified values of the correction weights 112 set by separate pseudo neural networks such as p-net (100A) during training. Training of a similar p-net (100A) may include supplemental training as described above with respect to FIG.

유틸리티 신경망(100B) 및 트레이닝된 별도의 p-net(100A)는, 예를 들어 도 25에 나타낸 바와 같이 매칭 신경망 구조를 가짐으로써 유사하게 만들어질 수 있어서, 유틸리티 신경망(100B)은 유틸리티 신경망을 트레이닝하도록 가중치 보정 계산기(122) 및 대응 능력을 배제할 수 있다. 따라서, 매칭 신경망 구조는 동일한 개수의 입력들(102), 보정 가중들(112), 분배기들(114), 뉴런들(116), 뉴런 출력들 (117) 및 시냅스들(118)을 포함할 수 있다. 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 shown in Fig. 25, so that the utility neural network 100B can train the utility neural network The weighting correction calculator 122 and the corresponding capability may be excluded. 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 have.

환언하면, 보정된 보정 가중치들(112)을 설정함으로써 트레이닝될 p-net(100A)의 능력인 가장 큰 기능적 차이를 갖는, 망의 동작 파라미터들을 설정하는 모든 특징에 대해 p-net(100A)과 유틸리티 신경망(110B)은 실질적으로 동일할 수 있다. 유사 p-net(100A) 및 유틸리티 신경망(100B)은 각각 예를 들면 아날로그 및/또는 디지털 포맷뿐만 아니라 하드웨어 및/또는 소프트웨어의 다양한 형태로 구별되는 구성들로 구현될 수 있어, 유틸리티 신경망 및 유사한 p-net이 다른 캐리어들로 대표된다. 그러한 경우에, 트랜스레이터(도시되지 않음)는 변경된 보정 가중치(112)로 데이터를 변환하거나 해석하기 위해 사용될 수 있다.In other words, p-net (100A) and p-net (100A) are used for all features that set the operating parameters of the network, with the greatest functional difference being the ability of p-net 100A to be trained by setting the corrected correction weights 112 The utility neural network 110B may be substantially the same. Pseudo p-net 100A and utility neural network 100B may each be implemented in configurations that are distinguished in various forms of hardware and / or software as well as, for example, analog and / or digital formats, -net is represented by other carriers. In such a case, a translator (not shown) may be used to convert or interpret the data into the modified correction weights 112.

유틸리티 신경망(100B) 및 트레이닝된 별도의 p-net(100A) 각각에서, 각각의 보정 가중치(112)는 메모리 소자(150)에 의해 설정될 수 있다. 구체적으로는, p-net(100A)에서, 메모리 소자(150)는 p-net의 트레이닝에 후속하는 보정 가중치(112)에 대응하는 각각의 수정된 가중치를 보유할 수 있다. 유틸리티 신경망(100B)에 제공되는 각각의 입력 이미지(106)는 도 2와 관련한 설명과 동일한 I1, I2 ... Im으로 표현된 결합 입력 신호들(104)로 표현될 수 있다. 도 2와 관련하여 추가로 논의된 바와 같이, 각각의 입력 신호 I1, I2, ..., Im은 대응 입력 이미지(106)의 몇몇 특성 (들)의 값을 나타낸다.In each of the utility neural network 100B and the trained separate p-net 100A, each calibration weight 112 may be set by the memory element 150. [ Specifically, at p-net 100A, memory element 150 may hold each modified weight corresponding to a correction weight 112 following a training of p-net. Each of the input image supplied to the neural network utility (100B), (106) can be represented by the combined input signal 104 represented by the description and the same I 1, I 2 ... I m with respect to FIG. Each input signal I 1 , I 2 , ..., I m represents the value of some characteristic (s) of the corresponding input image 106, as discussed further with respect to FIG.

프레임(304)에서 방법은 프레임(306)으로 진행한다. 프레임(306)에서 방법은 도 25와 관련하여 설명된 바와 같이 변경된 보정 가중치(112)를 사용하여 동작 출력 신호(152)를 설정하는 단계를 포함한다. 따라서, 유틸리티 신경망(100B)을 통한 입력 이미지(106)와 같은 입력 데이터의 프로세싱은 그러한 데이터의 인식 및 유틸리티 신경망의 연산 출력 신호(152)와 함께 완성될 수 있다. 그런 다음 유틸리티 신경망(100B)의 동작 출력 신호(152)는 방법을 완료하기 위해 유틸리티 신경망 자체 또는 프레임(308)의 일부로서 유틸리티 망의 오퍼레이터에 의해 해석되거나 디코딩될 수 있다. p-net(100A)에서 변경된 보정 가중치들(112)의 설정은 도 23과 관련하여 기술된 바와 같이 p-net(100)를 트레이닝하는 방법(200)에 따라 달성될 수 있다.In frame 304, the method proceeds to frame 306. [ The method at frame 306 includes setting the motion output signal 152 using the modified correction weights 112 as described in connection with FIG. Thus, the processing of input data, such as the input image 106 via the utility neural network 100B, can be completed with the recognition of such data and the computational output signal 152 of the utility neural network. The operational output signal 152 of the utility neural network 100B may then be interpreted or decoded by the operator of the utility network as part of the utility neural network itself or frame 308 to complete the method. The setting of the modified correction weights 112 in p-net 100A may be accomplished according to a method 200 of training p-net 100 as described in connection with Fig.

도 34 및 도 35는 p-net(100B)으로 라벨링된 p-net(100)의 일 실시예를 도시하며, 이는 후술될 특정 소자(요소)들을 갖는 것 이외에는 전술한 p-net(100)과 모든 면에서 유사하다. 또한, 도 34 및 도 35에 도시된 p-net(100B)은 어레이 구조를 사용하여 다른 이미지들의 후속 인식을 위해 선택된 이미지들로 동작하도록, 즉, 트레이닝되도록 구성된다. 본 명세서에서 사용되는 용어 "이미지"는 신경망에 의해 처리되거나 생성되도록 수신된 임의의 유형의 정보 또는 데이터를 나타내는 것으로 의도된다. 도 36에서, 트레이닝된 p-net(100B)는 도면 부호 100C를 통해 지정된다. p-net(100B)이 트레이닝되는 경우, 입력 이미지(106)는 트레이닝 이미지로서 정의되고, 트레이닝된 p-net(100C)에서는 입력 이미지(106)가 인식되도록 의도된다. p-net(100B)의 트레이닝 동안, 즉, 다수의 입력에 의해 수신된 후, 트레이닝 이미지들(106)이 트레이닝 입력 값 어레이(107)로서 다수의 입력들(102)에 의해 수신되거나, 또는 트레이닝 입력 값 어레이(107)로서 코드화(코딩)된다.Figures 34 and 35 illustrate one embodiment of a p-net 100 labeled p-net 100B, which is similar to the p-net 100 described above except that it has certain elements to be described below. It is similar in all respects. In addition, the p-net 100B shown in Figs. 34 and 35 is configured to operate, i.e., train, with images selected for subsequent recognition of other images using an array structure. As used herein, the term " image " is intended to represent any type of information or data received or processed by a neural network. 36, the trained p-net 100B is designated at 100C. When the p-net 100B is trained, the input image 106 is defined as the training image, and in the trained p-net 100C, the input image 106 is intended to be recognized. the training images 106 are received by the multiple inputs 102 as the training input value arrays 107 or after the training images 106 are received during the training of the p-net 100B, (Coded) as an input value array 107. [

다른 실시예들과 유사하게, 도 34-36에 도시된 p-net(100B) 및 p-net(100C) 각각은 또한 시냅스 (118)를 포함하되, 각각의 시냅스(118)는 다수의 입력들(102) 중 하나에 연결되고, 다수의 보정 가중치들(112)을 포함할 수 있고, 또한 시냅스 가중치(108)를 포함할 수 있다. 모든 시냅스(118)의 보정 가중치(112)는 즉, 보정 가중치 어레이(119A)의 형태로 구성된다. 따라서, 도 34 내지 도 36에서, 보정 가중치 어레이(119A)는 점선 박스(119A) 내의 모든 보정 가중치(112)를 포함한다. p-net(100B)은 한 세트의 분배기들(114)을 포함할 수도 있다. 이러한 실시 예에서, 각각의 분배기(114)는 각각의 입력 신호(104)를 수신하기 위해 다수의 입력들(102) 중 하나에 동작 가능하게 연결된다. 보정 가중치 어레이(119A)를 포함하는 p-net(100B)의 실시예는 또한 뉴런 유닛의 구성 요소들 중 일부를 유지하면서 별개의 뉴런 유닛(119)이 부재함으로써 특징될 수 있다.Similar to other embodiments, each of p-net 100B and p-net 100C shown in Figs. 34-36 also includes a synapse 118, with each synapse 118 having a plurality of inputs (102), may include multiple calibration weights (112), and may also include synapse weights (108). The correction weights 112 of all the synapses 118 are configured in the form of the correction weight arrays 119A. Thus, in Figures 34-36, the correction weight arrays 119A include all correction weights 112 in the dashed box 119A. The p-net 100B may comprise a set of distributors 114. In this embodiment, each of the distributors 114 is operatively coupled to one of the plurality of inputs 102 to receive a respective input signal 104. An embodiment of the p-net 100B that includes the calibration weighting array 119A may also be characterized by the absence of a separate neuron unit 119 while maintaining some of the components of the neuron unit.

이전에 기술된 p-net(100) 및 p-net(100A)과 유사하게, p-net(100B)은 추가로 한 세트의 뉴런(116)을 포함하며, 이하에서 상세히 설명되는 동작들을 실행하기위한 수단이다. 각각의 뉴런(116)은 또한 적어도 하나의 출력(117)을 가지며 하나의 시냅스(118)를 통해 다수의 입력들(102) 중 적어도 하나와 연결된다. 각각의 뉴런(116)은 마찬가지로 각각의 뉴런(116)에 연결된 각 시냅스(118)로부터 선택된 보정 가중치(112)의 값을 합산하여 뉴런 합 어레이(120A)를 생성하여 출력하고, 그렇치 않으면 ∑n으로 지정된다. 본 실시예에서, 도 34 내지 도 36에 도시된 바와 같이, 별개의 분배기(114)가 주어진 입력(102)의 각 시냅스(118)에 유사하게 사용될 수 있다. 대안으로, 하나의 분배기가 모든 시냅스(도시 생략)에 대해 사용될 수 있다. p-net(100B)의 형성 또는 설정 동안, 모든 보정 가중치(112)는 초기 값으로 할당되는데, 이는 도 35에 도시된 바와 같이, p-net 트레이닝의 프로세스 동안 변경될 수 있다. 보정 가중치(112)의 초기 값은 사전 결정된 수학 함수의 도움으로 계산되고, 미리 결정된 템플리트로부터 선택되는 등 임의적으로 선택될 수 있다. 보정 가중치들(112)의 초기 값들은 각각의 보정 가중치(112)에 대해 동일하거나 별개일 수 있고 또한 0 일 수도 있다.Similar to the previously described p-net 100 and p-net 100A, the p-net 100B additionally includes a set of neurons 116, and performs the operations detailed below . Each neuron 116 also has at least one output 117 and is coupled to at least one of the plurality of inputs 102 via one synapse 118. Each neuron 116 similarly generates and outputs a neuron sum array 120A by summing the values of the selected correction weights 112 from each synapse 118 connected to each neuron 116, . In this embodiment, a separate splitter 114 may be used similarly for each synapse 118 of a given input 102, as shown in Figures 34-36. Alternatively, one splitter may be used for all synapses (not shown). During the formation or setup of p-net 100B, all correction weights 112 are assigned initial values, which can be changed during the process of p-net training, as shown in FIG. The initial values of the correction weights 112 may be computed with the help of predetermined mathematical functions, and may be selected arbitrarily, such as selected from a predetermined template. The initial values of the correction weights 112 may be the same or separate for each of the correction weights 112 and may also be zero.

도 34 및 도 35에 도시된 바와 같이, p-net(100B)는 또한 p-net(100B)의 트레이닝을 조절하도록 구성된 컨트롤러(122A)를 포함하며, 이하에서 상세히 설명되는 동작을 실행하기 위한 수단이다. 컨트롤러(122A)는 다른 실시예들에 대해 전술한 가중치 보정 계산기(122)를 포함할 수 있다. 이하에서 상세하게 설명되는 태스크를 적절하게 수행하기 위해, 컨트롤러(122A)는 적어도 일부가 실재적이고 일시적이지 않은 메모리를 포함한다. 컨트롤러(122A)의 메모리는 컴퓨터 판독 가능 데이터 또는 처리 명령을 제공하는데 참여하는 기록 가능한 매체일 수 있다. 그러한 매체는 비 휘발성 매체 및 휘발성 매체를 포함 하나 이에 한정되지 않는 많은 형태를 취할 수 있다. 컨트롤러(122A)용 비 휘발성 매체는 예를 들어 광 또는 자기 디스크 및 다른 영구 메모리를 포함할 수 있다. 휘발성 매체는 예를 들어 주 메모리를 구성 할 수 있는 DRAM(dynamic random access memory)을 포함할 수 있다. 이러한 명령은 컴퓨터의 프로세서에 연결된 시스템 버스를 포함하는 동축 케이블, 구리 와이어 및 광섬유를 포함하는 하나 이상의 전송 매체에 의해 전송될 수 있다.34 and 35, the p-net 100B also includes a controller 122A configured to regulate the training of the p-net 100B, and includes means for performing the operations described in detail below to be. The controller 122A may include the weight correction calculator 122 described above for other embodiments. In order to properly perform the tasks described in detail below, the controller 122A includes memory that is at least partially realistic and non-volatile. The memory of controller 122A may be a recordable medium that participates in providing computer readable data or processing instructions. Such media can 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 permanent memories. The volatile medium may comprise, for example, a dynamic random access memory (DRAM) capable of configuring main memory. Such instructions may be transmitted by one or more transmission media, including coaxial cables, copper wires, and optical fibers, including a system bus coupled to a processor of a computer.

컨트롤러(122A)의 메모리는 또한 적절한 매체, 예를 들어 자기 또는 광학 매체를 포함할 수 있다. 컨트롤러(122A)는 고속 클록, 필수 아날로그-디지털(A/D) 및/또는 디지털-아날로그(D/A) 회로, 필요한 입력/출력 회로 및 디바이스들(I/O)은 물론 적절한 신호 컨디셔닝 및/또는 버퍼 회로를 포함할 수 있다. 컨트롤러(122A)에 의해 요구되거나 이에 의해 액세스 가능한 알고리즘은 메모리에 저장되고 자동적으로 실행되어 이하에 상세히 설명된 요구되는 기능을 제공할 수 있다.The memory of the controller 122A may also include a suitable medium, for example a magnetic or optical medium. The controller 122A may be any suitable circuit for performing the appropriate signal conditioning and / or control, as well as a high speed clock, required analog-to-digital (A / D) and / or digital- Or a buffer circuit. The algorithm required or accessible by controller 122A may be stored in memory and automatically executed to provide the required functionality described in detail below.

컨트롤러(122A)는 보정 가중치들(112)을 보정 가중치 어레이(119A)로 조직하도록 프로그램될 수 있다. 컨트롤러(122A)는 또한 원하는 출력값 어레이(126A)로서 조직화된 원하는 이미지들 또는 출력 신호들(124)을 수신하도록 구성된다. 컨트롤러(122A)는 추가로 원하는 출력값 어레이로부터 뉴런 합 어레이(120A)의 편차(128)를 결정하고 편차 어레이(132)를 생성하도록 구성된다. 컨트롤러(122A)는 또한 결정된 편차 어레이(132)를 사용하여 보정 가중치 어레이(119A)를 변경하도록 구성된다. 이러한 경우에, 뉴런 합 어레이(120A)를 결정하기 위해 변경된 보정 가중치 값을 가산함으로써 트레이닝된 보정 가중치 어레이(134A)를 생성하기 위해 원하는 출력값 어레이(126A)로부터 뉴런 합 어레이(120A)의 편차(128)가 감소된다(도 36에 도시됨). 도 34 및 도 35에 도시된 보정 가중치 어레이(119A)와 유사하게, 트레이닝 된 보정 가중치 어레이(134A)는 점선 박스(134A) 내의 모든 보정 가중치들(112)을 포함한다. 또한, 도 36에 도시되고 도 34 및 도 35의 보정 가중치 어레이(119A)와 유사하게, 트레이닝된 보정 가중치 어레이(134A)는 점선 박스(119A) 내의 모든 트레이닝된 보정 가중치들(112A)을 포함하고 그것과 관련된 분배기들(114)을 포함할 수 있다. 따라서, 뉴런 합 어레이(120A)의 최소화된 편차(128)는 p-net(100B)에 의해 생성된 에러를 보상한다. 또한, 생성된 트레이닝된 보정 가중치 어레이(134A)는 p-net(100B)의 동시 또는 병렬 트레이닝을 용이하게 한다.Controller 122A may be programmed to organize calibration weights 112 into calibration weight arrays 119A. The controller 122A is also configured to receive the desired images or output signals 124 organized as a desired output array 126A. The controller 122A is further configured to determine the deviation 128 of the neuron sum array 120A from the desired output array and to generate the deviation array 132. [ The controller 122A is also configured to change the calibration weight arrays 119A using the determined deviation arrays 132. [ In this case, a deviation 128 (n) of the neuron sum array 120A from the desired output arrays 126A to produce the corrected correction weight arrays 134A by adding the modified correction weight values to determine the neuron sum array 120A ) Is decreased (shown in FIG. 36). Similar to the correction weight arrays 119A shown in Figs. 34 and 35, the trained correction weight arrays 134A include all correction weights 112 in the dashed box 134A. 36 and similar to the correction weight arrays 119A of FIGS. 34 and 35, the trained correction weight arrays 134A include all the trained correction weights 112A in the dashed box 119A And dispensers 114 associated therewith. Thus, minimized deviation 128 of neuron sum array 120A compensates for errors generated by p-net 100B. In addition, the generated training calibration weights arrays 134A facilitate simultaneous or parallel training of the p-net 100B.

도 35에 도시된 트레이닝된 p-net(100C)에서, p-net에 대한 다수의 입력들 (102)은 입력 이미지들(106)을 수신하도록 구성될 수 있다. 이러한 입력 이미지들(106)는 입력 값 어레이(107A)로서 수신되거나 또는 p-net(100B)에 의한 이미지의 인식 중에 입력 값 어레이(107A)로서 코드화(코딩)될 수 있다. 각각의 시냅스(118)는 다수의 트레이닝된 보정 가중치(112A)를 포함할 수 있다. 또한, 각각의 뉴런(116)은 각각의 뉴런에 연결된 각 시냅스(118)에 대응하는 트레이닝된 보정 가중치들(112A)의 가중치 값들을 합산하도록 구성될 수 있어, 다수의 뉴런들이 인식된 이미지 어레이(136)를 생성하도록 하여, 입력 이미지들(106)의 인식을 제공한다. 분배기(114)를 포함하는 트레이닝된 p-net(100B) 및 실시예에서, 분배기는 트레이닝 및 입력 이미지들(106)을 각각의 트레이닝 입력 값 어레이(107) 및 입력 값 어레이(107A)로서 코드화하도록 구성될 수 있다. 따라서, 그러한 세트의 분배기(114)는 각각의 트레이닝 및 입력 이미지들 (106) 각각을 수신하기 위해 다수의 입력들(102)에 동작 가능하게 연결된다. 전술한 동작은 구조화된 매트릭스들, 특히 트레이닝된 보정 가중치 어레이(134A) 대신에 트레이닝된 보정 가중치 매트릭스를 사용하여 수행될 수 있으며, 이는 이하에서 상세히 설명될 것이다.In the trained p-net 100C shown in Fig. 35, a plurality of inputs 102 for p-net may be configured to receive input images 106. In Fig. These input images 106 may be received as an input value array 107A or may be coded (coded) as an input value array 107A during recognition of an image by the p-net 100B. Each synapse 118 may include a number of training calibration weights 112A. Each neuron 116 may also be configured to sum the weighted values of the training calibrated weights 112A corresponding to each synapse 118 connected to each neuron so that a number of neurons 136 to provide recognition of the input images 106. [ In a training p-net 100B that includes a distributor 114 and in an embodiment the distributor is configured to encode training and input images 106 as respective training input value arrays 107 and input value arrays 107A Lt; / RTI > Thus, the set of distributors 114 are operatively coupled to a plurality of inputs 102 to receive each of the training and input images 106. The above-described operation can be performed using structured matrices, in particular a calibrated weighting matrix, instead of the trained calibration weight arrays 134A, which will be described in detail below.

컨트롤러(122A)는 추가로 원하는 출력값 어레이(126A)로부터 뉴런 합 어레이(120A)의 타겟 편차 또는 타겟 편차 어레이(138)의 어레이로 프로그래밍될 수 있다. 또한, 컨트롤러(122A)는 원하는 출력값 어레이(126A)로부터 뉴런 합 어레이(120A)의 편차(128)가 타겟 편차 어레이(138)의 수용 가능한 범위(139) 내에 있을 때 p-net(100B)의 트레이닝을 완료하도록 구성될 수 있다. 수용 가능한 범위(139)는 타겟 편차 어레이(138)의 최대 또는 최소값 또는 타겟 편차 어레이(138)의 평균값에 대해 참조될 수 있다. 대안으로, 컨트롤러(122A)는 편차(128)의 감소 속도 또는 트레이닝 입력 값 어레이(107)와 원하는 출력값 어레이(126A)의 수렴 속도가 소정의 속도 값(140)으로 떨어질 때 p-net(100B)의 트레이닝을 완료하도록 구성될 수 있다. 수용 범위(139) 및/또는 소정 속도 값 140)은 컨트롤러(122A)에 프로그래밍 될 수 있다.The controller 122A may be further programmed from the desired output array 126A into a target deviation of the neuron sum array 120A or an array of target deviation arrays 138. [ The controller 122A may also be configured to perform training of the p-net 100B when the deviation 128 of the neuron sum array 120A from the desired output array 126A is within the acceptable range 139 of the target deviation array 138 As shown in FIG. Acceptable range 139 may be referenced to a maximum or minimum value of the target deviation array 138 or an average value of the target deviation array 138. [ Alternatively, the controller 122A may control the p-net 100B when the decreasing rate of the deviation 128 or the converging speed of the training input value array 107 and the desired output value array 126A falls to the predetermined speed value 140. [ As shown in FIG. The acceptance range 139 and / or the predetermined speed value 140) may be programmed into the 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, 119, 120, 126, 132, 134, 136, 및 138)에서 발생되는 것으로 이해되어야 한다.A training input array 107, an input value array 107A, a correction weight array 119A, a neuron sum array 120A, a desired output value array 126A, a deviation array 132, a trained calibration weight array 134A, , The recognized image array 136 and the target deviation array 138, i.e., the parameter values in them, are stored in the training input value matrix 141, the input value matrix 141A, the correction weight matrix 142, A desired output matrix 144, a deviation matrix 145, a trained correction weight matrix 146, a recognized image matrix 147, and a target deviation matrix 148. The sum matrix 143, In each of the arrays 107, 107A, 119, 120, 126, 132, 134, 136 and 138, the value of each parameter may be configured in the form of, for example, a processor accessible data table, The values of the matrices 141, 141A, 142, 143, 144, 145, 146, 147, and 148 are specifically configured to apply algebraic matrix operations individually to each matrix as well as their associations. The matrixes 141, 141A, 142, 143, 144, 145, 146, 147 and 148 are not specifically shown in the drawings, , 134, 136, and 138).

아래의 예에서 설명의 편의를 위해 특정 매트릭스가 임의의 수의 열과 행으로 표시된다. 예를 들어, 트레이닝 이미지는 입력 트레이닝 매트릭스 |I|에서 수신 및/또는 조직될 수 있다 :In the following example, a particular matrix is displayed in any number of columns and rows for convenience of explanation. For example, a training image may be represented by an input training matrix | I | / RTI > may be received and / or organized in:

입력 1Input 1 입력 2Input 2 입력 3Input 3 이미지 1Image 1 I11 I 11 I21 I 21 I31 I 31 이미지 2Image 2 I12 I 12 I22 I 22 I32 I 32 이미지 3Image 3 I13 I 13 I23 I 23 I33 I 33

이어서, 트레이닝 입력 이미지 매트릭스 컨트롤러(122A)를 통해 트레이닝 입력 값 매트릭스(141)로 변환될 수 있고, 이는 매트릭스 |C|로 표현된다. 각 매트릭스 |C|는 입력 "I"의 수에 해당하는 수의 열을 갖지만 특정 수의 간격들 "i"와 이미지들의 수에 해당하는 행 수를 고려한다.Then, the training input image by a matrix controller (122A) may be converted into a training input value matrix 141, which matrix | C | Lt; / RTI > Each matrix | C | Has a number of rows corresponding to the number of inputs " I " but takes into account the number of rows corresponding to the specific number of intervals " i " and the number of images.

매트릭스 |C|에서, 간격들 "i"는 트레이닝 중에 사용될 특정 보정 가중치(112)로 식별된다. 간격들 "i"에 대응하는 열에서, 신호의 값들은 특정 신호가 특정 간격에서 사용될 것이라는 것을 나타내기 위해 일(1)로 대체될 수 있는 반면, 대상 신호에 대한 다른 간격에서는 신호의 값이 특정 간격이 고려되지 않음을 나타 내기 위해 영(0)으로 대체된다.Matrix | C | , The intervals " i " are identified by a specific calibration weight 112 to be used during training. In the column corresponding to the intervals " i ", the values of the signal may be replaced by one (1) to indicate that a particular signal will be used at a particular interval, It is replaced by zero (0) to indicate that the interval is not taken into account.

예시적인 보정 가중치 매트릭스(146)은 아래에 도시된 매트릭스 |W|로서 형성될 수 있다:An exemplary calibration weight matrix 146 is a matrix shown below: | W | / RTI >

간격들Gaps 출력 1Output 1 출력 2Output 2 출력 3Output 3 입력 1Input 1 i1i1 WW 111111 WW 112112 WW 113113 i2i2 WW 121121 WW 122122 WW 123123 i3i3 WW 131131 WW 132132 WW 133133 i4i4 WW 141141 WW 142142 WW 143143 입력 2Input 2 i1i1 WW 211211 WW 212212 WW 213213 i2i2 WW 221221 WW 222222 WW 223223 i3i3 WW 231231 WW 232232 WW 233233 i4i4 WW 241241 WW 242242 WW 243243 입력 3Input 3 i1i1 WW 311311 WW 312312 WW 313313 i2i2 WW 321321 WW 322322 WW 323323 i3i3 WW 331331 WW 332332 WW 333333 i4i4 WW 341341 WW 342342 WW 343343

뉴런 합 매트릭스(143)는 아래 도시된 매트릭스 |Σ|로 표현될 수 있다:Neurons sum matrix 143 is a matrix shown below | Σ | Can be expressed as:

Figure pct00024
Figure pct00024

원하는 출력값 매트릭스(144)은 아래 도시된 매트릭스 |O|로서 형성될 수 있다:Desired output value matrix 144 is a matrix shown below | O | / RTI >

출력 1Output 1 출력 2Output 2 출력 3Output 3 이미지 1Image 1 O11 O 11 O12 O 12 O13 O 13 이미지 2Image 2 O21 O 21 O22 O 22 O23 O 23 이미지 3Image 3 O31 O 31 O32 O 32 O33 O 33

뉴런 합 매트릭스(143)의 편차(128)는 아래 매트릭스 |E|로 표현되는 편차 매트릭스(148)를 생성할 수 있도록 원하는 출력값 매트릭스(144)로부터 결정될 수 있다:The deviation 128 of the neuron sum matrix 143 is given by the following matrix | E | Lt; RTI ID = 0.0 > 148 < / RTI >

Figure pct00025
Figure pct00025

아래 매트릭스 |W|로 표시되는 보정 가중치 매트릭스(142)는, 결정된 편차 매트릭스(145)를 이용하여 변경될 수 있는데, 이는 변경된 보정 가중치(112) 값을 가산하여 뉴런 합 매트릭스(143)를 결정하도록 하여 매트릭스 |W trained |로서 표시되는, 트레이닝된 보정 가중치 매트릭스(146)를 생성하도록 원하는 출력 값 매트릭스(144)로부터 뉴런 합 매트릭스(143)의 편차를 최소화한다. 매트릭스 |W trained |는 식 |W trained | = |W| + |∇W| 에 따라 유도된다(여기서, 인자 |∇W|는 이하에서 상세히 기술될 것이다):Matrix below | W | Calibration weight matrix 142 is represented by, may be changed by using the determined deviation matrix 145, which in addition to the changed correction weight 112 value to determine a sum neurons matrix 143 matrix | W trained | To minimize the deviation of the neuron sum matrix 143 from the desired output value matrix 144 to produce a trained calibration weight matrix 146, Matrix | W trained | Expression | W trained | = | W | + | ∇W | (Where the factor | ∇W | will be described in detail below):

간격들Gaps 출력 1Output 1 출력 2Output 2 출력 3Output 3 입력 1Input 1 i1i1 WW 111 111 ++ ∇W∇W 111111 WW 112 112 + ∇W+ ∇W 112112 WW 113 113 + ∇W+ ∇W 113113 i2i2 WW 121 121 + ∇W+ ∇W 121121 WW 122 122 + ∇W+ ∇W 122122 WW 123 123 + ∇W+ ∇W 123123 i3i3 WW 131131 + ∇W + ∇W 131131 WW 132132 + ∇W + ∇W 132132 WW 133133 + ∇W + ∇W 133133 i4i4 WW 141141 + ∇W + ∇W 141141 WW 142142 + ∇W + ∇W 142142 WW 143143 + ∇W + ∇W 143143 입력 2Input 2 i1i1 WW 211211 + ∇W + ∇W 211211 WW 212212 + ∇W + ∇W 212212 WW 213 213 + ∇W+ ∇W 213213 i2i2 WW 221 221 + ∇W+ ∇W 221221 WW 222222 + ∇W + ∇W 222222 WW 223223 + ∇W + ∇W 223223 i3i3 WW 231231 + ∇W + ∇W 231231 WW 232232 + ∇W + ∇W 232232 WW 233233 + ∇W + ∇W 233233 i4i4 WW 241241 + ∇W + ∇W 241241 WW 242242 + ∇W + ∇W 242242 WW 243243 + ∇W + ∇W 243243 입력 3Input 3 i1i1 WW 311311 + ∇W + ∇W 311311 WW 312 312 + ∇W+ ∇W 312312 WW 313313 + ∇W + ∇W 313313 i2i2 WW 321321 + ∇W + ∇W 321321 WW 322322 + ∇W + ∇W 322322 WW 323323 + ∇W + ∇W 323323 i3i3 WW 331331 + ∇W + ∇W 331331 WW 332332 + ∇W + ∇W 332332 WW 333333 + ∇W + ∇W 333333 i4i4 WW 341341 + ∇W + ∇W 341341 WW 342342 + ∇W + ∇W 342342 WW 343343 + ∇W + ∇W 343343

전술한 바와 같이, 트레이닝된 보정 가중치 어레이(134A) 및 트레이닝된 보정 가중치 매트릭스(146)의 형성은 p-net(100B)의 동시 트레이닝을 용이하게 한다.As described above, the formation of the trained calibration weight arrays 134A and the trained calibration weight matrices 146 facilitates simultaneous training of the p-net 100B.

트레이닝된 p-net(100C)를 이용하는 이미지 인식(도 36에 도시됨)의 실시예에서, 입력 이미지들(106)의 배치의 동시 인식은 전술한 매트릭스 동작을 이용하여 제공될 수 있다. 특히, 트레이닝된 p-net(100C)은 2차원 n × k 매트릭스 |W|로 표현될 수 있는 보정 가중치 어레이이며, 여기서 "n"은 뉴런(116)의 수이고, "k"는 특정 뉴런에서 보정 가중치(112)의 수이다. 매트릭스 |W|는 일반적으로 다음과 같이 나타낼 수 있다:In an embodiment of image recognition (shown in FIG. 36) using a trained p-net 100C, simultaneous recognition of the placement of input images 106 may be provided using the matrix operation described above. In particular, the trained p-net (100C) is a two-dimensional nxk matrix | W | Where " n " is the number of neurons 116 and " k " is the number of calibration weights 112 in a particular neuron. Matrix | W | Can generally be expressed as: < RTI ID = 0.0 >

WW 1111 WW 1212 WW 1313 ...... WW 1k1k WW 2121 WW 2222 WW 2323 ...... WW 2k2k WW 3131 WW 3232 WW 3333 ...... WW 3k3k WW 4141 WW 4242 WW 4343 ...... WW 4k4k ...... ...... ...... ...... ...... WW n1n1 WW n2n2 WW n3n3 ...... WW nknk

일괄 입력 이미지들(106)의 동시 인식을 위해, 인식될 입력 이미지들은 vxk 매트릭스 |Ir|로서 나타낼 수 있으며, 여기서 "v"는 인식 가능한 이미지들의 수이고, "k"는 특정 뉴런(116)에서 보정 가중치(112)의 수이다. 인식을 위한 입력 이미지들(106)의 매트릭스 |Ir|은 일반적으로 다음과 같이 표현될 수 있다.For simultaneous recognition of the batch input images 106, the input images to be recognized are vxk matrix | Ir | Where " v " is the number of recognizable images, and " k " is the number of calibration weights 112 in a particular neuron 116. A matrix of input images 106 for recognition | Ir | Can generally be expressed as follows.

IrIr 1111 IrIr 2121 IrIr 3131 ...... IrIr v1v1 IrIr 1212 IrIr 2222 IrIr 3232 ...... IrIr v2v2 IrIr 1313 IrIr 2323 IrIr 3333 ...... IrIr v3v3 IrIr 1414 IrIr 2424 IrIr 3434 ...... IrIr v4v4 ...... ...... ...... ...... ...... IrIr 1k1k IrIr 2k2k IrIr 3k3k ...... IrIr vkvk

매트릭스 |Ir|에서, 매트릭스의 각 행은 인식 대상이 되는 단일 이미지이다.Matrix | Ir | , Each row of the matrix is a single image to be recognized.

일괄 입력 이미지들(106)의 동시 인식은 The simultaneous recognition of the batch input images 106

아래와 같은 심볼 "|Y|"로 표시되는 인식된 이미지 매트릭스(147)을 생성하기 위해, 전치 매트릭스 |I| T에 의한 매트릭스 |W|의 승산에 의해 제공될 수 있다:Following symbol "| Y |" to produce an image matrix 147 is represented by the recognized, pre-matrix | I | Matrix by T | W | Lt; / RTI > may be provided by multiplication of < RTI ID =

Figure pct00026
Figure pct00026

매트릭스 |Y|는 n x v의 차원을 갖는다. 매트릭스 |Y|의 각 열은 트레이닝된 p-net(100C)에 의해 획득된 단일 출력 또는 인식된 이미지이다. 매트릭스 |Y|는 일반적으로 다음과 같이 묘사될 수 있다:Matrix | Y | Has a dimension of nxv. Matrix | Y | Each row of which is a single output or a recognized image obtained by the trained p-net (100C). Matrix | Y | Can generally be described as: < RTI ID = 0.0 >

YY 1111 YY 1212 YY 1313 ...... YY 1v1v YY 2121 YY 2222 YY 2323 ...... YY 2v2v YY 3131 YY 3232 YY 3333 ...... YY 3v3v YY 4141 YY 4242 YY 4343 ...... YY 4v4v ...... ...... ...... ...... ...... YY n1n1 YY n2n2 YY n3n3 ...... YY nvnv

p-net(100B 및 100C) 각각은 컨트롤러(122A)의 서브-유닛일 수 있는 데이터 프로세서(150)를 추가로 포함할 수 있다. 이러한 실시예에서, 컨트롤러(122A)는 추가적으로 각각의 트레이닝 입력 값 매트릭스(141), 입력 값 매트릭스(141A), 보정 가중치 매트릭스(142), 뉴런 합 매트릭스(143) 및 원하는 출력값 매트릭스(144) 중 적어도 하나를 각각의 서브-매트릭스로 분할하거나 잘라내도록(partition or cut-up) 구성될 수 있다. 또한, 컨트롤러(122A)는 다수의 결과 서브-매트릭스 또는 서브-매트릭스를 데이터 프로세서(150)와 통신하여 별도의 수학적 연산을 수행하도록 구성될 수 있다. 대상 매트릭스들(141, 142, 143 및 144) 중 임의의 것을 각각의 서브-매트릭스로 분할함으로써, 동시 또는 병렬 데이터 프로세싱 및 입력 값 매트릭스(141A)의 이미지 인식 또는 p-net(100B)의 트레이닝중 어느 하나의 속도 증가를 용이하게 한다. 이러한 동시 또는 병렬 데이터 프로세싱은 또한 p-net(100B 또는 100C)의 확장성(scalability)를 허용함으로써, 즉, 특정 프로세서상에서 대수 조작을 받는 각각의 매트릭스의 크기를 제한 및/또는 예시된 프로세서(150)와 같은 다수의 프로세서들 사이에서 매트릭스를 분해함으로써, p-net의 크기를 변화시키는 능력을 제공한다. 도 34 내지 도 36에 도시된 바와 같이, p-net(100B 및 100C)의 이러한 실시예에서, 컨트롤러(122A)와 통신하는 다수의 데이터 프로세서(150)가 컨트롤러(122A)의 일부로서 또는 그곳으로부터 멀리 떨어져서 배열될 수 있으며, 분리되어 병렬로 작동하도록 구성될 수 있다.Each of p-net 100B and 100C may further include a data processor 150, which may be a sub-unit of controller 122A. In this embodiment, the controller 122A additionally includes at least one of the training input value matrix 141, the input value matrix 141A, the correction weight matrix 142, the neuron sum matrix 143 and the desired output value matrix 144 And may be configured to partition or cut one into respective sub-matrices (partition or cut-up). The controller 122A may also be configured to communicate a plurality of result sub-matrices or sub-matrices with the data processor 150 to perform separate mathematical operations. By dividing any of the target matrices 141, 142, 143, and 144 into respective sub-matrices, the image recognition or p-net (100B) training of the simultaneous or parallel data processing and input value matrices 141A Thereby facilitating any one of the speed increases. This concurrent or parallel data processing may also be performed by allowing scalability of the p-net (100B or 100C), i.e. by limiting the size of each matrix subject to algebraic manipulation on a particular processor and / ), ≪ / RTI > by decomposing the matrix between multiple processors, such as the p-net. 34-36, in this embodiment of p-net 100B and 100C, a number of data processors 150 in communication with controller 122A are provided as part of or from controller 122A They can be arranged far apart and can be configured to operate in isolation and in parallel.

컨트롤러(122A)는 트레이닝 입력 값 매트릭스(141A) 및 보정 가중치 매트릭스에 대수 매트릭스 연산을 적용하여 보정 가중치 매트릭스(142)를 변경함으로써 p-net(100B)을 트레이닝시킨다.The controller 122A trains the p-net 100B by applying a logarithmic matrix operation to the training input value matrix 141A and the correction weight matrix to change the correction weight matrix 142. [

이러한 수학적 매트릭스 연산은 입력 값 매트릭스(141A)와 보정 가중치 매트릭스(146)의 수학적 곱의 결정을 포함할 수 있음으로써 현재의 트레이닝 시기 가중치 매트릭스(151)를 형성한다.This mathematical matrix operation may comprise determining the mathematical product of the input value matrix 141A and the correction weight matrix 146 to form the current training time weight matrix 151. [

컨트롤러(122A)는 위에서 설명된 매트릭스 |E|로 도시된 뉴런 합들(153)의 편차 매트릭스를 생성하기 위해 원하는 출력 값 매트릭스(144)로부터 뉴런 합 매트릭스(143)를 감산하도록 구성될 수도 있다.Controller (122A) is the matrix described above | E | May be configured to subtract a neuron sum matrix 143 from a desired output value matrix 144 to produce a deviation matrix of neuron sums 153 shown in FIG.

또한, 컨트롤러(122A)는, 다음과 같이, 심볼 "|ΔW|"로 아래에 표시되는, 뉴런 입력(155) 당 편차 매트릭스를 생성하기 위해, 각각의 뉴런(116)에 연결된, 아래에서 문자 "m"으로 식별되는, 시냅시스들(118)의 개수에 의해 뉴런 합들(153) 편차 매트릭스가 나눠지도록 구성될 수 있다.The controller (122A), as follows, the symbol "| ΔW |" in order to generate, neuron input 155 per variance matrix from below, connected to each of the neurons 116, the character in the following " may be configured such that the neuron shed 153 deviation matrix is divided by the number of synapses 118, identified as " m ".

Figure pct00027
Figure pct00027

컨트롤러(122A)는 심볼 "|S|"로 아래에 식에서 표현된 p-net(100B)의 하나의 트레이닝 시기 동안 각 보정 가중치(112)가 사용된 횟수를 결정하도록 부가적으로 구성될 수 있다. 아래에서 볼 수 있듯이, 매트릭스 |S|는 트레이닝 입력 값 매트릭스(141A)에 단위 벡터를 곱하여 얻어진다:The controller 122A may be additionally configured to determine the number of times each correction weight 112 is used during one training period of the p-net 100B expressed in the equation below with the symbol " | S | As you can see below, the matrix | S | Is obtained by multiplying the training input value matrix 141A by a unit vector:

Figure pct00028
Figure pct00028

컨트롤러(122A)는 각각의 보정 가중치가 하나의 트레이닝 시기 동안 사용된 결정된 횟수를 사용하여 하나의 트레이닝 시기에 대해 아래에 심볼 "|∇W|"로 표시되는, 평균 편차 매트릭스(157)를 형성하도록 더 구성될 수 있다.The controller 122A is configured to form an average deviation matrix 157, which is denoted by the symbol " | ∇W | " below for one training period, using the determined number of times each correction weight is used during one training period Lt; / RTI >

Figure pct00029
Figure pct00029

또한, 컨트롤러(122A)는 보정 가중치 매트릭스(142)에 하나의 트레이닝 시기에 대한 평균 편차 매트릭스(157)을 가산하도록 구성될 수 있음으로써, 아래에 |W trained |로 표시된, 트레이닝된 보정 가중치 매트릭스(146)를 생성하고, 그리고 아래에 도시된 바와 같이 하나의 트레이닝 시기를 완료한다.The controller (122A) is as may be configured to adding the mean deviation matrix 157 for one of the training period for correction weighting matrix 142, under | W trained | To generate a trained calibration weight matrix 146, and to complete one training period as shown below.

Figure pct00030
Figure pct00030

간격들Gaps 출력 1Output 1 출력 2Output 2 출력 3Output 3 입력1Input 1 i1i1 WW 111 111 ++ ∇W∇W 111111 WW 112 112 +∇W+ ∇W 112112 WW 113 113 + ∇W+ ∇W 113113 i2i2 WW 121 121 +∇W+ ∇W 121121 WW 122 122 + ∇W+ ∇W 122122 WW 123 123 + ∇W+ ∇W 123123 i3i3 WW 131131 + ∇W + ∇W 131131 WW 132132 + ∇W + ∇W 132132 WW 133133 + ∇W + ∇W 133133 i4i4 WW 141141 + ∇W + ∇W 141141 WW 142142 + ∇W + ∇W 142142 WW 143143 + ∇W + ∇W 143143 입력 2Input 2 i1i1 WW 211211 + ∇W + ∇W 211211 WW 212212 + ∇W + ∇W 212212 WW 213 213 + ∇W+ ∇W 213213 i2i2 WW 221 221 + ∇W+ ∇W 221221 WW 222222 + ∇W + ∇W 222222 WW 223223 + ∇W + ∇W 223223 i3i3 WW 231231 + ∇W + ∇W 231231 WW 232232 + ∇W + ∇W 232232 WW 233233 + ∇W + ∇W 233233 i4i4 WW 241241 + ∇W + ∇W 241241 WW 242242 + ∇W + ∇W 242242 WW 243243 + ∇W + ∇W 243243 입력 3Input 3 i1i1 WW 311311 + ∇W + ∇W 311311 WW 312 312 + ∇W+ ∇W 312312 WW 313313 + ∇W + ∇W 313313 i2i2 WW 321321 + ∇W + ∇W 321321 WW 322322 + ∇W + ∇W 322322 WW 323323 + ∇W + ∇W 323323 i3i3 WW 331331 + ∇W + ∇W 331331 WW 332332 + ∇W + ∇W 332332 WW 333333 + ∇W + ∇W 333333 i4i4 WW 341341 + ∇W + ∇W 341341 WW 342342 + ∇W + ∇W 342342 WW 343343 + ∇W + ∇W 343343

도 37은 도 34-36과 관련하여 전술한 바와 같이 p-net(100B)를 동작시키는 방법(400)을 도시한다. 방법(400)은 프로세서(150)와 같은 하나 이상의 데이터 프로세서를 사용하여 감독된 트레이닝을 구현하는데 사용되는 컴퓨터 시스템 또는 컴퓨터 시스템과 같은 디바이스의 동작을 향상시키도록 구성된다. 방법(400)은 p-net(100B)을 동작시키기 위한 일시적 컴퓨터 판독 가능 저장 디바이스로 프로그램될 수 있으며, 상기 방법을 수행하도록 실행 가능한 명령들로 인코딩될 수 있다.FIG. 37 shows a method 400 for operating p-net 100B as described above in connection with FIGS. 34-36. The method 400 is configured to enhance the operation of a device, such as a computer system or a computer system, used to implement supervised training using one or more data processors, such as the processor 150. The method 400 may be programmed with a temporary computer-readable storage device for operating the p-net 100B and may be encoded with instructions executable to perform the method.

방법(400)은 프레임(402)에서 시작하는데, 이 방법은, 다수의 입력들(102)을 통해, 트레이닝 이미지들(106)을 수신하는 단계를 포함한다. 도 34 및 도 35에 도시된 p-net(100B)의 구조와 관련하여 상술한 바와 같이, 트레이닝 이미지들(106)은 대상 트레이닝 단계의 시작 이전에 트레이닝 입력 값 어레이(107)로서 수신되거나 또는 실제 트레이닝 단계 동안 트레이닝 입력 값 어레이로서 코드화될 수 있다. 프레임(402) 다음에, 방법은 프레임(404)으로 진행한다. 프레임(404)에서, 이 방법은 보정 가중치 어레이(119A)에서 다수의 시냅스들(118)의 보정 가중치(112)를 조직하는 단계를 포함한다. p-net(100B)의 구조와 관련하여 상술한 바와 같이, 각각의 시냅스(118)는 다수의 입력들(102) 중 하나에 연결되고 다수의 보정 가중치들(112)을 포함한다.Method 400 begins in frame 402, which includes receiving training images 106 through a plurality of inputs 102. As described above with respect to the structure of p-net 100B shown in Figs. 34 and 35, training images 106 are received as training input value arrays 107 prior to the start of the target training phase, And may be coded as a training input value array during the training phase. Following frame 402, the method proceeds to frame 404. In frame 404, the method includes organizing the calibration weights 112 of the plurality of synapses 118 in the calibration weighted array 119A. Each synapse 118 is coupled to one of a 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)으로 진행하는데, 이 방법은 다수의 뉴런(116)을 통해 뉴런 합 어레이(120A)를 생성하는 단계를 포함한다. p-net(100B)의 구조와 관련하여 상술한 바와 같이, 각 뉴런(116)은 적어도 하나의 출력(117)을 가지며, 다수의 시냅스들(118) 중 하나를 통해 다수의 입력들(102) 중 적어도 하나와 연결된다. 또한, 각각의 뉴런(116)은 각각의 뉴런에 연결된 각 시냅스(118)에 대응하는 보정 가중치들(112)의 가중치 값들을 합산하도록 구성된다. 프레임(406) 이후에, 프레임(408)에서, 방법은, 컨트롤러(122A)를 통해, 원하는 출력값 어레이(126A)로 조직화된 원하는 이미지(124)를 수신하는 단계를 포함한다. 프레임(408) 후에, 방법은 프레임(410)으로 진행하고, 이 방법은, 컨트롤러(122A)를 통해, 원하는 출력값 어레이(126A)로부터 뉴런 합 어레이(120A)의 편차(128)를 결정하는 단계를 포함하고 그리고 따라서 편차 어레이(132)를 생성한다.After frame 404, the method proceeds to frame 406, which includes generating a neuron sums array 120A through a plurality of neurons 116. In one embodiment, Each neuron 116 has at least one output 117 and a plurality of inputs 102 through one of the plurality of synapses 118, as described above with respect to the structure of p-net 100B. Lt; / RTI > Further, each neuron 116 is configured to sum the weighting values of the correction weights 112 corresponding to each synapse 118 connected to each neuron. After frame 406, at frame 408, the method includes receiving, via controller 122A, a desired image 124 organized into a desired output array 126A. After frame 408 the method proceeds to frame 410 and the method comprises the steps of determining a deviation 128 of neuron sum array 120A from a desired output array 126A via controller 122A And thus generates a deviation array 132. [

프레임(410) 이후에, 방법은 프레임(412)으로 진행한다. 프레임(412)에서, 이 방법은 결정된 편차 어레이(132)를 사용하여 보정 가중치 어레이(119A)를, 컨트롤러(122A)를 통해, 변경하는 단계를 포함한다. 변경된 보정 가중치 어레이(119A)의 변경된 보정 가중치 값은 이후에 가산되거나 합산되어 새로운 뉴런 합 어레이(120A)를 결정하는데 사용될 수 있다. 변경된 보정 가중치 어레이(119A)의 합산된 변경된 보정 가중치 값들은 원하는 출력값 어레이(126A)로부터의 뉴런 합 어레이(120A)의 편차를 감소시키거나 최소화하고 트레이닝된 보정 가중치 어레이(134A)를 생성하는 역할을 한다. 편차 어레이(132)는, p-net(100C)의 구조와 관련하여 상술한 바와 같이, 원하는 출력값 어레이(126A)로부터의 뉴런 합 어레이(120A)의 편차(128)가 타겟 편차(138) 어레이의 수용 가능한 범위(139) 내에 있을 때 충분히 최소화된 것으로 결정될 수 있다. 트레이닝된 보정 가중치 어레이(134A)는 편차 어레이(132)를 사용하여 결정된 트레이닝된 보정 가중치(112A)를 포함하고, 이에 의해 p-net(100B)를 트레이닝시킨다.After frame 410, the method proceeds to frame 412. In frame 412, the method includes modifying the calibration weight array 119A, via the controller 122A, using the determined deviation array 132. [ The modified calibration weight values of the modified calibration weight array 119A may then be added or summed to determine a new neuron sum array 120A. The modified modified correction weight values of the modified calibration weight array 119A serve to reduce or minimize the deviation of the neuron sum array 120A from the desired output value array 126A and to generate the trained calibration weight arrays 134A do. The deviation array 132 is configured such that the deviation 128 of the neuron sum array 120A from the desired output array 126A is greater than the deviation 128 of the target deviation 138 array 120A as described above with respect to the structure of the p- It can be determined that it is sufficiently minimized when it is within the acceptable range 139. The trained calibration weight arrays 134A include the training calibrated weights 112A determined using the variance array 132, thereby training the p-net 100B.

p-net(100B)의 구조와 관련하여 상술한 바와 같이, 트레이닝 입력 값 어레이(107), 보정 가중치 어레이(119A), 뉴런 합 어레이(120A), 원하는 출력값 어레이(126A), 편차 어레이(132), 트레이닝된 보정 가중치 어레이(134A) 및 타겟 편차 어레이(138)는 각각 트레이닝 입력 값 매트릭스(141), 보정 가중치 매트릭스(142), 뉴런 합 매트릭스(143), 원하는 출력값 매트릭스(144), 편차 매트릭스(145), 트레이닝된 보정 가중치 매트릭스(146) 및 타겟 편차 매트릭스(148)로 조직화될 수 있다. 프레임(412)에서, 이 방법은, 컨트롤러(122A)를 통하여, 각각의 트레이닝 입력 값 매트릭스(141), 입력 값 매트릭스(141A), 보정 가중치 매트릭스(142), 뉴런 합 매트릭스(143) 및 원하는 출력값 매트릭스(144) 중 적어도 하나를 분할하는 단계를 포함할 수 있다. 이러한 결과적인 서브-매트릭스는 별도의 수학적 연산을 위해 데이터 프로세서(150)에 전달되어 동시 데이터 처리 및 p-net(100B)의 트레이닝 속도의 향상을 용이하게 한다.a correction weighting array 119A, a neuron sum array 120A, a desired output value array 126A, a deviation array 132, and the like, as described above with respect to the structure of the p-net 100B, The trained calibration weight arrays 134A and the target deviation arrays 138 may each include a training input value matrix 141, a correction weight matrix 142, a neuron sum matrix 143, a desired output value matrix 144, 145, a trained calibration weight matrix 146, and a target deviation matrix 148. [ In the frame 412, the method includes, via the controller 122A, a respective training input value matrix 141, an input value matrix 141A, a correction weight matrix 142, a neuron sum matrix 143, And dividing at least one of the matrices 144. This resulting sub-matrix is passed to the data processor 150 for separate mathematical operations to facilitate simultaneous data processing and enhancement of the training rate of the p-net 100B.

프레임(412)에서, 방법은 또한, 컨트롤러(122A)를 통해, 대수 매트릭스 연산을 트레이닝 입력 값 매트릭스(141) 및 보정 가중치 매트릭스에 적용함으로써 보정 가중치 매트릭스(142)를 변경하는 단계를 포함할 수 있고, 따라서 p-net(100B)를 트레이닝한다. 이러한 수학적 매트릭스 연산은 트레이닝 입력 값 매트릭스(141) 및 보정 가중치 매트릭스(142)의 수학적 곱을 결정하는 단계를 포함하고 따라서 현재 트레이닝 시기 가중치 매트릭스(151)을 형성한다. 프레임(412)에서, 이 방법은, 컨트롤러(122A)를 통해, 뉴런 합들(153)의 편차 매트릭스를 생성하기 위해 원하는 출력값 매트릭스(144)로부터 뉴런 합 매트릭스(143)을 감산하는 단계를 추가로 포함할 수 있다. 또한, 프레임(412)에서, 이 방법은, 컨트롤러(122A)를 통해, 뉴런 입력(155) 당 편차 매트릭스를 생성하기 위해 뉴런 합들(153)의 편차 매트릭스를 각각의 뉴런(116)에 연결된 입력들의 갯수로 나누는 단계를 포함할 수 있다.In frame 412, the method may also include modifying the calibration weight matrix 142 by applying an algebra matrix operation to the training input value matrix 141 and the correction weight matrix via the controller 122A , Thus training the p-net (100B). This mathematical matrix operation includes determining a mathematical product of the training input value matrix 141 and the correction weight matrix 142 and thus forms the current training time weight matrix 151. [ The method further includes the step of subtracting the neuron sum matrix 143 from the desired output value matrix 144 to produce a deviation matrix of neuron sums 153 via the controller 122A can do. Also in frame 412 the method may be implemented by means of a controller 122A to generate a deviation matrix of neuron sums 153 to generate a deviation matrix per neuron input 155, And dividing the number by a number.

또한, 프레임(412)에서, 방법은, 컨트롤러(122A)를 통해, 각각의 보정 가중치(112)가 p-net(100B)의 하나의 트레이닝 시기 동안 사용된 횟수를 결정하는 단계를 포함할 수 있다. 또한, 이 방법은, 컨트롤러(122A)를 통해, 각각의 보정 가중치(112)가 특정 트레이닝 시기 동안 사용된 결정된 횟수를 사용하여 하나의 트레이닝 시기에 대한 평균 편차 매트릭스(157)를 형성하는 단계를 포함할 수 있다. 예를 들어, 이러한 동작은, 하나의 트레이닝 시기 동안 사용된 각각의 보정 가중치(112)에 대한 평균 편차를 얻기 위해, 각각의 보정 가중치가 특정 트레이닝 시기 동안 사용된 결정된 횟수로 뉴런 입력 당 편차 매트릭스를, 요소별로(element-by-element), 나누는 단계를 포함함으로써, 하나의 트레이닝 시기에 대한 평균 편차 매트릭스(157)를 형성한다.In addition, in frame 412, the method may include, via controller 122A, determining the number of times each correction weight 112 is used during one training period of p-net 100B . The method also includes the step of generating, via the controller 122A, an average deviation matrix 157 for one training period using the determined number of times each correction weight 112 is used during a particular training period can do. For example, such an operation may be performed by using a deviation matrix per neuron input with a determined number of times each calibration weight used during a particular training period, to obtain an average deviation for each correction weight 112 used during one training period Element-by-element, and dividing steps to form an average deviation matrix 157 for one training period.

또한, 예를 들어, 산술 평균, 기하 평균, 조화 평균, 제곱 평균 제곱근 등을 사용하여 하나의 트레이닝 시기에 대한 평균 편차 매트릭스(157)를 형성하도록, 프레임(412)에서 다른 매트릭스 기반 연산이 사용될 수 있다. 또한, 프레임(412)에서, 이 방법은, 컨트롤러(122A)를 통해, 하나의 트레이닝 시기에 대한 평균 편차 매트릭스(157)를 보정 가중치 매트릭스(142)에 추가하는 단계를 포함할 수 있음으로써, 트레이닝된 가중치 매트릭스(146)를 생성하고 특정 트레이닝 시기를 완료한다. 따라서, 매트릭스 연산들이 모든 보정 가중치들(112)에 병렬로 적용되도록 함으로써, 방법(400)은 동시 발생을 용이하게 하고, 따라서 트레이닝된 p-net(100C)를 생성하는데 있어서의 p-net(100B)의 향상된 속도의 트레이닝을 제공한다.Also, other matrix based operations may be used in frame 412, for example, to form an average deviation matrix 157 for one training period using arithmetic mean, geometric mean, harmonic mean, square root mean square, have. In addition, in frame 412, the method may include the step of adding, via controller 122A, an average deviation matrix 157 for one training period to correction weight matrix 142, To generate a weighted weighted matrix 146 and complete a specific training period. Thus, by allowing the matrix operations to be applied in parallel to all of the correction weights 112, the method 400 facilitates co-occurrence, and thus the p-net (100B) in generating the trained p- ) Of enhanced speed training.

프레임(412) 다음에, 방법(400)은 편차 어레이(132)가 충분히 최소화될 때까지 추가적인 트레이닝 시기를 수행하도록 프레임(402)으로 복귀하는 단계를 포함할 수 있다. 환언하면, 부가적인 트레이닝 시기들은 소정의 편차 또는 에러 값 내에서 원하는 출력값 어레이(126A) 상의 뉴런 합 어레이(120A)를 수렴하도록 수행될 수 있고, 이에 따라 p-net(100B)은 트레이닝되어 새로운 입력 이미지(106)로 동작할 준비가 되어 있는 것으로 간주 될 수 있다. 따라서, 프레임(412) 이후에, 본 방법은 트레이닝된 p-net(100C)(도 36에 도시됨)를 사용하여 이미지 인식을 위한 프레임(414)으로 진행할 수 있다.After frame 412, method 400 may include returning to frame 402 to perform additional training periods until deviation array 132 is sufficiently minimized. In other words, additional training periods may be performed to converge the neuron array 120A on the desired output array 126A within a predetermined deviation or error value, so that the p-net 100B is trained to generate a new input It can be considered to be ready to operate with image 106. [ Thus, after frame 412, the method may proceed to frame 414 for image recognition using trained p-net 100C (shown in Fig. 36).

트레이닝된 p-net(100C)를 이용한 이미지 인식의 실시예에서, 프레임(414)에서, 방법(400)은 다수의 입력들(102)을 통해 입력 이미지들(106)를 수신하는 단계를 포함한다. p-net(100C)의 구조와 관련하여 전술한 바와 같이, 입력 이미지들(106)은 입력 값 어레이(107A)로서 수신되거나 또는 p-net(100C)에 의해 이미지들을 인식하는 동안 입력 값 어레이로서 코드화될 수 있다. 프레임(414)의 다음에, 프레임(416)에서, 본 방법은 트레이닝된 보정 가중치 어레이(134A)의 다수의 트레이닝된 보정 가중치(112A)를 각 시냅스(118)에 부여하는(attributing) 단계를 포함한다. 프레임(416) 이후에, 본 방법은 프레임(418)로 진행한다.In an embodiment of image recognition with trained p-net 100C, at frame 414, the method 400 includes receiving input images 106 through a plurality of inputs 102 . As described above with respect to the structure of p-net 100C, input images 106 are received as input value arrays 107A or as input value arrays while recognizing images by p-net 100C Lt; / RTI > Next to frame 414, in frame 416, the method includes the step of attributing to each synapse 118 a plurality of trained calibration weights 112A of the trained calibration weight arrays 134A do. After frame 416, the method proceeds to frame 418.

프레임(418)에서, 방법은 각각의 뉴런(116)에 연결된 각 시냅스(118)에 대응하는 트레이닝된 보정 가중치(112A)의 가중치 값들을 가산하는 단계를 포함한다. p-net(100B)의 구조와 관련하여 상술한 바와 같이, 트레니닝된 보정 가중치들(112A)의 가중치 값들의 그러한 합산은 다수의 뉴런(116)이 인식된 이미지 어레이(136)를 생성하게 하고, 이에 의해 입력 이미지들(106)의 인식을 제공한다. p-net(100C)의 구조와 관련하여 전술한 바와 같이, 트레이닝에 사용된 매트릭스들(141, 142, 143, 144, 145, 146 및 148)에 추가적으로, 입력 값 어레이(107A) 및 인식된 이미지들 어레이(136)는 입력 값 매트릭스(141A) 및 인식된 이미지들 매트릭스(147)로서 각각 조직화될 수 있다.In frame 418, the method includes adding weighted values of the training correction weights 112A corresponding to each synapse 118 connected to each neuron 116. In one embodiment, Such summation of the weighting values of the trained correction weights 112A, as described above with respect to the structure of p-net 100B, causes multiple neurons 116 to generate the recognized image array 136 , Thereby providing recognition of the input images 106. In addition to the matrices 141,142, 143,144, 145,146 and 148 used for training, as described above with respect to the structure of p-net 100C, the input value array 107A and the recognized image Arrays 136 may be organized as an input value matrix 141A and a recognized images matrix 147, respectively.

프레임(418)에서, 본 방법은 또한, 컨트롤러(122A)를 통해, 입력 값 매트릭스(141A)와 같은 사용된 매트릭스들 중 임의의 매트릭스를 각각의 서브-매트릭스들로 분할하는 단계를 포함할 수 있다. 이러한 결과적인 서브-매트릭스들은 별도의 수학 연산을 수행하기 위해 데이터 프로세서(150)와 통신할 수 있음으로써, 동시 데이터 처리 및 p-net(100C)의 이미지 인식 속도의 향상을 촉진한다. 프레임들(202-212)에서 방법(400)의 트레이닝 부분에 부여되는 효과 매트릭스 동작과 유사하게, 대수 매트릭스 연산들이 트레이닝된 p-net(100C)의 매트릭스들 또는 서브-매트릭스들에 병렬로 적용될 때 프레임(214-218)의 이미지 인식 영역은 향상된 속도 이득을 갖는다. 따라서, 매트릭스 연산들이 모든 트레이닝된 보정 가중치(112A)에 병렬로 적용되도록 함으로써, 본 방법(400)은 동시 수행, 따라서 p-net(100C)을 사용한 향상된 속도, 이미지 인식을 용이하게 한다. 프레임(418) 다음에, 달성된 이미지 인식이 불충분하게 정밀하다고 판단되면, 도 34 내지 도 36을 참조하여 설명한 바와 같이, 방법은 추가적인 트레이닝을 위해 프레임(402)으로 복귀하거나, 또는 방법은 프레임(420)에서 종결될 수 있다.In frame 418, the method may also include, via controller 122A, dividing any of the used matrices, such as input value matrix 141A, into respective sub-matrices . These resulting sub-matrices can communicate with data processor 150 to perform separate mathematical operations, thereby facilitating simultaneous data processing and improved image recognition speed of p-net 100C. Similar to effect matrix operations imparted to the training portion of method 400 in frames 202-212, when algebra matrix operations are applied in parallel to matrices or sub-matrices of trained p-net (100C) The image recognition area of the frame 214-218 has an improved speed gain. Thus, by allowing the matrix operations to be applied in parallel to all of the training correction weights 112A, the method 400 facilitates concurrent performance, and hence improved speed, image recognition using p-net (100C). If, after frame 418, it is determined that the achieved image recognition is insufficiently precise, the method returns to frame 402 for further training, as described with reference to Figures 34-36, 420). ≪ / RTI >

상세한 설명 및 도면들(drawings) 또는 도면들(figures)은 본 발명의 내용을 뒷받침하고 설명하는 것이지만, 본 발명의 범위는 청구 범위에 의해서만 정의된다. 청구된 개시를 수행하기 위한 최상의 모드들 및 다른 실시예들 중 일부가 상세히 설명되었지만, 첨부된 청구항들에 정의된 개시를 실시하기 위한 다양한 대안적인 설계들 및 실시예들이 존재한다. 또한, 도면들에 도시된 실시예들 또는 본 명세서에서 언급된 다양한 실시예의 특성들은 반드시 서로 독립적인 실시예들로서 이해될 필요는 없다. 오히려, 일 실시예의 예들 중 하나에 설명된 각각의 특성이 다른 실시예들로부터의 하나 또는 다수의 다른 바람직한 특성들과 결합될 수 있어, 단어들 또는 도면들을 참조하여 기술되지 않은 다른 실시 예들을 초래할 수 있다. 따라서, 이러한 다른 실시 예들은 첨부된 청구 범위의 범주 내에 있다.The description and drawings or figures serve to support and explain the subject matter of the invention, but the scope of the invention is defined only by the claims. While some of the best modes and other embodiments for carrying out the claimed invention have been described in detail, various alternative designs and embodiments exist for practicing the disclosure defined in the appended claims. In addition, the embodiments shown in the drawings or the features of the various embodiments referred to herein need not necessarily be understood as mutually independent embodiments. Rather, each feature described in one of the examples of embodiments may be combined with one or many other desired features from other embodiments, resulting in other embodiments not described with respect to words or figures . Accordingly, these other embodiments are within the scope of the appended claims.

Claims (24)

트레이닝 이미지들을 수신하도록 구성되되, 트레이닝 이미지들은 신경망의 트레이닝동안 트레이닝 입력 값 어레이로서 수신되고 그리고 트레이닝 입력 값 어레이로서 코딩된 것의 하나인, 신경망에 대한 다수의 입력들;
각각의 시냅스가 다수의 입력들 중 하나에 연결되고 그리고 다수의 보정 가중치들을 포함하며, 그리고 각각의 보정 가중치가 가중치 값에 의해 정의되고, 그리고 다수의 시냅스들의 보정 가중치들이 보정 가중치 어레이로 조직화되는, 다수의 시냅스들;
각각의 뉴런이 적어도 하나의 출력을 갖고 그리고 다수의 시냅스들 중 적어도 하나를 통해 다수의 입력들 중 적어도 하나와 연결되며, 그리고 각각의 뉴런이 각각의 뉴런에 연결된 대응하는 각각의 시냅스의 보정 가중치들의 가중치 값들을 합산하도록 구성됨으로써, 다수의 뉴런들이 뉴런 합 어레이를 생성하도록 하는, 다수의 뉴런들; 및
원하는 출력 값 어레이로 조직화된 원하는 이미지들을 수신하고;
원하는 출력 값 어레이로부터 뉴런 합 어레이의 편차를 결정하며 그리고 편차 어레이를 생성하고; 그리고
결정된 편차 어레이를 이용하여 보정 가중치 어레이를 변경함으로써, 뉴런 합 어레이를 결정하기 위해 변경된 보정 가중치 값들을 합산하면 트레이닝된 보정 가중치 어레이를 생성하도록 원하는 출력 값으로부터 뉴런 합 어레이의 편차를 감소시켜 신경망의 동시 트레이닝을 용이하게 하는, 컨트롤러를 포함하는, 신경망.
A plurality of inputs to the neural network configured to receive training images, wherein the training images are received as a training input value array during training of the neural network and coded as a training input value array;
Wherein each synapse is connected to one of a plurality of inputs and comprises a plurality of calibration weights and wherein each calibration weight is defined by a weight value and the calibration weights of the plurality of synapses are organized into a calibration weight array, Multiple synapses;
Each neuron having at least one output and being coupled to at least one of a plurality of inputs via at least one of the plurality of synapses and wherein each neuron is associated with at least one of a plurality of synaptic calibration weights A plurality of neurons configured to sum the weight values, thereby causing a plurality of neurons to generate a neuron sum array; And
Receive desired images organized in a desired output value array;
Determine deviations of the neuron sum array from the desired output value arrays and generate a deviation array; And
By summing the modified calibration weight values to determine the neuron sum array by varying the calibration weight arrays using the determined deviation arrays, the deviation of the neuron sum array from the desired output value is reduced to produce a training calibration weight array, A neural network comprising a controller, which facilitates training.
제1항에 있어서,
트레이닝된 신경망에서:
신경망에 대한 다수의 입력들은 입력 이미지들을 수신하도록 구성되되, 입력 이미지들은 신경망에 의해 이미지들의 인식동안 입력 값 어레이로서 수신되고 그리고 입력 값 어레이로서 코딩되는 것중 하나이고;
각각의 시냅스는 트레이닝된 보정 가중치 어레이 중 다수의 트레이닝된 보정 가중치들을 포함하며; 그리고
각각의 뉴런은 각각의 뉴런에 연결된 각각의 시냅스에 대응하는 트레이닝된 보정 가중치들 중 가중치 값들을 가산하도록 구성됨으로써, 다수의 뉴런들이 인식된 이미지들 어레이를 생성하여, 입력 이미지들의 인식을 제공하는, 신경망.
The method according to claim 1,
In the trained neural network:
Wherein the plurality of inputs to the neural network are configured to receive input images wherein the input images are received as an input value array and coded as an input value array during recognition of images by a neural network;
Each synapse comprising a plurality of trained calibration weights of the trained calibration weight arrays; And
Each neuron being configured to add weighted values among training calibrated weights corresponding to each synapse connected to a respective neuron such that a plurality of neurons generate an array of recognized images to provide recognition of the input images, Neural network.
제2항에 있어서,
분배기들의 세트를 더 포함하되, 분배기들의 세트는 각각의 트레이닝 이미지들 그리고 각각의 트레이닝 입력 값 어레이와 입력 값 어레이로서 입력 이미지들을 코딩하도록 구성되고, 분배기들의 세트는 각각의 트레이닝 이미지들 및 입력 이미지들을 수신하기 위해 다수의 입력들에 동작 가능하게 연결되는, 신경망.
3. The method of claim 2,
Wherein the set of distributors is configured to code the input images as respective training images and each training input value array and input value array, wherein the set of distributors is configured to code each of the training images and the input images A neural network operatively connected to a plurality of inputs for receiving.
제1항에 있어서,
컨트롤러는 원하는 출력 값 어레이로부터 뉴런 합 어레이의 타겟 편차의 어레이로 부가적으로 프로그래밍되고, 그리고 컨트롤러는 원하는 출력 값 어레이로부터 뉴런 합 어레이의 편차가 타겟 편차 어레이의 수용 가능한 범위 내에 있을 때, 신경망의 트레이닝을 완료하도록 추가로 구성되는, 신경망.
The method according to claim 1,
The controller is additionally programmed from the desired output value array into an array of target deviations of the neuron sum array and the controller is configured to perform the training of the neural network when the deviation of the neuron sum array from the desired output value array is within an acceptable range of the target deviation array Wherein the neural network is further configured to complete the neural network.
제2항에 있어서,
트레이닝 입력 값 어레이, 입력 값 어레이, 보정 가중치 어레이, 뉴런 합 어레이, 원하는 출력 값 어레이, 편차 어레이, 트레이닝된 보정 가중치 어레이, 인식된 이미지 어레이, 및 타겟 편차 어레이는, 각각, 트레이닝 입력 값 매트릭스, 입력 값 매트릭스, 보정 가중치 매트릭스, 뉴런 합 매트릭스, 원하는 출력 값 매트릭스, 편차 매트릭스, 트레이닝된 보정 가중치 매트릭스, 인식된 이미지 매트릭스 및 타겟 편차 매트릭스로 조직화되는, 신경망.
3. The method of claim 2,
The training input value arrays, the input value arrays, the correction weight arrays, the neuron sum arrays, the desired output value arrays, the deviation arrays, the training correction weight arrays, the recognized image arrays, A neural network organized into a 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.
제5항에 있어서,
다수의 데이터 프로세서들을 더 포함하되, 컨트롤러는 각각의 입력 값, 트레이닝 입력 값, 보정 가중치, 뉴런 합 및 원하는 출력 값 매트릭스들 중 적어도 하나를 각각의 서브-매트릭스들로 분할하고 그리고 서브-매트릭스로 별도의 병렬 수학 연산을 위해 다수의 결과적인 서브-매트릭스들이 다수의 데이터 프로세서들과 통신하도록 추가로 구성되어, 동시 데이터 프로세싱을 용이하게 하고 입력 값 매트릭스의 이미지 인식 및 신경망의 트레이닝 중 하나의 속도를 향상시키는, 신경망.
6. The method of claim 5,
Further comprising a plurality of data processors, wherein the controller divides at least one of each input value, a training input value, a correction weight, a neuron sum, and a desired output value matrix into respective sub-matrices and separately Matrices for communicating with a plurality of data processors for parallel mathematical operation of the input matrix to facilitate simultaneous data processing and to improve the speed of one of the image recognition of the input value matrix and the training of the neural network Let, neural network.
제5항에 있어서,
컨트롤러는 트레이닝 입력 값 매트릭스 및 보정 가중치 매트릭스에 대수 매트릭스 연산을 적용함으로써 보정 가중치 매트릭스를 변경하여, 신경망을 트레이닝하는, 신경망.
6. The method of claim 5,
Wherein the controller trains the neural network by changing the calibration weight matrix by applying a logarithmic matrix operation to the training input value matrix and the correction weight matrix.
제7항에 있어서,
수학적 매트릭스 연산은 트레이닝 입력 값과 보정 가중치 매트릭스들의 수학적 곱의 결정을 포함하여, 현재의 트레이닝 시기 가중치 매트릭스를 형성하는, 신경망.
8. The method of claim 7,
Wherein the mathematical matrix operation comprises determining a mathematical product of the training input values and the correction weight matrices to form a current training time weight matrix.
제8항에 있어서,
컨트롤러는 뉴런 합들의 편차 매트릭스를 생성하기 위해 원하는 출력 값 매트릭스로부터 뉴런 합 매트릭스를 감산하고; 그리고
뉴런 입력 당 편차 매트릭스를 생성하기 위해 뉴런 합들의 편차 매트릭스를 각각의 뉴런에 연결된 입력들의 수로 나누도록, 추가적으로 구성된, 신경망.
9. The method of claim 8,
The controller subtracts the neuron sum matrix from the desired output value matrix to produce a deviation matrix of neuron sums; And
Further dividing the deviation matrix of neuron sums by the number of inputs connected to each neuron to produce a deviation matrix per neuron input.
제 9 항에 있어서,
컨트롤러는 각각의 보정 가중치가 신경망에서 하나의 트레이닝 시기동안 사용된 횟수를 결정하고;
각각의 보정 가중치가 하나의 트레이닝 시기동안 사용된 결정된 횟수를 사용하여 하나의 트레이닝 시기에 대한 평균 편차 매트릭스를 형성하며; 그리고
하나의 트레이닝 시기에 대한 평균 편차 매트릭스를 보정 가중치 매트릭스에 가산하도록 추가적으로 구성되어, 트레이닝된 보정 가중치 매트릭스를 생성하고 하나의 트레이닝 시기를 완료하는, 신경망.
10. The method of claim 9,
The controller determines the number of times each calibration weight is used during one training period in the neural network;
Each of the correction weights forming a mean deviation matrix for one training period using a determined number of times during one training period; And
Further comprising: adding an average deviation matrix for one training period to a correction weighting matrix to generate a trained correction weighting matrix and complete one training period.
신경망에 대한 다수의 입력들을 통해 트레이닝 이미지들을 수신하되, 트레이닝 이미지들은 신경망의 트레이닝동안 트레이닝 입력 값 어레이로서 수신되고 그리고 트레이닝 입력 값 어레이로서 코딩된 것의 하나인, 단계;
보정 가중치 어레이에서 다수의 시냅스들의 보정 가중치들을 조직화하되, 각각의 시냅스가 다수의 입력들 중 하나에 연결되고 그리고 다수의 보정 가중치들을 포함하며, 그리고 각각의 보정 가중치가 가중치 값에 의해 정의되는, 단계;
다수의 뉴런들을 통해 뉴런 합 어레이를 생성하되, 각각의 뉴런이 적어도 하나의 출력을 갖고 그리고 다수의 시냅스들 중 적어도 하나를 통해 다수의 입력들 중 적어도 하나와 연결되며, 그리고 각각의 뉴런이 각각의 뉴런에 연결된 대응하는 각각의 시냅스의 보정 가중치들의 가중치 값을 합산하도록 구성된, 단계;
컨트롤러를 통해, 원하는 출력 값 어레이로 조직화된 원하는 이미지들을 수신하는 단계;
컨트롤러를 통해, 원하는 출력 값 어레이로부터 뉴런 합 어레이의 편차를 결정하고 그리고 편차 어레이를 생성하는 단계; 및
컨트롤러를 통해, 결정된 편차 어레이를 이용하여 보정 가중치 어레이를 변경함으로써, 뉴런 합 어레이를 결정하기 위해 변경된 보정 가중치 값들을 합산하면 트레이닝된 보정 가중치 어레이를 생성하도록 원하는 출력 값으로부터 뉴런 합 어레이의 편차를 감소시켜 신경망의 동시 트레이닝을 용이하게 하는, 단계를 포함하는, 신경망을 동작시키는 방법.
Receiving training images through a plurality of inputs to a neural network, wherein the training images are received as a training input value array during training of a neural network and coded as a training input value array;
Wherein the calibration weights of the plurality of synapses in the calibration weight array are organized, wherein each synapse is connected to one of a plurality of inputs and comprises a plurality of calibration weights, and wherein each calibration weight is defined by a weight value, ;
Generating a neuron sum array through a plurality of neurons wherein each neuron has at least one output and is coupled to at least one of a plurality of inputs through at least one of the plurality of synapses, And to sum the weight values of the correction weights of each corresponding synapse connected to the neuron;
Receiving, through the controller, desired images organized into a desired output value array;
Determining, via the controller, a deviation of the neuron sum array from the desired output value array and generating a deviation array; And
By summing the modified calibration weight values to determine the neuron sum array by changing the calibration weight arrays using the determined deviation arrays through the controller, the deviation of the neuron sum arrays from the desired output values is reduced to produce a training correction weight arrays Thereby facilitating simultaneous training of the neural network.
제11항에 있어서,
트레이닝된 신경망에서:
신경망에 대한 다수의 입력들을 통해 입력 이미지들을 수신하되, 입력 이미지들은 신경망에 의해 이미지들의 인식동안 입력 값 어레이로서 수신되고 그리고 입력 값 어레이로서 코딩되는 것중 하나이고;
각각의 시냅스에 트레이닝된 보정 가중치 어레이 중 다수의 트레이닝된 보정 가중치들을 부여하되, 각각의 트레이닝된 보정 가중치는 보정치 값으로 정의되며; 및
각각의 뉴런에 연결된 각각의 시냅스에 대응하는 트레이닝된 보정 가중치들의 가중치 값들을 가산함으로써, 다수의 뉴런들이 인식된 이미지들 어레이를 생성하여, 입력 이미지들의 인식을 제공하는, 신경망을 동작시키는 방법.
12. The method of claim 11,
In the trained neural network:
Receiving input images through a plurality of inputs to a neural network wherein input images are received as an input value array and coded as an input value array during recognition of images by a neural network;
Providing a plurality of training calibration weights of the calibration weight arrays trained at each synapse, wherein each trained calibration weight is defined as a correction value; And
Wherein the plurality of neurons generate an array of recognized images to provide recognition of the input images by adding weighted values of the training correction weights corresponding to each synapse connected to each neuron.
제12항에 있어서,
분배기들의 세트를 통하여,
각각의 트레이닝 입력 값 어레이 및 입력 값 어레이로서 트레이닝 이미지들 및 입력 이미지들의 각각을 코딩하는 단계를 더 포함하되, 분배기들의 세트는 각각의 트레이닝 이미지들 및 입력 이미지들을 수신하기 위해 다수의 입력들에 동작 가능하게 연결되는, 신경망을 동작시키는 방법.
13. The method of claim 12,
Through a set of distributors,
Further comprising coding each training image and input images as an array of training input values and an array of input values, each set of distributors being operable to operate on a plurality of inputs to receive respective training images and input images, Lt; RTI ID = 0.0 > a < / RTI > neural network.
제11항에 있어서,
컨트롤러는 원하는 출력 값 어레이로부터 뉴런 합 어레이의 타겟 편차의 어레이로 부가적으로 프로그래밍되고, 그리고 방법은, 컨트롤러를 통하여, 원하는 출력 값 어레이로부터 뉴런 합 어레이의 편차가 타겟 편차 어레이의 수용 가능한 범위 내에 있을 때, 신경망의 트레이닝을 완료하는 단계를 더 포함하는, 신경망을 동작시키는 방법.
12. The method of claim 11,
The controller is additionally programmed from the desired output value array to an array of target deviations of the neuron sums array and the method further comprises the steps of controlling the deviation of the neuron sums array from the desired output value arrays through the controller to within an acceptable range of the target deviation arrays Further comprising the step of completing the training of the neural network.
제12항에 있어서,
트레이닝 입력 값 어레이, 입력 값 어레이, 보정 가중치 어레이, 뉴런 합 어레이, 원하는 출력 값 어레이, 편차 어레이, 트레이닝된 보정 가중치 어레이, 인식된 이미지 어레이, 및 타겟 편차 어레이는, 각각, 트레이닝 입력 값 매트릭스, 입력 값 매트릭스, 보정 가중치 매트릭스, 뉴런 합 매트릭스, 원하는 출력 값 매트릭스, 편차 매트릭스, 트레이닝된 보정 가중치 매트릭스, 인식된 이미지 매트릭스 및 타겟 편차 매트릭스로 조직화하는 단계를 더 포함하는, 신경망을 동작시키는 방법.
13. The method of claim 12,
The training input value arrays, the input value arrays, the correction weight arrays, the neuron sum arrays, the desired output value arrays, the deviation arrays, the training correction weight arrays, the recognized image arrays, Further comprising organizing the value matrix, the correction weight matrix, the neuron sum matrix, the desired output value matrix, the deviation matrix, the trained correction weight matrix, the recognized image matrix and the target deviation matrix.
제15항에 있어서,
신경망은 부가적으로 다수의 데이터 프로세서들을 더 포함하고, 방법은, 컨트롤러를 통하여, 각각의 입력 값, 트레이닝 입력 값, 보정 가중치, 뉴런 합 및 원하는 출력 값 매트릭스들 중 적어도 하나를 각각의 서브-매트릭스들로 분할하는 단계, 그리고 서브-매트릭스로 별도의 병렬 수학 연산을 위해 다수의 결과적인 서브-매트릭스들이 다수의 데이터 프로세서들과 통신하는 단계를 더 포함하여, 동시 데이터 프로세싱을 용이하게 하고 입력 값 매트릭스의 이미지 인식 및 신경망의 트레이닝 중 하나의 속도를 향상시키는, 신경망을 동작시키는 방법.
16. The method of claim 15,
The neural network additionally comprises a plurality of data processors, and the method further comprises, via the controller, at least one of each input value, a training input value, a correction weight, a neuron sum and a desired output value matrix, And communicating with the plurality of data processors a plurality of resultant sub-matrices for separate parallel mathematical operations in a sub-matrix, thereby facilitating simultaneous data processing and further comprising the steps of: Wherein the method further comprises the step of:
제15항에 있어서,
컨트롤러에 의해, 트레이닝 입력 값 매트릭스 및 보정 가중치 매트릭스에 대수 매트릭스 연산을 적용함으로써 보정 가중치 매트릭스를 변경하는 단계를 더 포함하여, 신경망을 트레이닝하는, 신경망을 동작시키는 방법.
16. The method of claim 15,
Further comprising modifying, by the controller, a calibration weight matrix by applying an algebraic matrix operation to the training input value matrix and the calibration weight matrix, thereby training the neural network.
제17항에 있어서,
수학적 매트릭스 연산을 적용하는 것은 트레이닝 입력 값과 보정 가중치 매트릭스들의 수학적 곱을 결정함을 포함하여, 현재의 트레이닝 시기 가중치 매트릭스를 형성하는, 신경망을 동작시키는 방법.
18. The method of claim 17,
Applying a mathematical matrix operation comprises determining a mathematical product of the training input values and the correction weight matrices to form a current training time weight matrix.
제18항에 있어서,
컨트롤러를 통하여, 뉴런 합들의 편차 매트릭스를 생성하기 위해 원하는 출력 값 매트릭스로부터 뉴런 합 매트릭스를 감산하는 단계; 그리고
컨트롤러를 통하여, 뉴런 입력 당 편차 매트릭스를 생성하기 위해 뉴런 합들의 편차 매트릭스를 각각의 뉴런에 연결된 입력들의 수로 나누는 단계를 더 포함하는, 신경망을 동작시키는 방법.
19. The method of claim 18,
Subtracting a neuron sum matrix from a desired output value matrix to produce a deviation matrix of neuron sums through the controller; And
Further comprising dividing the deviation matrix of neuron sums by the number of inputs connected to each neuron to produce a deviation matrix per neuron input through the controller.
제19항에 있어서,
컨트롤러를 통하여, 각각의 보정 가중치가 신경망에서 하나의 트레이닝 시기동안 사용된 횟수를 결정하는 단계;
컨트롤러를 통하여, 각각의 보정 가중치가 하나의 트레이닝 시기동안 사용된 결정된 횟수를 사용하여 하나의 트레이닝 시기에 대한 평균 편차 매트릭스를 형성하는 단계; 및
컨트롤러를 통하여, 하나의 트레이닝 시기에 대한 평균 편차 매트릭스를 보정 가중치 매트릭스에 가산하는 단계를 더 포함하여, 트레이닝된 보정 가중치 매트릭스를 생성하고 하나의 트레이닝 시기를 완료하는, 신경망을 동작시키는 방법.
20. The method of claim 19,
Determining, via the controller, the number of times each calibration weight is used during one training period in the neural network;
Generating, via the controller, an average deviation matrix for one training period using a determined number of times each calibration weight is used during one training period; And
Further comprising the step of adding, via a controller, an average deviation matrix for one training period to a correction weight matrix, thereby generating a training correction weight matrix and completing one training period.
인공 신경망을 동작시키는 비 일시적 컴퓨터 판독 가능 저장 장치로서, 저장 장치가 실행 가능한 명령들로 인코딩되어,
신경망에 대한 다수의 입력들을 통해 트레이닝 이미지들을 수신하되, 트레이닝 이미지들은 신경망의 트레이닝동안 트레이닝 입력 값 어레이로서 수신되고 그리고 트레이닝 입력 값 어레이로서 코딩된 것의 하나이고;
보정 가중치 어레이에서 다수의 시냅스들의 보정 가중치들을 조직화하되, 각각의 시냅스가 다수의 입력들 중 하나에 연결되고 그리고 다수의 보정 가중치들을 포함하며, 그리고 각각의 보정 가중치가 가중치 값에 의해 정의되고;
다수의 뉴런들을 통해 뉴런 합 어레이를 생성하되, 각각의 뉴런이 적어도 하나의 출력을 갖고 그리고 다수의 시냅스들 중 적어도 하나를 통해 다수의 입력들 중 적어도 하나와 연결되며, 그리고 각각의 뉴런이 각각의 뉴런에 연결된 대응하는 각각의 시냅스의 보정 가중치들의 가중치 값을 합산하도록 구성되고;
원하는 출력 값 어레이로 조직화된 원하는 이미지들을 수신하며;
원하는 출력 값 어레이로부터 뉴런 합 어레이의 편차를 결정하고 그리고 편차 어레이를 생성하며;
결정된 편차 어레이를 이용하여 보정 가중치 어레이를 변경함으로써, 뉴런 합 어레이를 결정하기 위해 변경된 보정 가중치 값들을 합산하면 트레이닝된 보정 가중치 어레이를 생성하도록 원하는 출력 값으로부터 뉴런 합 어레이의 편차를 감소시켜 신경망의 동시 트레이닝을 용이하게 하는, 인공 신경망을 동작시키는 비 일시적 컴퓨터 판독 가능 저장 장치.
A non-transitory computer readable storage device for operating an artificial neural network, the storage device being encoded with executable instructions,
Receiving training images through a plurality of inputs to a neural network, wherein training images are received as a training input value array during training of a neural network and coded as a training input value array;
Organizing calibration weights of a plurality of synapses in a calibration weighting array, each synapse connected to one of a plurality of inputs and comprising a plurality of calibration weights, and wherein each calibration weight is defined by a weight value;
Generating a neuron sum array through a plurality of neurons wherein each neuron has at least one output and is coupled to at least one of a plurality of inputs through at least one of the plurality of synapses, And to sum the weights of the correction weights of each corresponding synapse connected to the neuron;
Receive desired images organized in a desired output value array;
Determine deviations of the neuron sum array from the desired output value arrays and generate a deviation array;
By summing the modified calibration weight values to determine the neuron sum array by varying the calibration weight arrays using the determined deviation arrays, the deviation of the neuron sum array from the desired output value is reduced to produce a training calibration weight array, A non-transitory computer readable storage device operable to operate an artificial neural network that facilitates training.
제21항에 있어서,
저장 장치가 실행 가능한 명령들로 더 인코딩되어,
신경망에 대한 다수의 입력들을 통해 입력 이미지들을 수신하되, 입력 이미지들은 신경망에 의해 이미지들의 인식동안 입력 값 어레이로서 수신되고 그리고 입력 값 어레이로서 코딩되는 것중 하나이고;
각각의 시냅스에 트레이닝된 보정 가중치 어레이 중 다수의 트레이닝된 보정 가중치들을 부여하되, 각각의 트레이닝된 보정 가중치는 보정치 값으로 정의되며; 그리고
각각의 뉴런에 연결된 각각의 시냅스에 대응하는 트레이닝된 보정 가중치들의 가중치 값들을 가산함으로써, 다수의 뉴런들이 인식된 이미지들 어레이를 생성하여, 입력 이미지들의 인식을 제공하는, 인공 신경망을 동작시키는 비 일시적 컴퓨터 판독 가능 저장 장치.
22. The method of claim 21,
The storage device is further encoded with executable instructions,
Receiving input images through a plurality of inputs to a neural network wherein input images are received as an input value array and coded as an input value array during recognition of images by a neural network;
Providing a plurality of training calibration weights of the calibration weight arrays trained at each synapse, wherein each trained calibration weight is defined as a correction value; And
By adding weighted values of the training correction weights corresponding to each synapse connected to each neuron, a plurality of neurons generate an array of recognized images to provide recognition of the input images, Computer readable storage device.
신경망에 대한 다수의 입력들을 통해 트레이닝 이미지들을 수신하되, 트레이닝 이미지들은 신경망의 트레이닝동안 트레이닝 입력 값 어레이로서 수신되고 그리고 트레이닝 입력 값 어레이로서 코딩된 것의 하나인, 수단;
보정 가중치 어레이에서 다수의 시냅스들의 보정 가중치들을 조직화하되, 각각의 시냅스가 다수의 입력들 중 하나에 연결되고 그리고 다수의 보정 가중치들을 포함하며, 그리고 각각의 보정 가중치가 가중치 값에 의해 정의되는, 수단;
다수의 뉴런들을 통해 뉴런 합 어레이를 생성하되, 각각의 뉴런이 적어도 하나의 출력을 갖고 그리고 다수의 시냅스들 중 적어도 하나를 통해 다수의 입력들 중 적어도 하나와 연결되며, 그리고 각각의 뉴런이 각각의 뉴런에 연결된 대응하는 각각의 시냅스의 보정 가중치들의 가중치 값을 합산하도록 구성된, 수단;
원하는 출력 값 어레이로 조직화된 원하는 이미지들을 수신하는 수단;
원하는 출력 값 어레이로부터 뉴런 합 어레이의 편차를 결정하고 그리고 편차 어레이를 생성하는 수단; 및
결정된 편차 어레이를 이용하여 보정 가중치 어레이를 변경함으로써, 뉴런 합 어레이를 결정하기 위해 변경된 보정 가중치 값들을 합산하면 트레이닝된 보정 가중치 어레이를 생성하도록 원하는 출력 값으로부터 뉴런 합 어레이의 편차를 감소시켜 신경망의 동시 트레이닝을 용이하게 하는, 수단을 포함하는, 인공 신경망을 동작시키기 위한 장치.
Means for receiving training images through a plurality of inputs to the neural network, wherein the training images are received as a training input value array during training of the neural network and coded as a training input value array;
Wherein the calibration weights of the plurality of synapses in the calibration weight array are organized, wherein each synapse is connected to one of a plurality of inputs and comprises a plurality of calibration weights, and wherein each calibration weight is defined by a weight value, ;
Generating a neuron sum array through a plurality of neurons wherein each neuron has at least one output and is coupled to at least one of a plurality of inputs through at least one of the plurality of synapses, Means for summing weights of the correction weights of each corresponding synapse connected to the neuron;
Means for receiving desired images organized in a desired output value array;
Means for determining a deviation of a neuron sum array from a desired output value array and generating a deviation array; And
By summing the modified calibration weight values to determine the neuron sum array by varying the calibration weight arrays using the determined deviation arrays, the deviation of the neuron sum array from the desired output value is reduced to produce a training calibration weight array, And means for facilitating the training of the neural network.
제23항에 있어서,
트레이닝된 신경망에서:
신경망에 대한 다수의 입력들을 통해 입력 이미지들을 수신하되, 입력 이미지들은 신경망에 의해 이미지들의 인식동안 입력 값 어레이로서 수신되고 그리고 입력 값 어레이로서 코딩되는 것중 하나인, 수단;
각각의 시냅스에 트레이닝된 보정 가중치 어레이 중 다수의 트레이닝된 보정 가중치들을 부여하되, 각각의 트레이닝된 보정 가중치는 보정치 값으로 정의되는, 수단; 및
각각의 뉴런에 연결된 각각의 시냅스에 대응하는 트레이닝된 보정 가중치들의 가중치 값들을 가산함으로써, 다수의 뉴런들이 인식된 이미지들 어레이를 생성하여, 입력 이미지들의 인식을 제공하는, 수단인, 인공 신경망을 동작시키기 위한 장치.
24. The method of claim 23,
In the trained neural network:
Means for receiving input images through a plurality of inputs to a neural network, wherein the input images are one of being received as an input value array during recognition of images by a neural network and coded as an input value array;
Means for providing a plurality of training calibration weights of the calibration weight arrays trained at each synapse, wherein each training calibration weight is defined as a correction value; And
Means for generating a plurality of recognized neurons arrays of recognized images to provide recognition of input images by adding weighted values of the training corrected weights corresponding to each synapse connected to each neuron, .
KR1020197000226A 2016-06-09 2017-06-09 Neural Networks and How to Train Neural Networks KR102558300B1 (en)

Applications Claiming Priority (5)

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

Publications (2)

Publication Number Publication Date
KR20190016539A true KR20190016539A (en) 2019-02-18
KR102558300B1 KR102558300B1 (en) 2023-07-21

Family

ID=60579026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197000226A KR102558300B1 (en) 2016-06-09 2017-06-09 Neural Networks and How to Train Neural Networks

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020226317A1 (en) * 2019-05-03 2020-11-12 Samsung Electronics Co., Ltd. Image processing apparatus and image processing method thereof
KR20210065625A (en) * 2019-11-27 2021-06-04 고려대학교 산학협력단 Deep neural network accelerator using heterogeneous multiply-accumulate unit

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11454968B2 (en) * 2018-02-28 2022-09-27 Micron Technology, Inc. Artificial neural network integrity verification
US11562231B2 (en) * 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US11640522B2 (en) 2018-12-13 2023-05-02 Tybalt, Llc Computational efficiency improvements for artificial neural networks
CN109799439B (en) * 2019-03-29 2021-04-13 云南电网有限责任公司电力科学研究院 Insulating multi-angle inclined scratch cable wetting experiment evaluation method and device
CN110111234B (en) * 2019-04-11 2023-12-15 上海集成电路研发中心有限公司 Image processing system architecture based on neural network
CN110135557B (en) * 2019-04-11 2023-06-02 上海集成电路研发中心有限公司 Neural network topology architecture of image processing system
CN110046513B (en) * 2019-04-11 2023-01-03 长安大学 Plaintext associated image encryption method based on Hopfield chaotic neural network
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
CN111461308B (en) * 2020-04-14 2023-06-30 中国人民解放军国防科技大学 Memristor neural network and weight training method
JP7493398B2 (en) 2020-07-03 2024-05-31 日本放送協会 Conversion device, learning device, and program
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
KR102514652B1 (en) * 2021-11-19 2023-03-29 서울대학교산학협력단 Weight transfer apparatus for neuromorphic devices and weight transfer method using the same
CN115358389A (en) * 2022-09-01 2022-11-18 清华大学 Neural network training error reduction method, neural network training error reduction device, electronic device, and medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600843A (en) * 1989-09-20 1997-02-04 Fujitsu Limited Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays
US20160012330A1 (en) * 2014-03-06 2016-01-14 Progress, Inc. Neural network and method of neural network training
US10248675B2 (en) * 2013-10-16 2019-04-02 University Of Tennessee Research Foundation Method and apparatus for providing real-time monitoring of an artifical neural network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980290B (en) * 2010-10-29 2012-06-20 西安电子科技大学 Method for fusing multi-focus images in anti-noise environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600843A (en) * 1989-09-20 1997-02-04 Fujitsu Limited Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays
US10248675B2 (en) * 2013-10-16 2019-04-02 University Of Tennessee Research Foundation Method and apparatus for providing real-time monitoring of an artifical neural network
US20160012330A1 (en) * 2014-03-06 2016-01-14 Progress, Inc. Neural network and method of neural network training
US9390373B2 (en) * 2014-03-06 2016-07-12 Progress, Inc. Neural network and method of neural network training

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
D. Pescianschi 외 3인, "Analog and Digital Modeling of a Scalable Neural Network", Int'l Conf. Artificial Intelligence(ICAI'15) Vol.II (2015.07)* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020226317A1 (en) * 2019-05-03 2020-11-12 Samsung Electronics Co., Ltd. Image processing apparatus and image processing method thereof
US11315222B2 (en) 2019-05-03 2022-04-26 Samsung Electronics Co., Ltd. Image processing apparatus and image processing method thereof
KR20210065625A (en) * 2019-11-27 2021-06-04 고려대학교 산학협력단 Deep neural network accelerator using heterogeneous multiply-accumulate unit

Also Published As

Publication number Publication date
JP7041078B2 (en) 2022-03-23
EP3469521A4 (en) 2020-02-26
EP3469521A1 (en) 2019-04-17
JP2019519045A (en) 2019-07-04
KR102558300B1 (en) 2023-07-21
WO2017214507A1 (en) 2017-12-14
CN109416758A (en) 2019-03-01

Similar Documents

Publication Publication Date Title
KR102558300B1 (en) Neural Networks and How to Train Neural Networks
KR102166105B1 (en) Neural network and method of neural network training
US9619749B2 (en) Neural network and method of neural network training
TWI655587B (en) Neural network and method of neural network training
US10311326B2 (en) Systems and methods for improved image textures
KR102545128B1 (en) Client device with neural network and system including the same
RU2586864C2 (en) Method and arrangement for local rule of training competition, which leads to a sparse connectivity
JP2019032808A (en) Mechanical learning method and device
KR20170031695A (en) Decomposing convolution operation in neural networks
Tang et al. Memory dynamics in attractor networks with saliency weights
CN114330736A (en) Latent variable generative model with noise contrast prior
Du et al. Efficient network construction through structural plasticity
Pereira et al. Vae-bridge: Variational autoencoder filter for bayesian ridge imputation of missing data
KR20220026917A (en) Image converting apparatus for adapting from synthetic domain to real domain and method thereof
CN114766024A (en) Method and apparatus for pruning neural networks
Reddy et al. Effect of image colourspace on performance of convolution neural networks
Zhang et al. Supplementary meta-learning: Towards a dynamic model for deep neural networks
CN113077383A (en) Model training method and model training device
Wang Efficient Adaptation of Deep Vision Models
Shen et al. Consistency of neural networks with regularization
Jia et al. Studying on improved spiking neural network in handwritten digital recognition
Ivanova OPTIMIZING SIMULATION MODELS OF AN ARTIFICIAL NEURAL NETWORK FOR DIGITAL RECOGNITION.
EP4040342A1 (en) Deep neutral network structure learning and simplifying method
Eddine et al. New classification technique using neural networks and genetic algorithms
Vodianyk et al. Evolving Node Transfer Functions in Deep Neural Networks for Pattern Recognition

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant