WO2019098644A1 - 멀티모달 데이터 학습 방법 및 장치 - Google Patents

멀티모달 데이터 학습 방법 및 장치 Download PDF

Info

Publication number
WO2019098644A1
WO2019098644A1 PCT/KR2018/013824 KR2018013824W WO2019098644A1 WO 2019098644 A1 WO2019098644 A1 WO 2019098644A1 KR 2018013824 W KR2018013824 W KR 2018013824W WO 2019098644 A1 WO2019098644 A1 WO 2019098644A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
learning
hidden layer
information
layer information
Prior art date
Application number
PCT/KR2018/013824
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
Priority claimed from KR1020180029403A external-priority patent/KR102387305B1/ko
Application filed by 삼성전자주식회사, 한국과학기술연구원 filed Critical 삼성전자주식회사
Priority to US16/764,677 priority Critical patent/US11651214B2/en
Publication of WO2019098644A1 publication Critical patent/WO2019098644A1/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/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/08Learning methods

Definitions

  • the disclosed embodiment relates to a recording medium on which a program for performing a multimodal data learning method, a multimodal data learning apparatus, and a multimodal data learning method is recorded.
  • 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 element technologies that utilize deep learning and machine 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.
  • the main context information existing in each domain can not be extracted, and the number of correlations calculated between the two domains is the domain Modulated data learning method and apparatus for solving the problem that the amount of computation is increased to N (N-1) / 2 when the number of computation is increased to N.
  • FIG. 1 is a conceptual diagram for explaining a multimodal data learning apparatus according to an embodiment.
  • FIG. 2 is a flowchart illustrating a method of learning a multi-modal data according to an embodiment.
  • FIG. 3 is a diagram for explaining a method for obtaining context information in the context determination unit according to an embodiment.
  • 4 is a table for comparing the accuracy of data obtained using the multimodal data learning method according to one embodiment.
  • 5 and 6 are block diagrams of a multi-modal data learning apparatus according to an embodiment.
  • FIG. 7 is a diagram for explaining a processor according to an embodiment.
  • FIG. 8 is a block diagram of a data learning unit according to an embodiment.
  • FIG. 9 is a block diagram of a data recognition unit according to an embodiment.
  • FIG. 10 is a conceptual diagram for explaining a multi-modal data learning apparatus according to an embodiment.
  • 11 is a table for comparing the accuracy of data obtained using the multimodal data learning method according to one embodiment.
  • FIG. 12 is a diagram illustrating a structure of a cGRU (Contextual Gated Recurrence Unit) for performing multimodal data learning according to an embodiment.
  • cGRU Contextual Gated Recurrence Unit
  • FIG. 13 is a table for comparing the data accuracy when the cGRU according to an embodiment is used and the case where the cGRU is not used.
  • FIG. 14 is a table for comparing the accuracy of data obtained using the multimodal data learning method according to one embodiment.
  • the multimodal data learning method uses a first learning network model to generate first context information representative of a characteristic of a first signal and second context information representative of characteristics of a second signal Obtaining; Obtaining hidden layer information based on the first context information and the second context information using the second learning network model; Acquiring a correlation value indicating a degree of association between hidden layer information using a second learning network model; And learning the hidden layer information from which the correlation value is derived as the maximum value.
  • the first signal and the second signal each include a different heterogeneous domain vector
  • the first context information includes a domain vector of the first signal and a domain vector of the first signal.
  • the second context information is obtained by multiplying the mask vector having the same size as the domain vector of the second signal and the domain vector of the second signal by element-wise multiplication multiplication.
  • the second learning network model uses a long-short term memory (LSTM), and the obtained hidden layer information includes hidden layer information of the first signal, hidden layer information of the second signal, And common secret layer information of the first signal and the second signal.
  • LSTM long-short term memory
  • the step of learning the hidden layer information may repeat the operation of subtracting the correlation value from the objective function until the objective function has the minimum value.
  • a correlation value is calculated by multiplying a first correlation value indicating the degree of association between the secret information of the first signal and the common secretion information of the first signal and the second signal, And a second correlation value indicating the degree of association between the hidden layer information and the common secret layer information of the first signal and the second signal.
  • a multi-modal data learning apparatus in accordance with one embodiment includes: a memory for storing one or more instructions; And at least one processor executing at least one instruction stored in a memory, wherein the at least one processor is configured to use the first learning network model to generate first context information representative of characteristics of the first signal, 2 signal, acquiring hidden layer information based on the first context information and the second context information using the second learning network model, and using the second learning network model , It is possible to acquire the correlation value indicating the degree of association between the hidden layer information and learn the hidden layer information derived from the maximum value of the correlation value.
  • first, second, etc. may be used to describe various elements, but the elements are not limited by terms. Terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
  • the term " and / or " includes any combination of a plurality of related items or any of a plurality of related items.
  • part refers to a hardware component such as software, FPGA or ASIC, and " part " However, “ part “ is not meant to be limited to software or hardware. &Quot; Part " may be configured to reside on an addressable storage medium and may be configured to play back one or more processors.
  • a is intended to be broadly interpreted as encompassing any and all patentable subject matter, including components such as software components, object oriented software components, class components and task components, Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables.
  • components such as software components, object oriented software components, class components and task components, Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables.
  • the functions provided in the components and " parts " may be combined into a smaller number of components and “ parts “ or further separated into additional components and " parts ".
  • the present invention discloses a learning method usable in a task for dealing with large-scale multimedia data using a Deep Neural Network during Machine Learning. Specifically, according to an embodiment of the present invention, task performance for processing a plurality of signals having heterogeneous domain vectors can be improved.
  • N is an integer of 2 or more
  • FIG. 1 is a conceptual diagram for explaining a multimodal data learning apparatus according to an embodiment.
  • a multi-modal data learning apparatus (hereinafter referred to as a device) includes a first learning network model 100, a second learning network model 200, a classifier 300, and an aggregation 400 can do.
  • the first learning network model 100 may include a first context determiner and a second context determiner.
  • the first context determiner and the second context determiner may receive the heterogeneous domain vector signals X1 and X2, respectively.
  • Each context determiner may include a Context Flow Control model.
  • the first context determiner may obtain first context information M1 representing the characteristics of the signal X1.
  • the first context determiner generates a mask vector having the same magnitude as the domain vector of the received signal X1 and the domain vector of the signal X1 and multiplies the mask vector of the signal X1 and the domain vector of the signal X1 by element-wise multiplication
  • the first context information M1 can be obtained.
  • the second context determiner may obtain the second context information M2 representative of the characteristic of the signal X2.
  • the second context determiner generates a mask vector having the same size as the domain vector of the received signal X2 and the domain vector of the signal X2 and multiplies the mask vector of the signal X2 and the domain vector of the signal X2 by element-wise multiplication
  • the second context information M2 can be acquired.
  • the context information may be determined as the modality information determined to be important information among the modality information of the heterogeneous domain vector signal.
  • the important information may be the modality information at the time when a change in the sequence signal constituting the heterogeneous domain vector signal appears significantly.
  • the second learning network model 200 may include three Long-Short Term Memory (LSTM) networks.
  • LSTM Long-Short Term Memory
  • the second learning network model 200 can receive the first context information M1 and the second context information M2 obtained in the first learning network model 100. [
  • the second learning network model 200 can acquire the hidden layer information (Z1, Zcommon, Z2) based on the first context information M1 and the second context information M2 received using the LSTM network.
  • the hidden layer information Z1 can be obtained based on the first context information M1 by using the LSTM network.
  • the hidden layer information Z2 can be obtained based on the second context information M2 by using the LSTM network.
  • the common secret layer information Zcommon can be obtained based on the first context information M1 and the second context information M2 using the LSTM network.
  • the second learning network model 200 can acquire a correlation value indicating a degree of association between the obtained hidden layer information.
  • the second learning network model 200 can obtain the correlation value between the hidden layer information Z1 and the common hidden layer information Zcommon.
  • the second learning network model 200 can obtain the correlation value between the hidden layer information Z2 and the common hidden layer information Zcommon.
  • the second learning network model 200 can learn the hidden layer information in which the correlation value is derived as the maximum value.
  • the second learning network model 200 can learn the hidden layer information in which the correlation value is derived as the maximum value by repeating the operation of subtracting the correlation value from the objective function until the objective function of the soft max has the minimum value.
  • the second learning network model 200 can minimize the final objective function minus the correlation in the soft max's objective function.
  • the second learning network model 200 can learn the hidden layer information in which the correlation value is derived as the maximum value by minimizing the final objective function.
  • the classifier 300 may include three soft maxs.
  • the soft max can receive each hidden layer information and map it to a matching class.
  • correlations between expected values in a classifier such as SoftMax may be added to the objective function to learn. This will be described in detail in the description of FIG.
  • the collecting unit 400 may collect the mapped class and finally determine the class Ym of the heterogeneous domain vector signal.
  • FIG. 2 is a flowchart illustrating a method of learning a multi-modal data according to an embodiment.
  • step S210 the apparatus can acquire first context information representative of the characteristics of the first signal and second context information representative of characteristics of the second signal using the first learning network model.
  • each of the first signal and the second signal may comprise a different heterogeneous domain vector.
  • the first context information may be obtained by element-wise multiplication of a domain vector of the first signal and a mask vector having the same size as the domain vector of the first signal.
  • the second context information may be obtained by element-wise multiplication of a mask vector having the same size as the domain vector of the second signal and the domain vector of the second signal.
  • step S220 the device can acquire hidden layer information based on the first context information and the second context information using the second learning network model.
  • the second learning network model may utilize Long-Short Term Memory (LSTM).
  • the obtained hidden layer information may include hidden layer information of the first signal, hidden layer information of the second signal, and common hidden layer information of the first signal and the second signal.
  • step S230 the apparatus can acquire a correlation value indicating a degree of association between hidden layer information, using the second learning network model.
  • the correlation value includes a first correlation value indicating the degree of association between the hidden layer information of the first signal and the common secret layer information of the first signal and the second signal, the hidden layer information of the second signal, 2 < / RTI > signal.
  • step S240 the apparatus can learn the hidden layer information from which the correlation value is derived as the maximum value.
  • the apparatus may learn the hidden layer information by iterating operations that subtract the correlation value from the objective function until the objective function of the soft max has a minimum value.
  • the apparatus can minimize the final objective function minus the correlation in the objective function of the soft max.
  • the second learning network model 200 can learn the hidden layer information in which the correlation value is derived as the maximum value by minimizing the final objective function.
  • FIG. 3 is a diagram for explaining a method for obtaining context information in the context determination unit according to an embodiment.
  • the context determiner may process the heterogeneous domain vector signal in time sequence.
  • the context determiner may control the flow of the heterogeneous domain vector signal to extract only meaningful information, rather than using all of the information of the received heterogeneous domain vector signal.
  • the context determiner may control the flow of heterogeneous domain vector signals that include different respective modalities to extract only meaningful information.
  • the context determiner may receive hidden state and cross modality information of a previous time step. In some embodiments, the context determiner may utilize a neural network. In some embodiments, the context determiner may generate a mask vector having the same magnitude as the vector of input modality information.
  • the neural network uses a sigmoid activation function to generate an elementwise multiplication of a mask vector having a value between 0 and 1 and input modality ) Operation to extract important information from the input modality and transmit it to the upper layer.
  • 4 is a table for comparing the accuracy of data obtained using the multimodal data learning method according to one embodiment.
  • FIG. 4 illustrates that the number of predetermined classes of the multimodal data learning method is 233.
  • acc @ top1 means that the number of classes of the finally determined heterogeneous domain vector signal is one.
  • acc @ top5 means that the number of classes of the finally determined heterogeneous domain vector signal is five.
  • the accuracy of the class of the heterogeneous domain vector signal finally determined using the first learning network model 100 and the baseline model that does not use the second learning network model 200 is 64.1% , and acc @ top5 is 86.8%.
  • the accuracy of the class of the finally determined heterogeneous domain vector signal using the CM_Joint model using only the second learning network model 200 is 68.5% for acc @ top1 and 89% for acc @ top5.
  • the accuracy of the class of the heterogeneous domain vector signal finally determined using the Context Flow Control model using only the first learning network model 100 is 64.5% in case of acc @ top1 and 88.5 %to be.
  • the finally determined heterogeneous domain vector signal The accuracy of the class is highest.
  • 5 and 6 are block diagrams of a multi-modal data learning apparatus 500 according to one embodiment.
  • a multi-modal data learning apparatus 500 may include a processor 510 and a memory 520.
  • the device 500 may include fewer or more components than the processor 510 and the memory 520.
  • an apparatus 600 may further include a communication unit 520 and an output unit 540 in addition to the processor 510 and the memory 520.
  • the apparatus 500 may include a plurality of processors.
  • the processor 510 may include one or more cores (not shown) and a connection path (e.g., a bus, etc.) to transmit and receive signals to and / or from a graphics processing unit (not shown) .
  • a connection path e.g., a bus, etc.
  • the processor 510 may include one or more cores (not shown) and a connection path (e.g., a bus, etc.) to transmit and receive signals to and / or from a graphics processing unit (not shown) .
  • a connection path e.g., a bus, etc.
  • the processor 510 may perform operations of the apparatus described above with reference to Figures 1-4.
  • the processor 510 may use the first learning network model to obtain first context information representative of the characteristics of the first signal and second context information representative of characteristics of the second signal have.
  • the processor 510 may use the second learning network model to obtain hidden layer information based on the first context information and the second context information.
  • the processor 510 can obtain a correlation value indicating the degree of association between hidden layer information using the second learning network model.
  • the processor 510 can learn the hidden layer information derived from the maximum value of the correlation value.
  • Each of the first signal and the second signal may include a different heterogeneous domain vector.
  • the processor 510 may acquire first context information by element-wise multiplication of a mask vector having the same size as the domain vector of the first signal and the domain vector of the first signal .
  • the processor 510 can acquire second context information by element-wise multiplication of a mask vector having the same size as the domain vector of the second signal and the domain vector of the second signal .
  • the processor 520 may utilize a second learning network model including a long-short term memory (LSTM).
  • LSTM long-short term memory
  • the obtained hidden layer information may include hidden layer information of the first signal, hidden layer information of the second signal, and common hidden layer information of the first signal and the second signal.
  • the processor 520 may learn the hidden layer information by repeating the operation of subtracting the correlation value from the objective function until the objective function of the soft max has the minimum value.
  • the processor 520 may minimize the final objective function minus the correlation in the objective function of the soft max.
  • the second learning network model 200 can learn the hidden layer information in which the correlation value is derived as the maximum value by minimizing the final objective function.
  • the processor 520 includes a first correlation value indicating the degree of association between the concealment layer information of the first signal and the common concealment layer information of the first and second signals, the concealment layer information of the second signal, 2 < / RTI > signal.
  • the processor 510 may include a random access memory (RAM) (not shown) and a read-only memory (ROM) for temporarily and / or permanently storing signals (or data) , Not shown).
  • the processor 120 may be implemented as a system-on-chip (SoC) including at least one of a graphics processing unit, a RAM, and a ROM.
  • SoC system-on-chip
  • the memory 520 may store programs (one or more instructions) for processing and control of the processor 510. Programs stored in the memory 520 may be divided into a plurality of modules according to functions. According to one embodiment, the memory 520 may include a data learning unit and a data recognition unit software module, which will be described later with reference to FIG. Further, the data learning unit and the data recognition unit may independently include a learning network model or may share one learning network model.
  • the communication unit 530 may include one or more components for communicating with an external server (e.g., the server of Fig. 4) and other external devices.
  • the communication unit 530 may transmit first context information representing characteristics of the first signal and second context information representing characteristics of the second signal using a first learning network model stored in the server, Lt; / RTI >
  • the communication unit 530 can receive the hidden layer information from the server based on the first context information and the second context information using the second learning network model stored in the server.
  • the communication unit 530 can receive a correlation value (Correlation Value) indicating the degree of association between hidden layer information, using the second learning network model stored in the server.
  • Correlation Value correlation value
  • the output unit 540 receives each hidden layer information and aggregates the mapped and mapped classes into a matching class to finally output the class of the heterogeneous domain vector signal.
  • the device 500 may be, for example, a PC, a laptop, a cell phone, a micro server, a GPS (Global Positioning System) device, a smart phone, a wearable terminal, an electronic book terminal, Mobile computing device. However, it is not so limited, and the device 500 may include all sorts of devices with data processing capabilities.
  • FIG. 7 is a diagram for explaining a processor 510 according to an embodiment.
  • the processor 510 may include a data learning unit 710 and a data recognizing unit 720.
  • the data learning unit 710 can learn a criterion for acquiring context information representative of the characteristics of the signal. For example, the data learning unit 710 can learn a criterion for acquiring the modality information at a time when a change in the sequence signal constituting the heterogeneous domain vector signal appears significantly.
  • the data learning unit 710 can determine context information based on a value obtained by multiplying a domain vector of a signal by a mask vector of a signal.
  • the data learning unit 710 can learn the criterion for acquiring the hidden layer information based on the context information.
  • the data learning unit 710 acquires the correlation value between the hidden layer information and learns the criterion of the hidden layer information derived as the maximum value of the correlation value.
  • the data recognition unit 720 can recognize the classes of the plurality of heterogeneous domain vector signals based on the learned criterion through the data learning unit 710.
  • At least one of the data learning unit 710 and the data recognizing unit 720 may be manufactured in the form of at least one hardware chip and loaded in the multimodal data learning apparatus.
  • at least one of the data learning unit 710 and the data recognition unit 720 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be a conventional general-purpose processor Or an application processor) or a graphics-only processor (e.g., a GPU), and may be mounted on the various neural network learning apparatuses described above.
  • AI artificial intelligence
  • a graphics-only processor e.g., a GPU
  • the data learning unit 710 and the data recognition unit 720 may be mounted on one multi-modal data learning apparatus, or Or may be each mounted on a separate multi-modal data learning device.
  • one of the data learning unit 710 and the data recognizing unit 720 may be included in the apparatus, and the other may be included in the server.
  • the data learning unit 710 and the data recognition unit 720 may provide the model information constructed by the data learning unit 710 to the data recognition unit 720 via a wire or wireless communication, 720 may be provided to the data learning unit 710 as additional learning data.
  • At least one of the data learning unit 710 and the data recognition unit 720 may be implemented as a software module.
  • the software module may be a computer-readable, And may be stored in non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • OS operating system
  • FIG. 8 is a block diagram of a data learning unit 710 according to an embodiment.
  • a data learning unit 710 includes a data obtaining unit 810, a preprocessing unit 820, a learning data selecting unit 830, a model learning unit 840, 850).
  • the data acquisition unit 810 may acquire context information representative of characteristics of different heterogeneous domain signals as multimodal learning data.
  • the data acquisition section 810 may include at least one of an external device or server that is capable of communicating with a multimodal data learning apparatus that includes a data learning unit 710, or a data learning unit 710. [ Context information representative of the characteristics of the heterogeneous domain signal can be obtained.
  • the data acquiring unit 810 acquires the hidden layer information from the context information representing the characteristics of the heterogeneous domain signal using the first learning network model and the second learning network model described above with reference to Figs. Multi-modal learning data may be obtained.
  • the preprocessing unit 820 can preprocess the obtained context information and hidden layer information so that the obtained context information and hidden layer information can be used for multimodal data learning.
  • the preprocessing unit 820 can process the obtained context information and hidden layer information into a predetermined format so that the model learning unit 840, which will be described later, can use the context information and hidden layer information obtained for learning.
  • the learning data selection unit 830 can select context information and hidden layer information necessary for learning from the preprocessed data.
  • the selected context information and hidden layer information may be provided to the model learning unit 840.
  • the learning data selection unit 830 can select the context information and the hidden layer information necessary for learning from the preprocessed context information and the hidden layer information according to the set criteria.
  • the model learning unit 840 can learn a criterion for acquiring a correlation value or recognizing an object in an image by using any of the context information and the hidden layer information in a plurality of layers in the learning network model. For example, the model learning unit 840 can learn a criterion for generating additional learning context information and hidden layer information according to a certain criterion, based on the objective function of the soft max.
  • the model learning unit 840 can determine a data recognition model in which the input learning data and the basic learning data are highly relevant, have.
  • the basic learning data may be pre-classified according to the type of data, and the data recognition model may be pre-built for each data type.
  • the basic learning data may be pre-classified by various criteria such as an area where the learning data is generated, a time at which the learning data is generated, a size of the learning data, a genre of the learning data, a creator of the learning data, .
  • model learning unit 840 can learn the data generation model through reinforcement learning using, for example, feedback as to whether the recognized class is correct according to the learning.
  • the model learning unit 840 can store the learned data generation model.
  • the model learning unit 840 can store the learned data generation model in the memory of the multimodal data learning apparatus including the data acquisition unit 810.
  • the model learning unit 840 may store the learned data generation model in a memory of a server connected to the multimodal data learning apparatus via a wired or wireless network.
  • the memory in which the learned data generation model is stored may also store, for example, instructions or data associated with at least one other component of the neural network learning apparatus.
  • the memory may also store software and / or programs.
  • the program may include, for example, a kernel, a middleware, an application programming interface (API) and / or an application program (or " application ").
  • the model evaluation unit 850 inputs the evaluation data to the data generation model and, if the result of generation of the additional learning data output from the evaluation data does not satisfy the predetermined criterion, the model learning unit 840 can re- have.
  • the evaluation data may be predetermined data for evaluating the data generation model.
  • the model evaluating unit 750 may evaluate whether each learning network model satisfies a predetermined criterion, and determine a model satisfying a predetermined criterion as a final learning network model.
  • At least one of the data acquiring unit 810, the preprocessing unit 820, the learning data selecting unit 830, the model learning unit 840, and the model evaluating unit 850 in the data learning unit 710 includes at least one And can be mounted on a neural network learning apparatus.
  • at least one of the data acquisition unit 810, the preprocessing unit 820, the learning data selection unit 830, the model learning unit 840, and the model evaluation unit 850 may be an artificial intelligence (AI) (E.g., a CPU or an application processor) or a graphics-only processor (e.g., a GPU), and may be mounted on the various neural network learning apparatuses described above .
  • AI artificial intelligence
  • GPU graphics-only processor
  • the data acquisition unit 810, the preprocessing unit 820, the learning data selection unit 830, the model learning unit 840, and the model evaluation unit 850 may be installed in one multimodal data learning apparatus, Or separate multi-modal data learning devices, respectively.
  • some of the data acquisition unit 810, the preprocessor 820, the learning data selection unit 830, the model learning unit 840, and the model evaluation unit 850 are included in the multimodal data learning apparatus, Some of the rest can be included in the server.
  • At least one of the data acquisition unit 810, the preprocessing unit 820, the learning data selection unit 830, the model learning unit 840, and the model evaluation unit 850 may be implemented as a software module.
  • At least one of the data acquiring unit 810, the preprocessing unit 820, the learning data selecting unit 830, the model learning unit 840 and the model evaluating unit 850 is a software module (or a program including an instruction) Module), the software module may be stored in a computer-readable, readable non-transitory computer readable media.
  • the at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS Operating System
  • some of the software modules may be provided by a predetermined application.
  • FIG. 9 is a block diagram of a data recognition unit 720 according to an embodiment.
  • a data recognition unit 720 includes a data acquisition unit 910, a preprocessing unit 920, a recognition data selection unit 930, a recognition result providing unit 940, (950).
  • the data acquisition unit 910 may acquire context information representative of characteristics of different heterogeneous domain signals.
  • the preprocessor 920 may be configured to acquire context information and hidden layer information, The obtained context information and hidden layer information can be preprocessed.
  • the preprocessing unit 920 can process the obtained context information and hidden layer information into a predetermined format so that the recognition result providing unit 940 to be described later can use the obtained context information and hidden layer information.
  • the recognition data selection unit 930 can select the context information and the hidden layer information necessary for character extraction or class recognition from the preprocessed data.
  • the selected context information and hidden layer information may be provided to the recognition result providing unit 840.
  • the recognition result providing unit 940 may extract the characteristic information of the heterogeneous domain signals or recognize the object in the heterogeneous domain signal by applying the selected context information and the hidden layer information to the learning network model according to an exemplary embodiment.
  • the method of inputting heterogeneous domain signals to the learning network model to extract context information, hidden layer information, or object recognition may correspond to the method described above with reference to FIGS.
  • the recognition result providing unit 940 may provide a result of recognizing the class of the object included in the heterogeneous domain signal.
  • the model updating unit 950 updates the class classification network included in the learning network model or at least one characteristic extraction layer included in the learning network model based on the evaluation of the class recognition result of the object in the heterogeneous domain signal provided by the recognition result providing unit 940. [ To the model learning unit 840 described above with reference to FIG. 8 so that the parameters of the model learning unit 840 are updated.
  • At least one of the data acquiring unit 910, the preprocessing unit 920, the recognition data selecting unit 930, the recognition result providing unit 940 and the model updating unit 950 in the data recognizing unit 720 may be at least It can be manufactured in the form of one hardware chip and mounted on a neural network learning apparatus.
  • at least one of the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940 and the model updating unit 950 is a dedicated hardware chip for artificial intelligence Or may be implemented as part of a conventional general-purpose processor (e.g., a CPU or an application processor) or a graphics-only processor (e.g., a GPU) and loaded into various multimodal data learning devices described above.
  • the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940 and the model updating unit 950 may be installed in one multimodal data learning apparatus , Or separate multi-modal data learning devices, respectively.
  • some of the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940, and the model updating unit 950 are included in the multimodal data learning apparatus , And the rest may be included in the server.
  • At least one of the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940, and the model updating unit 950 may be implemented as a software module.
  • At least one of the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940 and the model updating unit 950 may be a software module Program modules), the software modules may be stored in a computer-readable, readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS)
  • some of the software modules may be provided by a predetermined application.
  • FIG. 10 is a conceptual diagram for explaining a multi-modal data learning apparatus according to an embodiment.
  • the multimodal data learning apparatus includes a first learning network model 100, a second learning network model 200, a classifier 310, a third learning network model 320, and a collection unit (Aggregation) (Not shown).
  • the multi-modal data learning apparatus shown in FIG. 10 is different from the multi-modal data learning apparatus shown in FIG. 1 in that it includes three learning network models 100, 200, and 320 in total. Therefore, the description overlapping with that shown in FIG. 1 in the description of FIG. 10 will be omitted.
  • the multimodal data learning apparatus receives domain signals X1 and X2 of different kinds and extracts only important information in each domain information through a contextual information control module to generate a gated recurrent unit (GRU) Gated Recurrent Unit).
  • GRU gated recurrent unit
  • the first learning network model 100 may include a first context determiner and a second context determiner.
  • the first context determiner and the second context determiner may receive the heterogeneous domain vector signals X1 and X2, respectively.
  • Each context determiner may include a Context Flow Control model.
  • the first context determiner may obtain first context information M1 representing the characteristics of the signal X1.
  • the first context determiner generates a mask vector having the same magnitude as the domain vector of the received signal X1 and the domain vector of the signal X1 and multiplies the mask vector of the signal X1 and the domain vector of the signal X1 by element-wise multiplication
  • the first context information M1 can be obtained.
  • the second context determiner may obtain the second context information M2 representative of the characteristic of the signal X2.
  • the second context determiner generates a mask vector having the same size as the domain vector of the received signal X2 and the domain vector of the signal X2 and multiplies the mask vector of the signal X2 and the domain vector of the signal X2 by element-wise multiplication
  • the second context information M2 can be acquired.
  • the context information may be determined as the modality information determined to be important information among the modality information of the heterogeneous domain vector signal.
  • the second learning network model 200 may include three Long-Short Term Memory (LSTM) networks.
  • the second learning network model 200 can receive the first context information M1 and the second context information M2 obtained in the first learning network model 100.
  • the second learning network model 200 can acquire the hidden layer information (Z1, Zcommon, Z2) based on the first context information M1 and the second context information M2 received using the LSTM network.
  • the second learning network model 200 can acquire a correlation value indicating a degree of association between the obtained hidden layer information.
  • the second learning network model 200 can obtain the correlation value between the hidden layer information Z1 and the common hidden layer information Zcommon.
  • the second learning network model 200 can obtain the correlation value between the hidden layer information Z2 and the common hidden layer information Zcommon.
  • the second learning network model 200 can learn the hidden layer information in which the correlation value is derived as the maximum value.
  • the second learning network model 200 can learn the hidden layer information in which the correlation value is derived as the maximum value by repeating the operation of subtracting the correlation value from the objective function until the objective function of the classifier 310 has the minimum value. In one embodiment, the second learning network model 200 may minimize the final objective function minus the correlation in the objective function of the classifier 310. [ The second learning network model 200 can learn the hidden layer information in which the correlation value is derived as the maximum value by minimizing the final objective function.
  • the classifier 310 may include a softmax. In one embodiment, the classifier 310 may include a total of three soft maxs. The soft max can receive each hidden layer information and map it to a matching class.
  • the third learning network model 320 may learn by adding the correlation between the predicted result values in the classifier 320 to the objective function.
  • the third learning network model 320 learns the correlation between Z1 and Z2, which are the results learned in the LSTM of the second learning network model 200, and Zcommon, which is the common hidden layer information, (correlation) between the prediction and the prediction can be maximized. If the correlation of the Z space learned in the third learning network model 320 is performed in the representation agreement, the correlation between the estimated results (Z1, Zcommon, Z2) in the domain can be used to perform the agreement of the estimation result have.
  • the collection unit 410 may aggregate the mapped classes to finally determine the class Y of the heterogeneous domain vector signal.
  • the collecting unit 410 performs a main task using each of the acquired plurality of domain secret information Z1 and Z2 and common secret information Zcommon, and then performs adaptive aggregation And perform the main task.
  • the multimodal data learning apparatus calculates the correlation between the hidden layer information (Z1, Z2) and common hidden layer information (Zcommon) of each domain and the learning result of each domain, Learning can be performed so that the correlation can be maximized by learning the correlation between the common estimation result and the objective function. In other words, the accuracy of learning can be improved by concurrently executing Agreement and Prediction Agreement of Representation Space.
  • 11 is a table for comparing the accuracy of data obtained using the multimodal data learning method according to one embodiment.
  • the multimodal data learning method shown in Fig. 11 exemplifies that the number of classes is 233 as in the case of Fig.
  • the Corr_Hidden model, Corr_Logit model, and Corr_HiddenLogit model are all collected through Adaptive Aggregation.
  • acc @ top1 means that the number of classes of the finally determined heterogeneous domain vector signal is one.
  • acc @ top5 means that the number of classes of the finally determined heterogeneous domain vector signal is five.
  • the accuracy of the class of the heterogeneous domain vector signal finally determined using the first learning network model 100 and the baseline model that does not use the second learning network model 200 is 64.1% , and acc @ top5 is 86.8%.
  • the accuracy of the class of the finally determined heterogeneous domain vector signal is 71.79% when acc @ top1, For acc @ top5, it is 90.78%.
  • Corr_Logit model uses only the third learning network model 320 shown in FIG. 10 without using the first learning network model 100 and the second learning network model 200,
  • the accuracy of the class is 71.64% for acc @ top1 and 90.55% for acc @ top5.
  • the accuracy of the class of the vector signal is 71.80% for acc @ top1 and 90.79% for acc @ top5.
  • the third learning network model 320 for the results obtained through learning in each domain and estimated through the classifier 310 i.e., Z1, Z2 and Zcommon
  • the accuracy of the data (Corr_HiddenLogit) obtained by learning the correlation is highest. This means that performance of Corr_HiddenLogit is improved by concurrently executing Agreement and Prediction Agreement of Representation Space.
  • FIG. 12 is a diagram illustrating a structure of a cGRU (Contextual Gated Recurrence Unit) 1200 for performing multimodal data learning according to an embodiment.
  • cGRU Contextual Gated Recurrence Unit
  • the cGRU 1200 may model the inter-domain contextual flow through cross-guided flow control.
  • Each parameter in the cGRU 1200 can be calculated by the following equation (1).
  • Contextual flow control modeling using cGRU (1200) is sequential modeling based on flow control rather than memory control, unlike LSTM. It uses cross-guided information exchange between contexts as a contextual flow Can be described.
  • the multimodal data learning apparatus controls the inter-domain information flow through the cGRU 1200, and can be emphasized and Common Representation modeled for input of critical time.
  • FIG. 13 is a table for comparing the data accuracy when the cGRU according to an embodiment is used and the case where the cGRU is not used.
  • Fig. 13 shows an example in which the number of predetermined classes of the multimodal data learning method is 233, as in Figs. 4 and 11.
  • Fig. 13 shows an example in which the number of predetermined classes of the multimodal data learning method is 233, as in Figs. 4 and 11.
  • the accuracy of the class of the heterogeneous domain vector signal determined through the multimodal data learning apparatus using cGRU is 73.92% for acc @ top1 and 92.02% for acc @ top5.
  • the accuracy of the class of the heterogeneous domain vector signal determined through the multi-modal data learning device without cGRU is 71.90% for acc @ top1 and 90.79% for acc @ top5.
  • the multimodal data learning device controls the inter-domain information flow through the cGRU, and can emphasize the input of important time and can model the common representation.
  • FIG. 14 is a table for comparing the accuracy of data obtained using the multimodal data learning method according to one embodiment.
  • the table shown in Fig. 14 is a measure of the performance of a model for FCVID (Fudan-Columbia Video Dataset), which is moving picture classification data.
  • FCVID Fudan-Columbia Video Dataset
  • the multimodal data learning method shown in FIG. 14 has an example in which the number of classes is 233 as in the cases of FIGS. 4, 11, and 13.
  • acc @ top1 means that the number of classes of the finally determined heterogeneous domain vector signal is one.
  • acc @ top5 means that the number of classes of the finally determined heterogeneous domain vector signal is five.
  • the accuracy of the class of the heterogeneous domain vector signal finally determined using the Baseline model without using the first learning network model 100 (see FIG. 1) and the second learning network model 200 (see FIG. 1) 64.1% for acc @ top1, and 86.8% for acc @ top5.
  • the accuracy of the class of the finally determined heterogeneous domain vector signal is 66.29% for acc @ top1 and 88.04% for acc @ top5.
  • the accuracy of the class of the finally determined heterogeneous domain vector signal is 68.5% when acc @ top1, 89% when acc @ top5, to be.
  • the accuracy of the class of the finally determined heterogeneous domain vector signal is 70.47% for acc @ top1, 89.5 for acc @ top5 when learning through projective aggregation, which is a learning model using Projective Aggregation. %to be.
  • the Corr_Logit model using only the third learning network model 320 shown in FIG. 10 is used instead of the first learning network model 100 (see FIG. 10) and the second learning network model 200
  • the accuracy of the class of the finally determined heterogeneous domain vector signal is 71.64% for acc @ top1 and 90.55% for acc @ top5.
  • a Corr_HiddenLogit model using both the first learning network model 100 (see FIG. 10), the second learning network model 200 (see FIG. 10), and the third learning network model 320 The class accuracy of the determined heterogeneous domain vector signal is 71.78% for acc @ top1 and 90.79% for acc @ top5.
  • Baseline, Corr_Base, Corr_Hidden, Projective Aggregation, Adaptive Aggregation, Corr_Logit and Corr_HiddenLogit are all obtained through sequential modeling using an LSTM network.
  • all of the first learning network model 100, the second learning network model 200, and the third learning network model 320 (see FIG. 10) are used and cGRU or GRU is used instead of the LSTM network
  • the model (Final) that learns the correlation of the heterogeneous domain vector signals has the highest accuracy. That is, the accuracy of the class of the finally determined heterogeneous domain vector signal for the final case is 73.92% for acc @ top1 and 92.02% for acc @ top5.
  • hidden layer information is obtained from each domain using cGRU / GRU, and Z1, Z2 and Zcommon estimated through hidden layer information are transmitted through a third learning network model 320 (see FIG. 10) In addition, the accuracy of the output data (in case of Final) is highest by learning correlation.
  • the computer readable recording medium may be a magnetic storage medium such as a ROM, a floppy disk, a hard disk, etc., an optical reading medium such as a CD-ROM or a DVD and a carrier wave such as the Internet Lt; / RTI > transmission).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 본 개시는 인공지능 시스템 및 그 응용에 따라 멀티모달 데이터 학습 방법으로, 제 1 학습 네트워크 모델을 이용하여, 제1 신호의 특성을 대표하는 제1 맥락(Context) 정보와 제2 신호의 특성을 대표하는 제2 맥락 정보를 획득하고, 제 2 학습 네트워크 모델을 이용하여, 제1 맥락 정보와 제2 맥락 정보를 기초로 은닉층 정보를 획득하며, 제 2 학습 네트워크 모델을 이용하여, 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값 (Correlation Value)을 획득하고, 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.

