KR102556173B1 - Method AND DEVICE FOR extracting abnormal data from machine learning model - Google Patents

Method AND DEVICE FOR extracting abnormal data from machine learning model Download PDF

Info

Publication number
KR102556173B1
KR102556173B1 KR1020210020564A KR20210020564A KR102556173B1 KR 102556173 B1 KR102556173 B1 KR 102556173B1 KR 1020210020564 A KR1020210020564 A KR 1020210020564A KR 20210020564 A KR20210020564 A KR 20210020564A KR 102556173 B1 KR102556173 B1 KR 102556173B1
Authority
KR
South Korea
Prior art keywords
data
machine learning
learning model
sensing
target
Prior art date
Application number
KR1020210020564A
Other languages
Korean (ko)
Other versions
KR20220117005A (en
Inventor
김원태
이승기
김영진
Original Assignee
한국기술교육대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국기술교육대학교 산학협력단 filed Critical 한국기술교육대학교 산학협력단
Priority to KR1020210020564A priority Critical patent/KR102556173B1/en
Publication of KR20220117005A publication Critical patent/KR20220117005A/en
Application granted granted Critical
Publication of KR102556173B1 publication Critical patent/KR102556173B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

기계학습 모델의 이상 데이터 추출 방법이 제공된다. 본 발명의 몇몇 실시예에 따른 기계학습 모델의 이상 데이터 추출 방법은, 센싱 데이터를 획득하는 단계, 센싱 데이터를 입력으로 구동하는 제1 기계학습 모델에서 제1 결과 데이터를 출력하는 단계, 센싱 데이터를 입력으로 구동하되 제1 기계학습 모델과 상이한 제2 기계학습 모델에서 제2 결과 데이터를 출력하는 단계, 센싱 데이터와 제2 결과 데이터를 비교하는 단계, 비교 결과에 기초하여 센싱 데이터가 이상 데이터인지 여부를 결정하는 단계 및 센싱 데이터가 이상 데이터로 결정된 경우, 이상 데이터로 결정된 센싱 데이터인 타겟 데이터의 로그 정보를 저장하는 단계를 포함한다.A method for extracting anomaly data of a machine learning model is provided. A method for extracting ideal data from a machine learning model according to some embodiments of the present invention includes obtaining sensing data, outputting first result data from a first machine learning model driving the sensing data as an input, and using the sensing data as an input. Outputting second result data from a second machine learning model driven by an input but different from the first machine learning model, comparing the sensing data and the second result data, whether or not the sensing data is ideal data based on the comparison result and when the sensing data is determined to be abnormal data, storing log information of target data that is the sensing data determined to be abnormal data.

Description

기계학습 모델의 이상 데이터 추출 방법 및 장치{Method AND DEVICE FOR extracting abnormal data from machine learning model}Method and device for extracting abnormal data from machine learning model {Method AND DEVICE FOR extracting abnormal data from machine learning model}

본 발명은 기계학습 모델의 이상 데이터 추출 방법에 관한 것으로, 더욱 상세하게는 오토인코더의 재현율에 기초하여 이상 데이터를 추출하고, 추출된 이상 데이터의 로그 정보를 이용하여 기계학습 모델의 전이 학습 성능을 향상시키는 방법에 관한 것이다.The present invention relates to a method for extracting abnormal data from a machine learning model, and more particularly, extracts abnormal data based on the recall of an autoencoder and uses log information of the extracted abnormal data to improve transfer learning performance of the machine learning model. It's about how to improve.

사람의 거주지, 사무실, 공장 등에서 발생하는 화재는 막대한 재산 피해 및 인명 피해를 발생시키고, 이로 인해 화재의 발생을 초기에 판단하여 빠른 대처를 가능하게 하는 화재 감지 알고리즘의 중요성이 부각되어왔다. Fires occurring in human residences, offices, factories, etc. cause enormous property damage and human casualties, and as a result, the importance of fire detection algorithms that enable quick response by determining the occurrence of a fire at an early stage has been highlighted.

기존의 화재 감지기는 단순 룰 베이스를 기반으로 단일 온도센서를 이용해 특정한 온도 값을 감지하거나, 단일 연기센서를 이용해 특정한 연기량(농도)을 감지하는 방식으로 화재를 판단했다. 이러한 화재 감지기는 비용적으로 저렴하다는 장점이 있으나 비화재보(Unwanted Alarm)에 약하다는 단점이 있다. 비화재보, 즉 화재 이외의 요인에 의한 오경보율을 낮추기 위해 여러가지 복합 센서를 이용해 화재를 감지하는 기법을 이용할 수 있으며, 특히 근래에는 복합적인 판단을 위해 기계학습 기법을 이용한 화재 감지 방법이 요구되고 있다. Existing fire detectors judged fire by detecting a specific temperature value using a single temperature sensor or detecting a specific amount (concentration) of smoke using a single smoke sensor based on a simple rule base. These fire detectors have the advantage of being inexpensive in terms of cost, but have the disadvantage of being weak against unwanted alarms. In order to reduce the rate of non-fire alarms, that is, false alarms caused by factors other than fire, a fire detection technique using various complex sensors can be used. In particular, recently, a fire detection method using machine learning techniques is required for complex judgment .

기계 학습(Machine Learning)은 영상 처리, 음성 인식, 자연어 처리, 화재 감지 등 다양한 목적을 위해 사용된다. 지도 학습(Supervised Learning) 기반의 기계 학습 모델의 장점은 수많은 데이터의 학습을 통해 정확도 높은 분류를 할 수 있다는 것이다. 지도 학습 기반의 기계 학습 모델은 분류하고자 하는 상황에 대한 데이터를 수집하고 적합한 레이블(label)을 부과하여 학습시킬 수 있으며, 이후 학습된 기계 학습 모델은 수신되는 데이터들이 어느 상황에 속하는지 판단할 수 있다. 예를 들어 화재 감지를 위한 기계 학습 모델은 비화재 상황과 화재 상황에 대한 센서 데이터를 수집하고 각각의 레이블을 부과하여 학습(training)시키면 비화재 상황과 화재 상황을 분류할 수 있다. 그러나 학습 단계에서 고려하지 못했던 이상 상황(예를 들어, 센서 오류, 간섭, 고장, 환경 잡음 등)에서는 판단의 오류가 발생할 수 있다. 특히 화재 감지의 경우 이러한 판단 오류는 비화재보에 의한 피해를 야기할 수 있다. 이러한 이유로 판단 오류를 줄이기 위한 기법이 필요하며, 그 기법 중 하나로 지속적으로 수집되는 데이터로부터의 재학습을 수행하는 전이 학습(Transfer Learning) 기법을 통한 판단 오류를 완화 대책이 요구된다.Machine learning is used for various purposes such as image processing, voice recognition, natural language processing, and fire detection. The advantage of a supervised learning-based machine learning model is that it can perform classification with high accuracy through learning from a large number of data. The supervised learning-based machine learning model collects data on the situation to be classified and assigns an appropriate label to train it. Then, the trained machine learning model can determine which situation the received data belongs to. there is. For example, a machine learning model for fire detection can classify non-fire and fire situations by collecting sensor data for non-fire and fire situations and assigning respective labels to the machine learning model. However, an error in judgment may occur in an abnormal situation (eg, sensor error, interference, malfunction, environmental noise, etc.) that was not considered in the learning stage. In particular, in the case of fire detection, such an error in judgment may cause damage due to non-fire alarm. For this reason, a technique for reducing judgment errors is required, and one of the techniques is a transfer learning technique that performs re-learning from continuously collected data.

한편, 전이 학습을 위한 레이블링 작업은 수집되는 방대한 양의 데이터로 인해 많은 시간과 비용(cost)을 소모한다. 또한, 지속적으로 수집되는 방대한 양의 데이터에 포함된 학습 데이터와 유사한 데이터는 기계 학습 모델의 성능 향상에 큰 영향을 미치지 않으므로, 레이블링 과정에서의 낭비를 초래한다. 반면에, 기계학습 모델의 학습 시 고려되지 못한 상황에 직면했을 때 발생하는 이상 데이터를 활용하여 기계학습 모델의 전이 학습을 수행한다면 상대적으로 높은 성능 향상을 기대할 수 있다. On the other hand, the labeling task for transfer learning consumes a lot of time and cost due to the huge amount of data collected. In addition, data similar to training data included in the vast amount of continuously collected data does not significantly affect the performance improvement of the machine learning model, resulting in waste in the labeling process. On the other hand, if transfer learning of a machine learning model is performed using anomaly data that occurs when faced with a situation that was not considered when learning a machine learning model, a relatively high performance improvement can be expected.

본 발명이 해결하고자 하는 기술적 과제는 센싱 값의 이상여부를 판단하고, 이에 대한 로그를 저장함으로써 기계학습 모델의 전이 학습 성능을 증대시키는 방법 및 장치를 제공하는 것이다.A technical problem to be solved by the present invention is to provide a method and apparatus for increasing transfer learning performance of a machine learning model by determining whether a sensing value is abnormal and storing a log thereof.

또한, 전이 학습에 사용되는 학습 데이터(training data)의 양을 감소시킴으로써 학습의 시간을 단축시키면서 기계학습 모델의 성능을 향상시키는 방법 및 장치를 제공하는 것이다.Another object of the present invention is to provide a method and apparatus for improving the performance of a machine learning model while reducing the learning time by reducing the amount of training data used for transfer learning.

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

상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 기계학습 모델의 이상 데이터 추출 방법은, 센싱 데이터를 획득하는 단계, 센싱 데이터를 입력으로 구동하는 제1 기계학습 모델에서 제1 결과 데이터를 출력하는 단계, 센싱 데이터를 입력으로 구동하되, 제1 기계학습 모델과 상이한 제2 기계학습 모델에서 제2 결과 데이터를 출력하는 단계, 센싱 데이터와 제2 결과 데이터를 비교하는 단계, 비교 결과에 기초하여 센싱 데이터가 이상 데이터인지 여부를 결정하는 단계 및 센싱 데이터가 이상 데이터로 결정된 경우, 이상 데이터로 결정된 센싱 데이터인 타겟 데이터의 로그 정보를 저장하는 단계를 포함할 수 있다.An ideal data extraction method of a machine learning model according to some embodiments of the present invention for achieving the above technical problem includes obtaining sensing data, first result data in a first machine learning model driving the sensing data as an input. Outputting, driving the sensing data as an input, but outputting second result data from a second machine learning model different from the first machine learning model, comparing the sensing data and the second result data, based on the comparison result The method may include determining whether or not the sensing data is abnormal data, and storing log information of target data that is the sensing data determined to be abnormal data when the sensing data is determined to be abnormal data.

몇몇 실시예에 따라, 제2 기계학습 모델은 과소완전 적층 오토인코더(Undercomplete Stacked Autoencoder)이고, 센싱 데이터와 제2 결과 데이터를 비교하는 단계는, 과소완전 적층 오토인코더의 재현율을 결정하는 단계를 포함할 수 있다.According to some embodiments, the second machine learning model is an undercomplete stacked autoencoder, and the step of comparing the sensing data and the second resultant data includes determining a recall of the undercomplete stacked autoencoder. can do.

몇몇 실시예에 따라, 센싱 데이터가 이상 데이터인지 여부를 결정하는 단계는, 재현율이 기정의된 임계값 이상인지 여부에 기초하여 이상 데이터 여부를 결정하는 단계를 포함할 수 있다.According to some embodiments, the step of determining whether the sensed data is abnormal data may include determining whether the data is abnormal based on whether or not the recall is greater than or equal to a predefined threshold value.

이 때, 센싱 데이터가 이상 데이터인지 여부를 결정하는 단계는, 재현율이 임계값 미만인 경우에 센싱 데이터를 이상 데이터로 결정하는 단계를 포함할 수 있다.In this case, the step of determining whether the sensing data is abnormal data may include determining the sensing data as abnormal data when the recall is less than a threshold value.

몇몇 실시예에 따라, 로그 정보는 타겟 데이터, 타겟 데이터를 입력으로 제1 기계학습 모델에 의해 출력된 제1 타겟 결과 데이터, 타겟 데이터를 입력으로 제2 기계학습 모델에 의해 출력된 제2 타겟 결과 데이터, 타겟 데이터의 입력 시간 및 타겟 데이터의 센싱 시간 중 적어도 하나의 정보를 포함할 수 있다.According to some embodiments, the log information includes target data, first target result data output by a first machine learning model using the target data as an input, and second target result output by a second machine learning model using the target data as an input. It may include information on at least one of data, an input time of target data, and a sensing time of target data.

몇몇 실시예에 따라, 로그 정보를 학습 데이터로 이용하여 제1 기계학습 모델의 전이 학습(Transfer Learning)을 수행하는 단계를 더 포함할 수 있다.According to some embodiments, the method may further include performing transfer learning of the first machine learning model by using log information as training data.

몇몇 실시예에 따라, 센싱 데이터는 온도, 습도, 연기량 및 가스량 중 적어도 하나의 정보를 포함할 수 있고, 제1 결과 데이터를 출력하는 단계는, 타겟 공간의 화재 발생 여부에 대한 결과를 포함하는 제1 결과 데이터를 출력하는 단계를 포함할 수 있다.According to some embodiments, the sensing data may include information on at least one of temperature, humidity, smoke amount, and gas amount, and outputting the first result data includes a result of whether or not a fire occurs in the target space. It may include outputting the first result data.

몇몇 실시예에 따라, 타겟 데이터의 로그 정보를 저장하는 단계는, 제2 기계학습 모델에 의해 센싱 데이터가 이상 데이터로 결정되고, 제1 기계학습 모델에 의해 생성된 제1 결과 데이터가 타겟 공간에 화재가 발생했다는 정보를 포함하는 경우 타겟 데이터의 로그 정보를 저장하는 단계를 포함할 수 있다.According to some embodiments, the step of storing the log information of the target data may include determining that the sensing data is abnormal data by a second machine learning model, and first result data generated by the first machine learning model in the target space. A step of storing log information of the target data may be included when information indicating that a fire has occurred is included.

몇몇 실시예에 따라, 타겟 데이터의 센싱 시점의 온풍기 작동 상태, 창문 개폐 상태 및 날씨 정보 중 적어도 하나의 상태 정보를 획득하는 단계와, 로그 정보 및 상태 정보를 학습 데이터로 이용하여 제1 기계학습 모델의 전이 학습을 수행하는 단계를 더 포함할 수 있다.According to some embodiments, the step of acquiring state information of at least one of a heater operating state, a window opening state, and weather information at the time of sensing the target data, and a first machine learning model by using the log information and the state information as learning data. It may further include the step of performing transfer learning of.

몇몇 실시예에 따라, 센싱 데이터를 획득하는 단계는, 복수의 센싱 데이터를 획득하는 단계 및 복수의 센싱 데이터를 기정의된 구간으로 스케일링한 전처리 데이터를 생성하는 단계를 포함할 수 있다.According to some embodiments, acquiring the sensing data may include acquiring a plurality of sensing data and generating preprocessed data obtained by scaling the plurality of sensing data to a predefined interval.

이 때, 제1 및 제2 기계학습 모델은, 전처리 데이터를 입력으로 각각 제1 및 제2 결과 데이터를 출력할 수 있다.In this case, the first and second machine learning models may output first and second result data, respectively, with preprocessing data as an input.

본 발명의 몇몇 실시예에 따라, 하드웨어와 결합되어 상기의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.According to some embodiments of the present invention, it may be implemented as a computer program stored in a computer readable recording medium in order to execute the method in combination with hardware.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.

도 1은 본 발명의 몇몇 실시예에 따른 이상 데이터 추출 방법이 적용되는 장치를 설명하기 위한 도면이다.
도 2는 본 발명의 몇몇 실시예에 따른 판단부를 설명하기 위한 도면이다.
도 3은 본 발명의 몇몇 실시예에 따른 제2 기계학습 모델을 설명하기 위한 도면이다.
도 4는 본 발명의 몇몇 실시예에 따른 오토인코더를 설명하기 위한 도면이다.
도 5는 본 발명의 몇몇 실시예에 따른 입력부를 설명하기 위한 도면이다.
도 6은 본 발명의 몇몇 실시예에 따른 기계학습 모델의 이상 데이터 추출 방법을 설명하기 위한 순서도이다.
도 7은 센싱 데이터와 제2 결과 데이터의 재현율에 기초하여 이상 데이터를 결정하는 실시예를 설명하기 위한 순서도이다.
도 8은 타겟 데이터의 로그 정보를 이용하여 제1 기계학습 모델의 전이 학습을 수행하는 실시예를 설명하기 위한 순서도이다.
도 9는 도 8의 실시예를 설명하기 위한 블록도이다.
도 10은 센싱 데이터 및 제1 결과 데이터에 기초하여 로그 정보의 저장 여부를 결정하는 실시예를 설명하기 위한 순서도이다.
1 is a diagram for explaining an apparatus to which a method for extracting abnormal data according to some embodiments of the present invention is applied.
2 is a diagram for explaining a determination unit according to some embodiments of the present invention.
3 is a diagram for explaining a second machine learning model according to some embodiments of the present invention.
4 is a diagram for explaining an autoencoder according to some embodiments of the present invention.
5 is a diagram for explaining an input unit according to some embodiments of the present invention.
6 is a flowchart illustrating a method of extracting abnormal data from a machine learning model according to some embodiments of the present invention.
7 is a flowchart illustrating an embodiment of determining abnormal data based on sensing data and a recall of second result data.
8 is a flowchart for explaining an embodiment of performing transfer learning of a first machine learning model using log information of target data.
FIG. 9 is a block diagram for explaining the embodiment of FIG. 8 .
10 is a flowchart illustrating an embodiment of determining whether to store log information based on sensing data and first result data.

이하, 본 발명의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. However, it should be understood that this is not intended to limit the present invention to the specific embodiments, but to cover various modifications, equivalents, and/or alternatives of the embodiments of the present invention.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this specification, it should not be interpreted in an ideal or excessively formal meaning. don't

본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. Various embodiments of this document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, like reference numbers may be used for like or related elements. The singular form of a noun corresponding to an item may include one item or a plurality of items, unless the relevant context clearly dictates otherwise. In this document, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "A, Each of the phrases such as "at least one of B or C" may include any one of the items listed together in the corresponding one of the phrases, or all possible combinations thereof. Terms such as "first" and "second" may simply be used to distinguish a corresponding component from other corresponding components, and do not limit the corresponding components in other respects (eg, importance or order).

실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.The embodiments may be implemented in various types of products such as personal computers, laptop computers, tablet computers, smart phones, televisions, smart home appliances, intelligent vehicles, kiosks, and wearable devices. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Like reference numerals in each figure indicate like elements.

이하에서, 도 1 내지 도 10을 참조하여 본 발명의 몇몇 실시예에 따른 기계학습 모델의 이상 데이터 추출 방법에 대해 설명한다.Hereinafter, a method for extracting abnormal data from a machine learning model according to some embodiments of the present invention will be described with reference to FIGS. 1 to 10 .

도 1은 본 발명의 몇몇 실시예에 따른 이상 데이터 추출 방법이 적용되는 장치를 설명하기 위한 도면이다.1 is a diagram for explaining an apparatus to which a method for extracting abnormal data according to some embodiments of the present invention is applied.

기계학습(Machine Learning)이란 인간의 학습 능력을 컴퓨터 등 기계에 구현하는 학습 방식으로, 기계학습을 구현하는 방법은 신경망(Neural Network), 데이터마이닝(Data Mining), 의사결정 트리(Decision Tree), 유전알고리즘(Genetic Algorithm), 사례기반 추론(Case Based Reasoning), 패턴 인식(Pattern Recognition), 강화 학습(Reinforcement learning), 딥 러닝(Deep Learning) 등이 포함될 수 있다. 본 명세서에서 기계학습으로 표현되는 학습은 특정한 구현 방식이 아닌 상기의 방식들 중 어느 하나로 구현될 수 있다.Machine learning is a learning method that implements human learning capabilities in machines such as computers. The methods for implementing machine learning include neural networks, data mining, decision trees, Genetic Algorithm, Case Based Reasoning, Pattern Recognition, Reinforcement Learning, Deep Learning, etc. may be included. Learning expressed as machine learning in this specification may be implemented in any one of the above methods rather than a specific implementation method.

인공 신경망이란 사람의 두뇌가 정보를 처리하는 방식을 모방한 연산 시스템이다.An artificial neural network is a computing system that mimics the way the human brain processes information.

심층 신경망(Deep Neural Network)은 인공 신경망을 구현하는 하나의 방식으로서, 복수의 레이어(layer)를 포함할 수 있다. 예를 들어, 심층 신경망은 입력 데이터가 인가되는 입력 레이어(Input Layer), 학습을 바탕으로 입력 데이터에 기반한 예측을 통해 도출된 결과 값을 출력하는 출력 레이어(Output Layer) 및 입력 레이어와 출력 레이어 사이에 다중의 은닉 레이어(Hidden Layer)을 포함한다.A deep neural network is one method of implementing an artificial neural network, and may include a plurality of layers. For example, a deep neural network has an input layer to which input data is applied, an output layer that outputs result values derived through prediction based on input data based on learning, and a gap between the input layer and the output layer. contains multiple hidden layers.

심층 신경망은 정보를 처리하기 위해 이용되는 알고리즘에 따라, 컨볼루션 신경망(Convolutional Neural Network), 리커런트 신경망(Recurrent Neural Network) 등으로 분류된다.A deep neural network is classified into a convolutional neural network, a recurrent neural network, and the like according to an algorithm used to process information.

인공 신경망을 학습하는 방식을 딥러닝(Deep Learning)이라 하며, 상술한 바와 같이 딥러닝에는 컨볼루션 신경망, 리커런트 신경망 방식과 같이 다양한 알고리즘이 이용될 수 있다.A method of learning artificial neural networks is called deep learning, and as described above, various algorithms such as convolutional neural networks and recurrent neural networks may be used in deep learning.

이 때, 인공 신경망을 학습한다는 것은 계층간 가중치 및 바이어스 또는 인접한 계층 중 서로 다른 레이어에 속하는 복수의 뉴런들간의 가중치 및 바이어스를 결정하고 갱신하는 것을 나타낼 수 있다.In this case, learning the artificial neural network may refer to determining and updating weights and biases between layers or weights and biases between a plurality of neurons belonging to different layers among adjacent layers.

예를 들어, 복수의 계층적 구조 및 복수의 레이어들, 또는, 뉴런들 간의 가중치 및 바이어스를 총칭하여 인공 신경망의 연결성(connectivity)이라 할 수 있다. 따라서, 인공 신경망을 학습한다는 것은 연결성을 구축하고 학습하는 것을 나타낼 수 있다.For example, a plurality of hierarchical structures, a plurality of layers, or weights and biases between neurons may be collectively referred to as connectivity of an artificial neural network. Thus, learning an artificial neural network can refer to building and learning connectivity.

본 발명의 몇몇 실시예에 따른 기계학습 모델의 이상 데이터 추출 장치(10)는 뉴럴 네트워크를 생성하거나, 뉴럴 네트워크를 훈련(train)(또는 학습(learn))하거나, 뉴럴 네트워크를 재훈련(retrain)하는 기능들과 같은 다양한 프로세싱 기능들을 갖는 컴퓨팅 디바이스에 해당될 수 있다. 예를 들어, 기계학습 모델의 이상 데이터 추출 장치(10)는 PC(personal computer), 서버 디바이스, 모바일 디바이스 등의 다양한 종류의 디바이스들로 구현될 수 있다.The apparatus 10 for extracting ideal data of a machine learning model according to some embodiments of the present invention generates a neural network, trains (or learns) the neural network, or retrains the neural network. It may correspond to a computing device having various processing functions such as For example, the apparatus 10 for extracting abnormal data of a machine learning model may be implemented in various types of devices such as a personal computer (PC), a server device, and a mobile device.

도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 기계학습 모델의 이상 데이터 추출 장치(10)는 입력부(100), 판단부(200) 및 저장부(300)를 포함할 수 있고, 입력부(100)를 통해 입력되는 센싱 데이터(DT_SS)가 판단부(200)에 의해 판단(또는 학습)되고, 상기 판단 결과에 기초하여 이상 데이터(DT_ABN)라고 결정된 센싱 데이터인 타겟 데이터(DT_TG)의 로그 정보(LOG_TG)를 저장부(300)에 저장하고, 이를 이용하여 기계학습 모델의 성능을 향상시킬 수 있다.Referring to FIG. 1 , an apparatus 10 for extracting abnormal data of a machine learning model according to some embodiments of the present invention may include an input unit 100, a determination unit 200, and a storage unit 300, and an input unit ( The sensing data DT_SS input through the 100) is determined (or learned) by the determination unit 200, and the log information of the target data DT_TG, which is the sensing data determined to be abnormal data DT_ABN based on the determination result (LOG_TG) is stored in the storage unit 300, and the performance of the machine learning model can be improved by using it.

도시하지는 않았으나, 저장부(300)는 타겟 데이터(DT_TG) 획득 당시의 시간, 타겟 데이터(DT_TG)에 대한 제1 결과 데이터(DT1), 타겟 데이터(DT_TG)의 재현율(또는 비교 데이터(COMP)) 등 로그 정보(LOG_TG)로 생성하는 로깅 모듈과, 생성된 로그 정보(LOG_TG)가 저장되는 데이터 저장소를 포함할 수 있다.Although not shown, the storage unit 300 stores the acquisition time of the target data DT_TG, the first result data DT1 for the target data DT_TG, and the recall (or comparison data COMP) of the target data DT_TG. It may include a logging module generated with log information (LOG_TG) and a data storage in which the generated log information (LOG_TG) is stored.

기계학습 모델의 이상 데이터 추출 장치(10)의 각각의 구성요소들(입력부(100), 판단부(200) 및 저장부(300))은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.Each of the components (input unit 100, determination unit 200 and storage unit 300) of the ideal data extraction device 10 of the machine learning model are separately shown in the drawing to show that they can be functionally and logically separated. It is indicated, and does not mean that it is physically a separate component or implemented as a separate code.

도 2는 본 발명의 몇몇 실시예에 따른 판단부를 설명하기 위한 도면이고, 도 3은 본 발명의 몇몇 실시예에 따른 제2 기계학습 모델을 설명하기 위한 도면이고, 도 4는 본 발명의 몇몇 실시예에 따른 오토인코더를 설명하기 위한 도면이다.2 is a diagram for explaining a determination unit according to some embodiments of the present invention, FIG. 3 is a diagram for explaining a second machine learning model according to some embodiments of the present invention, and FIG. 4 is a diagram for some embodiments of the present invention. It is a diagram for explaining an autoencoder according to an example.

도 2를 참조하면, 판단부(200)는 제1 기계학습 모델(210) 및 제2 기계학습 모델(220)을 포함할 수 있고, 제1 기계학습 모델(210) 및 제2 기계학습 모델(220)은 센싱 데이터(DT_SS)를 수신하고, 센싱 데이터(DT_SS)에 기초하여 각각 제1 결과 데이터(DT1) 및 비교 데이터(COMP)를 출력할 수 있다. 즉, 제1 및 제2 기계학습 모델(210, 220)은 동일한 학습 데이터인 센싱 데이터(DT_SS)로 학습될 수 있다.Referring to FIG. 2 , the determination unit 200 may include a first machine learning model 210 and a second machine learning model 220, and the first machine learning model 210 and the second machine learning model ( 220) may receive the sensing data DT_SS and output first result data DT1 and comparison data COMP based on the sensing data DT_SS. That is, the first and second machine learning models 210 and 220 may be learned using the same sensing data DT_SS as learning data.

제1 및 제2 기계학습 모델(210, 220)는 주어진 초기 뉴럴 네트워크를 반복적으로 훈련(학습)시킴으로써, 훈련된 뉴럴 네트워크를 생성할 수 있다. 훈련된 뉴럴 네트워크를 생성하는 것은 뉴럴 네트워크 파라미터를 결정하는 것을 의미할 수 있다. 여기서, 파라미터들은 예를 들어 뉴럴 네트워크의 입/출력 액티베이션들, 웨이트들, 바이어스들 등 뉴럴 네트워크에 입/출력되는 다양한 종류의 데이터를 포함할 수 있다. 뉴럴 네트워크의 반복적인 훈련이 진행됨에 따라, 뉴럴 네트워크의 파라미터들은 주어진 입력에 대해 보다 정확한 출력을 연산하기 위해 조정될(tuned) 수 있다.The first and second machine learning models 210 and 220 may generate a trained neural network by repeatedly training (learning) a given initial neural network. Creating a trained neural network can mean determining neural network parameters. Here, the parameters may include, for example, various types of data input/output to the neural network, such as input/output activations, weights, and biases of the neural network. As the iterative training of the neural network progresses, the parameters of the neural network can be tuned to compute a more accurate output for a given input.

몇몇 실시예에 따라, 판단부(200)는 모바일 디바이스, 임베디드(embedded) 디바이스 등에 포함될 수 있다. 몇몇 실시예에 따라, 판단부(200)는 뉴럴 네트워크의 구동을 위한 전용 하드웨어일 수 있다.According to some embodiments, the determination unit 200 may be included in a mobile device, an embedded device, or the like. According to some embodiments, the determination unit 200 may be dedicated hardware for driving a neural network.

몇몇 실시예에 따라, 제1 기계학습 모델(210)은 센싱 데이터(DT_SS)에 기초하여 화재 발생여부를 판단할 수 있다. 제1 기계학습 모델(210)은 DNN, RNN, CNN 등과 같이 다양한 기계 학습 모델이 사용될 수 있으며, 본 발명이 적용되는 실시예가 특정 기계학습 모델로 제한되지 않는다. 제1 기계학습 모델(210)의 입력 계층(input layer)의 뉴런 수는 화재 감지 센서에서 입력받는 온도, 습도, 연기, 가스 등의 센서데이터 개수이며, 출력계층의 뉴런 개수는 화재 또는 비화재를 나타내는 뉴런 2개로 구성될 수 있다.According to some embodiments, the first machine learning model 210 may determine whether a fire has occurred based on the sensing data DT_SS. As the first machine learning model 210, various machine learning models such as DNN, RNN, and CNN may be used, and an embodiment to which the present invention is applied is not limited to a specific machine learning model. The number of neurons in the input layer of the first machine learning model 210 is the number of sensor data such as temperature, humidity, smoke, and gas received from the fire detection sensor, and the number of neurons in the output layer indicates fire or non-fire. It can consist of two neurons representing

판단부(200)의 각각의 구성요소들(제1 기계학습 모델(210) 및 제2 기계학습 모델(220))은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.Each component of the determination unit 200 (the first machine learning model 210 and the second machine learning model 220) is shown separately in the drawing to show that it can be functionally and logically separated, and the physical This does not necessarily mean that it is a separate component or implemented as separate code.

도 3 및 도 4를 참조하면, 본 발명의 몇몇 실시예에 따른 제2 기계학습 모델(220)은 오토인코더(221) 및 비교 모듈(222)을 포함할 수 있다. 몇몇 실시예에 따라, 오토인코더(221)는 입력부(100)에 의해 수신되는 센싱 데이터(DT_SS)에 기초하여 제2 결과 데이터(DT2)를 출력하고, 비교 모듈(222)은 제2 결과 데이터(DT2) 및 센싱 데이터(DT_SS)에 기초하여 비교 데이터(COMP)를 출력할 수 있다. Referring to FIGS. 3 and 4 , a second machine learning model 220 according to some embodiments of the present invention may include an autoencoder 221 and a comparison module 222 . According to some embodiments, the autoencoder 221 outputs second result data DT2 based on the sensing data DT_SS received by the input unit 100, and the comparison module 222 outputs the second result data ( Comparison data COMP may be output based on DT2) and sensing data DT_SS.

제2 기계학습 모델(220)의 각각의 구성요소들(오토인코더(221) 및 비교 모듈(222))은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.Each of the components (autoencoder 221 and comparison module 222) of the second machine learning model 220 are shown separately in the drawing to show that they can be functionally and logically separated, and must be physically separate. It does not mean that it is a component of or implemented as a separate code.

오토인코더(221)는 입력을 출력으로 그대로 복사하는 비지도학습(Unsupervised Learning)의 일종인 신경망으로, 입력층(Input Layer)과 출력층(Output Layer) 사이의 은닉층(Hidden Layer)을 통해 데이터를 효율적으로 표현(representation)하는 방법을 학습하는 신경망이다. 즉, 오토인코더(221)는 센싱 데이터(DT_SS)를 입력으로 상기 센싱 데이터(DT_SS)를 재현한 제2 결과 데이터(DT2)를 생성하되, 센싱 데이터(DT_SS)와 제2 결과 데이터(DT2)는 재현율이 높은 유사 데이터이거나, 재현율이 낮은 비유사 데이터일 수 있다.The autoencoder 221 is a neural network that is a type of unsupervised learning that copies input as output as it is, and efficiently converts data through a hidden layer between the input layer and the output layer. It is a neural network that learns how to represent That is, the autoencoder 221 generates second result data DT2 obtained by reproducing the sensing data DT_SS by taking the sensing data DT_SS as an input, and the sensing data DT_SS and the second result data DT2 are It may be similar data with a high recall rate or dissimilar data with a low recall rate.

몇몇 실시예에 따라, 오토인코더(221)는 과소완전 적층 오토인코더(Undercomplete Stacked Autoencoder)로 구현될 수 있다. 입력층(Input Layer)은 제1 기계학습 모델(210)과 같이 화재 감지 센서에 의해 센싱되는 센싱 데이터(예를 들어, 온도, 습도, 연기, 가스 등) 또는 상기 센싱 데이터의 전처리 데이터를 입력으로 제공받고, 출력층(Output Layer)은 입력층과 동일한 구조(뉴런의 개수 또는 출력되는 데이터의 종류)를 가질 수 있다. According to some embodiments, the autoencoder 221 may be implemented as an undercomplete stacked autoencoder. Like the first machine learning model 210, the input layer receives sensing data (eg, temperature, humidity, smoke, gas, etc.) sensed by the fire detection sensor or preprocessing data of the sensing data as input. Provided, the output layer may have the same structure as the input layer (the number of neurons or the type of output data).

몇몇 실시예에 따라, 제1 기계학습 모델(210) 및 오토인코더(221)는 동일한 학습 데이터를 이용해 훈련된다. 충분한 훈련이 되었다면, 제1 기계학습 모델(210)은 학습 데이터와 비슷한 상황에서는 올바른 판단을 할 수 있을 것이고, 오토인코더(221)는 학습 데이터와 비슷한 상황의 데이터가 입력되면 출력층에서 나오는 제2 결과 데이터(DT2)의 재현율이 높을 것이다. 본 발명에서는 제1 기계학습 모델(210)과 오토인코더(221)의 학습이 완료되었다는 가정을 하며, 제1 기계학습 모델(210) 및 오토인코더(221)의 학습 방법은 제한되지 않는다.According to some embodiments, first machine learning model 210 and autoencoder 221 are trained using the same training data. If sufficiently trained, the first machine learning model 210 will be able to make a correct judgment in a situation similar to the learning data, and the autoencoder 221 will produce a second result from the output layer when data in a situation similar to the learning data is input. The reproducibility of the data DT2 will be high. In the present invention, it is assumed that learning of the first machine learning model 210 and the autoencoder 221 is completed, and the learning method of the first machine learning model 210 and the autoencoder 221 is not limited.

비교 모듈(222)은 센싱 데이터(DT_SS) 및 제2 결과 데이터(DT2)에 기초하여 비교 데이터(COMP)를 출력할 수 있다. 비교 데이터(COMP)는 비교 모듈(222)의 입력 데이터(센싱 데이터(DT_SS) 및 제2 결과 데이터(DT2))의 비교 결과에 대한 정보를 포함한다. 즉, 센싱 데이터(DT_SS) 및 제2 결과 데이터(DT2)의 유사도를 판단하고, 이에 기초하여 결정된 재현율에 대한 정보를 포함할 수 있다. 재현율이란 제2 결과 데이터(DT2)가 센싱 데이터(DT_SS)를 재현한 정도를 나타낸 수치일 수 있고, 이에 대한 판단 조건은 다양하게 설정될 수 있다. 즉, 재현율이 높다면 센싱 데이터(DT_SS)는 기학습된 학습 데이터와 유사한 데이터일 확률이 높고, 이에 따라 센싱 데이터(DT_SS)는 이상치가 낮은 정상 데이터일 확률이 높다. 따라서 제1 기계학습 모델(210)의 판단 결과인 제1 결과 데이터(DT1)의 신뢰도가 높음을 의미한다. 반대로, 재현율이 낮은 경우 센싱 데이터(DT_SS)는 외부 요인 등에 의해 이상치가 높은 이상 데이터일 확률이 높고, 따라서 제1 결과 데이터(DT1)의 신뢰도는 낮음을 의미한다. 본 명세서에서의 "이상 데이터(DT_ABN)"는, 재현율이 기정의된 임계값보다 낮은 데이터를 의미하고, "정상 데이터(DT_NM)"는 이상 데이터(DT_ABN) 이외의 데이터를 의미한다.The comparison module 222 may output comparison data COMP based on the sensing data DT_SS and the second result data DT2. The comparison data COMP includes information on a comparison result of input data (sensing data DT_SS and second result data DT2) of the comparison module 222 . That is, the similarity between the sensing data DT_SS and the second result data DT2 may be determined, and information on the recall determined based on the similarity may be included. The reproducibility may be a numerical value representing the degree to which the second result data DT2 reproduces the sensing data DT_SS, and a determination condition for this may be set in various ways. That is, if the recall is high, the sensing data DT_SS is highly likely to be data similar to the pre-learned learning data, and accordingly, the sensing data DT_SS is highly likely to be normal data with low outliers. Therefore, it means that the reliability of the first result data DT1, which is the judgment result of the first machine learning model 210, is high. Conversely, when the recall is low, the sensed data DT_SS is highly likely to be abnormal data with a high outlier value due to external factors, and thus the reliability of the first result data DT1 is low. In this specification, "abnormal data DT_ABN" means data whose recall ratio is lower than a predefined threshold, and "normal data DT_NM" means data other than the abnormal data DT_ABN.

예를 들어, 제1 기계학습 모델(210)에 의해 출력된 제1 결과 데이터(DT1)에 "화재 발생"에 대한 정보가 포함되고, 제2 기계학습 모델(220)에 의해 출력된 비교 데이터(COMP)에 재현율이 높다는 정보가 포함되는 경우, "화재 발생"이라는 결과는 비화재보가 아닐 가능성이 높다. 이에 반해, 제1 기계학습 모델(210)에 의해 출력된 제1 결과 데이터(DT1)에 "화재 발생"에 대한 정보가 포함되고, 제2 기계학습 모델(220)에 의해 출력된 비교 데이터(COMP)에 재현율이 낮다는 정보가 포함되는 경우, "화재 발생"이라는 결과는 비화재보일 가능성이 높다.For example, information on “fire occurrence” is included in the first result data DT1 output by the first machine learning model 210, and comparison data output by the second machine learning model 220 ( COMP) contains information that the recall is high, the result of "fire outbreak" is likely not a non-fire report. In contrast, the first result data DT1 output by the first machine learning model 210 includes information on "fire occurrence", and the comparison data COMP output by the second machine learning model 220 ) includes information that recall is low, the result of "fire occurrence" is highly likely to show no fire.

