WO2021040192A1 - 인공지능 모델을 학습시키는 시스템 및 방법 - Google Patents

인공지능 모델을 학습시키는 시스템 및 방법 Download PDF

Info

Publication number
WO2021040192A1
WO2021040192A1 PCT/KR2020/006689 KR2020006689W WO2021040192A1 WO 2021040192 A1 WO2021040192 A1 WO 2021040192A1 KR 2020006689 W KR2020006689 W KR 2020006689W WO 2021040192 A1 WO2021040192 A1 WO 2021040192A1
Authority
WO
WIPO (PCT)
Prior art keywords
data points
artificial intelligence
intelligence model
candidate data
data point
Prior art date
Application number
PCT/KR2020/006689
Other languages
English (en)
French (fr)
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 삼성전자 주식회사
Publication of WO2021040192A1 publication Critical patent/WO2021040192A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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

Definitions

  • the present disclosure relates to a system and method for training an artificial intelligence model, and more particularly, to an electronic device and method for training an artificial intelligence model using unlabeled data points.
  • the artificial intelligence (AI) system is a computer system that implements human-level intelligence, and unlike the existing rule-based smart system, the machine learns, judges, and becomes smarter by itself. As artificial intelligence systems are used, their recognition rate improves and users' tastes can be understood more accurately, and existing rule-based smart systems are gradually being replaced by deep learning-based artificial intelligence systems.
  • Machine learning Deep learning
  • component technologies using machine learning.
  • Machine learning is an algorithm technology that classifies/learns the features of input data by itself
  • element technology is a technology that simulates functions such as cognition and judgment of the human brain using machine learning algorithms such as deep learning. It consists of technical fields such as understanding, reasoning/prediction, knowledge expression, and motion control.
  • Active Learning is a method of machine learning that allows you to query external sources such as users for unlabeled data.
  • Various embodiments may provide a system and method for efficiently training an artificial intelligence model using unlabeled data points.
  • various embodiments may provide an improved system and method for selecting data points to be labeled from among unlabeled data points in order to efficiently train an artificial intelligence model.
  • various embodiments may provide an improved system and method for labeling data based on a user's input and learning an artificial intelligence model using the labeled data points in order to efficiently train an artificial intelligence model.
  • a first aspect of the present disclosure is to obtain, from a dataset including a plurality of data points, data points in which a label indicating the attribute of the data point is not labeled. step; Selecting a predetermined number of candidate data points from among the unlabeled data points; Outputting an input request for labeling the selected candidate data points together; Obtaining labeled candidate data points by labeling the selected candidate data points based on a user input in response to the input request; And updating the artificial intelligence model using the labeled candidate data points.
  • the electronic device may provide a method for learning an artificial intelligence model.
  • a second aspect of the present disclosure includes a memory for storing one or more instructions; And a processor that executes the one or more instructions. Including, wherein the processor by executing the one or more instructions, obtaining data points that are not labeled (labeled) a label indicating the attribute of the data point from a dataset including a plurality of data points, and the unlabeled Among the data points, a predetermined number of candidate data points are selected, an input request for labeling the selected candidate data points together is output, and the selected candidate data points are selected based on a user input in response to the input request. It is possible to provide an electronic device for learning an artificial intelligence model, which acquires labeled candidate data points by labeling and updates the artificial intelligence model using the labeled candidate data points.
  • a third aspect of the present disclosure may provide a computer-readable recording medium in which a program for performing the method of the first aspect on a computer is stored.
  • candidate data points capable of efficiently updating an artificial intelligence model may be collectively selected and labeled.
  • the artificial intelligence model may be updated by collectively using data points labeled based on a user's input.
  • FIG. 1 is a schematic diagram of a system for training an artificial intelligence model according to an embodiment.
  • FIG. 2 is a block diagram of an apparatus for training an artificial intelligence model using unlabeled data points, according to an exemplary embodiment.
  • FIG. 3 is a flowchart of a method of training an artificial intelligence model using unlabeled data points, according to an exemplary embodiment.
  • FIG. 4 is a flowchart of a method of selecting a predetermined number of candidate data points among unlabeled data points, according to an exemplary embodiment.
  • FIG. 5 is a flowchart of a method of selecting a predetermined number of data point vectors from among data point vectors, according to an exemplary embodiment.
  • 6A to 6F are diagrams illustrating a method of selecting a predetermined number of data point vectors from among data point vectors, according to an exemplary embodiment.
  • FIG. 7 is a block diagram of an apparatus for training an artificial intelligence model using unlabeled data points, according to an exemplary embodiment.
  • FIG. 8 is a flowchart of a method of training an artificial intelligence model using unlabeled data points, according to an exemplary embodiment.
  • FIG. 9 is a block diagram of an electronic device according to an embodiment.
  • the processor may be composed of one or a plurality of processors.
  • one or more processors may be a general-purpose processor such as a CPU, AP, or Digital Signal Processor (DSP), a graphics-only processor such as a GPU, a Vision Processing Unit (VPU), or an artificial intelligence-only processor such as an NPU.
  • DSP Digital Signal Processor
  • GPU GPU
  • VPU Vision Processing Unit
  • One or more processors may control to process input data according to a predefined operation rule or an artificial intelligence model stored in the memory.
  • the AI dedicated processor may be designed with a hardware structure specialized for processing a specific AI model.
  • a predefined motion rule or an artificial intelligence model can be created through learning.
  • learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined motion rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created. Means Jim.
  • Such learning may be performed in a device on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system. Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the above-described examples.
  • the artificial intelligence model may be composed of a plurality of neural network layers.
  • Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation may be performed through an operation result of a previous layer and a plurality of weights.
  • the plurality of weights of the plurality of neural network layers can be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated to reduce or minimize a loss value or a cost value obtained from the artificial intelligence model during the learning process.
  • the artificial neural network may include a deep neural network (DNN), for example, 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), Deep Q-Networks (Deep Q-Networks), and the like, but is not limited to the above-described example.
  • DNN deep neural network
  • 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
  • Deep Q-Networks Deep Q-Networks
  • FIG. 1 is a schematic diagram of a system for training an artificial intelligence model according to an embodiment.
  • a system for training the artificial intelligence model may include an electronic device 1000 and a user interface 3000.
  • the electronic device 1000 may be a device for learning the artificial intelligence model 1010 using the dataset 2000.
  • the electronic device 1000 may include an artificial intelligence model 1010 and a learning unit 1050 that trains the artificial intelligence model.
  • the dataset 2000 may be a set of data including a plurality of data points.
  • Data points refer to individual data (datums) that make up a dataset.
  • the data points may include or correspond to statistical data, text, audio, images, video, and the like.
  • the data point may include raw data.
  • the data point may include information indicating characteristics of data obtained by preprocessing raw data.
  • the dataset 2000 may be stored in a memory or storage in the electronic device 1000. Alternatively, the dataset 2000 may be stored in a storage device external to the electronic device 1000.
  • Each data point may include one or more labels.
  • Labels may be meaningful information related to data points in general.
  • the label may indicate or define an attribute of a data point.
  • the label may be information included in the data point or information associated with the data point.
  • the label may be a result of classifying data points or evaluating them according to criteria.
  • the label may be a result of performing inference or prediction based on data points.
  • any meaningful information related to the data point may be assigned as a label.
  • Labeling refers to the assignment of labels to data points. Labeled data points may be represented by an ordered pair of data points and labels.
  • the label may indicate an explicit target value that the artificial intelligence model 1010 should derive from a data point.
  • the artificial intelligence model 1010 may learn labeled data points.
  • the learned artificial intelligence model 1010 may receive an unlabeled data point and output a target value, that is, a label for each data point.
  • the dataset 2000 may include a plurality of labeled data points and a plurality of unlabeled data points.
  • the dataset 2000 may be provided to the learning unit 1050 in order for the learning unit 1050 to learn the artificial intelligence model 1010.
  • the dataset 2000 may be provided to the artificial intelligence model 1010 so that the artificial intelligence model 1010 performs an operation and outputs a target value.
  • the artificial intelligence model 1010 may be trained using a dataset 2000 including a plurality of data points.
  • the learned artificial intelligence model 1010 may perform a target operation using the dataset 2000 including a plurality of data points.
  • the artificial intelligence model 1010 may classify data points included in the dataset 2000.
  • the artificial intelligence model 1010 may evaluate data points included in the dataset 2000 according to certain criteria.
  • the artificial intelligence model 1010 may predict results derived from data points included in the dataset 2000.
  • the result of the classification, evaluation, or prediction may be output as a target value, that is, a label corresponding to each data point.
  • the artificial intelligence model 1010 may be trained according to the learning algorithm of the learning unit 1050.
  • the artificial intelligence model 1010 may be pre-trained using at least some of the data points included in the dataset 2000.
  • the artificial intelligence model 1010 may be pre-trained using labeled data points among data points included in the dataset 2000.
  • the artificial intelligence model 1010 may be updated using the dataset 2000 according to the learning algorithm of the learning unit 1050.
  • the artificial intelligence model 1010 may be updated using data points not previously learned among data points included in the dataset 2000.
  • the artificial intelligence model 1010 may be updated using data points selected by the learning unit 1050 among unlabeled data points included in the dataset 2000.
  • the artificial intelligence model 1010 may be configured with one or more parameters for deriving a target value from a data point.
  • the parameter may be determined or updated based on data that the artificial intelligence model 1010 learns.
  • the parameter may have a probability distribution. The probability distribution of the parameter may be determined or updated based on the training data.
  • the learning unit 1050 may train the artificial intelligence model 1010 using the dataset 2000.
  • the learning unit 1050 may obtain unlabeled data points from the dataset 2000.
  • the learning unit 1050 may select a predetermined number of candidate data points among unlabeled data points.
  • the selected candidate data points may be candidate data points to be labeled by the user.
  • the selected candidate data points may be candidate data points to be used to update the artificial intelligence model 1010.
  • the learning unit 1050 may select a predetermined number of candidate data points capable of most efficiently updating the artificial intelligence model 1010 among unlabeled data points.
  • the learning unit 1050 may select a predetermined number of candidate data points by an optimization algorithm.
  • the learning unit 1050 may collectively select a predetermined number of candidate data points from among all unlabeled data points.
  • the learning unit 1050 may predict a degree to which each of the unlabeled data points contributes to updating the artificial intelligence model 1010. By predicting the degree of contribution, the learning unit 1050 uses all of the unlabeled data points included in the dataset 2000 as a result of updating the artificial intelligence model 1010 using only the selected candidate data points. Thus, a predetermined number of candidate data points may be selected so that the result of updating the artificial intelligence model 1010 is most closely approximated.
  • the learning unit 1050 may output an input request for labeling the selected candidate data points together.
  • the learning unit 1050 may obtain labeled candidate data points by labeling the selected candidate data points based on a user input in response to the input request.
  • the learning unit 1050 may transmit an input request to the user interface 3000.
  • the learning unit 1050 may receive a user input in response to the input request from the user interface 3000.
  • the learning unit 1050 may batch output an input request for a predetermined number of candidate data points.
  • the learning unit 1050 may collectively receive user input in response to the input request.
  • the learning unit 1050 may update the dataset 2000 by adding labeled candidate data points to the dataset 2000.
  • the learning unit 1050 may update the artificial intelligence model 1010 using the labeled candidate data points.
  • the learning unit 1050 may train the artificial intelligence model 1010 by inputting labeled candidate data points into the artificial intelligence model 1010.
  • the learning unit 1050 trains the artificial intelligence model 1010 by inputting a combination of labeled candidate data points and labels, thereby updating the probability distribution of parameters constituting the artificial intelligence model 1010. I can.
  • the learning unit 1050 may update the artificial intelligence model 1010 by inputting a predetermined number of labeled candidate data points into the artificial intelligence model 1010 in a batch.
  • the learning unit 1050 may update the artificial intelligence model 1010 by inputting the labeled candidate data points together with other pre-labeled data points included in the dataset 2000 into the artificial intelligence model 1010. .
  • the user can label the data points through the user interface 3000.
  • the user interface 3000 may be a separate device for receiving a user input for the electronic device 1000.
  • the user interface 3000 may include an output unit that outputs an input request and an input result so that a user can recognize it, and an input unit that receives a user input.
  • the user interface 3000 may receive an input request for labeling the selected candidate data points together from the learning unit 1050. In various embodiments, the user interface 3000 may receive an input for labeling selected candidate data points from a user and transmit the input to the learning unit 1050.
  • Each of the constituent elements shown in FIG. 1 represents elements that are functionally divided, and at least one or more constituent elements may be integrated with each other in an actual physical environment.
  • the dataset 2000 or the user interface 3000 may be implemented in the same physical device as the electronic device 1000.
  • each of the components illustrated in FIG. 1 may be a set of one or more physically separated devices that are functionally connected to perform the above-described operations.
  • the electronic device 1000 or the dataset 2000 may be distributed and implemented in a plurality of physical devices.
  • the network includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and a combination thereof.
  • LAN local area network
  • WAN wide area network
  • VAN value added network
  • mobile radio communication network a satellite communication network
  • satellite communication network and a combination thereof.
  • data communication network in a comprehensive sense that enables each constituent entity shown in FIG. 1 to communicate with each other smoothly, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network.
  • FIG. 2 is a block diagram of an apparatus for training an artificial intelligence model using unlabeled data points, according to an exemplary embodiment.
  • the learning unit 1050 illustrated in FIG. 2 may correspond to the electronic device 1000 of FIG. 9 or the processor 950 included in the electronic device 1000.
  • the learning unit 1050 may include a data point acquisition unit 210, a data point selection unit 220, a user labeling unit 230, and a model update unit 240.
  • the data point acquisition unit 210 may acquire unlabeled data points from the dataset 2000.
  • the data point selection unit 220 may select a predetermined number of candidate data points among unlabeled data points.
  • the selected candidate data points may be candidate data points to be labeled by the user.
  • the selected candidate data points may be candidate data points to be used to update the artificial intelligence model 1010.
  • the predetermined number may be predetermined by the user.
  • the predetermined number may be a number capable of requesting labeling from a user at one time.
  • the predetermined number may be the number of data points that the artificial intelligence model 1010 can learn at one time.
  • the predetermined number may be set to an integer N of 2 or more.
  • the data point selection unit 220 may select a predetermined number of candidate data points capable of most efficiently updating the artificial intelligence model 1010 among unlabeled data points.
  • the data point selection unit 220 may select a predetermined number of candidate data points using an optimization algorithm.
  • the data point selection unit 220 may collectively select a predetermined number of candidate data points from among all unlabeled data points.
  • the data point selection unit 220 may predict a degree to which each of the unlabeled data points contributes to updating the artificial intelligence model 1010. By predicting the degree of contribution, the data point selection unit 220 selects unlabeled data points included in the dataset 2000 as a result of updating the artificial intelligence model 1010 using only the selected candidate data points. A predetermined number of candidate data points may be selected to approximate the result of updating the artificial intelligence model 1010 using all of them.
  • the artificial intelligence model 1010 may be composed of one or more parameters for deriving a target value from a data point, and the parameter may be defined by a probability distribution.
  • the probability distribution of parameters may be updated as the artificial intelligence model 1010 learns data points.
  • the data point selection unit 220 may predict a degree to which each of the unlabeled data points contributes to updating the probability distribution of the parameter. By predicting the degree of contribution, the data point selection unit 220 uses all the unlabeled data points included in the dataset 2000 as a result of updating the probability distribution of the parameter using only the selected candidate data points. Thus, a predetermined number of candidate data points may be selected so as to be closest to the result of updating the probability distribution of the parameter.
  • selecting one data point of an optimum condition may be repeated several times.
  • the distribution of the selected data points may be biased compared to the distribution of the entire data set. Accordingly, the result of updating the artificial intelligence model 1010 using the selected candidate data points may not be similar to the result of updating the artificial intelligence model 1010 using all the data points included in the dataset 2000.
  • a subset of a distribution similar to that of the entire dataset can be obtained.
  • a result similar to the result of updating the artificial intelligence model 1010 using all the data points included in the dataset 2000 can be obtained.
  • the user labeling unit 230 may output an input request for labeling the selected candidate data points together.
  • the user labeling unit 230 may obtain labeled candidate data points by labeling the selected candidate data points based on a user input in response to the input request.
  • the user labeling unit 230 may transmit an input request to the user interface 3000.
  • the user labeling unit 230 may receive a user input in response to the input request from the user interface 3000.
  • the user labeling unit 230 may batch output an input request for a predetermined number of candidate data points.
  • the user labeling unit 230 may collectively receive user input in response to the input request.
  • the model update unit 240 may update the artificial intelligence model 1010 using labeled candidate data points.
  • the model update unit 240 may train the artificial intelligence model 1010 by inputting labeled candidate data points into the artificial intelligence model 1010.
  • the model update unit 240 trains the artificial intelligence model 1010 by inputting a combination of labeled candidate data points and labels, thereby updating the probability distribution of parameters constituting the artificial intelligence model 1010. can do.
  • the model update unit 240 may update the artificial intelligence model 1010 by inputting a predetermined number of labeled candidate data points into the artificial intelligence model 1010 in a batch.
  • the model update unit 240 may update the artificial intelligence model 1010 by inputting the labeled candidate data points together with other pre-labeled data points included in the dataset 2000 into the artificial intelligence model 1010. have.
  • FIG. 3 is a flowchart of a method of training an artificial intelligence model using unlabeled data points, according to an exemplary embodiment.
  • Each of the operations of FIG. 3 is the electronic device 1000 illustrated in FIGS. 1 and 2 or the learning unit 1050 included in the electronic device 1000, or the electronic device 1000 or the electronic device 1000 illustrated in FIG. 9. ) May be performed by the processor 950.
  • the electronic device 1000 may acquire unlabeled data points from a dataset 2000 including a plurality of data points.
  • the electronic device 1000 may select a predetermined number of candidate data points among unlabeled data points.
  • the selected candidate data points may be candidate data points to be labeled by the user.
  • the selected candidate data points may be candidate data points to be used to update the artificial intelligence model 1010.
  • the predetermined number may be predetermined by the user.
  • the predetermined number may be a number capable of requesting labeling from a user at one time.
  • the predetermined number may be the number of data points that the artificial intelligence model 1010 can learn at one time.
  • the predetermined number may be set to an integer N of 2 or more.
  • the electronic device 1000 may select a predetermined number of candidate data points capable of most efficiently updating the artificial intelligence model 1010 among unlabeled data points.
  • the electronic device 1000 may select a predetermined number of candidate data points using an optimization algorithm.
  • the electronic device 1000 may collectively select a predetermined number of candidate data points from among all unlabeled data points.
  • the electronic device 1000 may predict a degree to which each of the unlabeled data points contributes to updating the artificial intelligence model 1010. By predicting the contribution degree, the electronic device 1000 uses all of the unlabeled data points included in the dataset 2000 as a result of updating the artificial intelligence model 1010 using only the selected candidate data points. Thus, a predetermined number of candidate data points may be selected so that the result of updating the artificial intelligence model 1010 is most closely approximated.
  • the artificial intelligence model 1010 may be composed of one or more parameters ⁇ for deriving a target value from a data point, and the parameter ⁇ may be defined by a probability distribution p( ⁇ ).
  • the probability distribution p( ⁇ ) of the parameter may be updated as the artificial intelligence model 1010 learns data points.
  • the electronic device 1000 may predict a degree to which each of the unlabeled data points contributes to updating the probability distribution p( ⁇ ) of the parameter. By predicting the contribution degree, the electronic device 1000 uses only the selected candidate data points to update the probability distribution of the parameter, and the result of updating the parameter using all unlabeled data points included in the dataset 2000 A predetermined number of candidate data points may be selected to be closest to the result of updating the probability distribution of.
  • the prior distribution p( ⁇ ) of the parameter ⁇ may be a value given in advance.
  • the posterior distribution of the parameter ⁇ may be referred to as p( ⁇
  • the new posterior distribution of the parameter ⁇ is calculated as p( ⁇
  • the new posterior distribution of the parameter ⁇ is converted to p( ⁇
  • the electronic device 1000 has a probability distribution p( ⁇
  • candidate data points may be selected to be closest to a probability distribution p( ⁇
  • Equation 1 The exact value of the probability distribution p( ⁇
  • D 0 ⁇ D p ) can be approximated with E yp [logp( ⁇
  • D 0 ⁇ D p )] which is the target to be approximated, can be expressed as Equation 1.
  • L m ( ⁇ ) is the unlabeled data point x m belonging to D p in updating the existing probability distribution p( ⁇
  • D 0 ⁇ D p ) updated using all of the unlabeled data points is the existing probability distribution p( ⁇
  • L m the degree to which it contributes to the update of the distribution. Therefore, the sum of the contributions L m of the candidate data points is the sum of the contributions of all unlabeled data points.
  • the probability distribution updated using only the selected candidate data points may be closest to the updated probability distribution using all unlabeled data points.
  • the electronic device 1000 may acquire a degree to which an unlabeled data point contributes to an update of a probability distribution based on an existing probability distribution.
  • the electronic device 1000 may select candidate data points by converting data points into corresponding data point vectors.
  • the electronic device 1000 obtains data point vectors corresponding to unlabeled data points, selects a predetermined number of data point vectors from among the data point vectors, and candidates data points corresponding to the selected data point vectors. Can be determined by data points.
  • the electronic device 1000 may output an input request for labeling the selected candidate data points together.
  • the electronic device 1000 may transmit an input request to the user interface 3000.
  • the electronic device 1000 may batch output an input request for a predetermined number of candidate data points. For example, when N candidate data points are selected, the electronic device 1000 may transmit N input requests at once instead of transmitting the input request for labeling each candidate data point N times one by one.
  • the electronic device 1000 may obtain labeled candidate data points by labeling the selected candidate data points based on a user input in response to the input request.
  • the electronic device 1000 may receive a user input in response to the input request from the user interface 3000.
  • the electronic device 1000 may receive a user input for a predetermined number of candidate data points in a batch. For example, when N candidate data points are selected, the electronic device 1000 receives N user inputs at once instead of receiving a user input labeling each candidate data point N times one by one and N candidate data points. You can label the points.
  • the electronic device 1000 may update the artificial intelligence model 1010 using labeled candidate data points.
  • the electronic device 1000 may train the artificial intelligence model 1010 by inputting labeled candidate data points into the artificial intelligence model 1010.
  • the electronic device 1000 trains the artificial intelligence model 1010 by inputting a combination of labeled candidate data points and labels, thereby updating the probability distribution of parameters constituting the artificial intelligence model 1010. I can.
  • the electronic device 1000 may input and train a predetermined number of labeled candidate data points into the artificial intelligence model 1010 in a batch. For example, when N candidate data points are selected and labeled, the electronic device 1000 inputs each labeled candidate data point one by one into the artificial intelligence model 1010 and updates the artificial intelligence model 1010 Instead of repeating M times, the artificial intelligence model 1010 may be updated at once by inputting M labeled candidate data points into the artificial intelligence model 1010 at once. The electronic device 1000 may update the artificial intelligence model 1010 by inputting labeled candidate data points together with other pre-labeled data points included in the dataset 2000 into the artificial intelligence model 1010. .
  • FIG. 4 is a flowchart of a method of selecting a predetermined number of candidate data points among unlabeled data points, according to an exemplary embodiment.
  • Each of the operations of FIG. 4 is the electronic device 1000 illustrated in FIGS. 1 and 2 or the learning unit 1050 included in the electronic device 1000, or the electronic device 1000 or the electronic device 1000 illustrated in FIG. 9. ) May be performed by the processor 950.
  • Operations S410 to S430 of FIG. 4 may correspond to operation S320 of FIG. 3.
  • the electronic device 1000 may obtain data point vectors corresponding to unlabeled data points.
  • the data point vector may be a vector representing a function for a data point in an arbitrary vector space.
  • the size of the data point vectors or the angle between the data point vectors may be obtained by calculating an inner product between functions for the data point according to a preset criterion.
  • the function for the data point may be a function calculated to predict information that the data point contributes to the update of the artificial intelligence model 1010.
  • the electronic device 1000 may calculate a data point vector by predicting a degree to which each unlabeled data point contributes to the update of the artificial intelligence model 1010.
  • the electronic device 1000 A data point vector can be obtained by calculating a function L m ( ⁇ ) representing the degree to which the unlabeled data point x m contributes to the update.
  • the electronic device 1000 may select a predetermined number of data point vectors from among the data point vectors.
  • the electronic device 1000 may select a predetermined number of data point vectors using an optimization algorithm.
  • the electronic device 1000 may select a predetermined number of data point vectors based on a distribution of all data point vectors in a vector space. In an embodiment, the electronic device 1000 may select a predetermined number of data point vectors such that the weighted sum of the selected data point vectors is closest to the weighted sum of all data point vectors.
  • the electronic device 1000 may determine data points corresponding to the selected data point vectors as candidate data points.
  • FIG. 5 is a flowchart of a method of selecting a predetermined number of data point vectors from among data point vectors, according to an exemplary embodiment.
  • Each of the operations of FIG. 5 is the electronic device 1000 illustrated in FIGS. 1 and 2 or the learning unit 1050 included in the electronic device 1000, or the electronic device 1000 or the electronic device 1000 illustrated in FIG. 9. ) May be performed by the processor 950.
  • Operations S510 and S520 of FIG. 5 may correspond to operation S420 of FIG. 4.
  • the electronic device 1000 may obtain a vector representing a data set from data point vectors.
  • the vector representing the dataset is It can indicate the degree of update compared to.
  • the vector representing the dataset is a parameter of the artificial intelligence model 1010 when the artificial intelligence model 1010 is updated using all of the unlabeled data points included in the dataset 2000 It can represent the degree to which the probability distribution of is updated compared to the previous one.
  • a vector representing a dataset may be obtained by adding all of the data point vectors. For example, when data point vectors are obtained by calculating a function L m ( ⁇ ) representing the degree to which the data point x m contributes to the update of the probability distribution, the vector representing the dataset is Can be calculated as
  • the electronic device 1000 may select a predetermined number of data point vectors based on the proximity between each data point vector and a vector representing the data set.
  • the degree of proximity between the data point vector and the vector representing the dataset may be determined based on an angle between the vector representing the dataset and the data point vector. In various embodiments, the degree of proximity between the data point vector and the vector representing the dataset may be determined based on a weighted inner product between the data point vector and the vector representing the dataset.
  • the weighted inner product may be a weighted Fisher inner product.
  • the weighted Fisher dot product ⁇ L n ,L m > between the data point vectors L n and L m can be calculated by Equation 2.
  • the weighted inner product may be a weighted Euclidian inner product.
  • the data point vector for calculating the weighted Euclidean dot product may be obtained by converting a function of the data point into a vector in Euclidean space.
  • the data point vector L n for calculating the weighted Euclidean dot product may be calculated by performing a random projection on a function for a data point according to Equation 3.
  • the electronic device 1000 may select a predetermined number of data point vectors by performing linear regression using a weighted dot product.
  • linear regression may be performed based on a Bayesian linear regression method.
  • the weighted Fisher dot product ⁇ L n ,L m > between the data point vectors L n and L m may be calculated by Equation 4.
  • the electronic device 1000 may select a predetermined number of data point vectors by performing logistic regression using a weighted dot product.
  • the weighted Fisher dot product ⁇ L n ,L m > between the data point vectors L n and L m can be calculated by Equation 5.
  • BvN means a bi-variate normal cumulative density function
  • the electronic device 1000 may select a predetermined number of data point vectors using a Frank-Wolfe Optimization algorithm.
  • the electronic device 1000 calculates a weighted dot product between a data point vector and a vector representing a dataset based on a weight, selects a data point vector with the largest calculated weight dot product, and the weighted dot product based on the selected data point vector. By repeating the operation of updating the data by a predetermined number, it is possible to select a predetermined number of data point vectors.
  • 6A to 6F are diagrams illustrating a method of selecting a predetermined number of data point vectors from among data point vectors, according to an exemplary embodiment.
  • unlabeled data points included in the dataset 2000 x 1 , x 2 , ..., x M-1 , data point vectors L 1 corresponding to x M , L 2 , ..., L M-1 , L M 610 are plotted in arbitrary vector space.
  • the data point vectors may be a function representing a degree to which each data point contributes to an update of a probability distribution of a parameter constituting the artificial intelligence model 1010.
  • a vector L 620 representing a data set is shown as coordinates in vector space.
  • the vector L 620 representing the dataset may be obtained by adding all data point vectors L 1 , L 2 , ..., L M-1 , and L M 610. That is, the vector L representing the dataset is Can be calculated as
  • weights for selecting a data point vector are initialized.
  • the weight may be initialized to 0.
  • a reference coordinate 630 corresponding to the weight in the vector space is determined.
  • a reference coordinate corresponding to the weight may be calculated by Equation 6.
  • w m denotes a weight of each data point vector
  • L(w) denotes a reference coordinate corresponding to the weight.
  • the reference coordinate L(w) 630 may be the origin of the vector space.
  • a vector 620 representing a data set and a data point vector 640 closest to each other are selected.
  • a weighted dot product between the data point vector and the vector 620 representing the dataset is calculated based on the weight, and the data point vector with the largest calculated weight dot is determined as the closest data point vector 640.
  • I can.
  • the vector L 620 representing the dataset and the data point vector forming the smallest angle are the closest data point vector 640. Can be determined.
  • the closest data point vector 640 may be determined by Equation 7.
  • f denotes the closest data point vector
  • ⁇ n denotes the size of the data point vector L n.
  • the weighted dot product used in Equation 7 may be a weighted Fisher dot product calculated by Equation 2, 4 or 5, or a weighted Euclidean dot product calculated by Equation 3.
  • the weight may be updated with a new weight.
  • the weight may be updated to move the reference coordinate 630 in the direction of the selected data point vector 640 by a predetermined distance. According to the updated weight, a new reference coordinate 650 is set.
  • the new weight can be calculated by Equation 8.
  • Equation 7 The weighted dot product ( ⁇ L n , L m >) used in Equation 7 may be a weighted Fisher dot product calculated by Equation 2, 4 or 5, or a weighted Euclidean dot product calculated by Equation 3.
  • a vector 620 representing a dataset excluding previously selected data point vectors and a data point vector 660 closest to the data point vector 660 are selected.
  • the weight is updated again, and a new reference coordinate 670 is set again according to the updated weight. The method of selecting the closest data point vector and updating the weight is the same as described in FIGS. 6C and 6D.
  • an operation of selecting a data point vector closest to the vector 620 representing the data set and updating the weight may be repeated a predetermined number of times.
  • the reference coordinate L(w) gradually approaches the vector L 620 representing the data set, and when selection is repeated a predetermined number of times, the finally determined L(w) becomes an approximation to L.
  • candidate data points corresponding to the selected data point vectors are equal to the sum of the contributions L m of the candidate data points equal to the contributions of all unlabeled data points. total It satisfies the optimization requirement that is closest to. That is, the result of updating the artificial intelligence model using a predetermined number of candidate data points corresponding to the selected predetermined number of data point vectors is the result of updating the artificial intelligence model using all of the unlabeled data points. It can be approximated closely.
  • FIG. 7 is a block diagram of an apparatus for training an artificial intelligence model using unlabeled data points, according to an exemplary embodiment.
  • the learning unit 1050 illustrated in FIG. 7 may correspond to the electronic device 1000 of FIG. 9 or the processor 950 included in the electronic device 1000.
  • the learning unit 1050 includes a data point acquisition unit 710, a data point selection unit 720, a user labeling unit 730, a model update unit 740, and a model evaluation unit 750. can do.
  • the data point acquisition unit 710, the user labeling unit 730, and the model update unit 740 operate in the same manner as the data point acquisition unit 210, user labeling unit 230, and model update unit 240 of FIG. Because it can be, duplicate descriptions are omitted.
  • the model evaluation unit 750 may evaluate the prediction accuracy of the artificial intelligence model 1010.
  • the model evaluation unit 750 inputs data points that the artificial intelligence model 1010 has not learned into the artificial intelligence model 1010, and based on whether the predicted target value matches the correct answer, the artificial intelligence The prediction accuracy of the model's 1010 can be evaluated.
  • the data point selection unit 720 may operate in the same manner as the data point selection unit 220 of FIG. 2, and in addition, the artificial intelligence model 1010 is configured according to the prediction accuracy evaluated by the model evaluation unit 750. You can decide whether to continue learning.
  • the data point selector 720 may determine to select a predetermined number of candidate data points among unlabeled data points when the prediction accuracy is less than a reference. In an embodiment, when the prediction accuracy is greater than or equal to a reference, the data point selection unit 720 may determine to end learning without further selecting candidate data points.
  • the criterion may be a predetermined value.
  • the data point selection unit 720, the user labeling unit 730, the model update unit 740, and the model evaluation unit 750 are not labeled until the prediction accuracy of the artificial intelligence model 1010 is equal to or higher than the reference.
  • Labeled candidates by selecting a predetermined number of candidate data points among the data points, outputting an input request for labeling the selected candidate data points together, and labeling selected candidate data points based on a user input in response to the input request
  • a learning algorithm for acquiring data points, updating the artificial intelligence model 1010 using labeled candidate data points, and evaluating the updated artificial intelligence model 1010 may be repeated.
  • FIG. 8 is a flowchart of a method of training an artificial intelligence model using unlabeled data points, according to an exemplary embodiment.
  • Each of the operations of FIG. 8 is the electronic device 1000 illustrated in FIGS. 1 and 7 or the learning unit 1050 included in the electronic device 1000, or the electronic device 1000 or electronic device 1000 illustrated in FIG. 9. ) May be performed by the processor 950.
  • Operations S810, S840, S850, and S860, and S870 of FIG. 8 may correspond to operations S310, S320, S330, S340, and S350 of FIG. 3, respectively.
  • the electronic device 1000 may acquire unlabeled data points from a dataset including a plurality of data points.
  • the electronic device 1000 may evaluate the prediction accuracy of the artificial intelligence model 1010.
  • the electronic device 1000 inputs data points that the artificial intelligence model 1010 has not learned into the artificial intelligence model 1010, and the artificial intelligence model based on whether the predicted target value matches the correct answer.
  • the prediction accuracy of (1010) can be evaluated.
  • the electronic device 1000 may compare the evaluated prediction accuracy with a reference. When the prediction accuracy is greater than or equal to the reference, the electronic device 1000 may determine to end the learning algorithm.
  • the criterion may be a predetermined value.
  • the electronic device 1000 may perform operation S840.
  • operation S840 the electronic device 1000 may determine to select a predetermined number of candidate data points among unlabeled data points.
  • the electronic device 1000 may obtain data point vectors corresponding to unlabeled data points. In an embodiment, the electronic device 1000 may select a predetermined number of data point vectors from among data point vectors. For example, the electronic device 1000 obtains a vector representing a dataset from data point vectors, and calculates a predetermined number of data point vectors based on the proximity between each data point vector and a vector representing the dataset. You can choose. In an embodiment, the electronic device 1000 may determine data points corresponding to the selected data point vectors as candidate data points.
  • the electronic device 1000 may output an input request for labeling the selected candidate data points together.
  • the electronic device 1000 may obtain labeled candidate data points by labeling the selected candidate data points based on a user input in response to the input request.
  • the electronic device 1000 may update the artificial intelligence model 1010 using labeled candidate data points. Thereafter, returning to operation S820, the electronic device 1000 evaluates the prediction accuracy again with respect to the updated artificial intelligence model 1010, and repeats the above-described operations S820 to S870 until the prediction accuracy becomes greater than or equal to the reference. I can.
  • FIG. 9 is a block diagram of an electronic device according to an embodiment.
  • the electronic device 1000 may include a communication unit 910, a memory 920, an input unit 930, an output unit 940, and a processor 950.
  • a communication unit 910 may include a communication unit 910, a memory 920, an input unit 930, an output unit 940, and a processor 950.
  • the electronic device 1000 may be implemented by more or less components than the components shown in FIG. 9. .
  • the communication unit 910 may include one or more components for communicating with an external device storing the data set 2000 and an external device including the user interface 3000.
  • the communication unit 910 may include a short range communication unit, a mobile communication unit, and a broadcast reception unit.
  • the communication unit 910 may transmit and receive information necessary for acquiring data points included in the data set 2000 with an external device that stores the data set 2000.
  • the communication unit 910 transmits an input request for labeling candidate data points to an external device including the user interface 3000, and includes a user input in response to the input request. It can be received from an external device.
  • the memory 920 may store a program for processing and controlling the processor 950, and may store data input to the electronic device 1000 or output from the electronic device 1000.
  • the memory 920 may store the dataset 2000. In various embodiments, memory 920 may store unlabeled data points obtained from dataset 2000. In various embodiments, the memory 920 may store selected candidate data points and labeled candidate data points among unlabeled data points.
  • the input unit 930 refers to a means for a user to input data for controlling the processor 950.
  • the input unit 930 includes a key pad, a dome switch, and a touch pad (contact capacitive method, pressure resistive film method, infrared sensing method, surface ultrasonic conduction method, integral tension method). Measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the input unit 930 may receive a user input in response to an input request for candidate data points.
  • the input unit 930 may correspond to an input unit of the user interface 3000.
  • the input unit 930 may be connected to the input unit of the user interface 3000 to receive a user input from the user interface 3000.
  • the output unit 940 may output an audio signal, a video signal, or a vibration signal, and the output unit 940 may include a display unit and an audio output unit.
  • the output unit 940 may output an input request for labeling candidate data points.
  • the output unit 940 may correspond to the output unit of the user interface 3000.
  • the output unit 940 may be connected to the output unit of the user interface 3000 to output an input request to the user interface 3000.
  • the processor 950 typically controls the overall operation of the electronic device 1000.
  • the processor 950 may generally control the communication unit 910, the memory 920, the input unit 930, the output unit 940, and the like by executing programs stored in the memory 920.
  • the processor 950 may control the operation of the electronic device 1000 in the present disclosure by controlling the communication unit 910, the memory 920, the input unit 930, the output unit 940, and the like.
  • the processor 950 may obtain unlabeled data points from the dataset 2000 through the communication unit 910 or the memory 920.
  • the processor 950 may select a predetermined number of data points among unlabeled data points.
  • the selected candidate data points may be candidate data points to be labeled by the user.
  • the selected candidate data points may be candidate data points to be used to update the artificial intelligence model 1010.
  • the processor 950 may predict the degree to which each of the unlabeled data points contributes to updating the artificial intelligence model 1010. By predicting the degree of contribution, the processor 950 uses only the selected candidate data points to update the artificial intelligence model 1010 using all unlabeled data points included in the dataset 2000. A predetermined number of candidate data points may be selected to most closely approximate the result of updating the artificial intelligence model 1010.
  • the processor 950 may output an input request for labeling the selected candidate data points.
  • the processor 950 may obtain labeled candidate data points by labeling the selected candidate data points based on a user input in response to the input request.
  • the processor 950 may transmit an input request to the user interface 3000 through the communication unit 910 or the output unit 940.
  • the processor 950 may receive a user input in response to the input request from the user interface 3000 through the communication unit 910 or the input unit 930.
  • the processor 950 may batch output an input request for a predetermined number of candidate data points.
  • the processor 950 may collectively receive user input in response to the input request.
  • the processor 950 may update the artificial intelligence model 1010 using the labeled candidate data points.
  • the processor 950 may train the artificial intelligence model by inputting labeled candidate data points into the artificial intelligence model 1010.
  • the processor 950 may train the artificial intelligence model by inputting a predetermined number of labeled candidate data points into the artificial intelligence model 1010 in a batch.
  • the processor 950 may evaluate the prediction accuracy of the artificial intelligence model 1010. When the prediction accuracy is less than the reference, the processor 950 may determine to select candidate data points to be used to train the artificial intelligence model 1010 from among unlabeled data points. The processor 950 selects a predetermined number of candidate data points from among unlabeled data points until the prediction accuracy of the artificial intelligence model 1010 is greater than or equal to the reference, and inputs for labeling the selected candidate data points together. It outputs the request, obtains labeled candidate data points by labeling the selected candidate data points based on the user input in response to the input request, and repeats the learning algorithm that updates the artificial intelligence model using the labeled candidate data points. I can.
  • Various embodiments of the present disclosure may be implemented as software including one or more instructions stored in a storage medium (eg, memory 950) readable by a machine (eg, electronic device 1000).
  • a storage medium eg, memory 950
  • the processor eg, the processor 950
  • the device eg, the electronic device 1000
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • non-transient only means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term refers to the case where data is semi-permanently stored in the storage medium. It does not distinguish between temporary storage cases.
  • a signal e.g., electromagnetic waves
  • a method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product.
  • Computer program products can be traded between sellers and buyers as commodities.
  • Computer program products are distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play StoreTM) or two user devices (e.g., compact disc read only memory (CD-ROM)). It can be distributed (e.g., downloaded or uploaded) directly between, e.g. smartphones), online.
  • a device-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • two user devices e.g., compact disc read only memory (CD-ROM)
  • It can be distributed (e.g., downloaded or uploaded) directly between, e.g. smartphones), online.
  • At least a part of the computer program product may be temporarily stored or temporarily generated in a storage medium that can be read by a device such as a server of a manufacturer, a server of an application store, or a memory of a relay server.
  • each component (eg, module or program) of the above-described components may include a singular number or a plurality of entities.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or program
  • the integrated component may perform one or more functions of each component of the plurality of components in the same or similar to that performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be sequentially, parallel, repeatedly, or heuristically executed, or one or more of the operations may be executed in a different order or omitted. Or one or more other actions may be added.

Landscapes

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

Abstract

인공지능 모델을 학습시키는 전자 장치가 개시된다. 개시되는 전자 장치가 인공지능 모델을 학습시키는 방법은, 복수의 데이터 포인트들을 포함하는 데이터세트로부터, 데이터 포인트의 속성을 나타내는 레이블(label)이 레이블링(labeling)되지 않은 데이터 포인트들을 획득하는 단계; 상기 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택하는 단계; 상기 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력하는 단계; 상기 입력 요청에 응답한 사용자 입력에 기초하여, 상기 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득하는 단계; 및 상기 레이블링된 후보 데이터 포인트들을 이용하여 상기 인공지능 모델을 갱신하는 단계;를 포함한다.

Description

인공지능 모델을 학습시키는 시스템 및 방법
본 개시는 인공지능 모델을 학습시키는 시스템 및 방법에 관한 것으로서, 보다 상세하게는 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 전자 장치 및 방법에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
한편, 기계학습을 위해서는 일반적으로 데이터의 속성에 대한 올바른 정보를 포함하는 학습 데이터가 제공되어야 할 필요가 있다. 따라서 입력 데이터에 정보를 할당하는 레이블링(labeling) 작업이 필요하다. 능동 학습 (Active Learning)은 레이블링되지 않은 데이터에 대하여 사용자 등의 외부 정보원에 질의할 수 있는 기계학습의 한 방법이다.
레이블링되지 않은 데이터 포인트가 대량으로 주어지는 경우, 레이블링할 데이터 포인트를 선택하고, 데이터 포인트를 레이블링하고, 레이블링된 데이터 포인트를 인공지능 모델에 학습시키는 것을 반복하는 작업은 많은 시간 및 컴퓨팅 자원을 소모한다. 따라서, 능동 학습을 효율적으로 수행하기 위해서는 레이블링할 데이터 포인트를 선택하는 과정을 최적화하여야 할 필요가 있다.
다양한 실시예들은, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 효율적으로 학습시킬 수 있도록 하는 시스템 및 방법을 제공할 수 있다.
또한, 다양한 실시예들은, 인공지능 모델을 효율적으로 학습시키기 위하여, 레이블링되지 않은 데이터 포인트들 중에서 레이블링할 데이터 포인트들을 선택하는 개선된 시스템 및 방법을 제공할 수 있다.
또한, 다양한 실시예들은, 인공지능 모델을 효율적으로 학습시키기 위하여, 사용자의 입력에 기초하여 데이터를 레이블링하고, 레이블링된 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 개선된 시스템 및 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 복수의 데이터 포인트들을 포함하는 데이터세트로부터, 데이터 포인트의 속성을 나타내는 레이블이 레이블링(labeling)되지 않은 데이터 포인트들을 획득하는 단계; 상기 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택하는 단계; 상기 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력하는 단계; 상기 입력 요청에 응답한 사용자 입력에 기초하여, 상기 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득하는 단계; 및 상기 레이블링된 후보 데이터 포인트들을 이용하여 상기 인공지능 모델을 갱신하는 단계; 를 포함하는, 전자 장치가 인공지능 모델을 학습시키는 방법을 제공할 수 있다.
또한, 본 개시의 제2 측면은, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 하나 이상의 인스트럭션을 실행하는 프로세서; 를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 복수의 데이터 포인트들을 포함하는 데이터세트로부터, 데이터 포인트의 속성을 나타내는 레이블이 레이블링(labeling)되지 않은 데이터 포인트들을 획득하고, 상기 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택하고, 상기 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력하고, 상기 입력 요청에 응답한 사용자 입력에 기초하여, 상기 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득하고, 상기 레이블링된 후보 데이터 포인트들을 이용하여 상기 인공지능 모델을 갱신하는, 인공지능 모델을 학습시키는 전자 장치를 제공할 수 있다.
또한, 본 개시의 제3 측면은, 제 1 측면의 방법을 컴퓨터에서 수행하도록 하는 프로그램이 저장된, 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
다양한 실시예들에 따르면, 레이블링되지 않은 데이터 포인트들 중에서 인공지능 모델을 효율적으로 갱신할 수 있는 후보 데이터 포인트들을 일괄적으로 선택하여 레이블링할 수 있다.
다양한 실시예들에 따르면, 사용자의 입력에 기초하여 레이블링된 데이터 포인트들을 일괄적으로 이용하여 인공지능 모델을 갱신할 수 있다.
다양한 실시예들에 따르면, 인공지능 모델을 학습시키는 시간 및 비용을 감소시키면서, 인공지능 모델 학습의 효율을 향상시키고, 학습된 모델의 정확도를 높일 수 있다.
도 1은 일 실시예에 따른, 인공지능 모델을 학습시키는 시스템의 개요도이다.
도 2는 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 장치의 블록도이다.
도 3은 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 방법의 흐름도이다.
도 4는 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들 중 소정의 개수의 후보 데이터 포인트를 선택하는 방법의 흐름도이다.
도 5는 일 실시예에 따른, 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터를 선택하는 방법의 흐름도이다.
도 6a 내지 도 6f는 일 실시예에 따른, 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터들을 선택하는 방법을 나타내는 도면이다.
도 7은 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 장치의 블록도이다.
도 8는 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 방법의 흐름도이다.
도 9는 일 실시예에 따른 전자 장치의 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작될 수 있다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어할 수 있다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행할 수 있다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, 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) 등이 있으나, 전술한 예에 한정되지 않는다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른, 인공지능 모델을 학습시키는 시스템의 개요도이다.
도 1을 참조하면, 상기 인공지능 모델을 학습시키는 시스템은 전자 장치(1000) 및 사용자 인터페이스(3000)를 포함할 수 있다.
전자 장치(1000)는 데이터세트(2000)를 이용하여 인공지능 모델(1010)을 학습시키기 위한 장치일 수 있다. 전자 장치(1000)는 인공지능 모델(1010) 및 인공지능 모델을 학습시키는 학습 유닛(1050)을 포함할 수 있다.
데이터세트(2000)는 복수의 데이터 포인트들을 포함하는 데이터의 집합일 수 있다. 데이터 포인트는 데이터세트를 구성하는 개별 데이터(datum)를 의미한다. 데이터 포인트는 통계 자료, 텍스트, 오디오, 이미지, 비디오 등을 포함하거나 또는 이들에 대응될 수 있다. 데이터 포인트는 로우 데이터(raw data)를 포함할 수 있다. 데이터 포인트는 로우 데이터를 전처리하여 획득한, 데이터의 특성을 나타내는 정보를 포함할 수 있다.
데이터세트(2000)는 전자 장치(1000) 내의 메모리 또는 스토리지에 저장되어 있을 수 있다. 또는, 데이터세트(2000)는 전자 장치(1000) 외부의 저장 장치에 저장되어 있을 수 있다.
각 데이터 포인트는 하나 이상의 레이블(label)을 포함할 수 있다. 레이블은 일반적으로 데이터 포인트과 관련된 유의미한 정보일 수 있다. 레이블은 데이터 포인트의 속성을 나타내거나 정의하는 것일 수 있다. 일 실시예에서, 레이블은 데이터 포인트에 포함된 정보 또는 데이터 포인트와 연관된 정보일 수 있다. 일 실시예에서, 레이블은 데이터 포인트를 분류하거나 기준에 따라 평가한 결과일 수 있다. 일 실시예에서, 레이블은 데이터 포인트를 기초로 추론 또는 예측을 수행한 결과일 수 있다. 그러나 상기의 실시예에 한정되지 않고, 데이터 포인트와 관련되는 어떤 유의미한 정보도 레이블로서 할당될 수 있다.
레이블링(labeling)은 데이터 포인트에 레이블을 할당하는 작업을 뜻한다. 레이블링된(labeled) 데이터 포인트는 데이터 포인트와 레이블의 순서쌍으로 나타낼 수 있다.
레이블은 인공지능 모델(1010)이 데이터 포인트로부터 도출하여야 하는 명시적인 목표값을 나타낼 수 있다. 인공지능 모델(1010)은 레이블링된(labeled) 데이터 포인트를 학습할 수 있다. 학습된 인공지능 모델(1010)은 레이블링되지 않은(unlabed) 데이터 포인트를 입력받아, 각각의 데이터 포인트에 대한 목표값, 즉 레이블을 출력할 수 있다.
데이터세트(2000)는 복수의 레이블링된 데이터 포인트들 및 복수의 레이블링되지 않은 데이터 포인트들을 포함하고 있을 수 있다. 데이터세트(2000)는 학습 유닛(1050)이 인공지능 모델(1010)을 학습시키기 위하여 학습 유닛(1050)에 제공될 수 있다. 데이터세트(2000)는 인공지능 모델(1010)이 동작을 수행하여 목표값을 출력하게 하기 위하여 인공지능 모델(1010)에 제공될 수 있다.
인공지능 모델(1010)은 복수의 데이터 포인트들을 포함하는 데이터세트(2000)를 이용하여 학습될 수 있다. 학습된 인공지능 모델(1010)은 복수의 데이터 포인트들을 포함하는 데이터세트(2000)를 이용하여 목표하는 동작을 수행할 수 있다. 예를 들어, 인공지능 모델(1010)은 데이터세트(2000)에 포함된 데이터 포인트들을 분류할 수 있다. 예를 들어, 인공지능 모델(1010)은 일정 기준에 따라 데이터세트(2000)에 포함된 데이터 포인트들에 대한 평가를 내릴 수 있다. 예를 들어, 인공지능 모델(1010)은 데이터세트(2000)에 포함된 데이터 포인트들로부터 도출되는 결과를 예측할 수 있다. 상기 분류, 평가 또는 예측의 결과는 각 데이터 포인트에 대응되는 목표값, 즉 레이블로 출력될 수 있다.
인공지능 모델(1010)은 학습 유닛(1050)의 학습 알고리즘에 따라 학습될 수 있다. 인공지능 모델(1010)은 데이터세트(2000)에 포함된 데이터 포인트들의 적어도 일부를 이용하여 미리 학습된 것일 수 있다. 일 실시예에서, 인공지능 모델(1010)은 데이터세트(2000)에 포함된 데이터 포인트들 중 레이블링된 데이터 포인트들을 이용하여 미리 학습된 것일 수 있다.
인공지능 모델(1010)은 학습 유닛(1050)의 학습 알고리즘에 따라 데이터세트(2000)를 이용하여 갱신될 수 있다. 인공지능 모델(1010)은 데이터세트(2000)에 포함된 데이터 포인트들 중 기존에 학습하지 않은 데이터 포인트들을 이용하여 갱신될 수 있다. 일 실시예에서, 인공지능 모델(1010)은 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들 중, 학습 유닛(1050)에 의해 선택된 데이터 포인트들을 이용하여 갱신될 수 있다.
다양한 실시예들에서, 인공지능 모델(1010)은 데이터 포인트로부터 목표값을 도출하기 위한 하나 이상의 파라미터로 구성될 수 있다. 파라미터는 인공지능 모델(1010)이 학습하는 데이터에 기초하여 결정되거나 갱신될 수 있다. 일 실시예에서, 파라미터는 확률분포를 가질 수 있다. 파라미터의 확률분포는 학습 데이터에 기초하여 결정되거나 갱신될 수 있다.
학습 유닛(1050)은 데이터세트(2000)를 이용하여 인공지능 모델(1010)을 학습시킬 수 있다.
학습 유닛(1050)은 데이터세트(2000)로부터, 레이블링되지 않은 데이터 포인트들을 획득할 수 있다. 학습 유닛(1050)은 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다. 선택된 후보 데이터 포인트들은 사용자에 의해 레이블링되기 위한 후보 데이터 포인트들일 수 있다. 선택된 후보 데이터 포인트들은 인공지능 모델(1010)을 갱신하기 위해 사용될 후보 데이터 포인트들일 수 있다.
다양한 실시예들에서, 학습 유닛(1050)은 레이블링되지 않은 데이터 포인트들 중에서 인공지능 모델(1010)을 가장 효율적으로 갱신할 수 있는 후보 데이터 포인트들을 소정의 개수만큼 선택할 수 있다. 학습 유닛(1050)은 최적화 알고리즘에 의하여 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다. 일 실시예에서, 학습 유닛(1050)은 레이블링되지 않은 전체 데이터 포인트들 중에서 소정의 개수의 후보 데이터 포인트들을 일괄적으로 선택할 수 있다.
일 실시예에서, 학습 유닛(1050)은 레이블링되지 않은 데이터 포인트들 각각이 인공지능 모델(1010)을 갱신하는 데 기여하는 정도를 예측할 수 있다. 상기 기여하는 정도를 예측함으로써, 학습 유닛(1050)은, 선택된 후보 데이터 포인트들만을 이용하여 인공지능 모델(1010)을 갱신한 결과가 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들을 모두 이용하여 인공지능 모델(1010)을 갱신한 결과를 가장 근접하게 근사하도록, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다.
학습 유닛(1050)은 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력할 수 있다. 학습 유닛(1050)은 입력 요청에 응답한 사용자 입력에 기초하여, 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득할 수 있다. 학습 유닛(1050)은 입력 요청을 사용자 인터페이스(3000)로 전송할 수 있다. 학습 유닛(1050)은 입력 요청에 응답한 사용자 입력을 사용자 인터페이스(3000)로부터 수신할 수 있다.
일 실시예에서, 학습 유닛(1050)은 소정의 개수의 후보 데이터 포인트들에 대한 입력 요청을 일괄적으로(batch) 출력할 수 있다. 학습 유닛(1050)은 입력 요청에 응답한 사용자 입력을 일괄적으로 수신할 수 있다.
일 실시예에서, 학습 유닛(1050)은 레이블링된 후보 데이터 포인트들을 데이터세트(2000)에 추가함으로써 데이터세트(2000)를 갱신할 수 있다.
학습 유닛(1050)은 레이블링된 후보 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신할 수 있다. 학습 유닛(1050)은 인공지능 모델(1010)에 레이블링된 후보 데이터 포인트들을 입력하여 인공지능 모델(1010)을 학습시킬 수 있다.
일 실시예에서, 학습 유닛(1050)은 레이블링된 후보 데이터 포인트들과 레이블의 조합을 입력하여 인공지능 모델(1010)을 학습시킴으로써, 인공지능 모델(1010)을 구성하는 파라미터의 확률분포를 갱신할 수 있다.
일 실시예에서, 학습 유닛(1050)은 소정의 개수의 레이블링된 후보 데이터 포인트들을 일괄적으로(batch) 인공지능 모델(1010)에 입력하여 인공지능 모델(1010)을 갱신할 수 있다. 학습 유닛(1050)은 레이블링된 후보 데이터 포인트들을, 데이터세트(2000)에 포함된 미리 레이블링된 다른 데이터 포인트들과 함께 인공지능 모델(1010)에 입력함으로써 인공지능 모델(1010)을 갱신할 수 있다.
사용자는 사용자 인터페이스(3000)를 통하여 데이터 포인트를 레이블링할 수 있다. 사용자 인터페이스(3000)는, 전자 장치(1000)에 대한 사용자 입력을 수신하기 위한 별도의 장치일 수 있다. 사용자 인터페이스(3000)는, 입력 요청 및 입력 결과를 사용자가 인식할 수 있도록 출력하는 출력부 및 사용자 입력을 수신하는 입력부를 포함할 수 있다.
다양한 실시예들에서, 사용자 인터페이스(3000)는 학습 유닛(1050)으로부터 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 수신할 수 있다. 다양한 실시예들에서, 사용자 인터페이스(3000)는 사용자로부터 선택된 후보 데이터 포인트들을 레이블링하는 입력을 받아 학습 유닛(1050)에 전송할 수 있다.
도 1에 도시된 각각의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것으로서, 적어도 하나 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구성될 수 있다. 예를 들어, 데이터세트(2000) 또는 사용자 인터페이스(3000)는 전자 장치(1000)와 동일한 물리적 장치 내에서 구현될 수 있다.
또한, 도 1에 도시된 각각의 구성 요소들은 기능적으로 연결되어 상술한 동작들을 수행하는 하나 이상의 물리적으로 분리된 장치들의 집합일 수 있다. 예를 들어, 전자 장치(1000) 또는 데이터세트(2000)는 복수의 물리적 장치들에 분산되어 구현될 수 있다.
도 1에 도시된 각각의 구성 요소들은 네트워크에 의하여 서로 연결되어 있을 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다.
도 2는 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 장치의 블록도이다. 도 2에 도시된 학습 유닛(1050)은 도 9의 전자 장치(1000) 또는 전자 장치(1000)에 포함된 프로세서(950)에 대응될 수 있다.
도 2를 참조하면, 학습 유닛(1050)은 데이터 포인트 획득부(210), 데이터 포인트 선택부(220), 사용자 레이블링부(230) 및 모델 갱신부(240)를 포함할 수 있다.
데이터 포인트 획득부(210)는 데이터세트(2000)로부터 레이블링되지 않은 데이터 포인트들을 획득할 수 있다.
데이터 포인트 선택부(220)는 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다. 선택된 후보 데이터 포인트들은 사용자에 의해 레이블링되기 위한 후보 데이터 포인트들일 수 있다. 선택된 후보 데이터 포인트들은 인공지능 모델(1010)을 갱신하기 위해 사용될 후보 데이터 포인트들일 수 있다.
일 실시예에서, 소정의 개수는 사용자에 의하여 미리 정해진 것일 수 있다. 소정의 개수는 사용자에게 한 번에 레이블링을 요청할 수 있는 개수일 수 있다. 또는 소정의 개수는 인공지능 모델(1010)이 한 번에 학습할 수 있는 데이터 포인트의 개수일 수 있다. 일 실시예에서, 소정의 개수는 2 이상의 정수 N로 정해질 수 있다.
다양한 실시예들에서, 데이터 포인트 선택부(220)는 레이블링되지 않은 데이터 포인트들 중에서 인공지능 모델(1010)을 가장 효율적으로 갱신할 수 있는 후보 데이터 포인트들을 소정의 개수만큼 선택할 수 있다. 데이터 포인트 선택부(220)는 최적화 알고리즘에 의하여 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다. 일 실시예에서, 데이터 포인트 선택부(220)는 레이블링되지 않은 전체 데이터 포인트들 중에서 소정의 개수의 후보 데이터 포인트들을 일괄적으로 선택할 수 있다.
일 실시예에서, 데이터 포인트 선택부(220)는 레이블링되지 않은 데이터 포인트들 각각이 인공지능 모델(1010)을 갱신하는 데 기여하는 정도를 예측할 수 있다. 상기 기여하는 정도를 예측함으로써, 데이터 포인트 선택부(220)는, 선택된 후보 데이터 포인트들만을 이용하여 인공지능 모델(1010)을 갱신한 결과가 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들을 모두 이용하여 인공지능 모델(1010)을 갱신한 결과를 가장 근접하게 근사하도록, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다.
일 실시예에 따르면, 인공지능 모델(1010)은 데이터 포인트로부터 목표값을 도출하기 위한 하나 이상의 파라미터로 구성될 수 있고, 상기 파라미터는 확률분포에 의하여 정의될 수 있다. 파라미터의 확률분포는 인공지능 모델(1010)이 데이터 포인트를 학습함에 따라 갱신될 수 있다.
이 경우 데이터 포인트 선택부(220)는, 레이블링되지 않은 데이터 포인트들 각각이 파라미터의 확률분포를 갱신하는 데 기여하는 정도를 예측할 수 있다. 상기 기여하는 정도를 예측함으로써, 데이터 포인트 선택부(220)는, 선택된 후보 데이터 포인트들만을 이용하여 파라미터의 확률분포를 갱신한 결과가 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들을 모두 이용하여 파라미터의 확률분포를 갱신한 결과에 가장 근접하도록, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다.
일 실시예에 따르면, 후보 데이터 포인트들을 선택할 때 최적 조건의 데이터 포인트를 하나씩 선택하는 것을 여러 번 반복할 수 있다. 그러나 이 경우, 각 선택에서 선택된 데이터 포인트들 간의 관계가 고려되지 않기 때문에, 선택된 데이터 포인트들의 분포는 전체 데이터세트의 분포에 비하여 편향되어 있을 수 있다. 따라서 선택된 후보 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신한 결과는 데이터세트(2000)에 포함된 전체 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신한 결과와 유사하지 않을 수 있다.
반면, 일 실시예에 따르면, 데이터 포인트가 인공지능 모델(1010)을 갱신하는 데 기여하는 정도를 고려하여 복수의 후보 데이터 포인트들을 일괄적으로 선택함으로써, 전체 데이터세트의 분포와 유사한 분포의 서브세트를 획득할 수 있다. 또한 선택된 후보 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신함으로써, 데이터세트(2000)에 포함된 전체 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신한 결과와 유사한 결과를 얻을 수 있다.
사용자 레이블링부(230)는 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력할 수 있다. 사용자 레이블링부(230)는 입력 요청에 응답한 사용자 입력에 기초하여, 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득할 수 있다. 사용자 레이블링부(230)는 입력 요청을 사용자 인터페이스(3000)로 전송할 수 있다. 사용자 레이블링부(230)는 입력 요청에 응답한 사용자 입력을 사용자 인터페이스(3000)로부터 수신할 수 있다.
일 실시예에서, 사용자 레이블링부(230)는 소정의 개수의 후보 데이터 포인트들에 대한 입력 요청을 일괄적으로(batch) 출력할 수 있다. 사용자 레이블링부(230)는 입력 요청에 응답한 사용자 입력을 일괄적으로 수신할 수 있다.
모델 갱신부(240)는 레이블링된 후보 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신할 수 있다. 모델 갱신부(240)는 인공지능 모델(1010)에 레이블링된 후보 데이터 포인트들을 입력하여 인공지능 모델(1010)을 학습시킬 수 있다.
일 실시예에서, 모델 갱신부(240)는 레이블링된 후보 데이터 포인트들과 레이블의 조합을 입력하여 인공지능 모델(1010)을 학습시킴으로써, 인공지능 모델(1010)을 구성하는 파라미터의 확률분포를 갱신할 수 있다.
일 실시예에서, 모델 갱신부(240)는 소정의 개수의 레이블링된 후보 데이터 포인트들을 일괄적으로(batch) 인공지능 모델(1010)에 입력하여 인공지능 모델(1010)을 갱신할 수 있다. 모델 갱신부(240)는 레이블링된 후보 데이터 포인트들을, 데이터세트(2000)에 포함된 미리 레이블링된 다른 데이터 포인트들과 함께 인공지능 모델(1010)에 입력함으로써 인공지능 모델(1010)을 갱신할 수 있다.
도 3은 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 방법의 흐름도이다. 도 3의 각 동작들은 도 1 및 도 2에 도시된 전자 장치(1000) 또는 전자 장치(1000)에 포함된 학습 유닛(1050), 또는 도 9에 도시된 전자 장치(1000)또는 전자 장치(1000)의 프로세서(950)에 의해 수행될 수 있다.
도 3을 참조하면, 동작 S310에서, 전자 장치(1000)는 복수의 데이터 포인트들을 포함하는 데이터세트(2000)로부터, 레이블링되지 않은 데이터 포인트들을 획득할 수 있다.
동작 S320에서, 전자 장치(1000)는 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다. 선택된 후보 데이터 포인트들은 사용자에 의해 레이블링되기 위한 후보 데이터 포인트들일 수 있다. 선택된 후보 데이터 포인트들은 인공지능 모델(1010)을 갱신하기 위해 사용될 후보 데이터 포인트들일 수 있다.
일 실시예에서, 소정의 개수는 사용자에 의하여 미리 정해진 것일 수 있다. 소정의 개수는 사용자에게 한 번에 레이블링을 요청할 수 있는 개수일 수 있다. 또는 소정의 개수는 인공지능 모델(1010)이 한 번에 학습할 수 있는 데이터 포인트의 개수일 수 있다. 일 실시예에서, 소정의 개수는 2 이상의 정수 N로 정해질 수 있다.
다양한 실시예들에서, 전자 장치(1000)는 레이블링되지 않은 데이터 포인트들 중에서 인공지능 모델(1010)을 가장 효율적으로 갱신할 수 있는 후보 데이터 포인트들을 소정의 개수만큼 선택할 수 있다. 전자 장치(1000)는 최적화 알고리즘에 의하여 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다. 일 실시예에서, 전자 장치(1000)는 레이블링되지 않은 전체 데이터 포인트들 중에서 소정의 개수의 후보 데이터 포인트들을 일괄적으로 선택할 수 있다.
일 실시예에서, 전자 장치(1000)는 레이블링되지 않은 데이터 포인트들 각각이 인공지능 모델(1010)을 갱신하는 데 기여하는 정도를 예측할 수 있다. 상기 기여하는 정도를 예측함으로써, 전자 장치(1000)는, 선택된 후보 데이터 포인트들만을 이용하여 인공지능 모델(1010)을 갱신한 결과가 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들을 모두 이용하여 인공지능 모델(1010)을 갱신한 결과를 가장 근접하게 근사하도록, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다.
일 실시예에 따르면, 인공지능 모델(1010)은 데이터 포인트로부터 목표값을 도출하기 위한 하나 이상의 파라미터 θ로 구성될 수 있고, 상기 파라미터 θ는 확률분포 p(θ)에 의하여 정의될 수 있다. 파라미터의 확률분포 p(θ)는 인공지능 모델(1010)이 데이터 포인트를 학습함에 따라 갱신될 수 있다.
이 경우 전자 장치(1000)는, 레이블링되지 않은 데이터 포인트들 각각이 파라미터의 확률분포 p(θ)를 갱신하는 데 기여하는 정도를 예측할 수 있다. 상기 기여하는 정도를 예측함으로써, 전자 장치(1000)는, 선택된 후보 데이터 포인트들만을 이용하여 파라미터의 확률분포를 갱신한 결과가 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들을 모두 이용하여 파라미터의 확률분포를 갱신한 결과에 가장 근접하도록, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다.
예를 들어, 아무런 데이터도 학습하지 않았을 때 파라미터 θ의 사전분포 p(θ)는 미리 주어진 값일 수 있다. 여기서 인공지능 모델(1010)이 레이블링된 데이터 포인트들의 집합 D 0만 학습하였을 때, 파라미터 θ의 사후분포를 p(θ|D 0)라고 할 수 있다. 또한 인공지능 모델(1010)이 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들의 집합 D p를 모두 추가로 학습하여 갱신되었을 때, 파라미터 θ의 새로운 사후분포를 p(θ|D 0∪D p)라고 할 수 있다. 또한 인공지능 모델(1010)이 레이블링되지 않은 데이터 포인트들 중 선택된 후보 데이터 포인트들의 집합 D *만을 추가로 학습하여 갱신되었을 때, 파라미터 θ의 새로운 사후분포를 p(θ|D 0∪D *)로 나타낼 수 있다.
이 경우 전자 장치(1000)는, 인공지능 모델(1010)이 데이터세트(2000)에 포함된 모든 데이터 포인트들을 이용하여 갱신된 경우의 파라미터의 확률분포 p(θ|D 0∪D p)가, 인공지능 모델(1010)이 선택된 후보 데이터 포인트들만을 이용하여 갱신된 경우의 파라미터의 확률분포 p(θ|D 0∪D *)에 가장 가까워지도록 후보 데이터 포인트들을 선택할 수 있다.
레이블링되지 않은 데이터 포인트들을 모두 학습하기 전에는 확률분포 p(θ|D 0∪D p)의 정확한 값을 획득할 수 없다. 이 경우, 레이블링되지 않은 데이터 포인트의 레이블 y p에 대하여 평균을 취한 E yp[logp(θ|D 0∪D p)]로 확률분포 p(θ|D 0∪D p)를 근사할 수 있다. 근사하고자 하는 목표인 E yp[logp(θ|D 0∪D p)]을 풀어 쓰면 수학식 1과 같이 나타낼 수 있다.
Figure PCTKR2020006689-appb-img-000001
이 때, L m(θ)는 기존의 확률분포 p(θ|D 0)를 새로운 확률분포 p(θ|D 0∪D p)로 갱신함에 있어서, D p에 속한 레이블링되지 않은 데이터 포인트 x m이 기여하는 정도를 나타낸다. 즉, 레이블링되지 않은 데이터 포인트들을 모두 이용하여 갱신된 새로운 확률분포 p(θ|D 0∪D p)는, 기존의 확률분포 p(θ|D 0)와, 각각의 레이블링되지 않은 데이터 포인트가 확률분포의 갱신에 기여하는 정도 L m의 총합에 의하여 예측될 수 있다. 따라서 후보 데이터 포인트들의 기여도 L m의 합이 모든 레이블링되지 않은 데이터 포인트의 기여도의 총합
Figure PCTKR2020006689-appb-img-000002
에 가장 근접하도록 후보 데이터 포인트들을 선택하면, 선택된 후보 데이터 포인트들만을 이용하여 갱신된 확률분포가 레이블링되지 않은 데이터 포인트들을 모두 이용하여 갱신된 확률분포에 가장 가까워질 수 있다.
일 실시예에서, 전자 장치(1000)는 기존의 확률분포에 기초하여 레이블링되지 않은 데이터 포인트가 확률분포의 갱신에 기여하는 정도를 획득할 수 있다.
일 실시예에서, 전자 장치(1000)는 데이터 포인트들을 대응되는 데이터 포인트 벡터들로 변환하여 후보 데이터 포인트들을 선택할 수 있다. 전자 장치(1000)는 레이블링되지 않은 데이터 포인트들에 대응되는 데이터 포인트 벡터들을 획득하고, 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터들을 선택하고, 선택된 데이터 포인트 벡터들에 대응되는 데이터 포인트들을 후보 데이터 포인트들로 결정할 수 있다.
동작 S330에서, 전자 장치(1000)는 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력할 수 있다. 전자 장치(1000)는 입력 요청을 사용자 인터페이스(3000)로 전송할 수 있다.
일 실시예에서, 전자 장치(1000)는 소정의 개수의 후보 데이터 포인트들에 대한 입력 요청을 일괄적으로(batch) 출력할 수 있다. 예를 들어, N개의 후보 데이터 포인트들이 선택되었을 경우, 전자 장치(1000)는 각각의 후보 데이터 포인트를 레이블링하기 위한 입력 요청을 하나씩 N번 전송하는 대신, N개의 입력 요청을 한꺼번에 전송할 수 있다.
동작 S340에서, 전자 장치(1000)는 입력 요청에 응답한 사용자 입력에 기초하여, 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득할 수 있다. 전자 장치(1000)는 입력 요청에 응답한 사용자 입력을 사용자 인터페이스(3000)로부터 수신할 수 있다.
일 실시예에서, 전자 장치(1000)는 소정의 개수의 후보 데이터 포인트들에 대한 사용자 입력을 일괄적으로(batch) 수신할 수 있다. 예를 들어, N개의 후보 데이터 포인트들이 선택되었을 경우, 전자 장치(1000)는 각각의 후보 데이터 포인트를 레이블링하는 사용자 입력을 하나씩 N번 수신하는 대신, N개의 사용자 입력을 한꺼번에 수신하여 N개의 후보 데이터 포인트들을 레이블링할 수 있다.
동작 S340에서, 전자 장치(1000)는 레이블링된 후보 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신할 수 있다. 전자 장치(1000)는 인공지능 모델(1010)에 레이블링된 후보 데이터 포인트들을 입력하여 인공지능 모델(1010)을 학습시킬 수 있다.
일 실시예에서, 전자 장치(1000)는 레이블링된 후보 데이터 포인트들과 레이블의 조합을 입력하여 인공지능 모델(1010)을 학습시킴으로써, 인공지능 모델(1010)을 구성하는 파라미터의 확률분포를 갱신할 수 있다.
일 실시예에서, 전자 장치(1000)는 소정의 개수의 레이블링된 후보 데이터 포인트들을 일괄적으로(batch) 인공지능 모델(1010)에 입력하여 학습시킬 수 있다. 예를 들어, N개의 후보 데이터 포인트들이 선택되어 레이블링되었을 경우, 전자 장치(1000)는 각각의 레이블링된 후보 데이터 포인트를 하나씩 인공지능 모델(1010)에 입력하고 인공지능 모델(1010)을 갱신하는 작업을 M번 반복하는 대신, M개의 레이블링된 후보 데이터 포인트들을 한꺼번에 인공지능 모델(1010)에 입력하여 인공지능 모델(1010)을 한 번에 갱신할 수 있다. 전자 장치(1000)는 레이블링된 후보 데이터 포인트들을, 데이터세트(2000)에 포함된 미리 레이블링된 다른 데이터 포인트들과 함께 인공지능 모델(1010)에 입력함으로써 인공지능 모델(1010)을 갱신할 수 있다.
도 4는 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들 중 소정의 개수의 후보 데이터 포인트들을 선택하는 방법의 흐름도이다. 도 4의 각 동작들은 도 1 및 도 2에 도시된 전자 장치(1000) 또는 전자 장치(1000)에 포함된 학습 유닛(1050), 또는 도 9에 도시된 전자 장치(1000)또는 전자 장치(1000)의 프로세서(950)에 의해 수행될 수 있다. 도 4의 동작 S410 내지 S430은 도 3의 동작 S320에 상응할 수 있다.
도 4를 참조하면, 동작 S410에서, 전자 장치(1000)는 레이블링되지 않은 데이터 포인트들에 대응되는 데이터 포인트 벡터들을 획득할 수 있다. 데이터 포인트 벡터는, 데이터 포인트에 대한 함수를 임의의 벡터 공간 상의 벡터로 나타낸 것일 수 있다. 이 경우, 데이터 포인트 벡터들의 크기 또는 데이터 포인트 벡터들 간의 각도는, 상기 데이터 포인트에 대한 함수들 간의 내적(inner product)을 기설정된 기준에 따라 계산함으로써 획득될 수 있다. 일 실시예에서, 상기 데이터 포인트에 대한 함수는, 데이터 포인트가 인공지능 모델(1010)의 갱신에 기여하는 정보를 예측하기 위하여 산출된 함수일 수 있다.
일 실시예에서, 전자 장치(1000)는 레이블링되지 않은 데이터 포인트 각각이 인공지능 모델(1010)의 갱신에 기여하는 정도를 예측함으로써 데이터 포인트 벡터를 계산할 수 있다. 예를 들어, 인공지능 모델(1010)이 하나 이상의 파라미터 θ로 구성되고, 상기 파라미터 θ는 확률분포 p(θ)에 의하여 정의될 때, 전자 장치(1000)는 파라미터의 확률분포 p(θ)의 갱신에 레이블링되지 않은 데이터 포인트 x m이 기여하는 정도를 나타내는 함수 L m(θ)를 계산하여 데이터 포인트 벡터를 획득할 수 있다.
동작 S420에서, 전자 장치(1000)는 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터들을 선택할 수 있다. 전자 장치(1000)는 최적화 알고리즘에 의하여 소정의 개수의 데이터 포인트 벡터들을 선택할 수 있다.
일 실시예에서, 전자 장치(1000)는 전체 데이터 포인트 벡터들의 벡터 공간에서의 분포에 기초하여 소정의 개수의 데이터 포인트 벡터들을 선택할 수 있다. 일 실시예에서, 전자 장치(1000)는 선택된 데이터 포인트 벡터들의 가중합이 전체 데이터 포인트 벡터들의 가중합에 가장 근접하도록 소정의 개수의 데이터 포인트 벡터들을 선택할 수 있다.
동작 S430에서, 전자 장치(1000)는 선택된 데이터 포인트 벡터들에 대응되는 데이터 포인트들을 후보 데이터 포인트들로 결정할 수 있다.
도 5는 일 실시예에 따른, 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터들을 선택하는 방법의 흐름도이다. 도 5의 각 동작들은 도 1 및 도 2에 도시된 전자 장치(1000) 또는 전자 장치(1000)에 포함된 학습 유닛(1050), 또는 도 9에 도시된 전자 장치(1000)또는 전자 장치(1000)의 프로세서(950)에 의해 수행될 수 있다. 도 5의 동작 S510 및 S520은 도 4의 동작 S420에 상응할 수 있다.
도 5를 참조하면, 동작 S510에서, 전자 장치(1000)는 데이터 포인트 벡터들로부터 데이터세트를 대표하는 벡터를 획득할 수 있다. 일 실시예에서, 상기 데이터세트를 대표하는 벡터는, 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들을 모두 이용하여 인공지능 모델(1010)을 갱신하였을 경우, 인공지능 모델(1010)이 기존에 비하여 갱신되는 정도를 나타낼 수 있다. 일 실시예에서, 상기 데이터세트를 대표하는 벡터는, 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들을 모두 이용하여 인공지능 모델(1010)을 갱신하였을 경우, 인공지능 모델(1010)의 파라미터의 확률분포가 기존에 비하여 갱신되는 정도를 나타낼 수 있다.
일 실시예에서, 데이터세트를 대표하는 벡터는 데이터 포인트 벡터들을 모두 더하여 획득될 수 있다. 예를 들어, 데이터 포인트 벡터들이 데이터 포인트 x m이 확률분포의 갱신에 기여하는 정도를 나타내는 함수 L m(θ)를 계산하여 획득되는 경우, 상기 데이터세트를 대표하는 벡터는
Figure PCTKR2020006689-appb-img-000003
로 계산될 수 있다.
동작 S520에서, 전자 장치(1000)는 각 데이터 포인트 벡터와 데이터세트를 대표하는 벡터 간의 근접한 정도에 기초하여 소정의 개수의 데이터 포인트 벡터들을 선택할 수 있다.
다양한 실시예들에서, 데이터 포인트 벡터와 데이터세트를 대표하는 벡터 간의 근접한 정도는, 데이터세트를 대표하는 벡터와 데이터 포인트 벡터 간의 각도에 기초하여 결정될 수 있다. 다양한 실시예들에서, 데이터 포인트 벡터와 데이터세트를 대표하는 벡터 간의 근접한 정도는, 데이터 포인트 벡터와 데이터세트를 대표하는 벡터 간의 가중 내적(weighted inner product)에 기초하여 결정될 수 있다.
일 실시예에서, 상기 가중 내적은 가중 피셔 내적(weighted Fisher inner product)일 수 있다. 데이터 포인트 벡터 L n과 L m 사이의 가중 피셔 내적 <L n,L m>은 수학식 2에 의해 계산될 수 있다.
Figure PCTKR2020006689-appb-img-000004
다른 실시예에서, 상기 가중 내적은 가중 유클리드 내적(weighted Euclidian inner product)일 수 있다.
일 실시예에서, 상기 가중 유클리드 내적을 계산하기 위한 데이터 포인트 벡터는, 데이터 포인트에 대한 함수를 유클리드 공간 상의 벡터로 변환하여 획득할 수 있다. 예를 들어, 상기 가중 유클리드 내적을 계산하기 위한 데이터 포인트 벡터 L n은 수학식 3에 의해 데이터 포인트에 대한 함수에 랜덤 프로젝션 (random projection)을 수행하여 계산될 수 있다.
Figure PCTKR2020006689-appb-img-000005
일 실시예에서, 전자 장치(1000)는 가중 내적을 이용하여 선형 회귀(linear regression)를 수행함으로써 소정의 개수의 데이터 포인트 벡터를 선택할 수 있다. 예를 들어, 선형 회귀는 베이즈 선형 회귀 (Bayesian linear regression) 방법에 기초하여 수행될 수 있다. 상기 베이즈 선형 회귀 방법에서, 데이터 포인트 벡터 L n과 L m 사이의 가중 피셔 내적 <L n,L m>은 수학식 4에 의해 계산될 수 있다.
Figure PCTKR2020006689-appb-img-000006
다른 실시예에서, 전자 장치(1000)는 가중 내적을 이용하여 로지스틱 회귀(logistic regression)를 수행함으로써 소정의 개수의 데이터 포인트 벡터를 선택할 수 있다. 상기 로지스틱 회귀에서, 데이터 포인트 벡터 L n과 L m 사이의 가중 피셔 내적 <L n,L m>은 수학식 5에 의해 계산될 수 있다.
Figure PCTKR2020006689-appb-img-000007
이 때, BvN은 이변수 정규누적밀도함수(bi-variate Normal cumulative density function)를 의미한다.
일 실시예에서, 전자 장치(1000)는 프랭크-울프 최적화 (Frank-Wolfe Optimization) 알고리즘을 사용하여 소정의 개수의 데이터 포인트 벡터들을 선택할 수 있다. 전자 장치(1000)는 가중치에 기초하여 데이터 포인트 벡터와 데이터세트를 대표하는 벡터 간의 가중 내적을 계산하고, 계산된 가중 내적이 가장 큰 데이터 포인트 벡터를 선택하고, 선택된 데이터 포인트 벡터에 기초하여 상기 가중치를 갱신하는 동작을 소정의 개수만큼 반복하여, 소정의 개수의 데이터 포인트 벡터를 선택할 수 있다.
도 6a 내지 도 6f는 일 실시예에 따른, 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터들을 선택하는 방법을 나타내는 도면이다.
도 6a 내지 도 6f를 참조하면, 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들 x 1, x 2, ..., x M-1, x M에 대응되는 데이터 포인트 벡터들 L 1, L 2, ..., L M-1, L M (610)이 임의의 벡터 공간 상의 좌표로 도시된다. 일 실시예에서, 상기 데이터 포인트 벡터들은 인공지능 모델(1010)을 구성하는 파라미터의 확률분포의 갱신에 각 데이터 포인트들이 기여하는 정도를 나타내는 함수일 수 있다.
도 6a를 참조하면, 데이터세트를 대표하는 벡터 L(620)이 벡터 공간 상의 좌표로 도시된다. 일 실시예에서, 데이터세트를 대표하는 벡터 L(620)은 모든 데이터 포인트 벡터들 L 1, L 2, ..., L M-1, L M (610)을 더하여 획득된 것일 수 있다. 즉, 상기 데이터세트를 대표하는 벡터 L은
Figure PCTKR2020006689-appb-img-000008
로 계산될 수 있다.
도 6b를 참조하면, 데이터 포인트 벡터를 선택하기 위한 가중치가 초기화된다. 예를 들어, 상기 가중치는 0으로 초기화될 수 있다.
가중치에 따라, 벡터 공간 상에서 가중치에 대응되는 기준 좌표(630)가 결정된다. 일 실시예에서, 상기 가중치에 대응되는 기준 좌표는 수학식 6으로 계산될 수 있다.
Figure PCTKR2020006689-appb-img-000009
이 때, w m은 각 데이터 포인트 벡터의 가중치, L(w)는 가중치에 대응되는 기준 좌표를 나타낸다. 예를 들어, 가중치 w가 0으로 초기화된 경우, 상기 기준 좌표 L(w) (630)는 벡터 공간의 원점이 될 수 있다.
도 6c를 참조하면, 가중치에 기초하여, 데이터세트를 대표하는 벡터(620)와 가장 근접한 데이터 포인트 벡터(640)가 선택된다. 일 실시예에서, 가중치에 기초하여 데이터 포인트 벡터와 데이터세트를 대표하는 벡터(620) 간의 가중 내적이 계산되고, 계산된 가중 내적이 가장 큰 데이터 포인트 벡터가 가장 근접한 데이터 포인트 벡터(640)로 결정될 수 있다. 예를 들어, 가중치에 대응되는 기준 좌표 L(w)(630)를 기준으로, 데이터세트를 대표하는 벡터 L(620)과 가장 작은 각도를 이루는 데이터 포인트 벡터가 가장 근접한 데이터 포인트 벡터(640)로 결정될 수 있다.
예를 들어, 가장 근접한 데이터 포인트 벡터(640)는 수학식 7에 의해 결정될 수 있다.
Figure PCTKR2020006689-appb-img-000010
이 때, f는 가장 근접한 데이터 포인트 벡터, σ n은 데이터 포인트 벡터 L n의 크기를 의미한다. 수학식 7에서 사용되는 가중 내적은 수학식 2, 4 또는 5에 의해 계산되는 가중 피셔 내적, 또는 수학식 3에 의해 계산되는 가중 유클리드 내적일 수 있다.
도 6d를 참조하면, 선택된 데이터 포인트 벡터(640)에 기초하여, 가중치가 새로운 가중치로 갱신될 수 있다. 일 실시예에서, 가중치는 기준 좌표(630)를 선택된 데이터 포인트 벡터(640)의 방향으로 일정 거리 이동시키도록 갱신될 수 있다. 갱신된 가중치에 따라, 새로운 기준 좌표(650)가 설정된다.
예를 들어, 새로운 가중치는 수학식 8에 의해 계산될 수 있다.
Figure PCTKR2020006689-appb-img-000011
이 때, Lf는 선택된 데이터 포인트 벡터, σ f은 선택된 데이터 포인트 벡터 L f의 크기를 의미한다. 수학식 7에서 사용되는 가중 내적(<L n, L m>)은 수학식 2, 4 또는 5에 의해 계산되는 가중 피셔 내적, 또는 수학식 3에 의해 계산되는 가중 유클리드 내적일 수 있다.
도 6e를 참조하면, 갱신된 가중치에 기초하여, 앞서 선택된 데이터 포인트 벡터들을 제외하고 데이터세트를 대표하는 벡터(620)와 가장 근접한 데이터 포인트 벡터(660)가 선택된다. 도 6f를 참조하면, 새로 선택된 데이터 포인트 벡터(660)에 기초하여, 가중치가 다시 갱신되고, 갱신된 가중치에 따라 새로운 기준 좌표(670)가 다시 설정된다. 가장 근접한 데이터 포인트 벡터를 선택하고 가중치를 갱신하는 방법은 앞서 도 6c 및 도 6d에서 설명된 것과 동일하다.
상술한 방법으로, 데이터세트를 대표하는 벡터(620)와 가장 근접한 데이터 포인트 벡터를 선택하고 가중치를 갱신하는 동작을 소정의 개수만큼 반복할 수 있다. 반복할수록 기준 좌표 L(w)는 데이터세트를 대표하는 벡터 L(620)에 점점 다가가고, 소정의 개수만큼 선택을 반복하였을 때 최종적으로 결정된 L(w)가 L에 대한 근사가 된다.
따라서, 상술한 방법으로 소정의 개수의 데이터 포인트 벡터들을 선택하였을 때, 선택된 데이터 포인트 벡터들에 대응되는 후보 데이터 포인트들은, 후보 데이터 포인트들의 기여도 L m의 합이 모든 레이블링되지 않은 데이터 포인트의 기여도의 총합
Figure PCTKR2020006689-appb-img-000012
에 가장 근접한다는 최적화 요건을 만족한다. 즉, 선택된 소정의 개수의 데이터 포인트 벡터에 대응되는 소정의 개수의 후보 데이터 포인트들을 이용하여 인공지능 모델을 갱신한 결과는, 레이블링되지 않은 데이터 포인트들을 모두 이용하여 인공지능 모델을 갱신한 결과를 가장 근접하게 근사할 수 있다.
도 7은 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 장치의 블록도이다. 도 7에 도시된 학습 유닛(1050)은 도 9의 전자 장치(1000) 또는 전자 장치(1000)에 포함된 프로세서(950)에 대응될 수 있다.
도 7을 참조하면, 학습 유닛(1050)은 데이터 포인트 획득부(710), 데이터 포인트 선택부(720), 사용자 레이블링부(730), 모델 갱신부(740) 및 모델 평가부(750)를 포함할 수 있다. 데이터 포인트 획득부(710), 사용자 레이블링부(730) 및 모델 갱신부(740)는 도 2의 데이터 포인트 획득부(210), 사용자 레이블링부(230) 및 모델 갱신부(240)와 동일하게 동작할 수 있으므로, 중복되는 설명은 생략한다.
모델 평가부(750)는 인공지능 모델(1010)의 예측 정확도를 평가할 수 있다. 일 실시예에서, 모델 평가부(750)는 인공지능 모델(1010)이 학습하지 않은 데이터 포인트를 인공지능 모델(1010)에 입력하여, 예측한 목표값이 정답과 일치하는지 여부에 기초하여 인공지능 모델의(1010)의 예측 정확도를 평가할 수 있다.
데이터 포인트 선택부(720)는 도 2의 데이터 포인트 선택부(220)와 동일하게 동작할 수 있고, 이에 더하여, 모델 평가부(750)가 평가한 예측 정확도에 따라, 인공지능 모델(1010)을 계속 학습시킬지 여부를 결정할 수 있다. 일 실시예에서, 데이터 포인트 선택부(720)는 상기 예측 정확도가 기준 미만인 경우, 레이블링되지 않은 데이터 포인트들 중 소정의 개수의 후보 데이터 포인트들을 선택하기로 결정할 수 있다. 일 실시예에서, 데이터 포인트 선택부(720)는 상기 예측 정확도가 기준 이상인 경우, 후보 데이터 포인트들을 더 선택하지 않고 학습을 종료하기로 결정할 수 있다. 일 실시예에서, 상기 기준은 미리 정해진 값일 수 있다.
데이터 포인트 선택부(720), 사용자 레이블링부(730), 모델 갱신부(740) 및 모델 평가부(750)는, 인공지능 모델(1010)의 예측 정확도가 기준 이상이 될 때까지, 레이블링되지 않은 데이터 포인트들 중 소정의 개수의 후보 데이터 포인트들을 선택하고, 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력하고, 입력 요청에 응답한 사용자 입력에 기초하여 선택된 후보 데이터 포인트들을 레이블링함으로써 레이블링된 후보 데이터 포인트들을 획득하고, 레이블링된 후보 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신하고, 갱신된 인공지능 모델(1010)을 평가하는 학습 알고리즘을 반복할 수 있다.
도 8은 일 실시예에 따른, 레이블링되지 않은 데이터 포인트들을 이용하여 인공지능 모델을 학습시키는 방법의 흐름도이다. 도 8의 각 동작들은 도 1 및 도 7에 도시된 전자 장치(1000) 또는 전자 장치(1000)에 포함된 학습 유닛(1050), 또는 도 9에 도시된 전자 장치(1000) 또는 전자 장치(1000)의 프로세서(950)에 의해 수행될 수 있다. 도 8의 동작 S810, S840, S850, 및 S860, 및 S870은 각각 도 3의 동작 S310, S320, S330, S340, 및 S350에 상응할 수 있다.
도 8을 참조하면, 동작 S810에서, 전자 장치(1000)는 복수의 데이터 포인트들을 포함하는 데이터세트로부터, 레이블링되지 않은 데이터 포인트들을 획득할 수 있다.
동작 S820에서, 전자 장치(1000)는 인공지능 모델(1010)의 예측 정확도를 평가할 수 있다. 일 실시예에서, 전자 장치(1000)는 인공지능 모델(1010)이 학습하지 않은 데이터 포인트를 인공지능 모델(1010)에 입력하여, 예측한 목표값이 정답과 일치하는지 여부에 기초하여 인공지능 모델(1010)의 예측 정확도를 평가할 수 있다.
동작 S830에서, 전자 장치(1000)는 평가된 예측 정확도를 기준과 비교할 수 있다. 상기 예측 정확도가 기준 이상인 경우, 전자 장치(1000)는 학습 알고리즘을 종료하기로 결정할 수 있다. 일 실시예에서, 상기 기준은 미리 정해진 값일 수 있다.
상기 예측 정확도가 기준 미만인 경우, 전자 장치(1000)는 동작 S840 단계를 수행할 수 있다. 동작 S840에서, 전자 장치(1000)는 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택하기로 결정할 수 있다.
일 실시예에서, 전자 장치(1000)는 레이블링되지 않은 데이터 포인트들에 대응되는, 데이터 포인트 벡터들을 획득할 수 있다. 일 실시예에서, 전자 장치(1000)는 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터들을 선택할 수 있다. 예를 들어, 전자 장치(1000)는 데이터 포인트 벡터들로부터 데이터세트를 대표하는 벡터를 획득하고, 각 데이터 포인트 벡터와 데이터세트를 대표하는 벡터 간의 근접한 정도에 기초하여 소정의 개수의 데이터 포인트 벡터들을 선택할 수 있다. 일 실시예에서, 전자 장치(1000)는 선택된 데이터 포인트 벡터들에 대응되는 데이터 포인트들을 후보 데이터 포인트들로 결정할 수 있다.
동작 S850에서, 전자 장치(1000)는 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력할 수 있다. 동작 S860에서, 전자 장치(1000)는 입력 요청에 응답한 사용자 입력에 기초하여, 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득할 수 있다.
동작 S870에서, 전자 장치(1000)는 레이블링된 후보 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신할 수 있다. 그 후 동작 S820으로 돌아가서, 전자 장치(1000)는 갱신된 인공지능 모델(1010)에 대하여 다시 예측 정확도를 평가하고, 상기 예측 정확도가 기준 이상이 될 때까지, 상술한 동작 S820 내지 S870을 반복할 수 있다.
도 9는 일 실시예에 따른 전자 장치의 블록도이다.
도 9에 도시된 바와 같이, 일 실시예에 따른 전자 장치(1000)는, 통신부(910), 메모리(920), 입력부(930), 출력부(940) 및 프로세서(950)를 포함할 수 있다. 그러나, 도 9에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니며, 도 9에 도시된 구성 요소보다 많거나 또는 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.
통신부(910)는, 데이터세트(2000)를 저장하는 외부 장치 및 사용자 인터페이스(3000)를 포함하는 외부 장치와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(910)는, 근거리 통신부, 이동 통신부, 및 방송 수신부를 포함할 수 있다.
다양한 실시예들에서, 통신부(910)는 데이터세트(2000)에 포함된 데이터 포인트들을 획득하기 위하여 필요한 정보를 데이터세트(2000)를 저장하는 외부 장치와 송수신 할 수 있다. 다양한 실시예들에서, 통신부(910)는 후보 데이터 포인트들을 레이블링하기 위한 입력 요청을 사용자 인터페이스(3000)를 포함하는 외부 장치로 전송하고, 입력 요청에 응답한 사용자 입력을 사용자 인터페이스(3000)를 포함하는 외부 장치로부터 수신할 수 있다.
메모리(920)는, 프로세서(950)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수 있다.
다양한 실시예들에서, 메모리(920)는 데이터세트(2000)를 저장하고 있을 수 있다. 다양한 실시예들에서, 메모리(920)는 데이터세트(2000)로부터 획득한 레이블링되지 않은 데이터 포인트들을 저장할 수 있다. 다양한 실시예들에서, 메모리(920)는 레이블링되지 않은 데이터 포인트들 중에서 선택된 후보 데이터 포인트들 및 레이블링된 후보 데이터 포인트들을 저장할 수 있다.
입력부(930)는, 사용자가 프로세서(950)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부(930)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
다양한 실시예들에서, 입력부(930)는 후보 데이터 포인트들에 대한 입력 요청에 응답한 사용자 입력을 수신할 수 있다. 다양한 실시예들에서, 입력부(930)는 사용자 인터페이스(3000)의 입력부에 해당할 수 있다. 또는 다른 실시예들에서, 입력부(930)는 사용자 인터페이스(3000)의 입력부와 연결되어, 사용자 인터페이스(3000)로부터 사용자 입력을 수신할 수 있다.
출력부(940)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(940)는 디스플레이부 및 음향 출력부를 포함할 수 있다.
다양한 실시예들에서, 출력부(940)는 후보 데이터 포인트들을 레이블링하기 위한 입력 요청을 출력할 수 있다. 다양한 실시예들에서, 출력부(940)는 사용자 인터페이스(3000)의 출력부에 해당할 수 있다. 또는 다른 실시예들에서, 출력부(940)는 사용자 인터페이스(3000)의 출력부와 연결되어, 입력 요청을 사용자 인터페이스(3000)로 출력할 수 있다.
프로세서(950)는, 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(950)는, 메모리(920)에 저장된 프로그램들을 실행함으로써, 통신부(910), 메모리(920), 입력부(930), 출력부(940) 등을 전반적으로 제어할 수 있다. 프로세서(950)는, 통신부(910), 메모리(920), 입력부(930), 출력부(940) 등을 제어함으로써, 본 개시에서의 전자 장치(1000)의 동작을 제어할 수 있다.
구체적으로, 프로세서(950)는, 통신부(910) 또는 메모리(920)를 통하여, 데이터세트(2000)로부터 레이블링되지 않은 데이터 포인트들을 획득할 수 있다. 프로세서(950)는 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 데이터 포인트들을 선택할 수 있다. 선택된 후보 데이터 포인트들은 사용자에 의해 레이블링되기 위한 후보 데이터 포인트들일 수 있다. 선택된 후보 데이터 포인트들은 인공지능 모델(1010)을 갱신하기 위해 사용될 후보 데이터 포인트들일 수 있다.
일 실시예에서, 프로세서(950)는 레이블링되지 않은 데이터 포인트들 각각이 인공지능 모델(1010)을 갱신하는 데 기여하는 정도를 예측할 수 있다. 상기 기여하는 정도를 예측함으로써, 프로세서(950)는, 선택된 후보 데이터 포인트들만을 이용하여 인공지능 모델(1010)을 갱신한 결과가 데이터세트(2000)에 포함된 레이블링되지 않은 데이터 포인트들을 모두 이용하여 인공지능 모델(1010)을 갱신한 결과를 가장 근접하게 근사하도록, 소정의 개수의 후보 데이터 포인트들을 선택할 수 있다.
프로세서(950)는 선택된 후보 데이터 포인트들을 레이블링하기 위한 입력 요청을 출력할 수 있다. 프로세서(950)는 입력 요청에 응답한 사용자 입력에 기초하여, 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득할 수 있다. 프로세서(950)는 입력 요청을 통신부(910) 또는 출력부(940)를 통하여 사용자 인터페이스(3000)로 전송할 수 있다. 프로세서(950)는 입력 요청에 응답한 사용자 입력을 통신부(910) 또는 입력부(930)를 통하여 사용자 인터페이스(3000)로부터 수신할 수 있다.
일 실시예에서, 프로세서(950)는 소정의 개수의 후보 데이터 포인트들에 대한 입력 요청을 일괄적으로(batch) 출력할 수 있다. 프로세서(950)는 입력 요청에 응답한 사용자 입력을 일괄적으로 수신할 수 있다.
프로세서(950)는 레이블링된 후보 데이터 포인트들을 이용하여 인공지능 모델(1010)을 갱신할 수 있다. 프로세서(950)는 인공지능 모델(1010)에 레이블링된 후보 데이터 포인트들을 입력하여 인공지능 모델을 학습시킬 수 있다. 일 실시예에서, 프로세서(950)는 소정의 개수의 레이블링된 후보 데이터 포인트들을 일괄적으로(batch) 인공지능 모델(1010)에 입력하여 인공지능 모델을 학습시킬 수 있다.
일 실시예에서, 프로세서(950)는 인공지능 모델(1010)의 예측 정확도를 평가할 수 있다. 프로세서(950)는 상기 예측 정확도가 기준 미만인 경우, 레이블링되지 않은 데이터 포인트들 중, 인공지능 모델(1010)을 학습시키는 데 이용할 후보 데이터 포인트들을 선택하기로 결정할 수 있다. 프로세서(950)는 인공지능 모델(1010)의 예측 정확도가 기준 이상이 될 때까지, 레이블링되지 않은 데이터 포인트들 중 소정의 개수의 후보 데이터 포인트들을 선택하고, 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력하고, 입력 요청에 응답한 사용자 입력에 기초하여 선택된 후보 데이터 포인트들을 레이블링함으로써 레이블링된 후보 데이터 포인트들을 획득하고, 레이블링된 후보 데이터 포인트들을 이용하여 인공지능 모델을 갱신하는 학습 알고리즘을 반복할 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 전자 장치(1000)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리(950))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(1000))의 프로세서(예: 프로세서(950))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 개시에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치가 인공지능 모델을 학습시키는 방법에 있어서,
    복수의 데이터 포인트들을 포함하는 데이터세트로부터, 데이터 포인트의 속성을 나타내는 레이블(label)이 레이블링(labeling)되지 않은 데이터 포인트들을 획득하는 단계;
    상기 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택하는 단계;
    상기 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력하는 단계; 및
    상기 입력 요청에 응답한 사용자 입력에 기초하여, 상기 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득하는 단계;
    상기 레이블링된 후보 데이터 포인트들을 이용하여 상기 인공지능 모델을 갱신하는 단계;
    를 포함하는,
    인공지능 모델을 학습시키는 방법.
  2. 제1항에 있어서,
    상기 인공지능 모델은 확률분포를 가지는 파라미터를 이용하여 레이블링되지 않은 데이터 포인트의 레이블을 예측하는 것을 특징으로 하고,
    상기 인공지능 모델을 갱신하는 단계는,
    상기 레이블링된 후보 데이터 포인트들을 이용하여 상기 파라미터의 확률분포를 갱신하는 단계를 포함하는,
    인공지능 모델을 학습시키는 방법.
  3. 제2항에 있어서,
    상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계는,
    상기 레이블링되지 않은 데이터 포인트들 각각이 상기 파라미터의 확률분포를 갱신하는 데 기여하는 정도를 예측함으로써, 상기 선택된 후보 데이터 포인트들을 이용하여 상기 파라미터의 확률분포를 갱신한 결과가 상기 데이터세트에 포함된 전체 데이터 포인트들을 이용하여 상기 파라미터의 확률분포를 갱신한 결과에 근접하도록 하기 위하여, 상기 레이블링되지 않은 데이터 포인트들 중에서 상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계를 포함하는,
    인공지능 모델을 학습시키는 방법.
  4. 제1항에 있어서,
    상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계는,
    상기 레이블링되지 않은 데이터 포인트들에 대응되는, 데이터 포인트 벡터들을 획득하는 단계;
    상기 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터들을 선택하는 단계; 및
    상기 선택된 데이터 포인트 벡터들에 대응되는 데이터 포인트들을 상기 후보 데이터 포인트들로 결정하는 단계;
    를 포함하는,
    인공지능 모델을 학습시키는 방법.
  5. 제4항에 있어서,
    상기 데이터 포인트 벡터들은, 상기 레이블링되지 않은 데이터 포인트 각각이 상기 인공지능 모델의 갱신에 기여하는 정도를 예측함으로써 계산되는 것인,
    인공지능 모델을 학습시키는 방법.
  6. 제4항에 있어서,
    상기 데이터 포인트 벡터들 중 상기 소정의 개수의 데이터 포인트 벡터들을 선택하는 단계는,
    상기 데이터 포인트 벡터들로부터 상기 데이터세트를 대표하는 벡터를 획득하는 단계; 및
    상기 데이터 포인트 벡터와 상기 데이터세트를 대표하는 벡터 간의 근접한 정도에 기초하여 상기 소정의 개수의 데이터 포인트 벡터들을 선택하는 단계;
    를 포함하는,
    인공지능 모델을 학습시키는 방법.
  7. 제6항에 있어서,
    상기 데이터 포인트 벡터와 상기 데이터세트를 대표하는 벡터 간의 근접한 정도는, 상기 데이터 포인트 벡터와 상기 데이터세트를 대표하는 벡터 간의 가중 내적(weighted inner product)에 기초하여 결정되는 것을 특징으로 하는,
    인공지능 모델을 학습시키는 방법.
  8. 제1항에 있어서,
    상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계는,
    베이즈 선형 회귀 (Bayesian linear regression) 방법에 기초하여, 상기 레이블링되지 않은 데이터 포인트들 중에서 상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계를 포함하는,
    인공지능 모델을 학습시키는 방법.
  9. 제1항에 있어서,
    상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계는,
    프랭크-울프 최적화 (Frank-Wolfe Optimization) 알고리즘을 사용하여, 상기 레이블링되지 않은 데이터 포인트들 중에서 상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계를 포함하는,
    인공지능 모델을 학습시키는 방법.
  10. 제1항에 있어서,
    상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계는,
    상기 인공지능 모델의 예측 정확도를 평가하는 단계; 및
    상기 예측 정확도가 기준 미만으로 평가된 경우, 상기 레이블링되지 않은 데이터 포인트들 중, 상기 소정의 개수의 후보 데이터 포인트들을 선택하는 단계;
    를 포함하는,
    인공지능 모델을 학습시키는 방법.
  11. 제1항에 있어서,
    상기 인공지능 모델을 갱신하는 단계는,
    상기 레이블링된 후보 데이터 포인트들을 한꺼번에 상기 데이터세트에 추가하는 단계; 및
    상기 레이블링된 후보 데이터 포인트들을, 상기 데이터세트에 포함된 미리 레이블링된 다른 데이터 포인트들과 함께 상기 인공지능 모델에 입력함으로써 상기 인공지능 모델을 갱신하는 단계;
    를 포함하는,
    인공지능 모델을 학습시키는 방법.
  12. 인공지능 모델을 학습시키는 전자 장치에 있어서,
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 하나 이상의 인스트럭션을 실행하는 프로세서; 를 포함하고,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    복수의 데이터 포인트들을 포함하는 데이터세트로부터, 데이터 포인트의 속성을 나타내는 레이블(label)이 레이블링(labeling)되지 않은 데이터 포인트들을 획득하고,
    상기 레이블링되지 않은 데이터 포인트들 중, 소정의 개수의 후보 데이터 포인트들을 선택하고,
    상기 선택된 후보 데이터 포인트들을 함께 레이블링하기 위한 입력 요청을 출력하고,
    상기 입력 요청에 응답한 사용자 입력에 기초하여, 상기 선택된 후보 데이터 포인트들을 레이블링함으로써, 레이블링된 후보 데이터 포인트들을 획득하고,
    상기 레이블링된 후보 데이터 포인트들을 이용하여 상기 인공지능 모델을 갱신하는,
    전자 장치.
  13. 제12항에 있어서,
    상기 인공지능 모델은 확률분포를 가지는 파라미터를 이용하여 레이블링되지 않은 데이터 포인트의 레이블을 예측하는 것을 특징으로 하고,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 레이블링된 후보 데이터 포인트들을 이용하여 상기 파라미터의 확률분포를 갱신하는,
    전자 장치.
  14. 제12항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 레이블링되지 않은 데이터 포인트들에 대응되는, 데이터 포인트 벡터들을 획득하고,
    상기 데이터 포인트 벡터들 중 소정의 개수의 데이터 포인트 벡터들을 선택하고,
    상기 선택된 데이터 포인트 벡터들에 대응되는 데이터 포인트들을 상기 후보 데이터 포인트들로 결정하는,
    전자 장치.
  15. 제 1 항의 방법을 컴퓨터에서 수행하도록 하는 프로그램이 저장된, 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2020/006689 2019-08-30 2020-05-22 인공지능 모델을 학습시키는 시스템 및 방법 WO2021040192A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0107655 2019-08-30
