KR102451231B1 - A simulator for RBF-based networks in neuromorphic chip - Google Patents

A simulator for RBF-based networks in neuromorphic chip Download PDF

Info

Publication number
KR102451231B1
KR102451231B1 KR1020200060435A KR20200060435A KR102451231B1 KR 102451231 B1 KR102451231 B1 KR 102451231B1 KR 1020200060435 A KR1020200060435 A KR 1020200060435A KR 20200060435 A KR20200060435 A KR 20200060435A KR 102451231 B1 KR102451231 B1 KR 102451231B1
Authority
KR
South Korea
Prior art keywords
learning
category
neurons
classification
algorithm
Prior art date
Application number
KR1020200060435A
Other languages
Korean (ko)
Other versions
KR20210064022A (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 고려대학교 세종산학협력단
Publication of KR20210064022A publication Critical patent/KR20210064022A/en
Application granted granted Critical
Publication of KR102451231B1 publication Critical patent/KR102451231B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시예에 따른 뉴로모픽 칩에서 운영되는 RBF 알고리즘을 시뮬레이션하기 위한 GUI 기반 RBF 알고리즘 시뮬레이터에 있어서, 상기 RBF 알고리즘을 시뮬레이션 하는 시뮬레이션 모듈; 및 상기 시뮬레이션 모듈을 조작하기 위한 옵션을 입력하고 시뮬레이션 결과를 출력하는 GUI 모듈을 포함한다. A GUI-based RBF algorithm simulator for simulating an RBF algorithm operated in a neuromorphic chip according to an embodiment of the present invention, comprising: a simulation module for simulating the RBF algorithm; and a GUI module for inputting options for manipulating the simulation module and outputting a simulation result.

Description

뉴로모픽 칩에서 운영되는 RBF 뉴럴 네트워크 학습을 위한 시뮬레이터{A simulator for RBF-based networks in neuromorphic chip}A simulator for RBF-based networks in neuromorphic chip

본 발명은 뉴로모픽 칩에서 운영되는 RBF 뉴럴 네트워크 학습을 위한 시뮬레이터에 관한 것이다.The present invention relates to a simulator for learning RBF neural networks operated in a neuromorphic chip.

빅데이터 시대에 많은 양의 데이터 중에는 기계가 쉽게 인식하기 어려운 비정형적인 문자, 이미지, 음성, 영상 등이 혼재해 있다. 그러나 전통적인 컴퓨팅 방식인 폰 노이만(Von Neumann) 기반의 컴퓨터 구조는 수치 계산이나 정밀하게 작성된 프로그램을 실행하는데 뛰어나지만 이미지나 소리를 처리하는 고도의 인지 응용, 처리 속도, 전력 소모 등의 측면에서 큰 한계를 보인다.In the era of big data, there is a mixture of atypical texts, images, voices, and videos that are difficult for machines to easily recognize among a large amount of data. However, although the Von Neumann-based computer structure, which is a traditional computing method, is excellent at executing numerical calculations or precisely written programs, it has great limitations in terms of high-level cognitive applications for image and sound processing, processing speed, and power consumption. looks like

따라서 이러한 한계를 극복하기 위한 시도로 뉴로모픽 컴퓨팅 기술이 발전해왔다. Carver Mead에 의해 뉴로모픽 컴퓨팅이 처음 제시되었고 대량의 기억과 연산이 동시에 동작하는 인간 뇌의 주요 기능을 모방해 만들어졌기 때문에 연산 속도가 빠르고, 전력면에서 더 효율적이며 더 작은 설치 공간만을 필요로 한다. 즉, 뉴로모픽 컴퓨팅은 머신러닝 분야에서 기존 하드웨어의 한계를 넘어서는 알고리즘을 구현하는 데 가장 적합한 플랫폼으로 기대된다.Therefore, neuromorphic computing technology has been developed in an attempt to overcome these limitations. Neuromorphic computing was first proposed by Carver Mead and was created by mimicking the main function of the human brain, where large amounts of memory and computation are simultaneously operated, so it has a faster computation speed, is more efficient in terms of power, and requires a smaller footprint. do. In other words, neuromorphic computing is expected to be the most suitable platform for implementing algorithms that go beyond the limits of existing hardware in the field of machine learning.

뉴로모픽 컴퓨팅의 연구는 최근 활발히 이루어지고 있고 그 중에서도 CM1K 뉴로모픽 칩은 RBF(Radial Basis Function) 뉴럴 네트워크 기반의 하드웨어로서 임베디드 시스템에서의 빠른 패턴 인식을 제공한다. RBF 뉴럴 네트워크는 학습 능력과 일반화 능력의 우수성으로 인해 다양한 분야의 패턴 인식 시스템 모델링 등에 사용되는 분류기이다.Neuromorphic computing research has been actively conducted recently. Among them, the CM1K neuromorphic chip is a hardware based on a Radial Basis Function (RBF) neural network and provides fast pattern recognition in embedded systems. The RBF neural network is a classifier used for modeling pattern recognition systems in various fields due to its superiority in learning ability and generalization ability.

CM1K 뉴로모픽 칩을 사용한 기존 연구들은 RBF 뉴럴 네트워크를 학습시켜 사용하고 있다. 뉴로모픽 칩의 RBF 네트워크를 학습시키는 기본적인 방법으로는 직접 하드웨어에 학습시키는 방법이 있다. 하지만 이러한 직관적인 학습 방법에는 학습 및 테스트에 시간과 비용이 많이 소요되는 한계가 있기 때문에 이를 보완하기 위한 방법으로 시뮬레이터를 사용하여 알고리즘을 검증 후 학습시키는 방법이 사용되고 있다.Existing studies using the CM1K neuromorphic chip have trained and used RBF neural networks. As a basic method of learning the RBF network of the neuromorphic chip, there is a method of directly learning it in hardware. However, since this intuitive learning method has limitations in that it takes a lot of time and money for learning and testing, a method of verifying and learning the algorithm using a simulator is used as a method to compensate for this.

즉, 시뮬레이터를 이용하여 RBF 네트워크에 대한 모의실험을 진행하여 검증한 후에 학습시키면 빠른 알고리즘 검증을 제공할 수 있게 됨으로써 알고리즘의 성능평가를 효율적으로 할 수 있다.That is, if the RBF network is simulated and verified using a simulator and then trained, it is possible to provide fast algorithm verification, thereby efficiently evaluating the performance of the algorithm.

그러나 뉴로모픽 칩에서 이러한 방법이 가능한 기존의 시뮬레이터는 GUI 모듈(Graphic Unser Interface)가 구현되어 있지 않거나, GUI 모듈이 구현되어 있다 하더라도 성능 평가 옵션을 다양하게 조절할 수 있는 기능을 갖고 있지 않았다.However, the existing simulator capable of such a method in the neuromorphic chip does not have a GUI module (Graphic Unser Interface) or, even if a GUI module is implemented, does not have a function to control various performance evaluation options.

본 발명의 실시예는 이중 레이어 구조의 RBF 알고리즘을 통해 기존 RBF 알고리즘보다 다중 입력 데이터에 대한 적합성을 향상시키며, GUI 모듈(Graphic User Interface) 제공을 통해 성능 평가 옵션 조절을 용이하게 하여 사용자의 편의성을 향상시킬 수 있는 뉴로모픽 칩에서 운영되는 RBF 뉴럴 네트워크 학습을 위한 시뮬레이터를 제공하는 것을 목적으로 한다.The embodiment of the present invention improves the suitability for multiple input data than the existing RBF algorithm through the RBF algorithm of the double layer structure, and improves the user's convenience by facilitating the adjustment of performance evaluation options through the provision of a GUI module (Graphic User Interface) It aims to provide a simulator for learning RBF neural networks operated on a neuromorphic chip that can be improved.

한편, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.On the other hand, the technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned are clearly to those of ordinary skill in the art to which the present invention belongs from the description below. can be understood

본 발명의 일 실시예에 따른 뉴로모픽 칩에서 운영되는 RBF 알고리즘을 시뮬레이션하기 위한 GUI 기반 RBF 알고리즘 시뮬레이터에 있어서, 상기 RBF 알고리즘을 시뮬레이션 하는 시뮬레이션 모듈; 및 상기 시뮬레이션 모듈을 조작하기 위한 옵션을 입력하고 시뮬레이션 결과를 출력하는 GUI 모듈을 포함한다. A GUI-based RBF algorithm simulator for simulating an RBF algorithm operated in a neuromorphic chip according to an embodiment of the present invention, comprising: a simulation module for simulating the RBF algorithm; and a GUI module for inputting options for manipulating the simulation module and outputting a simulation result.

상기 GUI 모듈은: 상기 시뮬레이션 모듈의 상태를 조절하는 상태 옵션 박스; 상기 시뮬레이션 모듈 상에서 학습에 필요한 옵션을 조절하는 학습 옵션 박스; 상기 시뮬레이션 모듈 상에서 분류에 필요한 옵션을 조절하는 분류 옵션 박스; 시뮬레이션에 사용된 데이터 및 뉴런의 개수를 표시하는 통합 그래프 박스; 학습 결과를 그래프로 표시하는 학습 결과 그래프 박스; 및 분류 결과를 그래프로 표시하는 분류 결과 그래프 박스를 포함할 수 있다.The GUI module includes: a state option box for adjusting the state of the simulation module; a learning option box for adjusting options required for learning on the simulation module; a classification option box for adjusting options required for classification on the simulation module; an integrated graph box displaying the number of neurons and data used in the simulation; a learning result graph box displaying the learning result as a graph; and a classification result graph box displaying the classification result as a graph.

상기 상태 옵션 박스는: 입력 벡터와 뉴런 사이의 거리 계산 방식을 선택하는 거리 계산 방식 조절부; 시뮬레이션에 사용되는 뉴로모픽 칩의 개수를 선택하는 칩 개수 선택부; 및 학습된 뉴런의 정보를 지우는 학습정보 삭제버튼을 포함하고, 시뮬레이션에 사용되는 데이터의 이름, 데이터 샘플의 개수, 상기 뉴로모픽 칩의 개수에 따른 뉴런의 총 개수 및 학습 후 생성된 뉴런의 개수를 표시할 수 있다.The state option box may include: a distance calculation method control unit for selecting a distance calculation method between an input vector and a neuron; a chip number selection unit that selects the number of neuromorphic chips used for simulation; and a learning information delete button for erasing the learned neuron information, the name of the data used for simulation, the number of data samples, the total number of neurons according to the number of the neuromorphic chips, and the number of neurons generated after learning can be displayed.

상기 학습 옵션 박스는: 학습 반복 횟수를 조절하는 학습 횟수 조절부; 이중 레이어 구조 RBF 알고리즘을 통해 학습하도록 하는 이중 레이어 학습 알고리즘 선택부; 학습 데이터의 모든 정보를 뉴런에 기록하도록 하는 전체 데이터 기록여부 선택부; 뉴런이 생성하는 영향 필드의 최대값과 최소값을 설정하는 영향 필드 값 선택부; 및 학습을 시작하도록 명령하는 학습 시작버튼을 포함할 수 있다.The learning option box may include: a learning number adjusting unit for adjusting the number of learning repetitions; a dual-layer learning algorithm selection unit for learning through a dual-layer structure RBF algorithm; a whole data recording/non-recording unit to record all information of the learning data in the neurons; an influence field value selection unit for setting a maximum value and a minimum value of an influence field generated by neurons; and a learning start button instructing to start learning.

상기 분류 옵션 박스는: 상기 시뮬레이션 모듈이 RBF 알고리즘 및 KNN 알고리즘 중 어느 하나를 이용하여 분류하도록 선택하는 분류 알고리즘 선택부; 분류 정책을 선택하는 분류 정책 선택부; 및 분류를 시작하도록 명령하는 분류 시작버튼을 포함할 수 있다.The classification option box may include: a classification algorithm selection unit for selecting the simulation module to classify by using any one of an RBF algorithm and a KNN algorithm; a classification policy selection unit for selecting a classification policy; and a classification start button instructing to start classification.

상기 통합 그래프 박스는 입력 데이터 개수, 생성된 뉴런의 개수 및 분류된 데이터 개수를 표시할 수 있다.The integrated graph box may display the number of input data, the number of generated neurons, and the number of classified data.

학습 결과 그래프 박스는 카테고리 별로 생성된 뉴런의 개수 및 반복 학습 횟수마다 생성된 뉴런의 개수를 표시할 수 있다.The learning result graph box may display the number of neurons generated for each category and the number of neurons generated for each number of repeated learning.

분류 결과 그래프 박스는 카테고리 별로 분류된 Status 코드의 개수와 Status 코드의 총량을 표시할 수 있다.The classification result graph box may display the number of status codes classified by category and the total amount of status codes.

상기 분류 정책은: 첫 번째로 발화가 되는 뉴런의 카테고리를 입력 벡터의 카테고리로 선택하는 Best Match; 발화 뉴런들의 카테고리들 중 가장 수가 많은 카테고리를 입력 벡터의 카테고리로 선택하는 Dominant; 발화 뉴런들의 모든 카테고리가 동일한 경우 이를 입력 벡터의 카테고리로 결정하는 Unanimity; 및 발화 뉴런들의 카테고리들 중 동일한 카테고리의 개수가 기 설정된 개수 이상인 경우에만 해당 카테고리를 입력 벡터의 카테고리로 결정하는 Min consensus 중 적어도 어느 하나를 포함할 수 있다.The classification policy includes: Best Match for selecting the category of the first firing neuron as the category of the input vector; Dominant selecting the category with the largest number of categories of firing neurons as the category of the input vector; Unanimity that determines the category of the input vector when all categories of firing neurons are the same; and Min consensus for determining the corresponding category as the category of the input vector only when the number of the same categories among the categories of the firing neurons is equal to or greater than the preset number.

상기 이중 레이어 구조 RBF 알고리즘은: 개별 데이터를 입력 데이터로 사용하여 특징적인 패턴을 인식함으로써 제1 결과값을 도출하는 제1 레이어; 및 상기 제1 결과값을 Concatenation 함수를 통해 통합하여 이를 입력 값으로 사용하는 제2 레이어를 포함할 수 있다.The dual layer structure RBF algorithm includes: a first layer for deriving a first result value by recognizing a characteristic pattern using individual data as input data; and a second layer that integrates the first result value through a concatenation function and uses it as an input value.

상기 제1 결과값은: 상기 입력 벡터와 발화 뉴런 사이의 거리 값; 및 상기 입력 벡터 별 예측 결과인 카테고리를 포함할 수 있다.The first result value may include: a distance value between the input vector and a firing neuron; and a category that is a prediction result for each input vector.

본 발명의 실시예에 따른 뉴로모픽 칩에서 운영되는 RBF 뉴럴 네트워크 학습을 위한 시뮬레이터는 이중 레이어 구조의 RBF 알고리즘을 통해 기존 RBF 알고리즘보다 다중 입력 데이터에 대한 적합성을 향상시키며, GUI 모듈(Graphic User Interface) 제공을 통해 성능 평가 옵션 조절을 용이하게 하여 사용자의 편의성을 향상시킬 수 있다.The simulator for learning the RBF neural network operated in the neuromorphic chip according to the embodiment of the present invention improves the suitability for multiple input data than the existing RBF algorithm through the RBF algorithm of the double layer structure, and the GUI module (Graphic User Interface) ), it is possible to improve user convenience by facilitating adjustment of performance evaluation options.

