KR102568010B1 - Predition system for fault of machine tool using deep learning inference system based on query and method thereof - Google Patents

Predition system for fault of machine tool using deep learning inference system based on query and method thereof Download PDF

Info

Publication number
KR102568010B1
KR102568010B1 KR1020200157167A KR20200157167A KR102568010B1 KR 102568010 B1 KR102568010 B1 KR 102568010B1 KR 1020200157167 A KR1020200157167 A KR 1020200157167A KR 20200157167 A KR20200157167 A KR 20200157167A KR 102568010 B1 KR102568010 B1 KR 102568010B1
Authority
KR
South Korea
Prior art keywords
model
learning
data
network
failure diagnosis
Prior art date
Application number
KR1020200157167A
Other languages
Korean (ko)
Other versions
KR20220069738A (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 KR1020200157167A priority Critical patent/KR102568010B1/en
Priority to PCT/KR2021/007830 priority patent/WO2022108029A1/en
Publication of KR20220069738A publication Critical patent/KR20220069738A/en
Application granted granted Critical
Publication of KR102568010B1 publication Critical patent/KR102568010B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q17/00Arrangements for observing, indicating or measuring on machine tools
    • B23Q17/09Arrangements for observing, indicating or measuring on machine tools for indicating or measuring cutting pressure or for determining cutting-tool condition, e.g. cutting ability, load on tool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는 쿼리 기반 딥러닝 추론 시스템을 이용하여 공작 기계의 고장을 진단하거나 예측할 수 있다.In the present invention, a deep learning framework is connected to an information database in the form of a plug-in, and query-based deep learning enables inference of data corresponding to a query by learning data stored in the information database by a user's requested query using a deep learning method. Inference systems can be used to diagnose or predict machine tool failures.

Description

쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템 및 그 방법{PREDITION SYSTEM FOR FAULT OF MACHINE TOOL USING DEEP LEARNING INFERENCE SYSTEM BASED ON QUERY AND METHOD THEREOF}Machine tool predictive maintenance system using query-based deep learning inference system and its method

본 발명은 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템 및 그 방법에 관한 것으로서, 더욱 자세하게는 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는 쿼리 기반 딥러닝 추론 시스템을 이용하여, 공작 기계의 고장을 진단하거나 예측하는 것이다.The present invention relates to a machine tool predictive maintenance system and method using a query-based deep learning inference system, and more particularly, to a deep learning frame so that even a user without expert knowledge on deep learning can provide necessary information to the user without difficulty. Using a query-based deep learning inference system in which a work is connected to an information database in the form of a plug-in and learns data stored in the information database by a user's request query using a deep learning method to infer data corresponding to the query, It is to diagnose or predict machine tool failure.

다양한 회전계 및 이송계 부품은 기계적인 운동을 하는 공작 기계의 부품들에서 발생하는 고장이나 노후는 손실이 많아져서, 공작 기계의 출력이 저하될 수 있다. 공작 기계의 고장을 예측할 수 있다면 생산성이 향상되고 안전 사고가 감소될 것이다. 공작 기계의 고장을 예측을 위해 기계 학습이나 딥러닝 기술이 이용될 수 있다.Damage or deterioration that occurs in parts of a machine tool that performs mechanical motion in various rotation system and feed system components increases loss, and the output of the machine tool may decrease. If machine tool failures can be predicted, productivity will increase and safety accidents will decrease. Machine learning or deep learning technology may be used to predict machine tool failure.

딥러닝을 이용한 학습엔진은 기존의 다른 AI 기술에 기반을 둔 학습엔진보다 월등히 뛰어난 지능 성능을 보이고 있다. Learning engines using deep learning show significantly superior intelligence performance compared to learning engines based on other existing AI technologies.

그러나, 딥러닝 기술 기반의 지능을 제공하는 학습엔진을 생성하기 위해서는 딥 네트워크 설계, 학습 함수 설정, 파라미터 튜닝 등 여러 가지 어려운 난관이 있다. 이러한 문제들은 딥러닝 전문가가 아니면 쉽게 할 수 없어, 누구나 쉽게 딥러닝 기반 학습엔진을 갖기 어렵다. However, in order to create a learning engine that provides intelligence based on deep learning technology, there are various difficulties such as deep network design, learning function setting, and parameter tuning. These problems cannot be easily solved unless you are a deep learning expert, so it is difficult for anyone to easily have a deep learning-based learning engine.

또한 학습엔진을 생성할 때마다, 딥러닝의 공통적인 요소를 중복 사용하게 되어, 동일한 과정을 반복 수행해야 하는 문제가 있다.In addition, whenever a learning engine is created, common elements of deep learning are used repeatedly, and the same process must be repeated.

KRKR 10-205812410-2058124 B1B1

전술한 문제점을 해결하기 위한 본 발명의 목적은, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는 쿼리 기반 딥러닝 추론 시스템을 이용하여, 공작 기계의 고장을 진단하거나 예측하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템 및 그 방법을 제공하는 데 있다.An object of the present invention for solving the above problems is that a deep learning framework is connected to an information database in the form of a plug-in so that even a user without professional knowledge about deep learning can provide necessary information to the user without difficulty, so that the user's Query-based deep learning that diagnoses or predicts machine tool failures by using a query-based deep learning inference system that enables inference of data corresponding to a query by learning data stored in an information database by a request query using a deep learning method. An object of the present invention is to provide a machine tool predictive maintenance system and method using an inference system.

본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법은 사용자 단말기 및 데이터베이스와 연동하는 딥러닝 프레임워크의 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법으로서, 상기 사용자 단말기로부터 학습 쿼리(Call Train)를 입력받는 단계; 데이터 수집기에서 제공하는 공작 기계의 진동량, 소음량, 및 전력량, 및 상기 공작 기계의 고장 여부를 나타내는 상태 정보 라벨인 학습용 데이터 셋 중 적어도 일부를 적합성 판단용 데이터 셋으로 하여, 복수의 고장 진단 예지 모델 중 상기 적합성 판단용 데이터 셋에 적합한 고장 진단 예지 모델이 있는지 판단하는 적합 모델 존재 여부 판단 단계; 상기 적합 모델 여부 존재 판단 결과 적합한 고장 진단 예지 모델이 없는 경우, 상기 학습 쿼리에 따라 네트워크 초기화하고, 상기 네트워크를 구성하는 단계; 상기 구성된 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 수집된 학습용 데이터 셋을 이용하여 학습을 실행하는 학습 실행 단계; 및 상기 학습 실행이 종료되면 결과를 제공하고 상기 종료된 고장 진단 예지 모델을 저장하는 단계;를 포함할 수 있다.A machine tool predictive maintenance method using a query-based deep learning inference system according to an embodiment of the present invention is a machine tool predictive maintenance method using a query-based deep learning inference system of a deep learning framework that interworks with a user terminal and a database. Receiving a learning query (Call Train) from a user terminal; A plurality of failure diagnosis predictions by using at least a part of the learning data set, which is a status information label indicating the amount of vibration, noise, and power of the machine tool provided by the data collector, and whether or not the machine tool is out of order, as a data set for determining suitability. determining whether a suitable model exists or not, determining whether there is a failure diagnosis prediction model suitable for the suitability determination data set among the models; initializing a network according to the learning query and configuring the network when there is no suitable failure diagnosis prediction model as a result of determining whether or not the suitable model exists; a learning execution step of executing learning using the collected training data set when all layers of the configured network are initialized; and providing a result when the learning execution is terminated and storing the terminated failure diagnosis prediction model.

또한, 상기 사용자 단말기로부터 추론 쿼리(Call Test)를 입력받는 단계; 상기 데이터 수집기로부터 상기 공작 기계의 진동량, 소음량, 및 전력량을 구비하는 진단용 데이터 셋을 수집하는 단계; 상기 진단용 데이터 셋을 분석하여 상기 복수의 고장 진단 예지 모델 중 적합한 고장 진단 예지 모델을 호출하는 단계; 상기 적합한 고장 진단 예지 모델에 따른 네트워크를 구성하고, 상기 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 진단용 데이터 셋을 기초로 추론을 실행하는 추론 실행 단계; 및 상기 추론 실행이 종료되면 상기 공작 기계의 고장을 진단하고, 고장을 예측하는 단계;를 더 포함할 수 있다.In addition, the step of receiving an inference query (call test) from the user terminal; collecting a diagnostic data set including vibration, noise, and power of the machine tool from the data collector; analyzing the diagnosis data set and calling an appropriate failure diagnosis prediction model among the plurality of failure diagnosis prediction models; an inference execution step of constructing a network according to the appropriate failure diagnosis predictive model and executing inference based on the diagnosis data set when all layers of the network are initialized; and diagnosing a failure of the machine tool and predicting a failure when the reasoning execution is terminated.

또한, 상기 학습 실행 단계는 상기 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장(Store Result & Model)하고, 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 상기 모델 컨버터를 통하여 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환할 수 있다.In addition, the learning execution step acquires batch data (Get Batch Data) and repeats (Iteration) to store results and models (Store Result & Model) until the end of the learning, and when exporting information or data from the database to the outside A model weight file including ONNX, NNEF, and learning parameter bias can be converted into a structured format through the model converter.

또한, 상기 추론 실행 단계는 상기 추론 테스트(Test)를 실행하고, 테스트 데이터를 획득하여(Get Test Data) 피드 포워드(feedforward)할 수 있다.In addition, the reasoning execution step may execute the reasoning test (Test), obtain test data (Get Test Data), and feed forward the reasoning test.

또한, 상기 학습 쿼리 또는 추론 쿼리를 입력 받는 단계에서 상기 딥러닝 프레임워크는, 외부 프레임워크와의 호환성을 위해 모델 컨버터를 사용하고, 기존 프레임워크의 기학습된 고장 진단 예지 모델을 가져오거나, 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 상기 모델 컨버터를 통하여 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환할 수 있다.In addition, in the step of receiving the learning query or inference query, the deep learning framework uses a model converter for compatibility with an external framework, imports a pre-learned failure diagnosis prediction model of an existing framework, or When information or data is exported from the database, the model weight file including ONNX, NNEF, and learning parameter biases can be converted into a structured format through the model converter.

또한, 상기 모델 컨버터는, 상기 구조화된 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 상기 데이터베이스의 네트워크 모델 테이블 포맷으로 변환하거나, 반대로 상기 데이터베이스의 네트워크 모델을 상기 구조화된 모델 포맷으로 변환할 수 있다.In addition, the model converter converts the network structure and model data defined in the structured format into the network model table format of the database, or conversely converts the network model of the database into the structured model. format can be converted.

본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템는 공작 기계의 진동량, 소음량, 및 전력량을 측정하는 감지부, 및 상기 공작 기계의 상태 정보를 체크하는 상태 인지부로부터 상기 진동량, 소음량, 전력량, 및 상태 정보 라벨을 학습용 데이터 셋으로 수집하는 데이터 수집기; 상기 학습용 데이터 셋, 학습 네트워크 모델, 학습 파라미터, 및 학습 결과를 저장하는 데이터베이스; 상기 데이터베이스에 플러그인 방식으로 연결되고, 상기 데이터베이스에 저장된 정보 또는 데이터에 대한 확인, 수정 및 새로운 데이터를 추가하는 딥러닝 프레임워크; 및 상기 딥러닝 프레임워크를 통하여 쿼리를 입력하고, 상기 데이터베이스로부터 상기 딥러닝 프레임워크를 통하여 상기 쿼리에 대응된 추론 결과를 수신하는 사용자 단말기;를 포함하고, 상기 딥러닝 프레임워크는, 상기 쿼리를 입력받으면, 상기 데이터베이스에 저장된 고장 진단 예지 모델에 대한 확인 및 수정하거나, 새로운 학습을 위한 고장 진단 예지 모델을 생성하며, 상기 입력된 쿼리에 따라 정보 또는 데이터와 고장 진단 예지 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 실행하고, 학습 중간 결과 및 최종 결과를 제공하며, 상기 입력된 쿼리를 통하여 데이터와 기 학습된 고장 진단 예지 모델을 선택하여 기계추론을 실행하고, 그 추론 결과를 고장 진단 및 고장 예지로 제공할 수 있다.A machine tool predictive maintenance system using a query-based deep learning inference system according to an embodiment of the present invention includes a sensing unit that measures vibration, noise, and power of a machine tool, and state recognition that checks state information of the machine tool. a data collector for collecting the vibration amount, noise amount, power amount, and status information label from the unit as a data set for learning; a database for storing the learning data set, learning network model, learning parameters, and learning results; a deep learning framework that is connected to the database in a plug-in manner and checks, corrects, and adds new data to information or data stored in the database; and a user terminal inputting a query through the deep learning framework and receiving an inference result corresponding to the query from the database through the deep learning framework, wherein the deep learning framework performs the query When an input is received, the failure diagnosis prediction model stored in the database is checked and corrected, or a failure diagnosis prediction model for new learning is created, information or data and a failure diagnosis prediction model are selected according to the input query, and learning parameters are set. set to execute machine learning, provide intermediate results and final results of learning, select data and pre-learned failure diagnosis prediction models through the input query, execute machine inference, and use the inference results to diagnose failures and failures A foreshadowing can be provided.

또한, 상기 고장 진단 예지 모델은, 기계학습에 사용되는 모델로 입출력과 모델 내부를 정의하는 파라미터 그리고 기계학습, 추론에 필요한 파라미터들로 구성되고, 상기 데이터베이스에 관계형 데이터 형식으로 저장되며, 컨버터를 통하여 다른 딥러닝 프레임워크로 변환 가능할 수 있다.In addition, the failure diagnosis prediction model is a model used for machine learning, and is composed of input and output, parameters defining the inside of the model, and parameters necessary for machine learning and inference, stored in the database in a relational data format, and through a converter. It may be convertible to other deep learning frameworks.

또한, 상기 데이터베이스는 기계학습, 기계추론에 사용된 모든 입출력 데이터를 저장하고, 기계학습, 기계추론에 사용된 모델을 저장하며, 사용자의 쿼리 요청에 대응하는 프로시저(procedure)를 제공하는, 쿼리 기반 딥러닝 추론 시스템을 이용할 수 있다.In addition, the database stores all input and output data used in machine learning and machine reasoning, stores models used in machine learning and machine reasoning, and provides a procedure corresponding to a user's query request. based deep learning inference system.

또한, 상기 딥러닝 프레임워크는, 외부 프레임워크와의 호환성을 위해 사용되고, 기존 프레임워크의 기학습된 모델을 가져오거나 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 이용하는 모델 컨버터;를 포함하고, 상기 모델 컨버터는, 상기 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 이용하는 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 상기 데이터베이스의 네트워크 모델 테이블 포맷으로 변환하거나, 반대로 상기 데이터베이스의 고장 진단 예지 모델을 상기 구조화된 모델 포맷으로 변환할 수 있다.In addition, the deep learning framework is used for compatibility with external frameworks, and includes ONNX, NNEF, and learning parameter bias when a pre-learned model of an existing framework is imported or information or data is exported from the database A network structure defined in the model format (using the model weight file including the ONNX, NNEF, and learning parameter biases in a structured format); The network structure and model data may be converted into the network model table format of the database, or conversely, the failure diagnosis prediction model of the database may be converted into the structured model format.

또한, 상기 데이터 셋은, 동일한 형식을 가진 정보 또는 데이터의 집합이고, 상기 정보 또는 데이터는 숫자, 문자, 이미지, 영상, 음성을 포함하여 기계학습에 사용될 수 있다.In addition, the data set is a set of information or data having the same format, and the information or data includes numbers, texts, images, video, and audio and can be used for machine learning.

또한, 상기 프로시저는, 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 포함할 수 있다.In addition, the procedure includes Insert Network, Insert Layer, Make Project, Input Data Loader, Train, Save Model and Test (Test).

또한, 상기 데이터베이스는, 데이터셋 테이블(Dataset Table), 네트워크 테이블(Network Table), 프로젝트 테이블(Project Table), 작업 테이블(Job Table), 공통 테이블(Common Table)을 포함할 수 있다.In addition, the database may include a dataset table, a network table, a project table, a job table, and a common table.

또한, 상기 딥러닝 프레임워크는, 상기 사용자 단말기로부터 학습 쿼리가 입력되면(Call Train), 네트워크 초기화(Init Network), 네트워크 구성(Construct Network), 네트워크 갱신(Update Network)을 실행하며, 모든 층에 대한 초기화(Initialize all layers)가 이루어지면 학습(Train)을 실행하고, 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장하며(Store Result & Model), 학습 종료시 학습 결과를 상기 사용자 단말기로 제공할 수 있다.In addition, the deep learning framework executes network initialization (Init Network), network configuration (Construct Network), and network update (Update Network) when a learning query is input from the user terminal (Call Train), and all layers When initialization (Initialize all layers) is done, training (Train) is executed, batch data is acquired (Get Batch Data) until training ends, results and models are stored (Store Result & Model) by repetition (Iteration), and training Upon completion, learning results may be provided to the user terminal.

본 발명에 의하면, 쿼리 기반의 기계학습 기술을 이용함으로써 딥러닝 프레임워크가 데이터베이스에 플러그인 형태로 연결되어 사용자의 요청쿼리에 의해서 데이터베이스에 저장된 데이터를 사용하여 기계학습, 추론 등을 수행하여, 공작 기계의 고장을 진단 및 예측할 수 있다.According to the present invention, by using a query-based machine learning technology, a deep learning framework is connected to a database in the form of a plug-in and performs machine learning, inference, etc. using data stored in the database by a user's request query. failure can be diagnosed and predicted.

따라서, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 필요한 정보를 용이하게 제공할 수 있다.Therefore, even a user without expert knowledge of deep learning can easily provide necessary information without difficulty.

또한, 현재 실행 또는 대기 중인 학습계획의 학습 파라미터를 확인할 수 있으며, 현재 실행 중인 학습 계획의 중간 및 결과를 확인할 수 있다.In addition, it is possible to check the learning parameters of the currently executed or waiting learning plan, and the middle and result of the currently executing learning plan.

또한, 현재 실행 중인 학습계획을 멈출 수 있으며, 대기 중인 학습계획을 시작할 수 있다.Also, you can stop the currently running learning plan and start the waiting learning plan.

도 1은 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술의 수행 흐름을 나타낸 흐름도이다.
도 3은 본 발명의 실시 예에 따른 데이터베이스의 내부 데이터 흐름을 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 방법을 설명하기 위한 동작 흐름도를 나타낸 도면이다.
도 5는 본 발명의 실시 예에 따른 학습 프로시저의 실행 흐름을 나타낸 도면이다.
도 6은 본 발명의 실시 예에 따른 추론 프로시저의 실행 흐름을 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 모델 컨버터의 변환 동작을 나타낸 도면이다.
도 8은 본 발명의 실시 예에 따른 QML 프레임워크의 내부 구조를 개략적으로 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템의 구성도이다.
도 10은 도 9의 데이터 수집기의 블럭 구성도이다.
도 11 및 도 12는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템의 기계 학습 및 고장 진단과 에지에 대한 방법의 순서도이다.
1 is a configuration diagram schematically showing the overall configuration of a query-based deep learning inference system according to an embodiment of the present invention.
2 is a flowchart showing the execution flow of a query-based machine learning technique according to an embodiment of the present invention.
3 is a diagram illustrating an internal data flow of a database according to an embodiment of the present invention.
4 is a flowchart illustrating an operation for explaining a query-based deep learning inference method according to an embodiment of the present invention.
5 is a diagram showing an execution flow of a learning procedure according to an embodiment of the present invention.
6 is a diagram illustrating an execution flow of an inference procedure according to an embodiment of the present invention.
7 is a diagram illustrating a conversion operation of a model converter according to an embodiment of the present invention.
8 is a diagram schematically illustrating the internal structure of a QML framework according to an embodiment of the present invention.
9 is a block diagram of a machine tool predictive maintenance system using a query-based deep learning inference system according to an embodiment of the present invention.
FIG. 10 is a block diagram of the data collector of FIG. 9 .
11 and 12 are flowcharts of a method for machine learning, fault diagnosis, and edge of a machine tool predictive maintenance system using a query-based deep learning inference system according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 또한 네트워크 상의 제1 구성요소와 제2 구성요소가 연결되어 있거나 접속되어 있다는 것은, 유선 또는 무선으로 제1 구성요소와 제2 구성요소 사이에 데이터를 주고 받을 수 있음을 의미한다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle. In addition, that the first component and the second component on the network are connected or connected means that data can be exchanged between the first component and the second component in a wired or wireless manner.

또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.In addition, the suffixes "module" and "unit" for the components used in the following description are simply given in consideration of ease of preparation of this specification, and do not themselves give a particularly important meaning or role. Accordingly, the “module” and “unit” may be used interchangeably.

이와 같은 구성요소들은 실제 응용에서 구현될 때 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 도면 전체를 통하여 동일하거나 유사한 구성요소에 대해서는 동일한 도면 부호를 부여하였고, 동일한 도면 부호를 가지는 구성요소에 대한 자세한 설명은 전술한 구성요소에 대한 설명으로 대체되어 생략될 수 있다.When these components are implemented in actual applications, two or more components may be combined into one component, or one component may be subdivided into two or more components as needed. The same reference numerals have been assigned to the same or similar components throughout the drawings, and detailed descriptions of components having the same reference numerals may be omitted as they are replaced with descriptions of the components described above.

또한, 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적이지 않다. 본 명세서에 기술된 특정 형상, 구조, 기능, 및 특성의 일 실시예는 다른 실시예로 구현될 수 있다. 예를 들어, 제1 및 제2 실시예에서 언급되는 구성요소는 제1 및 제2 실시예의 모든 기능을 수행할 수 있다.Furthermore, the present invention covers all possible combinations of the embodiments shown herein. The various embodiments of the present invention are different but not mutually exclusive. One embodiment of the particular shape, structure, function, and characteristic described herein may be implemented in another embodiment. For example, components mentioned in the first and second embodiments may perform all functions of the first and second embodiments.

도 1은 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.1 is a configuration diagram schematically showing the overall configuration of a query-based deep learning inference system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(100)은, 쿼리 기반의 기계학습 기술을 적용할 수 있다. 이를 위해, 쿼리 기반 딥러닝 추론 시스템(100)은 데이터베이스(DB, 110), 딥러닝 프레임워크(QML, 120) 및 사용자 단말기(130)를 포함할 수 있다.Referring to FIG. 1 , a query-based deep learning inference system 100 according to an embodiment of the present invention may apply query-based machine learning technology. To this end, the query-based deep learning inference system 100 may include a database (DB, 110), a deep learning framework (QML, 120), and a user terminal (130).

여기서, 쿼리 기반의 기계학습 기술은, 딥러닝 프레임워크(120)가 데이터베이스(110)에 플러그인 형태로 연결되어 사용자의 요청 쿼리에 의해서 데이터베이스(110)에 저장된 데이터를 사용하여 기계학습, 추론 등이 수행되는 기술이다.Here, in the query-based machine learning technology, the deep learning framework 120 is connected to the database 110 in the form of a plug-in, and machine learning, inference, etc. It is a technique that is performed

입출력 모듈(130)은 자체적인 인터페이스 모듈일 수 있다. 입출력 모듈(130)은 입력 장치와 출력 장치를 각각 별개로 구비할 수 있다. 입출력 모듈(130)은 터치 스크린과 같이 입출력 장치가 하나로 구현될 수 있다.The input/output module 130 may be its own interface module. The input/output module 130 may separately include an input device and an output device. The input/output module 130 may be implemented as one input/output device such as a touch screen.

입출력 모듈(130)은 도 1에 도시된 바와 같이 사용자 단말기(130)로 구현될 수 있다. 본 발명의 실시 예에서 입출력 모듈(130)은 사용자 단말기(130)로 예를 들어 설명하기로 한다.The input/output module 130 may be implemented as a user terminal 130 as shown in FIG. 1 . In an embodiment of the present invention, the input/output module 130 will be described as the user terminal 130 as an example.

데이터베이스(110)는 데이터 셋(Data Set), 학습 네트워크 모델, 학습 파라미터 및 학습 결과를 저장할 수 있다. The database 110 may store a data set, a learning network model, a learning parameter, and a learning result.

데이터 셋은 동일한 형식을 가진 정보 또는 데이터의 집합이다. 정보 또는 데이터는 숫자, 문자, 이미지, 영상, 및 음성 등을 포함하며, 기계학습에 사용되는 모든 종류의 정보 또는 데이터일 수 있다.A data set is a collection of information or data having the same format. Information or data includes numbers, texts, images, videos, and voices, and may be any type of information or data used in machine learning.

학습 네트워크 모델은 기계학습에 사용되는 모델로 입출력과 모델 내부를 정의하는 파라미터 그리고 기계학습, 추론에 필요한 파라미터들로 구성될 수 있다. 학습 네트워크 모델은 관계형 데이터 형식으로 데이터베이스에 저장될 수 있다. 학습 네트워크 모델은 컨버터를 통하여 다른 딥러닝 프레임워크로 변환 가능할 수 있다.A learning network model is a model used for machine learning and can be composed of input/output, parameters defining the inside of the model, and parameters necessary for machine learning and inference. Learning network models can be stored in databases in relational data format. The learning network model may be convertible to other deep learning frameworks through a converter.

학습 네트워크 모델은 사용자에 의해 입력된 텍스트를 인식할 수 있다. 학습 네트워크 모델은 이미지, 오디오 및 동영상에 포함된 음성 및 텍스트를 인식할 수 있다. 학습 네트워크 모델은 인식한 음성 및 텍스트로부터 사용자 의향을 분석할 수 있다.The learning network model can recognize text input by a user. The learning network model can recognize voice and text contained in images, audio, and video. The learning network model can analyze the user's intention from the recognized voice and text.

학습 결과는 기계학습이 진행되는 동안 중간 출력값이 데이터베이스(110)에 저장되어 사용자가 확인할 수 있다. 기계학습이 진행되는 동안 모델 파라미터 값이 데이터베이스(110)에 저장되어 사용자가 확인할 수 있다. 기계학습이 진행되는 동안 계산되는 모델의 평가지표 값이 데이터베이스(110)에 저장되어 사용자가 확인할 수 있다. 기계추론 결과값이 데이터베이스(110)에 저장되어 사용자가 확인할 수 있다.As for the learning result, the intermediate output value is stored in the database 110 while machine learning is in progress, so that the user can check it. While machine learning is in progress, model parameter values are stored in the database 110 and can be checked by the user. The evaluation index value of the model calculated while machine learning is in progress is stored in the database 110 and can be checked by the user. The machine reasoning result value is stored in the database 110 and can be checked by the user.

데이터베이스(110)는 기계학습, 기계추론에 사용된 모든 입출력 데이터를 저장하고, 기계학습, 기계추론에 사용된 모델을 저장하며, 사용자의 쿼리 요청에 대응하는 프로시저(procedure)를 제공할 수 있다. The database 110 may store all input/output data used in machine learning and machine reasoning, store models used in machine learning and machine reasoning, and provide a procedure corresponding to a user's query request. .

프로시저는 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 포함할 수 있다.The procedure includes Insert Network, Insert Layer, Make Project, Input Data Loader, Train, Save Model and Test. can include

딥러닝 프레임워크(120)는 외부 프레임워크와의 호환성을 위해 사용될 수 있다. 딥러닝 프레임워크(120)는 기존 프레임워크의 기학습된 모델을 가져오거나 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 ONNX(Open Neural Network Exchange) 모델 포맷을 이용하는 모델 컨버터를 포함할 수 있다.The deep learning framework 120 may be used for compatibility with external frameworks. The deep learning framework 120 may include a model converter that uses an Open Neural Network Exchange (ONNX) model format when importing a pretrained model of an existing framework or exporting information or data from the database.

모델 컨버터는 ONNX 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 데이터베이스의 네트워크 모델 포맷으로 변환하거나, 반대로 데이터베이스의 네트워크 모델을 ONNX 모델 포맷으로 변환할 수 있다. The model converter may convert a network structure and model data defined in the ONNX model format into the network model format of the database, or convert the network model of the database into the ONNX model format.

또한, 모델 컨버터는 상기 ONNX 모델 포맷 이외에 Open Network Exchange(ONNX), Neural Network Exchange Format(NNEF) 및 학습 파라미터와 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환할 수도 있다.In addition, the model converter may convert an Open Network Exchange (ONNX), a Neural Network Exchange Format (NNEF), and a model weight file including learning parameters and biases into a structured format in addition to the ONNX model format.

모델 컨버터는 모델 Weight 파일을 구조화된 포맷으로 변환하여 학습 모델을 입력(Import)하거나, 데이터베이스로부터 출력(Export) 받을 수 있도록 한다.The model converter converts the model weight file into a structured format so that the learning model can be imported or exported from the database.

딥러닝 프레임워크(120)는 데이터베이스(110)에 플러그인 방식으로 연결되고, 데이터베이스(110)에 저장된 정보 또는 데이터에 대한 확인, 수정 및 새로운 데이터를 추가할 수 있다. 딥러닝 프레임워크(120)는 예를 들면, QML(Quantum Machine Learning)을 예로 들 수 있다.The deep learning framework 120 is connected to the database 110 in a plug-in manner, and can check, correct, and add new data to information or data stored in the database 110 . The deep learning framework 120 may be, for example, Quantum Machine Learning (QML).

QML은 데이터베이스(110)에 플러그 인으로 설치된 딥러닝 프레임워크로서 데이터베이스의 호출로 실행될 수 있다. QML은 호출될 때 데이터베이스(110)로부터 각종 데이터를 인자로 받아 수행결과를 반환할 수 있다. QML은 관계형 데이터 포맷으로 정의된 네트워크 모델을 해석하여 프레임워크 내부에 네트워크를 구성할 수 있다.QML is a deep learning framework installed as a plug-in in the database 110 and can be executed by calling the database. When QML is called, it can receive various data from the database 110 as arguments and return execution results. QML can compose a network inside a framework by interpreting a network model defined in a relational data format.

QML은 데이터베이스(110)로부터 학습 파라미터와 학습 데이터를 인자로 받아 프레임워크 내부에 구성된 네트워크의 학습을 수행하고 학습결과를 반환할 수 있다. QML은 데이터베이스(110)로부터 입력 데이터를 인자로 받아 프레임워크 내부에 구성된 네트워크를 이용하여 기계추론을 수행하고 결과를 반환할 수 있다.QML may receive learning parameters and learning data from the database 110 as factors, perform learning of the network configured inside the framework, and return learning results. QML may receive input data from the database 110 as a factor, perform machine inference using a network configured inside the framework, and return a result.

또한, 딥러닝 프레임워크(120)는, 사용자 단말기(130)로부터 쿼리를 입력받으면, 데이터베이스(110)에 저장된 학습 네트워크 모델에 대한 확인, 수정, 및 새로운 학습을 위한 학습 네트워크 모델을 생성하며, 입력된 쿼리에 따라 정보 또는 데이터와 학습 네트워크 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 실행하고, 학습 중간 결과 및 최종 결과를 제공하며, 입력된 쿼리를 통하여 데이터와 기 학습된 학습 네트워크 모델을 선택하여 기계추론을 실행하고, 그 추론 결과를 제공할 수 있다.In addition, when a query is input from the user terminal 130, the deep learning framework 120 checks and corrects the learning network model stored in the database 110, and creates a learning network model for new learning. Selects information or data and a learning network model according to the query, executes machine learning by setting learning parameters, provides intermediate and final results of learning, and selects data and a pre-trained learning network model through the input query. It can execute machine reasoning and provide the reasoning result.

사용자 단말기(130)는 딥러닝 프레임워크(120)를 통하여 쿼리를 입력하고, 데이터베이스(110)로부터 딥러닝 프레임워크(120)를 통하여 쿼리에 대응된 추론 결과를 수신할 수 있다.The user terminal 130 may input a query through the deep learning framework 120 and receive an inference result corresponding to the query from the database 110 through the deep learning framework 120 .

사용자 단말기(130)는 쿼리를 통해서 데이터베이스(110)에 여러 기능들을 요청하고, 데이터베이스(110)로부터 결과를 응답 받을 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터베이스(110)에 저장된 데이터를 확인, 수정하고, 새로운 데이터를 추가할 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터베이스(110)에 저장된 네트워크 모델을 확인, 수정하고 새로운 학습을 위한 네트워크 모델을 생성할 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터와 학습 네트워크 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 요청하고, 학습 중간 결과 및 최종 결과를 확인할 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터와 기학습 된 네트워크 모델을 선택하여 기계추론을 요청하고, 추론 결과를 확인할 수 있다.The user terminal 130 may request various functions to the database 110 through a query and receive a response from the database 110 . The user terminal 130 can check and modify data stored in the database 110 through a query, and can add new data. The user terminal 130 can check and modify the network model stored in the database 110 through a query and create a new network model for learning. The user terminal 130 may select data and a learning network model through a query, set learning parameters, request machine learning, and check intermediate and final results of learning. The user terminal 130 may select data and a pre-learned network model through a query, request machine inference, and check the inference result.

도 2는 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술의 수행 흐름을 나타낸 흐름도이다.2 is a flowchart showing the execution flow of a query-based machine learning technique according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술은 ONNX 포맷 또는 ONNX 포맷으로 변환된 기학습된 모델을 컨버터를 통해서 QML 포맷으로 변환하고, 사용자 단말기(130)로부터 학습 또는 추론 쿼리를 입력받으며, 데이터베이스(110)에서 정보를 QML로 전송하여, QML에서 학습 및 추론을 수행할 수 있다. 그리고, 학습 또는 추론 결과를 데이터베이스(110)에 저장하면, 사용자 단말기(130)가 데이터베이스(110)에 저장된 결과를 확인할 수 있다.Referring to FIG. 2 , the query-based machine learning technology according to an embodiment of the present invention converts an ONNX format or a pre-learned model converted to the ONNX format into a QML format through a converter, and learns or An inference query is input, information is transmitted from the database 110 to QML, and learning and inference can be performed in QML. Then, when the results of learning or reasoning are stored in the database 110, the user terminal 130 can check the results stored in the database 110.

사용자 단말기(130)는 학습 모델을 입력(Import)하거나, 데이터베이스(110)로부터 출력(Export)받을 수 있다(①).The user terminal 130 may input (Import) a learning model or receive an output (Export) from the database 110 (①).

또한, 학습 모델을 입력 또는 출력할 때, 모델 컨버터를 통하여 데이터베이스(110)의 스키마 구조에 맞게 변환할 수 있다(②).In addition, when inputting or outputting a learning model, it can be converted to fit the schema structure of the database 110 through a model converter (②).

또한, 데이터베이스(110)는 쿼리를 해석하여 적절한 작업을 수행할 수 있다(③).In addition, the database 110 may interpret the query and perform an appropriate task (③).

또한, 딥러닝 프레임워크(120)는 데이터베이스(110)에 플러그인을 수행하고, 데이터베이스(110)로부터 받은 정보를 통해 학습 및 추론을 수행할 수 있다(④).In addition, the deep learning framework 120 may perform a plug-in to the database 110 and perform learning and inference through information received from the database 110 (④).

또한, 사용자 단말기(130)는 쿼리를 통해 데이터베이스(110)로 학습 또는 추론을 요청할 수 있다(⑤).In addition, the user terminal 130 may request learning or inference to the database 110 through a query (⑤).

또한, 사용자 단말기(130)는 데이터베이스(110)의 테이블을 조회하여 학습 관련 정보를 조회할 수 있다(⑥).In addition, the user terminal 130 may search the table of the database 110 for learning related information (⑥).

그리고, 모델 데이터는 데이터베이스(110)에 QML 스키마로 저장될 수 있다(⑦).Then, the model data may be stored in the database 110 as a QML schema (⑦).

도 3은 본 발명의 실시 예에 따른 데이터베이스의 내부 데이터 흐름을 나타낸 도면이다. 3 is a diagram illustrating an internal data flow of a database according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시 예에 따른 데이터베이스(110)는, 기계학습과 관련된 데이터들을 저장하고, 기계학습에 필요한 기능들을 프로시저(Procedure)로 제공하여 사용자 요청에 의해 기계학습을 수행할 수 있다.Referring to FIG. 3 , the database 110 according to an embodiment of the present invention stores data related to machine learning and provides functions necessary for machine learning as a procedure to perform machine learning at the request of a user. can do.

데이터베이스(110)에서, 테이블(Table)은 크게 데이터셋 테이블(Dataset Table), 네트워크 테이블(Network Table), 프로젝트 테이블(Project Table), 작업 테이블(Job Table), 및 공통 테이블(Common Table)을 포함할 수 있다.In the database 110, the table largely includes a dataset table, a network table, a project table, a job table, and a common table. can do.

데이터 셋은 데이터 종류를 포함하고, 네트워크는 네트워크 종류 및 LeNet(CNN 구조 중 하나)을 포함하며, 프로젝트는 네트워크의 정보를 복사해 학습 또는 추론 작업을 진행할 수 있다.A data set contains a data type, a network includes a network type and LeNet (one of CNN structures), and a project can copy information from the network to perform training or inference tasks.

작업 테이블은 사용자 정보, 프로젝트의 상태, 로그 등을 포함하고, 공통 테이블은 레이어 타입, 오류 코드 등 룩업 테이블을 포함할 수 있다.The task table may include user information, project status, logs, and the like, and the common table may include a lookup table such as layer type and error code.

네트워크 테이블에 네트워크 모델 정보가 저장되어 있고, 프로젝트 테이블에는 네트워크 테이블로부터 복사된 실제 학습이나 추론을 진행할 프로젝트 정보가 저장될 수 있다. 프로젝트가 생성된 후 네트워크 테이블과 별개의 구성을 가지게 되므로, 프로젝트에 사용된 기반 네트워크가 수정되더라도 영향이 없다. 개수가 많고 가변적인 데이터(입출력 데이터 및 가중치 정보)는 BLOB(Binary Large Object) 또는 text 타입으로, 개수가 적고 가변적인 데이터(각 레이어 파라미터 등)는 레코드를 분할하여 저장하도록 되어 있다.Network model information is stored in the network table, and project information for actual learning or inference copied from the network table may be stored in the project table. After the project is created, it has a separate configuration from the network table, so there is no effect even if the base network used in the project is modified. A large number of variable data (input/output data and weight information) is a BLOB (Binary Large Object) or text type, and a small number of variable data (each layer parameter, etc.) is divided into records and stored.

기계학습에 필요한 프로시저는 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 네트워크 초기화(Init Network), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 포함할 수 있다.Procedures required for machine learning include Insert Network, Insert Layer, Make Project, Input Data Loader, Init Network, Train, and Model. It can include Save Model and Test.

인서트 네트워크는 네트워크 이름, 네트워크 타입, 데이터셋 이름, 옵티마이저 타입, 옵티마이저 파라미터, 학습률, 배치 크기, 학습 횟수, 출력 레이어 인덱스를 포함하는 네트워크를 생성할 수 있다. The insert network can create a network including network name, network type, dataset name, optimizer type, optimizer parameters, learning rate, batch size, number of trainings, and output layer index.

인서트 레이어는, 네트워크 아이디, 레이어 이름, 레이어 타입, 레이어 인덱스, 레이어 파라미터, 입력 레이어 인덱스를 포함하는 레이어를 등록할 수 있다.The insert layer may register a layer including a network ID, a layer name, a layer type, a layer index, a layer parameter, and an input layer index.

메이크 프로젝트는, 프로젝트 이름, 데이터셋 이름, 네트워크 이름, 학습 또는 추론 플래그, GPU 개수를 포함하는 프로젝트를 생성할 수 있다.A make project can create a project that includes the project name, dataset name, network name, training or inference flag, and number of GPUs.

입력 데이터 로더는, 네트워크 입력의 선택(레이어 인덱스, 쿼리 타입(2:학습 테이블, 0:학습 데이터, 4:검증 테이블, 3:검증 데이터)에 따라 쿼리를 입력할 수 있다.The input data loader can input a query according to the network input selection (layer index, query type (2: learning table, 0: learning data, 4: verification table, 3: verification data)).

네트워크 초기화는, 네트워크 모델을 구성할 수 있다.Network initialization can configure a network model.

트레인은, 프로젝트 아이디, 학습 세대 수, 배치 사이즈, 이어서 학습 여부, 저장 간격, 검증 간격, GPU 동기화 간격을 포함하는 학습을 시작할 수 있다.The train can start learning, including the project ID, the number of learning generations, the batch size, whether or not to learn, the storage interval, the validation interval, and the GPU synchronization interval.

모델 저장은, 프로젝트 테이블의 네트워크 정보를 네트워크 테이블로 복사(프로젝트 이름, 네트워크 이름)할 수 있다.When saving a model, the network information of the project table can be copied to the network table (project name, network name).

테스트는, 프로젝트 아이디, 모든 레이어의 결과 저장 여부 플래그를 포함하는 추론을 시작할 수 있다.A test can initiate an inference that includes a project ID and a flag whether or not to save the results of all layers.

도 4는 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 방법을 설명하기 위한 동작 흐름도를 나타낸 도면이다.4 is a flowchart illustrating an operation for explaining a query-based deep learning inference method according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(100)은, 사용자 단말기(130) 및 데이터베이스(110)와 연동하는 딥러닝 프레임워크(120)에서 쿼리 기반 딥러닝 추론 방법을 실행할 수 있다.Referring to FIG. 4 , a query-based deep learning inference system 100 according to an embodiment of the present invention is a query-based deep learning inference in a deep learning framework 120 that works with a user terminal 130 and a database 110. method can be executed.

딥러닝 프레임워크(120)는 사용자 단말기로부터 학습 쿼리(Call Train) 또는 추론 쿼리(Call Test)를 입력받는다(S410).The deep learning framework 120 receives a learning query (Call Train) or an inference query (Call Test) from the user terminal (S410).

이때, 딥러닝 프레임워크(120)는, 외부 프레임워크와의 호환성을 위해 모델 컨버터를 사용하고, 기존 프레임워크의 기학습된 모델을 가져오거나, 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 모델 컨버터를 통하여 ONNX 모델 포맷으로 변환할 수 있다.At this time, the deep learning framework 120 uses a model converter for compatibility with an external framework, imports a pre-learned model of an existing framework, or uses a model converter when exporting information or data from a database to the outside. It can be converted to ONNX model format through

모델 컨버터는 ONNX 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 데이터베이스의 네트워크 모델 테이블 포맷으로 변환하거나, 반대로 데이터베이스의 네트워크 모델을 ONNX 모델 포맷으로 변환할 수 있다.The model converter may convert the network structure and model data defined in the ONNX model format into the network model table format of the database, or conversely convert the network model of the database into the ONNX model format.

딥러닝 프레임워크(120)는 학습 쿼리 또는 추론 쿼리에 따라 네트워크 초기화(Init Network), 네트워크 구성(Construct Network) 및 네트워크 갱신(Update Network)을 실행할 수 있다(S420).The deep learning framework 120 may execute network initialization (Init Network), network construction (Construct Network), and network update (Update Network) according to the learning query or inference query (S420).

딥러닝 프레임워크(120)는 모든 층에 대한 초기화(Initialize all layers)가 이루어지면 학습(Train) 또는 추론(Test)을 실행할 수 있다(S430).The deep learning framework 120 may execute training or inference (test) after initializing all layers is performed (S430).

이때, 딥러닝 프레임워크(120)는, 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장(Store Result & Model)할 수 있다.At this time, the deep learning framework 120 may acquire batch data (Get Batch Data) and store results and models (Store Result & Model) by repeating (Iteration) until learning ends.

또한, 딥러닝 프레임워크(120)는, 테스트(Test)를 실행하고, 테스트 데이터를 획득하여(Get Test Data) 피드 포워드(feedforward)하고 추론 결과를 저장(Store Result)할 수 있다.In addition, the deep learning framework 120 may execute a test, obtain test data (Get Test Data), feed forward, and store inference results (Store Result).

이어, 딥러닝 프레임워크(120)는 학습 또는 추론의 종료시 학습 결과 또는 추론 결과를 사용자 단말기(130)로 제공할 수 있다(S440).Subsequently, the deep learning framework 120 may provide a learning result or reasoning result to the user terminal 130 when learning or reasoning is finished (S440).

전술한 학습 또는 추론 과정에 대하여 아래에서 각각 구분하여 설명할 수 있다.The above-described learning or reasoning process may be separately described below.

도 5는 본 발명의 일 실시 예에 따른 학습 프로시저의 실행 흐름을 나타낸 도면이다.5 is a diagram showing an execution flow of a learning procedure according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 실시 예에 따른 딥러닝 프레임워크(120)에서는 사용자의 학습 요청에 대해 다음과 같은 단계가 실행되고, 데이터베이스(110)에서는 QML(120)을 호출하여 데이터를 인자로 넘겨주어 결과를 반환받을 수 있다.Referring to FIG. 5, the deep learning framework 120 according to an embodiment of the present invention executes the following steps for a user's learning request, and the database 110 calls the QML 120 to print data. and return the result.

딥러닝 프레임워크(120)는 사용자 단말기(130)로부터 학습 쿼리가 입력되어 학습이 호출되면(Call Train)(S50), 네트워크 초기화(Init Network)(S51), 네트워크 구성(Construct Network)(S52), 네트워크 갱신(Update Network)(S53)을 실행할 수 있다.The deep learning framework 120, when a learning query is input from the user terminal 130 and learning is called (Call Train) (S50), network initialization (Init Network) (S51), network construction (Construct Network) (S52) , network update (Update Network) (S53) can be executed.

딥러닝 프레임워크(120)는 모든 층에 대한 초기화(Initialize all layers)가 이루어지기까지(S54-No), 레이어 초기화(Init Layer)(S55)를 실행하고, 초기화된 레이어 정보(Initialized Layer Info)를 획득하며, 레이어 갱신(Update Layer)(S56)을 실행할 수 있다.The deep learning framework 120 executes layer initialization (Init Layer) (S55) until Initialize all layers is performed (S54-No), and initialized layer information (Initialized Layer Info) is obtained, and layer update (Update Layer) (S56) can be executed.

딥러닝 프레임워크(120)는 모든 층에 대한 초기화가 이루어지면(S54-Yes), 학습(Train)을 실행하고(S57), 학습 종료시까지(S58-No) 배치 데이터를 획득하고(Get Batch Data)(S59), 반복 되풀이(Iteration)하여(S60), 결과 및 모델을 저장하며(Store Result & Model)(S610), 학습 종료시(S58-Yes) 학습 결과를 사용자 단말기(130)로 제공할 수 있다(S62).When all layers are initialized (S54-Yes), the deep learning framework 120 executes training (S57), acquires batch data until the end of training (S58-No), and obtains batch data (Get Batch Data). ) (S59), repeat (Iteration) (S60), store the result and model (Store Result & Model) (S610), and provide the learning result to the user terminal 130 at the end of learning (S58-Yes) Yes (S62).

도 6은 본 발명의 실시 예에 따른 추론 프로시저의 실행 흐름을 나타낸 도면이다.6 is a diagram illustrating an execution flow of an inference procedure according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 실시 예에 따른 딥러닝 프레임워크(120)에서는 사용자의 추론 요청에 대해 다음과 같은 단계가 실행되고, 데이터베이스(110)에서는 QML(120)을 호출하여 데이터를 인자로 넘겨주어 결과를 반환받을 수 있다.Referring to FIG. 6 , the deep learning framework 120 according to an embodiment of the present invention executes the following steps in response to a user's inference request, and the database 110 calls the QML 120 to input data. and return the result.

사용자 단말기(130)로부터 추론 쿼리가 입력되어 추론이 호출되면(Call Test)(S63), 딥러닝 프레임워크(120)는 네트워크 초기화(Init Network)(S64), 네트워크 구성(Construct Network)(S65), 및 네트워크 갱신(Update Network)(S66)을 실행할 수 있다.When an inference query is input from the user terminal 130 and inference is called (Call Test) (S63), the deep learning framework 120 performs network initialization (Init Network) (S64), network construction (Construct Network) (S65) , and network update (Update Network) (S66) can be executed.

딥러닝 프레임워크(120)는, 모든 층에 대한 초기화(Initialize all layers)가 이루어지기까지(S67-No), 레이어 초기화(Init Layer)(S68) 및 레이어 갱신(Update Layer)(S69)을 실행할 수 있다.The deep learning framework 120 executes layer initialization (Init Layer) (S68) and layer update (Update Layer) (S69) until all layers are initialized (S67-No). can

딥러닝 프레임워크(120)는, 모든 층에 대한 초기화가 이루어지면(S67-Yes), 추론 테스트(Test)를 실행하고(S70), 추론 데이터를 획득하여(Get Test Data)(S71) 피드 포워드(feed forward)하고(S72), 결과를 저장하며(Store Result)(S73), 추론 결과를 사용자 단말기(130)로 제공할 수 있다(S74).When all layers are initialized (S67-Yes), the deep learning framework 120 executes an inference test (S70), obtains inference data (Get Test Data) (S71), and feeds forward (feed forward) (S72), store the result (Store Result) (S73), and provide the inference result to the user terminal 130 (S74).

도 7은 본 발명의 실시 예에 따른 모델 컨버터의 변환 동작을 나타낸 도면이다.7 is a diagram illustrating a conversion operation of a model converter according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 실시 예에 따른 데이터베이스(110)에 저장된 네트워크 모델은 외부 프레임워크(tensorflow, pytorch, caffe, etc.)와의 호환성을 위해 모델 컨버터를 필요로 할 수 있다. 기존 프레임워크의 기학습된 모델을 가져오거나 데이터베이스 외부로 내보낼 때 ONNX(Open Neural Network Exchange)포맷을 사용할 수 있다.Referring to FIG. 7 , a network model stored in the database 110 according to an embodiment of the present invention may require a model converter for compatibility with external frameworks (tensorflow, pytorch, caffe, etc.). The ONNX (Open Neural Network Exchange) format can be used when importing pre-trained models from existing frameworks or exporting them out of the database.

여기서, 상기 ONNX 이외에 Open Network Exchange(ONNX), Neural Network Exchange Format(NNEF) 및 학습 파라미터와 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환할 수 있다.Here, in addition to ONNX, Open Network Exchange (ONNX), Neural Network Exchange Format (NNEF), and model weight files including learning parameters and biases can be converted into a structured format.

모델 컨버터는, ONNX 모델을 포함하는 구조화된 포맷에 정의된 network structure 및 model data(weight, bias)를 데이터베이스(110)의 네트워크 모델 테이블 포맷으로 변환할 수 있다(a). 반대로 데이터베이스(110)의 네트워크 모델을 ONNX 모델을 포함하는 구조화된 포맷로 변환할 수 있다(b).The model converter may convert the network structure and model data (weight, bias) defined in the structured format including the ONNX model into the network model table format of the database 110 (a). Conversely, the network model of the database 110 may be converted into a structured format including the ONNX model (b).

기존 프레임워크(Caffe, tensorflow, pytorch, etc.)에서 기계학습된 모델은 사용자가 ONNX 모델을 포함하는 구조화된 포맷으로 변환 후 Converter(Import) 기능을 통해서 데이터베이스(110)에 업로드할 수 있다.Models learned from machine learning in existing frameworks (Caffe, tensorflow, pytorch, etc.) can be uploaded to the database 110 through a Converter (Import) function after the user converts them into a structured format including ONNX models.

QML(120)에서 학습한 모델은 Converter(Export) 기능을 통해서 데이터베이스(110)에서 ONNX 모델을 포함하는 구조화된 포맷, 또는 CVS 파일로 저장할 수 있다.The model learned in the QML 120 can be saved in a structured format including an ONNX model or a CVS file in the database 110 through a Converter (Export) function.

데이터베이스(110)에 저장된 ONNX 모델 및 구조화된 포맷은 사용자가 원하는 target 프레임 워크로 변환하여 사용할 수 있다.The ONNX model and structured format stored in the database 110 can be converted into a target framework desired by the user and used.

한편, QML은 C 언어로 개발하고 있는 딥러닝 프레임워크(120)이다. 데이터베이스(110)와 UDF(User Defined Function)를 통해 연결되며 호출에 의해 실행될 수 있다. 딥러닝 프레임워크(120)에 정의된 함수들은 UDF를 통해 데이터베이스(110)에 등록되고, 등록된 UDF 호출을 통해서 딥러닝 프레임워크(120)가 실행될 수 있다. UDF에서 사용할 수 있는 인자 변수의 타입은 integer, real number, string으로 정해져 있고 QML에서는 다음과 같이 사용할 수 있다. Integer는 네트워크 모델을 구성하는 필수 파라미터 중 정수값, QML 내부에 정의된 구조체 메모리의 주소값이다. Real number는 네트워크 모델을 구성하는 필수 파라미터 중 실수값이다. String은 개수가 가변적인 파라미터들과 BLOB 데이터(binary 데이터)이다.Meanwhile, QML is a deep learning framework 120 being developed in C language. It is connected to the database 110 through a User Defined Function (UDF) and can be executed by a call. Functions defined in the deep learning framework 120 may be registered in the database 110 through UDF, and the deep learning framework 120 may be executed through the registered UDF call. The types of parameter variables that can be used in UDF are defined as integer, real number, and string, and can be used in QML as follows. Integer is an integer value among essential parameters constituting a network model, and an address value of a structure memory defined inside QML. A real number is a real number among essential parameters constituting a network model. String is parameters whose number is variable and BLOB data (binary data).

QML 프레임워크에서는 채널 우선 데이터 포맷인 NCHW(N:batch, C: channel, H:height, W:width) 포맷을 따른다. 레이어 종류는 ONNX에서 사용되는 레이어를 지원하며, 각 레이어에 정의된 파라미터들도 ONNX 포맷을 포함하는 구조화된 포맷을 따른다.In the QML framework, the NCHW (N: batch, C: channel, H: height, W: width) format, which is a channel-first data format, is followed. Layer types support layers used in ONNX, and parameters defined in each layer follow a structured format including the ONNX format.

QML 프레임워크는 네트워크 모델을 학습 가능 하도록 backpropagation 알고리즘이 구현되어 있다. Backpropagation의 필수 요소인 gradient 계산 알고리즘과 모델 파라미터(weight, bias)를 업데이트 시키기 위한 optimization 알고리즘이 구현되어 있다. 네트워크 모델을 학습하는 방식은 두가지로 Train from scratch 및 Fine tuning을 지원할 수 있다. Train from scratch는 네트워크 모델을 처음부터 학습시킨다. 각 레이어의 가중치들은 가중치 초기화 알고리즘을 통해 결정될 수 있다. Fine tuning은 기학습된 모델의 가중치(import 기능을 통해 데이터베이스에 저장되거나, 이전 학습시도를 통해서 구한 가중치)를 읽어와서 레이어의 초기 가중치를 설정하고 학습을 진행할 수 있다.The QML framework implements the backpropagation algorithm to learn the network model. The gradient calculation algorithm, which is an essential element of backpropagation, and the optimization algorithm for updating model parameters (weight, bias) are implemented. There are two ways to learn the network model, which can support Train from scratch and Fine tuning. Train from scratch trains the network model from scratch. Weights of each layer may be determined through a weight initialization algorithm. Fine tuning can read the weights of the pre-learned model (weights stored in the database through the import function or obtained through previous learning attempts), set the initial weights of the layer, and proceed with learning.

도 8은 본 발명의 실시 예에 따른 QML 프레임워크의 내부 구조를 개략적으로 나타낸 도면이다.8 is a diagram schematically illustrating the internal structure of a QML framework according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 실시 예에 따른 딥러닝 프레임워크(120)에서, QML네트워크t(qml_network_t)는 복수 개의 QML레이어t(qml_network_t)로 구성되고, 하나의 QML레이어t(qmll_network_t)는 복수 개의 QML텐서t(qml_tensor_t)로 구성될 수 있다.Referring to FIG. 8 , in the deep learning framework 120 according to an embodiment of the present invention, a QML network t (qml_network_t) is composed of a plurality of QML layers t (qml_network_t), and one QML layer t (qmll_network_t) is It can be composed of a plurality of QML tensor t (qml_tensor_t).

Object qml_networks_t 는 qml_network_t 를 들고 있고, Multi GPU 로 네트워크 모델을 학습하는 경우에 N 개의 qml_network_t가 qml_networks_t에 포함되어 있고, 네트워크 모델을 추론하는 경우에는 1개의 qml_network_t를 들고 있다.Object qml_networks_t holds qml_network_t, and when learning a network model with Multi GPU, N qml_network_ts are included in qml_networks_t, and when inferring a network model, it holds one qml_network_t.

Object qml_network_t는 여러 개의 qml_layer_t 및 네트워크 파라미터들을 들고 있다.Object qml_network_t holds several qml_layer_t and network parameters.

Object qml_layer_t 는 입출력 텐서(qml_tensor_t) 들을 갖고 있고, Object qml_tensor_t는 NCHW 포맷으로 구성된 4차원 텐서이고, 내부에는 dtype, qml_shape_t, data, name 등이 포함되어 있다.Object qml_layer_t has input and output tensors (qml_tensor_t), Object qml_tensor_t is a 4-dimensional tensor composed of NCHW format, and includes dtype, qml_shape_t, data, name, etc.

한편, 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(100)은, 다음과 같이 클라이언트, 회원, 데이터셋, 네트워크, 학습, 학습 실행 등을 관리할 수 있다.Meanwhile, the query-based deep learning inference system 100 according to an embodiment of the present invention may manage clients, members, datasets, networks, learning, and learning execution as follows.

[클라이언트][Client]

본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(100)은, 사용자 단말기(130)로 데이터셋과 기계학습 과정을 관리하고 결과를 확인하기 위하여 기능을 제공할 수 있다.The query-based deep learning inference system 100 according to an embodiment of the present invention may provide the user terminal 130 with a function to manage a dataset and a machine learning process and check the result.

[회원 관리][Member Management]

또한, 쿼리 기반 딥러닝 추론 시스템(100)은, 회원관리를 통해서 데이터베이스(110)의 데이터, 네트워크 모델의 생성, 수정 권한을 부여하고 변경 이력을 남긴다.In addition, the query-based deep learning reasoning system 100 grants authority to create and modify data in the database 110 and network models through member management, and leaves a history of changes.

[데이터셋 관리][Dataset management]

또한, 쿼리 기반 딥러닝 추론 시스템(100)은, 데이터셋을 관리하기 위하여 새로운 테이블을 생성하고, 데이터를 조회, 수정, 업로드하기 위한 기능을 제공할 수 있다. 새로운 데이터셋을 생성할 때 자동으로 새로운 테이블을 생성하고, 데이터를 업로드할 수 있다. 데이터베이스의 테이블에 접근하여 데이터를 조회거나 사용자가 작성한 쿼리를 통해서 데이터베이스의 데이터를 조회한 결과를 보여준다. 권한에 따라 데이터를 수정할 수 있다. 사용자로부터 수치데이터를 입력 받거나, 하나 이상의 파일을 읽어서 데이터 업로드를 진행할 수 있다. 학습 데이터의 레이블을 작성(tagging)하는 기능을 제공할 수 있다.In addition, the query-based deep learning inference system 100 may create a new table to manage a dataset, and provide functions for searching, modifying, and uploading data. When you create a new dataset, you can automatically create a new table and upload the data. Accesses the database table to view data or displays the result of searching the database data through a query written by the user. Data can be modified according to authority. Data upload may be performed by receiving numerical data from the user or by reading one or more files. A function of labeling training data may be provided.

[네트워크 관리][Network management]

또한, 쿼리 기반 딥러닝 추론 시스템(100)은, 다음과 같이 네트워크 모델을 관리하기 위한 기능을 제공할 수 있다. 지원되는 레이어를 추가하고 레이어 파라미터를 조정하여 새로운 네트워크 모델을 생성할 수 있다. 기존에 작성된 네트워크 모델 리스트를 조회할 수 있다. 기존에 작성된 네트워크 모델에 새로운 레이어를 추가하여 새로운 네트워크 모델을 생성할 수 있다. 네트워크 모델을 시각화하여 보여주는 기능을 제공할 수 있다.In addition, the query-based deep learning inference system 100 may provide a function for managing a network model as follows. New network models can be created by adding supported layers and adjusting layer parameters. A list of previously created network models can be queried. A new network model can be created by adding a new layer to an existing network model. A function to visualize and show the network model can be provided.

[학습 관리][Learning Management]

또한, 쿼리 기반 딥러닝 추론 시스템(100)은, 다음과 같이 학습을 관리하기 위한 기능을 제공할 수 있다. 네트워크 모델과 데이터셋, 학습 파라미터를 조절하여 학습을 생성 또는 수정할 수 있다. 학습이 끝난 네트워크 모델을 컨버터 기능을 통해 출력할 수 있다. 현재 사용중인 서버의 자원을 확인할 수 있다.In addition, the query-based deep learning inference system 100 may provide a function for managing learning as follows. Learning can be created or modified by adjusting the network model, dataset, and learning parameters. The trained network model can be output through the converter function. You can check the resources of the server currently in use.

[학습 실행 관리][Manage Learning Run]

또한, 쿼리 기반 딥러닝 추론 시스템(100)은, 다음과 같이 학습 및 추론을 수행하고 결과를 확인하기 위한 기능을 제공할 수 있다. 서버의 자원을 확인할 수 있다. 학습 및 추론 수행이 가능한지 여부를 사용자에게 알려준다. 현재 실행 또는 대기 중인 학습계획 리스트를 조회할 수 있다. 등록된 네트워크 모델과 데이터셋, 학습 파라미터를 설정하여 학습계획을 생성할 수 있다. 현재 실행 또는 대기 중인 학습계획의 학습 파라미터를 확인할 수 있다. 현재 실행 중인 학습계획의 중간 및 결과를 확인할 수 있다. 현재 실행 중인 학습계획을 멈출 수 있다. 대기 중인 학습계획을 시작할 수 있다. 등록된 네트워크 모델과 데이터셋을 설정하여 추론계획을 생성할 수 있다. 실행된 추론 계획의 결과를 확인할 수 있다.In addition, the query-based deep learning inference system 100 may provide functions for performing learning and inference and checking the result as follows. You can check server resources. It informs the user whether learning and inference performance is possible. You can search the list of currently running or waiting learning plans. You can create a learning plan by setting the registered network model, dataset, and learning parameters. You can check the learning parameters of the currently running or waiting learning plan. You can check the middle and results of the currently running learning plan. You can stop the currently running learning plan. You can start a pending study plan. An inference plan can be created by setting the registered network model and dataset. You can check the results of the executed reasoning plan.

전술한 바와 같이 본 발명에 의하면, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는, 쿼리 기반 딥러닝 추론 시스템 및 그 방법을 실현할 수 있다.As described above, according to the present invention, the deep learning framework is connected to the information database in the form of a plug-in so that even a user without expert knowledge of deep learning can provide the user with necessary information without difficulty, A query-based deep learning inference system and method capable of inferring data corresponding to a query by learning data stored in an information database by a deep learning method can be realized.

도 9는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템의 구성도이다. 도 10은 도 9의 데이터 수집기의 블럭 구성도이다. 도 1 내지 도 8을 참조한다.9 is a block diagram of a machine tool predictive maintenance system using a query-based deep learning inference system according to an embodiment of the present invention. FIG. 10 is a block diagram of the data collector of FIG. 9 . See Figures 1 to 8.

도 9를 참조하면, 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템은 데이터 수집기(200), 데이터베이스(DB, 110), 딥러닝 프레임워크(QML, 120) 및 사용자 단말기(130)를 포함할 수 있다. 데이터베이스(DB, 110), 딥러닝 프레임워크(QML, 120) 및 사용자 단말기(130)는 도 1 내지 도 8의 쿼리 기반 딥러닝 추론 시스템(100)에 구비되는 구성 요소로, 자세한 설명은 도 1 내지 도 8을 참조한다.9, a machine tool predictive maintenance system using a query-based deep learning inference system includes a data collector 200, a database (DB, 110), a deep learning framework (QML, 120), and a user terminal 130. can do. The database (DB, 110), the deep learning framework (QML, 120), and the user terminal 130 are components provided in the query-based deep learning inference system 100 of FIGS. 1 to 8, and a detailed description is given in FIG. 1 to Figure 8.

데이터 수집기(200)는 공작 기계(300)의 진동량, 소음량, 전력량, 및 상태 정보 라벨을 데이터 셋으로 수집할 수 있다.The data collector 200 may collect vibration, noise, power, and status information labels of the machine tool 300 as data sets.

공작 기계(300)는 소재를 가공하여 원하는 형상을 만들 수 있는 기계이다. 공작 기계(300)는 전기 에너지를 동력원으로 사용하는 수많은 부품의 조립체이다. 공작 기계(300)는 원하는 속도로 회전하는 회전계 부품, 및 정확한 위치로 이송할 수 있는 이송계 부품들을 구비할 수 있다.The machine tool 300 is a machine that can make a desired shape by processing a material. The machine tool 300 is an assembly of numerous parts using electrical energy as a power source. The machine tool 300 may include rotation system components that rotate at a desired speed, and transport system components that can be transported to precise positions.

공작 기계(300)의 종류는 머시닝 센터(Machine Center), 선반(Lathe), 밀링(Milling), 드릴 머신(Drill Machine), 연마기(Machine), 레이저 절단기(Laser Cutting Machine), NCT 펀칭기(Numerically Controlled Turret), CNC 절곡기(Bending Machine), 슬로터(Slotter), 셰이퍼(Shaper) 등이 있을 수 있다.Types of the machine tool 300 include a machining center, a lathe, a milling machine, a drill machine, a polishing machine, a laser cutting machine, and a NCT punching machine (numerically controlled Turret), CNC Bending Machine, Slotter, Shaper, and the like.

공작 기계(300)는 수치 제어(Numerical Control) 또는 컴퓨터 수치 제어(Computerized Numerical Control)되는 기계일 수 있다.The machine tool 300 may be a machine that is numerically controlled or computerized numerically controlled.

다양한 회전계 및 이송계 부품은 기계적인 운동을 하게되어, 공작 기계(300)의 부품들은 고장날 수 있다. 부품의 고장이나 노후는 손실이 많아져서, 공작 기계(300)의 출력이 저하되는 현상이 나타날 수 있다.Various parts of the rotation system and feed system are subjected to mechanical movement, and thus parts of the machine tool 300 may fail. Failure or deterioration of parts may result in increased losses, resulting in a decrease in the output of the machine tool 300 .

또한, 공작 기계(300)의 부품들의 고장이나 노후는 관리자나 사용자의 안전 사고가 문제될 수 있다.In addition, failure or aging of parts of the machine tool 300 may cause safety accidents of managers or users.

도 10을 참조하면, 데이터 수집기(200)는 수집기 제어부(210), 수집기 통신부(220), 및 수집기 감지부(250)을 구비할 수 있다.Referring to FIG. 10 , the data collector 200 may include a collector control unit 210, a collector communication unit 220, and a collector detection unit 250.

수집기 통신부(220)는 외부 장치와 유/무선 통신할 수 있다. 수집기 통신부(220)와 통신하는 외부 장치는 공작 기계(300), 사용자 단말기(130), 데이터베이스(110) 등이 해당될 수 있다. 외부 장치는 이에 한정되지 않으며, 데이터베이스(110)를 관리하는 다른 서버도 해당될 수 있다.The collector communication unit 220 may perform wired/wireless communication with an external device. External devices that communicate with the collector communication unit 220 may include the machine tool 300 , the user terminal 130 , and the database 110 . The external device is not limited thereto, and other servers managing the database 110 may also be applicable.

수집기 통신부(220)는 특정한 공작 기계(300) 이외에, 다양한 공작 기계와 통신할 수 있다. 따라서 데이터 수집기(200)는 복수의 공작 기계로부터 데이터를 데이터 셋 포맷으로 수집할 수 있다. 이러한 복수의 공작 기계로부터 수집하는 데이터 셋은 다양한 종류의 공작 기계에 대해 학습 네트워크 모델을 구축할 수 있도록 하며, 동종의 공작 기계에 대해 다양한 학습 네트워크 모델을 구축하게 할 수 있다. 동종의 공작 기계에 대한 다양한 학습 네트워크 모델은 공작 기계가 설치된 주위 환경이나 작동량 등에 따라 다양한 모델로 구축될 수 있다.The collector communication unit 220 may communicate with various machine tools in addition to the specific machine tool 300 . Accordingly, the data collector 200 may collect data from a plurality of machine tools in a data set format. A data set collected from a plurality of machine tools enables the construction of learning network models for various types of machine tools, and enables construction of various learning network models for the same type of machine tools. Various learning network models for the same type of machine tool may be built with various models depending on the environment where the machine tool is installed or the amount of operation.

수집기 통신부(220)는 무선 통신을 위해, 근거리 통신 모듈, 무선 인터넷 모듈, 및 이동통신 모듈(127)을 구비할 수 있다.The collector communication unit 220 may include a short-distance communication module, a wireless Internet module, and a mobile communication module 127 for wireless communication.

유선 통신 기술로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.Wired communication technologies may include power line communication (PLC), USB communication, Ethernet, serial communication, optical/coaxial cables, and the like.

근거리 통신 모듈은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 이용될 수 있다.The short-distance communication module refers to a module for short-distance communication. Short-range communication technologies include Bluetooth, RFID (Radio Frequency Identification), IrDA (Infrared Data Association), UWB (Ultra Wideband), ZigBee, Near Field Communication (NFC), and ultrasonic communication (Ultra Sound Communication: USC), Visible Light Communication (VLC), Wi-Fi, Wi-Fi Direct, and the like may be used.

무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 의미한다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), DLNA(Digital Living Network Alliance), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 이용될 수 있다. The wireless Internet module refers to a module for wireless Internet access. Wireless Internet technologies include WLAN (Wireless LAN) (Wi-Fi), DLNA (Digital Living Network Alliance), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), HSUPA ( High Speed Uplink Packet Access), IEEE 802.16, Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), Wireless Mobile Broadband Service (WMBS), etc. may be used. there is.

