WO2022114324A1 - 자연어를 기반으로 비디오를 생성하는 장치 및 방법 - Google Patents
자연어를 기반으로 비디오를 생성하는 장치 및 방법 Download PDFInfo
- Publication number
- WO2022114324A1 WO2022114324A1 PCT/KR2020/017276 KR2020017276W WO2022114324A1 WO 2022114324 A1 WO2022114324 A1 WO 2022114324A1 KR 2020017276 W KR2020017276 W KR 2020017276W WO 2022114324 A1 WO2022114324 A1 WO 2022114324A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- real
- generated
- generating
- vector
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 239000013598 vector Substances 0.000 claims description 79
- 238000013528 artificial neural network Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 6
- 238000013527 convolutional neural network Methods 0.000 description 13
- 238000013145 classification model Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000007786 learning performance Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
Definitions
- the present invention relates to an apparatus and method for generating a video based on a natural language, and more particularly, to an apparatus and method for generating a video from a natural language using a deep learning technique.
- Deep learning technology is a machine learning field that aims to automatically learn data abstraction through an artificial neural network that mimics the human nervous system. With the development of hardware technology and the proposal of optimization methods that overcome the limitations of existing deep learning algorithms, it is receiving attention as it shows the highest level in various fields such as computer vision and natural language processing.
- Deep learning technologies include a convolutional neural network (CNN) used in computer vision fields such as image and video classification, and a recurrent neural network (RNN) specialized for sequential data processing such as language or voice processing.
- CNN convolutional neural network
- RNN recurrent neural network
- a generative adversarial network is one of the generative models that are receiving attention recently, and is a structure in which a generative model and a classification model are connected and learned.
- the generator model (G) simulates the actual data distribution.
- generative models aim to deceive the classification model by generating fake outputs.
- a classification model (D; Discriminator) distinguishes between fake output and real output.
- the classification model aims to uncover the fake generative samples generated by the generative model, and to reveal the real data samples as real.
- the GAN In order to learn the variance of the output data, it is common to give random noise as an input to the generative model. Compared to the generation models that use the mean squared error, the GAN produces clearer generation results because the output is not clear and there is less blurring problem.
- CNN Convolutional Neural Network
- a neural network with satisfactory video learning performance is required for forcing the model to generate a video from natural language description sentences that can be understood by the user.
- a video database for this purpose and a system for relaying input/output between the neural network and the user are also required at the same time.
- the present invention has been proposed to solve the above problems in the prior art, and generates a generated video corresponding to a natural language sentence, compares it with a real video, and classifies the generated video into real data or fake data according to the comparison result.
- An object of the present invention is to provide an apparatus and method.
- an apparatus for generating a natural language-based video includes an input module for receiving an input sentence composed of natural language, and a database for storing a video data set in which the natural language and video data corresponding to the natural language are linked. , a generation module that generates a generated video corresponding to an input sentence based on the video data set stored in the database, and a classification module that classifies the generated video as real data or fake data by comparing the generated video generated in the generating module with the real video include
- the generation module generates a language condition vector from an input sentence through a language encoder applying a multi-layer perceptron, combines noise with the language condition vector to generate a real vector, and a real vector through a deconvolutional neural network composed of a plurality of filters. You can create a generated video from .
- the generated video generated by the generation module is fed to the classification module, the generation module generates a Wasserstein loss based on the discrimination result of the classification module, and the Wasserstein loss can be calculated by combining it with the autoencoder loss.
- the classification module generates an abstraction for each of the generated video and the real video, combines the language condition vector generated from the input sentence through the multi-layer perceptron applied language encoder with the abstraction to generate the real vector, and the real vector of the generated video. and a scalar value may be generated based on a real vector of the real video. If the scalar value is -1, the generated video may be classified as real data, and if the scalar value is 1, the generated video may be classified as fake data. In this case, the input module may further receive an actual video.
- the video generating apparatus may further include a learning module for reducing the autoencoder loss based on the root mean square error objective function.
- a video generating method includes the steps of receiving an input sentence composed of natural language, calculating a language condition vector from the input sentence, combining the language condition vector with noise to generate a real vector. generating a natural language and video data corresponding to the natural language, generating a generative video based on a video data set and a real vector associated with it, abstracting the generated video and the actual video, combining the abstraction with a language condition vector to make a real number generating a vector and classifying the generated video as real data or fake data based on the real vector based on the generated video and the real video.
- a language condition vector may be generated from an input sentence through a language encoder to which a multi-layer perceptron is applied.
- a language encoder applying a multi-layer perceptron may generate a language condition vector from a sentence, and a real vector may be generated by combining noise with the language condition vector.
- the generated video may be generated from the real vector through a deconvolutional neural network composed of a plurality of filters.
- the video generating method may further include generating a Wasserstein loss based on the determination result of the step of classifying the real data or the fake data, and calculating the Wasserstein loss by combining it with an autoencoder loss.
- the generated video is classified as real data, and if the scalar value is 1, the generated video is It can be classified as fake data.
- an apparatus and method for generating a video based on natural language is a challenging field in a Generative Adversarial Network (GAN) video generation model.
- GAN Generative Adversarial Network
- WGAN Garrstein GAN
- GAN Garrstein GAN
- the conventional WGAN language-video generation model has disadvantages in that learning is unstable and the learning time is relatively long compared to other generative models.
- the natural language-based video generation apparatus and method proposes a new GAN language-video architecture called loose-autoencoder WGAN in order to improve the problems of the conventional GAN language-video generation model.
- Loose-autoencoder WGAN loosens the classification model structure of the existing 3D video GAN model and combines a new loss function called autoencoder loss with the generative model. It has the effect of improving the learning speed of the WGAN video model.
- the natural language-based video generating apparatus and method have the effect of sacrificing the consistency of some static elements existing in the video and improving the learning speed through an experiment in which a two-dimensional game character video is learned.
- the natural language-based video generating apparatus and method have the effect of improving the coupling with the language model without a separate input preprocessing. Accordingly, the natural language-based video generating apparatus and method is expected to be a milestone in a new technology as video generation is an area that is not well dealt with compared to the existing image generation or video captioning problems.
- FIG. 1 is a diagram for explaining an apparatus for generating a video based on natural language according to an embodiment of the present invention
- FIG. 2 is a view for explaining the generation module of FIG. 1;
- 3 and 4 are diagrams for explaining the classification module of FIG. 1 .
- FIG. 5 is a view for explaining a modified example of a natural language-based video generating apparatus according to an embodiment of the present invention.
- FIG. 6 is a view for explaining the learning module of FIG.
- FIG. 7 is a flowchart illustrating a method for generating a video based on natural language according to an embodiment of the present invention.
- FIG. 1 is a diagram for explaining a video generating apparatus according to an embodiment of the present invention.
- FIG. 2 is a diagram for explaining the generation module of FIG. 1
- FIGS. 3 and 4 are diagrams for explaining the classification module of FIG. 1 .
- FIG. 5 is a diagram for explaining a modified example of a video generating apparatus according to an embodiment of the present invention
- FIG. 6 is a diagram for explaining the learning module of FIG. 5 .
- an apparatus for generating a video based on natural language includes an input module 110 , a generating module 150 , and a classification module 170 .
- the natural language-based video generation apparatus according to an embodiment of the present invention has a fast initial learning rate through adversarial generative neural network learning and a loose architecture, and it is possible to learn video generation from natural language capable of iterative performance improvement through re-learning. It is a conditional video generation neural network (hereinafter, generative model) that is characterized.
- the input module 110 receives an input sentence for video generation.
- the input module 110 receives an input sentence composed of natural language.
- the input module 110 transmits the received input sentence to the generation module 150 .
- the input module 110 receives an actual video used as a reference value for diagnosing the authenticity of the generated video generated by the generation module 150 based on the input sentence.
- the input module 110 transmits the received real video to the classification module 170 .
- the input module 110 may receive an input sentence together with an actual video corresponding to the input sentence from the user.
- the input sentence may be an input sentence composed of a natural language including a user description for an actual video.
- the database 130 stores a pair of video data sets including an input sentence including a user description composed of natural language and actual video data corresponding to the input sentence.
- the actual video data stored in the video data set pair for example, converts the RGBA color value of each pixel present in each frame of the input video file to a real number between 0 and 1, crops the image, It may be a result of normalization by performing zero-padding.
- the generation module 150 generates a video through deep learning on the input sentence.
- the generation module 150 generates a video corresponding to the input sentence through deep learning using the video data set pair and the input sentence stored in the database 130 .
- the video generated by the generating module 150 is referred to as a generated video.
- the generation module 150 generates a 100-dimensional language condition vector (or Conditional Thought Vector) from an input sentence through a language encoder to which a multi-layer perceptron is applied.
- the generation module 150 combines the language condition vector with 100-dimensional noise and uses a total of 200-dimensional real vector as an input of the video GAN.
- the generation module 150 generates the generated video by the deconvolutional neural network.
- the generating module 150 generates a generated video through a plurality of filters.
- the filter means a receptive field of CNN.
- the output means a space-time cube as an intermediate result after going through the CNN filter.
- the generating module 150 finally generates a 4D generated video having a size of 3x8x60x60.
- the 4D generated video generated by the generation module 150 is fed to the classification module 170 for learning, and a Wasserstein loss is generated according to the determination result of the classification module 170 and combined with the autoencoder loss. to calculate at the same time.
- the generating module 150 generates a generated video, which is a video output, using predefined characteristics and input sentences.
- the predefined trait is generated through a generative neural network in the deep trait.
- the generation module 150 is optimized by adding an autoencoder loss to a simplified structure of the existing 3D video GAN architecture. Unlike the existing video generation model, the embodiment of the present invention concentrates on the GAN architecture itself rather than the input preprocessing. Referring to FIG. 2 , the generation module 150 may use the root mean square error as an autoencoder loss to improve performance beyond overhead generated in the combining process.
- the classification module 170 compares the generated video generated by the generation module 150 with the real video, and classifies the generated video as a real video or a fake video.
- the classification module 170 generates an abstraction for each of the generated video and the real video.
- the classification module 170 generates a 100-dimensional video abstraction result that is an intermediate result obtained by abstracting the generated video and the actual video, respectively.
- the classification module 170 generates a 100-dimensional video abstraction result by reversing the generation process of the language condition vector of the generation module 150 .
- the classification module 170 generates a 100-dimensional language condition vector (or Conditional Thought Vector) from an input sentence through a language encoder to which a multi-layer perceptron is applied.
- a 100-dimensional language condition vector or Conditional Thought Vector
- the classification module 170 generates a 200-dimensional real vector by combining the video abstraction result and the language condition vector.
- the classification module 170 uses the real vectors of the generated video and the real video as inputs of a Multi Layer Perceptron (MLP) to generate fake or real existence of the generated video as a one-dimensional scalar value.
- MLP Multi Layer Perceptron
- the parameter settings of the CNN architecture of the classification module 170 are the same as in FIG. 3 , and the filter means a receptive field of the CNN like the generation module 150 .
- the output means a space-time cube that is an intermediate result video after going through the CNN filter.
- the classification module 170 finally generates a one-dimensional real number.
- the one-dimensional real number generated by the classification module 170 is -1, it means that the generated video is the same real data as the real video.
- the one-dimensional real number generated by the classification module 170 is 1, it means that the generated video is fake data different from the real video.
- the classification module 170 extracts deep features from the extracted predefined features through a deep feature neural network.
- the classification module 170 learns by using an adversarial generative neural network to make the image generation performance more vivid.
- a problem of the existing classification module 170 is that the existing architecture places a great burden on GAN learning.
- Fig. 3 is a loose 3D video architecture that captures only a portion of a frame with a new classification architecture.
- the depth of the receptive field handled by the filter in the CNN architecture is limited to only one frame, and the number of filters is limited to 32. This is expected to improve the learning speed by reducing the number of parameters in the model.
- all frames are generated from the beginning of the output video.
- FIG. 4 is a diagram depicting a process in which an intermediate space-time cube (Intermediate Space-time Cuboid) is generated as an intermediate result in the third layer. Receptive fields for generating the next layer's video from the corresponding cuboid are displayed within the translucent cuboid displayed on each layer. What distinguishes the proposed model from the previous model is the number of filters, which determines the number of spatiotemporal cuboid outputs.
- an intermediate space-time cube Intermediate Space-time Cuboid
- the classification model uses 32, which is the lowest value of the previous model, for the number of filters. In FIG. 3, this is expressed as a number at the top of each cube. In addition, it can be seen that the filter receiving field is limited to one frame through the filter item at the bottom of the cuboid of FIG. 3 .
- the video generating apparatus may further include a learning module 190 .
- the learning module 190 improves the learning performance of the noisy initially generated video.
- the learning module 190 optimizes the autoencoder loss using the root mean square error objective function.
- the learning module 190 calculates a loss by calculating each pixel value of two dimensions with pixel values of actual data.
- the learning module 190 learns by combining the calculated loss with the existing Wasserstein loss of the generator. The expected result in this process can be explained with reference to FIG. 6 .
- the video generating apparatus may improve the learning performance of the noisy initial generated video through the learning module 190 using the proposed loss.
- FIG. 7 is a flowchart illustrating a video generation method according to an embodiment of the present invention.
- the video generating apparatus generates a language condition vector from the input sentence (S110).
- the video generating apparatus receives an input sentence for video generation.
- the video generating apparatus receives an input sentence composed of natural language.
- the video generating device generates a 100-dimensional language condition vector (or conditional thought vector) from an input sentence through a language encoder using a multi-layer perceptron.
- the video generating apparatus generates a real vector obtained by combining noise with a language condition vector (S120). That is, the video generating apparatus generates a total of 200-dimensional real vector by combining the 100-dimensional language condition vector generated in step S110 with the 100-dimensional noise.
- the video generating device uses the generated 200-dimensional real vector as an input of the video GAN.
- the video generating apparatus generates a generated video that is a video to which a real vector is input (S130).
- the video generating apparatus generates a generated video by a deconvolutional neural network.
- the video generating apparatus generates a generated video through a plurality of filters.
- the filter means a receptive field of CNN.
- the output means a space-time cube as an intermediate result after going through the CNN filter.
- the generating module 150 finally generates a 4D generated video having a size of 3x8x60x60.
- the video generating device generates a generated video that is a video output by using predefined characteristics and an input sentence.
- the predefined trait is generated through a generative neural network in the deep trait.
- the generation module 150 is optimized by adding an autoencoder loss to a simplified structure of the existing 3D video GAN architecture.
- the 4D generated video generated by the video generating device may be simultaneously calculated by generating a Wasserstein loss for learning and combining it with an autoencoder loss.
- the video generating apparatus abstracts the generated video and the actual video, respectively (S140).
- the video generating apparatus generates abstractions for each of the generated video and the actual video generated in step S130 .
- the video generating apparatus generates a 100-dimensional video abstraction result that is an intermediate result obtained by abstracting the generated video and the actual video, respectively. In this case, the video generating apparatus generates a 100-dimensional video abstraction result by reversing the generation process of the language condition vector.
- the video generating apparatus generates a real vector by combining abstraction and language condition vector (S150).
- the video generating device generates a 100-dimensional language condition vector (or conditional thought vector) from an input sentence through a language encoder using a multi-layer perceptron.
- the video generating apparatus generates a 200-dimensional real vector by combining the video abstraction result generated in step S140 and the language condition vector. In this case, the video generating apparatus generates a real vector for each of the generated video and the actual video.
- the video generating apparatus inputs the real vector of the generated video and the actual video to the MLP (S160).
- the video generating apparatus uses real vectors of the generated video and the real video as inputs of a Multi Layer Perceptron (MLP) to generate a fake or real of the generated video as a one-dimensional scalar value.
- MLP Multi Layer Perceptron
- the video generating apparatus classifies the generated video as fake data or real data based on the MLP result (S170).
- the video generating apparatus finally generates a one-dimensional real number through MLP. In this case, when the generated one-dimensional real number is -1, the video generating apparatus classifies the generated video as real data. When the generated one-dimensional real number is 1, the video generating apparatus classifies the generated video as temporary data.
- a video generating apparatus and method is a challenging field in a Generative Adversarial Network (GAN) video generation model.
- GAN Generative Adversarial Network
- WGAN Garrstein GAN
- GAN Garrstein GAN
- the conventional WGAN language-video generation model has disadvantages in that learning is unstable and the learning time is relatively long compared to other generative models.
- the video generation apparatus and method propose a new GAN language-video architecture called loose-autoencoder WGAN to improve the problems of the conventional GAN language-video generation model.
- Loose-autoencoder WGAN loosens the classification model structure of the existing 3D video GAN model and combines a new loss function called autoencoder loss with the generative model. It has the effect of improving the learning speed of the WGAN video model.
- the video generating apparatus and method have the effect of sacrificing the consistency of some static elements existing in the video and improving the learning speed through an experiment in which a two-dimensional game character video is learned.
- the video generating apparatus and method have the effect of improving the coupling with the language model without a separate input preprocessing. Accordingly, the video generating apparatus and method are expected to become a milestone of a new technology as video generation is an area that is not well dealt with compared to the existing image generation or video captioning problems.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
자연어 문장에 대응되는 생성 비디오를 생성하여 실제 비디오와 비교하고, 비교 결과에 따라 생성 비디오를 실제 데이터 또는 가짜 데이터로 분류하도록 한 비디오 생성 장치 및 방법을 제시한다. 제시된 비디오 생성 장치는 자연어로 구성된 입력 문장을 입력받는 입력 모듈, 자연어 및 자연어에 대응하는 비디오 데이터가 연계된 비디오 데이터 셋을 저장하는 데이터베이스, 데이터베이스에 저장된 비디오 데이터 셋을 근거로 입력 문장에 대응되는 생성 비디오를 생성하는 생성 모듈 및 생성 모듈에서 생성된 생성 비디오를 실제 비디오와 비교하여 생성 비디오를 실제 데이터 또는 가짜 데이터로 분류하는 분류 모듈을 포함한다.
Description
본 발명은 자연어를 기반으로 비디오를 생성하는 장치 및 방법에 관한 것으로, 더욱 상세하게는 딥 러닝 기술을 이용하여 자연어로부터 비디오를 생성하는 비디오 생성 장치 및 방법에 관한 것이다.
딥 러닝 기술은 인간의 신경계를 모사한 인공 신경망을 통한 데이터 추상 자동 학습을 목표로 하는 기계학습 분야이다. 하드웨어 기술의 발전과 기존의 딥 러닝 알고리즘의 한계를 극복하는 최적화 방법들의 제안으로 컴퓨터 비전이나 자연어 처리 등의 여러 분야에서 최고 수준을 보여주며 각광받고 있다.
딥 러닝 기술은 이미지 및 영상 분류 등의 컴퓨터 비전 분야에서 사용되고 있는 합성곱 신경망(CNN; Convolutional Neural Network), 언어나 음성 처리 등의 순차적 데이터 처리에 특화된 순환 신경망(RNN; Recurrent Neural Network) 등이 있다.
이들의 인공 신경망의 성공은 많은 연구들의 초석이 되었다. 특히 합성 곱 신경망을 위시한 컴퓨터비전 분야는 시각인식 분야를 넘어서 이미지 생성이나 동영상 인식 등의 응용 도메인으로 전세계에서 끊임없이 확장되고 있는 분야이다.
GAN(Generative Adversarial Network)은 최근 주목받는 생성모델의 하나로, 생성모델과 분류모델이 연결되어 학습되는 구조이다.
생성모델(G; Generator)은 실제 데이터 분포를 모사한다. 즉, 생성모델은 가짜 출력을 생성하여 분류모델을 속이는 것을 목표로 한다.
분류모델(D; Discriminator)은 가짜 출력과 진짜 출력을 구분한다. 즉, 분류모델은 생성모델이 생성한 가짜 생성 샘플을 밝혀내고, 실제 데이터 샘플을 진짜로 밝혀내는 것을 목표로 한다.
출력 데이터의 분산(Variation)을 학습하기 위해 생성모델의 입력으로 무작위 노이즈(Random Noise)를 입력으로 부여하는 것이 일반적이다. GAN은 기존에 평균 제곱근 에러(Mean Squared Error)를 사용하는 생성모델들에 비해 출력물이 선명하지 않고 뿌옇게 변하는 블러 문제가 적어 더 선명한 생성 결과를 도출해내었다.
이러한 GAN 아키텍처의 이론적 진보에도 불구하고, GAN을 언어 처리와 결합하여 미디어를 생성하는 연구는 아직 부족하다.
GAN을 이용해 언어에서 이미지를 생성하는 연구로는 "Generative Adversarial Text to Image Synthesis", (Scott Reed et al. 2016. 05.)이 있다. 해당 논문에서 저자는 다층 퍼셉트론를 응용한 Naive한 언어 인코더를 통해서 조건부 입력을 생성하여 자연어 문장으로부터 새 이미지를 생성하는 연구를 진행하였다. "Generating Videos with Scene Dynamics", (Carl Vondrick et al. 2016. 9.)에서는 비디오 GAN 아키텍처를 제안하였으며, 비지도 학습(Unsupervised Learning)으로 노이즈로부터 비디오를 생성하는 것을 보였다. 그에 더해 "Sequence to Sequence - Video to Text", (Subhashini Venugopalan et al. 2015. 5.)에서는 비디오 GAN 아키텍처에 gist라 불리우는 이미지를 입력 전처리를 통해 생성하여 비디오 GAN의 조건부 입력에 대한 최적화를 시도를 하였다. 그러나 이들은 비디오 GAN의 아키텍처를 그대로 사용하였다.
최근 딥러닝 기법이 소개되면서 다양한 분야에서 폭넓게 활용되고 있다. 특히 CNN(Convolutional Neural Network)과 같은 신경망 모델의 사용이 늘며, 얼굴 인식, 지능화된 실시간 감시 및 예측 시스템, 이미지 및 사운드 생성 모델 등의 여러 분야에서 사용되고 있다.
하지만, 최근의 연구들은 대부분 N대 1의 분류(classification) 문제에 국한 되어있으며, 1대 N의 복잡도를 가지는 생성(generation)은 아직도 어려운 영역이다.
이의 원인 중 하나는 기존의 생성 모델이 가지는 계산적 복잡도의 한계로 기존의 분류 모델의 역 구조를 가지는 생성모델로 합리적인 시간 안에 데이터 내에 존재하는 의미 있는 구조를 찾아내는 것이 힘들기 때문으로, 계산 모델의 개선을 통해 학습 시간을 줄이는 것이 바람직하다.
한편으로 비디오 생성은 기존에 다뤄지지 않던 복잡한 영역으로 도전적인 문제가 아직 많이 존재하는 기초기술의 분야이다. 기계학습을 이용한 해결 방법은 이를 해결할 방법으로 예상되고 있으며, 현재 활발히 연구되고 있는 분야이다.
이를 위하여 모델이 사용자가 이해할 수 있는 자연어 설명 문장으로부터 비디오를 생성하는 것을 강제하며, 비디오 학습 성능이 만족할만한 신경망이 필요하다. 이밖에도, 이를 위한 비디오 데이터베이스, 신경망과 사용자 간의 입출력을 중계하는 시스템 또한 동시에 요구된다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 자연어 문장에 대응되는 생성 비디오를 생성하여 실제 비디오와 비교하고, 비교 결과에 따라 생성 비디오를 실제 데이터 또는 가짜 데이터로 분류하도록 한 비디오 생성 장치 및 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 실시 예에 따른 자연어 기반의 비디오 생성 장치는 자연어로 구성된 입력 문장을 입력받는 입력 모듈, 자연어 및 자연어에 대응하는 비디오 데이터가 연계된 비디오 데이터 셋을 저장하는 데이터베이스, 데이터베이스에 저장된 비디오 데이터 셋을 근거로 입력 문장에 대응되는 생성 비디오를 생성하는 생성 모듈 및 생성 모듈에서 생성된 생성 비디오를 실제 비디오와 비교하여 생성 비디오를 실제 데이터 또는 가짜 데이터로 분류하는 분류 모듈을 포함한다.
생성 모듈은 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 언어 컨디션 벡터를 생성하고, 언어 컨디션 벡터에 노이즈를 결합하여 실수 벡터를 생성하고, 복수의 필터로 구성된 역합성곱 신경망을 통해 실수 벡터로부터 생성 비디오를 생성할 수 있다.
생성 모듈에서 생성된 생성 비디오는 분류 모듈로 먹임되고, 생성 모듈은 분류 모듈의 판별 결과를 근거로 Wasserstein 로스를 생성하고, Wasserstein 로스는 오토인코더 로스과 결합하여 연산할 수 있다.
분류 모듈은 생성 비디오 및 실제 비디오 각각에 대한 추상화를 생성하고, 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 생성한 언어 컨디션 벡터를 추상화와 결합하여 실수 벡터를 생성하고, 생성 비디오의 실수 벡터 및 실제 비디오의 실수 벡터를 근거로 스칼라값을 생성하고, 스칼라값이 -1이면 생성 비디오를 실제 데이터로 분류하고, 스칼라값이 1이면 생성 비디오를 가짜 데이터로 분류할 수 있다. 이때, 입력 모듈은 실제 비디오를 더 입력받을 수 있다.
본 발명의 실시 예에 따른 비디오 생성 장치는 평균 제곱근 에러 목적 함수를 근거로 오토인코더 로스를 감소시키는 학습 모듈을 더 포함할 수 있다.
상기한 목적을 달성하기 위하여 본 발명의 실시 예에 따른 비디오 생성 방법은 자연어로 구성된 입력 문장을 입력받는 단계, 입력 문장으로부터 언어 컨디션 벡터를 산출하는 단계, 언어 컨디션 벡터와 노이즈를 결합하여 실수 벡터를 생성하는 단계, 자연어 및 자연어에 대응하는 비디오 데이터가 연계된 비디오 데이터 셋과 실수 벡터를 근거로 생성 비디오를 생성하는 단계, 생성 비디오 및 실제 비디오를 추상화하는 단계, 추상화를 언어 컨디션 벡터와 결합하여 실수 벡터를 생성하는 단계 및 생성 비디오 및 실제 비디오를 근거의 실수 벡터를 근거로 생성 비디오를 실제 데이터 또는 가짜 데이터로 분류하는 단계를 포함한다.
언어 컨디션 벡터를 산출하는 단계에서는 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 언어 컨디션 벡터를 생성할 수 있다.
언어 컨디션 벡터와 노이즈를 결합하여 실수 벡터를 생성하는 단계에서는 다중 레이어 퍼셉트론을 응용한 언어 인코더를 문장으로부터 언어 컨디션 벡터를 생성하고, 언어 컨디션 벡터에 노이즈를 결합하여 실수 벡터를 생성할 수 있다.
생성 비디오를 생성하는 단계에서는 복수의 필터로 구성된 역합성곱 신경망을 통해 실수 벡터로부터 생성 비디오를 생성할 수 있다.
본 발명의 실시 예에 따른 비디오 생성 방법은 실제 데이터 또는 가짜 데이터로 분류하는 단계의 판별 결과를 근거로 Wasserstein 로스를 생성하고, Wasserstein 로스는 오토인코더 로스과 결합하여 연산하는 단계를 더 포함할 수 있다.
생성 비디오의 실수 벡터 및 실제 비디오의 실수 벡터를 근거로 스칼라값을 생성하는 단계에서는 생성 비디오 및 실제 비디오의 스칼라값이 -1이면 생성 비디오를 실제 데이터로 분류하고, 스칼라값이 1이면 생성 비디오를 가짜 데이터로 분류할 수 있다.
본 발명의 실시예에 따르면, 자연어 기반의 비디오 생성 장치 및 방법은 GAN(Generative Adversarial Network, GAN) 비디오 생성모델에서 도전적인 분야이다.
최근에는 GAN의 일종인 WGAN(Wasserstein GAN)을 사용한 언어-비디오 모델이 해당 문제를 해결하는 돌파구로 제안되었다. 그러나 종래의 WGAN 언어-비디오 생성모델은 다른 생성모델에 비해 학습이 불안정하고 학습 시간이 비교적 길다는 단점이 있다.
이에, 자연어 기반의 비디오 생성 장치 및 방법은 종래의 GAN 언어-비디오 생성모델의 문제점을 개선하기 위해 느슨한-오토인코더 WGAN라 불리는 새로운 GAN 언어-비디오 아키텍처를 제안한다. 느슨한-오토인코더 WGAN은 기존 3차원 비디오 GAN 모델의 분류모델 구조를 느슨하게 하고 오토인코더 로스라 불리는 새로운 로스 함수를 생성모델에 결합하는 구조로써 WGAN 비디오 모델의 학습 속도를 개선할 수 있는 효과가 있다.
또한, 자연어 기반의 비디오 생성 장치 및 방법은 2차원 게임 캐릭터 비디오를 학습한 실험을 통해서 비디오에 존재하는 다소의 정적 요소의 일치성을 희생하고 학습 속도를 개선할 수 있는 효과가 있다.
또한, 자연어 기반의 비디오 생성 장치 및 방법은 별도의 입력 전처리 없이 언어모델과의 결합이 개선되는 효과가 있다. 이에, 자연어 기반의 비디오 생성 장치 및 방법은 비디오를 생성하는 것은 기존의 이미지 생성이나 비디오 캡셔닝 문제에 비해 잘 다루어지지 않는 영역으로 새로운 기술의 이정표가 될 것으로 기대된다.
도 1은 본 발명의 실시 예에 따른 자연어 기반의 비디오 생성 장치를 설명하기 위한 도면.
도 2는 도 1의 생성 모듈을 설명하기 위한 도면.
도 3 및 도 4는 도 1의 분류 모듈을 설명하기 위한 도면.
도 5는 본 발명의 실시 예에 따른 자연어 기반의 비디오 생성 장치의 변형 예를 설명하기 위한 도면.
도 6은 도 5의 학습 모듈을 설명하기 위한 도면.
도 7은 본 발명의 실시 예에 따른 자연어 기반의 비디오 생성 방법을 설명하기 위한 흐름도.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시 예를 첨부 도면을 참조하여 설명하기로 한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하, 본 발명의 실시 예에 따른 자연어 기반의 비디오 생성 장치를 첨부된 도면을 참조하여 상세하게 설명한다. 도 1은 본 발명의 실시 예에 따른 비디오 생성 장치를 설명하기 위한 도면이다. 도 2는 도 1의 생성 모듈을 설명하기 위한 도면이고, 도 3 및 도 4는 도 1의 분류 모듈을 설명하기 위한 도면이다. 도 5는 본 발명의 실시 예에 따른 비디오 생성 장치의 변형 예를 설명하기 위한 도면이고, 도 6은 도 5의 학습 모듈을 설명하기 위한 도면이다.
도 1을 참조하면, 자연어 기반의 비디오 생성 장치는 입력 모듈(110), 생성 모듈(150) 및 분류 모듈(170)을 포함하여 구성된다. 본 발명의 실시 예에 따른 자연어 기반의 비디오 생성 장치는 적대적 생성 신경망 학습과 느슨한 아키텍처를 통해 빠른 초기 학습 속도를 가지고, 재학습을 통해 반복적인 성능 개선이 가능한 자연어로부터 비디오 생성을 학습할 수 있는 것이 특징인 조건부 비디오 생성 신경망(이하 생성모델)이다.
입력 모듈(110)은 비디오 생성을 위한 입력 문장을 입력받는다. 입력 모듈(110)은 자연어로 구성된 입력 문장을 입력받는다. 입력 모듈(110)은 입력받은 입력 문장을 생성 모듈(150)로 전송한다.
입력 모듈(110)은 생성 모듈(150)에서 입력 문장을 기반으로 생성하는 생성 비디오의 진위 여부를 진단하기 위한 기준값으로 사용되는 실제 비디오를 입력받는다. 입력 모듈(110)은 입력받은 실제 비디오를 분류 모듈(170)로 전송한다. 예를 들어, 입력 모듈(110)은 사용자로부터 입력 문장과 함께 해당 입력 문장에 대응되는 실제 비디오를 입력받을 수 있다. 입력 문장은, 실제 비디오에 대한 사용자 설명을 포함하는 자연어로 구성된 입력 문장일 수 있다.
데이터베이스(130)는 자연어로 구성된 사용자 설명을 포함하는 입력 문장과 입력 문장에 대응되는 실제 비디오 데이터를 포함하는 비디오 데이터 셋 쌍을 저장한다. 비디오 데이터 셋 쌍에 저장되는 실제 비디오 데이터는, 예를 들어, 입력 비디오 파일의 각 프레임에 존재하는 각 픽셀의 RGBA 색감 값을 0에서 1사이의 실수로 변환하고, 이미지를 자른 후 빈 프레임에 대한 0패딩(zero-padding)을 수행하여 정규화한 결과일 수 있다.
생성 모듈(150)은 입력 문장에 대한 딥 러닝을 통해 비디오를 생성한다. 생성 모듈(150)은 데이터베이스(130)에 저장된 비디오 데이터 셋쌍과 입력 문장을 이용하여 딥 러닝을 통해 입력 문장에 대응되는 비디오를 생성한다. 이하에서는, 생성 모듈(150)에서 생성된 비디오를 생성 비디오라 한다.
생성 모듈(150)은 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 100차원의 언어 컨디션 벡터(혹은 Conditional Thought Vector)를 생성한다. 생성 모듈(150)은 언어 컨디션 벡터를 100차원의 노이즈와 결합하여 총 200차원의 실수 벡터를 비디오 GAN의 입력으로 사용한다.
생성 모듈(150)은 역합성곱 신경망에 의해서 생성 비디오를 생성한다. 생성 모듈(150)은 복수의 필터를 통해 생성 비디오를 생성한다. 이때, 필터는 CNN의 수용 필드(Receptive Field)를 의미한다. 출력은 CNN 필터를 거친 뒤의 중간 결과 시공간 직육면체(Space-time Cuboid)를 의미한다. 생성 모듈(150)은 최종적으로 3x8x60x60 크기의 4D 생성 비디오를 생성한다.
이때, 생성 모듈(150)에서 생성된 4D 생성 비디오는 학습을 위해 분류 모듈(170)로 먹임(Feed)되고, 분류 모듈(170)의 판별 결과에 따라서 Wasserstein 로스를생성하고 이를 오토인코더 로스와 결합하여 동시에 연산한다.
생성 모듈(150)은 미리 정의된 특질과 입력 문장을 이용하여 비디오 출력인 생성 비디오를 생성한다. 이때, 미리 정의된 특질은 심층 특질에서 생성 신경망을 통해 생성된다. 생성 모듈(150)은 기존 3D 비디오 GAN 아키텍처를 간략화한 구조에 오토인코더 로스를 추가하여 최적화된다. 본 발명의 실시 예에서는 기존 비디오 생성 모델과는 다르게 입력 전처리가 아닌 GAN 아키텍처 자체에 집중한다. 도 2를 참조하면, 생성 모듈(150)은 평균 제곱근 에러를 오토인코더 로스로 사용하여 결합 과정에 발생하는 오버헤드(Overhead) 이상으로 성능을 향상시킬 수 있다.
분류 모듈(170)은 생성 모듈(150)에서 생성된 생성 비디오와 실제 비디오를 비교하여 생성 비디오를 실제 비디오 또는 가짜 비디오로 분류한다.
이를 위해, 분류 모듈(170)은 생성 비디오와 실제 비디오 각각에 대한 추상화(Abstraction)를 생성한다. 분류 모듈(170)은 생성 비디오와 실제 비디오를 각각 추상화한 중간 결과물인 100차원의 비디오 추상화 결과를 생성한다. 여기서, 분류 모듈(170)은 생성 모듈(150)의 언어 컨디션 벡터를 생성 과정과 역행하여 100차원의 비디오 추상화 결과를 생성한다.
분류 모듈(170)은 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 100차원의 언어 컨디션 벡터(혹은 Conditional Thought Vector)를 생성한다.
분류 모듈(170)은 비디오 추상화 결과와 언어 컨디션 벡터를 결합하여 200차원의 실수 벡터를 생성한다. 분류 모듈(170)은 생성 비디오 및 실제 비디오의 실수 벡터를 MLP(Multi Layer Perceptron)의 입력으로 사용하여 생성 비디오의 가짜 또는 진짜 유무를 1차원의 스칼라 값으로 생성한다.
분류 모듈(170)의 CNN 아키텍처의 파라미터 세팅은 도 3과 같으며, 생성 모듈(150)과 동일하게 필터는 CNN의 수용 필드(Receptive Field)를 의미한다. 출력은 CNN 필터를 거친 뒤의 중간 결과 비디오인 시공간 직육면체(Space-time Cuboid)를 의미한다.
분류 모듈(170)은 최종적으로 1차원 실수를 생성한다. 이때, 분류 모듈(170)에 의해 생성된 1차원 실수가 -1인 경우 생성 비디오가 실제 비디오와 동일한 실제 데이터인 것을 의미한다. 분류 모듈(170)에 의해 생성된 1차원 실수가 1인 경우 생성 비디오가 실제 비디오와 다른 가짜 데이터인 것을 의미한다.
분류 모듈(170)은 추출된 사전 정의된 특질에서 심층 특질 신경망을 통해 심층 특질을 추출한다. 분류 모듈(170)은 이미지의 생성 성능을 좀 더 선명하게 만들기 위해서 적대적 생성 신경망을 이용하여 학습한다. 기존의 분류 모듈(170)의 문제점은 기존 아키텍처가 GAN 학습에 큰 부담을 주고 있다는 것이다.
도 3은 새로운 분류 아키텍처로 프레임 일부분만 파악하는 느슨한 3D 비디오 아키텍처이다. 분류 모듈(170)에서는 CNN 아키텍처에서 필터가 다루는 수용 필드의 깊이를 하나의 프레임만으로, 필터의 개수를 32개로 제한한다. 이를 통해 모델의 모수 개수를 줄여 학습 속도 개선을 기대한다. 이때 발생하는 비디오 일관성 문제를 조절하기 위해서 출력 비디오는 처음부터 모든 프레임을 모두 생성하도록 한다.
도 4는 세 번째 레이어에서의 중간 결과 시공간 직육면체(Intermediate Space-time Cuboid)가 생성되는 과정을 묘사한 그림이다. 각 레이어에 표시된 반투명 직육면체 내에 해당 직육면체로부터 다음 레이어의 비디오를 생성하기 위한 수용 필드가 표시되고 있다. 제안 모델이 이전 모델과 구분되는 것은 첫째로 필터의 개수로 이는 시공간 직육면체 출력의 개수를 결정한다.
분류 모델은 필터의 수를 이전 모델의 최저값인 32를 사용한다 도 3에서 이는 각 직육면체 상단의 숫자로 표현된다. 또한 도 3의 직육면체 하단에 필터 항목을 통해 필터 수용 필드를 1프레임으로 제한한 모습을 볼 수 있다.
한편, 도 5를 참조하면, 비디오 생성 장치는 학습 모듈(190)을 더 포함할 수 있다.
학습 모듈(190)은 노이즈가 많은 초기의 생성 비디오의 학습 성능을 향상시킨다. 학습 모듈(190)은 오토인코더 로스를 평균 제곱근 에러 목적 함수로 이용해 최적화한다. 학습 모듈(190)은 2차원의 각 픽셀 값은 실제 데이터의 픽셀 값과 연산하여 로스를 산출한다. 학습 모듈(190)은 산출한 로스를 기존에 존재하는 생성기의 Wasserstein 로스와 결합하여 학습한다. 이 과정에서 예상되는 결과는 그림 도 6를 통해 설명할 수 있다.
비디오 생성 장치는 일반적으로 느린 WGAN의 성능을 개선하기 위해서 제안 로스를 이용하는 학습 모듈(190)을 통해 노이즈가 많은 초기의 생성 비디오의 학습 성능을 향상시킬 수 있다.
이하, 본 발명의 실시 예에 따른 비디오 생성 방법을 첨부된 도면을 참조하여 상세하게 설명한다. 도 7은 본 발명의 실시 예에 따른 비디오 생성 방법을 설명하기 위한 흐름도이다.
비디오 생성 장치는 입력 문장으로부터 언어 컨디션 벡터를 생성한다(S110). 비디오 생성 장치는 비디오 생성을 위한 입력 문장을 입력받는다. 이때, 비디오 생성 장치는 자연어로 구성된 입력 문장을 입력받는다. 비디오 생성 장치는 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 100차원의 언어 컨디션 벡터(혹은 Conditional Thought Vector)를 생성한다.
비디오 생성 장치는 언어 컨디션 벡터에 노이즈를 결합한 실수 벡터를 생성한다(S120). 즉, 비디오 생성 장치는 S110 단계에서 생성된 100차원의 언어 컨디션 벡터를 100차원의 노이즈와 결합하여 총 200차원의 실수 벡터를 생성한다. 비디오 생성 장치는 생성한 200차원의 실수 벡터를 비디오 GAN의 입력으로 사용한다.
비디오 생성 장치는 실수 벡터를 입력으로 한 비디오인 생성 비디오를 생성한다(S130).
비디오 생성 장치는 역합성곱 신경망에 의해서 생성 비디오를 생성한다. 비디오 생성 장치는 복수의 필터를 통해 생성 비디오를 생성한다. 이때, 필터는 CNN의 수용 필드(Receptive Field)를 의미한다. 출력은 CNN 필터를 거친 뒤의 중간 결과 시공간 직육면체(Space-time Cuboid)를 의미한다. 생성 모듈(150)은 최종적으로 3x8x60x60 크기의 4D 생성 비디오를 생성한다.
비디오 생성 장치는 미리 정의된 특질과 입력 문장을 이용하여 비디오 출력인 생성 비디오를 생성한다. 이때, 미리 정의된 특질은 심층 특질에서 생성 신경망을 통해 생성된다. 생성 모듈(150)은 기존 3D 비디오 GAN 아키텍처를 간략화한 구조에 오토인코더 로스를 추가하여 최적화된다. 이때, 비디오 생성 장치에서 생성된 4D 생성 비디오는 학습을 위해 Wasserstein 로스를 생성하고 이를 오토인코더 로스와 결합하여 동시에 연산할 수도 있다.
비디오 생성 장치는 생성 비디오 및 실제 비디오를 각각 추상화한다(S140). 비디오 생성 장치는 S130 단계에서 생성된 생성 비디오와 실제 비디오 각각에 대한 추상화(Abstraction)를 생성한다. 비디오 생성 장치는 생성 비디오와 실제 비디오를 각각 추상화한 중간 결과물인 100차원의 비디오 추상화 결과를 생성한다. 이때, 비디오 생성 장치는 언어 컨디션 벡터를 생성 과정과 역행하여 100차원의 비디오 추상화 결과를 생성한다.
비디오 생성 장치는 추상화와 언어 컨디션 벡터를 결합한 실수 벡터를 생성한다(S150). 비디오 생성 장치는 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 100차원의 언어 컨디션 벡터(혹은 Conditional Thought Vector)를 생성한다. 비디오 생성 장치는 S140 단계에서 생성한 비디오 추상화 결과와 언어 컨디션 벡터를 결합하여 200차원의 실수 벡터를 생성한다. 이때, 비디오 생성 장치는 생성 비디오 및 실제 비디오 각각에 대해 실수 벡터를 생성한다.
비디오 생성 장치는 생성 비디오 및 실제 비디오의 실수 벡터를 MLP에 입력한다(S160). 비디오 생성 장치는 생성 비디오 및 실제 비디오의 실수 벡터를 MLP(Multi Layer Perceptron)의 입력으로 사용하여 생성 비디오의 가짜 또는 진짜 유무를 1차원의 스칼라 값으로 생성한다.
비디오 생성 장치는 MLP 결과를 근거로 생성 비디오를 가짜 데이터 또는 진짜 데이터로 분류한다(S170). 비디오 생성 장치는 MLP를 통해 최종적으로 1차원 실수를 생성한다. 이때, 비디오 생성 장치는 생성된 1차원 실수가 -1인 경우 생성 비디오를 실제 데이터로 분류한다. 비디오 생성 장치는 생성된 1차원 실수가 1인 경우 생성 비디오를 가제 데이터로 분류한다.
상술한 바와 같이, 비디오 생성 장치 및 방법은 GAN(Generative Adversarial Network, GAN) 비디오 생성모델에서 도전적인 분야이다.
최근에는 GAN의 일종인 WGAN(Wasserstein GAN)을 사용한 언어-비디오 모델이 해당 문제를 해결하는 돌파구로 제안되었다. 그러나 종래의 WGAN 언어-비디오 생성모델은 다른 생성모델에 비해 학습이 불안정하고 학습 시간이 비교적 길다는 단점이 있다.
이에, 비디오 생성 장치 및 방법은 종래의 GAN 언어-비디오 생성모델의 문제점을 개선하기 위해 느슨한-오토인코더 WGAN라 불리는 새로운 GAN 언어-비디오 아키텍처를 제안한다. 느슨한-오토인코더 WGAN은 기존 3차원 비디오 GAN 모델의 분류모델 구조를 느슨하게 하고 오토인코더 로스라 불리는 새로운 로스 함수를 생성모델에 결합하는 구조로써 WGAN 비디오 모델의 학습 속도를 개선할 수 있는 효과가 있다.
또한, 비디오 생성 장치 및 방법은 2차원 게임 캐릭터 비디오를 학습한 실험을 통해서 비디오에 존재하는 다소의 정적 요소의 일치성을 희생하고 학습 속도를 개선할 수 있는 효과가 있다.
또한, 비디오 생성 장치 및 방법은 별도의 입력 전처리 없이 언어모델과의 결합이 개선되는 효과가 있다. 이에, 비디오 생성 장치 및 방법은 비디오를 생성하는 것은 기존의 이미지 생성이나 비디오 캡셔닝 문제에 비해 잘 다루어지지 않는 영역으로 새로운 기술의 이정표가 될것으로 기대된다.
이상에서 본 발명에 따른 바람직한 실시 예에 대해 설명하였으나, 다양한 형태로 변형이 가능하며, 본 기술분야에서 통상의 지식을 가진자라면 본 발명의 특허청구범위를 벗어남이 없이 다양한 변형 예 및 수정 예를 실시할 수 있을 것으로 이해된다.
Claims (14)
- 자연어로 구성된 입력 문장을 입력받는 입력 모듈;자연어 및 자연어에 대응하는 실제 비디오가 연계된 비디오 데이터 셋을 저장하는 데이터베이스;상기 데이터베이스에 저장된 비디오 데이터 셋을 근거로 상기 입력 문장에 대응되는 생성 비디오를 생성하는 생성 모듈; 및상기 생성 모듈에서 생성된 생성 비디오를 상기 자연어에 대응하는 실제 비디오와 비교하여 상기 생성 비디오를 실제 데이터 또는 가짜 데이터로 분류하는 분류 모듈을 포함하는 비디오 생성 장치.
- 제1항에 있어서,상기 생성 모듈은 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 언어 컨디션 벡터를 생성하고, 상기 언어 컨디션 벡터에 노이즈를 결합하여 실수 벡터를 생성하는 비디오 생성 장치.
- 제2항에 있어서,상기 생성 모듈은 복수의 필터로 구성된 역합성곱 신경망을 통해 상기 실수 벡터로부터 생성 비디오를 생성하는 비디오 생성 장치.
- 제1항에 있어서,상기 생성 모듈에서 생성된 생성 비디오는 상기 분류 모듈로 먹임되고,상기 생성 모듈은 상기 분류 모듈의 판별 결과를 근거로 Wasserstein 로스를 생성하고, 상기 Wasserstein 로스는 오토인코더 로스과 결합하여 연산하는 비디오 생성 장치.
- 제1항에 있어서,상기 분류 모듈은 상기 생성 비디오 및 실제 비디오 각각에 대한 추상화를 생성하고, 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 상기 입력 문장으로부터 생성한 언어 컨디션 벡터를 상기 추상화와 결합하여 실수 벡터를 생성하는 비디오 생성 장치.
- 제5항에 있어서,상기 분류 모듈은,상기 생성 비디오의 실수 벡터 및 상기 실제 비디오의 실수 벡터를 근거로 스칼라값을 생성하고, 상기 스칼라값이 -1이면 상기 생성 비디오를 실제 데이터로 분류하고, 상기 스칼라값이 1이면 상기 생성 비디오를 가짜 데이터로 분류하는 비디오 생성 장치.
- 제5항에 있어서,상기 입력 모듈은 상기 실제 비디오를 더 입력받는 비디오 생성 장치.
- 제1항에 있어서,평균 제곱근 에러 목적 함수를 근거로 오토인코더 로스를 감소시키는 학습 모듈을 더 포함하는 비디오 생성 장치.
- 비디오 생성 장치를 이용한 비디오 생성 방법에 있어서,자연어로 구성된 입력 문장을 입력받는 단계;상기 입력 문장으로부터 언어 컨디션 벡터를 산출하는 단계;상기 언어 컨디션 벡터와 노이즈를 결합하여 실수 벡터를 생성하는 단계;자연어 및 자연어에 대응하는 비디오 데이터가 연계된 비디오 데이터 셋과 상기 실수 벡터를 근거로 생성 비디오를 생성하는 단계;상기 생성 비디오 및 실제 비디오를 추상화하는 단계;상기 추상화를 상기 언어 컨디션 벡터와 결합하여 실수 벡터를 생성하는 단계; 및상기 생성 비디오 및 실제 비디오를 근거의 실수 벡터를 근거로 상기 생성 비디오를 실제 데이터 또는 가짜 데이터로 분류하는 단계를 포함하는 비디오 생성 방법.
- 제9항에 있어서,상기 언어 컨디션 벡터를 산출하는 단계에서는 다중 레이어 퍼셉트론을 응용한 언어 인코더를 통해 입력 문장으로부터 언어 컨디션 벡터를 생성하는 비디오 생성 방법.
- 제9항에 있어서,상기 언어 컨디션 벡터와 노이즈를 결합하여 실수 벡터를 생성하는 단계에서는다중 레이어 퍼셉트론을 응용한 언어 인코더를 문장으로부터 언어 컨디션 벡터를 생성하고, 상기 언어 컨디션 벡터에 노이즈를 결합하여 실수 벡터를 생성하는 비디오 생성 방법.
- 제9항에 있어서,상기 생성 비디오를 생성하는 단계에서는 복수의 필터로 구성된 역합성곱 신경망을 통해 상기 실수 벡터로부터 생성 비디오를 생성하는 비디오 생성 방법.
- 제9항에 있어서,상기 실제 데이터 또는 가짜 데이터로 분류하는 단계의 판별 결과를 근거로 Wasserstein 로스를 생성하고, 상기 Wasserstein 로스는 오토인코더 로스과 결합하여 연산하는 단계를 더 포함하는 비디오 생성 방법.
- 제9항에 있어서,상기 생성 비디오의 실수 벡터 및 상기 실제 비디오의 실수 벡터를 근거로 스칼라값을 생성하는 단계에서는 상기 생성 비디오 및 상기 실제 비디오의 상기 스칼라값이 -1이면 상기 생성 비디오를 상기 실제 데이터로 분류하고, 상기 스칼라값이 1이면 상기 생성 비디오를 가짜 데이터로 분류하는 비디오 생성 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2020/017276 WO2022114324A1 (ko) | 2020-11-30 | 2020-11-30 | 자연어를 기반으로 비디오를 생성하는 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2020/017276 WO2022114324A1 (ko) | 2020-11-30 | 2020-11-30 | 자연어를 기반으로 비디오를 생성하는 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022114324A1 true WO2022114324A1 (ko) | 2022-06-02 |
Family
ID=81755161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/017276 WO2022114324A1 (ko) | 2020-11-30 | 2020-11-30 | 자연어를 기반으로 비디오를 생성하는 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022114324A1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200019863A1 (en) * | 2018-07-12 | 2020-01-16 | International Business Machines Corporation | Generative Adversarial Network Based Modeling of Text for Natural Language Processing |
KR20200023049A (ko) * | 2018-08-24 | 2020-03-04 | 네이버 주식회사 | 딥러닝 생성모델과 다중모달 분포를 이용하여 멀티턴 대화 응답을 생성하는 방법 및 시스템 |
KR102117654B1 (ko) * | 2019-04-29 | 2020-06-01 | 연세대학교 산학협력단 | 자연어 기반의 비디오 생성 방법 및 장치 |
KR20200105056A (ko) * | 2019-02-28 | 2020-09-07 | 한국전력공사 | 비디오 생성 장치 및 방법 |
-
2020
- 2020-11-30 WO PCT/KR2020/017276 patent/WO2022114324A1/ko active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200019863A1 (en) * | 2018-07-12 | 2020-01-16 | International Business Machines Corporation | Generative Adversarial Network Based Modeling of Text for Natural Language Processing |
KR20200023049A (ko) * | 2018-08-24 | 2020-03-04 | 네이버 주식회사 | 딥러닝 생성모델과 다중모달 분포를 이용하여 멀티턴 대화 응답을 생성하는 방법 및 시스템 |
KR20200105056A (ko) * | 2019-02-28 | 2020-09-07 | 한국전력공사 | 비디오 생성 장치 및 방법 |
KR102117654B1 (ko) * | 2019-04-29 | 2020-06-01 | 연세대학교 산학협력단 | 자연어 기반의 비디오 생성 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
KAO CHAO YUAN: "Combining multi-task autoencoder with Wasserstein generative adversarial networks for improving speech recognition performance", THE JOURNAL OF THE ACOUSTICAL SOCIETY OF KOREA, vol. 38, no. 6, 1 November 2019 (2019-11-01), pages 670 - 677, XP055935517, ISSN: 1225-4428, DOI: 10.7776/ASK.2019.38.6.670 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108596041B (zh) | 一种基于视频的人脸活体检测方法 | |
WO2020256471A1 (ko) | 머신 러닝 기반의 발화 동영상 생성 방법 및 장치 | |
CN108921037B (zh) | 一种基于BN-inception双流网络的情绪识别方法 | |
WO2022260386A1 (ko) | 딥러닝 네트워크를 이용한 배경 및 얼굴 합성 방법 및 장치 | |
WO2022108275A1 (ko) | 인공지능을 활용한 가상 얼굴 생성 방법 및 장치 | |
CN108921032A (zh) | 一种新的基于深度学习模型的视频语义提取方法 | |
CN108805036A (zh) | 一种新的非监督的视频语义提取方法 | |
CN109670285A (zh) | 面部识别登陆方法、装置、计算机设备及存储介质 | |
CN113705384A (zh) | 一种考虑局部时空特性和全局时序线索的面部表情识别方法 | |
CN106778576A (zh) | 一种基于sehm特征图序列的动作识别方法 | |
WO2022114324A1 (ko) | 자연어를 기반으로 비디오를 생성하는 장치 및 방법 | |
WO2021261687A1 (ko) | 영상 기반 사람의 3차원 자세 및 형상 모델 복원 장치 및 방법 | |
WO2021025279A1 (ko) | Ai 기반의 표정 분류 및 리타겟팅을 통한 가상 캐릭터의 표정 최적화 시스템 및 방법, 및 컴퓨터 판독 가능한 저장매체 | |
CN109344911A (zh) | 一种基于多层lstm模型的并行处理分类方法 | |
KR20200105056A (ko) | 비디오 생성 장치 및 방법 | |
WO2023277448A1 (ko) | 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템 | |
de Amorim et al. | Asl-skeleton3d and asl-phono: Two novel datasets for the american sign language | |
WO2023075381A1 (ko) | 딥러닝 네트워크를 이용한 입 모양 생성 방법 및 장치 | |
CN115376184A (zh) | 一种基于生成对抗网络的ir图像活体检测方法 | |
CN111881794B (zh) | 一种视频行为识别方法及系统 | |
CN114120391A (zh) | 一种多姿态人脸识别系统及其方法 | |
CN112784631A (zh) | 一种基于深度神经网络进行人脸情绪识别的方法 | |
WO2022145769A1 (ko) | 이미지 분류를 통한 이미지 퀄리티 연산 방법 및 장치 | |
WO2023090596A1 (ko) | 얼굴 합성 방법 및 시스템 | |
WO2022145787A1 (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: 20963718 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: 20963718 Country of ref document: EP Kind code of ref document: A1 |