KR102700445B1 - System for generating automatically machine learning model pipeline based on data - Google Patents
System for generating automatically machine learning model pipeline based on data Download PDFInfo
- Publication number
- KR102700445B1 KR102700445B1 KR1020220166600A KR20220166600A KR102700445B1 KR 102700445 B1 KR102700445 B1 KR 102700445B1 KR 1020220166600 A KR1020220166600 A KR 1020220166600A KR 20220166600 A KR20220166600 A KR 20220166600A KR 102700445 B1 KR102700445 B1 KR 102700445B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- operator
- machine learning
- learning model
- operators
- Prior art date
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 89
- 238000007405 data analysis Methods 0.000 claims abstract description 23
- 238000007781 pre-processing Methods 0.000 claims abstract description 22
- 238000013480 data collection Methods 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 18
- 230000006870 function Effects 0.000 description 26
- 230000018109 developmental process Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001012 protector Effects 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/72—Data preparation, e.g. statistical preprocessing of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템에 관한 것으로, 사용자에 의해 업로드 된 데이터를 수집하는 데이터 수집장치와, 데이터 수집장치로부터 수집된 데이터에 대해 전처리를 수행하고, 전문가 또는 비전문가에 의해 기존에 생성되어 미리 저장된 사용자 생성 오퍼레이터들 중에서 다른 사용자들의 사용 횟수에 따른 기 설정된 사용자 인기도에 따라 사용자 인기 오퍼레이터들을 추천함과 아울러 해당 추천된 사용자 인기 오퍼레이터들 중에서 해당 분류된 카테고리와 동일하거나 유사한 카테고리에 해당하는 유사한 오퍼레이터들을 추천하는 데이터 분석장치와, 데이터 분석장치로부터 추천된 유사한 오퍼레이터들을 바탕으로 별도의 오퍼레이터 데이터베이스를 이용하여 해당 추천된 유사한 오퍼레이터들에 대한 정보데이터를 로딩하는 오퍼레이터 로더장치와, 오퍼레이터 로더장치로부터 로딩된 유사한 오퍼레이터들에 대한 정보데이터를 기반으로 특정 머신러닝 모델의 생성을 진행할 수 있도록 파이프라인을 자동으로 구성하여 해당 특정 머신러닝 모델에 대한 파이프라인을 생성하는 오퍼레이터 구성장치를 포함함으로써, 비전문가도 손쉽게 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(MLOps)을 한 번에 구성할 수 있는 효과가 있다.The present invention relates to a system for automatically generating a data-based machine learning model pipeline, comprising: a data collection device which collects data uploaded by a user; a data analysis device which performs preprocessing on the data collected from the data collection device, recommends user-popular operators among user-generated operators previously generated by experts or non-experts and stored in advance according to preset user popularity based on the number of times other users have used them, and recommends similar operators corresponding to a categorized category or the same category among the recommended user-popular operators; an operator loader device which loads information data on the recommended similar operators using a separate operator database based on the similar operators recommended from the data analysis device; and an operator configuration device which automatically configures a pipeline so that a specific machine learning model can be generated based on the information data on the similar operators loaded from the operator loader device, thereby enabling non-experts to easily configure machine learning model development (ML Dev) and machine learning model operation (MLOps) at the same time.
Description
본 발명은 데이터 기반의 머신러닝(Machine Learning) 모델 파이프라인을 자동으로 생성하기 위한 시스템에 관한 것이다.The present invention relates to a system for automatically generating a data-based machine learning model pipeline.
최근에 기하급수적으로 증가하는 빅데이터의 양은 제타바이트를 넘어서서 요타바이트까지 등장하게 되었다.The amount of big data that has been growing exponentially in recent years has gone beyond zettabytes and even reached yottabytes.
이러한 방대한 데이터 분석을 직접 수기로 하기보다 최근에는 자동으로 분석하기 위해 머신러닝 모델 개발(Machine Learning Developments, ML Dev)의 자동화에 대한 연구가 활발히 이루어지고 있으며, 개발된 머신러닝 모델을 운영하기 위한 머신러닝 모델 운영(Machine Learning Operations, ML Ops)의 각 서비스마다 점차 도입이 많이 되어지고 있는 추세이다.Rather than manually analyzing such massive data, research has been actively conducted recently on automating machine learning model development (Machine Learning Developments, ML Dev) to automatically analyze it, and machine learning model operations (Machine Learning Operations, ML Ops) to operate the developed machine learning models are gradually being introduced in each service.
하지만, 머신러닝 모델 개발(ML Dev)의 경우에는 전문가가 아니면 데이터 분석이 어렵고, 전문가더라도 수작업이 많이 들어가는 작업이다 보니 일의 효율성이 떨어질 수 있다. 이 때문에 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(ML Ops)을 통합하여 자동으로 머신러닝 모델을 개발하고, 운영하는 단계까지 비전문가에게도 서비스를 할 수 있도록 머신러닝 모델 생성 자동화 및 운영 시스템의 개발이 필요한 실정이다.However, in the case of machine learning model development (ML Dev), data analysis is difficult for non-experts, and even for experts, it is a task that requires a lot of manual work, so work efficiency may decrease. Therefore, it is necessary to develop a machine learning model creation automation and operation system that can provide services to non-experts up to the stage of automatic machine learning model development and operation by integrating machine learning model development (ML Dev) and machine learning model operation (ML Ops).
한편, 다양한 머신러닝 플랫폼(Platform)과 도구가 많아져 선택의 폭과 다양성은 많아졌지만, 이로 인해 오히려 복잡성이 높아지고 점점 통일성이 없어지는 문제점들이 발생되고 있다. 이러한 문제점으로 인해 머신러닝의 영역은 전문가의 영역으로 자리를 잡아가고 있게 되면서 비전문가들의 진입장벽이 높아지고 있어 서비스를 운영하려는 사람들의 고충이 많아지고 있다.On the other hand, the variety of machine learning platforms and tools has increased, which has increased the range and variety of choices, but this has also caused problems such as increased complexity and a lack of uniformity. Due to these problems, the field of machine learning is becoming a field for experts, and the barrier to entry for non-experts is rising, which is causing many difficulties for those trying to operate services.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 전문가 및/또는 비전문가가 미리 만들어놓은 오퍼레이터(Operator)를 활용해서 비전문가도 손쉽게 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(ML Ops)을 한 번에 구성할 수 있도록 한 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템을 제공하는데 있다.The present invention has been made to solve the above-mentioned problems, and the purpose of the present invention is to provide a system for automatically generating a data-based machine learning model pipeline that allows even non-experts to easily configure machine learning model development (ML Dev) and machine learning model operation (ML Ops) at once by utilizing operators created in advance by experts and/or non-experts.
전술한 목적을 달성하기 위하여 본 발명의 일 측면은, 사용자에 의해 업로드 된 데이터를 수집하는 데이터 수집장치; 상기 데이터 수집장치로부터 수집된 데이터에 대해 전처리를 수행하고, 전문가 또는 비전문가에 의해 기존에 생성되어 미리 저장된 사용자 생성 오퍼레이터들 중에서 다른 사용자들의 사용 횟수에 따른 기 설정된 사용자 인기도에 따라 사용자 인기 오퍼레이터들을 추천함과 아울러 해당 추천된 사용자 인기 오퍼레이터들 중에서 해당 분류된 카테고리와 동일하거나 유사한 카테고리에 해당하는 유사한 오퍼레이터들을 추천하는 데이터 분석장치; 상기 데이터 분석장치로부터 추천된 유사한 오퍼레이터들을 바탕으로 별도의 오퍼레이터 데이터베이스(DB)를 이용하여 해당 추천된 유사한 오퍼레이터들에 대한 정보데이터를 로딩(loading)하는 오퍼레이터 로더장치; 및 상기 오퍼레이터 로더장치로부터 로딩된 유사한 오퍼레이터들에 대한 정보데이터를 기반으로 특정 머신러닝 모델의 생성을 진행할 수 있도록 파이프라인을 자동으로 구성하여 해당 특정 머신러닝 모델에 대한 파이프라인을 생성하는 오퍼레이터 구성장치를 포함하는 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템을 제공하는 것이다.In order to achieve the above-mentioned object, one aspect of the present invention provides a system for automatically generating a data-based machine learning model pipeline, which includes: a data collection device that collects data uploaded by a user; a data analysis device that performs preprocessing on the data collected from the data collection device, recommends user-popular operators among user-generated operators previously generated by experts or non-experts and stored in advance according to a preset user popularity based on the number of times other users have used them, and recommends similar operators that fall into a category identical to or similar to a corresponding classified category among the recommended user-popular operators; an operator loader device that loads information data on the recommended similar operators using a separate operator database (DB) based on the similar operators recommended from the data analysis device; and an operator configuration device that automatically configures a pipeline so that a specific machine learning model can be generated based on the information data on the similar operators loaded from the operator loader device, thereby generating a pipeline for the specific machine learning model.
여기서, 상기 데이터 분석장치는, 상기 데이터 수집모듈로부터 수집된 데이터에 대해 전처리를 수행하는 데이터 전처리 모듈; 상기 데이터 전처리 모듈로부터 전처리 수행된 데이터를 제공받아 미리 라벨링과 학습이 완료된 YOLO 모델을 이용하여 해당 전처리 수행된 데이터가 어떤 카테고리에 속하는지 분류하는 데이터 카테고리 분류모듈; 상기 데이터 카테고리 분류모듈로부터 카테고리 분류된 데이터를 제공받아 이를 기반으로 전문가 또는 비전문가에 의해 기존에 생성되어 미리 저장된 사용자 생성 오퍼레이터들 중에서 다른 사용자들의 사용 횟수에 따른 기 설정된 사용자 인기도에 따라 사용자 인기 오퍼레이터들을 추천하는 인기 오퍼레이터 추천모듈; 및 상기 인기 오퍼레이터 추천모듈로부터 추천된 사용자 인기 오퍼레이터들을 제공받아 이를 기반으로 해당 추천된 사용자 인기 오퍼레이터들 중에서 해당 분류된 카테고리와 동일하거나 유사한 카테고리에 해당하는 유사한 오퍼레이터들을 추천함과 아울러 해당 추천된 유사한 오퍼레이터들에 대해 이전에 다른 사용자가 사용한 기 설정된 하이퍼 파라미터(Hyper parameter) 값도 함께 추출하는 유사 오퍼레이터 추천모듈을 포함함이 바람직하다.Here, the data analysis device preferably includes a data preprocessing module that performs preprocessing on data collected from the data collection module; a data category classification module that receives data on which preprocessing has been performed from the data preprocessing module and classifies which category the data on which preprocessing has been performed belongs using a YOLO model that has been labeled and learned in advance; a popular operator recommendation module that receives data classified into categories from the data category classification module and recommends user-popular operators based on preset user popularity according to the number of times other users have used the operator, among user-generated operators that have been previously created and stored by experts or non-experts; and a similar operator recommendation module that receives recommended user-popular operators from the popular operator recommendation module and recommends similar operators corresponding to a category identical to or similar to the classified category among the recommended user-popular operators based on the recommended user-popular operators, and also extracts preset hyper parameter values previously used by other users for the recommended similar operators.
바람직하게, 상기 데이터 전처리 모듈은, 상기 데이터 수집모듈로부터 수집된 데이터 중에서 이미지 데이터에 대해서, 카테고리 분류를 정확하게 하기 위하여 해당 이미지 데이터의 선명도 조절이나 분류하고 싶은 부분에 대한 이미지 삭제 또는 확대의 이미지 전처리 작업을 자동으로 수행할 수 있다.Preferably, the data preprocessing module can automatically perform image preprocessing tasks such as adjusting the sharpness of the image data or deleting or enlarging the image of a portion to be classified in order to accurately classify the category of the image data among the data collected from the data collection module.
바람직하게, 상기 유사 오퍼레이터 추천모듈로부터 추천된 유사한 오퍼레이터들의 기 설정된 하이퍼 파라미터 값을 사용자에 의해 수정이 가능하도록 해당 하이퍼 파라미터의 수정을 위한 입력창을 제공하는 하이퍼 파라미터 수정모듈이 더 포함될 수 있다.Preferably, a hyper parameter modification module may be further included to provide an input window for modifying the hyper parameters so that the preset hyper parameter values of the similar operators recommended from the similar operator recommendation module can be modified by the user.
바람직하게, 상기 오퍼레이터는, 전문가 또는 비전문가가 해당 특정 머신러닝 모델을 개발하기 위한 하나의 과정으로, 데이터 워크플로우의 단계별 수행 작업들을 모듈화하여 이루어질 수 있다.Preferably, the operator can modularize the step-by-step execution tasks of the data workflow as a single process for an expert or non-expert to develop a specific machine learning model.
바람직하게, 상기 오퍼레이터 구성장치로부터 생성된 특정 머신러닝 모델에 대한 파이프라인의 정보데이터를 제공받아 상기 데이터 수집장치로부터 수집된 데이터를 기반으로 상기 데이터 분석장치, 상기 오퍼레이터 로더장치, 및 상기 오퍼레이터 구성장치의 작업 과정이 순차적으로 자동 수행되도록 테스트하는 오퍼레이터 테스터장치가 더 포함될 수 있다.Preferably, the system may further include an operator tester device that receives information data of a pipeline for a specific machine learning model generated from the operator configuration device and tests the data analysis device, the operator loader device, and the operator configuration device's work processes to be automatically performed sequentially based on the data collected from the data collection device.
바람직하게, 상기 오퍼레이터 테스터장치는, 해당 테스트 수행되는 특정 머신러닝 모델의 오퍼레이터에 대한 하이퍼 파라미터 값이 사용자에 의해 변경될 수 있도록 사용자 맞춤형 하이퍼 파라미터 변경을 위한 사용자 인터페이스 환경설정을 제공할 수 있다.Preferably, the operator tester device may provide a user interface environment setting for custom hyperparameter changes so that the hyperparameter values for the operator of a specific machine learning model being tested can be changed by the user.
바람직하게, 상기 오퍼레이터 테스터장치로부터 테스트 수행이 완료된 특정 머신러닝 모델의 결과 정보데이터를 제공받아 이를 기반으로 해당 테스트 수행이 완료된 특정 머신러닝 모델에 대한 오퍼레이터와 함께 해당 오퍼레이터에 부여된 하이퍼 파라미터 값을 별도의 오퍼레이터 데이터베이스(DB)에 저장되도록 관리하는 오퍼레이터 저장장치가 더 포함될 수 있다.Preferably, an operator storage device may be further included that receives result information data of a specific machine learning model for which test execution has been completed from the operator tester device, and manages the hyperparameter values assigned to the operator together with the operator for the specific machine learning model for which test execution has been completed based on the data, and stores them in a separate operator database (DB).
바람직하게, 상기 오퍼레이터 저장장치는, 해당 테스트 수행이 완료된 특정 머신러닝 모델에 대한 오퍼레이터와 함께 해당 오퍼레이터에 부여된 하이퍼 파라미터 값을 유선 또는 무선 통신방식으로 특정 머신러닝 모델을 운영해야 할 특정의 서버에 자동 배포되도록 서비스를 제공할 수 있다.Preferably, the operator storage device can provide a service to automatically distribute, through wired or wireless communication, the operator for a specific machine learning model for which the test execution has been completed, together with the hyperparameter values assigned to the operator, to a specific server that must operate the specific machine learning model.
이상에서 설명한 바와 같은 본 발명의 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템에 따르면, 전문가 및/또는 비전문가가 미리 만들어놓은 오퍼레이터(Operator)를 활용해서 비전문가도 손쉽게 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(ML Ops)을 한 번에 구성할 수 있는 이점이 있다.According to the system for automatically generating a data-based machine learning model pipeline of the present invention as described above, there is an advantage in that even non-experts can easily configure machine learning model development (ML Dev) and machine learning model operation (ML Ops) at once by utilizing operators created in advance by experts and/or non-experts.
또한, 본 발명에 따르면, 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(ML Ops) 사이에 발생하는 데이터와 모델 성능 차이를 최소화하고 비전문가도 자동으로 운영할 수 있는 머신러닝 모델 운영(ML Ops) 개발을 통해 데이터 분석 및 서비스 개발을 대중화할 수 있는 이점이 있다.In addition, according to the present invention, there is an advantage in that the data and model performance differences occurring between machine learning model development (ML Dev) and machine learning model operation (ML Ops) can be minimized, and data analysis and service development can be popularized through the development of machine learning model operation (ML Ops) that can be automatically operated even by non-experts.
또한, 본 발명에 따르면, 다수의 데이터를 수집하고, 수집된 데이터를 기반으로 머신러닝 모델을 개발하는데 전문가만큼의 지식을 보유하고 있지 않더라도 데이터 분석이 가능하고, 서비스 개발을 대중화하는데 도움을 줄 수 있는 이점이 있다.In addition, according to the present invention, there is an advantage in that data analysis is possible even without having the level of knowledge of an expert in collecting a large amount of data and developing a machine learning model based on the collected data, and this can help popularize service development.
또한, 본 발명에 따르면, 전문가들은 한번 했던 작업을 또 작업해야하는 번거로움을 줄일 수 있어 작업의 효율성을 극대화할 수 있을 뿐만 아니라 전문가 본인이 한 작업이 아니지만, 다른 전문가가 동일한 작업을 진행한 것이 있는 경우에도 불러와서 사용할 수 있기 때문에 작업의 효율성을 증가시킬 수 있는 이점이 있다.In addition, according to the present invention, experts can maximize the efficiency of work by reducing the hassle of having to do work that they have already done, and even if the work is not done by the expert himself, but is done by another expert, the expert can retrieve and use the work, so there is an advantage in that the efficiency of the work can be increased.
또한, 본 발명에 따르면, 비전문가 같은 경우에는 머신러닝을 운영할 수 있는 지식을 습득할 수 있는 별도의 학습할 시간이 필요하게 되지만, 본 시스템을 사용하게 되면 기존의 학습 시간대비 훨씬 줄어들 것을 기대할 수 있으며, 또 서비스에 머신러닝을 적용하기 위해 본 시스템을 사용하면서 학습 시간을 줄임으로써 더 품질이 좋은 서비스를 기대할 수 있게 되어 글로벌 시장까지 영향을 줄 수 있는 이점이 있다.In addition, according to the present invention, in the case of non-experts, a separate learning time is required to acquire the knowledge to operate machine learning, but when using this system, it can be expected that the learning time will be significantly reduced compared to the existing learning time, and also, by reducing the learning time when using this system to apply machine learning to a service, better quality services can be expected, which has the advantage of influencing the global market.
도 1은 본 발명의 일 실시예에 따른 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템을 설명하기 위한 전체적인 블록 구성도이다.FIG. 1 is an overall block diagram illustrating a system for automatically generating a data-based machine learning model pipeline according to one embodiment of the present invention.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.The above-mentioned objects, features and advantages are described in detail below with reference to the attached drawings, so that those with ordinary knowledge in the technical field to which the present invention pertains can easily practice the technical idea of the present invention. In explaining the present invention, if it is judged that a detailed description of a known technology related to the present invention may unnecessarily obscure the gist of the present invention, a detailed description thereof will be omitted.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Terms including ordinal numbers such as first, second, etc. may be used to describe various components, but the components are not limited by the terms. The terms are only used for the purpose of distinguishing one component from another. For example, the first component may be referred to as the second component, and similarly, the second component may be referred to as the first component, without departing from the scope of the present invention. The terminology used in this application is only used to describe specific embodiments and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly indicates otherwise.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention are selected from the most widely used general terms possible while considering the functions of the present invention, but they may vary depending on the intention of engineers working in the field, precedents, the emergence of new technologies, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meanings thereof will be described in detail in the description of the relevant invention. Therefore, the terms used in the present invention should be defined based on the meanings of the terms and the overall contents of the present invention, rather than simply the names of the terms.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When a part of the specification is said to "include" a component, this does not mean that it excludes other components, but rather that it may include other components, unless otherwise specifically stated. In addition, terms such as "part", "module", etc., used in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software, or a combination of hardware and software.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings. However, the embodiments of the present invention exemplified below may be modified into various other forms, and the scope of the present invention is not limited to the embodiments described below. The embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.The combination of each block of the attached block diagram and each step of the flowchart may be performed by computer program instructions (execution engine), and these computer program instructions may be installed in a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus, so that the instructions, which are executed by the processor of the computer or other programmable data processing apparatus, create a means for performing the functions described in each block of the block diagram or each step of the flowchart. These computer program instructions may also be stored in a computer-available or computer-readable memory that can be directed to a computer or other programmable data processing apparatus to implement the function in a specific manner, so that the instructions stored in the computer-available or computer-readable memory can produce an article of manufacture including an instruction means for performing the functions described in each block of the block diagram or each step of the flowchart.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.And, since the computer program instructions can also be installed on a computer or other programmable data processing equipment, a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executable process, so that the instructions that perform the computer or other programmable data processing equipment can also provide steps for executing the functions described in each block of the block diagram and each step of the flowchart.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.Additionally, it should be noted that each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for performing specified logical functions, and that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps depicted in succession may in fact be performed substantially concurrently, or the blocks or steps may be performed in the reverse order of their corresponding functions, as desired.
도 1은 본 발명의 일 실시예에 따른 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템을 설명하기 위한 전체적인 블록 구성도이다.FIG. 1 is an overall block diagram illustrating a system for automatically generating a data-based machine learning model pipeline according to one embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템은, 크게 데이터 수집장치(100), 데이터 분석장치(200), 오퍼레이터 로더장치(300), 및 오퍼레이터 구성장치(400) 등을 포함하여 이루어진다. 또한, 본 발명의 일 실시예에 따른 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템은 오퍼레이터 테스터장치(500), 오퍼레이터 저장장치(600) 등을 추가적으로 더 포함할 수도 있다. 한편, 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 본 발명의 일 실시예에 따른 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템은 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.Referring to FIG. 1, a system for automatically generating a data-based machine learning model pipeline according to an embodiment of the present invention largely includes a data collection device (100), a data analysis device (200), an operator loader device (300), and an operator configuration device (400). In addition, the system for automatically generating a data-based machine learning model pipeline according to an embodiment of the present invention may additionally include an operator tester device (500), an operator storage device (600), and the like. Meanwhile, since the components illustrated in FIG. 1 are not essential, the system for automatically generating a data-based machine learning model pipeline according to an embodiment of the present invention may have more or fewer components than the components illustrated in FIG.
이하, 본 발명의 일 실시예에 따른 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.Hereinafter, components of a system for automatically generating a data-based machine learning model pipeline according to one embodiment of the present invention will be specifically examined.
데이터 수집장치(100)는 사용자에 의해 업로드 된 데이터를 수집하여 데이터 분석장치(200)로 전송하는 기능을 수행한다.The data collection device (100) performs the function of collecting data uploaded by the user and transmitting it to the data analysis device (200).
데이터 분석장치(200)는 사용자가 업로드 한 데이터를 읽고 분석을 수행하는 바, 특히 데이터 수집장치(100)로부터 수집된 데이터에 대해 전처리를 수행하고, 해당 전처리 수행된 데이터의 카테고리를 분류하며, 전문가 또는 비전문가에 의해 기존에 생성되어 미리 저장된 사용자 생성 오퍼레이터들 중에서 다른 사용자들의 사용 횟수에 따른 기 설정된 사용자 인기도에 따라 사용자 인기 오퍼레이터들을 추천함과 아울러 해당 추천된 사용자 인기 오퍼레이터들 중에서 해당 분류된 카테고리와 동일하거나 유사한 카테고리에 해당하는 유사한 오퍼레이터들을 추천하는 기능을 수행한다.The data analysis device (200) reads and analyzes data uploaded by a user, and in particular, performs preprocessing on data collected from a data collection device (100), classifies categories of the preprocessed data, recommends user-popular operators based on preset user popularity according to the number of times other users have used them among user-generated operators previously created and stored by experts or non-experts, and also performs a function of recommending similar operators that fall into categories identical to or similar to the classified categories among the recommended user-popular operators.
이러한 데이터 분석장치(200)는, 도 1에 도시된 바와 같이, 데이터 전처리 모듈(220), 데이터 카테고리 분류모듈(240), 인기 오퍼레이터 추천모듈(260), 및 유사 오퍼레이터 추천모듈(280)을 포함하여 이루어진다.This data analysis device (200) comprises, as illustrated in FIG. 1, a data preprocessing module (220), a data category classification module (240), a popular operator recommendation module (260), and a similar operator recommendation module (280).
여기서, 데이터 전처리 모듈(220)은 데이터 수집장치(100)로부터 수집된 데이터에 대해 전처리를 수행하여 데이터 카테고리 분류모듈(240)로 전송하는 기능을 수행한다.Here, the data preprocessing module (220) performs a function of performing preprocessing on data collected from the data collection device (100) and transmitting the data to the data category classification module (240).
또한, 데이터 전처리 모듈(220)은 데이터 수집장치(100)로부터 수집된 데이터 중에서 이미지 데이터에 대해서, 카테고리(Category) 분류를 정확하게 하기 위하여 해당 이미지 데이터의 선명도 조절이나 분류하고 싶은 부분에 대한 이미지 삭제 및/또는 확대의 이미지 전처리 작업을 자동으로 수행할 수 있다.In addition, the data preprocessing module (220) can automatically perform image preprocessing tasks such as adjusting the sharpness of the image data or deleting and/or enlarging the image for the portion to be classified in order to accurately classify the category of the image data collected from the data collection device (100).
또한, 데이터 전처리 모듈(220)의 전처리 작업은 후술하는 데이터 카테고리 분류모델(240)에 적용된 YOLO(You Only Look Once) 모델을 이용할 수 있다.In addition, the preprocessing task of the data preprocessing module (220) can utilize the YOLO (You Only Look Once) model applied to the data category classification model (240) described later.
데이터 카테고리 분류모듈(240)은 데이터 전처리 모듈(220)로부터 전처리 수행된 데이터를 제공받아 미리 라벨링(Labeling)과 학습이 완료된 YOLO(You Only Look Once) 모델을 이용하여 해당 전처리 수행된 데이터가 어떤 카테고리에 속하는지 분류하는 기능을 수행한다.The data category classification module (240) receives preprocessed data from the data preprocessing module (220) and performs the function of classifying which category the preprocessed data belongs to using a YOLO (You Only Look Once) model that has been labeled and trained in advance.
또한, 데이터 카테고리 분류모듈(240)은 예컨대, 물고기 분류, 애니매이션 캐릭터 분류, 신발 브랜드 분류 등 어떤 카테고리인지 분류를 통해 어떤 오퍼레이터에 관련이 있는지 확인하고, 이에 따라 분류 정확도를 높여줄 수 있도록 한다.In addition, the data category classification module (240) classifies a category, such as fish classification, animation character classification, or shoe brand classification, to determine which operator it is related to, and thereby increase classification accuracy.
한편, 상기 YOLO 모델은 예컨대, 기계학습 분야 혹은 딥러닝 분야에서 사용되어 실시간으로 영상(또는 이미지) 내의 의미 영역을 검출하는 기술로서, 의미 영역은 임의의 영상 내에 포함될 수 있는 사람의 얼굴, 자동차, 나무, 안경 등과 같은 객체에 대한 영상 패턴이다.Meanwhile, the YOLO model is a technology that detects a semantic region within an image (or video) in real time, for example, in the field of machine learning or deep learning. The semantic region is an image pattern for an object such as a person's face, a car, a tree, glasses, etc. that can be included in any image.
이러한 상기 YOLO 모델은 지도 학습(Supervised Learning) 방식의 기계학습 알고리즘으로 인식할 의미 영역과 이에 대한 분류 정보(즉, 라벨링(Labeling))를 쌍으로 학습데이터를 생성하는 단계와, 상기 생성된 수천 이상의 학습데이터를 입력 파라미터로 학습 모델 데이터를 생성하는 단계와, 그리고 상기 생성된 학습 모델 데이터를 이용하여 임의의(또는 특정의) 영상에서 학습된 의미 영역을 추출하는 객체 분류 단계 등을 포함하여 구성될 수 있다.The above YOLO model can be configured to include a step of generating learning data in pairs of semantic regions to be recognized and classification information (i.e., labeling) therefor using a machine learning algorithm in the form of supervised learning, a step of generating learning model data using the thousands or more of the generated learning data as input parameters, and an object classification step of extracting learned semantic regions from an arbitrary (or specific) image using the generated learning model data.
또한, 상기 YOLO 모델을 활용하는 분야의 예로, 디지털 카메라를 이용하여 도로 상에 주행 중인 임의 차량의 종류를 구분하기 위해서 차량 이미지와 차량 이미지에 대한 분류 정보(예컨대, 트럭, 버스, 승용차 등)의 쌍으로 이루어진 수천 건 이상의 학습데이터를 준비하고, 학습데이터를 입력 파라미터로 한 YOLO 모델 기계학습 기능을 실행하여 모델 데이터를 생성하며, 생성된 모델 데이터와 임의의 이미지를 입력 파라미터로 YOLO 모델의 분류 기능을 실행하면 의미 영역의 추출 결과를 바운딩 박스(Bounding Box)와 바운딩 박스에 대한 분류 정보 형태로 제공할 수 있다.In addition, as an example of a field utilizing the above YOLO model, in order to distinguish the type of an arbitrary vehicle driving on the road using a digital camera, more than thousands of training data consisting of pairs of vehicle images and classification information for the vehicle images (e.g., trucks, buses, passenger cars, etc.) are prepared, and model data is generated by executing the YOLO model machine learning function using the training data as an input parameter, and when the classification function of the YOLO model is executed using the generated model data and an arbitrary image as input parameters, the results of extracting the semantic domain can be provided in the form of a bounding box and classification information for the bounding box.
또한, 상기 YOLO 모델은 기계학습 영상인식 분야에서 성능 및 정확도가 높고 수행 속도가 빠르기 때문에 자율주행 자동차, 영상 내 인물 탐지 등 실시간 사물 인지 분야 등에 사용할 수 있다.In addition, the above YOLO model has high performance and accuracy and fast execution speed in the field of machine learning image recognition, so it can be used in fields such as self-driving cars and real-time object recognition such as person detection in images.
또한, 상기 YOLO 모델의 객체 분류 단계에서는 구체적으로 의미 영역의 정확한 검출을 위한 초기 검출 객체의 목표 신뢰도를 설정하며, 입력 영상을 일정 크기의 바운딩 박스 단위로 분할한다. 이러한 객체 검출 과정은 분할된 모든 바운딩 박스에 대하여 바운딩 박스 내부에 포함될 수 있는 검출 후보 객체 신뢰도를 계산하며, 계산된 검출 후보 객체 신뢰도가 초기 검출 객체의 목표 신뢰도 이상일 경우 해당 바운딩 박스를 추출한다. 객체 검출 과정을 통해서 바운딩 박스가 추출되지 않을 경우 바운딩 박스의 크기를 조정하고 반복적으로 객체 검출 과정을 실행한다.In addition, in the object classification step of the above YOLO model, the target reliability of the initial detection object for accurate detection of the semantic region is specifically set, and the input image is divided into bounding box units of a certain size. This object detection process calculates the reliability of the detection candidate object that can be included in the bounding box for all the divided bounding boxes, and if the calculated detection candidate object reliability is higher than the target reliability of the initial detection object, the corresponding bounding box is extracted. If the bounding box is not extracted through the object detection process, the size of the bounding box is adjusted and the object detection process is repeatedly executed.
즉, 전술한 상기 YOLO 모델은 이미지 전체를 단 한 번만 보는 특징, 객체 검출의 개별 요소를 단일 신경망(Single Neural Network)으로 통합된 모델 특징, 실시간으로 객체를 인식하는 모델 특징 등을 가진다. 다른 객체 인식 모델들은 다양한 전처리 모델과 인공신경망을 결합하여 사용하지만, 상기 YOLO 모델은 단 하나의 인공신경망에서 이를 전부 처리함에 따라, 이미지에서 빠르게 객체를 인식할 수 있다.That is, the YOLO model described above has the features of viewing the entire image only once, integrating individual elements of object detection into a single neural network, and recognizing objects in real time. While other object recognition models combine and use various preprocessing models and artificial neural networks, the YOLO model processes everything with a single artificial neural network, so it can quickly recognize objects in images.
그리고, 상기 YOLO 모델은 각 이미지를 SxS개의 그리드로 분할하고, 그리드의 신뢰도를 계산한다. 신뢰도는 그리드 내 객체 인식 시 정확성을 반영한다. 처음에는 객체 인식과는 동떨어진 경계 상자가 설정되지만, 신뢰도를 계산하여 경계 상자의 위치를 조정함으로써, 가장 높은 객체 인식 정확성을 가지는 경계 상자를 얻을 수 있다. 그리드에 객체 포함 여부를 계산하기 위해, 객체 클래스 점수를 계산한다. 이 결과로 총 SxSxN 객체가 예측된다. 이 그리드의 대부분은 낮은 신뢰도를 가진다. 신뢰도를 높이기 위해 주변의 그리드를 합칠 수 있다.Then, the YOLO model divides each image into SxS grids and calculates the reliability of the grid. The reliability reflects the accuracy of object recognition in the grid. Initially, a bounding box that is far from object recognition is set, but by calculating the reliability and adjusting the location of the bounding box, a bounding box with the highest object recognition accuracy can be obtained. To calculate whether an object is included in the grid, the object class score is calculated. As a result, a total of SxSxN objects are predicted. Most of these grids have low reliability. To increase the reliability, the surrounding grids can be merged.
이후, 임계값을 설정해 불필요한 부분은 제거할 수 있다. 상기 YOLO 모델은 단순한 처리로 속도가 매우 빠르다. 기존 다른 실시간(Realtime) 비전 기술과 비교할 때, 2배 정도 높은 성능을 보이는데, 이는 이미지 전체를 한 번에 바라보는 방식으로 클래스를 분별하기 때문이다.After that, you can set a threshold to remove unnecessary parts. The above YOLO model is very fast with simple processing. Compared to other existing real-time vision technologies, it shows about twice the performance, because it classifies by looking at the entire image at once.
인기 오퍼레이터 추천모듈(260)은 데이터 카테고리 분류모듈(240)로부터 카테고리 분류된 데이터를 제공받아 이를 기반으로 전문가 및/또는 비전문가에 의해 기존에 생성되어 미리 저장된 사용자 생성 오퍼레이터들 중에서 다른 사용자들의 사용 횟수에 따른 기 설정된 사용자 인기도에 따라 사용자 인기 오퍼레이터들을 추천하는 기능을 수행한다.The popular operator recommendation module (260) receives categorized data from the data category classification module (240) and, based on this, recommends popular user operators among user-created operators previously created and stored by experts and/or non-experts, based on preset user popularity according to the number of times other users have used them.
그리고, 유사 오퍼레이터 추천모듈(280)은 인기 오퍼레이터 추천모듈(260)로부터 추천된 사용자 인기 오퍼레이터들을 제공받아 이를 기반으로 해당 추천된 사용자 인기 오퍼레이터들 중에서 해당 분류된 카테고리와 동일하거나 유사한 카테고리에 해당하는 유사한 오퍼레이터들을 추천함과 아울러 해당 추천된 유사한 오퍼레이터들에 대해 이전에 다른 사용자가 사용한 기 설정된 하이퍼 파라미터(Hyper parameter) 값도 함께 추출하는 기능을 수행한다.In addition, the similar operator recommendation module (280) receives user popular operators recommended by the popular operator recommendation module (260) and, based on the received popular operators, recommends similar operators that fall into the same or similar category as the classified category among the recommended user popular operators. In addition, it also performs a function of extracting preset hyper parameter values previously used by other users for the recommended similar operators.
즉, 유사 오퍼레이터 추천모듈(280)을 통해 추출된 유사한 오퍼레이터에는 이전에 다른 사용자가 사용했었던 하이퍼 파라미터 값도 함께 추출되어 사용자의 별도 설정 없이 바로 사용이 가능하다. 다만, 정확도가 낮은 경우 하이퍼 파라미터 값은 임의 수정도 가능하다.That is, similar operators extracted through the similar operator recommendation module (280) also include hyper parameter values that other users have previously used, so that they can be used immediately without separate settings by the user. However, in case of low accuracy, hyper parameter values can be arbitrarily modified.
이때, 상기 하이퍼 파라미터 값이란, 머신러닝 모델의 학습 과정에 반영되는 값으로, 쉽게 말해 머신러닝 모델의 개발자가 직접 설정해주는 값이다. 즉, 상기 하이퍼 파라미터 값은 데이터 학습을 위해 설정되어 학습된 모델이 원하는 성능이 나올 때까지 학습 및 검증을 반복하면서 튜닝되는 값으로 구성된다. 이러한 상기 하이퍼 파라미터에는 예컨대, 학습률, 은닉층 개수, 배치 사이즈, 에폭 횟수, 손실 함수 종류, C, 감마, depth 등을 포함할 수 있다.At this time, the hyper parameter value is a value reflected in the learning process of the machine learning model, and in simple terms, it is a value directly set by the developer of the machine learning model. In other words, the hyper parameter value is configured as a value that is set for data learning and tuned while repeating learning and verification until the learned model produces the desired performance. These hyper parameters may include, for example, a learning rate, number of hidden layers, batch size, number of epochs, type of loss function, C, gamma, depth, etc.
한편, 도면에 도시되진 않았지만, 데이터 분석장치(200)에는 유사 오퍼레이터 추천모듈(280)로부터 추천된 유사한 오퍼레이터들의 기 설정된 하이퍼 파라미터 값을 해당 사용자에 의해 수정이 가능하도록 해당 하이퍼 파라미터의 수정을 위한 입력창을 제공하는 하이퍼 파라미터 수정모듈이 더 포함될 수 있다.Meanwhile, although not shown in the drawing, the data analysis device (200) may further include a hyper parameter modification module that provides an input window for modifying the hyper parameters so that the preset hyper parameter values of similar operators recommended from the similar operator recommendation module (280) can be modified by the user.
다른 한편, 본 발명의 전반에 걸쳐 언급된 오퍼레이터(Operator)는 전문가 및/또는 비전문가가 특정의 머신러닝 모델을 개발하기 위한 하나의 과정을 말한다. 다시 말하면, 데이터 전처리/후처리 모듈 등을 데이터 워크플로우(Workflow)의 단계별 수행 작업을 의미한다. 그리고, 오퍼레이터에 하이퍼 파라미터를 부여하면서 학습 후 테스트 결과에 대한 정확도를 조절할 수 있다.On the other hand, the operator mentioned throughout the present invention refers to a process for experts and/or non-experts to develop a specific machine learning model. In other words, it refers to the step-by-step execution of data workflow, such as data preprocessing/postprocessing modules. And, by assigning hyper parameters to the operator, the accuracy of the test results after learning can be adjusted.
또한, 본 발명에 적용된 오퍼레이터는 데이터 수집, 머신러닝 모델 개발 알고리즘, 머신러닝 모델 검증 알고리즘, 머신러닝 모델 배포 등의 기능을 포함할 수 있다. 이렇게 전문가 및/또는 비전문가가 미리 만들어놓은 오퍼레이터로 재사용이 가능하여 손쉽게 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(ML Ops)을 한번 에 구성할 수 있다.In addition, the operator applied to the present invention may include functions such as data collection, machine learning model development algorithm, machine learning model verification algorithm, and machine learning model deployment. In this way, since the operator created in advance by experts and/or non-experts can be reused, machine learning model development (ML Dev) and machine learning model operation (ML Ops) can be easily configured at once.
오퍼레이터 로더장치(300)는 데이터 분석장치(200)로부터 추천된 유사한 오퍼레이터들을 바탕으로 별도의 오퍼레이터 데이터베이스(DB)(350)를 이용하여 해당 추천된 유사한 오퍼레이터들에 대한 정보데이터를 로딩(loading)하는 기능을 수행한다.The operator loader device (300) performs a function of loading information data on similar operators recommended from the data analysis device (200) using a separate operator database (DB) (350).
오퍼레이터 구성장치(400)는 오퍼레이터 로더장치(300)로부터 로딩된 유사한 오퍼레이터들에 대한 정보데이터를 기반으로 특정 머신러닝 모델의 생성을 진행할 수 있도록 파이프라인(Pipeline)을 자동으로 구성하여 해당 특정 머신러닝 모델에 대한 파이프라인을 생성하는 기능을 수행한다.The operator configuration device (400) automatically configures a pipeline so that a specific machine learning model can be generated based on information data about similar operators loaded from the operator loader device (300), and performs the function of generating a pipeline for the specific machine learning model.
그리고, 도면에 도시되진 않았지만, 전술한 각 장치 구성요소들 즉, 데이터 수집장치(100), 데이터 분석장치(200), 오퍼레이터 로더장치(300), 오퍼레이터 구성장치(400), 오퍼레이터 테스터장치(500), 및 오퍼레이터 저장장치(600) 등에 필요한 전원을 공급하는 전원공급 장치가 더 포함되는 바, 계속적인 전원 공급을 위해 상용 교류(AC) 전원(예컨대, AC 220V)을 직류(DC) 및/또는 교류(AC) 전원으로 변환되도록 구현함이 바람직하지만, 이에 국한하지 않으며, 통상의 휴대용 배터리(Battery)를 포함하여 구현할 수도 있다.In addition, although not shown in the drawing, a power supply device is further included to supply power required for each of the aforementioned device components, i.e., a data acquisition device (100), a data analysis device (200), an operator loader device (300), an operator configuration device (400), an operator tester device (500), and an operator storage device (600). Although it is preferable to implement a power supply device that converts commercial alternating current (AC) power (e.g., AC 220 V) into direct current (DC) and/or alternating current (AC) power for continuous power supply, the present invention is not limited thereto, and may be implemented by including a conventional portable battery.
또한, 상기 전원공급 장치에는 외부의 전원 충격으로부터 부품을 보호하고 일정한 전압을 출력하는 기능을 수행하는 전원 관리부(미도시)를 포함할 수 있다. 상기 전원 관리부는 ESD(Electro Static Damage) 보호기, 전원 감지기, 정류기 및 전원 차단기 등을 포함하여 이루어질 수 있다.In addition, the power supply device may include a power management unit (not shown) that protects components from external power shock and performs the function of outputting a constant voltage. The power management unit may include an ESD (Electro Static Damage) protector, a power detector, a rectifier, and a power circuit breaker.
여기서, 상기 ESD 보호기는 정전기 또는 급격한 전원 충격으로부터 전장 부품을 보호하도록 구성한다. 상기 전원 감지기는 허용 전압 범위 외의 전압이 유입될 경우 상기 전원 차단기에 차단신호를 보내고, 허용 전압 범위 내에서 전압 변화에 따라 승압 또는 강압 신호를 상기 정류기에 전달하도록 구성한다. 상기 정류기는 입력 전압의 변동을 최소하여 일정한 전압이 공급되도록 상기 전원 감지기의 신호에 따라 승압 또는 강압의 정류 동작을 수행하도록 구성한다. 상기 전원 차단기는 상기 전원 감지기로부터 전달되는 차단 신호에 따라 배터리로부터 공급되는 전원을 차단하도록 구성한다.Here, the ESD protector is configured to protect the electrical components from static electricity or sudden power shock. The power detector is configured to send a blocking signal to the power circuit breaker when a voltage outside the allowable voltage range is input, and to transmit a boost or lower signal to the rectifier according to a voltage change within the allowable voltage range. The rectifier is configured to perform a rectification operation of boost or lower voltage according to a signal of the power detector so as to minimize fluctuations in the input voltage and supply a constant voltage. The power circuit breaker is configured to block power supplied from a battery according to a blocking signal transmitted from the power detector.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.The various embodiments described herein may be implemented in a computer-readable recording medium or a similar device, for example, using software, hardware, or a combination thereof.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Date Arrays), 프로세서(Processors), 제어기(Controllers), 마이크로 컨트롤러(Micro-Controllers), 마이크로 프로세서(Microprocessors), 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시예들이 전술한 장치 구성요소들 중 적어도 어느 하나의 장치 구성요소에 의해 구현될 수 있다.In terms of hardware implementation, the embodiments described herein can be implemented using at least one of Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Data Arrays (FPGAs), Processors, Controllers, Micro-Controllers, Microprocessors, and electrical units for performing functions. In some cases, such embodiments can be implemented by at least one of the device components described above.
소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 또한, 소프트웨어 코드는 별도의 저장장치(미도시)에 저장되고, 전술한 장치 구성요소들 중 적어도 하나의 장치 구성요소에 의해 실행될 수 있다.In a software implementation, embodiments such as procedures or functions may be implemented with separate software modules that perform at least one function or operation. The software code may be implemented by a software application written in a suitable programming language. In addition, the software code may be stored in a separate storage device (not shown) and executed by at least one of the device components described above.
상기 저장장치는 예컨대, 플래시 메모리 타입(Flash Memory type), 하드디스크 타입(Hard Disk type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The storage device may include at least one type of storage medium among, for example, a Flash Memory type, a Hard Disk type, a Multimedia Card Micro type, a card type memory (e.g., an SD or XD memory, etc.), a Random Access Memory (RAM), a Static Random Access Memory (SRAM), a Read-Only Memory (ROM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Programmable Read-Only Memory (PROM), a magnetic memory, a magnetic disk, and an optical disk.
추가적으로, 오퍼레이터 테스터장치(500)는 오퍼레이터 구성장치(400)로부터 생성된 특정 머신러닝 모델에 대한 파이프라인의 정보데이터를 제공받아 데이터 수집장치(100)로부터 수집된 데이터를 기반으로 데이터 분석장치(200), 오퍼레이터 로더장치(300), 및 오퍼레이터 구성장치(400)의 작업 과정이 순차적으로 자동 수행되도록 테스트하는 기능을 수행한다.Additionally, the operator tester device (500) receives information data of a pipeline for a specific machine learning model generated from the operator configuration device (400) and performs a function of testing the work processes of the data analysis device (200), the operator loader device (300), and the operator configuration device (400) to be automatically performed sequentially based on the data collected from the data collection device (100).
또한, 오퍼레이터 테스터장치(500)는 해당 테스트 수행되는 특정 머신러닝 모델의 오퍼레이터에 대한 하이퍼 파라미터 값이 해당 사용자에 의해 변경될 수 있도록 사용자 맞춤형 하이퍼 파라미터 변경을 위한 사용자 인터페이스 환경설정을 제공할 수 있다.Additionally, the operator tester device (500) may provide a user interface environment setting for changing hyper parameters customized for the user so that the hyper parameter values for the operator of the specific machine learning model being tested can be changed by the user.
즉, 테스트 수행이 완료된 머신러닝 모델의 결과를 해당 사용자가 오퍼레이터 테스터장치(500)를 통해서 확인이 가능하며, 만족하지 않는 경우 오퍼레이터에 부여할 수 있는 하이퍼 파라미터 값을 변경하고 테스트를 다시 수행할 수 있다. 이렇게 하이퍼 파라미터 값의 변경을 계속하면서 만족하는 결과가 나왔을 때, 후술하는 오퍼레이터 저장장치(600)를 통해 해당 데이터에 대한 오퍼레이터와 오퍼레이터에 부여한 하이퍼 파라미터 값을 별도의 오퍼레이터 데이터베이스(DB)(350)에 저장하고, 저장된 오퍼레이터는 이 후에 오퍼레이터가 추천되어 자동으로 구성할 때 재사용될 수 있다.That is, the user can check the results of the machine learning model for which the test execution is completed through the operator tester device (500), and if not satisfied, the user can change the hyper parameter values that can be assigned to the operator and perform the test again. When a satisfactory result is obtained by continuing to change the hyper parameter values in this way, the operator for the corresponding data and the hyper parameter values assigned to the operator are stored in a separate operator database (DB) (350) through the operator storage device (600) described below, and the stored operator can be reused when the operator is recommended and automatically configured thereafter.
그리고, 오퍼레이터 저장장치(600)는 오퍼레이터 테스터장치(500)로부터 테스트 수행이 완료된 특정 머신러닝 모델의 결과 정보데이터를 제공받아 이를 기반으로 해당 테스트 수행이 완료된 특정 머신러닝 모델에 대한 오퍼레이터와 함께 해당 오퍼레이터에 부여된 하이퍼 파라미터 값을 별도의 오퍼레이터 데이터베이스(DB)(350)에 저장되도록 관리하는 기능을 수행한다.In addition, the operator storage device (600) receives result information data of a specific machine learning model for which test execution has been completed from the operator tester device (500), and based on this, manages the hyper parameter values assigned to the operator along with the operator for the specific machine learning model for which test execution has been completed so that they are stored in a separate operator database (DB) (350).
또한, 오퍼레이터 저장장치(600)는 해당 테스트 수행이 완료된 특정 머신러닝 모델에 대한 오퍼레이터와 함께 해당 오퍼레이터에 부여된 하이퍼 파라미터 값을 통신망(10)을 통해 유선 및/또는 무선 통신방식으로 특정 머신러닝 모델을 운영해야 할 특정의 서버(20)에 자동 배포되도록 서비스를 제공하는 기능을 수행할 수 있다.In addition, the operator storage device (600) can perform a function of providing a service to automatically distribute the hyper parameter values assigned to the operator for a specific machine learning model for which the test has been completed, together with the operator for the specific machine learning model, to a specific server (20) that must operate the specific machine learning model via wired and/or wireless communication via a communication network (10).
이때, 통신망(10)은 대용량, 장거리 음성 및 데이터 서비스가 가능한 대형 통신망의 고속 기간 망인 통신망이며, 인터넷(Internet) 또는 고속의 멀티미디어 서비스를 제공하기 위한 와이파이(WiFi), 와이기그(WiGig), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, Wimax) 등을 포함하는 차세대 무선 통신망일 수 있다.At this time, the communication network (10) is a communication network that is a high-speed backbone network of a large communication network capable of providing large-capacity, long-distance voice and data services, and may be a next-generation wireless communication network including WiFi, WiGig, Wibro (Wireless Broadband Internet, Wibro), WiMAX (World Interoperability for Microwave Access, Wimax), etc. for providing the Internet or high-speed multimedia services.
상기 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미하며, 오퍼레이터 저장장치(600)가 서버(20)에 접속될 수 있게 하는 환경을 제공한다. 한편, 상기 인터넷은 유선 또는 무선 인터넷일 수도 있고, 이외에도 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어망일 수도 있다.The above Internet refers to a worldwide open computer network structure that provides various services existing in the TCP/IP protocol and its upper layer, such as HTTP (Hyper Text Transfer Protocol), Telnet, FTP (File Transfer Protocol), DNS (Domain Name System), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), NFS (Network File Service), NIS (Network Information Service), etc., and provides an environment that allows an operator storage device (600) to be connected to a server (20). Meanwhile, the Internet may be a wired or wireless Internet, or may be a core network integrated with a wired public network, a wireless mobile communication network, or a portable Internet.
만약, 통신망(10)이 이동 통신망일 경우 동기식 이동 통신망일 수도 있고, 비동기식 이동 통신망일 수도 있다. 상기 비동기식 이동 통신망의 실시 예로서, WCDMA(Wideband Code Division Multiple Access) 방식의 통신망을 들 수 있다. 이 경우 도면에 도시되진 않았지만, 상기 이동 통신망은 예컨대, RNC(Radio Network Controller) 등을 포함할 수 있다. 한편, 상기 WCDMA망을 일 예로 들었지만, 셀룰러(cellular) 기반의 3G망, LTE망, 4G망, 5G망 등 차세대 통신망, 그 밖의 IP를 기반으로 한 IP망일 수 있다. 이러한 통신망(10)은 오퍼레이터 저장장치(600)와 서버(20)의 신호 및 데이터를 상호 전달하는 역할을 수행한다.If the communication network (10) is a mobile communication network, it may be a synchronous mobile communication network or an asynchronous mobile communication network. As an example of the asynchronous mobile communication network, a WCDMA (Wideband Code Division Multiple Access) type communication network can be mentioned. In this case, although not shown in the drawing, the mobile communication network may include, for example, an RNC (Radio Network Controller). Meanwhile, although the WCDMA network is mentioned as an example, it may be a next-generation communication network such as a cellular-based 3G network, LTE network, 4G network, 5G network, or other IP-based IP network. This communication network (10) performs the role of mutually transmitting signals and data between the operator storage device (600) and the server (20).
전술한 본 발명의 일 실시예에 따른 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템은 데이터를 분석해서 머신러닝 모델을 개발하고, 운영하려는 사용자들에게 머신러닝 모델을 개발하는 플랫폼의 표준화를 수행하고, 표준화된 파이프라인을 통해 비전문가의 진입장벽을 낮추어 누구나 머신러닝 모델을 개발하고 운영할 수 있다.A system for automatically generating a data-based machine learning model pipeline according to one embodiment of the present invention as described above analyzes data to develop and operate a machine learning model, performs standardization of a platform for developing machine learning models for users who wish to do so, and lowers the entry barrier for non-experts through a standardized pipeline, so that anyone can develop and operate a machine learning model.
또한, 본 발명의 시스템은 전문가 및/또는 비전문가가 각자 가지고 있는 지식의 역량 수준에 맞는 오퍼레이터를 생성하게 되는데, 생성한 오퍼레이터는 다른 전문가 및/또는 비전문가가 그대로 사용할 수 있다. 그렇기 때문에 대부분의 디테일한 작업과 전문 지식이 필요한 오퍼레이터의 생성은 전문가가 모델을 개발하면서 생성하게 될 것이다.In addition, the system of the present invention generates operators that match the level of knowledge and competency possessed by experts and/or non-experts, and the generated operators can be used as is by other experts and/or non-experts. Therefore, most of the detailed work and creation of operators that require specialized knowledge will be generated by experts while developing the model.
한편, 비전문가가 원하는 개발을 하기 위해서도 마찬가지로 오퍼레이터를 생성해야 하지만 이미 비슷한 유형의 데이터 파이프라인을 전문가가 처리하기 위해 사전에 만들어놓은 오퍼레이터가 있다면 해당하는 오퍼레이터를 불러온 뒤, 세부 설정 값을 조정하여 사용할 수 있게 된다.On the other hand, even if a non-expert wants to develop something, they need to create an operator, but if there is an operator that has already been created in advance by an expert to process a similar type of data pipeline, they can load the operator and use it by adjusting the detailed settings.
이렇게 머신러닝 개발이 완료되면 자동화된 시스템 모듈에 의해 개발이 완료된 것을 운영해야 할 서버에 자동 배포가 이루어지도록 한다. 중간에 모든 과정을 머신러닝 모델 개발(ML Dev)과 머신러닝 모델 운영(ML Ops)을 통해 자동화로 진행하여 비전문가들의 진입장벽을 낮추고, 전문가들은 더 빠른 작업을 할 수 있도록 한다.Once machine learning development is completed, the development is automatically deployed to the server that needs to operate it through an automated system module. All processes in the middle are automated through machine learning model development (ML Dev) and machine learning model operation (ML Ops), lowering the entry barrier for non-experts and enabling experts to work faster.
즉, 전문가 및/또는 비전문가가 머신러닝 모델을 생성하기 위한 여러 가지 세부 작업들을 모듈화하여 오퍼레이터를 미리 생성하게 된다. 생성된 오퍼레이터에 대한 정보는 별도의 데이터베이스(DB)에 저장되며 필요할 때마다 불러와서 사용할 수 있다.That is, experts and/or non-experts modularize various detailed tasks for creating machine learning models and create operators in advance. Information about the created operators is stored in a separate database (DB) and can be retrieved and used whenever needed.
그 중에서도 본 발명은 머신러닝 모델 개발(ML Dev)에 초점을 맞추고 있다. 다시 말해서, 머신러닝 모델을 만들기 위해 여러 오퍼레이터를 조합한 프로세스들을 테스트하고 운영에 배포하기 직전 단계까지를 초점을 두고 있다.Among them, the present invention focuses on machine learning model development (ML Dev). In other words, it focuses on the process of combining multiple operators to create a machine learning model, testing it, and the stage just before deploying it to operation.
전술한 본 발명에 따른 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.Although a preferred embodiment of a system for automatically generating a data-based machine learning model pipeline according to the present invention has been described above, the present invention is not limited thereto, and various modifications may be made and implemented within the scope of the claims, the detailed description of the invention, and the attached drawings, which also belong to the present invention.
100 : 데이터 수집장치,
200 : 데이터 분석장치,
300 : 오퍼레이터 로더장치,
400 : 오퍼레이터 구성장치,
500 : 오퍼레이터 테스터장치,
600 : 오퍼레이터 저장장치100 : Data collection device,
200: Data analysis device,
300: Operator loader device,
400: Operator Configuration Device,
500 : Operator Tester Device,
600 : Operator Storage Device
Claims (9)
상기 데이터 수집장치로부터 수집된 데이터에 대해 전처리를 수행하고, 해당 전처리 수행된 데이터의 카테고리를 분류하며, 전문가 또는 비전문가에 의해 기존에 생성되어 미리 저장된 사용자 생성 오퍼레이터들 중에서 다른 사용자들의 사용 횟수에 따른 기 설정된 사용자 인기도에 따라 사용자 인기 오퍼레이터들을 추천함과 아울러 해당 추천된 사용자 인기 오퍼레이터들 중에서 해당 분류된 카테고리와 동일하거나 유사한 카테고리에 해당하는 유사한 오퍼레이터들을 추천하는 데이터 분석장치;
상기 데이터 분석장치로부터 추천된 유사한 오퍼레이터들을 바탕으로 별도의 오퍼레이터 데이터베이스(DB)를 이용하여 해당 추천된 유사한 오퍼레이터들에 대한 정보데이터를 로딩(loading)하는 오퍼레이터 로더장치;
상기 오퍼레이터 로더장치로부터 로딩된 유사한 오퍼레이터들에 대한 정보데이터를 기반으로 특정 머신러닝 모델의 생성을 진행할 수 있도록 파이프라인을 자동으로 구성하여 해당 특정 머신러닝 모델에 대한 파이프라인을 생성하는 오퍼레이터 구성장치;
상기 데이터 수집장치로부터 수집된 데이터를 기반으로 상기 데이터 분석장치, 상기 오퍼레이터 로더장치, 및 상기 오퍼레이터 구성장치의 작업 과정이 순차적으로 자동 수행되도록 테스트하는 오퍼레이터 테스터장치; 및
상기 오퍼레이터 테스터장치로부터 테스트 수행이 완료된 특정 머신러닝 모델의 결과 정보데이터를 제공받아 이를 기반으로 해당 테스트 수행이 완료된 특정 머신러닝 모델에 대한 오퍼레이터와 함께 해당 오퍼레이터에 부여된 하이퍼 파라미터 값을 상기 별도의 오퍼레이터 데이터베이스(DB)에 저장되도록 관리하는 오퍼레이터 저장장치를 포함하되,
상기 오퍼레이터는, 전문가 또는 비전문가가 해당 특정 머신러닝 모델을 개발하기 위한 하나의 과정으로, 데이터 워크플로우의 단계별 수행 작업들을 모듈화하여 이루어진 것이고,
상기 데이터 분석장치는, 상기 데이터 수집장치로부터 수집된 데이터 중에서 이미지 데이터에 대해서, 카테고리 분류를 정확하게 하기 위하여 해당 이미지 데이터의 선명도 조절이나 분류하고 싶은 부분에 대한 이미지 삭제 또는 확대의 이미지 전처리 작업을 자동으로 수행하고, 미리 라벨링과 학습이 완료된 YOLO 모델을 이용하여 해당 전처리 수행된 데이터가 어떤 카테고리에 속하는지 분류하며, 해당 추천된 유사한 오퍼레이터들에 대해 이전에 다른 사용자가 사용한 기 설정된 하이퍼 파라미터(Hyper parameter) 값도 함께 추출하며, 해당 추천된 유사한 오퍼레이터들의 기 설정된 하이퍼 파라미터 값을 해당 사용자에 의해 수정이 가능하도록 해당 하이퍼 파라미터의 수정을 위한 입력창을 제공하며,
상기 데이터 분석장치에 적용된 YOLO 모델은, 지도 학습(Supervised Learning) 방식의 기계학습 알고리즘으로 인식할 의미 영역과 이에 대한 분류 정보를 쌍으로 학습데이터를 생성하는 단계와, 상기 생성된 학습데이터를 입력 파라미터로 학습 모델 데이터를 생성하는 단계와, 상기 생성된 학습 모델 데이터를 이용하여 특정의 영상에서 학습된 의미 영역을 추출하는 객체 분류 단계를 포함하여 구성되며,
상기 YOLO 모델의 객체 분류 단계는, 해당 의미 영역의 정확한 검출을 위한 초기 검출 객체의 목표 신뢰도를 설정하고, 해당 특정의 영상을 일정 크기의 바운딩 박스 단위로 분할하며, 해당 객체 검출 과정에서는 분할된 모든 바운딩 박스에 대하여 바운딩 박스 내부에 포함될 수 있는 검출 후보 객체 신뢰도를 계산하며, 계산된 검출 후보 객체 신뢰도가 초기 검출 객체의 목표 신뢰도 이상일 경우 해당 바운딩 박스를 추출하며, 해당 객체 검출 과정을 통해서 바운딩 박스가 추출되지 않을 경우 바운딩 박스의 크기를 조정하고 반복적으로 객체 검출 과정을 실행하며,
상기 오퍼레이터 테스터장치는, 해당 테스트 수행되는 특정 머신러닝 모델의 오퍼레이터에 대한 하이퍼 파라미터 값이 해당 사용자에 의해 변경될 수 있도록 사용자 맞춤형 하이퍼 파라미터 변경을 위한 사용자 인터페이스 환경설정을 제공하며,
상기 오퍼레이터 저장장치는, 해당 테스트 수행이 완료된 특정 머신러닝 모델에 대한 오퍼레이터와 함께 해당 오퍼레이터에 부여된 하이퍼 파라미터 값을 유선 또는 무선 통신방식으로 특정 머신러닝 모델을 운영해야 할 특정의 서버에 자동 배포되도록 서비스를 제공하는 것을 특징으로 하는 데이터 기반의 머신러닝 모델 파이프라인을 자동으로 생성하기 위한 시스템.A data collection device that collects data uploaded by users;
A data analysis device that performs preprocessing on data collected from the above data collection device, classifies the categories of the preprocessed data, recommends user-popular operators among user-generated operators previously created and stored by experts or non-experts based on preset user popularity according to the number of times other users have used them, and recommends similar operators that fall into categories identical to or similar to the classified categories among the recommended user-popular operators;
An operator loader device that loads information data on similar operators recommended from the above data analysis device using a separate operator database (DB);
An operator configuration device that automatically configures a pipeline so that a specific machine learning model can be generated based on information data about similar operators loaded from the operator loader device, and generates a pipeline for the specific machine learning model;
An operator tester device that tests the work processes of the data analysis device, the operator loader device, and the operator configuration device to be performed sequentially and automatically based on the data collected from the data collection device; and
An operator storage device that receives result information data of a specific machine learning model for which test execution has been completed from the operator tester device and manages the hyper parameter values assigned to the operator together with the operator for the specific machine learning model for which test execution has been completed based on the data, and stores them in a separate operator database (DB).
The above operator is a modularized version of the step-by-step data workflow tasks that experts or non-experts can perform as a process for developing a specific machine learning model.
The above data analysis device automatically performs image preprocessing tasks such as adjusting the clarity of the image data or deleting or enlarging the image of a portion to be classified in order to accurately classify the category of the image data collected from the data collection device, and classifies which category the preprocessed data belongs to using a YOLO model that has been labeled and learned in advance, and also extracts preset hyper parameter values previously used by other users for the recommended similar operators, and provides an input window for modifying the hyper parameters so that the preset hyper parameter values of the recommended similar operators can be modified by the user.
The YOLO model applied to the above data analysis device is configured to include a step of generating learning data in pairs of semantic areas to be recognized and classification information therefor using a machine learning algorithm of a supervised learning method, a step of generating learning model data using the generated learning data as an input parameter, and an object classification step of extracting a semantic area learned from a specific image using the generated learning model data.
The object classification step of the above YOLO model sets the target reliability of the initial detection object for accurate detection of the corresponding semantic region, divides the corresponding specific image into bounding box units of a certain size, and in the corresponding object detection process, calculates the reliability of the detection candidate object that can be included in the bounding box for all the divided bounding boxes, and if the calculated detection candidate object reliability is higher than the target reliability of the initial detection object, the corresponding bounding box is extracted, and if the bounding box is not extracted through the corresponding object detection process, the size of the bounding box is adjusted and the object detection process is repeatedly executed.
The above operator tester device provides a user interface environment setting for changing hyperparameters customized for the user so that the hyperparameter values for the operator of the specific machine learning model being tested can be changed by the user.
The above operator storage device is a system for automatically generating a data-based machine learning model pipeline, characterized in that it provides a service to automatically distribute, through wired or wireless communication, the operator for a specific machine learning model for which the test execution has been completed, and the hyperparameter values assigned to the operator to a specific server that must operate the specific machine learning model.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220166600A KR102700445B1 (en) | 2022-12-02 | 2022-12-02 | System for generating automatically machine learning model pipeline based on data |
PCT/KR2023/015493 WO2024117519A1 (en) | 2022-12-02 | 2023-10-10 | System for automatically generating data-based machine learning model pipeline |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220166600A KR102700445B1 (en) | 2022-12-02 | 2022-12-02 | System for generating automatically machine learning model pipeline based on data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20240083235A KR20240083235A (en) | 2024-06-12 |
KR102700445B1 true KR102700445B1 (en) | 2024-08-29 |
Family
ID=91324149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220166600A KR102700445B1 (en) | 2022-12-02 | 2022-12-02 | System for generating automatically machine learning model pipeline based on data |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102700445B1 (en) |
WO (1) | WO2024117519A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210065053A1 (en) | 2019-08-30 | 2021-03-04 | Accenture Global Solutions Limited | Automated data processing and machine learning model generation |
US20210097444A1 (en) * | 2019-09-30 | 2021-04-01 | Amazon Technologies, Inc. | Automated machine learning pipeline exploration and deployment |
US20210241152A1 (en) * | 2020-01-31 | 2021-08-05 | EMC IP Holding Company LLC | System and method for a personalized machine learning pipeline selection and result interpretation |
US20220067575A1 (en) | 2020-09-02 | 2022-03-03 | Fujitsu Limited | Automatically generating a pipeline of a new machine learning project from pipelines of existing machine learning projects stored in a corpus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102142205B1 (en) * | 2019-01-04 | 2020-08-06 | 에스케이 주식회사 | Explainable AI Modeling and Simulation System and Method |
US12045585B2 (en) * | 2019-08-23 | 2024-07-23 | Google Llc | No-coding machine learning pipeline |
KR20210055934A (en) | 2019-11-08 | 2021-05-18 | 주식회사 인피니그루 | Self-learning system for developing machine learning models |
KR102284539B1 (en) * | 2020-11-30 | 2021-08-02 | 주식회사 애자일소다 | Machine learning based artificial intelligence model learning, development, deployment and operation system service method using the same |
CN114461183B (en) * | 2022-04-11 | 2023-03-14 | 北京瑞莱智慧科技有限公司 | AI model rapid combination method, device and storage medium based on user label |
-
2022
- 2022-12-02 KR KR1020220166600A patent/KR102700445B1/en active IP Right Grant
-
2023
- 2023-10-10 WO PCT/KR2023/015493 patent/WO2024117519A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210065053A1 (en) | 2019-08-30 | 2021-03-04 | Accenture Global Solutions Limited | Automated data processing and machine learning model generation |
US20210097444A1 (en) * | 2019-09-30 | 2021-04-01 | Amazon Technologies, Inc. | Automated machine learning pipeline exploration and deployment |
US20210241152A1 (en) * | 2020-01-31 | 2021-08-05 | EMC IP Holding Company LLC | System and method for a personalized machine learning pipeline selection and result interpretation |
US20220067575A1 (en) | 2020-09-02 | 2022-03-03 | Fujitsu Limited | Automatically generating a pipeline of a new machine learning project from pipelines of existing machine learning projects stored in a corpus |
Also Published As
Publication number | Publication date |
---|---|
KR20240083235A (en) | 2024-06-12 |
WO2024117519A1 (en) | 2024-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210216792A1 (en) | System and method for instance-level lane detection for autonomous vehicle control | |
US10962979B2 (en) | System and method for multitask processing for autonomous vehicle computation and control | |
CN106874190B (en) | The method of testing and server of user interface | |
CN107608874A (en) | Method of testing and device | |
US11645752B2 (en) | Image analysis system and method of using the image analysis system | |
CN112966767B (en) | Data unbalanced processing method for separating feature extraction and classification tasks | |
CN106777335A (en) | It is a kind of to be remembered based on shot and long term(LSTM)The multi-tag trade classification method and device of model | |
CN109190631A (en) | The target object mask method and device of picture | |
CN111597861A (en) | System and method for automatically interpreting ground object of remote sensing image | |
CN111209958B (en) | Substation equipment detection method and device based on deep learning | |
CN109919252A (en) | The method for generating classifier using a small number of mark images | |
CN113420871B (en) | Image quality evaluation method, image quality evaluation device, storage medium, and electronic device | |
Zhang et al. | Development of a supervised software tool for automated determination of optimal segmentation parameters for ecognition | |
KR102700445B1 (en) | System for generating automatically machine learning model pipeline based on data | |
CN112613453A (en) | Method and system for checking violation of regulations on construction site of electric power infrastructure | |
CN112130896B (en) | Neural network model migration method and device, electronic equipment and storage medium | |
CN108764293A (en) | A kind of vehicle checking method and system based on image | |
CN102129575B (en) | Pornographic image analysis system based on color space skin color model | |
CN116596895B (en) | Substation equipment image defect identification method and system | |
CN117371943A (en) | Data-driven AI middle station model management method and AI middle station system | |
CN115857473A (en) | Intelligent driving and ADAS simulation test method and system based on satellite positioning | |
CN108337323B (en) | Instrument metering data AR comparison system and method based on full terminal | |
KR102723930B1 (en) | Apparatus for Field Data Selection Learning and Driving Method Thereof, and Artificial Intelligence System for Field Data Selection Learning | |
KR20220062977A (en) | Object detection data set composition method using image entropy and data processing device performing the same | |
CN106469066A (en) | The method for pushing of program information and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |