KR20200142374A - Method for selecting artificial intelligience model based on input data and disaply apparatus for performing the same method thereof - Google Patents

Method for selecting artificial intelligience model based on input data and disaply apparatus for performing the same method thereof Download PDF

Info

Publication number
KR20200142374A
KR20200142374A KR1020190069556A KR20190069556A KR20200142374A KR 20200142374 A KR20200142374 A KR 20200142374A KR 1020190069556 A KR1020190069556 A KR 1020190069556A KR 20190069556 A KR20190069556 A KR 20190069556A KR 20200142374 A KR20200142374 A KR 20200142374A
Authority
KR
South Korea
Prior art keywords
model
data
models
misclassification
input
Prior art date
Application number
KR1020190069556A
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 KR1020190069556A priority Critical patent/KR20200142374A/en
Priority to EP20179542.4A priority patent/EP3751469A1/en
Priority to PCT/KR2020/007607 priority patent/WO2020251283A1/en
Priority to US16/899,841 priority patent/US11676016B2/en
Publication of KR20200142374A publication Critical patent/KR20200142374A/en

Links

Images

Classifications

    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

An embodiment of the present invention discloses an AI model selection method based on input data to automatically select an AI model enabling accurate acquisition of a result corresponding to data to be tested, for example, a classification result of one of at least one class, among a plurality of AI models, and a method performing the same accordingly. The AI model selection method comprises the steps of: acquiring misclassified data, which is data corresponding to a misclassified result of training data sets; acquiring a learned additional AI model; and outputting misclassification probabilities for each of the plurality of AI models.

Description

입력 데이터에 근거한 AI 모델 선택 방법 및 그에 따른 방법을 수행하는 디스플레이 장치 {METHOD FOR SELECTING ARTIFICIAL INTELLIGIENCE MODEL BASED ON INPUT DATA AND DISAPLY APPARATUS FOR PERFORMING THE SAME METHOD THEREOF}AI model selection method based on input data and a display device that performs the method according to it {METHOD FOR SELECTING ARTIFICIAL INTELLIGIENCE MODEL BASED ON INPUT DATA AND DISAPLY APPARATUS FOR PERFORMING THE SAME METHOD THEREOF}

개시된 실시예는 입력 데이터에 근거한 AI 모델 선택 방법 및 그에 따른 방법을 수행하는 디스플레이 장치에 대한 것이다. The disclosed embodiment relates to a method for selecting an AI model based on input data and a display device performing the method according to the method.

구체적으로, 개시된 실시예는 입력 데이터에 대응되는 결과를 출력하는 입력 데이터에 근거한 AI 모델 선택 방법 및 그에 따른 방법을 수행하는 디스플레이 장치에 대한 것이다. Specifically, the disclosed embodiment relates to a method for selecting an AI model based on input data for outputting a result corresponding to the input data, and a display device performing the method according to the method.

인공지능(Artificial Intelligence, 이하, AI) 시스템은 기계가 스스로 학습(training)하고 판단하며 목적하는 결과를 도출하거나 목적하는 동작을 수행하는 시스템이다. Artificial Intelligence (AI) system is a system in which a machine learns and judges itself, derives a desired result, or performs a target operation.

AI 기술은 딥러닝과 같은 기계 학습 및 기계학습을 활용한 요소 기술들로 구성된다. AI 기술은, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야 등에서 널리 이용되고 있다. AI technology consists of machine learning, such as deep learning, and component technologies that utilize machine learning. AI technology is widely used in technical fields such as linguistic understanding, visual understanding, reasoning/prediction, knowledge expression, and motion control.

예를 들어, AI 기술은 시각적 이해 및 추론/예측의 기술 분야의 기술에서 이용될 수 있다. 구체적으로, AI 기술을 이용하여 입력된 데이터를 분석하여 분류하기 위한 기술을 구현할 수 있다. 즉, 입력된 데이터를 분석 및/또는 분류하여, 목적하는 결과를 획득할 수 있는 방법 및 장치를 구현할 수 있다.For example, AI technology can be used in the art of visual understanding and inference/prediction. Specifically, it is possible to implement a technology to analyze and classify input data using AI technology. That is, it is possible to implement a method and apparatus capable of obtaining a desired result by analyzing and/or classifying the input data.

이하에서는, 다양한 AI 기술들 중에서, 입력된 데이터를 분석하여 입력된 데이터(예를 들어, 이미지)에 포함되는 객체를 인식하고 인식된 객체를 적어도 하나의 부류(class)로 분류하여 출력하는 AI 기술을 예로 들어 설명한다. Hereinafter, among various AI technologies, an AI technology that analyzes input data, recognizes an object included in the input data (eg, image), classifies the recognized object into at least one class, and outputs it. It will be described with an example.

이러한 AI 기술은 알고리즘을 활용하여 구현될 수 있다. 여기서, AI 기술을 구현하기 위한 알고리즘 또는 알고리즘의 집합을 신경망(Neural Network)이라 한다. 여기서, 신경망은 입력 데이터를 입력받고, 전술한 분석 및 분류를 위한 연산을 수행하여, 결과 데이터를 출력할 수 있다. 이렇게, 신경망이 입력 데이터에 대응되는 결과 데이터를 정확하게 출력하기 위해서는, 신경망을 트레이닝 시킬 필요가 있다. 여기서, '트레이닝(training)'은 신경망으로 다양한 데이터들을 입력시키고, 입력된 데이터들을 분석하는 방법, 입력된 데이터들을 분류하는 방법, 및/또는 입력된 데이터들에서 결과 데이터 생성에 필요한 특징을 추출하는 방법 등을 신경망이 스스로 발견 또는 터득할 수 있도록 신경망을 훈련시키는 것을 의미할 수 있다. 여기서, '트레이닝(training)'은 국문으로 '학습' 또는 '훈련'으로 표현될 수 있다. These AI technologies can be implemented using algorithms. Here, an algorithm or a set of algorithms for implementing AI technology is called a neural network. Here, the neural network may receive input data, perform an operation for analysis and classification described above, and output result data. In this way, in order for the neural network to accurately output the result data corresponding to the input data, it is necessary to train the neural network. Here,'training' is a method of inputting various data with a neural network, analyzing the input data, classifying the input data, and/or extracting features necessary for generating result data from the input data. It can mean training a neural network so that it can discover or learn how to do it by itself. Here,'training' may be expressed as'learning' or'training' in Korean.

또한, 전술한 신경망을 통하여 입력 데이터에 대응되는 출력 데이터를 출력하도록 하는 알고리즘의 집합, 알고리즘의 집합을 실행하는 소프트웨어 및/또는 알고리집의 집합을 실행하는 하드웨어를 'AI 모델'(또는, '인공지능 모델')이라 칭할 수 있을 것이다. In addition, a set of algorithms for outputting output data corresponding to input data through the aforementioned neural network, software for executing the set of algorithms, and/or hardware for executing the set of algorithms are referred to as'AI models' (or'artificial). Intelligence model').

AI 모델은 매우 다양한 형태로 존재할 수 있다. 구체적으로, 이미지를 입력받고, 입력된 이미지를 분석하여 이미지에 포함되는 객체를 적어도 하나의 부류로 분류하는 동작을 수행하는 복수개의 AI 모델들이 존재할 수 있다. AI models can exist in many different forms. Specifically, there may be a plurality of AI models that receive an image and perform an operation of analyzing the input image to classify objects included in the image into at least one class.

여기서, 복수개의 AI 모델들 각각이 입력 데이터에 대응되는 출력 데이터를 생성하는데 있어서, 출력 데이터의 정확도가 복수개의 AI 모델에서 서로 달라질 수 있다. 또한, 입력 데이터에 따라서 복수개의 AI 모델에서의 출력 결과들이 달라질 수 있다. 즉, 동일한 입력 데이터를 입력하였을 때, 제1 AI 모델에서는 결과 데이터가 참 값을 가지나, 제2 AI 모델에서는 결과 데이터가 틀린 값을 가질 수 있다.Here, when each of the plurality of AI models generates output data corresponding to the input data, the accuracy of the output data may differ from each other in the plurality of AI models. In addition, output results from a plurality of AI models may vary according to input data. That is, when the same input data is input, the result data may have a true value in the first AI model, but the result data may have an incorrect value in the second AI model.

이렇게 다양하게 존재하는 AI 모델들 중, 어느 모델을 이용하여 데이터를 입력 및 결과를 획득할지 여부를 결정할 필요가 있다. 나아가, 다양한 형태로 존재하는 AI 모델들 중 입력 데이터의 처리 정확도를 높일 수 있는 AI 모델을 선택할 수 있는 방법 및 장치를 제공할 필요가 있다. Among these various AI models, it is necessary to determine which model is used to input data and obtain results. Furthermore, there is a need to provide a method and apparatus for selecting an AI model that can increase processing accuracy of input data among AI models that exist in various forms.

개시된 실시예는, 복수개의 AI 모델 중 자동으로 하나의 AI 모델을 선택할 수 있도록 하는, 입력 데이터에 근거한 AI 모델 선택 방법 및 그에 따른 방법을 수행하는 디스플레이 장치의 제공을 목적으로 한다. An object of the disclosed embodiment is to provide an AI model selection method based on input data and a display device performing the method according to the input data, which enables one AI model to be automatically selected from among a plurality of AI models.

구체적으로, 개시된 실시예는 복수개의 AI 모델들 중에서 처리 대상이 되는 입력 데이터를 처리하기 최적화된 AI 모델을 선택할 수 있도록 하는, 입력 데이터에 근거한 AI 모델 선택 방법 및 그에 따른 방법을 수행하는 디스플레이 장치의 제공을 목적으로 한다. Specifically, the disclosed embodiment is a method of selecting an AI model based on input data and a display device performing the method according to the input data, which enables the selection of an AI model optimized for processing input data to be processed from among a plurality of AI models. It is for the purpose of providing.

개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법은 복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하는 단계; 추가 AI 모델에서 상기 오분류 데이터를 학습하여, 학습된 추가 AI 모델을 획득하는 단계; 상기 학습된 추가 AI 모델로 제1 데이터를 입력하고, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들을 출력하는 단계; 및 상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택한다. In the method of selecting an AI model based on input data according to the disclosed embodiment, when each of a plurality of AI (Artificial Intelligence) models receives a training data set, classifies it into at least one class, and outputs a result, the training data Obtaining misclassified data, which is data corresponding to a result that is misclassified among the three; Learning the misclassified data from an additional AI model to obtain a learned additional AI model; Inputting first data into the learned additional AI model and outputting misclassification probabilities for each of the plurality of AI models; And selecting any one of the plurality of AI models based on the misclassification probabilities.

또한, 상기 선택하는 단계는 상기 복수개의 AI 모델들 중, 상기 오분류 확률들 중 가장 작은 값을 가지는 오분류 확률에 대응되는 모델을 선택하는 단계를 포함할 수 있다. In addition, the selecting may include selecting a model corresponding to a misclassification probability having a smallest value among the misclassification probabilities among the plurality of AI models.

또한, 상기 학습하는 단계는 상기 오분류 데이터를 입력받은 추가 AI 모델에서, 상기 오분류 데이터가 상기 복수개의 AI 모델들 중 어느 모델에서 분류된 데이터인지를 학습하는 단계; 및 상기 학습된 추가 AI 모델을 획득하는 단계를 포함할 수 있다. In addition, the learning may include learning from which of the plurality of AI models the misclassified data is classified data from the additional AI model receiving the misclassified data; And obtaining the learned additional AI model.

또한, 상기 학습하는 단계는 상기 오분류 데이터를 입력받은 상기 추가 AI 모델이, 상기 복수개의 AI 모델들 각각에 의해서 학습되지 못하는 데이터의 특성 및 데이터의 분포(distribution)를 학습하는 단계를 포함할 수 있다. In addition, the learning may include the step of learning, by the additional AI model receiving the misclassification data, the characteristics of data and distribution of data that cannot be learned by each of the plurality of AI models. have.

또한, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법은 상기 선택된 AI 모델에서, 제1 데이터를 입력받아 상기 적어도 하나의 부류로 분류한 결과를 출력하는 단계를 더 포함할 수 있다. In addition, the method of selecting an AI model based on input data according to the disclosed embodiment may further include receiving first data from the selected AI model and outputting a result of classifying it into the at least one category.

또한, 상기 추가 AI 모델은 상기 복수개의 AI 모델들과 다른 AI 모델이 될 수 있다. In addition, the additional AI model may be an AI model different from the plurality of AI models.

또한, 상기 오분류 확률은 상기 복수개의 AI 모델들 각각이 입력받은 데이터를 올바르지 못하게 분류할 확률을 나타낼 수 있다. In addition, the misclassification probability may represent a probability that each of the plurality of AI models incorrectly classifies the input data.

또한, 상기 오분류 데이터를 획득하는 단계는 상기 복수개의 AI 모델들 각각에서 상기 학습 데이터 셋을 입력받고, 상기 학습 데이터 셋을 상기 적어도 하나의 부류로 분류하여 상기 결과를 출력하는 단계; 및 상기 학습 데이터 셋 중, 상기 결과가 잘못된 값을 가지는 데이터인 상기 오분류 데이터를 획득하는 단계를 포함할 수 있다. In addition, the obtaining of the misclassification data may include receiving the training data set from each of the plurality of AI models, classifying the training data set into the at least one category, and outputting the result; And acquiring the misclassification data, which is data having an incorrect value, from among the training data set.

또한, 상기 복수개의 AI 모델은 하이퍼 파라미터(hyper-parameter), 모델의 구조(architecture), 학습 기법(training technique), 및 트레이닝을 위하여 입력되는 데이터 셋 중 적어도 하나가 서로 다르게 형성될 수 있다. In addition, in the plurality of AI models, at least one of a hyper-parameter, a model architecture, a training technique, and a data set input for training may be formed differently from each other.

또한, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법은 상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들이 결합되어 형성되는 앙상블(ensemble) AI 모델에서 상기 복수개의 AI 모델들 각각에 적용되는 복수개의 가중치 값들을 조절하는 단계를 더 포함할 수 있다. In addition, the AI model selection method based on the input data according to the disclosed embodiment is based on the misclassification probabilities, in each of the plurality of AI models in the ensemble AI model formed by combining the plurality of AI models. It may further include adjusting a plurality of weight values to be applied.

또한, 상기 복수개의 가중치 값들을 조절하는 단계는 오분류 확률(misclassification probability)이 높으면 적용되는 가중치 값이 작아지도록, 상기 복수개의 AI 모델들 각각에 적용되는 복수개의 가중치 값들을 조절하는 단계를 포함할 수 있다. In addition, the adjusting of the plurality of weight values may include adjusting a plurality of weight values applied to each of the plurality of AI models so that the applied weight value decreases when the misclassification probability is high. I can.

또한, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법은 상기 제1 데이터를 상기 앙상블 AI 모델로 입력하고, 상기 제1 데이터에 대응되는 최종 분류 결과를 출력하는 단계를 더 포함할 수 있다. In addition, the method of selecting an AI model based on input data according to the disclosed embodiment may further include inputting the first data into the ensemble AI model and outputting a final classification result corresponding to the first data.

또한, 상기 복수개의 AI 모델들은 복수개의 AI가 결합되어 형성되는 앙상블(ensemble) AI 모델을 포함할 수 있다.In addition, the plurality of AI models may include an ensemble AI model formed by combining a plurality of AIs.

또한, 상기 복수개의 AI 모델들은 적어도 하나의 온 디바이스(On-device) AI 모델 및 적어도 하나의 서버 기반(Server based) AI 모델을 포함할 수 있다. In addition, the plurality of AI models may include at least one on-device AI model and at least one server based AI model.

개시된 실시예에 따른 디스플레이 장치는 디스플레이; 및 적어도 하나의 인스트럭션을 실행하여, 복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하고, 추가 AI 모델을 상기 오분류 데이터로 학습시켜, 학습된 추가 AI 모델을 획득하며, 상기 학습된 추가 AI 모델로 제1 데이터를 입력하여, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들이 출력되도록 제어하며, 상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택하는 프로세서를 포함한다. A display device according to the disclosed embodiment includes a display; And when executing at least one instruction, each of a plurality of AI (Artificial Intelligence) models receives a training data set, classifies it into at least one class, and outputs a result, the misclassified of the training data set. (misclassified) Acquires misclassified data that is data corresponding to the result, trains an additional AI model with the misclassified data to obtain a learned additional AI model, and inputs first data as the learned additional AI model And a processor configured to control to output misclassification probabilities for each of the plurality of AI models, and to select any one of the plurality of AI models based on the misclassification probabilities.

개시된 실시예에 따른 컴퓨터 프로그램 제품은, 복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하는 동작; 추가 AI 모델에서 상기 오분류 데이터를 학습하여, 학습된 추가 AI 모델을 획득하는 동작; 상기 학습된 추가 AI 모델로 제1 데이터를 입력하고, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들을 출력하는 동작; 및 상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택하는 동작을 수행하도록 하는 프로그램이 저장된 기록 매체를 포함한다. In the computer program product according to the disclosed embodiment, when each of a plurality of AI (Artificial Intelligence) models receives a training data set, classifies it into at least one class, and outputs a result, misclassification of the training data set Obtaining misclassified data, which is data corresponding to a misclassified result; Learning the misclassified data from an additional AI model to obtain a learned additional AI model; Inputting first data into the learned additional AI model and outputting misclassification probabilities for each of the plurality of AI models; And a recording medium storing a program for performing an operation of selecting one of the plurality of AI models based on the misclassification probabilities.

개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법, 그에 따른 방법을 수행하는 디스플레이 장치, 및 그에 따른 방법을 수행하기 위한 프로그램 제품은, 복수개의 AI 모델들 중에서 처리 대상이 되는 입력 데이터를 처리하기 최적화된 AI 모델을 자동으로 선택할 수 있다. An AI model selection method based on input data according to the disclosed embodiment, a display device for performing the method according to the method, and a program product for performing the method according to the method for processing input data to be processed among a plurality of AI models. Optimized AI models can be automatically selected.

그에 따라서, AI 모델에서 수행된 연산의 결과 출력되는 출력 결과의 정확도를 높일 수 있다. Accordingly, it is possible to increase the accuracy of the output result output as a result of the operation performed in the AI model.

도 1a은 신경망을 이용하여 입력 데이터에 대응되는 출력 데이터를 생성하는 AI 기술을 설명하기 위한 도면이다.
도 1b는 신경망을 이용하여 입력 데이터에 대응되는 출력 데이터를 생성하는 AI 기술을 설명하기 위한 다른 도면이다.
도 2a는 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 나타내는 일 흐름도이다.
도 2b는 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 나타내는 다른 흐름도이다.
도 3은 개시된 실시예에서 이용되는 학습 데이터 셋(training data set)을 나타내는 도면이다.
도 4는 개시된 실시예에서 수행되는 분류 동작을 설명하기 위한 도면이다.
도 5는 개시된 실시예에서 획득되는 오분류 데이터를 설명하기 위한 도면이다.
도 6은 개시된 실시예에서 이용되는 복수개의 AI 모델들을 설명하기 위한 도면이다.
도 7은 개시된 실시예에서 수행되는 추가 모델의 학습 동작을 설명하기 위한 도면이다.
도 8은 학습된 추가 모델에서 출력되는 오분류 확률들을 설명하기 위한 도면이다.
도 9는 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 상세하게 나타내는 일 플로우차트이다.
도 10은 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 상세하게 나타내는 다른 플로우차트이다.
도 11은 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 상세하게 나타내는 다른 플로우차트이다.
도 12는 개시된 실시예에 따른 디스플레이 장치를 나타내는 일 블록도이다.
도 13은 개시된 실시예에 따른 디스플레이 장치를 구체적으로 나타내는 일 블록도이다.
도 14는 개시된 실시예에 따른 디스플레이 장치를 구체적으로 나타내는 다른 블록도이다.
도 15는 개시된 실시예에 따른 디스플레이 장치를 나타내는 다른 블록도이다.
도 16은 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 수행하기 위한 서버 및 디스플레이 장치를 나타내는 도면이다.
도 17은 도 16에 도시된 서버를 구체적으로 나타내는 블록도이다.
도 18은 서버와 통신하는 디스플레이 장치를 나타내는 블록도이다.
도 19는 도 16에 도시된 서버 및 디스플레이 장치에서 수행되는 동작들을 설명하기 위한 도면이다.
1A is a diagram for describing an AI technology for generating output data corresponding to input data using a neural network.
1B is another diagram for explaining an AI technique for generating output data corresponding to input data using a neural network.
2A is a flowchart illustrating a method of selecting an AI model based on input data according to the disclosed embodiment.
2B is another flowchart illustrating a method of selecting an AI model based on input data according to the disclosed embodiment.
3 is a diagram illustrating a training data set used in the disclosed embodiment.
4 is a diagram for describing a classification operation performed in the disclosed embodiment.
5 is a diagram for explaining misclassification data obtained in the disclosed embodiment.
6 is a diagram for explaining a plurality of AI models used in the disclosed embodiment.
7 is a diagram for explaining a learning operation of an additional model performed in the disclosed embodiment.
8 is a diagram for explaining misclassification probabilities output from a learned additional model.
9 is a detailed flowchart illustrating a method of selecting an AI model based on input data according to the disclosed embodiment.
10 is another flowchart illustrating in detail a method of selecting an AI model based on input data according to the disclosed embodiment.
11 is another flowchart illustrating in detail a method of selecting an AI model based on input data according to the disclosed embodiment.
12 is a block diagram illustrating a display device according to the disclosed embodiment.
13 is a block diagram illustrating a display device according to the disclosed embodiment in detail.
14 is another block diagram specifically illustrating a display device according to the disclosed embodiment.
15 is another block diagram illustrating a display device according to the disclosed embodiment.
16 is a diagram illustrating a server and a display device for performing an AI model selection method based on input data according to the disclosed embodiment.
17 is a block diagram specifically showing the server illustrated in FIG. 16.
18 is a block diagram illustrating a display device communicating with a server.
FIG. 19 is a diagram for describing operations performed in the server and display device illustrated in FIG. 16.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.Phrases such as "in some embodiments" or "in one embodiment" appearing in various places in this specification are not necessarily all referring to the same embodiment.

일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 프로세서 또는 마이크로프로세서들에 의해 구현되거나, 의도하는 기능을 수행하기 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 모듈 및 구성등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.Some embodiments may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented with various numbers of hardware and/or software components that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more processors or microprocessors, or may be implemented by circuit configurations for performing an intended function. In addition, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented as an algorithm executed on one or more processors. In addition, the present disclosure may employ conventional techniques for electronic environment setting, signal processing, and/or data processing. Terms such as modules and configurations may be widely used, and are not limited to mechanical and physical configurations.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.In addition, the connecting lines or connecting members between the components illustrated in the drawings are merely illustrative of functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that can be replaced or added.

또한, 'A와 B 중 적어도 하나'라는 기재는 'A 또는 B' 또는 'A 및 B'를 의미한다.In addition, the description of'at least one of A and B'means'A or B'or'A and B'.

개시된 실시예에서, AI 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. In the disclosed embodiment, the AI model may be composed of a plurality of neural network layers. Each layer has a plurality of weight values, and a layer operation is performed through the operation result of a previous layer and a plurality of weights.

그리고, AI 모델을 구성하는 신경망은, 인공지능(AI: Artificial Intelligence) 기술에 기초하여 신경망에 입력된 이미지로부터 객체를 인식하는 방법을 학습하는 알고리즘의 집합일 수 있다. In addition, the neural network constituting the AI model may be a set of algorithms that learn a method of recognizing an object from an image input to the neural network based on artificial intelligence (AI) technology.

예를 들어, 신경망은, (i) 이미지를 입력 값으로 하는 지도 학습(supervised learning), 및/또는 (ii) 별다른 지도 없이 이미지로부터 객체를 인식하기 위해 필요한 데이터의 종류를 스스로 학습함으로써, 이미지로부터 객체를 인식하기 위한 패턴 또는 방법을 발견하는 비지도 학습(unsupervised learning)에 기초하여, 이미지로부터 객체를 인식하는 방법을 학습할 수 있다. 또 다른 예로, 신경망은, 학습에 따라 객체를 인식한 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 이용하여, 이미지로부터 객체를 인식하는 방법을 학습할 수 있다. 또 다른 예로, 신경망은 준지도형 학습(semi-supervised learning)을 이용하여, 이미지로부터 객체를 인식하는 방법을 학습할 수 있다.For example, a neural network can self-learn the types of data necessary to recognize an object from an image without (i) supervised learning with an image as an input value, and/or (ii) without a map. Based on unsupervised learning to discover a pattern or method for recognizing an object, it is possible to learn a method of recognizing an object from an image. As another example, the neural network may learn a method of recognizing an object from an image by using reinforcement learning using feedback on whether a result of recognizing an object according to learning is correct. As another example, the neural network may learn a method of recognizing an object from an image using semi-supervised learning.

