KR20240053270A - System and method for automated data streaming - Google Patents

System and method for automated data streaming Download PDF

Info

Publication number
KR20240053270A
KR20240053270A KR1020220133167A KR20220133167A KR20240053270A KR 20240053270 A KR20240053270 A KR 20240053270A KR 1020220133167 A KR1020220133167 A KR 1020220133167A KR 20220133167 A KR20220133167 A KR 20220133167A KR 20240053270 A KR20240053270 A KR 20240053270A
Authority
KR
South Korea
Prior art keywords
mini
data
machine learning
learning model
batch
Prior art date
Application number
KR1020220133167A
Other languages
Korean (ko)
Inventor
벤 아사프
Original Assignee
주식회사 클리카
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 클리카 filed Critical 주식회사 클리카
Priority to KR1020220133167A priority Critical patent/KR20240053270A/en
Publication of KR20240053270A publication Critical patent/KR20240053270A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)

Abstract

자동화된 데이터 스트리밍 시스템 및 방법이 제공된다. 본 발명의 일 실시예에 따른 데이터 스트리밍 시스템은, 다량의 데이터 소스를 입력 받는 데이터 입력부; 상기 데이터 소스의 특징을 추출한 후 상기 특징에 따라 상기 데이터 소스를 분류하는 데이터 분류부; 분류된 각 데이터 소스로부터 일부를 추출하고, 추출된 각 데이터 소스 간의 비율이 설정된 값을 갖도록 상기 추출된 각 데이터 소스를 믹싱(mixing)하여 복수 개의 미니배치(minibatch)를 생성하는 미니배치 생성부; 상기 복수 개의 미니배치를 설정된 머신러닝 모델에 입력하는 학습부; 및 상기 머신러닝 모델이 학습되는 동안 상기 머신러닝 모델의 성능을 테스트하고, 테스트 결과 특정 특징을 갖는 데이터 소스에서의 머신러닝 모델의 성능이 기준치 이하인 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는 피드백부를 포함하며, 상기 미니배치 생성부는, 상기 머신러닝 모델이 학습되는 동안 상기 기준치 이하의 성능을 보이는 특징을 갖는 데이터 소스의 비율을 증가시켜 상기 복수 개의 미니배치를 새롭게 생성하고, 상기 학습부는, 상기 새롭게 생성된 복수 개의 미니배치를 상기 머신러닝 모델에 입력한다.An automated data streaming system and method are provided. A data streaming system according to an embodiment of the present invention includes a data input unit that receives a large amount of data sources; a data classification unit that extracts characteristics of the data source and then classifies the data source according to the characteristics; a mini-batch generator that generates a plurality of minibatches by extracting a portion from each classified data source and mixing each extracted data source so that the ratio between each extracted data source has a set value; A learning unit that inputs the plurality of mini-batches into a set machine learning model; And while the machine learning model is being learned, the performance of the machine learning model is tested, and if the test result shows that the performance of the machine learning model in a data source with specific characteristics is below the standard value, information about the characteristics showing performance below the standard value is provided. A feedback unit is provided to the mini-batch generator, wherein the mini-batch generator generates a new plurality of mini-batches by increasing the ratio of data sources with characteristics that show performance below the standard value while the machine learning model is being trained. and the learning unit inputs the plurality of newly created mini-batches into the machine learning model.

Description

자동화된 데이터 스트리밍 시스템 및 방법{SYSTEM AND METHOD FOR AUTOMATED DATA STREAMING}Automated data streaming system and method {SYSTEM AND METHOD FOR AUTOMATED DATA STREAMING}

본 발명의 실시예들은 자동화된 데이터 스트리밍 기술과 관련된다.Embodiments of the present invention relate to automated data streaming technology.

최근, 인공지능 기술은 거의 모든 산업에서 적용되고 있으며 적용 분야 및 범위 또한 점차 확장되고 있으며, 인공지능을 구현하는 머신러닝 분야에서 선도적인 기술력을 확보하는 것이 국가 경쟁력을 나타내는 일 지표가 되고 있다. 이러한 인공지능 기술의 구현을 위해서는 머신러닝 모델을 학습시키는 과정이 필수적이며, 이를 위해 학습을 위한 데이터 소스를 머신러닝 모델에 적절히 공급할 필요가 있다.Recently, artificial intelligence technology is being applied in almost all industries, and the field and scope of application are also gradually expanding, and securing leading technology in the field of machine learning that implements artificial intelligence has become an indicator of national competitiveness. In order to implement such artificial intelligence technology, the process of learning a machine learning model is essential, and for this, it is necessary to properly supply data sources for learning to the machine learning model.

그러나, 일반적으로 하나의 인공지능 솔루션에는 수많은 머신러닝 모델이 탑재되며 인공지능 솔루션의 각 영역별 개발방법 및 속도가 제각각이다. 또한, 이러한 인공지능 솔루션에서는 각 머신러닝 모델 간 상호 호환이 어렵고, 이에 따라 모델 학습/최적화/배포에 오랜 시간이 걸릴 수 밖에 없다.However, in general, one artificial intelligence solution is equipped with numerous machine learning models, and the development method and speed for each area of the artificial intelligence solution are different. Additionally, in these artificial intelligence solutions, mutual compatibility between each machine learning model is difficult, and as a result, model learning/optimization/deployment inevitably takes a long time.

한국등록특허공보 제10-2366754호(2022.02.18)Korean Patent Publication No. 10-2366754 (2022.02.18)

본 발명의 실시예들은 전체 데이터 세트로부터 스몰 데이터 세트인 미니배치를 생성하고, 미니배치를 이용하여 머신러닝 모델의 성능을 테스트한 후 테스트 결과에 따라 머신러닝 모델에서 학습이 수행되는 동안 실시간으로 미니배치를 새롭게 생성하여 머신러닝 모델을 최적화하기 위한 것이다.Embodiments of the present invention generate a mini-batch, which is a small data set, from the entire data set, test the performance of the machine learning model using the mini-batch, and then perform mini-batch in real time while learning is performed on the machine learning model according to the test results. This is to optimize the machine learning model by creating a new batch.

