KR20210017833A - Neuromorphic Memory Management System and Data Operation Method thereof - Google Patents

Neuromorphic Memory Management System and Data Operation Method thereof Download PDF

Info

Publication number
KR20210017833A
KR20210017833A KR1020190097667A KR20190097667A KR20210017833A KR 20210017833 A KR20210017833 A KR 20210017833A KR 1020190097667 A KR1020190097667 A KR 1020190097667A KR 20190097667 A KR20190097667 A KR 20190097667A KR 20210017833 A KR20210017833 A KR 20210017833A
Authority
KR
South Korea
Prior art keywords
data
memory
data set
result
neuromorphic
Prior art date
Application number
KR1020190097667A
Other languages
Korean (ko)
Other versions
KR102407263B1 (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
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to US16/537,293 priority Critical patent/US11449738B2/en
Priority to KR1020190097667A priority patent/KR102407263B1/en
Publication of KR20210017833A publication Critical patent/KR20210017833A/en
Application granted granted Critical
Publication of KR102407263B1 publication Critical patent/KR102407263B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

According to the present invention, a data calculation method capable of changing a structure of a memory in a neuromorphic semiconductor comprises the steps of: storing two or more data sets in a memory; calculating so that a calculation result for any one data set among the two or more data sets affects a calculation result of a data set to be calculated next; and outputting a result of the calculation step. The calculation step includes the step of determining second reference data of a second data set to be calculated next based on a result of calculation with preset first reference data for any first data set among the two or more data sets and the step of performing a comparison operation with the preset second reference data on the changed second data set.

Description

뉴로모픽 메모리 관리 시스템 및 이를 통한 가중치 연산 방법{Neuromorphic Memory Management System and Data Operation Method thereof}Neuromorphic Memory Management System and Data Operation Method thereof

본 발명은 메모리 관리에 관한 것으로서, 구체적으로는 저전력 디바이스 또는 독립운용이 필요한 디바이스 내에서 뉴로모픽 반도체 내 메모리를 관리하고 데이터를 연산하는 시스템 및 방법에 관한 것이다.The present invention relates to memory management, and more particularly, to a system and method for managing a memory in a neuromorphic semiconductor and calculating data in a low-power device or a device requiring independent operation.

뉴로모픽 소자의 시냅스는 어레이 구조로 구성되어 있으며, 다양한 메모리 유닛을 이용하여 학습 기능을 구현하고 데이터를 연산한다. The synapse of a neuromorphic device is composed of an array structure, and a learning function is implemented and data is calculated using various memory units.

이를 위한 뉴로모픽 메모리는 통상 뉴런당 128byte의 데이터를 저장하는데, 종래의 메모리 할당 방식은 도 1과 같이 데이지 체인(Daisy Chain) 방식으로 메모리의 첫 위치부터 데이터를 순차적으로 저장하고 처리한다. 예컨대, 640byte의 A 입력 데이터는 학습과 추론에 있어서 0~4번의 5개의 뉴런을 사용한다. Neuromorphic memory for this purpose generally stores 128 bytes of data per neuron, and the conventional memory allocation method sequentially stores and processes data from the first location of the memory in a daisy chain method as shown in FIG. 1. For example, 640 bytes of A input data uses 5 neurons 0-4 for learning and inference.

종래의 뉴로모픽 메모리는 한번에 하나의 입력 데이터를 받아서 처리하기 때문에, 만약 후속하여 B 입력 데이터(640byte)를 처리해야 하는 경우, 먼저 전체 메모리(뉴런)를 리셋시킨 다음 B 입력 데이터를 A 입력 데이터가 이용했던 0~4번 뉴런에 입력시킨다. Since conventional neuromorphic memory receives and processes one input data at a time, if B input data (640 bytes) is to be processed subsequently, the entire memory (neuron) is reset first, and then B input data is converted to A input data. Input to neurons 0-4 used by

결국, 종래의 방식에서는 처리하고자 하는 어플리케이션 또는 서비스 데이터가 이종 또는 다른 데이터일 경우, 도 2에서와 같이 데이터 B(녹색으로 표시)를 학습하기 위해서는 이전에 저장하고 처리했던 어플리케이션 데이터 A(노란색으로 표시)를 리셋해야 하는데, 이 때 어플리케이션 데이터 A에 대한 학습 내용은 이후의 인식(추론)을 위해 모두 외부 메모리 유닛에 저장되며, 이러한 과정으로 인하여 외부 메모리 유닛의 종류, 처리속도, 액세스 속도에 따라 뉴로모픽 메모리의 데이터 처리 성능차이가 많이 발생한다. In the end, in the conventional method, when the application or service data to be processed is heterogeneous or different data, to learn data B (indicated in green) as shown in FIG. 2, the previously stored and processed application data A (indicated in yellow). ) Must be reset. At this time, the learning contents of application data A are all stored in the external memory unit for later recognition (inference), and due to this process, new data is updated according to the type, processing speed, and access speed of the external memory unit. There is a lot of difference in data processing performance of the Lomorphic memory.

양호한 처리 속도를 얻기 위해서는 시스템 버스의 속도와 외부 메모리 유닛과 시스템 코어간의 빠른 데이터 교환이 요구되는데, 따라서 저전력/저사양 디바이스는 위 데이터 속도가 현저히 떨어지며 이로 인한 데이터 병목현상이 발생할 수 있어서 외부 메모리 적용에 한계가 있을 수 있다. In order to obtain good processing speed, the speed of the system bus and fast data exchange between the external memory unit and the system core are required. Therefore, the above data rate is significantly lowered for low-power/low-spec devices, which may cause a data bottleneck. There may be limitations.

더욱이, 전력 소모나 성능의 기준이 실제 뉴로모픽 반도체가 아니라, 외부 메모리 유닛에 종속적일 수 있게 된다. Moreover, the standard of power consumption or performance may be dependent on an external memory unit rather than an actual neuromorphic semiconductor.

이러한 문제는 학습 단계뿐만이 아니라, 학습된 결과를 입력 데이터의 인식 또는 추론을 위하여 외부 메모리로부터 불러오는 과정에서도 발생한다.This problem occurs not only in the learning stage, but also in the process of retrieving the learned result from an external memory for recognition or inference of input data.

한편, 실제 뉴로모픽 반도체 내 메모리를 활용하는 측면에서는, 종래의 뉴로모픽 메모리는 역시 도 1에서와 같이 데이지 체인(Daisy Chain) 방식으로 메모리의 첫 위치부터 데이터를 순차적으로 저장하고 처리하는 특성으로 인하여, 어플리케이션에 따라, 사용하지 않는 메모리가 많은 경우 메모리 사용 측면에서 비효율성을 가지게 된다.On the other hand, in terms of utilizing the memory in the actual neuromorphic semiconductor, the conventional neuromorphic memory also has the characteristic of sequentially storing and processing data from the first location of the memory in a daisy chain method as shown in FIG. Therefore, depending on the application, when there are many unused memories, inefficiency may occur in terms of memory usage.

보다 구체적으로 설명하면, 도 1에서 보는 바와 같이 데이터 입력완료 후 비교 병렬 연산은 푸른색 화살표과 같이 동시 비교가 가능하지만, 이와 같은 뉴로모픽 반도체 내 병렬 연산을 위하여 데이터를 메모리에 쓰는 방식은 하늘색 선과 같이 데이지 체인방식을 사용하고 있다. 따라서, 학습이나 추론을 위해 저장하는 데이터가 적은 경우, 나머지 뉴런 메모리는 사용하지 않게 되며, 도 1의 예시와 같이 매우 적은 영역의 메모리만 활용되고 나머지 대부분의 영역은 활용되지 않는 일이 생길 수 있다. More specifically, as shown in FIG. 1, after data input is completed, comparison parallel operation can be performed simultaneously as indicated by a blue arrow, but the method of writing data to memory for parallel operation in a neuromorphic semiconductor Together, they are using the daisy chain method. Therefore, when there is little data to be stored for learning or inference, the remaining neuron memory is not used, and as shown in the example of FIG. 1, only a very small area of memory is used and most of the remaining areas may not be used. .

이와 같이, 뉴로모픽 반도체 내 메모리를 활용하는 측면에서 사용하지 않는 메모리 부분에 대해 재활용이 어려운 문제점이 있다. In this way, in terms of utilizing the memory in the neuromorphic semiconductor, there is a problem in that it is difficult to recycle the unused memory portion.

다른 한편으론, 종래의 뉴로모픽 반도체 특성상, 회귀 연산(Recursive 연산)에 대한 방식이 적용되지 않는 문제점이 있어, 딥러닝에 사용된 알고리즘이나, 머신러닝 내 회귀 연산이 필요한 알고리즘은 적용되지 못하는 한계가 있다.On the other hand, due to the characteristics of the conventional neuromorphic semiconductor, there is a problem that the method for recursive operation is not applied, so the algorithm used for deep learning or the algorithm requiring regression operation in machine learning cannot be applied. There is.