KR1020190107655A KR20210026623A (ko) 2019-08-30 2019-08-30 인공지능 모델을 학습시키는 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2021040192A1 true WO2021040192A1 (ko) 2021-03-04

Family

ID=74685975

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/006689 WO2021040192A1 (ko) 2019-08-30 2020-05-22 인공지능 모델을 학습시키는 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR20210026623A (ko)
WO (1) WO2021040192A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102657226B1 (ko) * 2021-10-18 2024-04-15 주식회사 온택트헬스 심장 초음파 이미지 데이터를 증강하기 위한 방법 및 장치
KR20240081811A (ko) * 2022-12-01 2024-06-10 주식회사 써티웨어 전주기 심층 능동학습 기반 데이터 라벨링 시스템 및 방법
KR102518913B1 (ko) * 2022-12-14 2023-04-10 라온피플 주식회사 인공지능 모델의 성능 관리 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160292129A1 (en) * 2013-05-30 2016-10-06 Universite De Sherbrooke Systems and methods for bayesian optimization using integrated acquisition functions
US20170098172A1 (en) * 2015-10-06 2017-04-06 Evolv Technologies, Inc. Training Artificial Intelligence
KR20170083419A (ko) * 2016-01-08 2017-07-18 마우키스튜디오 주식회사 레이블링되지 않은 다수의 학습 데이터를 이용하여 딥 러닝의 모델을 트레이닝하는 방법 및 이를 수행하는 딥 러닝 시스템
KR101864412B1 (ko) * 2017-12-28 2018-06-04 (주)휴톰 학습용 데이터 관리방법, 장치 및 프로그램
US20190259499A1 (en) * 2016-10-19 2019-08-22 Peach Intellihealth Pte Ltd. System and method for predicting sequential organ failure assessment (sofa) scores using artificial intelligence and machine learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160292129A1 (en) * 2013-05-30 2016-10-06 Universite De Sherbrooke Systems and methods for bayesian optimization using integrated acquisition functions
US20170098172A1 (en) * 2015-10-06 2017-04-06 Evolv Technologies, Inc. Training Artificial Intelligence
KR20170083419A (ko) * 2016-01-08 2017-07-18 마우키스튜디오 주식회사 레이블링되지 않은 다수의 학습 데이터를 이용하여 딥 러닝의 모델을 트레이닝하는 방법 및 이를 수행하는 딥 러닝 시스템
US20190259499A1 (en) * 2016-10-19 2019-08-22 Peach Intellihealth Pte Ltd. System and method for predicting sequential organ failure assessment (sofa) scores using artificial intelligence and machine learning
KR101864412B1 (ko) * 2017-12-28 2018-06-04 (주)휴톰 학습용 데이터 관리방법, 장치 및 프로그램

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PINSLER, ROBERT ET AL.: "Bayesian Batch Active Learning as Sparse Subset Approximation", ARXIV:1908.02144V4, 6 August 2019 (2019-08-06), XP081571854, Retrieved from the Internet <URL:https://arxiv.org/pdf/1908.02144.pdf> [retrieved on 20200812] *