이동통신 모듈은, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신할 수 있다. 여기서, 무선 신호는, 음성, 동영상, 사진, 텍스트, 및 이들의 조합 등 다양한 형태의 데이터를 포함할 수 있다.The mobile communication module may transmit/receive radio signals with at least one of a base station, an external terminal, and a server on a mobile communication network. Here, the radio signal may include various types of data such as voice, video, photo, text, and combinations thereof.

이동통신 모듈은 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTEA(Long Term Evolution-Advanced) 등의 통신방식을 이용할 수 있다.The mobile communication module is GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband) CDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), and Long Term Evolution-Advanced (LTEA).

이 외에, 수집기 통신부(220)는 NB-IoT, LTE-M, LoRa, Sigfox 등의 IoT를 위한 저전력 광역 네트워크 모듈을 구비할 수 있다. 저전력 광역 네트워크 모듈은 앞서 언급한 근거리/무선 인터넷/이동통신 모듈을 이용할 수 있다.In addition, the collector communication unit 220 may include a low power wide area network module for IoT such as NB-IoT, LTE-M, LoRa, and Sigfox. The low-power wide-area network module may use the aforementioned short-distance/wireless Internet/mobile communication module.

수집기 감지부(250)는 진동 센서 모듈(260), 소음 센서 모듈(270), 및 전력량 측정 모듈(280)을 구비할 수 있다. 수집기 감지부(250)는 이러한 각각의 모듈을 데이터 수집기(200)와 연결된 복수의 공작 기계 개수 만큼 복수 개 구비할 수 있다.The collector detector 250 may include a vibration sensor module 260 , a noise sensor module 270 , and a power amount measurement module 280 . The collector sensing unit 250 may include a plurality of each module as many as the number of machine tools connected to the data collector 200 .