본 발명의 목적은 획일적인 데이지체인 방식의 종래의 뉴로모픽 메모리 할당방식에서 벗어나 가변적으로 뉴로모픽 반도체 내 메모리 구조를 변경할 수 있는 메모리 관리 시스템 및 방법을 제공하는 데 있다.An object of the present invention is to provide a memory management system and method capable of variably changing a memory structure in a neuromorphic semiconductor, deviating from the conventional neuromorphic memory allocation method of a uniform daisy chain method.

본 발명의 다른 목적은, 본 발명에 따른 뉴로모픽 메모리 관리 시스템을 이용하여 딥러닝에 적용되는 알고리즘과 회귀 연산 알고리즘을 적용할 수 있는 새로운 뉴로모픽 반도체의 연산 방법을 제공하는 데 있다. Another object of the present invention is to provide a new neuromorphic semiconductor operation method capable of applying an algorithm applied to deep learning and a regression algorithm using the neuromorphic memory management system according to the present invention.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

본 발명은 뉴로모픽 반도체 내 메모리 구조를 변경하여 Prescience Estimator(PSE)관리자가 해당 어플리케이션에 대한 메모리 사용정도를 예상하고 Prescience Manager(PSM)전체 뉴로모픽 메모리 구조에서 일부를 할당하여 전술한 과제를 달성한다. In the present invention, by changing the memory structure in the neuromorphic semiconductor, the Prescience Estimator (PSE) manager predicts the degree of memory usage for the application, and allocates a part from the entire neuromorphic memory structure of the Prescience Manager (PSM) to solve the above problems. Achieve.

본 발명의 일면에 따른, 둘 이상의 데이터 세트를 일괄 처리하는 데이터 연산 방법은, 상기 둘 이상의 데이터 세트를 메모리에 저장하는 단계와, 상기 둘 이상의 데이터 세트 중 임의의 한 데이터 세트에 대한 연산 결과가 다음에 연산되는 데이터 세트의 연산 결과에 영향을 미치도록 연산하는 단계와, 상기 연산하는 단계의 결과를 출력하는 단계를 포함한다.According to an aspect of the present invention, a data operation method for batch processing two or more data sets includes storing the two or more data sets in a memory, and an operation result for any one data set among the two or more data sets is And calculating to affect the operation result of the data set being operated on, and outputting a result of the calculating step.

상기 연산하는 단계는, 상기 둘 이상의 데이터 세트 내 각 데이터 세트의 연산에 있어서 상기 각 데이터 세트내의 데이터 비트를 동시에 기 설정된 기준데이터 세트와 비교 연산하는 것이고, 상기 둘 이상의 데이터 세트 중 임의의 제1 데이터 세트에 대한 기 설정된 제1 기준 데이터과의 연산 결과를 기초로, 다음에 연산되는 제2 데이터 세트의 제2 기준 데이터를 결정하는 단계와, 변경된 상기 제2 데이터 세트에 대하여 상기 제2 기준 데이터과 비교연산을 수행하는 단계를 포함한다. The calculating step is to compare and operate data bits in each data set with a preset reference data set at the same time in the operation of each data set in the two or more data sets, and any first data of the two or more data sets Determining second reference data of the second data set to be calculated next, based on the result of the operation with the first reference data set in advance for the set, and comparing the changed second data set with the second reference data And performing.

상기 결정하는 단계는, 상기 제1 데이터 세트에 대한 연산 결과를 기초로 제2 데이터 세트와 상이한 하나 이상의 제3 데이터 세에 대한 제3 기준 데이터를 결정하는 단계를 더 포함한다. The determining step further includes determining third reference data for one or more third data sets that are different from the second data set based on a result of the operation on the first data set.

또한, 상기 제1 데이터 세트의 연산 결과 및, 상기 제1 데이터 세트 이외의 하나 이상의 다른 데이터 세트에 대한 앞선 연산 결과를 함께 고려하여 제2 데이터 세트에 대한 제2 기준 데이터를 결정한다. In addition, the second reference data for the second data set is determined by considering the operation result of the first data set and a previous operation result of at least one other data set other than the first data set.

상기 출력하는 단계는, 상기 둘 이상의 데이터 세트 각각에 대한 연산 결과의 적어도 일부를 출력하는 것이다. 즉, 모든 연산 데이터 세트에 대한 연산 결과를 출력할 수도 있으나, 이에 한정되지 않고 일부의 데이터 세트에 대한 연산 결과를 출력할 수도 있다. The outputting step is to output at least a part of an operation result for each of the two or more data sets. That is, the calculation results for all the calculation data sets may be output, but the calculation results are not limited thereto, and the calculation results for some data sets may be output.

본 발명의 다른 면에 따른 뉴로모픽 반도체 칩의 데이터 연산 방법은, 둘 이상의 데이터 세트를 뉴모리픽 반도체 칩 내의 메모리에 저장하는 단계와, 상기 둘 이상의 데이터 세트 중 임의의 한 데이터 세트에 대한 연산 결과를 토대로, 다음에 연산되는 데이터 세트에 대한 기준 데이터를 결정하는 단계와, 상기 다음에 연산되는 데이터 세트와 상기 결정된 기준 데이터를 비교 연산하는 단계를 포함한다. According to another aspect of the present invention, a data operation method of a neuromorphic semiconductor chip includes storing two or more data sets in a memory in a neuromorphic semiconductor chip, and an operation on any one data set among the two or more data sets. Based on the result, determining reference data for a data set to be calculated next, and comparing and calculating the data set to be calculated next and the determined reference data.

데이터 세트의 저장은, 둘 이상의 데이터 소스로부터 동시에 입력된 데이터를 상기 메모리에 저장할 수도 있고, 하나의 데이터 소스로부터 순차적으로 입력되는 데이터를 저장할 수도 있다.In the storage of the data set, data inputted simultaneously from two or more data sources may be stored in the memory, or data sequentially inputted from one data source may be stored.

본 발명의 또 다른 면에 따른 뉴로모픽 메모리 관리 시스템은, 다차원 격자 구조를 가지는 뉴로모픽 메모리와, 둘 이상의 데이터 세트 각각의 메모리 사용정도를 예측하고 상기 메모리에 입력할 순서를 결정하는 예지부(PSE)와, 상기 예지부의 예측 결과에 따라 상기 둘 이상의 데이터 세트에 대한 학습된 기준 데이터를 상기 메모리에 저장하고 상기 둘 이상의 데이터 세트와 비교 연산시키는 관리부(PSM)를 포함한다. A neuromorphic memory management system according to another aspect of the present invention includes a neuromorphic memory having a multidimensional lattice structure, and a prediction unit that predicts a memory usage degree of each of two or more data sets and determines an order of input to the memory. (PSE), and a management unit (PSM) for storing the learned reference data for the two or more data sets in the memory according to the prediction result of the prediction unit and comparing and calculating the two or more data sets.

상기 뉴로모픽 메모리는, 상기 둘 이상의 데이터 세트 및 연산에 이용할 기준 데이터를 저장하는 메모리 셀과, 상기 데이터 세트를 상기 기준 데이터에 기초하여 연산하는 연산기를 포함한다. The neuromorphic memory includes a memory cell that stores the at least two data sets and reference data to be used for an operation, and an operator that operates the data set based on the reference data.

상기 관리부는, 상기 둘 이상의 데이터 세트 중 어느 하나의 데이터 세트에 대하여 비교 연산된 결과에 따라서, 다른 데이터 세트 중 적어도 어느 하나의 데이터 세트에 대한 기준 데이터를 결정하는 것이다. The management unit determines reference data for at least one data set among the other data sets according to a result of a comparison operation on any one data set among the two or more data sets.

본 발명에 따른 예측 기반의 메모리 관리 시스템은 기존에 단일 레이어 방식의 비교결정값을 다른 메모리 영역에 재할당하는 방법을 통해, 시간차를 두고 다시 할당하여 기준 데이터를 재사용할 수 있다. The prediction-based memory management system according to the present invention can reuse reference data by re-allocating the comparison decision value of the single-layer method to another memory region at a time difference.

또한, 외부 메모리 접근없이 뉴로모픽 반도체 내부 코어 시스템에서 수행되기 때문에 처리 속도가 빠르고 이에 따른 전력 소모가 줄어드는 효과가 있다.In addition, since it is performed in a core system inside a neuromorphic semiconductor without accessing an external memory, processing speed is fast and power consumption is reduced accordingly.