또한, 신경망(Neural Network)은 인공 지능(AI) 기술에 따른 연산을 수행하며, 인공 신경망(Artificial Neural Network)으로 호칭될 수도 있다. 또한, 신경망은 복수의 은닉 레이어(hidden layer)들을 통한 연산을 수행하는 심층 신경망(DNN: Deep Neural Network)가 될 수 있다. In addition, a neural network performs an operation based on artificial intelligence (AI) technology, and may be referred to as an artificial neural network. In addition, the neural network may be a deep neural network (DNN) that performs an operation through a plurality of hidden layers.

구체적으로, 신경망은 연산을 수행하는 내부의 레이어(layer)인 은닉 레이어(hidden layer)의 개수가 복수일 경우, 즉 연산을 수행하는 신경망의 심도(depth)가 증가하는 경우, 심층 신경망으로 분류될 수 있다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks) 등이 있으며, 본 발명에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다. 또한, CNN 신경망은 DCNN(Deep Convolution Neural Network) 또는 캡스넷(Capsnet) 신경망(미도시) 등으로 세분화 될 수 있다. Specifically, a neural network is classified as a deep neural network when the number of hidden layers, which is an inner layer that performs an operation, is plural, that is, when the depth of a neural network that performs an operation increases. I can. Examples of neural networks include CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN (Bidirectional Recurrent Deep Neural Network), and deep Q-networks (Deep Q-Networks), and the like, and the neural network in the present invention is not limited to the above-described example except for the case specified. In addition, the CNN neural network may be subdivided into a Deep Convolution Neural Network (DCNN) or a Capsnet neural network (not shown).

전술한 바와 같이, 'AI 모델'은 입력 데이터를 수신하고 목적하는 결과를 출력하도록 동작하는 적어도 하나의 레이어를 포함하는 신경망을 의미할 수 있다. 또한, 'AI 모델'은 신경망을 통한 연산을 수행하여 목적하는 결과를 출력하는 알고리즘 또는 복수의 알고리즘의 집합, 이러한 알고리즘 또는 그의 집합을 실행하기 위한 프로세서(processor), 이러한 알고리즘 또는 그의 집합을 실행하기 위한 소프트웨어, 또는 이러한 알고리즘 또는 그의 집합을 실행하기 위한 하드웨어를 의미할 수 있다. As described above, the'AI model' may refer to a neural network including at least one layer operating to receive input data and output a desired result. In addition, the'AI model' is an algorithm that outputs a desired result by performing an operation through a neural network, or a set of multiple algorithms, a processor for executing such an algorithm or a set thereof, and executing such an algorithm or a set thereof. It may mean software for, or hardware for executing such an algorithm or a set thereof.

개시된 실시예에서, AI 모델은 신경망을 통한 연산을 수행하여, 입력 데이터에 대응되는 결과를 출력한다. 개시된 실시예에서 이용되는 AI 모델은, 입력 데이터를 분석하여 입력 데이터에 포함되는 객체를 인식 및 분류하기 위한 신경망으로 형성될 수 있다. In the disclosed embodiment, the AI model performs an operation through a neural network and outputs a result corresponding to the input data. The AI model used in the disclosed embodiment may be formed as a neural network for recognizing and classifying objects included in the input data by analyzing input data.

또한, 개시된 실시예에서 이용되는 AI 모델은, 입력 데이터를 분석하여, 소정의 기준에 따라서 분류한 분류 결과를 출력하기 위한 신경망으로 형성될 수 있다. In addition, the AI model used in the disclosed embodiment may be formed as a neural network for analyzing input data and outputting a classification result classified according to a predetermined criterion.

개시된 실시예에서 이용되는 AI 모델은, 이하에서 도 1a 및 도 1b를 참조하여 설명하도록 한다. The AI model used in the disclosed embodiment will be described below with reference to FIGS. 1A and 1B.

도 1a은 신경망을 이용하여 입력 데이터에 대응되는 출력 데이터를 생성하는 AI 기술을 설명하기 위한 도면이다. 도 1a에는, 숨은 레이어(120)이 3개의 레이어로 형성되는 심층 신경망(DNN)이 예시된다.1A is a diagram for explaining an AI technology for generating output data corresponding to input data using a neural network. In FIG. 1A, a deep neural network (DNN) in which the hidden layer 120 is formed of three layers is illustrated.

구체적으로, 도 1a은 이미지를 입력으로 수신하고, 수신된 이미지를 심층 신경망에서 객체 인식 및 객체 분류하여, 그에 대응되는 결과를 출력하는 AI 모델을 도시하며, AI 모델이 심층 신경망(101)으로 형성된 경우를 예로 들어 도시한다. Specifically, FIG. 1A shows an AI model that receives an image as an input, recognizes and classifies an object in a deep neural network, and outputs a result corresponding to the received image, and the AI model is formed by the deep neural network 101 The case is illustrated as an example.

도 1a을 참조하면, 심층 신경망(101)은 학습 데이터(training data)를 입력받아 트레이닝(training)될 수 있다. 그리고, 학습된 심층 신경망(101)은 객체 인식을 위한 연산을 수행할 수 있다. 여기서, 심층 신경망(101)은 모델의 구현 방식(예를 들어, CNN(Convolution Neural Network) 등), 결과의 정확도, 결과의 신뢰도, 프로세서의 연산 처리 속도 및 용량 등에 따라 매우 다양하게 설계될 수 있다. Referring to FIG. 1A, the deep neural network 101 may be trained by receiving training data. In addition, the learned deep neural network 101 may perform an operation for object recognition. Here, the deep neural network 101 may be designed in a wide variety according to a model implementation method (eg, a convolution neural network (CNN), etc.), accuracy of results, reliability of results, and processing speed and capacity of a processor. .

심층 신경망(101)은 입력 레이어(111), 숨은 레이어(hidden layer)(120) 및 출력 레이어(130)을 포함 하여, 객체 인식을 위한 연산을 수행할 수 있다. The deep neural network 101 may perform an operation for object recognition, including the input layer 111, the hidden layer 120, and the output layer 130.

또한, 심층 신경망(101)을 형성하는 복수개의 레이어들 각각은 하나 이상의 노드를 포함할 수 있다. 예를 들어, 입력 레이어(111)은 데이터를 수신하는 하나 이상의 노드(node)(예를 들어, 110)들을 포함할 수 있다. 도 1a에서는 입력 레이어(111)이 복수개의 노드들을 포함하는 경우를 예로 들어 도시하였다. 그리고, 입력된 이미지(103)를 스케일링(scaling)하여 획득한 복수개의 이미지들 각각을 복수개의 노드(110)들로 입력할 수 있다. 구체적으로, 이미지(103)를 주파수 대역 별로 스케일링하여 획득한 복수개의 이미지들을 복수개의 노드(110)로 입력할 수 있다. In addition, each of the plurality of layers forming the deep neural network 101 may include one or more nodes. For example, the input layer 111 may include one or more nodes (eg, 110) that receive data. In FIG. 1A, an example in which the input layer 111 includes a plurality of nodes is illustrated. In addition, each of the plurality of images obtained by scaling the input image 103 may be input to the plurality of nodes 110. Specifically, a plurality of images obtained by scaling the image 103 for each frequency band may be input to the plurality of nodes 110.

여기서, 인접한 두 개의 레이어들은 도시된 바와 같이 복수개의 엣지(edge)들(예를 들어, 112)로 연결된다. 각각의 노드들은 대응되는 가중치값을 가지고 있어서, 심층 신경망(101)은 입력된 신호와 가중치 값을 연산, 예를 들어, 곱하기 연산한 값에 근거하여, 출력 데이터를 획득할 수 있다. 도 1a에서는 일 레이어에 포함되는 노드들이 인접한 다른 레이어에 포함되는 노드들과 전체적으로 연결되는 'full -connected'방식으로 연결되어 있는 경우가 예시되었다. 그러나, 일 레이어에 포함되는 노드들이 인접한 다른 레이어에 포함되는 노드들과 일부만 연결되어 있을 수도 있다. 이 경우, 일 레이어에 포함되는 적어도 하나의 노드는 인접한 다른 레이어에 포함되는 적어도 하나의 노드와 연결되어 있지 않을 수 있다. Here, two adjacent layers are connected by a plurality of edges (eg, 112) as shown. Since each node has a corresponding weight value, the deep neural network 101 can obtain output data based on a value obtained by calculating, for example, multiplying the input signal and the weight value. In FIG. 1A, a case in which nodes included in one layer are connected in a'full-connected' manner with nodes included in adjacent other layers as a whole is illustrated. However, nodes included in one layer may be partially connected to nodes included in other adjacent layers. In this case, at least one node included in one layer may not be connected to at least one node included in another adjacent layer.

심층 신경망(101)은 복수의 학습 이미지에 근거하여 학습되어, 이미지 내에 포함되는 객체를 인식하는 객체 인식 모델로서 구축할 수 있다. 구체적으로, 심층 신경망(101)를 통하여 출력되는 결과의 정확도를 높이기 위해서, 복수의 학습 이미지에 근거하여 출력 레이어(130)에서 입력 레이어(111) 방향으로 트레이닝(training)을 반복적으로 수행하며 출력 결과의 정확도가 높아지도록 가중치값들을 수정할 수 있다. The deep neural network 101 may be trained based on a plurality of training images, and may be constructed as an object recognition model for recognizing an object included in the image. Specifically, in order to increase the accuracy of the result output through the deep neural network 101, training is repeatedly performed from the output layer 130 to the input layer 111 based on a plurality of training images, and the output result The weight values can be modified to increase the accuracy of.

그리고, 최종적으로 수정된 가중치값들을 가지는 심층 신경망(101)은 객체 인식 모델로 이용될 수 있다. 심층 신경망(101)이 이미지를 입력받고 이미지에 포함되는 객체를 인식하도록 트레이닝된 경우, 심층 신경망(101)이 이미지(103)를 입력받으면, 심층 신경망(101)은 이미지(103)을 분석하여 이미지 내에 포함되는 객체가 '판다'라는 결과를 출력할 수 있다. In addition, the deep neural network 101 having finally modified weight values may be used as an object recognition model. When the deep neural network 101 receives an image and is trained to recognize an object included in the image, when the deep neural network 101 receives the image 103, the deep neural network 101 analyzes the image 103 It is possible to output the result that the object contained within is'panda'.

도 1b는 신경망을 이용하여 입력 데이터에 대응되는 출력 데이터를 생성하는 AI 기술을 설명하기 위한 다른 도면이다. 도 1b 에 있어서, 도 1a에서와 동일한 구성은 동일한 도면 기호를 이용하여 도시하였다. 1B is another diagram for explaining an AI technology for generating output data corresponding to input data using a neural network. In Fig. 1B, the same configuration as in Fig. 1A is shown using the same reference symbols.

도 1b를 참조하면, 개시된 실시예에서 이용되는 AI 모델은, 입력 데이터를 분석하여, 소정의 기준에 따라서 분류한 분류 결과를 출력하기 위한 신경망으로 형성될 수 있다. 구체적으로, 개시된 실시예에서 이용되는 AI 모델은 입력된 데이터를 분석하여 입력된 데이터의 유형, 또는 종류를 분류하도록 트레이닝된 심층 신경망(101)으로 형성될 수 있다. Referring to FIG. 1B, the AI model used in the disclosed embodiment may be formed as a neural network for analyzing input data and outputting a classification result classified according to a predetermined criterion. Specifically, the AI model used in the disclosed embodiment may be formed of a deep neural network 101 trained to classify the type or type of input data by analyzing input data.

심층 신경망(101)로 입력되는 입력 데이터는 다양한 형태의 데이터가 될 수 있다. 구체적으로, 입력 데이터는 도 1a 에서 예시된 바와 같이 이미지 데이터가 될 수 있으며, 그 밖에도 사운드 데이터(sound data), 텍스트 데이터 등이 될 수 있다. 도 1b에서는 심층 신경망(101)이 사운드 데이터를 입력받고, 입력된 사운드 데이터를 분석하여, 적어도 하나의 부류(class)로 분류한 분류 결과를 출력하는 경우를 예로 들어 설명한다. Input data input to the deep neural network 101 may be data of various types. Specifically, the input data may be image data as illustrated in FIG. 1A, and may be sound data, text data, or the like. In FIG. 1B, a case where the deep neural network 101 receives sound data, analyzes the input sound data, and outputs a classification result classified into at least one class will be described as an example.

도 1b 를 참조하면, 심층 신경망(101)은 사운드 데이터(Sound data)를 입력받고, 심층 신경망(101)에 포함되는 숨은 레이어(120)를 통하여 입력된 사운드 데이터를 분석할 수 있다. 그리고, 심층 신경망(101)은 입력된 사운드 데이터를 적어도 하나의 부류 또는 종류, 예를 들어, 발화(Speech), 음악(music), 잡음(noise) 등으로 분류한 결과(190)를 출력할 수 있다. Referring to FIG. 1B, the deep neural network 101 may receive sound data and analyze the input sound data through the hidden layer 120 included in the deep neural network 101. Further, the deep neural network 101 may output a result 190 of classifying the input sound data into at least one category or type, for example, speech, music, noise, etc. have.

예를 들어, 입력된 사운드 데이터(Sound data)가 사용자가 발화한 음성 데이터이면, 심층 신경망(101)은 'Speech' 라는 분류 결과를 출력할 수 있다.For example, if the input sound data is voice data uttered by the user, the deep neural network 101 may output a classification result of'Speech'.

또한, 결과(190)는 상세 분류 결과를 포함할 수 도 있을 것이다. 예를 들어, 입력된 사운드 데이터(Sound data)가 음악(music)에 대응되면, 음악의 세부 부류, 예를 들어, 클래식, 재즈, 팝, 랩, 전통음악 등으로 분류된 경과를 출력할 수도 있을 것이다. In addition, the result 190 may include a detailed classification result. For example, if the input sound data corresponds to music, it is possible to output the progress classified into sub-classes of music, for example, classical, jazz, pop, rap, and traditional music. will be.

도 1a 및 도 1b에 있어서, 심층 신경망(101)에서 출력되는 결과는 잘못된 값을 가질 수 있다. 예를 들어, 도시된 심층 신경망(101)에서 출력되는 결과의 정확도는 90% 가 될 수 있을 것이다. 이 경우, 출력되는 결과가 틀릴 확률은 10%가 될 수 있다. 1A and 1B, a result output from the deep neural network 101 may have an incorrect value. For example, the accuracy of the result output from the illustrated deep neural network 101 may be 90%. In this case, the probability that the output result is incorrect may be 10%.

입력을 수신하고 목적하는 결과를 출력하는 AI 모델은 다양한 형태로 존재할 수 있다. 구체적으로, AI 모델은, 포함되는 신경망의 구조(architecture), 적용되는 하이퍼 파라미터(hyper-parameter)의 설정, 신경망을 학습시키기 위해서 이용되는 학습 데이터들, 학습 기술(training technique) 등에 따라서, 다양한 형태로 존재할 수 있다. AI models that receive inputs and output desired results can exist in various forms. Specifically, the AI model is in various forms depending on the architecture of the included neural network, the setting of applied hyper-parameters, the training data used to train the neural network, and the training technique. Can exist as

동일한 이미지를 입력받는 경우, 신경망의 구조(architecture), 적용되는 하이퍼 파라미터(hyper-parameter)의 설정, 신경망을 학습시키기 위해서 이용되는 학습 데이터들, 학습 기술(training technique) 중 적어도 하나가 다르게 형성되는 복수개의 AI 모델들은, 서로 다른 결과 정확도를 가질 수 있다. In the case of receiving the same image, at least one of the structure of the neural network, the setting of the hyper-parameter applied, the training data used to train the neural network, and the training technique are formed differently. Multiple AI models may have different result accuracy.

도 1a 에 도시된 예에 있어서, 객체 인식 및 인식된 객체의 분류 동작을 수행하는, 신경망의 구조가 서로 다른 형태를 갖는 제1 AI 모델, 제2 AI 모델, 및 제3 AI 모델이 존재한다고 하자. 그리고, 제1 AI 모델의 결과 정확도는 60%, 제2 AI 모델의 결과 정확도는 70%, 및 제3 AI 모델의 결과 정확도는 90%라고 하자. 여기서, 결과 정확도는 해당 AI 모델이 결과 출력을 하였던 복수의 입력들에 대한 결과 정확도를 평균하여 산출한 값이라 할 수 있다. In the example shown in FIG. 1A, it is assumed that a first AI model, a second AI model, and a third AI model having different structures of neural networks that perform object recognition and classification operations of recognized objects exist. . In addition, it is assumed that the result accuracy of the first AI model is 60%, the result accuracy of the second AI model is 70%, and the result accuracy of the third AI model is 90%. Here, the result accuracy may be a value calculated by averaging the result accuracy of a plurality of inputs for which the corresponding AI model outputs the result.

이 경우, 제1 AI 모델, 제2 AI 모델, 및 제3 AI 모델 각각으로 판다가 그려진 동일한 이미지(예를 들어, 130)가 입력된 경우, 제1 AI 모델은 '판다'라는 결과를 출력하고, 제2 AI 모델은 '개'라는 결과를 출력하고, 제3 AI 모델은 '사람'이라는 결과를 출력할 수 있다. In this case, when the same image (for example, 130) in which a panda is drawn in each of the first AI model, the second AI model, and the third AI model is input, the first AI model outputs a result of'panda' and , The second AI model may output a result of'dog', and the third AI model may output a result of'person'.

전술한 예에서, 제1 AI 모델, 제2 AI 모델, 및 제3 AI 모델 중 결과 정확도가 가장 높은 모델은 제3 AI 모델이 된다. 그러나, 결과의 정확도가 가장 높은 제3 AI 모델에서 잘못된 분류 결과인 '사람'을 출력하였으며, 결과의 정확도가 가장 낮은 제1 AI 모델에서는 올바른 분류 결과인 '판다'를 출력하였다. In the above-described example, the model having the highest result accuracy among the first AI model, the second AI model, and the third AI model is the third AI model. However, in the third AI model with the highest accuracy of the results,'person', which is an incorrect classification result, was output, and in the first AI model with the lowest accuracy of the result,'panda', which is the correct classification result, was output.

예시에서와 같이, 결과 정확도가 가장 높은 모델이라 하더라도, 입력된 이미지의 특성에 따라서 어떤 이미지에 대하여는 객체 인식을 정확하게 수행하지 못하여 잘못된 결과가 출력되는 경우가 존재할 수 있다. As in the example, even in the case of the model with the highest result accuracy, there may be a case in which an incorrect result is output because object recognition is not accurately performed for a certain image according to the characteristics of the input image.

전술한 바와 같이, 복수개의 AI 모델들 중 어느 모델로 입력 데이터에 대응되는 결과 데이터를 획득하냐에 따라서, 결과의 정확도가 달라질 수 있다. 따라서, 복수개의 AI 모델들 중, 사용자가 결과 도출을 위하여 테스트하고자 하는 데이터에 대하여, 높은 정확도를 갖는 AI 모델을 자동적으로 선택할 수 있도록 하는 방법 및 장치를 제공할 필요가 있다. As described above, the accuracy of the result may vary depending on which of the plurality of AI models acquires result data corresponding to the input data. Accordingly, there is a need to provide a method and an apparatus for allowing a user to automatically select an AI model with high accuracy for data to be tested for deriving a result from among a plurality of AI models.

이하에서는 첨부된 도면들을 참조하여, 사용자가 테스트하고자 하는 입력하는 데이터에 대하여, 정확한 결과를 출력할 수 있는 AI 모델을 선택하기 위한 실시예들을 설명하도록 한다. Hereinafter, with reference to the accompanying drawings, embodiments for selecting an AI model capable of outputting an accurate result for input data that a user wants to test will be described.

개시된 실시예에 따른 방법은 테스트를 위하여 입력되는 입력 데이터에 최적화된 AI 모델을 선택하기 위한, 입력 데이터에 근거한 AI 모델 선택 방법이다. The method according to the disclosed embodiment is an AI model selection method based on input data for selecting an AI model optimized for input data input for testing.

개시된 실시예에 따른 방법(예를 들어, 도 2a에 도시된 입력 데이터에 근거한 AI 모델 선택 방법(200) 등)은 적어도 하나의 인스트럭션을 실행하는 적어도 하나의 프로세서(processor)(또는, 적어도 하나의 프로세서를 포함하는 전자 장치)에 의해서 수행될 수 있다. 여기서, 프로세서는 하나 이상의 명령어 중 적어도 하나를 실행시킴으로써, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법에 포함되는 동작들을 실행할 수 있다. 또한, 프로세서는 하드웨어 또는 소프트웨어적으로 구현될 수 있다. 구체적으로, 비디오에 대응되는 그래픽 처리를 위한 그래픽 프로세서(Graphic Processing Unit, 미도시)를 포함할 수 있다. 프로세서(미도시)는 코어(core, 미도시)와 GPU(미도시)를 통합한 SoC(System On Chip)로 구현될 수 있다. 프로세서(미도시)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. The method according to the disclosed embodiment (for example, the AI model selection method 200 based on the input data shown in FIG. 2A) includes at least one processor (or at least one processor) executing at least one instruction. It may be performed by an electronic device including a processor). Here, by executing at least one of the one or more instructions, the processor may execute operations included in the method of selecting an AI model based on input data according to the disclosed embodiment. In addition, the processor may be implemented in hardware or software. Specifically, it may include a graphic processor (Graphic Processing Unit, not shown) for processing a graphic corresponding to a video. The processor (not shown) may be implemented as a SoC (System On Chip) in which a core (not shown) and a GPU (not shown) are integrated. The processor (not shown) may include a single core, a dual core, a triple core, a quad core, and a multiple of the core.

또한, 전술한 프로세서는 전자 장치(미도시) 및 서버(미도시) 중 적어도 하나에 탑재될 수 있다. 따라서, 개시된 실시예에 따른 방법(예를 들어, 도 2a에 도시된 입력 데이터에 근거한 AI 모델 선택 방법(200) 등)은 전술한 프로세서를 탑재한 전자 장치(미도시) 및 서버(미도시) 중 적어도 하나를 통하여 수행될 수 있다. Also, the above-described processor may be mounted on at least one of an electronic device (not shown) and a server (not shown). Accordingly, the method according to the disclosed embodiment (for example, the AI model selection method 200 based on the input data shown in FIG. 2A) is an electronic device (not shown) and a server (not shown) equipped with the above-described processor. It may be performed through at least one of.

여기서, 전자 장치는 디스플레이를 포함하는 전자 장치가 될 수 있다. 구체적으로, 디스플레이를 포함하는 전자 장치는 휴대폰, 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 태블릿 PC, 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등과 같은 다양한 형태로 구현될 수 있다. 또한, 전자 장치는 고정된 위치에 배치되는 고정형 전자 장치 또는 휴대 가능한 형태를 갖는 이동형 전자 장치일 수 있으며, 디지털 방송 수신이 가능한 디지털 방송 수신기일 수 있다. 이하에서는 디스플레이를 포함하는 전자 장치를 '디스플레이 장치'라 하겠다. Here, the electronic device may be an electronic device including a display. Specifically, electronic devices including a display include mobile phones, tablet PCs, digital cameras, camcorders, laptop computers, tablet PCs, desktops, e-book terminals, digital broadcasting terminals, PDAs (Personal Digital Assistants), and PMPs (Portables). Multimedia Player), navigation, MP3 player, wearable device, and the like. Further, the electronic device may be a fixed electronic device disposed at a fixed position or a mobile electronic device having a portable form, and may be a digital broadcast receiver capable of receiving digital broadcasts. Hereinafter, an electronic device including a display will be referred to as a'display device'.

그리고, 서버는 통신 네트워크를 통하여 전자 장치와 데이터를 송수신하며 데이터를 처리하는 서버, 서버 시스템, 서버 기반의 장치 등을 포함할 수 있다. 이하에서는 설명의 편의 상, 서버, 서버 시스템, 서버 기반의 장치 등을 모두 '서버'로 칭하도록 한다. In addition, the server may include a server, a server system, a server-based device, etc. that transmit and receive data to and from an electronic device through a communication network and process data. Hereinafter, for convenience of description, a server, a server system, a server-based device, etc. will all be referred to as a'server'.

이하에서는, 개시된 실시예에 따른 방법을 도 2a 내지 도 11을 참조하여 상세히 설명한다. 그리고, 개시된 실시예에 따른 방법을 수행할 수 있는 장치 구성은 이하의 도 12 내지 도 19를 참조하여 상세히 설명한다. Hereinafter, a method according to the disclosed embodiment will be described in detail with reference to FIGS. 2A to 11. In addition, the configuration of an apparatus capable of performing a method according to the disclosed embodiment will be described in detail with reference to FIGS. 12 to 19 below.