또한, 재현율이 높은 센싱 데이터, 즉 정상 데이터(DT_NM)의 경우에는 제1 기계학습 모델(210)의 학습 데이터와 차이가 적으므로 추후 재학습(또는, 전이 학습)의 학습 데이터로 사용하더라도 제1 기계학습 모델(210)의 성능 향상에 큰 효과를 기대할 수 없다. 이에 반해, 재현율이 낮은 이상 데이터(DT_ABN)의 경우 제1 기계학습 모델(210)의 학습 데이터로 사용되는 경우 효과적인 학습이 가능하고, 이에 따라 제1 기계학습 모델의 성능을 향상시킬 수 있다.In addition, since sensing data with a high recall rate, that is, normal data (DT_NM), has a small difference from the learning data of the first machine learning model 210, even if it is used as learning data for re-learning (or transfer learning) later, the first A significant effect on performance improvement of the machine learning model 210 cannot be expected. On the other hand, in the case of anomalous data (DT_ABN) having a low recall rate, when used as training data of the first machine learning model 210, effective learning is possible, and thus the performance of the first machine learning model can be improved.

도 5는 본 발명의 몇몇 실시예에 따른 입력부를 설명하기 위한 도면이다.5 is a diagram for explaining an input unit according to some embodiments of the present invention.