한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.On the other hand, the effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the description below. will be able

도 1은 본 발명의 일 실시예에 따른 GUI 모듈(Graphic User Interface) 모듈의 모습을 나타낸 도면이다.
도 2는 도 1의 GUI 모듈의 좌측에 제공되는 상태 옵션 박스(Status box), 학습 옵션 박스(RBF Learning Option box) 및 분류 옵션 박스(Classification Option box)만을 나타낸 도면이다.
도 3은 도 1의 GUI 모듈의 우측 상단에 제공되는 통합 그래프 박스(Distribution per category box)만을 나타낸 도면이다.
도 4는 도 1의 GUI 모듈의 우측 하단에 제공되는 학습 결과 그래프 박스(Learning results box)만을 나타낸 도면이다.
도 5는 도 1의 GUI 모듈의 우측 하단에 제공되는 분류 결과 그래프 박스(Classification results box)만을 나타낸 도면이다.
도 6은 도 1의 GUI 모듈의 하단에 제공되는 로그 박스(Log box)만을 나타낸 도면이다.
도 7은 도 1의 View에서 학습된 뉴런의 정보를 상세히 볼 수 있는 학습 결과 표(Knowledge content)를 선택했을 때 나타나는 화면이다.
도 8은 도 1의 View에서 분류 결과를 상세히 볼 수 있는 분류 결과 표(Dataset in detail)를 선택했을 때 나타나는 화면이다.
도 9는 본 발명의 일 실시예에 따른 시뮬레이터의 동작 과정을 나타낸 도면이다.
도 10은 입력 벡터의 카테고리를 구별하기 위해 의사결정 공간을 정의한 후 의사결정 공간 안의 뉴런들이 입력 벡터의 정보를 선택적으로 저장하여 영향 필드를 생성하는 과정을 나타낸 도면이다.
도 11은 (a) Norm L1의 계산식과 그래프, (b) Norm LSup의 계산식과 그래프, (c) Norm L1 기반 뉴런의 영향 필드 예시 및 (d) Norm LSup 기반 뉴런의 영향 필드 예시를 나타낸 도면이다.
도 12는 학습 후에 생성되는 의사결정 공간 안에서 생성된 뉴런이 영향 필드 안에 들어온 입력 벡터에 반응하여 분류하는 과정을 나타낸 도면이다.
도 13은 RCE/RBF 분류 방식과 KNN 분류 방식에 따른 영향 필드 맵핑 모습을 개략적으로 나타낸 도면이다.
도 14는 기존 Multi-neural RBF 네트워크의 구조를 나타낸 도면이다.
도 15는 이중 레이어 구조 RBF 알고리즘의 구조를 나타낸 도면이다.
도 16은 모의 수집한 4가지의 데이터의 졸음 상태에 따른 패턴 변화를 나타낸 그래프이다.
도 17은 모의 운전자 데이터 20명에 대한 정확도(%)를 나타내는 그래프이다.
도 18은 실험 시 사용된 뉴런의 수(개)를 나타낸 그래프이다.
1 is a view showing the appearance of a GUI module (Graphic User Interface) module according to an embodiment of the present invention.
FIG. 2 is a view showing only a status option box, a RBF Learning Option box, and a Classification Option box provided on the left side of the GUI module of FIG. 1 .
FIG. 3 is a view showing only the distribution per category box provided on the upper right side of the GUI module of FIG. 1 .
FIG. 4 is a view showing only the Learning results box provided at the lower right of the GUI module of FIG. 1 .
FIG. 5 is a view showing only the classification results box provided at the lower right side of the GUI module of FIG. 1 .
FIG. 6 is a view showing only a log box provided at the bottom of the GUI module of FIG. 1 .
FIG. 7 is a screen displayed when a learning result table (Knowledge content) in which information of a learned neuron can be viewed in detail in the view of FIG. 1 is selected.
FIG. 8 is a screen displayed when a classification result table (Dataset in detail) in which a classification result can be viewed in detail is selected in the view of FIG. 1 .
9 is a diagram illustrating an operation process of a simulator according to an embodiment of the present invention.
FIG. 10 is a diagram illustrating a process in which a decision space is defined to distinguish a category of an input vector, and then neurons in the decision space selectively store information of the input vector to generate an influence field.
11 is a diagram showing (a) Norm L1 calculation formula and graph, (b) Norm LSup calculation formula and graph, (c) Norm L1-based neuron influence field example, and (d) Norm LSup-based neuron influence field example .
12 is a diagram illustrating a process of classifying neurons generated in a decision space created after learning in response to an input vector entering an influence field.
13 is a diagram schematically illustrating influence field mapping according to the RCE/RBF classification method and the KNN classification method.
14 is a diagram showing the structure of an existing multi-neural RBF network.
15 is a diagram showing the structure of a dual layer structure RBF algorithm.
16 is a graph showing the pattern change according to the drowsiness state of four types of simulated data.
17 is a graph showing the accuracy (%) for 20 simulated driver data.
18 is a graph showing the number (dogs) of neurons used in the experiment.

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

만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.Even if not defined, all terms (including technical or scientific terms) used herein have the same meaning as commonly accepted by common technology in the prior art to which this invention belongs. Terms defined by general dictionaries may be interpreted as having the same meaning as in the related description and/or in the text of the present application, and shall not be interpreted conceptually or excessively formally, even if not expressly defined herein. won't

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase. As used in the specification, 'comprise' and/or the various conjugations of this verb, eg, 'comprising', 'comprising', 'comprising', 'comprising', etc., refer to the stated composition, ingredient, component, Steps, acts and/or elements do not exclude the presence or addition of one or more other compositions, components, components, steps, acts and/or elements. As used herein, the term 'and/or' refers to each of the listed components or various combinations thereof.

한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Meanwhile, terms such as '~ unit', '~ group', '~ block', and '~ module' used throughout this specification may mean a unit that processes at least one function or operation. For example, it can mean software, hardware components such as FPGAs or ASICs. However, '~ part', '~ group', '~ block', and '~ module' are not meant to be limited to software or hardware. '~ unit', '~ group', '~ block', and '~ module' may be configured to be in an addressable storage medium or configured to regenerate one or more processors.

따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성 요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.Accordingly, as an example, '~ part', '~ group', '~ block', and '~ module' are components such as software components, object-oriented software components, class components, and task components. fields, processes, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and include variables. The functions provided within the components and '~part', '~gi', '~block', and '~module' are smaller than the number of components and '~bu', '~gi', '~block' ', '~modules' or may be further separated into additional components and '~parts', '~groups', '~blocks', and '~modules'.

이하, 본 명세서의 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings of the present specification.