Description

멀티모달 데이터 학습 방법 및 장치
개시된 실시예는 멀티모달 데이터 학습 방법, 멀티모달 데이터 학습 장치 및 멀티모달 데이터 학습 방법을 수행하는 프로그램이 기록된 기록매체에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
개시된 실시예는, 복수의 서로 다른 도메인 신호에 대한 가중치를 계산하는 방식으로는 각 도메인 내에 존재하는 주요 맥락(context) 정보를 추출할 수 없고, 두 개의 도메인 간에서 계산되는 상관관계의 개수는 도메인의 개수가 N개로 늘어나는 경우, 연산량이 N(N-1)/2 로 늘어나는 문제를 해결하기 위한 멀티모달 데이터 학습 방법 및 장치를 제공한다.
도 1은 일 실시예에 따른 멀티모달 데이터 학습 장치를 설명하기 위한 개념도이다.
도 2는 일 실시예에 따른 멀티모달 데이터 학습 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 컨텍스트 판단부에서 맥락 정보를 획득하는 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 멀티모달 데이터학습 방법을 이용하여 획득된 데이터의 정확도를 비교하는 표이다.
도 5 및 도 6은 일 실시예에 따른 멀티모달 데이터학습 장치의 블록도이다.
도 7은 일 실시예에 따른 프로세서를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 데이터 학습부의 블록도이다.
도 9는 일 실시예에 따른 데이터 인식부의 블록도이다.
도 10은 일 실시예에 따른 멀티모달 데이터 학습 장치를 설명하기 위한 개념도이다.
도 11은 일 실시예에 따른 멀티모달 데이터 학습 방법을 이용하여 획득된 데이터의 정확도를 비교하는 표이다.
도 12는 일 실시예에 따른 멀티모달 데이터 학습을 수행하는 cGRU(Contextual Gated Recurren Unit)의 구조를 도시한 도면이다.
도 13은 일 실시예에 따른 cGRU를 사용한 경우와 그렇지 않은 경우의 데이터 정확도를 비교하는 표이다.
도 14는 일 실시예에 따른 멀티모달 데이터 학습 방법을 이용하여 획득된 데이터의 정확도를 비교하는 표이다.
일 실시예에 따른 멀티모달 데이터 학습 방법은, 제 1 학습 네트워크 모델을 이용하여, 제1 신호의 특성을 대표하는 제1 맥락(Context) 정보와 제2 신호의 특성을 대표하는 제2 맥락 정보를 획득하는 단계; 제 2 학습 네트워크 모델을 이용하여, 제1 맥락 정보와 제2 맥락 정보를 기초로 은닉층 정보를 획득하는 단계; 제 2 학습 네트워크 모델을 이용하여, 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값 (Correlation Value)을 획득하는 단계; 및 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습하는 단계를 포함할 수 있다.
일 실시예에 따른 멀티모달 데이터 학습 방법은, 제1 신호와 제2 신호 각각은 서로 다른 이종 도메인 벡터를 포함하고, 제1 맥락 정보는 제1 신호의 도메인 벡터와 제1 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 획득되고, 제2 맥락 정보는 제2 신호의 도메인 벡터와 제2 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 획득할 수 있다.
일 실시예에 따른 멀티모달 데이터학습 방법에 있어서, 제 2 학습 네트워크 모델은 LSTM(Long-Short term Memory)을 이용하고, 획득된 은닉층 정보는 제1 신호의 은닉층 정보, 제2 신호의 은닉층 정보, 그리고 제1 신호 및 제2 신호의 공통 은닉층 정보를 포함할 수 있다.
일 실시예에 따른 멀티모달 데이터학습 방법에 있어서, 은닉층 정보를 학습하는 단계는, 목적 함수가 최솟값을 가질 때까지 목적 함수에서 상관관계 값을 빼는 연산을 반복할 수 있다.
일 실시예에 따른 멀티모달 데이터학습 방법에 있어서, 상관관계 값은 제1 신호의 은닉층 정보와 제1 신호 및 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제1 상관관계 값과 제2 신호의 은닉층 정보와 제1 신호 및 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제2 상관관계 값을 포함할 수 있다.
일 실시예에 따른 멀티모달 데이터학습 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 제 1 학습 네트워크 모델을 이용하여, 제1 신호의 특성을 대표하는 제1 맥락(Context) 정보와 제2 신호의 특성을 대표하는 제2 맥락 정보를 획득하고, 제 2 학습 네트워크 모델을 이용하여, 제1 맥락 정보와 제2 맥락 정보를 기초로 은닉층 정보를 획득하며, 제 2 학습 네트워크 모델을 이용하여, 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값 (Correlation Value)을 획득하여,상관관계값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 특성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 발명은 기계학습(Machine Learning) 중 심층신경망(Deep Neural Network)을 이용하는 대규모 멀티미디어 데이터를 다루는 테스크에 사용 가능한 학습 방법에 대해 개시한다. 구체적으로, 본 발명의 실시 예에 따라, 이종 도메인 벡터를 갖는 복수의 신호를 처리하는 태스크 성능이 향상될 수 있다.
본 명세서에서는 서로 다른 도메인 벡터를 갖는 두 개의 신호를 처리하는 방법 및 장치를 설명한다. 설명의 편의상 두 개의 신호를 처리하는 것으로 기재한 것일 뿐이며, N개(N은 2이상의 정수)의 신호를 처리하는 멀티모달 데이터 학습 방법 및 장치로 확장될 수 있음은 자명하다.
도 1은 일 실시예에 따른 멀티모달 데이터 학습 장치를 설명하기 위한 개념도이다.
도 1을 참조하면, 멀티모달 데이터 학습 장치(이하, 장치)는 제1 학습 네트워크 모델(100), 제 2 학습네트워크 모델(200), 분류기(300) 및 수집부(Aggregation)(400)를 포함할 수 있다.
제1 학습 네트워크 모델(100)은 제1 컨텍스트 판단부와 제2 컨텍스트 판단부를 포함할 수 있다. 제1 컨텍스트 판단부와 제2 컨텍스트 판단부는 각각 이종 도메인 벡터 신호 X1과 X2를 수신할 수 있다.
각 컨텍스트 판단부는 맥락 흐름 제어(Context Flow Control) 모델을 포함할 수 있다. 제 1 컨텍스트 판단부는 신호 X1의 특성을 대표하는 제 1 맥락(Context) 정보 M1을 획득할 수 있다.
제 1 컨텍스트 판단부는 수신된 신호 X1의 도메인 벡터와 신호 X1의 도메인 벡터와 동일한 크기의 마스크 벡터를 생성하여, 신호 X1의 도메인 벡터와 신호 X1의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 제 1 맥락 정보 M1을 획득할 수 있다.
제 2 컨텍스트 판단부는 신호 X2의 특성을 대표하는 제 2 맥락(Context) 정보 M2을 획득할 수 있다.
제 2 컨텍스트 판단부는 수신된 신호 X2의 도메인 벡터와 신호 X2의 도메인 벡터와 동일한 크기의 마스크 벡터를 생성하여, 신호 X2의 도메인 벡터와 신호 X2의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 제 2 맥락 정보 M2을 획득할 수 있다.
일 실시예에서, 맥락 정보는 이종 도메인 벡터 신호의 모달리티 정보 중 중요한 정보라고 판단된 모달리티 정보로 결정될 수 있다. 중요한 정보란, 이종 도메인 벡터 신호를 구성하는 시퀀스 신호의 변화가 크게 나타나는 시점의 모달리티 정보일 수 있다.
제2 학습네트워크 모델(200)은 세 개의 LSTM(Long-Short term Memory) 네트워크를 포함할 수 있다.
제2 학습네트워크 모델(200)은 제1 학습네트워크 모델(100)에서 획득된 제 1 맥락 정보 M1과 제 2 맥락 정보 M2를 수신할 수 있다.
제2 학습네트워크 모델(200)은 LSTM 네트워크를 이용하여 수신된 제 1 맥락 정보 M1과 제 2 맥락 정보 M2를 기초로 은닉층 정보(Z1, Zcommon, Z2)를 획득할 수 있다.
LSTM 네트워크를 이용하여, 제 1 맥락 정보 M1을 기초로 은닉층 정보 Z1을 획득할 수 있다.
LSTM 네트워크를 이용하여, 제 2 맥락 정보 M2을 기초로 은닉층 정보 Z2을 획득할 수 있다.
LSTM 네트워크를 이용하여, 제 1 맥락 정보 M1 및 제 2 맥락 정보 M2을 기초로 공통 은닉층 정보 Zcommon을 획득할 수 있다.
제2 학습네트워크 모델(200)은 획득한 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값(Correlation Value)을 획득할 수 있다.
제2 학습네트워크 모델(200)은 은닉층 정보 Z1과 공통 은닉층 정보 Zcommon 간의 상관관계 값을 획득할 수 있다. 제2 학습네트워크 모델(200)은 은닉층 정보 Z2과 공통 은닉층 정보 Zcommon 간의 상관관계 값을 획득할 수 있다.
제2 학습네트워크 모델(200)은 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
제2 학습네트워크 모델(200)은 소프트 맥스의 목적 함수가 최솟값을 가질 때까지 목적 함수에서 상관관계 값을 빼는 연산을 반복하여 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
일 실시예에서, 제2 학습네트워크 모델(200)은 소프트 맥스의 목적 함수에서 상관관계를 뺀 최종 목적함수를 최소화할 수 있다. 제2 학습네트워크 모델(200)은, 최종 목적함수를 최소화하여 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
분류기(300)는 세 개의 소프트맥스(softmax)를 포함할 수 있다.
소프트맥스는 각 은닉층 정보를 수신하여 매칭되는 클래스로 매핑할 수 있다. 일 실시예에서, 소프트맥스와 같은 분류기(classifier)에서 예상한 결과값들끼리의 상관 관계를 목적 함수에 추가하여 학습할 수도 있다. 이에 대해서는 도 10에 관한 설명 부분에서 상세하게 설명하기로 한다.
수집부(400)는 매핑된 클래스를 수집(aggregation)하여 최종적으로 이종 도메인 벡터 신호의 클래스 Ym을 결정할 수 있다.
도 2는 일 실시예에 따른 멀티모달 데이터 학습 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 장치는 제 1 학습 네트워크 모델을 이용하여, 제1 신호의 특성을 대표하는 제1 맥락(Context) 정보와 제2 신호의 특성을 대표하는 제2 맥락 정보를 획득할 수 있다.
일부 실시 예에서, 제1 신호와 제2 신호 각각은 서로 다른 이종 도메인 벡터를 포함할 수 있다. 제1 맥락 정보는 제1 신호의 도메인 벡터와 제1 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 획득될 수 있다. 제2 맥락 정보는 제2 신호의 도메인 벡터와 제2 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 획득될 수 있다.
단계 S220에서, 장치는 제 2 학습 네트워크 모델을 이용하여, 제1 맥락 정보와 제2 맥락 정보를 기초로 은닉층 정보를 획득할 수 있다.
일부 실시예에서, 제 2 학습 네트워크 모델은 LSTM(Long-Short term Memory)을 이용할 수 있다. 획득된 은닉층 정보는 제1 신호의 은닉층 정보, 제2 신호의 은닉층 정보, 그리고 제1 신호 및 제2 신호의 공통 은닉층 정보를 포함할 수 있다.
단계 S230에서, 장치는 제 2 학습 네트워크 모델을 이용하여, 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값 (Correlation Value)을 획득할 수 있다.
일부 실시예에서, 상관관계 값은 제1 신호의 은닉층 정보와 제1 신호 및 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제1 상관관계 값과 제2 신호의 은닉층 정보와 제1 신호 및 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제2 상관관계 값을 포함할 수 있다.
단계 S240에서, 장치는 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
일부 실시예에서, 장치는 소프트 맥스의 목적 함수가 최솟값을 가질 때까지 목적 함수에서 상관관계 값을 빼는 연산을 반복하여 은닉층 정보를 학습할 수 있다.
일부 실시예에서, 장치는 소프트 맥스의 목적 함수에서 상관관계를 뺀 최종 목적함수를 최소화할 수 있다. 제2 학습네트워크 모델(200)은, 최종 목적함수를 최소화하여 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
도 3은 일 실시예에 따른 컨텍스트 판단부에서 맥락 정보를 획득하는 방법을 설명하기 위한 도면이다.
일부 실시예에서, 컨텍스트 판단부는 이종 도메인 벡터 신호를 시간 순서로 처리할 수 있다.
일부 실시예에서, 컨텍스트 판단부는 수신된 이종 도메인 벡터 신호의 모든 정보를 이용하는 것이 아니라, 유의미한 정보만 추출하도록 이종 도메인 벡터 신호의 흐름을 제어할 수 있다.
일부 실시예에서, 컨텍스트 판단부는 서로 다른 각각의 모달리티를 포함하는 이종 도메인 벡터 신호의 흐름을 제어하여 유의미한 정보만을 추출할 수 있다.
일부 실시 예에서, 컨텍스트 판단부는 이전 타임 스텝(time step)의 은닉층 (hidden state)과 교차 모달리티 (cross modality) 정보를 수신할 수 있다. 일부 실시 예에서, 컨텍스트 판단부는 신경망 네트워크를 이용할 수 있다. 일부 실시 예에서, 컨텍스트 판단부는 입력 모달리티 정보의 벡터와 동일한 크기를 갖는 마스크 벡터를 생성할 수 있다.
일부 실시 예에서, 신경망 네트워크는 시그모이드 활성화 함수(sigmoid activation function)를 사용하여, 0 부터 1 사이의 값을 갖는 마스크 벡터(mask vector) 와 입력 모달리티(input modality) 의 요소별 곱(elementwise multiplication) 연산을 통해 입력 모달리티(input modality)에서 중요한 정보를 추출하여 상위 계층(layer) 에 전달할 수 있다.
도 4는 일 실시예에 따른 멀티모달 데이터 학습 방법을 이용하여 획득된 데이터의 정확도를 비교하는 표이다.
도 4를 참조하면, 학습 네트워크 모델의 조합에 따라 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 정확도가 도시된다.
구체적으로 도 4는 멀티모달 데이터 학습 방법의 기 설정된 클래스의 개수가 233개인 것을 예시로 한다.
acc@top1은 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 개수가 1개인 것을 의미한다.
acc@top5은 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 개수가 5개인 것을 의미한다.
제 1 학습 네트워크 모델(100), 제 2 학습 네트워크 모델(200)을 사용하지 않는 베이스라인(Baseline)모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 64.1%, acc@top5인 경우, 86.8%이다.
제 2 학습 네트워크 모델(200)만 사용한 CM_Joint 모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 68.5%, acc@top5인 경우, 89%이다.
제 1 학습 네트워크 모델(100)만 사용한 맥락 흐름 제어(Context Flow Control) 모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 64.5%, acc@top5인 경우, 88.5%이다.
제 1 학습 네트워크 모델(100)과 제 2 학습 네트워크 모델(200)을 모두 사용하는 전체 프레임워크(Overall Framework)모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 69.0%, acc@top5인 경우, 89.7%이다.
도 4의 표에 도시된 바와 같이, 제 1 학습 네트워크 모델(100)과 제 2 학습 네트워크 모델(200)을 모두 사용하는 전체 프레임워크(Overall Framework)모델을 이용하는 경우, 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도가 가장 높다.
도 5 및 도 6은 일 실시예에 따른 멀티모달 데이터 학습 장치(500)의 블록도이다.
도 5를 참조하면, 멀티모달 데이터 학습 장치(500, 이하, 장치)는 프로세서(510) 및 메모리(520)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐, 장치(500)는 프로세서(510) 및 메모리(520) 보다 더 적거나 더 많은 구성 요소를 포함할 수 있다. 예를 들어, 도 6을 참조하면, 다른 실시예에 따른 장치(600)는 프로세서(510) 및 메모리(520) 이외에 통신부(520) 및 출력부(540)를 더 포함할 수 있다. 또한, 다른 예에 따라, 장치(500)는 복수의 프로세서들을 포함할 수도 있다.
프로세서(510)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
프로세서(510)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따라 프로세서(510)는 도 1 내지 도 4을 참고하여 전술한 장치의 동작을 수행할 수 있다.
예를 들어, 프로세서(510)는 제 1 학습 네트워크 모델을 이용하여, 제1 신호의 특성을 대표하는 제1 맥락(Context) 정보와 제2 신호의 특성을 대표하는 제2 맥락 정보를 획득할 수 있다.
프로세서(510)는 제 2 학습 네트워크 모델을 이용하여, 제1 맥락 정보와 제2 맥락 정보를 기초로 은닉층 정보를 획득할 수 있다.
프로세서(510)는 제 2 학습 네트워크 모델을 이용하여, 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값 (Correlation Value)을 획득할 수 있다.
또한, 프로세서(510)는 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
제1 신호와 제2 신호 각각은 서로 다른 이종 도메인 벡터를 포함할 수 있다.
일 실시 예에 따른 프로세서(510)는, 제1 신호의 도메인 벡터와 제1 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 제1 맥락 정보를 획득할 수 있다.
일 실시 예에 따른 프로세서(510)는, 제2 신호의 도메인 벡터와 제2 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 제2 맥락 정보를 획득할 수 있다.
일 실시 예에 프로세서(520)는 LSTM(Long-Short term Memory)이 포함된 제 2 학습 네트워크 모델을 이용할 수 있다.
획득된 은닉층 정보는 제1 신호의 은닉층 정보, 제2 신호의 은닉층 정보, 그리고 제1 신호 및 제2 신호의 공통 은닉층 정보를 포함할 수 있다.
일 실시 예에서, 프로세서(520)는 소프트 맥스의 목적 함수가 최솟값을 가질 때까지 목적 함수에서 상관관계 값을 빼는 연산을 반복하여 은닉층 정보를 학습할 수 있다.
일부 실시 예에서, 프로세서(520)는 소프트 맥스의 목적 함수에서 상관관계를 뺀 최종 목적함수를 최소화할 수 있다. 제2 학습네트워크 모델(200)은, 최종 목적함수를 최소화하여 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
일 실시 예에 프로세서(520)는 제1 신호의 은닉층 정보와 제1 신호 및 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제1 상관관계 값과 제2 신호의 은닉층 정보와 제1 신호 및 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제2 상관관계 값을 획득할 수 있다.
한편, 프로세서(510)는 프로세서(510) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(120)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(520)는 프로세서(510)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(520)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다. 일 실시예에 따라 메모리(520)는 도 7을 참고하여 후술할 데이터 학습부 및 데이터 인식부가 소프트웨어 모듈로 구성될 수 있다. 또한, 데이터 학습부 및 데이터 인식부는 각각 독립적으로 학습 네트워크 모델을 포함하거나, 하나의 학습 네트워크 모델을 공유할 수 있다.
통신부(530)는 외부 서버(예를 들어, 도 4의 서버 등) 및 기타 외부 장치와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(530)는 서버에 저장된 제 1 학습 네트워크 모델을 이용하여 제1 신호의 특성을 대표하는 제1 맥락(Context) 정보와 제2 신호의 특성을 대표하는 제2 맥락 정보를 서버로부터 수신할 수 있다. 또한, 통신부(530)는 서버에 저장된 제 2 학습 네트워크 모델을 이용하여, 제1 맥락 정보와 제2 맥락 정보를 기초로 은닉층 정보를 서버로부터 수신할 수 있다. 또한, 통신부(530)는 서버에 저장된 제 2 학습 네트워크 모델을 이용하여, 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값 (Correlation Value)을 수신할 수 있다.
출력부(540)는 각 은닉층 정보를 수신하여 매칭되는 클래스로 매핑 매핑된 클래스를 수집(aggregation)하여 최종적으로 이종 도메인 벡터 신호의 클래스를 출력할 수 있다.
한편, 장치(500)는 예를 들어, PC, 랩톱, 휴대폰, 마이크로 서버, GPS(global positioning system) 장치, 스마트 폰, 웨어러블 단말기, 전자책 단말기, 가전기기, 자동차 내의 전자 장치 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다. 그러나, 이에 제한되지 않으며, 장치(500)는 데이터 프로세싱 기능을 구비한 모든 종류의 기기를 포함할 수 있다.
도 7은 일 실시예에 따른 프로세서(510)를 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시예에 따른 프로세서(510)는 데이터 학습부(710) 및 데이터 인식부(720)를 포함할 수 있다.
데이터 학습부(710)는 신호의 특성을 대표하는 맥락 정보를 획득하기 위한 기준을 학습할 수 있다. 예를 들어, 데이터 학습부(710)는 이종 도메인 벡터 신호를 구성하는 시퀀스 신호의 변화가 크게 나타나는 시점의 모달리티 정보를 획득하기 위한 기준을 학습할 수 있다. 데이터 학습부(710)는 신호의 도메인 벡터와 신호의 마스크 벡터를 요소별로 곱한 값을 기준으로 맥락 정보를 결정할 수 있다.
또한 데이터 학습부(710)는 맥락 정보를 기초로 은닉층 정보를 획득하는 기준을 학습할 수 있다. 데이터 학습부(710)는 은닉층 정보 간의 상관관계 값을 획득하여, 상관관계 값이 최댓값으로 도출되는 은닉층 정보의 기준을 학습할 수 있다.
데이터 인식부(720)는 데이터 학습부(710)를 통해 학습된 기준에 기초하여, 복수의 이종 도메인 벡터 신호의 클래스를 인식할 수 있다.
데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 멀티모달 데이터 학습 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(710) 및 데이터 인식부(720)는 하나의 멀티모달 데이터 학습 장치에 탑재될 수도 있으며, 또는 별개의 멀티모달 데이터 학습 장치에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(710) 및 데이터 인식부(720) 중 하나는 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(710) 및 데이터 인식부(720)는 유선 또는 무선으로 통하여, 데이터 학습부(710)가 구축한 모델 정보를 데이터 인식부(720)로 제공할 수도 있고, 데이터 인식부(720)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(710)로 제공될 수도 있다.
한편, 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
도 8은 일 실시예에 따른 데이터 학습부(710)의 블록도이다.
도 8을 참조하면, 일부 실시예에 따른 데이터 학습부(710)는 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐, 전술한 구성 들 보다 적은 구성 요소로 데이터 학습부(710)가 구성되거나, 전술한 구성들 이외에 다른 구성 요소가 추가적으로 데이터 학습부(710)에 포함될 수 있다.
데이터 획득부(810)는 서로 다른 이종 도메인 신호의 특성을 대표하는 맥락 정보를 멀티모달 학습 데이터로획득할 수 있다. 일 예로, 데이터 획득부(810)는 데이터 학습부(710)를 포함하는 멀티모달 데이터 학습 장치 또는 데이터 학습부(710)를 포함하는 멀티모달 데이터 학습 장치와 통신 가능한 외부의 장치 또는 서버로부터 적어도 둘 이상의 이종 도메인 신호의 특성을 대표하는 맥락 정보를 획득할 수 있다.
또한, 데이터 획득부(810)는 도 1 내지 도 4를 참고하여 전술한 제 1 학습 네트워크 모델 및 제 2 학습 네트워크 모델을 이용하여, 이종 도메인 신호의 특성을 대표하는 맥락 정보로부터 획득한 은닉층 정보로부터 멀티모달 학습 데이터를 획득할 수도 있다.
전처리부(820)는 멀티모달 데이터 학습에, 획득된 맥락 정보와 은닉층 정보가 이용될 수 있도록, 획득된 맥락 정보와 은닉층 정보를 전처리할 수 있다. 전처리부(820)는 후술할 모델 학습부(840)가 학습을 위하여 획득된 맥락 정보와 은닉층 정보를 이용할 수 있도록, 획득된 맥락 정보와 은닉층 정보를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(830)는 전처리된 데이터 중에서 학습에 필요한 맥락 정보와 은닉층 정보를 선택할 수 있다. 선택된 맥락 정보와 은닉층 정보는 모델 학습부(840)에 제공될 수 있다. 학습 데이터 선택부(830)는 설정된 기준에 따라, 전처리된 맥락 정보와 은닉층 정보 중에서 학습에 필요한 맥락 정보와 은닉층 정보를 선택할 수 있다.
모델 학습부(840)는 학습 네트워크 모델 내의 복수의 레이어에서 맥락 정보와 은닉층 정보 중 어떠한 정보를 이용하여, 상관 관계 값을 획득하거나, 이미지 내의 객체를 인식하는지에 대한 기준을 학습할 수 있다. 예를 들어, 모델 학습부(840)는 소프트 맥스의 목적 함수를 기초로, 어떠한 기준에 따라 추가 학습 맥락 정보와 은닉층 정보를 생성할 지에 대한 기준을 학습할 수 있다.
다양한 실시예에 따르면, 모델 학습부(840)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 객체의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(840)는, 예를 들어, 학습에 따라 인식된 클래스가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 생성 모델을 학습시킬 수 있다.
또한, 데이터 생성 모델이 학습되면, 모델 학습부(840)는 학습된 데이터 생성 모델을 저장할 수 있다. 이 경우, 모델 학습부(840)는 학습된 데이터 생성 모델을 데이터 획득부(810)를 포함하는 멀티모달 데이터 학습 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(840)는 학습된 데이터 생성 모델을 멀티모달 데이터 학습 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 생성 모델이 저장되는 메모리는, 예를 들면, 뉴럴 네트워크 학습 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 애플리케이션 프로그래밍 인터페이스(API) 및/또는 애플리케이션 프로그램(또는 "애플리케이션") 등을 포함할 수 있다.
모델 평가부(850)는 데이터 생성 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 추가 학습 데이터의 생성 결과, 소정 기준을 만족하지 못하는 경우, 모델 학습부(840)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 생성 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
한편, 학습 네트워크 모델이 복수 개 존재하는 경우, 모델 평가부(750)는 각각의 학습 네트워크 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 학습 네트워크 모델로서 결정할 수 있다.
한편, 데이터 학습부(710) 내의 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 장치 에 탑재될 수도 있다.
또한, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850)는 하나의 멀티모달 데이터 학습 장치에 탑재될 수도 있으며, 또는 별개의 멀티모달 데이터 학습 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 일부는 멀티모달 데이터 학습 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 9는 일 실시예에 따른 데이터 인식부(720)의 블록도이다.
도 9를 참조하면, 일부 실시예에 따른 데이터 인식부(720)는 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950)를 포함할 수 있다.
데이터 획득부(910)는 서로 다른 이종 도메인 신호의 특성을 대표하는 맥락 정보를 획득할 수 있으며, 전처리부(920)는 멀티모달 데이터 학습에, 획득된 맥락 정보와 은닉층 정보가 이용될 수 있도록, 획득된 맥락 정보와 은닉층 정보를 전처리할 수 있다. 전처리부(920)는 후술할 인식 결과 제공부(940)가 획득된 맥락 정보와 은닉층 정보를 이용할 수 있도록, 획득된 맥락 정보와 은닉층 정보를 기 설정된 포맷으로 가공할 수 있다. 인식 데이터 선택부(930)는 전처리된 데이터 중에서 특성 추출 또는 클래스 인식에 필요한 맥락 정보와 은닉층 정보를 선택할 수 있다. 선택된 맥락 정보와 은닉층 정보는 인식 결과 제공부(840)에게 제공될 수 있다.
인식 결과 제공부(940)는 선택된 맥락 정보와 은닉층 정보를 일 실시예에 따른 학습 네트워크 모델에 적용하여 이종 도메인 신호들의 특성 정보를 추출하거나, 이종 도메인 신호 내의 객체를 인식할 수 있다. 학습 네트워크 모델에 이종 도메인 신호들을 입력하여 맥락 정보와 은닉층 정보를 추출하거나 객체를 인식하는 방법은 도 1 내지 4을 참고하여 전술한 방법과 대응될 수 있다.
인식 결과 제공부(940)는 이종 도메인 신호 내에 포함된 객체의 클래스를 인식한 결과를 제공할 수 있다.
모델 갱신부(950)는 인식 결과 제공부(940)에 의해 제공되는 이종 도메인 신호 내의 객체의 클래스 인식 결과에 대한 평가에 기초하여, 학습 네트워크 모델에 포함된 종분류 네트워크 또는 적어도 하나의 특성 추출 레이어의 파라미터 등이 갱신되도록 평가에 대한 정보를 도 8을 참고하여 전술한 모델 학습부(840)에게 제공할 수 있다.
한편, 데이터 인식부(720) 내의 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는 인공 지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 멀티모달 데이터 학습 장치에 탑재될 수도 있다.
또한, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950)는 하나의 멀티모달 데이터 학습 장치에 탑재될 수도 있으며, 또는 별개의 멀티모달 데이터 학습 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 일부는 멀티모달 데이터 학습 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
도 10은 일 실시예에 따른 멀티모달 데이터 학습 장치를 설명하기 위한 개념도이다.
도 10을 참조하면, 멀티모달 데이터 학습 장치는 제1 학습 네트워크 모델(100), 제 2 학습네트워크 모델(200), 분류기(310), 제3 학습 네트워크 모델(320), 및 수집부(Aggregation)(410)를 포함할 수 있다. 도 10에 도시된 멀티모달 데이터 학습 장치는 도 1에 도시된 멀티모달 데이터 학습 장치와 공통되지만, 총 3개의 학습 네트워크 모델(100, 200, 320)을 포함하고 있다는 점에서 차이점이 있다. 따라서, 도 10에 관한 설명 중 도 1에서 설명한 내용과 중복되는 내용은 생략하기로 한다.
멀티모달 데이터 학습 장치에는 서로 다른 종류의 도메인 신호 X1, X2가 입력되고, 멀티모달 데이터 학습 장치는 맥락 정보 조절 모듈을 통해 각 도메인 정보 내의 중요한 정보만을 추출하여 GRU(Gated Recurrent Unit) 또는 cGRU(Contextual Gated Recurrent Unit)을 통해 모델링될 수 있다.
구체적으로, 제1 학습 네트워크 모델(100)은 제1 컨텍스트 판단부와 제2 컨텍스트 판단부를 포함할 수 있다. 제1 컨텍스트 판단부와 제2 컨텍스트 판단부는 각각 이종 도메인 벡터 신호 X1과 X2를 수신할 수 있다.
각 컨텍스트 판단부는 맥락 흐름 제어(Context Flow Control) 모델을 포함할 수 있다. 제 1 컨텍스트 판단부는 신호 X1의 특성을 대표하는 제 1 맥락(Context) 정보 M1을 획득할 수 있다.
제 1 컨텍스트 판단부는 수신된 신호 X1의 도메인 벡터와 신호 X1의 도메인 벡터와 동일한 크기의 마스크 벡터를 생성하여, 신호 X1의 도메인 벡터와 신호 X1의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 제 1 맥락 정보 M1을 획득할 수 있다.
제 2 컨텍스트 판단부는 신호 X2의 특성을 대표하는 제 2 맥락(Context) 정보 M2을 획득할 수 있다. 제 2 컨텍스트 판단부는 수신된 신호 X2의 도메인 벡터와 신호 X2의 도메인 벡터와 동일한 크기의 마스크 벡터를 생성하여, 신호 X2의 도메인 벡터와 신호 X2의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 제 2 맥락 정보 M2을 획득할 수 있다.
일 실시예에서, 맥락 정보는 이종 도메인 벡터 신호의 모달리티 정보 중 중요한 정보라고 판단된 모달리티 정보로 결정될 수 있다.
제2 학습 네트워크 모델(200)은 세 개의 LSTM(Long-Short term Memory) 네트워크를 포함할 수 있다. 제2 학습 네트워크 모델(200)은 제1 학습 네트워크 모델(100)에서 획득된 제 1 맥락 정보 M1과 제 2 맥락 정보 M2를 수신할 수 있다. 제2 학습 네트워크 모델(200)은 LSTM 네트워크를 이용하여 수신된 제 1 맥락 정보 M1과 제 2 맥락 정보 M2를 기초로 은닉층 정보(Z1, Zcommon, Z2)를 획득할 수 있다.
LSTM 네트워크를 이용하여, 제1 맥락 정보 M1을 기초로 은닉층 정보 Z1을 획득하고, 제2 맥락 정보 M2을 기초로 은닉층 정보 Z2을 획득하며, 제1 맥락 정보 M1 및 제2 맥락 정보 M2을 기초로 공통 은닉층 정보 Zcommon을 획득할 수 있다.
제2 학습네트워크 모델(200)은 획득한 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값(Correlation Value)을 획득할 수 있다.
제2 학습네트워크 모델(200)은 은닉층 정보 Z1과 공통 은닉층 정보 Zcommon 간의 상관관계 값을 획득할 수 있다. 제2 학습네트워크 모델(200)은 은닉층 정보 Z2과 공통 은닉층 정보 Zcommon 간의 상관관계 값을 획득할 수 있다.
제2 학습네트워크 모델(200)은 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
제2 학습네트워크 모델(200)은 분류기(310)의 목적 함수가 최솟값을 가질 때까지 목적 함수에서 상관관계 값을 빼는 연산을 반복하여 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다. 일 실시예에서, 제2 학습네트워크 모델(200)은 분류기(310)의 목적 함수에서 상관관계를 뺀 최종 목적함수를 최소화할 수 있다. 제2 학습네트워크 모델(200)은, 최종 목적함수를 최소화하여 상관관계 값이 최댓값으로 도출되는 은닉층 정보를 학습할 수 있다.
분류기(Classifier)(310)는 소프트 맥스(softmax)를 포함할 수 있다. 일 실시예에서, 분류기(310)는 총 세개의 소프트 맥스를 포함할 수 있다. 소프트맥스는 각 은닉층 정보를 수신하여 매칭되는 클래스로 매핑할 수 있다.
제3 학습 네트워크 모델(320)은, 분류기(320)에서 예상한 결과값들끼리의 상관 관계를 목적 함수에 추가하여 학습할 수도 있다. 일 실시예에서, 제3 학습 네트워크 모델(320)은 제2 학습 네트워크 모델(200)의 LSTM에서 학습된 결과인 Z1, Z2과 공통 은닉층 정보인 Zcommon의 상관 관계를 학습하여 각 도메인으로 추정된 결과(prediction) 사이의 상관 관계를 최대화할 수 있다. 제3 학습 네트워크 모델(320)에서 학습된 Z space의 상관 관계는 Representation의 Agreement를 수행한다면, 도메인에서 추정된 결과들(Z1, Zcommon, Z2)사이의 상관 관계는 추정 결과의 Agreement를 수행할 수 있다.
수집부(410)는 매핑된 클래스를 수집(aggregation)하여 최종적으로 이종 도메인 벡터 신호의 클래스 Y을 결정할 수 있다. 일 실시예에서, 수집부(410)는 획득된 다수의 도메인 은닉층 정보(Z1, Z2)와 공통 은닉층 정보(Zcommon) 각각을 활용하여 주 태스크를 수행한 이후, 적응형 응집 방법(Adaptive Aggregation)으로 수집하여 주 태스크를 수행할 수 있다.
도 10에 도시된 실시예에서, 멀티모달 데이터 학습 장치는 각 도메인의 은닉층 정보(Z1, Z2)와 공통 은닉층 정보(Zcommon) 사이의 상관 관계와 각 도메인의 학습 결과, 즉 추정 결과(prediction)과 공통 추정 결과 사이의 상관 관계를 목적 함수에 추가하여 학습함으로써, 상관 관계의 최대화가 가능하도록 학습할 수 있다. 즉, Representation Space의 Agreement와 Prediction Agreement를 동시에 수행함으로써, 학습의 정확도를 향상시킬 수 있다.
도 11은 일 실시예에 따른 멀티모달 데이터 학습 방법을 이용하여 획득된 데이터의 정확도를 비교하는 표이다.
도 11을 참조하면, 학습 네트워크 모델의 조합에 따라 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 정확도가 도시된다. 도 11에 도시된 멀티모달 데이터 학습 방법은 도 4의 경우와 마찬가지로 클래스의 개수가 233개인 것을 예시로 한다. Corr_Hidden 모델, Corr_Logit 모델, 및 Corr_HiddenLogit 모델은 모두 적응형 응집 방법(Adaptive Aggregation)을 통해 수집한 것이다.
acc@top1은 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 개수가 1개인 것을 의미한다. acc@top5은 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 개수가 5개인 것을 의미한다.
제 1 학습 네트워크 모델(100), 제 2 학습 네트워크 모델(200)을 사용하지 않는 베이스라인(Baseline)모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 64.1%, acc@top5인 경우, 86.8%이다.
도 1에 도시된 제1 학습 네트워크 모델(100) 및 제2 학습 네트워크 모델(200)을 사용하여 학습한 경우, 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 71.79%, acc@top5인 경우, 90.78%이다.
제1 학습 네트워크 모델(100) 및 제2 학습 네트워크 모델(200)을 사용하지 않고, 도 10에 도시된 제3 학습 네트워크 모델(320)만을 사용한 Corr_Logit 모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 71.64%, acc@top5인 경우, 90.55%이다.
제1 학습 네트워크 모델(100), 제2 학습 네트워크 모델(200), 및 제3 학습 네트워크 모델(320)을 모두 사용하는 Corr_HiddenLogit 모델(도 10에 도시된 실시예)을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 71.80%, acc@top5인 경우, 90.79%이다.
도 11의 표를 참조하면, 도 10에서와 같이 각 도메인에서 학습되고 분류기(310, 도 10 참조)를 통해 추정된 결과, 즉 Z1, Z2와 Zcommon에 대하여 제3 학습 네트워크 모델(320)을 통해 추가적으로 상관 관계를 학습하여 출력된 데이터(Corr_HiddenLogit)의 정확도가 가장 높다. 이는, Corr_HiddenLogit의 경우 Representation Space의 Agreement와 Prediction Agreement를 동시에 수행함으로써, 성능이 향상된 것을 의미한다.
도 12는 일 실시예에 따른 멀티모달 데이터 학습을 수행하는 cGRU(Contextual Gated Recurren Unit)(1200)의 구조를 도시한 도면이다.
도 12를 참조하면, cGRU(1200)는 교차 가이드 흐름 제어(Cross-guided flow control)를 통해 도메인 간 맥락 흐름(contextual flow)을 모델링할 수 있다. cGRU(1200) 내의 각 파라미터들은 하기의 수학식 1을 통해 계산될 수 있다.
Figure PCTKR2018013824-appb-img-000001
cGRU(1200)를 이용한 맥락 흐름 제어 모델링은 LSTM 과 달리 메모리 제어가 아닌 흐름 제어 기반의 순차 모델링(sequential modeling)으로서, 도메인 간 교차 가이드(cross-guided) 정보 교환으로 복수 도메인의 맥락 흐름(contextual flow)을 묘사할 수 있다.
일 실시예에서, 멀티모달 데이터 학습 장치는 cGRU(1200)를 통해서 도메인간 정보 흐름을 제어하며, 중요한 Time의 입력에 대해서 강조, Common Representation 모델링될 수 있다.
도 13은 일 실시예에 따른 cGRU를 사용한 경우와 그렇지 않은 경우의 데이터 정확도를 비교하는 표이다. 도 13은 도 4 및 도 11과 마찬가지로, 멀티모달 데이터 학습 방법의 기 설정된 클래스의 개수가 233개인 것을 예시로 한다.
도 13을 참조하면, cGRU를 사용한 멀티모달 데이터 학습 장치를 통해 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 73.92%, acc@top5인 경우, 92.02%이다.
cGRU를 사용하지 않은 멀티모달 데이터 학습 장치를 통해 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 71.90%, acc@top5인 경우, 90.79%이다.
cGRU를 사용하는 맥락 흐름 제어 모델링(Contextual Flow Modeling)으로서, Common representation에 해당하는 모델에는 cGRU를, 각 domain specific representation을 해당하는 모델에는 GRU를 사용할 수 있다.
멀티모달 데이터 학습 장치는 cGRU를 통해서 도메인간 정보 흐름을 제어하며, 중요한 Time의 입력에 대해서 강조하여 Common Representation 모델링할 수 있다.
도 14는 일 실시예에 따른 멀티모달 데이터 학습 방법을 이용하여 획득된 데이터의 정확도를 비교하는 표이다. 도 14에 도시된 표는 동영상 분류 데이터인 FCVID (Fudan-Columbia Video Dataset)에 대한 모델의 성능을 측정한 것이다.
도 14를 참조하면, 학습 네트워크 모델의 조합에 따라 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 정확도가 도시된다. 도 14에 도시된 멀티모달 데이터 학습 방법은 도 4, 도 11, 도 13의 경우와 마찬가지로 클래스의 개수가 233개인 것을 예시로 한다.
acc@top1은 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 개수가 1개인 것을 의미한다. acc@top5은 최종적으로 결정되는 이종 도메인 벡터 신호의 클래스의 개수가 5개인 것을 의미한다.
제 1 학습 네트워크 모델(100, 도 1 참조), 제 2 학습 네트워크 모델(200, 도 1 참조)을 사용하지 않는 베이스라인(Baseline)모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 64.1%, acc@top5인 경우, 86.8%이다.
은닉층 정보를 획득하지 않는 Corr_Base 모델을 사용하여 학습한 경우, 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 66.29%, acc@top5인 경우, 88.04%이다.
은닉층 정보를 획득하고, Mean Aggregation을 사용하는 학습 모델인 Corr_Hidden을 통해 학습한 경우, 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 68.5%, acc@top5인 경우, 89%이다.
은닉층 정보를 획득하고, Projective Aggregation을 사용하는 학습 모델인 Projective Aggregation을 통해 학습한 경우, 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 70.47%, acc@top5인 경우, 89.5%이다.
도 1에 도시된 제1 학습 네트워크 모델(100, 도 1 참조) 및 제2 학습 네트워크 모델(200, 도 1 참조)을 사용하여 학습하는 적응형 수집(Adaptive Aggregation) 모델의 경우, 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 71.79%, acc@top5인 경우, 90.78%이다.
제1 학습 네트워크 모델(100, 도 10 참조) 및 제2 학습 네트워크 모델(200, 도 10 참조)을 사용하지 않고, 도 10에 도시된 제3 학습 네트워크 모델(320)만을 사용한 Corr_Logit 모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 71.64%, acc@top5인 경우, 90.55%이다.
제1 학습 네트워크 모델(100, 도 10 참조), 제2 학습 네트워크 모델(200, 도 10 참조), 및 제3 학습 네트워크 모델(320, 도 10 참조)을 모두 사용하는 Corr_HiddenLogit 모델을 이용하여 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 71.78%, acc@top5인 경우, 90.79%이다.
도 14에 도시된 표에서, Baseline, Corr_Base, Corr_Hidden, Projective Aggregation, Adaptive Aggregation, Corr_Logit, Corr_HiddenLogit은 모두 LSTM 네트워크를 이용하여 순차적 모델링을 통해 학습한 결과이다. 도 14의 표에서 제1 학습 네트워크 모델(100), 제2 학습 네트워크 모델(200), 및 제3 학습 네트워크 모델(320, 이상 도 10 참조)을 모두 사용하고, LSTM 네트워크 대신 cGRU 또는 GRU를 사용하여 학습하여 이종 도메인 벡터 신호의 상관 관계를 학습하는 모델(Final)의 정확도가 가장 높다. 즉, Final의 경우 최종적으로 결정된 이종 도메인 벡터 신호의 클래스의 정확도는 acc@top1인 경우, 73.92%, acc@top5인 경우, 92.02%이다.
도 14를 참조하면, cGRU/GRU를 이용하여 각 도메인에서 은닉층 정보를 획득하고, 은닉층 정보를 통해 추정된 결과인 Z1, Z2와 Zcommon에 대하여 제3 학습 네트워크 모델(320, 도 10 참조)을 통해 추가적으로 상관 관계를 학습하여 출력된 데이터(Final의 경우)의 정확도가 가장 높다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (11)

  1. 제 1 학습 네트워크 모델을 이용하여, 제1 신호의 특성을 대표하는 제1 맥락(Context) 정보와 제2 신호의 특성을 대표하는 제2 맥락 정보를 획득하는 단계;
    제 2 학습 네트워크 모델을 이용하여, 상기 제1 맥락 정보와 상기 제2 맥락 정보를 기초로 은닉층 정보를 획득하는 단계;
    상기 제 2 학습 네트워크 모델을 이용하여, 상기 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값 (Correlation Value)을 획득하는 단계; 및
    상기 상관관계 값이 최댓값으로 도출되는 상기 은닉층 정보를 학습하는 단계를 포함하는, 멀티모달 데이터 학습 방법.
  2. 제 1 항에 있어서,
    상기 제1 신호와 상기 제2 신호 각각은 서로 다른 이종 도메인 벡터를 포함하고,
    상기 제1 맥락 정보는 상기 제1 신호의 도메인 벡터와 상기 제1 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 획득되고, 상기 제2 맥락 정보는 상기 제2 신호의 도메인 벡터와 상기 제2 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 획득되는, 멀티모달 데이터 학습 방법.
  3. 제 1 항에 있어서,
    상기 제 2 학습 네트워크 모델은 LSTM(Long-Short term Memory)을 이용하고,
    상기 획득된 은닉층 정보는 상기 제1 신호의 은닉층 정보, 상기 제2 신호의 은닉층 정보, 그리고 상기 제1 신호 및 상기 제2 신호의 공통 은닉층 정보를 포함하는 멀티모달 데이터 학습 방법.
  4. 제 1 항에 있어서,
    상기 은닉층 정보를 학습하는 단계는,
    목적 함수가 최솟값을 가질 때까지 상기 목적 함수에서 상기 상관관계 값을 빼는 연산을 반복하는 멀티모달 데이터 학습 방법.
  5. 제 3 항에 있어서,
    상기 상관관계 값은 상기 제1 신호의 은닉층 정보와 상기 제1 신호 및 상기 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제1 상관관계 값과 상기 제2 신호의 은닉층 정보와 상기 제1 신호 및 상기 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제2 상관관계 값을 포함하는, 멀티모달 데이터 학습 방법.
  6. 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    제 1 학습 네트워크 모델을 이용하여, 제1 신호의 특성을 대표하는 제1 맥락(Context) 정보와 제2 신호의 특성을 대표하는 제2 맥락 정보를 획득하고,
    제 2 학습 네트워크 모델을 이용하여, 상기 제1 맥락 정보와 상기 제2 맥락 정보를 기초로 은닉층 정보를 획득하며,
    상기 제 2 학습 네트워크 모델을 이용하여, 상기 은닉층 정보 간의 관련 정도를 나타내는 상관관계 값 (Correlation Value)을 획득하여,
    상기 상관관계 값이 최댓값으로 도출되는 상기 은닉층 정보를 학습하는 멀티모달 데이터 학습 장치.
  7. 제 6항에 있어서,
    상기 제1 신호와 상기 제2 신호 각각은 서로 다른 이종 도메인 벡터를 포함하고,
    상기 제1 맥락 정보는 상기 제1 신호의 도메인 벡터와 상기 제1 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 획득되고, 상기 제2 맥락 정보는 상기 제2 신호의 도메인 벡터와 상기 제2 신호의 도메인 벡터와 동일한 크기의 마스크 벡터를 요소별로 곱(element-wise multiplication)하여 획득되는, 멀티모달 데이터 학습 장치.
  8. 제 6항에 있어서,
    상기 제 2 학습 네트워크 모델은 LSTM(Long-Short term Memory)을 이용하고,
    상기 획득된 은닉층 정보는 상기 제1 신호의 은닉층 정보, 상기 제2 신호의 은닉층 정보, 그리고 상기 제1 신호 및 상기 제2 신호의 공통 은닉층 정보를 포함하는, 멀티모달 데이터 학습 장치.
  9. 제 6항에 있어서, 상기 적어도 하나의 프로세서는,
    목적 함수가 최솟값을 가질 때까지 상기 목적 함수에서 상기 상관관계 값을 빼는 연산을 반복하여 상기 은닉층 정보를 학습하는, 멀티모달 데이터 학습 장치.
  10. 제 8 항에 있어서,
    상기 상관관계 값은 상기 제1 신호의 은닉층 정보와 상기 제1 신호 및 상기 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제1 상관관계 값과 상기 제2 신호의 은닉층 정보와 상기 제1 신호 및 상기 제2 신호의 공통 은닉층 정보간의 관련 정도를 나타내는 제2 상관관계 값을 포함하는, 멀티모달 데이터 학습 장치.
  11. 제 1항 내지 제 5항 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