본 발명에 따르면, 뉴로모픽 메모리를 이용하여 멀티 레이어 방식과 회귀 연산이 가능한 가중치 방법을 동시에 활용할 수 있으므로 기존에 뉴로모픽 반도체 특성상 단일 레이어를 통한 간단한 알고리즘 적용 방식에서 다양한 딥러닝 알고리즘, 최적의 머신러닝 알고리즘 (예, Support Vector Machine(SVM))의 알고리즘을 적용할 수 있는 장점을 발휘한다. According to the present invention, since a multi-layer method and a weight method capable of regression operation can be simultaneously used using a neuromorphic memory, various deep learning algorithms can be optimized from a simple algorithm application method through a single layer due to the characteristics of the existing neuromorphic semiconductor. It shows the advantage of being able to apply the algorithm of a machine learning algorithm (e.g., Support Vector Machine (SVM)).

또한, 입력되는 데이터를 사용하지 않는 뉴로모픽 메모리를 할당하여 사용하지 않은 영역을 재활용하며, 한번의 입력에 리셋과정 없이 다양한 데이터를 한번에 학습할 수 있는 장점이 있다. 따라서 다양한 데이터를 한번에 학습하기 때문에 융합된 정보를 이용한 하나의 인식 룰을 정의할 수 있고, 인식 룰에 대해서 한번의 저장이 요구되므로 시스템 버스에 의한 외부 메모리 유닛 저장 횟수를 줄일 수 있는 장점이 있다. In addition, there is an advantage in that an unused area can be recycled by allocating a neuromorphic memory that does not use input data, and various data can be learned at once without a reset process in a single input. Therefore, since various data are learned at a time, one recognition rule can be defined using fused information, and since one storage of the recognition rule is required, there is an advantage of reducing the number of storage of external memory units by the system bus.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다. The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 뉴로모픽 메모리의 구조 및 종래의 뉴로모픽 메모리가 입력 데이터를 저장하는 방식을 도시한 도면.
도 2는 종래의 뉴로모픽 메모리가 복수 개의 다른 입력 데이터를 저장하는 방식을 도시한 도면.
도 3은 본 발명에 따른 가변형 메모리의 구조를 도시한 블록도.
도 4는 본 발명에 따른 가변형 메모리의 3차원 구현례를 도시한 도면.
도 5는 본 발명에 따른 가변형 메모리의 둘 이상의 데이터가 동시에 함께 저장되는 양상을 도시한 도면.
도 6은 본 발명에 따른 가변형 메모리의 둘 이상의 데이터의 할당 양상을 도시한 도면.
도 7은 본 발명에 따른 메모리 관리 시스템을 도시한 도면.
도 8은 종래의 뉴로모픽 메모리에서의 연산 양상을 도시한 도면.
도 9는 본 발명에 따른 데이터 연산을 하기 위하여 두 종류 이상의 데이터를 동시에 하나의 메모리에 저장하는 예를 도시한 도면.
도 10은 본 발명에 따른 다중 데이터 연산 방식에 대한 개념도.
도 11은 본 발명에 따른, 시간의 흐름에 따라 입력되는 데이터의 연산 방식에 대한 개념도.
도 12는 본 발명에 따른 복합 연산 방식에 대한 개념도.
도 13은 본 발명에 따른, 시간에 따른 입력 데이터간의 가중치 부여 효과를 설명하기 위한 도면.
도 14는 본 발명에 따른, 서로 다른 종류의 입력 데이터간의 가중치 부여 효과를 설명하기 위한 도면.
도 15는 본 발명에 따라 단계적으로 정밀도를 높여가는 연산 방법을 설명하기 위한 도면.
1 is a diagram showing a structure of a neuromorphic memory and a method of storing input data in a conventional neuromorphic memory.
2 is a diagram showing a method of storing a plurality of different input data in a conventional neuromorphic memory.
3 is a block diagram showing the structure of a variable memory according to the present invention.
4 is a diagram showing a three-dimensional implementation example of a variable memory according to the present invention.
5 is a diagram illustrating an aspect in which two or more data of a variable memory according to the present invention are simultaneously stored together.
6 is a diagram showing an aspect of allocation of two or more data in a variable memory according to the present invention.
7 is a diagram showing a memory management system according to the present invention.
8 is a diagram showing an operation mode in a conventional neuromorphic memory.
9 is a diagram showing an example in which two or more types of data are simultaneously stored in one memory in order to perform a data operation according to the present invention.
10 is a conceptual diagram for a multiple data operation method according to the present invention.
11 is a conceptual diagram illustrating a method of calculating input data over time according to the present invention.
12 is a conceptual diagram for a complex operation method according to the present invention.
13 is a diagram for explaining a weighting effect between input data according to time according to the present invention.
14 is a diagram for explaining a weighting effect between different types of input data according to the present invention.
15 is a view for explaining an operation method for increasing the precision step by step according to the present invention.

본 발명의 이점 및 특징, 그리고 이들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 기술되어 있는 실시예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다. Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms different from each other, only this embodiment makes the disclosure of the present invention complete, and those skilled in the art to which the present invention pertains. It is provided to fully inform the scope of the invention to the person, and the invention is defined by the description of the claims.

한편, 본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.On the other hand, terms used in the present specification are for explaining examples and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used herein, "comprises" or "comprising" refers to the presence of one or more other components, steps, actions and/or elements other than the recited elements, steps, actions and/or elements, or Does not rule out addition.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs.

한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 실행될 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.Meanwhile, when a certain embodiment can be implemented differently, functions or operations specified in a specific block may be executed differently from the order specified in the flowchart. For example, two consecutive blocks may actually be executed at the same time, or the blocks may be executed in reverse depending on a related function or operation.

이하, 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명하되, 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고, 또한 본 발명을 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명을 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, but in adding reference numerals to elements of each drawing, the same elements are assigned as much as possible even if they are displayed on different drawings. In addition, in describing the present invention, when a detailed description of a related known configuration or function may obscure the subject matter of the present invention, a detailed description thereof will be omitted.

도 3를 참조하여 본 발명에 따르는 뉴로모픽 메모리 관리 시스템의 구조에 대하여 먼저 설명한다. The structure of the neuromorphic memory management system according to the present invention will be described first with reference to FIG. 3.

도 3에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 뉴로모픽 메모리 관리 시스템(300)은 메모리(330)를 이용할 각 어플리케이션에 대한 메모리 사용정도를 예측하는 PSE(320; Prescience Estimator)와, 이를 토대로 전체 뉴로모픽 메모리 구조에서 일부 또는 전부를 할당하는 PSM(310; Prescience Manager)을 포함한다. As shown in FIG. 3, the neuromorphic memory management system 300 according to an exemplary embodiment of the present invention predicts the degree of memory usage for each application that will use the memory 330 (PSE) 320 (Prescience Estimator). And, based on this, it includes a PSM (Prescience Manager) 310 that allocates part or all of the neuromorphic memory structure.

PSE(3210)와 PSM(310)은 뉴로모픽 칩의 시스템 코아의 내부에 소프트웨어 모듈로서 구현될 수 있는데, 별도의 하드웨어로 구현될 수도 있음은 물론이다.The PSE 3210 and the PSM 310 may be implemented as software modules inside the system core of the neuromorphic chip, and of course, they may be implemented as separate hardware.

본 발명의 바람직한 일 실시예에 따른 메모리(330)는 다차원 격자 구조를 가지며, 각 차원에 따라 여러 방향에서 메모리 접근이 가능한 가변형 메모리 구조를 가진다. 예컨대 2차원 격자 구조를 가지는 경우에는 상하좌우의 4개 방향에서 메모리 접근이 가능하며, 3차원 격자 구초를 가지는 경우에는 x, y, z의 각 축상에서 양방향(총 6방향)으로 접근 가능하도록 구성한다. The memory 330 according to an exemplary embodiment of the present invention has a multidimensional lattice structure, and has a variable memory structure capable of accessing memory from various directions according to each dimension. For example, if you have a two-dimensional grid structure, you can access memory in four directions, up, down, left, and right, and if you have a three-dimensional grid structure, you can access them in both directions (a total of six directions) on each axis of x, y, and z. do.

가변형 메모리 구조는 기존의 뉴로모픽 메모리를 논리적으로 다차원 구조를 가지도록 구성하여 구현될 수 있고, 둘 이상의 뉴로모픽 메모리를 스택구조로 쌓아 3차원 구조로 구성하거나, 또는 도 4에 도시된 바와 같이 반도체 공정방식에 따라 3차원 구조로 구현될 수 있다. The variable memory structure may be implemented by configuring an existing neuromorphic memory to have a logical multidimensional structure, and constructing a three-dimensional structure by stacking two or more neuromorphic memories in a stack structure, or as shown in FIG. Likewise, it can be implemented in a three-dimensional structure according to a semiconductor process method.