도 2a는 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 나타내는 일 흐름도이다. 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법(200)은 복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋(training dataset)을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하는 단계(S210), 추가 AI 모델에서 상기 오분류 데이터를 학습하여, 학습된 추가 AI 모델을 획득하는 단계(S220), 상기 학습된 추가 AI 모델로 제1 데이터를 입력하고, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들을 출력하는 단계(S230), 및 상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택하는 단계(S240)을 포함한다. 2A is a flowchart illustrating a method of selecting an AI model based on input data according to the disclosed embodiment. In the AI model selection method 200 based on input data according to the disclosed embodiment, each of a plurality of AI (Artificial Intelligence) models receives a training dataset and classifies the result into at least one class. When outputting, obtaining misclassified data, which is data corresponding to a misclassified result of the training data set (S210), by learning the misclassified data from an additional AI model, the learned additional AI model Acquiring (S220), inputting first data into the learned additional AI model, and outputting misclassification probabilities for each of the plurality of AI models (S230), and the misclassification probability And selecting one of the plurality of AI models (S240).

이하에서는, 도 2a 내지 도 8을 참조하여, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법(200)을 상세히 설명하도록 하겠다. Hereinafter, an AI model selection method 200 based on input data according to the disclosed embodiment will be described in detail with reference to FIGS. 2A to 8.

도 2a를 참조하면, 입력 데이터에 근거한 AI 모델 선택 방법(200)은 복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득한다(S210). Referring to FIG. 2A, in the AI model selection method 200 based on input data, when each of a plurality of AI (Artificial Intelligence) models receives a training data set, classifies it into at least one class, and outputs a result. , Misclassified data corresponding to a misclassified result of the training data set is obtained (S210).

여기서, 복수개의 AI 모델들은 사용자가 의도하는 결과 도출 동작을 수행하는 서로 다른 AI 모델들이 될 수 있다. 또는, 복수의 AI 모델들은, 테스트를 위하여 이용 가능한 서로 다른 AI 모델들이 될 수 있다. 또는, 복수의 AI 모델들은, 입력 데이터에 근거한 AI 모델 선택 방법(200)을 수행하는 서버 또는 장치, 또는 서버 및 장치가 결합된 시스템에서, 제공 또는 이용 가능한 복수의 AI 모델이 될 수 있다. Here, the plurality of AI models may be different AI models that perform a result derivation operation intended by the user. Alternatively, the plurality of AI models may be different AI models available for testing. Alternatively, the plurality of AI models may be a server or device that performs the AI model selection method 200 based on input data, or a plurality of AI models that can be provided or used in a system in which the server and the device are combined.

예를 들어, 복수개의 AI 모델들은 객체 인식 및 분류 동작을 수행하는 서로 다른 AI 모델들이 될 수 있다. 예를 들어, 사용자가 입력되는 이미지에 포함되는 객체를 분석하여 개 또는 고양이로 분류하길 원하는 경우, 복수개의 AI 모델은 객체 인식 및 객체(예를 들어, 개 또는 고양이)의 분류 동작을 수행하여 분류된 결과를 출력할 수 있다. For example, the plurality of AI models may be different AI models that perform object recognition and classification operations. For example, if a user wants to analyze an object included in an input image and classify it as a dog or cat, a plurality of AI models classify it by performing object recognition and classification of the object (e.g., dog or cat). You can print the result.

그리고, 학습 데이터 셋(training data set)은 복수개의 AI 모델들 각각을 훈련(training)시키기 위해서 입력되는 데이터들의 집합을 의미한다. AI 모델이 입력된 데이터를 분석하여 목적하는 출력을 생성하기 위해서는, 복수의 데이터들을 입력받고 입력된 복수의 데이터들에 대한 분석을 통하여 목적하는 출력을 획득 또는 추출하기 위한 방법을 스스로 발견 또는 터득하도록 하는 트레이닝(training)을 거쳐야 한다. 이 때, AI 모델의 트레이닝을 위하여 입력되는 데이터들의 집합을 '학습 데이터 셋'이라 할 수 있다. 즉, 학습 데이터 셋은 AI 모델을 트레이닝 시키고자 할 때, 해당 AI 모델로 입력되는 데이터들의 집합이 될 수 있다. In addition, the training data set refers to a set of input data to train each of the plurality of AI models. In order to generate the desired output by analyzing the input data by the AI model, it is necessary to find or learn a method for obtaining or extracting the desired output by receiving a plurality of data and analyzing the inputted data. You have to go through the training. In this case, the set of data input for training the AI model may be referred to as a'learning data set'. That is, the training data set may be a set of data input to the AI model when training an AI model.

학습 데이터 셋 및 복수개의 AI 모델들은 이하에서 도 3 내지 도 6을 참조하여 상세히 설명한다. 도 3 내지 도 8에 있어서, 동일한 구성은 동일한 도면 기호를 이용하여 도시하였다. The training data set and a plurality of AI models will be described in detail below with reference to FIGS. 3 to 6. In FIGS. 3 to 8, the same configuration is illustrated using the same reference numerals.

도 3은 개시된 실시예에서 이용되는 학습 데이터 셋(training data set)을 나타내는 도면이다. 3 is a diagram illustrating a training data set used in the disclosed embodiment.

도 3을 참조하면, 학습 데이터 셋은 복수개의 AI 모델들 각각으로 입력되는 복수개의 이미지들의 집합을 나타낼 수 있다. Referring to FIG. 3, the training data set may represent a set of a plurality of images input to each of a plurality of AI models.

도 3에서는 학습 데이터 셋(300)이 개와 고양이 중 어느 하나를 객체로 포함하는 이미지들(301, 305, 311, 315)의 집합인 경우를 예로 들어 도시하였다. 이하에서는, 학습 데이터 셋(300)이 개 또는 고양이 중 어느 하나의 객체를 포함하는 100 장의 이미지를 포함하는 경우를 예로 들어 설명한다. 또한, 학습 데이터 셋(300)에 포함되는 이미지의 개수는 예시일 뿐, 실제 AI 모델을 트레이닝 시키기 위해서는 훨씬 더 많은 이미지들이 이용될 수 있을 것이다. In FIG. 3, a case where the training data set 300 is a set of images 301, 305, 311, 315 including any one of a dog and a cat as an object is illustrated as an example. Hereinafter, a case where the training data set 300 includes 100 images including either a dog or a cat object will be described as an example. In addition, the number of images included in the training data set 300 is only an example, and much more images may be used to train an actual AI model.

그리고, S210에서 언급된 복수개의 AI 모델들 각각은 학습 데이터 셋(300)을 이용하여 이미지 내에 포함되는 객체를 인식 및 분류하는 분류기(classifier)로 동작할 수 있는 AI 모델인 경우를 예로 들어서 설명하겠다. 예를 들어, 복수의 AI 모델들 각각은 입력 데이터를 수신한 후, 입력 데이터에 대응되는 적어도 하나의 부류에 대한 분류 결과를 출력할 수 있다. 예를 들어, 입력 데이터 내에 포함되는 객체에 따라서 분류 및 출력하는 AI 모델인 경우, AI 모델은 입력 데이터를 수신하고 대응되는 분류 결과를 출력할 수 있을 것이다. In addition, each of the plurality of AI models mentioned in S210 will be described as an example of an AI model that can operate as a classifier that recognizes and classifies objects included in an image using the training data set 300. . For example, after each of the plurality of AI models receives input data, they may output a classification result for at least one class corresponding to the input data. For example, in the case of an AI model that classifies and outputs according to objects included in input data, the AI model may receive input data and output a corresponding classification result.

도 4는 개시된 실시예에서 수행되는 분류 동작을 설명하기 위한 도면이다. 도 4에서는, AI 모델이 입력된 이미지에 포함되는 객체를 인식하고 인식된 객체의 종류를 개 또는 고양이로 분류하여 출력하는 AI 모델인 경우를 예로 들어 설명한다. 4 is a diagram for describing a classification operation performed in the disclosed embodiment. In FIG. 4, an AI model that recognizes an object included in an input image and classifies and outputs the recognized object type as a dog or cat will be described as an example.

도 4를 참조하면, 복수개의 AI 모델들 각각은 트레이닝을 위하여 학습 데이터 셋(300)에 포함되는 이미지들을 입력받고, 입력된 이미지들 각각에 포함되는 객체를 인식 및 분류할 수 있다. 그리고, 복수개의 AI 모델들 각각이 출력하는 분류 결과는 적어도 하나의 부류(class) 중 어느 하나가 될 수 있다. Referring to FIG. 4, each of a plurality of AI models may receive images included in the training data set 300 for training, and recognize and classify objects included in each of the input images. And, the classification result output by each of the plurality of AI models may be any one of at least one class.

도 4에 있어서, AI 모델(410)은 복수개의 AI 모델들 중 어느 하나가 될 수 있다. In FIG. 4, the AI model 410 may be any one of a plurality of AI models.

복수의 AI 모델들 각각, 예를 들어, AI 모델(410)이 학습 데이터 셋(300)를 학습하는데 있어서, 동일한 객체가 이미징된 이미지들 구분하여 학습할 수 있다. 구체적으로, AI 모델(410)은 학습 데이터 셋(300)에 있어서 개가 이미징된 이미지들(305, 315 등)을 순차적으로 학습한 후, 고양이가 이미징된 이미지들(301, 311 등)을 순차적으로 학습할 수 있다. In each of the plurality of AI models, for example, when the AI model 410 learns the training data set 300, images in which the same object is imaged may be distinguished and learned. Specifically, the AI model 410 sequentially learns the images (305, 315, etc.) of the dog imaged in the training data set 300, and then sequentially learns the images (301, 311, etc.) of the cat. You can learn.

AI 모델(410)은 입력된 데이터에 대응되는 분류 결과를 출력할 수 있다. 도 4를 참조하면, AI 모델(410)은 입력 데이터(예를 들어, 이미지(305))를 입력받고, 이미지(305)에 포함되는 객체를 인식하여 제1 부류(C1: class 1) 또는 제2 부류(C2: class 2) 중 어느 하나인 결과를 출력할 수 있다. 도 4에서는, 제1 부류(C1: class 1)가 개이고, 제2 부류(C2: class 2)가 고양이인 경우를 예로 들어 도시하였다. The AI model 410 may output a classification result corresponding to the input data. 4, the AI model 410 receives input data (for example, an image 305), recognizes an object included in the image 305, and recognizes the first class (C1: class 1) or the first class. Any one of the 2 classes (C2: class 2) can be output. In FIG. 4, a case where the first class (C1: class 1) is a dog and the second class (C2: class 2) is a cat is illustrated as an example.

AI 모델(410)이 개를 객체로 포함하는 이미지(305)를 입력받는다고 하자. 이때, AI 모델(410)이 입력된 이미지에 포함되는 객체를 올바르게 인식 및 분류한 경우, '개'라는 분류 결과를 출력할 것이며, AI 모델(410)이 입력된 이미지에 포함되는 객체를 올바르게 인식 및 분류하지 못하는 경우, '고양이'라는 분류 결과를 출력할 것이다. Assume that the AI model 410 receives an image 305 including a dog as an object. At this time, if the AI model 410 correctly recognizes and classifies the object included in the input image, the classification result of'dog' will be output, and the AI model 410 correctly recognizes the object included in the input image. And if the classification is not possible, a classification result of'cat' will be output.

이하에서는, AI 모델(410)이 잘못된 결과를 출력하는 경우, 입력된 데이터를 '오분류 데이터(misclassified data)'라 하겠다. 예를 들어, AI 모델(410)이 이미지(305)를 입력받고 분류 결과를 '고양이'라고 출력한 경우, 이미지(305)는 '오분류 데이터(misclassified data)'에 포함될 수 있다. Hereinafter, when the AI model 410 outputs an incorrect result, the input data will be referred to as'misclassified data'. For example, when the AI model 410 receives the image 305 and outputs the classification result as'cat', the image 305 may be included in'misclassified data'.

도 5는 개시된 실시예에서 획득되는 오분류 데이터를 설명하기 위한 도면이다. 5 is a diagram for explaining misclassification data obtained in the disclosed embodiment.

그리고, 도 5 내지 도 8에서는 S210 단계에서 언급되는 복수개의 AI 모델이 3개의 AI 모델을 포함하는 경우를 예로 들어 설명한다. In addition, in FIGS. 5 to 8, a case where the plurality of AI models mentioned in step S210 includes three AI models will be described as an example.

도 5를 참조하면, 학습 데이터 셋(300)을 이용하여 트레이닝되는 복수개의 AI 모델들은 제1 AI 모델(M1), 제2 AI 모델(M2), 및 제3 AI 모델(M3)이 포함될 수 있다. Referring to FIG. 5, a plurality of AI models trained using the training data set 300 may include a first AI model M1, a second AI model M2, and a third AI model M3. .

도 5를 참조하면, 제1 AI 모델(M1)은 학습 데이터 셋(300)을 입력받고, 학습 데이터 셋(300)에 포함되는 복수의 이미지들 각각을 학습하여, 객체 인식 및 분류 동작을 수행할 수 있다. 제1 AI 모델(M1)의 경우, 분류 결과가 바르게 된 경우가 82% (511)이고, 분류 결과가 바르지 못한 경우(오분류 되는 경우)가 18%(512)가 될 수 있다. 그에 따라서, 학습 데이터 셋(300)이 100 장의 이미지를 포함할 때, 제1 AI 모델(M1)에서 수집된 오분류 데이터는 학습 데이터 셋(300) 중 18장의 이미지들이 될 것이다. 5, the first AI model M1 receives the training data set 300, learns each of a plurality of images included in the training data set 300, and performs object recognition and classification operations. I can. In the case of the first AI model (M1), 82% (511) of the classification result is correct, and 18% (512) of the case where the classification result is incorrect (misclassification). Accordingly, when the training data set 300 includes 100 images, the misclassification data collected by the first AI model M1 will be 18 images of the training data set 300.

제2 AI 모델(M2)은 학습 데이터 셋(300)을 입력받고, 학습 데이터 셋(300)에 포함되는 복수의 이미지들 각각을 학습하여, 객체 인식 및 분류 동작을 수행할 수 있다. 제2 AI 모델(M2)의 경우, 분류 결과가 바르게 된 경우가 75%(521)이고, 분류 결과가 바르지 못한 경우(오분류 되는 경우)가 22%(522)가 될 수 있다. 그에 따라서, 학습 데이터 셋(300)이 100 장의 이미지를 포함할 때, 제2 AI 모델(M2)에서 수집된 오분류 데이터는 학습 데이터 셋(300) 중 25장의 이미지들이 될 것이다.The second AI model M2 may receive the training data set 300 and learn each of a plurality of images included in the training data set 300 to perform object recognition and classification operations. In the case of the second AI model (M2), 75% (521) of the classification result is correct, and 22% (522) when the classification result is incorrect (misclassification). Accordingly, when the training data set 300 includes 100 images, the misclassification data collected by the second AI model M2 will be 25 images of the training data set 300.

제3 AI 모델(M3)은 학습 데이터 셋(300)을 입력받고, 학습 데이터 셋(300)에 포함되는 복수의 이미지들 각각을 학습하여, 객체 인식 및 분류 동작을 수행할 수 있다. 제3 AI 모델(M3)의 경우, 분류 결과가 바르게 된 경우가 80% (531)이고, 분류 결과가 바르지 못한 경우(오분류 되는 경우)가 20%(532)가 될 수 있다. 여기서, 분류 결과가 바르게 된 경우의 확률을 분류 정확도로 표현할 수 있다. 그에 따라서, 학습 데이터 셋(300)이 100 장의 이미지를 포함할 때, 제3 AI 모델(M3)에서 수집된 오분류 데이터는 학습 데이터 셋(300) 중 20장의 이미지들이 될 것이다. The third AI model M3 receives the training data set 300, learns each of a plurality of images included in the training data set 300, and performs object recognition and classification operations. In the case of the 3rd AI model (M3), 80% (531) of the classification result is correct, and 20% (532) of the incorrect classification result (misclassification). Here, the probability when the classification result is correct can be expressed as classification accuracy. Accordingly, when the training data set 300 includes 100 images, the misclassification data collected by the third AI model M3 will be 20 images of the training data set 300.

도 5를 참조하면, 제1 AI 모델(M1)에서 수집된 오분류 데이터는 학습 데이터 셋(300) 중 오분류 확률(18%)에 해당하는 데이터들이 될 수 있다. 그리고, 제2 AI 모델(M2)에서 수집된 오분류 데이터는 학습 데이터 셋(300) 중 오분류 확률(25%)에 해당하는 데이터들이 될 수 있다. 또한, 제3 AI 모델(M3)에서 수집된 오분류 데이터는 학습 데이터 셋(300) 중 오분류 확률(20%)에 해당하는 데이터들이 될 수 있다. Referring to FIG. 5, the misclassification data collected in the first AI model M1 may be data corresponding to the misclassification probability (18%) of the training data set 300. In addition, the misclassification data collected by the second AI model M2 may be data corresponding to the misclassification probability (25%) of the training data set 300. In addition, the misclassification data collected by the third AI model M3 may be data corresponding to the misclassification probability (20%) of the training data set 300.

도 4 및 도 5에서 예시된 바와 같이, 복수개의 AI 모델들 각각은 서로 다른 분류 정확도 및/ 또는 분류 결과를 가질 수 있다. As illustrated in FIGS. 4 and 5, each of the plurality of AI models may have different classification accuracy and/or classification results.

복수개의 AI 모델들 각각은 동일한 학습 데이터 셋을 입력받더라도, 서로 다른 분류 정확도를 가질 수 있다. 또한, 복수개의 AI 모델들 각각은 동일한 학습 데이터 셋을 입력받더라도, 서로 다른 분류 결과를 출력할 수 있다. Each of the plurality of AI models may have different classification accuracy even when the same training data set is input. In addition, each of the plurality of AI models may output different classification results even when the same training data set is input.

도 6은 개시된 실시예에서 이용되는 복수개의 AI 모델들을 설명하기 위한 도면이다. 6 is a diagram for explaining a plurality of AI models used in the disclosed embodiment.

개시된 실시예에서, 복수개의 AI 모델들은 신경망의 구조(architecture), 적용되는 하이퍼 파라미터(hyper-parameter)의 설정, 신경망을 학습시키기 위해서 이용되는 학습 데이터들, 학습 기술(training technique) 중 적어도 하나가 서로 다르게 형성될 수 있다. In the disclosed embodiment, the plurality of AI models include at least one of a neural network architecture, an applied hyper-parameter setting, training data used to train a neural network, and a training technique. It can be formed differently.

도 6을 참조하면, 복수개의 AI 모델들은 블록(600)에서 표현된 바와 같이, 신경망의 구조(architecture), 적용되는 하이퍼 파라미터(hyper-parameter)의 설정, 신경망을 학습시키기 위해서 이용되는 학습 데이터들, 학습 기술(training technique) 중 적어도 하나가 서로 다르게 형성될 수 있다. Referring to FIG. 6, a plurality of AI models, as expressed in block 600, include the structure of a neural network, setting of applied hyper-parameters, and training data used to train the neural network. , At least one of the training techniques may be formed differently.

예를 들어, 제1 AI 모델(M1)은 제1 학습 데이터 셋(Dataset 1)에 의해서 트레이닝된 모델(611)이 될 수 있고, 제2 AI 모델(M2)은 제2 학습 데이터 셋(Dataset 2)에 의해서 트레이닝된 모델(612)이 될 수 있고, 제3 AI 모델(M3)은 제3 학습 데이터 셋(Dataset 3)에 의해서 트레이닝된 모델(613)이 될 수 있다. 여기서, 제1 학습 데이터 셋(Dataset 1), 제2 학습 데이터 셋(Dataset 2), 및 제3 학습 데이터 셋(Dataset 3)은 서로 다른 이미지들의 집합을 나타낸다. For example, the first AI model M1 may be a model 611 trained by a first training data set (Dataset 1), and the second AI model (M2) is a second training data set (Dataset 2). ), and the third AI model M3 may be a model 613 trained by the third training data set (Dataset 3). Here, the first training data set (Dataset 1), the second training data set (Dataset 2), and the third training data set (Dataset 3) represent different sets of images.

또 다른 예로, 제1 AI 모델(M1)은 제1 하이퍼 파라미터(예를 들어, hyper-parameter vector 1)를 갖는 모델(621)이 될 수 있고, 제2 AI 모델(M2)은 제2 하이퍼 파라미터(예를 들어, hyper-parameter vector 2)를 갖는 모델(622)이 될 수 있고, 제3 AI 모델(M3)은 제3 하이퍼 파라미터(예를 들어, hyper-parameter vector 3)을 갖는 모델(623)이 될 수 있다. 또한, 제1 하이퍼 파라미터(예를 들어, hyper-parameter vector 1), 제2 하이퍼 파라미터(예를 들어, hyper-parameter vector 2), 제3 하이퍼 파라미터(예를 들어, hyper-parameter vector 3)는 서로 다른 값으로 설정된다. As another example, the first AI model M1 may be a model 621 having a first hyper parameter (eg, hyper-parameter vector 1), and the second AI model M2 is a second hyper parameter (Eg, hyper-parameter vector 2) may be a model 622 having, and the third AI model (M3) is a model 623 having a third hyper parameter (eg, hyper-parameter vector 3). ) Can be. In addition, a first hyper parameter (eg, hyper-parameter vector 1), a second hyper parameter (eg, hyper-parameter vector 2), and a third hyper parameter (eg, hyper-parameter vector 3) are They are set to different values.

여기서, 하이퍼 파라미터는 AI 모델을 형성하는 신경망에서의 숨은 레이어(hidden layer)의 개수, learning rate, batch size, loss function, weight decay rate 등과 같은 파라미터들을 포함할 수 있다. Here, the hyper parameter may include parameters such as the number of hidden layers in the neural network forming the AI model, a learning rate, a batch size, a loss function, and a weight decay rate.

또 다른 예로, 제1 AI 모델(M1)은 제1 구조(Deep-architecture 1)를 갖는 모델(631)이 될 수 있고, 제2 AI 모델(M2)은 제2 구조(Deep-architecture 2)를 갖는 모델(632)이 될 수 있고, 제3 AI 모델(M3)은 제3 구조(Deep-architecture 3)를 갖는 모델(633)이 될 수 있다. 여기서, 구조는 AI 모델의 구조를 나타내며, 제1 구조(Deep-architecture 1), 제2 구조(Deep-architecture 2) 및 제3 구조(Deep-architecture 3)는 서로 다르다. As another example, the first AI model M1 may be a model 631 having a first structure (Deep-architecture 1), and the second AI model M2 is a second structure (Deep-architecture 2). It may be a model 632 having, and the third AI model M3 may be a model 633 having a third structure (Deep-architecture 3). Here, the structure represents the structure of the AI model, and the first structure (Deep-architecture 1), the second structure (Deep-architecture 2), and the third structure (Deep-architecture 3) are different from each other.

또 다른 예로, 제1 AI 모델(M1)은 제1 학습 기법(예를 들어, domain adaptation 기법)에 의해서 형성된 모델(641)이 될 수 있고, 제2 AI 모델(M2)은 제2 학습 기법(예를 들어, Multi-tasking learning 기법)를 갖는 모델(642)이 될 수 있고, 제3 AI 모델(M3)은 제3 학습 기법(예를 들어, methodology XYZ 기법)을 갖는 모델(633)이 될 수 있다. 즉, 제1 AI 모델(M1), 제2 AI 모델(M2), 및 제3 AI 모델(M3)은 서로 다른 학습 기술(training technique)에 의해서 형성될 수 있다. As another example, the first AI model M1 may be a model 641 formed by a first learning technique (eg, domain adaptation technique), and the second AI model M2 is a second learning technique ( For example, it can be a model 642 having a multi-tasking learning technique), and the third AI model M3 will be a model 633 having a third learning technique (eg, methodology XYZ technique). I can. That is, the first AI model M1, the second AI model M2, and the third AI model M3 may be formed by different training techniques.

전술한 바와 같이, 신경망의 구조(architecture), 적용되는 하이퍼 파라미터(hyper-parameter)의 설정, 신경망을 학습시키기 위해서 이용되는 학습 데이터들, 학습 기술(training technique) 중 적어도 하나가 서로 다르게 형성되는 복수개의 AI 모델들이 존재하는 경우, 복수개의 AI 모델들 각각으로 동일한 입력 데이터가 입력되어도, 복수개의 AI 모델들에서의 인식 정확도가 서로 다른 경우가 발생할 수 있다. 또한, AI 모델은 매우 다양하게 설계할 수 있으므로, 동일한 동작을 수행하는 다양한 AI 모델들이 존재할 수 있다. As described above, at least one of the structure of the neural network, the setting of the hyper-parameter to be applied, the training data used to train the neural network, and the training technique are formed differently. When there are two AI models, even if the same input data is input to each of the plurality of AI models, the recognition accuracy of the plurality of AI models may be different from each other. In addition, since AI models can be designed in a wide variety, there may be various AI models that perform the same operation.

예를 들어, 특정 입력 데이터에 대하여, 제1 AI 모델(M1)은 정확하게 인식 및 분류되나, 제2 AI 모델(M2)는 인식하지 못하는 경우가 발생하게 된다. For example, for specific input data, the first AI model M1 is accurately recognized and classified, but the second AI model M2 is not recognized.