도 5를 참조하면, 입력부(100)는 센싱 데이터(DT_SS)를 수신하는 데이터 수집 모듈(110) 및 센싱 데이터(DT_SS)에 대한 전처리 동작을 수행하는 데이터 전처리 모듈(120)을 포함할 수 있다. 본 명세서에서의 "센싱 데이터(DT_SS)"는 전처리 과정을 거친 전처리 데이터(DT_PREP)를 의미할 수도 있다. 즉, 판단부(200)가 수신하는 데이터는 전처리 데이터(DT_PREP)일 수 있다.Referring to FIG. 5 , the input unit 100 may include a data collection module 110 receiving sensing data DT_SS and a data preprocessing module 120 performing a preprocessing operation on the sensing data DT_SS. In this specification, "sensing data DT_SS" may mean preprocessed data DT_PREP that has undergone a preprocessing process. That is, data received by the determination unit 200 may be preprocessed data DT_PREP.

입력부(100)의 각각의 구성요소들(데이터 수집 모듈(110) 및 데이터 전처리 모듈(120))은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.Each of the components (data collection module 110 and data preprocessing module 120) of the input unit 100 are separately shown in the drawing to show that they can be functionally and logically separated, and are physically separate components It is not meant to be an element or implemented as separate code.

도 6은 본 발명의 몇몇 실시예에 따른 기계학습 모델의 이상 데이터 추출 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a method of extracting abnormal data from a machine learning model according to some embodiments of the present invention.