본 발명의 뉴로모픽 칩에서 운영되는 RBF(Radial Basis Function) 뉴럴 네트워크 학습을 위한 시뮬레이터(10)는 뉴로모픽 칩의 RBF 뉴럴 네트워크에 학습시킬 알고리즘을 컴퓨터 상에서 상기 시뮬레이터(10)를 통해 먼저 검증함으로써 이러한 시뮬레이션 과정 없이 해당 알고리즘을 뉴로모픽 칩에 곧바로 학습시키고 이를 검증할 때 발생하는 시간과 비용의 낭비를 줄일 수 있다.The simulator 10 for learning the RBF (Radial Basis Function) neural network operated in the neuromorphic chip of the present invention first verifies the algorithm to be trained in the RBF neural network of the neuromorphic chip through the simulator 10 on the computer. By doing so, it is possible to reduce the waste of time and money that occurs when the algorithm is directly trained on the neuromorphic chip and verified without such a simulation process.

또한, 이 과정에서 이중 레이어 구조 RBF 알고리즘(20)을 추가로 제공하여 다중 입력 데이터에 대한 적합성을 향상시킬 뿐 만 아니라 사용자의 편의성을 향상시킬 수 있는 GUI 모듈(Graphic User Interface, 100)을 함께 제공함으로써 학습 및 분류 과정에서의 옵션 조절과 결과 확인을 보다 용이하게 한다.In addition, in this process, the dual layer structure RBF algorithm 20 is additionally provided to improve the suitability for multiple input data as well as provide a GUI module (Graphic User Interface, 100) that can improve user convenience. This makes it easier to adjust options and check results in the learning and classification process.

이하에서는 이러한 뉴로모픽 칩에서 운영되는 RBF 뉴럴 네트워크 학습을 위한 시뮬레이터(10)의 각 구성과 시뮬레이션 과정에서 사용될 수 있는 이중 레이어 구조 RBF 알고리즘에 대해 보다 상세히 설명한다.Hereinafter, each configuration of the simulator 10 for learning the RBF neural network operated in the neuromorphic chip and the dual-layer structure RBF algorithm that can be used in the simulation process will be described in more detail.

본 발명의 일 실시예에 따른 뉴로모픽 칩에서 운영될 수 있는 RBF 알고리즘을 시뮬레이션하기 위한 GUI 모듈 기반 RBF 알고리즘 시뮬레이터(10)는 상기 RBF 알고리즘을 시뮬레이션 하는 시뮬레이션 모듈(200) 및 상기 시뮬레이션 모듈을 조작하기 위한 옵션을 입력하고 시뮬레이션 결과를 출력하는 GUI 모듈(100)을 포함한다.A GUI module-based RBF algorithm simulator 10 for simulating an RBF algorithm that can be operated in a neuromorphic chip according to an embodiment of the present invention operates a simulation module 200 that simulates the RBF algorithm and the simulation module. and a GUI module 100 for inputting options for doing and outputting simulation results.

도 1은 본 발명의 일 실시예에 따른 GUI 모듈(Graphic User Interface, 100)의 모습을 나타낸 도면이다.1 is a diagram illustrating a graphical user interface (GUI) 100 according to an embodiment of the present invention.

도 1을 참조하면, GUI 모듈(100)은 가운데를 중심으로 양쪽으로 크게 나뉘어 진다. 이 중 좌측 영역에는 상태 옵션 박스(Status box, 110), 학습 옵션 박스(RBF Learning Option box, 120) 및 분류 옵션 박스(Classification Option box, 130)를 포함한 학습 및 분류와 관련된 옵션을 조절할 수 있는 영역이 제공된다.Referring to FIG. 1 , the GUI module 100 is largely divided into both sides around the center. In the left area, you can adjust the options related to learning and classification, including the status option box (Status box, 110), the learning option box (RBF Learning Option box, 120), and the Classification Option box (130). this is provided

또한, 우측 영역에는 통합 그래프 박스(Distribution per category box, 140), 학습 결과 그래프 박스(Learning results box, 151) 및 분류 결과 그래프 박스(Classification results box, 152)를 포함한 학습 및 분류에 따른 결과와 그에 따른 그래프를 확인할 수 있는 영역이 제공된다.In addition, in the right area, the results according to learning and classification, including the distribution per category box (140), the learning results box (151) and the classification results box (152), and the An area is provided in which the following graph can be checked.

추가적으로 GUI 모듈(100)의 하단 영역에는 선택된 옵션들에 대한 정보가 표시되는 로그 박스(Log box, 160)가 제공된다.Additionally, a log box 160 in which information on selected options is displayed is provided in the lower area of the GUI module 100 .

이처럼 본 발명의 GUI 모듈(100)은 각 구성의 용도에 따라 각 기능들을 하나의 박스(box)로 묶어 가독성을 향상시켰다.As such, the GUI module 100 of the present invention improves readability by grouping each function into one box according to the purpose of each configuration.

도 2는 도 1의 GUI 모듈(100)의 좌측에 제공되는 상태 옵션 박스(Status box, 110), 학습 옵션 박스(RBF Learning Option box, 120) 및 분류 옵션 박스(Classification Option box, 130)만을 나타낸 도면이다.2 shows only a status option box (Status box, 110), a learning option box (RBF Learning Option box, 120) and a classification option box (130) provided on the left side of the GUI module 100 of FIG. It is a drawing.

도 2를 참조하면, GUI 모듈의 상단에는 시뮬레이션 모듈의 상태를 조절할 수 있는 상태 옵션 박스(Status box, 110)가 제공된다.Referring to FIG. 2 , a status option box 110 for adjusting the status of the simulation module is provided at the top of the GUI module.

상태 옵션 박스(Status box, 110)에는 시뮬레이션에 사용되는 데이터의 이름(Data Filename, 114)과 데이터 샘플의 개수(#_samples, 115)가 나타난다. 또한, Platform 영역에는 입력 벡터와 뉴런 사이의 거리 계산 방식을 선택하는 거리 계산 방식 조절부(111), 시뮬레이션에 사용되는 뉴로모픽 칩의 개수를 선택하는 칩 개수 선택부(SimuNMnK, 112) 및 학습된 뉴런의 정보를 지우는 학습정보 삭제버튼(Forget All, 113)이 포함되며, 뉴로모픽 칩의 개수에 따른 뉴런의 총 개수(#_neurons, 116)와 학습 후 생성된 뉴런의 개수(#_Used neurons, 117)가 나타난다.In the status option box (Status box, 110), the name of the data used for the simulation (Data Filename, 114) and the number of data samples (#_samples, 115) are displayed. In addition, in the platform area, a distance calculation method control unit 111 for selecting a distance calculation method between an input vector and a neuron, a chip number selection unit (SimuNMnK, 112) for selecting the number of neuromorphic chips used for simulation, and learning It includes a learning information delete button (Forget All, 113) that erases the information of the old neurons, and the total number of neurons (#_neurons, 116) according to the number of neuromorphic chips and the number of neurons generated after learning (#_Used neurons) , 117) appears.

보다 자세히 말하면, Platform 영역에는 RBF 거리 계산 방식을 선택할 수 있는 거리 계산 방식 조절부가 제공된다. 시뮬레이터의 학습을 위해 입력 벡터들이 입력되면 시뮬레이터에 포함된 각각의 뉴런은 입력 벡터와 뉴런의 중심과의 거리를 계산하여 영향 필드(Influence Field)를 생성한다. 이러한 영향 필드를 생성할 때 입력 벡터와 뉴런 사이의 거리를 계산하는 데는 Norm L1과 Norm LSup의 2가지 방식이 있으며 각각의 방식에 대한 자세한 설명은 후술한다.In more detail, a distance calculation method control unit that can select an RBF distance calculation method is provided in the Platform area. When input vectors are input for learning of the simulator, each neuron included in the simulator generates an influence field by calculating the distance between the input vector and the center of the neuron. There are two methods, Norm L1 and Norm LSup, for calculating the distance between the input vector and the neuron when generating such an influence field, and a detailed description of each method will be described later.

칩 개수 선택부(SimuNMnK, 112)는 학습 및 분류에 사용되는 뉴로모픽 칩의 개수를 조절하는데 사용된다. 종래 알고리즘 검증을 위해 제공되던 시뮬레이터에서는 1개의 뉴로모픽 칩을 이용하여 알고리즘을 검증하였지만, 본 발명의 경우 칩 개수 선택부(SimuNMnK, 112)를 통해 복수개의 뉴로모픽 칩을 사용하여 알고리즘의 학습 및 분류를 실행할 수 있게 한다.The chip number selection unit SimuNMnK 112 is used to adjust the number of neuromorphic chips used for learning and classification. In the simulator provided for algorithm verification in the prior art, the algorithm was verified using one neuromorphic chip, but in the present invention, the algorithm is learned using a plurality of neuromorphic chips through the chip number selection unit (SimuNMnK, 112). and categorization.

이 외에도 학습정보 삭제버튼(Forget All, 113)을 통해 학습된 뉴런의 정보를 지울 수 있는 기능을 제공한다. In addition, it provides a function to erase the information of the learned neurons through the learning information delete button (Forget All, 113).

다시 도 2를 참조하면, GUI 모듈(100)의 하단에는 시뮬레이터 상에서 학습에 필요한 옵션들을 조절할 수 있는 학습 옵션 박스(RBF Learning Option box, 120)가 제공된다.Referring back to FIG. 2 , a learning option box (RBF Learning Option box, 120) is provided at the bottom of the GUI module 100 to adjust options necessary for learning on the simulator.

학습 옵션 박스(RBF Learning Option box, 120)에는 학습의 반복 횟수를 조절하는 학습 횟수 조절부(Iterative, 121), 이중 레이어 구조 RBF 알고리즘(20)을 통해 학습하도록 하는 이중 레이어 학습 알고리즘 선택부(T-RBF, 122), 학습 데이터의 모든 정보를 뉴런에 기록할지를 선택하는 전체 데이터 기록여부 선택부(Write all samples, 123), 뉴런이 생성하는 영향 필드의 최대값(MaxIF)과 최소값(MinIF)을 설정하는 영향 필드 값 선택부(124) 및 상기 설정된 옵션들로 학습을 시작하도록 명령하는 학습 시작버튼(Learn, 125)이 포함된다.In the learning option box (RBF Learning Option box, 120), there is a learning number control unit (Iterative, 121) that adjusts the number of repetitions of learning, and a dual-layer learning algorithm selection unit (T) to learn through the double-layer structure RBF algorithm (20). -RBF, 122), the entire data recording selection unit (Write all samples, 123) that selects whether to record all information of the training data to the neuron, and the maximum (MaxIF) and minimum values (MinIF) of the influence field generated by the neuron A setting influence field value selection unit 124 and a learning start button (Learn, 125) for instructing to start learning with the set options are included.

보다 자세히 말하면, 학습의 반복 횟수를 조절하는 학습 횟수 조절부(Iterative, 121)는 반복 학습 횟수를 조절하는 옵션으로서 이를 통해 최대 몇 번까지 반복 학습을 진행할 것인지를 조절할 수 있다. 반복 횟수 조절은 Max_Iter의 조절을 통해 이루어진다.In more detail, the number of learning control unit 121 that adjusts the number of repetitions of learning is an option for adjusting the number of repetitions, and through this, it is possible to adjust the maximum number of repetitions of learning. The number of iterations can be adjusted by adjusting Max_Iter.