Also Published As

Publication number Publication date
KR20210026623A (ko) 2021-03-10

Similar Documents

Publication Publication Date Title
WO2021040192A1 (ko) 인공지능 모델을 학습시키는 시스템 및 방법
WO2020141924A1 (en) Apparatus and method of generating map data of cleaning space
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2019231130A1 (ko) 전자 장치 및 그의 제어방법
WO2020179995A1 (ko) 전자 장치 및 이의 제어 방법
EP3915063A1 (en) Multi-model structures for classification and intent determination
WO2018093229A1 (en) Method and device applying artificial intelligence to send money by using voice input
WO2019132410A1 (en) Electronic device and control method thereof
WO2021112631A1 (en) Device, method, and program for enhancing output content through iterative generation
WO2019172642A1 (ko) 심장 박동을 측정하기 위한 전자 장치 및 방법
WO2020130260A1 (en) Mobile terminal and method of operating the same
WO2019190171A1 (ko) 전자 장치 및 그 제어 방법
WO2022177345A1 (ko) 인공지능 기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
WO2019054715A1 (ko) 전자 장치 및 이의 피드백 정보 획득 방법
WO2018124464A1 (ko) 전자 장치 및 전자 장치의 검색 서비스 제공 방법
WO2023033538A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2019190243A1 (ko) 사용자와의 대화를 위한 정보를 생성하는 시스템 및 방법
WO2022191474A1 (ko) 이미지의 화질을 개선하는 전자 장치 및 이를 이용한 이미지의 화질 개선 방법
WO2022139479A1 (ko) 발생될 다음 이벤트를 예측하는 방법 및 디바이스
WO2022154236A1 (ko) 사용자 입력을 추론하는 사용자 맞춤형 전자 장치 및 이를 제어하는 방법
WO2022039494A1 (ko) 단말의 모델을 갱신하는 서버 및 그 동작 방법
WO2020153795A1 (ko) 보이스 어시스턴트 서비스를 제공하는 시스템 및 방법
WO2023128323A1 (ko) 목표 객체를 검출하는 전자 장치 및 방법
WO2024144328A1 (ko) 인공 지능 장치 및 그의 동작 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20859133

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20859133

Country of ref document: EP

Kind code of ref document: A1