도 6을 참조하면, 본 발명의 몇몇 실시예에 따른 이상 데이터 추출 방법은, 외부로부터 입력되는 센싱 데이터(DT_SS)에 기초하여 제1 및 제2 결과 데이터(DT1, DT2)를 생성하고, 센싱 데이터(DT_SS)가 이상 데이터(DT_ABN)인지 여부를 판단하여 이상 데이터(DT_ABN)인 타겟 데이터(DT_TG)의 로그 정보(LOG_TG)를 저장할 수 있다.Referring to FIG. 6 , in a method for extracting abnormal data according to some embodiments of the present invention, first and second result data DT1 and DT2 are generated based on sensing data DT_SS input from the outside, and the sensing data It is possible to determine whether (DT_SS) is the abnormal data (DT_ABN) and store the log information (LOG_TG) of the target data (DT_TG) that is the abnormal data (DT_ABN).

S1000 단계에서, 입력부(100)는 외부로부터 센싱 데이터(DT_SS)를 획득할 수 있다. 상술한 바와 같이, 센싱 데이터(DT_SS)는 화재 감지 센서에 의해 감지되는 데이터일 수 있다. 예를 들어, 센싱 데이터(DT_SS)는 온도, 습도, 연기량 및 가스량 중 적어도 하나의 데이터를 포함할 수 있다.In step S1000, the input unit 100 may obtain sensing data DT_SS from the outside. As described above, the sensing data DT_SS may be data sensed by a fire detection sensor. For example, the sensing data DT_SS may include at least one of temperature, humidity, smoke amount, and gas amount.

