KR102615517B1 - Technique for class and property classification of input data - Google Patents
Technique for class and property classification of input data Download PDFInfo
- Publication number
- KR102615517B1 KR102615517B1 KR1020230088830A KR20230088830A KR102615517B1 KR 102615517 B1 KR102615517 B1 KR 102615517B1 KR 1020230088830 A KR1020230088830 A KR 1020230088830A KR 20230088830 A KR20230088830 A KR 20230088830A KR 102615517 B1 KR102615517 B1 KR 102615517B1
- Authority
- KR
- South Korea
- Prior art keywords
- input data
- learning
- model
- artificial intelligence
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 61
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 212
- 238000004891 communication Methods 0.000 claims abstract description 27
- 238000012549 training Methods 0.000 claims description 40
- 238000000605 extraction Methods 0.000 claims description 16
- 230000036541 health Effects 0.000 description 70
- 230000006870 function Effects 0.000 description 42
- 238000002372 labelling Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 27
- 238000004364 calculation method Methods 0.000 description 20
- 238000005457 optimization Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 개시의 몇몇 실시예에 의한 장치는: 학습 장치로부터 학습 또는 재학습된 인공지능 모델을 수신하는 통신부; 입력 데이터 및 상기 인공지능 모델을 저장하는 메모리부; 상기 입력 데이터를 상기 인공지능 모델에 입력하여 출력되는 제1 값에 기초하여 복수의 클래스 중 어느 하나로 상기 입력 데이터를 분류하는 제1 예측부; 및 상기 입력 데이터를 상기 인공지능 모델에 입력하여 상기 입력 데이터의 성질의 분류와 관련된 제2 값을 획득하는 제2 예측부;를 포함할 수 있다. A device according to some embodiments of the present disclosure includes: a communication unit that receives an artificial intelligence model learned or retrained from a learning device; A memory unit that stores input data and the artificial intelligence model; a first prediction unit that classifies the input data into one of a plurality of classes based on a first value output by inputting the input data into the artificial intelligence model; and a second prediction unit that inputs the input data into the artificial intelligence model to obtain a second value related to classification of the nature of the input data.
Description
본 개시는 입력 데이터의 클래스 및 성질 분류 기법에 관한 것으로, 구체적으로, 입력 데이터를 인공지능 모델에 입력하여 출력되는 제1 값 및 제2 값에 기초하여 복수의 클래스 중 어느 하나의 클래스로 입력 데이터를 분류하고 입력 데이터의 성질을 분류하는 장치 및 방법에 관한 것이다.The present disclosure relates to a class and property classification technique for input data. Specifically, the input data is classified into one of a plurality of classes based on the first value and the second value output by inputting the input data into an artificial intelligence model. It relates to an apparatus and method for classifying and classifying the properties of input data.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section simply provides background information for this embodiment and does not constitute prior art.
딥러닝(Deep Learning), 머신러닝(Machine Learning) 또는 인공지능(AI) 기술의 등장으로 해당 기술이 단순 반복적인 작업을 넘어, 인간의 판단이 필요한 분야에도 적용되며 인간의 처리를 대신하고 있다. With the advent of deep learning, machine learning, or artificial intelligence (AI) technology, the technology goes beyond simple repetitive tasks and is applied to fields that require human judgment, replacing human processing.
통상 해당 기술은 이미 인간에 의해 라벨링(Labeling)된 입력 데이터를 입력받으며, 이를 특정 딥러닝 모델 아키텍쳐(Architecture)에서 학습함으로써 입력 데이터와 라벨링 간 관계를 정립한다. 예를 들어, 딥러닝, 머신러닝 또는 인공지능을 수행하는 장치가 동그라미가 그려진 이미지와 네모가 그려진 이미지를 분류하는 작업을 대체하는 상황을 가정한다. 이때, 해당 장치는 동그라미인지 또는 네모인지 구별된 각 이미지들을 입력받으며, 이를 특정 아키텍쳐에 대해 학습하여 인공지능 모델(Trained Model)을 생성한다. 이후, 동그라미 또는 네모 중 어느 하나가 그려진 이미지가 입력될 경우, 인공지능 모델을 이용하여 해당 이미지에 동그라미가 그려져 있는지 또는 네모가 그려져 있는지를 구분하여 입력 이미지를 특정 클래스(동그라미 또는 네모)로 분류한다.Typically, the technology receives input data that has already been labeled by humans, and establishes the relationship between input data and labeling by learning it from a specific deep learning model architecture. For example, assume a situation where a device that performs deep learning, machine learning, or artificial intelligence replaces the task of classifying images with circles and images with squares. At this time, the device receives input images classified as circles or squares, learns about a specific architecture, and creates an artificial intelligence model (Trained Model). Afterwards, when an image with either a circle or a square is input, an artificial intelligence model is used to classify the input image into a specific class (circle or square) by distinguishing whether the image has a circle or a square. .
이처럼, 한번 학습되어 생성된 인공지능 모델은 해당 장치 내에 저장되어, 입력되는 (실시간) 데이터가 어떠한 클래스로 분류되어야 하는지 예측(Inference)한다.In this way, the artificial intelligence model once learned and created is stored in the device and predicts (inference) which class the input (real-time) data should be classified into.
다만, 입력되는 데이터의 클래스가 인공지능 모델이 생성될 당시의 클래스와 달라지거나 경계가 모호해지며 문제가 나타난다. 전술한 예에 따르면, 해당 장치가 인공지능 모델을 생성할 당시의 입력 데이터는 클래스가 동그라미와 네모 두개 밖에 존재하지 않았다. 그러나 시간이 경과하며 기존 클래스의 데이터에서 형태가 조금씩 변형되는 데이터가 발생하거나, 클래스간 경계에 존재하여 구분이 모호하거나 인간의 라벨링이 필요한 데이터가 발생하거나, 아니면 기 존재하는 클래스와는 전혀 다른 클래스의 데이터가 발생할 수 있다. 예를 들어, 동그라미에 관한 입력 데이터가 조금씩 변형되며, 타원형을 갖는 입력 데이터가 발생할 수 있다. 또는, 종래의 클래스(동그라미 및 네모)의 경계성일 수 있는 데이터인 오각형의 데이터가 발생할 수 있으며, 기존의 클래스들과 전혀 무관한 클래스(예를 들어, 별모양)의 데이터가 발생할 수 있다. However, problems appear when the class of the input data is different from the class at the time the artificial intelligence model was created, or the boundaries become ambiguous. According to the above example, the input data at the time the device created the artificial intelligence model had only two classes: circle and square. However, as time passes, data of existing classes may be slightly modified in form, or data may exist at the boundary between classes, making the distinction ambiguous or requiring human labeling, or a class that is completely different from existing classes may occur. of data may occur. For example, input data about a circle may be slightly transformed, and input data having an oval shape may occur. Alternatively, pentagon-shaped data, which is data that may be a boundary of conventional classes (circles and squares), may be generated, and data of a class (for example, star-shaped) that is completely unrelated to existing classes may be generated.
전술한 클래스의 입력 데이터가 입력될 경우, 기 생성된 인공지능 모델은 전술한 클래스의 입력 데이터라도 자신이 학습한 클래스로만 분류할 수 있다. 이에 따라, 전혀 다른 클래스의 데이터는 정답과는 다른 클래스로 분류되어 정답률이 떨어지는 문제가 발생한다. 한편, 기존 클래스의 데이터에서 형태가 조금씩 변형되거나 클래스간 경계에 존재하는 데이터의 경우, 해당 장치가 해당 데이터를 어느 하나의 클래스로 분류한다 하더라도 정답이 맞는 것인지도 불명확하며, 해당 데이터를 정확히 인지하여 분류한 것인지, 정확히 인지하지 못한 상태로 분류한 것인지 분류의 신뢰도(Confidence)를 장담할 수 없는 문제가 있다.When input data of the above-mentioned class is input, the already created artificial intelligence model can classify only the class that it has learned, even if the input data of the above-mentioned class is input. Accordingly, data of completely different classes are classified into a different class from the correct answer, causing a problem in which the correct answer rate decreases. On the other hand, in the case of data that is slightly modified in form from data of an existing class or exists at the boundary between classes, even if the device classifies the data into one class, it is unclear whether the correct answer is correct, and it is unclear whether the data is accurately recognized. There is a problem with not being able to guarantee the confidence of the classification, whether it was classified or not accurately recognized.
이로 인해, 해당 장치의 분류의 신뢰도 저하 및 신뢰도의 저하에 따라 유발될 수 있는 정답률 저하의 문제를 인지하고 이를 개선할 수 있는 방안에 대한 수요가 존재한다.Because of this, there is a demand for a way to recognize and improve the problem of lower reliability of classification of the device and lower correct answer rate that can be caused by lower reliability.
또한, 학습모델의 정답률의 저하를 보완하기 위해, 다양한 유형의 데이터들을 재학습시키는 방법이 이루어지고 있으나, 막연한 데이터의 학습은 전술한 문제를 다시 불러올 가능성이 높아 이에 대한 보완책에 대한 수요도 존재한다.In addition, in order to compensate for the decrease in the correct response rate of the learning model, methods of re-learning various types of data are being used, but learning vague data is likely to bring up the above-mentioned problems again, so there is a demand for complementary measures. .
본 개시는 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. 본 개시의 몇몇 실시예가 이루고자 하는 기술적 과제는, 하나의 인공지능 모델을 이용하여 입력 데이터에 대한 클래스 분류 및 성질 분류를 수행하는 것을 그 목적으로 한다.The present disclosure aims to solve the above-described problems and other problems. The technical task to be achieved by some embodiments of the present disclosure aims to perform class classification and property classification on input data using an artificial intelligence model.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art of the present disclosure from the description below. There will be.
본 개시의 몇몇 실시예에 의한 장치는: 학습 장치로부터 학습 또는 재학습된 인공지능 모델을 수신하는 통신부; 입력 데이터 및 상기 인공지능 모델을 저장하는 메모리부; 상기 입력 데이터를 상기 인공지능 모델에 입력하여 출력되는 제1 값에 기초하여 복수의 클래스 중 어느 하나로 상기 입력 데이터를 분류하는 제1 예측부; 및 상기 입력 데이터를 상기 인공지능 모델에 입력하여 상기 입력 데이터의 성질의 분류와 관련된 제2 값을 획득하는 제2 예측부;를 포함할 수 있다. A device according to some embodiments of the present disclosure includes: a communication unit that receives an artificial intelligence model learned or retrained from a learning device; A memory unit that stores input data and the artificial intelligence model; a first prediction unit that classifies the input data into one of a plurality of classes based on a first value output by inputting the input data into the artificial intelligence model; and a second prediction unit that inputs the input data into the artificial intelligence model to obtain a second value related to classification of the nature of the input data.
본 개시의 몇몇 실시예에 의하면, 상기 인공지능 모델은 상기 입력 데이터가 입력되면 상기 제1 값을 출력하는 제1 서브 모델; 및 상기 입력 데이터에 대한 특징 추출(feature extraction)과 관련된 레이어를 상기 제1 서브 모델과 공유하고, 상기 입력 데이터가 입력되면 제2 값을 출력하는 제2 서브 모델;을 포함할 수 있다. According to some embodiments of the present disclosure, the artificial intelligence model includes a first sub-model that outputs the first value when the input data is input; and a second sub-model that shares a layer related to feature extraction for the input data with the first sub-model and outputs a second value when the input data is input.
본 개시의 몇몇 실시예에 의하면, 상기 학습 장치는, 상기 제2 서브 모델 보다 상기 제1 서브 모델에 가중치를 두고 상기 인공지능 모델에 대한 학습 또는 재학습을 수행할 수 있다. According to some embodiments of the present disclosure, the learning device may perform learning or re-learning of the artificial intelligence model by giving weight to the first sub-model rather than the second sub-model.
본 개시의 몇몇 실시예에 의하면, 상기 학습 장치는, 상기 제1 서브 모델이 상기 제2 서브 모델보다 먼저 학습 또는 재학습되도록 상기 인공지능 모델에 대한 학습 또는 재학습을 수행하되, 상기 제2 서브 모델에 대한 학습 또는 재학습을 수행하는 경우, 상기 레이어에 포함된 적어도 하나의 파라미터는 고정시킨 상태에서 상기 제2 서브 모델에 대한 학습 또는 재학습이 수행될 수 있다. According to some embodiments of the present disclosure, the learning device performs learning or re-learning of the artificial intelligence model so that the first sub-model is learned or re-learned before the second sub-model. When learning or re-learning a model, learning or re-learning the second sub-model may be performed while fixing at least one parameter included in the layer.
본 개시의 몇몇 실시예에 의하면, 상기 학습 장치는, 상기 인공지능 모델에 대한 학습 또는 재학습을 진행하는 제1 단계, 상기 제1 서브 모델에 대한 학습을 진행하는 제2 단계 및 상기 레이어에 포함된 적어도 하나의 파라미터는 고정시킨 상태에서 상기 제2 서브 모델에 대한 학습을 진행하는 제3 단계에 기초하여 상기 인공지능 모델에 대한 학습 또는 재학습을 진행할 수 있다. According to some embodiments of the present disclosure, the learning device includes a first step of learning or re-learning the artificial intelligence model, a second step of learning the first sub-model, and the layer. The artificial intelligence model may be trained or re-trained based on the third step of learning the second sub-model while fixing at least one parameter.
본 개시의 몇몇 실시예에 의하면, 상기 성질은, 상기 제1 예측부가 상기 입력 데이터를 특정 클래스로 분류하는 예측을 수행함에 있어 정답 여부와 무관하게 상기 입력 데이터가 상기 특정 클래스로 분류된다고 확신할 수 있는 정도를 의미하는 신뢰도와 관련 있을 수 있다. According to some embodiments of the present disclosure, the property is such that when the first prediction unit performs prediction to classify the input data into a specific class, it can be confident that the input data is classified into the specific class regardless of whether the answer is correct. It may be related to reliability, which refers to the degree to which something exists.
본 개시의 몇몇 실시예에 따른 입력 데이터를 입력 받아 클래스를 분류하고 입력 데이터의 성질을 분류하는 방법에 있어서, 상기 방법은: 장치의 통신부를 통해 학습 장치로부터 학습 또는 재학습된 인공지능 모델을 수신하는 단계; 입력 데이터 및 상기 인공지능 모델을 장치의 메모리부에 저장하는 단계; 상기 장치의 제1 예측부를 통해 상기 입력 데이터를 상기 인공지능 모델에 입력하여 출력되는 제1 값에 기초하여 복수의 클래스 중 어느 하나로 상기 입력 데이터를 분류하는 단계; 및 상기 장치의 제2 예측부를 통해 상기 입력 데이터를 상기 인공지능 모델에 입력하여 상기 입력 데이터의 성질의 분류와 관련된 제2 값을 획득하는 단계;를 포함할 수 있다. In the method of receiving input data, classifying classes, and classifying properties of the input data according to some embodiments of the present disclosure, the method includes: receiving a learned or re-trained artificial intelligence model from a learning device through a communication unit of the device; steps; Storing input data and the artificial intelligence model in a memory unit of the device; Inputting the input data into the artificial intelligence model through a first prediction unit of the device and classifying the input data into one of a plurality of classes based on a first value output; and inputting the input data into the artificial intelligence model through a second prediction unit of the device to obtain a second value related to classification of the nature of the input data.
본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical solutions obtainable from this disclosure are not limited to the solutions mentioned above, and other solutions not mentioned above will be clearly apparent to those skilled in the art from the description below. It will be understandable.
본 개시에 따른 입력 데이터의 클래스 및 성질 분류하는 기법의 효과에 대해 설명하면 다음과 같다.The effect of the technique for classifying the class and nature of input data according to the present disclosure will be described as follows.
본 개시의 몇몇 실시예에 의하면, 하나의 인공지능 모델을 이용하여 입력 데이터의 클래스 및 성질을 분류할 수 있는 값을 산출할 수 있기 때문에 2개의 인공지능 모델을 이용하는 경우보다 연산량이 줄어들 수 있다. According to some embodiments of the present disclosure, since a value that can classify the class and nature of input data can be calculated using one artificial intelligence model, the amount of calculation can be reduced compared to the case of using two artificial intelligence models.
본 개시의 몇몇 실시예에 의하면, 두 개의 태스크를 별도의 인공지능 모델로 학습하는 경우에 비해, 두 개의 태스크를 하나의 인공지능 모델로 학습했을 때는 두 태스크가 상호의 학습을 방해하여 정확도가 떨어지는 문제점을 두 태스크의 역할을 감안한 효과적인 트레이드-오프(trade-off) 방법으로 해결할 수 있다.According to some embodiments of the present disclosure, compared to the case of learning two tasks with separate artificial intelligence models, when two tasks are learned with one artificial intelligence model, the two tasks interfere with each other's learning, resulting in lower accuracy. The problem can be solved with an effective trade-off method that takes into account the roles of the two tasks.
본 개시를 통해 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained through the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.
도 1a 내지 도 1d는 본 개시의 몇몇 실시예에 따른 인공지능 모델 건강도 관리 시스템의 구성을 도시한 도면이다.
도 2는 본 개시의 몇몇 실시예에 따른 학습 장치의 구성을 도시한 도면이다.
도 3은 본 개시의 몇몇 실시예에 따른 학습 장치가 클래스에 따라 군집시키는 방법을 예시한 도면이다.
도 4는 본 개시의 몇몇 실시예에 따른 학습 장치에 의해 클래스에 따라 다양한 방법으로 군집된 클래스를 예시한 도면이다.
도 5는 본 개시의 제1 실시예에 따른 예측 장치의 구성을 도시한 도면이다.
도 6은 본 개시의 제1 실시예에 따른 운영 장치의 구성을 도시한 도면이다.
도 7은 본 개시의 몇몇 실시예에 따른 운영 장치에 의해 분류된 각 클래스와 산출된 제2 값의 잠재공간 상의 관계를 도시한 도면이다.
도 8은 본 개시의 몇몇 실시예에 따른 운영 장치에 의해 분류된 제1, 2, 3군이 잠재공간 상에 배치된 모습을 도시한 도면이다.
도 9는 본 개시의 제1 실시예에 따른 운영 장치가 인공지능 모델의 건강도를 판단하는 방법을 도시한 타이밍 차트이다.
도 10은 본 개시의 제1 실시예에 따른 운영 장치가 학습 또는 재학습할 데이터를 선별하는 방법을 도시한 타이밍 차트이다.
도 11은 본 개시의 제1 실시예에 따른 운영 장치가 입력된 데이터의 예측값과 함께 샘플을 선정하여 출력하는 방법을 도시한 타이밍 차트이다.
도 12는 본 개시의 제2 실시예에 따른 예측 장치의 구성을 도시한 도면이다.
도 13은 본 개시의 제2 실시예에 따른 운영 장치의 구성을 도시한 도면이다.
도 14은 본 개시의 제2 실시예에 따른 운영 장치가 인공지능 모델의 건강도를 판단하는 방법을 도시한 타이밍 차트이다.
도 15은 본 개시의 제2 실시예에 따른 운영 장치가 학습 또는 재학습할 데이터를 선별하는 방법을 도시한 타이밍 차트이다.
도 16는 본 개시의 제2 실시예에 따른 운영 장치가 입력된 데이터의 예측값과 함께 샘플을 선정하여 출력하는 방법을 도시한 타이밍 차트이다.
도 17은 본 개시의 몇몇 실시예에 따른 학습 장치가 모델을 학습하는 방법을 도시한 타이밍차트이다.
도 18는 본 개시의 몇몇 실시예에 따른 인공지능 모델 건강도 관리 시스템이 인공지능 모델의 신뢰도를 판단하는 방법을 도시한 타이밍차트이다.
도 19 및 도 20은 본 개시의 몇몇 실시예에 따른 표시부가 라벨링 가이드부에 의해 선정된 샘플을 출력한 화면을 예시한 도면이다.
도 21은 본 개시의 몇몇 실시예에 따른 인공지능 모델의 일례를 설명하기 위한 도면이다. 1A to 1D are diagrams illustrating the configuration of an artificial intelligence model health management system according to some embodiments of the present disclosure.
Figure 2 is a diagram illustrating the configuration of a learning device according to some embodiments of the present disclosure.
Figure 3 is a diagram illustrating a method of clustering according to class by a learning device according to some embodiments of the present disclosure.
FIG. 4 is a diagram illustrating classes clustered in various ways according to class by a learning device according to some embodiments of the present disclosure.
Figure 5 is a diagram showing the configuration of a prediction device according to the first embodiment of the present disclosure.
Figure 6 is a diagram showing the configuration of an operating device according to a first embodiment of the present disclosure.
FIG. 7 is a diagram illustrating the relationship between each class classified by the operating device and the calculated second value in the latent space according to some embodiments of the present disclosure.
FIG. 8 is a diagram illustrating the arrangement of groups 1, 2, and 3 classified by an operating device according to some embodiments of the present disclosure in a latent space.
Figure 9 is a timing chart showing a method by which an operating device determines the health of an artificial intelligence model according to the first embodiment of the present disclosure.
FIG. 10 is a timing chart illustrating a method by which an operating device selects data to learn or re-learn according to the first embodiment of the present disclosure.
FIG. 11 is a timing chart illustrating a method in which an operating device according to the first embodiment of the present disclosure selects and outputs a sample along with a predicted value of input data.
FIG. 12 is a diagram illustrating the configuration of a prediction device according to a second embodiment of the present disclosure.
Figure 13 is a diagram showing the configuration of an operating device according to a second embodiment of the present disclosure.
Figure 14 is a timing chart showing a method by which an operating device determines the health of an artificial intelligence model according to a second embodiment of the present disclosure.
FIG. 15 is a timing chart illustrating a method by which an operating device selects data to learn or re-learn according to a second embodiment of the present disclosure.
FIG. 16 is a timing chart illustrating a method in which an operating device according to a second embodiment of the present disclosure selects and outputs a sample along with a predicted value of input data.
Figure 17 is a timing chart showing how a learning device learns a model according to some embodiments of the present disclosure.
Figure 18 is a timing chart showing how the artificial intelligence model health management system determines the reliability of the artificial intelligence model according to some embodiments of the present disclosure.
19 and 20 are diagrams illustrating screens on which a display unit outputs a sample selected by a labeling guide unit according to some embodiments of the present disclosure.
Figure 21 is a diagram for explaining an example of an artificial intelligence model according to some embodiments of the present disclosure.
이하에서는 도면을 참조하여 본 개시에 따른 장치 및 방법의 다양한 실시예(들)를 상세하게 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, various embodiment(s) of the device and method according to the present disclosure will be described in detail with reference to the drawings. However, identical or similar components are given the same reference numbers regardless of the reference numerals, and duplicate descriptions thereof are omitted. I decided to do it.
본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시의 하나 이상의 실시예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 적어도 하나의 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. The purpose and effects of the present disclosure, and technical configurations for achieving them, will become clear by referring to the embodiments described in detail below along with the accompanying drawings. In describing one or more embodiments of the present disclosure, if it is determined that a detailed description of related known technology may obscure the gist of at least one embodiment of the present disclosure, the detailed description will be omitted.
본 개시의 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 또한, 첨부된 도면은 본 개시의 하나 이상의 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 개시의 기술적 사상이 제한되지 않으며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The terms in this disclosure are terms defined in consideration of the functions in this disclosure, and may vary depending on the intention or custom of the user or operator. In addition, the attached drawings are only for easy understanding of one or more embodiments of the present disclosure, and the technical idea of the present disclosure is not limited by the attached drawings, and all changes included in the spirit and technical scope of the present disclosure are not limited. , should be understood to include equivalents or substitutes.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 본 개시의 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. The suffixes “module” and “part” for components used in the following description are given or used interchangeably only considering the ease of preparation of the present disclosure, and do not have distinct meanings or roles in themselves.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성 요소가 될 수도 있다. Terms containing ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. Accordingly, the first component mentioned below may also be the second component within the technical spirit of the present disclosure.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 즉, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우, 본 개시와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다. Singular expressions include plural expressions unless the context clearly dictates otherwise. That is, unless otherwise specified or clear from context to indicate a singular form, the singular in this disclosure and claims should generally be construed to mean “one or more.”
본 개시에서, "포함하는", "포함한다" 또는 "가지다" 등의 용어는 본 개시상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present disclosure, terms such as “comprising,” “includes,” or “have” are intended to indicate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the present disclosure. It should be understood that this does not exclude in advance the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
본 개시에서 "또는"이라는 용어는 배타적 의미의 "또는"이 아니라 내포적 의미의 "또는"으로 이해되어야 한다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 개시에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다. In the present disclosure, the term “or” should be understood not as “or” in the exclusive sense but as “or” in the connotative sense. That is, unless otherwise specified or clear from context, “X utilizes A or B” is intended to mean one of the natural implicit substitutions. That is, either X uses A; X uses B; Or, if X uses both A and B, “X uses A or B” can apply to either of these cases. Additionally, the term “and/or” as used in this disclosure should be understood to refer to and include all possible combinations of one or more of the related listed items.
본 개시에서 사용되는 용어 "정보" 및 "데이터"는 서로 상호 교환 가능하도록 사용될 수 있다. As used in this disclosure, the terms “information” and “data” may be used interchangeably.
다른 정의가 없다면, 본 개시에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시의 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 특별히 정의되어 있지 않는 한 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this disclosure may be used with meanings that can be commonly understood by those skilled in the art. Additionally, terms defined in commonly used dictionaries are not overly interpreted unless specifically defined.
그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 개시의 몇몇 실시예들은 본 개시의 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 개시 전반에 걸친 내용을 토대로 내려져야 할 것이다.However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. Only some embodiments of the present disclosure are provided to fully inform those skilled in the art of the present disclosure of the scope of the present disclosure, and the present disclosure is only defined by the scope of the claims. Therefore, the definition should be made based on the content throughout this disclosure.
도 1a 내지 도 1d는 본 개시의 몇몇 실시예에 따른 인공지능 모델 건강도 관리 시스템의 구성을 도시한 도면이다.1A to 1D are diagrams illustrating the configuration of an artificial intelligence model health management system according to some embodiments of the present disclosure.
도 1a 내지 도 1d를 참조하면, 본 개시의 몇몇 실시예에 따른 인공지능 모델 건강도 관리 시스템(100)은 학습 장치(110), 예측 장치(120) 및 운영 장치(130)를 포함한다. 이하에서는 특정 장치(예를 들어, 학습 장치(110))로부터 다른 장치(예를 들어, 예측 장치(120))로 데이터 등이 직접 송·수신되는 것으로 한정하여 설명하나, 반드시 이에 한정되는 것은 아니고 특정 장치에서 다른 장치로 데이터 등이 데이터 베이스나 USB 등과 같이 별도의 매개체를 거치며 송·수신될 수 있다. 다만, 이하에서는 편의상 데이터 등이 직접 송·수신되는 것으로 설명하고 본 개시는 이에 한정되는 것은 아니다. 1A to 1D, the artificial intelligence model health management system 100 according to some embodiments of the present disclosure includes a
기구/설비(145)는 일정 공간(140)에 배치되어, 인간의 판단이나 검사를 요하는 데이터를 출력할 수 있다. 예를 들어, 공간(140)은 공장으로 구현될 수 있으며, 기구/설비(145)는 특정 소재나 부품 등을 생산하는 제조설비일 수 있다. 이처럼, 기구/설비(145)는 공간(140) 내에 하나 이상 배치되어, 인간의 판단이나 검사를 요하는 데이터를 출력할 수 있다. 기구/설비(145)로부터 기 생산된 데이터는 학습 장치(110)로 제공되며, 학습 장치(110)는 기 생산된 데이터를 이용하여 인공지능 모델을 트레이닝(training)하여 인공지능 모델을 생성할 수 있다. 한편, 기구/설비(145)로부터 실시간으로 출력되는 데이터는 예측 장치(120)로 제공될 수 있으며, 예측 장치(120)는 인공지능 모델을 이용해 입력 데이터를 특정 클래스로 분류하고, 입력 데이터의 성질을 분류하는데 이용되는 제2 값을 산출 수 있다.The instrument/
공간(140)의 관리자, 운영자 또는 기구/설비(145)에서 출력되는 데이터의 관계자(이하에서, '관계자'로 약칭함)는 생성된 인공지능 모델(학습 장치(110)에서 생성된 인공지능 모델)에 의해 예측 장치(120)가 예측(Inference)하는 예측 값(제1 값 및 제2 값)을 확인할 수 있다. 또한, 관계자는 운영 장치(130)가 출력하는 인공지능 모델의 건강도(Health Index)를 확인하여 인공지능 모델이 실시간으로 입력되는 데이터에 대한 클래스를 제대로 분류하고 있는지 여부를 간접적으로 확인할 수 있다. 여기서, 인공지능 모델의 건강도란 인공지능 모델에서 출력된 예측 값에 포함된 제2 값에 기초하여 입력 데이터의 클래스에 대한 분류가 제대로 되었는지 여부를 의미하는 것으로서, 인공지능 모델에서의 예측 값의 정확도(정답률)를 의미할 수 있다. 관계자는 인공지능 모델의 건강도(Health Index)를 직접 예측 장치(120) 또는 운영 장치(130)로부터 확인할 수도 있고, 관계자 자신의 단말(미도시)을 이용하여 예측 장치(120) 또는 운영 장치(130)와 통신함으로써 확인할 수도 있다.The manager, operator, or person involved in the data output from the apparatus/
이와 함께, 입력되는 데이터를 토대로 결과를 직접 판단하거나 검사할 수 있는 사람(예를 들어, 라벨러(Labeler)일 수 있으며, 이하에서 '라벨러'라 칭함)은 학습 또는 재학습하기 위해 운영 장치(130)가 선별한 데이터들에 대해 라벨링 또는 재라벨링을 수행할 수 있다. 라벨러가 라벨링 또는 재라벨링을 수행한 데이터에 대해 학습 장치(110)가 학습 또는 재학습을 수행함으로써, 인공지능 모델이 보다 높은 정확도로 입력 데이터에 대해 예측을 수행할 수 있다.In addition, a person who can directly judge or inspect the results based on the input data (for example, may be a labeler, hereinafter referred to as 'labeler') uses the operating device (130) to learn or re-learn. ) can perform labeling or relabeling on the selected data. As the
학습 장치(110)는 기구/설비(145) 또는 공간(140)의 관계자의 단말(미도시)로부터 학습을 위한 데이터셋, 딥러닝 모델 아키텍쳐(이하에서, '아키텍쳐'라 약칭함), 코스트 함수(Cost Function) 및 최적화방법(Optimization)에 대한 입력을 수신하여, 인공지능 모델을 생성한다. The
학습 장치(110)는 학습을 위한 데이터셋으로서 입력 데이터 및 해당 입력 데이터들에 라벨링된 결과값을 수신하며, 그와 함께 아키텍쳐, 코스트 함수 및 최적화 방법을 수신한다. 여기서, 코스트 함수는 다음과 같이 정의된다. The
제1 코스트 함수는, 동일한 클래스의 두 입력 데이터의 잠재 공간(Latent Space) 상 포인트 간 거리에 비례하는 함수일 수 있다. The first cost function may be a function proportional to the distance between points in the latent space of two input data of the same class.
본 개시의 몇몇 실시예에 따르면, 인공지능 모델에 포함된 (제2 값의 출력과 관련된) 제2 서브 모델은 제1 코스트 함수를 이용하여 학습될 수 있다.According to some embodiments of the present disclosure, the second sub-model (related to the output of the second value) included in the artificial intelligence model may be learned using the first cost function.
제2 코스트 함수는 제1 값과 결과값(정답값)의 차이에 비례하는 함수일 수 있다. 코스트 값은 코스트 함수에 의해 도출된 수치를 의미한다. 본 개시의 몇몇 실시예에 따르면, 제2 코스트 함수는 인공지능 모델에 포함된 (제1 값을 출력과 관련된) 제1 서브 모델을 학습시킬 때 이용될 수 있다. The second cost function may be a function proportional to the difference between the first value and the result value (correct answer value). The cost value refers to a numerical value derived by the cost function. According to some embodiments of the present disclosure, the second cost function may be used when training the first sub-model (related to outputting the first value) included in the artificial intelligence model.
한편, 본 개시에서 예측값은 복수의 클래스 중 어느 클래스로 입력 데이터를 분류할지 결정할 때 사용되는 제1 값 및 입력 데이터의 성질과 관련된 제2 값을 포함할 수 있다. 여기서, 제1 값은, 입력 데이터가 어느 클래스에 해당하는지 각 클래스 별로 확률값으로 도출되며, 예측 장치(120)는 제1 값을 이용하여 입력 데이터가 어느 클래스에 해당하는지에 대한 결과값을 산출할 수 있다. 한편, 제2 값은 입력 데이터의 성질과 관련된 값으로 잠재 공간 상에서 제1 값이 위치하는 좌표 값을 의미할 수 있으나 본 개시는 이에 한정되는 것은 아니고 다양한 종류의 값이 제2 값이 될 수 있다. Meanwhile, in the present disclosure, the predicted value may include a first value used when determining which of the plurality of classes to classify the input data into, and a second value related to the nature of the input data. Here, the first value is derived as a probability value for each class as to which class the input data corresponds to, and the
예를 들어, 클래스가 3개가 존재하고, 입력 데이터가 클래스 1로 분류되어야 하는 입력 데이터라면, 제1 값은 (0.7, 0.2, 0.1)(수치는 신뢰도에 따라 가변 가능함)일 수 있으며, 결과값은 (1, 0, 0)에 해당할 수 있다. 제2 코스트 함수의 코스트 값은 제1 값(또는 결과값)과 정답값의 차이에 비례하는 수치를 의미할 수 있다. 한편, 가상 공간에 각 입력 데이터 포인트를 그 입력 데이터의 제2 값 좌표에 배치함으로서 각 입력 데이터의 성질을 파악할 수 있다. 여기서, 입력 데이터 포인트는 잠재 공간 상에 표현된 입력 데이터를 의미할 수 있다. For example, if there are three classes and the input data is input data that should be classified as class 1, the first value may be (0.7, 0.2, 0.1) (the number can be varied depending on reliability), and the result value may correspond to (1, 0, 0). The cost value of the second cost function may mean a numerical value proportional to the difference between the first value (or result value) and the correct answer value. Meanwhile, the properties of each input data can be identified by placing each input data point in the virtual space at the second value coordinate of the input data. Here, the input data point may mean input data expressed on the latent space.
한편, 제1 코스트 함수는, 동일한 클래스의 두 입력 데이터의 잠재 공간 상 포인트 간 거리에 비례하는 함수일 수 있다.Meanwhile, the first cost function may be a function proportional to the distance between points in the latent space of two input data of the same class.
반대로, 제1 코스트 함수는 다른 클래스의 두 입력 데이터에 잠재 공간 상 포인트 간 거리에 반비례하는 함수일 수 있다. 여기서, 반비례라는 표현을 사용하였으나, 이에 한정되는 것은 아니고, 같은 클래스에 해당하는 입력 데이터 포인트는 서로 가까워지면서, 다른 클래스에 해당하는 입력 데이터 포인트는 서로 멀어지도록 제1 코스트 함수가 설정될 수 있다. Conversely, the first cost function may be a function inversely proportional to the distance between points in the latent space of two input data of different classes. Here, the expression inverse proportion is used, but it is not limited to this, and the first cost function may be set so that input data points corresponding to the same class become closer to each other, while input data points corresponding to different classes move away from each other.
본 개시의 몇몇 실시예에 따르면, 제1 코스트 함수는 상기 두 타입의 제1 코스트 함수를 모두 포함할 수 있다.According to some embodiments of the present disclosure, the first cost function may include both types of first cost functions.
최적화 방법은 코스트 함수로 결정되는 코스트 값을 최소화하는 방법을 의미한다. 학습 장치(110)는 전술한 데이터를 수신하며, 최적화 방법에 따라 코스트 값을 최소화하는 방향으로 아키텍쳐 내에서 파라미터(Parameter)를 지속적으로 연산하여 선택함으로써 인공지능 모델에 대한 학습을 수행할 수 있다. 이에 따라, 학습 장치(110)는 코스트 값을 최소화하도록 선정된 파라미터를 갖는 아키텍쳐를 인공지능 모델로 생성할 수 있다. The optimization method refers to a method of minimizing the cost value determined by the cost function. The
학습 장치(110)는 최적화 방법에 따라 코스트 값이 최소화되는 파라미터를 연산하여 인공지능 모델을 생성할 수 있다.The
학습 장치(110)는 (재)학습을 위해 선별된 데이터를 운영 장치(130)로부터 수신하여 인공지능 모델을 생성하거나, 기 생성된 인공지능 모델을 재학습시킬 수 있다. 통상적으로 학습을 위해 입력되는 (라벨링된) 입력 데이터가 많을수록, 인공지능 모델의 예측의 정확도는 향상될 것으로 알려져 있다. 그러나 반드시 입력 데이터의 수량과 인공지능 모델의 예측의 정확도가 비례하는 것은 아니다. 라벨링된 입력 데이터 내에는 라벨링이 잘못된 데이터(예를 들어, 실수로 라벨링이 잘못된 데이터)가 포함되어 있을 수 있다. 이러한 데이터들이 입력 데이터 내에 포함되면 인공지능 모델의 예측 정확도가 낮아질 수 있다. 이와 함께, 학습할 데이터량이 상당히 많을 경우(예를 들어, 수만건 내지 수십만건 또는 그 이상)에는, 데이터 자체에 오류율이 많더라도 인공지능 모델이 다른 데이터들로부터 학습한 데이터를 토대로 오류임을 인지할 수 있다. 그러나 학습할 데이터량이 상대적으로 부족할 경우(수천건 이하)에는, 이와 같이 데이터 자체에 오류가 존재할 경우 이러한 오류가 예측에 치명적인 영향을 미칠 수 있다. 이와 함께, 데이터량이 상당한 가운데, 상대적으로 중요도가 낮은 데이터들의 비중이 상대적으로 중요도가 높은 데이터보다 월등히 높을 경우, 상대적으로 중요도가 높은 데이터의 학습이 원활치 못해 인공지능 모델의 예측의 정확도를 낮추는 결과를 불러올 수 있다. 발명의 배경이 되는 기술에서 언급한 예와 같이, 동그라미와 네모를 분류하기 위한 모델에 있어, 명확히 동그라미 모양인 입력 데이터와 명확히 네모 모양인 입력 데이터의 중요도 보다는 동그라미 모양과 네모 모양의 경계에 있어 일도양단식으로 어느 하나로 구분하기 곤란한 입력 데이터의 중요도가 높을 수 있다. 이러한 데이터들이 상당수 학습될 경우, 경계선상에 있는 입력 데이터가 입력되더라도 상대적으로 정확히 예측할 수 있다. 그러나 전술한 대로, 상대적으로 중요도가 낮은 데이터들의 비중이 상대적으로 중요도가 높은 데이터보다 월등히 높을 경우에는, 상대적으로 중요도가 높은 데이터의 학습이 원활하지 못하게 일어날 가능성이 높다. 따라서, 단순하게 학습할 데이터셋이 많다고 인공지능 모델의 예측의 정확도를 담보하는 것은 아니다. 이러한 점을 인지하여, 학습 장치(110)는 운영 장치(130)가 선별하여 라벨러에 의해 라벨링된 입력 데이터를 학습하거나 재학습함으로써, 인공지능 모델의 예측의 정확도를 확보하거나 유지할 수 있다. 인공지능 모델의 구체적인 구성은 도 21을 참조하여 후술한다.The
예측 장치(120)는 학습 장치(110)로부터 생성된 인공지능 모델을 수신하여, 기구/설비(145)로부터 실시간으로 생성되는 입력 데이터의 클래스를 분류하기 위한 제1 값을 산출하고, 입력 데이터의 성질과 관련된 제2 값을 산출할 수 있다. The
제1 값은 입력 데이터가 어느 클래스에 해당하는지 나타내는 값으로, 각 클래스에 해당할 확률일 수 있다. 압도적인 확률로 입력 데이터가 특정 클래스에 해당할 것이라는 결과가 도출될 수도 있으나, 근소한 (확률) 차이로 입력 데이터가 특정 클래스에 해당할 것이라는 결과가 도출될 수 있다. 예측 장치(120)는 인공지능 모델을 이용하여 입력 데이터가 어떠한 클래스에 해당할 것인지에 대한 확률 값(제1 값)으로 예측을 수행할 수 있다. The first value is a value indicating which class the input data corresponds to, and may be the probability of corresponding to each class. The result may be drawn that the input data corresponds to a specific class with an overwhelming probability, but the result may be derived that the input data corresponds to a specific class with a slight (probability) difference. The
제2 값은 입력 데이터의 성질과 관련된 좌표 값으로, 잠재 공간 상에서 해당 입력 데이터 포인트가 어느 위치에 배치되는지를 나타내는 값일 수 있다. 입력 데이터의 성질은 입력 데이터를 특정 클래스로 분류하는 예측을 수행함에 있어 정답 여부와 무관하게 입력 데이터가 특정 클래스로 분류된다고 확신할 수 있는 정도를 의미하는 신뢰도와 관련이 있을 수 있다. The second value is a coordinate value related to the properties of the input data and may be a value indicating where the input data point is located in the latent space. The nature of the input data may be related to reliability, which refers to the degree to which one can be confident that the input data is classified into a specific class, regardless of whether the correct answer is correct, when performing a prediction that classifies the input data into a specific class.
본 개시에서 운영 장치(130)가 제2 값을 수신한 경우, 운영 장치(130)가 입력 데이터의 성질을 분류할 수 있으며, 이에 대한 자세한 설명은 후술한다. In the present disclosure, when the
예측 장치(120)는 전술한 과정을 거쳐 학습 장치(110)가 생성한 인공지능 모델을 수신하여 저장해두며, 기구/설비(145)로부터 실시간으로 생성되는 데이터를 수신할 수 있다. 예측 장치(120)는 수신되는 실시간 데이터를 입력 데이터로 하여, 인공지능 모델을 이용해 입력 데이터의 클래스를 분류하고 입력 데이터의 성질과 관련된 제2 값을 산출할 수 있다. The
예측 장치(120)는 기 설정된 기간동안 입력된 입력 데이터와 그에 대한 제1 값 및 제2 값을 저장해두며, 이를 운영 장치(130)로 전달할 수 있다.The
운영 장치(130)는 예측 장치(120)로부터 입력 데이터 및 그에 대한 예측값(제1 값 및 제2 값)을 수신하여, 수신된 값을 토대로 제1 값의 신뢰도를 연산할 수 있다. The operating
운영 장치(130)는 예측 장치(120)로부터 입력 데이터 및 그에 대한 예측값(제1 값 및 제2 값)을 수신하여 제1 값의 신뢰도(Confidence)를 연산하며, 신뢰도를 토대로 예측 장치(120)에 저장된 인공지능 모델의 건강도를 판단하거나 학습 또는 재학습할 데이터를 선별할 수 있다. The operating
신뢰도는 입력 데이터를 특정 클래스로 분류하기 위해 예측을 수행함에 있어, 해당 입력 데이터가 특정 클래스로 분류된다고 확신할 수 있는 정도를 의미할 수 있다. Reliability may refer to the degree to which one can be confident that the input data is classified into a specific class when making predictions to classify input data into a specific class.
신뢰도는 잠재공간 상에서 각 클래스(보다 구체적으로는 각 클래스의 중심)와 해당 입력 데이터 포인트(제2 값 좌표에 배치된) 사이의 거리, 보다 구체적으로는 각 클래스와 해당 입력 데이터 포인트 사이의 거리 비율로 연산될 수 있다. 여기서, 거리는 유클리디안(Euclidian) 거리를 의미할 수 있으나, 반드시 이에 한정되는 것은 아니며 마할라노비스(Mahalanobis) 거리 등을 의미할 수도 있다. Confidence is the distance between each class (more specifically, the centroid of each class) and its input data point (located at the second value coordinate) in the latent space; more specifically, the ratio of the distance between each class and its input data point. It can be calculated as: Here, the distance may mean Euclidian distance, but is not necessarily limited thereto and may mean Mahalanobis distance, etc.
일례로, 신뢰도가 높은 입력 데이터 포인트는 잠재 공간 상 특정 클래스의 중심과의 거리가 짧은 반면, 나머지 클래스의 중심과의 거리는 긴 상태(자신이 분류된 클래스와의 거리만이 짧음)를 가질 수 있다. For example, an input data point with high reliability may have a short distance to the center of a specific class in the latent space, while the distance to the center of the remaining classes may be long (only the distance to the class in which it is classified is short). .
다른 일례로, 신뢰도가 낮은 입력 데이터 포인트는 모든 클래스의 중심과의 거리가 기 설정된 기준치 이상이 되거나, 2개 이상의 클래스의 중심과의 거리가 유사한 상태(자신이 분류된 클래스 뿐만 아니라 다른 클래스와의 거리도 짧거나 모두 긺)를 가질 수 있다.As another example, an input data point with low reliability has a distance from the center of all classes that is greater than a preset standard value, or a state in which the distance to the center of two or more classes is similar (not only to the class in which it is classified, but also to other classes). The distance can be short or long.
신뢰도가 낮은 입력 데이터 포인트가 증가할 경우, 전술한 바와 같이 신규 클래스의 데이터나 2 이상의 클래스의 경계에 있는 데이터 등이 등장하거나 증가하고 있다는 것을 의미할 수 있다. 이에, 운영 장치(130)는 인공지능 모델의 건강도가 낮아져 정답률이 떨어지고 있거나 떨어질 우려가 있다고 판단할 수 있다. If input data points with low reliability increase, as described above, it may mean that data of a new class or data at the boundary of two or more classes are appearing or increasing. Accordingly, the operating
본 개시에서 제2 값은 잠재 공간 상에서 입력 데이터 포인트가 어느 위치에 배치되는지를 나타내는 좌표 값이기 때문에, 운영 장치(130)는 제2 값을 이용하여 입력 데이터 포인트의 잠재 공간 상의 위치를 확인하고, 이를 이용하여 신뢰도를 연산할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다. In the present disclosure, since the second value is a coordinate value indicating where the input data point is located in the latent space, the operating
운영 장치(130)는 인공지능 모델의 건강도가 낮아졌음을 직접 출력하여 관계자에게 알리거나, 관계자 단말(미도시)로 통지하여, 인공지능 모델에 재학습이 필요함을 통지할 수 있다.The operating
운영 장치(130)는 연산한 신뢰도를 토대로, 학습하거나 재학습할 데이터를 선별할 수 있다. 운영 장치(130)는 모든 입력 데이터에 대한 제1 값의 신뢰도를 연산하며, 해당 제1 값을 갖는 입력 데이터의 성질을 분류할 수 있다. The operating
입력 데이터는 성질에 따라 다음과 같이 분류될 수 있다. Input data can be classified according to its properties as follows.
입력 데이터 포인트가 잠재 공간 상에서 특정 클래스의 반경 내에 위치하여 특정 클래스로만 온전히 분류될 수 있는 데이터(이하에서, '제1 군'이라 칭함), 입력 데이터 포인트가 잠재 공간 상에서 모든 클래스의 반경 외에 위치하되, (기 설정된 기준치 이내의 거리에서) 2 이상의 클래스에 상대적으로 인접해 위치한 데이터(이하에서, '제2 군'이라 칭함) 및 입력 데이터 포인트가 잠재 공간 상에서 모든 클래스와 기 설정된 기준치 이상 떨어진 데이터(이하에서, '제3 군'이라 칭함)로 분류될 수 있다. 여기서, 제2 값은 잠재 공간 상에서 해당 입력 데이터 포인트가 어느 위치에 배치되는지를 나타내는 좌표 값이기 때문에 해당 입력 데이터 포인트가 잠재 공간 상에 배치된 위치는 제2 값을 이용하여 확인할 수 있다. Data that can be fully classified only into a specific class because the input data point is located within the radius of a specific class in the latent space (hereinafter referred to as 'first group'), and the input data point is located outside the radius of all classes in the latent space, but , data located relatively adjacent to two or more classes (hereinafter referred to as 'second group') (at a distance within a preset standard value), and data whose input data points are separated from all classes in the latent space by more than a preset standard value (hereinafter referred to as 'second group'). Hereinafter, it may be classified into 'Group 3'). Here, since the second value is a coordinate value indicating where the input data point is placed in the latent space, the position where the input data point is placed in the latent space can be confirmed using the second value.
입력 데이터의 성질을 분류하기 위해서는 잠재 공간 상에서 그 입력 데이터 포인트와 특정 클래스와의 거리 정보가 필요할 수 있다. In order to classify the properties of input data, distance information between the input data point and a specific class in the latent space may be required.
운영 장치(130)는 제2 값을 이용하여 각 입력 데이터에 대한 제1 값의 신뢰도를 연산하고, 신뢰도를 토대로 해당 입력 데이터가 어떠한 군에 속하는 성질을 갖는지 분류할 수 있다. The operating
운영 장치(130)는 이처럼 성질에 따라 각 입력 데이터를 분류하며, 각 성질별로 기 설정된 개수의 데이터를 선별할 수 있다. 전술한 대로, 실시간으로 입력되는 데이터 내에서 예측의 정확도를 떨어뜨리는 요인은 제2 군에 속하는 입력 데이터나 제3 군 중 신규 클래스에 해당하는 입력 데이터일 수 있다. 이러한 입력 데이터들이 학습에 있어 주로 학습되어야 하므로, 제2 군 및 제3 군의 데이터들이 일정 비율만큼 포함될 수 있도록, 운영 장치(130)는 각 성질별로 기 설정된 개수의 데이터들을 선별할 수 있다. 예를 들어, 운영 장치(130)는 제1 군, 제2 군 및 제3 군에서 각각 4:3:3 또는 6:2:2 등의 비율로 데이터를 선별할 수 있다. The operating
운영 장치(130)는 선별한 데이터를 학습 장치(110)로 전달함으로써, 학습 장치(110)가 최초로 인공지능 모델을 학습할 때 선별된 데이터만으로 인공지능 모델을 학습시키도록 야기하거나, 선별된 데이터들로 인공지능 모델을 재학습시키도록 야기할 수 있다. The operating
전술한 대로, 무작정 학습할 데이터가 많다고 인공지능 모델의 정답률이 높아지는 것은 아니기에, 운영 장치(130)는 데이터를 선별함으로써, 최초로 생성될 인공지능 모델의 정답률을 높이거나 (실시간으로 생성되는) 입력 데이터의 변화에 따라 재학습하여 정답률을 높일 수 있다.As mentioned above, the correct answer rate of the artificial intelligence model does not increase if there is a lot of data to learn, so the operating
운영 장치(130)는 라벨러가 (재)라벨링을 원활히 할 수 있도록, 제2군 또는 제3군으로 분류된 입력 데이터들을 직접 출력할 수 있다. 이때, 운영 장치(130)는 입력 데이터들을 출력함에 있어, 입력 데이터의 예측 과정에서 근소한 확률 차이를 가졌던 각 클래스들로 분류된 (높은 신뢰도를 갖는) 데이터들 중 일부를 예시로 함께 출력할 수 있으며, 입력 데이터가 갖는 성질과 동일한 성질로 기 분류된 데이터 중 일부를 예시로 함께 출력할 수 있다. The operating
일례로, 낮은 신뢰도를 갖는 입력 데이터가 제2 군인 경우, 운영 장치(130)는 입력 데이터의 예측 과정에서 근소한 확률 차이를 가졌던 각 클래스로 분류된 데이터 중 일부를 함께 출력할 수도 있다. 좀더 구체적으로, 제2 군으로 분류된 제1 입력 데이터에 대한 라벨링을 수행할 때 제1 군으로 분류된 입력 데이터들 중 제1 입력 데이터 포인트와 거리가 가까운 제2 입력 데이터를 함께 출력할 수 있다. 이 경우, 라벨러는 제1 입력 데이터가 어느 클래스로 라벨링되어야 하는지 판단하는 데에 도움이 될 수 있다. 한편, 본 개시에서 제2 값은 잠재 공간 상에서 해당 입력 데이터 포인트가 어느 위치에 배치되는지를 나타내는 좌표 값이기 때문에, 해당 입력 데이터 포인트와 거리가 가까운 제2 입력 데이터를 추출하기 위해 제2 값이 이용될 수 있다. For example, when input data with low reliability is the second group, the operating
다른 일례로, 낮은 신뢰도를 갖는 입력 데이터가 제2 군인 경우, 운영 장치(130)는 제2 군으로 분류된 다양한 데이터 중 일부를 예시로 함께 출력할 수 있다. 특히, 운영 장치(130)가 동일한 성질로 분류된 데이터를 함께 출력함에 따라, 라벨러가 기존에 제2 군으로 분류된 데이터들이 어떠한 클래스로 분류되었는지를 참조할 수 있어, 해당 입력 데이터를 기존과 동일한 기준으로 분류할 수 있도록 도울 수 있다.As another example, when the input data with low reliability is the second group, the operating
학습 장치(110), 예측 장치(120) 및 운영 장치(130)는 각각 도 1a 내지 도 1d 중 어느 하나와 같이 배치될 수 있다.The
도 1a에 도시된 바와 같이, 기구/설비(145)와 함께 공간(140) 상에 학습 장치(110)와 예측 장치(120)가 모두 배치될 수 있다. 학습 장치(110)는 기구/설비(145)로부터 학습할 데이터를 직접 입력받아 인공지능 모델을 생성할 수 있으며, 예측 장치(120)는 기구/설비(145)로부터 실시간으로 생성되는 데이터를 인공지능 모델을 이용하여 분류할 수 있다. As shown in FIG. 1A, both the
운영 장치(130)는 각 구성(110, 120, 145)과 통신하며 필요한 데이터를 송수신할 수 있다. 운영 장치(130)는 예측 장치(120)로부터 입력 데이터와 입력 데이터를 인공지능 모델에 입력하여 산출된 제1 값 및 제2 값을 수신할 수 있으며, 운영 장치(130)는 인공지능 모델의 건강도 및 선별한 데이터들을 학습 장치(110) 또는 관계자에게 통지할 수 있다. The operating
관계자는 공간(140) 내에서 예측 장치(120)를 이용해 산출된 제1 값 및 제2 값을 실시간으로 확인할 수 있으며, 관계자 또는 라벨러는 장소에 구애없이 운영 장치(130)를 이용하여 인공지능 모델의 건강도를 판단할 수 있다.The person concerned can check the first and second values calculated using the
학습 장치(110)는 기구/설비(145)들과 유선 통신으로 데이터를 수신할 수 있으며, 학습 장치(110)가 엣지 컴퓨팅 등의 형태로 구현되어 직접 기구/설비(145)로부터 데이터를 수신할 수 있다.The
도 1b에 도시된 바와 같이, 공간(140) 내에는 예측 장치(120)만이 배치되어 예측을 수행할 수 있으며, 학습 장치(110) 및 운영 장치(130)는 별도의 장소에서 기구/설비(145) 또는 예측 장치(120)와 필요한 데이터를 송·수신할 수 있다.As shown in FIG. 1B, only the
이 경우, 송·수신되는 데이터, 특히, 기구/설비(145)가 학습 장치(110)로 전송하는 데이터에는 암호화가 수행될 수 있다. 기구/설비(145)에서 출력되거나 기 출력되어 축적된 데이터는 특정 산업에서는 중요한 자산에 해당할 수 있어, 보안을 반드시 필요로 할 수 있다. 이에 따라, 기구/설비(145)가 전송할 데이터를 암호화하여 전송할 수 있으며, 학습 장치(110)가 이를 수신하여 복호화함으로써 인공지능 모델을 생성할 수 있다.In this case, encryption may be performed on transmitted and received data, especially data transmitted from the device/
도 1c에 도시된 바와 같이, 공간(140) 내에 인공지능 모델 건강도 관리 시스템(100) 상의 모든 장치(110 내지 130)가 모두 배치되어 동작할 수 있다.As shown in FIG. 1C, all
도 1d에 도시된 바와 같이, 공간(140) 내에 예측 장치(120) 및 운영 장치(130)가 배치되며, 별도의 장소에서 학습 장치(110)가 배치될 수 있다.As shown in FIG. 1D, the
다만, 반드시 이에 한정되는 것은 아니고, 각 구성(110 내지 130)이 전술한 동작을 수행할 수 있으면, 공간(140)과의 관계에서 어떻게 배치되더라도 무방하다.However, it is not necessarily limited to this, and as long as each
인공지능 모델 건강도 관리 시스템(100) 내 각 구성(110 내지 130)의 개략적인 동작은 도 18에 도시되어 있다.A schematic operation of each
도 18는 본 개시의 몇몇 실시예에 따른 인공지능 모델 건강도 관리 시스템이 인공지능 모델의 신뢰도를 판단하는 방법을 도시한 타이밍차트이다.Figure 18 is a timing chart showing how the artificial intelligence model health management system determines the reliability of the artificial intelligence model according to some embodiments of the present disclosure.
학습 장치(110)는 인공지능 모델을 생성하여 예측 장치(120)로 전송할 수 있다(S2410).The
예측 장치(120)는 수신한 인공지능 모델을 저장할 수 있다(S2415).The
예측 장치(120)로 기구/설비(145)로부터 실시간으로 입력 데이터가 수신될 수 있다(S2420).Input data may be received in real time from the instrument/
예측 장치(120)는 인공지능 모델을 이용해 수신된 입력 데이터의 클래스 분류와 관련된 제1 값 및 입력 데이터의 성질 분류와 관련된 제2 값을 산출할 수 있다 (S2425).The
예측 장치(120)는 수신된 입력 데이터와 그것들의 제1 값 및 제2 값을 운영 장치(130)로 전송할 수 있다(S2430).The
운영 장치(130)는 수신한 제1 값의 신뢰도를 연산한다(S2435). 여기서, 제1 값의 신뢰도는 제2 값을 이용하여 연산될 수 있다. The operating
운영 장치(130)는 연산된 신뢰도로부터 인공지능 모델의 건강도를 판단하거나 재학습을 위한 입력 데이터를 선별할 수 있다(S2440).The operating
운영 장치(130)는 학습 장치(110)로 선별된 재학습을 위한 입력 데이터를 전송할 수 있다(S2445).The operating
학습 장치(110)는 인공지능 모델에 대해 선별된 데이터로 재학습을 수행할 수 있다(S2450).The
도 2는 본 개시의 몇몇 실시예에 따른 학습 장치의 구성을 도시한 도면이다.Figure 2 is a diagram illustrating the configuration of a learning device according to some embodiments of the present disclosure.
도 2를 참조하면, 본 개시의 몇몇 실시예에 따른 학습 장치(110)는 통신부(210), 전처리부(220), 트레이닝부(230) 및 메모리부(240)를 포함할 수 있다. 상술한 구성요소들은 학습 장치(110)를 구성하는데 필수적인 것은 아니어서, 본 개시에서 설명되는 학습 장치(110)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 2, the
통신부(210)는 기구/설비(145) 또는 관계자 단말(미도시)로부터 라벨링된 입력 데이터, 코스트 함수, 최적화 방법 및 아키텍쳐를 수신하며, 운영 장치(130)로부터 학습 또는 재학습을 위해 선별된 데이터를 수신할 수 있다. 통신부(210)는 기구/설비(145) 또는 관계자 단말(미도시)로부터 라벨링된 입력 데이터, 코스트 함수 및 최적화 방법을 수신하며, 경우에 따라, 아키텍쳐를 수신할 수 있다.The communication unit 210 receives labeled input data, cost functions, optimization methods, and architecture from the apparatus/
통신부(210)는 기구/설비(145) 또는 관계자 단말(미도시)로부터 테스트를 위한, 라벨링된 입력 데이터를 추가적으로 수신할 수 있다.The communication unit 210 may additionally receive labeled input data for testing from the instrument/
전처리부(220)는 수신한 라벨링된 입력 데이터나, 선별된 데이터를 트레이닝부(230)가 트레이닝할 수 있도록 전처리를 수행할 수 있다. 라벨링된 입력 데이터나 선별된 데이터는 기구/설비(145)가 자신의 목적에 맞게 출력하는 형태의 데이터로서, 트레이닝부(230)가 학습을 위한 데이터 포맷과는 상이할 수 있다. 전처리부(220)는 수신한, 라벨링된 입력 데이터 또는 데이터들이 트레이닝부(230)로 전달되어 학습에 사용되기에 어려움이 없도록 데이터의 포맷을 변형시킬 수 있다.The
트레이닝부(230)는 라벨링된 입력 데이터, 코스트 함수, 최적화 방법 및 아키텍쳐를 이용하여 모델을 트레이닝 시킬 수 있다. 트레이닝부(230)는 모델의 아키텍쳐를 스스로 선정할 수도 있으며, 외부로부터 아키텍쳐를 수신할 수도 있다. 여기서, 아키텍쳐는 인공 신경망(Neural Network)이 사용될 수 있으며, 입력 데이터의 형태에 따라 다양한 것으로 선정될 수 있다. The
예를 들어, 입력 데이터가 이미지일 경우, 아키텍쳐는 컨볼루션 인공 신경망(CNN: Convolution Neural Network) 등으로 구현될 수 있다. 이미지 이외의 입력 데이터일 경우, 아키텍쳐는 다층 퍼셉트론(Multi Layer Perceptron)으로 구현될 수 있다. 또는, 입력 데이터에 시계열적인 요소가 포함되어 있을 경우, 아키텍쳐는 순환 신경망(RNN: Recurrent Neural Network)으로 구현될 수 있다. 다만, 전술한 예는 예시일 뿐이며, 입력 데이터의 형태에 따라, 아키텍쳐는 다양한 종류로 구현될 수 있다.For example, if the input data is an image, the architecture may be implemented with a convolutional neural network (CNN), etc. For input data other than images, the architecture can be implemented as a multi-layer perceptron. Alternatively, if the input data includes time series elements, the architecture can be implemented as a Recurrent Neural Network (RNN). However, the above-mentioned example is only an example, and depending on the type of input data, the architecture may be implemented in various types.
트레이닝부(230)는 선정하거나 수신한 아키텍쳐에, 라벨링된 입력 데이터, 코스트 함수 및 최적화 방법을 토대로 학습을 진행할 수 있다. 트레이닝부(230)는 아키텍쳐 내 각 파라미터를 임의로 선정하며, 라벨링 결과와 입력 데이터를 파라미터가 선정된 아키텍쳐에 적용하여 코스트 함수를 계산한다. 이후, 트레이닝부(230)는 최적화 방법에 따라 파라미터를 변환해 가며 코스트 값이 감소하도록 파라미터를 선정한다. 최적화 방법의 일 예로는 경사 하강법이 있으며, 코스트 함수의 경사가 감소하는 방향으로 파라미터를 조정하는 방법이다. 이러한 과정을 거치며, 트레이닝부(230)는 선정된 아키텍쳐에 라벨링된 입력 데이터가 적용되었을 때 가장 작은 코스트 값을 갖는 파라미터를 선정하며 모델을 학습시킬 수 있다. 트레이닝부(230)의 이와 같은 학습과정에 따라 인공지능 모델이 생성된다. The
트레이닝부(230)에 의해 생성된 인공지능 모델은 코스트 값이 최소화된 특징을 갖는다. 전술한 대로, 코스트 함수는 제1 값과 정답값 차이에 비례하거나, 혹은 그와 동시에, 동일한 클래스의 두 입력 데이터의 잠재 공간 상 포인트 간 거리에 비례 및/또는 다른 클래스의 두 입력 데이터에 잠재 공간 상 포인트 간 거리에 반비례하는 수치에 해당할 수 있다. 이에 따라, 생성된 인공지능 모델은 입력 데이터가 입력되면, 입력 데이터의 정답값과 최대한 근접하게(각 클래스 별 확률 차이가 최소화) 예측할 수 있다. 또한, 인공지능 모델은 코스트 함수의 정의에 따라 전술한 것과 같이 예측함과 동시에, 잠재 공간 상에서 동일한 클래스 간에는 최대한 근접하게 군집하도록 배치한다. 트레이닝부(230)에 의해 예측값이 잠재 공간 상에 배치되는 형태는 도 3 및 4에 도시되어 있다. The artificial intelligence model generated by the
도 3은 본 개시의 몇몇 실시예에 따른 학습 장치가 클래스에 따라 군집시키는 방법을 예시한 도면이고, 도 4는 본 개시의 몇몇 실시예에 따른 학습 장치에 의해 클래스에 따라 다양한 방법으로 군집된 클래스를 예시한 도면이다.FIG. 3 is a diagram illustrating a method of clustering according to classes by a learning device according to some embodiments of the present disclosure, and FIG. 4 is a diagram illustrating classes clustered in various ways according to classes by a learning device according to some embodiments of the present disclosure. This is a drawing illustrating.
전술한 대로, 잠재 공간 상에 배치되는 데이터는 행렬 또는 그로부터 도출되는 벡터값을 갖기 때문에, 그의 성분에 따라 차원수가 증가한다. 예를 들어, 벡터의 성분이 n개일 경우, 잠재 공간은 n 차원을 갖는다. 도 3 및 도 4에 도시된 도면은 이와 같은 n 차원의 잠재공간이 2차원에 투영된 형태를 도시하고 있다. As described above, since the data placed on the latent space has a matrix or a vector value derived therefrom, the number of dimensions increases according to its components. For example, if the vector has n components, the latent space has n dimensions. The drawings shown in FIGS. 3 and 4 show a two-dimensional projection of this n-dimensional latent space.
코스트 함수가 제1 코스트 함수이거나 제2 코스트 함수 중 예측값과 동일한 클래스의 다른 데이터 간 거리에 비례하는 수치로 정의될 경우, 학습이 진행됨에 따라 각 클래스 간 데이터(예측값) 간에 점점 간격이 좁혀지며, 가장 우측의 도면과 같이 각 클래스끼리 군집되는 형태가 만들어진다. 군집되는 형태는 코스트 함수가 정의되는 방식에 따라 결정될 수 있다. If the cost function is a first cost function or a second cost function that is defined as a number proportional to the distance between the predicted value and other data of the same class, the gap between data (predicted values) between each class gradually narrows as learning progresses. As shown in the drawing on the far right, each class is clustered together. The form of clustering can be determined depending on how the cost function is defined.
도 4의 (a)는 거리에 따라 동일한 클래스끼리 군집되어 배치된 도면이며, 도 4의 (b) 또는 도 4의 (c)는 동일한 클래스끼리 동일한 각도로 군집되어 배치된 도면이다.Figure 4(a) is a diagram showing the same classes arranged in clusters according to distance, and Figure 4(b) or Figure 4(c) is a diagram showing the same classes arranged clustered at the same angle.
도 3과 도 4를 참조하여 확인할 수 있듯이, 트레이닝부(230)에 의해 생성된 인공지능 모델은 클래스의 분류 뿐만 아니라, 분류된 클래스 간을 군집시킬 수 있다.As can be seen with reference to FIGS. 3 and 4, the artificial intelligence model generated by the
다시 도 2를 참조하면, 트레이닝부(230)는 테스트를 위한, 라벨링된 입력 데이터를 이용해 생성한 인공지능 모델을 테스팅할 수 있다. 테스트를 위한 목적으로 라벨링된 입력 데이터가 수신되기 때문에, 트레이닝부(230)는 입력 데이터를 토대로 입력 데이터의 클래스를 예측하여, 예측값과 라벨링 값(결과값)을 비교할 수 있다. 트레이닝부(230)는 비교 결과를 토대로 인공지능 모델의 예측의 정답률을 확인할 수 있다.Referring again to FIG. 2, the
트레이닝부(230)는 전술한 과정에 따라 인공지능 모델을 생성(모델을 학습시키는 과정)함에 있어, 운영 장치(130)로부터 학습을 위해 선별된 (라벨링된) 입력 데이터를 이용하여 인공지능 모델을 생성할 수 있다. 운영 장치(130)에 의해 선별된 입력 데이터는 노이즈는 최소화될 수 있으며, 제1 군 내지 제3 군의 데이터가 적절한 비율로 포함될 수 있다. 이에 따라, 트레이닝부(230)에 의해 생성되는 인공지능 모델은 수많은 입력 데이터가 무분별하게 입력되어 학습된, 종래의 인공지능 모델에 대비하여 상대적으로 높은 정확도를 가질 수 있다.In creating an artificial intelligence model (process of learning the model) according to the above-described process, the
또한, 트레이닝부(230)는 운영 장치(130)로부터 재학습을 위해 선별된 입력 데이터를 이용하여 기 생성된 인공지능 모델을 재학습할 수 있다. 제2 군 또는 제3 군의 입력 데이터가 많아질 경우, 제1 군의 입력 데이터로 학습하여 생성된 인공지능 모델은 온전히 예측이 곤란한 상황이 발생하게 된다. 이에 따라, 트레이닝부(230)는 운영 장치(130)로부터 재학습을 위해 선별된 (라벨링된) 입력 데이터를 수신하며, 생성된 인공지능 모델의 아키텍쳐, 코스트 함수 및 최적화 방법에 선별된 입력 데이터로 다시 학습하여 인공지능 모델을 재학습한다. 이에 따라, 인공지능 모델의 예측의 정확도(정답률)는 향상될 수 있다.Additionally, the
메모리부(240)는 기구/설비(145)로부터 수신한 (라벨링된) 입력 데이터 및 트레이닝부(230)에 의해 생성된 인공지능 모델을 저장한다. 나아가, 메모리부(240)는 운영 장치(130)로부터 수신한 학습 또는 재학습을 위해 선별된 (라벨링된) 입력 데이터 및 트레이닝부(230)에 의해 재학습된 인공지능 모델을 저장할 수 있다. 메모리부(240)는 (라벨링된) 입력 데이터와 그로부터 학습된 인공지능 모델을 저장할 뿐만 아니라, 재학습을 위해 선별된 (라벨링된) 입력 데이터와 그로부터 재학습된 인공지능 모델까지 저장할 수 있어, 추후, 재학습을 위해 선별된 (라벨링된) 입력 데이터와 재학습된 인공지능 모델을 구분하여 유통(전송 또는 판매 등)할 수 있도록 한다.The
학습 장치(120)가 모델을 학습하는 방법은 도 17에 도시되어 있다.The method by which the
도 17은 본 개시의 몇몇 실시예에 따른 학습 장치가 모델을 학습하는 방법을 도시한 타이밍차트이다.Figure 17 is a timing chart showing how a learning device learns a model according to some embodiments of the present disclosure.
전처리부(220)는 통신부(210)를 거쳐 기구/설비(145)로부터 라벨링된 입력 데이터, 아키텍쳐, 코스트 함수 및 최적화 방법을 수신할 수 있다(S2310).The
전처리부(220)는 수신한 (라벨링된) 입력 데이터의 전처리를 수행할 수 있다(S2320).The
트레이닝부(230)는 최적화 방법에 따라 코스트 값이 가장 낮은 아키텍쳐 내 파라미터를 연산하여 선정함으로써, 모델을 트레이닝할 수 있다(S2330).The
트레이닝부(230)는 기구/설비(145)로부터 테스트를 위한, 라벨링된 입력 데이터 및 출력 데이터를 수신할 수 있다(S2340).The
트레이닝부(230)는 인공지능 모델에 테스트용 입력 데이터를 입력시켜 예측값(제1 값 및 제2 값)을 생성시킬 수 있다(S2350).The
트레이닝부(230)는 테스트용 입력 데이터의 예측값(제1 값)과 출력 데이터를 비교하여 인공지능 모델의 정확도를 판단할 수 있다(S2360).The
메모리부(240)는 생성된 인공지능 모델을 저장할 수 있다(S2370).The
전술한 과정을 거치며, 인공지능 모델이 생성되고, 생성된 인공지능 모델에 테스트가 수행될 수 있다.Through the above-described process, an artificial intelligence model is created, and tests can be performed on the created artificial intelligence model.
도 5는 본 개시의 제1 실시예에 따른 예측 장치의 구성을 도시한 도면이다.Figure 5 is a diagram showing the configuration of a prediction device according to the first embodiment of the present disclosure.
도 5를 참조하면, 본 개시의 제1 실시예에 따른 예측 장치(120)는 통신부(510), 예측부(520) 및 메모리부(530)를 포함할 수 있다. 상술한 구성요소들은 예측 장치(120)를 구성하는데 필수적인 것은 아니어서, 본 개시에서 설명되는 예측 장치(120)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 5, the
통신부(510)는 학습 장치(110)로부터 인공지능 모델을, 기구/설비(145)로부터 실시간으로 입력 데이터를 수신한다. 또한, 통신부(510)는 인공 지능 모델의 출력인 제1 값 및 제2 값을 수신한 입력 데이터와 함께 운영 장치(130)로 전송할 수 있다.The communication unit 510 receives an artificial intelligence model from the
예측부(520)는 수신한 인공지능 모델을 이용하여 실시간으로 입력되는 입력 데이터의 클래스를 분류하기 위한 제1 값을 산출한 후 제1 값을 이용하여 복수의 클래스 중 어느 하나의 클래스로 입력 데이터의 클래스를 분류할 수 있다. The prediction unit 520 calculates a first value for classifying the class of input data input in real time using the received artificial intelligence model, and then classifies the input data into one of a plurality of classes using the first value. Classes can be classified.
예측부(520)는 인공지능 모델을 이용하여 입력 데이터에 대해 예측을 수행함에 있어, 제1 값이 어느 클래스인 것으로 출력하는 것이 아니라, 각 클래스에 해당할 확률을 도출한다. 압도적인 확률로 제1 값이 특정 클래스에 해당할 것이라는 결과가 도출될 수도 있으나, 근소한 (확률) 차이로 제1 값이 특정 클래스에 해당할 것이라는 결과가 도출될 수 있다. 예측부(520)는 인공지능 모델을 이용하여 입력 데이터가 어떠한 클래스에 해당할 것인지에 대한 확률 값으로 클래스 분류를 위한 예측을 수행할 수 있다. When predicting input data using an artificial intelligence model, the prediction unit 520 does not output which class the first value is, but derives a probability corresponding to each class. The result may be derived that the first value corresponds to a specific class with overwhelming probability, but the result may be derived that the first value corresponds to a specific class with a slight (probability) difference. The prediction unit 520 may use an artificial intelligence model to make predictions for class classification using a probability value for which class the input data will correspond to.
한편, 예측부(520)는 인공지능 모델을 이용하여 입력 데이터의 성질 분류와 관련된 제2 값을 산출할 수 있다. 제2 값은 잠재 공간 상에서 해당 입력 데이터 포인트의 위치를 나타내는 좌표 값을 의미할 수 있으나, 본 개시는 이에 한정되는 것은 아니다. Meanwhile, the prediction unit 520 may calculate a second value related to property classification of the input data using an artificial intelligence model. The second value may mean a coordinate value indicating the location of the corresponding input data point in the latent space, but the present disclosure is not limited thereto.
수신한 인공지능 모델은 제1 코스트 함수 및 제2 코스트 함수의 코스트 값을 최소화하도록 학습된 모델에 해당한다. 이에 따라, 인공지능 모델 예측부(520)가 예측한 제2 값 위치에 해당 입력 데이터 포인트를 배치하면 각 클래스 별로 잠재 공간 상에 군집되어 배치된다.The received artificial intelligence model corresponds to a model learned to minimize the cost values of the first cost function and the second cost function. Accordingly, when the corresponding input data point is placed at the second value position predicted by the artificial intelligence model prediction unit 520, it is clustered and arranged in the latent space for each class.
메모리부(530)는 수신한 인공지능 모델 및 입력 데이터를 저장하며, 예측부(520)가 예측한 예측값을 저장한다.The memory unit 530 stores the received artificial intelligence model and input data, and stores the predicted value predicted by the prediction unit 520.
도 6은 본 개시의 제1 실시예에 따른 운영 장치의 구성을 도시한 도면이다.Figure 6 is a diagram showing the configuration of an operating device according to a first embodiment of the present disclosure.
도 6을 참조하면, 본 개시의 제1 실시예에 따른 운영 장치(130)는 통신부(610), 신뢰도 연산부(620), 건강도 판단부(630), 데이터 선별부(640), 라벨링 가이드부(650) 및 메모리부(660)를 포함할 수 있다. 나아가, 운영 장치(130)는 표시부(670)를 더 포함할 수 있다. 상술한 구성요소들은 운영 장치(130)를 구성하는데 필수적인 것은 아니어서, 본 개시에서 설명되는 운영 장치(130)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다. Referring to FIG. 6, the operating
통신부(610)는 입력 데이터, 제1 값 및 제2 값을 예측 장치(120)로부터 수신하며, 건강도 판단결과 또는 선별한 데이터를 학습 장치(110) 또는 관계자 단말(미도시)로 전송할 수 있다. 통신부(610)는 기 설정된 기간 동안의 입력 데이터, 제1 값 및 제2 값을 예측 장치(120)로부터 수신하며, 지속적으로 기 설정된 기간 동안의 데이터 등을 수신할 수 있다. The communication unit 610 receives input data, the first value, and the second value from the
신뢰도 연산부(620)는 예측 장치(120)로부터 수신한 제2 값을 이용하여, 각 제1 값의 신뢰도를 판단할 수 있다. 전술한 대로, 예측 장치(120)가 예측을 위해 사용한 인공지능 모델은 제1 코스트 함수의 코스트 값을 최소화하도록 학습된 모델에 해당한다. 이에 따라, 입력 데이터 포인트는 잠재 공간 상에 배치될 수 있으며, 제2 값은 잠재 공간 상에서 해당 입력 데이터 포인트의 위치를 나타내는 좌표 값을 의미할 수 있다. 따라서, 신뢰도 연산부(620)는 제2 값을 이용하여 제1 값의 신뢰도를 연산할 수 있다. 전술한 대로, 신뢰도는 잠재공간 상에서 각 클래스(보다 구체적으로는 각 클래스의 중심)와 해당 입력 데이터 포인트(제2 값 좌표에 배치된) 사이의 거리, 보다 구체적으로는 각 클래스와 해당 입력 데이터 포인트 사이의 거리 비율로 연산될 수 있다. 신뢰도는 도 7 및 도 8을 참조하여 다음과 같이 연산될 수 있다.The reliability calculation unit 620 may determine the reliability of each first value using the second value received from the
도 7은 본 개시의 몇몇 실시예에 따른 운영 장치에 의해 분류된 각 클래스와 입력 데이터 포인트의 잠재공간 상의 관계를 도시한 도면이고, 도 8은 본 개시의 몇몇 실시예에 따른 운영 장치에 의해 분류된 각 클래스들이 잠재공간 상에 배치된 모습을 도시한 도면이다FIG. 7 is a diagram showing the relationship between each class classified by an operating device according to some embodiments of the present disclosure and the latent space of the input data point, and FIG. 8 is a diagram showing the relationship between the classes classified by the operating device according to some embodiments of the present disclosure. This is a diagram showing how each class is arranged in the latent space.
도 7을 참조하면, 인공지능 모델에 의해 일 입력 데이터로부터 해당 입력 데이터 포인트(l)가 잠재 공간 상에 배치된다. 잠재 공간 상에서 입력 데이터 포인트(l)는 잠재 공간 상의 좌표 값인 제2 값으로 표현될 수 있다. 잠재 공간 상에는 n 개의 클래스(Class 1 내지 Class n)가 존재할 수 있으며, 각 클래스들은 각 클래스들로 분류된 데이터들이 일정한 반경(r1 내지 rn)만큼 군집되어 존재할 수 있다. 각 클래스들은 중심(c1 내지 cn)을 가진다. 전체 클래스의 중심(C)이 존재하며, 기 설정된 기준치 만큼의 반경(rC)이 존재하게 된다. Referring to FIG. 7, the corresponding input data point (l) is placed in the latent space from one input data by the artificial intelligence model. In the latent space, the input data point (l) can be expressed as a second value that is a coordinate value in the latent space. There may be n classes (Class 1 to Class n) in the latent space, and for each class, data classified into each class may exist clustered with a certain radius (r1 to rn). Each class has a centroid (c1 to cn). There is a center (C) of the entire class, and a radius (rC) equal to the preset standard value exists.
여기서, 잠재 공간 상에 배치되는 데이터는 행렬 또는 그로부터 도출되는 벡터값을 갖는다. 이에, 각 중심들은 해당 데이터들의 평균값으로 연산될 수 있다. 예를 들어, 각 클래스들의 중심(c1 내지 cn)은 각 클래스 내에 포함된 데이터들의 평균값일 수 있고, 전체 클래스의 중심(C)은 각 클래스들의 중심(c1 내지 cn)의 평균값일 수 있다.Here, the data placed on the latent space has a matrix or a vector value derived therefrom. Accordingly, each center can be calculated as the average value of the corresponding data. For example, the centroid (c1 to cn) of each class may be the average value of data included in each class, and the centroid (C) of all classes may be the average value of the centroids (c1 to cn) of each class.
잠재 공간은 이와 같이 정의되며, 신뢰도의 연산 방법에 따라 신뢰도 연산부(620)는 예측값(l)과 각 클래스, 보다 구체적으로는 각 클래스의 중심(c) 간 거리(d1 내지 dn)를 연산할 수 있다. The latent space is defined as follows, and depending on the reliability calculation method, the reliability calculation unit 620 can calculate the distance (d1 to dn) between the predicted value (l) and each class, more specifically, the center (c) of each class. there is.
도 8을 참조하면, 신뢰도 연산부(620)는 연산된 신뢰도로부터 입력 데이터의 성질을 분류할 수 있다. Referring to FIG. 8, the reliability calculation unit 620 can classify the properties of input data based on the calculated reliability.
신뢰도 연산에 따라, 특정 클래스의 중심(c1, c2, cn)과 입력 데이터 포인트(l) 간 거리가 특정 클래스의 반경(r1, r2, rn)보다 작을 경우, 해당 제1 값은 제1 군(810)에 해당하며, 높은 신뢰도를 갖는다. 반대로, 입력 데이터 포인트(l)와 전체 클래스의 중심(C) 간 거리가 (클래스 전체의) 반경(rC)보다 클 경우, 해당 제1 값은 제3 군(830)에 해당하며, (정답인지 여부와는 무관하게) 낮은 신뢰도를 갖는다. According to the reliability operation, if the distance between the center (c1, c2, cn) of a specific class and the input data point (l) is less than the radius (r1, r2, rn) of the specific class, the corresponding first value is the first group ( 810) and has high reliability. Conversely, if the distance between the input data point (l) and the center (C) of the entire class is greater than the radius (rC) (of the entire class), the corresponding first value corresponds to the third group 830, and (is it the correct answer? (regardless of whether or not) has low reliability.
전술한 두 조건 모두에 해당하지 않을 경우 또는 특정 클래스의 중심(ci)과 입력 데이터 포인트(l) 간 거리가 모든 클래스의 반경(r) 보다는 크나, 상대적으로 2 이상의 클래스의 중심 까지의 거리가 나머지 클래스의 중심까지의 거리보다 작을 경우, 해당 제1 값은 제2 군(820)에 해당하며, 낮은 신뢰도를 갖는다. 제2 군(820)에 해당하는 제1 값의 신뢰도는 어느 하나의 클래스의 중심에 가깝지 않고 각 클래스 간 경계에 가까울수록 신뢰도가 낮아진다. If neither of the above two conditions applies, or the distance between the center (ci) of a specific class and the input data point (l) is greater than the radius (r) of all classes, but the distance to the centers of two or more classes is relatively If it is smaller than the distance to the center of the class, the first value corresponds to the second group 820 and has low reliability. The reliability of the first value corresponding to the second group 820 is not close to the center of any one class, and the closer it is to the boundary between classes, the lower the reliability becomes.
다시 도 5를 참조하면, 신뢰도 연산부(620)는 전술한 과정과 같이 예측 장치(120)가 입력 데이터를 입력받아 예측한 각 제1 값들의 신뢰도를 연산한다.Referring again to FIG. 5, the reliability calculation unit 620 calculates the reliability of each first value predicted by the
건강도 판단부(630)는 예측 장치(120)로부터 수신한 제2 값을 이용하여, 인공지능 모델의 건강도를 판단한다. 건강도 판단부(630)는 신뢰도 연산부(620)가 연산한 신뢰도를 이용하여 다음과 같은 방법으로 인공지능 모델의 건강도를 판단한다. The health level determination unit 630 determines the health level of the artificial intelligence model using the second value received from the
하나의 방법으로, 건강도 판단부(630)는 제2 군(820)으로 분류된 제1 값들의 개수 또는 신뢰도의 평균을 구하여, 개수 또는 신뢰도의 변화를 관찰한다. 건강도 판단부(630)는 현재 수신한 제2 값으로부터 전술한 데이터를 구할 수 있으며, 기 수신되었던 제2 값으로부터 전술한 데이터를 구할 수 있기에, 건강도 판단부(630)는 제2 군(820)으로 분류된 제1 값들의 개수 또는 신뢰도의 변화를 관찰할 수 있다. 신뢰도의 평균이 기존에 비해 낮아졌다는 의미는 제2 군(820)으로 분류되는 데이터가 보다 많아졌음을 의미함과 동시에, 클래스로 분류하기 모호해진 데이터가 보다 많아졌음을 의미한다. 제2 군(820)으로 분류되는 경계성 데이터의 증가는 해당 데이터들의 재 라벨링과 재학습을 수행하여야 하는 시점임을 알 수 있다. 이에 따라, 건강도 판단부(630)는 전술한 상황에서 인공지능 모델의 건강도가 (기 설정된 기준치 이하로) 낮아졌다고 판단할 수 있다.As one method, the health determination unit 630 calculates the average of the number or reliability of the first values classified into the second group 820 and observes changes in the number or reliability. Since the health determination unit 630 can obtain the above-described data from the currently received second value and can obtain the above-mentioned data from the previously received second value, the health determination unit 630 determines the second group ( 820), a change in the number or reliability of the classified first values can be observed. The fact that the average reliability is lower than before means that there is more data classified into the second group (820), and at the same time, it means that there is more data that is ambiguous to classify into classes. It can be seen that the increase in borderline data classified into the second group 820 is the time when relabeling and relearning of the data should be performed. Accordingly, the health level determination unit 630 may determine that the health level of the artificial intelligence model has decreased (below a preset standard value) in the above-described situation.
다른 방법으로, 건강도 판단부(630)는 제3 군(830)으로 분류된 제1 값들의 개수 또는 신뢰도의 평균을 구하여, 개수 또는 신뢰도의 변화를 관찰한다. 제3 군(830)으로 분류되는 데이터의 개수가 많음은, 노이즈의 증가를 의미할 수도 있으나 새로운 클래스의 데이터가 증가하고 있음을 의미할 수 있다. 또한, 신뢰도의 평균이 기존에 비해 갑자기 증가하거나 갑자기 감소함 역시, 새로운 클래스의 데이터가 증가하고 있음을 의미할 수 있다. 이에 따라, 제3 군(820)으로 분류되는 데이터의 증가 역시, 해당 데이터들의 재 라벨링과 재학습을 수행하여야 하는 시점임을 알 수 있다. 이에, 건강도 판단부(630)는 전술한 상황에서 인공지능 모델의 건강도가 (기 설정된 기준치 이하로) 낮아졌다고 판단할 수 있다. Alternatively, the health determination unit 630 calculates the average of the number or reliability of the first values classified into the third group 830 and observes changes in the number or reliability. A large number of data classified into the third group 830 may mean an increase in noise, but may also mean that new classes of data are increasing. Additionally, if the average reliability suddenly increases or suddenly decreases compared to before, it may mean that data of a new class is increasing. Accordingly, it can be seen that the increase in data classified into the third group 820 is also a time when relabeling and relearning of the data should be performed. Accordingly, the health level determination unit 630 may determine that the health level of the artificial intelligence model has decreased (below a preset standard value) in the above-described situation.
다른 방법으로, 건강도 판단부(630)는 각 클래스 별 직경(ri)의 변화를 관찰한다. 특정 클래스의 직경이 커졌다는 의미는 특정 클래스로 분류되는 데이터들의 개수가 많아졌음을 의미한다. 이는 곧, 잠재 공간 상에서 기존에는 제2 군(820)으로 분류되었거나 분류될 수 있었던 데이터까지 특정 클래스로 분류되었음을 의미한다. 반대로, 특정 클래스의 직경이 갑자기 감소할 수도 있다. 이 역시, 종래에는 특정 클래스로 분류되었거나 분류될 수 있었던 데이터가 제2 군(820)으로 분류되는 상황이 야기된다. 이에 따라, 건강도 판단부(630)는 전술한 상황에서 인공지능 모델의 건강도가 (기 설정된 기준치 이하로) 낮아졌다고 판단할 수 있다. Alternatively, the health determination unit 630 observes changes in diameter (ri) for each class. An increase in the diameter of a specific class means that the number of data classified into a specific class has increased. This means that even data that was previously classified or could be classified into the second group 820 in the latent space has been classified into a specific class. Conversely, the diameter of a particular class may suddenly decrease. This also results in a situation where data that has conventionally been classified or could be classified into a specific class is classified into the second group 820. Accordingly, the health level determination unit 630 may determine that the health level of the artificial intelligence model has decreased (below a preset standard value) in the above-described situation.
또 다른 방법으로, 건강도 판단부(630)는 각 클래스 별 중심(ci)의 좌표 변화를 관찰한다. 기존에 비해, 갑자기 각 클래스 별 중심(ci)의 좌표가 변화하였다는 것은, 공간(140) 내의 기구/설비(145)의 작동 환경에 급격한 변화가 발생한 것일 수 있다. 이와 같은 환경의 급격한 변화는 인공지능 모델의 예측의 정확도에 영향을 미칠 수 있다. 따라서, 건강도 판단부(630)는 일부 또는 전부의 클래스 중심(ci)의 좌표가 변화한 경우에도 인공지능 모델의 건강도가 (기 설정된 기준치 이하로) 낮아졌다고 판단할 수 있다. In another method, the health determination unit 630 observes the change in coordinates of the center (ci) of each class. Compared to before, the sudden change in the coordinates of the center (ci) of each class may mean that a rapid change has occurred in the operating environment of the device/
이와 같이, 건강도 판단부(630)는 신뢰도를 이용하여 다양한 판단을 수행하며, 예측 장치(120)가 예측에 이용하는 인공지능 모델의 건강도를 판단한다. 인공지능 모델의 건강도가 기 설정된 기준치 이하로 낮아진 경우, 건강도 판단부(630)는 인공지능 모델의 재학습이 필요한 시점이라 판단할 수 있다. 이에 따라, 건강도 판단부(630)는 건강도가 낮아졌음과 함께 재학습이 필요한 시점임을 표시부(670)가 표시하도록 한다. 이와 함께, 건강도 판단부(630)는 통신부(610)를 거쳐 이를 학습 장치(110) 또는 관계자 단말(미도시)로 전달할 수 있다. In this way, the health determination unit 630 performs various judgments using reliability and determines the health of the artificial intelligence model used by the
데이터 선별부(640)는 건강도 판단부(630)에 의해 인공지능 모델의 재학습이 필요하다(건강도가 낮아졌다) 판단된 경우, 재학습에 이용될 데이터들을 선별한다. 데이터 선별부(640)는 예측 장치(120)로부터 수신한, 기 설정된 기간 동안 입력된 입력 데이터 내에서 재학습에 이용될 데이터들을 선별한다. 전술한 대로, 신뢰도 연산부(620)는 신뢰도를 연산한 후, 각 예측값들을 신뢰도에 따라 수신한 입력 데이터의 성질을 각 군(제1 군 내지 제3 군)으로 분류한다. 데이터 선별부(640)는 수신한 입력 데이터 내에서 각 성질별(제1 군(810) 내지 제3 군(830))로 기 설정된 비율만큼 데이터를 선별한다. When the health level determination unit 630 determines that retraining of the artificial intelligence model is necessary (health level has decreased), the data selection unit 640 selects data to be used for retraining. The data selection unit 640 selects data to be used for re-learning from the input data received from the
이때, 데이터 선별부(640)가 선별하는 데이터는 각 군마다 서로 다른 기준으로 선별될 수 있다. 제1 군 내에서 데이터 선별부(640)는 신뢰도가 높거나 낮은 순으로 데이터를 일정 개수만큼 선별할 수 있다. 제2 군 내에서 데이터 선별부(640)는 신뢰도가 낮은 순(보다 경계에 배치되어 있는 데이터)으로 데이터를 일정 개수만큼 선별할 수 있다. 제3 군 내에서 데이터 선별부(640)는 전체 클래스의 중심(C)으로부터 멀리 위치한 순으로 데이터를 일정 개수만큼 선별할 수 있다. 데이터 선별부(640)는 전술한 기준으로 각 성질별로 데이터를 선별함으로써, 재학습할 인공지능 모델의 정답률을 보다 높일 수 있다.At this time, the data selected by the data selection unit 640 may be selected based on different criteria for each group. Within the first group, the data selection unit 640 may select a certain number of data in order of high or low reliability. Within the second group, the data selection unit 640 may select a certain number of data in descending order of reliability (data arranged more on the border). Within the third group, the data selection unit 640 may select a certain number of data in the order of their distance from the center (C) of all classes. The data selection unit 640 can further increase the correct answer rate of the artificial intelligence model to be retrained by selecting data for each characteristic based on the above-mentioned criteria.
라벨링 가이드부(650)는 제2 군 또는 제3 군으로 분류된 데이터들에 대해 라벨러가 해당 데이터들을 라벨링하는데 도움이 될 수 있는 데이터들을 샘플로 선정한다. 표시부(670)는 제2 군 또는 제3 군으로 분류된 데이터들을 출력함으로써, 라벨러가 해당 데이터들을 용이하게 재라벨링하도록 할 수 있다. 이때, 라벨링 가이드부(650)는 표시부(670)가 해당 데이터와 함께 해당 데이터를 (재)라벨링하는데 도움이 될 수 있는 데이터들을 샘플로서 함께 출력할 수 있도록 선정한다. 표시부(670)가 제2 군 또는 제3 군으로 분류된 데이터들을 출력함에 있어, 라벨링 가이드부(650)에 의해 선정된 샘플도 함께 출력하여 라벨러의 (재)라벨링 작업을 보조한다. 라벨링 가이드부(650)에 의해 선정되는 예는 도 19 및 20에 도시되어 있다.The labeling guide unit 650 selects data that can help the labeler label the data classified into the second or third group as samples. The display unit 670 outputs data classified into the second or third group, allowing the labeler to easily relabel the data. At this time, the labeling guide unit 650 selects the display unit 670 to output data that can be helpful in (re)labeling the data as samples along with the corresponding data. When the display unit 670 outputs data classified into the second or third group, the sample selected by the labeling guide unit 650 is also output to assist the labeler's (re)labeling work. Examples of selection by the labeling guide unit 650 are shown in FIGS. 19 and 20.
도 19 및 도 20은 본 개시의 몇몇 실시예에 따른 표시부가 라벨링 가이드부에 의해 선정된 샘플을 출력한 화면을 예시한 도면이다.19 and 20 are diagrams illustrating screens on which a display unit outputs a sample selected by a labeling guide unit according to some embodiments of the present disclosure.
도 19를 참조하면, 라벨링 가이드부(650)는 입력 데이터가 해당할 수 있는 다양한 클래스들의 데이터를 선정하여 샘플로서 함께 출력하도록 할 수 있다. 예를 들어, 예측 장치(120)에 의해 입력 데이터가 하나의 클래스에 압도적인 확률로 예측될 수도 있으나, 복수의 클래스에 근소한 확률 차이로 예측될 수도 있다. 후자의 경우, 라벨링 가이드부(650)는 근소한 확률차이를 가졌던 클래스들로 기 분류된, 임의의 데이터들을 샘플로 선정할 수 있다. 도 19와 같이, 예측 장치(120)로의 입력 데이터(2510)가 클래스 1, 클래스 2, 클래스 3 및 클래스 4가 근소한 확률 차이로 해당 클래스들 중 어느 하나로 예측된 상황이 존재할 수 있다. 이러할 경우, 라벨링 가이드부(650)는 클래스 1로 압도적인 확률로 예측되었거나, 클래스 1로 라벨링된 데이터(2520) 중 어느 하나, 클래스 2에 대해 전술한 데이터(2530) 중 하나, 클래스 3에 대해 전술한 데이터(2540) 중 하나 및 클래스 4에 대해 전술한 데이터(2550) 중 하나를 선정한다. 표시부(670)는 선정된 데이터들을 각각 출력함으로서, 라벨러가 출력된 데이터들을 참조하여 입력 데이터(2510)를 보다 용이하게 라벨링할 수 있도록 한다. Referring to FIG. 19, the labeling guide unit 650 may select data of various classes to which input data may correspond and output them together as samples. For example, input data may be predicted by the
또한, 도 20을 참조하면, 라벨링 가이드부(650)는 입력 데이터가 갖는 성질과 동일한 성질을 갖는 다양한 데이터들을 샘플로 선정하여 함께 출력하도록 할 수 있다. 전술한 대로, 예측값 내에서 제2 군 또는 제3 군으로 분류된 데이터들은 각 클래스의 경계에 있거나 전혀 다른 클래스의 데이터에 해당한다. 이와 같은 데이터들을 표시함에 있어, 라벨링 가이드부(650)는 동일한 성질(군)로 분류된 다른 데이터들을 샘플로 선정하여 함께 출력하도록 할 수 있다. 예를 들어, 도 20에 도시된 입력 데이터(2510)가 제2 군으로 분류된 경우, 라벨링 가이드부는 제2 군으로 선정된 다른 데이터들(2610 내지 2640)을 임의의 개수만큼 샘플로 선정할 수 있다. 표시부(670)는 선정된 데이터들을 각각 출력함으로서, 라벨러가 기존에 제2 군으로 선정되었던 데이터들을 확인할 수 있도록 하며, 그것들이 어떠한 클래스로 라벨링되었는지를 참조할 수 있도록 한다.Additionally, referring to FIG. 20, the labeling guide unit 650 may select various data having the same properties as the input data as samples and output them together. As described above, data classified into the second or third group within the predicted value are on the boundary of each class or correspond to data of a completely different class. In displaying such data, the labeling guide unit 650 may select other data classified into the same nature (group) as samples and output them together. For example, when the input data 2510 shown in FIG. 20 is classified into the second group, the labeling guide unit may select an arbitrary number of other data 2610 to 2640 selected as the second group as samples. there is. The display unit 670 outputs each selected data, allowing the labeler to check the data previously selected as the second group and refer to what class they were labeled as.
다시 도 6을 참조하면, 메모리부(660)는 예측 장치(120)로부터 수신한 입력 데이터 및 예측값(제1 값 및 제2 값)을 저장하며, 데이터 선별부(640)에 의해 선별된 데이터를 저장한다. 특히, 데이터 선별부(640)에 의해 선별된 데이터는 인공지능 모델을 재학습하는데 효과적인 데이터로서, 인공지능 모델과 관련해서 우수한 자산이 될 수 있다. 이에, 메모리부(660)는 데이터 선별부(640)에 의해 선별된 데이터를 별도로 저장해둘 수 있다. Referring again to FIG. 6, the memory unit 660 stores the input data and predicted values (first and second values) received from the
표시부(670)는 신뢰도 연산부(620)에 의해 제2 군 또는 제3 군으로 판단된 입력 데이터들을 출력한다. 표시부(670)는 전술한 입력 데이터들을 출력함으로서, (인공지능 모델이 이들을 재학습하기 위해) 라벨러가 이들을 확인하고 재라벨링하도록 할 수 있다. 표시부(670)는 해당 데이터들을 출력함에 있어, 라벨링 가이드부(650)가 선정한 데이터들을 함께 출력하여 라벨러의 재라벨링을 보조할 수 있다.The display unit 670 outputs input data determined to be the second or third group by the reliability calculation unit 620. By outputting the above-described input data, the display unit 670 can allow the labeler to check and re-label them (in order for the artificial intelligence model to retrain them). When outputting the corresponding data, the display unit 670 may output the data selected by the labeling guide unit 650 together to assist the labeler in re-labeling.
도 9는 본 개시의 제1 실시예에 따른 운영 장치가 인공지능 모델의 건강도를 판단하는 방법을 도시한 타이밍 차트이다.Figure 9 is a timing chart showing a method by which an operating device determines the health of an artificial intelligence model according to the first embodiment of the present disclosure.
예측 장치(120)는 기구/설비(145)로부터 실시간으로 데이터를 입력받아 예측을 수행할 수 있다(S910).The
구체적으로, 예측부(520)는 인공지능 모델에 수신된 입력 데이터를 입력하여 제1 값을 산출하고, 제1 값에 기초하여 복수의 클래스 중 어느 하나의 클래스로 상기 입력데이터를 분류하는 예측을 수행할 수 있다. 또한, 예측부(520)는 인공지능 모델에 입력 데이터를 입력하여 입력 데이터의 성질 분류와 관련된 제2 값을 획득할 수 있다. 여기서, 입력 데이터의 성질은 입력 데이터를 특정 클래스로 분류하는 예측을 수행함에 있어 정답 여부와 무관하게 입력 데이터가 특정 클래스로 분류된다고 확신할 수 있을 정도를 의미하는 신뢰도와 관련이 있을 수 있다. 즉, 입력 데이터에 대한 제1 값의 신뢰도가 높은 지 여부에 기초하여 입력 데이터의 성질이 결정될 수 있다. Specifically, the prediction unit 520 calculates a first value by inputting the received input data to the artificial intelligence model, and performs prediction to classify the input data into one of a plurality of classes based on the first value. It can be done. Additionally, the prediction unit 520 may input input data into the artificial intelligence model and obtain a second value related to property classification of the input data. Here, the nature of the input data may be related to reliability, which refers to the degree to which one can be confident that the input data is classified into a specific class, regardless of whether or not the correct answer is correct, when performing a prediction that classifies the input data into a specific class. That is, the properties of the input data may be determined based on whether the reliability of the first value for the input data is high.
예측 장치(120)는 기 설정된 기간 동안 입력된 입력 데이터 및 각 입력 데이터에 대한 예측 값(제1 값 및 제2 값)을 운영 장치(130)에 전송할 수 있다(S920).The
운영 장치(130)는 수신한 제1 값의 신뢰도를 제2 값을 이용하여 연산할 수 있다(S930).The operating
운영 장치(130)는 연산된 신뢰도를 토대로, 예측 장치(120)의 인공지능 모델의 건강도를 판단할 수 있다(S940).The operating
구체적으로, 건강도 판단부(630)는 건강도가 기 설정된 조건을 만족하는지 여부를 판단할 수 있다. 기 설정된 조건은 제2 군(820)으로 분류된 예측값들의 개수 또는 신뢰도에 변화가 발생하였는지 여부, 제3 군(830)으로 분류된 예측값들의 개수 또는 신뢰도에 변화가 발생하였는지 여부, 각 클래스 별 직경(ri)에 변화가 발생하였는지 여부 또는 각 클래스 별 중심(ci)의 좌표에 변화가 발생하였는지 여부일 수 있다.Specifically, the health level determination unit 630 may determine whether the health level satisfies preset conditions. The preset conditions include whether there has been a change in the number or reliability of predicted values classified into the second group 820, whether there has been a change in the number or reliability of predicted values classified into the third group 830, and the diameter for each class. It may be whether a change occurred in (ri) or whether a change occurred in the coordinates of the center (ci) of each class.
운영 장치(130)는 판단한 건강도를 출력할 수 있다(S950). The operating
구체적으로, 건강도가 기 설정된 조건을 만족하지 못할 경우, 운영 장치(130)는 표시부(670)를 이용해 판단한 건강도를 직접 출력할 수도 있고, 경우에 따라, 운영 장치(130)는 학습 장치(110) 또는 관계자 단말(미도시)로 전달할 수도 있다.Specifically, if the health level does not satisfy the preset conditions, the operating
도 10은 본 개시의 제1 실시예에 따른 운영 장치가 학습 또는 재학습할 데이터를 선별하는 방법을 도시한 타이밍 차트이다.FIG. 10 is a timing chart illustrating a method by which an operating device selects data to learn or re-learn according to the first embodiment of the present disclosure.
예측 장치(120)는 기구/설비(145)로부터 실시간으로 데이터를 입력받아 예측을 수행할 수 있다(S1010).The
구체적으로, 예측부(520)는 인공지능 모델에 수신된 입력 데이터를 입력하여 제1 값을 산출하고, 제1 값에 기초하여 복수의 클래스 중 어느 하나의 클래스로 상기 입력데이터를 분류하는 예측을 수행할 수 있다. 또한, 예측부(520)는 인공지능 모델에 입력 데이터를 입력하여 입력 데이터의 성질 분류와 관련된 제2 값을 획득할 수 있다. 여기서, 입력 데이터의 성질은 입력 데이터를 특정 클래스로 분류하는 예측을 수행함에 있어 정답 여부와 무관하게 입력 데이터가 특정 클래스로 분류된다고 확신할 수 있을 정도를 의미하는 신뢰도와 관련이 있을 수 있다. 즉, 입력 데이터에 대한 제1 값의 신뢰도가 높은 지 여부에 기초하여 입력 데이터의 성질이 결정될 수 있다. Specifically, the prediction unit 520 calculates a first value by inputting the received input data to the artificial intelligence model, and performs prediction to classify the input data into one of a plurality of classes based on the first value. It can be done. Additionally, the prediction unit 520 may input input data into the artificial intelligence model and obtain a second value related to property classification of the input data. Here, the nature of the input data may be related to reliability, which refers to the degree to which one can be confident that the input data is classified into a specific class, regardless of whether or not the correct answer is correct, when performing a prediction that classifies the input data into a specific class. That is, the properties of the input data may be determined based on whether the reliability of the first value for the input data is high.
예측 장치(120)는 기 설정된 기간 동안 입력된 입력 데이터 및 각 예측값(제1 값 및 제2 값)을 운영 장치에 전송할 수 있다(S1020).The
운영 장치(130)는 수신한 제1 값의 신뢰도를 제2 값을 이용하여 연산할 수 있다(S1030).The operating
운영 장치(130)는 연산된 신뢰도를 토대로, 입력 데이터 포인트가 잠재 공간 상에서 특정 클래스로 온전히 분류되는 데이터, 입력 데이터 포인트가 잠재 공간 상에서 2 이상의 클래스의 경계에 위치한 데이터 및 입력 데이터 포인트가 잠재 공간 상에서 모든 클래스와 기 설정된 기준치 이상 떨어진 데이터로 데이터의 성질을 분류한다(S1040). 여기서, 제2 값은 잠재 공간 상에서 해당 입력 데이터 포인트가 어느 위치에 배치되는지를 나타내는 좌표 값이기 때문에 해당 입력 데이터 포인트가 잠재 공간 상에 배치된 위치는 제2 값을 이용하여 확인할 수 있다. Based on the calculated reliability, the operating
운영 장치(130)는 연산된 신뢰도를 토대로, 입력 데이터 각각과 관련된 제1 값을 제1 군(810) 내지 제3 군(830) 중 어느 하나로 분류한다. The operating
운영 장치(130)는 각 성질별로 기 설정된 개수의 데이터를 선별할 수 있다(S1050). 운영 장치(130)는 각 성질별로 기 설정된 개수의 데이터를 일정한 비율만큼 선별할 수 있다.The operating
운영 장치(130)는 선별된 데이터를 학습 장치(110)로 전송할 수 있다(S1060).The operating
학습 장치(110)는 인공지능 모델에 대해 운영 장치(130)에 의해 선별된 데이터로 재학습을 수행할 수 있다(S1070).The
도 11은 본 개시의 제1 실시예에 따른 운영 장치가 입력된 데이터의 예측값과 함께 샘플을 선정하여 출력하는 방법을 도시한 타이밍 차트이다. FIG. 11 is a timing chart illustrating a method in which an operating device according to the first embodiment of the present disclosure selects and outputs a sample along with a predicted value of input data.
예측 장치(120)는 기구/설비(145)로부터 실시간으로 데이터를 입력받아 예측을 수행할 수 있다(S1110).The
구체적으로, 예측부(520)는 인공지능 모델에 수신된 입력 데이터를 입력하여 제1 값을 산출하고, 제1 값에 기초하여 복수의 클래스 중 어느 하나의 클래스로 상기 입력데이터를 분류하는 예측을 수행할 수 있다. 또한, 예측부(520)는 인공지능 모델에 입력 데이터를 입력하여 입력 데이터의 성질 분류와 관련된 제2 값을 획득할 수 있다. 여기서, 입력 데이터의 성질은 입력 데이터를 특정 클래스로 분류하는 예측을 수행함에 있어 정답 여부와 무관하게 입력 데이터가 특정 클래스로 분류된다고 확신할 수 있을 정도를 의미하는 신뢰도와 관련이 있을 수 있다. 즉, 입력 데이터에 대한 제1 값의 신뢰도가 높은 지 여부에 기초하여 입력 데이터의 성질이 결정될 수 있다. Specifically, the prediction unit 520 calculates a first value by inputting the received input data to the artificial intelligence model, and performs prediction to classify the input data into one of a plurality of classes based on the first value. It can be done. Additionally, the prediction unit 520 may input input data into the artificial intelligence model and obtain a second value related to property classification of the input data. Here, the nature of the input data may be related to reliability, which refers to the degree to which one can be confident that the input data is classified into a specific class, regardless of whether or not the correct answer is correct, when performing a prediction that classifies the input data into a specific class. That is, the properties of the input data may be determined based on whether the reliability of the first value for the input data is high.
예측 장치(120)는 기 설정된 기간 동안 입력된 입력 데이터 및 각 입력 데이터에 대한 제1 값 및 제2 값을 운영 장치(130)에 전송할 수 있다(S1120).The
운영 장치(130)는 수신한 제1 값의 신뢰도를 제2 값을 이용하여 연산할 수 있다(S1130).The operating
운영 장치(130)는 연산된 신뢰도를 토대로, 입력 데이터 포인트가 잠재 공간 상에서 특정 클래스로 온전히 분류되는 데이터, 입력 데이터 포인트가 잠재 공간 상에서 2 이상의 클래스의 경계에 위치한 데이터 및 입력 데이터 포인트가 잠재 공간 상에서 모든 클래스와 기 설정된 기준치 이상 떨어진 데이터로 데이터의 성질을 분류한다(S1140). 여기서, 제2 값은 잠재 공간 상에서 해당 입력 데이터 포인트가 어느 위치에 배치되는지를 나타내는 좌표 값이기 때문에 해당 입력 데이터 포인트가 잠재 공간 상에 배치된 위치는 제2 값을 이용하여 확인할 수 있다. Based on the calculated reliability, the operating
운영 장치(130)는 입력된 데이터가 해당할 수 있는 다양한 클래스들의 데이터 또는 입력 데이터가 갖는 성질과 동일한 성질을 갖는 다양한 데이터들을 가이드하기 위한 샘플로 선정할 수 있다(S1150). 운영 장치(130)는 입력된 데이터가 해당할 수 있는 다양한 클래스들의 데이터를 라벨링 가이드를 위한 샘플로 선정할 수 있고, 입력 데이터가 갖는 성질과 동일한 성질을 갖는 다양한 데이터들을 라벨링 가이드를 위한 샘플로 선정할 수도 있으며 양자 모두를 샘플로 선정할 수도 있다.The operating
운영 장치(130)는 각 입력된 데이터들과 선정된 샘플들을 함께 출력할 수 있다(S1160).The operating
도 12는 본 개시의 제2 실시예에 따른 예측 장치의 구성을 도시한 도면이다.FIG. 12 is a diagram illustrating the configuration of a prediction device according to a second embodiment of the present disclosure.
도 12를 참조하면, 본 개시의 제2 실시예에 따른 예측 장치(120)는 통신부(1510), 제1 예측부(1520), 제2 예측부(1530) 및 메모리부(1540)를 포함할 수 있다. 상술한 구성요소들은 예측 장치(120)를 구성하는데 필수적인 것은 아니어서, 본 개시에서 설명되는 예측 장치(120)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 12, the
통신부(1510)는 통신부(510)와 동일한 동작을 수행한다. 본 개시에서 통신부(1510)는 학습 장치(110)로부터 학습 또는 재학습된 인공지능 모델을 수신할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다. The communication unit 1510 performs the same operation as the communication unit 510. In the present disclosure, the communication unit 1510 may receive a learned or re-trained artificial intelligence model from the
메모리부(1540)는 입력 데이터 및 인공지능 모델을 저장할 수 있다. 여기서, 입력 데이터는 기구/설비(145)로부터 실시간으로 입력 받는 데이터를 의미할 수 있고, 인공지능 모델은 학습 장치(110)에서 생성되어 통신부(1510)를 통해 수신한 것일 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다. The memory unit 1540 can store input data and artificial intelligence models. Here, the input data may refer to data input in real time from the instrument/
본 개시의 몇몇 실시예에 의하면, 인공지능 모델은 입력 데이터의 클래스 분류와 관련된 제1 값을 산출하는 제1 서브 모델 및 입력 데이터에 대한 특징 추출과 관련된 레이어를 제1 서브 모델과 공유하면서 제2 값을 출력하는 제2 서브 모델을 포함할 수 있다. 이에 대한 자세한 설명은 도 21을 참조하여 후술한다. According to some embodiments of the present disclosure, the artificial intelligence model shares a first sub-model that calculates a first value related to class classification of input data and a layer related to feature extraction for input data with the first sub-model, and a second sub-model. It may include a second sub-model that outputs a value. A detailed description of this will be provided later with reference to FIG. 21.
본 개시에서 예측 장치(120)는 제1 예측부(1520) 및 제2 예측부(1530)를 포함할 수도 있고, 도 5와 같이 하나의 예측부(520)를 포함할 수 있다. In the present disclosure, the
제1 예측부(1520)는 수신한 인공지능 모델을 이용하여, 실시간으로 입력되는 입력 데이터의 클래스를 분류하기 위한 제1 값을 산출할 수 있다. 그리고, 제1 예측부(1520)는 제1 값에 기초하여 복수의 클래스 중 어느 하나의 클래스로 입력 데이터를 분류하는 예측을 수행할 수 있다. The first prediction unit 1520 may use the received artificial intelligence model to calculate a first value for classifying the class of input data input in real time. Additionally, the first prediction unit 1520 may perform prediction to classify input data into one of a plurality of classes based on the first value.
제2 예측부(1530)는 수신한 인공지능 모델을 이용하여, 실시간으로 입력되는 입력 데이터에 대한 성질의 분류와 관련된 제2 값을 산출할 수 있다. The second prediction unit 1530 may use the received artificial intelligence model to calculate a second value related to classification of the properties of input data input in real time.
메모리부(1540)는 수신한 인공지능 모델 및 입력 데이터를 저장하는 것과 아울러, 각 예측부(1520, 1530)가 각각 예측한 제1 값 및 제2 값을 저장할 수 있다. The memory unit 1540 may store the received artificial intelligence model and input data, as well as the first and second values predicted by each prediction unit 1520 and 1530, respectively.
이처럼, 예측 장치(120)는 복수의 예측부를 통해 제1 값 및 제2 값을 산출함으로써 다음과 같은 이점을 가질 수 있다. 실시간으로 클래스 분류를 위한 제1 값의 예측은 상대적으로 정확도가 높은 제1 예측부(1520)로 수행함으로써, 예측의 정확도를 확보할 수 있다. 또한, 운영 장치(130)의 신뢰도 판단이나 데이터 선별을 위해서는 제2 예측부(1530)로 제2 값의 예측을 수행함으로써, 운영 장치(130)가 잠재 공간 상에서 해당 입력 데이터 포인트의 위치를 확인하여 제1 값의 신뢰도를 연산할 수 있도록 한다. In this way, the
도 13은 본 개시의 제2 실시예에 따른 운영 장치의 구성을 도시한 도면이다.Figure 13 is a diagram showing the configuration of an operating device according to a second embodiment of the present disclosure.
도 13을 참조하면, 본 개시의 제2 실시예에 따른 운영 장치(130)는 통신부(1610), 신뢰도 연산부(1620), 건강도 판단부(1630), 데이터 선별부(1640), 라벨링 가이드부(1650) 및 메모리부(1660)를 포함한다. 나아가, 운영 장치(130)는 표시부(1670)를 더 포함할 수 있다. 상술한 구성요소들은 운영 장치(130)를 구성하는데 필수적인 것은 아니어서, 본 개시에서 설명되는 운영 장치(130)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 13, the operating
통신부(1610)는 입력 데이터 및 예측값(제1 값 및 제2 값)을 예측 장치(120)의 제1 예측부(1510)와 제2 예측부(1520)로부터 수신하며, 건강도 판단결과 또는 선별한 데이터를 학습 장치(110) 또는 관계자 단말(미도시)로 전송할 수 있다. 입력 데이터는 양 예측부(1510, 1520)가 서로 동일하기 때문에, 통신부(1610)는 입력 데이터와 함께 양 예측부(1510, 1520)의 각 예측값(제1 값 및 제2 값)을 수신할 수 있다.The communication unit 1610 receives input data and predicted values (first and second values) from the first prediction unit 1510 and the second prediction unit 1520 of the
신뢰도 연산부(1620) 역시, 신뢰도 연산부(620)와 동일한 동작을 수행한다. 다만, 신뢰도 연산부(1620)가 신뢰도 연산 등을 수행하기 위해서는 잠재 공간 상의 거리 정보 등이 필요하기 때문에, 신뢰도 연산부(1620)는 신뢰도 연산 등을 수행하기 위해서 제1 예측부(1520)에서 예측된 제1 값이 아닌 제2 예측부(1530)에서 예측된 제2 값을 이용할 수 있다. The reliability calculation unit 1620 also performs the same operation as the reliability calculation unit 620. However, since the reliability calculation unit 1620 needs distance information in the latent space to perform the reliability calculation, etc., the reliability calculation unit 1620 uses the first prediction unit 1520 to perform the reliability calculation. The second value predicted by the second prediction unit 1530, rather than the 1 value, can be used.
건강도 판단부(1630) 역시, 건강도 판단부(630)와 동일한 동작을 수행한다. The health determination unit 1630 also performs the same operation as the health determination unit 630.
데이터 선별부(1640) 역시, 데이터 선별부(640)와 동일한 동작을 수행한다. 다만, 데이터 선별부(1640)도 마찬가지로, 데이터의 선별을 위해 제1 예측부(1520)에서 예측된 제1 값이 아닌 제2 예측부(1530)에서 예측된 제2 값을 이용할 수 있다.The data selection unit 1640 also performs the same operation as the data selection unit 640. However, the data selection unit 1640 may also use the second value predicted by the second prediction unit 1530 rather than the first value predicted by the first prediction unit 1520 to select data.
라벨링 가이드부(1650) 역시, 라벨링 가이드부(650)와 동일한 동작을 수행한다. 다만, 라벨링 가이드부(1650)는 입력 데이터가 해당할 수 있는 다양한 클래스들의 데이터를 샘플로서 선정함에 있어서는, 상대적으로 정확도가 높은 제1 예측부(1520)에서 예측된 제1 값을 이용할 수 있다.The labeling guide unit 1650 also performs the same operation as the labeling guide unit 650. However, the labeling guide unit 1650 may use the first value predicted by the first prediction unit 1520 with relatively high accuracy when selecting data of various classes to which the input data may correspond as samples.
반면, 라벨링 가이드부(1650)는 입력 데이터가 갖는 성질과 동일한 성질을 갖는 다양한 데이터들을 샘플로 선정함에 있어서는, 제2 예측부(1530)에서 예측된 제2 값을 이용한다.On the other hand, the labeling guide unit 1650 uses the second value predicted by the second prediction unit 1530 when selecting various data having the same properties as the input data as samples.
메모리부(1660) 및 표시부(1670) 역시, 각각 메모리부(660) 및 표시부(670)와 동일한 동작을 수행한다.The memory unit 1660 and the display unit 1670 also perform the same operations as the memory unit 660 and the display unit 670, respectively.
도 14는 본 개시의 제2 실시예에 따른 운영 장치가 인공지능 모델의 건강도를 판단하는 방법을 도시한 타이밍 차트이다.Figure 14 is a timing chart showing a method by which an operating device determines the health of an artificial intelligence model according to a second embodiment of the present disclosure.
예측 장치(120)는 기구/설비(145)로부터 실시간으로 데이터를 입력받아 제1 예측부(1520)와 제2 예측부(1530)가 각각 예측을 수행한다(S1710).The
예측 장치(120)는 기 설정된 기간 동안 입력된 입력 데이터 및 제1 예측부(1520) 및 제2 예측부(1530)에서의 예측값(제1 값 및 제2 값)을 전송할 수 있다(S1720).The
운영 장치(130)는 수신한 제1 예측부(1520)에서의 제1 값의 신뢰도를 제2 예측부(1530)에서의 제2 값을 이용하여 연산할 수 있다(S1730).The operating
운영 장치(130)는 연산된 신뢰도를 토대로, 예측 장치(120)의 인공지능 모델의 건강도를 판단한다(S1740).The operating
구체적으로, 건강도 판단부(1630)는 건강도가 기 설정된 조건을 만족하는지 여부를 판단할 수 있다. Specifically, the health level determination unit 1630 may determine whether the health level satisfies preset conditions.
운영 장치(130)는 판단한 건강도를 출력할 수 있다(S1750). 구체적으로, 건강도가 기 설정된 조건을 만족하지 못할 경우, 표시부(1670)는 판단된 건강도를 출력할 수 있다. 운영 장치(130)는 표시부(670)를 이용해 판단한 건강도를 직접 출력할 수도 있고, 경우에 따라, 운영 장치(130)는 학습 장치(110) 또는 관계자 단말(미도시)로 전달할 수도 있다.The operating
도 15은 본 개시의 제2 실시예에 따른 운영 장치가 학습 또는 재학습할 데이터를 선별하는 방법을 도시한 타이밍 차트이다.FIG. 15 is a timing chart illustrating a method by which an operating device selects data to learn or re-learn according to a second embodiment of the present disclosure.
예측 장치(120)는 기구/설비(145)로부터 실시간으로 데이터를 입력받아 제1 예측부(1520)와 제2 예측부(1530)가 각각 예측을 수행할 수 있다(S1810).The
예측 장치(120)는 기 설정된 기간 동안 입력된 입력 데이터, 제1 예측부(1520)에서의 제1 값 및 제2 예측부(1530)에서의 제2 값을 전송할 수 있다(S1820).The
운영 장치(130)는 수신한 제1 값의 신뢰도를 제2 예측부(1530)에서의 예측값을 이용하여 연산할 수 있다(S1830)The operating
운영 장치(130)는 연산된 신뢰도를 토대로, 입력 데이터 포인트가 잠재 공간 상에서 특정 클래스로 온전히 분류되는 데이터, 입력 데이터 포인트가 잠재 공간 상에서 2 이상의 클래스의 경계에 위치한 데이터 및 입력 데이터 포인트가 잠재 공간 상에서 모든 클래스와 기 설정된 기준치 이상 떨어진 데이터로 데이터의 성질을 분류한다(S1840). 여기서, 제2 값은 잠재 공간 상에서 해당 입력 데이터 포인트가 어느 위치에 배치되는지를 나타내는 좌표 값이기 때문에 해당 입력 데이터 포인트가 잠재 공간 상에 배치된 위치는 제2 값을 이용하여 확인할 수 있다. Based on the calculated reliability, the operating
운영 장치(130)는 각 성질별로 기 설정된 개수의 데이터를 선별한다(S1850). 운영 장치(130)는 각 성질별로 기 설정된 개수의 데이터를 일정한 비율만큼 선별할 수 있다.The operating
운영 장치(130)는 선별된 데이터를 학습 장치(110)로 전송한다(S1860).The operating
학습 장치(110)는 인공지능 모델에 대해 운영 장치(130)에 의해 선별된 데이터로 재학습을 수행한다(S1870).The
도 16는 본 개시의 제2 실시예에 따른 운영 장치가 입력된 데이터의 예측값과 함께 샘플을 선정하여 출력하는 방법을 도시한 타이밍 차트이다. FIG. 16 is a timing chart illustrating a method in which an operating device according to a second embodiment of the present disclosure selects and outputs a sample along with a predicted value of input data.
예측 장치(120)는 기구/설비(145)로부터 실시간으로 데이터를 입력받아 제1 예측부(1520)와 제2 예측부(1530)가 각각 예측한다(S1910).The
예측 장치(120)는 기 설정된 기간 동안 입력된 입력 데이터 및 제2 예측부(1530)에서의 예측값을 전송한다(S1920).The
운영 장치(130)는 수신한 제1 예측부(1520)에서의 예측값의 신뢰도를 연산한다(S1930).The operating
운영 장치(130)는 연산된 신뢰도를 토대로, 입력 데이터 포인트가 잠재 공간 상에서 특정 클래스로 온전히 분류되는 데이터, 입력 데이터 포인트가 잠재 공간 상에서 2 이상의 클래스의 경계에 위치한 데이터 및 입력 데이터 포인트가 잠재 공간 상에서 모든 클래스와 기 설정된 기준치 이상 떨어진 데이터로 데이터의 성질을 분류한다(S1940). 여기서, 제2 값은 잠재 공간 상에서 해당 입력 데이터 포인트가 어느 위치에 배치되는지를 나타내는 좌표 값이기 때문에 해당 입력 데이터 포인트가 잠재 공간 상에 배치된 위치는 제2 값을 이용하여 확인할 수 있다. Based on the calculated reliability, the operating
운영 장치(130)는 입력된 데이터가 해당할 수 있는 다양한 클래스들의 데이터 또는 입력 데이터가 갖는 성질과 동일한 성질을 갖는 다양한 데이터들을 가이드하기 위한 샘플로 선정한다(S1950). The operating
운영 장치(130)는 각 입력된 데이터들과 선정된 샘플들을 함께 출력한다(S1960).The operating
도 9 내지 11 및 14 내지 18에서는 각 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 개시의 몇몇 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 개시의 몇몇 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 개시의 몇몇 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 각 도면에 기재된 순서를 변경하여 실행하거나 각 과정 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 9 내지 11 및 14 내지 18은 시계열적인 순서로 한정되는 것은 아니다.In FIGS. 9 to 11 and 14 to 18, each process is described as being sequentially executed, but this is merely an illustrative explanation of the technical idea of some embodiments of the present disclosure. In other words, a person skilled in the art to which some embodiments of the present disclosure pertain may change the order depicted in each drawing or perform one or more of the processes without departing from the essential characteristics of the several embodiments of the present disclosure. Since various modifications and variations can be applied by executing in parallel, FIGS. 9 to 11 and 14 to 18 are not limited to the time series order.
한편, 도 9 내지 11 및 14 내지 18에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Meanwhile, the processes shown in FIGS. 9 to 11 and 14 to 18 can be implemented as computer-readable codes on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. That is, computer-readable recording media include storage media such as magnetic storage media (eg, ROM, floppy disk, hard disk, etc.) and optical read media (eg, CD-ROM, DVD, etc.). Additionally, computer-readable recording media can be distributed across networked computer systems so that computer-readable code can be stored and executed in a distributed manner.
도 21은 본 개시의 몇몇 실시예에 따른 인공지능 모델의 일례를 설명하기 위한 도면이다. 도 21에서 제1 레이어와 제2 레이어 및 특징 추출과 관련된 레이어는 여러 층의 레이어로 구성될 수 있다Figure 21 is a diagram for explaining an example of an artificial intelligence model according to some embodiments of the present disclosure. In Figure 21, the first layer, the second layer, and the layer related to feature extraction may be composed of several layers.
도 21을 참조하면, 본 개시의 인공지능 모델(700)은 입력 데이터(740)가 입력되면 제1 값(751)을 출력하는 제1 서브 모델(710) 및 입력 데이터(740)가 입력되면 제2 값(752)을 출력하는 제2 서브 모델(720)을 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니며, 인공지능 모델은 상술한 제1 서브 모델(710) 및 제2 서브 모델(720) 보다 많은 서브 모델 또는 적은 서브 모델을 포함할 수 있다. Referring to FIG. 21, the
제1 값(751)은 입력 데이터(740)가 어느 클래스에 해당하는지를 나타내는 각 클래스 별 확률값으로 표현될 수 있다. 그리고, 제1 예측부(1520)는 제1 값에 기초하여 복수의 클래스 중 어느 하나로 입력 데이터(740)를 분류할 수 있다.The
예를 들어, 클래스가 3개 존재하는 경우, 입력 데이터(740)가 첫번째 클래스로 분류되어야 하는 입력 데이터인 경우 제1 값은 (0.7, 0.2, 0.1)(수치는 신뢰도에 따라 가변 가능함)일 수 있다. 이 경우, 제1 예측부(1520)는 제1 값에 기초하여 복수의 클래스 중 첫번째 클래스로 입력 데이터(740)를 분류할 수 있다. For example, if there are three classes and the input data 740 is input data that must be classified into the first class, the first value may be (0.7, 0.2, 0.1) (the value can be varied depending on reliability). there is. In this case, the first prediction unit 1520 may classify the input data 740 into a first class among a plurality of classes based on the first value.
다만, 본 개시는 상술한 예시에 한정되는 것은 아니고 제1 값(751)은 입력 데이터(740)를 복수의 클래스 중 어느 하나의 클래스로 분류하는데 사용될 수 있는 다양한 형태의 값이 될 수 있다. However, the present disclosure is not limited to the above-described example, and the
제2 값(752)은 입력 데이터(740)의 성질의 분류와 관련된 값일 수 있다. 여기서, 입력 데이터(740)의 성질은 제1 예측부(1520)가 입력 데이터(740)를 특정 클래스로 분류하는 예측을 수행함에 있어 정답 여부와 무관하게 입력 데이터(740)가 특정 클래스로 분류된다고 확신할 수 있는 정도를 의미하는 신뢰도와 관련이 있을 수 있다. 신뢰도는 제2 값(752)에 기초하여 결정될 수 있기 때문에 제2 값(752)은 입력 데이터(740)의 성질의 분류와 관련된 값일 수 있다. The
구체적으로, 신뢰도는 잠재 공간 상에서 각 클래스와 해당 입력 데이터 포인트 사이의 거리, 보다 구체적으로 각 클래스와 해당 입력 데이터 포인트 사이의 거리 비율로 연산될 수 있다. 여기서, 거리는 유클리디안(Euclidian) 거리를 의미할 수 있으나, 반드시 이에 한정되는 것은 아니 며 마할라노비스(Mahalanobis) 등을 의미할 수 있다. Specifically, reliability can be calculated as the distance between each class and the corresponding input data point in the latent space, and more specifically, the ratio of the distance between each class and the corresponding input data point. Here, the distance may mean Euclidian distance, but is not necessarily limited thereto and may mean Mahalanobis, etc.
제2 값은 잠재 공간 상에서의 좌표 값을 의미할 수 있으므로, 제1 값의 신뢰도를 연산할 때 제2 값이 이용될 수 있다. Since the second value may mean a coordinate value in latent space, the second value may be used when calculating the reliability of the first value.
일례로, 신뢰도가 높은 입력 데이터 포인트는 잠재 공간 상 특정 클래스의 중심과의 거리가 짧은 반면, 나머지 클래스의 중심과의 거리는 긴 상태(자신이 분류된 클래스와의 거리만이 짧음)를 가질 수 있다. For example, an input data point with high reliability may have a short distance to the center of a specific class in the latent space, while the distance to the center of the remaining classes may be long (only the distance to the class in which it is classified is short). .
다른 일례로, 신뢰도가 낮은 입력 데이터 포인트는 모든 클래스의 중심과의 거리가 기 설정된 기준치 이상이 되거나, 2개 이상의 클래스의 중심과의 거리가 유사한 상태(자신이 분류된 클래스뿐만 아니라 다른 클래스와의 거리도 짧거나 모두 긺)를 가질 수 있다.As another example, low-reliability input data points have distances from the centers of all classes that are greater than a preset standard or distances from the centers of two or more classes that are similar (not only to the class in which they are classified, but also to other classes). The distance can be short or long.
본 개시에서 예측 장치(120)에서 산출된 제2 값은 제1 값 및 입력 데이터와 함께 운영 장치(130)로 전송될 수 있으며, 운영 장치(130)는 제2 값에 기초하여 제1 값의 신뢰도를 연산하여 해당 제1 값을 갖는 입력 데이터의 성질을 분류할 수 있다. In the present disclosure, the second value calculated by the
입력 데이터는 성질에 따라 다음과 같이 분류될 수 있다. Input data can be classified according to its properties as follows.
입력 데이터 포인트가 잠재 공간 상에서 특정 클래스의 반경 내에 위치하여 특정 클래스로만 온전히 분류될 수 있는 데이터(이하에서, '제1 군'이라 칭함), 입력 데이터 포인트가 잠재 공간 상에서 모든 클래스의 반경 외에 위치하되, (기 설정된 기준치 이내의 거리에서) 2 이상의 클래스에 상대적으로 인접해 위치한 데이터(이하에서, '제2 군'이라 칭함) 및 입력 데이터 포인트가 잠재 공간 상에서 모든 클래스와 기 설정된 기준치 이상 떨어진 데이터(이하에서, '제3 군'이라 칭함)로 분류될 수 있다. Data that can be fully classified only into a specific class because the input data point is located within the radius of a specific class in the latent space (hereinafter referred to as 'first group'), and the input data point is located outside the radius of all classes in the latent space, but , data located relatively adjacent to two or more classes (hereinafter referred to as 'second group') (at a distance within a preset standard value), and data whose input data points are separated from all classes in the latent space by more than a preset standard value (hereinafter referred to as 'second group'). Hereinafter, it may be classified into 'Group 3').
본 개시에서 제1 서브 모델(710)은 복수의 클래스 중 어느 클래스에 해당하는지를 나타내는 제1 값을 산출하는 태스크를 수행하기 위해 복수의 레이어의 집합으로 구성될 수 있으며, 제2 서브 모델(720)은 입력 데이터(740)의 성질의 분류와 관련된 값을 산출하는 태스크를 수행하기 위해 복수의 레이어의 집합으로 구성될 수 있다. In the present disclosure, the
제1 서브 모델(710) 및 제2 서브 모델(720)은 특징 추출과 관련된 레이어(730)를 공유할 수 있다. 따라서, 입력 데이터(740)가 인공지능 모델(700)에 입력된 후 특징 추출과 관련된 레이어(730)에서 출력된 출력 값은 제1 서브 모델(710)에 포함된 제1 레이어(731) 및 제2 서브 모델(720)에 포함된 제2 레이어(732) 각각에 입력될 수 있다. The
특징 추출과 관련된 레이어(730)는 적어도 하나의 레이어로 구성될 수 있으며, 컨벌루션 레이어(Convolutional Layer) 및 풀링 레이어(Pooling layer)의 집합으로 구성될 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니고 다양한 종류의 레이어가 특징 추출과 관련된 레이어(730)로 사용될 수 있다. The
제1 서브 모델(710)에 포함된 제1 레이어(731)는 입력 데이터가 복수의 클래스 중 어느 클래스에 해당하는지를 나타내는 제1 값을 산출하는 태스크를 수행하는 레이어로 적어도 하나의 레이어를 포함할 수 있다. The
제2 서브 모델(720)에 포함된 제2 레이어(732)는 입력 데이터(740)의 성질의 분류와 관련된 제2 값을 산출하는 태스크를 수행하는 레이어로 적어도 하나의 레이어를 포함할 수 있다. The
상술한 바와 같이 하나의 인공 지능 모델이 제1 서브 모델(710) 및 제2 서브 모델(720)을 포함하여 복수의 태스크(제1 값을 산출하는 태스크 및 제2 값을 산출하는 태스크)를 수행하는 경우 복수의 인공지능 모델을 이용하여 복수의 태스크를 수행하는 경우보다 파라미터의 개수를 줄일 수 있다. 따라서, 본 개시에 따르면, 연산량이 적어지기 때문에 실시간으로 동작할 때 효율적일 수 있다. As described above, one artificial intelligence model performs a plurality of tasks (a task for calculating a first value and a task for calculating a second value) including the
또한, 제1 서브 모델(710) 및 제2 서브 모델(720)은 입력 데이터의 특징을 추출하는 레이어(730)를 공유하기 때문에 서로 연관된 태스크가 있어 인공지능 모델(700)을 학습하는 데 전체적인 성능을 향상시킬 수 있다. In addition, since the
본 개시의 몇몇 실시예에 의하면, 인공지능 모델(700)은 학습용 데이터에 라벨링된 라벨 데이터(학습용 데이터에 라벨링 된 제1 값 및 제2 값)와 인공지능 모델에서 출력된 예측 값(제1 값 및 제2 값) 사이의 차이(에러)를 역전파(back propagation)하여 인공지능 모델의 파라미터들을 업데이트하는 방법을 학습될 수 있다. According to some embodiments of the present disclosure, the
본 개시의 몇몇 실시예에 따르면, 인공지능 모델(700)은 딥 뉴럴 네트워크 구조를 가질 수 있다. According to some embodiments of the present disclosure, the
딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. A deep neural network (DNN) may refer to a neural network that includes multiple hidden layers in addition to the input layer and output layer. Deep neural networks allow you to identify latent structures in data.
본 개시의 몇몇 실시예에 따르면, 학습 장치(110)는 인공지능 모델(700)을 학습 또는 재학습시키는 경우, 제2 서브 모델 보다 상기 제1 서브 모델에 가중치를 두고 상기 인공지능 모델에 대한 학습 또는 재학습을 수행할 수 있다. According to some embodiments of the present disclosure, when learning or retraining the
예를 들어, 학습장치(110)가, 레이어를 공유하는 제1 서브 모델과 제2 서브 모델로 구성된 인공지능 모델(700)을 학습 또는 재학습시킬 때 제1 코스트 함수와 제2 코스트 함수의 선형 결합으로 구성된 코스트 함수를 이용할 수 있는데, 이때의 선형 결합 상수를 제2 코스트 함수에 더 크게 설정하면 제1 값의 정확도를 상대적으로 높힐 수 있다.For example, when the
본 개시에서 제1 서브 모델(710)의 출력 값인 제1 값(751)의 정확도가 제2 서브 모델(720)의 출력 값인 제2 값(752)의 정확도 보다 중요할 수 있다. 따라서, 학습 장치(110)는 제1 서브 모델(710)의 출력 값인 제1 값(751)의 정확도가 제2 서브 모델(720)의 출력 값인 제2 값(752)의 정확도 보다 우선시되도록 학습 방법을 적절히 조절할 수 있다. In the present disclosure, the accuracy of the
본 개시의 다른 몇몇 실시예에 따르면, 학습 장치(110)는, 제1 서브 모델(710)이 상기 제2 서브 모델보다 먼저 학습 또는 재학습되도록 인공지능 모델(710)에 대한 학습 또는 재학습을 수행할 수 있다. 이 경우, 학습 장치(110)는 제2 서브 모델(720)에 대한 학습 또는 재학습을 수행 시 입력 데이터(740)에 대한 특징 추출과 관련된 레이어(730)에 포함된 적어도 하나의 파라미터는 고정시킨 상태에서 제2 서브 모델(720)에 대한 학습 또는 재학습을 수행시킬 수 있다. According to some other embodiments of the present disclosure, the
즉, 입력 데이터(740)에 대한 특징 추출과 관련된 레이어(730)에 포함된 적어도 하나의 파라미터는 제1 서브 모델(710)을 학습 또는 재학습시킬 때 확정되며, 제2 서브 모델(720)에 대한 학습 또는 재학습을 수행할 때 제2 레이어(732)에 포함된 나머지 파라미터만 가변될 수 있다. 여기서, 제2 레이어(732)는 하나의 레이어를 의미하는 것은 아니고 하나 이상의 레이어로 구성되어 있는 것을 의미할 수 있다. That is, at least one parameter included in the
본 개시의 또 다른 몇몇 실시예에 따르면, 학습 장치(110)는, 인공지능 모델 즉, 제1 서브 모델(710) 및 제2 서브 모델(720) 전부에 대한 학습 또는 재학습을 진행하는 제1 단계, 제1 서브 모델(710)에 대한 학습을 진행하는 제2 단계 및 특징 추출과 관련된 레이어(730)에 포함된 적어도 하나의 파라미터는 고정시킨 상태에서 제2 서브 모델(720)에 대한 학습을 진행하는 제3 단계에 기초하여 인공지능 모델(700)에 대한 학습 또는 재학습을 진행할 수도 있다. According to some other embodiments of the present disclosure, the
구체적으로, 학습 장치(110)는 인공지능 모델(700)의 학습 초기인 제1 단계에서 높은 학습률을 사용하여 제1 서브 모델(710) 및 제2 서브 모델(720) 전부에 대한 학습 또는 재학습을 수행할 수 있다. 이 경우, 인공지능 모델(700)이 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높일 수 있다. Specifically, the
한편, 학습 장치(110)는 제2 단계 및 제3 단계에서 제1 단계보다 낮은 학습률을 사용하여 제1 서브 모델(710) 및 제2 서브 모델(720) 각각을 학습 또는 재학습 시킬 수 있다. Meanwhile, the
예를 들어, 학습 장치(110)는 제2 단계에서 인공지능 모델(700)을 학습시킬 때 제1 단계의 학습률보다 낮은 학습률로 제1 서브 모델(710)에 포함된 특징 추출과 관련된 레이어(730) 및 제1 레이어(731)에 포함된 적어도 하나의 파라미터가 전부 업데이트되도록 학습 또는 재학습을 수행할 수 있다. 그리고, 학습 장치(110)는 제3 단계에서 인공지능 모델(700)을 학습시킬 때 제1 단계의 학습률 보다 낮은 학습률로 제2 서브 모델(720)에 포함된 제2 레이어(732)에 포함된 적어도 하나의 파라미터만 업데이트되도록 학습 또는 재학습을 수행할 수 있다. 제3 단계에서 인공지능 모델(700)이 학습되는 경우, 특징 추출과 관련된 레이어(730)에 포함된 적어도 하나의 파라미터는 고정되어 있을 수 있다. For example, when the
상술한 바와 같이 인공지능 모델(700)이 학습되는 경우, 인공지능 모델(700)이 예측하는 제1 값의 정확도가 제2 값의 정확도 보다 우선시될 수 있다. As described above, when the
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an illustrative explanation of the technical idea of the present embodiment, and those skilled in the art will be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present embodiments are not intended to limit the technical idea of the present embodiment, but rather to explain it, and the scope of the technical idea of the present embodiment is not limited by these examples. The scope of protection of this embodiment should be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of rights of this embodiment.
100: 인공지능 모델 건강도 관리 시스템
110: 학습 장치
120: 예측 장치
130: 운영 장치
140: 공간
145: 기구/설비
210, 510, 610, 1510, 1610: 통신부
220: 전처리부
230: 트레이닝부
240, 530, 650, 1540, 1650: 메모리부
520: 예측부
620, 1620: 신뢰도 연산부
630, 1630: 건강도 판단부
640, 1640: 데이터 선별부
660, 1660: 라벨링 가이드부
670, 1670: 표시부
1520: 제1 예측부
1530: 제2 예측부100: Artificial intelligence model health management system
110: learning device
120: prediction device
130: operating device
140: space
145: Equipment/equipment
210, 510, 610, 1510, 1610: Department of Communications
220: Preprocessing unit
230: Training Department
240, 530, 650, 1540, 1650: Memory unit
520: prediction unit
620, 1620: Reliability calculation unit
630, 1630: Health judgment unit
640, 1640: Data selection unit
660, 1660: Labeling guide unit
670, 1670: display unit
1520: First prediction unit
1530: Second prediction unit
Claims (12)
입력 데이터 및 상기 인공지능 모델을 저장하는 메모리부;
상기 입력 데이터를 상기 인공지능 모델에 입력하여 출력되는 제1 값에 기초하여 복수의 클래스 중 어느 하나로 상기 입력 데이터를 분류하는 제1 예측부; 및
상기 입력 데이터를 상기 인공지능 모델에 입력하여 상기 입력 데이터의 성질의 분류와 관련된 제2 값을 획득하는 제2 예측부;
를 포함하고,
상기 인공지능 모델은
상기 입력 데이터가 입력되면 상기 제1 값을 출력하도록 복수의 레이어의 제1 집합으로 구성된 제1 서브 모델; 및
상기 복수의 레이어 중 상기 입력 데이터에 대한 특징 추출(feature extraction)과 관련된 레이어를 상기 제1 서브 모델과 공유하고, 상기 입력 데이터가 입력되면 상기 제1 값과 상이한 제2 값을 출력하도록 상기 제1 집합과 상기 특징 추출과 관련된 레이어를 제외한 나머지 레이어가 상이한 레이어들의 제2 집합으로 구성된 제2 서브 모델;
을 포함하고,
상기 학습 장치는,
상기 제1 값의 정확도가 상기 제2 값의 정확도 보다 우선시되도록 상기 인공지능 모델을 학습시키는,
장치. A communication unit that receives a learned or re-learned artificial intelligence model from a learning device;
A memory unit that stores input data and the artificial intelligence model;
a first prediction unit that classifies the input data into one of a plurality of classes based on a first value output by inputting the input data into the artificial intelligence model; and
a second prediction unit that inputs the input data into the artificial intelligence model to obtain a second value related to classification of the nature of the input data;
Including,
The artificial intelligence model is
a first sub-model composed of a first set of a plurality of layers to output the first value when the input data is input; and
Among the plurality of layers, a layer related to feature extraction for the input data is shared with the first sub-model, and when the input data is input, the first sub-model outputs a second value different from the first value. a second sub-model composed of a second set of layers in which the remaining layers, excluding the set and the layer related to feature extraction, are different;
Including,
The learning device is,
Training the artificial intelligence model so that the accuracy of the first value takes priority over the accuracy of the second value,
Device.
상기 학습 장치는,
상기 제2 서브 모델 보다 상기 제1 서브 모델에 가중치를 두고 상기 인공지능 모델에 대한 학습 또는 재학습을 수행하는,
장치. According to paragraph 1,
The learning device is,
Performing learning or re-learning of the artificial intelligence model with weight on the first sub-model rather than the second sub-model,
Device.
상기 학습 장치는,
상기 제1 서브 모델이 상기 제2 서브 모델보다 먼저 학습 또는 재학습되도록 상기 인공지능 모델에 대한 학습 또는 재학습을 수행하되,
상기 제2 서브 모델에 대한 학습 또는 재학습을 수행하는 경우, 상기 레이어에 포함된 적어도 하나의 파라미터는 고정시킨 상태에서 상기 제2 서브 모델에 대한 학습 또는 재학습이 수행되는,
장치. According to paragraph 1,
The learning device is,
Perform training or re-training on the artificial intelligence model so that the first sub-model is trained or re-trained before the second sub-model,
When learning or re-learning the second sub-model, learning or re-learning the second sub-model is performed while fixing at least one parameter included in the layer.
Device.
상기 학습 장치는,
상기 인공지능 모델에 대한 학습 또는 재학습을 진행하는 제1 단계, 상기 제1 서브 모델에 대한 학습을 진행하는 제2 단계 및 상기 레이어에 포함된 적어도 하나의 파라미터는 고정시킨 상태에서 상기 제2 서브 모델에 대한 학습을 진행하는 제3 단계에 기초하여 상기 인공지능 모델에 대한 학습 또는 재학습을 진행하는,
장치. According to paragraph 1,
The learning device is,
A first step of learning or re-learning the artificial intelligence model, a second step of learning the first sub-model, and the second sub-model with at least one parameter included in the layer fixed. Learning or re-learning the artificial intelligence model based on the third step of learning the model,
Device.
상기 성질은,
상기 제1 예측부가 상기 입력 데이터를 특정 클래스로 분류하는 예측을 수행함에 있어 정답 여부와 무관하게 상기 입력 데이터가 상기 특정 클래스로 분류된다고 확신할 수 있는 정도를 의미하는 신뢰도와 관련 있는,
장치. According to paragraph 1,
The above properties are,
When the first prediction unit performs a prediction to classify the input data into a specific class, it is related to reliability, which refers to the degree to which the input data can be confident that the input data is classified into the specific class, regardless of whether the answer is correct or not.
Device.
장치의 통신부를 통해 학습 장치로부터 학습 또는 재학습된 인공지능 모델을 수신하는 단계;
입력 데이터 및 상기 인공지능 모델을 장치의 메모리부에 저장하는 단계;
상기 장치의 제1 예측부를 통해 상기 입력 데이터를 상기 인공지능 모델에 입력하여 출력되는 제1 값에 기초하여 복수의 클래스 중 어느 하나로 상기 입력 데이터를 분류하는 단계; 및
상기 장치의 제2 예측부를 통해 상기 입력 데이터를 상기 인공지능 모델에 입력하여 상기 입력 데이터의 성질의 분류와 관련된 제2 값을 획득하는 단계;
를 포함하고,
상기 인공지능 모델은
상기 입력 데이터가 입력되면 상기 제1 값을 출력하도록 복수의 레이어의 제1 집합으로 구성된 제1 서브 모델; 및
상기 복수의 레이어 중 상기 입력 데이터에 대한 특징 추출(feature extraction)과 관련된 레이어를 상기 제1 서브 모델과 공유하고, 상기 입력 데이터가 입력되면 상기 제1 값과 상이한 제2 값을 출력하도록 상기 제1 집합과 상기 특징 추출과 관련된 레이어를 제외한 나머지 레이어가 상이한 레이어들의 제2 집합으로 구성된 제2 서브 모델;
을 포함하고,
상기 학습 장치는,
상기 제1 값의 정확도가 상기 제2 값의 정확도 보다 우선시되도록 상기 인공지능 모델을 학습시키는,
방법. In the method of receiving input data, classifying classes, and classifying the properties of the input data, the method is:
Receiving a learned or re-trained artificial intelligence model from a learning device through a communication unit of the device;
Storing input data and the artificial intelligence model in a memory unit of the device;
Inputting the input data into the artificial intelligence model through a first prediction unit of the device and classifying the input data into one of a plurality of classes based on a first value output; and
Inputting the input data into the artificial intelligence model through a second prediction unit of the device to obtain a second value related to classification of the nature of the input data;
Including,
The artificial intelligence model is
a first sub-model composed of a first set of a plurality of layers to output the first value when the input data is input; and
Among the plurality of layers, a layer related to feature extraction for the input data is shared with the first sub-model, and when the input data is input, the first sub-model outputs a second value different from the first value. a second sub-model composed of a second set of layers in which the remaining layers, excluding the set and the layer related to feature extraction, are different;
Including,
The learning device is,
Training the artificial intelligence model so that the accuracy of the first value takes priority over the accuracy of the second value,
method.
상기 학습 장치는,
상기 제2 서브 모델 보다 상기 제1 서브 모델에 가중치를 두고 상기 인공지능 모델에 대한 학습 또는 재학습을 수행하는,
방법. In clause 7,
The learning device is,
Performing learning or re-learning of the artificial intelligence model with weight on the first sub-model rather than the second sub-model,
method.
상기 학습 장치는,
상기 제1 서브 모델이 상기 제2 서브 모델보다 먼저 학습 또는 재학습되도록 상기 인공지능 모델에 대한 학습 또는 재학습을 수행하되,
상기 제2 서브 모델에 대한 학습 또는 재학습을 수행하는 경우, 상기 레이어에 포함된 적어도 하나의 파라미터는 고정시킨 상태에서 상기 제2 서브 모델에 대한 학습 또는 재학습이 수행되는,
방법. In clause 7,
The learning device is,
Perform training or re-training on the artificial intelligence model so that the first sub-model is trained or re-trained before the second sub-model,
When learning or re-learning the second sub-model, learning or re-learning the second sub-model is performed while fixing at least one parameter included in the layer.
method.
상기 학습 장치는,
상기 인공지능 모델에 대한 학습 또는 재학습을 진행하는 제1 단계, 상기 제1 서브 모델에 대한 학습을 진행하는 제2 단계 및 상기 레이어에 포함된 적어도 하나의 파라미터는 고정시킨 상태에서 상기 제2 서브 모델에 대한 학습을 진행하는 제3 단계에 기초하여 상기 인공지능 모델에 대한 학습 또는 재학습을 진행하는,
방법. In clause 7,
The learning device is,
A first step of learning or re-learning the artificial intelligence model, a second step of learning the first sub-model, and the second sub-model with at least one parameter included in the layer fixed. Learning or re-learning the artificial intelligence model based on the third step of learning the model,
method.
상기 성질은,
상기 제1 예측부가 상기 입력 데이터를 특정 클래스로 분류하는 예측을 수행함에 있어 정답 여부와 무관하게 상기 입력 데이터가 상기 특정 클래스로 분류된다고 확신할 수 있는 정도를 의미하는 신뢰도와 관련 있는,
방법. In clause 7,
The above properties are,
When the first prediction unit performs a prediction to classify the input data into a specific class, it is related to reliability, which refers to the degree to which the input data can be confident that the input data is classified into the specific class, regardless of whether the answer is correct or not.
method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230179559A KR20240010445A (en) | 2022-07-15 | 2023-12-12 | Technique for class and property classification of input data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220087452 | 2022-07-15 | ||
KR1020220087452 | 2022-07-15 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230179559A Division KR20240010445A (en) | 2022-07-15 | 2023-12-12 | Technique for class and property classification of input data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102615517B1 true KR102615517B1 (en) | 2023-12-19 |
Family
ID=89385524
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230088830A KR102615517B1 (en) | 2022-07-15 | 2023-07-10 | Technique for class and property classification of input data |
KR1020230179559A KR20240010445A (en) | 2022-07-15 | 2023-12-12 | Technique for class and property classification of input data |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230179559A KR20240010445A (en) | 2022-07-15 | 2023-12-12 | Technique for class and property classification of input data |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102615517B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045516A (en) | 2016-09-15 | 2018-03-22 | 三菱重工業株式会社 | Classification device, classification method, and program |
KR20210057611A (en) * | 2019-11-12 | 2021-05-21 | 엘지전자 주식회사 | Artificial intelligence apparatus and method for recognizing object included in image data |
KR20220023212A (en) * | 2020-08-20 | 2022-03-02 | 삼성전자주식회사 | Server and operating method for updating a model of a terminal |
-
2023
- 2023-07-10 KR KR1020230088830A patent/KR102615517B1/en active IP Right Grant
- 2023-12-12 KR KR1020230179559A patent/KR20240010445A/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045516A (en) | 2016-09-15 | 2018-03-22 | 三菱重工業株式会社 | Classification device, classification method, and program |
KR20210057611A (en) * | 2019-11-12 | 2021-05-21 | 엘지전자 주식회사 | Artificial intelligence apparatus and method for recognizing object included in image data |
KR20220023212A (en) * | 2020-08-20 | 2022-03-02 | 삼성전자주식회사 | Server and operating method for updating a model of a terminal |
Also Published As
Publication number | Publication date |
---|---|
KR20240010445A (en) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3467723B1 (en) | Machine learning based network model construction method and apparatus | |
US10867244B2 (en) | Method and apparatus for machine learning | |
US20180314975A1 (en) | Ensemble transfer learning | |
KR20210107458A (en) | Computer program for performance testing of models | |
US11460982B1 (en) | Number embedding application system | |
KR102308752B1 (en) | Method and apparatus for tracking object | |
JP2024503036A (en) | Methods and systems for improved deep learning models | |
US20210150335A1 (en) | Predictive model performance evaluation | |
KR102537113B1 (en) | Method for determining a confidence level of inference data produced by artificial neural network | |
Huang et al. | Towards smarter diagnosis: A learning-based diagnostic outcome previewer | |
KR102320707B1 (en) | Method for classifiying facility fault of facility monitoring system | |
KR102473010B1 (en) | Apparatus and Method for Selecting Data to Retrain an Artificial Intelligence Model | |
KR102287673B1 (en) | Method for generating abnormal data | |
KR102615517B1 (en) | Technique for class and property classification of input data | |
KR102425052B1 (en) | Apparatus for Maintaining and Managing Health Index of Artificial Intelligence Model and System Including the Same | |
KR20210119208A (en) | Training method for model that imitates expert and apparatus thereof | |
CN111177388A (en) | Processing method and computer equipment | |
US20240152818A1 (en) | Methods for mitigation of algorithmic bias discrimination, proxy discrimination and disparate impact | |
WO2020167156A1 (en) | Method for debugging a trained recurrent neural network | |
Chakraborti et al. | Evidential reasoning based digital twins for performance optimization of complex systems | |
Gladence et al. | A novel technique for multi-class ordinal regression-APDC | |
KR20230002862A (en) | Wafer bin map-based root cause analysis | |
Cannone | Explainable AI for Clustering Algorithms | |
US20240028925A1 (en) | Automated action recommender for structured processes | |
EP4451170A1 (en) | Applying natural language processing (nlp) techniques to time series data to derive attributes for use with a machine-learning model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |