WO2019098449A1 - 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법 - Google Patents

메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법 Download PDF

Info

Publication number
WO2019098449A1
WO2019098449A1 PCT/KR2017/014840 KR2017014840W WO2019098449A1 WO 2019098449 A1 WO2019098449 A1 WO 2019098449A1 KR 2017014840 W KR2017014840 W KR 2017014840W WO 2019098449 A1 WO2019098449 A1 WO 2019098449A1
Authority
WO
WIPO (PCT)
Prior art keywords
class
learning
anchor point
electronic device
feature
Prior art date
Application number
PCT/KR2017/014840
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 삼성전자 주식회사
Priority to US16/760,181 priority Critical patent/US11568245B2/en
Priority to CN201780096898.9A priority patent/CN111373417B/zh
Priority to EP17932563.4A priority patent/EP3678064A4/en
Publication of WO2019098449A1 publication Critical patent/WO2019098449A1/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements

Definitions

  • the present invention relates to an artificial intelligence (AI) system and its application for simulating functions such as recognition and judgment of a human brain using a machine learning algorithm such as deep learning.
  • AI artificial intelligence
  • the present invention relates to an artificial intelligence And a method thereof. More particularly, the present invention relates to an electronic device performing functions related to performing improved performance metric learning and data classification based on the semantic, and a method performed by the electronic device.
  • AI Artificial intelligence
  • AI is a computer system that implements human-level intelligence. Unlike existing Rule-based smart systems, AI is a system in which machines learn, judge and become smart. Artificial intelligence systems are increasingly recognized and improving their understanding of user preferences as they are used, and existing rule-based smart systems are gradually being replaced by deep-run-based artificial intelligence systems.
  • Artificial intelligence technology consists of elemental technologies that utilize machine learning and machine learning such as deep learning.
  • Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself.
  • Element technology is a technology that simulates functions such as recognition and judgment of human brain using machine learning algorithms such as deep learning. Understanding, reasoning / prediction, knowledge representation, and motion control.
  • Linguistic understanding is a technology for recognizing, applying, and processing human language / characters, including natural language processing, machine translation, dialogue system, query response, speech recognition / synthesis, and the like.
  • Visual understanding is a technology for recognizing and processing objects as human vision, including object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, and image enhancement.
  • Inference prediction is a technique for judging and logically inferring and predicting information, including knowledge / probability based reasoning, optimization prediction, preference base planning, and recommendation.
  • Knowledge representation is a technology for automating human experience information into knowledge data, including knowledge building (data generation / classification) and knowledge management (data utilization).
  • the motion control is a technique for controlling the autonomous travel of the vehicle and the motion of the robot, and includes motion control (navigation, collision, traveling), operation control (behavior control), and the like.
  • Metric learning which belongs to a category of machine learning, is a type of metric that is best suited for applying a feature vector of an input dataset to a feature space that is projected or mapped. is a software technology that learns metrics.
  • the metric is also referred to as a distance function, and thus the metric learning is also referred to as distance metric learning.
  • similarity / non-affinity can be defined for each data pair.
  • the metric learning is to learn a distance function that causes the distances of similar data to be determined to be closer to each other and the distance between points of non-similar data to be longer.
  • the distance function can have a significant impact on the performance of algorithms classifying the input data based on the distance between the feature points of the input data, such as the K-Nearest Neighbors (KNN) algorithm. Therefore, it is important to obtain an optimal distance function through metric learning in order to improve the classification performance.
  • KNN K-Nearest Neighbors
  • the above-described metric learning relates to accurately classifying different data.
  • the relative positions of the first cluster and the second cluster on the feature space should be changed according to the similarity between the semantics of the data belonging to the first cluster and the semantics of the data belonging to the second cluster.
  • an electronic device that performs machine learning for generating an improved performance classification model based on an embedding space in which a result of the metric learning is reflected, or a method thereof .
  • Another object of the present invention is to provide an electronic device or method for performing metric learning in which semantic relationship information of each object is reflected by using an object extracted from each frame of video as training data .
  • Another object of the present invention is to identify the semantics of each object included in the image by using the object recognition model generated as a result of the machine learning using the AI algorithm and to use the semantic relationship of each object And to provide an electronic device for understanding the scene of the image, or a method thereof.
  • an electronic device including a memory in which one or more instructions are stored, and a processor for executing the stored instructions.
  • the processor extracts the feature data from the training data of the first class, maps the extracted feature data to the embedding space to obtain the feature point, and decreases the distance between the obtained feature point and the anchor point Artificial neural networks are studied.
  • the anchor point is the feature data extracted from the representative data of the first class mapped to the embedded space.
  • learning of the artificial neural network is performed in such a manner that loss is less as the feature point of the first class of training data and the anchor point are closer to each other, and the characteristic points of the training data of the second class,
  • the anchor point includes learning the artificial neural network using a loss function that defines a loss value as the closer the anchor point is.
  • learning the artificial neural network comprises: a CNN (Convolutional Neural Network) layer for extracting feature data of the training data of the first class; and a CNN layer for receiving data output from the CNN layer, And a metric learning layer for obtaining a distance between the anchor point and the anchor point.
  • CNN Convolutional Neural Network
  • the training of the artificial neural network may include receiving data output from the CNN layer for extracting feature data of the training data of the first class, calculating a metric for obtaining the distance between the obtained feature point and the anchor point, Learning layer alone from the CNN layer.
  • the artificial neural network includes a metric learning layer that outputs cluster feature data formed on the embedded space.
  • the learning of the artificial neural network may include learning an object classification layer composed of a single layer that receives data output from the metric learning layer and outputs a confidence level for each class.
  • learning the artificial neural network is performed such that the feature point of the training data of the first class is closer to the anchor point of the first class, and at the same time, In an embedding space in a direction to bring the anchor point of the second class closer to the anchor point of the second class.
  • the position of the anchor point of the first class and the position of the anchor point of the second class are determined by reflecting the semantic relation information between the first class and the second class .
  • the semantic relationship information may include a distance in the semantic tree between the keyword of the first class and the keyword of the second class, wherein the semantic tree reflects the semantic hierarchical relationship between the keywords,
  • the distance in the semantic tree between the keyword of the first class and the keyword of the second class is set so that the greater the number of nodes between the first node corresponding to the keyword of the first class and the second node corresponding to the keyword of the second class, .
  • the learning of the artificial neural network may include updating the position of at least one of the first class cluster and the second class cluster on the embedded space by reflecting the semantic relationship information between the first class and the second class ≪ / RTI >
  • the first class cluster is composed of the feature point of the first class and the anchor point of the first class
  • the second class cluster is the feature point of the second class and the anchor point of the second class .
  • learning the artificial neural network comprises: updating the location on the embedded space of the anchor point, reflecting feature points of the first class; determining feature points of the first class, And learning the artificial neural network in a direction that reduces the distance between the anchor points.
  • updating the position of the anchor point on the embedding space may be performed without performing the update of the position of the anchor point in the initial learning composed of the first number of iterations from the start of learning, And performing an update of the location of the anchor point.
  • Performing an update of the position of the anchor point in the repetition after the initial learning includes performing an update of the position of the anchor point once for every two or more second iteration in the repetition after the initial learning .
  • the first number of times may be set to a first value when the type of the training data is the first type and may be set to a second value when the type of the training data is the second type.
  • the processor firstly determines the feature points on the embedding space indicating the feature data of each of the plurality of objects extracted in the current frame of the video, and determines the positions on the embedding space of the plurality of classes' And updates the position of the anchor points of the plurality of classes on the embedding space by first reflecting the positions of the feature points adjacent to the respective anchor points, Learning an artificial neural network in such a direction that the position is closer to the nearest anchor point of the updated anchor points, and if the embedding point of the clusters for each class consisting of feature points adjacent to each anchor point and the anchor point The location in space is indicated by the respective anchor point
  • the second updating, the first updating, the learning, and the second updating by reflecting the semantic relationship information between the classes and updating the current frame to the next, The second update can be repeated.
  • the processor obtains user feedback on the result of formation of the cluster for each class by the learned artificial neural network, and further learns the artificial neural network by reflecting the user feedback.
  • An electronic device for solving the above-described problems includes a memory in which one or more instructions are stored, and a processor for executing the stored instructions.
  • the processor obtains feature points on the embedded space of each of a plurality of objects extracted from an image using an object recognition model that outputs data related to feature points on the embedding space, And the scene of the image is understood by using the keyword of one anchor point.
  • the anchor point is a representative image of each class mapped on the embedding space
  • the embedding space reflects a semantic relation between the anchor points, and the distance between the anchor points is calculated Feature space.
  • the understanding of the scene of the image may include selecting a lower level anchor point closest to each of the mapped feature points, selecting nodes of the semantic tree corresponding to each of the selected lower level anchor points Selecting at least a part of the upper nodes and understanding the scene of the video using a keyword corresponding to the selected upper node.
  • the understanding of the scene of the image may include: selecting a high level anchor point closest to at least a portion of the mapped feature points, and using the keyword corresponding to the selected high level anchor point And understanding the scene of the video.
  • the processor may select the object recognition model based on the type of the image.
  • the processor may select the object recognition model based on profile information of a user of the electronic device.
  • the processor may select the object recognition model based on an application service type.
  • the processor may output additional content corresponding to the understood scene.
  • the object recognition model may consist of an artificial neural network generated as a result of machine learning using a semantic tree representing the semantic hierarchical relationship between keywords of each class.
  • an electronic device including an object recognition model for outputting data related to feature points on an embedding space, Obtaining feature points on the embedded space of each of the objects; and understanding the scene of the image using keywords of the anchor points closest to at least some of the feature points.
  • the anchor point may be a representative image of each class mapped on the embedding space
  • the embedding space may be a feature space in which a distance between the anchor points is calculated by reflecting a semantic relationship between the anchor points.
  • FIG. 1 is a configuration diagram of a scene understanding based service system according to an embodiment of the present invention.
  • FIG. 2 is a hardware configuration diagram of an electronic device according to an embodiment of the present invention.
  • 3 is a diagram for explaining metric learning according to the prior art.
  • FIG. 4 is a diagram illustrating improved performance metric learning applied to an electronic device or method in accordance with some embodiments of the present invention.
  • FIG. 5 is a diagram for illustrating the performance of improved performance metric learning applied to an electronic device or method according to some embodiments of the present invention, in comparison with classification algorithms according to the prior art.
  • FIG. 6 is a diagram for describing features of improved performance metric learning applied to an electronic device or method according to some embodiments of the present invention.
  • FIG. 7 is a view for explaining that, in a metric learning process applied to an electronic apparatus or method according to some embodiments of the present invention, a relative position between two anchor points is determined according to a semantic relationship between anchor points.
  • FIG. 8 is a diagram for explaining a feature of metric learning that reflects semantic relations applied to an electronic device or method according to some embodiments of the present invention.
  • FIG. 9 is a diagram for explaining that an update of an anchor point is performed in a metric learning process applied to an electronic device or method according to some embodiments of the present invention.
  • 10 to 11 are diagrams for explaining an update of an anchor point and a cluster location update after an embedded space update in a metric learning process applied to an electronic device or method according to some embodiments of the present invention .
  • 12 to 14 are diagrams for explaining in detail an operation example of a metric generating program of an electronic device according to an embodiment of the present invention.
  • 15 is a hardware configuration diagram of an electronic device according to another embodiment of the present invention.
  • FIG. 16 is a conceptual diagram for explaining a scene understanding operation of the electronic device of Fig.
  • 17 is a flowchart of a metric learning method according to another embodiment of the present invention.
  • FIG. 18 is a flowchart of an object recognition model generation method according to another embodiment of the present invention.
  • FIG. 19 is a flowchart of a scene understanding method according to another embodiment of the present invention.
  • the system according to the present embodiment may include an object recognition model learning apparatus 10 and electronic devices 100a, 100b, and 100c.
  • the electronic devices 100a, 100b, and 100c are user terminals used by a user, for example, a wearable device such as a smart phone or a smart watch, an operation of a tablet, a desktop, a notebook, a digital TV, a digital signage, A computing device with a processor, or a digital device with computing means.
  • the object recognition model learning apparatus 10 generates a model for recognizing an object of an image by performing a machine learning and provides data 50 related to the object recognition model to the electronic apparatuses 100a, 100b, and 100c .
  • the electronic devices 100a, 100b, and 100c recognize one or more objects included in each frame or image of the moving image by using the object recognition model-related data 50, and understand the scene based on the recognition result.
  • Recognition of an object means to determine an object region included in the image, that is, a subject represented by a region of interest (ROI), as one of pre-designated keywords. That is, the recognition of an object includes extracting an object area and inputting an image of the extracted object area into a classifier to select an image of a subject.
  • ROI region of interest
  • Understanding the scene means determining the overall meaning or situation of the present display screen using the recognition result of the objects included in the current display screen. For example, if three objects are recognized on the current display screen, namely, "chopping board”, “knife”, and “fish", the scene understanding result of the current display screen may become “cooking". Thus, in order to understand the scene, the semantic hierarchical relationship needs to be considered. A scene understanding method according to some embodiments of the present invention will be described later.
  • the electronic devices 100a, 100b, and 100c generate data for a distance function that reflects semantic relationship information (not shown) of each object using at least some of the object recognition model related data 50,
  • the object can be recognized based on the position in the embedding space of the feature point of the object image.
  • the embedding space is a space in which the distance between points is calculated by the distance function.
  • the system according to the present embodiment may further include a service server 20.
  • the service server 20 is an electronic device that provides online services based on a server / client model to the electronic devices 100a, 100b, and 100c.
  • the electronic devices 100a, 100b and 100c may provide the service server 20 with data 40 indicating the understanding of the scene and receive the scene reflection service 30 from the service server 20.
  • the scene reflection service 30 may include providing additional content corresponding to a particular scene displayed on the electronic device 100a, 100b, or 100c.
  • the additional content may be a scene-customized advertisement, a search result using scene-corresponding text, or a scene-customized media.
  • the electronic devices 100a, 100b, and 100c can improve their performance by performing incremental learning on the object recognition model. It will be appreciated that the incremental learning is provided by user feedback on the object recognition model and re-learning the object recognition model by reflecting the feedback. A detailed explanation of this progress learning will be described later.
  • the electronic device according to the present embodiment is an apparatus that performs machine learning to perform classification or the like, and thus requires a high level of computing performance. Therefore, the electronic device according to the present embodiment can be, for example, a server apparatus such as the object recognition model learning apparatus of Fig. However, the electronic apparatus according to the present embodiment is not necessarily limited to the server apparatus. Note that the user terminal device also satisfies the above-described configuration, and performing the same operation can be an electronic device according to the present embodiment.
  • the electronic device 10 includes a processor 101 and a memory 102 for storing a metric generating program 130b performed in the processor 101.
  • the processor 101 may be configured using at least one of one or more central processing units (CPUs) and one or more graphics processing units (GPUs).
  • the electronic device 10 may further include at least one of a storage 103, a network interface 105 that mediates data transmission / reception with an external device via a network, and a system bus 104.
  • the system bus 104 serves as a path for transmitting and receiving data between the processor 101, the memory 102, the storage 103 and the network interface 105.
  • the memory 102 may be a volatile data storage device, such as, for example, a random access memory (RAM).
  • the storage 103 may be a data storage device such as a nonvolatile memory such as a flash memory, a hard disk, or the like.
  • the storage 103 may store the semantic tree 131 and the representative data 132 for each class.
  • Each node in the semantic tree 131 corresponds to a keyword in a one-to-one correspondence, and each node is connected to each other in a parent / child relationship according to a hierarchical connection relationship between keywords.
  • the keywords of each node may be one-to-one correspondence to the classes of the training data set. Specific examples of the semantic tree 131 will be described later with reference to FIG. 6 and the like.
  • the class-specific representative data 131 is representative data of each class of the training data set. For example, if the training data set is an image set for object recognition, the representative data of the class 'eagle' indicates the representative image in which the eagle is expressed. In addition, if the feature data extracted from the representative data of the class 'eagle' is mapped to the embedding space, it becomes an anchor point of the 'eagle' class. As another example, if the training data set is a voice set for speech recognition, the representative data of the class 'eagle' refers to the representative voice that pronounced the eagle. Also, if the feature data extracted from the representative voice sound of the class 'eagle' is mapped to the embedding space, it becomes an anchor point of the 'eagle' class.
  • representative data for each class may be separately provided in the course of machine learning for generating metrics.
  • the machine learning is performed using the provided representative data, and if there is no representative data provided, the representative data 131 per class stored in the storage 103 can be used as default data.
  • the storage 103 may further store the metric generating program 130a.
  • the metric generation program 130a may include an executable binary file (not shown), which is loaded into the memory 102 together with the metric generation program 130a.
  • FIG. 2 shows a metric generating program 130b stored in the memory 102.
  • FIG. When the metric generating program 130b is executed, the semantic tree 131 can be referred to from time to time. Therefore, in order to improve the execution speed, the semantic tree 131 can also be loaded into the memory 102 and stored.
  • the storage 103 may also store a Machine Learning (ML) parameter set 1340.
  • the ML parameter set 1340 is data defining a classifying model generated as a result of the machine learning.
  • the classification model is a model based on a neural network
  • a parameter set 1340 for defining the artificial neural network parameter set is a parameter set 1340 for defining the artificial neural network parameter set.
  • the electronic device 10 may access at least one of the metrics learning instruction 1301, the semantic tree interface instruction 1302, the classification learning instruction 1303 and the model generation instruction 1304 included in the metric generation program 130b to the processor 101 ), It is possible to perform metric learning to determine a distance function, or to determine a distance function and perform machine learning to generate an embedded space-based classification model reflecting the distance function.
  • the above machine learning related operations that can be performed by the electronic device 10 will be described.
  • An instruction in this specification refers to being executed in a processor as a series of instructions, grouped by function.
  • FIG. 3 is a diagram for explaining metric learning according to the prior art.
  • two classes of feature points mapped to the feature space 70 are shown.
  • the first class is represented by a rectangle
  • the second class is represented by a circle.
  • the distance between each point in the feature space 70 will be measured using a well-known universal distance function such as i) Euclidean distance, or ii) Mahalanobis Distance .
  • the general-purpose distance function does not adequately express similarity / non-similarity among training data.
  • the generalized distance function is a distance function that can literally be used in various situations and is not optimized for the training data included in the training data set for learning.
  • feature points of the first class and feature points of the second class are partially mixed in the feature space of FIG. In such a case, clustering is not clearly performed, and consequently, the accuracy of the classification model is lowered and the complexity can be increased.
  • an embedding space 80 In order to solve this problem, when the metric learning according to the conventional technique is performed, a distance function optimized for the training data set to be learned is obtained. Then, the feature space in which the distance measurement is performed will be constructed according to the distance function.
  • the feature space in which the distance measurement is performed according to the distance function generated by the metric learning is referred to as an embedding space 80.
  • the distance between the feature points of the first class in the embedding space 80 is shorter than the distance between the feature points of the first class on the feature space 70.
  • the distance between the feature points of the second class in the embedding space 80 is shorter than the distance between the feature points of the second class on the feature space 70.
  • the distance function generated as a result of metric learning only reflects similarity / dissimilarity among classes, does not consider the degree of similarity / nonexistence, and does not consider the semantics of the class.
  • the problem of this prior art metric learning is solved by improved performance metric learning to be described below with reference to Figures 6-11.
  • improved performance metric learning in accordance with some embodiments of the present invention allows feature points of training data to be added to anchor points more To create a distance function that approximates the distance.
  • a loss function applied to the metric learning is, for example, less loss as the feature point of the training data of the first class and the anchor point are closer to each other,
  • the feature point of the training data and the anchor point may be set to define the loss value as the loss becomes larger as the distance is closer.
  • the anchor points 71a and 72a of each class may be not one of training data, but feature data extracted from separate representative data 71c and 72c.
  • the representative data 71c and 72c may be data input at the start of the metric learning.
  • the anchor points 71a and 72a correspond to a specific node (corresponding to a specific class) of the semantic tree, the representative data for each class may be basically applied even though representative data 71c and 72c are not input.
  • the improved performance metric learning according to the present embodiment has the effect that a distance function is generated so that clusters of each class are sufficiently concentrated and distributed even with a smaller number of training data than the prior art.
  • a distance function (not shown) constituting the embedding space 83 will be generated. 4 characteristic points of the first class are closer to the anchor point 71b of the first class due to the effect of the generated distance function, and characteristic points of the second class are closer to the anchor point 72b of the second class Is shown near.
  • regions of the clusters 71d and 72d of each class are also formed narrowly in the embedding space 83.
  • Fig. 5 is a diagram for explaining the performance of the improved performance metric learning described with reference to Fig. 4, in comparison with the classification algorithm according to the prior art.
  • a well-known classification algorithm such as SVM (Support Vector Machine) generates classification baseline 90 for each class on the feature space. This sorting baseline 90 may be nonlinear. However, as illustrated in FIG. 5, if the classification baseline 90 requires a higher-order function because clustering by each class is not successful, the classification model will require a high computational load.
  • the required computing load is significantly reduced.
  • the feature points are clustered so as to be highly dense based on the anchor points 73, 74, and 75 of each class, the complexity of the classification baseline 91 is relaxed compared to the prior art.
  • the position of the anchor point is determined in consideration of the semantic relationship between the classes corresponding to the anchor point.
  • a description will be given with reference to Figs. 6 to 10.
  • the distance between two nodes on the semantic tree may be set to be greater as the number of nodes or the number of edges between the two nodes. For example, if the distance is set to the number of edges between nodes, the distance between Falcon node 76c and Swan node 74c is 2 (Falcon-Bird edge, Bird-Swan edge), Falcon node 76c, And the Poodle node 73c is 4 (the Falcon-Bird edge, the Bird-Animal edge, the Animal-Dog edge, and the Dog-Poodle edge).
  • the Falcon cluster 76d is formed by the adjacent feature points near to the Falcon anchor point 76b
  • the Swan cluster 74d is formed by the adjacent feature points near to the Swan anchor point 74b.
  • the anchor point becomes a reference point for increasing the degree of cluster cohesion. Therefore, it is important for the anchor points to be appropriately spaced from one another in order to improve the classification performance. In this embodiment, since the positions of the respective anchor points are determined in consideration of the semantic relationship, the anchor points are guided to be appropriately spaced from each other.
  • the Falcon cluster 76d is formed by the adjacent feature points near to the Falcon anchor point 76b, and the adjacent feature points are brought closer to the Poodle anchor point 73b, thereby forming the Poodle cluster 73d.
  • the location of the Poodle cluster 73d is farther from the Falcon cluster 76d than the location of the Swan cluster 74b of FIG. It can be seen that the characteristic points of the Poodle class are further away from the Falcon cluster 76d than before before performing the metric learning according to the present embodiment. This reflects the semantic relationship between Falcon and Poodle.
  • the Falcon cluster 76d and the anchor point 73b of the Poodle class first serve as a cluster reference point reflecting the semantic relationship so that the positions of the Falcon cluster 76d and the Poodle cluster 73d are also located on the semantic tree It is understandable that it reflects the relationship.
  • anchor points corresponding to the number of classes of training data to be learned will be placed in the feature space 70, and the distance between all the pairs of anchor points is a semantic relationship
  • the position of the anchor point will be determined to satisfy the condition. That is, as the number of classes increases, the position of each anchor point more accurately reflects the distance between each corresponding node of the semantic tree.
  • FIG. 8 As a result, as shown in FIG. 8, three or more anchor points are reflected to obtain a learned distance function, and an upper layer including a cluster region of lower nodes of the semantic tree on the embedded space 86, A cluster region of the node may be formed. If a plurality of feature data can be extracted from the analysis target data using this point, it is possible to identify a lower node on the semantic tree 131 indicated by each feature data, identify an upper node to which the identified lower node belongs It is possible to understand hierarchically in consideration of the semantics of the analysis target data. This will be described later with reference to FIG.
  • the location of the anchor point in the metric learning process may be updated. This will be described with reference to Figs. 9 to 11. Fig.
  • the metric learning which is one of the machine learning methods, also inputs each training data into a neural network, evaluates the data outputted from the neural network using a loss function, and adjusts the weight of the neural network using the result, It iterates over the dataset.
  • the anchor point In a state where there is no distance function, the anchor point is mapped on the simple feature space. Therefore, at this time, the current embedding space becomes a feature space. However, if the distance function is obtained and the embedding space reflecting the obtained distance function is formed, the local embedding space is updated to the formed embedding space.
  • the anchor point 76a of the Falcon class and the anchor point 73a of the Poodle class are mapped to the current embedding space 70, and then the anchor point of the Falcon class is mapped to the feature of the training data of the Falcon class And the anchor point of the Poodle class is updated 73a 'by reflecting the position of the feature points of the training data of the Poodle class.
  • the update of the first class causes the location of the anchor point of the first class to be the same as that of the anchor point of the first class and of all the first class of training data entered up to the current iteration And may be updated with representative values of feature points.
  • the representative value may be an average value or a median value.
  • the distance function according to the current iteration is set so that the characteristic points of the Falcon class approach the updated anchor point 76a ', and the feature points of the Poodle class approach the updated anchor point 73a' Function.
  • the embedding space 86 is shown reflecting the updated distance function.
  • the metric learning proceeds to the next iteration if the next training data 133 to be learned remains.
  • the anchor point is mapped to the characteristic space of the representative data (or the current embedding space when the iteration of learning is in progress). No matter how careful you are in selecting representative data, it will not be an ideal representative point for all of the training data for that class. Accordingly, if the first anchor point is continuously maintained and the learning is repeated, there is a problem that the position of each cluster on the embedding space does not accurately reflect the training data. Nonetheless, the anchor point nevertheless needs to serve as a reference point for the location of the feature points of the training data.
  • the position of the anchor point of the first class is updated to reflect the position of the feature points of the first class, but the anchor point is not updated at the beginning of learning .
  • the initial stage of the learning consists of a first number of iterations from the start of learning. In this case, even if the position of the anchor point is updated, the overhead due to too frequent anchor point update can be reduced by performing the update of the position of the anchor point once for every second iteration of 2 or more times.
  • the first number of times defining the initial learning interval may be set based on the type of training data. That is, the first number of times may be set to a first value when the type of the training data is the first type, and may be set to a second value when the type of the training data is the second type.
  • the first type may be image data
  • the second type may be voice data.
  • the distance between the clusters may be adjusted in consideration of the intercluster semantic relationship, and then proceed to the next iteration.
  • the positions of the three clusters 73e, 76e, and 78e are adjusted according to the cluster position revision.
  • Such an intercluster position adjustment can prevent an increase in the deterioration of the semantic relationship due to anchor point updating.
  • the proper distance between the Falcon cluster 76e and the Eagle cluster 78e is determined based on the distance between the Falcon node 76c and the Eagle node 78c of the semantic tree 131 ,
  • the two clusters 76e and 78e move toward each other (76f and 78f) because the determined distance is shorter than the distance between the two clusters 76e and 78e on the current embedding space. Since the Poodle cluster 73e approaches the Falcon cluster 76e and the Eagle cluster 78e more than the appropriate distance determined according to the semantic tree 131, the Poodle cluster 73e moves in the direction away from the two clusters 76e and 78e 73f).
  • Fig. 11 shows the positions (73g, 76g, 78g) of the three clusters adjusted according to the cluster position adjustment in Fig.
  • the metric learning according to the embodiment described with reference to FIG. 10 proceeds to the next iteration if the next training data 133 to be learned remains after the cluster position adjustment. At this time, in the next iteration, the feature points of the next training data will be further mapped with three clusters of the adjusted positions 73g, 76g, 78g included in the current embedding space.
  • the metric generating program performs an operation of outputting the distance function (i.e., metric) obtained as a result of learning of the training data set.
  • the semantic tree 131 may be inquired during the metric learning, and if no separate class representative data for anchor point formation is input, representative data for each class stored in the electronic device 132 may be used.
  • the semantic tree interface instruction 1302 responds to the request of the metric learning instruction 1302 to return the inquiry result of the semantic tree 131 or the class-specific representative data 132 to the metric learning instruction 1301.
  • the metric learning instruction 1301 inputs training data 133 to Convolution Neural Network (CNN) layers 1310 to obtain feature data of the input training data 133, (Deep Metric Learning) layers 1311a to obtain distance function related data output from the DML layers 1311a.
  • CNN Convolution Neural Network
  • (Deep Metric Learning) layers 1311a to obtain distance function related data output from the DML layers 1311a.
  • the metric learning instruction 1301 may collectively learn the CNN layers 1310 and the DML layers 1311a in the CNN layers 1310 or only the DML layers 1311a in the CNN layers 1310, Can be learned separately.
  • CNN Convolution Neural Network
  • the DML layers 1311a are deep learning-based artificial neural networks in which the above-described metric learning is performed.
  • the model generation instruction 1304 packages the distance function related data output from the DML layers 1311a in a predefined manner.
  • the output data may be transmitted to an external device via a network interface or may be stored in a storage device of the electronic device in case of future reference.
  • the semantic tree interface instruction 1302 of FIG. 13 operates in the same manner as described with reference to FIG.
  • the metric learning instruction 1301 is a function that the DML layers 1311b are not a distance function generated as a result of metric learning but cluster feature data that reflects the cluster formation result on the embedding space formed by reflecting the distance function 12 except that the DML layer 1311a shown in FIG. 12 further includes a layer to output.
  • the classification learning instruction 1303 generates a classification model based on the distance function generated according to the metric learning instruction 1301.
  • the classification learning instruction 1303 is a classification learning instruction 1303 that receives data output from the metric learning layers learned by the metric learning instruction 1301, in particular, the DML layers 1311b, and outputs an object classification The layer 1330 can be learned.
  • the reason why the classification learning instruction 1303 can learn the classification model with only a single layer is that the cluster characteristic data output from the DML layers 1311b reflect clustering results that are located sufficiently apart from each other. Therefore, since the complexity of the calculation for calculating the confidence level for each class is low from the cluster characteristic data, the classification model can be learned with only a single layer.
  • the model generation instruction 1304 outputs an ML parameter set 1340 that has been packaged in a predefined manner with the data output from the classification learning instruction 1303.
  • the ML parameter set 1340 may include a set of parameters for defining the CNN layers 1310, a set of parameters for defining the DML layers 1311b, and a set of parameters for defining the classification layer 1330 . That is, the ML parameter set 1340 may include data for generating a model for sequentially connecting the CNN layers 1310, the DML layers 1311b, and the classification layer 1330 and outputting classification results of the data have.
  • Data output by the model generation instruction 1304 may be transmitted to an external device via a network interface, or may be stored in the storage device of the electronic device for future reference.
  • the metric generating program 130b performs metric learning to generate a model for classifying each object included in the video, using the training data set including each frame image of the video An embodiment for performing an operation will be described.
  • the operation of the metric generating program 130b according to the present embodiment can be understood as the operation of the electronic device described with reference to Fig. 10 in the order of instructions.
  • the video frame acquisition instruction 1320 receives the video data and sequentially provides the frame image to the object extraction instruction 1321. [ If the next frame image of the video does not exist, since the learning using the video is finished, the last distance function or the cluster characteristic data on the last embedding space reflecting the last distance function will be output.
  • the metric generation program 130b may include the video frame acquisition instruction 1320 and the object extraction instruction 1321, an object extraction result may be provided by an external program.
  • the object extraction instruction 1321 extracts one or more object images from the received frame image using a known object extraction algorithm and provides the extracted object image to the feature point determination instruction 1322.
  • the feature point determination instruction 1322 uses the CNN layers to output the feature data of each of the object images, and maps feature points to the current embedding space.
  • the anchor point positioning instruction 1323 determines the positions of anchor points of a plurality of classes by reflecting semantic relationship information between the classes.
  • the anchor point positioning instruction 1323 is performed to set the initial position of the anchor point only at the start of execution of the metric generating program, that is, when the metric learning starts, and when the anchor point position update is started, have.
  • the update anchor point location instruction 1324 updates the location of each anchor point to reflect the location of the feature points adjacent to each anchor point.
  • the metric learning and embedding space update instruction 1325 performs a current iteration of metric learning to generate a distance function that causes each of the feature points to be closer to the nearest anchor point of the updated anchor points , And updates the embedding space by reflecting the generated distance function.
  • the cluster location update instruction 1326 updates the location on the embedding space of the class-specific clusters comprising each anchor point and feature points adjacent to the anchor point by reflecting the semantic relationship information between the classes indicated by the respective anchor points do. Next, with the operation of acquiring video frame instruction 1320 providing an image of the next frame, the next cycle will be performed.
  • an object cluster formation model (a frame image of a video that has been generated as a result of learning by the metric generation program 130b in the past) is input, and each object image included in the frame image belongs to which cluster (Not shown) that obtains user feedback for the output of the determination result for the output terminal (not shown).
  • a metric learning and update space update instruction 1325 and a cluster location update instruction 1326 for updating the existing object cluster formation model may be performed.
  • the present embodiment may be understood as a form of incremental learning.
  • the electronic device that executes the metric generating program 130b according to the present embodiment may be a user terminal.
  • the electronic device according to the present embodiment can be understood as an apparatus for executing a model created as a result of the machine learning performed in the above-described electronic device.
  • an example of an electronic device that recognizes each object displayed on a screen currently displayed using the model during video playback and comprehends a scene of a currently displayed screen using the recognition result of each object Configuration and operation will be described.
  • the electronic device 100 of FIG. 15 also has a hardware configuration similar to the electronic device 10 of FIG. Hereinafter, a duplicate description of common portions will be omitted.
  • the storage 153 is provided with video data 160a reproduced 160b on the display 151, an object recognition model 50 received via the network interface 155 from the electronic device of FIG. 2, the semantic tree 131, Class-specific representative data 132, scene understanding program 170a, and application service application 180a can be stored.
  • the scene understanding program 170a is loaded into the memory 152 and stored (170b). Hereinafter, the operation of the scene understanding program 170b will be described for each instruction unit.
  • the object extraction instruction 1701 extracts an object from the current screen of the video 160b reproduced through the display 151. [ At this time, since it suffices to extract an object from the image displayed on the display 151, the image can be a video frame or a general image. Note that although the object extraction instruction 1701 may be included in the scene understanding program 170b according to the present embodiment, an object extraction result may be provided by an external program.
  • the object recognition model selection instruction 1702 selects one of the object recognition models 50 stored in the storage 153.
  • the object recognition model 50 may be, for example, the ML parameter set 1340 described with reference to FIG. That is, the object recognition model 50 maps feature points of the object image on the embedding space reflecting the distance function reflecting the semantic relation information, and outputs the class of the object based on the position in the embedding space of the feature point .
  • a plurality of object recognition models 50 may be stored in the storage 153.
  • the object recognition model selection instruction 1702 can select one of the plurality of object recognition models 50.
  • the application object recognition model 50 may be fixed and the operation of the object recognition model selection instruction 1702 may not be necessary.
  • embodiments in which one of the plurality of object recognition models 50 is selected will be described.
  • the plurality of object recognition models 50 may include a first object recognition model generated as a result of machine learning using video of the first genre, and a second object recognition model generated by machine learning using the second genre of video, And an object recognition model.
  • the object recognition model selection instruction 1702 can be selected based on the type of the image.
  • the object recognition model selection instruction 1702 may acquire genre information from meta information or the like of a currently playing video, and may select an object recognition model tagged with genre information corresponding to the genre information of the video. According to the present embodiment, there is an effect that the accuracy of object recognition can be increased by matching the video used in the learning of the object recognition model with the genre of the video to be input to the object recognition model.
  • the object recognition model selection instruction 1702 may select any of a plurality of object recognition models 50 based on information registered in a user profile (not shown) of the electronic device 100. For example, in accordance with the user profile, if an action is described in the preferred movie genre, the object recognition model selection instruction 1702 may select the learned object recognition model using the video of the action genre.
  • the object recognition model selection instruction 1702 may select any of a plurality of object recognition models 50 according to the type of application service.
  • the type of the application service can be determined according to the application service application 180b associated with the scene understanding program 170b.
  • the application service may include providing additional content corresponding to the current scene understanding result determined by the scene understanding program 170b.
  • the application service application 180b may be an instruction within the scene understanding program 170b, although it may be a stand-alone program separate from the scene understanding program 170b.
  • the additional content may be a scene-customized advertisement, a search result using scene-corresponding text, or a scene-customized media.
  • the object recognition model selection instruction 1702 may select an object recognition model in which the advertisement object image is intensively learned.
  • the object point creation instruction 1703 maps feature points of a plurality of objects extracted from the image to the embedding space using the selected object recognition model.
  • the scene understanding instruction 1705 selects an anchor point closest to at least a part of the mapped feature points extracted from the image, and understands the scene of the image using the keyword of the selected anchor point .
  • an inquiry of the semantic tree 131 is required, and the semantic tree interface instruction 1704 can take charge of the inquiry. This will be described in detail with reference to FIG.
  • the object point creation instruction 1703 when two objects 95a and 96a are extracted from the image 160b, the object point creation instruction 1703 generates an image of the object 95a in the embedding space 87 using the object recognition model And map the feature point 96b of the image of the object 96a. At this time, the scene understanding instruction 1705 selects the anchor points 76a and 78a closest to the two feature points 95b and 96b in the embedding space 87.
  • the anchor point closest to the feature point 95b is the Falcon anchor point 76a and the anchor point closest to the feature point 96b is the anchor point 76b of the Eagle.
  • an upper node of both the node 76c corresponding to Falcon's anchor point 76a and the node 78c corresponding to the anchor point 76b of Eagle on the semantic tree 131 Bird node 92c is selected, and the scene understanding result can be determined as 'Bird'.
  • the highest level anchor point closest to feature points 95b and 96b may be selected.
  • the upper level anchor point indicates an anchor point corresponding to a node below a predetermined depth on the semantic tree 131.
  • the scene understanding result may be determined as 'Bird'.
  • the scene understanding result may be output divided hierarchically into levels. This is possible because the embedding space 87 reflects a hierarchical semantic relationship.
  • an anchor point closest to the object may be selected, and a scene of the image may be understood using the keyword of the selected anchor point.
  • some of the objects extracted from the image may have an unusual meaning, and if so, they act as noise in the understanding of the scene.
  • FIG. 17 is a flowchart of a metric learning method according to another embodiment of the present invention.
  • the method according to the present embodiment can be performed, for example, by the electronic device 10 shown in Fig.
  • the metric learning method may include at least some of the operations of the electronic device described with reference to Figures 2-5. Therefore, although there is no separate disclosure in the description of the metric learning method described below, the above-described operation with reference to Figs. 2 to 5 can be included in the metric learning method. Further, in the following description of the methods, when there is no description of the subject of operation, the subject may be interpreted as the electronic device.
  • step S101 feature points on the current embedding space of the training data are determined.
  • the training data is data to be learned for the current iteration of the training data set, and the current embedding space is a feature space reflecting the currently obtained distance function.
  • the current embedding space is a feature space to which the generalized distance function is applied as an initial state unless the distance function is obtained.
  • step S103 the anchor point position is determined. If the anchor point position is already determined, the determination of the anchor point position may not be performed further. Also, as described above, if the initial learning step has been passed, the position of the existing anchor point may be periodically updated by reflecting the position of the feature point.
  • step S105 the metric learning is performed such that the feature point is closer to the anchor point.
  • the distance function is learned so that the feature point approaches the reference point, which is an anchor point, compared with the metric learning according to the conventional art, there is an advantage that the learning speed is faster.
  • the process proceeds to the next iteration, and if there is no next training data to be learned, (S109).
  • FIG. 18 is a flowchart of an object recognition model generation method according to another embodiment of the present invention.
  • the method according to the present embodiment can be performed, for example, by the electronic device 100 shown in Fig. It should be noted that at least some of the operations of the electronic device described with reference to Figs. 2, 10 and 14 may be included in the object recognition model generation method. Therefore, although there is no separate disclosure in the description of the object recognition model generation method described below, the above-described operation with reference to FIGS. 2, 10, and 14 may be included in the object recognition model generation method. Further, in the following description of the method, when there is no description of the subject of operation, the subject may be interpreted as the electronic device.
  • step S201 object recognition is performed on the current frame image of the video.
  • an object recognition result may be provided from an external program.
  • step S203 feature points on the current embedding space for the image of each object are determined.
  • step S205 the position of the anchor point is determined by reflecting the semantic relationship information. Unlike FIG. 18, step S205 may be performed first from step S203.
  • step S207 the anchor point position is updated with the average value of the cluster or the like.
  • step S209 the metric learning is performed such that the feature points are closer to the anchor point of the updated position.
  • CNN layers for extracting feature data of an object image and DML layers for metric learning can be learned.
  • step S211 the current embedding space is updated using the distance function obtained by the metric learning.
  • step S213 in order to prevent the semantic relationship information from being damaged due to the update of the anchor point position, the relative position between the clusters is corrected by reflecting the semantic relationship information.
  • the classification model is learned based on the distance function learned in step S217.
  • an object classification layer composed of a single layer that receives data output from the metric learning layer and outputs the confidence level for each class can be learned.
  • step S219 data for the object recognition model is output.
  • the output data may include the CNN layers, the DML layers, and the learned parameter set of the object classification layer.
  • FIG. 19 is a flowchart of a scene understanding method according to another embodiment of the present invention.
  • the method according to the present embodiment can be performed, for example, by the electronic device 100 shown in Fig.
  • step S301 the object recognition model is downloaded from the server device or the like and stored. If an image is displayed due to the playback of the video (S303), a plurality of objects are extracted from the currently displayed image (S305). At this time, the use object recognition model among the downloaded object recognition models can be selected.
  • step S307 for each object image, the feature point is mapped to an embedded space according to the object recognition model using the selected object recognition model.
  • step S309 an anchor point adjacent to at least a part of the mapped feature points is selected.
  • step S311 the scene of the currently displayed image is understood by using the meaning of the selected anchor point and its semantic relationship.
  • the scene understanding result of the image is presented, and the user's feedback about the scene can be inputted (S313).
  • the learning of the object recognition model may be performed using the input feedback (S314). This can be understood as a form of incremental learning.
  • step S315 the scene understanding result data is transmitted to the service server, and additional contents corresponding to the scene may be output as a response thereto (S317).
  • the scene understanding method can be continued while moving to the next frame (S312).
  • the methods according to the embodiments of the present invention described so far can be performed by the execution of a computer program embodied in computer readable code.
  • the computer program may be transmitted from a first electronic device to a second electronic device via a network, such as the Internet, and installed in the second electronic device, thereby enabling it to be used in the second electronic device.
  • the first electronic device and the second electronic device all include a server device, a physical server belonging to a server pool for cloud services, and a fixed electronic device such as a desktop PC.
  • the computer program may be stored in a non-transitory recording medium such as a DVD-ROM, flash memory device, or the like.

Abstract

개선된 분류(classifying) 성능을 제공하는 메트릭 학습(metric learning), 시맨틱 관계를 고려한 객체의 분류 및 그에 기반한 장면의 의미 이해 등 기계학습 기반의 정보 이해 능력을 갖춘 인공지능 기술이 제공된다. 본 발명의 일 실시예에 따른 전자 장치는 본 발명의 일 실시예에 따른 전자 장치는, 하나 이상의 인스트럭션이 저장되는 메모리와, 상기 저장된 인스트럭션을 실행하는 프로세서를 포함한다. 이 때, 상기 프로세서는, 제1 클래스의 트레이닝 데이터에서 특징 데이터를 추출하고, 상기 추출된 특징 데이터를 임베딩 공간에 매핑하여 특징 포인트를 얻으며, 상기 얻어진 특징 포인트와 앵커 포인트 간의 거리를 감소시키는 방향으로 인공 신경망을 학습시킨다.

Description

메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
본 발명은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것으로서, 본 발명은 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법에 관한 것이다. 보다 자세하게는, 개선된 성능의 메트릭 학습 및 그에 기반한 시맨틱(semantic)이 고려된 데이터 분류를 수행하는 것과 관련된 기능을 수행하는 전자 장치 및 그 전자 장치에 의하여 수행되는 방법에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 딥러닝 등의 기계학습 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
기계학습의 한 범주에 속하는 메트릭 학습(metric learning)은 입력 데이터셋의 특징 벡터(feature vector)가 투사(project) 또는 매핑(mapping)되는 특징 공간(feature space)에 적용되기에 가장 적합한 형태의 메트릭(metric)을 학습하는 소프트웨어 기술이다. 상기 메트릭은 거리 함수(distance function)라고도 지칭되고, 이에 따라 상기 메트릭 학습은 거리 메트릭 학습(distance metric learning)이라고도 지칭된다.
메트릭 학습을 위한 트레이닝 데이터셋에는, 각 데이터 쌍 별로 유사/비유사가 정의될 수 있다. 메트릭 학습은 유사한 데이터의 포인트 사이는 더 가까운 거리로 판단하게 하고, 비유사한 데이터의 포인트 사이는 더 먼 거리로 판단하게 하는 거리 함수를 학습하는 것이다. 거리 함수는 KNN(K-Nearest Neighbors) 알고리즘 등, 입력 데이터의 특징 포인트 사이 거리를 기준으로 입력 데이터를 분류(classifying)하는 알고리즘들의 성능에 큰 영향을 미칠 수 있다. 따라서, 분류 성능의 개선을 위하여 메트릭 학습을 통한 최적의 거리 함수를 구하는 것이 중요하다.
상술한 메트릭 학습은, 서로 다른 데이터를 정확하게 분류하는 것과 관련된다. 한편, 데이터를 이해하기 위하여는 서로 다른 데이터를 정확하게 분류하는 것뿐만 아니라, 데이터가 가지는 의미(semantics, 이하 '시맨틱'이라 함)를 파악하는 것도 필요하다. 즉, 분석 대상 데이터의 정확한 분류 및 그 데이터의 시맨틱에 대한 파악이 모두 만족되어야, 데이터를 이해할 수 있을 것이다.
기계학습을 이용하여 데이터의 의미를 파악하기 위하여, 상기 데이터에서 추출된 특징 데이터가 특징 공간 상에 클러스터링 될 때, 각각의 클러스터가 시맨틱 관계를 반영하여 상기 특징 공간 상에 배치되는 것이 중요하다. 그렇지 않다면, 데이터가 같은 클러스터에 속한 것인지, 아닌지 만을 판단할 수 있을 뿐, 데이터의 의미를 이해하고, 나아가 복수의 데이터들을 종합적으로 판단하여 상황, 의미 등을 이해하는 것은 불가능하다. 이를 위해, 제1 클러스터에 속한 데이터들의 시맨틱과 제2 클러스터에 속한 데이터들의 시맨틱 사이의 유사도에 따라, 상기 특징 공간 상의 제1 클러스터와 제2 클러스터의 상대적 위치가 달라져야 할 것이다.
영상의 장면 이해, 음성 인식을 통한 감정 분석 등, 입력 데이터에 대한 의미론적 이해를 요구하는 인공지능 응용 서비스를 제공하기 위하여, 지금까지 설명한 개선된 메트릭 학습 방법의 제공 및 데이터의 의미를 반영한 클러스터링 방법의 제공이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는, 개선된 성능의 메트릭 학습을 수행하는 전자 장치, 또는 그 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 상기 메트릭 학습의 결과가 반영된 임베딩 공간(embedding space)을 기반으로 하는 개선된 성능의 분류 모델 생성을 위한 기계학습을 수행하는 전자 장치, 또는 그 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 비디오의 각 프레임에서 추출된 객체를 트레이닝 데이터로서 이용하여, 각 객체의 시맨틱 관계 정보가 반영된 메트릭 학습을 수행하는 전자 장치, 또는 그 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 인공지능 알고리듬을 이용한 기계학습의 결과로 기 생성된 객체 인식 모델을 이용하여 영상에 포함된 각 객체의 시맨틱을 식별하고, 각 객체의 시맨틱 관계를 이용하여 영상의 장면을 이해하는 전자 장치, 또는 그 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 일 실시예에 따른 전자 장치는, 하나 이상의 인스트럭션이 저장되는 메모리와, 상기 저장된 인스트럭션을 실행하는 프로세서를 포함한다. 이 때, 상기 프로세서는, 제1 클래스의 트레이닝 데이터에서 특징 데이터를 추출하고, 상기 추출된 특징 데이터를 임베딩 공간에 매핑하여 특징 포인트를 얻으며, 상기 얻어진 특징 포인트와 앵커 포인트 간의 거리를 감소시키는 방향으로 인공 신경망을 학습시킨다. 이 때, 상기 앵커 포인트는 상기 제1 클래스의 대표 데이터에서 추출된 특징 데이터가 상기 임베딩 공간에 매핑된 것이다.
일 실시예에서, 상기 인공 신경망을 학습 시키는 것은, 상기 제1 클래스의 트레이닝 데이터의 특징 포인트와 상기 앵커 포인트가 가까울 수록 손실이 적고, 상기 제1 클래스와 다른 제2 클래스의 트레이닝 데이터의 특징 포인트와 상기 앵커 포인트는 가까울 수록 손실이 큰 것으로 손실 값을 정의하는 손실 함수(loss function)을 이용하여 상기 인공 신경망을 학습시키는 것을 포함한다.
일 실시예에서, 상기 인공 신경망을 학습 시키는 것은, 상기 제1 클래스의 트레이닝 데이터의 특징 데이터를 추출하기 위한 CNN(Convolutional Neural Network) 레이어와, 상기 CNN 레이어에서 출력된 데이터를 입력 받아 상기 얻어진 특징 포인트와 상기 앵커 포인트 간의 거리를 구하기 위한 메트릭 학습 레이어를 일괄하여 학습시키는 것을 포함한다.
일 실시예에서, 상기 인공 신경망을 학습 시키는 것은, 상기 제1 클래스의 트레이닝 데이터의 특징 데이터를 추출하기 위한 CNN 레이어에서 출력된 데이터를 입력 받아 상기 얻어진 특징 포인트와 상기 앵커 포인트 간의 거리를 구하기 위한 메트릭 학습 레이어 만을 상기 CNN 레이어와 분리하여 학습시키는 것을 포함한다.
일 실시예에서, 상기 인공 신경망은, 상기 임베딩 공간 상에 형성된 클러스터 특징 데이터를 출력하는 메트릭 학습 레이어를 포함한다. 이 때, 상기 인공 신경망을 학습 시키는 것은 상기 메트릭 학습 레이어로부터 출력된 데이터를 입력 받아 각 클래스 별 컨피던스 레벨을 출력하는 단일 레이어로 구성된 객체 분류 레이어를 학습시키는 것을 포함한다.
일 실시예에서, 상기 인공 신경망을 학습 시키는 것은, 상기 제1 클래스의 트레이닝 데이터의 특징 포인트가 상기 제1 클래스의 앵커 포인트에 더 가까워지도록 하고, 동시에 제2 클래스의 트레이닝 데이터의 특징 포인트가, 상기 임베딩 공간 상에서 상기 제2 클래스의 앵커 포인트에 더 가까워지도록 하는 방향으로 학습 시키는 것을 포함한다. 이 때, 상기 제1 클래스의 앵커 포인트의 위치 및 상기 제2 클래스의 앵커 포인트의 위치는, 상기 제1 클래스와 상기 제2 클래스 사이의 시맨틱(semantic) 관계 정보를 반영하여 결정되는 것을 특징으로 한다. 또한, 상기 시맨틱 관계 정보는, 상기 제1 클래스의 키워드와 상기 제2 클래스의 키워드 사이의 시맨틱 트리에서의 거리를 포함하되, 상기 시맨틱 트리는, 각 키워드 간 시맨틱 계층 관계가 반영된 것이고, 상기 제1 클래스의 키워드와 상기 제2 클래스의 키워드 사이의 상기 시맨틱 트리에서의 거리는 상기 제1 클래스의 키워드에 대응되는 제1 노드와 상기 제2 클래스의 키워드에 대응되는 제2 노드 사이의 노드의 수가 많을 수록 멀어지도록 세팅될 수 있다. 또한, 상기 인공 신경망을 학습 시키는 것은, 상기 제1 클래스와 상기 제2 클래스 사이의 상기 시맨틱 관계 정보를 반영하여, 제1 클래스 클러스터 및 제2 클래스 클러스터 중 적어도 하나의 상기 임베딩 공간 상의 위치를 업데이트 하는 것을 포함할 수 있다. 이 때, 상기 제1 클래스 클러스터는 상기 제1 클래스의 특징 포인트 및 상기 제1 클래스의 앵커포인트로 구성된 것이고, 상기 제2 클래스 클러스터는 상기 제2 클래스의 특징 포인트 및 상기 제2 클래스의 앵커포인트로 구성된 것일 수 있다.
일 실시예에서, 상기 인공 신경망을 학습 시키는 것은, 상기 제1 클래스의 특징 포인트를 반영하여, 상기 앵커 포인트의 상기 임베딩 공간 상의 위치를 업데이트 하는 것과, 상기 제1 클래스의 특징 포인트와, 상기 업데이트 된 앵커 포인트 사이의 거리를 감소시키는 방향으로 상기 인공 신경망을 학습시키는 것을 포함할 수 있다. 이 때, 상기 앵커 포인트의 상기 임베딩 공간 상의 위치를 업데이트 하는 것은, 학습 시작 시점부터 제1 횟수의 반복으로 구성되는 초기 학습에서는 상기 앵커 포인트의 위치 업데이트를 수행하지 않고, 상기 초기 학습 이후의 반복에서 상기 앵커 포인트의 위치 업데이트를 수행하는 것을 포함할 수 있다. 이 때, 상기 초기 학습 이후의 반복에서 상기 앵커 포인트의 위치 업데이트를 수행하는 것은, 상기 초기 학습 이후의 반복에서, 2 이상의 제2 횟수의 반복 마다 한번씩 상기 앵커 포인트의 위치 업데이트를 수행하는 것을 포함할 수 있다. 또한, 상기 제1 횟수는, 상기 트레이닝 데이터의 타입이 제1 타입인 경우 제1 값으로 설정되고, 상기 트레이닝 데이터의 타입이 제2 타입인 경우 제2 값으로 설정될 수 있다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 다른 실시예에 따른 전자 장치는, 하나 이상의 인스트럭션이 저장되는 메모리와, 상기 저장된 인스트럭션을 실행하는 프로세서를 포함한다. 이 때, 상기 프로세서는, 비디오의 현재 프레임에서 추출된 복수의 객체 각각의 특징 데이터를 가리키는 임베딩 공간 상의 특징 포인트들을 제1 결정하고, 복수의 클래스의 앵커 포인트들의 상기 임베딩 공간 상의 위치를, 각 클래스 사이의 시맨틱 관계 정보를 반영하여 제2 결정하고, 복수의 클래스의 앵커 포인트들의 상기 임베딩 공간 상의 위치를, 각각의 앵커 포인트에 인접한 특징 포인트들의 위치를 반영하여 제1 업데이트 하고, 상기 특징 포인트들 각각이, 상기 위치가 업데이트된 상기 앵커 포인트들 중 최근접 앵커 포인트에 더 가까워지도록 하는 방향으로 인공 신경망을 학습시키고, 각각의 앵커 포인트 및 상기 앵커 포인트에 인접한 특징 포인트들로 구성된 클래스 별 클러스터의 상기 임베딩 공간 상의 위치를, 각각의 앵커 포인트가 가리키는 클래스 사이의 시맨틱 관계 정보를 반영하여 제2 업데이트 하고, 상기 현재 프레임을 다음으로 넘기면서 상기 제1 결정하는 것, 상기 제2 결정하는 것, 상기 제1 업데이트 하는 것, 상기 학습시키는 것 및 상기 제2 업데이트 하는 것을 반복할 수 있다.
일 실시예에서, 상기 프로세서는, 상기 학습 된 인공 신경망에 의한 상기 클래스 별 클러스터의 형성 결과에 대한 사용자 피드백을 얻고, 상기 사용자 피드백을 반영하여 상기 인공 신경망을 더 학습시킬 수 있다..
상기 기술된 문제점들을 해결하기 위한 본 발명의 또 다른 실시예에 따른 전자 장치는, 하나 이상의 인스트럭션이 저장되는 메모리와, 상기 저장된 인스트럭션을 실행하는 프로세서를 포함한다. 상기 프로세서는, 임베딩 공간 상의 특징 포인트에 관련된 데이터를 출력하는 객체 인식 모델을 이용하여, 영상에서 추출된 복수의 객체 각각의 상기 임베딩 공간 상의 특징 포인트들을 얻고, 상기 특징 포인트들 중 적어도 일부에 가장 근접 한 앵커 포인트의 키워드를 이용하여 상기 영상의 장면을 이해한다. 이 때, 상기 앵커 포인트는, 각 클래스 별 대표 이미지가 상기 임베딩 공간 상에 매핑된 것이고, 상기 임베딩 공간은, 상기 앵커 포인트 사이의 시맨틱(semantic) 관계를 반영하여 상기 앵커 포인트 사이의 거리가 산출되는 특징 공간일 수 있다.
일 실시예에서, 상기 영상의 장면을 이해하는 것은, 상기 매핑된 특징 포인트들 각각에 가장 근접 한 하위 레벨 앵커 포인트를 선정하고, 상기 선정된 하위 레벨 앵커 포인트들 각각에 대응하는 시맨틱 트리의 노드들 중, 적어도 일부의 상위 노드를 선정하고, 선정된 상위 노드에 대응되는 키워드를 이용하여 상기 영상의 장면을 이해하는 것을 포함할 수 있다.
일 실시예에서, 상기 영상의 장면을 이해하는 것은, 상기 매핑된 특징 포인트들 중 적어도 일부에 가장 근접 한 상위 레벨 앵커 포인트를 선정하고, 상기 선정된 상위 레벨 앵커 포인트에 대응하는 키워드를 이용하여 상기 영상의 장면을 이해하는 것을 포함할 수 있다.
일 실시예에서, 상기 프로세서는, 상기 객체 인식 모델을 상기 영상의 타입에 기반하여 선정할 수 있다.
일 실시예에서, 상기 프로세서는, 상기 객체 인식 모델을 상기 전자 장치의 사용자의 프로필 정보에 기반하여 선정할 수 있다.
일 실시예에서, 상기 프로세서는, 상기 객체 인식 모델을 응용 서비스 타입에 기반하여 선정할 수 있다.
일 실시예에서, 상기 프로세서는, 상기 이해된 장면에 대응 되는 추가 컨텐츠를 출력할 수 있다.
일 실시예에서, 상기 객체 인식 모델은 각 클래스의 키워드 간 시맨틱 계층 관계를 표현하는 시맨틱 트리를 이용하여 기계학습 된 결과로서 생성된 인공 신경망으로 구성되는 것일 수 있다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 또 다른 실시예에 따른 전자 장치에 의하여 수행되는 방법은, 임베딩 공간 상의 특징 포인트에 관련된 데이터를 출력하는 객체 인식 모델을 이용하여, 영상에서 추출된 복수의 객체 각각의 상기 임베딩 공간 상의 특징 포인트들을 얻는 단계와, 상기 특징 포인트들 중 적어도 일부에 가장 근접 한 앵커 포인트의 키워드를 이용하여 상기 영상의 장면을 이해하는 단계를 포함한다. 상기 앵커 포인트는, 각 클래스 별 대표 이미지가 상기 임베딩 공간 상에 매핑된 것이고, 상기 임베딩 공간은, 상기 앵커 포인트 사이의 시맨틱 관계를 반영하여 상기 앵커 포인트 사이의 거리가 산출되는 특징 공간일 수 있다.
도 1은 본 발명의 일 실시예에 따른 장면 이해 기반 서비스 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 전자 장치의 하드웨어 구성도이다.
도 3은 종래 기술에 따른 메트릭 학습을 설명하기 위한 도면이다.
도 4는 본 발명의 몇몇 실시예들에 따른 전자 장치 또는 방법에 적용되는 개선된 성능의 메트릭 학습을 설명하기 위한 도면이다.
도 5는 본 발명의 몇몇 실시예들에 따른 전자 장치 또는 방법에 적용되는 개선된 성능의 메트릭 학습의 성능을, 종래 기술에 따른 분류 알고리즘과 비교하여 설명하기 위한 도면이다.
도 6은 본 발명의 몇몇 실시예들에 따른 전자 장치 또는 방법에 적용되는 개선된 성능의 메트릭 학습의 특징을 설명하기 위한 도면이다.
도 7은 본 발명의 몇몇 실시예들에 따른 전자 장치 또는 방법에 적용되는 메트릭 학습 과정에서, 두개의 앵커 포인트 간의 상대적 위치가 앵커 포인트 간의 시맨틱 관계에 따라 결정되는 점을 설명하기 위한 도면이다.
도 8은 본 발명의 몇몇 실시예들에 따른 전자 장치 또는 방법에 적용되는 시맨틱 관계가 반영된 메트릭 학습의 특징을 설명하기 위한 도면이다.
도 9는 본 발명의 몇몇 실시예들에 따른 전자 장치 또는 방법에 적용되는 메트릭 학습 과정에 있어서, 앵커 포인트의 업데이트가 수행되는 것을 설명하기 위한도면이다.
도 10 내지 도 11은 본 발명의 몇몇 실시예들에 따른 전자 장치 또는 방법에 적용되는 메트릭 학습 과정에 있어서, 앵커 포인트의 업데이트 및 임베딩 스페이스 업데이트 이후의 클러스터 위치 업데이트가 수행되는 것을 설명하기 위한도면이다.
도 12 내지 도 14는, 본 발명의 일 실시예에 따른 전자 장치의 메트릭 생성 프로그램의 동작 예시를 상세 설명하기 위한 도면이다.
도 15는, 본 발명의 다른 실시예에 따른 전자 장치의 하드웨어 구성도이다.
도 16은 도 15의 전자 장치의 장면 이해 동작을 설명하기 위한 개념도이다.
도 17은 본 발명의 또 다른 실시예에 따른 메트릭 학습 방법의 순서도이다.
도 18은 본 발명의 또 다른 실시예에 따른 객체 인식 모델 생성 방법의 순서도이다.
도 19는 본 발명의 또 다른 실시예에 따른 장면 이해 방법의 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
도 1을 참조하여 본 발명의 일 실시예에 따른 장면 이해 기반 서비스 시스템의 구성 및 동작을 설명한다. 본 실시예에 따른 시스템은 객체 인식 모델 학습 장치(10) 및 전자 장치(100a, 100b, 100c)를 포함할 수 있다. 전자 장치(100a, 100b, 100c)는 사용자에 의하여 사용되는 사용자 단말로서, 예를 들어, 스마트폰, 스마트워치 등의 웨어러블 디바이스, 태블릿, 데스크톱, 노트북, 디지털 TV, 디지털 사이니지, 키오스크 등의 연산 프로세서가 구비된 컴퓨팅 장치 또는 컴퓨팅 수단이 구비된 디지털 장치 등의 전자 장치일 수 있다.
객체 인식 모델 학습 장치(10)는 기계학습을 수행하여 영상의 객체를 인식하는 모델을 생성하고, 그 결과로 만들어진 객체 인식 모델 관련 데이터(50)를 전자 장치(100a, 100b, 100c)에 제공한다. 전자 장치(100a, 100b, 100c)는 객체 인식 모델 관련 데이터(50)를 이용하여 동영상의 각 프레임 또는 이미지에 포함된 하나 이상의 객체를 인식하고, 그 결과를 바탕으로 장면(scene)을 이해한다.
객체를 인식한다는 것은, 이미지에 포함된 객체 영역, 즉 ROI(Region Of Interest)가 표현하는 주제를 기 지정된 키워드들 중 하나로 결정하는 것을 의미한다. 즉, 객체의 인식은, 객체 영역을 추출하고, 추출된 객체 영역의 이미지를 분류기(classifier)에 입력하여 어떤 주제의 이미지인지 선정하는 것을 포함한다.
장면을 이해한다는 것은, 현재 표시 화면에 포함된 객체들의 인식 결과를 이용하여, 현재 표시 화면이 표현하는 전체적인 의미 또는 상황을 결정하는 것을 의미한다. 예를 들어, 현재 표시 화면에서 '도마', '칼' 및 '생선'의 3개 객체가 인식된 경우, 현재 표시 화면의 장면 이해 결과는 '요리'가 될 수 있을 것이다. 이처럼, 장면의 이해를 위하여는 시맨틱 계층 관계가 고려될 필요가 있다. 본 발명의 몇몇 실시예에 따른 장면 이해 방법에 대하여는 후술한다.
일 실시예에서, 전자 장치(100a, 100b, 100c)는 객체 인식 모델 관련 데이터(50) 중 적어도 일부를 이용하여 각 객체의 시맨틱 관계 정보(미도시)가 반영된 거리 함수에 대한 데이터를 생성하고, 객체 이미지의 특징 포인트의 임베딩 공간 상의 위치를 기준으로 객체를 인식할 수 있다. 상기 임베딩 공간은 상기 거리 함수에 의하여 포인트 간 거리가 산출되는 공간이다.
본 실시예에 따른 시스템은 서비스 서버(20)를 더 포함할 수 있다. 서비스 서버(20)는 전자 장치(100a, 100b, 100c)에 서버/클라이언트 모델 기반의 온라인 서비스를 제공하는 전자 장치이다. 전자 장치(100a, 100b, 100c)가 장면의 이해 결과를 나타내는 데이터(40)를 서비스 서버(20)에 제공하여, 서비스 서버(20)로부터 장면 반영 서비스(30)를 제공 받을 수 있다.
장면 반영 서비스(30)는, 전자 장치(100a, 100b, 100c)에 표시된 특정 장면에 대응되는 추가 컨텐츠를 제공하는 것을 포함할 수 있다. 예를 들어, 상기 추가 컨텐츠는 장면 맞춤형 광고, 장면 대응 텍스트를 이용한 검색 결과, 장면 맞춤형 미디어일 수 있다.
한편, 일 실시예에서, 전자 장치(100a, 100b, 100c)는 상기 객체 인식 모델에 대하여 점진 학습(incremental learning)을 수행함으로써, 그 성능을 개선시킬 수 있다. 상기 점진 학습은, 객체 인식 모델에 대한 사용자 피드백을 제공 받고, 상기 피드백을 반영하여 상기 객체 인식 모델을 다시 학습 하는 것으로 이해 될 수 있을 것이다. 이러한 점진 학습과 관련하여 자세한 설명은 후술한다.
다음으로, 도 2를 참조하여, 본 발명의 다른 실시예에 따른 전자 장치(10)의 구성 및 동작을 설명한다. 본 실시예에 따른 전자 장치는 기계학습을 수행하여 분류 등의 판단을 수행하는 장치인 바, 높은 수준의 컴퓨팅 성능이 요구된다. 따라서, 본 실시예에 따른 전자 장치는, 예를 들어 도 1의 객체 인식 모델 학습 장치와 같은 서버 장치일 수 있다. 다만, 본 실시예에 따른 전자 장치가 반드시 서버 장치에 한정되는 것은 아니다. 사용자 단말 장치 역시 이하 상술하는 구성을 만족시키고, 동일한 동작을 수행하는 것은 본 실시예에 따른 전자 장치가 될 수 있음을 유의한다.
도 2에 도시된 바와 같이, 본 실시예에 따른 전자 장치(10)는 프로세서(101) 및 프로세서(101)에서 수행되는 메트릭 생성 프로그램(130b)을 저장하는 메모리(102)를 포함한다. 프로세서(101)는 하나 이상의 중앙 처리 장치(CPU; Central Processing Unit) 및 하나 이상의 그래픽 처리 장치(GPU; Graphics Processing Unit) 중 적어도 하나를 이용하여 구성될 수 있다.
일 실시예에서, 전자 장치(10)는 스토리지(103), 네트워크를 통하여 외부 장치와의 데이터 송수신을 중개하는 네트워크 인터페이스(105) 및 시스템 버스(104) 중 적어도 하나를 더 포함할 수 있다. 시스템 버스(104)는 프로세서(101), 메모리(102), 스토리지(103) 및 네트워크 인터페이스(105) 사이의 데이터 송수신 통로 역할을 수행한다. 메모리(102)는, 예를 들어 RAM(Random Access Memory)와 같은 휘발성 데이터 저장장치일 수 있다. 스토리지(103)는 플래시 메모리와 같은 비휘발성 메모리, 하드디스크 등의 데이터 저장 장치일 수 있다.
스토리지(103)는 시맨틱 트리(131) 및 클래스 별 대표 데이터(132)를 저장할 수 있다. 시맨틱 트리(131)의 각 노드는 키워드와 일대일 대응되고, 각 노드는 키워드 사이의 계층적인 연결관계에 따라 서로 부모/자식 관계로 연결된다. 각 노드의 키워드는, 트레이닝 데이터셋의 클래스에 일대일 대응되는 것일 수 있다. 시맨틱 트리(131)의 구체적인 예시는 도 6 등을 참조하여 후술한다.
클래스 별 대표 데이터(131)는 트레이닝 데이터셋의 각 클래스의 대표 데이터이다. 예를 들어, 상기 트레이닝 데이터셋이 객체 인식을 위한 이미지 셋인 경우, 클래스 '독수리'의 대표 데이터는, 독수리가 표현된 대표 이미지를 가리키는 것이다. 또한, 클래스 '독수리'의 대표 데이터에서 추출된 특징 데이터가 임베딩 공간에 매핑 되면, '독수리' 클래스의 앵커 포인트가 된다. 다른 예로, 트레이닝 데이터셋이 음성 인식을 위한 보이스(voice) 셋인 경우, 클래스 '독수리'의 대표 데이터는, 독수리를 발음한 대표 보이스를 가리키는 것이다. 또한, 클래스 '독수리'의 대표 보이스 사운드에서 추출된 특징 데이터가 임베딩 공간에 매핑 되면, '독수리' 클래스의 앵커 포인트가 된다.
일 실시예에서, 메트릭 생성을 위한 기계학습 진행 시, 클래스 별 대표 데이터가 별도로 제공될 수 있다. 이 경우에는 제공된 대표 데이터를 이용하여 기계학습을 진행하고, 제공된 대표 데이터가 없는 경우, 스토리지(103)에 저장된 클래스 별 대표 데이터(131)가 디폴트 데이터로서 사용될 수 있다.
스토리지(103)는 메트릭 생성 프로그램(130a)을 더 저장할 수 있다. 메트릭 생성 프로그램(130a)은 실행 가능 바이너리 파일(미도시)을 포함할 수 있고, 상기 실행 가능 바이너리 파일은 메트릭 생성 프로그램(130a)과 함께 메모리(102)에 로드 된다. 도 2에는 메모리(102)에 저장된 메트릭 생성 프로그램(130b)이 도시되어 있다. 메트릭 생성 프로그램(130b)이 실행 될 때, 시맨틱 트리(131)가 수시로 참조될 수 있다. 따라서, 실행 속도 향상을 위해, 시맨틱 트리(131)도 메모리(102)로 로드 되어 저장될 수 있다.
스토리지(103)는 ML(Machine Learning) 파라미터 셋(1340)도 저장할 수 있다. ML 파라미터 셋(1340)은 기계학습의 결과 생성된 분류 모델(classifying model)을 정의하는 데이터로서, 상기 분류 모델이 인공 신경망(neural network) 기반의 모델인 경우 상기 인공 신경망을 정의하기 위한 파라미터 셋(parameter set)일 수 있다.
전자 장치(10)는 메트릭 생성 프로그램(130b)에 포함된 메트릭 학습 인스트럭션(1301), 시맨틱 트리 인터페이스 인스트럭션(1302), 분류 학습 인스트럭션(1303) 및 모델 생성 인스트럭션(1304) 중 적어도 하나를 프로세서(101)를 통해 실행함으로써, 거리 함수를 결정하기 위한 메트릭 학습을 수행하거나, 거리 함수를 결정하고 그 거리 함수가 반영된 임베딩 공간 기반의 분류 모델을 생성하기 위한 기계학습을 수행할 수 있다. 이하, 전자 장치(10)에 의하여 수행될 수 있는 상기 기계학습 관련 동작에 대하여 설명한다.
본 명세서에서 인스트럭션(instruction)은 기능을 기준으로 묶인 일련의 명령어들로서 프로세서에서 실행되는 것을 가리킨다.
먼저, 전자 장치(10)에 의하여 실행될 수 있는 개선된 성능의 메트릭 학습에 대하여 설명한다.
도 3은 종래 기술에 따른 메트릭 학습을 설명하기 위한 도면이다. 도 3에는 특징 공간(70)에 매핑 된 2가지 클래스의 특징 포인트들이 도시 되어 있다. 제1 클래스는 사각형으로, 제2 클래스는 원형으로 각각 그 포인트가 표시되어 있다. 특징 공간(70)에서 각 포인트들 사이의 거리(distance)는 i) 유클리디안 거리(Euclidean distance), 또는 ii) 마하라노비스 거리(Mahalanobis Distance) 등 널리 알려진 범용 거리 함수를 이용하여 측정 될 것이다. 그런데, 상기 범용 거리 함수가 트레이닝 데이터 간의 유사/비유사를 적절하게 표현하지 못하는 경우가 많다. 상기 범용 거리 함수는, 말그대로 여러가지 상황에 일반적으로 쓸 수 있는 거리 함수이고, 학습 대상 트레이닝 데이터셋에 포함된 트레이닝 데이터에 최적화 된 것은 아니기 때문이다. 이를 반영하듯, 도 3의 특징 공간에는 제1 클래스의 특징 포인트와 제2 클래스의 특징 포인트가 일부 혼재 되어 있는 것이 도시되어 있다. 이러한 경우, 클러스터링이 명확하게 이뤄지지 않고, 결과적으로 분류 모델의 정확도가 떨어지고, 복잡도가 올라갈 수 있다.
이러한 문제를 해결하기 위해, 종래 기술에 따른 메트릭 학습을 수행하면 학습 대상 트레이닝 데이터셋에 최적화된 거리 함수가 구해진다. 그리고, 이러한 거리 함수에 따라 거리 측정이 이뤄지는 특징 공간이 구성될 것이다. 메트릭 학습에 의하여 생성된 거리 함수에 따라 거리 측정이 이뤄지는 특징 공간을 임베딩 공간(80)으로 지칭한다.
도 3에 도시된 바와 같이, 임베딩 공간(80)에서 제1 클래스의 특징 포인트들 사이의 거리는 특징 공간(70) 상의 제1 클래스의 특징 포인트들 사이의 거리에 비하여 더 짧다. 또한, 임베딩 공간(80)에서 제2 클래스의 특징 포인트들 사이의 거리는 특징 공간(70) 상의 제2 클래스의 특징 포인트들 사이의 거리에 비하여 더 짧다. 이렇게 동일한 클래스의 특징 포인트들 사이의 거리가 더 가까워짐에 따라 제1 클래스의 클러스터(81)와 제2 클래스의 클러스터(82)는 더 명확하게 분리되고, 그에 따라 분류 모델의 정확도가 향상되고, 연산에 소요되는 컴퓨팅 부하도 감소된다.
하지만, 종래 기술에 따른 메트릭 학습의 경우, 높은 정확도의 거리 함수를 구하기 위하여, 다수의 트레이닝 데이터가 학습되어야 한다. 이러한 종래 기술의 메트릭 학습의 문제점은 도 4를 참조하여 후술될 개선된 성능의 메트릭 학습에 의하여 해결된다.
또한, 메트릭 학습의 결과로 생성된 거리 함수는 클래스 간 유사/비유사 만을 반영하고, 유사/비유사의 정도는 고려하지 못하며, 더욱이 클래스의 시맨틱 또한 고려하지 못한다. 이러한 종래 기술의 메트릭 학습의 문제점은 도 6 내지 도 11을 참조하여 후술될 개선된 성능의 메트릭 학습에 의하여 해결된다.
도 4를 참조하여, 본 발명의 몇몇 실시예들에 따른 전자 장치 또는 방법에 적용되는 개선된 성능의 메트릭 학습을 설명한다.
단순히 유사한 특징 포인트들끼리 더 가까워지도록 하는 거리 함수를 생성하는 종래 기술에 따른 메트릭 학습과 달리, 본 발명의 몇몇 실시예들에 따른 개선된 성능의 메트릭 학습은 트레이닝 데이터의 특징 포인트가 앵커 포인트에 더 가까워지도록 하는 거리 함수를 생성한다. 이를 위해, 상기 메트릭 학습에 적용되는 손실 함수(loss function)는 예를 들어, 제1 클래스의 트레이닝 데이터의 특징 포인트와 상기 앵커 포인트는 가까울 수록 손실이 적고, 상기 제1 클래스와 다른 제2 클래스의 트레이닝 데이터의 특징 포인트와 상기 앵커 포인트는 가까울 수록 손실이 큰 것으로 손실 값을 정의하는 것으로 세팅 될 수 있다.
도 4에 도시된 바와 같이, 각 클래스의 앵커 포인트(71a, 72a)는 트레이닝 데이터 중 어느 하나가 아니라, 별도의 대표 데이터(71c, 72c)에서 추출된 특징 데이터가 매핑된 것일 수 있다. 이미 설명한 바와 같이, 대표 데이터(71c, 72c)는 메트릭 학습 시작 시점에 입력 된 데이터일 수 있다. 또한, 앵커 포인트(71a, 72a)가 시맨틱 트리의 특정 노드(특정 클래스에 대응되는)에 대응되는 것이라면, 대표 데이터(71c, 72c)가 입력되지 않더라도 클래스 별 대표 데이터가 기본 적용될 수도 있다.
본 실시예에 따른 개선된 성능의 메트릭 학습은, 종래 기술 대비 더 적은 개수의 트레이닝 데이터만으로도 각 클래스의 클러스터가 충분히 집중되어 분포되도록 하는 거리 함수가 생성되는 효과를 가진다.
특징 공간(70)을 대상으로 본 실시예에 따른 메트릭 학습이 적용되면, 임베딩 공간(83)을 구성하는 거리 함수(미도시)가 생성될 것이다. 도 4에는 상기 생성된 거리 함수의 영향으로, 제1 클래스의 특징 포인트들이 제1 클래스의 앵커 포인트(71b) 쪽으로 가까워지고, 동시에 제2 클래스의 특징 포인트들이 제2 클래스의 앵커 포인트(72b) 쪽으로 가까워진 것이 도시되어 있다. 이처럼 각 클래스의 특징 포인트들의 위치가 메트릭 학습 이전 대비 더 밀집되게 업데이트 됨에 따라, 각 클래스의 클러스터(71d, 72d)의 영역도 임베딩 공간(83) 상에서 더 좁게 형성된다. 이에 따라, 각 클래스의 클러스터(71d, 72d)는 종래 기술에 따른 메트릭 학습 결과 대비 더 명확하게 분리되고, 그에 따라 분류 모델의 정확도가 향상되고, 연산에 소요되는 컴퓨팅 부하도 감소된다.
도 5는 도 4를 참조하여 설명한 개선된 성능의 메트릭 학습의 성능을, 종래 기술에 따른 분류 알고리즘과 비교하여 설명하기 위한 도면이다. SVM(Support Vector Machine) 등 널리 알려진 분류 알고리즘은, 특징 공간 상의 각 클래스 별 분류 기준선(90)을 생성한다. 이러한 분류 기준선(90)은 비선형일 수도 있다. 그러나, 도 5에 기재된 바와 같이, 각 클래스 별 클러스터링이 잘 이뤄지지 않아 분류 기준선(90)이 높은 차원의 함수를 요구하는 경우, 그 분류 모델은 높은 컴퓨팅 부하를 요할 것이다.
반면에, 도 4를 참조하여 설명한 메트릭 학습의 결과를 이용하여 분류 모델을 학습한다면, 요구 되는 컴퓨팅 부하가 현저히 감소한다. 도 5에 도시된 것과 같이, 각 클래스의 앵커 포인트(73, 74, 75)를 기준으로 특징 포인트들이 고도로 밀집되게 클러스터링 되어 있어서, 분류 기준선(91)의 복잡도가 종래 기술 대비 완화되었기 때문이다.
한편, 본 발명의 몇몇 실시예들에 다른 메트릭 학습에서, 상기 앵커 포인트의 위치는 앵커 포인트에 대응되는 클래스 간의 시맨틱 관계를 고려하여 결정된다. 이하, 관련 하여 도 6 내지 도 10을 참조하여 설명한다.
도 6에 도시된, Falcon 노드(76c)의 앵커 포인트(76a)와 Swan 노드(74c)의 앵커 포인트(76a) 사이의 특징 공간(70) 상의 거리보다, 도 7에 도시된 Falcon 노드(76c)의 앵커 포인트(76a)와 Poodle 노드(73c)의 앵커 포인트(73b) 사이의 특징 공간(70) 상의 거리가 더 길다. 이는, Falcon 클래스와 Swan 클래스 간의 시맨틱 관계가, Falcon 클래스와 Poodle 클래스 간의 시맨틱 관계보다 가깝기 때문이다. 다시 말하면, 시맨틱 트리 상, Falcon 노드(76c)와 Swan 노드(74c) 간의 거리가, Falcon 노드(76c)와 Poodle 노드(73c) 간의 거리보다 가깝기 때문이다.
일 실시예에서, 시맨틱 트리 상에서 두개의 노드 사이의 거리는, 두개의 노드 사이의 노드의 수 또는 에지의 수가 많을 수록 멀어지도록 세팅 될 수 있다. 예를 들어, 상기 거리가 노드 사이의 에지의 수로 세팅 된다면, Falcon 노드(76c)와 Swan 노드(74c) 간의 거리는 2(Falcon-Bird 간 에지, Bird-Swan 간 에지)이고, Falcon 노드(76c)와 Poodle 노드(73c) 간의 거리는 4(Falcon-Bird 간 에지, Bird-Animal 간 에지, Animal-Dog 간 에지, Dog-Poodle 간 에지)가 된다.
도 6에서 Falcon 앵커 포인트(76b)로 인접 특징 포인트들이 가까워져서 Falcon 클러스터(76d)가 형성되고, Swan 앵커 포인트(74b)로 인접 특징 포인트들이 가까워져서 Swan 클러스터(74d)가 형성된다. 이처럼, 앵커 포인트는 클러스터의 응집도를 높이는 기준점이 된다. 따라서, 앵커 포인트가 서로 적당히 이격 되는 것이 분류 성능의 향상을 위하여 중요하다. 본 실시예는, 각 앵커 포인트의 위치를 시맨틱 관계를 고려하여 결정하므로, 앵커 포인트가 서로 적당히 이격 되도록 유도한다.
도 7에서 Falcon 앵커 포인트(76b)로 인접 특징 포인트들이 가까워져서 Falcon 클러스터(76d)가 형성되고, Poodle 앵커 포인트(73b)로 인접 특징 포인트들이 가까워져서 Poodle 클러스터(73d)가 형성된다. Poodle 클러스터(73d)의 위치는, 도 6의 Swan 클러스터(74b)의 위치보다, Falcon 클러스터(76d)로부터 더 멀다. 그리고, Poodle 클래스의 특징 포인트들은, 본 실시예에 따른 메트릭 학습을 수행하기 전보다 Falcon 클러스터(76d)로부터 더 멀어진 것을 확인할 수 있다. 이는, Falcon과 Poodle의 시맨틱 관계가 반영된 것이다. 또한, Falcon 클래스의 앵커 포인트(76b)와 Poodle 클래스의 앵커 포인트(73b)가 먼저 시맨틱 관계를 반영한 클러스터 기준점의 역할을 수행함으로써, Falcon 클러스터(76d) 및 Poodle 클러스터(73d)의 위치 또한 시맨틱 트리 상의 관계를 반영하게 되는 점을 이해할 수 있을 것이다.
도 6 및 도 7에는 각각 2개씩의 앵커 포인트만 도시 되어 있으나, 학습되는 트레이닝 데이터의 클래스 개수만큼의 앵커 포인트가 특징 공간(70)에 배치될 것이고, 모든 앵커 포인트 쌍 사이의 거리가 시맨틱 관계를 만족하도록 앵커 포인트의 위치가 결정될 것이다. 즉, 클래스의 개수가 늘어날 수록, 각 앵커 포인트의 위치는 시맨틱 트리의 각 대응 노드 사이의 거리를 더 정확하게 반영하게 된다.
그 결과, 도 8에 도시된 것과 같이, 3개 이상의 앵커 포인트들이 반영되어 학습된 거리 함수를 얻고, 상기 거리 함수가 반영된 임베딩 공간(86) 상에 시맨틱 트리의 하위 노드들의 클러스터 영역을 포함하는 상위 노드의 클러스터 영역이 형성될 수도 있을 것이다. 이러한 점을 이용하여 분석 대상 데이터에서 복수의 특징 데이터가 추출될 수 있다면, 각 특징 데이터가 가리키는 시맨틱 트리(131) 상 하위 노드를 식별하고, 식별된 하위 노드들이 소속된 상위 노드를 식별하는 등의 방식으로, 상기 분석 대상 데이터의 시맨틱을 고려한 계층적 이해가 가능할 것이다. 이에 대하여는 도 16을 참조하여 후술한다.
일 실시예에서, 상기 메트릭 학습 과정에서 앵커 포인트의 위치가 업데이트 될 수도 있다. 이와 관련하여 도 9 내지 도 11을 참조하여 설명한다.
기계학습의 하나인 메트릭 학습 역시 각각의 트레이닝 데이터를 신경망에 입력하고, 신경망에서 출력된 데이터에 대하여 손실 함수를 이용하여 평가하고, 그 결과를 이용하여 상기 신경망의 가중치를 조정하는 하는 동작을 전체 트레이닝 데이터셋에 대하여 반복(iteration) 한다.
거리 함수가 존재하지 않는 상태에서는, 단순 특징 공간 상에 앵커 포인트가 매핑된다. 따라서, 이 때에는 현재 임베딩 공간은 특징 공간이 된다. 다만, 거리 함수가 구해지고, 구해진 거리 함수가 반영된 임베딩 공간이 형성되면, 그 형성된 임베딩 공간으로 현지 임베딩 공간이 업데이트 된다.
도 9에는 현재 임베딩 공간(70)에 Falcon 클래스의 앵커 포인트(76a) 및 Poodle 클래스의 앵커 포인트(73a)가 매핑된 후, 앵커 업데이트 프로세스에 따라 Falcon 클래스의 앵커 포인트가 Falcon 클래스의 트레이닝 데이터의 특징 포인트들의 위치를 반영하여 업데이트(76a') 되고, Poodle 클래스의 앵커 포인트가 Poodle 클래스의 트레이닝 데이터의 특징 포인트들의 위치를 반영하여 업데이트(73a') 되는 것이 도시되어 있다.
일 실시예에서, 제1 클래스에 대한 상기 업데이트에 의하여, 상기 제1 클래스의 앵커 포인트의 위치는, 상기 제1 클래스의 앵커 포인트 및 현재 반복(iteration)까지 입력된 모든 제1 클래스의 트레이닝 데이터의 특징 포인트들의 대표 값으로 업데이트 될 수 있다. 예를 들어, 상기 대표 값은 평균 값 또는 중앙 값일 수 있다.
상기 업데이트에 의하여, Poodle 클래스의 앵커 포인트 위치와 트레이닝 데이터의 특징 포인트의 위치 사이의 이격이 심했던 문제가 개선되었음을 확인할 수 있다.
메트릭 학습의 결과, 현재 iteration에 따른 거리 함수는, Falcon 클래스의 특징 포인트들이 업데이트 된 앵커 포인트(76a')에 가까워지고, Poodle 클래스의 특징 포인트들은 업데이트 된 앵커 포인트(73a')에 가까워지도록 하는 거리 함수로 업데이트 된다. 도 9에는, 업데이트 된 거리 함수가 반영된 임베딩 공간(86)이 도시되었다.
메트릭 학습은, 학습할 다음 트레이닝 데이터(133)가 남아 있다면, 다음의 반복(iteration)으로 진행된다.
상술한 바와 같이, 앵커 포인트는 대표 데이터의 특징 데이터가 특징 공간(또는, 학습의 반복(iteration)이 진행 중인 경우 현재 임베딩 공간)에 매핑 된 것이다. 대표 데이터의 선정에 아무리 신중을 구하더라도, 해당 클래스의 트레이닝 데이터 모두에 대한 이상적인 대표 포인트가 되지는 못할 것이다. 따라서, 최초의 앵커 포인트를 계속해서 유지하여 학습을 반복(iteration)하게 되면, 임베딩 공간 상 각 클러스터의 위치가 트레이닝 데이터를 정확하게 반영하지 못하는 문제가 있다. 하지만, 그럼에도 불구하고 상기 앵커 포인트는 트레이닝 데이터의 특징 포인트들의 위치의 기준점 역할을 수행할 필요가 있다.
일 실시예에서, 상기 두가지 상반된 목표를 모두 만족시키기 위하여, 제1 클래스의 앵커 포인트의 위치를, 상기 제1 클래스의 특징 포인트들의 위치를 반영하여 업데이트 하되, 학습 초기에는 앵커 포인트의 업데이트를 하지 않을 수 있다. 상기 학습 초기는, 학습 시작 시점부터 제1 횟수의 반복(iteration)으로 구성된다. 이 때, 앵커 포인트의 위치를 업데이트 하더라도, 2 이상의 제2 횟수의 반복 마다 한번씩 상기 앵커 포인트의 위치 업데이트를 수행함으로써, 너무 잦은 앵커 포인트 업데이트에 의한 오버헤드를 줄일 수 있다.
일 실시예에서, 학습 초기 구간을 정의하는 상기 제1 횟수는 트레이닝 데이터의 타입을 기준으로 설정될 수 있다. 즉, 상기 제1 횟수는, 상기 트레이닝 데이터의 타입이 제1 타입인 경우 제1 값으로 설정되고, 상기 트레이닝 데이터의 타입이 제2 타입인 경우 제2 값으로 설정될 수 있다. 예를 들어, 상기 제1 타입은 영상 데이터이고, 상기 제2 타입은 음성 데이터일 수 있다.
일 실시예에서, 메트릭 학습에 따른 임베딩 공간 업데이트 이후, 클러스터 사이의 거리를 클러스터 간 시맨틱 관계를 고려하여 조정한 후, 다음 반복(iteration)으로 넘어갈 수도 있다. 이와 관련하여 도 10을 참조하면, 메트릭 학습에 따라 임베딩 공간이 업데이트 된 후, 클러스터 위치 조정(cluster position revision)에 따라, 3개의 클러스터(73e, 76e, 78e)의 위치가 조정된다. 이러한 클러스터 간 위치 조정에 의하여, 앵커 포인트 업데이트에 의한 시맨틱 관계의 훼손이 점점 확대되는 것을 차단할 수 있는 효과가 있다.
도 10의 사례를 참조로 설명하면, Falcon 클러스터(76e)와 Eagle 클러스터(78e) 사이의 적정 거리는 시맨틱 트리(131)의 Falcon 노드(76c)와 Eagle 노드(78c) 사이의 거리에 기반하여 결정되는데, 상기 결정된 거리가 현재 임베딩 공간 상의 두 클러스터(76e, 78e) 사이의 거리보다 짧기 때문에, 두 클러스터(76e, 78e)는 서로 가까워지는 방향으로 이동한다(76f, 78f). 또한, Poodle 클러스터(73e)는 시맨틱 트리(131)에 따라 결정된 적정 거리보다 더 Falcon 클러스터(76e) 및 Eagle 클러스터(78e) 쪽으로 접근하였으므로, 두 개의 클러스터(76e, 78e)로부터 멀어지는 방향으로 이동한다(73f). 도 11에는 도 10의 클러스터 위치 조정에 따라 조정된 3개의 클러스터의 위치(73g, 76g, 78g)가 도시되어 있다.
도 10을 참조하여 설명한 실시예에 따른 메트릭 학습은, 상기 클러스터 위치 조정 이후, 학습할 다음 트레이닝 데이터(133)가 남아 있다면, 다음의 반복(iteration)으로 진행된다. 이 때, 다음의 반복(iteration)에서 현재 임베딩 스페이스에는 조정된 위치(73g, 76g, 78g)의 3개의 클러스터가 포함된 상태에서, 다음 트레이닝 데이터의 특징 포인트가 추가로 매핑될 것이다.
이하, 상술한 전자 장치의 메트릭 학습 관련 동작을, 메트릭 생성 프로그램에 포함되는 인스트럭션 각각의 동작을 참조하여 설명한다.
도 12를 참조하여, 메트릭 생성 프로그램이 트레이닝 데이터 셋의 학습 결과 얻어진 거리 함수(즉, 메트릭)를 출력하는 동작을 하는 것을 설명한다.
상술한 바와 같이, 몇몇 실시예들에서, 상기 메트릭 학습 도중 시맨틱 트리(131)가 조회될 수 있고, 앵커 포인트 형성을 위한 별도의 클래스 대표 데이터가 입력 되지 않으면, 전자 장치에 저장된 클래스 별 대표 데이터(132)가 사용될 수 있다. 시맨틱 트리 인터페이스 인스트럭션(1302)은 메트릭 학습 인스트럭션(1302)의 요청에 응답하여 시맨틱 트리(131) 또는 클래스 별 대표 데이터(132)의 조회 결과를 메트릭 학습 인스트럭션(1301)에 회신한다.
일 실시예에서, 메트릭 학습 인스트럭션(1301)은 트레이닝 데이터(133)를 CNN(Convolution Neural Network) 레이어들(1310)에 입력하여 입력 된 트레이닝 데이터(133)의 특징 데이터를 얻고, 얻어진 특징 데이터를 DML(Deep Metric Learning) 레이어들(1311a)에 입력하여, DML 레이어들(1311a)로부터 출력된 거리 함수 관련 데이터를 얻을 수 있다.
메트릭 학습 인스트럭션(1301)은, CNN 레이어들(1310)과, CNN 레이어들(1310)에서 DML 레이어들(1311a)를 일괄하여 학습시키거나, DML 레이어들(1311a)만을 CNN 레이어들(1310)과 분리하여 학습시킬 수 있다.
다른 실시예에서, 트레이닝 데이터의 특징 데이터를 얻기 위해 CNN(Convolution Neural Network) 레이어들(1310) 대신 다른 머신 러닝 알고리즘이 이용될 수도 있음을 유의한다.
DML 레이어들(1311a)은 상술한 메트릭 학습이 수행되는 딥러닝 기반의 인공 신경망 네트워크이다.
모델 생성 인스트럭션(1304)은 DML 레이어들(1311a)로부터 출력된 거리 함수 관련 데이터를 사전 정의된 방식으로 패키징 하여 출력한다. 상기 출력된 데이터는 네트워크 인터페이스를 통하여 외부 장치에 송신되거나, 추후 참조될 경우를 대비하여 전자 장치의 스토리지 장치에 저장될 수 있다.
도 13을 참조하여, 메트릭 생성 프로그램이 트레이닝 데이터 셋의 학습 결과 얻어진 거리 함수(즉, 메트릭)를 반영한 임베딩 스페이스 기반의 분류 모델을 생성하여 출력하는 동작을 하는 것을 설명한다.
도 13의 시맨틱 트리 인터페이스 인스트럭션(1302)은 도 12를 참조하여 설명한 것과 동일하게 동작한다. 메트릭 학습 인스트럭션(1301)은, DML 레이어들(1311b)이 메트릭 학습의 결과 생성된 거리 함수가 아니라, 상기 거리 함수가 반영되어 형성된 임베딩 공간 상의 클러스터 형성 결과를 반영하는 클러스터 특징 데이터(cluster feature)를 출력하는 레이어를 도 12의 DML 레이어들(1311a) 대비 더 포함하는 점을 제외하고는 도 12를 참조하여 설명한 것과 동일하게 동작한다.
분류 학습 인스트럭션(1303)은 메트릭 학습 인스트럭션(1301)에 따라 생성된 거리 함수에 기반한 분류 모델을 생성한다. 분류 학습 인스트럭션(1303)은 메트릭 학습 인스트럭션(1301)에 의하여 학습 되는 메트릭 학습 레이어들, 특히 DML 레이어들(1311b)로부터 출력된 데이터를 입력 받아 각 클래스 별 컨피던스 레벨을 출력하는 단일 레이어로 구성된 객체 분류 레이어(1330)를 학습시킬 수 있다.
분류 학습 인스트럭션(1303)이 단일 레이어 만으로 분류 모델을 학습 시킬 수 있는 이유는, DML 레이어들(1311b)에서 출력된 클러스터 특징 데이터가 서로 충분히 이격 되어 위치하는 클러스터링 결과를 반영하기 때문이다. 따라서, 클러스터 특징 데이터로부터 각 클래스 별 컨피던스 레벨을 산출하기 위한 연산의 복잡도가 낮으므로, 단일 레이어만으로도 분류 모델을 학습 시킬 수 있다.
모델 생성 인스트럭션(1304)은 분류 학습 인스트럭션(1303)으로부터 출력된 데이터를 사전 정의된 방식으로 패키징 한 ML 파라미터 셋(1340)을 출력한다. ML 파라미터 셋(1340)에는, CNN 레이어들(1310)을 정의하기 위한 파라미터 셋, DML 레이어들(1311b)를 정의하기 위한 파라미터 셋 및 분류 레이어(1330)를 정의하기 위한 파라미터 셋이 모두 포함될 수 있다. 즉, ML 파라미터 셋(1340)은 CNN 레이어들(1310), DML 레이어들(1311b) 및 분류 레이어(1330)를 순차적으로 연결하여 데이터의 분류 결과를 출력하는 모델을 생성하기 위한 데이터를 포함할 수 있다. 모델 생성 인스트럭션(1304)에 의하여 출력된 데이터는 네트워크 인터페이스를 통하여 외부 장치에 송신되거나, 추후 참조될 경우를 대비하여 전자 장치의 스토리지 장치에 저장될 수 있다.
이하, 도 14를 참조하여, 메트릭 생성 프로그램(130b)이 비디오의 각 프레임 이미지가 포함된 트레이닝 데이터 셋을 이용하여, 상기 비디오에 포함된 각 객체를 분류하는 모델을 생성하기 위한 메트릭 학습을 수행하는 동작을 수행하는 실시예를 설명한다. 본 실시예에 따른 메트릭 생성 프로그램(130b)의 동작은 도 10을 참조하여 설명한 전자 장치의 동작을 인스트럭션 단위로 정리한 것으로 이해될 수 있을 것이다.
비디오 프레임 획득 인스트럭션(1320)은 비디오 데이터를 입력 받아, 순차적으로 프레임 이미지를 객체 추출 인스트럭션(1321)에 제공한다. 비디오의 다음 프레임 이미지가 존재하지 않는 경우, 상기 비디오를 이용한 학습이 종료된 것이므로 마지막 거리 함수 또는, 상기 마지막 거리 함수가 반영된 마지막 임베딩 공간 상의 클러스터 특징 데이터가 출력될 것이다.
본 실시예에 따른 메트릭 생성 프로그램(130b)에 비디오 프레임 획득 인스트럭션(1320) 및 객체 추출 인스트럭션(1321)이 포함될 수도 있지만, 외부 프로그램에 의하여 객체 추출 결과가 제공될 수도 있음을 유의한다.
객체 추출 인스트럭션(1321)은 공지된 객체 추출 알고리즘을 이용하여 제공 받은 프레임 이미지에서 하나 이상의 객체 이미지를 추출하고, 추출된 객체 이미지를 특징 포인트 결정 인스트럭션(1322)에 제공한다. 특징 포인트 결정 인스트럭션(1322)은 CNN 레이어들을 이용하여, 상기 객체 이미지 각각의 특징 데이터를 출력하고, 현재 임베딩 공간에 매핑하여 특징 포인트들을 추가한다.
앵커 포인트 위치 결정 인스트럭션(1323)은 복수의 클래스의 앵커 포인트(anchor point)들의 위치를, 각 클래스 사이의 시맨틱(semantic) 관계 정보를 반영하여 결정한다. 앵커 포인트 위치 결정 인스트럭션(1323)은 메트릭 생성 프로그램의 실행 시작 시, 즉 메트릭 학습이 시작 될 때에 한하여 앵커 포인트의 초기 위치를 세팅하기 위해 수행되고, 앵커 포인트 위치 업데이트가 시작되면 더 이상 실행되지 않을 수 있다.
앵커 포인트 위치 업데이트 인스트럭션(1324)은 각 앵커 포인트들의 위치를 각각의 앵커 포인트에 인접한 특징 포인트들의 위치를 반영하여 업데이트한다.
메트릭 학습 및 임베딩 공간 업데이트 인스트럭션(1325)은 상기 특징 포인트들 각각이, 상기 업데이트된 앵커 포인트들 중 최근접 앵커 포인트에 더 가까워지도록 하는 거리 함수를 생성 하는 메트릭 학습의 현재 반복(iteration)을 수행하고, 상기 생성된 거리 함수를 반영하여 상기 임베딩 공간을 업데이트한다.
클러스터 위치 업데이트 인스트럭션(1326)은 각각의 앵커 포인트 및 상기 앵커 포인트에 인접한 특징 포인트들로 구성된 클래스 별 클러스터의 상기 임베딩 공간 상의 위치를, 각각의 앵커 포인트가 가리키는 클래스 사이의 시맨틱 관계 정보를 반영하여 업데이트한다. 다음으로는, 비디오 프레임 획득 인스트럭션(1320)이 다음 프레임의 이미지를 제공하는 동작과 함께, 다음 사이클이 수행될 것이다.
한편, 일 실시예에서, 기존에 메트릭 생성 프로그램(130b)에 의하여 학습된 결과로 생성된 객체 클러스터 형성 모델(비디오의 프레임 이미지를 입력 받아, 상기 프레임 이미지에 포함된 각 객체 이미지가 어떤 클러스터에 속하는지에 대한 판단 결과를 출력하는)에 대하여 사용자 피드백을 얻는 인스트럭션(미도시)이 더 수행될 수 있다. 이 경우, 상기 피드백을 이용하여, 상기 기존의 객체 클러스터 형성 모델을 업데이트 하기 위한 메트릭 학습 및 임베딩 공간 업데이트 인스트럭션(1325) 및 클러스터 위치 업데이트 인스트럭션(1326)이 수행될 수 있다. 본 실시예는 점진 학습(incremental learning)의 한 형태로 이해될 수 있을 것이다. 이 때, 본 실시예에 따른 메트릭 생성 프로그램(130b)을 실행하는 전자 장치는 사용자 단말일 수 있다.
이하, 본 발명의 다른 실시예에 따른 전자 장치의 구성 및 동작을 설명한다. 본 실시예에 따른 전자 장치는, 상술한 전자 장치에서 수행된 기계학습의 결과 만들어진 모델을 실행하는 장치인 것으로 이해될 수 있다. 이하 그 일 예로서, 비디오의 재생 중 상기 모델을 이용하여 현재 표시되는 화면에 표시된 각 객체를 인식하고, 각 객체의 인식 결과를 이용하여 현재 표시되는 화면의 장면(scene)을 이해하는 전자 장치의 구성 및 동작을 설명한다.
도 15의 전자 장치(100) 역시 도 2의 전자 장치(10)와 유사한 하드웨어 구성을 갖는다. 이하, 공통 부분에 대한 중복된 설명은 생략한다.
스토리지(153)에는 디스플레이(151)에서 재생(160b) 되는 비디오 데이터(160a), 도 2의 전자 장치 등으로부터 네트워크 인터페이스(155)를 통해 수신된 객체 인식 모델(50), 시맨틱 트리(131), 클래스 별 대표 데이터(132), 장면 이해 프로그램(170a), 응용 서비스 어플리케이션(180a)가 저장될 수 있다.
장면 이해 프로그램(170a)은 메모리(152)에 로드되어 저장된다(170b). 이하, 장면 이해 프로그램(170b)의 동작을 각 인스트럭션 단위로 설명한다.
객체 추출 인스트럭션(1701)은 디스플레이(151)를 통해 재생되는 비디오(160b)의 현재 화면에서 객체를 추출한다. 이 때, 디스플레이(151)에 표시되는 영상에서 객체를 추출할 수만 있으면 족하므로, 상기 영상은 비디오의 프레임이거나 또는 일반 이미지 모두 가능하다. 본 실시예에 따른 장면 이해 프로그램(170b)에 객체 추출 인스트럭션(1701)이 포함될 수도 있지만, 외부 프로그램에 의하여 객체 추출 결과가 제공될 수도 있음을 유의한다.
객체 인식 모델 선택 인스트럭션(1702)은 스토리지(153)에 저장된 객체 인식 모델(50) 중 하나를 선택한다. 객체 인식 모델(50)은, 예를 들어 도 13을 참조하여 설명한 ML 파라미터 셋(1340)일 수 있다. 즉, 객체 인식 모델(50)은 시맨틱 관계 정보를 반영한 거리 함수가 반영 된 임베딩 공간 상에 객체 이미지의 특징 포인트를 매핑 하고, 상기 특징 포인트의 임베딩 공간 내 위치를 기반으로 객체의 클래스를 출력하는 것일 수 있다.
스토리지(153)에는 복수의 객체 인식 모델(50)이 저장될 수 있다. 이 경우, 객체 인식 모델 선택 인스트럭션(1702)이 복수의 객체 인식 모델(50) 중 하나를 선택할 수 있다. 물론, 적용 대상 객체 인식 모델(50)이 고정되어 객체 인식 모델 선택 인스트럭션(1702)의 동작이 필요하지 않을 수도 있다. 이하, 복수의 객체 인식 모델(50) 중 하나가 선택되는 실시예들에 대하여 설명한다.
일 실시예에서, 복수의 객체 인식 모델(50)은 제1 장르의 비디오를 이용하여 기계학습한 결과 생성된 제1 객체 인식 모델과 제2 장르의 비디오를 이용하여 기계학습한 결과 생성된 제2 객체 인식 모델을 포함할 수 있다. 이 때, 객체 인식 모델 선택 인스트럭션(1702)은 영상의 타입에 기반하여 선정할 수 있다. 예를 들어, 객체 인식 모델 선택 인스트럭션(1702)은 현재 재생 중인 비디오의 메타 정보 등으로부터 장르 정보를 얻고, 상기 비디오의 장르 정보에 대응 되는 장르 정보가 태그 된 객체 인식 모델을 선정할 수 있다. 본 실시예에 따르면 객체 인식 모델의 학습에 사용된 비디오와 상기 객체 인식 모델에 입력 될 비디오의 장르를 일치시킴으로써, 객체 인식 정확도를 증가시킬 수 있는 효과가 있다.
다른 실시예에서, 객체 인식 모델 선택 인스트럭션(1702)은 전자 장치(100)의 사용자 프로필(미도시)에 등록된 정보를 기초로 복수의 객체 인식 모델(50) 중 어느 하나를 선택할 수도 있다. 예를 들어, 상기 사용자 프로필에 따를 때, 선호하는 영화 장르에 액션이 기재되었다면, 객체 인식 모델 선택 인스트럭션(1702)은 액션 장르의 비디오를 이용하여 학습된 객체 인식 모델을 선정할 수 있을 것이다.
또 다른 실시예에서, 객체 인식 모델 선택 인스트럭션(1702)은 응용 서비스의 타입에 따라 복수의 객체 인식 모델(50) 중 어느 하나를 선택할 수도 있다. 장면 이해 프로그램(170b)과 연계된 응용 서비스 어플리케이션(180b)에 따라 상기 응용 서비스의 타입이 결정될 수 있다. 상기 응용 서비스는, 장면 이해 프로그램(170b)에 의하여 판정된 현재 장면 이해 결과에 대응되는 추가 컨텐츠를 제공하는 것을 포함할 수 있다. 응용 서비스 어플리케이션(180b)은 장면 이해 프로그램(170b)와 별도의 독자적인 프로그램일 수도 있지만, 장면 이해 프로그램(170b) 내부의 인스트럭션일 수도 있음을 유의한다.
예를 들어, 상기 추가 컨텐츠는 장면 맞춤형 광고, 장면 대응 텍스트를 이용한 검색 결과, 장면 맞춤형 미디어일 수 있다. 예를 들어 상기 추가 컨텐츠가 장면 맞춤형 광고인 경우, 객체 인식 모델 선택 인스트럭션(1702)은 광고 대상 객체 이미지가 집중적으로 학습된 객체 인식 모델을 선택할 것이다.
객체 포인트 생성 인스트럭션(1703)은 상기 선정된 객체 인식 모델을 이용하여, 영상에서 추출된 복수의 객체 각각의 특징 포인트를 임베딩 공간에 매핑한다.
다음으로, 장면 이해 인스트럭션(1705)은 영상에서 추출된 상기 매핑된 특징 포인트들 중 적어도 일부에 가장 근접 한 앵커 포인트를 선정하고, 상기 선정된 앵커 포인트의 키워드를 이용하여 상기 영상의 장면을 이해한다. 이 과정에서, 시맨틱 트리(131)의 조회가 요구되는데, 시맨틱 트리 인터페이스 인스트럭션(1704)이 상기 조회를 담당할 수 있다. 이에 대하여 도 16을 참조하여 보다 자세히 설명한다.
도 16을 참조하면, 영상(160b)에서 2개의 객체(95a, 96a)가 추출된 경우, 객체 포인트 생성 인스트럭션(1703)은 객체 인식 모델을 이용하여 임베딩 공간(87)에 객체(95a)의 이미지의 특징 포인트(95b)를 매핑하고, 객체(96a)의 이미지의 특징 포인트(96b)를 매핑할 것이다. 이 때, 장면 이해 인스트럭션(1705)은 임베딩 공간(87)에서 2개의 특징 포인트(95b, 96b)와 가장 인접한 앵커 포인트들(76a, 78a)을 선정한다.
특징 포인트(95b)와 가장 인접한 앵커 포인트는 Falcon의 앵커 포인트(76a)이고, 특징 포인트(96b)와 가장 인접한 앵커 포인트는 Eagle의 앵커 포인트(76b)라고 가정한다. 이러한 상황에서, 일 실시예에 따르면, 시맨틱 트리(131) 상에서 Falcon의 앵커 포인트(76a)에 대응되는 노드(76c)와 Eagle의 앵커 포인트(76b)에 대응 되는 노드(78c) 모두의 상위 노드인 Bird 노드(92c)가 선정되어, 장면 이해 결과가 'Bird'로 결정될 수 있다. 다른 실시예에 따르면, 특징 포인트(95b, 96b)와 가장 인접한 상위 레벨 앵커 포인트가 선정될 수도 있다. 상기 상위 레벨 앵커 포인트는, 시맨틱 트리(131) 상에서 기 지정된 깊이(depth) 이하의 노드에 대응되는 앵커 포인트를 가리킨다. 예를 들어, 상기 기 지정된 깊이가 '1'인 경우, 특징 포인트(95b, 96b)와 가장 인접한 상위 레벨 앵커 포인트는 Bird 노드(92c)의 앵커 포인트(92a)가 될 것이다. 따라서, 이 경우에도 장면 이해 결과가 'Bird'로 결정될 수 있다.
일 실시예에서, 도 16에 도시된 바와 같이, 장면 이해 결과는 계층적으로 레벨을 나누어 출력될 수도 있다. 이는, 임베딩 공간(87)이 계층적인 시맨틱 관계를 반영하고 있기 때문에 가능하다.
일 실시예에서, 영상에서 기 지정된 수 이상의 객체가 추출된 경우, 일부의 객체에 대하여 가장 근접 한 앵커 포인트를 선정하고, 상기 선정된 앵커 포인트의 키워드를 이용하여 상기 영상의 장면을 이해할 수도 있다. 이 경우, 영상에서 추출된 일부의 객체는 동떨어진 의미를 가질 수도 있고, 그렇게 되면 장면의 이해에 있어서 노이즈로 작용하기 때문이다.
이하, 본 발명의 몇몇 실시예들에 따른, 전자 장치에 의하여 수행되는 방법들에 대하여, 도 17 내지 도 19를 참조하여 설명한다.
도 17은 본 발명의 또 다른 실시예에 따른 메트릭 학습 방법의 순서도이다. 본 실시예에 따른 방법은, 예를 들어 도 2에 도시된 전자 장치(10)에 의하여 수행될 수 있다. 상기 메트릭 학습 방법에 도 2 내지 도 5를 참조하여 설명한 전자 장치의 동작이 적어도 일부 포함될 수 있음을 유의한다. 따라서, 이하 설명되는 메트릭 학습 방법에 대한 설명에서 별도의 개시가 없더라도, 도 2 내지 도 5을 참조하여 상술한 동작이 상기 메트릭 학습 방법에 포함될 수 있다. 또한, 이하 상기 방법들에 대한 설명에서, 동작의 주체에 대한 기재가 존재하지 않는 경우, 상기 주체는 상기 전자 장치로 해석될 수 있다.
단계 S101에서, 트레이닝 데이터의 현재 임베딩 공간 상의 특징 포인트가 결정된다. 상기 트레이닝 데이터는, 트레이닝 데이터 셋 중 현재 반복(iteration)의 학습 대상인 데이터이고, 상기 현재 임베딩 공간은 현재 구해진 거리 함수가 반영된 특징 공간이다. 상기 현재 임베딩 공간은, 상기 거리 함수가 구해진 바 없으면, 초기 상태로서 범용 거리 함수가 적용된 특징 공간이다.
단계 S103에서, 앵커 포인트 위치가 결정된다. 상기 앵커 포인트 위치가 이미 결정된 상태라면, 앵커 포인트 위치의 결정은 추가로 수행되지 않을 수도 있다. 또한, 상술한 바와 같이, 초기 학습 단계를 지났다면, 기존 앵커 포인트의 위치가 특징 포인트의 위치를 반영하여 주기적으로 업데이트 될 수도 있다.
단계 S105에서, 특징 포인트가 앵커 포인트에 더 가까워 지도록 메트릭 학습이 수행된다. 상술한 바와 같이, 종래 기술에 따른 메트릭 학습 대비, 특징 포인트가 앵커 포인트라는 기준점에 가까워지도록 거리 함수가 학습되므로, 학습 속도가 더 빠르다는 장점이 있다. 본 실시예에 따른 메트릭 학습 방법은, 학습할 다음 트레이닝 데이터가 남아 있다면(S107), 다음의 반복(iteration)으로 진행되고, 학습할 다음 트레이닝 데이터가 존재하지 않는다면, 학습된 결과로서 거리 함수 관련 데이터를 출력한다(S109).
도 18은 본 발명의 또 다른 실시예에 따른 객체 인식 모델 생성 방법의 순서도이다. 본 실시예에 따른 방법은, 예를 들어 도 2에 도시된 전자 장치(100)에 의하여 수행될 수 있다. 상기 객체 인식 모델 생성 방법에 도 2, 도 10 및 도 14를 참조하여 설명한 전자 장치의 동작이 적어도 일부 포함될 수 있음을 유의한다. 따라서, 이하 설명되는 객체 인식 모델 생성 방법에 대한 설명에서 별도의 개시가 없더라도, 도 2, 도 10 및 도 14를 참조하여 상술한 동작이 상기 객체 인식 모델 생성 방법에 포함될 수 있다. 또한, 이하 상기 방법에 대한 설명에서, 동작의 주체에 대한 기재가 존재하지 않는 경우, 상기 주체는 상기 전자 장치로 해석될 수 있다.
단계 S201에서, 비디오의 현재 프레임 이미지에 대하여 객체 인식이 수행된다. 상술한 바와 같이, 외부 프로그램으로부터 객체 인식 결과를 제공 받을 수도 있다.
단계 S203에서, 각 객체의 이미지에 대한 현재 임베딩 공간 상의 특징 포인트가 결정된다. 또한, 단계 S205에서, 앵커 포인트의 위치를 시맨틱 관계 정보를 반영하여 결정한다. 도 18에 도시된 바와 달리, 단계 S203 보다 단계 S205가 먼저 수행될 수도 있다.
단계 S207에서, 앵커 포인트 위치를 클러스터의 평균 값 등으로 업데이트 한다. 단계 S209에서, 특징 포인트들이 업데이트 된 위치의 앵커 포인트에 더 가까워지도록 메트릭 학습을 수행한다. 상기 메트릭 학습을 통해 객체 이미지의 특징 데이터 추출을 위한 CNN 레이어들 및 메트릭 학습을 위한 DML 레이어들이 학습될 수 있을 것이다. 단계 S211에서, 상기 메트릭 학습에 의하여 구해진 거리 함수를 이용하여 현재 임베딩 공간을 업데이트 한다.
단계 S213에서, 앵커 포인트 위치의 업데이트에 따라 시맨틱 관계 정보가 훼손 되는 것을 방지하기 위하여, 클러스터 간 상대 위치를 시맨틱 관계 정보 반영하여 수정한다.
본 실시예에 따른 객체 인식 모델 생성 방법은, 학습할 다음 프레임이 남아 있다면(S215), 다음의 반복(iteration)으로 진행된다. 비디오의 마지막 프레임까지 학습을 완료했다면, 단계 S217에서 학습 된 거리 함수를 기반으로 분류 모델을 학습한다. 상기 분류 모델 학습을 통해, 메트릭 학습 레이어로부터 출력된 데이터를 입력 받아 각 클래스 별 컨피던스 레벨을 출력하는 단일 레이어로 구성된 객체 분류 레이어가 학습 될 수 있을 것이다.
다음으로, 단계 S219에서, 객체 인식 모델에 대한 데이터가 출력된다. 상기 출력되는 데이터는 상기 CNN 레이어들, DML 레이어들, 상기 객체 분류 레이어의 학습된 파라미터 셋을 포함할 수 있다.
도 19는 본 발명의 또 다른 실시예에 따른 장면 이해 방법의 순서도이다. 본 실시예에 따른 방법은, 예를 들어 도 15에 도시된 전자 장치(100)에 의하여 수행될 수 있다. 상기 장면 이해 방법에 도 15 및 도 16을 참조하여 설명한 전자 장치의 동작이 적어도 일부 포함될 수 있음을 유의한다. 따라서, 이하 설명되는 장면 이해 방법에 대한 설명에서 별도의 개시가 없더라도, 도 15 및 도 16을 참조하여 상술한 동작이 상기 장면 이해 방법에 포함될 수 있다. 또한, 이하 상기 방법에 대한 설명에서, 동작의 주체에 대한 기재가 존재하지 않는 경우, 상기 주체는 상기 전자 장치로 해석될 수 있다.
단계 S301에서, 객체 인식 모델이 서버 장치 등으로부터 다운로드 되어 저장된다. 비디오의 재생(S303) 등을 이유로 영상이 디스플레이 되는 경우, 현재 디스플레이 되는 영상에서 복수의 객체를 추출한다(S305). 이 때, 다운로드 된 객체 인식 모델 중 사용 대상 객체 인식 모델이 선정될 수 있다.
단계 S307에서, 선정된 객체 인식 모델을 이용하여, 각각의 객체 이미지에 대하여 그 특징 포인트를 상기 객체 인식 모델에 따른 임베딩 공간에 매핑한다. 단계 S309에서, 매핑된 특징 포인트 중 적어도 일부와 인접한 앵커 포인트가 선정되고, 단계 S311에서, 선정된 앵커 포인트의 의미 및 그 시맨틱 관계를 이용하여, 현재 디스플레이 되는 영상의 장면을 이해한다.
한편, 영상의 장면 이해 결과가 제시되고, 그에 대한 사용자의 피드백이 입력될 수 있다(S313). 상기 피드백이 입력되면, 입력된 피드백을 이용하여 객체 인식 모델에 대한 학습이 수행될 수 있다(S314). 이는, 점진 학습(incremental learning)의 한 형태로서 이해될 수 있다.
단계 S315에서, 장면 이해 결과 데이터를 서비스 서버에 송신하고, 그에 대한 응답으로서 장면에 대응되는 추가 컨텐츠가 출력될 수 있다(S317).
비디오의 재생이 종료되지 않는 한(S319), 다음 프레임으로 이동(S312)하면서 상기 장면 이해 방법이 계속 수행될 수 있다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 전자 장치로부터 제2 전자 장치에 전송되어 상기 제2 전자 장치에 설치될 수 있고, 이로써 상기 제2 전자 장치에서 사용될 수 있다. 상기 제1 전자 장치 및 상기 제2 전자 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 전자 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 비-일시적인(non-transitory) 기록매체(recording medium)에 저장된 것일 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (20)

  1. 하나 이상의 인스트럭션이 저장되는 메모리; 및
    상기 저장된 인스트럭션을 실행하는 프로세서를 포함하되,
    상기 프로세서는,
    제1 클래스의 트레이닝 데이터에서 특징 데이터를 추출하고,
    상기 추출된 특징 데이터를 임베딩 공간에 매핑하여 특징 포인트를 얻으며,
    상기 얻어진 특징 포인트와 앵커 포인트 간의 거리를 감소시키는 방향으로 인공 신경망을 학습시키되,
    상기 앵커 포인트는 상기 제1 클래스의 대표 데이터에서 추출된 특징 데이터가 상기 임베딩 공간에 매핑된 것인,
    전자 장치.
  2. 제1 항에 있어서,
    상기 인공 신경망을 학습 시키는 것은,
    상기 제1 클래스의 트레이닝 데이터의 특징 포인트와 상기 앵커 포인트가 가까울 수록 손실이 적고, 상기 제1 클래스와 다른 제2 클래스의 트레이닝 데이터의 특징 포인트와 상기 앵커 포인트는 가까울 수록 손실이 큰 것으로 손실 값을 정의하는 손실 함수(loss function)을 이용하여 상기 인공 신경망을 학습시키는 것을 포함하는,
    전자 장치.
  3. 제1 항에 있어서,
    상기 인공 신경망을 학습 시키는 것은,
    상기 제1 클래스의 트레이닝 데이터의 특징 데이터를 추출하기 위한 CNN(Convolutional Neural Network) 레이어와, 상기 CNN 레이어에서 출력된 데이터를 입력 받아 상기 얻어진 특징 포인트와 상기 앵커 포인트 간의 거리를 구하기 위한 메트릭 학습 레이어를 일괄하여 학습시키는 것을 포함하는,
    전자 장치.
  4. 제1 항에 있어서,
    상기 인공 신경망을 학습 시키는 것은,
    상기 제1 클래스의 트레이닝 데이터의 특징 데이터를 추출하기 위한 CNN 레이어에서 출력된 데이터를 입력 받아 상기 얻어진 특징 포인트와 상기 앵커 포인트 간의 거리를 구하기 위한 메트릭 학습 레이어 만을 상기 CNN 레이어와 분리하여 학습시키는 것을 포함하는,
    전자 장치.
  5. 제1 항에 있어서,
    상기 인공 신경망은, 상기 임베딩 공간 상에 형성된 클러스터 특징 데이터를 출력하는 메트릭 학습 레이어를 포함하고,
    상기 인공 신경망을 학습 시키는 것은,
    상기 메트릭 학습 레이어로부터 출력된 데이터를 입력 받아 각 클래스 별 컨피던스 레벨을 출력하는 단일 레이어로 구성된 객체 분류 레이어를 학습시키는 것을 포함하는,
    전자 장치.
  6. 제1 항에 있어서,
    상기 인공 신경망을 학습 시키는 것은,
    상기 제1 클래스의 트레이닝 데이터의 특징 포인트가 상기 제1 클래스의 앵커 포인트에 더 가까워지도록 하고, 동시에 제2 클래스의 트레이닝 데이터의 특징 포인트가 상기 임베딩 공간 상에서 상기 제2 클래스의 앵커 포인트에 더 가까워지도록 하는 방향으로 상기 인공 신경망을 학습 시키는 것을 포함하고,
    상기 제1 클래스의 앵커 포인트의 위치 및 상기 제2 클래스의 앵커 포인트의 위치는, 상기 제1 클래스와 상기 제2 클래스 사이의 시맨틱(semantic) 관계 정보를 반영하여 결정되는 것을 특징으로 하는,
    전자 장치.
  7. 제6 항에 있어서,
    상기 시맨틱 관계 정보는,
    상기 제1 클래스의 키워드와 상기 제2 클래스의 키워드 사이의 시맨틱 트리에서의 거리를 포함하되,
    상기 시맨틱 트리는, 각 키워드 간 시맨틱 계층 관계가 반영된 것이고,
    상기 제1 클래스의 키워드와 상기 제2 클래스의 키워드 사이의 상기 시맨틱 트리에서의 거리는 상기 제1 클래스의 키워드에 대응되는 제1 노드와 상기 제2 클래스의 키워드에 대응되는 제2 노드 사이의 노드의 수가 많을 수록 멀어지도록 세팅 되는,
    전자 장치.
  8. 제6 항에 있어서,
    상기 인공 신경망을 학습 시키는 것은,
    상기 제1 클래스와 상기 제2 클래스 사이의 상기 시맨틱 관계 정보를 반영하여, 제1 클래스 클러스터 및 제2 클래스 클러스터 중 적어도 하나의 상기 임베딩 공간 상의 위치를 업데이트 하는 것을 포함하되,
    상기 제1 클래스 클러스터는 상기 제1 클래스의 특징 포인트 및 상기 제1 클래스의 앵커포인트로 구성된 것이고,
    상기 제2 클래스 클러스터는 상기 제2 클래스의 특징 포인트 및 상기 제2 클래스의 앵커포인트로 구성된 것인,
    전자 장치.
  9. 제1 항에 있어서,
    상기 인공 신경망을 학습 시키는 것은,
    상기 제1 클래스의 특징 포인트를 반영하여 상기 앵커 포인트의 상기 임베딩 공간 상의 위치를 업데이트 하는 것과, 상기 제1 클래스의 특징 포인트와 상기 업데이트 된 앵커 포인트 사이의 거리를 감소시키는 방향으로 상기 인공 신경망을 학습시키는 것을 포함하는,
    전자 장치.
  10. 제9 항에 있어서,
    상기 앵커 포인트의 상기 임베딩 공간 상의 위치를 업데이트 하는 것은,
    학습 시작 시점부터 제1 횟수의 반복으로 구성되는 초기 학습에서는 상기 앵커 포인트의 위치 업데이트를 수행하지 않고, 상기 초기 학습 이후의 반복에서 상기 앵커 포인트의 위치 업데이트를 수행하는 것을 포함하는,
    전자 장치.
  11. 제10 항에 있어서,
    상기 초기 학습 이후의 반복에서 상기 앵커 포인트의 위치 업데이트를 수행하는 것은,
    상기 초기 학습 이후의 반복에서, 2 이상의 제2 횟수의 반복 마다 한번씩 상기 앵커 포인트의 위치 업데이트를 수행하는 것을 포함하는,
    전자 장치.
  12. 제10 항에 있어서,
    상기 제1 횟수는,
    상기 트레이닝 데이터의 타입이 제1 타입인 경우 제1 값으로 설정되고, 상기 트레이닝 데이터의 타입이 제2 타입인 경우 제2 값으로 설정되는,
    전자 장치.
  13. 하나 이상의 인스트럭션이 저장되는 메모리; 및
    상기 저장된 인스트럭션을 실행하는 프로세서를 포함하되,
    상기 프로세서는,
    임베딩 공간 상의 특징 포인트에 관련된 데이터를 출력하는 객체 인식 모델을 이용하여, 영상에서 추출된 복수의 객체 각각의 상기 임베딩 공간 상의 특징 포인트들을 얻고,
    상기 특징 포인트들 중 적어도 일부에 가장 근접 한 앵커 포인트의 키워드를 이용하여 상기 영상의 장면을 이해하되,
    상기 앵커 포인트는, 각 클래스 별 대표 이미지가 상기 임베딩 공간 상에 매핑된 것이고,
    상기 임베딩 공간은, 상기 앵커 포인트 사이의 시맨틱(semantic) 관계를 반영하여 상기 앵커 포인트 사이의 거리가 산출되는 특징 공간인,
    전자 장치.
  14. 제13 항에 있어서,
    상기 영상의 장면을 이해하는 것은,
    상기 매핑된 특징 포인트들 각각에 가장 근접 한 하위 레벨 앵커 포인트를 선정하고,
    상기 선정된 하위 레벨 앵커 포인트들 각각에 대응하는 시맨틱 트리의 노드들 중 적어도 일부의 상위 노드를 선정하고, 선정된 상위 노드에 대응되는 키워드를 이용하여 상기 영상의 장면을 이해하는 것을 포함하는,
    전자 장치.
  15. 제13 항에 있어서,
    상기 영상의 장면을 이해하는 것은,
    상기 매핑된 특징 포인트들 중 적어도 일부에 가장 근접 한 상위 레벨 앵커 포인트를 선정하고,
    상기 선정된 상위 레벨 앵커 포인트에 대응하는 키워드를 이용하여 상기 영상의 장면을 이해하는 것을 포함하는,
    전자 장치.
  16. 제13 항에 있어서,
    상기 프로세서는,
    상기 객체 인식 모델을 상기 영상의 타입에 기반하여 선정하는,
    전자 장치.
  17. 제13 항에 있어서,
    상기 프로세서는,
    상기 객체 인식 모델을 상기 전자 장치의 사용자의 프로필 정보에 기반하여 선정하는,
    전자 장치.
  18. 제13 항에 있어서,
    상기 프로세서는,
    상기 객체 인식 모델을 응용 서비스 타입에 기반하여 선정하는,
    전자 장치.
  19. 제13 항에 있어서,
    상기 프로세서는,
    상기 이해된 장면에 대응 되는 추가 컨텐츠를 출력하는,
    전자 장치.
  20. 전자 장치에 의하여 수행되는 방법에 있어서,
    임베딩 공간 상의 특징 포인트에 관련된 데이터를 출력하는 객체 인식 모델을 이용하여, 영상에서 추출된 복수의 객체 각각의 상기 임베딩 공간 상의 특징 포인트들을 얻는 단계; 및
    상기 특징 포인트들 중 적어도 일부에 가장 근접 한 앵커 포인트의 키워드를 이용하여 상기 영상의 장면을 이해하는 단계를 포함하되,
    상기 앵커 포인트는, 각 클래스 별 대표 이미지가 상기 임베딩 공간 상에 매핑된 것이고,
    상기 임베딩 공간은, 상기 앵커 포인트 사이의 시맨틱(semantic) 관계를 반영하여 상기 앵커 포인트 사이의 거리가 산출되는 특징 공간인,
    방법.
PCT/KR2017/014840 2017-11-16 2017-12-15 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법 WO2019098449A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/760,181 US11568245B2 (en) 2017-11-16 2017-12-15 Apparatus related to metric-learning-based data classification and method thereof
CN201780096898.9A CN111373417B (zh) 2017-11-16 2017-12-15 与基于度量学习的数据分类相关的设备及其方法
EP17932563.4A EP3678064A4 (en) 2017-11-16 2017-12-15 APPARATUS RELATED TO A DATA CLASSIFICATION BASED ON METRIC LEARNING AND RELATED PROCESS

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0152974 2017-11-16
KR1020170152974A KR102535411B1 (ko) 2017-11-16 2017-11-16 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법

Publications (1)

Publication Number Publication Date
WO2019098449A1 true WO2019098449A1 (ko) 2019-05-23

Family

ID=66539586

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/014840 WO2019098449A1 (ko) 2017-11-16 2017-12-15 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법

Country Status (5)

Country Link
US (1) US11568245B2 (ko)
EP (1) EP3678064A4 (ko)
KR (1) KR102535411B1 (ko)
CN (1) CN111373417B (ko)
WO (1) WO2019098449A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893456B2 (en) 2019-06-07 2024-02-06 Cisco Technology, Inc. Device type classification using metric learning in weakly supervised settings

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11003855B2 (en) * 2018-03-26 2021-05-11 Entigenlogic Llc Resolving an undesired document artifact
US11799664B2 (en) 2018-03-26 2023-10-24 Entigenlogic Llc Verifying authenticity of content to produce knowledge
US11232260B2 (en) * 2018-04-19 2022-01-25 Entigenlogic Llc Updating a document utilizing trusted new information
US11537848B2 (en) * 2018-07-26 2022-12-27 Raytheon Company Class level artificial neural network
US11200429B1 (en) * 2018-12-28 2021-12-14 Zoox, Inc. Tracking objects using sensor data segmentations and/or representations
CN109754778B (zh) * 2019-01-17 2023-05-30 平安科技(深圳)有限公司 文本的语音合成方法、装置和计算机设备
US11475675B2 (en) * 2019-07-08 2022-10-18 Uatc, Llc Systems and methods for identifying unknown instances
KR102635606B1 (ko) * 2019-11-21 2024-02-13 고려대학교 산학협력단 거리 학습을 이용한 사용자간 유사도 반영 특징 추출 기반의 사용자 독립적 뇌-컴퓨터 인터페이스 장치 및 이를 이용한 태스크 분류 방법
KR102150720B1 (ko) * 2020-01-03 2020-09-02 주식회사 스타일쉐어 유저 클러스터링을 위한 패션 콘텐츠 임베딩 장치 및 방법
KR20210095431A (ko) * 2020-01-23 2021-08-02 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102140805B1 (ko) 2020-05-06 2020-08-03 국방과학연구소 위성 영상의 물체 식별을 위한 뉴럴 네트워크 학습 방법 및 장치
US20230410478A1 (en) * 2020-11-09 2023-12-21 Canon U.S.A., Inc. Label-dependent loss function for discrete ordered regression model
KR102577342B1 (ko) * 2021-01-20 2023-09-11 네이버 주식회사 거리 지표 학습을 위해 메모리 기반의 가상 클래스로 학습하는 컴퓨터 시스템 및 그의 방법
CN112560876B (zh) * 2021-02-23 2021-05-11 中国科学院自动化研究所 解耦度量的单阶段小样本目标检测方法
CN112949476B (zh) * 2021-03-01 2023-09-29 苏州美能华智能科技有限公司 基于图卷积神经网络的文本关系检测方法、装置及存储介质
KR20230119464A (ko) 2022-02-07 2023-08-16 한국전자통신연구원 계층적 다중 레이블 기반 단계별 심층신경망 척도 학습 및 이를 이용한 퓨샷 추론 방법, 서버 및 시스템
CN115240249B (zh) * 2022-07-07 2023-06-06 湖北大学 人脸识别的特征提取分类度量学习方法、系统及存储介质
CN116109907B (zh) * 2023-04-17 2023-08-18 成都须弥云图建筑设计有限公司 目标检测方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110231350A1 (en) * 2008-11-26 2011-09-22 Michinari Momma Active metric learning device, active metric learning method, and active metric learning program
KR20140138648A (ko) * 2012-03-15 2014-12-04 셉트 시스템즈 게엠베하 텍스트의 의미 처리를 위한 방법, 장치 및 제품
KR101595763B1 (ko) * 2012-02-15 2016-02-19 알까뗄 루슨트 기계 학습을 이용하여 매체 컴포넌트들을 매핑하기 위한 방법
US20160180151A1 (en) * 2014-12-17 2016-06-23 Google Inc. Generating numeric embeddings of images
US20170228641A1 (en) * 2016-02-04 2017-08-10 Nec Laboratories America, Inc. Distance metric learning with n-pair loss

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5223647A (en) 1975-08-18 1977-02-22 Tohoku Metal Ind Ltd Life testing device for reed switch
JP4241709B2 (ja) 2005-10-11 2009-03-18 ソニー株式会社 画像処理装置
KR100771244B1 (ko) 2006-06-12 2007-10-29 삼성전자주식회사 동영상 데이터 처리 방법 및 장치
KR20090119640A (ko) 2008-05-16 2009-11-19 엘지전자 주식회사 이미지의 선호도 표시 장치 및 방법
KR101646669B1 (ko) 2009-06-24 2016-08-08 삼성전자주식회사 사용자 패턴을 이용한 구도 데이터베이스 업데이트 방법 및 장치, 및 디지털 촬영 장치
KR20100077136A (ko) 2010-06-16 2010-07-07 (주)위디랩 디지털 동영상 컨텐츠의 유사도 측정 방법, 이를 이용한 동영상 컨텐츠의 관리 방법 및 상기 관리 방법을 이용한 동영상 컨텐츠의 관리 시스템
JP5548655B2 (ja) 2011-06-30 2014-07-16 ヤフー株式会社 画像検索装置、画像検索システム、画像検索方法、及び画像検索プログラム
US8963962B2 (en) 2012-03-06 2015-02-24 Apple Inc. Display of multiple images
US8818037B2 (en) 2012-10-01 2014-08-26 Microsoft Corporation Video scene detection
US9436876B1 (en) 2014-12-19 2016-09-06 Amazon Technologies, Inc. Video segmentation techniques
CN107113764B (zh) * 2015-05-22 2020-02-14 华为技术有限公司 提高人工神经网络定位性能的方法和装置
US10115032B2 (en) 2015-11-04 2018-10-30 Nec Corporation Universal correspondence network
EP3336774B1 (en) * 2016-12-13 2020-11-25 Axis AB Method, computer program product and device for training a neural network
CN107122396B (zh) * 2017-03-13 2019-10-29 西北大学 基于深度卷积神经网络的三维模型检索方法
CN107680582B (zh) * 2017-07-28 2021-03-26 平安科技(深圳)有限公司 声学模型训练方法、语音识别方法、装置、设备及介质
US10515295B2 (en) * 2017-10-27 2019-12-24 Adobe Inc. Font recognition using triplet loss neural network training
US10515296B2 (en) * 2017-11-14 2019-12-24 Adobe Inc. Font recognition by dynamically weighting multiple deep learning neural networks
CN110428808B (zh) * 2018-10-25 2022-08-19 腾讯科技(深圳)有限公司 一种语音识别方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110231350A1 (en) * 2008-11-26 2011-09-22 Michinari Momma Active metric learning device, active metric learning method, and active metric learning program
KR101595763B1 (ko) * 2012-02-15 2016-02-19 알까뗄 루슨트 기계 학습을 이용하여 매체 컴포넌트들을 매핑하기 위한 방법
KR20140138648A (ko) * 2012-03-15 2014-12-04 셉트 시스템즈 게엠베하 텍스트의 의미 처리를 위한 방법, 장치 및 제품
US20160180151A1 (en) * 2014-12-17 2016-06-23 Google Inc. Generating numeric embeddings of images
US20170228641A1 (en) * 2016-02-04 2017-08-10 Nec Laboratories America, Inc. Distance metric learning with n-pair loss

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3678064A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893456B2 (en) 2019-06-07 2024-02-06 Cisco Technology, Inc. Device type classification using metric learning in weakly supervised settings