진동 센서 모듈(260) 및 소음 센서 모듈(270)은 각각 복수의 센서를 구비하여, 공작 기계(300)의 여러 위치에 부착될 수 있다. 진동 센서 모듈(260) 및 소음 센서 모듈(270)이 측정한 데이터는 공작 기계(300)의 고장이나 노후, 또는 고장 예측에 이용될 수 있다.The vibration sensor module 260 and the noise sensor module 270 each have a plurality of sensors and may be attached to various positions of the machine tool 300 . Data measured by the vibration sensor module 260 and the noise sensor module 270 may be used to predict failure or aging of the machine tool 300 or failure.

진동 센서 모듈(260)은 복수의 진동 센서를 구비할 수 있다. 진동 센서는 x, y, z 축의 진동을 각기 측정할 수 있는 것이 바람직하다. 복수의 진동 센서는 공작 기계(300)의 프레임이나, 기계적인 운동을 하는 부위에 부착될 수 있다.The vibration sensor module 260 may include a plurality of vibration sensors. It is preferable that the vibration sensor is capable of measuring vibration in the x, y, and z axes, respectively. A plurality of vibration sensors may be attached to a frame of the machine tool 300 or a part that undergoes mechanical movement.

소음 센서 모듈(270)은 복수의 소음 센서를 구비할 수 있다. 복수의 소음 센서는 공작 기계(300)의 프레임이나, 기계적인 운동을 하는 부위에 부착될 수 있다.The noise sensor module 270 may include a plurality of noise sensors. A plurality of noise sensors may be attached to a frame of the machine tool 300 or a part that undergoes mechanical movement.