이중 레이어 학습 알고리즘 선택부(T-RBF, 122)는 이중 레이어 구조 RBF 알고리즘(20)을 사용하여 학습을 진행하고자 할 때 선택될 수 있으며 이중 레이어 구조 RBF 알고리즘(20)에 대한 자세한 설명은 후술한다.The double-layer learning algorithm selection unit (T-RBF, 122) may be selected when learning is performed using the double-layer structure RBF algorithm 20, and a detailed description of the double-layer structure RBF algorithm 20 will be described later. .

학습 데이터의 모든 정보를 뉴런에 기록할지를 선택하는 전체 데이터 기록여부 선택부(Write all samples, 123)는 학습에 사용되는 데이터를 뉴런에 모두 입력하기 위한 알고리즘이다. 다만, 본 옵션의 경우 학습용 알고리즘으로 사용되지는 않는다.The write all samples 123 for selecting whether to record all information of the learning data into the neurons is an algorithm for inputting all the data used for learning into the neurons. However, this option is not used as a learning algorithm.

다시 도 2를 참조하면, GUI 모듈(100)의 하단에는 시뮬레이터 상에서 분류에 필요한 옵션들을 조절할 수 있는 분류 옵션 박스(Classification Option box, 130)가 제공된다.Referring back to FIG. 2 , a classification option box 130 is provided at the bottom of the GUI module 100 to adjust options required for classification on the simulator.

분류 옵션 박스(Classification Option box, 130)에는 시뮬레이션 모듈이 RBF 알고리즘 및 KNN 알고리즘 중 어느 하나를 이용하여 분류하도록 선택하는 분류 알고리즘 선택부(131), 분류 정책을 선택할 수 있는 분류 정책 선택부(Category Out, 132) 및 분류를 시작하도록 명령하는 분류 시작버튼(Classify, 133)이 포함된다.In the Classification Option box 130, a classification algorithm selection unit 131 for selecting the simulation module to classify using any one of the RBF algorithm and the KNN algorithm, and a classification policy selection unit for selecting a classification policy (Category Out) , 132) and a classification start button (Classify, 133) for instructing to start classification.

보다 자세히 말하면, 분류에 사용되는 알고리즘 선택은 RBF 알고리즘과 KNN 알고리즘 중 하나로 선택될 수 있다. 이때, KNN 은 학습 옵션 박스에서 Write all samples 알고리즘을 통해 뉴런에 데이터가 입력된 경우에만 사용되며, KNN 선택 시에만 분류에 고려할 발화 뉴런의 최대 개수를 설정할 수 있는 K 옵션 조절부가 활성화된다.More specifically, the selection of the algorithm used for classification can be one of the RBF algorithm and the KNN algorithm. At this time, KNN is used only when data is input to neurons through the Write all samples algorithm in the learning option box, and the K option control unit that can set the maximum number of firing neurons to be considered for classification is activated only when KNN is selected.

분류 정책 선택부(Category Out, 132)는 분류 정책을 선택할 수 있는 영역이며, Best Match, Dominant, Unanimity 또는 Min consensus 중 어느 하나로 선택 가능하다.The classification policy selector (Category Out, 132) is an area in which a classification policy can be selected, and any one of Best Match, Dominant, Unanimity, or Min consensus can be selected.

Best Match의 경우 가장 가까운 발화 뉴런 즉, 첫 번째로 발화가 되는 뉴런의 카테고리를 입력 벡터의 카테고리로 선택한다. 이때 발화 뉴런이 존재하지 않는다면 Unknown이라는 분류 결과를, 발화 뉴런이 1개 이상이라도 존재한다면 가장 짧은 거리를 저장하고 있는 첫 번째 발화 뉴런의 카테고리를 분류 결과로 선택한다. Unknown은 입력 벡터가 뉴런에 의해 인식되지 않는 경우 즉, 분류를 하지 못한 경우를 뜻하고 분류가 된 경우엔 ‘Identified’나 ‘Uncertain'으로 나뉜다. 발화 뉴런의 카테고리들이 모두 일치할 경우에 Identified로 분류되고, 하나라도 다를 경우엔 Uncertain으로 분류된다.In the case of Best Match, the category of the closest firing neuron, that is, the first firing neuron, is selected as the category of the input vector. At this time, if there is no firing neuron, the classification result of Unknown is selected, and if there is at least one firing neuron, the category of the first firing neuron storing the shortest distance is selected as the classification result. Unknown means the case where the input vector is not recognized by the neuron, that is, the case where classification is not performed. If the categories of firing neurons all match, it is classified as Identified, and if even one of the categories is different, it is classified as Uncertain.

Dominant의 경우 발화 뉴런들의 카테고리들 중 가장 수가 많은 카테고리를 입력 벡터의 카테고리로 선택한다. 즉, 발화 뉴런들의 카테고리의 개수를 보고 가장 많은 수의 카테고리로 결정하는 방식이다. 예를 들어 분류 방법을 Dominant로 선택하고 3개의 발화 뉴런이 발생하였을 때, 첫 번째 발화 뉴런의 카테고리는 1, 두 번째 발화 뉴런의 카테고리는 2, 세 번째 발화 뉴런의 카테고리도 2이면 Dominant 방식은 입력 벡터의 카테고리를 2로 결정한다.In the case of the dominant, the category with the largest number of categories of firing neurons is selected as the category of the input vector. That is, it is a method of determining the number of categories by looking at the number of categories of firing neurons. For example, if the classification method is selected as Dominant and three firing neurons are generated, the first firing neuron category is 1, the second firing neuron category is 2, and the third firing neuron category is also 2, then the Dominant method is input. The category of the vector is determined as 2.

Unanimity의 경우 만장일치 방법으로, 발화 뉴런들의 모든 카테고리가 동일한 경우 이를 입력 벡터의 카테고리로 결정한다. 만약 하나라도 다를 경우 분류 결과는 Unknown으로 결정된다.In the case of unanimity, it is a unanimous method, and if all categories of firing neurons are the same, it is determined as the category of the input vector. If even one is different, the classification result is determined as Unknown.

Min consensus의 경우 Dominant와 흡사한 방법으로, 기본적으로는 다수결 방식을 따르되 발화 뉴런들의 카테고리가 최소 N개 이상일 때만 이를 입력 벡터의 카테고리로 결정한다. 이때 N값은 사용자가 설정할 수 있고, 기본 값은 2로 설정되어 있다. 만약 발화 뉴런의 카테고리들 중 동일한 카테고리의 개수가 N개 미만이라면 입력 벡터는 Unknown으로 분류된다.Min consensus is a method similar to Dominant, and basically follows the majority voting method, but only when there are at least N categories of firing neurons, it is determined as the category of the input vector. In this case, the value of N can be set by the user, and the default value is set to 2. If the number of identical categories among the categories of firing neurons is less than N, the input vector is classified as Unknown.

도 3은 도 1의 GUI 모듈(100)의 우측 상단에 제공되는 통합 그래프 박스(Distribution per category box, 140)만을 나타낸 도면이다.FIG. 3 is a view showing only the distribution per category box 140 provided at the upper right of the GUI module 100 of FIG. 1 .

도 3을 참조하면, 통합 그래프 박스(Distribution per category box, 140)에는 메인 그래프가 표시된다. 메인 그래프는 각 카테고리 마다 3종류의 막대 그래프가 표시되는데, 좌측부터 입력 데이터의 개수(Input), 생성된 뉴런의 개수(Used neurons) 및 분류된 데이터의 개수(Output)를 나타낸다.Referring to FIG. 3 , a main graph is displayed in a distribution per category box 140 . In the main graph, three types of bar graphs are displayed for each category. From the left, the number of input data (Input), the number of generated neurons (Used neurons), and the number of classified data (Output) are indicated.

도 4는 도 1의 GUI 모듈(100)의 우측 하단에 제공되는 학습 결과 그래프 박스(Learning results box, 151)만을 나타낸 도면이고,4 is a view showing only the learning results graph box (Learning results box, 151) provided on the lower right side of the GUI module 100 of FIG. 1,

도 5는 도 1의 GUI 모듈(100)의 우측 하단에 제공되는 분류 결과 그래프 박스(Classification results box, 152)만을 나타낸 도면이다.FIG. 5 is a view showing only the classification results box 152 provided at the lower right of the GUI module 100 of FIG. 1 .

도 4 및 도 5를 참조하면, 학습 결과 그래프 박스(Learning results box, 151)에는 카테고리 별로 생성된 뉴런의 개수를 표시하는 막대그래프와 반복 횟수마다 생성된 뉴런을 표시하는 꺾은선그래프가 표시된다.Referring to FIGS. 4 and 5 , a bar graph indicating the number of neurons generated for each category and a line graph indicating the neurons generated for each repetition number are displayed in a learning results box 151 .

또한, 분류 결과 그래프 박스(Classification results box, 152)에는 카테고리 별로 분류된 Status 코드(UNK, ID, UNC) 개수를 표시하는 막대그래프와 Status 코드 총량을 표시하는 파이 그래프가 표시된다.In addition, a bar graph indicating the number of status codes (UNK, ID, UNC) classified by category and a pie graph indicating the total amount of status codes are displayed in the classification results box 152 .

이때, Status 코드는 UNK (unknown), ID (identified), UNC_c (uncertain_correct), UNC_i (uncertain_incorrect) 중 어느 하나로 표시된다. 발화 뉴런이 존재하지 않을 경우 UNK, 발화 뉴런들의 카테고리가 모두 같을 경우 ID, 발화 뉴런들의 카테고리가 하나라도 다를 경우 UNC로 구분되며, KNN 모드에는 UNK가 존재하지 않는다.In this case, the Status code is displayed as one of UNK (unknown), ID (identified), UNC_c (uncertain_correct), and UNC_i (uncertain_incorrect). If there is no firing neuron, it is classified as UNK, if all firing neurons have the same category, it is ID, and if even one category of firing neurons is different, it is divided into UNC. UNK does not exist in KNN mode.

도 6은 도 1의 GUI 모듈(100)의 하단에 제공되는 로그 박스(Log box, 160)만을 나타낸 도면이다.FIG. 6 is a view showing only the log box 160 provided at the bottom of the GUI module 100 of FIG. 1 .

도 6을 참조하면, 시뮬레이터 하단에 위치한 로그 박스(Log box, 160)는 텍스트로 구성되며 사용자의 입력과 수정은 불가하고 선택된 옵션들의 정보와 데이터 정보들이 기록된다.Referring to FIG. 6 , a log box 160 located at the bottom of the simulator is composed of text, user input and modification are impossible, and information and data information of selected options are recorded.

다시 도 1을 참조하면, GUI 모듈(100)의 왼쪽 상단 메뉴에는 File 버튼과 View 버튼이 제공된다.Referring back to FIG. 1 , a File button and a View button are provided in the upper left menu of the GUI module 100 .

File에서는 입력 데이터를 불러오는 Load dataset과 분류 결과를 엑셀 파일로 저장할 수 있는 기능인 Export dataset을 선택할 수 있고, View에서는 학습된 뉴런의 정보를 상세히 볼 수 있는 학습 결과 표(Knowledge content)와 분류 결과를 상세히 볼 수 있는 분류 결과 표(Dataset in detail)를 선택할 수 있다.In File, you can select Load dataset that calls input data and Export dataset, which is a function that can save classification results as an Excel file. A viewable classification result table (Dataset in detail) can be selected.