Also Published As

Publication number Publication date
EP3678064A1 (en) 2020-07-08
CN111373417B (zh) 2024-04-26
US20200257975A1 (en) 2020-08-13
CN111373417A (zh) 2020-07-03
US11568245B2 (en) 2023-01-31
KR20190056009A (ko) 2019-05-24
EP3678064A4 (en) 2020-12-09
KR102535411B1 (ko) 2023-05-23

Similar Documents

Publication Publication Date Title
WO2019098449A1 (ko) 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
WO2018212494A1 (ko) 객체를 식별하는 방법 및 디바이스
CN114241282B (zh) 一种基于知识蒸馏的边缘设备场景识别方法及装置
WO2019050247A2 (ko) 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2021132927A1 (en) Computing device and method of classifying category of data
WO2020067633A1 (en) Electronic device and method of obtaining emotion information
WO2019098418A1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
WO2020130747A1 (ko) 스타일 변환을 위한 영상 처리 장치 및 방법
WO2020080834A1 (en) Electronic device and method for controlling the electronic device
EP3545487A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2018174443A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2020213842A1 (en) Multi-model structures for classification and intent determination
WO2019050297A1 (ko) 뉴럴 네트워크 학습 방법 및 장치
WO2019093599A1 (ko) 사용자 관심 정보 생성 장치 및 그 방법
WO2022250439A1 (ko) 스트리밍 데이터 기반 영상 편집점 추천 방법, 서버 및 컴퓨터프로그램
WO2019231130A1 (ko) 전자 장치 및 그의 제어방법
EP3820369A1 (en) Electronic device and method of obtaining emotion information
WO2019107674A1 (en) Computing apparatus and information input method of the computing apparatus
WO2019054715A1 (ko) 전자 장치 및 이의 피드백 정보 획득 방법
WO2020141907A1 (ko) 키워드에 기초하여 이미지를 생성하는 이미지 생성 장치 및 이미지 생성 방법
WO2022177345A1 (ko) 인공지능 기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
WO2019059460A1 (ko) 영상 처리 장치 및 방법
WO2023182794A1 (ko) 검사 성능을 유지하기 위한 메모리 기반 비전 검사 장치 및 그 방법
WO2022086063A1 (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: 17932563

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017932563

Country of ref document: EP

Effective date: 20200330

NENP Non-entry into the national phase

Ref country code: DE