메모리의 할당은 도 5와 같이, 종래 뉴로모픽 반도체의 1차원 구조(데이지 체인 방식)과 달리, 2차원 평면 또는 3차원의 차원 구조(단일 격자 또는 다중 격자구조)를 가지도록 구성된다. 도 5에 도시된 바와 같이 본 발명에 따른 가변형 메모리는 파란색 선을 따라 데이터가 메모리가 할당되는 동시에 다른 경로인 주황색 선을 따라서 메모리가 할당될 수 있는 구조를 가진다. As shown in FIG. 5, memory allocation is configured to have a two-dimensional plane or three-dimensional dimensional structure (single lattice or multiple lattice structure), unlike a one-dimensional structure (daisy chain method) of a conventional neuromorphic semiconductor. As shown in FIG. 5, the variable memory according to the present invention has a structure in which data is allocated along a blue line and memory is allocated along an orange line, which is another path.

결과적으로 도 6과 같이 동시에 여러 종류의 데이터가 뉴로모픽 메모리에 저장될 수 있고, 동시에 여러 종류의 데이터가 처리될 수 있다.As a result, as shown in FIG. 6, several types of data may be simultaneously stored in the neuromorphic memory, and several types of data may be processed at the same time.

도 7은 이러한 가변형 메모리 구조의 효율적 활용과 효과의 발휘를 모식적으로 나타내고 있다. 도시된 바와 같이, PSM(310) 및 PSE(320)의 제어/관리하에 가변형 다차원 메모리(300)가 가로, 세로, 높이 방향으로 쓰고 읽혀질 수 있다. Fig. 7 schematically shows the effective utilization and effect of such a variable memory structure. As shown, the variable multidimensional memory 300 can be written and read in the horizontal, vertical, and height directions under the control/management of the PSM 310 and the PSE 320.

이와 같은 메모리 구조를 채택하여 얻을 수 있는 이점은 다음과 같다.The advantages that can be obtained by adopting such a memory structure are as follows.

메모리 공간을 사용하는 데 있어서, 해당 애플리케이션에 대한 메모리 사용 정도를 예상하고 전체 뉴로모픽 메모리 구조에서 그 사용 정도에 적합한 일부만을 할당하고, 사용하지 않은 영역에 대해서는 다른 어플리케이션이 사용할 수 있도록 재할당할 수 있다. In using the memory space, the degree of memory usage for the application is estimated, and only a portion suitable for the degree of use is allocated from the entire neuromorphic memory structure, and the unused area is reallocated so that other applications can use it. I can.

격자 구조의 가변 할당 메모리로 인하여, 학습을 위한 데이터 저장과 비교 연산을 동시에 할 수 있으므로 외부 메모리 유닛 접근에 따른 성능 저하를 방지할 수 있다. Due to the variable allocation memory of the lattice structure, data storage for learning and comparison operations can be performed at the same time, thereby preventing performance degradation due to access to an external memory unit.

격자 형태의 가변형 메모리 구조에 시간차를 두고 입력 데이터를 저장, 학습하는 경우, 회귀 연산이 가능한 가중치 방식을 적용할 수 있으므로, 단일 레이어를 통한 간단한 알고리즘 적용이 아니라, 다양한 딥러닝 알고리즘 효과를 볼 수 있는 알고리즘을 적용할 수 있다. 논리적 또는 물리적으로 적층되는 메모리 격자수에 따라, 또는 단일 격자 내에서도 동시에 처리되는 데이터 할당 공간을 다중화함으로써, 다중 레이어를 적용한 알고리즘을 모사하여 사용할 수 있다. In the case of storing and learning input data with a time difference in a lattice-type variable memory structure, a weighting method capable of regression operation can be applied, so that the effect of various deep learning algorithms can be seen rather than a simple algorithm application through a single layer. Algorithm can be applied. Algorithms to which multiple layers are applied can be simulated and used according to the number of logically or physically stacked memory grids, or by multiplexing data allocation spaces simultaneously processed even within a single grid.

이와 같이, PSM(310)와 PSE(320)을 통해 확보된 메모리 영역에 맞게 각 데이터가 학습되며, 다양한 데이터에 대한 정보 융합 학습이 한 번에 일어나게 되므로, 뉴로모픽 칩 내의 적은 메모리 사이즈에도 학습이 가능한 장점이 있으며, 저전력으로 빠른 메모리 접근이 가능하다. 학습 결과는 별도로 저장되고 향후 학습 인식을 위해 사용된다.In this way, each data is learned according to the memory area secured through the PSM 310 and PSE 320, and since information fusion learning about various data occurs at once, it is learned even with a small memory size in the neuromorphic chip. This is possible, and fast memory access is possible with low power. Learning results are stored separately and used for future learning recognition.

인식(추론) 단계에서, PSM(310)은 학습된 영역의 데이터 상태를 알고 있으므로, 인식을 위해 여러 종류의 입력 데이터가 입력될 때 비교가 가능하도록 해당 데이터의 비교연산을 수행에 필요한 제반 절차를 진행한다. In the recognition (inference) step, since the PSM 310 knows the state of the data in the learned area, the PSM 310 performs all the necessary procedures for performing the comparison operation of the corresponding data so that when various types of input data are input for recognition. Proceed.

한편, 본 발명에 따른 가변형 메모리 구조를 활용하여 시간차를 두고 입력 데이터를 저장, 학습하는 경우, 회귀 연산이 가능한 가중치 방식을 적용할 수 있으므로, 단일 레이어를 통한 간단한 알고리즘 적용이 아니라, 다양한 딥러닝 알고리즘을 적용할 수 있음. 적층되는 메모리 수에 따른 다중 레이어를 적용한 알고리즘을 사용할 수 있다.On the other hand, in the case of storing and learning input data with a time difference using the variable memory structure according to the present invention, a weighting method capable of regression operation can be applied, so that a simple algorithm is not applied through a single layer, but various deep learning algorithms Can be applied. An algorithm that applies multiple layers according to the number of stacked memories can be used.

이하에서는, 종래의 문제점과 이를 극복하여 전술한 이점을 얻을 수 있는 데이터 연산 방법에 대하여 구체적으로 설명한다. Hereinafter, a data operation method capable of obtaining the above-described advantages by overcoming the problems of the related art will be described in detail.

뉴로모픽 메모리는 메모리 셀에 포함된 비교기에 내장된 학습 데이터와 입력 데이터의 비교연산을 한다. Neuromorphic memory compares training data and input data embedded in a comparator included in a memory cell.

종래의 뉴로모픽 메모리는 전술한 바와 같이 데이지체인 방식으로 데이터를 저장한 후 한번에 한 종의 데이터에 대해서만 연산이 가능하므로, 결과적으로 단일 레이어를 사용하게 되어 도 8과 같이 입력 데이터와 학습 데이터간의 단순한 1회의 데이터 비교만 가능하다. 결과적으로 비교 결과(추론 결과)에 있어서 정확도가 많이 떨어지는 단점이 있다.Conventional neuromorphic memory stores data in a daisy chain method as described above, and can then operate on only one type of data at a time. As a result, a single layer is used. As shown in FIG. 8, between input data and training data. Only one simple data comparison is possible. As a result, there is a disadvantage that the accuracy of the comparison result (inference result) is very poor.

물론 도 8과 같은 단일 레이어 방식의 학습과 인식에서도 비교량이 많은 경우에 인식률이 높아지는 경향을 나타낸다. 그러나, 메모리 제조공정의 특성상 메모리양을 늘릴 경우, 제조 비용이 높아지고 저전력을 유지하기 어려운 문제가 있다. 특히 비교학습에 필요한 충분한 입력데이터를 확보하고, 전처리해야하는 문제가 발생한다.Of course, even in the learning and recognition of the single layer method as shown in FIG. 8, when the amount of comparison is large, the recognition rate tends to increase. However, due to the nature of the memory manufacturing process, when the amount of memory is increased, manufacturing cost increases and it is difficult to maintain low power. In particular, a problem arises in that sufficient input data required for comparative learning must be secured and pre-processed.

또한, 하나의 입력데이터가 아닌, 복수개의 입력 데이터 학습이 필요한 경우(예컨대, 회전축 센서 데이터 이후 온도 데이터를 학습하고 싶을 경우), 종래 방식에서는 단일 레이어 방식으로 인해, 하나의 데이터를 학습하고 학습한 결과를 외부 메모리에 저장, 새로운 데이터는 다시 학습하고 학습된 결과를 외부 메모리에 저장하고 비교하는 별도의 과정이 필요한 문제가 있다. In addition, when learning of multiple input data rather than one input data is required (e.g., when you want to learn temperature data after the rotation axis sensor data), in the conventional method, because of the single layer method, one data is learned and learned. There is a problem that a separate process of storing the result in an external memory, learning new data again, and storing and comparing the learned result in an external memory is required.