소음 센서 모듈(270)은 수집기 제어부(210)가 공작 기계(300)에서 발생하는 소리의 크기, 주파수 등의 분석을 할 수 있는 데이터를 측정할 수 있다.The noise sensor module 270 may measure data for the collector control unit 210 to analyze the volume and frequency of sound generated from the machine tool 300 .

전력량 측정 모듈(280)은 공작 기계(300)의 소비 전력을 측정할 수 있다. 측정된 소비 전력은 정상 소비 전력 패턴과의 비교, 또는/및 측정된 소비 전력 신호에 이상 파형이 있는지 여부의 기초가 되어, 공작 기계(300)가 정상 동작 또는 이상 동작의 판단에 도움을 줄 수 있다.The power measurement module 280 may measure power consumption of the machine tool 300 . The measured power consumption is the basis for comparison with a normal power consumption pattern and/or whether there is an abnormal waveform in the measured power consumption signal, so that the machine tool 300 can help determine normal operation or abnormal operation. there is.

수집기 감지부(250)의 진동 센서 모듈(260)에서 측정한 진동량, 소음 센서 모듈(270)에서 측정한 소음량, 전력량 측정 모듈(280)에서 측정한 전력량은 진단용 데이터 셋으로 정의될 수 있다.The amount of vibration measured by the vibration sensor module 260 of the collector detector 250, the amount of noise measured by the noise sensor module 270, and the amount of power measured by the power amount measuring module 280 may be defined as a diagnostic data set. .