예시적인 실시예에 따르면, 다량의 데이터 소스를 입력 받는 데이터 입력부; 상기 데이터 소스의 특징을 추출한 후 상기 특징에 따라 상기 데이터 소스를 분류하는 데이터 분류부; 분류된 각 데이터 소스로부터 일부를 추출하고, 추출된 각 데이터 소스 간의 비율이 설정된 값을 갖도록 상기 추출된 각 데이터 소스를 믹싱(mixing)하여 복수 개의 미니배치(minibatch)를 생성하는 미니배치 생성부; 상기 복수 개의 미니배치를 설정된 머신러닝 모델에 입력하는 학습부; 및 상기 머신러닝 모델이 학습되는 동안 상기 머신러닝 모델의 성능을 테스트하고, 테스트 결과 특정 특징을 갖는 데이터 소스에서의 머신러닝 모델의 성능이 기준치 이하인 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는 피드백부를 포함하며, 상기 미니배치 생성부는, 상기 머신러닝 모델이 학습되는 동안 상기 기준치 이하의 성능을 보이는 특징을 갖는 데이터 소스의 비율을 증가시켜 상기 복수 개의 미니배치를 새롭게 생성하고, 상기 학습부는, 상기 새롭게 생성된 복수 개의 미니배치를 상기 머신러닝 모델에 입력하는, 자동화된 데이터 스트리밍 시스템이 제공된다.According to an exemplary embodiment, a data input unit that receives a large amount of data sources; a data classification unit that extracts characteristics of the data source and then classifies the data source according to the characteristics; a mini-batch generator that generates a plurality of minibatches by extracting a portion from each classified data source and mixing each extracted data source so that the ratio between each extracted data source has a set value; A learning unit that inputs the plurality of mini-batches into a set machine learning model; And while the machine learning model is being learned, the performance of the machine learning model is tested, and if the test result shows that the performance of the machine learning model in a data source with specific characteristics is below the standard value, information about the characteristics showing performance below the standard value is provided. A feedback unit is provided to the mini-batch generator, wherein the mini-batch generator generates a new plurality of mini-batches by increasing the ratio of data sources with characteristics that show performance below the standard value while the machine learning model is being trained. An automated data streaming system is provided in which the learning unit inputs the plurality of newly created mini-batches into the machine learning model.

상기 학습부는, 상기 복수 개의 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행하고, 상기 피드백부는, 상기 복수 개의 동일한 모델 중 적어도 하나에서 상기 기준치 이하의 성능을 보이는 테스트 결과가 나타나는 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달할 수 있다.The learning unit performs distributed learning by inputting the plurality of mini-batches into a plurality of identical models, and the feedback unit performs distributed learning when a test result showing performance below the standard value appears in at least one of the plurality of identical models. Information regarding the characteristics showing the following performance may be transmitted to the mini-batch generator.

상기 복수 개의 동일한 모델에 입력되는 미니배치 각각은, 서로 다른 데이터를 포함할 수 있다.Each of the mini-batches input to the plurality of identical models may include different data.

다른 예시적인 실시예에 따르면, 데이터 입력부에서, 다량의 데이터 소스를 입력 받는 단계; 데이터 분류부에서, 상기 데이터 소스의 특징을 추출한 후 상기 특징에 따라 상기 데이터 소스를 분류하는 단계; 미니배치 생성부에서, 분류된 각 데이터 소스로부터 일부를 추출하는 단계; 상기 미니배치 생성부에서, 추출된 각 데이터 소스 간의 비율이 설정된 값을 갖도록 상기 추출된 각 데이터 소스를 믹싱하여 복수 개의 미니배치를 생성하는 단계; 학습부에서, 상기 복수 개의 미니배치를 설정된 머신러닝 모델에 입력하는 단계; 피드백부에서, 상기 머신러닝 모델이 학습되는 동안 상기 머신러닝 모델의 성능을 테스트하는 단계; 상기 피드백부에서, 테스트 결과 특정 특징을 갖는 데이터 소스에서의 머신러닝 모델의 성능이 기준치 이하인 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는 단계; 상기 미니배치 생성부에서, 상기 머신러닝 모델이 학습되는 동안 상기 기준치 이하의 성능을 보이는 특징을 갖는 데이터 소스의 비율을 증가시켜 상기 복수 개의 미니배치를 새롭게 생성하는 단계; 및 상기 학습부에서, 상기 새롭게 생성된 복수 개의 미니배치를 상기 머신러닝 모델에 입력하는 단계를 포함하는, 자동화된 데이터 스트리밍 방법이 제공된다.According to another exemplary embodiment, receiving a large amount of data sources from a data input unit; In a data classification unit, extracting features of the data source and then classifying the data source according to the features; In the mini-batch generator, extracting a portion from each classified data source; generating, in the mini-batch generator, a plurality of mini-batches by mixing each extracted data source so that a ratio between each extracted data source has a set value; In the learning unit, inputting the plurality of mini-batches into a set machine learning model; In a feedback unit, testing the performance of the machine learning model while the machine learning model is being learned; In the feedback unit, when the performance of a machine learning model in a data source having specific characteristics as a result of a test is below a standard value, transmitting information about the characteristics showing performance below the standard value to the mini-batch generator; In the mini-batch generator, generating the plurality of new mini-batches by increasing the ratio of data sources having characteristics that show performance below the reference value while the machine learning model is being trained; and, in the learning unit, inputting the plurality of newly created mini-batches into the machine learning model. An automated data streaming method is provided.

상기 복수 개의 미니배치를 설정된 머신러닝 모델에 입력하는 단계는, 상기 복수 개의 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행하고, 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는 단계는, 상기 복수 개의 동일한 모델 중 적어도 하나에서 상기 기준치 이하의 성능을 보이는 테스트 결과가 나타나는 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달할 수 있다.In the step of inputting the plurality of mini-batches into a set machine learning model, distributed learning is performed by inputting the plurality of mini-batches into a plurality of identical models, and information on characteristics showing performance below the reference value is stored in the mini-batch. In the step of transmitting to the generation unit, if a test result showing performance below the standard value is shown in at least one of the plurality of identical models, information on the characteristics showing performance below the standard value may be transmitted to the mini-batch generation unit.

상기 복수 개의 동일한 모델에 입력되는 미니배치 각각은, 서로 다른 데이터를 포함할 수 있다.Each of the mini-batches input to the plurality of identical models may include different data.