또한, 단일 레이어의 병렬비교연산 특성상, 기계학습에 필요한 다양한 알고리즘을 적용할 수 없는 한계가 있다. 예를 들어, SVM(support vector machine)과 같은 알고리즘에는 복수개의 레이어가 적용되고 가중치 연산이 가능한 구조가 되어야하는 데 종래 기술로는 불가능하였다. In addition, due to the characteristics of a single layer parallel comparison operation, there is a limitation in that various algorithms required for machine learning cannot be applied. For example, an algorithm such as a support vector machine (SVM) must have a structure in which a plurality of layers is applied and a weight calculation is possible, which was not possible with the prior art.

따라서, 본 발명의 바람직한 일 실시예에 따른 데이터 연산 방법은 우선, 전술한 가변형 메모리 구조 및 메모리 관리 시스템을 이용하여 도 9와 같이 둘 이상의 데이터를 각각 다른 메모리 영역에 저장한다.Accordingly, in a data operation method according to an exemplary embodiment of the present invention, first, two or more data are stored in different memory areas as shown in FIG. 9 by using the aforementioned variable memory structure and memory management system.

이러한 가변형 구조를 사용할 경우, 도 10과 같이 입력 데이터가 A,B 또는 A,B,C 이상이 될 때 회귀연산 형태의 효과를 가질 수 있다. In the case of using such a variable structure, as shown in FIG. 10, when the input data becomes A, B, or A, B, C or more, the effect of a regression operation may be obtained.

이러한 방법은 서로 다른 종류의 복수 개의 데이터에도 적용 가능하지만, 단일 데이터의 시간차에 따른 변화를 추적 비교할 때도 가능하다. 도 11은 단일 데이터의 시간차 변화 추적인 경우를 나타내고 있으며, 가중치 연산이 가능하므로 정확도 향상 뿐만아니라, 회귀연산 알고리즘을 적용할 수 있게 된다.This method can be applied to a plurality of different types of data, but it is also possible to track and compare changes in single data over time. FIG. 11 shows a case of tracking change in time difference of single data, and since weight calculation is possible, not only accuracy improvement but also regression calculation algorithm can be applied.

또한, 도 10에 도시된 실시예 및 도 11에 도시된 실시예가 결합한 형태로도 변형이 가능하며, 복수 데이터의 시간차에 따른 변화를 추적 비교할 때도 가능하다. 도 12는 이와 같은 복수 데이터의 시간차 변화 추적인 경우를 설명하고 있으며, 다양한 비교연산 알고리즘을 적용할 수 있다. In addition, the embodiment shown in FIG. 10 and the embodiment shown in FIG. 11 can be modified in a combined form, and it is also possible to track and compare changes according to time differences of a plurality of data. 12 illustrates a case of tracking change in time difference of such a plurality of data, and various comparison algorithms may be applied.

이하, 연산 방식에 대한 구체적인 몇 실시예를 들어 더 상세히 설명할 것이나, 본 발명에 따른 연산 방식이 이에 한정되는 것이 아님은 물론이다.Hereinafter, some specific embodiments of the calculation method will be described in more detail, but it is a matter of course that the calculation method according to the present invention is not limited thereto.

[연산 방식의 제1 실시예][Embodiment 1 of the calculation method]

도 10와 같이 복수개의 서로 다른 데이터를 동시에 입력받게 되면, 예를 들어 운전자의 졸음운전을 방지하는 서비스를 구현하는 경우, 운전자의 생체 정보 중 심박, 눈깜박임을 각각 A,B 데이터로 입력받아 학습한 다음, 추론 단계에서 비교연산을 수행하고 그 결과를 주행시간별 데이터(C 데이터)와의 비교학습, 비교연산을 재수행하여 정확도를 향상시킬 수 있다. 즉, 일정 회수 이상의 심박 및/또는 눈깜박임만으로 획일적으로 졸음 여부를 판단하는 것이 아니라, 심박 및/또는 눈깜박임의 비교 결과에 주행시간 조건을 가미하여 졸음 여부를 판단하는 것이다.When a plurality of different data are simultaneously input as shown in FIG. 10, for example, when implementing a service that prevents the driver from drowsy driving, the heart rate and the blinking of the driver's biometric information are input as A and B data, respectively, and learn. Then, in the inference step, the comparison operation is performed, and the result is compared with the driving time data (C data), and the comparison operation is performed again to improve accuracy. That is, not uniformly determining whether a person is drowsy only with a certain number of heartbeats and/or blinking, but determining whether he is drowsy by adding a driving time condition to the comparison result of the heartbeat and/or blinking.

가령, 주행시간이 1시간 미만일 경우의 심박수와 눈깜박임은, 주행시간이 3시간 이상인 경우의 심박수와 눈깜박임과 다른 특성을 가질 수 있다. 예컨대, 장시간 운전을 하게 되면 운전을 시작한 얼마 안된 상태에 비하여 심박수와 눈깜박임이 낮아질 수 있고 또는 반대가 될 수 있다. For example, the heart rate and blinking when the driving time is less than 1 hour may have different characteristics from the heart rate and blinking when the driving time is 3 hours or more. For example, when driving for a long time, the heart rate and blinking may be lowered or vice versa as compared to the state in which the driving started shortly.

따라서, 졸음 상태로 볼 수 있는 범위의 복수의 심박수, 눈깜박임 수를 미리 학습하여 놓고(A, B 데이터), 아울러 주행시간별로 졸음상태로 볼 수 있는 심박수와 눈깜박임수를 학습하여 놓은 다음, 1차적으로 심박수와 눈깜박임이 졸음 범위에 해당하지 않으면 C 데이터에 대한 비교 연산을 수행하지 않지만, 만약 심박수와 눈깜박임이 졸음 범위에 해당한다면, C 데이터에 대한 비교 연산을 수행하여 주행시간별 졸음 상태로 볼 수 있는 심박수와 눈깜박임인지를 판별하여 최종적으로 졸음 여부를 판단한다. Therefore, after learning in advance a plurality of heart rates and number of blinks in the range that can be seen as a drowsy state (data A, B), and learning the heart rate and blink rate that can be seen as a drowsy state by driving time, Primaryly, if the heart rate and blinking are not within the drowsiness range, the comparison operation is not performed on the C data, but if the heart rate and blinking are within the drowsiness range, the comparison operation is performed on the C data and drowsiness by driving time. It determines whether the heart rate and blinking of eyes can be seen as a result of the determination of drowsiness.

또는 A, B 데이터에 대해서도 상관성이 있거나 우선적 판단이 가능하다면, A, B 중 하나의 데이터만을 먼저 비교하여, 졸음 영역에 있는 것으로 판단이 되면 후속하여 다른 데이터를 비교하고, 다른 데이터의 비교 결과 역시 졸음 영역에 해당할 경우 C 데이터를 비교하는 식으로 순차적으로 각 데이터를 비교연산하여 판단하는 방식으로 구성할 수도 있다. Or, if there is a correlation or preferential determination for A and B data, only one of A and B is first compared, and if it is determined that it is in the drowsy area, then other data are compared, and the comparison result of the other data is also In the case of the drowsiness region, the C data may be compared, and each data may be sequentially compared and calculated to be determined.

이러한 A, B, C 데이터는 운전자 별로 학습하는 것이 바람직할 것이나, 개인별 학습이 어렵거나 불편한 경우, 여러 운전자의 데이터의 기준 데이터(학습값)을 저장시킨 후 해당 입력 데이터의 범위가 저장된 범용 데이터의 영역이나 각 조건을 만족하는지 여부를 판별하도록 구성할 수 있다. It would be desirable to learn these A, B, and C data for each driver, but if individual learning is difficult or inconvenient, after storing the reference data (learning value) of the data of several drivers, the range of the corresponding input data is stored. It can be configured to determine whether an area or each condition is satisfied.

[연산 방식의 제2 실시예][The second embodiment of the calculation method]

또한, 도 11과 같이 시간차에 따른 입력 데이터의 변화를 따라서 상황을 인식하는 연산을 수행할 수 있다. 예를 들면 어떤 상황인지를 판단하기 위해서 시간에 따른 일정 패턴이 필요한 데이터인 경우, 시간 별로 데이터를 저장해놓고, 해당 데이터가 일정 패턴에 맞도록 변화하는지를 확인하는 데 적용 가능하다. In addition, as shown in FIG. 11, an operation for recognizing a situation may be performed according to a change in input data according to a time difference. For example, in the case of data that requires a certain pattern over time in order to determine a situation, it can be applied to store the data by time and check whether the data changes to fit the certain pattern.

특히, 데이터의 비교 순서에 따라 연산의 순서를 정하여 각 입력 데이터 세트 별로 가중치를 부여하는 효과를 낼 수 있다. In particular, it is possible to obtain an effect of assigning weights to each input data set by determining the order of operations according to the order of comparison of data.

예를 들어, 화학가스의 농도 변화가 처음에 자연발생으로 농도가 높아지고, 중간에 어떤 문제로 인하여 농도변화가 감소하고 다시 높아지는 경향이 반복될 때, 시간에 따른 반복 정도에 따라 또는 높아지고 낮아지는 변화에 따라 위험도가 증가하는 경우는, 처음 입력되는 가스농도를 저장된 기준치와 비교하고 비교 후 위험범위일 경우 다음 입력되는 가스농도와 다시한번 비교를 통해, 또 위험범위에 드는지를 재확인하는 형태의 서비스 구현이 가능하다. For example, when a change in the concentration of a chemical gas occurs naturally at first, the concentration increases, and the concentration change decreases due to a problem in the middle and the tendency to increase again repeats, the change that increases or decreases over time. If the risk increases according to the risk, the first input gas concentration is compared with the stored reference value, and if it is within the risk range, the next input gas concentration is compared again, and if the risk is within the risk range, a service is implemented. This is possible.

즉 기존의 하나의 임계값을 정해두고 넘어서면 위험, 안전이라고 판단했던 것과 다르게, 제품의 특성에 따른 다양한 임계값을 설정해두고, 해당 범위를 만족할 때 판단하는 좀 더 정교화된 판단이 가능하다. In other words, different from the previously determined one threshold value as risk and safety, it is possible to set various threshold values according to the characteristics of the product, and make a more sophisticated judgment to judge when the corresponding range is satisfied.

그림으로 설명하면, 도 13과 같이, 시간 t = 0에 입력된 a 가스 농도에 대한 입력 데이터 세트 A를 기학습된 결과(기준 데이터)와 비교하여 유사도를 기초로 가스 농도를 파악한다. 예컨대 a 가스 농도를 30ppm으로 파악했다면 다음의 측정 시간 t=1 에서 입력된 농도값이 11ppm 내지 35ppm에 해당하면 위험경고를 내도록 하고, 시간 t=0 에서 가스 농도가 예컨대 10ppm 범주로 파악했다면 다음의 측정 시간 t=1 에서 측정된 가스 농도가 17ppm 내지 22ppm에 해당해야만 위험경고를 내도록 설정할 수 있다. 이러한 설정은 시간 t=2 에 대해서도 시간 t=0 및 시간 t=1간의 관계와 같은 방식으로 설정될 수 있으며 t > 2 이상의 시점에 대해서도 이와 같이 설정하여 다중 레이어를 구성할 수 있다.As illustrated in FIG. 13, the input data set A for the gas concentration a input at time t = 0 is compared with the previously learned result (reference data) to determine the gas concentration based on the similarity. For example, if a gas concentration is determined to be 30 ppm, a danger warning is issued if the input concentration value at the next measurement time t=1 falls between 11 ppm and 35 ppm, and if the gas concentration at time t = 0 is determined as, for example, in the 10 ppm category, the following The danger warning can be set only when the gas concentration measured at the measurement time t=1 falls between 17 ppm and 22 ppm. This setting can be set in the same manner as the relationship between time t=0 and time t=1 for time t=2, and multiple layers can be configured by setting in this manner for time points t> 2 or more.

이와 같은 설정하에서는 시간 t = 0 일때의 a 가스 농도는 시간 t = 1 일 때의 a 가스 농도에 비하여 가중치가 높게 된 것과 같은 효과가 발휘된다.Under such a setting, the gas concentration a at time t = 0 has the same effect as having a higher weight compared to the gas concentration a at time t = 1.

도 14에 도시된 바와 같이, 동일 시점에 입력된 다른 데이터(A 가스 농도, B 가스 농도)를 동일한 방식으로 순차적으로 연산하여 동일 효과를 얻을 수 있다.As shown in FIG. 14, the same effect can be obtained by sequentially calculating different data (A gas concentration, B gas concentration) input at the same time in the same manner.

기본적으로, 뉴로모픽 메모리는 하드웨어적인 구성에 의하여 각 메모리 셀 내에서 학습된 데이터와 입력된 데이터 간의 비교 연산에 의하여 결과를 도출하는 방식이므로 소프트웨어적으로 각 데이터에 대한 가중치를 부여하여 연산할 수는 없다. 더욱이 종래의 데이지 체인 방식으로 한번에 하나의 데이터만 비교 연산할 수 밖에 없는 구조에서는 가중치 연산 효과를 발휘할 수도 없다.Basically, neuromorphic memory is a method of deriving a result by comparing the data learned in each memory cell and the input data by hardware configuration, so it can be calculated by assigning weights to each data in software. There is no. Moreover, in a structure in which only one data at a time in a conventional daisy chain method is compared and operated, the weight calculation effect cannot be exhibited.

그러나, 본 발명에 따르면, 가변형 메모리 구조를 이용하여 입력 데이터에 대한 다중 레이어를 구성함으로써, 각 시점의 입력 데이터에 대한 가중치를 각각 다르게 부여하는 효과를 얻을 수 있다. However, according to the present invention, by configuring multiple layers for input data using a variable memory structure, it is possible to obtain an effect of giving different weights to input data at each viewpoint.

이러한 점을 뉴로모픽 메모리에 구현하는 방식은, 시간 t = 0 에서의 가스농도 판단 결과에 따라 t = 1 일 때의 농도 판단에 위한 비교 연산용 기준 데이터 세트를 정하면 된다. 즉, 현 시점의 연산 결과에 따라 다음 연산의 기준 데이터를 결정하는 방식으로 위와 같은 가중치 부여 효과를 발휘하도록 할 수 있다.In a way of implementing these points in the neuromorphic memory, a reference data set for comparison calculation for determining the concentration at t = 1 may be determined according to the result of determining the gas concentration at time t = 0. That is, the above weighting effect can be exerted by determining the reference data for the next operation according to the result of the current operation.

이러한 방식은 정확도를 높이고, 해당 결과가 오류가 나지 않도록 해주는 장점이 있다. This method has the advantage of increasing accuracy and preventing errors in the result.

[연산 방식의 제3 실시예][The third embodiment of the calculation method]

도 15는 단계적으로 정밀도를 높여가는 연산 방식을 나타내고 있다.Fig. 15 shows an operation method that increases precision step by step.

영상 기반으로 어떤 부품의 0도 내지 90도 사이의 기울어짐을 판단하는 경우, 종래의 단일 레이어 구조에서 1도 단위로 기울어짐을 판단하려면 각 기울어진 영상 데이터에 대한 적어도 90개의 학습 데이터(기준 데이터)를 마련하고 부품을 촬영한 영상과 90개의 기준 데이터를 각각 대비하여야 한다. When determining the inclination of a part between 0 and 90 degrees based on an image, in order to determine the inclination in units of 1 degree in a conventional single layer structure, at least 90 training data (reference data) for each inclined image data Prepared and contrasted with the image of the parts and 90 reference data, respectively.

그런데, 이를 예컨대 3 단계로 나누어 판단하면 훨씬 적은 기준 데이터에 대한 비교연산 만으로 동일한 정밀도를 얻을 수 있다. However, if this is determined by dividing it into, for example, three steps, the same precision can be obtained with only a comparison operation for much less reference data.

즉, 1 단계에서는 기울어진 정도가 0도 및 90도인 2개의 학습 데이터(기준 데이터)만을 대비하여 그 결과 회전각이 90도 보다는 0도에 가깝다고 판단하면 2단계에서 10도 단위로 5개의 기준 데이터를 마련하여 영상 데이터와 대비하고, 그 결과 이중에서 10도에 가장 가깝다고 판단되면 3단계에서 1도 단위의 11개 기준 데이터를 가지고 5도 내지 15도의 범위 내의 기준 데이터과 입력 영상 데이터를 대비하여 이중에서 가중 유사도가 높은 기준 데이터를 찾아 기울어진 각도를 판단하는 방식을 취하면, 최종적으로 1도 단위의 정밀도로 기울어짐을 판단할 수 있는데, 대비되는 기준 데이터는 3 단계 합쳐서 18개에 불과하다. That is, in step 1, if only two training data (reference data) with an inclination of 0 degrees and 90 degrees are compared, and as a result, if the rotation angle is determined to be closer to 0 degrees than 90 degrees, five reference data in increments of 10 degrees in step 2 Is prepared and compared with the image data, and as a result, if it is determined that it is the closest to 10 degrees, in step 3, the reference data within the range of 5 to 15 degrees and the input image data are compared with 11 reference data in units of 1 degree. If a method of determining the inclination angle by searching for reference data with high weighted similarity is taken, the inclination can be finally determined with an accuracy of 1 degree, and there are only 18 contrasting reference data in three stages.