S2000 단계에서, 센싱 데이터(DT_SS)를 입력으로 구동되는 제1 기계학습 모델(210)에서 제1 결과 데이터(DT1)를 출력할 수 있다. 센싱 데이터(DT_SS)는 입력부(100)에 의해 생성되는 전처리 데이터(DT_PREP)일 수 있다. 예를 들어, 전처리 데이터(DT_PREP)는 서로 다른 단위를 갖는 각각의 센싱 데이터(DT_SS)를 동일한 범위로 스케일링한 데이터일 수 있다. 제1 결과 데이터(DT1)는 센싱 데이터(DT_SS)가 화재를 나타내는지 또는 비화재를 나타내는지를 판단한 데이터일 수 있다.In step S2000, the first result data DT1 may be output from the first machine learning model 210 driven by the sensing data DT_SS as an input. The sensing data DT_SS may be preprocessing data DT_PREP generated by the input unit 100 . For example, the preprocessing data DT_PREP may be data obtained by scaling each sensing data DT_SS having different units to the same range. The first result data DT1 may be data determined by determining whether the sensing data DT_SS indicates fire or non-fire.

S3000 단계에서, 센싱 데이터(DT_SS)를 입력으로 구동되는 제2 기계학습 모델(220)에서 제2 결과 데이터(DT2)를 출력할 수 있다. 이 때, 제2 결과 데이터(DT2)는 제2 기계학습 모델(220)에 포함되는 오토인코더(221)에 의해 출력되는 데이터일 수 있다.In step S3000, the second result data DT2 may be output from the second machine learning model 220 driven by the sensing data DT_SS as an input. At this time, the second result data DT2 may be data output by the autoencoder 221 included in the second machine learning model 220 .