개시된 실시예에서는, 따라서, 서로 다른 다양한 AI 모델들 중, 사용자가 테스트하고자 하는 대상이 되는 입력 데이터에 대하여 최적화된 AI 모델을 선택하는 방법 및 장치가 개시된다. In the disclosed embodiment, accordingly, a method and an apparatus for selecting an AI model optimized for input data to be tested by a user from among various different AI models are disclosed.

다시 도 2a를 참조하면, 입력 데이터에 근거한 AI 모델 선택 방법(200)은 S210 단계에 후속하여, 추가 AI 모델에서 상기 오분류 데이터를 학습하여, 학습된 추가 AI 모델을 획득한다(S220). 구체적으로, S220 단계는 오분류 데이터를 입력받은 추가 AI 모델에서, 오분류 데이터가 복수개의 AI 모델들 중 어느 모델에서 분류된 데이터인지를 학습하는 단계(단계 미도시) 및 학습의 결과, 학습된 추가 AI 모델을 획득하는 단계(단계 미도시)를 포함할 수 있다. Referring back to FIG. 2A, the method 200 for selecting an AI model based on input data learns the misclassified data from an additional AI model, following step S210, to obtain a learned additional AI model (S220). Specifically, in step S220, in the additional AI model receiving the misclassified data, learning whether the misclassified data is data classified from among a plurality of AI models (step not shown) and the result of the training, the learned It may include obtaining an additional AI model (step not shown).

여기서, 추가 AI 모델은, S210 단계에서 언급된 복수개의 AI 모델들 다른 AI 모델이다. 또한, 추가 AI 모델은, 오분류 데이터에 의해서 트레이닝될 AI 모델을 의미할 수 있다. 추가 AI 모델의 트레이닝 동작은 이하에서 도 7을 참조하여 상세히 설명한다. Here, the additional AI model is an AI model different from the plurality of AI models mentioned in step S210. In addition, the additional AI model may mean an AI model to be trained by misclassification data. The training operation of the additional AI model will be described in detail below with reference to FIG. 7.

도 7은 개시된 실시예에서 수행되는 추가 모델의 학습 동작을 설명하기 위한 도면이다. 7 is a diagram for explaining a learning operation of an additional model performed in the disclosed embodiment.

도 7를 참조하면, 추가 AI 모델(M0)을 트레이닝시킬 오분류 데이터(misclassified dataset)(710)는 복수개의 AI 모델들 각각에서 오분류된 데이터들인 오분류 데이터(misclassified data)의 집합을 의미한다. Referring to FIG. 7, a misclassified dataset 710 for training an additional AI model M0 refers to a set of misclassified data, which is data misclassified in each of a plurality of AI models. .

도 5에서 설명한 바와 같이, 학습 데이터 셋(300)이 100 장의 이미지를 포함할 때를 예로 들자. 그러면, 오분류 데이터(misclassified dataset)(710)는 제1 AI 모델(M1)에서 수집된 18장의 이미지, 제2 AI 모델(M2)에서 수집된 25장의 이미지, 및 제3 AI 모델(M3)에서 수집된 20장의 이미지의 집합이 될 수 잇다. As described with reference to FIG. 5, for example, when the training data set 300 includes 100 images. Then, the misclassified dataset 710 is from 18 images collected from the first AI model (M1), 25 images collected from the second AI model (M2), and from the third AI model (M3). It can be a collection of 20 images collected.

예를 들어, 추가 AI 모델(M0)은 복수개의 모델들 각각에서 수집된 오분류 데이터를 순차적으로 트레이닝할 수 있다. For example, the additional AI model M0 may sequentially train misclassification data collected from each of a plurality of models.

구체적으로, 추가 AI 모델(M0)은 제1 AI 모델(M1)에서 오분류된 18장의 이미지들을 학습(training)하고, 후속하여 제2 AI 모델(M2)에서 오분류된 25장의 이미지를 학습(training)하며, 후속하여 제3 AI 모델(M3)에서 오분류된 20장의 이미지를 학습(training)할 수 있다. Specifically, the additional AI model M0 trains 18 images misclassified in the first AI model M1, and subsequently trains 25 images misclassified in the second AI model M2 ( training), and subsequently, it is possible to train 20 images misclassified in the third AI model (M3).

구체적으로, 추가 AI 모델(M0)은 오분류 데이터(710)를 학습함으로써, 입력된 데이터가 복수개의 AI 모델들(예를 들어, M1, M2, 및 M3) 중 어느 모델에서 분류된 데이터인지를 스스로 터득할 수 있다. 즉, 추가 AI 모델(M0)은 오분류 데이터(710)를 이용하여, 입력된 데이터가 복수개의 AI 모델들(예를 들어, M1, M2, 및 M3) 중 어느 모델에서 분류된 데이터인지를 트레이닝할 수 있다.Specifically, the additional AI model M0 learns the misclassified data 710 to determine whether the input data is data classified from any of a plurality of AI models (eg, M1, M2, and M3). You can learn it yourself. That is, the additional AI model (M0) uses the misclassification data 710 to train whether the input data is data classified from among a plurality of AI models (eg, M1, M2, and M3). can do.

구체적으로, 추가 AI 모델(M0)은 오분류 데이터(710)를 입력받고 이를 학습함으로써, 복수개의 AI 모델들(예를 들어, M1, M2, 및 M3) 각각에 의해서 학습되지 못하는 데이터의 특성 및 데이터의 분포(distribution)를 학습할 수 있다. Specifically, the additional AI model M0 receives the misclassification data 710 and learns it, so that the characteristics of data that cannot be learned by each of a plurality of AI models (eg, M1, M2, and M3) and You can learn the distribution of data.

예를 들어, 추가 AI 모델(M0)은 제1 AI 모델(M1)에서 오분류된 18장의 이미지들을 학습(training)함으로써, 제1 AI 모델(M1)이 어떠한 이미지 특성을 갖는 이미지에 대하여 인식 및/또는 분류하지 못하는지를, 제1 AI 모델(M1)이 인식 및/또는 분류하지 못하는 이미지는 어떠한 이미지 특성을 갖는지를 스스로 터득할 수 있다. 여기서, 이미지 특성은 이미지의 해상도, 객체의 표현 방법, 화소 값, 이미지 내에 포함되는 엣지의 특성, 이미지의 색상 등과 같이 객체를 표현하는 특징들을 의미할 수 있다. For example, the additional AI model M0 trains 18 images misclassified in the first AI model M1, so that the first AI model M1 recognizes and recognizes images having certain image characteristics. It is possible to learn by itself whether it is impossible to classify or what image characteristics of an image that the first AI model M1 cannot recognize and/or classify has. Here, the image characteristics may refer to features expressing an object such as a resolution of an image, a method of expressing an object, a pixel value, a characteristic of an edge included in an image, and a color of an image.

그리고, 추가 AI 모델(M0)은 제2 AI 모델(M2)에서 오분류된 25장의 이미지들을 학습(training)함으로써, 제2 AI 모델(M2)이 어떠한 이미지 특성을 갖는 이미지에 대하여 인식 및/또는 분류하지 못하는지를, 제2 AI 모델(M2)이 인식 및/또는 분류하지 못하는 이미지는 어떠한 이미지 특성을 갖는지를 스스로 터득할 수 있다. 계속하여, 추가 AI 모델(M0)은 제3 AI 모델(M3)에서 오분류된 20장의 이미지들을 학습(training)함으로써, 제3 AI 모델(M3)이 어떠한 이미지 특성을 갖는 이미지에 대하여 인식 및/또는 분류하지 못하는지를, 제3 AI 모델(M3)이 인식 및/또는 분류하지 못하는 이미지는 어떠한 이미지 특성을 갖는지를 스스로 터득할 수 있다.In addition, the additional AI model M0 trains 25 images misclassified in the second AI model M2, so that the second AI model M2 recognizes and/or recognizes an image having certain image characteristics. Whether the second AI model M2 recognizes and/or does not classify, it is possible to learn by itself what image characteristics have. Subsequently, the additional AI model M0 is trained on 20 images misclassified in the third AI model M3, so that the third AI model M3 recognizes and/or recognizes images having certain image characteristics. Alternatively, it is possible to learn by itself whether it is impossible to classify or what image characteristics of an image that the third AI model M3 cannot recognize and/or classify has.

다시 도 2a를 참조하면, 입력 데이터에 근거한 AI 모델 선택 방법(200)은 S210 단계에 후속하여, S220 단계에서 학습된 추가 AI 모델(M0)로 제1 데이터가 입력되면, 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들을 출력한다(S230). Referring back to FIG. 2A, in the AI model selection method 200 based on input data, if the first data is input to the additional AI model M0 learned in step S220 following step S210, each of the plurality of AI models Misclassification probabilities of is output (S230).

여기서, 제1 데이터는 학습된 추가 AI 모델(MO)로 입력되는 데이터이다. 구체적으로, 제1 데이터는 학습된 추가 AI 모델(MO)을 통하여 결과를 출력하고자 하는 대상이 될 수 있다. Here, the first data is data input to the learned additional AI model MO. Specifically, the first data may be a target for outputting a result through the learned additional AI model MO.

예를 들어, 사용자가 AI 모델을 이용하여 어떠한 이미지에 포함되는 객체가 무엇인지 테스트하고자 하는 경우, 테스트 대상이 되는 이미지가 제1 데이터가 될 수 있다. 즉, 제1 데이터는 테스트 데이터가 될 수 있다. For example, when a user wants to test an object included in a certain image using an AI model, an image to be tested may be the first data. That is, the first data may be test data.

S230 단계의 동작은 이하에서 도 8을 참조하여 상세히 설명한다. The operation of step S230 will be described in detail with reference to FIG. 8 below.

도 8은 학습된 추가 모델에서 출력되는 오분류 확률들을 설명하기 위한 도면이다. 8 is a diagram for explaining misclassification probabilities output from a learned additional model.

도 8을 참조하면, 학습된 추가 AI 모델(M0)(801)은 제1 데이터(801)를 입력받고, 제1 데이터가 복수개의 AI 모델들 각각에서 오분류될 확률인 '오분류 확률(misclassification probability)'을 출력할 수 있다. 여기서, 복수개의 AI 모델들 각각에 대응되는 오분류 확률의 총 합은 1 또는 100%가 될 수 있다. Referring to FIG. 8, the learned additional AI model (M0) 801 receives the first data 801, and the'misclassification probability', which is the probability that the first data will be misclassified in each of the plurality of AI models. Probability)' can be displayed. Here, the total sum of the misclassification probability corresponding to each of the plurality of AI models may be 1 or 100%.

전술한 바와 같이, S220 단계에서 추가 AI 모델(M0)는 복수개의 AI 모델들(예를 들어, M1, M2, M2)에서 수집된 오분류 데이터(710)를 입력받고 이를 학습하였다. 따라서, 학습된 추가 AI 모델(M0)은 복수개의 AI 모델들(예를 들어, M1, M2, 및 M3) 각각에 의해서 학습되지 못하는 데이터의 특성 및 데이터의 분포(distribution)를 알고 있다. 그러므로, 학습된 추가 AI 모델(M0)은 제1 데이터를 입력받으면, 제1 데이터(801)의 데이터 특성 및 데이터 분포를 분석하고, 분석된 데이터 특성 및 데이터 분포를 갖는 제1 데이터(801)가 복수개의 AI 모델들(예를 들어, M1, M2, 및 M3) 각각에서 오분류될 확률을 산출할 수 있다. As described above, in step S220, the additional AI model M0 receives the misclassification data 710 collected from a plurality of AI models (eg, M1, M2, M2) and learns it. Accordingly, the learned additional AI model M0 knows the characteristics of data that cannot be learned by each of the plurality of AI models (eg, M1, M2, and M3) and the distribution of the data. Therefore, when the learned additional AI model M0 receives the first data, it analyzes the data characteristics and data distribution of the first data 801, and the first data 801 having the analyzed data characteristics and data distribution is It is possible to calculate the probability of misclassification in each of a plurality of AI models (eg, M1, M2, and M3).

도 8을 참조하면, 복수개의 AI 모델들이 제1 AI 모델(M1), 제2 AI 모델(M2), 및 제3 AI 모델(M3)을 포함하는 경우, 제1 데이터(801)가 제1 AI 모델(M1)에서 오분류될 확률은 0.7(또는, 70%)(810), 제1 데이터(801)가 제2 AI 모델(M2)에서 오분류될 확률은 0.2(또는, 20%)(820), 그리고, 제1 데이터(801)가 제3 AI 모델(M3)에서 오분류될 확률은 0.1(또는, 10%)(830)이 될 수 있다. 8, when a plurality of AI models include a first AI model (M1), a second AI model (M2), and a third AI model (M3), the first data 801 is the first AI model. The probability of misclassification in the model M1 is 0.7 (or 70%) 810, and the probability that the first data 801 is misclassified in the second AI model M2 is 0.2 (or 20%) 820 ), and, a probability that the first data 801 is misclassified in the third AI model M3 may be 0.1 (or 10%) 830.

즉, 학습된 추가 AI 모델(M0)이 분류하는 부류(class)는 복수개의 AI 모델들, (예를 들어, M1, M2 및 M3) 및 복수개의 AI 모델들 각각에 대응되는 오분류 확률값이 될 수 있다. 예를 들어, 학습된 추가 AI 모델(M0)이 분류하는 부류(class)에 있어서, 제1 부류(C1: class 1)(811)는 제1 AI 모델(M1)에서의 오분류 확률(810)이 되며, 제2 부류(C2: class 2)(821)는 제2 AI 모델(M2)에서의 오분류 확률(820)이 되며, 제3 부류(C3: class 3)(831)는 제3 AI 모델(M3)에서의 오분류 확률(830)이 될 수 있을 것이다. That is, the class classified by the learned additional AI model M0 will be a misclassification probability value corresponding to each of a plurality of AI models (e.g., M1, M2 and M3) and a plurality of AI models. I can. For example, in the class classified by the trained additional AI model (M0), the first class (C1: class 1) 811 is the misclassification probability 810 in the first AI model (M1). The second class (C2: class 2) (821) becomes the misclassification probability 820 in the second AI model (M2), and the third class (C3: class 3) 831 is the third AI It may be a misclassification probability 830 in the model M3.

다시 도 2a를 참조하면, 입력 데이터에 근거한 AI 모델 선택 방법(200)은 S230 단계에서 획득된 오분류 확률들에 근거하여, S210 단계에서 언급된 복수개의 AI 모델들 중 어느 하나를 선택한다(S240). Referring again to FIG. 2A, the AI model selection method 200 based on input data selects any one of the plurality of AI models mentioned in step S210 based on the misclassification probabilities obtained in step S230 (S240). ).

구체적으로, 입력 데이터에 근거한 AI 모델 선택 방법(200)은 S230 단계에서 획득된 오분류 확률들 중 가장 작은 값을 가지는 오분류 확률에 대응되는 AI 모델(복수개의 AI 모델들 중 어느 하나)를 선택할 수 있다. Specifically, the AI model selection method 200 based on the input data selects an AI model (any one of a plurality of AI models) corresponding to the misclassification probability having the smallest value among the misclassification probabilities obtained in step S230. I can.

도 8을 참조하면, 학습된 추가 AI 모델(M0)이 출력하는 오분류 확률들은, 0.7(810), 0.2(820) 및 0.1(830)으로, 이들 중 가장 작은 값은 0.1(830)이 된다. 그에 따라서, 입력 데이터에 근거한 AI 모델 선택 방법(200)은 복수개의 AI 모델들(M1, M2, M3) 중 가장 작은 확률 값인 0.1(830)에 대응되는 AI 모델인 제3 AI 모델(M3)을 선택할 수 있다.Referring to FIG. 8, the misclassification probabilities output by the learned additional AI model M0 are 0.7 (810), 0.2 (820), and 0.1 (830), the smallest of which is 0.1 (830). . Accordingly, the AI model selection method 200 based on the input data uses the third AI model M3, which is an AI model corresponding to the smallest probability value 0.1 830 among the plurality of AI models M1, M2, M3. You can choose.

구체적으로, 학습된 추가 AI 모델(M0)이 출력하는 오분류 확률들 중 가장 작은 값을 가지는 확률에 대응되는 AI 모델은, 제1 데이터(801)를 오분류 할 가능성이 가장 낮은 AI 모델을 의미한다. Specifically, the AI model corresponding to the probability of having the smallest value among the misclassification probabilities output by the learned additional AI model (M0) means the AI model with the lowest probability of misclassifying the first data 801. do.

또한, 제1 데이터(801)에 가장 최적화된 AI 모델은, 제1 데이터(801)를 오분류 할 가능성이 가장 낮은 AI 모델이라 할 수 있다. 따라서, 개시된 실시예에서는, 복수개의 AI 모델들에서 오분류될 확률에 근거하여 복수개의 AI 모델 중 어느 하나를 선택함으로써, 학습된 복수개의 AI 모델들 중, 테스트 대상이 되는 데이터(구체적으로, 제1 데이터(801))를 오분류 할 가능성이 가장 낮은 AI 모델을 자동으로 선택할 수 있다. In addition, the AI model most optimized for the first data 801 may be said to be an AI model with the lowest probability of misclassifying the first data 801. Therefore, in the disclosed embodiment, by selecting any one of the plurality of AI models based on the probability of misclassification from the plurality of AI models, among the plurality of learned AI models, data to be tested (specifically, the first 1 The AI model that is least likely to misclassify the data (801)) can be automatically selected.

도 2b는 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 나타내는 다른 흐름도이다. 도 2b에 있어서, 도 2a에서와 동일 대응되는 구성은 동일한 도면 기호를 이용하여 도시하였다. 그러므로, 도 2b에 도시된 입력 데이터에 근거한 AI 모델 선택 방법(200)을 설명하는데 있어서, 도 2a에서와 중복되는 설명은 생략한다. 2B is another flowchart illustrating a method of selecting an AI model based on input data according to the disclosed embodiment. In FIG. 2B, the same and corresponding configurations as in FIG. 2A are illustrated using the same reference symbols. Therefore, in describing the method 200 for selecting an AI model based on the input data shown in FIG. 2B, the overlapping description as in FIG. 2A will be omitted.

도 2b를 참조하면, AI 모델 선택 방법(200)은 도 2a에 도시된 단계들에 추가하여, S250 단계를 더 포함할 수 있다. Referring to FIG. 2B, the AI model selection method 200 may further include a step S250 in addition to the steps shown in FIG. 2A.

도 2b를 참조하면, 개시된 실시예에 따른 AI 모델 선택 방법(200)은 제1 데이터가 갱신될 때마다, S230 동작 및 S240 동작을 반복적으로 수행할 수 있다. Referring to FIG. 2B, the AI model selection method 200 according to the disclosed embodiment may repeatedly perform operations S230 and S240 whenever first data is updated.

구체적으로, AI 모델 선택 방법(200)은 새로운 또는 추가적인 제1 데이터가 존재하는 여부를 판단하고(S250), S250 단계의 판단 결과에 따라서, S230 동작 및 S240 동작을 반복적으로 수행할 수 있다. 또한, 도 2b의 S250 단계에서 기재된 '새로운 제1 데이터'은 이전에 테스트를 위하여 입력된 제1 데이터와 다른 데이터로, 테스트를 위하여 추가 AI 모델로 입력되는 모든 데이터를 의미할 수 있다.Specifically, the AI model selection method 200 may determine whether new or additional first data exists (S250), and may repeatedly perform operations S230 and S240 according to the determination result of step S250. In addition, the'new first data' described in step S250 of FIG. 2B is data different from the first data previously input for testing, and may mean all data input to an additional AI model for testing.

즉, AI 모델 선택 방법(200)은 제1 데이터가 새롭게 입력되면 새롭게 입력된 제1 데이터에 최적화된 AI 모델이 새롭게 선택될 수 있도록, 새로운 제1 데이터에 근거하여 S230 동작 및 S240 동작을 반복적으로 수행할 수 있다. That is, the AI model selection method 200 repeatedly performs operations S230 and S240 based on the new first data so that when the first data is newly input, an AI model optimized for the newly input first data can be newly selected. Can be done.

또한, 개시된 실시예에 따른 AI 모델 선택 방법(200)은 테스트 하고자 하는 대상인 제1 데이터가 복수개 존재하는 경우, 테스트 대상이 되는 복수개의 데이터들 각각에 대하여 S230 동작 및 S240 동작을 반복적으로 수행할 수 있다. 예를 들어, 사용자가 테스트하고자 하는 데이터가 하나의 데이터가 아닌 복수의 데이터 집합인 '셋(set)'으로 존재할 수 있다. 이 경우, 테스트 데이터 셋에 포함되는 모든 데이터가 '제1 데이터'로써 이용될 수 있다. In addition, the AI model selection method 200 according to the disclosed embodiment may repeatedly perform operation S230 and operation S240 on each of the plurality of data to be tested when there are a plurality of first data to be tested. have. For example, data that the user wants to test may exist as a'set', which is a plurality of data sets instead of one data. In this case, all data included in the test data set may be used as'first data'.

예를 들어, 테스트 데이터 셋에 제1 테스트 데이터 내지 제10 테스트 데이터가 존재하는 경우, AI 모델 선택 방법(200)은 추가 AI 모델로 제1 테스트 데이터를 입력하여 S230 및 S240 동작을 수행할 수 있다. 그러면, 제1 테스트 데이터에 대응되는 소정 AI 모델이 선택될 수 있다. 계속하여, AI 모델 선택 방법(200)은 추가 AI 모델로 제2 테스트 데이터를 입력하여 S230 및 S240 동작을 수행할 수 있다. 그러면, 제2 테스트 데이터에 대응되는 소정 AI 모델이 선택될 수 있다. 이러한 방식으로 후속되는 제3 테스트 데이터 내지 제10 테스트 데이터 각각에 대하여, S230 및 S240 동작을 반복적으로 수행할 수 있다. 그에 따라서, 제1 테스트 데이터 내지 제10 테스트 데이터 각각에 대하여, 최적화된 AI 모델을 선택할 수 있을 것이다. For example, when first to tenth test data exists in the test data set, the AI model selection method 200 may perform operations S230 and S240 by inputting the first test data as an additional AI model. . Then, a predetermined AI model corresponding to the first test data may be selected. Subsequently, the AI model selection method 200 may perform operations S230 and S240 by inputting second test data as an additional AI model. Then, a predetermined AI model corresponding to the second test data may be selected. In this manner, operations S230 and S240 may be repeatedly performed for each of the third to tenth test data that follow. Accordingly, for each of the first to tenth test data, an optimized AI model may be selected.

전술한 바와 같이, 개시된 실시예에서는, 사용자의 수동 조작 없이, 매우 다양한 형태로 존재하는 복수개의 AI 모델들 중, 테스트 대상이 되는 데이터(구체적으로, 제1 데이터(801))에 대응되는 결과(예를 들어, 적어도 하나의 부류 중 어느 하나로의 분류 결과)를 가장 정확하게 획득할 수 있도록 하는 AI 모델을 자동으로 선택 또는 검출할 수 있도록 있다. 그에 따라서, 테스트 대상이 되는 데이터에 대한 AI 모델의 연산 정확도(결과 정확도) 증가시킬 수 있다. As described above, in the disclosed embodiment, a result corresponding to the data to be tested (specifically, the first data 801) among a plurality of AI models that exist in a wide variety of forms without manual manipulation by the user ( For example, it is possible to automatically select or detect an AI model that enables the most accurate acquisition of the classification result of at least one of the classes). Accordingly, it is possible to increase the computational accuracy (result accuracy) of the AI model for the data to be tested.

도 9는 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 상세하게 나타내는 일 플로우차트이다. 9 is a detailed flowchart illustrating a method of selecting an AI model based on input data according to the disclosed embodiment.

개시된 실시예에서, S210 단계에서 설명한 학습 데이터 셋을 입력받아 트레이닝되는 복수개의 AI 모델들은, 적어도 하나의 온 디바이스(On-device) AI 모델 및 적어도 하나의 서버 기반(Server based) AI 모델을 포함할 수 있다. In the disclosed embodiment, the plurality of AI models trained by receiving the training data set described in step S210 include at least one on-device AI model and at least one server based AI model. I can.

여기서, 온 디바이스 AI 모델은 서버가 아닌 전자 장치(미도시) 내에 AI 모델이 탑재되는 경우, 전자 장치 내에 탑재된 AI 모델을 지칭한다. 그리고, 서버 기반 AI 모델은, 서버(미도시) 내에 AI 모델이 탑재되는 경우, 서버 내에 탑재된 AI 모델을 지칭한다. Here, the on-device AI model refers to an AI model mounted in the electronic device when the AI model is mounted in an electronic device (not shown) other than a server. In addition, the server-based AI model refers to an AI model installed in the server when the AI model is mounted in the server (not shown).