도 7은 도 1의 View에서 학습된 뉴런의 정보를 상세히 볼 수 있는 학습 결과 표(Knowledge content)를 선택했을 때 나타나는 화면이다.FIG. 7 is a screen displayed when a learning result table (Knowledge content) in which information of a learned neuron can be viewed in detail in the view of FIG. 1 is selected.

도 7을 참조하면, 본 발명의 시뮬레이터는 그래프만으로 확인하기 어려운 뉴런들의 학습 결과를 자세히 파악할 수 있는 학습 결과 표(Knowledge content)를 제공한다.Referring to FIG. 7 , the simulator of the present invention provides a learning result table (Knowledge content) that allows the detailed understanding of the learning results of neurons that are difficult to check only through graphs.

학습 결과 표는 뉴런들의 세세한 정보들을 확인할 수 있는 표를 말하며, 시뮬레이터는 네트워크가 학습을 진행한 후 혹은 생성된 뉴런들의 집합인 Knowledge를 로드 한 후 뉴런들의 상세한 정보들이 기록된 표를 생성한다. 학습 결과 표는 뉴런 번호(NeuronID), 콘텍스트(Context), 카테고리(Category), 영향 필드의 거리 값(InfluenceField) 및 영향 필드의 최소 값(MinIF)을 포함한다.The learning result table refers to a table in which detailed information of neurons can be checked, and the simulator creates a table in which detailed information of neurons is recorded after the network performs learning or after loading Knowledge, which is a set of generated neurons. The learning result table includes a neuron number (NeuronID), a context (Context), a category (Category), a distance value of an influence field (InfluenceField), and a minimum value of an influence field (MinIF).

도 8은 도 1의 View에서 분류 결과를 상세히 볼 수 있는 분류 결과 표(Dataset in detail)를 선택했을 때 나타나는 화면이다.FIG. 8 is a screen displayed when a classification result table (Dataset in detail) in which a classification result can be viewed in detail is selected in the view of FIG. 1 .

도 8을 참조하면, 본 발명의 시뮬레이터는 그래프만으로 확인하기 어려운 분류 결과를 자세히 파악할 수 있는 분류 결과 표(Detail Report)를 제공한다. 이러한 분류 결과 표(Detail Report)를 통해 네트워크에서 분류가 진행된 후에 모든 데이터의 분류 결과를 상세히 볼 수 있다.Referring to FIG. 8 , the simulator of the present invention provides a classification result table (Detail Report) that can grasp in detail the classification result that is difficult to confirm only with a graph. Through this classification result table (Detail Report), the classification result of all data can be viewed in detail after classification is performed in the network.

분류 결과 표(Detail Report)는 각 입력 벡터의 패턴 번호(PatternID), context 정보(Context), 카테고리 정답지가 존재하는 경우 Ground truth category 값(CatGT), 판별 결과가 옳은지 여부를 나타내는 Status(Status), 발화 뉴런들의 정보와 카테고리 분류 정책에 의해 선택되어진 카테고리 정보(CatOut)가 포함된다. 또한, Cat1은 첫 번째 발화 뉴런의 카테고리를 나타내고, Dist1은 첫 번째 발화 뉴런의 거리 값을 나타내고, Nid1은 첫 번째 발화 뉴런의 ID(학습 결과 표에서의 NeuronID)를 나타낸다. 이와 더불어 Cat2, Dist2 및 Nid는 두 번째 발화 뉴런의 카테고리, 거리 값 및 뉴런ID를 나타내는 것은 자명할 것이다. 이때, 발화 뉴런들은 가장 거리가 짧은 것이 1번부터 저장되고, 가장 거리가 먼 발화 뉴런이 가장 마지막 번호에 저장된다.The classification result table (Detail Report) contains the pattern number (PatternID) of each input vector, context information (Context), the ground truth category value (CatGT) if there is a correct category answer, Status (Status) indicating whether the determination result is correct, Information on firing neurons and category information (CatOut) selected by the category classification policy are included. In addition, Cat1 represents the category of the first firing neuron, Dist1 represents the distance value of the first firing neuron, and Nid1 represents the ID of the first firing neuron (NeuronID in the learning result table). In addition, it will be apparent that Cat2, Dist2 and Nid represent the category, distance value, and neuron ID of the second firing neuron. At this time, the firing neurons with the shortest distance are stored from number 1, and the firing neurons with the longest distance are stored at the last number.

본 발명의 일 실시예에 따른 시뮬레이터는 크게 학습 프로세서와 분류 프로세서의 두 구조로 나뉘어 동작한다.The simulator according to an embodiment of the present invention is largely divided into two structures: a learning processor and a classification processor, and operates.

도 9는 본 발명의 일 실시예에 따른 시뮬레이터의 동작 과정을 나타낸 도면이다.9 is a diagram illustrating an operation process of a simulator according to an embodiment of the present invention.

도 9를 참조하면, 시뮬레이터는 학습과 분류의 두 프로세서로 나뉘어 동작한다. 학습 과정은 두 가지의 경우가 있는데, 학습에 사용할 데이터를 원하는 옵션을 설정하여 학습하는 과정(Case 1)과 이미 학습된 뉴런들의 집합을 불러와 테스트에 사용하는 과정(Case 2)이 있다. 테스트 과정은 데이터셋을 선택하고 사용자가 분류 옵션을 선택하여 분류 후에 결과를 확인한다.Referring to FIG. 9 , the simulator operates by being divided into two processors: learning and classification. There are two cases of the learning process. There is a process of learning by setting a desired option for data to be used for learning (Case 1), and a process of calling a set of already learned neurons and using it for testing (Case 2). The test process selects a dataset and the user selects a classification option to check the results after classification.

각각의 과정에서 결과가 만족스럽지 않을 경우엔 옵션 설정으로 돌아가거나 데이터셋을 변경하는 등의 방법으로 원하는 결과가 나올 때까지 과정을 반복할 수 있다.If the result is not satisfactory in each process, the process can be repeated until the desired result is obtained by returning to the option setting or changing the data set.

본 발명의 일 실시예에 따른 시뮬레이터는 학습 및 분류 과정에서 이중 레이어 구조의 RBF 알고리즘(20)이 적용될 수 있다. 학습 과정에서는 학습 옵션(RBF Learning Option, 120) 박스에서 T-RBF를 선택함으로써 이중 레이어 구조의 RBF 알고리즘(20)을 적용시킬 수 있으며, 분류 과정에서는 분류 옵션(Classification Option, 130) 박스에서 RBF를 선택함으로써 적용된다.In the simulator according to an embodiment of the present invention, the RBF algorithm 20 having a dual layer structure may be applied in the learning and classification process. In the learning process, the RBF algorithm 20 with a double layer structure can be applied by selecting T-RBF in the RBF Learning Option 120 box. applied by selection.

이중 레이어 구조의 RBF 알고리즘(20)은 CM1K chip에 내장되어 있는 알고리즘인 RCE(Reduced Coulomb Energy) 네트워크를 기반으로 설계되었다. RCE 네트워크는 패턴을 식별하기 위한 RBF의 한 종류이며 최대 256 바이트 길이의 벡터를 저장하고 인식할 수 있는 1024개의 뉴런으로 구성되어 있다. 모든 뉴런은 병렬로 동작하며 양방향 뉴런 버스를 통해 서로 협력한다.The RBF algorithm 20 of the double layer structure is designed based on the Reduced Coulomb Energy (RCE) network, which is an algorithm built into the CM1K chip. The RCE network is a type of RBF for identifying patterns and consists of 1024 neurons that can store and recognize vectors up to 256 bytes long. All neurons operate in parallel and cooperate with each other via a bidirectional neuron bus.

도 10은 입력 벡터의 카테고리를 구별하기 위해 의사결정 공간을 정의한 후 의사결정 공간 안의 뉴런들이 입력 벡터의 정보를 선택적으로 저장하여 영향 필드를 생성하는 과정을 나타낸 도면이다.FIG. 10 is a diagram illustrating a process in which a decision space is defined to distinguish a category of an input vector, and then neurons in the decision space selectively store information of the input vector to generate an influence field.

도 10을 참조하면, 학습 과정에서의 패턴 인식은 입력 데이터의 카테고리를 구별하기 위해 적합한 의사결정 공간(Decision space)을 정의하는 것으로 시작된다. 의사결정 공간 안의 뉴런들은 입력 벡터의 정보를 선택적으로 저장하면서 영향 필드를 생성한다.Referring to FIG. 10 , pattern recognition in the learning process begins with defining a decision space suitable for classifying categories of input data. Neurons in the decision space create influence fields while selectively storing information from input vectors.

첫 번째 입력 벡터는 뉴런에 정보가 저장된다. 두 번째 입력 벡터부터는 입력 벡터를 인식하는 뉴런이 있는지 확인한다. 인식하는 뉴런이 있을 경우 아무런 조치를 취하지 않고 다음 입력 벡터로 넘어가고, 인식하는 뉴런이 없을 경우 새로운 뉴런에 정보를 저장한다. 해당 입력 벡터가 뉴런에 의해 인식이 되더라도 카테고리가 다르면 뉴런에 정보를 저장한다. 이때 해당 입력 벡터가 뉴런에 의해 인식이 되더라도 카테고리가 다르면 뉴런에 정보를 저장한다.The first input vector is the information stored in the neuron. From the second input vector, we check if there is a neuron that recognizes the input vector. If there is a recognizing neuron, it moves on to the next input vector without taking any action, and if there is no recognizing neuron, the information is stored in a new neuron. Even if the corresponding input vector is recognized by the neuron, if the category is different, the information is stored in the neuron. At this time, even if the corresponding input vector is recognized by the neuron, if the category is different, the information is stored in the neuron.

이후 학습 데이터셋을 여러 번 반복 입력하여 학습을 진행하는데, 더 이상 뉴런의 변화가 생기지 않는다면 학습을 종료한다.After that, learning is performed by repeatedly inputting the learning dataset several times, but if there is no more change in the neurons, the learning is terminated.

이렇게 해서 생성된 뉴런들은 입력 벡터와 뉴런 사이의 거리를 계산해 영향 필드를 생성하고, 이때 사용되는 계산식은 Norm L1(Manhattan distance)과 Norm LSup의 두 가지가 제공된다.Neurons generated in this way generate an influence field by calculating the distance between the input vector and the neuron, and two calculation formulas are provided: Norm L1 (Manhattan distance) and Norm LSup.

도 11은 (a) Norm L1의 계산식과 그래프, (b) Norm LSup의 계산식과 그래프, (c) Norm L1 기반 뉴런의 영향 필드 예시 및 (d) Norm LSup 기반 뉴런의 영향 필드 예시를 나타낸 도면이다.11 is a diagram showing (a) Norm L1 calculation formula and graph, (b) Norm LSup calculation formula and graph, (c) Norm L1-based neuron influence field example, and (d) Norm LSup-based neuron influence field example .