만약 0.1도 단위의 정밀도로 기울어짐을 인식하는 경우라면, 단일 레이어로 구성할 경우 900개의 기준 데이터과 영상 데이터를 대비연산 하여야 하지만, 4층의 다중 레이어로 구성하여 4단계의 연산을 할 경우 30개 이내의 기준 데이터만으로도 기울어짐을 정확히 인식할 수 있다.If inclination is recognized with a precision of 0.1 degrees, if it is composed of a single layer, 900 reference data and image data must be compared, but if it is composed of four layers and four steps of operation, it is less than 30. The inclination can be accurately recognized with only the reference data of.

대비할 범위 또는 데이터값이 많아서 기준 데이터으로 이용될 학습 데이터가 방대하여 뉴로모픽 메모리만으로는 학습 데이터를 모두 수용하지 못할 경우에는 외부 메모리에 기준 데이터를 미리 저장해놓고 필요한 기준 데이터를 뉴로모픽 메모리로 옮겨와서 입력 데이터와 비교연산을 하여야 하는데, 입력 데이터와 비교되는 학습 데이터가 적게 되면, 기준 데이터의 이동에 따른 처리 부하와 전력 소비를 현저히 줄일 수 있다.If the training data to be used as the reference data is vast due to the large range or data values to be prepared, the reference data is stored in an external memory in advance and the necessary reference data is transferred to the neuromorphic memory. A comparison operation should be performed with the input data. If the number of training data to be compared with the input data decreases, the processing load and power consumption caused by the movement of the reference data can be significantly reduced.

또한, 본 발명에 따른 데이터 연산 방법은 가변형 뉴로모픽 메모리 구조하에서 처리되므로, 복수개의 입력 데이터를 가질 수 있고, 따라서 입력 데이터에 가중치 연산 후 가중치 연산 된 데이터를 새로운 입력 데이터로 보고 새로운 입력 데이터에 대해 비교 연산을 수행 후 결과를 도출할 수 있다. 그 결과, 1개의 은닉층(hidden layer)를 갖는 방식에 비해, 정확도가 높으며, 딥러닝과 같은 효과를 가질 수 있다. In addition, since the data operation method according to the present invention is processed under a variable neuromorphic memory structure, it is possible to have a plurality of input data. Therefore, after weighting the input data, the weighted data is viewed as new input data and The result can be derived after performing a comparison operation. As a result, compared to a method having one hidden layer, the accuracy is high, and the same effect as deep learning can be obtained.

특히, 여러 데이터 융합을 통해 새로운 데이터를 도출할 수 있으며, 도출된 새로운 데이터를 학습할 수 있는 장점이 있다. 이러한 방법은 단일 레이어를 멀티 레이어 방식으로 변환해, 회귀 연산이 가능하므로 복잡한 알고리즘도 적용할 수 있는 장점이 있다. In particular, it has the advantage of being able to derive new data through fusion of multiple data and to learn new data derived from it. This method has the advantage of being able to apply complex algorithms because it can convert a single layer into a multi-layer method and perform regression operations.

전술한 실시예에서 입력 데이터의 크기와 입력 시점의 예측은 PSE(220)이 수행하고, 입력 데이터 세트 및 기준 데이터 세트를 위한 메모리의 영역의 할당과 각 데이터 세터의 저장은 PSM(210)이 수행한다. 각 입력 데이터 세트에 대한 연산의 순서 및 시점 제어는 PSM(210)이 수행할 수도 있고 별도의 연산 제어기(미도시)가 수행할 수도 있다.In the above-described embodiment, the prediction of the size of the input data and the input timing is performed by the PSE 220, and the allocation of the memory area for the input data set and the reference data set and the storage of each data setter are performed by the PSM 210. do. The order and timing of operations for each input data set may be controlled by the PSM 210 or a separate operation controller (not shown).

이상, 몇몇 실시예를 참조하여 본 발명의 구성에 대하여 상세히 설명하였으나, 이는 예시에 불과할 뿐 본 발명의 기술적 사상이 이에 한정되는 것은 아니다.In the above, the configuration of the present invention has been described in detail with reference to some embodiments, but this is only an example and the technical idea of the present invention is not limited thereto.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. Those of ordinary skill in the art to which the present invention pertains will appreciate that it is possible to easily transform into other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting.

예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. 또한, 본 발명의 시스템 및 방법은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form. In addition, although the systems and methods of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.

특히, 이상의 실시예에서는 뉴로모픽 반도체 칩에서의 연산을 주된 대상으로 설명하였으나, 본 발명의 기술 사상 중 다른 유형의 프로세서에 적용될 수 있는 구성은 다른 유형의 프로세서 및 메모리에서의 연산 및 메모리 관리에 적용될 수 있음은 물론이다.In particular, in the above embodiments, operations on a neuromorphic semiconductor chip have been described as a main object, but among the technical concepts of the present invention, configurations applicable to other types of processors are used for operations and memory management in other types of processors and Of course it can be applied.

따라서, 본 발명의 범위는 후술하는 특허 청구범위에 의하여 정의되며 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. Accordingly, the scope of the present invention is defined by the claims to be described later, and all changes or modified forms derived from the equivalent concept should be interpreted as being included in the scope of the present invention.

Claims (12)