메모리 및 프로세서의 크기 및 성능 등을 고려할 때, 일반적으로 온 디바이스 AI 모델의 경우 메모리 사용량, 데이터 처리 용량 등이 서버 기반 AI 모델이 비하여 작게 형성된다. 따라서, 서버 기반 온 디바이스 AI 모델을 이용하는 경우에 비하여, 온 디바이스 AI 모델을 이용하면 빠른 속도로 데이터를 처리할 수 있을 것이다. Considering the size and performance of memory and processors, in general, in the case of the on-device AI model, memory usage and data processing capacity are formed smaller than that of the server-based AI model. Therefore, compared to the case of using the server-based on-device AI model, using the on-device AI model will allow data to be processed at a faster rate.

또한, 테스트하고자 하는 입력 데이터에 따라서, 온 디바이스 AI 모델에서의 출력 정확도가 서버 기반 AI 모델의 출력 정확도보다 높은 값을 가질 수 있다. 그러므로, 개시된 실시예에서는, S230 단계에서 설명한 오분류 확률들에 근거하여, 온 디바이스 AI 모델 및 서버 기반 AI 모델 중 어느 하나를 선택 및 이용할 수 있다. Also, depending on the input data to be tested, the output accuracy of the on-device AI model may have a higher value than the output accuracy of the server-based AI model. Therefore, in the disclosed embodiment, based on the misclassification probabilities described in step S230, one of an on-device AI model and a server-based AI model may be selected and used.

도 9를 참조하면, S905 단계 및 S920 단계는 각각 S230 단계 및 S240 단계에 대응될 수 있다. Referring to FIG. 9, steps S905 and S920 may correspond to steps S230 and S240, respectively.

구체적으로, S910 단계에서 도시된 '추가 AI 모델'은, 적어도 하나의 온 디바이스(On-device) AI 모델 및 적어도 하나의 서버 기반(Server based) AI 모델을 포함하는 복수개의 AI 모델들에서 수집된 오분류 데이터를 이용하여 트레이닝된 추가 AI 모델로, S220 단계에서 획득된 추가 AI 모델에 대응될 수 있다. Specifically, the'additional AI model' shown in step S910 is collected from a plurality of AI models including at least one on-device AI model and at least one server based AI model. This is an additional AI model trained using misclassified data, and may correspond to the additional AI model acquired in step S220.

도 9를 참조하면, 학습된 추가 AI 모델(M0)로 제1 데이터를 입력하고, 복수개의 AI 모델들(구체적으로, 적어도 하나의 온 디바이스(On-device) AI 모델 및 적어도 하나의 서버 기반(Server based) AI 모델) 각각에 대한 오분류 확률(misclassification probability)들을 출력한다(S915). 도 9에 도시된 예시에 있어서, 복수개의 AI 모델은, 제1 온 디바이스 AI 모델(On-Device Model 1), 제2 온 디바이스 AI 모델(On-Device Model 2), 제1 서버 기반 AI 모델(Server1 (Model 1)), 및 제2 서버 기반 AI 모델(Server2 (Model 2))을 포함할 수 있다. Referring to FIG. 9, first data is input as the learned additional AI model M0, and a plurality of AI models (specifically, at least one on-device AI model and at least one server-based ( Server based) AI model) misclassification probabilities for each are output (S915). In the example shown in FIG. 9, the plurality of AI models include a first on-device AI model (On-Device Model 1), a second on-device AI model (On-Device Model 2), and a first server-based AI model ( Server1 (Model 1)), and a second server-based AI model (Server2 (Model 2)).

S915 단계에서 획득된 오분류 확률들에 근거하여, 온 디바이스 AI 모델에 대한 오분류 확률이 서버 기반 AI 모델에 대한 오분류 확률에 비하여 작으면, S930 단계로 진행한다. If the misclassification probability for the on-device AI model is smaller than the misclassification probability for the server-based AI model based on the misclassification probabilities obtained in step S915, the process proceeds to step S930.

계속하여, 온 디바이스 AI 모델들 각각에 대한 오분류 확률들을 고려하여(S935), 제1 온 디바이스 AI 모델(On-Device Model 1)에 대한 오분류 확률이 가장 작은 값을 가지면, 제1 온 디바이스 AI 모델(On-Device Model 1)이 선택된다(S937). 그리고, 제2 온 디바이스 AI 모델(On-Device Model 2)에 대한 오분류 확률이 가장 작은 값을 가지면, 제2 온 디바이스 AI 모델(On-Device Model 1)이 선택된다(S939).Subsequently, considering the misclassification probabilities for each of the on-device AI models (S935), if the misclassification probability for the first on-device AI model 1 has the smallest value, the first on-device The AI model (On-Device Model 1) is selected (S937). In addition, if the probability of misclassification for the second on-device AI model 2 has the smallest value, the second on-device AI model 1 is selected (S939).

S915 단계에서 획득된 오분류 확률들에 근거하여, 서버 기반 AI 모델에 대한 오분류 확률이 온 디바이스 AI 모델에 대한 오분류 확률에 비하여 작으면, S950 단계로 진행한다. If the misclassification probability for the server-based AI model is smaller than the misclassification probability for the on-device AI model based on the misclassification probabilities obtained in step S915, the process proceeds to step S950.

계속하여, 서버 기반 AI 모델들 각각에 대한 오분류 확률들을 고려하여(S955), 제1 서버 기반 AI 모델(Server1 (Model 1))에 대한 오분류 확률이 가장 작은 값을 가지면, 제1 서버 기반 AI 모델(Server1 (Model 1))이 선택된다(S957). 그리고, 제2 서버 기반 AI 모델(Server 2 (Model 2))에 대한 오분류 확률이 가장 작은 값을 가지면, 제2 서버 기반 AI 모델(Server 2 (Model 2))이 선택된다(S959).Subsequently, considering the misclassification probabilities for each of the server-based AI models (S955), if the misclassification probability for the first server-based AI model (Server1 (Model 1)) has the smallest value, the first server-based The AI model (Server1 (Model 1)) is selected (S957). And, if the misclassification probability for the second server-based AI model (Server 2 (Model 2)) has the smallest value, the second server-based AI model (Server 2 (Model 2)) is selected (S959).

전술한 바와 같이, 테스트하고자 하는 입력 데이터에 따라서, 온 디바이스 AI 모델에서의 출력 정확도가 서버 기반 AI 모델의 출력 정확도보다 높은 값을 가질 수 있다. 그러므로, 개시된 실시예에서는, 온 디바이스 AI 모델이 서버 기반 AI 모델에 비하여 오분류 확률이 작은 값을 가지는 경우, 온 디바이스 AI 모델을 선태기 및 이용하여, 입력 데이터에 대응되는 출력 데이터를 획득할 수 있다. 그러면, 비교적 적은 메모리를 사용하여 동작하는 온 디바이스 AI 모델을 이용하여 빠르고 정확하게 AI 연산을 수행하여 출력 데이터를 획득할 수 있다. As described above, depending on the input data to be tested, the output accuracy of the on-device AI model may have a higher value than the output accuracy of the server-based AI model. Therefore, in the disclosed embodiment, when the on-device AI model has a lower probability of misclassification compared to the server-based AI model, the on-device AI model is selected and used to obtain output data corresponding to the input data. have. Then, it is possible to obtain output data by performing AI calculations quickly and accurately using an on-device AI model that operates using relatively little memory.

도 10은 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 상세하게 나타내는 다른 플로우차트이다. 도 10에 있어서, 도 2a에서와 동일 대응되는 구성은 동일한 도면 기호를 이용하여 도시하였다. 그러므로, 도 10에 도시된 입력 데이터에 근거한 AI 모델 선택 방법(1000)을 설명하는데 있어서, 도 1 내지 도 9에서와 중복되는 설명은 생략한다. 10 is another flowchart illustrating in detail a method of selecting an AI model based on input data according to the disclosed embodiment. In FIG. 10, the same and corresponding configurations as in FIG. 2A are illustrated using the same reference symbols. Therefore, in describing the method 1000 for selecting an AI model based on input data shown in FIG. 10, descriptions overlapping with those in FIGS. 1 to 9 will be omitted.

도 10을 참조하면, 입력 데이터에 근거한 AI 모델 선택 방법(1000)은 S210 단계 이전에, 학습 데이터 셋을 이용하여 복수개의 AI 모델들 각각을 학습하는 단계(S1005)를 더 포함할 수 있다. Referring to FIG. 10, the method 1000 for selecting an AI model based on input data may further include a step S1005 of learning each of the plurality of AI models using a training data set before step S210.

그리고, S1005 단계의 수행 결과, 복수개의 AI 모델들 각각에서 오분류 데이터를 획득한다(S210). Then, as a result of performing step S1005, misclassification data is obtained from each of the plurality of AI models (S210).

그리고, 입력 데이터에 근거한 AI 모델 선택 방법(1000)은 S240 단계 이후에, 선택된 AI 모델을 이용하여, 제1 데이터에 대응되는 결과를 출력하는 단계(S1050)를 더 포함할 수 있다. 즉, 선택된 AI 모델에서 제1 데이터를 입력받고, 대응되는 분류 결과를 출력할 수 있다. 여기서, S1050 단계에서 출력하는 분류 결과에 포함되는 적어도 부류(class)는, S210 단계에서 언급한 복수개의 AI 모델들 각각에서 출력되는 분류 결과와 동일한 부류(class)를 포함한다. 구체적으로, S210 단계에서 언급한 복수개의 AI 모델들 각각이 입력된 이미지의 객체를 인식 및 분류하여 제1 부류(C1: class 1) 또는 제2 부류(C2: class 2)인지를 나타내는 결과를 출력하면, S1050 단계에서도 제1 부류(C1: class 1) 또는 제2 부류(C2: class 2)인지를 나타내는 결과를 출력할 수 있을 것이다. In addition, the AI model selection method 1000 based on the input data may further include, after step S240, outputting a result corresponding to the first data by using the selected AI model (S1050). That is, the first data may be input from the selected AI model and a corresponding classification result may be output. Here, at least a class included in the classification result output in step S1050 includes the same class as the classification result output from each of the plurality of AI models mentioned in step S210. Specifically, each of the plurality of AI models mentioned in step S210 recognizes and classifies the object of the input image, and outputs a result indicating whether it is the first class (C1: class 1) or the second class (C2: class 2). Then, in step S1050, a result indicating whether the first class (C1: class 1) or the second class (C2: class 2) may be output may be output.

구체적으로, 선택된 AI 모델로 제1 데이터를 입력하면, 선택된 AI 모델은 제1 데이터를 분석하여 대응되는 분류 결과를 출력하기 위한 신경망 연산을 수행할 수 있다. 예를 들어, 선택된 AI 모델이 도 4에 도시된 분류 연산을 수행하는 AI 모델인 경우, 선택된 AI 모델은 입력된 제1 데이터에 포함되는 객체를 인식 및 분류하여, 분류 결과(예를 들어, 개인지 또는 고양이 인지)를 출력할 수 있을 것이다. Specifically, when the first data is input to the selected AI model, the selected AI model may analyze the first data and perform a neural network operation to output a corresponding classification result. For example, if the selected AI model is an AI model that performs a classification operation shown in FIG. 4, the selected AI model recognizes and classifies the object included in the input first data, and the classification result (e.g., individual Or cat).

전술한 바와 같이, 개시된 실시예는 테스트 대상이 되는 데이터(상기 '제1 데이터')를 오분류할 확률이 가장 작은 AI 모델을 선택 및 이용하여, 출력 결과를 생성함으로써, 출력 결과의 정확도를 증가시킬 수 있다. As described above, the disclosed embodiment increases the accuracy of the output result by selecting and using the AI model with the lowest probability of misclassifying the data to be tested (the'first data'), and generating the output result. I can make it.

도 11은 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 상세하게 나타내는 다른 플로우차트이다. 도 11에 있어서, 도 2a에서와 동일 대응되는 구성은 동일한 도면 기호를 이용하여 도시하였다. 그러므로, 도 11에 도시된 입력 데이터에 근거한 AI 모델 선택 방법(1100)을 설명하는데 있어서, 도 1 내지 도 9에서와 중복되는 설명은 생략한다.11 is another flowchart showing in detail a method of selecting an AI model based on input data according to the disclosed embodiment. In FIG. 11, the same and corresponding configurations as in FIG. 2A are illustrated using the same reference symbols. Therefore, in describing the AI model selection method 1100 based on the input data shown in FIG. 11, descriptions overlapping with those in FIGS. 1 to 9 will be omitted.

S240 단계에 후속하여, 입력 데이터에 근거한 AI 모델 선택 방법(1100)은 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들이 결합되어 형성되는 앙상블(ensemble) AI 모델에서 상기 복수개의 AI 모델들 각각에 적용되는 복수개의 가중치 값들을 조절하는 단계(S1150)를 더 포함할 수 있다. Following step S240, the AI model selection method 1100 based on the input data includes each of the plurality of AI models in an ensemble AI model formed by combining the plurality of AI models based on misclassification probabilities. It may further include adjusting a plurality of weight values applied to (S1150).

여기서, 앙상블 AI 모델은 복수개의 AI 모델들이 결합되어 형성되는 AI 모델을 의미한다. 복수개의 AI 모델들은 직렬 또는 병렬, 또는 직렬 및 병렬 형태의 결합을 통하여 앙상블 AI 모델을 구성할 수 있다. Here, the ensemble AI model means an AI model formed by combining a plurality of AI models. A plurality of AI models may constitute an ensemble AI model through serial or parallel, or a combination of serial and parallel forms.

구체적으로, S1150 단계는 오분류 확률(misclassification probability)이 높으면 적용되는 가중치 값이 작아지도록, 상기 복수개의 AI 모델들 각각에 적용되는 복수개의 가중치 값들을 조절할 수 있다. 구체적으로, 복수개의 AI 모델들 중 오분류 확률이 가장 높은 AI 모델은 가장 작은 가중치 값을 적용함으로써, 앙상블 AI 모델 내에서 오분류 확률이 가장 높은 AI 모델이 출력 데이터 형성에 기여하는 정도가 낮아지도록 할 수 있다. 그에 따라서, 앙상블 AI 모델의 출력 정확도가 높아질 수 있다. Specifically, in step S1150, a plurality of weight values applied to each of the plurality of AI models may be adjusted so that the applied weight value decreases when the misclassification probability is high. Specifically, among the plurality of AI models, the AI model with the highest misclassification probability applies the smallest weight value, so that the AI model with the highest misclassification probability in the ensemble AI model contributes to the formation of output data. can do. Accordingly, the output accuracy of the ensemble AI model can be increased.

예를 들어, S1150 단계는 복수개의 AI 모델들 각각에 대응되는 오분류 확률(misclassification probability)과 복수개의 AI 모델들 각각에 적용되는 가중치 값이 반비례하도록, 상기 복수개의 AI 모델들 각각에 적용되는 복수개의 가중치 값들을 조절할 수 있다. For example, in step S1150, a plurality of AI models applied to each of the plurality of AI models are inversely proportional to a misclassification probability corresponding to each of the plurality of AI models and a weight value applied to each of the plurality of AI models. The weight values of the dogs can be adjusted.

또 다른 예로, S1150 단계는 복수개의 AI 모델들 각각에 대응되는 오분류 확률(misclassification probability)들 중, 일정 한계값 이상이 되는 오분류 확률을 추출하고, 추출된 오분류 확률에 대응되는 AI 모델의 가중치를 0 으로 설정할 수 있을 것이다. 여기서, 가중치 0 값이 적용된 AI 모델은 앙상블 AI 모델 내에서 출력 데이터 형성에 기여하지 못하게 된다. As another example, step S1150 extracts a misclassification probability that is equal to or greater than a certain threshold from among misclassification probabilities corresponding to each of a plurality of AI models, and calculates the AI model corresponding to the extracted misclassification probability. You could set the weight to 0. Here, the AI model to which the weight value of 0 is applied cannot contribute to the formation of output data in the ensemble AI model.

즉, 오분류 확률이 일정 한계값 이상이 되면, 해당 AI 모델은 결과 데이터를 생성하기 위한 AI 연산을 정확하게 수행하지 못하는 것으로 판단할 수 있따. 따라서, 이러한 경우에는 해당 AI 모델이 출력 데이터 형성에 기여하지 못하도록 가중치 값을 0 으로 설정할 수 있을 것이다. That is, if the misclassification probability exceeds a certain threshold, it can be determined that the AI model does not accurately perform the AI operation to generate the result data. Therefore, in this case, the weight value may be set to 0 so that the AI model does not contribute to the formation of the output data.

조절된 가중치 값들을 복수개의 AI 모델들에 적용하고, 적용된 AI 모델들로 앙상블 AI 모델을 구성할 경우, 입력 데이터에 대한 오분류 확률을 낮출 수 있으며 그에 따라서 결과의 정확도를 높일 수 있다. When the adjusted weight values are applied to a plurality of AI models, and the ensemble AI model is composed of the applied AI models, the probability of misclassification of the input data can be lowered and the accuracy of the result can be improved accordingly.

S1150 단계에 후속하여, 입력 데이터에 근거한 AI 모델 선택 방법(1100)은 상기 제1 데이터를 조절된 가중치 값을 갖는 상기 앙상블 AI 모델로 입력하고, 상기 제1 데이터에 대응되는 최종 분류 결과를 출력하는 단계(S1160)을 더 포함할 수 있다. Following step S1150, the AI model selection method 1100 based on input data inputs the first data into the ensemble AI model having an adjusted weight value, and outputs a final classification result corresponding to the first data. It may further include step S1160.

도 1a 내지 도 11을 참조하여 설명한, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법(구체적으로, 200, 1000 또는 1100)은 도 12 내지 도 19를 참조하여 설명할 디스플레이 장치 및 서버 중 적어도 하나를 통하여 수행될 수 있다. 도 12 내지 도 19에 있어서, 동일한 구성은 동일한 도면 기호를 이용하여 도시하였다. The AI model selection method (specifically, 200, 1000, or 1100) based on input data according to the disclosed embodiment described with reference to FIGS. 1A to 11 is at least one of a display device and a server to be described with reference to FIGS. 12 to 19. It can be done through one. In Figs. 12 to 19, the same configuration is illustrated using the same reference numerals.

구체적으로, 도 1a 내지 도 11을 참조하여 설명한, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법(구체적으로, 200, 1000 또는 1100)은 디스플레이 장치를 통하여 수행될 수 있다. Specifically, the AI model selection method (specifically, 200, 1000, or 1100) based on input data according to the disclosed embodiment described with reference to FIGS. 1A to 11 may be performed through a display device.

디스플레이 장치는 휴대폰, 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 태블릿 PC, 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등과 같은 다양한 형태로 구현될 수 있다. 또한, 디스플레이 장치는 고정된 위치에 배치되는 고정형 디스플레이 장치 또는 휴대 가능한 형태를 갖는 이동형 디스플레이 장치일 수 있으며, 디지털 방송 수신이 가능한 디지털 방송 수신기일 수 있다.Display devices include mobile phones, tablet PCs, digital cameras, camcorders, laptop computers, tablet PCs, desktops, e-book terminals, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), navigation systems, and MP3 devices. It can be implemented in various forms such as a player, a wearable device, and the like. In addition, the display device may be a fixed display device disposed at a fixed position or a portable display device having a portable form, and may be a digital broadcast receiver capable of receiving digital broadcasts.

도 12는 개시된 실시예에 따른 디스플레이 장치를 나타내는 일 블록도이다. 12 is a block diagram illustrating a display device according to the disclosed embodiment.

도 12를 참조하면, 디스플레이 장치(1200)는 프로세서(1210) 및 디스플레이(1220)을 포함한다. Referring to FIG. 12, the display device 1200 includes a processor 1210 and a display 1220.