종래에는 미니배치에 포함된 데이터의 양이나 종류를 수정하고자 할 때 기존에 수행되던 학습을 멈추고 처음부터 다시 재학습을 수행하여야 하였으나, 본 발명의 실시예들에 따르면 학습이 수행되는 도중 미니배치에 따른 머신러닝 모델의 성능을 테스트한 후 테스트 결과에 따라 미니배치에 포함된 데이터의 양이나 종류를 실시간으로 변경하여 학습을 계속함으로써, 보다 빠르게 머신러닝 모델의 최적화를 구현할 수 있다. Conventionally, when you want to modify the amount or type of data included in a mini-batch, you had to stop the existing learning and re-learn from the beginning. However, according to embodiments of the present invention, the mini-batch is modified while the learning is being performed. After testing the performance of the machine learning model, the amount or type of data included in the mini-batch can be changed in real time according to the test results to continue learning, enabling faster optimization of the machine learning model.

또한, 종래에는 학습에 사용될 데이터 세트를 생성하고 이에 따른 학습 결과를 예측하여 다음 데이터 세트를 생성하였으나, 본 발명의 실시예들에 따르면 데이터 세트에 포함된 특징 데이터를 미니배치에 모두 포함시켜 학습을 수행한 후 학습 과정에서 머신러닝 모델의 성능을 테스트하여 그 테스트 결과에 따라 미니배치에 포함된 특징 데이터의 종류나 양을 실시간으로 조절하도록 함으로써 머신러닝 모델의 학습 과정에서의 여러 불필요한 단계들을 대폭 줄일 수 있다.In addition, in the past, a data set to be used for learning was created and the learning result was predicted to generate the next data set. However, according to embodiments of the present invention, learning is performed by including all feature data included in the data set in the mini-batch. After performing this, the performance of the machine learning model is tested during the learning process, and the type or amount of feature data included in the mini-batch is adjusted in real time according to the test results, thereby significantly reducing various unnecessary steps in the machine learning model learning process. You can.

이러한 자동화된 데이터 스트리밍 기법은 정형 데이터뿐 아니라 비정형 데이터에도 적용 가능하며, 학습 과정에서도 데이터? 실시간 수정이 자동으로 가능하다는 점에서 큰 장점이 있다.This automated data streaming technique can be applied to not only structured data but also unstructured data, and data? It has a great advantage in that real-time corrections are possible automatically.

도 1은 본 발명의 일 실시예에 따른 데이터 스트리밍 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 다량의 데이터 소스의 예시
도 3은 본 발명의 일 실시예에 따른 데이터 분류부에서 데이터 소스를 분류한 결과를 나타낸 예시
도 4는 본 발명의 일 실시예에 따른 미니배치 생성부에서 생성된 제1 미니배치 및 제2 미니배치의 예시
도 5는 본 발명의 일 실시예에 따른 미니배치 생성부에서 미니배치의 생성 과정에서 데이터 후처리를 실시하는 과정을 나타낸 예시
도 6은 본 발명의 일 실시예에 따른 학습부에서 복수 개의 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행하는 과정을 나타낸 예시
도 7은 본 발명의 일 실시예에 따른 데이터 스트리밍 방법을 설명하기 위한 흐름도
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a block diagram showing the detailed configuration of a data streaming system according to an embodiment of the present invention.
Figure 2 is an illustration of a large amount of data source according to an embodiment of the present invention
Figure 3 is an example showing the results of classifying data sources in a data classification unit according to an embodiment of the present invention.
Figure 4 is an example of a first mini-batch and a second mini-batch generated by the mini-batch generator according to an embodiment of the present invention.
Figure 5 is an example showing the process of performing data post-processing during the mini-batch creation process in the mini-batch generator according to an embodiment of the present invention.
Figure 6 is an example showing a process of performing distributed learning by inputting a plurality of mini-batches into a plurality of identical models in the learning unit according to an embodiment of the present invention.
Figure 7 is a flowchart illustrating a data streaming method according to an embodiment of the present invention.
8 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in example embodiments.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The detailed description below is provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that a detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. In addition, the terms described below are terms defined in consideration of functions in the present invention, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification. The terminology used in the detailed description is only for describing embodiments of the present invention and should in no way be limiting. Unless explicitly stated otherwise, singular forms include plural meanings. In this description, expressions such as “comprising” or “including” are intended to indicate certain features, numbers, steps, operations, elements, parts or combinations thereof, and one or more than those described. It should not be construed to exclude the existence or possibility of any other characteristic, number, step, operation, element, or part or combination thereof.

도 1은 본 발명의 일 실시예에 따른 데이터 스트리밍 시스템(100)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터 스트리밍 시스템(100)은 데이터 입력부(102), 데이터 분류부(104), 미니배치 생성부(106), 학습부(108) 및 피드백부(110)를 포함한다.Figure 1 is a block diagram showing the detailed configuration of a data streaming system 100 according to an embodiment of the present invention. As shown in Figure 1, the data streaming system 100 according to an embodiment of the present invention includes a data input unit 102, a data classification unit 104, a mini-batch generation unit 106, a learning unit 108, and Includes a feedback unit 110.

데이터 입력부(102)는 다량의 데이터 소스를 입력 받는다. 본 실시예들에 있어서, 데이터 소스는 후술할 머신러닝 모델에 입력되어 학습에 사용될 로우 데이터(raw data)로서, 예를 들어 특정 오브젝트를 포함하는 이미지 데이터일 수 있다. 또한, 머신러닝 모델은 자율주행 AI 솔루션과 같은 인공지능 솔루션을 구현하는 데 사용되는 모델이며, 예를 들어 차량탐지 머신러닝 모델, 사람탐지 머신러닝 모델, 빈 공간탐지 머신러닝 모델 등이 될 수 있다. 일반적으로, 하나의 인공지능 솔루션을 구현하기 위해서는 다수의 머신러닝 모델이 필요하며, 다량의 학습 데이터를 기반으로 이들 머신러닝 모델 각각을 학습시켜 그 성능을 최적화할 필요가 있다. 이와 같이, 데이터 입력부(102)는 머신러닝 모델의 학습을 위해 외부 서버 또는 데이터베이스로부터 다량의 데이터 소스를 입력 받을 수 있다.The data input unit 102 receives a large amount of data sources. In these embodiments, the data source is raw data to be input into a machine learning model to be described later and used for learning, and may be, for example, image data including a specific object. In addition, machine learning models are models used to implement artificial intelligence solutions such as autonomous driving AI solutions, and can be, for example, vehicle detection machine learning models, human detection machine learning models, and empty space detection machine learning models. . Generally, in order to implement one artificial intelligence solution, multiple machine learning models are required, and it is necessary to train each of these machine learning models based on a large amount of learning data to optimize their performance. In this way, the data input unit 102 can receive a large amount of data sources from an external server or database for learning a machine learning model.