도 11을 참조하면, 입력 벡터들에 의해 생성된 뉴런들이 영향 필드를 생성하는데 사용되는 계산 방식은 아래와 같다.Referring to FIG. 11 , a calculation method in which neurons generated by input vectors are used to generate an influence field is as follows.

Figure 112020050919123-pat00001
(1)
Figure 112020050919123-pat00001
(One)

Figure 112020050919123-pat00002
(2)
Figure 112020050919123-pat00002
(2)

위 식 (1)은 Norm L1(Manhattan distance) 거리 계산 방식을 나타낸 식이고, 식 (2)는 Norm LSup 거리 계산 방식을 나타낸 식이다. 이때

Figure 112020050919123-pat00003
는 입력 벡터,
Figure 112020050919123-pat00004
은 뉴런,
Figure 112020050919123-pat00005
은 벡터와 뉴런 사이 거리의 총합을 나타낸다.Equation (1) above is the formula for calculating the Norm L1 (Manhattan distance) distance, and Equation (2) is the formula for calculating the Norm LSup distance. At this time
Figure 112020050919123-pat00003
is the input vector,
Figure 112020050919123-pat00004
silver neurons,
Figure 112020050919123-pat00005
is the sum of the distances between the vector and the neuron.

도 12는 학습 후에 생성되는 의사결정 공간 안에서 생성된 뉴런이 영향 필드 안에 들어온 입력 벡터에 반응하여 분류하는 과정을 나타낸 도면이고,12 is a diagram illustrating a process of classifying neurons generated in a decision space created after learning in response to an input vector entering an influence field;

도 13은 RCE/RBF 분류 방식과 KNN 분류 방식에 따른 영향 필드 맵핑 모습을 개략적으로 나타낸 도면이다.13 is a diagram schematically illustrating influence field mapping according to the RCE/RBF classification method and the KNN classification method.

도 12 및 도 13을 참조하면, RCE/RBF 분류 방식과 KNN 분류 방식의 차이를 알 수 있다.12 and 13 , the difference between the RCE/RBF classification scheme and the KNN classification scheme can be seen.

여기서 RCE/RBF 분류 방식은 GUI 모듈(100)의 분류 옵션 박스(Classification Option box, 130)에서 RBF를 선택했을 때 적용되는 알고리즘으로서 이중 레이어 구조 RBF 알고리즘(20)을 이용한 분류 방식을 말한다. 또한, KNN 분류 방식은 GUI 모듈(100)의 분류 옵션 박스(Classification Option box, 130)에서 KNN을 선택했을 때 적용되는 알고리즘으로서 K-Nearest Neighbor 분류 방식을 말한다.Here, the RCE/RBF classification method is an algorithm applied when RBF is selected in the classification option box 130 of the GUI module 100 and refers to a classification method using the dual layer structure RBF algorithm 20 . In addition, the KNN classification method refers to a K-Nearest Neighbor classification method as an algorithm applied when KNN is selected in the Classification Option box 130 of the GUI module 100 .

먼저, RCE/RBF 분류 방식에 대해 알아보며 다음과 같다.First, the RCE/RBF classification method will be described as follows.

분류 과정의 첫 번째는 입력 벡터와 생성된 뉴런의 특징을 표현하는 context 일치 여부를 확인하는 것이다. 이를 통하여 서로 연관이 없는 다중의 데이터를 동시에 인식하여 처리할 수 있다. 뉴런과 같은 context를 가진 입력 벡터가 브로드캐스트 된 후 뉴런의 영향 필드 안에 자리하게 되면 뉴런은 발화 상태가 되고 발화 뉴런이라고 부른다.The first of the classification process is to check whether the input vector matches the context expressing the characteristics of the generated neuron. Through this, multiple data that are not related to each other can be recognized and processed at the same time. When an input vector with the same context as a neuron is broadcast and placed in the neuron's influence field, the neuron enters a firing state and is called a firing neuron.

입력 벡터와 발화 뉴런 사이의 가장 짧은 거리가 첫 번째 발화 뉴런에 기록된다. 두 번째 짧은 거리가 두 번째 발화 뉴런에 기록되고 거리가 0xFFFF가 읽힐 때까지 발화 뉴런에 거리가 기록되는 과정은 계속된다.The shortest distance between the input vector and the firing neuron is recorded in the first firing neuron. The process of recording the distance to the firing neuron continues until the second short distance is written to the second firing neuron and the distance is read as 0xFFFF.

발화 뉴런은 입력 벡터의 카테고리를 판별하는 척도가 되는데, 아예 없거나 1개이거나 혹은 여러 개가 존재할 수 있다. 이때 벡터를 판단하는 기준으로 삼을 발화 뉴런을 몇 개 고려할 것인지는 사용자가 지정할 수 있으며 시뮬레이터 상에서 설정된 기본 값은 3으로 설정된다.The firing neuron is a criterion for determining the category of the input vector, and there may be none, one, or several. In this case, the user can designate how many firing neurons to be considered as a criterion for judging the vector, and the default value set on the simulator is set to 3.

발화 된 뉴런들의 정보를 가지고 입력 벡터의 카테고리를 판단하는 방법은 Best match, Dominant, Unanimity, Min consensus of N이 있으며 상세한 내용은 상술한 바와 같으므로 생략한다.There are Best match, Dominant, Unanimity, and Min consensus of N methods for judging the category of the input vector using the information of the fired neurons, and the details are omitted as they are the same as described above.

다음으로, KNN 분류 방식에 대해 알아보면 다음과 같다.Next, the KNN classification method is as follows.

KNN 분류 방식은 K-Nearest Neighbor 분류 방식을 말한다. 이는 K개의 가장 가까운 이웃을 고려하는 분류 방식으로 RBF와 마찬가지로 의사결정 공간이 생성되고, 뉴런의 영향필드가 정해지는 것을 시작으로 패턴인식이 이루어지는데, RBF 분류 방식과의 가장 큰 차이점은 뉴런의 영향필드의 최대값이 존재하지 않고 모든 의사결정 공간을 모두 맵핑 한다는 점이다.The KNN classification method refers to the K-Nearest Neighbor classification method. This is a classification method that considers the K nearest neighbors. Like RBF, a decision space is created and pattern recognition starts with the neuron's influence field determined. The point is that there is no maximum value of a field, and all decision spaces are mapped.

서로 다른 카테고리의 뉴런끼리 영향필드가 겹칠 땐 동일한 거리로 영향필드를 나누는데 KNN 모드에선 모든 의사결정 공간이 뉴런의 영향필드로 채워지므로 뉴런의 영향필드의 최대값을 설정할 수 없고 영향 필드를 생성할 때 사용하는 거리 계산법도 사용되지 않는다.When the influence fields of neurons of different categories overlap, the influence fields are divided by the same distance. The distance calculation method used is also not used.

분류 과정은 RBF와 거의 동일하게 진행되는데 다른 점은 영향필드의 생성 방법이 달랐기 때문에 새로운 입력 벡터가 들어왔을 때 모든 입력 벡터에 뉴런이 발화가 되고 항상 인식된다는 점이다. 입력 벡터가 항상 인식된다는 것은 곧 분류를 하지 못한 벡터가 존재하지 않는 것을 뜻하고 모든 입력 벡터가 발화 뉴런을 가진다는 것이다. 발화 뉴런들의 정보로 입력 벡터의 카테고리를 결정하는 정책은 앞서 기재한 RCE/RBF 알고리즘의 경우와 동일하다.The classification process proceeds almost the same as RBF, except that the method of generating the influence field is different, so that when a new input vector comes in, neurons fire in all input vectors and are always recognized. The fact that the input vector is always recognized means that there is no unclassified vector, and that all input vectors have firing neurons. The policy for determining the category of the input vector based on the information of firing neurons is the same as in the case of the RCE/RBF algorithm described above.

KNN을 사용하여 분류를 하는 경우는 분류기의 효율적인 분류를 위한 것 보다는 모든 입력 벡터에 대해 거리와 카테고리를 확인하는 용도로 사용한다.In the case of classification using KNN, it is used to check the distance and category for all input vectors rather than for efficient classification of the classifier.

도 14는 기존 Multi-neural RBF 네트워크의 구조를 나타낸 도면이고,14 is a diagram showing the structure of an existing multi-neural RBF network,

도 15는 이중 레이어 구조 RBF 알고리즘(10)의 구조를 나타낸 도면이다.15 is a diagram showing the structure of the dual-layer structure RBF algorithm 10. As shown in FIG.

도 14 및 도 15를 참조하면, 기존 Multi-neural RBF 알고리즘은 다중 입력이 들어왔을 때 개별적으로 그 결과에 대해 탐지하고 그 결과를 best match와 같은 간단한 분류 방법을 사용하여 통합된 하나의 최종결과를 도출해 내고 있었다. 그러나 이러한 방법은 분류 시 다중 입력의 예측 결과의 특징을 고려하지 않기 때문에 효과적으로 예측결과를 통합할 수 있는 알고리즘의 개발이 요구되는 실정이었다.14 and 15 , the existing multi-neural RBF algorithm detects the results individually when multiple inputs are received, and uses a simple classification method such as best match for the result to obtain an integrated final result. was pulling out However, since this method does not consider the characteristics of the prediction results of multiple inputs during classification, the development of an algorithm that can effectively integrate the prediction results is required.

본 발명의 시뮬레이션 모듈에 적용된 이중 레이어 구조 RBF 알고리즘(20)은 다중 데이터의 예측 결과를 융합하여 하나의 예측 결과를 도출하도록 도 15와 같은 구조로 설계되었으며 2개의 레이어로 구성된다. 개별 데이터를 입력 데이터로 사용하여 특징적인 패턴을 인식함으로써 제1 결과값을 도출하는 제1 레이어(21)와 제1 결과값을 Concatenation 함수를 통해 통합하여 이를 입력 값으로 사용하는 제2 레이어(22)로 구성된 구조이다.The dual-layer structure RBF algorithm 20 applied to the simulation module of the present invention is designed to have a structure as shown in FIG. 15 and consists of two layers to derive one prediction result by fusing the prediction results of multiple data. A first layer 21 that derives a first result value by recognizing a characteristic pattern using individual data as input data, and a second layer 22 that uses the first result value as an input value by integrating the first result value through a concatenation function ) is a structure composed of

이때, 제1 결과값은 상기 입력 벡터와 발화 뉴런 사이의 거리 값 및 상기 입력 벡터 별 예측 결과인 카테고리를 포함한다.In this case, the first result value includes a distance value between the input vector and the firing neuron and a category that is a prediction result for each input vector.

기본 동작 방법은 제1 레이어(21)에서 데이터별 예측 결과와 특징들을 추출하고 이 결과를 ‘Concatenation’ 함수를 사용해 하나로 통합하여 제2 레이어(22)의 입력으로 사용한다.The basic operation method extracts prediction results and features for each data from the first layer 21 , and integrates the results into one using a ‘Concatenation’ function and uses them as an input for the second layer 22 .