프로세서(1210)는 적어도 하나의 인스트럭션을 실행하여, 이하의 동작들이 수행되도록 제어한다. 구체적으로, 프로세서(12100는 적어도 하나의 인스트럭션을 실행하여, 복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하고, 추가 AI 모델을 상기 오분류 데이터로 학습시켜, 학습된 추가 AI 모델을 획득하며, 상기 학습된 추가 AI 모델로 제1 데이터를 입력하여, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들이 출력되도록 제어하며, 상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택하도록 동작한다. The processor 1210 executes at least one instruction and controls the following operations to be performed. Specifically, when the processor 12100 executes at least one instruction, each of a plurality of AI (Artificial Intelligence) models receives a training data set, classifies it into at least one class, and outputs a result, the learning Misclassified data, which is data corresponding to the misclassified result of the data set, is acquired, and an additional AI model is trained with the misclassified data to obtain a learned additional AI model, and the learned additional AI model is used. Control to output misclassification probabilities for each of the plurality of AI models by inputting first data, and to select any one of the plurality of AI models based on the misclassification probabilities. It works.

프로세서(1210)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP 등과 같은 범용 프로세서, GPU와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다.The processor 1210 may be configured with one or a plurality of processors. In this case, one or more processors may be a general-purpose processor such as a CPU or an AP, a graphics dedicated processor such as a GPU, or an artificial intelligence dedicated processor such as an NPU.

구체적으로, 프로세서(1210)는, 메모리(미도시)에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어할 수 있다. 기정의된 동작 규칙 또는 AI 모델은 학습(training)을 통해 만들어진 것을 특징으로 한다. Specifically, the processor 1210 may control to process input data according to a predefined operation rule or an artificial intelligence model stored in a memory (not shown). A predefined motion rule or AI model is characterized by being created through training.

여기서, 학습을 통해 만들어진다는 것 또는 트레이닝 된다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 발명에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다. Here, being made through learning or being trained means that an artificial intelligence model with a desired characteristic is created by applying a learning algorithm to a plurality of training data. Such learning may be performed in the device itself performing artificial intelligence according to the present invention, or may be performed through a separate server/system.

여기서, 학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨데, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 발명에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다. Here, the learning algorithm is a method in which a predetermined target device (eg, a robot) is trained using a plurality of pieces of learning data so that a predetermined target device can make a decision or make a prediction by itself. Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present invention is specified. It is not limited to the above-described example except for.

구체적으로, 프로세서(1210)는 도 1a을 참조하여 설명한 신경망을 통한 연산을 수행하는 AI 모델을 통하여 입력 데이터에 대응되는 출력 데이터를 생성할 수 있다. 구체적으로, 프로세서(1210)는 전술한 복수개의 AI 모델, 추가 AI 모델 및 앙상블 AI 모델 중 적어도 하나를 통한 연산을 수행할 수 있다. Specifically, the processor 1210 may generate output data corresponding to input data through an AI model that performs an operation through a neural network described with reference to FIG. 1A. Specifically, the processor 1210 may perform an operation through at least one of the aforementioned plurality of AI models, additional AI models, and ensemble AI models.

또한, 프로세서(1210)는 디스플레이 장치(1200)에서 수행되는 동작들을 제어할 수 있으며 소정 동작이 수행되도록 디스플레이 장치(1200) 내에 포함되는 다른 구성들을 제어할 수 있다.Also, the processor 1210 may control operations performed by the display apparatus 1200 and may control other components included in the display apparatus 1200 to perform a predetermined operation.

디스플레이(1220)는 이미지를 출력한다. 구체적으로, 디스플레이(1220)는 비디오 데이터를 사용자가 시각적으로 인식할 수 있도록, 내부적으로 포함되는 디스플레이 패널(미도시)을 통하여, 비디오 데이터에 대응되는 이미지를 출력할 수 있다. 개시된 실시예에서, 디스플레이(1220)는 프로세서(1210)에서 AI 모델을 통하여 생성한 출력 데이터를 포함하는 사용자 인터페이스 화면을 출력할 수 있다. The display 1220 outputs an image. Specifically, the display 1220 may output an image corresponding to the video data through an internally included display panel (not shown) so that the user can visually recognize the video data. In the disclosed embodiment, the display 1220 may output a user interface screen including output data generated by the processor 1210 through the AI model.

도 13은 개시된 실시예에 따른 디스플레이 장치를 구체적으로 나타내는 일 블록도이다. 13 is a block diagram illustrating a display device according to the disclosed embodiment in detail.

도 13을 참조하면, 디스플레이 장치(1300)는 디스플레이 장치(1200)에 비하여 통신부(1330)를 더 포함할 수 있다. Referring to FIG. 13, the display device 1300 may further include a communication unit 1330 compared to the display device 1200.

통신부(1330)는 프로세서(1210)의 제어에 따라서, 적어도 하나의 외부 장치와 통신 네트워크를 통하여 데이터를 송수신할 수 있다. 여기서, 외부 장치는 서버(미도시), 모바일 기기(미도시) 또는 물리적으로 구분되는 전자 장치(미도시)가 될 수 있다.The communication unit 1330 may transmit and receive data through a communication network with at least one external device under the control of the processor 1210. Here, the external device may be a server (not shown), a mobile device (not shown), or a physically classified electronic device (not shown).

구체적으로, 통신부(1330)는 소정의 유선 또는 무선 통신 규격에 따라서 외부 장치와 유선 통신 또는 무선 통신을 수행하는 적어도 하나의 통신 모듈(미도시)을 포함할 수 있다. 구체적으로, 통신부(1330)는 블루투스 통신 모듈, 무선 랜, 및 유선 이더넷 등과 같은 통신 규격에 따라서 무선 통신을 수행하는 통신 모듈을 포함할 수 있다. 여기서, 무선 랜 통신 모듈(미도시)는 와이파이 통신 규격에 따라서 무선 통신을 수행하는 와이파이 통신 모듈(미도시) 등을 포함할 수 있을 것이다.Specifically, the communication unit 1330 may include at least one communication module (not shown) for performing wired or wireless communication with an external device according to a predetermined wired or wireless communication standard. Specifically, the communication unit 1330 may include a communication module that performs wireless communication according to a communication standard such as a Bluetooth communication module, a wireless LAN, and wired Ethernet. Here, the wireless LAN communication module (not shown) may include a Wi-Fi communication module (not shown) for performing wireless communication according to the Wi-Fi communication standard.

이하에서는, 디스플레이 장치(1300)와 통신을 수행하는 외부 장치가 서버인 경우를 예로 들어 설명한다. Hereinafter, a case in which an external device that communicates with the display device 1300 is a server will be described as an example.

도 14는 개시된 실시예에 따른 디스플레이 장치를 구체적으로 나타내는 다른 블록도이다. 14 is another block diagram specifically illustrating a display device according to the disclosed embodiment.

도 14를 참조하면, 디스플레이 장치(1400)는 디스플레이 장치(1300)에 비하여 메모리(1440) 및 사용자 인터페이스(1450) 중 적어도 하나를 더 포함할 수 있다. Referring to FIG. 14, compared to the display device 1300, the display device 1400 may further include at least one of a memory 1440 and a user interface 1450.

메모리(1440)는 적어도 하나의 인스트럭션을 저장할 수 있다. 또한, 메모리(1440)는 프로세서(1210)가 실행하는 적어도 하나의 프로그램을 저장하고 있을 수 있다. 또한, 메모리(1440)는 전술한 AI 모델을 적어도 하나 저장하고 있을 수 있다. 구체적으로, 메모리(1440)는 전술한 복수개의 AI 모델, 추가 AI 모델 및 앙상블 AI 모델 중 적어도 하나를 저장할 수 있다. The memory 1440 may store at least one instruction. Also, the memory 1440 may store at least one program executed by the processor 1210. Also, the memory 1440 may store at least one AI model described above. Specifically, the memory 1440 may store at least one of the aforementioned plurality of AI models, additional AI models, and ensemble AI models.

또한, 메모리(1440)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. In addition, the memory 1440 is a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (eg, SD or XD memory). , RAM (Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, It may include at least one type of storage medium among magnetic disks and optical disks.

사용자 인터페이스(1450)는 디스플레이 장치(1400)를 제어하기 위한 사용자 입력을 수신할 수 있다. 사용자 인터페이스(1450)는 사용자의 터치를 감지하는 터치 패널, 사용자의 푸시 조작을 수신하는 버튼, 사용자의 회전 조작을 수신하는 휠, 키보드(key board), 및 돔 스위치 (dome switch) 등을 포함하는 사용자 입력 디바이스를 포함할 수 있으나 이에 제한되지 않는다.The user interface 1450 may receive a user input for controlling the display device 1400. The user interface 1450 includes a touch panel that senses a user's touch, a button that receives a user's push operation, a wheel that receives a user's rotation operation, a keyboard (key board), and a dome switch. It may include a user input device, but is not limited thereto.

또한, 사용자 인터페이스(1450)는 음성 인식을 위한 음성 인식 장치(미도시)를 포함할 수 있다. 예를 들어, 음성 인식 장치는 마이크가 될 수 있으며, 음성 인식 장치는 사용자의 음성 명령 또는 음성 요청을 수신할 수 있다. 그에 따라서, 프로세서(1210)는 음성 명령 또는 음성 요청에 대응되는 동작이 수행되도록 제어할 수 있다. In addition, the user interface 1450 may include a voice recognition device (not shown) for voice recognition. For example, the voice recognition device may be a microphone, and the voice recognition device may receive a user's voice command or voice request. Accordingly, the processor 1210 may control an operation corresponding to a voice command or voice request to be performed.

또한, 사용자 인터페이스(1450)는 모션 감지 센서(미도시)를 포함할 수도 있다. 예를 들어, 모션 감지 센서(미도시)는 디스플레이 장치(1300)의 움직임을 감지하고, 감지된 움직임을 사용자 입력으로 수신할 수 있다. 또한, 전술한 음성 인식 장치(미도시) 및 모션 감지 센서(미도시)는 사용자 인터페이스(1450) 내에 포함되는 형태가 아니라, 사용자 인터페이스(1450)와는 독립적인 모듈로 디스플레이 장치(1400) 내에 포함될 수 있을 것이다.Further, the user interface 1450 may include a motion detection sensor (not shown). For example, a motion detection sensor (not shown) may detect movement of the display apparatus 1300 and receive the detected movement as a user input. In addition, the above-described speech recognition device (not shown) and motion detection sensor (not shown) may be included in the display device 1400 as modules independent from the user interface 1450, not in a form included in the user interface 1450. There will be.

도 15는 개시된 실시예에 따른 디스플레이 장치를 나타내는 다른 블록도이다. 15 is another block diagram illustrating a display device according to the disclosed embodiment.

디스플레이 장치(1500)는 도 12 내지 도 14를 참조하여 설명한 개시의 실시예에 따른 디스플레이 장치(1200, 1300 또는 1400)에 동일 대응될 수 있다. 또한, 디스플레이 장치(1500)는 도 1a 내지 도 11을 참조하여 설명한 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법은 도 15에 도시된 디스플레이 장치(1500)를 통하여 수행될 수 있다. 그러므로, 디스플레이 장치(1500)를 설명하는데 있어서, 도 1a 내지 도 14에서와 중복되는 설명은 생략한다. The display device 1500 may correspond to the display device 1200, 1300, or 1400 according to the exemplary embodiment described with reference to FIGS. 12 to 14. In addition, the display apparatus 1500 may perform an AI model selection method based on input data according to the disclosed embodiment described with reference to FIGS. 1A through 11 through the display apparatus 1500 shown in FIG. 15. Therefore, in describing the display apparatus 1500, descriptions overlapping with those in FIGS. 1A to 14 will be omitted.

도 15를 참조하면, 디스플레이 장치(1500)는 비디오 처리부(1510), 디스플레이 부(1515), 오디오 처리부(1520), 오디오 출력부(1525), 전원부(1530), 튜너부(1540), 통신부(1550), 감지부(미도시), 입/출력부(1570), 제어부(1580), 메모리(1590)를 포함한다. Referring to FIG. 15, the display apparatus 1500 includes a video processing unit 1510, a display unit 1515, an audio processing unit 1520, an audio output unit 1525, a power supply unit 1530, a tuner unit 1540, and a communication unit ( 1550), a sensing unit (not shown), an input/output unit 1570, a control unit 1580, and a memory 1590.

여기서, 제어부(1580)는 도 12에 도시된 프로세서(1210)에 대응될 수 있다. 디스플레이 장치(1500)의 통신부(1550), 디스플레이 부(1515), 및 메모리(1590)는 각각 도 14에 도시된 통신부(1330), 디스플레이(1220), 및 메모리(1440)에 대응될 수 있다. 따라서, 도 15에 도시된 디스플레이 장치(1500)를 설명하는데 있어서, 전술한 디스플레이 장치(1200, 1300, 또는 1400)의 설명과 중복되는 설명은 생략한다. Here, the controller 1580 may correspond to the processor 1210 shown in FIG. 12. The communication unit 1550, the display unit 1515, and the memory 1590 of the display apparatus 1500 may correspond to the communication unit 1330, the display 1220, and the memory 1440 illustrated in FIG. 14, respectively. Accordingly, in describing the display apparatus 1500 illustrated in FIG. 15, descriptions overlapping with those of the display apparatus 1200, 1300, or 1400 described above will be omitted.

비디오 처리부(1510)는, 디스플레이 장치(1500)가 수신한 비디오 데이터에 대한 처리를 수행한다. 비디오 처리부(1510)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다. The video processing unit 1510 processes video data received by the display apparatus 1500. The video processing unit 1510 may perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, and resolution conversion on video data.

제어부(1580)는 비디오 처리부(1510)에서 처리된 비디오 데이터에 대한 기록 요청을 수신하고, 비디오 데이터를 암호화하여 제어부(1580) 또는 메모리(1590)에 포함되는 메모리 장치(미도시), 예를 들어, RAM(미도시)에 기록되도록 제어할 수 있을 것이다. The controller 1580 receives a request for recording video data processed by the video processing unit 1510, encrypts the video data, and performs a memory device (not shown) included in the controller 1580 or the memory 1590, for example. , It will be possible to control to be written to RAM (not shown).

개시된 실시예에서, 제어부(1580)에 포함되는 적어도 하나의 프로세서(미도시)는 적어도 하나의 인스트럭션을 실행하여, 복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하는 단계(S210), 추가 AI 모델에서 상기 오분류 데이터를 학습하여, 학습된 추가 AI 모델을 획득하는 단계(S220), 상기 학습된 추가 AI 모델로 제1 데이터를 입력하고, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들을 출력하는 단계(S230), 및 상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택하는 단계(S240)에 대응되는 동작들의 실행을 제어할 수 있다. In the disclosed embodiment, at least one processor (not shown) included in the controller 1580 executes at least one instruction, so that each of a plurality of AI (Artificial Intelligence) models receives a training data set and receives at least one class. Obtaining misclassified data, which is data corresponding to a misclassified result among the training data set, when the result is output by classifying it as (class) (S210), learning the misclassified data from an additional AI model Thus, obtaining the learned additional AI model (S220), inputting first data into the learned additional AI model, and outputting misclassification probabilities for each of the plurality of AI models ( S230) and, based on the misclassification probabilities, the execution of operations corresponding to the step S240 of selecting any one of the plurality of AI models may be controlled.

디스플레이 부(1515)는 제어부(1580)의 제어에 의해 튜너부(1540)를 통해 수신된 방송 신호에 포함된 비디오를 화면에 표시한다. 또한, 디스플레이 부(1515)는 통신부(1550) 또는 입/출력부(1570)를 통해 입력되는 컨텐츠(예를 들어, 동영상)를 표시할 수 있다. The display unit 1515 displays a video included in the broadcast signal received through the tuner unit 1540 on the screen under the control of the controller 1580. In addition, the display unit 1515 may display content (eg, video) input through the communication unit 1550 or the input/output unit 1570.

또한, 디스플레이 부(1515)는 제어부(1580)의 제어에 의해 메모리(1590)에 저장된 영상을 출력할 수 있다. 또한, 디스플레이 부(1515)는 음성 인식에 대응되는 음성 인식 태스크를 수행하기 위한 음성 UI(User Interface: 예를 들어, 음성 명령어 가이드를 포함하는) 또는 모션 인식에 대응되는 모션 인식 태스크를 수행하기 위한 모션 UI(예를 들어, 모션 인식을 위한 사용자 모션 가이드를 포함)를 표시할 수 있다. Also, the display unit 1515 may output an image stored in the memory 1590 under the control of the controller 1580. In addition, the display unit 1515 is a voice UI (User Interface: including, for example, a voice command guide) for performing a voice recognition task corresponding to voice recognition or a motion recognition task corresponding to motion recognition. A motion UI (eg, including a user motion guide for motion recognition) may be displayed.

오디오 처리부(1520)는 오디오 데이터에 대한 처리를 수행한다. 오디오 처리부(1520)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다. 한편, 오디오 처리부(1520)는 복수의 컨텐츠에 대응되는 오디오를 처리하기 위해 복수의 오디오 처리 모듈을 구비할 수 있다.The audio processing unit 1520 processes audio data. The audio processing unit 1520 may perform various processing such as decoding, amplification, noise filtering, and the like for audio data. Meanwhile, the audio processing unit 1520 may include a plurality of audio processing modules to process audio corresponding to a plurality of contents.

오디오 출력부(1525)는 제어부(1580)의 제어에 의해 튜너부(1540)를 통해 수신된 방송 신호에 포함된 오디오를 출력한다. 오디오 출력부(1525)는 통신부(1550) 또는 입/출력부(1570)를 통해 입력되는 오디오(예를 들어, 음성, 사운드)를 출력할 수 있다. 또한, 오디오 출력부(1525)는 제어부(1580)의 제어에 의해 메모리(1590)에 저장된 오디오를 출력할 수 있다. 오디오 출력부(1525)는 스피커(1526), 헤드폰 출력 단자(1527) 또는 S/PDIF(Sony/Philips Digital Interface: 출력 단자(1528) 중 적어도 하나를 포함할 수 있다. 오디오 출력부(1525)는 스피커(1526), 헤드폰 출력 단자(1527) 및 S/PDIF 출력 단자(1528)의 조합을 포함할 수 있다. The audio output unit 1525 outputs audio included in the broadcast signal received through the tuner unit 1540 under the control of the controller 1580. The audio output unit 1525 may output audio (eg, voice, sound) input through the communication unit 1550 or the input/output unit 1570. Also, the audio output unit 1525 may output audio stored in the memory 1590 under the control of the controller 1580. The audio output unit 1525 may include at least one of a speaker 1526, a headphone output terminal 1527, or an S/PDIF (Sony/Philips Digital Interface: output terminal 1528). The audio output unit 1525 may include A combination of a speaker 1526, a headphone output terminal 1527, and an S/PDIF output terminal 1528 may be included.

전원부(1530)는 제어부(1580)의 제어에 의해 디스플레이 장치(1500) 내부의 구성 요소들(1510 내지 1590)로 외부의 전원 소스에서부터 입력되는 전원을 공급한다. 또한, 전원부(1530)는 제어부(1580)의 제어에 의해 디스플레이 장치(1500) 내부에 위치하는 하나 또는 둘 이상의 배터리(미도시)에서부터 출력되는 전원을 내부의 구성 요소들(1510 내지 1590)에게 공급할 수 있다. The power supply unit 1530 supplies power input from an external power source to the components 1510 to 1590 inside the display apparatus 1500 under the control of the controller 1580. In addition, the power supply unit 1530 may supply power output from one or more batteries (not shown) located inside the display apparatus 1500 to the internal components 1510 to 1590 under the control of the controller 1580. I can.

튜너부(1540)은 유선 또는 무선으로 수신되는 방송 신호를 증폭(amplification), 혼합(mixing), 공진(resonance)등을 통하여 많은 전파 성분 중에서 디스플레이 장치(1500)에서 수신하고자 하는 채널의 주파수만을 튜닝(tuning)시켜 선택할 수 있다. 방송 신호는 오디오(audio), 비디오(video) 및 부가 정보(예를 들어, EPG(Electronic Program Guide))를 포함한다. The tuner unit 1540 tunes only the frequency of a channel desired to be received by the display apparatus 1500 among many radio components through amplification, mixing, resonance, etc. of a broadcast signal received by wire or wirelessly. It can be selected by (tuning). The broadcast signal includes audio, video, and additional information (eg, Electronic Program Guide (EPG)).

튜너부(1540)는 사용자 입력(예를 들어, 외부의 제어 장치(미도시), 예를 들어, 원격 제어기(remote controller)로부터 수신되는 제어 신호, 예컨대, 채널 번호 입력, 채널의 업다운(up-down) 입력 및 EPG 화면에서 채널 입력)에 따라 채널 번호(예를 들어, 케이블 방송 506번)에 대응되는 주파수 대역에서 방송 신호를 수신할 수 있다. The tuner unit 1540 includes a user input (for example, a control signal received from an external control device (not shown), for example, a remote controller, for example, a channel number input, a channel up-down (up-down)). down) A broadcast signal may be received in a frequency band corresponding to a channel number (eg, cable broadcast No. 506) according to input and channel input from the EPG screen.

튜너부(1540)은 지상파 방송, 케이블 방송, 위성 방송, 인터넷 방송 등과 같이 다양한 소스로부터 방송 신호를 수신할 수 있다. 튜너부(1540)는 아날로그 방송 또는 디지털 방송 등과 같은 소스로부터 방송 신호를 수신할 수 도 있다. 튜너부(1540)를 통해 수신된 방송 신호는 디코딩(decoding, 예를 들어, 오디오 디코딩, 비디오 디코딩 또는 부가 정보 디코딩)되어 오디오, 비디오 및/또는 부가 정보로 분리된다. 분리된 오디오, 비디오 및/또는 부가 정보는 제어부(1580)의 제어에 의해 메모리(1590)에 저장될 수 있다. The tuner unit 1540 may receive broadcast signals from various sources such as terrestrial broadcasting, cable broadcasting, satellite broadcasting, and Internet broadcasting. The tuner unit 1540 may also receive a broadcast signal from a source such as analog broadcast or digital broadcast. The broadcast signal received through the tuner unit 1540 is decoded (eg, audio decoding, video decoding, or additional information decoding) to be separated into audio, video, and/or additional information. The separated audio, video, and/or additional information may be stored in the memory 1590 under the control of the controller 1580.

디스플레이 장치(1500)의 튜너부(1540)는 하나이거나 복수일 수 있다. 일 실시예에 따라서 튜너부(1540)가 복수개로 이루어지는 경우, 디스플레이 부(1515)에 제공되는 멀티윈도우 화면을 이루는 복수개의 윈도우에 복수개의 방송 신호를 출력할 수 있을 것이다. The tuner unit 1540 of the display apparatus 1500 may be one or a plurality. According to an exemplary embodiment, when a plurality of tuner units 1540 is formed, a plurality of broadcast signals may be output to a plurality of windows constituting a multi-window screen provided to the display unit 1515.

튜너부(1540)는 디스플레이 장치(1500)와 일체형(all-in-one)으로 구현되거나 또는 디스플레이 장치(1500)와 전기적으로 연결되는 튜너부를 가지는 별개의 장치(예를 들어, 셋탑박스(set-top box, 미도시), 입/출력부(1570)에 연결되는 튜너부(미도시))로 구현될 수 있다. The tuner unit 1540 is implemented as an all-in-one with the display device 1500 or a separate device having a tuner unit electrically connected to the display device 1500 (for example, a set-top box (set-top box)). It may be implemented as a top box (not shown) or a tuner unit (not shown) connected to the input/output unit 1570).

통신부(1550)는 제어부(1580)의 제어에 의해 디스플레이 장치(1500)를 외부 기기(예를 들어, 오디오 장치 등)와 연결할 수 있다. 제어부(1580)는 통신부(1550)를 통해 연결된 외부 기기로 컨텐츠를 송/수신, 외부 기기에서부터 어플리케이션(application)을 다운로드 하거나 또는 웹 브라우징을 할 수 있다. 구체적으로, 통신부(1550)는 네트워크에 접속하여 외부 기기(미도시)에서 컨텐츠를 수신할 수 있다.The communication unit 1550 may connect the display device 1500 to an external device (eg, an audio device) under the control of the controller 1580. The controller 1580 may transmit/receive content to an external device connected through the communication unit 1550, download an application from the external device, or browse the web. Specifically, the communication unit 1550 may access a network and receive content from an external device (not shown).

전술한 바와 같이 통신부(1550)는 근거리 통신 모듈(미도시), 유선 통신 모듈(미도시), 및 이동 통신 모듈(미도시) 중 적어도 하나를 포함할 수 있다. As described above, the communication unit 1550 may include at least one of a short-range communication module (not shown), a wired communication module (not shown), and a mobile communication module (not shown).

도 15에서는 통신부(1550)가 무선 랜(1551), 블루투스 통신부(1552), 및 유선 이더넷(Ethernet, 1553) 중 하나를 포함하는 경우를 예로 들어 도시하였다. In FIG. 15, a case where the communication unit 1550 includes one of a wireless LAN 1551, a Bluetooth communication unit 1552, and a wired Ethernet (Ethernet, 1553) is illustrated as an example.

또한, 통신부(1550)은 무선랜(1551), 블루투스 통신부(1552), 및 유선 이더넷(Ethernet, 1553) 중 어느 하나 이상을 포함하는 모듈 조합을 포함할 수 있다. 또한, 통신부(1550)는 제어부(1580)의 제어에 의해 제어 장치(미도시)의 제어 신호를 수신할 수 있다. 제어 신호는 블루투스 타입, RF 신호 타입 또는 와이파이 타입으로 구현될 수 있다. Further, the communication unit 1550 may include a module combination including at least one of a wireless LAN 1551, a Bluetooth communication unit 1552, and a wired Ethernet (Ethernet, 1553). Further, the communication unit 1550 may receive a control signal from a control device (not shown) under the control of the controller 1580. The control signal may be implemented in a Bluetooth type, an RF signal type, or a WiFi type.

통신부(1550)는 블루투스 외에 다른 근거리 통신(예를 들어, NFC(near field communication, 미도시), 별도의 BLE 모듈(bluetooth low energy, 미도시)을 더 포함할 수 있다. In addition to Bluetooth, the communication unit 1550 may further include other short-range communication (eg, near field communication (NFC), not shown), and a separate BLE module (bluetooth low energy, not shown).

감지부(미도시)는 사용자의 음성, 사용자의 영상 또는 사용자의 인터랙션을 감지한다. The sensing unit (not shown) detects a user's voice, a user's image, or a user's interaction.

마이크(1561)는 사용자의 발화(utterance)된 음성을 수신한다. 마이크(1561)는 수신된 음성을 전기 신호로 변환하여 제어부(1580)로 출력할 수 있다. 사용자 음성은 예를 들어, 디스플레이 장치(1500)의 메뉴 또는 기능에 대응되는 음성을 포함할 수 있다. 예를 들어, 마이크(1561)의 인식 범위는 마이크(1561)에서부터 사용자 위치까지 4 m 이내를 권장하며, 마이크(1561)의 인식 범위는 사용자 목소리의 크기와 주변 환경(예를 들어, 스피커 소리, 주변 소음)에 대응하여 달라질 수 있다. The microphone 1561 receives a user's uttered voice. The microphone 1561 may convert the received voice into an electric signal and output it to the controller 1580. The user voice may include, for example, a voice corresponding to a menu or function of the display apparatus 1500. For example, the recognition range of the microphone 1561 is recommended to be within 4 m from the microphone 1561 to the user's position, and the recognition range of the microphone 1561 is the size of the user's voice and the surrounding environment (eg, speaker sound, May vary in response to ambient noise).

마이크(1561)는 디스플레이 장치(1500)와 일체형 또는 분리형으로 구현될 수 있다. 분리된 마이크(1561)는 통신부(1550) 또는 입/출력부(1570)를 통해 디스플레이 장치(1500)와 전기적으로 연결될 수 있다. The microphone 1561 may be implemented integrally with the display device 1500 or as a separate type. The separated microphone 1561 may be electrically connected to the display apparatus 1500 through a communication unit 1550 or an input/output unit 1570.

디스플레이 장치(1500)의 성능 및 구조에 따라 마이크(1561)가 제외될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다. It will be readily understood by those of ordinary skill in the art that the microphone 1561 may be excluded depending on the performance and structure of the display device 1500.

카메라부(1562)는 카메라 인식 범위에서 제스처를 포함하는 사용자의 모션에 대응되는 영상(예를 들어, 연속되는 프레임)을 수신한다. 예를 들어, 카메라부(1562)의 인식 범위는 카메라부(1562)에서부터 사용자까지 0.1 ~ 5 m 이내 거리가 될 수 있다. 사용자 모션은 예를 들어, 사용자의 얼굴, 표정, 손, 주먹, 손가락과 같은 사용자의 신체 일부분 또는 사용자 일부분의 모션 등을 포함할 수 있다. 카메라부(1562)는 제어부(1580)의 제어에 따라 수신된 영상을 전기 신호로 변환하여 제어부(1580)로 출력할 수 있다. The camera unit 1562 receives an image (eg, a continuous frame) corresponding to a user's motion including a gesture in the camera recognition range. For example, the recognition range of the camera unit 1562 may be within 0.1 to 5 m from the camera unit 1562 to the user. The user motion may include, for example, a user's face, an expression, a hand, a fist, a user's body part such as a finger, or a motion of a user part. The camera unit 1562 may convert the received image into an electric signal under the control of the controller 1580 and output it to the controller 1580.

제어부(1580)는 수신된 모션의 인식 결과를 이용하여 디스플레이 장치(1500)에 표시되는 메뉴를 선택하거나 모션 인식 결과에 대응되는 제어를 할 수 있다. 예를 들어, 채널 조정, 볼륨 조정, 지시자 이동을 포함할 수 있다. The controller 1580 may select a menu displayed on the display apparatus 1500 using the received motion recognition result or may perform a control corresponding to the motion recognition result. For example, it may include channel adjustment, volume adjustment, and indicator movement.

카메라부(1562)는 렌즈(미도시) 및 이미지 센서(미도시)로 구성될 수 있다. 카메라부(1562)는 복수의 렌즈와 이미지 프로세싱을 이용하여 광학 줌(optical zoom) 또는 디지털 줌(digital zoom)을 지원할 수 있다. 카메라부(1562)의 인식 범위는 카메라의 각도 및 주변 환경 조건에 따라 다양하게 설정될 수 있다. 카메라부(1562)가 복수개의 카메라로 구성되는 경우, 복수의 카메라를 이용하여 3차원 정지 이미지 또는 3차원 모션을 수신할 수 있다. The camera unit 1562 may include a lens (not shown) and an image sensor (not shown). The camera unit 1562 may support optical zoom or digital zoom by using a plurality of lenses and image processing. The recognition range of the camera unit 1562 may be variously set according to the angle of the camera and environmental conditions. When the camera unit 1562 includes a plurality of cameras, a 3D still image or a 3D motion may be received using the plurality of cameras.

카메라부(1562)는 디스플레이 장치(1500)와 일체형 또는 분리형으로 구현될 수 있다. 분리된 카메라부(1562)를 포함하는 별도의 장치(미도시)는 통신부(1550) 또는 입/출력부(1570)를 통해 디스플레이 장치(1500)와 전기적으로 연결될 수 있다. The camera unit 1562 may be implemented integrally with the display device 1500 or as a separate type. A separate device (not shown) including the separated camera unit 1562 may be electrically connected to the display device 1500 through the communication unit 1550 or the input/output unit 1570.

디스플레이 장치(1500)의 성능 및 구조에 따라 카메라부(1562)가 제외될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다. It will be readily understood by those of ordinary skill in the art that the camera unit 1562 may be excluded according to the performance and structure of the display apparatus 1500.

광 수신부(1563)는 외부의 제어 장치(미도시)에서부터 수신되는 광 신호(제어 신호를 포함)를 디스플레이 부(1515)의 베젤의 광창(미도시) 등을 통해 수신한다. 광 수신부(1563)는 제어 장치(미도시)로부터 사용자 입력(예를 들어, 터치, 눌림, 터치 제스처, 음성, 또는 모션)에 대응되는 광 신호를 수신할 수 있다. 수신된 광 신호로부터 제어부(1580)의 제어에 의해 제어 신호가 추출될 수 있다. The light receiving unit 1563 receives an optical signal (including a control signal) received from an external control device (not shown) through a light window (not shown) of the bezel of the display unit 1515. The light receiver 1563 may receive an optical signal corresponding to a user input (eg, touch, depress, touch gesture, voice, or motion) from a control device (not shown). A control signal may be extracted from the received optical signal under control of the controller 1580.

예를 들어, 광 수신부(1563)는 제어 장치(미도시)의 포인팅 위치에 대응하는 신호를 수신하고 이를 제어부(1580)로 전송할 수 있다. 예를 들어, 디스플레이 부(1515)를 통하여 사용자로부터 데이터 또는 명령을 입력받기 위한 사용자 인터페이스 화면이 출력되었으며, 제어 장치(미도시)를 통하여 사용자가 데이터 또는 명령을 디스플레이 장치(1500)로 입력하고자 하는 경우, 광 수신부(1563)는 사용자가 제어 장치(미도시)에 마련된 터치 패드(미도시)에 손가락을 접촉한 상태에서 제어 장치(미도시)를 움직이면 이 제어 장치(미도시)의 움직임에 대응하는 신호를 수신하고 이를 제어부(1580)로 전송할 수 있다. 또한, 광 수신부(1563)는 제어 장치(미도시)에 마련된 특정한 버튼이 눌려졌음을 나타내는 신호를 수신하고 이를 제어부(1580)로 전송할 수 있다. 예를 들어 광수신부(1563)는 사용자가 제어 장치(미도시)에 버튼식으로 마련된 터치 패드(미도시)를 손가락으로 누르면, 이러한 버튼식 터치 패드(미도시)이 눌려졌다는 신호를 수신하고 이를 제어부(1580)로 전송할 수 있다. 예를 들어, 버튼식 터치 패드(미도시)가 눌려졌다는 신호는 아이템들 중의 하나를 선택하기 위한 신호로 이용할 수 있다. For example, the light receiving unit 1563 may receive a signal corresponding to a pointing position of a control device (not shown) and transmit it to the control unit 1580. For example, a user interface screen for receiving data or commands from the user through the display unit 1515 is output, and the user wants to input data or commands to the display device 1500 through a control device (not shown). In this case, the light receiver 1563 responds to the movement of the control device (not shown) when the user moves the control device (not shown) in a state in which a finger is in contact with a touch pad (not shown) provided on the control device (not shown). A signal to be transmitted may be received and transmitted to the controller 1580. Also, the light receiving unit 1563 may receive a signal indicating that a specific button provided in the control device (not shown) has been pressed and transmit the signal to the control unit 1580. For example, when the user presses a touch pad (not shown) provided in a button type on a control device (not shown) with a finger, the light receiving unit 1563 receives a signal indicating that the button type touch pad (not shown) has been pressed, and It can be transmitted to the control unit 1580. For example, a signal indicating that a button type touch pad (not shown) is pressed may be used as a signal for selecting one of the items.

입/출력부(1570)는 제어부(1580)의 제어에 의해 디스플레이 장치(1500)의 외부에서부터 비디오(예를 들어, 동영상 등), 오디오(예를 들어, 음성, 음악 등) 및 부가 정보(예를 들어, EPG 등) 등을 수신한다. 입/출력부(1570)는 HDMI 포트(High-Definition Multimedia Interface port, 1571), 컴포넌트 잭(component jack, 1572), PC 포트(PC port, 1573), 및 USB 포트(USB port, 1574) 중 하나를 포함할 수 있다. 입/출력부(1570)는 HDMI 포트(1571), 컴포넌트 잭(1572), PC 포트(1573), 및 USB 포트(1574)의 조합을 포함할 수 있다. The input/output unit 1570 controls video (eg, video), audio (eg, voice, music, etc.) and additional information (eg, video, etc.) from the outside of the display device 1500 under the control of the controller 1580. For example, EPG, etc.). The input/output unit 1570 is one of an HDMI port (High-Definition Multimedia Interface port, 1571), a component jack (1572), a PC port (PC port, 1573), and a USB port (USB port, 1574). It may include. The input/output unit 1570 may include a combination of an HDMI port 1571, a component jack 1572, a PC port 1573, and a USB port 1574.

입/출력부(1570)의 구성 및 동작은 본 발명의 실시예에 따라 다양하게 구현될 수 있다는 것은 당해 기술 분야의 통상의 지식을 가진 자에게 용이하게 이해될 것이다. It will be easily understood by those of ordinary skill in the art that the configuration and operation of the input/output unit 1570 may be variously implemented according to an embodiment of the present invention.

제어부(1580)는 디스플레이 장치(1500)의 전반적인 동작 및 디스플레이 장치(1500)의 내부 구성요소들(미도시)사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 제어부(1580)는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 제어부(1580)는 메모리(1590)에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다. The controller 1580 controls the overall operation of the display apparatus 1500 and a signal flow between internal components (not shown) of the display apparatus 1500 and processes data. The controller 1580 may execute an OS (Operation System) stored in the memory 1590 and various applications when there is a user input or a preset and stored condition is satisfied.

제어부(1580)는 디스플레이 장치(1500)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 디스플레이 장치(1500)에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 RAM(미도시), 디스플레이 장치(1500)의 제어를 위한 제어 프로그램이 저장된 ROM(미도시) 및 프로세서(Processor)(미도시)를 포함할 수 있다. The controller 1580 stores a signal or data input from the outside of the display device 1500, or a RAM (not shown) used as a storage area corresponding to various operations performed by the display device 1500, and a display device 1500. A control program for controlling) may include a ROM (not shown) and a processor (not shown).