도 2는 본 발명의 일 실시예에 따른 다량의 데이터 소스의 예시이다.Figure 2 is an example of a large amount of data source according to an embodiment of the present invention.

도 2를 참조하면, 데이터 소스는 예를 들어, 차량을 포함하는 낮 이미지, 밤 이미지 등과 같이 낮 또는 밤 시간대에 도로에서 촬영된 이미지일 수 있다. Referring to FIG. 2, the data source may be, for example, an image taken on the road during the day or night, such as a day image containing a vehicle, a night image, etc.

데이터 분류부(104)는 상기 데이터 소스의 특징을 추출한 후 상기 특징에 따라 상기 데이터 소스를 분류한다. 여기서, 특징은 데이터 소스를 분류하는 기준으로서, 예를 들어 이미지가 촬영된 시간대, 이미지에 포함된 오브젝트의 종류 등이 될 수 있다. 데이터 분류부(104)는 데이터 소스 각각을 분석하여 특징을 추출하고, 상기 특징별로 상기 데이터 소스를 분류할 수 있다. 만약, 상기 특징이 이미지가 촬영된 시간대라 가정하는 경우, 데이터 분류부(104)는 상기 데이터 소스를 차량이 포함된 낮 이미지와 차량이 포함된 밤 이미지로 분류할 수 있다.The data classification unit 104 extracts characteristics of the data source and then classifies the data source according to the characteristics. Here, the feature is a standard for classifying the data source, and may be, for example, the time zone in which the image was taken, the type of object included in the image, etc. The data classification unit 104 may analyze each data source to extract features and classify the data sources according to the features. If it is assumed that the feature is the time when the image was captured, the data classification unit 104 may classify the data source into a day image containing a vehicle and a night image containing a vehicle.

도 3은 본 발명의 일 실시예에 따른 데이터 분류부(104)에서 데이터 소스를 분류한 결과를 나타낸 예시이다.Figure 3 is an example showing the results of classifying data sources by the data classification unit 104 according to an embodiment of the present invention.

도 3을 참조하면, 데이터 분류부(104)는 예를 들어, 상기 데이터 소스를 차량이 포함된 낮 이미지(A)와 차량이 포함된 밤 이미지(B)로 분류할 수 있다. 다만, 이는 일 예시에 불과하며, 데이터 분류부(104)가 데이터 소스를 분류하는 기준이 이에 한정되는 것은 아니다.Referring to FIG. 3, the data classification unit 104 may classify the data source into, for example, a day image (A) containing a vehicle and a night image (B) containing a vehicle. However, this is only an example, and the standard by which the data classification unit 104 classifies data sources is not limited to this.

미니배치 생성부(106)는 분류된 각 데이터 소스로부터 일부를 추출하고, 추출된 각 데이터 소스 간의 비율이 설정된 값을 갖도록 상기 추출된 각 데이터 소스를 믹싱(mixing)하여 복수 개의 미니배치(minibatch)를 생성한다. 본 실시예들에 있어서, 미니배치는 머신러닝 모델에 입력되는 학습용 데이터로서, 다량의 데이터 소스 중 일부 데이터만으로 이루어진다. The mini-batch generator 106 extracts a portion from each classified data source and mixes each extracted data source so that the ratio between each extracted data source has a set value to create a plurality of minibatches. creates . In these embodiments, a mini-batch is training data input to a machine learning model, and consists of only some data among a large amount of data sources.

이를 위해, 미니배치 생성부(106)는 분류된 각 데이터 소스로부터 일부를 추출할 수 있다. 일 예시로서, 미니배치 생성부(106)는 차량이 포함된 낮 이미지(A) 세트, 차량이 포함된 밤 이미지(B) 세트 각각으로부터 일부만을 추출할 수 있다. To this end, the mini-batch generator 106 may extract a portion from each classified data source. As an example, the mini-batch generator 106 may extract only a portion from each of the day image (A) set including vehicles and the night image (B) set including vehicles.

이후, 미니배치 생성부(106)는 추출된 각 데이터 소스 간의 비율이 설정된 값을 갖도록 상기 추출된 각 데이터 소스를 믹싱하여 복수 개의 미니배치를 생성할 수 있다. 일 예시로서, 미니배치 생성부(106)는 차량이 포함된 낮 이미지(A) 1개와 차량이 포함된 밤 이미지(B) 1개를 포함하는 미니배치를 100개 생성할 수 있다. Thereafter, the mini-batch generator 106 may generate a plurality of mini-batches by mixing each extracted data source so that the ratio between each extracted data source has a set value. As an example, the mini-batch generator 106 may generate 100 mini-batches including one day image (A) containing a vehicle and one night image (B) containing a vehicle.

도 4는 본 발명의 일 실시예에 따른 미니배치 생성부(106)에서 생성된 제1 미니배치 및 제2 미니배치의 예시이다. 도 4의 (a)는 제1 매니배치를 나타내며, 도 4의 (b)는 제2 매니배치를 나타낸다.Figure 4 is an example of a first mini-batch and a second mini-batch created by the mini-batch generator 106 according to an embodiment of the present invention. Figure 4(a) shows the first manifold, and Figure 4(b) shows the second manifold.