수집기 제어부(210)는 통상적으로 상기 각부의 동작을 제어하여 데이터 수집기(200)의 전반적인 동작을 제어할 수 있다.The collector control unit 210 may control the overall operation of the data collector 200 by controlling the operation of each part.

수집기 제어부(210)는 수집기 감지부(250)의 진동 센서 모듈(260)에서 측정한 진동량, 소음 센서 모듈(270)에서 측정한 소음량, 및 전력량 측정 모듈(280)에서 측정한 전력량을 진단용 데이터 셋으로 취합하여 데이터베이스(110)로 전송할 수 있다.The collector controller 210 uses the amount of vibration measured by the vibration sensor module 260 of the collector detector 250, the amount of noise measured by the noise sensor module 270, and the amount of power measured by the power measurement module 280 for diagnosis. It can be collected as a data set and transmitted to the database 110 .

데이터 수집기(200)는 공작 기계(300)의 고장 여부나 고장 예측을 위한 학습 네트워크 모델을 생성하기 위한 상태 인지부(230)를 더 포함할 수 있다.The data collector 200 may further include a state recognition unit 230 for generating a learning network model for predicting failure or failure of the machine tool 300 .

상태 인지부(230)는 공작 기계(300)의 고장 여부, 고장 부위 등을 나타내는 상태 정보 라벨을 체크할 수 있다.The state recognition unit 230 may check a state information label indicating whether the machine tool 300 is out of order and where the machine tool 300 is out of order.