S4000 단계에서, 센싱 데이터(DT_SS)와 제2 결과 데이터(DT2)를 비교할 수 있다. 구체적으로, 제2 기계학습 모델(220)에 포함되는 비교 모듈(222)에서 상기 센싱 데이터(DT_SS)와 제2 결과 데이터(DT2)를 비교할 수 있다.In step S4000, the sensed data DT_SS and the second result data DT2 may be compared. Specifically, the comparison module 222 included in the second machine learning model 220 may compare the sensed data DT_SS and the second result data DT2.

S5000 단계에서, 센싱 데이터(DT_SS)가 이상 데이터(DT_ABN)인지 여부를 결정할 수 있다. 구체적으로, 비교 모듈(222)에서 결정된 비교 데이터(COMP)에 기초하여, 센싱 데이터(DT_SS)와 제2 결과 데이터(DT2)의 재현율을 결정하고, 상기 재현율에 기초하여 센싱 데이터(DT_SS)가 이상 데이터(DT_ABN)인지 여부를 결정할 수 있다. 즉, 비교 모듈(222)에서 출력되는 비교 데이터(COMP)는 센싱 데이터(DT_SS)가 이상 데이터(DT_ABN)인지 여부에 대한 정보를 포함할 수 있다.In step S5000, it may be determined whether the sensing data DT_SS is abnormal data DT_ABN. Specifically, the recall of the sensing data DT_SS and the second result data DT2 is determined based on the comparison data COMP determined by the comparison module 222, and the sensing data DT_SS is abnormal based on the recall. It can determine whether it is data (DT_ABN). That is, the comparison data COMP output from the comparison module 222 may include information on whether the sensing data DT_SS is the abnormal data DT_ABN.

S6000 단계에서, 센싱 데이터(DT_SS)가 이상 데이터(DT_ABN)로 판단되는 경우, 타겟 데이터(DT_TG)의 로그 정보(LOG_TG)를 저장할 수 있다. 구체적으로, 이상 데이터(DT_ABN)로 결정된 센싱 데이터(DT_SS)를 타겟 데이터(DT_TG)로 정의하고, 타겟 데이터(DT_TG)의 로그 정보(LOG_TG)를 저장부(300)에 저장할 수 있다.In step S6000, when the sensing data DT_SS is determined to be abnormal data DT_ABN, log information LOG_TG of the target data DT_TG may be stored. Specifically, the sensing data DT_SS determined as the abnormal data DT_ABN may be defined as target data DT_TG, and log information LOG_TG of the target data DT_TG may be stored in the storage unit 300 .

몇몇 실시예에 따라, 로그 정보(LOG_TG)는 i)타겟 데이터(DT_TG), ii)타겟 데이터(DT_TG)를 입력으로 제1 기계학습 모델(210)에 의해 출력된 제1 타겟 결과 데이터, iii)타겟 데이터(DT_TG)를 입력으로 제2 기계학습 모델(220)에 의해 출력된 제2 타겟 결과 데이터, iv)타겟 데이터(DT_TG)의 입력 시간 및 v)타겟 데이터(DT_TG)의 센싱 시간 중 적어도 하나의 정보를 포함할 수 있다.According to some embodiments, the log information (LOG_TG) is i) target data (DT_TG), ii) first target result data output by the first machine learning model 210 with the target data (DT_TG) as an input, iii) At least one of second target result data output by the second machine learning model 220 with the target data DT_TG as an input, iv) an input time of the target data DT_TG, and v) a sensing time of the target data DT_TG of information may be included.

도 7은 센싱 데이터와 제2 결과 데이터의 재현율에 기초하여 이상 데이터를 결정하는 실시예를 설명하기 위한 순서도이다.7 is a flowchart illustrating an embodiment of determining abnormal data based on sensing data and a recall of second result data.

도 6 및 도 7을 참조하면, 센싱 데이터(DT_SS)와 제2 결과 데이터(DT2)의 재현율에 기초하여 타겟 데이터(DT_TG)를 결정할 수 있다.Referring to FIGS. 6 and 7 , target data DT_TG may be determined based on the recall of the sensing data DT_SS and the second result data DT2.

도 6의 S4000 단계는, 센싱 데이터(DT_SS)와 제2 결과 데이터(DT2)를 비교하여 재현율을 결정하는 단계(S4100)를 포함할 수 있다.Step S4000 of FIG. 6 may include comparing the sensing data DT_SS and the second result data DT2 to determine a recall (S4100).

이후 S5100 단계에서, 재현율이 기정의된 임계값 미만인지 여부를 결정하고, S5200 단계에서, 재현율이 임계값 미만인 경우 센싱 데이터(DT_SS)를 이상 데이터(DT_ABN)로 결정할 수 있다. 다시 말해서, 센싱 데이터(DT_SS)를 타겟 데이터(DT_TG)로 결정할 수 있다. 임계값은 오토인코더(221)의 재현율 0% 내지 100% 사이의 값으로 기정의될 수 있다.Subsequently, in step S5100, it is determined whether the recall rate is less than a predefined threshold value, and in step S5200, when the recall rate is less than the threshold value, the sensing data DT_SS may be determined as abnormal data DT_ABN. In other words, the sensing data DT_SS may be determined as the target data DT_TG. The threshold value may be predefined as a value between 0% and 100% of the recall rate of the autoencoder 221 .

재현율이 임계값 이상인 경우, S5300 단계에서, 센싱 데이터(DT_SS)는 정상 데이터(DT_NM)로 결정될 수 있다. 즉, 재현율이 높다는 것은 외부 요인에 의해 노이즈가 발생하지 않은 데이터일 확률이 높은 바, 제1 기계학습 모델(210)의 결과를 신뢰할 수 있으므로 센싱 데이터(DT_SS)를 정상 데이터(DT_NM)로 결정한다.When the recall is greater than or equal to the critical value, the sensing data DT_SS may be determined as normal data DT_NM in step S5300. That is, high recall means that there is a high probability that noise is not generated by external factors, and since the result of the first machine learning model 210 is reliable, the sensing data DT_SS is determined as normal data DT_NM. .