도 4를 참조하면, 미니배치 생성부(106)는 차량이 포함된 낮 이미지(A) 1개와 차량이 포함된 밤 이미지(B) 1개를 포함하는 제1 미니배치를 생성하고, 차량이 포함된 낮 이미지(A) 1개와 차량이 포함된 밤 이미지(B) 1개를 포함하는 제2 미니배치를 생성할 수 있다. 이때, 미니배치 각각은 동일한 데이터 세트로부터 생성되지만, 각 미니배치에 포함된 데이터는 서로 상이하다. 또한, 여기서는 설명의 편의상 차량이 포함된 낮 이미지(A)와 차량이 포함된 밤 이미지(B)의 비율이 동일한 것으로 가정하였으나 이는 일 예시에 불과하며, 미니배치 하나에 포함된 서로 다른 특징의 데이터들 간의 비율이 특별히 한정되는 것은 아니다. Referring to FIG. 4, the mini-batch generator 106 generates a first mini-batch including one day image (A) containing a vehicle and one night image (B) containing a vehicle, and A second mini-batch containing one day image (A) containing a vehicle and one night image containing a vehicle (B) can be created. At this time, each mini-batch is created from the same data set, but the data included in each mini-batch is different. In addition, here, for convenience of explanation, it is assumed that the ratio of the daytime image (A) containing the vehicle and the night image (B) containing the vehicle are the same, but this is only an example, and data with different characteristics included in one mini-batch The ratio between them is not particularly limited.

또한, 미니배치 생성부(106)는 상기 복수 개의 미니배치를 머신러닝 모델에 입력하기 전 미니배치에 대한 후처리를 수행할 수 있다. 예를 들어, 미니배치 생성부(106)는 미니배치에 포함된 데이터 개수, 예를 들어 이미지 개수를 늘리기 위해 미니배치에 포함된 데이터를 좌우로 플립핑(flipping)할 수 있다.Additionally, the mini-batch generator 106 may perform post-processing on the mini-batches before inputting the plurality of mini-batches into a machine learning model. For example, the mini-batch generator 106 may flip the data included in the mini-batch left and right to increase the number of data included in the mini-batch, for example, the number of images.

도 5는 본 발명의 일 실시예에 따른 미니배치 생성부(106)에서 미니배치의 생성 과정에서 데이터 후처리를 실시하는 과정을 나타낸 예시이다.Figure 5 is an example showing a process of performing data post-processing during the mini-batch creation process in the mini-batch creation unit 106 according to an embodiment of the present invention.

도 5를 참조하면, 미니배치 생성부(106)는 미니배치에 포함된 데이터를 좌우로 플립핑(flipping)하여 미니배치에 포함된 데이터 개수, 예를 들어 이미지 개수를 늘릴 수 있다. 이 경우, 실제 입력된 데이터 세트보다 더 많은 데이터 세트를 학습 데이터로서 활용할 수 있다.Referring to FIG. 5, the mini-batch generator 106 can increase the number of data, for example, the number of images, included in the mini-batch by flipping the data included in the mini-batch to the left and right. In this case, more data sets than the actual input data set can be used as learning data.

학습부(108)는 상기 복수 개의 미니배치를 설정된 머신러닝 모델에 입력한다. 일 예시로서, 학습부(108)는 제1 미니배치, 제2 미니배치,…제n 미니배치를 머신러닝 모델에 각각 입력하여 상기 머신러닝 모델을 학습시킬 수 있다. 이때, 학습부(108)는 상기 복수 개의 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행할 수 있다. 예를 들어, 학습부(108)는 상기 복수 개의 미니배치를 모델 A1, 모델 A2, 모델 A3에 각각 입력하여 분산 학습을 수행할 수 있다. 여기서, 모델 A1은 마스터 모델(master model)이며, 모델 A2 및 모델 A3는 슬래이브 모델(slave model)일 수 있다.The learning unit 108 inputs the plurality of mini-batches into a set machine learning model. As an example, the learning unit 108 includes a first mini-batch, a second mini-batch,... The nth mini-batch can be input to the machine learning model to train the machine learning model. At this time, the learning unit 108 may perform distributed learning by inputting the plurality of mini-batches into a plurality of identical models. For example, the learning unit 108 may perform distributed learning by inputting the plurality of mini-batches into model A1, model A2, and model A3, respectively. Here, model A1 may be a master model, and model A2 and model A3 may be slave models.

도 6은 본 발명의 일 실시예에 따른 학습부(108)에서 복수 개의 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행하는 과정을 나타낸 예시이다.Figure 6 is an example showing a process of performing distributed learning by inputting a plurality of mini-batches into a plurality of identical models in the learning unit 108 according to an embodiment of the present invention.

학습부(108)는 제1 미니배치, 제2 미니배치,…제n 미니배치를 모델 A1, 모델 A2 및 모델 A3에 각각 입력하여 각 머신러닝 모델을 학습시킬 수 있다. 이러한 머신러닝 모델에서의 데이터 입력 및 학습은 서로 병렬적으로 수행될 수 있다.The learning unit 108 includes the first mini-batch, the second mini-batch,... Each machine learning model can be trained by inputting the nth mini-batch into model A1, model A2, and model A3, respectively. Data input and learning in these machine learning models can be performed in parallel with each other.

피드백부(110)는 상기 머신러닝 모델이 학습되는 동안 상기 머신러닝 모델의 성능을 테스트하고, 테스트 결과에 따라 상기 미니배치에 포함된 데이터들의 비율 또는 개수를 조절한다. 상술한 바와 같이, 학습부(108)는 제1 미니배치, 제2 미니배치,…제n 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행할 수 있다. 피드백부(110)는 이 과정에서 기 머신러닝 모델의 성능을 테스트한다. 만약, 테스트 결과 특정 특징을 갖는 데이터 소스에서의 머신러닝 모델의 성능이 기준치 이하인 경우(예를 들어, 차량을 포함하는 밤 이미지에서의 머신러닝 모델의 성능이 기준치 이하인 경우), 피드백부(110)는 상기 기준치 이하의 성능을 보이는 특징에 관한 정보(예를 들어, 차량을 포함하는 밤 이미지에 관한 정보)를 미니배치 생성부(106)로 전달할 수 있다.The feedback unit 110 tests the performance of the machine learning model while it is being learned, and adjusts the ratio or number of data included in the mini-batch according to the test results. As described above, the learning unit 108 includes the first mini-batch, the second mini-batch,... Distributed learning can be performed by inputting the nth mini-batch into multiple identical models. The feedback unit 110 tests the performance of the machine learning model in this process. If, as a result of the test, the performance of the machine learning model in a data source with specific characteristics is below the standard value (for example, if the performance of the machine learning model in a night image including a vehicle is below the standard value), the feedback unit 110 may transmit information about features showing performance below the standard value (for example, information about a night image including a vehicle) to the mini-batch generator 106.

이 경우, 미니배치 생성부(106)는 피드백부(110)로부터 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 수신하고, 상기 머신러닝 모델이 학습되는 동안 상기 기준치 이하의 성능을 보이는 특징을 갖는 데이터 소스의 비율을 증가시켜 상기 복수 개의 미니배치를 새롭게 생성할 수 있다. 예를 들어, 미니배치 생성부(106)는 미니배치에 포함된 데이터들 간의 비율을 아래와 같이 조절할 수 있다.In this case, the mini-batch generator 106 receives information about features showing performance below the reference value from the feedback unit 110, and has features showing performance below the reference value while the machine learning model is being trained. By increasing the ratio of data sources, the plurality of mini-batches can be newly created. For example, the mini-batch generator 106 can adjust the ratio between data included in the mini-batch as follows.

[조절 전][Before adjustment]

차량을 포함하는 낮 이미지 : 차량을 포함하는 밤 이미지 = 1 : 1Day image containing vehicles: Night image containing vehicles = 1:1

[조절 후][After adjustment]

차량을 포함하는 낮 이미지 : 차량을 포함하는 밤 이미지 = 1 : 2Day image containing vehicles: Night image containing vehicles = 1:2

이후, 학습부(108)는 상기 새롭게 생성된 복수 개의 미니배치를 상기 머신러닝 모델에 입력하여 머신러닝 모델을 최적화시킬 수 있다. Thereafter, the learning unit 108 may optimize the machine learning model by inputting the plurality of newly created mini-batches into the machine learning model.

즉, 종래에는 미니배치에 포함된 데이터의 양이나 종류를 수정하고자 할 때 기존에 수행되던 학습을 멈추고 처음부터 다시 재학습을 수행하여야 하였으나, 본 발명의 실시예들에 따르면 학습이 수행되는 도중 미니배치에 따른 머신러닝 모델의 성능을 테스트한 후 테스트 결과에 따라 미니배치에 포함된 데이터의 양이나 종류를 실시간으로 변경하여 학습을 계속함으로써, 보다 빠르게 머신러닝 모델의 최적화를 구현할 수 있다. That is, conventionally, when trying to modify the amount or type of data included in a mini-batch, the existing learning had to be stopped and re-learning was performed from the beginning. However, according to embodiments of the present invention, the mini-batch can be modified while the learning is being performed. After testing the performance of the machine learning model according to the batch, the amount or type of data included in the mini-batch can be changed in real time according to the test results to continue learning, enabling faster optimization of the machine learning model.

또한, 종래에는 학습에 사용될 데이터 세트를 생성하고 이에 따른 학습 결과를 예측하여 다음 데이터 세트를 생성하였으나, 본 발명의 실시예들에 따르면 데이터 세트에 포함된 특징 데이터를 미니배치에 모두 포함시켜 학습을 수행한 후 학습 과정에서 머신러닝 모델의 성능을 테스트하여 그 테스트 결과에 따라 미니배치에 포함된 특징 데이터의 종류나 양을 실시간으로 조절하도록 함으로써 머신러닝 모델의 학습 과정에서의 여러 불필요한 단계들을 대폭 줄일 수 있다.In addition, in the past, a data set to be used for learning was created and the learning result was predicted to generate the next data set. However, according to embodiments of the present invention, learning is performed by including all feature data included in the data set in the mini-batch. After performing this, the performance of the machine learning model is tested during the learning process, and the type or amount of feature data included in the mini-batch is adjusted in real time according to the test results, thereby significantly reducing various unnecessary steps in the machine learning model learning process. You can.

도 7은 본 발명의 일 실시예에 따른 데이터 스트리밍 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.Figure 7 is a flowchart illustrating a data streaming method according to an embodiment of the present invention. In the illustrated flow chart, the method is divided into a plurality of steps, but at least some of the steps are performed in a different order, combined with other steps, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed.

S102 단계에서, 데이터 입력부(102)는 다량의 데이터 소스를 입력 받는다.In step S102, the data input unit 102 receives a large amount of data sources.

S104 단계에서, 데이터 분류부(104)는 상기 데이터 소스의 특징을 추출한 후 상기 특징에 따라 상기 데이터 소스를 분류한다.In step S104, the data classification unit 104 extracts the characteristics of the data source and then classifies the data source according to the characteristics.

S106 단계에서, 미니배치 생성부(106)는 분류된 각 데이터 소스로부터 일부를 추출하고, 추출된 각 데이터 소스 간의 비율이 설정된 값을 갖도록 상기 추출된 각 데이터 소스를 믹싱하여 복수 개의 미니배치를 생성한다.In step S106, the mini-batch generator 106 extracts a portion from each classified data source and mixes each extracted data source so that the ratio between each extracted data source has a set value to generate a plurality of mini-batches. do.

S108 단계에서, 학습부(108)는 상기 복수 개의 미니배치를 이용하여 머신러닝 모델을 학습한다. 이때, 학습부(108)는 예를 들어, 복수 개의 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행할 수 있다. In step S108, the learning unit 108 learns a machine learning model using the plurality of mini-batches. At this time, the learning unit 108 may perform distributed learning by, for example, inputting a plurality of mini-batches into a plurality of identical models.

S110 단계에서, 피드백부(110)는 상기 머신러닝 모델이 학습되는 동안 상기 머신러닝 모델의 성능을 테스트한다. 만약, 상기 머신러닝 모델의 성능이 기준치를 초과하는 경우, 상기 미니배치에 포함된 데이터들의 비율 또는 개수의 조절 없이 앞선 S102 단계 내지 S108 단계가 반복적으로 수행된다. 만약, 상기 머신러닝 모델의 성능이 기준치 이하인 경우, S112 단계가 수행된다.In step S110, the feedback unit 110 tests the performance of the machine learning model while the machine learning model is being learned. If the performance of the machine learning model exceeds the standard value, the previous steps S102 to S108 are repeatedly performed without adjusting the ratio or number of data included in the mini-batch. If the performance of the machine learning model is below the standard value, step S112 is performed.