상태 인지부(230)는 이송축과 회전축에 대한 상태 정보 라벨을 엔코더나 비전 등으로 수신할 수 있다. 상태 인지부(230)는 다양한 센서를 통해 공작 기계(300)에 대한 주변의 온도, 압력, 습도, 기울기 및 위치에 대한 정보를 수신할 수 있다.The state recognition unit 230 may receive state information labels for the transfer axis and the rotation axis through an encoder or a vision. The state detecting unit 230 may receive information about temperature, pressure, humidity, inclination, and position of the surroundings of the machine tool 300 through various sensors.

상태 인지부(230)는 사용자에 의해 고장 여부와 고장 부위를 입력 받을 수 있다.The state detecting unit 230 may receive an input of whether or not there is a failure and a failure part by a user.

수집기 제어부(210)는 진단용 데이터 셋과 상태 정보 라벨을 학습용 데이터 셋으로 취합하여 데이터베이스(110)로 전송할 수 있다.The collector control unit 210 may collect a data set for diagnosis and a state information label as a data set for learning and transmit the collected data set to the database 110 .

데이터베이스(110)는 데이터 수집기(200)에서 수집한 데이터 셋을 저장할 수 있다. 데이터베이스(110)는 학습 네트워크 모델, 학습 파라미터, 및 학습 결과를 저장할 수 있다.The database 110 may store data sets collected by the data collector 200 . The database 110 may store a learning network model, learning parameters, and learning results.

딥러닝 프레임워크(120)는 데이터베이스(110)에 플러그인 방식으로 연결될 수 있다. 딥러닝 프레임워크(120)는 데이터베이스(110)에 저장된 정보 또는 데이터에 대한 확인, 수정 및 새로운 데이터를 추가할 수 있다.The deep learning framework 120 may be connected to the database 110 in a plug-in manner. The deep learning framework 120 may check, correct, and add new data to information or data stored in the database 110 .

사용자 단말기(130)는 딥러닝 프레임워크(120)를 통하여 쿼리를 입력할 수 있다. 사용자 단말기(130)는 데이터베이스(110)로부터 딥러닝 프레임워크(120)를 통하여 쿼리에 대응된 추론 결과를 수신할 수 있다.The user terminal 130 may input a query through the deep learning framework 120 . The user terminal 130 may receive an inference result corresponding to a query from the database 110 through the deep learning framework 120 .

딥러닝 프레임워크(120)는 쿼리를 입력받으면, 데이터베이스(110)에 저장된 학습 네트워크 모델에 대한 확인, 및/또는 수정하거나, 새로운 학습을 위한 학습 네트워크 모델을 생성할 수 있다. 딥러닝 프레임워크(120)는 입력된 쿼리에 따라 정보 또는 데이터와 학습 네트워크 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 실행할 수 있다. 딥러닝 프레임워크(120)는 기계학습 정도에 따라 학습 중간 결과 및 최종 결과를 제공할 수 있다.Upon receiving a query, the deep learning framework 120 may check and/or modify the learning network model stored in the database 110, or create a learning network model for new learning. The deep learning framework 120 may execute machine learning by selecting information or data and a learning network model according to an input query and setting learning parameters. The deep learning framework 120 may provide an intermediate learning result and a final result according to the degree of machine learning.

딥러닝 프레임워크(120)는 입력된 쿼리를 통하여 데이터 셋과 기 학습된 학습 네트워크 모델을 선택하여 기계추론을 실행하고, 그 추론 결과를 고장 진단 및/또는 고장 예지로 제공할 수 있다.The deep learning framework 120 selects a data set and a pre-learned learning network model through an input query, executes machine inference, and provides the inference result as failure diagnosis and/or failure prediction.

데이터베이스(110)는 제1 및 제2 고장 진단 예지 모델(140-1, 140-2)을 구비하는 복수의 고장 진단 예지 모델(140)을 저장할 수 있다. 고장 진단 예지 모델(140)은 상술한 학습 네트워크 모델에 대응될 수 있다. 구체적인 설명은 도 1 내지 도 8을 참조한다.The database 110 may store a plurality of failure diagnosis prediction models 140 including first and second failure diagnosis prediction models 140-1 and 140-2. The failure diagnosis prediction model 140 may correspond to the aforementioned learning network model. For detailed description, refer to FIGS. 1 to 8 .

고장 진단 예지 모델(140)은 공작 기계(300)의 고장이나 고장 예지로 분류한 결과를 출력하도록 학습된 분류 모델을 의미할 수 있다. 고장 진단 예지 모델(140)은 다양한 학습 알고리즘 중 하나와 복수의 진단용 데이터 셋 중 하나를 이용하여 학습을 통해 생성될 수 있다.The failure diagnosis prediction model 140 may refer to a classification model learned to output a result classified as failure or failure prediction of the machine tool 300 . The failure diagnosis prediction model 140 may be generated through learning using one of various learning algorithms and one of a plurality of diagnostic data sets.

진단용 데이터 셋은 상태 인지부(230)를 구비하는 데이터 수집기(200)으로부터 수집되거나, 공개된 데이터베이스로부터 획득할 수 있다.The data set for diagnosis may be collected from the data collector 200 having the state recognition unit 230 or obtained from a public database.

도 11 및 도 12는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템의 기계 학습 및 고장 진단과 에지에 대한 방법의 순서도이다. 도 9 및 도 10을 참조한다.11 and 12 are flowcharts of a method for machine learning, fault diagnosis, and edge of a machine tool predictive maintenance system using a query-based deep learning inference system according to an embodiment of the present invention. See Figures 9 and 10.

도 11을 참조하면, 딥러닝 프레임워크(120)는 사용자 단말기(130)로부터 학습 쿼리(Call Train)를 입력 받을 수 있다(S510).Referring to FIG. 11 , the deep learning framework 120 may receive a learning query (call train) from the user terminal 130 (S510).

데이터 수집기(200)는 공작 기계(300)의 상태 정보 라벨을 체크하는 상태 인지부(230), 및 공작 기계(300)의 진동량, 소음량, 및 전력량을 측정하는 감지부로부터, 상기 상태 정보 라벨, 진동량, 소음량, 및 전력량을 학습용 데이터 셋으로 취합하여, 데이터베이스(110)로 제공할 수 있다.The data collector 200 obtains the state information from the state recognition unit 230 that checks the state information label of the machine tool 300 and the detection unit that measures the amount of vibration, noise, and power of the machine tool 300. A label, vibration amount, noise amount, and power amount may be collected as a learning data set and provided to the database 110 .

딥러닝 프레임워크(120)는 학습용 데이터 셋 중 적어도 일부를 적합성 판단용 데이터 셋으로 지정할 수 있다(S520).The deep learning framework 120 may designate at least a part of the training data set as a data set for suitability determination (S520).

딥러닝 프레임워크(120)는 기저장된 복수의 학습 네트워크 모델(140) 중 적합성 판단용 데이터 셋(DS)에 적합한 모델이 있는지, 적합 모델 존재 여부를 판단할 수 있다(S530).The deep learning framework 120 may determine whether there is a model suitable for the suitability determination data set DS among the plurality of pre-stored learning network models 140 and whether a suitable model exists (S530).

적합 모델 존재 여부는 고장 진단 예지 모델(140)의 데이터 셋과 적합성 판단용 데이터 셋의 대응 여부, 적합성 판단용 데이터 셋에 따른 고장 진단이나 예측의 정확성 정도 등을 기초로 적합한 모델이 있는지 판단될 수 있다.The existence of a suitable model can be determined based on the correspondence between the data set of the failure diagnosis prediction model 140 and the suitability determination data set, and the degree of accuracy of failure diagnosis or prediction according to the suitability determination data set. there is.

적합 모델 존재 여부 판단(S530) 결과 적합한 모델이 없는 경우, 딥러닝 프레임워크(120)는 적합한 고장 진단 예지 모델(140)을 생성할 수 있다. 이를 위해, 딥러닝 프레임워크(120)는 상기 학습 쿼리에 따라 네트워크(NN; Nueral Network, 신경망) 초기화(S540)하고, 상기 네트워크(NN)를 구성하고 필요에 따라 상기 네트워크(NN)를 갱신(S550)할 수 있다. 딥러닝 프레임워크(120)는 상기 구성된 네트워크(NN)의 모든 레이어에 대한 초기화할 수 있다(S560). 네트워크 초기화, 구성, 및 갱신과 레이어 초기화는 도 5의 설명을 참고한다.When there is no suitable model as a result of determining whether a suitable model exists (S530), the deep learning framework 120 may generate a suitable failure diagnosis prediction model 140. To this end, the deep learning framework 120 initializes a network (NN; Nueral Network) according to the learning query (S540), configures the network (NN), and updates the network (NN) as necessary ( S550). The deep learning framework 120 may initialize all layers of the configured network NN (S560). Network initialization, configuration and update, and layer initialization refer to the description of FIG. 5 .

모든 레이어의 초기화가 이루어지면, 딥러닝 프레임워크(120)는 상기 학습용 데이터 셋을 이용하여 학습을 실행할 수 있다(S580).When all layers are initialized, the deep learning framework 120 may execute learning using the training data set (S580).

적합 모델 존재 여부 판단(S530) 결과 적합한 모델이 있는 경우, 딥러닝 프레임워크(120)는 해당 모델, 예를 들어, 제1 고장 진단 예지 모델(140-1)을 확인하고, 제1 고장 진단 예지 모델(140-1)의 수정이 필요한지 판단할 수 있다(S535). 제1 고장 진단 예지 모델(140-1)의 수정이 필요하면, 딥러닝 프레임워크(120)는 단계 S540, S550, S560, 및 S580을 수행하여 제1 고장 진단 예지 모델(140-1)에 추가로 학습을 시킬 수 있다.If there is a suitable model as a result of determining whether a suitable model exists (S530), the deep learning framework 120 checks the corresponding model, for example, the first failure diagnosis prediction model 140-1, and determines the first failure diagnosis prediction It may be determined whether the model 140-1 needs to be modified (S535). If the first failure diagnosis prediction model 140-1 needs to be modified, the deep learning framework 120 performs steps S540, S550, S560, and S580 to add the first failure diagnosis prediction model 140-1. can be learned by

제1 고장 진단 예지 모델(140-1)에 수정이 필요한 지 판단하는 기준은 다양할 수 있다. 예를 들어, 제1 고장 진단 예지 모델(140-1)의 생성일이 기 설정한 기간 보다 오래 되었거나, 수정이 필요하다는 태그가 붙어 있는 등의 예가 있을 수 있다.A criterion for determining whether the first failure diagnosis prediction model 140-1 needs to be corrected may vary. For example, there may be examples such as the generation date of the first failure diagnosis prediction model 140-1 being older than a pre-set period or a tag indicating that correction is required.

제1 고장 진단 예지 모델(140-1)의 수정 여부의 판단은 적합 모델 여부 판단(S530)에서 동시에 이루어 질 수도 있다. 이 경우, 제1 고장 진단 예지 모델(140-1)의 네트워크가 초기화 되어 구성되고, 레이어가 초기화 되어 있을 수 있다. 따라서 수정이 필요하면, 딥러닝 프레임워크(120)는 해당 제1 고장 진단 예지 모델(140-1)에 곧장 학습(S580)을 실행되도록 할 수 있다.Determination of whether or not to modify the first failure diagnosis prediction model 140-1 may be made simultaneously in a suitable model determination (S530). In this case, the network of the first failure diagnosis prediction model 140-1 may be initialized and configured, and the layer may be initialized. Accordingly, if correction is required, the deep learning framework 120 may directly execute learning (S580) on the corresponding first failure diagnosis prediction model 140-1.

딥러닝 프레임워크(120)는 학습 실행(S580)이 종료되면 결과를 사용자 단말기(130)에 제공(S590)하고, 상기 종료된 학습 네트워크 모델을 데이터베이스(110)에 저장할 수 있다.When the learning execution (S580) ends, the deep learning framework 120 may provide the result to the user terminal 130 (S590) and store the completed learning network model in the database 110.

도 12를 참조하면, 딥러닝 프레임워크(120)는 사용자 단말기(130)로부터 추론 쿼리(Call Test)를 입력 받을 수 있다(S610).Referring to FIG. 12 , the deep learning framework 120 may receive an inference query (call test) from the user terminal 130 (S610).

딥러닝 프레임워크(120)는 데이터 수집기(200)로부터 진단용 데이터 셋을 수집할 수 있다(S620).The deep learning framework 120 may collect a diagnostic data set from the data collector 200 (S620).

딥러닝 프레임워크(120)는 학습용 데이터 셋을 분석하여 복수의 고장 진단 예지 모델(140) 중 적합한 제1 고장 진단 예지 모델(140-1)을 호출(S640)할 수 있다. 제1 고장 진단 예지 모델(140-1)은 사용자의 입력에 의해 선택되어 호출될 수 있다.The deep learning framework 120 may analyze the training data set and call an appropriate first failure diagnosis prediction model 140-1 among the plurality of failure diagnosis prediction models 140 (S640). The first failure diagnosis prediction model 140-1 may be selected and called by a user's input.

딥러닝 프레임워크(120)는 제1 고장 진단 예지 모델(140-1)에 따른 네트워크(NN)를 구성(S650)하고, 상기 네트워크(NN)의 모든 레이어에 대한 초기화(S660)가 이루어지면 진단용 데이터 셋을 기초로 추론을 실행(S670)할 수 있다.The deep learning framework 120 constructs a network NN according to the first failure diagnosis prediction model 140-1 (S650) and initializes all layers of the network NN (S660) for diagnosis. Inference can be executed based on the data set (S670).

추론 실행(S670)이 종료되면, 딥러닝 프레임워크(120)는 공작 기계(300)의 고장을 진단 및 예측(S680)할 수 있다.When the inference execution (S670) ends, the deep learning framework 120 may diagnose and predict a failure of the machine tool 300 (S680).

상기 본 발명은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 즉, 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터가 읽을 수 있는 명령어, 데이터 구조, 프로그램 모듈, 및 기타 데이터 등 정보 저장을 위한 임의의 방법 또는 기술로서 구현된 모든 저장 가능한 매체를 포함하는 것으로, 휘발성/비휘발성/하이브리드형 메모리 여부, 분리형/비분리형 여부 등에 한정되지 않는다. 통신 저장 매체 는 반송파와 같은 변조된 데이터 신호 또는 전송 메커니즘, 임의의 정보 전달 매체 등을 포함한다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention may be implemented in hardware or software. In implementation, the present invention can also be implemented as computer readable codes on a computer readable recording medium. That is, it may be implemented in the form of a recording medium including instructions executable by a computer. Computer readable media includes all types of media in which data that can be read by a computer system is stored. Computer readable media may include computer storage media and communication storage media. Computer storage media includes all storable media implemented in any method or technology for storing information, such as computer readable instructions, data structures, program modules, and other data, and includes volatile/nonvolatile/hybrid memory. It is not limited to whether or not, separable/non-separable. Communication storage media includes modulated data signals or transport mechanisms such as carrier waves, any information delivery media, and the like. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.In addition, although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. Of course, various modifications are possible by those skilled in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.

100: 쿼리 기반 딥러닝 추론 시스템 110: 데이터베이스
120: 딥러닝 프레임워크 130: 사용자 단말기
140: 고장 진단 예지 모델 200: 데이터 수집기
300: 공작 기계
100: query-based deep learning inference system 110: database
120: deep learning framework 130: user terminal
140: failure diagnosis prognosis model 200: data collector
300: machine tool

Claims (8)

사용자 단말기 및 데이터베이스와 연동하는 딥러닝 프레임워크의 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법으로서,
상기 사용자 단말기로부터 학습 쿼리를 입력받는 단계;
데이터 수집기에서 제공하는 학습용 데이터 셋 중 적어도 일부를 적합성 판단용 데이터 셋으로 하여, 상기 데이터베이스에 저장된 복수의 고장 진단 예지 모델 중 상기 적합성 판단용 데이터 셋에 적합한 고장 진단 예지 모델이 있는지 판단하는 적합 모델 존재 여부 판단 단계;
상기 적합 모델 존재 여부 판단 결과 적합한 고장 진단 예지 모델이 없는 경우, 상기 학습 쿼리에 따라 네트워크 초기화하고, 상기 네트워크를 구성하는 네트워크 초기화 및 구성 단계;
상기 구성된 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 수집된 학습용 데이터 셋을 이용하여 학습을 실행하는 학습 실행 단계; 및
상기 학습 실행이 종료되면 결과를 제공하고 상기 종료된 고장 진단 예지 모델을 저장하는 저장 단계;를 포함하고,
상기 적합성 판단용 데이터 셋은 공작 기계의 진동량, 상기 공작 기계의 소음량, 상기 공작 기계의 전력량, 및 상기 공작 기계의 상태 정보 라벨을 구비하고,
상기 상태 정보 라벨은 상기 공작 기계의 고장 여부와 고장 부위이고,
상기 적합 모델 존재 여부는 상기 복수의 고장 진단 예지 모델의 데이터 셋과 상기 적합성 판단용 데이터 셋의 대응 여부를 기초로 판단되고,
상기 적합 모델 존재 여부 판단 결과, 상기 복수의 고장 진단 예지 모델 중 적합한 제1 고장 진단 예지 모델이 있는 경우, 상기 제1 고장 진단 예지 모델에 수정이 필요한 지 판단하는 모델 수정 여부 판단 단계; 및
상기 제1 고장 진단 예지 모델에 수정이 필요하면, 상기 네트워크 초기화 및 구성 단계, 상기 학습 실행 단계, 및 상기 저장 단계를 수행하여 상기 제1 고장 진단 예지 모델에 추가로 학습시키는 단계;를 더 포함하고,
상기 모델 수정 여부 판단은 상기 제1 고장 진단 예지 모델의 생성일이 기 설정된 기간 보다 오래된 경우, 또는 상기 제1 고장 진단 예지 모델에 수정이 필요하다는 태그가 붙어 있는 경우에 수정이 필요하다고 판단되는, 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법.
A machine tool predictive maintenance method using a query-based deep learning inference system of a deep learning framework that interworks with a user terminal and a database,
receiving a learning query from the user terminal;
At least some of the learning data sets provided by the data collector are used as suitability judgment data sets, and among the plurality of failure diagnosis prediction models stored in the database, there is a suitable model for determining whether there is a failure diagnosis prediction model suitable for the suitability judgment data set Existence determining whether or not;
a network initialization and configuration step of initializing a network according to the learning query and constructing the network when there is no suitable failure diagnosis prediction model as a result of determining whether the appropriate model exists;
a learning execution step of executing learning using the collected training data set when all layers of the configured network are initialized; and
A storage step of providing a result when the learning execution is terminated and storing the terminated failure diagnosis prediction model;
The suitability determination data set includes vibration of the machine tool, noise of the machine tool, power of the machine tool, and state information label of the machine tool,
The status information label indicates whether the machine tool is out of order and where the machine tool is out of order,
Whether or not the suitability model exists is determined based on whether a data set of the plurality of failure diagnosis prediction models corresponds to the suitability determination data set,
a model modification determination step of determining whether the first failure diagnosis prediction model needs to be modified, if there is a suitable first failure diagnosis prediction model among the plurality of failure diagnosis prediction models as a result of determining whether the appropriate model exists; and
If the first failure diagnosis prediction model needs to be modified, additionally training the first failure diagnosis prediction model by performing the network initialization and configuration step, the learning execution step, and the storage step; ,
Determining whether or not to modify the model is determined to require modification when the generation date of the first failure diagnosis prediction model is older than a predetermined period or when a tag indicating that modification is required is attached to the first failure diagnosis prediction model, Machine tool predictive maintenance method using query-based deep learning inference system.
제 1 항에 있어서,
상기 사용자 단말기로부터 추론 쿼리를 입력받는 단계;
상기 데이터 수집기로부터 상기 공작 기계의 진동량, 소음량, 및 전력량을 구비하는 진단용 데이터 셋을 수집하는 단계;
상기 진단용 데이터 셋을 분석하여 상기 복수의 고장 진단 예지 모델 중 적합한 고장 진단 예지 모델을 호출하는 단계;
상기 적합한 고장 진단 예지 모델에 따른 네트워크를 구성하고, 상기 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 진단용 데이터 셋을 기초로 추론을 실행하는 추론 실행 단계; 및
상기 추론 실행이 종료되면 상기 공작 기계의 고장을 진단하고, 고장을 예측하는 단계;를 더 포함하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법.
According to claim 1,
receiving an inference query from the user terminal;
collecting a diagnostic data set including vibration, noise, and power of the machine tool from the data collector;
analyzing the diagnosis data set and calling an appropriate failure diagnosis prediction model among the plurality of failure diagnosis prediction models;
an inference execution step of constructing a network according to the appropriate failure diagnosis predictive model and executing inference based on the diagnosis data set when all layers of the network are initialized; and
The machine tool predictive maintenance method using a query-based deep learning inference system, further comprising: diagnosing a failure of the machine tool and predicting a failure when the inference execution is terminated.
제 1 항에 있어서,
상기 학습 실행 단계는 상기 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장(Store Result & Model)하고,
상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 모델 컨버터를 통하여 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법.
According to claim 1,
The learning execution step acquires batch data until the end of the learning (Get Batch Data), repeats (Iteration), and stores the result and model (Store Result & Model),
A machine tool predictive maintenance method using a query-based deep learning inference system that converts a model weight file including ONNX, NNEF, and learning parameter biases into a structured format through a model converter when information or data is exported from the database.
제 2 항에 있어서,
상기 데이터베이스는 기계학습, 기계추론에 사용된 모든 입출력 데이터를 저장하고, 기계학습, 기계추론에 사용된 모델을 저장하며, 사용자의 쿼리 요청에 대응하는 프로시저(procedure)를 제공하고,
상기 프로시저는, 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 포함하고,
상기 딥러닝 프레임워크는, 외부 프레임워크와의 호환성을 위해 사용되고, 기존 프레임워크의 기학습된 모델을 가져오거나 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 이용하는 모델 컨버터;를 포함하고,
상기 모델 컨버터는, 상기 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 이용하는 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 상기 데이터베이스의 네트워크 모델 테이블 포맷으로 변환하거나, 반대로 상기 데이터베이스의 고장 진단 예지 모델을 상기 구조화된 모델 포맷으로 변환하고,
상기 추론 실행 단계는 추론 테스트(Test)를 실행하고, 테스트 데이터를 획득하여(Get Test Data) 피드 포워드(feedforward)하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법.
According to claim 2,
The database stores all input and output data used in machine learning and machine reasoning, stores models used in machine learning and machine reasoning, and provides a procedure corresponding to a user's query request,
The procedure includes Insert Network, Insert Layer, Make Project, Input Data Loader, Train, Save Model and Test ),
The deep learning framework is used for compatibility with external frameworks, and when a pre-learned model of an existing framework is imported or information or data is exported from the database, a model including ONNX, NNEF, and learning parameter bias A model converter that uses the weight file in a structured format; includes,
The model converter converts a network structure and model data defined in a model format using the model weight file including the ONNX, NNEF, and learning parameter bias in a structured format to the network model table of the database format, or conversely converting the failure diagnosis prediction model of the database into the structured model format,
The inference execution step executes an inference test (Test), obtains test data (Get Test Data), and feeds forward the machine tool predictive maintenance method using a query-based deep learning inference system.
공작 기계의 진동량, 소음량, 및 전력량을 측정하는 감지부, 및 상기 공작 기계의 상태 정보를 체크하는 상태 인지부로부터 상기 진동량, 소음량, 전력량, 및 상태 정보 라벨을 학습용 데이터 셋으로 수집하는 데이터 수집기;
상기 학습용 데이터 셋, 학습 네트워크 모델, 학습 파라미터, 및 학습 결과를 저장하는 데이터베이스;
상기 데이터베이스에 플러그인 방식으로 연결되고, 상기 데이터베이스에 저장된 정보 또는 데이터에 대한 확인, 수정 및 새로운 데이터를 추가하는 딥러닝 프레임워크; 및
상기 딥러닝 프레임워크를 통하여 쿼리를 입력하고, 상기 데이터베이스로부터 상기 딥러닝 프레임워크를 통하여 상기 쿼리에 대응된 추론 결과를 수신하는 사용자 단말기;를 포함하고,
상기 상태 정보 라벨은 상기 공작 기계의 고장 여부와 고장 부위이고,
상기 딥러닝 프레임워크는,
상기 쿼리가 학습 쿼리이면, 상기 학습용 데이터 셋 중 적어도 일부를 적합성 판단용 데이터 셋으로 하여, 상기 데이터베이스에 저장된 복수의 고장 진단 예지 모델 중 상기 적합성 판단용 데이터 셋에 적합한 고장 진단 예지 모델이 있는지 판단하고,
상기 적합 모델 존재 여부 판단 결과 적합한 고장 진단 예지 모델이 없는 경우, 상기 학습 쿼리에 따라 네트워크 초기화하고, 상기 네트워크를 구성하는 네트워크 초기화 및 구성 단계를 수행하고,
상기 구성된 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 수집된 학습용 데이터 셋을 이용하여 학습을 실행하고,
상기 학습 실행이 종료되면 결과를 제공하고 상기 종료된 고장 진단 예지 모델을 저장하고,
학습 중간 결과 및 최종 결과를 제공하고,
상기 적합 모델 존재 여부는 상기 복수의 고장 진단 예지 모델의 데이터 셋과 상기 적합성 판단용 데이터 셋의 대응 여부를 기초로 판단되고,
상기 딥러닝 프레임워크는,
상기 적합 모델 존재 여부 판단 결과, 상기 복수의 고장 진단 예지 모델 중 적합한 제1 고장 진단 예지 모델이 있는 경우, 상기 제1 고장 진단 예지 모델에 수정이 필요한 지 판단하고,
상기 제1 고장 진단 예지 모델에 수정이 필요하면, 상기 네트워크 초기화 및 구성 단계, 상기 학습 실행, 및 상기 저장을 수행하여 상기 제1 고장 진단 예지 모델에 추가로 학습시키고,
상기 모델 수정 여부 판단은 상기 제1 고장 진단 예지 모델의 생성일이 기 설정된 기간 보다 오래된 경우, 또는 상기 제1 고장 진단 예지 모델에 수정이 필요하다는 태그가 붙어 있는 경우에 수정이 필요하다고 판단되고,
상기 딥러닝 프레임워크는, 상기 쿼리가 추론 쿼리이면, 상기 데이터 수집기로부터 상기 공작 기계의 진동량, 소음량, 및 전력량을 구비하는 진단용 데이터 셋을 수집하고, 상기 진단용 데이터 셋을 분석하여 상기 복수의 고장 진단 예지 모델 중 적합한 고장 진단 예지 모델을 호출하고, 상기 적합한 고장 진단 예지 모델에 따른 네트워크를 구성하고 상기 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 진단용 데이터 셋을 기초로 추론을 실행하고, 상기 추론 실행이 종료되면 상기 공작 기계의 고장을 진단하고 고장을 예측하는, 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템.
Collecting the vibration, noise, power, and status information labels as a learning data set from a sensing unit that measures the amount of vibration, noise, and power of the machine tool, and a state recognition unit that checks the state information of the machine tool a data collector;
a database for storing the learning data set, learning network model, learning parameters, and learning results;
a deep learning framework that is connected to the database in a plug-in manner and checks, corrects, and adds new data to information or data stored in the database; and
A user terminal that inputs a query through the deep learning framework and receives an inference result corresponding to the query from the database through the deep learning framework;
The status information label indicates whether the machine tool is out of order and where the machine tool is out of order,
The deep learning framework,
If the query is a learning query, determining whether there is a failure diagnosis prediction model suitable for the suitability judgment data set among a plurality of failure diagnosis prediction models stored in the database by using at least some of the training data sets as a suitability determination data set; ,
If there is no suitable failure diagnosis prediction model as a result of determining whether or not the suitable model exists, initializing the network according to the learning query and performing network initialization and configuration steps for constructing the network;
When all layers of the configured network are initialized, learning is performed using the collected learning data set;
When the learning execution is terminated, a result is provided and the terminated failure diagnosis prediction model is stored;
provide learning intermediate and final results;
Whether or not the suitability model exists is determined based on whether a data set of the plurality of failure diagnosis prediction models corresponds to the suitability determination data set,
The deep learning framework,
As a result of determining whether the appropriate model exists, if there is a suitable first failure diagnosis prediction model among the plurality of failure diagnosis prediction models, it is determined whether the first failure diagnosis prediction model needs to be modified;
If the first failure diagnosis prediction model needs to be modified, further training the first failure diagnosis prediction model by performing the network initialization and configuration steps, the learning execution, and the storage;
Determination of whether or not to modify the model is determined to require modification when the generation date of the first failure diagnosis prediction model is older than a predetermined period or when a tag indicating that modification is required is attached to the first failure diagnosis prediction model,
When the query is an inference query, the deep learning framework collects a diagnostic data set including vibration, noise, and power of the machine tool from the data collector, and analyzes the diagnostic data set to obtain the plurality of data sets. An appropriate failure diagnosis prediction model among failure diagnosis prediction models is called, a network is configured according to the appropriate failure diagnosis prediction model, and when all layers of the network are initialized, inference is executed based on the diagnosis data set, and the A machine tool predictive maintenance system using a query-based deep learning inference system that diagnoses and predicts a failure of the machine tool when inference execution is terminated.
제 5 항에 있어서,
상기 고장 진단 예지 모델은, 기계학습에 사용되는 모델로 입출력과 모델 내부를 정의하는 파라미터 그리고 기계학습, 추론에 필요한 파라미터들로 구성되고, 상기 데이터베이스에 관계형 데이터 형식으로 저장되며, 컨버터를 통하여 다른 딥러닝 프레임워크로 변환 가능한 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템.
According to claim 5,
The failure diagnosis prediction model is a model used for machine learning, and is composed of input/output parameters, parameters defining the inside of the model, and parameters necessary for machine learning and inference, stored in the database in a relational data format, and through a converter, other deep learning models. A machine tool predictive maintenance system using a query-based deep learning inference system that can be converted into a learning framework.
제 6 항에 있어서,
상기 데이터베이스는 기계학습, 기계추론에 사용된 모든 입출력 데이터를 저장하고, 기계학습, 기계추론에 사용된 모델을 저장하며, 사용자의 쿼리 요청에 대응하는 프로시저(procedure)를 제공하고,
상기 프로시저는, 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 포함하고,
상기 딥러닝 프레임워크는, 외부 프레임워크와의 호환성을 위해 사용되고, 기존 프레임워크의 기학습된 모델을 가져오거나 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 이용하는 모델 컨버터;를 포함하고,
상기 모델 컨버터는, 상기 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 이용하는 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 상기 데이터베이스의 네트워크 모델 테이블 포맷으로 변환하거나, 반대로 상기 데이터베이스의 고장 진단 예지 모델을 상기 구조화된 모델 포맷으로 변환하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템.
According to claim 6,
The database stores all input and output data used in machine learning and machine reasoning, stores models used in machine learning and machine reasoning, and provides a procedure corresponding to a user's query request,
The procedure includes Insert Network, Insert Layer, Make Project, Input Data Loader, Train, Save Model and Test ),
The deep learning framework is used for compatibility with external frameworks, and when a pre-learned model of an existing framework is imported or information or data is exported from the database, a model including ONNX, NNEF, and learning parameter bias A model converter that uses the weight file in a structured format; includes,
The model converter converts a network structure and model data defined in a model format using the model weight file including the ONNX, NNEF, and learning parameter bias in a structured format to the network model table of the database A machine tool predictive maintenance system using a query-based deep learning reasoning system that converts a failure diagnosis prediction model of the database into a format or, conversely, converts a failure diagnosis prediction model of the database into the structured model format.
삭제delete
KR1020200157167A 2020-11-20 2020-11-20 Predition system for fault of machine tool using deep learning inference system based on query and method thereof KR102568010B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200157167A KR102568010B1 (en) 2020-11-20 2020-11-20 Predition system for fault of machine tool using deep learning inference system based on query and method thereof
PCT/KR2021/007830 WO2022108029A1 (en) 2020-11-20 2021-06-22 Machine tool predictive maintenance system using query-based deep learning inference system, and method for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200157167A KR102568010B1 (en) 2020-11-20 2020-11-20 Predition system for fault of machine tool using deep learning inference system based on query and method thereof

Publications (2)

Publication Number Publication Date
KR20220069738A KR20220069738A (en) 2022-05-27
KR102568010B1 true KR102568010B1 (en) 2023-08-22

Family

ID=81709336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200157167A KR102568010B1 (en) 2020-11-20 2020-11-20 Predition system for fault of machine tool using deep learning inference system based on query and method thereof

Country Status (2)

Country Link
KR (1) KR102568010B1 (en)
WO (1) WO2022108029A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019211909A1 (en) * 2018-05-02 2019-11-07 三菱電機株式会社 Learning device, verification device, data processing system and data processing method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150089722A (en) * 2014-01-28 2015-08-05 두산인프라코어 주식회사 Apparatus and method for diagnosing trouble of machine tool using power consumption
JP6686226B2 (en) * 2016-04-18 2020-04-22 グーグル エルエルシー Call the appropriate agent automation assistant
US11960935B2 (en) * 2018-06-27 2024-04-16 Amazon Technologies, Inc. Fault-tolerant accelerator based inference service
KR102263371B1 (en) * 2018-10-30 2021-06-11 한국전자통신연구원 Method for converting neural network model and apparatus therefor
KR101987365B1 (en) * 2018-11-26 2019-06-10 (주)위세아이텍 A system and method for predicting military equipment failure based on artificial intelligence using unstructured data
KR102058124B1 (en) 2019-01-25 2019-12-23 (주)비아이매트릭스 A system for adding deep-learning forecaset data by using an OLAP data with pivot table
KR102265459B1 (en) * 2019-03-18 2021-06-15 스퀘어네트 주식회사 Predictive maintenance system for defects in plant facilities

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019211909A1 (en) * 2018-05-02 2019-11-07 三菱電機株式会社 Learning device, verification device, data processing system and data processing method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
고병현, 조상영, 임승호, "ONNX 신경망 모델 형식의 변환 연구", 정보 및 제어 논문집, 대한전기학회, p.514-515(2020.10.) 1부.*
이준혁 외 5명, "기계학습 알고리즘을 활용한 베어링의 고장 예측 알고리즘 개발에 관한 연구", 한국마린엔지니어링학회지, 제43권, 제6호, pp.455-462(2019.07.) 1부.*

Also Published As

Publication number Publication date
KR20220069738A (en) 2022-05-27
WO2022108029A1 (en) 2022-05-27

Similar Documents

Publication Publication Date Title
US20140324747A1 (en) Artificial continuously recombinant neural fiber network
KR101825881B1 (en) Method of managing a manufacturing process and system using the same
CN112507569A (en) Digital twin system
WO2022030041A1 (en) Prediction system, information processing device, and information processing program
CN113830097B (en) Vehicle, model learning system and server
CN115905450B (en) Water quality anomaly tracing method and system based on unmanned aerial vehicle monitoring
US20220147897A1 (en) Machine learning for predictive optmization
CN114992106A (en) Pump station unit running state analysis system based on digital twins
CN115033724B (en) Multi-mode modulation algorithm-based method for identifying abnormal working conditions of electric smelting magnesium furnace
CN115617628A (en) Digital twin system, research and development method, equipment and storage medium
CN117317408A (en) Battery and heat optimization management method based on big data and artificial intelligence
KR102568010B1 (en) Predition system for fault of machine tool using deep learning inference system based on query and method thereof
CN116596408B (en) Energy storage container temperature control capability evaluation method and system
EP3699775A1 (en) Predictive graph query system for automation engineering systems
CN117371607A (en) Boiler steam-water flow reconstruction monitoring system based on Internet of things technology
CN117592542A (en) Expert guided semi-supervised system and method with contrast penalty for machine learning models
US20230076967A1 (en) Automatic optimization method and automatic optimization system of diagnosis model
CN116112947A (en) Digital twin system construction method, modeling method, network optimization method and device
KR20230060353A (en) Predition apparatus for fault of machine tool using deep learning framework applicated in database, system therewith, and method thereof
Purohit et al. Digital Twin Integration for Software Defined Vehicles: Decoupling Hardware and Software in Automotive System Development
CN116915122B (en) Self-adaptive control method and system for coal mine frequency conversion equipment
US11182515B2 (en) Apparatus for diagnosing analysis and method therefor
US20240193444A1 (en) Hierarchical artificial intelligence computing system and implementation method thereof
Harvey Autonomous Buildings Enable Energy Efficiency
CN117829318A (en) Digital twin system based on large model algorithm

Legal Events

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