프로세서(미도시)는 비디오에 대응되는 그래픽 처리를 위한 그래픽 프로세서(Graphic Processing Unit, 미도시)를 포함할 수 있다. 프로세서(미도시)는 코어(core, 미도시)와 GPU(미도시)를 통합한 SoC(System On Chip)로 구현될 수 있다. 프로세서(미도시)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. The processor (not shown) may include a graphic processing unit (not shown) for processing graphics corresponding to video. The processor (not shown) may be implemented as a SoC (System On Chip) in which a core (not shown) and a GPU (not shown) are integrated. The processor (not shown) may include a single core, a dual core, a triple core, a quad core, and a multiple of the core.

또한, 프로세서(미도시)는 복수의 프로세서를 포함할 수 있다. 예를 들어, 프로세서(미도시)는 메인 프로세서(main processor, 미도시) 및 슬립 모드(sleep mode)에서 동작하는 서브 프로세서(sub processor, 미도시)로 구현될 수 있다. In addition, the processor (not shown) may include a plurality of processors. For example, the processor (not shown) may be implemented as a main processor (not shown) and a sub processor (not shown) operating in a sleep mode.

그래픽 처리부(미도시)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 연산부는 감지부(미도시)를 통해 감지된 사용자 인터랙션을 이용하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다. 렌더링부에서 생성된 화면은 디스플레이 부(1515)의 디스플레이 영역 내에 표시된다.The graphic processing unit (not shown) generates a screen including various objects such as icons, images, texts, etc. using an operation unit (not shown) and a rendering unit (not shown). The calculation unit calculates attribute values such as coordinate values, shape, size, color, etc. to be displayed for each object according to the layout of the screen by using the user interaction sensed through the detection unit (not shown). The rendering unit generates screens of various layouts including objects based on the attribute values calculated by the calculation unit. The screen generated by the rendering unit is displayed in the display area of the display unit 1515.

도 16은 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법을 수행하기 위한 서버 및 디스플레이 장치를 나타내는 도면이다. 16 is a diagram illustrating a server and a display device for performing an AI model selection method based on input data according to the disclosed embodiment.

도 16을 참조하면, 도 1a 내지 도 11을 참조하여 설명한, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법은 디스플레이 장치(1600) 및 서버(1650)를 통하여 수행될 수 있다. Referring to FIG. 16, the method of selecting an AI model based on input data according to the disclosed embodiment described with reference to FIGS. 1A to 11 may be performed through the display apparatus 1600 and the server 1650.

여기서, 디스플레이 장치(1600)는 도 12 내지 도 15를 참조하여 설명한 개시된 실시예에 따른 디스플레이 장치(1200, 1300, 1400 또는 1500)에 동일 대응될 수 있다. 또한, 디스플레이 장치(1600) 및 서버(1650)는 통신 네트워크(1601)를 통하여 연결될 수 있으며, 디스플레이 장치(1500)는 내부적으로 구비하는 통신부(미도시)(도 13 및 도 14에서 도시된 통신부(1330)를 통하여, 통신 네트워크(1601)에 접속할 수 있다. Here, the display device 1600 may correspond to the display device 1200, 1300, 1400, or 1500 according to the disclosed embodiment described with reference to FIGS. 12 to 15. In addition, the display device 1600 and the server 1650 may be connected through a communication network 1601, and the display device 1500 includes a communication unit (not shown) (not shown) (a communication unit shown in FIGS. 13 and 14). Through 1330, it is possible to access the communication network 1601.

서버(1650)는 신경망에 따른 연산을 수행할 수 있다. 그리고, 디스플레이 장치(1600) 및 서버(1650)는, 신경망에 따른 연산을 수행한 결과, 신경망을 훈련시켜 획득한 AI 모델, AI 모델을 훈련시키기 위해서 필요한 데이터, AI 모델이 결과를 출력하기 위해서 필요한 데이터 등을 송수신할 수 있다. The server 1650 may perform an operation according to a neural network. In addition, the display device 1600 and the server 1650 are, as a result of performing an operation according to the neural network, an AI model obtained by training a neural network, data required to train the AI model, and the AI model required to output the result. Data can be transmitted and received.

도 16에 도시된 디스플레이 장치(1600) 내에 탑재된 AI 모델은 도 9에서 설명한 온 디바이스 AI 모델이 될 수 있으며, 서버(1650) 내에 탑재된 AI 모델은 서버 기반 AI 모델이 될 수 있다. The AI model mounted in the display apparatus 1600 illustrated in FIG. 16 may be the on-device AI model described in FIG. 9, and the AI model mounted in the server 1650 may be a server-based AI model.

디스플레이 장치(1600) 및 서버(1650)에서 수행되는 동작들은 이하에서 도 17 내지 도 19를 참조하여 상세히 설명한다. 도 17 내지 도 19에 있어서, 도 16에서와 동일한 구성은 동일한 도면 기호를 이용하여 도시하였다. Operations performed by the display apparatus 1600 and the server 1650 will be described in detail below with reference to FIGS. 17 to 19. In Figs. 17 to 19, the same configuration as in Fig. 16 is illustrated using the same reference symbols.

도 17은 도 16에 도시된 서버를 구체적으로 나타내는 블록도이다. 17 is a block diagram specifically showing the server illustrated in FIG. 16.

도 17을 참조하면, 일 실시예에 따른 서버(1650)는, DB(1710), 통신부(1720), 및 프로세서(1730)를 포함할 수 있다. 서버(1650)는 개시된 실시예에 따른 디스플레이 장치와 연동하여 동작할 수 있으며, 신경망에 따른 연산을 수행하여 입력 데이터 분석, 객체 인식, 객체 분류, 및 결과 데이터 출력 중 어도 하나의 동작을 수행할 수 있다. Referring to FIG. 17, a server 1650 according to an embodiment may include a DB 1710, a communication unit 1720, and a processor 1730. The server 1650 may operate in conjunction with the display device according to the disclosed embodiment, and may perform any one of input data analysis, object recognition, object classification, and result data output by performing an operation according to a neural network. have.

DB(database)(1710)는 메모리(미도시)를 포함할 수 있으며, 메모리(미도시) 내에 서버(1650)가 소정 동작을 수행하기 위해서 필요한 적어도 하나의 인스트럭션, 프로그램, 데이터 중 적어도 하나를 저장할 수 있다. The DB (database) 1710 may include a memory (not shown), and stores at least one of at least one instruction, program, and data necessary for the server 1650 to perform a predetermined operation in the memory (not shown). I can.

또한, DB(database)(1710)는 서버(1650)가 신경망에 따른 연산을 수행하기 위해서 필요한 데이터들을 저장할 수 있다. 구체적으로, DB(database)(1710)는 AI 모델을 트레이닝 시키기 위해서 필요한 학습 데이터 셋(예를 들어, 도 3의 300)을 저장할 수 있다. 또한, DB(1710)는 복수개의 AI 모델들을 저장할 수 있다. 또한, DB(1710)는 S210 단계에서 획득된 오분류 데이터를 저장할 수 있다. 또한, DB(1710)는 추가 AI 모델을 저장할 수 있으며, 오분류 데이터에 추가 AI 모델을 훈련시켜, 훈련된 추가 AI 모델을 저장할 수 있다. In addition, the database (DB) 1710 may store data necessary for the server 1650 to perform an operation according to a neural network. Specifically, the DB (database) 1710 may store a training data set (eg, 300 in FIG. 3) necessary to train the AI model. In addition, the DB 1710 may store a plurality of AI models. Also, the DB 1710 may store the misclassification data acquired in step S210. In addition, the DB 1710 may store additional AI models, train additional AI models on misclassified data, and store the trained additional AI models.

통신부(1720)는 디스플레이 장치(1600)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 통신부(1720)의 구체적인 구성은, 도 13에서 설명한 통신부(1330)의 구성과 동일 대응되므로, 상세한 설명은 생략한다. The communication unit 1720 may include one or more components that enable communication with the display device 1600. Since the specific configuration of the communication unit 1720 corresponds to the configuration of the communication unit 1330 described in FIG. 13, detailed descriptions are omitted.

프로세서(1730)는 서버(1650)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1730)는, 서버(1650)의 DB(1710)에 저장된 프로그램들을 실행함으로써, DB(1710) 및 통신부(1720) 등을 전반적으로 제어할 수 있다. 프로세서(1730)는 DB(1710)에 저장된 프로그램들을 실행함으로써, 도 1a 내지 도 12에서의 영상 표시 장치(100)의 동작의 일부를 수행할 수 있다.The processor 1730 controls the overall operation of the server 1650. For example, the processor 1730 may generally control the DB 1710 and the communication unit 1720 by executing programs stored in the DB 1710 of the server 1650. The processor 1730 may perform some operations of the image display device 100 in FIGS. 1A to 12 by executing programs stored in the DB 1710.

프로세서(1730)는, AI 모델의 트레이닝, AI 모델의 결과 출력, AI 모델에서 출력되는 결과를 디스플레이 장치(1600)로 전송하기 위해 필요한 동작, 또는 디스플레이 장치(1600)와의 데이터 송수신을 위해서 필요한 동작을 수행할 수 있다. The processor 1730 performs an operation required for training an AI model, outputting a result of the AI model, and transmitting the result output from the AI model to the display device 1600, or an operation required for transmitting and receiving data with the display device 1600. Can be done.

이하에서는, 서버(1650) 및 디스플레이 장치(1600) 내에서 수행되는 동작을, 도 18 및 도 19를 참조하여 상세히 설명한다. 또한, 도 18 및 도 19에 있어서, 도 16 내지 도 17에서와 동일한 구성은 동일한 도면 기호를 이용하여 도시하였다. Hereinafter, operations performed in the server 1650 and the display device 1600 will be described in detail with reference to FIGS. 18 and 19. In addition, in Figs. 18 and 19, the same configuration as in Figs. 16 to 17 is shown using the same reference symbols.

도 18은 서버와 통신하는 디스플레이 장치를 나타내는 블록도이다. 18 is a block diagram illustrating a display device communicating with a server.

도 19는 도 16에 도시된 서버 및 디스플레이 장치에서 수행되는 동작들을 설명하기 위한 도면이다. 구체적으로, 도 19에서는 서버(1650) 내에서 수행되는 동작들과 디스플레이 장치(1600) 내에서 수행되는 동작들을 흐름도를 이용하여 도시하였다. FIG. 19 is a diagram for describing operations performed in the server and display device illustrated in FIG. 16. Specifically, in FIG. 19, operations performed in the server 1650 and operations performed in the display apparatus 1600 are illustrated using a flowchart.

도 18에 있어서, 설명의 편의상 디스플레이 장치(1600) 내에 포함되는 프로세서(1210)를 '제1 프로세서'로 도시하고, 서버(1650) 내에 포함되는 프로세서(1730)를 '제2 프로세서'로 도시하였다. In FIG. 18, for convenience of explanation, the processor 1210 included in the display apparatus 1600 is shown as a'first processor', and the processor 1730 included in the server 1650 is shown as a'second processor'. .

도 18 및 도 19을 참조하면, 도 1a 내지 도 11을 참조하여 설명한 일 또는 다른 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법(200, 1000, 또는 1100)은 디스플레이 장치(1600) 및 서버(1650)를 통하여 수행될 수 있다. 18 and 19, an AI model selection method 200, 1000, or 1100 based on input data according to one or another embodiment described with reference to FIGS. 1A to 11 is a display apparatus 1600 and a server ( 1650).

구체적으로, DB(1710)는 학습 데이터 셋(예를 들어, 도 3에서 도시된, 학습 데이터 셋(300)) 및 복수개의 AI 모델들을 저장하고 있을 수 있다. Specifically, the DB 1710 may store a training data set (eg, the training data set 300 shown in FIG. 3) and a plurality of AI models.

도 18 및 도 19을 참조하면, 제2 프로세서(1730)은 적어도 하나의 인스트럭션을 실행하여, DB(1710)에 저장된 학습 데이터 셋(예를 들어, 300)를 이용하여 복수개의 AI 모델들 각각을 트레이닝한다(S1911). 여기서, S1911 단계의 동작은 도 10에서 설명한 S1005 단계에 동일 대응되므로, 상세한 설명은 생략한다. 그리고, S1911단계의 수행 결과, 제2 프로세서(1730)는 오분류 데이터를 획득할 수 있다(S1912). 여기서, S1912 단계의 동작은 도 2a에서 설명한 S210 단계에 동일 대응되므로, 상세한 설명은 생략한다. 그리고, 획득된 오분류 데이터는 제2 프로세서(1730)의 제어에 따라서 DB(1710)에 저장될 수 있다. 18 and 19, the second processor 1730 executes at least one instruction and uses the training data set (eg, 300) stored in the DB 1710 to each of a plurality of AI models. Train (S1911). Here, since the operation of step S1911 is the same as that of step S1005 described in FIG. 10, detailed descriptions are omitted. Then, as a result of performing step S1911, the second processor 1730 may acquire misclassification data (S1912). Here, since the operation of step S1912 corresponds to the step S210 described in FIG. 2A, a detailed description will be omitted. In addition, the obtained misclassification data may be stored in the DB 1710 under the control of the second processor 1730.

또한, DB(1710)는 추가 AI 모델을 저장하고 있을 수 있다. 여기서, DB(1710)는 트레이닝이 수행되기 이전의 추가 AI 모델 및 트레이닝이 수행된 이후의 추가 AI 모델을 모두 저장하고 있을 수 있다. In addition, the DB 1710 may store an additional AI model. Here, the DB 1710 may store both the additional AI model before the training is performed and the additional AI model after the training is performed.

계속하여, 제2 프로세서(1730)은 적어도 하나의 인스트럭션을 실행하여, DB(1710)에 저장된 오분류 데이터를 이용하여 복수개의 AI 모델들 각각을 트레이닝한다(S1913). 여기서, S1913 단계의 동작은 도 2a에서 설명한 S220 단계에 동일 대응되므로, 상세한 설명은 생략한다. Subsequently, the second processor 1730 executes at least one instruction and trains each of the plurality of AI models by using the misclassification data stored in the DB 1710 (S1913). Here, since the operation of step S1913 corresponds to the step S220 described in FIG. 2A, a detailed description is omitted.

일반적으로, 복수개의 AI 모델들은 매우 다양한 형태로 존재할 수 있으며, 학습 데이터 셋은 트레이닝을 위해서 많은 데이터들의 집합으로 형성되어야 한다. 따라서, 복수개의 AI 모델 및 학습 데이터 셋은 저장 용량이 큰 서버(1650)에서 저장 및 처리되는 것이 바람직하다. 따라서, 복수개의 AI 모델들을 트레이닝 시키는 동작은 디스플레이 장치(1600)와 통신 네트워크(1601)를 통하여 연결되는 서버(1650) 내에서 수행될 수 있다. In general, multiple AI models can exist in a wide variety of forms, and a training data set must be formed as a set of many data for training. Therefore, it is preferable that the plurality of AI models and training data sets are stored and processed in the server 1650 having a large storage capacity. Accordingly, the operation of training a plurality of AI models may be performed in the server 1650 connected to the display apparatus 1600 and the communication network 1601.