이후, 센싱 데이터(DT_SS)가 타겟 데이터(DT_TG)인 경우 타겟 데이터(DT_TG)의 로그 정보(LOG_TG)를 저장부에 저장하고(S6000), 센싱 데이터(DT_SS)가 타겟 데이터(DT_TG)가 아닌 경우 절차를 종료할 수 있다.Thereafter, when the sensing data DT_SS is the target data DT_TG, log information LOG_TG of the target data DT_TG is stored in the storage unit (S6000), and when the sensing data DT_SS is not the target data DT_TG process can be terminated.

도 8은 타겟 데이터의 로그 정보를 이용하여 제1 기계학습 모델의 전이 학습을 수행하는 실시예를 설명하기 위한 순서도이고, 도 9는 도 8의 실시예를 설명하기 위한 블록도이다.8 is a flowchart for explaining an embodiment of performing transfer learning of a first machine learning model using log information of target data, and FIG. 9 is a block diagram for explaining the embodiment of FIG. 8 .

도 8 및 도 9를 참조하면, 로그 정보(LOG_TG)를 이용하여 제1 기계학습 모델(210)의 전이 학습(Transfer Learning)을 수행하는 단계(S7000)를 더 포함할 수 있다. 즉, 로그 정보(LOG_TG)는 제1 기계학습 모델(210)의 재학습 수행 시 학습 데이터(training data)로서 활용될 수 있다. 예를 들어, 타겟 데이터(DT_TG)가 센싱된 시간의 온풍기 사용 여부, 창문 개폐 여부, 가스레인지 등의 사용 여부 등을 조사하여 제1 기계학습 모델(210)의 학습 데이터로 활용할 수 있다.Referring to FIGS. 8 and 9 , a step of performing transfer learning of the first machine learning model 210 using log information (LOG_TG) (S7000) may be further included. That is, the log information (LOG_TG) may be used as training data when re-learning of the first machine learning model 210 is performed. For example, it may be used as learning data of the first machine learning model 210 by examining whether a heater is used, whether a window is opened or not, whether a gas stove is used, etc. at the time when the target data DT_TG is sensed.

전이 학습이란, 학습 데이터가 부족한 분야의 모델 구축을 위해 데이터가 풍부한 분야에서 훈련된 모델을 재사용하는 학습 기법으로, 본 발명에서는 이상 데이터(DT_ABN)로 결정된 타겟 데이터(DT_TG)의 로그 정보(LOG_TG)를 수집하고, 수집된 정보를 전이 학습의 학습 데이터로 사용할 수 있다. 본 발명의 실시예에 따라 타겟 데이터(DT_TG)의 로그 정보(LOG_TG)를 전이 학습의 학습 데이터로 사용함에 따라, 기존에 학습된 학습 데이터와 유사하지 않은 학습 데이터로 제1 기계학습 모델(210)이 학습되고, 이에 따라 더욱 효율적인 학습이 가능하게 된다. 즉, 기계학습 모델의 성능 향상에 영향을 덜 미치는 데이터(예를 들어, 정상 데이터(DT_NM))는 배제하고, 재학습시 성능 향상에 도움에 되는 데이터(예를 들어, 이상 데이터(DT_ABN) 또는 타겟 데이터(DT_TG))를 학습 데이터로 사용함으로써, 재학습 효율이 증대될 수 있다.Transfer learning is a learning technique that reuses a model trained in a data-rich field to build a model in an area lacking learning data. In the present invention, log information (LOG_TG) of target data (DT_TG) determined as abnormal data (DT_ABN) can be collected, and the collected information can be used as learning data for transfer learning. According to the embodiment of the present invention, as the log information (LOG_TG) of the target data (DT_TG) is used as learning data for transfer learning, the first machine learning model 210 is used as learning data that is not similar to the previously learned learning data. This is learned, and thus more efficient learning is possible. That is, data that has little effect on improving the performance of the machine learning model (eg, normal data (DT_NM)) is excluded, and data that helps improve performance during retraining (eg, abnormal data (DT_ABN) or Re-learning efficiency can be increased by using the target data DT_TG as learning data.

도 10은 센싱 데이터 및 제1 결과 데이터에 기초하여 로그 정보의 저장 여부를 결정하는 실시예를 설명하기 위한 순서도이다.10 is a flowchart illustrating an embodiment of determining whether to store log information based on sensing data and first result data.

도 10을 참조하면, 이상 데이터(DT_ABN)로 판단된 센싱 데이터(DT_SS) 중, 제1 결과 데이터(DT1)가 "화재" 정보를 포함하는 센싱 데이터(DT_SS)만을 타겟 데이터(DT_TG)로 결정하고, 상기 타겟 데이터(DT_TG)의 로그 정보(LOG_TG)를 저장할 수 있다.Referring to FIG. 10, among the sensing data DT_SS determined to be abnormal data DT_ABN, only the sensing data DT_SS in which the first result data DT1 includes “fire” information is determined as the target data DT_TG , log information (LOG_TG) of the target data (DT_TG) may be stored.

보다 구체적으로, 제2 기계학습 모델(220)에 의해 생성되는 비교 데이터(COMP)가 제2 결과 데이터(DT2)의 재현율이 임계값 미만이라는 정보를 포함하고, 제1 결과 데이터(DT1)가 "화재"의 정보를 포함하는 경우에만 해당 센싱 데이터(DT_SS)를 타겟 데이터(DT_TG)로 결정할 수 있다. 화재로 판단되는 경우의 센싱 데이터(DT_SS)의 로그 정보(LOG_TG)만을 저장함으로써, 비화재보의 발생 가능성을 감소시키고, 제1 기계학습 모델(210)의 재학습 효율을 증대시킬 수 있다.More specifically, the comparison data COMP generated by the second machine learning model 220 includes information indicating that the recall of the second result data DT2 is less than the threshold value, and the first result data DT1 is " The corresponding sensing data DT_SS may be determined as the target data DT_TG only when the information of "fire" is included. By storing only the log information (LOG_TG) of the sensing data (DT_SS) when it is determined to be a fire, it is possible to reduce the possibility of non-fire alarm and increase the relearning efficiency of the first machine learning model 210.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term "module" used in this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 다양한 실시 예들은 기기(machine)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기는 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of this document may be implemented as software including one or more instructions stored in a machine. For example, the device may call at least one command among one or more commands stored from a storage medium and execute it. This enables the device to be operated to perform at least one function according to the at least one command invoked. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' only means that the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.

일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store or between two user devices (eg smartphones). It can be distributed (e.g., downloaded or uploaded) directly or online. In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.

다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, module or program) of the components described above may include a singular object or a plurality of entities. According to various embodiments, one or more components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. . According to various embodiments, operations performed by modules, programs, or other components are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.

100: 입력부 110: 데이터 수집 모듈
120: 데이터 전처리 모듈 200: 판단부
210: 제1 기계학습 모델 220: 제2 기계학습 모델
221: 오토인코더 222: 비교 모듈
300: 저장부
100: input unit 110: data collection module
120: data pre-processing module 200: determination unit
210: first machine learning model 220: second machine learning model
221: autoencoder 222: comparison module
300: storage unit

Claims (10)

기계학습 모델의 이상 데이터 추출 장치의 판단부에 의한 기계학습 모델의 이상 데이터 추출 방법으로서,
입력부를 통해 센싱 데이터를 획득하는 단계;
상기 센싱 데이터를 입력으로 구동하는 제1 기계학습 모델에서 제1 결과 데이터를 출력하는 단계;
상기 센싱 데이터를 입력으로 구동하되, 상기 제1 기계학습 모델과 상이한 제2 기계학습 모델에서 제2 결과 데이터를 출력하는 단계;
상기 센싱 데이터와 상기 제2 결과 데이터를 비교하는 단계;
상기 비교 결과에 기초하여 상기 센싱 데이터가 이상 데이터인지 여부를 결정하는 단계; 및
상기 센싱 데이터가 이상 데이터로 결정된 경우, 상기 이상 데이터로 결정된 센싱 데이터인 타겟 데이터의 로그 정보를 저장하는 단계를 포함하고,
상기 센싱 데이터를 학습 데이터로 이용하여 제1 기계학습 모델의 학습을 수행하는 단계;
상기 타겟 데이터의 센싱 시점의 온풍기 작동 상태, 창문 개폐 상태 및 가스레인지 작동 상태를 포함하는 상태 정보를 획득하는 단계; 및
상기 로그 정보 및 상기 상태 정보를 학습 데이터로 이용하여 상기 제1 기계학습 모델의 재학습을 수행하는 단계를 더 포함하고,
상기 센싱 데이터는 온도, 습도, 연기량 및 가스량 중 적어도 하나의 정보를 포함하고,
상기 제1 결과 데이터를 출력하는 단계는, 타겟 공간의 화재 발생 여부에 대한 결과를 포함하는 상기 제1 결과 데이터를 출력하는 단계를 포함하고,
상기 타겟 데이터의 로그 정보를 저장하는 단계는,
상기 제2 기계학습 모델에 의해 상기 센싱 데이터가 이상 데이터로 결정되고, 상기 제1 기계학습 모델에 의해 생성된 상기 제1 결과 데이터가 상기 타겟 공간에 화재가 발생했다는 정보를 포함하는 경우 상기 타겟 데이터의 로그 정보를 저장하는 단계를 포함하고,
상기 로그 정보는, 상기 타겟 데이터, 상기 타겟 데이터를 입력으로 상기 제1 기계학습 모델에 의해 출력된 제1 타겟 결과 데이터, 상기 타겟 데이터를 입력으로 상기 제2 기계학습 모델에 의해 출력된 제2 타겟 결과 데이터, 상기 타겟 데이터의 입력 시간, 상기 타겟 데이터의 센싱 시간 및 타겟 데이터의 재현율을 포함하는, 기계학습 모델의 이상 데이터 추출 방법.

