WO2022108029A1 - Machine tool predictive maintenance system using query-based deep learning inference system, and method for same - Google Patents
Machine tool predictive maintenance system using query-based deep learning inference system, and method for same Download PDFInfo
- Publication number
- WO2022108029A1 WO2022108029A1 PCT/KR2021/007830 KR2021007830W WO2022108029A1 WO 2022108029 A1 WO2022108029 A1 WO 2022108029A1 KR 2021007830 W KR2021007830 W KR 2021007830W WO 2022108029 A1 WO2022108029 A1 WO 2022108029A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- learning
- query
- model
- data
- deep learning
- Prior art date
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 143
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012423 maintenance Methods 0.000 title claims description 18
- 238000003745 diagnosis Methods 0.000 claims description 54
- 238000010801 machine learning Methods 0.000 claims description 44
- 238000012549 training Methods 0.000 claims description 30
- 238000012360 testing method Methods 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003698 laser cutting Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, 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/00—Arrangements for observing, indicating or measuring on machine tools
- B23Q17/09—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Definitions
- the present invention relates to a machine tool predictive maintenance system using a query-based deep learning inference system and a method therefor, and more particularly, a deep learning frame so that even users without professional knowledge on deep learning can provide necessary information to users without difficulty
- a query-based deep learning inference system that allows the work to be connected to the information database in the form of a plug-in and learn the data stored in the information database by the user's request query in a deep learning method to infer the data corresponding to the query, A system and method for diagnosing or predicting machine tool failure.
- a variety of rotation system and feed system parts are damaged or deteriorated in the parts of the machine tool that are in mechanical motion, and the loss may increase, and thus the output of the machine tool may be reduced. If machine tool failures can be predicted, productivity will increase and safety accidents will be reduced. Machine learning or deep learning technology may be used to predict machine tool failure.
- the learning engine using deep learning shows significantly superior intelligence performance than the learning engine based on other existing AI technologies.
- various difficulties such as deep network design, learning function setting, and parameter tuning. These problems cannot be easily done without a deep learning expert, so it is difficult for anyone to easily have a deep learning-based learning engine.
- Patent Document 1 Korean Patent Registration 10-205812B1
- the deep learning framework is connected to the information database in the form of a plug-in so that even users without professional knowledge on deep learning can provide necessary information to the user without difficulty.
- Query-based deep learning that diagnoses or predicts machine tool failures using a query-based deep learning inference system that learns the data stored in the information database by a request query in a deep learning method and infers data corresponding to the query
- a machine tool predictive maintenance method using a query-based deep learning inference system of a deep learning framework interworking with a user terminal and a database includes the steps of: receiving a learning query from the user terminal; A plurality of failure diagnosis predictions are made by using at least a part of the training data set, which is a state information label indicating the machine tool's vibration amount, noise level, and electric power provided by the data collector, and whether the machine tool is faulty as a suitability judgment data set a determination step of whether a suitable model exists for determining whether there is a failure diagnosis predictive model suitable for the data set for determination of suitability among models; when there is no suitable failure diagnosis predictive model as a result of determining whether the suitable model exists, initializing a network according to the learning query and configuring the network; a learning execution step of executing learning using the collected learning data set when all layers of the configured network are initialized; and providing a result when the learning execution is completed and storing the finished failure diagnosis predictive model.
- receiving an inference query (Call Test) from the user terminal; collecting a diagnostic data set having an amount of vibration, noise, and power of the machine tool from the data collector; calling an appropriate failure diagnosis predictive model from among the plurality of failure diagnosis predictive models by analyzing the diagnostic data set; a reasoning execution step of constructing a network according to the suitable failure diagnosis predictive model and executing reasoning based on the diagnosis data set when all layers of the network are initialized; And when the reasoning execution is finished, diagnosing the failure of the machine tool and predicting the failure; may further include.
- the learning execution step acquires batch data until the end of the learning (Get Batch Data) and repeats (Iteration) to store the results and model (Store Result & Model), and when exporting information or data from the database to the outside
- a model weight file including ONNX, NNEF, and training parameter bias may be converted into a structured format through the model converter.
- the reasoning test may be executed, and test data may be obtained (Get Test Data) to feedforward.
- the deep learning framework uses a model converter for compatibility with an external framework, and brings the pre-trained failure diagnosis predictive model of the existing framework, or
- the model weight file including ONNX, NNEF, and training parameter bias can be converted into a structured format through the model converter.
- the model converter converts a network structure and model data defined in the structured format into a network model table format of the database, or vice versa, converts a 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 is a detection unit that measures the amount of vibration, noise, and power of the machine tool, and the state of checking the state information of the machine tool a data collector for collecting the vibration amount, noise amount, power amount, and state information label from the recognition unit as a learning data set; a database for storing the training data set, a training network model, training parameters, and a learning result; a deep learning framework connected to the database in a plug-in manner, checking, correcting, and adding 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, wherein the deep learning framework executes the query Upon receiving the input, it checks and corrects the failure diagnosis predictive model stored in the database, or creates a failure diagnosis predictive model for new learning, selects information or data and a failure diagnosis predictive model according to the input query, and sets the learning parameters.
- the failure diagnosis predictive model is a model used for machine learning, and is composed of input/output and parameters defining the inside of the model, and parameters necessary for machine learning and inference, and is stored in the database in a relational data format, and through a converter It may be translatable to other deep learning frameworks.
- the database stores all input and output data used for machine learning and machine inference, stores models used for machine learning and machine inference, and provides a procedure corresponding to a user's query request, query Based deep learning inference systems are available.
- the deep learning framework is used for compatibility with external frameworks, and includes ONNX, NNEF and learning parameter bias when importing a pre-trained model of an existing framework or exporting information or data from the database to the outside
- a model converter using a model weight file in a structured format to A network structure and model data may be converted into a network model table format of the database, or, conversely, a failure diagnosis predictive model of the database may be converted into the structured model format.
- the data set is a set of information or data having the same format, and the information or data may be used for machine learning, including numbers, characters, images, images, and voices.
- the procedure is an Insert Network, an Insert Layer, a Make Project, an Input Data Loader, a Train, a Save Model, and a test.
- the database may include a dataset table, a network table, a project table, a job table, and a common table.
- the deep learning framework executes, when a learning query is input from the user terminal (Call Train), network initialization (Init Network), network configuration (Construct Network), and network update (Update Network), to all layers
- the initialization Initialize all layers
- training is executed, and batch data is obtained until the end of training (Get Batch Data), and the result and model are stored by iteration (Store Result & Model), and training is performed.
- the learning result may be provided to the user terminal.
- the deep learning framework is connected to the database in the form of a plug-in and performs machine learning and inference using the data stored in the database according to the user's request query. can diagnose and predict the failure of
- FIG. 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
- FIG. 2 is a flowchart showing a flow of performing a query-based machine learning technique according to an embodiment of the present invention
- FIG. 3 is a diagram illustrating an internal data flow of a database according to an embodiment of the present invention.
- FIG. 4 is a view showing an operation flowchart for explaining a query-based deep learning inference method according to an embodiment of the present invention
- FIG. 5 is a diagram showing an execution flow of a learning procedure according to an embodiment of the present invention.
- FIG. 6 is a diagram showing an execution flow of an inference procedure according to an embodiment of the present invention.
- FIG. 7 is a view showing a conversion operation of a model converter according to an embodiment of the present invention.
- FIG. 8 is a schematic diagram of an internal structure of a QML framework according to an embodiment of the present invention.
- FIG. 9 is a configuration 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, and
- 11 and 12 are flowcharts of a method for machine learning and failure diagnosis and prediction of a machine tool predictive maintenance system using a query-based deep learning inference system according to an embodiment of the present invention.
- first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
- module and “part” for the components used in the following description are given simply in consideration of the ease of writing the present specification, and do not impart a particularly important meaning or role by themselves. Accordingly, the terms “module” and “unit” may be used interchangeably.
- the invention encompasses all possible combinations of the embodiments indicated herein.
- Various embodiments of the present invention are different, but not mutually exclusive.
- One embodiment of a particular shape, structure, function, and characteristic described herein may be embodied in another embodiment.
- components mentioned in the first and second embodiments may perform all functions of the first and second embodiments.
- a query-based deep learning inference system 100 may apply a query-based machine learning technique.
- 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).
- the deep learning framework 120 is connected to the database 110 in the form of a plug-in, and machine learning, inference, etc. are performed using data stored in the database 110 by a user's request query. it is technology
- Deep learning can be a set of machine learning (machine learning) algorithms that attempt high-level abstraction through a combination of several nonlinear transformation methods.
- Machine learning is a field of artificial intelligence and can refer to the field of developing algorithms and technologies that allow computers to learn.
- Artificial intelligence refers to a computer system equipped with the functions of human intelligence, and may refer to artificially implemented human intelligence, such as a machine.
- 'deep learning' is not limited to the deep learning technology itself, and can be interpreted and extended to machine learning or artificial intelligence.
- the input/output module 130 may be its own interface module.
- the input/output module 130 may include an input device and an output device, respectively.
- the input/output module 130 may be implemented as one input/output device such as a touch screen.
- 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 an example of the user terminal 130 .
- the database 110 may store a data set, a learning network model, a learning parameter, and a learning result.
- a data set is a set of information or data having the same format.
- the information or data includes numbers, text, images, images, and voices, and may be any type of information or data used in machine learning.
- the learning network model is a model used in deep learning and may be composed of input/output, parameters defining the inside of the model, and parameters necessary for machine learning and/or inference.
- the training network model can be stored in a database in the form of relational data.
- the learning network model may be convertible to other deep learning frameworks through a converter.
- the learning network model is a decision model that can be learned based on a data set based on an artificial intelligence algorithm, and may be a model based on a neural network.
- the present judgment model can be designed to simulate a human brain structure on a computer.
- the judgment model may include a plurality of network nodes having weights that simulate neurons of a human neural network.
- the plurality of network nodes may each form a connection relationship so that the neuron simulates a synaptic activity of a neuron that transmits and receives a signal through a synapse.
- the judgment model may include a machine learning model, a neural network model, and/or a deep learning model.
- the learning network model can recognize text input by the user.
- the training network model can recognize speech and text contained in images, audio and video.
- the learning network model may analyze user intentions from the recognized speech and text.
- the intermediate output value is stored in the database 110 while the machine learning is in progress so that the user can check it.
- the model parameter values are stored in the database 110 so that the user can check them.
- the evaluation index value of the model calculated while the machine learning is in progress is stored in the database 110 so that the user can check it.
- the machine reasoning result value is stored in the database 110 so that the user can check it.
- the database 110 may store all input/output data used for machine learning and machine inference, store models used for machine learning and machine inference, and provide a procedure corresponding to a user's query request. .
- Procedures include Insert Network, Insert Layer, Make Project, Input Data Loader, Train, Save Model, and Test. can be provided
- 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 pre-trained model of an existing framework or exporting information or data from the database to the outside.
- ONNX Open Neural Network Exchange
- the model converter may convert the network structure and model data defined in the ONNX model format into the network model format of the database or, conversely, convert the network model of the database into the ONNX model format.
- the model converter may convert Open Network Exchange (ONNX), Neural Network Exchange Format (NNEF), and a model weight file having training parameters and biases into a structured format in addition to the ONNX model format.
- the model converter converts the model weight file into a structured format so that the training model can be input (Imported) or output (exported) from the database.
- 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 .
- the deep learning framework 120 may be, for example, quantum machine learning (QML).
- QML is a deep learning framework installed as a plug-in in the database 110 and may be executed by a database call. When QML is called, it may receive various data from the database 110 as an argument and return an execution result. QML can interpret the network model defined in the relational data format to compose the network within the framework. QML may receive learning parameters and learning data from the database 110 as factors, perform learning of a network configured in the framework, and return a learning result. QML may receive input data from the database 110 as an argument, perform machine inference using a network configured in the framework, and return a result.
- the deep learning framework 120 may receive a query input from the user terminal 130 .
- the deep learning framework 120 may generate a learning network model for confirmation, correction, and new learning of the learning network model stored in the database 110 based on the input query.
- the deep learning framework 120 selects information or data and a learning network model according to the input query, sets learning parameters, executes machine learning, and may provide an intermediate learning result and a final result.
- the deep learning framework 120 may select data and a pre-trained learning network model through an input query to execute machine inference, and provide the inference result.
- 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 .
- the user terminal 130 may request various functions from the database 110 through a query and receive a response from the database 110 .
- the user terminal 130 may check and correct data stored in the database 110 through a query, and may add new data.
- the user terminal 130 may check and modify the network model stored in the database 110 through a query, and may generate a network model for new learning.
- the user terminal 130 may select data and a learning network model through a query, request machine learning by setting learning parameters, and check an intermediate learning result and a final result.
- the user terminal 130 may request machine inference by selecting data and a pre-learned network model through a query, and check the inference result.
- the query-based machine learning technology converts an ONNX format or a pre-learned model converted to an ONNX format into a QML format through a converter, and learns from the user terminal 130 or It receives an inference query and transmits information from the database 110 to QML, so that learning and inference can be performed in QML. And, if the learning or inference result is stored in the database 110 , the user terminal 130 may check the result stored in the database 110 .
- the user terminal 130 may input (Import) the learning model or receive an output (Export) from the database 110 (1).
- the learning model when inputting or outputting the learning model, it can be converted according to the schema structure of the database 110 through the model converter (2).
- the database 110 may interpret the query to perform an appropriate operation (3).
- 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 (4).
- the user terminal 130 may request learning or inference from the database 110 through a query (5).
- the user terminal 130 may inquire the table of the database 110 to inquire the learning-related information (6).
- the model data may be stored in the database 110 as a QML schema (7).
- the database 110 stores data related to machine learning, provides functions necessary for machine learning as a procedure, and performs machine learning according to a user's request. can do.
- the table is largely provided with a dataset table, a network table, a project table, a job table, and a common table. can do.
- the data set has a data type
- the network has a network type and LeNet (one of the CNN structures)
- the project can copy the information of the network to perform learning or inference work.
- the work table may include user information, project status, log, and the like.
- the common table may include a lookup table such as a layer type and an error code.
- the network table may store network model information.
- the project table may store project information for actual learning or inference copied from the network table. Since the project table has a configuration separate from the network table after the project is created, it is not affected even if the underlying network used in the project is modified.
- a large number of variable data is a binary large object (BLOB) or text type, and a small number of variable data (eg, each layer parameter) may be stored by dividing records.
- BLOB binary large object
- variable data eg, each layer parameter
- the procedures required for machine learning are Insert Network, Insert Layer, Make Project, Input Data Loader, Init Network, Train, and Model. It may have a Save Model and a Test.
- the insert network may create a network including a network name, a network type, a dataset name, an optimizer type, an optimizer parameter, a learning rate, a batch size, a number of trainings, and an 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.
- a make project can create a project containing the project name, dataset name, network name, training or inference flags, and number of GPUs.
- the input data loader may input a query according to the selection of the network input (layer index, query type (2: training table, 0: training data, 4: validation table, 3: validation data)).
- Network initialization can configure the network model.
- the train may start learning with a project ID, number of learning generations, batch size, followed by whether or not to learn, save interval, verification interval, and GPU synchronization interval.
- Model saving can copy the network information of the project table to the network table (project name, network name).
- the test can start making inferences that include the project ID, and a flag whether to save the results of all layers.
- the query-based deep learning inference system 100 is a query-based deep learning inference method in the deep learning framework 120 interworking with the user terminal 130 and the database 110 . can run
- the deep learning framework 120 may receive a learning query (Call Train) or an inference query (Call Test) from the user terminal (S410).
- the deep learning framework 120 may use a model converter for compatibility with external frameworks.
- the deep learning framework 120 may convert the pre-learned model of the existing framework into the ONNX model format through a model converter when importing a pre-trained model of an existing framework or exporting information or data from a database to the outside.
- the model converter may convert a network structure and model data defined in the ONNX model format into a network model table format of a database. Conversely, the model converter can convert the network model of the database into the ONNX model format.
- the deep learning framework 120 may execute a network initialization (Init Network), a network configuration (Construct Network), and a network update (Update Network) according to a learning query or an inference query ( S420 ).
- the deep learning framework 120 may execute training or inference when initialization of all layers is performed (S430).
- the deep learning framework 120 may obtain batch data (Get Batch Data) and iterate until the end of learning and store the results and model (Store Result & Model). Also, the deep learning framework 120 may execute a test, obtain test data (Get Test Data), feedforward, and store an inference result (Store Result).
- the deep learning framework 120 may provide a learning result or an inference result to the user terminal 130 at the end of learning or inference (S440).
- the deep learning framework 120 executes the following steps for a user's learning request, and the database 110 calls the QML 120 to print data. can be passed to to return the result.
- the deep learning framework 120 receives a learning query from the user terminal 130 and calls learning (Call Train) (S50), network initialization (Init Network) (S51), network configuration (Construct Network) (S52) , a network update (Update Network) ( S53 ) may be executed.
- the deep learning framework 120 may execute layer initialization (Init Layer) (S55) until initialization of all layers is made (S54-No).
- the deep learning framework 120 may obtain initialized layer information (Initialized Layer Info), and execute a layer update (Update Layer) ( S56 ).
- the deep learning framework 120 When the deep learning framework 120 is initialized for all layers (S54-Yes), it can execute training (S57).
- the deep learning framework 120 acquires batch data (Get Batch Data) (S59) until the end of learning (S58-No), iterates over it (S60), and stores the result and model (Store Result & Model) ) ( S610 ).
- the deep learning framework 120 may provide the learning result to the user terminal 130 at the end of the learning (S58-Yes) (S62).
- FIG. 6 is a diagram illustrating an execution flow of an inference procedure according to an embodiment of the present invention.
- 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 print data. can be passed to to return the result.
- the deep learning framework 120 When an inference query is input from the user terminal 130 and inference is called (Call Test) (S63), the deep learning framework 120 performs a network initialization (Init Network) (S64), a network configuration (Construct Network) (S65) , and network update (Update Network) ( S66 ).
- the deep learning framework 120 can execute Initialize all layers (S67-No), Initialize Layers (S68) and Update Layers (S69) for all layers. have.
- the deep learning framework 120 is initialized for all layers (S67-Yes), executes an inference test (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).
- FIG. 7 is a diagram illustrating a conversion operation of a model converter according to an embodiment of the present invention.
- the network model stored in the database 110 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 a database.
- ONNX Open Network Exchange
- NEF Neural Network Exchange Format
- a model weight file including training parameters and biases may be converted into a structured format.
- 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).
- the machine-learning model in the existing framework can be uploaded to the database 110 through the Converter (Import) function after the user converts it to a saved format including the ONNX model.
- the model learned from the QML 120 can be stored in a structured format including the ONNX model or a CVS file in the database 110 through the Converter (Export) function.
- 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 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 the UDF, and the deep learning framework 120 may be executed through the registered UDF call.
- the types of argument variables that can be used in UDF are defined as integer, real number, and string, and in QML, they can be used as follows. Integer is an integer value among the essential parameters constituting the network model, and the address value of the structure memory defined inside QML. Real number is a real value among essential parameters constituting the network model. String is a variable number of parameters and BLOB data (binary data).
- the QML framework follows the channel-first data format, NCHW (N:batch, C: channel, H:height, W:width) format.
- NCHW N:batch, C: channel, H:height, W:width
- the layer type supports the layers used in ONNX, and the parameters defined in each layer also follow the structured format including the ONNX format.
- a backpropagation algorithm is implemented so that the network model can be learned.
- a gradient calculation algorithm which is an essential element of backpropagation, and an optimization algorithm for updating model parameters (weight, bias) are implemented.
- There are two ways to learn a network model Train from scratch and fine tuning can be supported. Train from scratch trains a network model from scratch. Weights of each layer may be determined through a weight initialization algorithm. Fine tuning can set the initial weight of the layer by reading the weights of the pre-learned model (the weights stored in the database through the import function or obtained through previous learning attempts) and can proceed with learning.
- 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 may be composed of a plurality of QML tensors t (qml_tensor_t).
- the object qml_networks_t may have qml_network_t, and N qml_network_t may be included in qml_networks_t when a network model is trained with a multi GPU, and one qml_network_t may be included when a network model is inferred.
- Object qml_network_t may have several qml_layer_t and network parameters.
- Object qml_layer_t has input/output tensors (qml_tensor_t),
- Object qml_tensor_t is a 4D tensor configured in NCHW format, and dtype, qml_shape_t, data, name, etc. may be provided inside.
- the query-based deep learning inference system 100 may manage clients, members, datasets, networks, learning, learning execution, etc. as follows.
- the query-based deep learning inference system 100 may provide a function to manage a dataset and a machine learning process with the user terminal 130 and to check the result.
- the query-based deep learning inference system 100 may grant rights to create and modify data of the database 110 and network models through member management and leave a change history.
- the query-based deep learning inference system 100 may provide a function for creating a new table to manage a dataset, and querying, modifying, and uploading data.
- the system 100 may automatically create a new table and upload data when creating a new dataset.
- the present system 100 may access a table of the database to inquire data or show a result of inquiring data in the database through a query written by a user.
- the system 100 may modify data according to authority.
- the system 100 may receive numerical data from a user or read one or more files to upload data.
- the system 100 may provide a function of tagging the training data.
- the query-based deep learning inference system 100 may provide a function for managing a network model as follows.
- the present system 100 may create a new network model by adding supported layers and adjusting layer parameters.
- the present system 100 may inquire a list of previously created network models.
- the system 100 may create a new network model by adding a new layer to the previously created network model.
- the present system 100 may provide a function to visualize and show the network model.
- the query-based deep learning inference system 100 may provide a function for managing learning as follows.
- the present system 100 may generate or modify learning by adjusting a network model, a dataset, and a learning parameter.
- the present system 100 may output the trained network model through a converter function.
- the system 100 may check the resources of the server currently being used.
- the query-based deep learning inference system 100 may provide a function for performing learning and inference as follows and confirming the result.
- the system 100 may check the resources of the server.
- the present system 100 may inform the user of whether learning and inference can be performed.
- the present system 100 may inquire a list of learning plans currently being executed or waiting.
- the system 100 may generate a learning plan by setting the registered network model, dataset, and learning parameters.
- the system 100 may check the learning parameters of the currently executing or waiting learning plan.
- the present system 100 can check the middle and results of the currently executing learning plan.
- the system 100 may stop the currently running learning plan.
- the system 100 may start a pending learning plan.
- the present system 100 may generate an inference plan by setting a registered network model and dataset.
- the system 100 may check the result of the executed inference plan.
- the present invention is a query-based deep learning framework that is connected to an information database in the form of a plug-in, learns data stored in the information database by a user's request query in a deep learning method, and infers data corresponding to the query.
- a learning inference system and method thereof may be realized.
- FIG. 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 . Reference is made to FIGS. 1 to 8 .
- the machine tool predictive maintenance system using the 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 provided in FIG. 1 to FIG. 8 .
- the data collector 200 may collect the vibration amount, noise amount, electric power amount, and state information label of the machine tool 300 as a data set.
- the machine tool 300 may be a machine capable of making a desired shape by processing a material, but is not limited thereto, and may be a variety of machines.
- the machine tool 300 may be an assembly of numerous parts using electrical energy as a power source.
- the machine tool 300 may include a rotation system component rotating at a desired speed, and a transmission system component capable of transferring to an accurate position.
- the types of the machine tool 300 include a machining center, a lathe, a milling, a drill machine, a grinder, a laser cutting machine, a NCT punching machine (Numerically Controlled). Turret), a CNC bending machine, a slotter, a shaper, and the like.
- the machine tool 300 may be a numerically controlled (Numerical Control) or computerized numerically controlled (Computerized Numerical Control) machine.
- the data collector 200 may include a collector control unit 210 , a collector communication unit 220 , and a collector detection unit 250 .
- the collector communication unit 220 may communicate with an external device through wired/wireless communication.
- the external device communicating with the collector communication unit 220 may correspond to the machine tool 300 , the user terminal 130 , the database 110 , and the like.
- the external device is not limited thereto, and other servers that manage the database 110 may also be applicable.
- Collector communication unit 220 may communicate with a variety of 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. The data set collected from such a plurality of machine tools can build a learning network model for various types of machine tools. The collected data set can make it possible to build various learning network models for homogeneous machine tools. Various learning network models for the same type of machine tool can be built with various models according to the surrounding environment in which the machine tool is installed or the amount of operation.
- the collector communication unit 220 may include a short-range communication module, a wireless Internet module, and a mobile communication module 127 for wireless communication.
- Wired communication technologies may include Power Line Communication (PLC), USB communication, Ethernet, serial communication, and optical/coaxial cables.
- the short-distance communication module refers to a module for short-distance communication. Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, Near Field Communication (NFC), ultrasonic communication as short-range communication technologies (Ultra Sound Communication: USC), Visible Light Communication (VLC), Wi-Fi (Wi-Fi), Wi-Fi Direct (Wi-Fi Direct), etc. may be used.
- the wireless Internet module refers to a module for wireless Internet access.
- WLAN Wireless LAN
- DLNA Digital Living Network Alliance
- Wibro Wireless broadband
- Wimax Worldwide Interoperability for Microwave
- HSDPA High Speed Downlink Packet Access
- HSUPA High Speed Uplink Packet Access
- WMBS Wireless Mobile Broadband Service
- the mobile communication module may transmit/receive a wireless signal to/from at least one of a base station, an external terminal, and a server on a mobile communication network.
- the wireless signal may include various types of data such as voice, video, photo, text, and combinations thereof.
- 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), Long Term Evolution-Advanced (LTEA), and the like can be used.
- 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.
- the collector detection unit 250 may include a vibration sensor module 260 , a noise sensor module 270 , and a power amount measurement module 280 .
- the collector detection unit 250 may include a plurality of each of these modules as many as the number of a plurality of machine tools connected to the data collector 200 .
- the vibration sensor module 260 and the noise sensor module 270 each include 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.
- the vibration sensor module 260 may include a plurality of vibration sensors. It is preferable that the vibration sensor can measure the vibrations of the x, y, and z axes, respectively.
- the plurality of vibration sensors may be attached to a frame of the machine tool 300 or a portion performing a mechanical motion.
- the noise sensor module 270 may include a plurality of noise sensors.
- the plurality of noise sensors may be attached to a frame of the machine tool 300 or a portion that performs a mechanical motion.
- the noise sensor module 270 may measure data that allows the collector control unit 210 to analyze the volume, frequency, etc. of the sound generated by the machine tool 300 .
- the power amount measurement module 280 may measure the power consumption of the machine tool 300 .
- the measured power consumption may be a basis for comparison with a normal power consumption pattern, and/or whether or not there is an abnormal waveform in the measured power consumption signal.
- the measured power consumption may help the machine tool 300 to determine a normal operation or an abnormal operation.
- the amount of vibration measured by the vibration sensor module 260 of the collector detection unit 250, the amount of noise measured by the noise sensor module 270, and the amount of power measured by the power measurement module 280 may be defined as a diagnostic data set. .
- the collector control unit 210 may control the overall operation of the data collector 200 by generally controlling the operation of the respective units.
- the collector control unit 210 diagnoses the amount of vibration measured by the vibration sensor module 260 of the collector detection unit 250 , the amount of noise measured by the noise sensor module 270 , and the amount of power measured by the power measurement module 280 . It may be collected as a data set and transmitted to the database 110 .
- 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 .
- the state recognition unit 230 may check the state information label.
- the state information label may be a label (measured value, flag) indicating whether the machine tool 300 has a failure, a failure site, and the like.
- the state recognition unit 230 may receive the state information label for the transfer shaft and the rotary shaft through an encoder or a vision.
- the state recognition unit 230 may receive information about the surrounding temperature, pressure, humidity, inclination and location of the machine tool 300 through various sensors.
- the state recognizing unit 230 may receive an input of whether or not there is a failure and a portion of the failure by the user.
- the collector control unit 210 may collect the diagnostic data set and the state information label as a learning data set and transmit it to the database 110 .
- the database 110 may store the data set collected by the data collector 200 .
- the database 110 may store a learning network model, a learning parameter, and a learning result.
- 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 .
- 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 the query from the database 110 through the deep learning framework 120 .
- the deep learning framework 120 may check and/or modify the learning network model stored in the database 110 , or generate 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.
- the deep learning framework 120 may select a data set and a pre-learned learning network model through an input query to execute machine inference, and provide the inference result as a failure diagnosis and/or failure prediction.
- the database 110 may store a plurality of failure diagnosis predictive models 140 including first and second failure diagnosis predictive models 140 - 1 and 140 - 2 .
- the failure diagnosis predictive model 140 may correspond to the above-described learning network model. For a detailed description, refer to FIGS. 1 to 8 .
- the failure diagnosis predictive model 140 may refer to a classification model learned to output a result classified as a failure or failure prediction of the machine tool 300 .
- the failure diagnosis predictive model 140 may be generated through learning using one of various learning algorithms and at least one of a plurality of diagnostic data sets.
- the diagnostic data set may be collected from the data collector 200 having the state recognition unit 230 or may be obtained from a public database.
- FIGS. 11 and 12 are flowcharts of a method for machine learning and failure diagnosis and prediction 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.
- the deep learning framework 120 may receive a training query (Call Train) from the user terminal 130 (S510).
- the data collector 200 includes a state recognition unit 230 for checking the state information label of the machine tool 300, and a detection unit for measuring the amount of vibration, noise, and power of the machine tool 300, the state information
- the label, the amount of vibration, the amount of noise, and the amount of power may be collected as a training data set and provided to the database 110 .
- the deep learning framework 120 may designate at least a part of the training data set as the suitability determination data set (S520).
- the deep learning framework 120 may determine whether there is a model suitable for the data set DS for determining suitability among the plurality of pre-stored learning network models 140 or whether a suitable model exists ( S530 ). Whether a suitable model exists can be determined based on whether the data set of the failure diagnosis predictive model 140 and the data set for determination of suitability correspond, and the degree of accuracy of failure diagnosis or prediction according to the data set for determination of suitability. have.
- the deep learning framework 120 may generate a suitable failure diagnosis predictive model 140 .
- the deep learning framework 120 initializes (S540) a network (NN) according to the learning query, configures the network (NN), and updates the network (NN) as necessary ( S550) can be done.
- the deep learning framework 120 may initialize all layers of the configured network NN (S560). For network initialization, configuration, and update, and layer initialization, refer to the description of FIG. 5 .
- the deep learning framework 120 may perform learning using the training data set (S580).
- the deep learning framework 120 checks the corresponding model, for example, the first failure diagnosis predictive model 140-1, and predicts the first failure diagnosis It may be determined whether the model 140-1 needs to be modified (S535). If it is necessary to modify the first failure diagnosis predictive model 140-1, the deep learning framework 120 performs steps S540, S550, S560, and S580 to add it to the first failure diagnosis predictive model 140-1 can be taught with
- Criteria for determining whether the first failure diagnosis predictive model 140-1 needs to be modified may vary. For example, there may be examples such as the creation date of the first failure diagnosis predictive model 140 - 1 being older than a preset period, or a tag indicating that correction is required.
- the determination of whether the first failure diagnosis predictive model 140 - 1 is modified may be simultaneously performed in the determination of whether the first failure diagnosis predictive model 140 - 1 is a suitable model ( S530 ).
- the network of the first failure diagnosis predictive model 140-1 may be initialized and configured, and the layers may be initialized. Therefore, if correction is necessary, the deep learning framework 120 may directly execute the learning ( S580 ) on the first failure diagnosis predictive model 140 - 1 .
- the deep learning framework 120 may provide a result to the user terminal 130 (S590) and store the finished learning network model in the database 110 .
- the deep learning framework 120 may receive an inference query (Call Test) from the user terminal 130 ( S610 ).
- the deep learning framework 120 may collect a diagnostic data set from the data collector 200 (S620).
- the deep learning framework 120 may analyze the training data set and call ( S640 ) a suitable first failure diagnosis predictive model 140 - 1 from among the plurality of failure diagnosis predictive models 140 .
- the first failure diagnosis predictive model 140 - 1 may be selected and called by a user input.
- the deep learning framework 120 configures the network NN according to the first failure diagnosis predictive model 140-1 (S650), and when initialization (S660) for all layers of the network NN is made, for diagnosis Inference may be executed based on the data set (S670).
- the deep learning framework 120 may diagnose and predict the failure of the machine tool 300 (S680).
- the present invention may be implemented in hardware or software. 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.
- the computer readable medium includes any type of medium 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 as any method or technology for information storage, such as computer-readable instructions, data structures, program modules, and other data, and includes volatile/nonvolatile/hybrid memory. Whether or not, it is not limited to whether the detachable / non-separable type.
- Communication storage media includes a modulated data signal or transmission mechanism, such as a carrier wave, any information delivery media, and the like. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention pertains.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mechanical Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The present invention can diagnose or predict faults in machine tools by using a query-based deep learning inference system wherein a deep learning framework is connected to an information database, in a plug-in form, and data stored in the information database according to a request query of a user is learned via a deep learning method, and thus data corresponding to the query can be inferred.
Description
본 발명은 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템 및 그 방법에 관한 것으로서, 더욱 자세하게는 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는 쿼리 기반 딥러닝 추론 시스템을 이용하여, 공작 기계의 고장을 진단하거나 예측하는 시스템 및 그 방법이다.The present invention relates to a machine tool predictive maintenance system using a query-based deep learning inference system and a method therefor, and more particularly, a deep learning frame so that even users without professional knowledge on deep learning can provide necessary information to users without difficulty Using a query-based deep learning inference system that allows the work to be connected to the information database in the form of a plug-in and learn the data stored in the information database by the user's request query in a deep learning method to infer the data corresponding to the query, A system and method for diagnosing or predicting machine tool failure.
다양한 회전계 및 이송계 부품은 기계적인 운동을 하는 공작 기계의 부품들에서 발생하는 고장이나 노후는 손실이 많아져서, 공작 기계의 출력이 저하될 수 있다. 공작 기계의 고장을 예측할 수 있다면 생산성이 향상되고 안전 사고가 감소될 것이다. 공작 기계의 고장을 예측을 위해 기계 학습이나 딥러닝 기술이 이용될 수 있다.A variety of rotation system and feed system parts are damaged or deteriorated in the parts of the machine tool that are in mechanical motion, and the loss may increase, and thus the output of the machine tool may be reduced. If machine tool failures can be predicted, productivity will increase and safety accidents will be reduced. Machine learning or deep learning technology may be used to predict machine tool failure.
딥러닝을 이용한 학습엔진은 기존의 다른 AI 기술에 기반을 둔 학습엔진보다 월등히 뛰어난 지능 성능을 보이고 있다. 그러나, 딥러닝 기술 기반의 지능을 제공하는 학습엔진을 생성하기 위해서는 딥 네트워크 설계, 학습 함수 설정, 파라미터 튜닝 등 여러 가지 어려운 난관이 있다. 이러한 문제들은 딥러닝 전문가가 아니면 쉽게 할 수 없어, 누구나 쉽게 딥러닝 기반 학습엔진을 갖기 어렵다. The learning engine using deep learning shows significantly superior intelligence performance than the learning engine 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 done without a deep learning expert, so it is difficult for anyone to easily have a deep learning-based learning engine.
또한 학습엔진을 생성할 때마다, 딥러닝의 공통적인 요소를 중복 사용하게 되어, 동일한 과정을 반복 수행해야 하는 문제가 있다.Also, whenever a learning engine is created, common elements of deep learning are used repeatedly, so there is a problem that the same process must be repeated.
<선행기술문헌><Prior art literature>
(특허문헌 1) 한국 특허등록 10-205812B1 (Patent Document 1) Korean Patent Registration 10-205812B1
전술한 문제점을 해결하기 위한 본 발명의 목적은, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는 쿼리 기반 딥러닝 추론 시스템을 이용하여, 공작 기계의 고장을 진단하거나 예측하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템 및 그 방법을 제공하는 데 있다.It is an object of the present invention to solve the above-mentioned problems, that the deep learning framework is connected to the information database in the form of a plug-in so that even users without professional knowledge on deep learning can provide necessary information to the user without difficulty. Query-based deep learning that diagnoses or predicts machine tool failures using a query-based deep learning inference system that learns the data stored in the information database by a request query in a deep learning method and infers data corresponding to the query To provide a machine tool predictive maintenance system and method using an inference system.
본 발명의 일 실시예에 따른, 사용자 단말기 및 데이터베이스와 연동하는 딥러닝 프레임워크의 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법은 상기 사용자 단말기로부터 학습 쿼리를 입력받는 단계; 데이터 수집기에서 제공하는 공작 기계의 진동량, 소음량, 및 전력량, 및 상기 공작 기계의 고장 여부를 나타내는 상태 정보 라벨인 학습용 데이터 셋 중 적어도 일부를 적합성 판단용 데이터 셋으로 하여, 복수의 고장 진단 예지 모델 중 상기 적합성 판단용 데이터 셋에 적합한 고장 진단 예지 모델이 있는지 판단하는 적합 모델 존재 여부 판단 단계; 상기 적합 모델 여부 존재 판단 결과 적합한 고장 진단 예지 모델이 없는 경우, 상기 학습 쿼리에 따라 네트워크 초기화하고, 상기 네트워크를 구성하는 단계; 상기 구성된 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 수집된 학습용 데이터 셋을 이용하여 학습을 실행하는 학습 실행 단계; 및 상기 학습 실행이 종료되면 결과를 제공하고 상기 종료된 고장 진단 예지 모델을 저장하는 단계;를 포함할 수 있다.According to an embodiment of the present invention, a machine tool predictive maintenance method using a query-based deep learning inference system of a deep learning framework interworking with a user terminal and a database includes the steps of: receiving a learning query from the user terminal; A plurality of failure diagnosis predictions are made by using at least a part of the training data set, which is a state information label indicating the machine tool's vibration amount, noise level, and electric power provided by the data collector, and whether the machine tool is faulty as a suitability judgment data set a determination step of whether a suitable model exists for determining whether there is a failure diagnosis predictive model suitable for the data set for determination of suitability among models; when there is no suitable failure diagnosis predictive model as a result of determining whether the suitable model exists, initializing a network according to the learning query and configuring the network; a learning execution step of executing learning using the collected learning data set when all layers of the configured network are initialized; and providing a result when the learning execution is completed and storing the finished failure diagnosis predictive model.
또한, 상기 사용자 단말기로부터 추론 쿼리(Call Test)를 입력받는 단계; 상기 데이터 수집기로부터 상기 공작 기계의 진동량, 소음량, 및 전력량을 구비하는 진단용 데이터 셋을 수집하는 단계; 상기 진단용 데이터 셋을 분석하여 상기 복수의 고장 진단 예지 모델 중 적합한 고장 진단 예지 모델을 호출하는 단계; 상기 적합한 고장 진단 예지 모델에 따른 네트워크를 구성하고, 상기 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 진단용 데이터 셋을 기초로 추론을 실행하는 추론 실행 단계; 및 상기 추론 실행이 종료되면 상기 공작 기계의 고장을 진단하고, 고장을 예측하는 단계;를 더 포함할 수 있다. 또한, 상기 학습 실행 단계는 상기 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장(Store Result & Model)하고, 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 상기 모델 컨버터를 통하여 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환할 수 있다. 또한, 상기 추론 실행 단계는 상기 추론 테스트(Test)를 실행하고, 테스트 데이터를 획득하여(Get Test Data) 피드 포워드(feedforward)할 수 있다. 또한, 상기 학습 쿼리 또는 추론 쿼리를 입력 받는 단계에서 상기 딥러닝 프레임워크는, 외부 프레임워크와의 호환성을 위해 모델 컨버터를 사용하고, 기존 프레임워크의 기학습된 고장 진단 예지 모델을 가져오거나, 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 상기 모델 컨버터를 통하여 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환할 수 있다. 또한, 상기 모델 컨버터는, 상기 구조화된 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 상기 데이터베이스의 네트워크 모델 테이블 포맷으로 변환하거나, 반대로 상기 데이터베이스의 네트워크 모델을 상기 구조화된 모델 포맷으로 변환할 수 있다.In addition, receiving an inference query (Call Test) from the user terminal; collecting a diagnostic data set having an amount of vibration, noise, and power of the machine tool from the data collector; calling an appropriate failure diagnosis predictive model from among the plurality of failure diagnosis predictive models by analyzing the diagnostic data set; a reasoning execution step of constructing a network according to the suitable failure diagnosis predictive model and executing reasoning based on the diagnosis data set when all layers of the network are initialized; And when the reasoning execution is finished, diagnosing the failure of the machine tool and predicting the failure; may further include. In addition, the learning execution step acquires batch data until the end of the learning (Get Batch Data) and repeats (Iteration) to store the results and model (Store Result & Model), and when exporting information or data from the database to the outside A model weight file including ONNX, NNEF, and training parameter bias may be converted into a structured format through the model converter. In addition, in the reasoning execution step, the reasoning test may be executed, and test data may be obtained (Get Test Data) to feedforward. 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, and brings the pre-trained failure diagnosis predictive model of the existing framework, or When exporting information or data from the database to the outside, the model weight file including ONNX, NNEF, and training parameter bias can be converted into a structured format through the model converter. In addition, the model converter converts a network structure and model data defined in the structured format into a network model table format of the database, or vice versa, converts a 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 is a detection unit that measures the amount of vibration, noise, and power of the machine tool, and the state of checking the state information of the machine tool a data collector for collecting the vibration amount, noise amount, power amount, and state information label from the recognition unit as a learning data set; a database for storing the training data set, a training network model, training parameters, and a learning result; a deep learning framework connected to the database in a plug-in manner, checking, correcting, and adding 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, wherein the deep learning framework executes the query Upon receiving the input, it checks and corrects the failure diagnosis predictive model stored in the database, or creates a failure diagnosis predictive model for new learning, selects information or data and a failure diagnosis predictive model according to the input query, and sets the learning parameters. Set to execute machine learning, provide learning intermediate results and final results, select data and a pre-learned failure diagnosis predictive model through the input query to execute machine inference, and use the inference result to diagnose failure and failure It can be provided as an example.
또한, 상기 고장 진단 예지 모델은, 기계학습에 사용되는 모델로 입출력과 모델 내부를 정의하는 파라미터 그리고 기계학습, 추론에 필요한 파라미터들로 구성되고, 상기 데이터베이스에 관계형 데이터 형식으로 저장되며, 컨버터를 통하여 다른 딥러닝 프레임워크로 변환 가능할 수 있다. 또한, 상기 데이터베이스는 기계학습, 기계추론에 사용된 모든 입출력 데이터를 저장하고, 기계학습, 기계추론에 사용된 모델을 저장하며, 사용자의 쿼리 요청에 대응하는 프로시저(procedure)를 제공하는, 쿼리 기반 딥러닝 추론 시스템을 이용할 수 있다. 또한, 상기 딥러닝 프레임워크는, 외부 프레임워크와의 호환성을 위해 사용되고, 기존 프레임워크의 기학습된 모델을 가져오거나 상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 이용하는 모델 컨버터;를 포함하고, 상기 모델 컨버터는, 상기 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 이용하는 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 상기 데이터베이스의 네트워크 모델 테이블 포맷으로 변환하거나, 반대로 상기 데이터베이스의 고장 진단 예지 모델을 상기 구조화된 모델 포맷으로 변환할 수 있다. 또한, 상기 데이터 셋은, 동일한 형식을 가진 정보 또는 데이터의 집합이고, 상기 정보 또는 데이터는 숫자, 문자, 이미지, 영상, 음성을 포함하여 기계학습에 사용될 수 있다. 또한, 상기 프로시저는, 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 포함할 수 있다. 또한, 상기 데이터베이스는, 데이터셋 테이블(Dataset Table), 네트워크 테이블(Network Table), 프로젝트 테이블(Project Table), 작업 테이블(Job Table), 공통 테이블(Common Table)을 포함할 수 있다. 또한, 상기 딥러닝 프레임워크는, 상기 사용자 단말기로부터 학습 쿼리가 입력되면(Call Train), 네트워크 초기화(Init Network), 네트워크 구성(Construct Network), 네트워크 갱신(Update Network)을 실행하며, 모든 층에 대한 초기화(Initialize all layers)가 이루어지면 학습(Train)을 실행하고, 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장하며(Store Result & Model), 학습 종료시 학습 결과를 상기 사용자 단말기로 제공할 수 있다.In addition, the failure diagnosis predictive model is a model used for machine learning, and is composed of input/output and parameters defining the inside of the model, and parameters necessary for machine learning and inference, and is stored in the database in a relational data format, and through a converter It may be translatable to other deep learning frameworks. In addition, the database stores all input and output data used for machine learning and machine inference, stores models used for machine learning and machine inference, and provides a procedure corresponding to a user's query request, query Based deep learning inference systems are available. In addition, the deep learning framework is used for compatibility with external frameworks, and includes ONNX, NNEF and learning parameter bias when importing a pre-trained model of an existing framework or exporting information or data from the database to the outside A model converter using a model weight file in a structured format to A network structure and model data may be converted into a network model table format of the database, or, conversely, a failure diagnosis predictive 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 may be used for machine learning, including numbers, characters, images, images, and voices. In addition, the procedure is an Insert Network, an Insert Layer, a Make Project, an Input Data Loader, a Train, a Save Model, and a test. (Test) may be included. In addition, the database may include a dataset table, a network table, a project table, a job table, and a common table. In addition, the deep learning framework executes, when a learning query is input from the user terminal (Call Train), network initialization (Init Network), network configuration (Construct Network), and network update (Update Network), to all layers When the initialization (Initialize all layers) is made, training is executed, and batch data is obtained until the end of training (Get Batch Data), and the result and model are stored by iteration (Store Result & Model), and training is performed. Upon completion, the learning result may be provided to the user terminal.
본 발명에 의하면, 쿼리 기반의 기계학습 기술을 이용함으로써 딥러닝 프레임워크가 데이터베이스에 플러그인 형태로 연결되어 사용자의 요청쿼리에 의해서 데이터베이스에 저장된 데이터를 사용하여 기계학습, 추론 등을 수행하여, 공작 기계의 고장을 진단 및 예측할 수 있다.According to the present invention, by using the query-based machine learning technology, the deep learning framework is connected to the database in the form of a plug-in and performs machine learning and inference using the data stored in the database according to the user's request query. can diagnose and predict the failure of
따라서, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 필요한 정보를 용이하게 제공할 수 있다. 또한, 현재 실행 또는 대기 중인 학습계획의 학습 파라미터를 확인할 수 있으며, 현재 실행 중인 학습 계획의 중간 및 결과를 확인할 수 있다. 또한, 현재 실행 중인 학습계획을 멈출 수 있으며, 대기 중인 학습계획을 시작할 수 있다.Therefore, even a user without professional knowledge on deep learning can easily provide necessary information without difficulty. In addition, it is possible to check the learning parameters of the currently executing or waiting learning plan, and check the middle and results of the currently executing learning plan. Also, you can stop the currently running learning plan and start a waiting learning plan.
도 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;
도 2는 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술의 수행 흐름을 나타낸 흐름도,2 is a flowchart showing a flow of performing a query-based machine learning technique according to an embodiment of the present invention;
도 3은 본 발명의 실시 예에 따른 데이터베이스의 내부 데이터 흐름을 나타낸 도면,3 is a diagram illustrating an internal data flow of a database according to an embodiment of the present invention;
도 4는 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 방법을 설명하기 위한 동작 흐름도를 나타낸 도면,4 is a view showing an operation flowchart for explaining a query-based deep learning inference method according to an embodiment of the present invention;
도 5는 본 발명의 실시 예에 따른 학습 프로시저의 실행 흐름을 나타낸 도면,5 is a diagram showing an execution flow of a learning procedure according to an embodiment of the present invention;
도 6은 본 발명의 실시 예에 따른 추론 프로시저의 실행 흐름을 나타낸 도면,6 is a diagram showing an execution flow of an inference procedure according to an embodiment of the present invention;
도 7은 본 발명의 실시 예에 따른 모델 컨버터의 변환 동작을 나타낸 도면,7 is a view showing a conversion operation of a model converter according to an embodiment of the present invention;
도 8은 본 발명의 실시 예에 따른 QML 프레임워크의 내부 구조의 개략도,8 is a schematic diagram of an internal structure of a QML framework according to an embodiment of the present invention;
도 9는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템의 구성도,9 is a configuration diagram of a machine tool predictive maintenance system using a query-based deep learning inference system according to an embodiment of the present invention;
도 10은 도 9의 데이터 수집기의 블럭 구성도, 및10 is a block diagram of the data collector of FIG. 9, and
도 11 및 도 12는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템의 기계 학습 및 고장 진단과 예지에 대한 방법의 순서도이다.11 and 12 are flowcharts of a method for machine learning and failure diagnosis and prediction 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, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 또한 네트워크 상의 제1 구성요소와 제2 구성요소가 연결되어 있거나 접속되어 있다는 것은, 유선 또는 무선으로 제1 구성요소와 제2 구성요소 사이에 데이터를 주고 받을 수 있음을 의미한다.When an element is referred to as being “connected” or “connected” to another element, it is understood that it may be directly connected or connected to the other element, but other elements may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle. Also, when the first and second components on the network are connected or connected, it means that data can be exchanged between the first and second components by wire or wirelessly.
또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.In addition, the suffixes "module" and "part" for the components used in the following description are given simply in consideration of the ease of writing the present specification, and do not impart a particularly important meaning or role by themselves. Accordingly, the terms “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 are given to the same or similar components throughout the drawings, and detailed descriptions of the components having the same reference numerals may be omitted instead of being replaced with the descriptions of the above-described components.
또한, 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적이지 않다. 본 명세서에 기술된 특정 형상, 구조, 기능, 및 특성의 일 실시예는 다른 실시예로 구현될 수 있다. 예를 들어, 제1 및 제2 실시예에서 언급되는 구성요소는 제1 및 제2 실시예의 모든 기능을 수행할 수 있다.Furthermore, the invention encompasses all possible combinations of the embodiments indicated herein. Various embodiments of the present invention are different, but not mutually exclusive. One embodiment of a particular shape, structure, function, and characteristic described herein may be embodied 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을 참조하면, 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(100)은, 쿼리 기반의 기계학습 기술을 적용할 수 있다. 이를 위해, 쿼리 기반 딥러닝 추론 시스템(100)은 데이터베이스(DB, 110), 딥러닝 프레임워크(QML, 120) 및 사용자 단말기(130)를 포함할 수 있다.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. Referring to FIG. 1 , a query-based deep learning inference system 100 according to an embodiment of the present invention may apply a query-based machine learning technique. 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)에 저장된 데이터를 사용하여 기계학습, 추론 등이 수행되는 기술이다.In the query-based deep 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. are performed using data stored in the database 110 by a user's request query. it is technology
딥러닝은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 머신러닝(기계학습) 알고리즘의 집합일 수 있다. 머신러닝은 인공지능의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 의미할 수 있다. 인공지능은 인간의 지능이 갖고 있는 기능을 갖춘 컴퓨터 시스템을 뜻하며, 인간의 지능을 기계 등에 인공적으로 구현한 것을 의미할 수 있다. 본 명세서에서 '딥러닝'은 딥러닝 기술 그 자체에 한정되지 않고, 기계학습이나 인공지능까지 확장되어 해석될 수 있다.Deep learning can be a set of machine learning (machine learning) algorithms that attempt high-level abstraction through a combination of several nonlinear transformation methods. Machine learning is a field of artificial intelligence and can refer to the field of developing algorithms and technologies that allow computers to learn. Artificial intelligence refers to a computer system equipped with the functions of human intelligence, and may refer to artificially implemented human intelligence, such as a machine. In this specification, 'deep learning' is not limited to the deep learning technology itself, and can be interpreted and extended to machine learning or artificial intelligence.
입출력 모듈(130)은 자체적인 인터페이스 모듈일 수 있다. 입출력 모듈(130)은 입력 장치와 출력 장치를 각각 별개로 구비할 수 있다. 입출력 모듈(130)은 터치 스크린과 같이 입출력 장치가 하나로 구현될 수 있다.The input/output module 130 may be its own interface module. The input/output module 130 may include an input device and an output device, respectively. 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 an example of the user terminal 130 .
데이터베이스(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 set of information or data having the same format. The information or data includes numbers, text, images, images, and voices, and may be any type of information or data used in machine learning.
학습 네트워크 모델은 딥러닝에 사용되는 모델로 입출력, 모델 내부를 정의하는 파라미터, 그리고 기계학습 및/또는 추론에 필요한 파라미터들로 구성될 수 있다. 학습 네트워크 모델은 관계형 데이터 형식으로 데이터베이스에 저장될 수 있다. 학습 네트워크 모델은 컨버터를 통하여 다른 딥러닝 프레임워크로 변환 가능할 수 있다.The learning network model is a model used in deep learning and may be composed of input/output, parameters defining the inside of the model, and parameters necessary for machine learning and/or inference. The training network model can be stored in a database in the form of relational data. The learning network model may be convertible to other deep learning frameworks through a converter.
본 실시예에서 학습 네트워크 모델은 인공지능 알고리즘 기반으로 데이터 셋에 기초하는 학습될 수 있는 판단 모델로서, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 본 판단 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있다. 판단 모델은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 본 판단 모델은 기계 학습(Machine Learning) 모델, 신경망 모델, 및/또는 딥러닝(Deep Learning) 모델을 구비할 수 있다.In this embodiment, the learning network model is a decision model that can be learned based on a data set based on an artificial intelligence algorithm, and may be a model based on a neural network. The present judgment model can be designed to simulate a human brain structure on a computer. The judgment model may include a plurality of network nodes having weights that simulate neurons of a human neural network. The plurality of network nodes may each form a connection relationship so that the neuron simulates a synaptic activity of a neuron that transmits and receives a signal through a synapse. The judgment model may include a machine learning model, a neural network model, and/or a deep learning model.
학습 네트워크 모델은 사용자에 의해 입력된 텍스트를 인식할 수 있다. 학습 네트워크 모델은 이미지, 오디오 및 동영상에 포함된 음성 및 텍스트를 인식할 수 있다. 학습 네트워크 모델은 인식한 음성 및 텍스트로부터 사용자 의향을 분석할 수 있다.The learning network model can recognize text input by the user. The training network model can recognize speech and text contained in images, audio and video. The learning network model may analyze user intentions from the recognized speech and text.
학습 결과는 기계학습이 진행되는 동안 중간 출력값이 데이터베이스(110)에 저장되어 사용자가 확인할 수 있다. 기계학습이 진행되는 동안 모델 파라미터 값이 데이터베이스(110)에 저장되어 사용자가 확인할 수 있다. 기계학습이 진행되는 동안 계산되는 모델의 평가지표 값이 데이터베이스(110)에 저장되어 사용자가 확인할 수 있다. 기계추론 결과값이 데이터베이스(110)에 저장되어 사용자가 확인할 수 있다.As for the learning result, the intermediate output value is stored in the database 110 while the machine learning is in progress so that the user can check it. During machine learning, the model parameter values are stored in the database 110 so that the user can check them. The evaluation index value of the model calculated while the machine learning is in progress is stored in the database 110 so that the user can check it. The machine reasoning result value is stored in the database 110 so that the user can check it.
데이터베이스(110)는 기계학습, 기계추론에 사용된 모든 입출력 데이터를 저장하고, 기계학습, 기계추론에 사용된 모델을 저장하며, 사용자의 쿼리 요청에 대응하는 프로시저(procedure)를 제공할 수 있다. The database 110 may store all input/output data used for machine learning and machine inference, store models used for machine learning and machine inference, and provide a procedure corresponding to a user's query request. .
프로시저는 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 구비할 수 있다.Procedures include Insert Network, Insert Layer, Make Project, Input Data Loader, Train, Save Model, and Test. can be provided
딥러닝 프레임워크(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 pre-trained model of an existing framework or exporting information or data from the database to the outside.
모델 컨버터는 ONNX 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 데이터베이스의 네트워크 모델 포맷으로 변환하거나, 반대로 데이터베이스의 네트워크 모델을 ONNX 모델 포맷으로 변환할 수 있다. 또한, 모델 컨버터는 상기 ONNX 모델 포맷 이외에 Open Network Exchange(ONNX), Neural Network Exchange Format(NNEF) 및 학습 파라미터와 바이어스를 구비하는 모델 Weight 파일을 구조화된 포맷으로 변환할 수도 있다. 모델 컨버터는 모델 Weight 파일을 구조화된 포맷으로 변환하여 학습 모델을 입력(Import)하거나, 데이터베이스로부터 출력(Export) 받을 수 있도록 한다.The model converter may convert the network structure and model data defined in the ONNX model format into the network model format of the database or, conversely, convert the network model of the database into the ONNX model format. In addition, the model converter may convert Open Network Exchange (ONNX), Neural Network Exchange Format (NNEF), and a model weight file having training parameters and biases into a structured format in addition to the ONNX model format. The model converter converts the model weight file into a structured format so that the training model can be input (Imported) or output (exported) from the database.
딥러닝 프레임워크(120)는 데이터베이스(110)에 플러그인 방식으로 연결될 수 있다. 딥러닝 프레임워크(120)는 데이터베이스(110)에 저장된 정보 또는 데이터에 대한 확인, 수정 및 새로운 데이터를 추가할 수 있다. 딥러닝 프레임워크(120)는 예를 들면, QML(Quantum Machine Learning)일 들 수 있다.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 . The deep learning framework 120 may be, for example, quantum machine learning (QML).
QML은 데이터베이스(110)에 플러그 인으로 설치된 딥러닝 프레임워크로서 데이터베이스의 호출로 실행될 수 있다. QML은 호출될 때 데이터베이스(110)로부터 각종 데이터를 인자로 받아 수행결과를 반환할 수 있다. QML은 관계형 데이터 포맷으로 정의된 네트워크 모델을 해석하여 프레임워크 내부에 네트워크를 구성할 수 있다. QML은 데이터베이스(110)로부터 학습 파라미터와 학습 데이터를 인자로 받아 프레임워크 내부에 구성된 네트워크의 학습을 수행하고 학습결과를 반환할 수 있다. QML은 데이터베이스(110)로부터 입력 데이터를 인자로 받아 프레임워크 내부에 구성된 네트워크를 이용하여 기계추론을 수행하고 결과를 반환할 수 있다.QML is a deep learning framework installed as a plug-in in the database 110 and may be executed by a database call. When QML is called, it may receive various data from the database 110 as an argument and return an execution result. QML can interpret the network model defined in the relational data format to compose the network within the framework. QML may receive learning parameters and learning data from the database 110 as factors, perform learning of a network configured in the framework, and return a learning result. QML may receive input data from the database 110 as an argument, perform machine inference using a network configured in the framework, and return a result.
딥러닝 프레임워크(120)는 사용자 단말기(130)로부터 쿼리를 입력받을 수 있다. 딥러닝 프레임워크(120)는 입력된 쿼리를 기초로 데이터베이스(110)에 저장된 학습 네트워크 모델에 대한 확인, 수정, 및 새로운 학습을 위한 학습 네트워크 모델을 생성할 수 있다. 딥러닝 프레임워크(120)는 입력된 쿼리에 따라 정보 또는 데이터와 학습 네트워크 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 실행하고, 학습 중간 결과 및 최종 결과를 제공할 수 있다. 딥러닝 프레임워크(120)는 입력된 쿼리를 통하여 데이터와 기 학습된 학습 네트워크 모델을 선택하여 기계추론을 실행하고, 그 추론 결과를 제공할 수 있다.The deep learning framework 120 may receive a query input from the user terminal 130 . The deep learning framework 120 may generate a learning network model for confirmation, correction, and new learning of the learning network model stored in the database 110 based on the input query. The deep learning framework 120 selects information or data and a learning network model according to the input query, sets learning parameters, executes machine learning, and may provide an intermediate learning result and a final result. The deep learning framework 120 may select data and a pre-trained learning network model through an input query to execute machine inference, and provide the inference result.
사용자 단말기(130)는 딥러닝 프레임워크(120)를 통하여 쿼리를 입력하고, 데이터베이스(110)로부터 딥러닝 프레임워크(120)를 통하여 쿼리에 대응된 추론 결과를 수신할 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터베이스(110)에 여러 기능들을 요청하고, 데이터베이스(110)로부터 결과를 응답 받을 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터베이스(110)에 저장된 데이터를 확인, 수정하고, 새로운 데이터를 추가할 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터베이스(110)에 저장된 네트워크 모델을 확인, 수정하고 새로운 학습을 위한 네트워크 모델을 생성할 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터와 학습 네트워크 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 요청하고, 학습 중간 결과 및 최종 결과를 확인할 수 있다. 사용자 단말기(130)는 쿼리를 통해서 데이터와 기학습 된 네트워크 모델을 선택하여 기계추론을 요청하고, 추론 결과를 확인할 수 있다.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 . The user terminal 130 may request various functions from the database 110 through a query and receive a response from the database 110 . The user terminal 130 may check and correct data stored in the database 110 through a query, and may add new data. The user terminal 130 may check and modify the network model stored in the database 110 through a query, and may generate a network model for new learning. The user terminal 130 may select data and a learning network model through a query, request machine learning by setting learning parameters, and check an intermediate learning result and a final result. The user terminal 130 may request machine inference by selecting data and a pre-learned network model through a query, and check the inference result.
도 2는 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술의 수행 흐름을 나타낸 흐름도이다. 도 2를 참조하면, 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술은 ONNX 포맷 또는 ONNX 포맷으로 변환된 기학습된 모델을 컨버터를 통해서 QML 포맷으로 변환하고, 사용자 단말기(130)로부터 학습 또는 추론 쿼리를 입력받으며, 데이터베이스(110)에서 정보를 QML로 전송하여, QML에서 학습 및 추론을 수행할 수 있다. 그리고, 학습 또는 추론 결과를 데이터베이스(110)에 저장하면, 사용자 단말기(130)가 데이터베이스(110)에 저장된 결과를 확인할 수 있다.2 is a flowchart illustrating an execution flow of a query-based machine learning technique according to an embodiment of the present invention. 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 an ONNX format into a QML format through a converter, and learns from the user terminal 130 or It receives an inference query and transmits information from the database 110 to QML, so that learning and inference can be performed in QML. And, if the learning or inference result is stored in the database 110 , the user terminal 130 may check the result stored in the database 110 .
사용자 단말기(130)는 학습 모델을 입력(Import)하거나, 데이터베이스(110)로부터 출력(Export)받을 수 있다(①). 또한, 학습 모델을 입력 또는 출력할 때, 모델 컨버터를 통하여 데이터베이스(110)의 스키마 구조에 맞게 변환할 수 있다(②). 또한, 데이터베이스(110)는 쿼리를 해석하여 적절한 작업을 수행할 수 있다(③). 또한, 딥러닝 프레임워크(120)는 데이터베이스(110)에 플러그인을 수행하고, 데이터베이스(110)로부터 받은 정보를 통해 학습 및 추론을 수행할 수 있다(④). 또한, 사용자 단말기(130)는 쿼리를 통해 데이터베이스(110)로 학습 또는 추론을 요청할 수 있다(⑤). 또한, 사용자 단말기(130)는 데이터베이스(110)의 테이블을 조회하여 학습 관련 정보를 조회할 수 있다(⑥). 그리고, 모델 데이터는 데이터베이스(110)에 QML 스키마로 저장될 수 있다(⑦).The user terminal 130 may input (Import) the learning model or receive an output (Export) from the database 110 (①). In addition, when inputting or outputting the learning model, it can be converted according to the schema structure of the database 110 through the model converter (②). In addition, the database 110 may interpret the query to perform an appropriate operation (③). 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 (④). Also, the user terminal 130 may request learning or inference from the database 110 through a query (⑤). In addition, the user terminal 130 may inquire the table of the database 110 to inquire the learning-related information (⑥). And, the model data may be stored in the database 110 as a QML schema (⑦).
도 3은 본 발명의 실시 예에 따른 데이터베이스의 내부 데이터 흐름을 나타낸 도면이다. 도 3을 참조하면, 본 발명의 실시 예에 따른 데이터베이스(110)는, 기계학습과 관련된 데이터들을 저장하고, 기계학습에 필요한 기능들을 프로시저(Procedure)로 제공하여 사용자 요청에 의해 기계학습을 수행할 수 있다.3 is a diagram illustrating an internal data flow of a database according to an embodiment of the present invention. Referring to FIG. 3 , the database 110 according to an embodiment of the present invention stores data related to machine learning, provides functions necessary for machine learning as a procedure, and performs machine learning according to a user's request. can do.
데이터베이스(110)에서, 테이블(Table)은 크게 데이터셋 테이블(Dataset Table), 네트워크 테이블(Network Table), 프로젝트 테이블(Project Table), 작업 테이블(Job Table), 및 공통 테이블(Common Table)을 구비할 수 있다.In the database 110, the table is largely provided with a dataset table, a network table, a project table, a job table, and a common table. can do.
데이터 셋은 데이터 종류를 구비하고, 네트워크는 네트워크 종류 및 LeNet(CNN 구조 중 하나)을 구비하며, 프로젝트는 네트워크의 정보를 복사해 학습 또는 추론 작업을 진행할 수 있다.The data set has a data type, the network has a network type and LeNet (one of the CNN structures), and the project can copy the information of the network to perform learning or inference work.
작업 테이블은 사용자 정보, 프로젝트의 상태, 로그 등을 구비할 수 있다. 공통 테이블은 레이어 타입, 오류 코드 등 룩업 테이블을 구비할 수 있다. 네트워크 테이블은 네트워크 모델 정보를 저장할 수 있다.The work table may include user information, project status, log, and the like. The common table may include a lookup table such as a layer type and an error code. The network table may store network model information.
프로젝트 테이블은 네트워크 테이블로부터 복사된 실제 학습이나 추론을 진행할 프로젝트 정보를 저장할 수 있다. 프로젝트 테이블은 프로젝트가 생성된 후 네트워크 테이블과 별개의 구성을 가지므로, 프로젝트에 사용된 기반 네트워크가 수정되더라도 영향을 받지 않는다. 개수가 많고 가변적인 데이터(입출력 데이터 및 가중치 정보)는 BLOB(Binary Large Object) 또는 text 타입으로, 개수가 적고 가변적인 데이터(각 레이어 파라미터 등)는 레코드를 분할하여 저장될 수 있다.The project table may store project information for actual learning or inference copied from the network table. Since the project table has a configuration separate from the network table after the project is created, it is not affected even if the underlying network used in the project is modified. A large number of variable data (input/output data and weight information) is a binary large object (BLOB) or text type, and a small number of variable data (eg, each layer parameter) may be stored by dividing records.
기계학습에 필요한 프로시저는 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 네트워크 초기화(Init Network), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 구비할 수 있다.The procedures required for machine learning are Insert Network, Insert Layer, Make Project, Input Data Loader, Init Network, Train, and Model. It may have a Save Model and a Test.
인서트 네트워크는 네트워크 이름, 네트워크 타입, 데이터셋 이름, 옵티마이저 타입, 옵티마이저 파라미터, 학습률, 배치 크기, 학습 횟수, 출력 레이어 인덱스를 구비하는 네트워크를 생성할 수 있다. 인서트 레이어는 네트워크 아이디, 레이어 이름, 레이어 타입, 레이어 인덱스, 레이어 파라미터, 입력 레이어 인덱스를 구비하는 레이어를 등록할 수 있다.The insert network may create a network including a network name, a network type, a dataset name, an optimizer type, an optimizer parameter, a learning rate, a batch size, a number of trainings, and an 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 개수를 포함하는 프로젝트를 생성할 수 있다. 입력 데이터 로더는 네트워크 입력의 선택(레이어 인덱스, 쿼리 타입(2:학습 테이블, 0:학습 데이터, 4:검증 테이블, 3:검증 데이터))에 따라 쿼리를 입력할 수 있다.A make project can create a project containing the project name, dataset name, network name, training or inference flags, and number of GPUs. The input data loader may input a query according to the selection of the network input (layer index, query type (2: training table, 0: training data, 4: validation table, 3: validation data)).
네트워크 초기화는 네트워크 모델을 구성할 수 있다. 트레인은 프로젝트 아이디, 학습 세대 수, 배치 사이즈, 이어서 학습 여부, 저장 간격, 검증 간격, GPU 동기화 간격을 구비하는 학습을 시작할 수 있다.Network initialization can configure the network model. The train may start learning with a project ID, number of learning generations, batch size, followed by whether or not to learn, save interval, verification interval, and GPU synchronization interval.
모델 저장은 프로젝트 테이블의 네트워크 정보를 네트워크 테이블로 복사(프로젝트 이름, 네트워크 이름)할 수 있다. 테스트는 프로젝트 아이디, 모든 레이어의 결과 저장 여부 플래그를 포함하는 추론을 시작할 수 있다.Model saving can copy the network information of the project table to the network table (project name, network name). The test can start making inferences that include the project ID, and a flag whether to save the results of all layers.
도 4는 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 방법을 설명하기 위한 동작 흐름도를 나타낸 도면이다. 도 4를 참조하면, 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(100)은 사용자 단말기(130) 및 데이터베이스(110)와 연동하는 딥러닝 프레임워크(120)에서 쿼리 기반 딥러닝 추론 방법을 실행할 수 있다.4 is a diagram illustrating an operation flowchart for explaining a query-based deep learning inference method according to an embodiment of the present invention. Referring to FIG. 4 , the query-based deep learning inference system 100 according to an embodiment of the present invention is a query-based deep learning inference method in the deep learning framework 120 interworking with the user terminal 130 and the database 110 . can run
딥러닝 프레임워크(120)는 사용자 단말기로부터 학습 쿼리(Call Train) 또는 추론 쿼리(Call Test)를 입력받을 수 있다(S410). 딥러닝 프레임워크(120)는 외부 프레임워크와의 호환성을 위해 모델 컨버터를 사용할 수 있다. 딥러닝 프레임워크(120)는 기존 프레임워크의 기학습된 모델을 가져오거나, 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 모델 컨버터를 통하여 ONNX 모델 포맷으로 변환할 수 있다.The deep learning framework 120 may receive a learning query (Call Train) or an inference query (Call Test) from the user terminal (S410). The deep learning framework 120 may use a model converter for compatibility with external frameworks. The deep learning framework 120 may convert the pre-learned model of the existing framework into the ONNX model format through a model converter when importing a pre-trained model of an existing framework or exporting information or data from a database to the outside.
모델 컨버터는 ONNX 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 데이터베이스의 네트워크 모델 테이블 포맷으로 변환할 수 있다. 모델 컨버터는 반대로 데이터베이스의 네트워크 모델을 ONNX 모델 포맷으로 변환할 수 있다.The model converter may convert a network structure and model data defined in the ONNX model format into a network model table format of a database. Conversely, the model converter can 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 a network initialization (Init Network), a network configuration (Construct Network), and a network update (Update Network) according to a learning query or an inference query ( S420 ).
딥러닝 프레임워크(120)는 모든 층에 대한 초기화(Initialize all layers)가 이루어지면 학습(Train) 또는 추론(Test)을 실행할 수 있다(S430). 딥러닝 프레임워크(120)는 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장(Store Result & Model)할 수 있다. 또한, 딥러닝 프레임워크(120)는 테스트(Test)를 실행하고, 테스트 데이터를 획득하여(Get Test Data) 피드 포워드(feedforward)하고 추론 결과를 저장(Store Result)할 수 있다.The deep learning framework 120 may execute training or inference when initialization of all layers is performed (S430). The deep learning framework 120 may obtain batch data (Get Batch Data) and iterate until the end of learning and store the results and model (Store Result & Model). Also, the deep learning framework 120 may execute a test, obtain test data (Get Test Data), feedforward, and store an inference result (Store Result).
딥러닝 프레임워크(120)는 학습 또는 추론의 종료시 학습 결과 또는 추론 결과를 사용자 단말기(130)로 제공할 수 있다(S440).The deep learning framework 120 may provide a learning result or an inference result to the user terminal 130 at the end of learning or inference (S440).
전술한 학습 또는 추론 과정에 대하여 아래에서 각각 구분하여 설명할 수 있다.The above-described learning or inference process may be separately described below.
도 5는 본 발명의 일 실시 예에 따른 학습 프로시저의 실행 흐름을 나타낸 도면이다. 도 5를 참조하면, 본 발명의 실시 예에 따른 딥러닝 프레임워크(120)는 사용자의 학습 요청에 대해 다음과 같은 단계를 실행하고, 데이터베이스(110)는 QML(120)을 호출하여 데이터를 인자로 넘겨주어 결과를 반환받을 수 있다.5 is a diagram illustrating an execution flow of a learning procedure according to an embodiment of the present invention. 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. can be passed to to return the result.
딥러닝 프레임워크(120)는 사용자 단말기(130)로부터 학습 쿼리가 입력되어 학습이 호출되면(Call Train)(S50), 네트워크 초기화(Init Network)(S51), 네트워크 구성(Construct Network)(S52), 네트워크 갱신(Update Network)(S53)을 실행할 수 있다.The deep learning framework 120 receives a learning query from the user terminal 130 and calls learning (Call Train) (S50), network initialization (Init Network) (S51), network configuration (Construct Network) (S52) , a network update (Update Network) ( S53 ) may be executed.
딥러닝 프레임워크(120)는 모든 층에 대한 초기화(Initialize all layers)가 이루어지기까지(S54-No), 레이어 초기화(Init Layer)(S55)를 실행할 수 있다. 딥러닝 프레임워크(120)는 초기화된 레이어 정보(Initialized Layer Info)를 획득하며, 레이어 갱신(Update Layer)(S56)을 실행할 수 있다.The deep learning framework 120 may execute layer initialization (Init Layer) (S55) until initialization of all layers is made (S54-No). The deep learning framework 120 may obtain initialized layer information (Initialized Layer Info), and execute a layer update (Update Layer) ( S56 ).
딥러닝 프레임워크(120)는 모든 층에 대한 초기화가 이루어지면(S54-Yes), 학습(Train)을 실행할 수 있다(S57). 딥러닝 프레임워크(120)는 학습 종료시까지(S58-No) 배치 데이터를 획득하고(Get Batch Data)(S59), 반복 되풀이(Iteration)하여(S60), 결과 및 모델을 저장(Store Result & Model)(S610)할 수 있다. 딥러닝 프레임워크(120)는 학습 종료시(S58-Yes) 학습 결과를 사용자 단말기(130)로 제공할 수 있다(S62).When the deep learning framework 120 is initialized for all layers (S54-Yes), it can execute training (S57). The deep learning framework 120 acquires batch data (Get Batch Data) (S59) until the end of learning (S58-No), iterates over it (S60), and stores the result and model (Store Result & Model) ) ( S610 ). The deep learning framework 120 may provide the learning result to the user terminal 130 at the end of the learning (S58-Yes) (S62).
도 6은 본 발명의 실시 예에 따른 추론 프로시저의 실행 흐름을 나타낸 도면이다. 도 6을 참조하면, 본 발명의 실시 예에 따른 딥러닝 프레임워크(120)는 사용자의 추론 요청에 대해 다음과 같은 단계가 실행되고, 데이터베이스(110)는 QML(120)을 호출하여 데이터를 인자로 넘겨주어 결과를 반환받을 수 있다.6 is a diagram illustrating an execution flow of an inference procedure according to an embodiment of the present invention. 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 print data. can be passed to to 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 a network initialization (Init Network) (S64), a network configuration (Construct Network) (S65) , and network update (Update Network) ( S66 ).
딥러닝 프레임워크(120)는 모든 층에 대한 초기화(Initialize all layers)가 이루어지기까지(S67-No), 레이어 초기화(Init Layer)(S68) 및 레이어 갱신(Update Layer)(S69)을 실행할 수 있다.The deep learning framework 120 can execute Initialize all layers (S67-No), Initialize Layers (S68) and Update Layers (S69) for all layers. have.
딥러닝 프레임워크(120)는 모든 층에 대한 초기화가 이루어지면(S67-Yes), 추론 테스트(Test)를 실행하고(S70), 추론 데이터를 획득하여(Get Test Data)(S71) 피드 포워드(feed forward)하고(S72), 결과를 저장하며(Store Result)(S73), 추론 결과를 사용자 단말기(130)로 제공할 수 있다(S74).The deep learning framework 120 is initialized for all layers (S67-Yes), executes an inference test (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을 참조하면, 본 발명의 실시 예에 따른 데이터베이스(110)에 저장된 네트워크 모델은 외부 프레임워크(tensorflow, pytorch, caffe, etc.)와의 호환성을 위해 모델 컨버터를 필요로 할 수 있다. 기존 프레임워크의 기학습된 모델을 가져오거나 데이터베이스 외부로 내보낼 때 ONNX(Open Neural Network Exchange)포맷을 사용할 수 있다. 여기서, 상기 ONNX 이외에 Open Network Exchange(ONNX), Neural Network Exchange Format(NNEF) 및 학습 파라미터와 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환할 수 있다.7 is a diagram illustrating a conversion operation of a model converter according to an embodiment of the present invention. Referring to FIG. 7 , the 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 a database. Here, in addition to ONNX, Open Network Exchange (ONNX), Neural Network Exchange Format (NNEF), and a model weight file including training parameters and biases may 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)에 업로드할 수 있다.The machine-learning model in the existing framework (Caffe, tensorflow, pytorch, etc.) can be uploaded to the database 110 through the Converter (Import) function after the user converts it to a saved format including the ONNX model.
QML(120)에서 학습한 모델은 Converter(Export) 기능을 통해서 데이터베이스(110)에서 ONNX 모델을 포함하는 구조화된 포맷, 또는 CVS 파일로 저장할 수 있다. 데이터베이스(110)에 저장된 ONNX 모델 및 구조화된 포맷은 사용자가 원하는 target 프레임 워크로 변환하여 사용할 수 있다.The model learned from the QML 120 can be stored in a structured format including the ONNX model or a CVS file in the database 110 through the Converter (Export) function. 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 데이터)이다.On the other hand, 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 the UDF, and the deep learning framework 120 may be executed through the registered UDF call. The types of argument variables that can be used in UDF are defined as integer, real number, and string, and in QML, they can be used as follows. Integer is an integer value among the essential parameters constituting the network model, and the address value of the structure memory defined inside QML. Real number is a real value among essential parameters constituting the network model. String is a variable number of parameters and BLOB data (binary data).
QML 프레임워크에서는 채널 우선 데이터 포맷인 NCHW(N:batch, C: channel, H:height, W:width) 포맷을 따른다. 레이어 종류는 ONNX에서 사용되는 레이어를 지원하며, 각 레이어에 정의된 파라미터들도 ONNX 포맷을 포함하는 구조화된 포맷을 따른다.The QML framework follows the channel-first data format, NCHW (N:batch, C: channel, H:height, W:width) format. The layer type supports the layers used in ONNX, and the parameters defined in each layer also follow the structured format including the ONNX format.
QML 프레임워크는 네트워크 모델을 학습 가능 하도록 backpropagation 알고리즘이 구현되어 있다. Backpropagation의 필수 요소인 gradient 계산 알고리즘과 모델 파라미터(weight, bias)를 업데이트 시키기 위한 optimization 알고리즘이 구현되어 있다. 네트워크 모델을 학습하는 방식은 두가지로 Train from scratch 및 Fine tuning을 지원할 수 있다. Train from scratch는 네트워크 모델을 처음부터 학습시킨다. 각 레이어의 가중치들은 가중치 초기화 알고리즘을 통해 결정될 수 있다. Fine tuning은 기학습된 모델의 가중치(import 기능을 통해 데이터베이스에 저장되거나, 이전 학습시도를 통해서 구한 가중치)를 읽어와서 레이어의 초기 가중치를 설정하고 학습을 진행할 수 있다.In the QML framework, a backpropagation algorithm is implemented so that the network model can be learned. A gradient calculation algorithm, which is an essential element of backpropagation, and an optimization algorithm for updating model parameters (weight, bias) are implemented. There are two ways to learn a network model, Train from scratch and fine tuning can be supported. Train from scratch trains a network model from scratch. Weights of each layer may be determined through a weight initialization algorithm. Fine tuning can set the initial weight of the layer by reading the weights of the pre-learned model (the weights stored in the database through the import function or obtained through previous learning attempts) and can proceed with learning.
도 8은 본 발명의 실시 예에 따른 QML 프레임워크의 내부 구조를 개략적으로 나타낸 도면이다. 도 8을 참조하면, 본 발명의 실시 예에 따른 딥러닝 프레임워크(120)에서, QML네트워크t(qml_network_t)는 복수 개의 QML레이어t(qml_network_t)로 구성되고, 하나의 QML레이어t(qmll_network_t)는 복수 개의 QML텐서t(qml_tensor_t)로 구성될 수 있다.8 is a diagram schematically illustrating an internal structure of a QML framework according to an embodiment of the present invention. 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 may be composed of a plurality of QML tensors t (qml_tensor_t).
Object qml_networks_t 는 qml_network_t 를 가질 수 있으며, Multi GPU 로 네트워크 모델을 학습하는 경우에 N 개의 qml_network_t가 qml_networks_t에 구비될 수 있고, 네트워크 모델을 추론하는 경우에는 1개의 qml_network_t를 가질 수 있다.The object qml_networks_t may have qml_network_t, and N qml_network_t may be included in qml_networks_t when a network model is trained with a multi GPU, and one qml_network_t may be included when a network model is inferred.
Object qml_network_t는 여러 개의 qml_layer_t 및 네트워크 파라미터들을 가질 수 있다. Object qml_layer_t 는 입출력 텐서(qml_tensor_t) 들을 갖고 있고, Object qml_tensor_t는 NCHW 포맷으로 구성된 4차원 텐서이고, 내부에는 dtype, qml_shape_t, data, name 등이 구비될 수 있다.Object qml_network_t may have several qml_layer_t and network parameters. Object qml_layer_t has input/output tensors (qml_tensor_t), Object qml_tensor_t is a 4D tensor configured in NCHW format, and dtype, qml_shape_t, data, name, etc. may be provided inside.
본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(100)은 다음과 같이 클라이언트, 회원, 데이터셋, 네트워크, 학습, 학습 실행 등을 관리할 수 있다.The query-based deep learning inference system 100 according to an embodiment of the present invention may manage clients, members, datasets, networks, learning, learning execution, etc. as follows.
[클라이언트][Client]
본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(100)은 사용자 단말기(130)로 데이터셋과 기계학습 과정을 관리하고 결과를 확인하기 위하여 기능을 제공할 수 있다.The query-based deep learning inference system 100 according to an embodiment of the present invention may provide a function to manage a dataset and a machine learning process with the user terminal 130 and to check the result.
[회원 관리][Member Management]
쿼리 기반 딥러닝 추론 시스템(100)은 회원관리를 통해서 데이터베이스(110)의 데이터, 네트워크 모델의 생성, 수정 권한을 부여하고 변경 이력을 남길 수 있다.The query-based deep learning inference system 100 may grant rights to create and modify data of the database 110 and network models through member management and leave a change history.
[데이터셋 관리][Dataset Management]
쿼리 기반 딥러닝 추론 시스템(100)은 데이터셋을 관리하기 위하여 새로운 테이블을 생성하고, 데이터를 조회, 수정, 업로드하기 위한 기능을 제공할 수 있다. 본 시스템(100)은 새로운 데이터셋을 생성할 때 자동으로 새로운 테이블을 생성하고, 데이터를 업로드할 수 있다. 본 시스템(100)은 데이터베이스의 테이블에 접근하여 데이터를 조회거나 사용자가 작성한 쿼리를 통해서 데이터베이스의 데이터를 조회한 결과를 보여줄 수 있다. 본 시스템(100)은 권한에 따라 데이터를 수정할 수 있다. 본 시스템(100)은 사용자로부터 수치데이터를 입력 받거나, 하나 이상의 파일을 읽어서 데이터 업로드를 진행할 수 있다. 본 시스템(100)은 학습 데이터의 레이블을 작성(tagging)하는 기능을 제공할 수 있다.The query-based deep learning inference system 100 may provide a function for creating a new table to manage a dataset, and querying, modifying, and uploading data. The system 100 may automatically create a new table and upload data when creating a new dataset. The present system 100 may access a table of the database to inquire data or show a result of inquiring data in the database through a query written by a user. The system 100 may modify data according to authority. The system 100 may receive numerical data from a user or read one or more files to upload data. The system 100 may provide a function of tagging the training data.
[네트워크 관리][Network Management]
쿼리 기반 딥러닝 추론 시스템(100)은 다음과 같이 네트워크 모델을 관리하기 위한 기능을 제공할 수 있다. 본 시스템(100)은 지원되는 레이어를 추가하고 레이어 파라미터를 조정하여 새로운 네트워크 모델을 생성할 수 있다. 본 시스템(100)은 기존에 작성된 네트워크 모델 리스트를 조회할 수 있다. 본 시스템(100)은 기존에 작성된 네트워크 모델에 새로운 레이어를 추가하여 새로운 네트워크 모델을 생성할 수 있다. 본 시스템(100)은 네트워크 모델을 시각화하여 보여주는 기능을 제공할 수 있다.The query-based deep learning inference system 100 may provide a function for managing a network model as follows. The present system 100 may create a new network model by adding supported layers and adjusting layer parameters. The present system 100 may inquire a list of previously created network models. The system 100 may create a new network model by adding a new layer to the previously created network model. The present system 100 may provide a function to visualize and show the network model.
[학습 관리][Learning Management]
쿼리 기반 딥러닝 추론 시스템(100)은 다음과 같이 학습을 관리하기 위한 기능을 제공할 수 있다. 본 시스템(100)은 네트워크 모델과 데이터셋, 학습 파라미터를 조절하여 학습을 생성 또는 수정할 수 있다. 본 시스템(100)은 학습이 끝난 네트워크 모델을 컨버터 기능을 통해 출력할 수 있다. 본 시스템(100)은 현재 사용중인 서버의 자원을 확인할 수 있다.The query-based deep learning inference system 100 may provide a function for managing learning as follows. The present system 100 may generate or modify learning by adjusting a network model, a dataset, and a learning parameter. The present system 100 may output the trained network model through a converter function. The system 100 may check the resources of the server currently being used.
[학습 실행 관리][Manage Learning Execution]
쿼리 기반 딥러닝 추론 시스템(100)은 다음과 같이 학습 및 추론을 수행하고 결과를 확인하기 위한 기능을 제공할 수 있다. 본 시스템(100)은 서버의 자원을 확인할 수 있다. 본 시스템(100)은 학습 및 추론 수행이 가능한지 여부를 사용자에게 알려줄 수 있다. 본 시스템(100)은 현재 실행 또는 대기 중인 학습계획 리스트를 조회할 수 있다. 본 시스템(100)은 등록된 네트워크 모델과 데이터셋, 학습 파라미터를 설정하여 학습계획을 생성할 수 있다. 본 시스템(100)은 현재 실행 또는 대기 중인 학습계획의 학습 파라미터를 확인할 수 있다. 본 시스템(100)은 현재 실행 중인 학습계획의 중간 및 결과를 확인할 수 있다. 본 시스템(100)은 현재 실행 중인 학습계획을 멈출 수 있다. 본 시스템(100)은 대기 중인 학습계획을 시작할 수 있다. 본 시스템(100)은 등록된 네트워크 모델과 데이터셋을 설정하여 추론계획을 생성할 수 있다. 본 시스템(100)은 실행된 추론 계획의 결과를 확인할 수 있다.The query-based deep learning inference system 100 may provide a function for performing learning and inference as follows and confirming the result. The system 100 may check the resources of the server. The present system 100 may inform the user of whether learning and inference can be performed. The present system 100 may inquire a list of learning plans currently being executed or waiting. The system 100 may generate a learning plan by setting the registered network model, dataset, and learning parameters. The system 100 may check the learning parameters of the currently executing or waiting learning plan. The present system 100 can check the middle and results of the currently executing learning plan. The system 100 may stop the currently running learning plan. The system 100 may start a pending learning plan. The present system 100 may generate an inference plan by setting a registered network model and dataset. The system 100 may check the result of the executed inference plan.
전술한 바와 같이 본 발명에 의하면, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 할 수 있다. 본 발명은 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는, 쿼리 기반 딥러닝 추론 시스템 및 그 방법을 실현할 수 있다.As described above, according to the present invention, it is possible to provide necessary information to a user without difficulty even for a user without professional knowledge on deep learning. The present invention is a query-based deep learning framework that is connected to an information database in the form of a plug-in, learns data stored in the information database by a user's request query in a deep learning method, and infers data corresponding to the query. A learning inference system and method thereof may 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 . Reference is made to FIGS. 1 to 8 .
도 9를 참조하면, 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템은 데이터 수집기(200), 데이터베이스(DB, 110), 딥러닝 프레임워크(QML, 120) 및 사용자 단말기(130)를 포함할 수 있다. 데이터베이스(DB, 110), 딥러닝 프레임워크(QML, 120) 및 사용자 단말기(130)는 도 1 내지 도 8의 쿼리 기반 딥러닝 추론 시스템(100)에 구비되는 구성 요소로, 자세한 설명은 도 1 내지 도 8을 참조한다.9, the machine tool predictive maintenance system using the 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 provided in FIG. 1 to FIG. 8 .
데이터 수집기(200)는 공작 기계(300)의 진동량, 소음량, 전력량, 및 상태 정보 라벨을 데이터 셋으로 수집할 수 있다.The data collector 200 may collect the vibration amount, noise amount, electric power amount, and state information label of the machine tool 300 as a data set.
공작 기계(300)는 소재를 가공하여 원하는 형상을 만들 수 있는 기계일 수 있으며, 이에 한정되지 않고 다양한 기계일 수 있다. 공작 기계(300)는 전기 에너지를 동력원으로 사용하는 수많은 부품의 조립체일 수 있다. 공작 기계(300)는 원하는 속도로 회전하는 회전계 부품, 및 정확한 위치로 이송할 수 있는 이송계 부품들을 구비할 수 있다. 공작 기계(300)의 종류는 머시닝 센터(Machine Center), 선반(Lathe), 밀링(Milling), 드릴 머신(Drill Machine), 연마기(Machine), 레이저 절단기(Laser Cutting Machine), NCT 펀칭기(Numerically Controlled Turret), CNC 절곡기(Bending Machine), 슬로터(Slotter), 셰이퍼(Shaper) 등이 있을 수 있다. 공작 기계(300)는 수치 제어(Numerical Control) 또는 컴퓨터 수치 제어(Computerized Numerical Control)되는 기계일 수 있다.The machine tool 300 may be a machine capable of making a desired shape by processing a material, but is not limited thereto, and may be a variety of machines. The machine tool 300 may be an assembly of numerous parts using electrical energy as a power source. The machine tool 300 may include a rotation system component rotating at a desired speed, and a transmission system component capable of transferring to an accurate position. The types of the machine tool 300 include a machining center, a lathe, a milling, a drill machine, a grinder, a laser cutting machine, a NCT punching machine (Numerically Controlled). Turret), a CNC bending machine, a slotter, a shaper, and the like. The machine tool 300 may be a numerically controlled (Numerical Control) or computerized numerically controlled (Computerized Numerical Control) machine.
다양한 회전계 및 이송계 부품은 기계적인 운동을 하게되어, 공작 기계(300)의 부품들은 고장날 수 있다. 부품의 고장이나 노후는 손실이 많아져서, 공작 기계(300)의 출력이 저하되는 현상이 나타날 수 있다. 또한, 공작 기계(300)의 부품들의 고장이나 노후는 관리자나 사용자의 안전 사고가 문제될 수 있다.Various rotation system and feed system parts are subjected to mechanical motion, and the parts of the machine tool 300 may fail. Failure or aging of the parts increases the loss, and a phenomenon in which the output of the machine tool 300 is lowered may appear. In addition, failure or aging of parts of the machine tool 300 may cause a safety accident of an administrator or a user to be a problem.
도 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 communicate with an external device through wired/wireless communication. The external device communicating with the collector communication unit 220 may correspond to the machine tool 300 , the user terminal 130 , the database 110 , and the like. The external device is not limited thereto, and other servers that manage the database 110 may also be applicable.
수집기 통신부(220)는 특정한 공작 기계(300) 이외에, 다양한 공작 기계와 통신할 수 있다. 따라서 데이터 수집기(200)는 복수의 공작 기계로부터 데이터를 데이터 셋 포맷으로 수집할 수 있다. 이러한 복수의 공작 기계에서 수집되는 데이터 셋은 다양한 종류의 공작 기계에 대해 학습 네트워크 모델을 구축할 수 있다. 수집된 데이터 셋은 동종의 공작 기계에 대해 다양한 학습 네트워크 모델을 구축하게 할 수 있다. 동종의 공작 기계에 대한 다양한 학습 네트워크 모델은 공작 기계가 설치된 주위 환경이나 작동량 등에 따라 다양한 모델로 구축될 수 있다.Collector communication unit 220 may communicate with a variety of 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. The data set collected from such a plurality of machine tools can build a learning network model for various types of machine tools. The collected data set can make it possible to build various learning network models for homogeneous machine tools. Various learning network models for the same type of machine tool can be built with various models according to the surrounding environment in which the machine tool is installed or the amount of operation.
수집기 통신부(220)는 무선 통신을 위해, 근거리 통신 모듈, 무선 인터넷 모듈, 및 이동통신 모듈(127)을 구비할 수 있다. 유선 통신 기술로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다. 근거리 통신 모듈은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로 블루투스(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) 등이 이용될 수 있다. 무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 의미한다.무선 인터넷 기술로는 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) 등이 이용될 수 있다. 이동통신 모듈은, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신할 수 있다. 여기서, 무선 신호는, 음성, 동영상, 사진, 텍스트, 및 이들의 조합 등 다양한 형태의 데이터를 포함할 수 있다. 이동통신 모듈은 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) 등의 통신방식을 이용할 수 있다. 이 외에, 수집기 통신부(220)는 NB-IoT, LTE-M, LoRa, Sigfox 등의 IoT를 위한 저전력 광역 네트워크 모듈을 구비할 수 있다. 저전력 광역 네트워크 모듈은 앞서 언급한 근거리/무선 인터넷/이동통신 모듈을 이용할 수 있다.The collector communication unit 220 may include a short-range communication module, a wireless Internet module, and a mobile communication module 127 for wireless communication. Wired communication technologies may include Power Line Communication (PLC), USB communication, Ethernet, serial communication, and optical/coaxial cables. The short-distance communication module refers to a module for short-distance communication. Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, Near Field Communication (NFC), ultrasonic communication as short-range communication technologies (Ultra Sound Communication: USC), Visible Light Communication (VLC), Wi-Fi (Wi-Fi), Wi-Fi Direct (Wi-Fi Direct), etc. may be used. The wireless Internet module refers to a module for wireless Internet access. As wireless Internet technologies, WLAN (Wireless LAN) (Wi-Fi), DLNA (Digital Living Network Alliance), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave) Access), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), IEEE 802.16, Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), broadband wireless mobile communication A service (Wireless Mobile Broadband Service: WMBS) may be used. The mobile communication module may transmit/receive a wireless signal to/from at least one of a base station, an external terminal, and a server on a mobile communication network. Here, the wireless signal may include various types of data such as voice, video, photo, text, and combinations thereof. 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), Long Term Evolution-Advanced (LTEA), and the like can be used. 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 detection unit 250 may include a vibration sensor module 260 , a noise sensor module 270 , and a power amount measurement module 280 . The collector detection unit 250 may include a plurality of each of these modules as many as the number of a plurality of machine tools connected to the data collector 200 .
진동 센서 모듈(260) 및 소음 센서 모듈(270)은 각각 복수의 센서를 구비하여, 공작 기계(300)의 여러 위치에 부착될 수 있다. 진동 센서 모듈(260) 및 소음 센서 모듈(270)이 측정한 데이터는 공작 기계(300)의 고장이나 노후, 또는 고장 예측에 이용될 수 있다. 진동 센서 모듈(260)는 복수의 진동 센서를 구비할 수 있다. 진동 센서는 x, y, z 축의 진동을 각기 측정할 수 있는 것이 바람직하다. 복수의 진동 센서는 공작 기계(300)의 프레임이나, 기계적인 운동을 하는 부위에 부착될 수 있다.The vibration sensor module 260 and the noise sensor module 270 each include 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. The vibration sensor module 260 may include a plurality of vibration sensors. It is preferable that the vibration sensor can measure the vibrations of the x, y, and z axes, respectively. The plurality of vibration sensors may be attached to a frame of the machine tool 300 or a portion performing a mechanical motion.
소음 센서 모듈(270)은 복수의 소음 센서를 구비할 수 있다. 복수의 소음 센서는 공작 기계(300)의 프레임이나, 기계적인 운동을 하는 부위에 부착될 수 있다. 소음 센서 모듈(270)은 수집기 제어부(210)가 공작 기계(300)에서 발생하는 소리의 크기, 주파수 등의 분석을 할 수 있는 데이터를 측정할 수 있다.The noise sensor module 270 may include a plurality of noise sensors. The plurality of noise sensors may be attached to a frame of the machine tool 300 or a portion that performs a mechanical motion. The noise sensor module 270 may measure data that allows the collector control unit 210 to analyze the volume, frequency, etc. of the sound generated by the machine tool 300 .
전력량 측정 모듈(280)은 공작 기계(300)의 소비 전력을 측정할 수 있다. 측정된 소비 전력은 정상 소비 전력 패턴과의 비교의 기초, 또는/및 측정된 소비 전력 신호에 이상 파형이 있는지 여부의 기초가 될 수 있다. 측정된 소비 전력은 공작 기계(300)가 정상 동작 또는 이상 동작의 판단에 도움을 줄 수 있다.The power amount measurement module 280 may measure the power consumption of the machine tool 300 . The measured power consumption may be a basis for comparison with a normal power consumption pattern, and/or whether or not there is an abnormal waveform in the measured power consumption signal. The measured power consumption may help the machine tool 300 to determine a normal operation or an abnormal operation.
수집기 감지부(250)의 진동 센서 모듈(260)이 측정한 진동량, 소음 센서 모듈(270)이 측정한 소음량, 전력량 측정 모듈(280)이 측정한 전력량은 진단용 데이터 셋으로 정의될 수 있다.The amount of vibration measured by the vibration sensor module 260 of the collector detection unit 250, the amount of noise measured by the noise sensor module 270, and the amount of power measured by the power measurement module 280 may be defined as a diagnostic data set. .
수집기 제어부(210)는 통상적으로 상기 각부의 동작을 제어하여 데이터 수집기(200)의 전반적인 동작을 제어할 수 있다. 수집기 제어부(210)는 수집기 감지부(250)의 진동 센서 모듈(260)이 측정한 진동량, 소음 센서 모듈(270)이 측정한 소음량, 및 전력량 측정 모듈(280)이 측정한 전력량을 진단용 데이터 셋으로 취합하여 데이터베이스(110)로 전송할 수 있다.The collector control unit 210 may control the overall operation of the data collector 200 by generally controlling the operation of the respective units. The collector control unit 210 diagnoses the amount of vibration measured by the vibration sensor module 260 of the collector detection unit 250 , the amount of noise measured by the noise sensor module 270 , and the amount of power measured by the power measurement module 280 . It may 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 the state information label. The state information label may be a label (measured value, flag) indicating whether the machine tool 300 has a failure, a failure site, and the like.
상태 인지부(230)는 이송축과 회전축에 대한 상태 정보 라벨을 엔코더나 비전 등을 통해 수신할 수 있다. 상태 인지부(230)는 다양한 센서를 통해 공작 기계(300)에 대한 주변의 온도, 압력, 습도, 기울기 및 위치에 대한 정보를 수신할 수 있다. 상태 인지부(230)는 사용자에 의해 고장 여부와 고장 부위을 입력 받을 수 있다.The state recognition unit 230 may receive the state information label for the transfer shaft and the rotary shaft through an encoder or a vision. The state recognition unit 230 may receive information about the surrounding temperature, pressure, humidity, inclination and location of the machine tool 300 through various sensors. The state recognizing unit 230 may receive an input of whether or not there is a failure and a portion of the failure by the user.
수집기 제어부(210)는 진단용 데이터 셋과 상태 정보 라벨을 학습용 데이터 셋으로 취합하여 데이터베이스(110)로 전송할 수 있다.The collector control unit 210 may collect the diagnostic data set and the state information label as a learning data set and transmit it to the database 110 .
데이터베이스(110)는 데이터 수집기(200)에서 수집한 데이터 셋을 저장할 수 있다. 데이터베이스(110)는 학습 네트워크 모델, 학습 파라미터, 및 학습 결과를 저장할 수 있다.The database 110 may store the data set collected by the data collector 200 . The database 110 may store a learning network model, a learning parameter, and a learning result.
딥러닝 프레임워크(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 the query from the database 110 through the deep learning framework 120 .
딥러닝 프레임워크(120)는 쿼리를 입력받으면, 데이터베이스(110)에 저장된 학습 네트워크 모델에 대한 확인, 및/또는 수정하거나, 새로운 학습을 위한 학습 네트워크 모델을 생성할 수 있다. 딥러닝 프레임워크(120)는 입력된 쿼리에 따라 정보 또는 데이터와 학습 네트워크 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 실행할 수 있다. 딥러닝 프레임워크(120)는 기계학습 정도에 따라 학습 중간 결과 및 최종 결과를 제공할 수 있다.When receiving a query, the deep learning framework 120 may check and/or modify the learning network model stored in the database 110 , or generate 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 may select a data set and a pre-learned learning network model through an input query to execute machine inference, and provide the inference result as a 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 predictive models 140 including first and second failure diagnosis predictive models 140 - 1 and 140 - 2 . The failure diagnosis predictive model 140 may correspond to the above-described learning network model. For a detailed description, refer to FIGS. 1 to 8 .
고장 진단 예지 모델(140)은 공작 기계(300)의 고장이나 고장 예지로 분류한 결과를 출력하도록 학습된 분류 모델을 의미할 수 있다. 고장 진단 예지 모델(140)은 다양한 학습 알고리즘 중 하나와 복수의 진단용 데이터 셋 중 적어도 하나를 이용하여 학습을 통해 생성될 수 있다.The failure diagnosis predictive model 140 may refer to a classification model learned to output a result classified as a failure or failure prediction of the machine tool 300 . The failure diagnosis predictive model 140 may be generated through learning using one of various learning algorithms and at least one of a plurality of diagnostic data sets.
진단용 데이터 셋은 상태 인지부(230)를 구비하는 데이터 수집기(200)으로부터 수집되거나, 공개된 데이터베이스로부터 획득할 수 있다.The diagnostic data set may be collected from the data collector 200 having the state recognition unit 230 or may be obtained from a public database.
도 11 및 도 12는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템의 기계 학습 및 고장 진단과 예지에 대한 방법의 순서도이다. 도 9 및 도 10을 참조한다.11 and 12 are flowcharts of a method for machine learning and failure diagnosis and prediction 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). 데이터 수집기(200)는 공작 기계(300)의 상태 정보 라벨을 체크하는 상태 인지부(230), 및 공작 기계(300)의 진동량, 소음량, 및 전력량을 측정하는 감지부로부터, 상기 상태 정보 라벨, 진동량, 소음량, 및 전력량을 학습용 데이터 셋으로 취합하여, 데이터베이스(110)로 제공할 수 있다.Referring to FIG. 11 , the deep learning framework 120 may receive a training query (Call Train) from the user terminal 130 (S510). The data collector 200 includes a state recognition unit 230 for checking the state information label of the machine tool 300, and a detection unit for measuring the amount of vibration, noise, and power of the machine tool 300, the state information The label, the amount of vibration, the amount of noise, and the amount of power may be collected as a training 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 the suitability determination data set (S520).
딥러닝 프레임워크(120)는 기저장된 복수의 학습 네트워크 모델(140) 중 적합성 판단용 데이터 셋(DS)에 적합한 모델이 있는지, 적합 모델 존재 여부를 판단할 수 있다(S530). 적합 모델 존재 여부는 고장 진단 예지 모델(140)의 데이터 셋과 적합성 판단용 데이터 셋의 대응 여부, 적합성 판단용 데이터 셋에 따른 고장 진단이나 예측의 정확성 정도 등을 기초로 적합한 모델이 있는지 판단될 수 있다.The deep learning framework 120 may determine whether there is a model suitable for the data set DS for determining suitability among the plurality of pre-stored learning network models 140 or whether a suitable model exists ( S530 ). Whether a suitable model exists can be determined based on whether the data set of the failure diagnosis predictive model 140 and the data set for determination of suitability correspond, and the degree of accuracy of failure diagnosis or prediction according to the data set for determination of suitability. have.
적합 모델 존재 여부 판단(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 predictive model 140 . To this end, the deep learning framework 120 initializes (S540) a network (NN) according to the learning query, configures the network (NN), and updates the network (NN) as necessary ( S550) can be done. The deep learning framework 120 may initialize all layers of the configured network NN (S560). For 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 perform 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 predictive model 140-1, and predicts the first failure diagnosis It may be determined whether the model 140-1 needs to be modified (S535). If it is necessary to modify the first failure diagnosis predictive model 140-1, the deep learning framework 120 performs steps S540, S550, S560, and S580 to add it to the first failure diagnosis predictive model 140-1 can be taught with
제1 고장 진단 예지 모델(140-1)에 수정이 필요한 지 판단하는 기준은 다양할 수 있다. 예를 들어, 제1 고장 진단 예지 모델(140-1)의 생성일이 기 설정한 기간 보다 오래 되었거나, 수정이 필요하다는 태그가 붙어 있는 등의 예가 있을 수 있다.Criteria for determining whether the first failure diagnosis predictive model 140-1 needs to be modified may vary. For example, there may be examples such as the creation date of the first failure diagnosis predictive model 140 - 1 being older than a preset period, or a tag indicating that correction is required.
제1 고장 진단 예지 모델(140-1)의 수정 여부의 판단은 적합 모델 여부 판단(S530)에서 동시에 이루어 질 수도 있다. 이 경우, 제1 고장 진단 예지 모델(140-1)의 네트워크가 초기화 되어 구성되어, 레이어가 초기화 되어 있을 수 있다. 따라서 수정이 필요하면, 딥러닝 프레임워크(120)는 해당 제1 고장 진단 예지 모델(140-1)에 곧장 학습(S580)을 실행되도록 할 수 있다.The determination of whether the first failure diagnosis predictive model 140 - 1 is modified may be simultaneously performed in the determination of whether the first failure diagnosis predictive model 140 - 1 is a suitable model ( S530 ). In this case, the network of the first failure diagnosis predictive model 140-1 may be initialized and configured, and the layers may be initialized. Therefore, if correction is necessary, the deep learning framework 120 may directly execute the learning ( S580 ) on the first failure diagnosis predictive model 140 - 1 .
딥러닝 프레임워크(120)는 학습 실행(S580)이 종료되면 결과를 사용자 단말기(130)에 제공(S590)하고, 상기 종료된 학습 네트워크 모델을 데이터베이스(110)에 저장할 수 있다.When the learning execution (S580) is finished, the deep learning framework 120 may provide a result to the user terminal 130 (S590) and store the finished 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 ( S640 ) a suitable first failure diagnosis predictive model 140 - 1 from among the plurality of failure diagnosis predictive models 140 . The first failure diagnosis predictive model 140 - 1 may be selected and called by a user input.
딥러닝 프레임워크(120)는 제1 고장 진단 예지 모델(140-1)에 따른 네트워크(NN)를 구성(S650)하고, 상기 네트워크(NN)의 모든 레이어에 대한 초기화(S660)가 이루어지면 진단용 데이터 셋을 기초로 추론을 실행(S670)할 수 있다.The deep learning framework 120 configures the network NN according to the first failure diagnosis predictive model 140-1 (S650), and when initialization (S660) for all layers of the network NN is made, for diagnosis Inference may be executed based on the data set (S670).
추론 실행(S670)이 종료되면, 딥러닝 프레임워크(120)는 공작 기계(300)의 고장을 진단 및 예측(S680)할 수 있다.When the reasoning execution (S670) is finished, the deep learning framework 120 may diagnose and predict the failure of the machine tool 300 (S680).
상기 본 발명은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 즉, 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터가 읽을 수 있는 명령어, 데이터 구조, 프로그램 모듈, 및 기타 데이터 등 정보 저장을 위한 임의의 방법 또는 기술로서 구현된 모든 저장 가능한 매체를 포함하는 것으로, 휘발성/비휘발성/하이브리드형 메모리 여부, 분리형/비분리형 여부 등에 한정되지 않는다. 통신 저장 매체 는 반송파와 같은 변조된 데이터 신호 또는 전송 메커니즘, 임의의 정보 전달 매체 등을 포함한다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention may be implemented in hardware or software. 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. The computer readable medium includes any type of medium 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 as any method or technology for information storage, such as computer-readable instructions, data structures, program modules, and other data, and includes volatile/nonvolatile/hybrid memory. Whether or not, it is not limited to whether the detachable / non-separable type. Communication storage media includes a modulated data signal or transmission mechanism, such as a carrier wave, any information delivery media, and the like. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention pertains.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.In addition, although preferred embodiments of the present invention have been illustrated 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 as claimed in the claims In addition, various modifications are possible by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or prospect of the present invention.
<부호의 설명><Explanation of code>
100: 쿼리 기반 딥러닝 추론 시스템 110: 데이터베이스100: query-based deep learning inference system 110: database
120: 딥러닝 프레임워크 130: 사용자 단말기120: deep learning framework 130: user terminal
140: 고장 진단 예지 모델 200: 데이터 수집기140: diagnostic predictive model 200: data collector
Claims (7)
- 사용자 단말기 및 데이터베이스와 연동하는 딥러닝 프레임워크의 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법으로서,As a machine tool predictive maintenance method using a query-based deep learning inference system of a deep learning framework that works with user terminals and databases,상기 사용자 단말기로부터 학습 쿼리(Call Train)를 입력받는 단계;receiving a learning query (Call Train) from the user terminal;데이터 수집기에서 제공하는 공작 기계의 진동량, 소음량, 및 전력량, 및 상기 공작 기계의 고장 여부를 나타내는 상태 정보 라벨인 학습용 데이터 셋 중 적어도 일부를 적합성 판단용 데이터 셋으로 하여, 복수의 고장 진단 예지 모델 중 상기 적합성 판단용 데이터 셋에 적합한 고장 진단 예지 모델이 있는지 판단하는 적합 모델 존재 여부 판단 단계;A plurality of failure diagnosis predictions are made by using at least a part of the training data set, which is a state information label indicating the machine tool's vibration amount, noise level, and electric power provided by the data collector, and whether the machine tool is faulty as a suitability judgment data set. a determination step of whether a suitable model exists for determining whether there is a failure diagnosis predictive model suitable for the data set for determination of suitability among models;상기 적합 모델 여부 존재 판단 결과 적합한 고장 진단 예지 모델이 없는 경우, 상기 학습 쿼리에 따라 네트워크 초기화하고, 상기 네트워크를 구성하는 단계;when there is no suitable failure diagnosis predictive model as a result of determining whether the suitable model exists, initializing a network according to the learning query and configuring the network;상기 구성된 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 수집된 학습용 데이터 셋을 이용하여 학습을 실행하는 학습 실행 단계; 및a learning execution step of executing learning using the collected learning data set when all layers of the configured network are initialized; and상기 학습 실행이 종료되면 결과를 제공하고 상기 종료된 고장 진단 예지 모델을 저장하는 단계;를 포함하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법.When the learning execution is finished, providing a result and storing the finished failure diagnosis predictive model; a machine tool predictive maintenance method using a query-based deep learning inference system comprising a.
- 제 1 항에 있어서,The method of claim 1,상기 사용자 단말기로부터 추론 쿼리(Call Test)를 입력받는 단계;receiving an inference query (Call Test) from the user terminal;상기 데이터 수집기로부터 상기 공작 기계의 진동량, 소음량, 및 전력량을 구비하는 진단용 데이터 셋을 수집하는 단계;collecting a diagnostic data set having an amount of vibration, noise, and power of the machine tool from the data collector;상기 진단용 데이터 셋을 분석하여 상기 복수의 고장 진단 예지 모델 중 적합한 고장 진단 예지 모델을 호출하는 단계;calling an appropriate failure diagnosis predictive model from among the plurality of failure diagnosis predictive models by analyzing the diagnostic data set;상기 적합한 고장 진단 예지 모델에 따른 네트워크를 구성하고, 상기 네트워크의 모든 레이어에 대한 초기화가 이루어지면 상기 진단용 데이터 셋을 기초로 추론을 실행하는 추론 실행 단계; 및a reasoning execution step of constructing a network according to the suitable failure diagnosis predictive model and executing reasoning based on the diagnostic data set when all layers of the network are initialized; and상기 추론 실행이 종료되면 상기 공작 기계의 고장을 진단하고, 고장을 예측하는 단계;를 더 포함하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법.Diagnosing the failure of the machine tool when the reasoning execution is finished, and predicting the failure; Machine tool predictive maintenance method using a query-based deep learning inference system further comprising a.
- 제 1 항에 있어서,The method of claim 1,상기 학습 실행 단계는 상기 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장(Store Result & Model)하고,The learning execution step acquires batch data until the end of the learning (Get Batch Data) and stores the results and model by iteration (Store Result & Model),상기 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 상기 모델 컨버터를 통하여 ONNX, NNEF 및 학습파라미터 바이어스를 포함하는 모델 Weight 파일을 구조화된 포맷으로 변환하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법.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 bias into a structured format through the model converter when information or data is exported from the database to the outside.
- 제 2 항에 있어서,3. The method of claim 2,상기 추론 실행 단계는 상기 추론 테스트(Test)를 실행하고, 테스트 데이터를 획득하여(Get Test Data) 피드 포워드(feedforward)하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 방법.The reasoning execution step is a machine tool predictive maintenance method using a query-based deep learning inference system that executes the reasoning test (Test), obtains test data (Get Test Data), and feeds forward (feedforward).
- 공작 기계의 진동량, 소음량, 및 전력량을 측정하는 감지부, 및 상기 공작 기계의 상태 정보를 체크하는 상태 인지부로부터 상기 진동량, 소음량, 전력량, 및 상태 정보 라벨을 학습용 데이터 셋으로 수집하는 데이터 수집기;The vibration amount, noise amount, power amount, and state information label are collected as a learning data set from a detection unit that measures the amount of vibration, noise, and electric power of the machine tool, and a state recognition unit that checks the state information of the machine tool data collector;상기 학습용 데이터 셋, 학습 네트워크 모델, 학습 파라미터, 및 학습 결과를 저장하는 데이터베이스;a database for storing the training data set, a training network model, training parameters, and a learning result;상기 데이터베이스에 플러그인 방식으로 연결되고, 상기 데이터베이스에 저장된 정보 또는 데이터에 대한 확인, 수정 및 새로운 데이터를 추가하는 딥러닝 프레임워크; 및a deep learning framework connected to the database in a plug-in manner, checking, correcting, and adding 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; includes,상기 딥러닝 프레임워크는, 상기 쿼리를 입력받으면, 상기 데이터베이스에 저장된 고장 진단 예지 모델에 대한 확인 및 수정하거나, 새로운 학습을 위한 고장 진단 예지 모델을 생성하며, 상기 입력된 쿼리에 따라 정보 또는 데이터와 고장 진단 예지 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 실행하고, 학습 중간 결과 및 최종 결과를 제공하며, 상기 입력된 쿼리를 통하여 데이터와 기 학습된 고장 진단 예지 모델을 선택하여 기계추론을 실행하고, 그 추론 결과를 고장 진단 및 고장 예지로 제공하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템.The deep learning framework, upon receiving the query, checks and corrects the failure diagnosis predictive model stored in the database, or generates a failure diagnosis predictive model for new learning, and includes information or data according to the input query. Execute machine learning by selecting a failure diagnosis predictive model and setting learning parameters, providing an intermediate learning result and final result, and executing machine inference by selecting data and a pre-learned failure diagnosis predictive model through the input query and a machine tool predictive maintenance system using a query-based deep learning inference system that provides the inference result as failure diagnosis and failure prediction.
- 제 5 항에 있어서,6. The method of claim 5,상기 고장 진단 예지 모델은, 기계학습에 사용되는 모델로 입출력과 모델 내부를 정의하는 파라미터 그리고 기계학습, 추론에 필요한 파라미터들로 구성되고, 상기 데이터베이스에 관계형 데이터 형식으로 저장되며, 컨버터를 통하여 다른 딥러닝 프레임워크로 변환 가능한 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템.The failure diagnosis predictive model is a model used for machine learning, and is composed of input/output and parameters defining the inside of the model, and parameters necessary for machine learning and inference, and is stored in the database in a relational data format, and other deep Machine tool predictive maintenance system using a query-based deep learning inference system that can be converted into a learning framework.
- 제 5 항에 있어서,6. The method of claim 5,상기 데이터베이스는 기계학습, 기계추론에 사용된 모든 입출력 데이터를 저장하고, 기계학습, 기계추론에 사용된 모델을 저장하며, 사용자의 쿼리 요청에 대응하는 프로시저(procedure)를 제공하는 쿼리 기반 딥러닝 추론 시스템을 이용한 공작 기계 예지 보전 시스템.The database stores all input and output data used for machine learning and machine inference, stores models used for machine learning and machine inference, and provides a procedure corresponding to a user's query request. Machine tool predictive maintenance system using an inference system.
Applications Claiming Priority (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 |
KR10-2020-0157167 | 2020-11-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022108029A1 true WO2022108029A1 (en) | 2022-05-27 |
Family
ID=81709336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102568010B1 (en) |
WO (1) | WO2022108029A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180134994A (en) * | 2016-04-18 | 2018-12-19 | 구글 엘엘씨 | Automated Assistant invocation of the appropriate agent |
KR101987365B1 (en) * | 2018-11-26 | 2019-06-10 | (주)위세아이텍 | A system and method for predicting military equipment failure based on artificial intelligence using unstructured data |
US20200004595A1 (en) * | 2018-06-27 | 2020-01-02 | Amazon Technologies, Inc. | Fault-tolerant accelerator based inference service |
KR20200048629A (en) * | 2018-10-30 | 2020-05-08 | 한국전자통신연구원 | Method for converting neural network model and apparatus therefor |
KR20200110979A (en) * | 2019-03-18 | 2020-09-28 | 스퀘어네트 주식회사 | Predictive maintenance system for defects in plant facilities |
Family Cites Families (3)
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 |
JP6742565B2 (en) * | 2018-05-02 | 2020-08-19 | 三菱電機株式会社 | Learning device, verification device, data processing system, and data processing method |
KR102058124B1 (en) | 2019-01-25 | 2019-12-23 | (주)비아이매트릭스 | A system for adding deep-learning forecaset data by using an OLAP data with pivot table |
-
2020
- 2020-11-20 KR KR1020200157167A patent/KR102568010B1/en active IP Right Grant
-
2021
- 2021-06-22 WO PCT/KR2021/007830 patent/WO2022108029A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180134994A (en) * | 2016-04-18 | 2018-12-19 | 구글 엘엘씨 | Automated Assistant invocation of the appropriate agent |
US20200004595A1 (en) * | 2018-06-27 | 2020-01-02 | Amazon Technologies, Inc. | Fault-tolerant accelerator based inference service |
KR20200048629A (en) * | 2018-10-30 | 2020-05-08 | 한국전자통신연구원 | 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 |
KR20200110979A (en) * | 2019-03-18 | 2020-09-28 | 스퀘어네트 주식회사 | Predictive maintenance system for defects in plant facilities |
Also Published As
Publication number | Publication date |
---|---|
KR102568010B1 (en) | 2023-08-22 |
KR20220069738A (en) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023287064A1 (en) | Method and system for constructing training database by using automatic abnormal data detection and automatic labeling technology | |
WO2020071877A1 (en) | System and method for searching for pathological image | |
WO2022231392A1 (en) | Method and device for implementing automatically evolving platform through automatic machine learning | |
WO2023043215A1 (en) | Industry facility operation control device based on standard operation level evaluation, and operation method for same | |
WO2022146050A1 (en) | Federated artificial intelligence training method and system for depression diagnosis | |
CN103064299A (en) | In-the-loop simulation test and control system of wind generating set and test method thereof | |
CN115327270A (en) | Transformer small sample fault diagnosis system based on data-model driving | |
WO2021248769A1 (en) | Method, apparatus and system for monitoring operating state of electromechanical device | |
WO2022092415A1 (en) | Decision-making agent generating apparatus and method | |
WO2022108029A1 (en) | Machine tool predictive maintenance system using query-based deep learning inference system, and method for same | |
WO2020032561A2 (en) | Disease diagnosis system and method using multiple color models and neural network | |
WO2022030669A1 (en) | Query-based deep learning inference system and method therefor | |
WO2023043019A1 (en) | Device and method for reinforcement learning based on user learning environment | |
CN109799787A (en) | Smart camshaft grinding process software database system based on digital control system | |
WO2021145511A1 (en) | Cooking apparatus using artificial intelligence and method for operating same | |
WO2022080666A1 (en) | Artificial intelligence learning-based user knowledge tracking device, system, and control method thereof | |
WO2022191513A1 (en) | Data augmentation-based knowledge tracking model training device and system, and operation method thereof | |
WO2022102982A1 (en) | User participation-based artificial intelligence service method and device for performing same method | |
WO2022057564A1 (en) | Communication method and apparatus, and system | |
WO2015020361A1 (en) | Optimization system based on petri net and launching recommender, and method for implementing same | |
WO2022055020A1 (en) | Automated machine learning method and apparatus therefor | |
EP3699775A1 (en) | Predictive graph query system for automation engineering systems | |
WO2022092521A1 (en) | Method for controlling state control parameter for adjusting state of network of base station by using any one of plurality of models, and electronic device for performing same | |
WO2022114655A1 (en) | Cloud-based device artificial intelligence configuration system and method | |
WO2021221201A1 (en) | Tagging method and tagging apparatus for iot device based on neural network model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21894807 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21894807 Country of ref document: EP Kind code of ref document: A1 |