S112 단계에서, 상기 머신러닝 모델의 성능이 기준치 이하인 경우, 피드백부(110)는 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 미니배치 생성부(106)로 전달한다. 미니배치 생성부(106)는 상기 머신러닝 모델이 학습되는 동안 상기 기준치 이하의 성능을 보이는 특징을 갖는 데이터 소스의 비율을 증가시켜 상기 복수 개의 미니배치를 새롭게 생성한다. 이 경우, S106 단계에서의 미니배치가 새롭게 생성되어 머신러닝 모델에 실시간으로 입력된다. 즉, S112 단계에서 미니배치에 대한 조절이 발생되는 경우 학습부(108)는 S108 단계에서 상기 새롭게 생성된 복수 개의 미니배치를 상기 머신러닝 모델에 입력한다. In step S112, when the performance of the machine learning model is below the standard value, the feedback unit 110 transmits information about the characteristics showing performance below the standard value to the mini-batch generator 106. The mini-batch generator 106 generates the plurality of new mini-batches by increasing the ratio of data sources with characteristics showing performance below the reference value while the machine learning model is being trained. In this case, the mini-batch in step S106 is newly created and input into the machine learning model in real time. That is, when an adjustment to the mini-batch occurs in step S112, the learning unit 108 inputs the plurality of newly created mini-batches into the machine learning model in step S108.