PCT/KR2018/013824 2017-11-17 2018-11-13 멀티모달 데이터 학습 방법 및 장치 WO2019098644A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/764,677 US11651214B2 (en) 2017-11-17 2018-11-13 Multimodal data learning method and device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2017-0153972 2017-11-17
KR20170153972 2017-11-17
KR1020180029403A KR102387305B1 (ko) 2017-11-17 2018-03-13 멀티모달 데이터 학습 방법 및 장치
KR10-2018-0029403 2018-03-13

Publications (1)

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

Family

ID=66538699

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/013824 WO2019098644A1 (ko) 2017-11-17 2018-11-13 멀티모달 데이터 학습 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2019098644A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080056069A (ko) * 2006-12-15 2008-06-20 삼성전자주식회사 음성 특징 벡터 변환 방법 및 장치
US20120303565A1 (en) * 2011-05-23 2012-11-29 Microsoft Corporation Learning processes for single hidden layer neural networks with linear output units
US20140279777A1 (en) * 2013-03-15 2014-09-18 Google Inc. Signal processing systems
WO2014200155A1 (ko) * 2013-06-13 2014-12-18 전북대학교산학협력단 스펙트럼내 중첩 피크 분리 장치 및 이를 이용하는 x선 형광 분석 장치
US20170228642A1 (en) * 2016-02-04 2017-08-10 Google Inc. Associative long short-term memory neural network layers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080056069A (ko) * 2006-12-15 2008-06-20 삼성전자주식회사 음성 특징 벡터 변환 방법 및 장치
US20120303565A1 (en) * 2011-05-23 2012-11-29 Microsoft Corporation Learning processes for single hidden layer neural networks with linear output units
US20140279777A1 (en) * 2013-03-15 2014-09-18 Google Inc. Signal processing systems
WO2014200155A1 (ko) * 2013-06-13 2014-12-18 전북대학교산학협력단 스펙트럼내 중첩 피크 분리 장치 및 이를 이용하는 x선 형광 분석 장치
US20170228642A1 (en) * 2016-02-04 2017-08-10 Google Inc. Associative long short-term memory neural network layers

Similar Documents

Publication Publication Date Title
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2019098573A1 (en) Electronic device and method for changing chatbot
WO2019098449A1 (ko) 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
WO2018117704A1 (en) Electronic apparatus and operation method thereof
WO2019050247A2 (ko) 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2020130747A1 (ko) 스타일 변환을 위한 영상 처리 장치 및 방법
WO2019083275A1 (ko) 관련 이미지를 검색하기 위한 전자 장치 및 이의 제어 방법
WO2019027258A1 (en) ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE ELECTRONIC DEVICE
WO2020213842A1 (en) Multi-model structures for classification and intent determination
WO2019146942A1 (ko) 전자 장치 및 그의 제어방법
WO2019231130A1 (ko) 전자 장치 및 그의 제어방법
EP3539056A1 (en) Electronic apparatus and operation method thereof
WO2019050297A1 (ko) 뉴럴 네트워크 학습 방법 및 장치
WO2018117538A1 (ko) 차선 정보를 추정하는 방법 및 전자 장치
WO2019135631A1 (ko) 데이터를 난독화 및 복호화 하는 전자 장치 및 그의 제어 방법
WO2021112631A1 (en) Device, method, and program for enhancing output content through iterative generation
WO2022102937A1 (en) Methods and systems for predicting non-default actions against unstructured utterances
WO2019074316A1 (ko) 이미지 및 영상의 등록, 검색, 재생을 모바일 디바이스 및 서버에서 분할하여 수행하는 컨벌루션 인공신경망 기반 인식 시스템
WO2019054792A1 (ko) 컨텐트를 제공하는 방법 및 단말기
WO2019164251A1 (en) Method of performing learning of deep neural network and apparatus thereof
WO2020091207A1 (ko) 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램과 인공 신경망 학습 방법, 장치 및 컴퓨터 프로그램
WO2018097439A1 (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: 18879055

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18879055

Country of ref document: EP

Kind code of ref document: A1