이때 사용되는 특징은 2가지로, 발화 뉴런과 입력 벡터 사이의 거리 값(distance)과 데이터별 예측 결과(category)가 함께 나오는데 입력 패턴과 학습된 패턴 중 가장 유사한 패턴의 거리를 계산하여 도출된 값이다. 서로 다른 특징을 가진 데이터를 합쳤기 때문에 새로운 context 번호를 부여하고, 그 값과 일치하는 특징을 가진 새로운 뉴런들이 발화 된다.There are two features used here. The distance value (distance) between the firing neuron and the input vector and the prediction result (category) for each data are displayed together. A value derived by calculating the distance between the input pattern and the most similar pattern among the learned patterns to be. Since data with different characteristics are combined, a new context number is assigned, and new neurons with characteristics matching the value are fired.

실험 예Experiment example

이하에서는 다중 입력 데이터가 제공되었을 시 이중 레이저 구조 RBF 알고리즘과 기존 RBF 알고리즘의 정확도 비교를 통해 이중 레이어 구조 RBF 알고리즘(20)의 장점을 설명한다.Hereinafter, the advantages of the dual layer structure RBF algorithm 20 will be described by comparing the accuracy of the dual laser structure RBF algorithm and the existing RBF algorithm when multiple input data is provided.

실험에 사용된 데이터는 모의 수집으로 만든 졸음 운전자 데이터이다.The data used in the experiment are drowsy driver data created by simulation.

모의 수집은 20명의 데이터를 수집하였으며 2시간 이상 운전을 하고 있다는 가정 하에 4가지 데이터(심전도, 심박수, 눈깜빡임, 조향각)를 매분마다 수집하였다.For the simulation, data were collected from 20 people, and 4 types of data (electrocardiogram, heart rate, blinking, steering angle) were collected every minute under the assumption that they were driving for more than 2 hours.

도 16은 모의 수집한 4가지의 데이터의 졸음 상태에 따른 패턴 변화를 나타낸 그래프이다.16 is a graph showing the pattern change according to the drowsiness state of four types of simulated data.

도 16을 참조하면, 운전자가 졸음 상태일 때와 깨어있는 상태일 때의 심박수, 눈깜빡임, 심전도, 조향각 패턴이 다른 것으 알 수 있다. 도 16에서 빨간 점선으로 표시된 구간이 운전자가 졸음 상태일 때의 패턴이 표시된 곳이다.Referring to FIG. 16 , it can be seen that the heart rate, blinking eyes, electrocardiogram, and steering angle patterns are different when the driver is in a drowsy state and in an awake state. A section indicated by a red dotted line in FIG. 16 is where a pattern is displayed when the driver is in a drowsy state.

수집된 데이터들은 졸음 상태일 때의 특징이 비교적 명확히 나타난다. 심박수는 1분 동안의 심장박동이 몇 번 일어났는지(bpm/beats per minute)를 나타내며 졸음 시에는 평상시보다 심박이 적게 뛰는 채로 유지된다. 심전도는 심장활동의 전기적 신호를 주파수 단위(hz)로 표현한 것이고 졸음이 실제로 시작되기 10분전부터 지속적으로 감소하다가 졸음 시엔 낮아진 상태로 유지된다. 눈 깜빡임은 1분간 눈을 깜빡인 횟수이며 피곤한 상태일 때 평소보다 깜빡임이 빈번해지다가 졸린 상태일 때 평소보다 약 4배 정도 증가하는 추이를 보인다. 조향각은 운전대의 위치를 중립으로 놨을 때를 기준으로 각도를 측정한 것이고, 졸음 시에는 운전대의 움직임이 적어지고 둔해지다가 가끔 급격한 각도 변화가 생기는 특징을 보인다.The collected data show relatively clear characteristics when drowsy. Heart rate refers to the number of heartbeats per minute (bpm/beats per minute), and when drowsy, the heart rate remains lower than usual. The electrocardiogram expresses the electrical signal of cardiac activity in frequency units (hz), and it continuously decreases from 10 minutes before drowsiness actually begins, and remains low during drowsiness. Blinking is the number of blinks per minute, and blinks more frequently than usual when tired, and increases by about 4 times when in drowsy state. The steering angle is measured based on the position of the steering wheel in neutral, and when drowsy, the steering wheel movement becomes less and dull, and sometimes abrupt angle changes occur.

이중 레이어 구조의 RBF 알고리즘(20)의 활용성 분석에 사용하기 위해 20명의 운전자 데이터를 학습과 테스트에 7:3의 비율로 데이터를 사용하였고 일관성을 위해 랜덤 함수를 사용하여 학습과 테스트 데이터를 나누었다.In order to use the data of 20 drivers for the analysis of the usability of the double-layered RBF algorithm (20), the data was used in a ratio of 7:3 for learning and testing, and for consistency, the training and test data were divided using a random function. .

도 17은 모의 운전자 데이터 20명에 대한 정확도(%)를 나타내는 그래프이고,17 is a graph showing the accuracy (%) for 20 simulated driver data;

도 18은 실험 시 사용된 뉴런의 수(개)를 나타낸 그래프이다.18 is a graph showing the number (dogs) of neurons used in the experiment.

도 17 및 도 18을 참조하면, 파란색 그래프는 이중 레이어 구조의 RBF 알고리즘(20)를, 빨간색 그래프는 RBF를 나타낸다. 대체적으로 이중 레이어 구조의 RBF 알고리즘(20)의 정확도가 높고, 사용 뉴런의 개수도 RBF에 비해 높게 나타난다.Referring to FIGS. 17 and 18 , the blue graph shows the RBF algorithm 20 having a double layer structure, and the red graph shows the RBF. In general, the accuracy of the RBF algorithm 20 having a double layer structure is high, and the number of neurons used is also higher than that of the RBF.

정확도는 평균적으로 약 1.8% 높아졌고, 사용한 뉴런의 개수는 평균적으로 약 50개 정도 늘어났다. 이 결과로 기존의 연구보다 정확성을 높여 96.2%라는 높은 수치를 얻어 이중 구조 RBF의 성능 향상을 확인할 수 있었다.Accuracy increased by about 1.8% on average, and the number of neurons used increased by about 50 on average. As a result, it was possible to confirm the performance improvement of the dual structure RBF by increasing the accuracy compared to the previous study and obtaining a high value of 96.2%.

상세한 분석 결과를 보면, 정확도 측면에서는 이중 레이어 구조의 RBF 알고리즘(20)이 기존 알고리즘에 비해 높아진 정확도를 보여주는데 특히 편차가 적어진 것을 확인할 수 있다. 이는 이중 레이어 구조의 RBF 알고리즘(20)이 다양한 객체에 대해 일관성 있게 높은 성능을 나타내는 것을 의미한다.Looking at the detailed analysis results, in terms of accuracy, the RBF algorithm 20 having a double layer structure shows increased accuracy compared to the existing algorithm, but it can be seen that the deviation is particularly small. This means that the RBF algorithm 20 of the dual layer structure consistently exhibits high performance for various objects.

그러나 사용 뉴런 측면에서는 기존 알고리즘에 비해 많은 뉴런을 사용하였는데 다양한 패턴을 표현하기 위해 추가적으로 뉴런이 사용된 것으로 판단된다. 그러나 사용 뉴런의 비율을 비교하면 기존 알고리즘은 11%, 제안 알고리즘은 17%로 두 경우 모두 20% 미만의 사용률을 보여주고 있다. 이 사용률은 사용 뉴런의 수가 증가하긴 하였지만 여전히 전체 뉴런의 수에 비하면 적은 수의 뉴런을 사용하고 있다는 것을 보여준다.However, in terms of neurons used, more neurons were used compared to the existing algorithm, but it is judged that additional neurons were used to express various patterns. However, when comparing the ratio of neurons used, the existing algorithm is 11% and the proposed algorithm is 17%, showing less than 20% usage in both cases. This usage rate shows that although the number of neurons used has increased, it is still using a small number of neurons compared to the total number of neurons.

따라서 일관성 있는 높은 정확도를 제공하면서 여전히 낮은 수의 뉴런을 사용하는 본 이중 레이어 구조의 RBF 알고리즘(20)은 다중 입력 예측에 사용하기 적합한 알고리즘으로 판단된다.Therefore, the RBF algorithm 20 of this dual layer structure, which still uses a low number of neurons while providing consistent high accuracy, is judged to be an algorithm suitable for use in multi-input prediction.

이상에서 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것으로 이에 한정되지 않는다. 통상의 기술자는 전술한 실시예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 특허청구범위의 해석을 통해서만 정해진다.Although the present invention has been described above through examples, the above examples are merely for explaining the spirit of the present invention and are not limited thereto. Those skilled in the art will understand that various modifications may be made to the above-described embodiments. The scope of the present invention is determined only through interpretation of the appended claims.

10: GUI 기반 RBF 알고리즘 시뮬레이터
100: GUI 모듈 200: 시뮬레이션 모듈
110: 상태 옵션 박스 120: 학습 옵션 박스
130: 분류 옵션 박스 140: 통합 그래프 박스
150: 결과 그래프 박스 151: 학습 결과 그래프 박스
152: 분류 결과 그래프 박스 160: 로그 박스
10: GUI-based RBF Algorithm Simulator
100: GUI module 200: simulation module
110: status option box 120: learning option box
130: Classification Options Box 140: Consolidated Graph Box
150: result graph box 151: learning result graph box
152: classification result graph box 160: log box

Claims (11)