둘 이상의 데이터 세트를 일괄 처리하는 데이터 연산 방법으로서,
상기 둘 이상의 데이터 세트를 메모리에 저장하는 단계와,
상기 둘 이상의 데이터 세트 중 임의의 한 데이터 세트에 대한 연산 결과가 다음에 연산되는 데이터 세트의 연산 결과에 영향을 미치도록 연산하는 단계와,
상기 연산하는 단계의 결과를 출력하는 단계
를 포함하는 데이터 연산 방법.
As a data operation method for batch processing two or more data sets,
Storing the two or more data sets in a memory,
Calculating a result of an operation on any one data set of the two or more data sets to affect the operation result of the next data set,
Outputting the result of the calculating step
Data operation method comprising a.
제1항에 있어서, 상기 연산하는 단계는,
상기 둘 이상의 데이터 세트 내 각 데이터 세트의 연산에 있어서, 상기 각 데이터 세트내의 데이터 비트를 동시에 기 설정된 기준데이터 세트와 비교 연산하는 것인 데이터 연산 방법.
The method of claim 1, wherein the calculating comprises:
In the operation of each data set in the two or more data sets, the data bits in each data set are compared and operated simultaneously with a preset reference data set.
제1항에 있어서, 상기 연산하는 단계는,
상기 둘 이상의 데이터 세트 중 임의의 제1 데이터 세트에 대한 기 설정된 제1 기준 데이터과의 연산 결과를 기초로, 다음에 연산되는 제2 데이터 세트의 제2 기준 데이터를 결정하는 단계와,
변경된 상기 제2 데이터 세트에 대하여 상기 제2 기준 데이터과 비교연산을 수행하는 단계
를 포함하는 것인 데이터 연산 방법.
The method of claim 1, wherein the calculating comprises:
Determining second reference data of a second data set to be calculated next, based on an operation result with a predetermined first reference data for any first data set among the two or more data sets; and
Performing a comparison operation with the second reference data on the changed second data set
Data calculation method comprising a.
제3항에 있어서, 상기 결정하는 단계는,
상기 제1 데이터 세트에 대한 연산 결과를 기초로 제2 데이터 세트와 상이한 하나 이상의 제3 데이터 세에 대한 제3 기준 데이터를 결정하는 단계를 더 포함하는 것인 데이터 연산 방법.
The method of claim 3, wherein the determining step,
And determining third reference data for at least one third data set different from the second data set based on a result of the operation on the first data set.
제3항에 있어서, 상기 결정하는 단계는,
상기 제1 데이터 세트의 연산 결과 및, 상기 제1 데이터 세트 이외의 하나 이상의 다른 데이터 세트에 대한 앞선 연산 결과를 함께 고려하여 제2 데이터 세트에 대한 제2 기준 데이터를 결정하는 것인 데이터 연산 방법.
The method of claim 3, wherein the determining step,
And determining second reference data for a second data set by considering an operation result of the first data set and a previous operation result for at least one other data set other than the first data set.
제1항에 있어서, 상기 출력하는 단계는,
상기 둘 이상의 데이터 세트 각각에 대한 연산 결과의 적어도 일부를 출력하는 것인 데이터 연산 방법.
The method of claim 1, wherein the outputting comprises:
And outputting at least a part of an operation result for each of the two or more data sets.
뉴로모픽 반도체 칩의 데이터 연산 방법에 있어서,
둘 이상의 데이터 세트를 뉴모리픽 반도체 칩 내의 메모리에 저장하는 단계와,
상기 둘 이상의 데이터 세트 중 임의의 한 데이터 세트에 대한 연산 결과를 토대로, 다음에 연산되는 데이터 세트에 대한 기준 데이터를 결정하는 단계와,
상기 다음에 연산되는 데이터 세트와 상기 결정된 기준 데이터를 비교 연산하는 단계
를 포함하는 데이터 연산 방법.
In the data operation method of a neuromorphic semiconductor chip,
Storing two or more data sets in a memory in a neuromorphic semiconductor chip,
Determining reference data for a data set to be calculated next, based on a result of an operation on any one data set of the two or more data sets; and
Comparing and calculating the next calculated data set and the determined reference data
Data operation method comprising a.
제7항에 있어서, 상기 저장하는 단계는,
둘 이상의 데이터 소스로부터 동시에 입력된 데이터를 상기 메모리에 저장하는 것인 데이터 연산 방법.
The method of claim 7, wherein the storing comprises:
The data operation method of storing data inputted simultaneously from two or more data sources in the memory.
제7항에 있어서, 상기 저장하는 단계는,
하나의 데이터 소스로부터 순차적으로 입력되는 데이터를 상기 메모리에 저장하는 것인 데이터 연산 방법.
The method of claim 7, wherein the storing comprises:
The data operation method of storing data sequentially input from one data source in the memory.
다차원 격자 구조를 가지는 뉴로모픽 메모리와,
둘 이상의 데이터 세트 각각의 메모리 사용정도를 예측하고 상기 메모리에 입력할 순서를 결정하는 예지부(PSE)와,
상기 예지부의 예측 결과에 따라 상기 둘 이상의 데이터 세트에 대한 학습된 기준 데이터를 상기 메모리에 저장하고 상기 둘 이상의 데이터 세트와 비교 연산시키는 관리부(PSM)
를 포함하는 뉴로모픽 메모리 관리 시스템.
A neuromorphic memory having a multidimensional lattice structure,
A prediction unit (PSE) that predicts a memory usage level of each of two or more data sets and determines an order of input to the memory;
A management unit (PSM) that stores the learned reference data for the at least two data sets in the memory according to the prediction result of the prediction unit and compares and calculates the at least two data sets
Neuromorphic memory management system comprising a.
제10항에 있어서, 상기 뉴로모픽 메모리는,
상기 둘 이상의 데이터 세트 및 연산에 이용할 기준 데이터를 저장하는 메모리 셀과,
상기 데이터 세트를 상기 기준 데이터에 기초하여 연산하는 연산기
를 포함하는 것인 뉴로모픽 메모리 관리 시스템.
The method of claim 10, wherein the neuromorphic memory,
A memory cell for storing the two or more data sets and reference data to be used for an operation;
An operator that calculates the data set based on the reference data
Neuromorphic memory management system comprising a.
제10항에 있어서, 상기 관리부는,
상기 둘 이상의 데이터 세트 중 어느 하나의 데이터 세트에 대하여 비교 연산된 결과에 따라서, 다른 데이터 세트 중 적어도 어느 하나의 데이터 세트에 대한 기준 데이터를 결정하는 것인 뉴로모픽 메모리 관리 시스템.
The method of claim 10, wherein the management unit,
The neuromorphic memory management system to determine reference data for at least one data set among other data sets according to a result of a comparison operation on any one data set among the two or more data sets.
KR1020190097667A 2019-08-09 2019-08-09 Neuromorphic Memory Management System and Data Operation Method thereof KR102407263B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/537,293 US11449738B2 (en) 2019-08-09 2019-08-09 Neuromorphic memory management system and method thereof
KR1020190097667A KR102407263B1 (en) 2019-08-09 2019-08-09 Neuromorphic Memory Management System and Data Operation Method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190097667A KR102407263B1 (en) 2019-08-09 2019-08-09 Neuromorphic Memory Management System and Data Operation Method thereof

Publications (2)

Publication Number Publication Date
KR20210017833A true KR20210017833A (en) 2021-02-17
KR102407263B1 KR102407263B1 (en) 2022-06-13

Family

ID=74731874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190097667A KR102407263B1 (en) 2019-08-09 2019-08-09 Neuromorphic Memory Management System and Data Operation Method thereof

Country Status (1)

Country Link
KR (1) KR102407263B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120102664A (en) * 2009-10-29 2012-09-18 콘두시브 테크놀로지스 코포레이션 Allocating storage memory based on future use estimates
JP2017033306A (en) * 2015-07-31 2017-02-09 ファナック株式会社 Servo control system with learning control device having function to optimize learning memory allocation
KR20170023695A (en) * 2015-08-24 2017-03-06 (주)뉴로컴즈 Computing Method and Device for Multilayer Neural Network
KR20180024660A (en) * 2016-08-31 2018-03-08 현대자동차주식회사 Machine learning system and method for learning user controlling pattern thereof
KR20180102659A (en) * 2016-01-22 2018-09-17 일리노이즈 툴 워크스 인코포레이티드 System and method for dynamically configuring data values stored in a mass flow controller
US20180349035A1 (en) * 2017-05-30 2018-12-06 Seagate Technology Llc Data Storage Device with Buffer Tenure Management
KR20190085781A (en) * 2018-01-11 2019-07-19 한국전자통신연구원 Neuromorphic system and operating method thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120102664A (en) * 2009-10-29 2012-09-18 콘두시브 테크놀로지스 코포레이션 Allocating storage memory based on future use estimates
JP2017033306A (en) * 2015-07-31 2017-02-09 ファナック株式会社 Servo control system with learning control device having function to optimize learning memory allocation
KR20170023695A (en) * 2015-08-24 2017-03-06 (주)뉴로컴즈 Computing Method and Device for Multilayer Neural Network
KR20180102659A (en) * 2016-01-22 2018-09-17 일리노이즈 툴 워크스 인코포레이티드 System and method for dynamically configuring data values stored in a mass flow controller
KR20180024660A (en) * 2016-08-31 2018-03-08 현대자동차주식회사 Machine learning system and method for learning user controlling pattern thereof
US20180349035A1 (en) * 2017-05-30 2018-12-06 Seagate Technology Llc Data Storage Device with Buffer Tenure Management
KR20180131466A (en) * 2017-05-30 2018-12-10 시게이트 테크놀로지 엘엘씨 Data storage device with buffer tenure management
KR20190085781A (en) * 2018-01-11 2019-07-19 한국전자통신연구원 Neuromorphic system and operating method thereof

Also Published As

Publication number Publication date
KR102407263B1 (en) 2022-06-13

Similar Documents

Publication Publication Date Title
US9256371B2 (en) Implementing reinforcement learning based flash control
Anantharaman et al. Large scale predictive analytics for hard disk remaining useful life estimation
US10642500B2 (en) Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues
CN109697510A (en) Method and apparatus with neural network
EP3712819B1 (en) Technologies for performing efficient memory augmented neural network update operations
US20220011982A1 (en) Parallel Memory Access and Computation in Memory Devices
Tsai et al. A fast particle swarm optimization for clustering
CN108717460A (en) A kind of method and device reached common understanding in block chain
US20200193268A1 (en) Multi-instance recurrent neural network prediction
KR20220013896A (en) Method and apparatus for determining the neural network architecture of a processor
KR20190106010A (en) Electronic apparatus and control method thereof
US20200117449A1 (en) Accelerated Access to Computations Results Generated from Data Stored in Memory Devices
KR102407263B1 (en) Neuromorphic Memory Management System and Data Operation Method thereof
US11315036B2 (en) Prediction for time series data using a space partitioning data structure
CN113254256A (en) Data reconstruction method, storage device and storage medium
KR102408966B1 (en) Neuromorphic Memory Management System and Memory Allocation Method thereof
KR102362319B1 (en) Memory Allocation Method and System
US11449738B2 (en) Neuromorphic memory management system and method thereof
CN110415162B (en) Adaptive graph partitioning method facing heterogeneous fusion processor in big data
WO2021064232A1 (en) Detection and treatment of dermatological conditions
KR102491202B1 (en) Method, system and non-transitory computer-readable recording medium for performing operations of artificial neural network
Al Maruf et al. Towards safe online machine learning model training and inference on edge networks
Gepperth Incremental learning with a homeostatic self-organizing neural model
CN112257891B (en) Intelligent energy configuration method and device based on Internet
US20240104372A1 (en) Systems and methods for improving training of artificial neural networks

Legal Events

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