A method for extracting abnormal data of a machine learning model by a judgment unit of an abnormal data extraction device of a machine learning model,
obtaining sensing data through an input unit;
outputting first result data from a first machine learning model that drives the sensing data as an input;
driving the sensing data as an input and outputting second result data from a second machine learning model different from the first machine learning model;
comparing the sensing data and the second result data;
determining whether the sensing data is abnormal data based on the comparison result; and
When the sensing data is determined to be abnormal data, storing log information of target data that is the sensing data determined to be abnormal data;
performing learning of a first machine learning model by using the sensing data as learning data;
obtaining state information including an air heater operating state, a window opening/closing state, and a gas stove operating state at the time of sensing the target data; and
Further comprising performing re-learning of the first machine learning model by using the log information and the status information as learning data,
The sensing data includes at least one information of temperature, humidity, smoke amount, and gas amount,
The step of outputting the first result data includes outputting the first result data including a result of whether a fire occurs in a target space,
The step of storing the log information of the target data,
When the sensing data is determined as abnormal data by the second machine learning model and the first result data generated by the first machine learning model includes information that a fire has occurred in the target space, the target data Including the step of storing the log information of,
The log information includes the target data, first target result data output by the first machine learning model using the target data as an input, and second target output by the second machine learning model using the target data as an input. A method for extracting abnormal data of a machine learning model, including result data, an input time of the target data, a sensing time of the target data, and a recall of the target data.

청구항 1에 있어서,
상기 제2 기계학습 모델은 과소완전 적층 오토인코더(Undercomplete Stacked Autoencoder)이고,
상기 센싱 데이터와 상기 제2 결과 데이터를 비교하는 단계는, 상기 과소완전 적층 오토인코더의 재현율을 결정하는 단계를 포함하고,
상기 센싱 데이터가 이상 데이터인지 여부를 결정하는 단계는, 상기 재현율이 기정의된 임계값 이상인지 여부에 기초하여 상기 이상 데이터 여부를 결정하는 단계를 포함하는, 기계학습 모델의 이상 데이터 추출 방법.
The method of claim 1,
The second machine learning model is an undercomplete stacked autoencoder,
Comparing the sensing data and the second result data includes determining a recall of the under-perfect stacked autoencoder,
The method of extracting abnormal data from a machine learning model, wherein the step of determining whether the sensing data is abnormal data includes determining whether or not the abnormal data is based on whether the recall is equal to or greater than a predefined threshold value.
청구항 2에 있어서,
상기 센싱 데이터가 이상 데이터인지 여부를 결정하는 단계는,
상기 재현율이 상기 임계값 미만인 경우에 상기 센싱 데이터를 상기 이상 데이터로 결정하는 단계를 포함하는, 기계학습 모델의 이상 데이터 추출 방법.
The method of claim 2,
The step of determining whether the sensing data is abnormal data,
And determining the sensing data as the abnormal data when the recall is less than the threshold value.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 센싱 데이터를 획득하는 단계는, 복수의 센싱 데이터를 획득하는 단계; 및 상기 복수의 센싱 데이터를 기정의된 구간으로 스케일링한 전처리 데이터를 생성하는 단계를 포함하되,
상기 제1 및 제2 기계학습 모델은, 상기 전처리 데이터를 입력으로 각각 상기 제1 및 제2 결과 데이터를 출력하는, 기계학습 모델의 이상 데이터 추출 방법.
The method of claim 1,
The obtaining of the sensing data may include obtaining a plurality of sensing data; And generating preprocessed data by scaling the plurality of sensing data to a predefined interval,
Wherein the first and second machine learning models output the first and second result data, respectively, with the preprocessing data as an input.
하드웨어와 결합되어 청구항 1 내지 청구항 3 및 청구항 9 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer readable recording medium in order to execute the method of any one of claims 1 to 3 and claim 9 in combination with hardware.
KR1020210020564A 2021-02-16 2021-02-16 Method AND DEVICE FOR extracting abnormal data from machine learning model KR102556173B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210020564A KR102556173B1 (en) 2021-02-16 2021-02-16 Method AND DEVICE FOR extracting abnormal data from machine learning model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210020564A KR102556173B1 (en) 2021-02-16 2021-02-16 Method AND DEVICE FOR extracting abnormal data from machine learning model

Publications (2)

Publication Number Publication Date
KR20220117005A KR20220117005A (en) 2022-08-23
KR102556173B1 true KR102556173B1 (en) 2023-07-14

Family

ID=83092918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210020564A KR102556173B1 (en) 2021-02-16 2021-02-16 Method AND DEVICE FOR extracting abnormal data from machine learning model

Country Status (1)

Country Link
KR (1) KR102556173B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163519B1 (en) * 2020-06-05 2020-10-07 주식회사 딥바이오 Neural network learning method using auto encoder and multiple instance learning and computing system performing the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102079805B1 (en) * 2018-05-30 2020-02-21 인천대학교 산학협력단 System and Method for Alarming Fire Embedded with AI Techniques

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163519B1 (en) * 2020-06-05 2020-10-07 주식회사 딥바이오 Neural network learning method using auto encoder and multiple instance learning and computing system performing the same

Also Published As

Publication number Publication date
KR20220117005A (en) 2022-08-23

Similar Documents

Publication Publication Date Title
US20140046878A1 (en) Method and system for detecting sound events in a given environment
Rengasamy et al. Deep learning approaches to aircraft maintenance, repair and overhaul: A review
AU2019201857A1 (en) Sparse neural network based anomaly detection in multi-dimensional time series
Ortego et al. Evolutionary LSTM-FCN networks for pattern classification in industrial processes
KR102472637B1 (en) Method for analyzing time series data, determining a key influence variable and apparatus supporting the same
US11902043B2 (en) Self-learning home system and framework for autonomous home operation
Mihoub A Deep Learning‐Based Framework for Human Activity Recognition in Smart Homes
CN112202726B (en) System anomaly detection method based on context sensing
Elnour et al. Hybrid attack detection framework for industrial control systems using 1D-convolutional neural network and isolation forest
CN116405326B (en) Information security management method and system based on block chain
Liao et al. A novel semi-supervised classification approach for evolving data streams
Ünlü Cost-oriented LSTM methods for possible expansion of control charting signals
Ducharlet et al. A multi-phase iterative approach for anomaly detection and its agnostic evaluation
Inacio et al. Fault diagnosis with evolving fuzzy classifier based on clustering algorithm and drift detection
Sharif et al. Anomaly detection in time series using deep learning
KR102556173B1 (en) Method AND DEVICE FOR extracting abnormal data from machine learning model
CN116402777B (en) Power equipment detection method and system based on machine vision
US20230205883A1 (en) Integrated static and dynamic analysis for malware detection
Bhoomika et al. Time Series Forecasting and Point Anomaly Detection of Sensor Signals Using LSTM Neural Network Architectures
Alos et al. Decision tree matrix algorithm for detecting contextual faults in unmanned aerial vehicles
US20230205880A1 (en) Augmented machine learning malware detection based on static and dynamic analysis
Berenji et al. Dynamic case based reasoning in fault diagnosis and prognosis
Kadiyala et al. Anomaly Detection Using Unsupervised Machine Learning Algorithms
Correia et al. Online Time-series Anomaly Detection: A Survey of Modern Model-based Approaches
JP7297712B2 (en) Information processing device, information processing method, and program

Legal Events

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