뉴로모픽 칩에서 운영되는 RBF 알고리즘을 시뮬레이션하기 위한 시뮬레이터에 있어서,
상기 RBF 알고리즘을 시뮬레이션 하는 시뮬레이션 모듈; 및
상기 시뮬레이션 모듈을 조작하기 위한 옵션을 입력하고 시뮬레이션 결과를 출력받는 GUI 모듈을 포함하고,
상기 GUI 모듈은:
상기 시뮬레이션 모듈 상에서 학습에 필요한 옵션을 조절하는 학습 옵션 박스;
상기 시뮬레이션 모듈 상에서 분류에 필요한 옵션을 조절하는 분류 옵션 박스;
카테고리 별로 생성된 뉴런의 개수 및 반복 학습 횟수마다 생성된 뉴런의 개수를 표시하는 학습 결과 그래프 박스; 및
카테고리 별로 분류된 Status 코드의 개수와 Status 코드의 총량을 표시하는 분류 결과 그래프 박스를 포함하고;
학습 결과를 파악할 수 있는 학습 결과 표와 분류 결과를 파악할 수 있는 분류 결과 표를 제공하고;
상기 학습 옵션 박스는:
이중 레이어 구조 RBF 알고리즘을 통해 학습하도록 하는 이중 레이어 학습 알고리즘 선택부를 포함하고,
상기 이중 레이어 구조 RBF 알고리즘은:
개별 데이터를 입력 데이터로 사용하여 특징적인 패턴을 인식함으로써 제1 결과값을 도출하는 제1 레이어; 및
상기 제1 결과값을 Concatenation 함수를 통해 통합하여 이를 입력 값으로 사용하는 제2 레이어를 포함하고,
상기 제1 결과값은:
입력 벡터와 발화 뉴런 사이의 거리 값; 및
상기 입력 벡터 별 예측 결과인 카테고리를 포함하고,
상기 학습 결과 그래프 박스에는:
카테고리 별로 생성된 뉴런의 개수를 표시하는 그래프와;
반복 횟수마다 생성된 뉴런을 표시하는 그래프가 표시되고,
상기 분류 결과 그래프 박스에는:
카테고리 별로 분류된 status 코드 코드의 개수를 표시하는 그래프와;
Status 코드 총량을 표시하는 그래프가 표시되고,
상기 학습 결과 표는 뉴런 번호(NeuronID), 콘텍스트(Context), 카테고리(Category), 영향 필드의 거리 값(InfluenceField) 및 영향 필드의 최소 값(MinIF)에 관한 정보를 포함하고,
상기 분류 결과 표는 각 입력 패턴의 패턴 번호(PatternID), 콘텍스트(Context), 카테고리 정답지가 존재하는 경우 Ground truth category 값(GatGT), 판별 결과가 옳은지 여부를 나타내는 Status, 발화 뉴런들의 정보와 카테고리 분류 정책에 의해 선택되어진 카테고리 정보(CatOut), 첫 번째 발화 뉴런의 카테고리(Cat 1), 첫 번째 발화 뉴런의 거리 값(Dist 1) 및 첫 번째 발화 뉴런의 ID(Nid 1)에 관한 정보를 포함하는, GUI 기반 RBF 알고리즘 시뮬레이터.
In the simulator for simulating the RBF algorithm operated in the neuromorphic chip,
a simulation module for simulating the RBF algorithm; and
and a GUI module for inputting options for manipulating the simulation module and outputting simulation results,
The GUI module is:
a learning option box for adjusting options required for learning on the simulation module;
a classification option box for adjusting options required for classification on the simulation module;
a learning result graph box displaying the number of neurons generated for each category and the number of neurons generated for each number of repeated learning; and
a classification result graph box displaying the number of Status codes classified by category and the total amount of Status codes;
providing a learning result table for identifying a learning result and a classification result table for identifying a classification result;
The learning options box is:
Includes a dual-layer learning algorithm selection unit to learn through a dual-layer structure RBF algorithm,
The dual layer structure RBF algorithm is:
a first layer for deriving a first result value by recognizing a characteristic pattern using individual data as input data; and
and a second layer that integrates the first result value through a concatenation function and uses it as an input value,
The first result is:
distance value between input vector and firing neuron; and
including a category that is a prediction result for each input vector,
The learning result graph box contains:
a graph displaying the number of neurons generated for each category;
A graph is displayed showing the neurons generated for each iteration,
The classification result graph box contains:
a graph displaying the number of status code codes classified by category;
A graph showing the total amount of Status codes is displayed,
The learning result table includes information about a neuron number (NeuronID), a context (Context), a category (Category), a distance value of an influence field (InfluenceField), and a minimum value of an influence field (MinIF),
The classification result table includes the pattern number (PatternID) of each input pattern, context (Context), ground truth category value (GatGT) if there is a category correct answer, Status indicating whether the discrimination result is correct, information and category classification of firing neurons Category information selected by the policy (CatOut), the category of the first firing neuron (Cat 1), the distance value of the first firing neuron (Dist 1), and information about the ID of the first firing neuron (Nid 1) , a GUI-based RBF algorithm simulator.
제1항에 있어서,
상기 GUI 모듈은:
상기 시뮬레이션 모듈의 상태를 조절하는 상태 옵션 박스; 및
시뮬레이션에 사용된 데이터 및 뉴런의 개수를 표시하는 통합 그래프 박스를 포함하는, GUI 기반 RBF 알고리즘 시뮬레이터.
According to claim 1,
The GUI module is:
a state option box for adjusting the state of the simulation module; and
A GUI-based RBF algorithm simulator, including an integrated graph box displaying the number of neurons and data used in the simulation.
제2항에 있어서,
상기 상태 옵션 박스는:
입력 벡터와 뉴런 사이의 거리 계산 방식을 선택하는 거리 계산 방식 조절부;
시뮬레이션에 사용되는 뉴로모픽 칩의 개수를 선택하는 칩 개수 선택부; 및
학습된 뉴런의 정보를 지우는 학습정보 삭제버튼을 포함하고,
시뮬레이션에 사용되는 데이터의 이름, 데이터 샘플의 개수, 상기 뉴로모픽 칩의 개수에 따른 뉴런의 총 개수 및 학습 후 생성된 뉴런의 개수를 표시하는, GUI 기반 RBF 알고리즘 시뮬레이터.
3. The method of claim 2,
The status option box is:
a distance calculation method control unit for selecting a distance calculation method between the input vector and the neuron;
a chip number selection unit that selects the number of neuromorphic chips used for simulation; and
Includes a learning information delete button that erases the information of the learned neuron,
A GUI-based RBF algorithm simulator that displays the name of data used for simulation, the number of data samples, the total number of neurons according to the number of neuromorphic chips, and the number of neurons generated after learning.
제3항에 있어서,
상기 학습 옵션 박스는:
학습 반복 횟수를 조절하는 학습 횟수 조절부;
학습 데이터의 모든 정보를 뉴런에 기록하도록 하는 전체 데이터 기록여부 선택부;
뉴런이 생성하는 영향 필드의 최대값과 최소값을 설정하는 영향 필드 값 선택부; 및
학습을 시작하도록 명령하는 학습 시작버튼을 포함하는, GUI 기반 RBF 알고리즘 시뮬레이터.
4. The method of claim 3,
The learning options box is:
a learning number control unit for adjusting the number of learning repetitions;
a whole data recording/non-recording unit to record all information of the learning data in the neurons;
an influence field value selection unit for setting a maximum value and a minimum value of an influence field generated by neurons; and
A GUI-based RBF algorithm simulator that includes a Start Learning button that commands to start learning.
제4항에 있어서,
상기 분류 옵션 박스는:
상기 시뮬레이션 모듈이 RBF 알고리즘 및 KNN 알고리즘 중 어느 하나를 이용하여 분류하도록 선택하는 분류 알고리즘 선택부;
분류 정책을 선택하는 분류 정책 선택부; 및
분류를 시작하도록 명령하는 분류 시작버튼을 포함하는, GUI 기반 RBF 알고리즘 시뮬레이터.
5. The method of claim 4,
The classification option box is:
a classification algorithm selection unit for selecting the simulation module to classify by using any one of an RBF algorithm and a KNN algorithm;
a classification policy selection unit for selecting a classification policy; and
A GUI based RBF algorithm simulator, including a Start Classification button that commands to start sorting.
제5항에 있어서,
상기 통합 그래프 박스는 입력 데이터 개수, 생성된 뉴런의 개수 및 분류된 데이터 개수를 표시하는, GUI 기반 RBF 알고리즘 시뮬레이터.
6. The method of claim 5,
The integrated graph box displays the number of input data, the number of generated neurons, and the number of classified data, a GUI-based RBF algorithm simulator.
삭제delete 삭제delete 제5항에 있어서,
상기 분류 정책은:
첫 번째로 발화가 되는 뉴런의 카테고리를 입력 벡터의 카테고리로 선택하는 Best Match;
발화 뉴런들의 카테고리들 중 가장 수가 많은 카테고리를 입력 벡터의 카테고리로 선택하는 Dominant;
발화 뉴런들의 모든 카테고리가 동일한 경우 이를 입력 벡터의 카테고리로 결정하는 Unanimity; 및
발화 뉴런들의 카테고리들 중 동일한 카테고리의 개수가 기 설정된 개수 이상인 경우에만 해당 카테고리를 입력 벡터의 카테고리로 결정하는 Min consensus 중 적어도 어느 하나를 포함하는, GUI 기반 RBF 알고리즘 시뮬레이터.
6. The method of claim 5,
The above classification policy is:
Best Match, which selects the category of the first firing neuron as the category of the input vector;
Dominant selecting the category with the largest number of categories of firing neurons as the category of the input vector;
Unanimity that determines the category of the input vector when all categories of firing neurons are the same; and
A GUI-based RBF algorithm simulator comprising at least one of Min consensus that determines a corresponding category as a category of an input vector only when the number of the same category among categories of firing neurons is equal to or greater than a preset number.
삭제delete 삭제delete
KR1020200060435A 2019-11-25 2020-05-20 A simulator for RBF-based networks in neuromorphic chip KR102451231B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190151908 2019-11-25
KR20190151908 2019-11-25

Publications (2)

Publication Number Publication Date
KR20210064022A KR20210064022A (en) 2021-06-02
KR102451231B1 true KR102451231B1 (en) 2022-10-06

Family

ID=76372872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200060435A KR102451231B1 (en) 2019-11-25 2020-05-20 A simulator for RBF-based networks in neuromorphic chip

Country Status (1)

Country Link
KR (1) KR102451231B1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
General Vision, NeuroMem Knowledge Builder*
윤주성 등., 감성 분석을 위한 어휘 통합 합성곱 신경망에 관한 연구, 2017년 춘계학술발표대회 논문집 제24권 제1호, 916-919pages (2017. 4.)*

Also Published As

Publication number Publication date
KR20210064022A (en) 2021-06-02

Similar Documents

Publication Publication Date Title
Zhang et al. A survey on neural network interpretability
Lucca et al. CC-integrals: Choquet-like copula-based aggregation functions and its application in fuzzy rule-based classification systems
US5920852A (en) Large memory storage and retrieval (LAMSTAR) network
CN109754012A (en) Entity Semantics relationship classification method, model training method, device and electronic equipment
JP2006518062A (en) Prediction algorithm training and testing database optimization system and method
CN103548041A (en) Information processing device, method, and program for obtaining weight per feature value in subjective hierarchical clustering
CN113159264B (en) Intrusion detection method, system, equipment and readable storage medium
Rangnekar et al. Career prediction model using data mining and linear classification
CN113221950A (en) Graph clustering method and device based on self-supervision graph neural network and storage medium
de Assis Neto et al. Detecting human activities based on a multimodal sensor data set using a bidirectional long short-term memory model: a case study
Serna et al. IFBiD: inference-free bias detection
Gao et al. Machine learning for credit card fraud detection
KR102451231B1 (en) A simulator for RBF-based networks in neuromorphic chip
Wang et al. Interpret neural networks by extracting critical subnetworks
Henderson et al. Analyzing chest X-ray to detect the evidence of lung abnormality due to infectious disease
EP3614314A1 (en) Method and apparatus for generating chemical structure using neural network
US20220280086A1 (en) Management server, method of generating relative pattern information between pieces of imitation drawing data, and computer program
EP3836150A1 (en) Method and apparatus for generating new chemical structure using neural network
Habib et al. Heart failure risk prediction and medicine recommendation using exploratory data analysis
KR102309002B1 (en) Electronic device for selecting biomarkers for predicting cancer prognosis based on patient-specific genetic characteristics and operating method thereof
Shujaaddeen et al. A New Machine Learning Model for Detecting levels of Tax Evasion Based on Hybrid Neural Network
TAN et al. Considerations when learning additive explanations for black-box models
Supriyadi et al. Performance comparison of machine learning algorithms for student personality classification
Demosthenous et al. Deep reinforcement learning for improving competitive cycling performance
AU2021104628A4 (en) A novel machine learning technique for classification using deviation parameters

Legal Events

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