디스플레이 장치(1600)는 트레이닝이 완료된 추가 AI 모델을 서버(1650)로부터 수신할 수 있다. 구체적으로, 제1 프로세서(1210)의 제어에 따라서, 통신부(1330)는 서버(1650)의 통신부(1720)를 통하여 S1913 단계에서 트레이닝이 완료된 추가 AI 모델을 수신할 수 있다. 그리고, 제1 프로세서(12100는 수신받은 추가 AI 모델을 메모리(1440)에 저장시킬 수 있다. The display apparatus 1600 may receive an additional AI model for which training has been completed from the server 1650. Specifically, under the control of the first processor 1210, the communication unit 1330 may receive an additional AI model that has been trained in step S1913 through the communication unit 1720 of the server 1650. In addition, the first processor 12100 may store the received additional AI model in the memory 1440.

제1 프로세서(1210)는 추가 AI 모델로 제1 데이터를 입력하여(S1951), 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들을 출력한다(S1952). 여기서, S1952 단계의 동작은 도 2a에서 설명한 S230 단계에 동일 대응되므로, 상세한 설명은 생략한다. The first processor 1210 inputs first data as an additional AI model (S1951), and outputs misclassification probabilities for each of the plurality of AI models (S1952). Here, since the operation of step S1952 corresponds to the step S230 described in FIG. 2A, a detailed description will be omitted.

그리고, 제1 프로세서(1210)는 S1952 단계에서 획득된 오분류 확률들에 근거하여, S1911 단계에서 언급된 복수개의 AI 모델들 중 어느 하나를 선택한다(S1953). 여기서, S1953 단계의 동작은 도 2a에서 설명한 S240 단계에 동일 대응되므로, 상세한 설명은 생략한다.Then, the first processor 1210 selects any one of the plurality of AI models mentioned in step S1911 based on the misclassification probabilities obtained in step S1952 (S1953). Here, since the operation of step S1953 corresponds to the step S240 described in FIG. 2A, a detailed description will be omitted.

계속하여, 제1 프로세서(1210)는 S1953 단계에서 선택된 AI 모델을 이용하여, 제1 데이터에 대응되는 결과를 출력할 수 있다(S1954). 여기서, S1954 단계의 동작은 도 10에서 설명한 S1050 단계에 동일 대응되므로, 상세한 설명은 생략한다. Subsequently, the first processor 1210 may output a result corresponding to the first data by using the AI model selected in step S1953 (S1954). Here, since the operation of step S1954 corresponds to the step S1050 described in FIG. 10, detailed descriptions are omitted.

즉, 도 19에서는, S1911 에서 학습 데이터 셋에 의해서 트레이닝되는 복수개의 AI 모델은 서버 기반 AI 모델이 될 수 있다. 그리고, S1913 단계의 추가 AI 모델 또한, 서버 기반 AI 모델이 될 수 있다. 그리고, S1913 단계에서 트레이닝되어 디스플레이 장치(1600)로 전송되는 추가 AI 모델은, 디스플레이 장치(1600)에서 수신 및 저장된 이후에 온 디바이스 AI 모델로 동작할 수 있다. That is, in FIG. 19, a plurality of AI models trained by the training data set in S1911 may be a server-based AI model. In addition, the additional AI model in the S1913 stage can also be a server-based AI model. The additional AI model trained in step S1913 and transmitted to the display apparatus 1600 may be operated as an on-device AI model after being received and stored by the display apparatus 1600.

일반적으로, 디스플레이 장치(1600)는 메모리 저장 용량, 연산의 처리 속도, 학습 데이터 셋의 수집 능력 등이 서버(1650)에 비하여 제한적일 수 있다. 따라서, 대용량 데이터의 저장 및 대용량의 연산량이 필요한 동작은 서버(1650)에서 수행한 후, 통신 네트워크를 통하여 필요한 데이터 및 AI 모델을 디스플레이 장치(1600)에 전송할 수 있다. 그러면, 디스플레이 장치(1600)는 대용량의 메모리 및 빠른 연산 능력을 갖는 프로세서 없이도, 서버를 통하여 필요한 데이터 및 AI 모델을 수신하여 이용함으로써, 빠르고 용이하게 필요한 동작을 수행할 수 있다. In general, the display apparatus 1600 may have limited memory storage capacity, operation processing speed, and ability to collect a learning data set compared to the server 1650. Accordingly, an operation requiring a large amount of data and a large amount of computation may be performed by the server 1650, and then necessary data and an AI model may be transmitted to the display device 1600 through a communication network. Then, the display apparatus 1600 can perform the required operation quickly and easily by receiving and using the necessary data and the AI model through the server without a processor having a large memory and a fast computation capability.

또한, 도 19에서는, 서버(1650)에서 복수개의 AI 모델들의 트레이닝 동작(S1911), 오분류 데이터 획득 동작(S1912), 추가 AI 모델의 트레이닝 동작(S1913)이 수행되는 경우를 예로 들어 도시하였으나, 서버(1650)는 이에 추가하여 오분류 확률들을 출력하는 동작(S1952), AI 모델을 선택하는 동작(S1953), 및 결과 출력 동작(S1954) 중 적어도 하나를 직접 수행할 수 있다. 그리고, 수행될 결과에 대응되는 데이터를 디스플레이 장치(1600)로 전송할 수 있을 것이다. In addition, FIG. 19 shows an example in which the server 1650 performs the training operation (S1911) of a plurality of AI models, the misclassification data acquisition operation (S1912), and the training operation of the additional AI model (S1913). In addition to this, the server 1650 may directly perform at least one of an operation of outputting misclassification probabilities (S1952), an operation of selecting an AI model (S1953), and an operation of outputting a result (S1954). In addition, data corresponding to the result to be performed may be transmitted to the display apparatus 1600.

또한, 디스플레이 장치(1600)는 오분류 확률들을 출력하는 동작(S1952), AI 모델을 선택하는 동작(S1953), 및 결과 출력 동작(S1954)을 수행하는 경우를 예로 들어 도시하였으나, 디스플레이 장치(1600)는 복수개의 AI 모델들의 트레이닝 동작(S1911), 오분류 데이터 획득 동작(S1912), 및 추가 AI 모델의 트레이닝 동작(S1913) 중 적어도 하나를 직접 수행할 수 있다. In addition, the display apparatus 1600 has been shown as an example of performing an operation of outputting misclassification probabilities (S1952), an operation of selecting an AI model (S1953), and an operation of outputting a result (S1954), but the display apparatus 1600 ) May directly perform at least one of a training operation of a plurality of AI models (S1911), a misclassification data acquisition operation (S1912), and a training operation of an additional AI model (S1913).

디스플레이 장치(1600) 및 서버(1650)의 설계 사양, 데이터 처리 용량, 메모리 용량, 데이터 처리 속도 등에 따라서, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법에 포함되는 동작들이, 디스플레이 장치(1600) 및 서버(1650) 중 어느 장치에서 수행될 지 여부가 결정될 수 있을 것이다. 예를 들어, 대용량 데이터를 이용하며 빠른 데이터 처리가 요구되는 동작은 서버(1650)에서 수행될 수 있으며, 비교적 간단한 연산 동작이나 보안이 요구되는 동작 등은 디스플레이 장치(1600)에서 수행될 수 있을 것이다. Depending on the design specifications, data processing capacity, memory capacity, data processing speed, etc. of the display apparatus 1600 and the server 1650, operations included in the method of selecting an AI model based on input data according to the disclosed embodiment may be performed. ) And the server 1650 may be determined whether or not to be performed. For example, operations that use large amounts of data and require fast data processing may be performed by the server 1650, and relatively simple operation operations or operations requiring security may be performed by the display device 1600. .

본 개시의 일 또는 다른 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 또한, 본 개시의 실시예는, 입력 데이터에 근거한 AI 모델 선택 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체로 형성될 수 있다. The AI model selection method based on input data according to one or another embodiment of the present disclosure may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. In addition, an embodiment of the present disclosure may be formed as a computer-readable recording medium in which one or more programs including instructions for executing an AI model selection method based on input data are recorded.

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

또한, 개시된 실시예에 따른 입력 데이터에 근거한 AI 모델 선택 방법은 다중언어로 구성된 문장을 획득하는 동작; 및 다중언어 번역 모델을 이용하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하고, 상기 획득한 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환하며, 상기 변환된 벡터 값들에 기초하여, 상기 목표 언어로 구성된 문장을 획득하는 동작을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 제품으로 구현될 수 있다. In addition, the method for selecting an AI model based on input data according to the disclosed embodiment includes: obtaining a sentence composed of multiple languages; And using a multilingual translation model, obtaining vector values corresponding to each of the words included in the sentence composed of the multilingual, converting the obtained vector values into vector values corresponding to the target language, and the converted It may be implemented as a computer program product including a recording medium in which a program for performing an operation of obtaining a sentence composed of the target language based on vector values is stored.

이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.Although the embodiments have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also the scope of the present invention. Belongs to.

1200, 1300, 1400, 1500: 디스플레이 장치
1210: 프로세서
1220: 디스플레이
1330: 통신부
1440: 메모리
1450: 사용자 인터페이스
1200, 1300, 1400, 1500: display device
1210: processor
1220: display
1330: Ministry of Communications
1440: memory
1450: user interface

Claims (20)

복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하는 단계;
추가 AI 모델에서 상기 오분류 데이터를 학습하여, 학습된 추가 AI 모델을 획득하는 단계;
상기 학습된 추가 AI 모델로 제1 데이터가 입력되면, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들을 출력하는 단계; 및
상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택하는 단계를 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
When each of a plurality of AI (Artificial Intelligence) models receives a training data set, classifies it into at least one class, and outputs the result, the data corresponding to the misclassified result of the training data set Obtaining misclassified data;
Learning the misclassified data from an additional AI model to obtain a learned additional AI model;
Outputting misclassification probabilities for each of the plurality of AI models when first data is input to the learned additional AI model; And
And selecting any one of the plurality of AI models based on the misclassification probabilities.
제1항에 있어서, 상기 선택하는 단계는
상기 복수개의 AI 모델들 중, 상기 오분류 확률들 중 가장 작은 값을 가지는 오분류 확률에 대응되는 모델을 선택하는 단계를 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1, wherein the selecting step
And selecting a model corresponding to a misclassification probability having the smallest value among the misclassification probabilities among the plurality of AI models.
제1항에 있어서, 상기 학습하는 단계는
상기 오분류 데이터를 입력받은 추가 AI 모델에서, 상기 오분류 데이터가 상기 복수개의 AI 모델들 중 어느 모델에서 분류된 데이터인지를 학습하는 단계; 및
상기 학습된 추가 AI 모델을 획득하는 단계를 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1, wherein the learning step
Learning from which of the plurality of AI models the misclassified data is classified data from an additional AI model receiving the misclassified data; And
Comprising the step of obtaining the learned additional AI model, AI model selection method based on input data.
제3항에 있어서, 상기 학습하는 단계는
상기 오분류 데이터를 입력받은 상기 추가 AI 모델이, 상기 복수개의 AI 모델들 각각에 의해서 학습되지 못하는 데이터의 특성 및 데이터의 분포(distribution)를 학습하는 단계를 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 3, wherein the learning step
AI model selection based on input data, including the step of learning, by the additional AI model receiving the misclassification data, characteristics of data that cannot be learned by each of the plurality of AI models and distribution of data Way.
제1항에 있어서,
상기 선택된 AI 모델에서, 제1 데이터를 입력받아 상기 적어도 하나의 부류로 분류한 결과를 출력하는 단계를 더 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1,
The method of selecting an AI model based on input data, further comprising the step of receiving first data from the selected AI model and outputting a result of classifying it into the at least one category.
제1항에 있어서, 상기 추가 AI 모델은
상기 복수개의 AI 모델들과 다른 AI 모델인, AI 모델을 이용한 데이터 처리 방법.
The method of claim 1, wherein the additional AI model
Data processing method using an AI model, which is an AI model different from the plurality of AI models.
제1항에 있어서, 상기 오분류 확률은
상기 복수개의 AI 모델들 각각이 입력받은 데이터를 올바르지 못하게 분류할 확률을 나타내는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1, wherein the misclassification probability is
An AI model selection method based on input data indicating a probability that each of the plurality of AI models incorrectly classifies the input data.
제1항에 있어서, 상기 오분류 데이터를 획득하는 단계는
상기 복수개의 AI 모델들 각각에서 상기 학습 데이터 셋을 입력받고, 상기 학습 데이터 셋을 상기 적어도 하나의 부류로 분류하여 상기 결과를 출력하는 단계; 및
상기 학습 데이터 셋 중, 상기 결과가 잘못된 값을 가지는 데이터인 상기 오분류 데이터를 획득하는 단계를 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1, wherein obtaining the misclassification data
Receiving the training data set from each of the plurality of AI models, classifying the training data set into the at least one class, and outputting the result; And
A method for selecting an AI model based on input data, comprising the step of acquiring the misclassified data, which is data having an incorrect value among the training data sets.
제1항에 있어서, 상기 복수개의 AI 모델은
하이퍼 파라미터(hyper-parameter), 모델의 구조(architecture), 학습 기법(training technique), 및 트레이닝을 위하여 입력되는 데이터 셋 중 적어도 하나가 서로 다르게 형성되는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1, wherein the plurality of AI models
A method of selecting an AI model based on input data in which at least one of a hyper-parameter, a model structure, a training technique, and a data set input for training is formed differently.
제1항에 있어서,
상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들이 결합되어 형성되는 앙상블(ensemble) AI 모델에서 상기 복수개의 AI 모델들 각각에 적용되는 복수개의 가중치 값들을 조절하는 단계를 더 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1,
The input further comprising adjusting a plurality of weight values applied to each of the plurality of AI models in an ensemble AI model formed by combining the plurality of AI models based on the misclassification probabilities How to choose an AI model based on data.
제10항에 있어서, 상기 복수개의 가중치 값들을 조절하는 단계는
오분류 확률(misclassification probability)이 높으면 적용되는 가중치 값이 작아지도록, 상기 복수개의 AI 모델들 각각에 적용되는 복수개의 가중치 값들을 조절하는 단계를 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 10, wherein adjusting the plurality of weight values
A method for selecting an AI model based on input data, comprising adjusting a plurality of weight values applied to each of the plurality of AI models so that an applied weight value decreases when the misclassification probability is high.
제10항에 있어서,
상기 제1 데이터를 상기 앙상블 AI 모델로 입력하고, 상기 제1 데이터에 대응되는 최종 분류 결과를 출력하는 단계를 더 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 10,
The method of selecting an AI model based on the input data, further comprising inputting the first data into the ensemble AI model and outputting a final classification result corresponding to the first data.
제1항에 있어서, 상기 복수개의 AI 모델들은
복수개의 AI가 결합되어 형성되는 앙상블(ensemble) AI 모델을 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1, wherein the plurality of AI models
AI model selection method based on input data, including an ensemble AI model formed by combining a plurality of AIs.
제1항에 있어서, 상기 복수개의 AI 모델들은
적어도 하나의 온 디바이스(On-device) AI 모델 및 적어도 하나의 서버 기반(Server based) AI 모델을 포함하는, 입력 데이터에 근거한 AI 모델 선택 방법.
The method of claim 1, wherein the plurality of AI models
AI model selection method based on input data, including at least one on-device AI model and at least one server based AI model.
디스플레이; 및
적어도 하나의 인스트럭션을 실행하여,
복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하고, 추가 AI 모델을 상기 오분류 데이터로 학습시켜, 학습된 추가 AI 모델을 획득하며, 상기 학습된 추가 AI 모델로 제1 데이터가 입력되면, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들이 출력되도록 제어하며, 상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택하는 프로세서를 포함하는 디스플레이 장치.
display; And
By executing at least one instruction,
When each of a plurality of AI (Artificial Intelligence) models receives a training data set, classifies it into at least one class, and outputs the result, the data corresponding to the misclassified result of the training data set Misclassified data is acquired, and an additional AI model is trained as the misclassified data to obtain a learned additional AI model, and when first data is input as the learned additional AI model, each of the plurality of AI models A display apparatus comprising a processor that controls to output misclassification probabilities for the output, and selects any one of the plurality of AI models based on the misclassification probabilities.
제15항에 있어서, 상기 프로세서는
상기 복수개의 AI 모델들 중, 상기 오분류 확률들 중 가장 작은 값을 가지는 오분류 확률에 대응되는 모델을 선택하는, 디스플레이 장치.
The method of claim 15, wherein the processor
A display device for selecting a model corresponding to a misclassification probability having a smallest value among the misclassification probabilities among the plurality of AI models.
제15항에 있어서, 상기 프로세서는
상기 오분류 데이터를 입력받은 추가 AI 모델에서, 상기 오분류 데이터가 상기 복수개의 AI 모델들 중 어느 모델에서 분류된 데이터인지 학습하도록 제어하는, 디스플레이 장치.
The method of claim 15, wherein the processor
In the additional AI model receiving the misclassification data, controlling to learn from which model the misclassified data is data classified from among the plurality of AI models.
제15항에 있어서, 상기 프로세서는
상기 복수개의 AI 모델들 각각으로 상기 학습 데이터 셋을 입력하여, 상기 학습 데이터 셋을 상기 적어도 하나의 부류로 분류한 상기 결과가 출력되도록 제어하는, 디스플레이 장치.
The method of claim 15, wherein the processor
The display device, wherein the training data set is input to each of the plurality of AI models, and the result obtained by classifying the training data set into the at least one class is output.
제15항에 있어서,
서버와 통신하는 통신부를 더 포함하며,
상기 프로세서는
상기 통신부를 통하여 상기 서버로부터 상기 오분류 데이터가 수신되도록 제어하는, 디스플레이 장치.
The method of claim 15,
Further comprising a communication unit in communication with the server,
The processor is
Controlling the misclassification data to be received from the server through the communication unit.
컴퓨터로 읽을 수 있는 기록 매체에 있어서,
복수개의 AI(Artificial Intelligence) 모델들 각각이 학습 데이터 셋을 입력받아 적어도 하나의 부류(class)로 분류하여 결과를 출력할 때, 상기 학습 데이터 셋 중 오분류된(misclassified) 결과에 대응되는 데이터인 오분류 데이터를 획득하는 동작;
추가 AI 모델에서 상기 오분류 데이터를 학습하여, 학습된 추가 AI 모델을 획득하는 동작;
상기 학습된 추가 AI 모델로 제1 데이터를 입력하고, 상기 복수개의 AI 모델들 각각에 대한 오분류 확률(misclassification probability)들을 출력하는 동작; 및
상기 오분류 확률들에 근거하여, 상기 복수개의 AI 모델들 중 어느 하나를 선택하는 동작을 수행하도록 하는 프로그램이 저장된 기록 매체.
In a computer-readable recording medium,
When each of a plurality of AI (Artificial Intelligence) models receives a training data set, classifies it into at least one class, and outputs a result, data corresponding to a misclassified result of the training data set Obtaining misclassified data;
Learning the misclassified data from an additional AI model to obtain a learned additional AI model;
Inputting first data into the learned additional AI model and outputting misclassification probabilities for each of the plurality of AI models; And
A recording medium storing a program for performing an operation of selecting any one of the plurality of AI models based on the misclassification probabilities.
KR1020190069556A 2019-06-12 2019-06-12 Method for selecting artificial intelligience model based on input data and disaply apparatus for performing the same method thereof KR20200142374A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190069556A KR20200142374A (en) 2019-06-12 2019-06-12 Method for selecting artificial intelligience model based on input data and disaply apparatus for performing the same method thereof
EP20179542.4A EP3751469A1 (en) 2019-06-12 2020-06-11 Selecting artificial intelligence model based on input data
PCT/KR2020/007607 WO2020251283A1 (en) 2019-06-12 2020-06-11 Selecting artificial intelligence model based on input data
US16/899,841 US11676016B2 (en) 2019-06-12 2020-06-12 Selecting artificial intelligence model based on input data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190069556A KR20200142374A (en) 2019-06-12 2019-06-12 Method for selecting artificial intelligience model based on input data and disaply apparatus for performing the same method thereof

Publications (1)

Publication Number Publication Date
KR20200142374A true KR20200142374A (en) 2020-12-22

Family

ID=71092443

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190069556A KR20200142374A (en) 2019-06-12 2019-06-12 Method for selecting artificial intelligience model based on input data and disaply apparatus for performing the same method thereof

Country Status (4)

Country Link
US (1) US11676016B2 (en)
EP (1) EP3751469A1 (en)
KR (1) KR20200142374A (en)
WO (1) WO2020251283A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200098904A (en) * 2019-02-13 2020-08-21 아주대학교산학협력단 Apparatus And Method For Generating Learning Model
WO2022158692A1 (en) * 2021-01-21 2022-07-28 삼성전자 주식회사 Electronic device for identifying force touch and method for operating same
WO2022181869A1 (en) * 2021-02-23 2022-09-01 삼성전자주식회사 Device and method using machine learning model shared among multiple applications
KR20230107440A (en) * 2022-01-07 2023-07-17 한신대학교 산학협력단 System for artificial intelligence of things
US11977699B2 (en) 2021-04-19 2024-05-07 Samsung Electronics Co., Ltd. Electronic device and operating method of the same

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111401138B (en) * 2020-02-24 2023-11-07 上海理工大学 Countermeasure optimization method for generating countermeasure neural network training process
US11556647B2 (en) * 2020-03-30 2023-01-17 Bae Systems Information And Electronic Systems Integration Inc. System for detecting trojans in an artificial network and method therof
US20240086766A1 (en) * 2021-01-29 2024-03-14 Telefonaktiebolaget Lm Ericsson (Publ) Candidate machine learning model identification and selection
KR20220155834A (en) * 2021-05-17 2022-11-24 현대자동차주식회사 Method of AI-Based Diagnostic Technology Automation For Application To Equipment
US20220398055A1 (en) * 2021-06-11 2022-12-15 The Procter & Gamble Company Artificial intelligence based multi-application systems and methods for predicting user-specific events and/or characteristics and generating user-specific recommendations based on app usage
CN115472287A (en) 2021-06-11 2022-12-13 宝洁公司 Digital imaging analysis of biological features detected in physical media
US11875468B2 (en) 2021-06-29 2024-01-16 The Procter & Gamble Company Three-dimensional (3D) image modeling systems and methods for determining respective mid-section dimensions of individuals
KR20230011817A (en) * 2021-07-14 2023-01-25 한국전자통신연구원 Apparatus and Method for Object Recognition based on Environment Matching
CN116805037A (en) * 2023-08-28 2023-09-26 深圳联友科技有限公司 Energy consumption prediction method and system based on data analysis

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL188726A (en) 2008-01-10 2013-05-30 Deutsche Telekom Ag Stacking schema for classification tasks
US8634638B2 (en) * 2008-06-20 2014-01-21 Sri International Real-time action detection and classification
US8595153B2 (en) 2010-06-09 2013-11-26 Microsoft Corporation Exploring data using multiple machine-learning models
US8515127B2 (en) * 2010-07-28 2013-08-20 International Business Machines Corporation Multispectral detection of personal attributes for video surveillance
US9607246B2 (en) * 2012-07-30 2017-03-28 The Trustees Of Columbia University In The City Of New York High accuracy learning by boosting weak learners
US9436875B2 (en) * 2012-12-06 2016-09-06 Nokia Technologies Oy Method and apparatus for semantic extraction and video remix creation
US9171259B1 (en) * 2015-01-12 2015-10-27 Bank Of America Corporation Enhancing classification and prediction using predictive modeling
US9785866B2 (en) 2015-01-22 2017-10-10 Microsoft Technology Licensing, Llc Optimizing multi-class multimedia data classification using negative data
US20160335432A1 (en) 2015-05-17 2016-11-17 Bitdefender IPR Management Ltd. Cascading Classifiers For Computer Security Applications
EP3136289A1 (en) 2015-08-28 2017-03-01 Thomson Licensing Method and device for classifying an object of an image and corresponding computer program product and computer-readable medium
JP6555015B2 (en) * 2015-08-31 2019-08-07 富士通株式会社 Machine learning management program, machine learning management apparatus, and machine learning management method
US10528889B2 (en) 2016-03-25 2020-01-07 Futurewei Technologies, Inc. Stereoscopic learning for classification
US20180075368A1 (en) 2016-09-12 2018-03-15 International Business Machines Corporation System and Method of Advising Human Verification of Often-Confused Class Predictions
CN108133222B (en) * 2016-12-01 2021-11-02 富士通株式会社 Apparatus and method for determining a Convolutional Neural Network (CNN) model for a database
US10733530B2 (en) * 2016-12-08 2020-08-04 Resurgo, Llc Machine learning model evaluation in cyber defense
US20180225391A1 (en) * 2017-02-06 2018-08-09 Neural Algorithms Ltd. System and method for automatic data modelling
CN107578100B (en) * 2017-08-31 2019-08-16 江苏康缘药业股份有限公司 A kind of the result feedback method and device of Kernel-based methods parameter
US11720813B2 (en) * 2017-09-29 2023-08-08 Oracle International Corporation Machine learning platform for dynamic model selection
US11257002B2 (en) * 2017-11-22 2022-02-22 Amazon Technologies, Inc. Dynamic accuracy-based deployment and monitoring of machine learning models in provider networks

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200098904A (en) * 2019-02-13 2020-08-21 아주대학교산학협력단 Apparatus And Method For Generating Learning Model
WO2022158692A1 (en) * 2021-01-21 2022-07-28 삼성전자 주식회사 Electronic device for identifying force touch and method for operating same
WO2022181869A1 (en) * 2021-02-23 2022-09-01 삼성전자주식회사 Device and method using machine learning model shared among multiple applications
US11977699B2 (en) 2021-04-19 2024-05-07 Samsung Electronics Co., Ltd. Electronic device and operating method of the same
KR20230107440A (en) * 2022-01-07 2023-07-17 한신대학교 산학협력단 System for artificial intelligence of things

Also Published As

Publication number Publication date
WO2020251283A1 (en) 2020-12-17
US20200394451A1 (en) 2020-12-17
EP3751469A1 (en) 2020-12-16
US11676016B2 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
EP3751469A1 (en) Selecting artificial intelligence model based on input data
US11170201B2 (en) Method and apparatus for recognizing object
KR102428920B1 (en) Image display device and operating method for the same
US11507851B2 (en) System and method of integrating databases based on knowledge graph
KR20200042739A (en) System and method for providing content based on knowledge graph
EP3690644B1 (en) Electronic device and operation method therefor
KR20200063290A (en) Electronic apparatus for recognizing an audio scene and method for the same
KR102606287B1 (en) Device and method for providing translation information of application
US10521723B2 (en) Electronic apparatus, method of providing guide and non-transitory computer readable recording medium
KR20180055708A (en) Device and method for image processing
KR20200092465A (en) Method for recommending contents and electronic device therefor
US11514150B2 (en) Video display device and operating method therefor
US20220045776A1 (en) Computing device and operating method therefor
US11895375B2 (en) Display device and operation method thereof
KR20220000758A (en) Image detection apparatus and method thereof
US20190163702A1 (en) Image display apparatus and method of operating the same
KR20200085143A (en) Conversational control system and method for registering external apparatus
EP3671486B1 (en) Display apparatus and control method thereof
KR102579452B1 (en) Image display device and operating method for the same
KR20180075227A (en) ElECTRONIC DEVICE AND METHOD THEREOF FOR PROVIDING RETRIEVAL SERVICE
KR102464907B1 (en) Electronic apparatus and operating method for the same
KR102417046B1 (en) Device and method for providing recommended words for character input from user
KR20200036092A (en) Electronic apparatus and control method thereof
US20230213896A1 (en) Electronic device and operating method thereof
KR20230103577A (en) Electronic apparatus and operating method for the electronic apparatus