도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않은 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.8 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those not described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 데이터 스트리밍 시스템(100), 또는 데이터 스트리밍 시스템(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be data streaming system 100, or one or more components included in data streaming system 100.

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14, a computer-readable storage medium 16, and a communication bus 18. Processor 14 may cause computing device 12 to operate in accordance with the example embodiments noted above. For example, processor 14 may execute one or more programs stored on computer-readable storage medium 16. The one or more programs may include one or more computer-executable instructions, which, when executed by the processor 14, cause computing device 12 to perform operations according to example embodiments. It can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer-readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, computer-readable storage medium 16 includes memory (volatile memory, such as random access memory, non-volatile memory, or an appropriate combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, another form of storage medium that can be accessed by computing device 12 and store desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12, including processor 14 and computer-readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input/output devices 24. The input/output interface 22 and the network communication interface 26 are connected to the communication bus 18. Input/output device 24 may be coupled to other components of computing device 12 through input/output interface 22. Exemplary input/output devices 24 include, but are not limited to, a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touch screen), a voice or sound input device, various types of sensor devices, and/or imaging devices. It may include input devices and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 24 may be included within the computing device 12 as a component constituting the computing device 12, or may be connected to the computing device 12 as a separate device distinct from the computing device 12. It may be possible.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Although the present invention has been described in detail above through representative embodiments, those skilled in the art will recognize that various modifications to the above-described embodiments are possible without departing from the scope of the present invention. You will understand. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the claims and equivalents of the claims as well as the claims described later.

100 : 데이터 스트리밍 시스템
102 : 데이터 입력부
104 : 데이터 분류부
106 : 미니배치 생성부
108 : 학습부
110 : 피드백부
100: Data streaming system
102: data input unit
104: Data classification unit
106: Mini-batch creation unit
108: Learning Department
110: feedback unit

Claims (6)

다량의 데이터 소스를 입력 받는 데이터 입력부;
상기 데이터 소스의 특징을 추출한 후 상기 특징에 따라 상기 데이터 소스를 분류하는 데이터 분류부;
분류된 각 데이터 소스로부터 일부를 추출하고, 추출된 각 데이터 소스 간의 비율이 설정된 값을 갖도록 상기 추출된 각 데이터 소스를 믹싱(mixing)하여 복수 개의 미니배치(minibatch)를 생성하는 미니배치 생성부;
상기 복수 개의 미니배치를 설정된 머신러닝 모델에 입력하는 학습부; 및
상기 머신러닝 모델이 학습되는 동안 상기 머신러닝 모델의 성능을 테스트하고, 테스트 결과 특정 특징을 갖는 데이터 소스에서의 머신러닝 모델의 성능이 기준치 이하인 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는 피드백부를 포함하며,
상기 미니배치 생성부는, 상기 머신러닝 모델이 학습되는 동안 상기 기준치 이하의 성능을 보이는 특징을 갖는 데이터 소스의 비율을 증가시켜 상기 복수 개의 미니배치를 새롭게 생성하고,
상기 학습부는, 상기 새롭게 생성된 복수 개의 미니배치를 상기 머신러닝 모델에 입력하는, 자동화된 데이터 스트리밍 시스템.
A data input unit that receives a large amount of data sources;
a data classification unit that extracts characteristics of the data source and then classifies the data source according to the characteristics;
a mini-batch generator that generates a plurality of minibatches by extracting a portion from each classified data source and mixing each extracted data source so that the ratio between each extracted data source has a set value;
A learning unit that inputs the plurality of mini-batches into a set machine learning model; and
While the machine learning model is being learned, the performance of the machine learning model is tested, and if the test result shows that the performance of the machine learning model in a data source with specific characteristics is below the standard value, information about the characteristics showing performance below the standard value is provided to the above information. It includes a feedback unit that is transmitted to the mini-batch creation unit,
The mini-batch generator generates the plurality of new mini-batches by increasing the ratio of data sources with characteristics that show performance below the reference value while the machine learning model is being trained,
The learning unit is an automated data streaming system that inputs the plurality of newly created mini-batches into the machine learning model.
청구항 1에 있어서,
상기 학습부는, 상기 복수 개의 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행하고,
상기 피드백부는, 상기 복수 개의 동일한 모델 중 적어도 하나에서 상기 기준치 이하의 성능을 보이는 테스트 결과가 나타나는 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는, 자동화된 데이터 스트리밍 시스템.
In claim 1,
The learning unit performs distributed learning by inputting the plurality of mini-batches into a plurality of identical models,
The feedback unit is an automated data streaming system that transmits information about features showing performance below the reference value to the mini-batch generator when at least one of the plurality of identical models shows a test result showing performance below the reference value. .
청구항 2에 있어서,
상기 복수 개의 동일한 모델에 입력되는 미니배치 각각은, 서로 다른 데이터를 포함하는, 자동화된 데이터 스트리밍 시스템.
In claim 2,
An automated data streaming system, wherein each mini-batch input to the plurality of identical models includes different data.
데이터 입력부에서, 다량의 데이터 소스를 입력 받는 단계;
데이터 분류부에서, 상기 데이터 소스의 특징을 추출한 후 상기 특징에 따라 상기 데이터 소스를 분류하는 단계;
미니배치 생성부에서, 분류된 각 데이터 소스로부터 일부를 추출하는 단계;
상기 미니배치 생성부에서, 추출된 각 데이터 소스 간의 비율이 설정된 값을 갖도록 상기 추출된 각 데이터 소스를 믹싱하여 복수 개의 미니배치를 생성하는 단계;
학습부에서, 상기 복수 개의 미니배치를 설정된 머신러닝 모델에 입력하는 단계;
피드백부에서, 상기 머신러닝 모델이 학습되는 동안 상기 머신러닝 모델의 성능을 테스트하는 단계;
상기 피드백부에서, 테스트 결과 특정 특징을 갖는 데이터 소스에서의 머신러닝 모델의 성능이 기준치 이하인 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는 단계;
상기 미니배치 생성부에서, 상기 머신러닝 모델이 학습되는 동안 상기 기준치 이하의 성능을 보이는 특징을 갖는 데이터 소스의 비율을 증가시켜 상기 복수 개의 미니배치를 새롭게 생성하는 단계; 및
상기 학습부에서, 상기 새롭게 생성된 복수 개의 미니배치를 상기 머신러닝 모델에 입력하는 단계를 포함하는, 자동화된 데이터 스트리밍 방법.
Receiving a large amount of data sources from a data input unit;
In a data classification unit, extracting features of the data source and then classifying the data source according to the features;
In the mini-batch generator, extracting a portion from each classified data source;
generating, in the mini-batch generator, a plurality of mini-batches by mixing each extracted data source so that a ratio between each extracted data source has a set value;
In the learning unit, inputting the plurality of mini-batches into a set machine learning model;
In a feedback unit, testing the performance of the machine learning model while the machine learning model is being learned;
In the feedback unit, when the performance of a machine learning model in a data source having specific characteristics as a result of a test is below a standard value, transmitting information about the characteristics showing performance below the standard value to the mini-batch generator;
In the mini-batch generator, generating the plurality of new mini-batches by increasing the ratio of data sources having characteristics that show performance below the reference value while the machine learning model is being trained; and
An automated data streaming method comprising, in the learning unit, inputting the plurality of newly created mini-batches into the machine learning model.
청구항 4에 있어서,
상기 복수 개의 미니배치를 설정된 머신러닝 모델에 입력하는 단계는, 상기 복수 개의 미니배치를 복수 개의 동일한 모델에 입력하여 분산 학습을 수행하고,
상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는 단계는, 상기 복수 개의 동일한 모델 중 적어도 하나에서 상기 기준치 이하의 성능을 보이는 테스트 결과가 나타나는 경우 상기 기준치 이하의 성능을 보이는 특징에 관한 정보를 상기 미니배치 생성부로 전달하는, 자동화된 데이터 스트리밍 방법.
In claim 4,
In the step of inputting the plurality of mini-batches into a set machine learning model, distributed learning is performed by inputting the plurality of mini-batches into a plurality of identical models,
The step of transmitting information about features showing performance below the reference value to the mini-batch generator may include, when a test result showing performance below the reference value appears in at least one of the plurality of identical models, showing performance below the reference value. An automated data streaming method that transmits information about characteristics to the mini-batch generator.
청구항 5에 있어서,
상기 복수 개의 동일한 모델에 입력되는 미니배치 각각은, 서로 다른 데이터를 포함하는, 자동화된 데이터 스트리밍 방법.
In claim 5,
An automated data streaming method, wherein each mini-batch input to the plurality of identical models includes different data.
KR1020220133167A 2022-10-17 2022-10-17 System and method for automated data streaming KR20240053270A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220133167A KR20240053270A (en) 2022-10-17 2022-10-17 System and method for automated data streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220133167A KR20240053270A (en) 2022-10-17 2022-10-17 System and method for automated data streaming

Publications (1)

Publication Number Publication Date
KR20240053270A true KR20240053270A (en) 2024-04-24

Family

ID=90884095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220133167A KR20240053270A (en) 2022-10-17 2022-10-17 System and method for automated data streaming

Country Status (1)

Country Link
KR (1) KR20240053270A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102366754B1 (en) 2017-05-16 2022-02-24 구글 엘엘씨 Storing metadata related to captured images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102366754B1 (en) 2017-05-16 2022-02-24 구글 엘엘씨 Storing metadata related to captured images

Similar Documents

Publication Publication Date Title
CN109086199B (en) Method, terminal and storage medium for automatically generating test script
US20190278699A1 (en) System and method for automated software test case designing based on Machine Learning (ML)
Sheh et al. Defining explainable AI for requirements analysis
CN106202177A (en) A kind of file classification method and device
KR102363737B1 (en) Apparatus and method for detecting anomaly
US20160124731A1 (en) Automated code-generation for cross-language development, testing, and integration
US11803616B2 (en) Function testing for movable objects in safety critical applications with spatial representation learning and adversarial generation
WO2020023760A1 (en) System and method for clustering products by combining attribute data with image recognition
CN112784905A (en) Data sample expansion method and device and electronic equipment
CN109361628A (en) Message assemble method, device, computer equipment and storage medium
CN111340179A (en) Convolutional neural network topology method
CN114594927A (en) Low code development method, device, system, server and storage medium
CN114398255A (en) Automatic driving test scene generation method and device, electronic equipment and storage medium
Spichkova et al. Towards formal modelling of autonomous systems
WO2018166499A1 (en) Text classification method and device, and storage medium
US11948084B1 (en) Function creation for database execution of deep learning model
KR20240053270A (en) System and method for automated data streaming
CN110928761B (en) Demand chain and system and method for application thereof
DE102022123257A1 (en) Selective elimination of the counteracting robustness features of neural networks
Jesenski et al. Creation of critical traffic scenes for usage with importance sampling
Gracic et al. Concept for safety-related development of deep neural networks in the automotive
WO2021134350A1 (en) Inference method and apparatus for neural network model, and computer device and storage medium
Houston et al. Autonomous System Technologies for Resilient Airspace Operations (ASTROA)
CN111159450A (en) Picture classification method and device, computer equipment and storage medium
US20230177112A1 (en) Method and system for generating a logical representation of a data set, as well as training method