Neuromorphic apparatus and method with neural network
AssigneeSamsung Electronics Co., Ltd.
InventorHyunsoo Kim
Life of this patent
Estimating the term…
Abstract
A processor-implemented neural network implementation method includes: learning each of first layers included in a neural network according to a first method; learning at least one second layer included in the neural network according to a second method; and generating output data from input data by using the learned first layers and the learned at least one second layer.
Claims12
A processor-implemented neural network implementation method executed by a processor and an on-chip memory included in a neuromorphic apparatus for performing a neuromorphic operation, the method comprising:
- performing, by the processor and the on-chip memory included in the neuromorphic apparatus, a first training of each of first layers included in a convolution neural network based on unsupervised learning according to a self-organizing map without using back-propagation, including determining a similarity between partial input vectors and an updated weight of at least one output neuron using input feature map data stored in the on-chip memory, wherein the self-organizing map comprises an input layer having a number of neurons equal to dimensions of an input and an output layer having a number of neurons equal to clustering target classes, and wherein each neuron of the output layer of the self-organizing map has a weight vector having the same dimension as the input and the input of the self-organizing map is clustered by classifying the input into one of most similar neuron of the output layer based on a calculated similarity between the input and the weight vector of each neuron of the output layer;
- performing, by the processor and the on-chip memory, a second training of at least one second layer included in the convolution neural network based on supervised learning according to back-propagation;
- and
- performing, by the processor and the on-chip memory, an inference operation, including generating, by the processor and the on-chip memory, output data based on input data stored in the on-chip memory, by using the learned first layers and the learned at least one second layer,
- wherein the first layers comprise convolutional layers of the convolution neural network to extract features from the input data and the at least one second layer comprises at least one fully-connected layer of the convolution neural network to perform classification and identification based on output feature map data extracted from the input data by the first layers,
- wherein the convolution neural network is implemented as a single convolution neural network including the first layers and the at least one second layer,
- wherein the performing the first training comprises generating output feature map data for the convolutional layers via addition operation and subtraction operation instead of a MAC (multiply and accumulate) operation based on the self-organizing map,
- wherein the generated output feature map data of the first layers is used as an input feature map for the at least one second layer to perform the supervised learning according to the back-propagation,
- wherein the generating the output feature map data comprises:
- generating partial input vectors based on input feature map data of an initial layer of the first layers;
- determining the similarity between the partial input vectors and the updated weights, to generate similarity vectors;
- and
- generating the output feature map data of the initial layer based on the similarity vectors, and
- wherein the similarity vectors are determined as partial output feature map data, and the partial output feature map data is matched with a coordinate of the input feature map data of which the partial input vectors are generated, to generate the output feature map data of the initial layer, and
- wherein the first training, the second training and the inference operation are performed by the processor and the on-chip memory.
A neuromorphic neural network implementation apparatus for performing a neuromorphic operation, the neuromorphic neural network implementation apparatus comprising:
- a processor;
- and
- an on-chip memory comprising a plurality of cores and storing one or more instructions that, when executed by the processor,
- the processor configured to
- perform a first training of each of first layers included in a convolution neural network based on unsupervised learning according to a self-organizing map without using back-propagation, including determining a similarity between partial input vectors and an updated weight of at least one output neuron using input feature map data stored in the on-chip memory, wherein the self-organizing map comprises an input layer having a number of neurons equal to dimensions of an input and an output layer having a number of neurons equal to clustering target classes, and wherein each neuron of the output layer of the self-organizing map has a weight vector having the same dimension as the input and the input of the self-organizing map is clustered by classifying the input into one of most similar neuron of the output layer based on a calculated similarity between the input and the weight vector of each neuron of the output layer,
- perform a second training of at least one second layer included in the convolution neural network based on supervised learning according to back-propagation, and
- perform an inference operation by driving the processor and the on-chip memory to implement the convolution neural network, including generating output data based on input data stored in the on-chip memory, by using the learned first layers and the learned at least one second layer,
- wherein the first layers comprise convolutional layers of the convolution neural network to extract features from the input data and the at least one second layer comprises at least one fully-connected layer of the convolution neural network to perform classification and identification based on output feature map data extracted from the input data by the first layers,
- wherein the convolution neural network is implemented as a single convolution neural network including the first layers and the at least one second layer,
- wherein, for performing the first training, the processor is further configured to generate output feature map data for the convolutional layers via addition operation and subtraction operation instead of a MAC (multiply and accumulate) operation based on the self-organizing map,
- wherein the generated output feature map data of the first layers is used as an input feature map for the at least one second layer to perform the supervised learning according to the back-propagation,
- wherein, for generating the output feature map data, the processor is further configured to:
- generate partial input vectors based on input feature map data of an initial layer of the first layers;
- determine the similarity between the partial input vectors and the updated weights, to generate similarity vectors;
- and
- generate the output feature map data of the initial layer based on the similarity vectors, and
- wherein the similarity vectors are determined as partial output feature map data, and the partial output feature map data is matched with a coordinate of the input feature map data of which the partial input vectors are generated, to generate the output feature map data of the initial layer, and
- wherein the first training, the second training and the inference operation are performed by the processor and the on-chip memory.
Dependencies are inferred from the claim text.