WO2019107624A1 - 시퀀스-대-시퀀스 번역 방법 및 이를 위한 장치 - Google Patents

시퀀스-대-시퀀스 번역 방법 및 이를 위한 장치 Download PDF

Info

Publication number
WO2019107624A1
WO2019107624A1 PCT/KR2017/013968 KR2017013968W WO2019107624A1 WO 2019107624 A1 WO2019107624 A1 WO 2019107624A1 KR 2017013968 W KR2017013968 W KR 2017013968W WO 2019107624 A1 WO2019107624 A1 WO 2019107624A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
input
learning
units
output
Prior art date
Application number
PCT/KR2017/013968
Other languages
English (en)
French (fr)
Inventor
황명진
지창진
Original Assignee
주식회사 시스트란인터내셔널
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 시스트란인터내셔널 filed Critical 주식회사 시스트란인터내셔널
Priority to PCT/KR2017/013968 priority Critical patent/WO2019107624A1/ko
Publication of WO2019107624A1 publication Critical patent/WO2019107624A1/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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • 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 present invention relates to a sequence-to-sequence conversion / translation method, and more particularly, to a method and a device for supporting a modeling method for sequence-to-sequence conversion.
  • a sequence-to-sequence conversion technique is a technique for converting a string / sequence-type input to another string / sequence.
  • Machine translation, automatic summarization, and various language processing are examples of machine translation, automatic summarization, and various language processing.
  • a computer program can be recognized as all tasks that receive a sequence of input bits and output a sequence of output bits. That is, every single program may be referred to as a sequence-versus-sequence model that represents a particular action.
  • a recurrent neural network (RNN) type and a time delay neural network (TDNN) are used.
  • a sequence-to-sequence translation method using a variable CNN comprising: receiving an input sequence expressed in a first language through an input layer; Learning the input sequence through a hidden layer, extracting features from the input sequence, and outputting final intermediate sequences of a predetermined size; And outputting an output sequence expressed in a second language different from the first language by synthesizing the final intermediate sequences through an output layer;
  • the outputting of the final intermediate sequences comprises: dividing the input sequence into first input units that are basic units on which a translation is performed; Learning all of the first input units by independently learning at least one first input unit corresponding to each learning unit through a plurality of learning units for each learning unit; Sharing learned knowledge independently for each learning unit among the learning units; And extracting features from the shared knowledge and outputting first intermediate sequences; . ≪ / RTI >
  • the outputting of the intermediate sequences may include grouping the first intermediate sequences into second input units that are basic units of learning; Learning all of the second input units by independently learning at least one second input unit corresponding to each learning unit through the plurality of learning units independently for each learning unit; Sharing learned knowledge independently for each learning unit among the learning units; Extracting features from the shared knowledge and outputting second intermediate sequences; Determining whether the size of the second intermediate sequence is the predetermined size; Outputting the second intermediate sequence as the final intermediate sequence if the size of the second intermediate sequence is the predetermined size; And if the size of the second intermediate sequence is different from the predetermined size, dividing the second intermediate sequence into the second input units by considering the second intermediate sequence as the first intermediate sequence; . ≪ / RTI >
  • the feature may be extracted through a convolution operation or a subsampling operation.
  • the method further includes the steps of: when the output sequence is output, feeding the sequence output from the output sequence to the input sequence as a new input sequence; As shown in FIG.
  • step of feeding back the output sequence as the new input sequence to the input layer may be repeated until the translation of the input sequence is completed.
  • a translation apparatus for performing a sequence-to-sequence translation using a variable CNN (Convolutional Neural Network), comprising: an input sequence input through an input layer in a first language; The intermediate sequence is synthesized by outputting a final intermediate sequence of a predetermined size by extracting a feature from the input sequence by learning the input sequence and expressing the final intermediate sequence in a second language different from the first language
  • a processor for outputting the output sequence; Wherein, when outputting the final intermediate sequences, the processor divides the input sequence into first input units, which are basic units in which the transformation is performed, and outputs at least one Wherein the first input unit of each learning unit is independently learned for each of the learning units to learn all of the first input units, and independently learned knowledge for each learning unit is shared among the learning units, The feature can be extracted and the first intermediate sequences can be output.
  • the processor may classify the first intermediate sequences into second input units, which are basic units of feature extraction, Learning all of the second input units by independently learning at least one second input unit corresponding to each of the learning units and sharing knowledge learned independently for each learning unit among the learning units, Extracting features from the shared knowledge to output second intermediate sequences, verifying that the size of the second intermediate sequences is the predetermined size, and if the size of the second intermediate sequences is the predetermined size, And outputs the intermediate sequence as the final intermediate sequence, and the size of the second intermediate sequence is smaller than the predetermined size
  • the second intermediate sequence may be regarded as the first intermediate sequence and divided into the second input units.
  • the feature may be extracted through a convolution operation or a subsampling operation.
  • the processor may feed back the sequence output from the output sequence to the input sequence as a new input sequence.
  • the processor may also repeat the feedback until the translation of the input sequence is complete.
  • the embodiment of the present invention it is possible to apply the high feature extraction capability and classification performance of the CNN to the sequence-to-sequence translation, and the translation quality can be greatly improved.
  • FIG. 1 discloses a general CNN (Convolutional Neural Network) structure that can be applied to the present invention.
  • FIG. 2 illustrates a CNN structure used in language processing that can be applied to the present invention.
  • Figure 3 illustrates a typical TDNN.
  • FIG. 4 illustrates single time-delay neurons (TDN) with N inputs and N inputs for each input at time t.
  • Figure 5 illustrates the overall architecture of a TDNN neural network.
  • FIG. 6 is a diagram illustrating an architecture of a neural machine translation system using RNN.
  • FIG. 7 is a conceptual diagram illustrating a sequence-to-sequence conversion method using variable CNN according to an embodiment of the present invention.
  • FIG. 8 is a diagram showing a specific layer of a CNN in which the length of an input sequence is limited to a specific length.
  • FIG. 9 is a diagram illustrating a specific layer of a variable CNN according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating each layer of a variable CNN when an input sequence of a limited size / length is input.
  • FIG. 11 is a diagram illustrating layers of variable CNNs when input sequences larger than a predefined size / length according to an embodiment of the present invention are input.
  • FIG. 12 is a diagram illustrating a sequence-versus-sequence transformation using variable CNN according to an embodiment of the present invention.
  • FIG. 13 is a flowchart illustrating a sequence-to-sequence translation method applied with variable CNN of a translation apparatus according to an exemplary embodiment of the present invention.
  • FIG. 14 is a block diagram illustrating a configuration of a machine translation apparatus for performing machine translation according to an embodiment of the present invention. Referring to FIG. 14
  • FIG. 1 discloses a general CNN (Convolutional Neural Network) structure that can be applied to the present invention.
  • CNN is a kind of deep class and feed-forward artificial neural network that can be successfully applied to analyze images in machine learning.
  • CNN uses a variation of multi-layer perceptron that requires minimal processing. They are also known as shift invariant or space invariant artificial neural networks (SIANN) based on shared-weights architecture and translation invariance.
  • SIANN shift invariant or space invariant artificial neural networks
  • CNN was inspired by the biological processes in which the neuronal connections pattern is influenced by the composition of the animal's visual cortex. Individual cortical neurons respond to stimuli only in a limited area of view known as the receptive field. The coverage areas of different neurons are partially overlapped to cover the entire field of view.
  • CNN uses relatively little pre-processing compared to other image classification algorithms. This means that the network learns hand-designed filters from existing algorithms. Prior knowledge and independence from human endeavor can be a great advantage in future design.
  • the CNN may consist of an input layer, an output layer, and / or several hidden hidden layers.
  • the hidden layer of CNN may generally consist of a convolution layer, a pooling layer, a fully-connected layer, and / or a normalization layer.
  • the convolution layer applies the convolution operation to the input and passes the result to the next layer. Convolution mimics the response of individual neurons to visual stimuli.
  • Each convolutional neuron processes only data for its designated coverage area.
  • Tiling allows CNN to perform translation / translation (e.g., translation, rotation, perspective distortion, etc.) of the input image.
  • translation / translation e.g., translation, rotation, perspective distortion, etc.
  • the tiling means an operation of filling in a certain area on the screen in a computer graphic so that the graphics and the patterns do not overlap with each other.
  • a fully connected feed-forward neuron network can be used to not only categorize data but to learn its functionality, but applying this architecture to an image is not practical. Because of the very large input size associated with images where each pixel is an associated data point, a very large number of neurons is required (as opposed to a shallow depth architecture).
  • the convolution operation can solve this problem by reducing the number of free parameters, thereby reducing the total number of parameters, thereby deepening the network.
  • backpropagation can be used to solve the problem of gradient disappearing or exploding when training a conventional multilayer neuron network with multiple layers.
  • the convolution network may include a local or global pooling layer that combines the output of a neuron cluster into a single neuron of the next layer in one layer.
  • maximum pooling can use the maximum value received from each neuron cluster in the previous layer.
  • a fully connected layer can connect all neurons in one layer to all neurons in another layer. In principle, this is the same as the existing multi-layer perceptron neural network.
  • CNN shares weights in the convolution layer, which means that the same filter (which requires a weight bank) is used in each accept field in each layer. In this case, memory usage is reduced and performance is improved.
  • FIG. 2 illustrates a CNN structure used in language processing that can be applied to the present invention.
  • Deep learning models such as CNN have produced remarkable results in computer vision and speech recognition in recent years.
  • Many tasks that use deep learning in natural language processing involve learning word vector representations through neuron language models and performing composition on learned word vectors for classification.
  • a word vector projected from a sparse 1-of-V encoding (where V is the lexical size) to the subdimensional vector space through the hidden hierarchy corresponds basically to a function extractor that encodes the semantic function of the word in the dimension do.
  • semantically close words are similarly in a vector space with a dimension close to Euclidean distance or cosine distance.
  • CNN uses layers with convolving filters applied to local features.
  • the CNN model originally developed for computer vision, was effective in NLP (natural language processing) and achieved excellent results in semantic parsing, search query retrieval, sentence modeling and other existing NLP work.
  • a k-dimensional word vector corresponding to the i-th word in an input sentence ("wait for the video and do not rent it & Quot;
  • the length n of the sentence (which may be padded if necessary) can be expressed as: " (1) "
  • Equation (1) May correspond to a concatenation operator.
  • the convolution operation is a filter applied to the window of h words to create a new feature ).
  • Equation 2 Is a bias term, May be a non-linear function, such as a hyperbolic tangent.
  • a maximum-time-over-pooling operation can be performed on the feature map, and the maximum value ( ) Can be applied. This is to capture the most important features (the most valuable features) for each feature map.
  • the CNN structure shown in FIG. 2 may have two " channels " for word vectors. One channel is kept static in the learning process and the other is fine-tuned through inverse transfer.
  • each filter is applied to both channels, and the result can be added to equation (2) to calculate ci. When two channels are not applied, this structure is the same as a single channel structure.
  • the CNN includes an input layer that divides input into several arbitrarily small units, a convolution layer that extracts features from each small unit that is separated, and a sub- And an output layer for collectively outputting the finally derived / extracted features through all of the layers and / or the hidden layers.
  • the convolutional layer performs a convolution operation on the object sequence / feature-map
  • the subsampling layer can perform a sub-sampling operation on the object sequence / feature-map to extract features.
  • the input layer, the hidden layer, and / or the output layer may be classified into a 'unit' or a 'function' as a logical concept classified to perform a specific function, and may be technically implemented by a hardware component. Details of each layer / unit / function will be described later in detail with reference to the block diagram of FIG. 14 below.
  • CNN shows excellent performance in various tasks for extracting and classifying features.
  • CNN is mainly used for image recognition (classification) and document classification.
  • CNN is not suitable for application to a sequence-to-sequence transformation with variable length input and variable length output. Therefore, conventionally, a RNN (Recurrent Neural Network) model or a TDNN (Time Delay Neural Network) is used in a sequence-to-sequence variation.
  • RNN Recurrent Neural Network
  • TDNN Time Delay Neural Network
  • SCNN scalable CNN
  • Figure 3 illustrates a typical TDNN.
  • TDNN is an artificial neural network structure whose main purpose is to shift-invariantly classify patterns that do not need to explicitly determine the start and end points of a pattern.
  • TDNN has been proposed to classify phoneme within speech signals for automatic speech recognition, and it is difficult or impossible to automatically determine the exact segment or feature boundary.
  • the TDNN recognizes the phoneme and its underlying acoustical / sound characteristics irrespective of the time-shift, i.e. the location of the time.
  • the input signal increases the delayed copy to another input, and the neural network is time-shift invariant because there is no internal state.
  • the TDNN acts as multiple interconnected layers of clusters, like any other neural network. These clusters are intended to represent neurons in the brain, and like the brain, each cluster needs to focus only on a small area of the input.
  • a typical TDNN has three clusters of clusters: a layer for input, a layer for output, and an intermediate layer for handling the input through the filter. Due to the sequential nature, the TDNN is implemented as a feedforward neural network instead of a recurrent neural network.
  • a set of delays is added to the input (e.g., audio file, image, etc.) so that the data is represented at another point in time.
  • This delay is arbitrary and applies only to a specific application, which generally means that the input data is customized for a particular delay pattern.
  • ATDNNs Adaptive Time-Delay Neural Networks
  • RNN Recurrent Neural Network
  • MLP Multi-Layer Perceptron
  • a key function of TDNN is to express the relationship between inputs over time. This relationship can be the result of a property detector and is used within TDNN to recognize patterns between delayed inputs.
  • supervised learning generally corresponds to learning algorithms associated with TDNN.
  • Supervised learning is generally implemented with a back propagation algorithm.
  • a hidden layer derives a result from only a specific point T to T + 2 ⁇ T among all inputs of an input layer, and outputs the result to an output layer Repeat. That is, the unit (box) of the hidden layer is multiplied by the weight of each unit (box) from a specific point T to T + 2 ⁇ T among all inputs of the input layer, and a bias value The added values are summed and derived.
  • a block at each time point i.e., T, T + T, T + 2T, ...) in FIG. 1 is referred to as a symbol for convenience of explanation, feature vector). Also, it can be semantically equivalent to phoneme, morpheme, syllable, and so on.
  • the input layer has three delays and the output layer is calculated by integrating four frames of phoneme activation in the hidden layer.
  • FIG. 3 is only one example, and the number of delays and the number of hidden layers is not limited thereto.
  • FIG. 4 illustrates single time-delay neurons (TDN) with N inputs and N inputs for each input at time t.
  • the TDNN is an artificial neural network model in which all units (nodes) are fully-connected by a direct connection. Each unit has a time-varying, real-valued activation, and each connection has a real-valued weight.
  • the nodes in the hidden and output layers correspond to time-delay neurons (TDN).
  • a single TDN has M inputs ( , , ..., ) And one output ( ), And these inputs are time series according to time step t.
  • F is a transform function f (x) (which illustrates a non-linear sigmoid function in FIG. 4).
  • Equation (4) Equation (4) below.
  • Figure 5 illustrates the overall architecture of a TDNN neural network.
  • FIG. 5 illustrates a fully-connected neural network model with a TDN, where the hidden layer has J TDNs and the output layer has R TDNs.
  • the output layer can be expressed by Equation (2) below, and the hidden layer can be expressed by Equation (5) below.
  • the TDNN is a fully-connected forward-feedback neural network model with in-node delays in the hidden layer and the output layer.
  • the number of delays for the nodes in the output layer is And the number of delays for the nodes in the hidden layer is to be. If the delay parameter N differs for each node, it may be referred to as a distributed TDNN.
  • the training set sequence of the real-valued input vector (e.g., representing the sequence of video frame features) is the activation of the input node with one input vector at a time Sequence.
  • each non-input unit calculates the current activation as a non-linear function of the weighted sum of the activations of all connected units.
  • the target label at each time step is used to compute the error.
  • the error in each sequence is the sum of the deviations of activation computed by the network at the output node of the target label.
  • the total error is the sum of the errors calculated for each individual input sequence. The training algorithm is designed to minimize this error.
  • the TDNN is a model suitable for obtaining good results that are not localized by repeating the process of deriving a meaningful value in a limited area and repeating the same process again.
  • FIG. 6 is a diagram illustrating an architecture of a neural machine translation system using RNN.
  • the left side is an encoder network
  • the right side is a decoder network
  • the middle is an attention module.
  • the encoder converts the source statement into a vector list, one vector per input symbol. Given this vector list, the decoder generates one symbol at a time until a special end-of-sentence symbol (EOS) is generated.
  • EOS end-of-sentence symbol
  • the encoder and decoder are connected through an attention module that allows the decoder to focus on other areas of the source sentence during the decoding process.
  • the layer indicated by the dotted line is bi-directional.
  • the lower layer within the dotted line collects information from the left to the right, and the upper layer within the dotted line collects information from the right to the left.
  • the other layer of the encoder is uni-directional. Both the encoder and the decoder start a residual connection from the third layer from the bottom.
  • the model of FIG. 6 illustrates a model divided into several GPUs, with eight encoder LSTM layers (one bidirectional layer and seven unidirectional layers) and eight decoder layers.
  • one model replica can be partitioned in eight ways and placed on eight different GPUs, typically belonging to one host device.
  • the lower bidirectional encoder layer can be computed first in parallel. Once all is done, the unidirectional encoder layer can start computing on separate GPUs. To maintain as much parallelism as possible during execution of the decoder layer, the lower decoder layer output can be used only to obtain a recurrent attention context that is sent directly to the rest of the decoder layer.
  • the softmax hierarchy can be partitioned and placed on multiple GPUs. Depending on the output vocabulary size, it can be run on the same GPU as the encoder and decoder networks, or on a separate set of dedicated GPUs.
  • lower case boldface refers to a vector
  • boldface upper case refers to a matrix
  • handwritten upper case refers to a set
  • general upper case refers to a string (sequence)
  • general lower case refers to within a string Means a symbol belonging to.
  • the encoder is simply a function as shown in Equation (7) below.
  • Equation (7) Is a fixed-size vector list. The number of members in the list depends on the number of symbols in the source ). Using a chain rule, the conditional probability of a sequence Can be decomposed as shown in Equation (8) below.
  • Equation (8) Quot; start of sentence "symbol attached to each target sentence.
  • the decoder may be implemented as a combination of a Recurrent Neural Network (RNN) and a softmax layer.
  • RNN Recurrent Neural Network
  • the decoder RNN network is in a hidden state for the next symbol to be predicted, And generate a probability distribution for the candidate output symbol through the softmax layer.
  • FIG. 7 is a conceptual diagram illustrating a sequence-to-sequence conversion method using variable CNN according to an embodiment of the present invention.
  • triangle shown in FIG. 7 illustrates various translation models for deriving / calculating the output / target sequence from the input sequence (or sentence).
  • triangles may be multi-layered perceptrons, CNNs, and the like.
  • variable CNN is adopted as a translation model
  • variable CNN may be applied / used as a translation model in a sequence-versus-sequence variant.
  • the variable CNN may mean a variable / flexible CNN in which the length of the input sequence to which the input layer is input is not limited to a specific length.
  • the variable CNN can receive / process the sentences of various lengths as input, and there is no particular limitation on the length of the sentence received. Specific embodiments of such variable CNN will be described in detail below with reference to Figs. 8 to 11. Fig.
  • FIG. 8 is a diagram showing a specific layer of a CNN in which the length of an input sequence is limited to a specific length.
  • each cell / cell may be mapped 1: 1 to different learning units.
  • Each learning unit of the plurality of sub-layers included in the hidden layer of the CNN may include a sequence (e.g., an input sequence or an intermediate sequence) output from a previous layer (e.g., input layer or previous hidden layer) (Or set in advance) among the specific regions (which may correspond to the region of interest).
  • Such a specific area may correspond to an 'input unit' in which an input sequence input to the input layer is classified as a basic unit for performing translation.
  • Each learning unit in CNN performs learning independently of neighboring learning units. Thus, the learned knowledge may be different for each learning unit.
  • different identification numbers (A1 to A9, B1 to B9, and C1 to C9) are assigned to each cell / cell in order to express that knowledge learned by each learning unit is different from each other.
  • the right side of the arrow indicates the CNN processes the input sequence when the length of the input sequence is greater than a predetermined limit length / size.
  • the fact that the length / size of the input sequence is limited to be larger than the predetermined limit length / size means that there is no learning unit to process the enlarged area. Since each learning unit is learned by targeting only a specific region of the previous hierarchy, the additional input portion is not learned by the CNN unless a learning unit for the further input region exists.
  • FIG. 9 is a diagram illustrating a specific layer of a variable CNN according to an embodiment of the present invention.
  • the learning unit of the variable CNN of FIG. 9 is the same as the learning unit of the CNN of FIG. 8, in which a specific region of the sequence output from the previous layer is targeted and input and processed (that is, feature extraction and learning).
  • learning units may share knowledge (also called parameters or weights) unlike CNN of FIG. This may be viewed as learning all the regions of the sequence output from the previous layer by one and the same learning unit.
  • the same identification numbers (A1 to A9, B1 to B9, and C1 to C9) are assigned to the same knowledge in order to express that the learned knowledge is the same.
  • a right arrow indicates a variable CNN processes the input sequence when the length of the input sequence is larger than a predetermined limit length / size.
  • the variable CNN can not only utilize the already learned knowledge as it is by adding the cell / field (by storing the learned knowledge) by further calculating / processing the additional input area through the same learning unit , It is possible to process the added new area, so that it is possible to flexibly deal with the variable input sequence.
  • a sequence output as a feature extraction result in the sub hidden layer in the hidden layer will be referred to as an 'intermediate sequence', and a sequence that is finally input to the output layer through all sub- Quot;
  • FIG. 10 is a diagram illustrating each layer of a conventional CNN when an input sequence of a limited size / length is input.
  • the size / length of the input sequence may be fixed / limited to size 6, and the length of the final intermediate sequence to be input to the output layer may be fixed / limited to size 2.
  • the length / size of the input and output are different from each other, and more specifically, the length / size of the output is smaller than the input.
  • the hidden layer of CNN can perform a total of four learning / feature-mapping operations to adjust the size of the final intermediate sequence input to the output layer to size 2.
  • FIG. 11 is a diagram illustrating layers of variable CNNs when input sequences larger than a predefined size / length according to an embodiment of the present invention are input.
  • a predetermined size / length of the input sequence is size 6, and an input sequence of size 7 having a larger size / length is input to the input layer of the variable CNN. It is assumed that the size / length of the final intermediate sequence to be input to the output layer in FIG. 11 is size 2.
  • Variable CNNs also differ in input / output length / size at a particular layer, and more specifically, have a smaller length / size of output than input.
  • the variable CNN can additionally reduce size 1 by repeatedly performing a specific learning / feature-mapping step (C) in the hidden layer to accommodate a larger input sequence.
  • the variable CNN can adjust the size / length of the final intermediate sequence input to the output layer to size 2. That is, the variable CNN can flexibly adjust the size / length of the final intermediate sequence input to the output layer by repeating / adding the learning / feature-mapping step of the specific layer in the hidden layer.
  • variable CNN This operation is possible in the variable CNN because each layer of the variable CNN has the ability to flexibly learn / process for the increased input length / size, as described above in FIGS. 8 and 9 above.
  • variable size characteristics of this variable CNN can be used in all layers, but only in some sublayers.
  • FIG. 12 is a diagram illustrating a sequence-versus-sequence transformation using variable CNN according to an embodiment of the present invention.
  • ⁇ S > is a symbol for instructing the start of a translation target sentence (i.e., an input sequence) and ⁇ / S >
  • Fig. 12 (a) shows a case where the original input is "rosewood blossomed.” And the output of the original input is completed to "The rose of " Shows a case where a new output called “Sharon " is obtained as a result of performing the applied sequence-to-sequence transformation.
  • Fig. 12 (b) shows an example in which the original input is "rosebush flower bloomed ", and the original input and the output completed until now are input, Shows a case where a new output of "of” is obtained as a result of performing a sequence-to-sequence transformation using CNN.
  • This variable CNN can be applied to both the M-to-N dimension as well as the sequence-to-sequence where the input and output are one-dimensional.
  • FIG. 13 is a flowchart illustrating a sequence-to-sequence translation method applied with variable CNN of a translation apparatus according to an exemplary embodiment of the present invention.
  • the embodiments described above in connection with the flowchart can be applied to the same or similar elements, and duplicate descriptions are omitted.
  • the translation apparatus can receive an input sequence expressed in a first language through an input layer (S1301).
  • the translation device may learn the input sequence through the hidden layer and derive features from the input sequence to output final intermediate sequences of a predetermined size (S1302).
  • the translation apparatus divides the input sequence into first input units, which are basic units in which the translation is performed, and transmits at least one first input unit corresponding to each learning unit to each learning unit So that all of the first input units can be learned. Further, the translation apparatus can share learned knowledge independently for each learning unit among the learning units. In addition, the translation device may extract features from the shared knowledge among the learning units and output the first intermediate sequences.
  • the translation apparatus can classify the first intermediate sequences into second input units, which are basic units of feature extraction, and learn second input units independently for each second input unit through a plurality of learning units . Also, the translation apparatus can share the learned knowledge independently for each second input unit among the learning units, and extract the features from the shared knowledge to output the second intermediate sequences. In addition, the translation device can verify that the size of the second intermediate sequence is a predetermined size, which is a limited length of the sequence that can be entered for the final intermediate sequence. If the size of the second intermediate sequence is the predetermined size, the translation device may output the second intermediate sequence as the final intermediate sequence to the output layer.
  • second input units which are basic units of feature extraction
  • the translation apparatus can share the learned knowledge independently for each second input unit among the learning units, and extract the features from the shared knowledge to output the second intermediate sequences.
  • the translation device can verify that the size of the second intermediate sequence is a predetermined size, which is a limited length of the sequence that can be entered for the final intermediate sequence. If the size of the second intermediate
  • the translation apparatus If the size of the second intermediate sequence differs from the predetermined size, the translation apparatus returns to the step of dividing the second intermediate sequence into the second input units by considering the second intermediate sequence as the first intermediate sequence, Step can be performed.
  • the size of the generated first and second intermediate sequences may be smaller than the size of the input sequence.
  • the translation device may output the output sequence represented by the second language different from the first language by synthesizing the final intermediate sequences through the output layer (S1303).
  • the translation device may attach the output sequence to the input sequence, generate a new input sequence, and feed back the input sequence to the input layer to perform steps S1301 to S1303. This feedback can be repeated until the translation of the first input sequence is completed.
  • FIG. 14 is a block diagram illustrating a configuration of a machine translation apparatus for performing machine translation according to an embodiment of the present invention. Referring to FIG. 14
  • a translation device 1400 includes a communication module 1410, a memory 1420, and a processor 1430.
  • the communication module 1410 is connected to the processor 1430 to transmit and / or receive a wired / wireless signal with an external device.
  • the communication module 1410 may include a modem that modulates a signal transmitted to transmit and receive data and demodulates the received signal.
  • the communication module 1410 can transmit a sentence or the like described in the first language received from the external device to the processor 1430, and can transmit a sentence written in the second language received from the processor 1430 to the external device have.
  • an input unit and an output unit may be included.
  • the input unit may receive a sentence written in the first language and deliver it to the processor 1430, and the output unit may output a sentence written in the second language received from the processor 1430.
  • the memory 1420 is connected to the processor 1430 and stores information, programs, and data necessary for the operation of the translating apparatus 1400.
  • Processor 1430 implements the previously proposed functions, procedures, and / or methods. Processor 1430 may also perform the data processing functions described above to control the signal flow between the internal blocks of translation device 1400 and process the data. Accordingly, the processor 1430 may be described as being equivalent to the translation device 1400. In particular, the processor 1430 may logically implement / perform a structure in which a logically separated input layer, a hidden layer (including at least one sub-hidden layer), and an output layer are stacked to implement the variable CNN described above And functions performed by the respective layers may be integrally implemented / performed by the processor 1430. [
  • Embodiments in accordance with the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
  • an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs) field programmable gate arrays, processors, controllers, microcontrollers, microprocessors, and the like.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • an embodiment of the present invention may be implemented in the form of a module, a procedure, a function, or the like which performs the functions or operations described above.
  • the software code can be stored in memory and driven by the processor.
  • the memory is located inside or outside the processor and can exchange data with the processor by various means already known.
  • the present invention can be applied to various types of deep-running and machine translation techniques.

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)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Machine Translation (AREA)

Abstract

본 발명의 일 양상은, 가변 CNN(Convolutional neural network)이 적용된 시퀀스-대-시퀀스 번역 방법에 있어서, 입력 계층을 통해 제1 언어로 표현된 입력 시퀀스를 입력받는 단계; 히든 계층을 통해 상기 입력 시퀀스를 학습하고 상기 입력 시퀀스로부터 특징(feature)을 추출하여 기설정된 크기의 최종 중간 시퀀스들을 출력하는 단계; 및 출력 계층을 통해 상기 최종 중간 시퀀스들을 종합하여 상기 제1 언어와 다른 제2 언어로 표현된 출력 시퀀스를 출력하는 단계;를 포함할 수 있다.

Description

시퀀스-대-시퀀스 번역 방법 및 이를 위한 장치
본 발명은 시퀀스-대-시퀀스(sequence-to-sequence) 변환/번역 방법에 관한 것으로서, 보다 상세하게 시퀀스-대-시퀀스 변환을 위한 모델링 방법을 수행하기 위한 방법 및 이를 지원하는 장치에 관한 것이다.
시퀀스-대-시퀀스(sequence-to-sequence) 변환 기법은 스트링(string)/시퀀스(sequence) 형태의 입력을 또 다른 스트링/시퀀스로 변환하는 기법이다. 기계번역, 자동요약 및 각종 언어처리 등에서 이용될 수 있으나, 실제로 컴퓨터 프로그램을 입력 비트의 시퀀스를 입력 받아 출력 비트의 시퀀스를 출력하는 모든 작업으로 인식될 수 있다. 즉, 모든 단일 프로그램은 특정 동작을 표현하는 시퀀스-대-시퀀스 모델이라고 지칭될 수 있다.
최근에는 딥러닝(deep learning) 기법이 도입되어 시퀀스-대-시퀀스(sequence-to-sequence) 변환 모델링의 높은 품질을 보이고 있다. 대표적으로, 반복적인 신경망(RNN: Recurrent Neural Network) 타입과, 시간 지연 신경망(TDNN: Time Delay Neural Network)이 이용된다.
본 발명의 목적은, 기본 형태의 CNN을 이용하여 시퀀스-대-시퀀스 변환을 수행하는 경우에 있어서의 번역 정확도를 높이기 위한 새로운/효율적인 모델을 제안하기 위함이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상은, 가변 CNN(Convolutional neural network)이 적용된 시퀀스-대-시퀀스 번역 방법에 있어서, 입력 계층을 통해 제1 언어로 표현된 입력 시퀀스를 입력받는 단계; 히든 계층을 통해 상기 입력 시퀀스를 학습하고 상기 입력 시퀀스로부터 특징(feature)을 추출하여 기설정된 크기의 최종 중간 시퀀스들을 출력하는 단계; 및 출력 계층을 통해 상기 최종 중간 시퀀스들을 종합하여 상기 제1 언어와 다른 제2 언어로 표현된 출력 시퀀스를 출력하는 단계; 를 포함하되, 상기 최종 중간 시퀀스들을 출력하는 단계는, 상기 입력 시퀀스를 변역이 수행되는 기본 단위인 제1 입력 단위들로 구분하는 단계; 복수의 학습 유닛들을 통해 각 학습 유닛과 대응하는 적어도 하나의 제1 입력 단위를 상기 각 학습 유닛별로 독립적으로 학습하여 상기 제1 입력 단위들 모두를 학습하는 단계; 상기 각 학습 유닛별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하는 단계; 및 상기 공유된 지식으로부터 특징을 추출하여 제1 중간 시퀀스들을 출력하는 단계; 를 포함할 수 있다.
또한, 상기 최종 중간 시퀀스들을 출력하는 단계는, 상기 제1 중간 시퀀스들을 종합하여 학습의 기본 단위인 제2 입력 단위들로 구분하는 단계; 상기 복수의 학습 유닛들을 통해 상기 각 학습 유닛과 대응하는 적어도 하나의 제2 입력 단위를 상기 각 학습 유닛별로 독립적으로 학습하여 상기 제2 입력 단위들 모두를 학습하는 단계; 상기 각 학습 유닛별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하는 단계; 상기 공유된 지식으로부터 특징을 추출하여 제2 중간 시퀀스들을 출력하는 단계; 상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인지 확인하는 단계; 상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인 경우, 상기 제2 중간 시퀀스를 상기 최종 중간 시퀀스로서 출력하는 단계; 및 상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기와 다른 경우, 상기 제2 중간 시퀀스를 상기 제1 중간 시퀀스로 간주하여 상기 제2 입력 단위들로 구분하는 단계로 회귀하는 단계; 를 포함할 수 있다.
또한, 상기 특징은 컨볼루션 연산 또는 서브샘플링 연산을 통해 추출될 수 있다.
또한, 상기 시퀀스-대-시퀀스 번역 방법은 상기 출력 시퀀스가 출력된 경우, 상기 출력된 상기 출력 시퀀스가 상기 입력 시퀀스에 부가된 시퀀스를 새로운 입력 시퀀스로서 상기 입력 계층으로 피드백하는 단계; 를 더 포함할 수 있다.
또한, 상기 출력 시퀀스가 상기 새로운 입력 시퀀스로서 상기 입력 계층으로 피드백되는 단계는 상기 입력 시퀀스의 번역이 완료될 때까지 반복 수행될 수 있다.
또한, 본 발명의 다른 양상은, 가변 CNN(Convolutional neural network)이 적용된 시퀀스-대-시퀀스 번역하는 번역 장치에 있어서, 입력 계층을 통해 제1 언어로 표현된 입력 시퀀스를 입력받고, 히든 계층을 통해 상기 입력 시퀀스를 학습하고 상기 입력 시퀀스로부터 특징(feature)을 추출하여 기설정된 크기의 최종 중간 시퀀스들을 출력하고, 출력 계층을 통해 상기 최종 중간 시퀀스들을 종합하여 상기 제1 언어와 다른 제2 언어로 표현된 출력 시퀀스를 출력하는 프로세서; 를 포함하되, 상기 최종 중간 시퀀스들을 출력하는 경우 상기 프로세서는, 상기 입력 시퀀스를 변역이 수행되는 기본 단위인 제1 입력 단위들로 구분하고, 복수의 학습 유닛들을 통해 각 학습 유닛과 대응하는 적어도 하나의 제1 입력 단위를 상기 각 학습 유닛별로 독립적으로 학습하여 상기 제1 입력 단위들 모두를 학습하고, 상기 각 학습 유닛별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하고, 상기 공유된 지식으로부터 특징을 추출하여 제1 중간 시퀀스들을 출력할 수 있다.
또한, 상기 최종 중간 시퀀스들을 출력하는 경우, 상기 프로세서는, 상기 제1 중간 시퀀스들을 종합하여 특징 추출의 기본 단위인 제2 입력 단위들로 구분하고, 상기 복수의 학습 유닛들을 통해 상기 각 학습 유닛과 대응하는 적어도 하나의 제2 입력 단위를 상기 각 학습 유닛별로 독립적으로 학습하여 상기 제2 입력 단위들 모두를 학습하고, 상기 각 학습 유닛별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하고, 상기 공유된 지식으로부터 특징을 추출하여 제2 중간 시퀀스들을 출력하고, 상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인지 확인하고, 상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인 경우, 상기 제2 중간 시퀀스를 상기 최종 중간 시퀀스로서 출력하고, 상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기와 다른 경우, 상기 제2 중간 시퀀스를 상기 제1 중간 시퀀스로 간주하여 상기 제2 입력 단위들로 구분하는 단계로 회귀할 수 있다.
또한, 상기 특징은 컨볼루션 연산 또는 서브샘플링 연산을 통해 추출될 수 있다.
또한, 상기 출력 시퀀스가 출력된 경우, 상기 프로세서는 상기 출력된 상기 출력 시퀀스가 상기 입력 시퀀스에 부가된 시퀀스를 새로운 입력 시퀀스로서 상기 입력 계층으로 피드백할 수 있다.
또한, 상기 프로세서는, 상기 피드백을 상기 입력 시퀀스의 번역이 완료될 때까지 반복 수행할 수 있다.
본 발명의 실시예에 따르면, CNN의 높은 특징 추출 능력과 분류 성능을 시퀀스-대-시퀀스 번역에 적용할 수 있게 되어 번역 품질을 크게 향상시킬 수 있다는 효과가 발생한다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명에 적용될 수 있는 일반적인 CNN(Convolutional neural network) 구조를 개시한다.
도 2는 본 발명에 적용될 수 있는 언어 처리에 사용되는 CNN 구조를 예시한다.
도 3은 일반적인 TDNN을 예시한다.
도 4는 M개의 입력과 시점 t에서 각 입력 별로 N개의 지연을 가지는 단일 시간-지연 뉴런(TDN: time-delay neurons)을 예시한다.
도 5는 TDNN 뉴럴 네트워크의 전체적인 아키텍처를 예시한다.
도 6은 RNN을 이용한 뉴럴 기계 번역 시스템의 아키텍처를 예시하는 도면이다.
도 7은 본 발명의 일 실시예에 따른 가변 CNN을 이용한 시퀀스-대-시퀀스 변환 방법을 개념적으로 도시한 도면이다.
도 8은 입력 시퀀스의 길이가 특정 길이로 제한된 CNN의 특정 계층을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 가변 CNN의 특정 계층을 도시한 도면이다.
도 10은 제한된 크기/길이의 입력 시퀀스가 입력된 경우의 가변 CNN의 각 계층을 도식화한 도면이다.
도 11은 본 발명의 일 실시예에 따른 미리 정의된 크기/길이보다 큰 입력 시퀀스가 입력된 경우의 가변 CNN의 각 계층을 도식화한 도면이다.
도 12는 본 발명의 일 실시예에 따른 가변 CNN이 적용된 시퀀스-대-시퀀스 변형을 예시한 도면이다.
도 13은 본 발명의 일 실시예에 따른 번역 장치의 가변 CNN이 적용된 시퀀스-대-시퀀스 번역 방법을 예시한 순서도이다.
도 14는 본 발명의 일 실시예에 따른 기계 번역을 수행하기 위한 기계 번역 장치의 구성을 설명하기 위한 블록도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
도 1은 본 발명에 적용될 수 있는 일반적인 CNN(Convolutional neural network) 구조를 개시한다.
CNN은 기계 학습에 있어서, 화상을 분석하는 데 성공적으로 적용 가능한 딥 클래스 및 피드-포워드(feed-forward) 인공 신경망의 한 종류이다. CNN은 최소한의 프로세싱이 요구되는 다중층 퍼셉트론(multi-layer perceptron)의 변형(variation)을 사용한다. 이들은 공유 가중치 구조(shared-weights architecture)와 변환 불변성(translation invariance)을 기반으로 하는 시프트 불변 또는 공간 불변 인공 신경망(space invariant artificial neural networks; SIANN)으로도 알려져 있다.
CNN은 뉴런 간의 연결 패턴이 동물 시각 피질의 구성에 영향을 받는 생물학적 과정에서 영감을 받았다. 개별 피질 뉴런은 수용 영역으로 알려진 시야의 제한된 영역에서만 자극에 반응한다. 서로 다른 뉴런의 수용 영역은 부분적으로 오버랩되어 전체 시야를 커버하게 된다.
CNN은 다른 이미지 분류 알고리즘에 비해 상대적으로 적은 사전-프로세싱을 사용한다. 이것은 네트워크가 기존의 알고리즘에서 수작업으로 설계된 필터를 학습한다는 것을 의미한다. 사전 지식 및 인간 노력으로부터의 독립성은 미래 디자인에 있어서 큰 이점으로 작용할 수 있다.
CNN은 입력 계층, 출력 계층 및/또는 여러 숨겨진 히든(hidden) 계층으로 구성될 수 있다. CNN의 히든 계층은 일반적으로 컨볼루션 계층, 풀링(pooling) 계층, 완전히-연결된(fully-connected) 계층 및/또는 정규화 계층으로 구성될 수 있다.
컨볼루션 계층은 입력에 컨볼루션 연산을 적용하여 결과를 다음 계층으로 전달한다. 컨볼루션은 시각적 자극에 대한 개별 뉴런의 반응을 모방한다.
각 컨볼루션 뉴런은 자신의 지정된 수용 영역에 대한 데이터만 처리한다. 타일링(tiling)은 CNN이 입력 이미지의 변환/번역(예를 들어, 번역, 회전, 원근 왜곡 등)을 수행할 수 있도록 한다. 여기서, 타일링은 컴퓨터 그래픽에서 화면 상의 특정 영역에 도형이나 패턴이 서로 겹치지 않도록 채워넣는 동작을 의미한다.
완전히 연결된 피드-포워드 뉴런 네트워크가 데이터를 분류할뿐만 아니라 기능을 배우는 데에도 사용될 수 있지만 이미지에 이 아키텍처를 적용하는 것은 실용적이진 않다. 각 픽셀이 관련 데이터 포인트인 이미지와 관련된 매우 큰 입력 크기로 인해 매우 많은 수의 뉴런이 요구되기 때문이다(얕은 심도의 아키텍처와 반대). 컨볼루션 연산은 여유 파라미터(free parameter)의 수를 줄임으로써, 전체 파라미터 수를 줄여 네트워크가 더 깊어지도록 하여 본 문제를 해결할 수 있다. 다시 말하면, 역전달(backpropagation)을 사용하여 다계층을 갖는 종래의 다층 뉴런 네트워크를 훈련시킬 때 사라지거나 폭발하는 그라디언트(gradient) 문제를 해결할 수 있다.
컨볼루션 네트워크는 하나의 계층에서 뉴런 클러스터의 출력을 다음 계층의 단일 뉴런으로 결합하는 로컬 또는 글로벌 풀링 계층을 포함할 수 있다. 예를 들어, 최대 풀링은 이전 계층에서의 각 뉴런 클러스터로부터 받은 최대 값을 사용할 수 있다. 또 다른 예로는, 이전의 계층에서의 각 뉴런 클러스터로부터 받은 평균 값을 사용하는 평균 풀링이 있을 수 있다.
완전히 연결된 계층은 한 계층의 모든 뉴런을 다른 계층의 모든 뉴런에 연결할 수 있다. 원칙적으로 이는 기존의 다중 레이어 퍼셉트론 신경망과 동일하다.
CNN은 컨볼루션 계층에서 가중치(weights)를 공유하는데, 이는 각 계층 내 각 수용 필드에서 동일한 필터(가중치 뱅크가 필요함)가 사용됨을 의미한다. 이 경우, 메모리 사용량이 줄어들고 성능이 향상된다는 효과가 있다.
도 2는 본 발명에 적용될 수 있는 언어 처리에 사용되는 CNN 구조를 예시한다.
CNN과 같은 딥 러닝(deep learning) 모델은 최근 몇 년간 컴퓨터 비전과 음성 인식에서 주목할만한 결과를 이끌어 냈다. 자연 언어 처리에서 딥 러닝을 사용하는 많은 작업은, 뉴런 언어 모델을 통해 단어 벡터 표현을 학습하고 분류를 위해 학습된 단어 벡터에 대한 구성(composition)을 수행하는 것과 관련이 있다. 단어가 희박한 1-of-V 인코딩(여기서 V는 어휘 크기)에서 히든 계층을 통해 하위 차원 벡터 공간으로 투영되는 단어 벡터는 기본적으로 차원에서 단어의 의미론적 기능을 인코딩하는 기능 추출기(extractor)에 해당한다.
이렇듯 밀집되어 있는 표현들에서, 의미적으로 가까운 단어는 유사하게 유클리드 거리 또는 코사인 거리가 가까운 차원의 벡터 공간에 있다.
CNN은 국부적인 특징(feature)들에 적용되는 컨볼빙 필터들을 가진 계층들을 이용한다. 원래 컴퓨터 비전을 위해 개발된 CNN 모델은 NLP(natural language processing)에 효과적이었으며 의미 구문 분석, 검색 쿼리 검색, 문장 모델링 및 기타 기존 NLP 작업에서 탁월한 결과를 얻었다.
도 2를 참조하면, 입력된 문장("wait for the video and don't rent it)에서 i번째 단어에 해당하는 k-차원의 단어 벡터를 '
Figure PCTKR2017013968-appb-I000001
'라 지칭할 수 있다. 문장의 길이 n(필요한 경우 패딩될 수 있음)은 아래의 수학식 1과 같이 표현될 수 있다.
Figure PCTKR2017013968-appb-M000001
수학식 1에서
Figure PCTKR2017013968-appb-I000002
은 연결 연산자(concatenation operator)에 해당할 수 있다. 일반적으로,
Figure PCTKR2017013968-appb-I000003
는 단어들(
Figure PCTKR2017013968-appb-I000004
)의 연결을 나타내는 것으로 볼 수 있다. 컨볼루션 연산은 새로운 특징을 생성하기 위해 h 단어들의 윈도우에 적용되는 필터(
Figure PCTKR2017013968-appb-I000005
)와 관련될 수 있다. 예를 들어, 특징(
Figure PCTKR2017013968-appb-I000006
)는 단어들(
Figure PCTKR2017013968-appb-I000007
)의 윈도우로부터 이하의 수학식 2에 의해 생성될 수 있다.
Figure PCTKR2017013968-appb-M000002
수학식 2에서
Figure PCTKR2017013968-appb-I000008
는 바이어스 용어(term)이며,
Figure PCTKR2017013968-appb-I000009
는 하이퍼볼릭 탄젠트(hyperbolic tangent)와 같은 비-선형 함수일 수 있다.
이러한 필터는 특징 맵(feature map)을 생성하기 위해 문장(
Figure PCTKR2017013968-appb-I000010
) 내 단어들의 각 가능한 윈도우에 적용될 수 있으며, 특징 맵은 이하의 수학식 3과 같이 표현될 수 있다.
Figure PCTKR2017013968-appb-M000003
Figure PCTKR2017013968-appb-I000011
다음으로, 해당 특징 맵에 대하여 최대-시간-초과 풀링 동작이 수행될 수 있으며, 이러한 특정 필터에 대응하는 특징으로서 최대 값(
Figure PCTKR2017013968-appb-I000012
)이 적용될 수 있다. 이는 각 특징 맵에 대해 가장 중요한 특징(가장 가치가 높은 특징)을 캡처(capture)하기 위함이다. 이러한 풀링 기술은 자연스럽게 다양한 문장 길이를 다룰 수 있다.
도 2에 도시된 CNN 구조는 단어 벡터들에 대한 2개의 '채널들'을 가질 수 있다. 하나의 채널은 학습 과정에서 정적으로 유지되며, 다른 하나는 역전달을 통해 미세-조정(fine-tuned)된다. 도 2에서의 다중 채널 구조에서 각 필터는 두 채널에 모두 적용되며, 결과는 ci를 계산하기 위해 수학식 2에 추가될 수 있다. 두 개의 채널이 적용되지 않는 경우 본 구조는 단일 채널 구조와 동일하다.
도 1 및 도 2와 관련하여 상술한 바와 같이 CNN은, 입력을 여러 개의 임의의 작은 단위로 구분하는 입력 계층, 구분된 각 작은 단위로부터 특징을 추출하는 컨볼루션 계층과 서브 샘플링 계층이 반복적으로 적층된 히든 계층 및/또는 상기 계층들을 모두 통과하여 마지막으로 도출/추출된 특징들을 종합하여 출력하는 출력 계층으로 구성되어 있다. 컨볼루션 계층은 대상 시퀀스/특징-맵에 대해 컨볼루션 연산을 수행하고, 서브 샘플링 계층은 대상 시퀀스/특징-맵에 대해 서브 샘플링 연산을 수행하여 특징을 추출할 수 있다. 이러한 입력 계층, 히든 계층 및/또는 출력 계층은 특정 기능을 수행하도록 구분되는 논리적인 개념으로서 '유닛' 또는 '기능'으로 구분될 수 있으며, 하드웨어적인 구성 요소에 의해 기술적으로 구현될 수 있다. 각 계층/유닛/기능에 관한 상세한 설명은 이하의 도 14의 블록도를 참조하여 상세히 후술하기로 한다.
이러한 특징적인 CNN의 구조로 인해, 특징을 추출하여 분류하기 위한 다양한 작업에서 CNN은 우수한 성능을 보인다. 특히, CNN은 주로 이미지 인식(분류), 문서 분류 등에 많이 쓰인다. 그러나, 이러한 특징적인 구조로 인해 CNN은 가변 길이 입력과 가변 길이 출력을 갖는 시퀀스-대-시퀀스 변형에 적용 되기에는 적합하지 않았다. 따라서, 종래에는 시퀀스-대-시퀀스 변형에서는 주로 RNN(Recurrent Neural Network) 모델이나 TDNN(Time Delay Neural Network)이 사용되었다. RNN 모델 및 TDNN에 대해서는 도 3 및 도 4와 관련하여 이하에서 후술한다.
따라서, 본 명세서에서는 CNN의 높은 특징 추출 능력과 분류 성능이 시퀀스-대-시퀀스 변형에도 효율적으로 적용될 수 있도록 가변 CNN(scalable CNN; SCNN) 구조에 대해 새롭게 제안하기로 하며, 이에 대해서는 도 7 내지 12를 참조하여 이하에서 상세히 후술한다.
도 3은 일반적인 TDNN을 예시한다.
TDNN은 패턴의 시작과 끝점을 명시적으로 사전에 결정할 필요가 없는 패턴을 불변으로(shift-invariantly) 분류하는 것을 주목적으로 하는 인공 신경망 구조이다. TDNN은 자동적인 음성 인식을 위해 음성 신호 내에서 음소(phoneme)를 분류하도록 제안되었으며, 정확한 세그먼트 또는 특징 경계의 자동적으로 결정하는 것은 어렵거나 불가능하다. TDNN은 시간-이동(time-shift), 즉 시간의 위치와 관계없이 음소 및 그 근본적인 음향/소리 특징을 인식한다.
입력 신호(input signal)는 지연된 사본을 다른 입력으로 증가시키며, 신경망은 내부 상태가 없으므로 시간-이동(time-shift) 불변이다.
TDNN은 다른 신경망과 마찬가지로 클러스터로 구성된 다수 개의 상호 연결된 레이어로 동작한다. 이들 클러스터는 뇌의 뉴런을 나타내기 위한 것이고 뇌와 마찬가지로 각 클러스터는 입력의 작은 영역에만 초점을 맞출 필요가 있다. 전형적인 TDNN은 입력을 위한 계층, 출력을 위한 계층 그리고 필터를 통한 입력의 조작을 처리하는 중간 계층의 세 개의 클러스터의 계층을 가진다. 순차적 특성으로 인하여, TDNN은 반복적인 신경망(recurrent neural network) 대신 피드포워드 신경망(feedforward neural network)로 구현된다.
시간-이동(time-shift) 불변성을 달성하기 위해, 입력(예를 들어, 오디오 파일, 이미지 등)에 지연의 세트가 추가되어 데이터가 다른 시점에서 표현된다. 이러한 지연은 임의적이며 특정 애플리케이션에만 적용되며, 이는 일반적으로 입력 데이터가 특정 지연 패턴에 맞게 사용자 정의되어 있음을 의미한다.
수동의 튜닝이 근절되는 적응적인 TDNN(ATDNN: Adaptable Time-Delay Neural Network)을 만드는 작업이 수행되어 왔다. 지연은 슬라이딩 윈도우(sliding window)를 갖는 반복적인 신경망(RNN: Recurrent Neural Network) 또는 다중층 퍼셉트론(MLP: Multi-Layer Perceptron)에 존재하지 않는 네트워크에 시간 차원을 추가하려는 시도이다. 과거 입력과 현재 입력의 조합은 TDNN의 접근 방식을 독창적으로 만든다.
TDNN의 핵심 기능은 시간에 따른 입력 간의 관계를 표현하는 것이다. 이 관계는 특성 검출기의 결과일 수 있으며 지연된 입력 사이의 패턴을 인식하기 위해 TDNN 내에서 사용된다.
신경망의 주요 장점 중 하나는 각 계층에서 필터의 뱅크를 설정하기 위한 사전 지식에 대한 의존성이 약하다는 것이다. 그러나, 이로 인하여 네트워크는 수많은 훈련 입력(training input)을 처리함으로써 이들 필터에 대한 최적의 값을 배워야 한다. 패턴 인식(pattern recognition) 및 함수 근사(function approximation)에 대한 강점으로 인하여 감독 학습(supervised learning)이 일반적으로 TDNN과 관련된 학습 알고리즘에 해당한다. 감독 학습은 일반적으로 역 전파 알고리즘(back propagation algorithm)으로 구현된다.
도 3을 참조하면, 히든 계층(hidden layer)은 입력 계층(input layer)의 전체 입력 중 특정 지점 T부터 T+2ΔT까지만을 대상으로 하여 결과를 도출하고, 이 과정을 출력 계층(output layer)까지 반복한다. 즉, 히든 계층(hidden layer)의 유닛(박스)은 입력 계층(input layer)의 전체 입력 중 특정 지점 T부터 T+2ΔT까지의 각각의 유닛(박스)에 가중치가 곱해지고 바이어스(bias) 값이 더해진 값들이 합산되어 도출된다.
이하, 본 발명의 설명에 있어서, 설명의 편의 상 도 1의 각 시점(즉, T, T+ΔT, T+2ΔT, ...)에서의 블록을 심볼이라고 지칭하나, 이를 프레임, 특징 벡터(feature vector) 등으로 지칭할 수도 있다. 또한, 이는 의미 상으로 음소(phoneme), 형태소(morpheme), 음절 등에 해당될 수 있다.
도 3에서는 입력 계층(input layer)는 3개의 지연(delay)를 가지며, 출력 계층(output layer)는 히든 계층(hidden layer) 내 음소 활성화(phoneme activation)의 4개의 프레임들을 통합함으로써 계산된다.
도 3은 하나의 예시에 불과하며, 지연의 수, 히든 계층(hidden layer)의 수는 이에 한정되지 않는다.
도 4는 M개의 입력과 시점 t에서 각 입력 별로 N개의 지연을 가지는 단일 시간-지연 뉴런(TDN: time-delay neurons)을 예시한다.
도 4에서
Figure PCTKR2017013968-appb-I000013
는 지연된 입력
Figure PCTKR2017013968-appb-I000014
의 값들을 저장하는 레지스터(register)이다.
상술한 바와 같이, TDNN은 직접적인 연결에 의해 모든 유닛(노드)들이 완전-연결된(fully-connected) 인공 뉴럴 네트워크 모델이다. 각 유닛은 시변하며(time-varying) 실수인(real-valued) 활성화(activation)를 가지며, 각 연결은 수정 가능한 실수인(real-valued) 가중치를 가진다. 히든 계층(hidden layer) 및 출력 계층(output layer) 내 노드들은 시간-지연 뉴런(TDN: Time-Delay Neuron)에 해당한다.
단일 TDN은 M개의 입력(
Figure PCTKR2017013968-appb-I000015
,
Figure PCTKR2017013968-appb-I000016
,...,
Figure PCTKR2017013968-appb-I000017
)과 하나의 출력(
Figure PCTKR2017013968-appb-I000018
)를 가지고, 이들 입력들은 시간 단계 t에 따라 시계열적(time series)이다. 각 입력
Figure PCTKR2017013968-appb-I000019
(i=1,2,..., M) 별로, 하나의 바이어스 값(bias value)
Figure PCTKR2017013968-appb-I000020
, 그리고 이전의 입력들
Figure PCTKR2017013968-appb-I000021
(d=1,..., N)을 저장하는 N개의 지연들(도 2에서
Figure PCTKR2017013968-appb-I000022
, ...,
Figure PCTKR2017013968-appb-I000023
), 그리고 관련된 N개의 독립된 가중치 (
Figure PCTKR2017013968-appb-I000024
,
Figure PCTKR2017013968-appb-I000025
,...,
Figure PCTKR2017013968-appb-I000026
)가 존재한다. F는 변환 함수 f(x)이다(도 4에서는 비선형 시그모이드 함수(sigmoid function)를 예시한다.). 단일 TDN 노드는 아래 수학식 4와 같이 나타낼 수 있다.
Figure PCTKR2017013968-appb-M000004
수학식 4로부터, 현재 시간 단계 t에서의 입력과 이전 시간 단계 t-d (d=1,...,N)에서의 입력이 뉴런(neuron)의 전체 출력에 반영된다. 단일 TDN은 시계열적인 입력들이 특징인 동적인 비선형 동작을 모델링하기 위해 사용될 수 있다.
도 5는 TDNN 뉴럴 네트워크의 전체적인 아키텍처를 예시한다.
도 5에서는 TDN을 가지는 완전-연결된(fully-connected) 뉴럴 네트워크 모델을 예시하며, 히든 계층은 J개의 TDN을 가지고, 출력 계층은 R개의 TDN을 가진다.
출력 계층은 아래 수학식 2와 같이 나타낼 수 있으며, 히든 계층은 아래 수학식 5와 같이 나타낼 수 있다.
Figure PCTKR2017013968-appb-M000005
Figure PCTKR2017013968-appb-M000006
수학식 5 및 6에서
Figure PCTKR2017013968-appb-I000027
Figure PCTKR2017013968-appb-I000028
를 가지는 히든 노드
Figure PCTKR2017013968-appb-I000029
의 가중치이고,
Figure PCTKR2017013968-appb-I000030
는 바이어스 값
Figure PCTKR2017013968-appb-I000031
를 가지는 출력 노드
Figure PCTKR2017013968-appb-I000032
의 가중치이다.
수학식 5 및 6에서 볼 수 있듯이, TDNN은 히든 계층 및 출력 계층의 노드 내 지연들을 가지는 완전-연결된(fully-connected) 전방-피드백(forward-feedback) 뉴럴 네트워크 모델이다. 출력 계층 내 노드들을 위한 지연의 개수는
Figure PCTKR2017013968-appb-I000033
이고, 히든 계층 내 노드들을 위한 지연의 개수는
Figure PCTKR2017013968-appb-I000034
이다. 노드 별로 지연 파라미터 N이 상이하면, 이를 분산된(distributed) TDNN으로 지칭할 수 있다.
지도 학습(supervised learning)
이산(discrete) 시간 설정에서의 감독 학습(supervised learning)의 경우, 실수 값 입력 벡터 (예를 들어, 비디오 프레임 피처의 시퀀스를 나타내는)의 트레이닝 세트 시퀀스는 한번에 하나의 입력 벡터를 갖는 입력 노드의 활성화 시퀀스이다. 임의의 주어진 시간 단계에서, 각각의 비-입력 유닛은 연결된 모든 유닛의 활성화의 가중 합계의 비선형 함수로서 현재의 활성화를 계산한다. 감독 학습에서 각 시간 단계의 타겟 라벨(target label)은 오류를 계산하는 데 사용된다. 각 시퀀스의 오류는 해당 타겟 라벨(target label)의 출력 노드에서 네트워크에 의해 계산된 활성화의 편차의 합계이다. 트레이닝 세트의 경우, 전체 오차는 각 개별 입력 시퀀스에 대해 계산된 오차의 합계이다. 교육 알고리즘은 이 오류를 최소화하도록 설계된다.
앞서 살펴본 바와 같이, TDNN은 한정된 영역에서 의미있는 값을 도출하는 과정을 반복하고, 도출된 결과에서 다시 동일한 과정을 반복함으로써 지엽적이지 않은 좋은 결과를 도출하는 용도로 적합한 모델이다.
도 6은 RNN을 이용한 뉴럴 기계 번역 시스템의 아키텍처를 예시하는 도면이다.
도 6을 참조하면, 좌측은 인코더 네트워크(encoder network)이고, 우측은 디코더 네트워크(decoder network)이고, 가운데는 집중 모듈(attention module)이다.
인코더는 소스 문장을 입력 심볼 당 하나의 벡터인 벡터 리스트로 변환한다. 이 벡터 리스트가 주어지면, 디코더는 특수 EOS(end-of-sentence symbol)가 생성될 때까지 한 번에 하나의 심볼을 생성한다. 인코더와 디코더는 디코딩 과정에서 디코더가 소스 문장의 다른 영역에 집중할 수 있도록 하는 집중 모듈(attention module)을 통해 연결된다.
인코더 네트워크에서 점선으로 표기된 계층(layer)는 양방향(bi-directional)이다. 점선 내 하위 계층은 좌측으로부터 우측 방향으로 정보를 수집하고, 점선 내 상위 계층은 우측으로부터 좌측 방향으로 정보를 수집한다. 인코더의 다른 계층은 단방향(uni-directional)이다. 인코더 및 디코더 모두 하단으로부터 세 번째 계층부터 차분 연결(residual connection)이 시작된다.
도 6의 모델은 모델은 여러 GPU로 분할되었으며, 8 개의 인코더 LSTM 계층 (1 개의 양방향 레이어와 7 개의 단방향 레이어)와 8 개의 디코더 계층을 예시한다. 이러한 구성을 사용함으로써, 하나의 모델 복제본이 8 가지 방식으로 분할되고 일반적으로 하나의 호스트 장치에 속하는 8 개의 다른 GPU에 배치될 수 있다. 학습 동안, 하단 양방향 인코더 계층이 먼저 병렬로 계산될 수 있다. 모두 완료하면, 단방향 인코더 계층이 별도의 GPU에서 각각 컴퓨팅을 시작할 수 있다. 디코더 계층을 실행하는 동안 가능한 한 많은 병렬성을 유지하기 위해, 나머지 디코더 계층에 직접 전송되는 반복적인 집중 컨텍스트(recurrent attention context)를 얻기 위해서만 하단의 디코더 계층 출력을 사용할 수 있다. 소프트맥스(softmax) 계층은 분할되어 여러 GPU에 배치될 수 있다. 출력 어휘 크기에 따라 인코더 및 디코더 네트워크와 동일한 GPU에서 실행하거나 별도의 전용 GPU 세트에서 실행될 수 있다.
이하 설명에서, 볼드체 소문자는 벡터를 의미하고, 볼드체 대문자는 행렬(matrix)을 의미하고, 필기체 대문자는 집합(set)을 의미하고, 일반 대문자는 문자열(시퀀스)을 의미하고, 일반 소문자는 문자열 내에 속한 심볼을 의미한다.
Figure PCTKR2017013968-appb-I000035
는 소스 문장 및 타겟 문장의 쌍으로 가정한다.
Figure PCTKR2017013968-appb-I000036
는 소스 문장 내
Figure PCTKR2017013968-appb-I000037
개의 심볼의 시퀀스이고,
Figure PCTKR2017013968-appb-I000038
는 타겟 문장 내
Figure PCTKR2017013968-appb-I000039
개의 심볼의 시퀀스이다.
인코더는 간단히 아래 수학식 7과 같은 함수이다.
Figure PCTKR2017013968-appb-M000007
수학식 7에서
Figure PCTKR2017013968-appb-I000040
는 고정된 크기의 벡터 리스트이다. 리스트 내 멤버의 개수는 소스 문장 내 심볼의 개수(
Figure PCTKR2017013968-appb-I000041
)와 동일하다. 체인 규칙(chain rule)을 사용하여 시퀀스의 조건부 확률
Figure PCTKR2017013968-appb-I000042
은 아래 수학식 8과 같이 분해될 수 있다.
Figure PCTKR2017013968-appb-M000008
수학식 8에서,
Figure PCTKR2017013968-appb-I000043
은 매 타겟 문장에 부착되는 "문장의 시작" 심볼을 의미한다.
디코더는 RNN(Recurrent Neural Network)와 소프트맥스(softmax) 계층의 조합으로 구현될 수 있다. 디코더 RNN 네트워크는 예측될 다음 심볼에 대한 히든 상태(hidden state)
Figure PCTKR2017013968-appb-I000044
를 생성하고, softmax 계층을 통과하여 후보 출력 심볼에 대한 확률 분포를 생성할 수 있다.
Figure PCTKR2017013968-appb-I000045
는 이전의 디코딩 시간 단계로부터 디코더 RNN 출력이다.
현재 시간 단계에 대한 집중 컨텍스트(attention context)는 아래 수학식 9에 따라 계산된다.
Figure PCTKR2017013968-appb-M000009
도 7은 본 발명의 일 실시예에 따른 가변 CNN을 이용한 시퀀스-대-시퀀스 변환 방법을 개념적으로 도시한 도면이다.
도 7에서 도시된 삼각형은 입력 시퀀스(또는 문장)로부터 출력/타겟 시퀀스를 도출/계산하기 위한 다양한 번역 모델을 예시한다. 예를 들어, 삼각형은 다중층 퍼셉트론, CNN 등이 이에 해당할 수 있다. 다만, 본 명세서에서는 번역 모델로서 가변 CNN이 채택된 경우를 중심으로 설명한다.
도 7을 참조하면, 시퀀스-대-시퀀스 변형에서 번역 모델로 가변 CNN이 적용/사용될 수 있다. 본 명세서에서 가변 CNN은, 입력 계층이 입력 받는 입력 시퀀스의 길이가 특정 길이로 제한되지 않고 가변적인/유연한 CNN을 의미할 수 있다. 이러한 가변 CNN은 종래의 CNN과 달리 다양한 길이의 문장을 모두 입력으로 수신/처리할 수 있으며, 입력 받는 문장 길이에 특별한 제한이 없다. 이러한 가변 CNN의 구체적인 실시예에 대해 도 8 내지 11을 참조하여 상세히 후술한다.
도 8은 입력 시퀀스의 길이가 특정 길이로 제한된 CNN의 특정 계층을 도시한 도면이다.
도 8에서 각 셀/칸은 서로 다른 학습 유닛에 1:1 매핑될 수 있다. CNN의 히든 계층에 포함되어 있는 복수의 서브 계층의 각 학습 유닛은 이전 계층(예를 들어, 입력 계층 또는 이전 히든 계층)에서 출력된 시퀀스(예를 들어, 입력 시퀀스 또는 중간 시퀀스)(또는 특징 맵에 해당할 수 있음) 중 자신에게 할당된(또는 사전에 설정된) 특정 영역에 대해서만 입력으로 보고 특징을 추출하여 학습/처리한다. 이러한 특정 영역은, 입력 계층으로 입력된 입력 시퀀스가 번역 수행을 위해 기본 단위로서 구분된 '입력 단위'에 해당할 수 있다. CNN의 각 학습 유닛은 이웃 학습 유닛과는 독립적으로 학습을 수행한다. 따라서 각 학습 유닛마다 학습된 지식이 상이할 수 있다. 도 8에서 각 학습 유닛이 학습한 지식이 서로 상이함을 표현하기 위해, 각 셀/칸마다 서로 다른 식별 번호(A1~A9, B1~B9, C1~C9)를 부여하였다.
도 8에서 화살표 오른쪽은 입력 시퀀스의 길이가 미리 설정된 제한 길이/크기보다 큰 경우에 있어서 CNN이 이를 처리하는 모습을 나타낸다. 입력 시퀀스의 길이가 제한된 길이/크기가 미리 설정된 제한 길이/크기보다 크다는 것은, 커진 만큼의 영역을 처리할 학습 유닛이 없음을 의미한다. 각 학습 유닛은 이전 계층의 특정 영역만을 타겟하여 학습하므로, 추가로 입력된 영역을 위한 학습 유닛이 존재하지 않는 한 추가 입력된 부분은 CNN에 의해 학습되지 않는다.
도 9는 본 발명의 일 실시예에 따른 가변 CNN의 특정 계층을 도시한 도면이다.
도 9의 가변 CNN의 학습 유닛도 도 8의 CNN의 학습 유닛과 마찬가지로 이전 계층에서 출력된 시퀀스의 특정 영역을 타겟하여 입력으로 받아들여 처리(즉, 특징 추출 및 학습)하는 것은 동일하다. 그러나, 도 9의 CNN에서 학습 유닛들은 도 8의 CNN과 달리 지식(파라미터 혹은 웨이트라고도 함)을 서로 공유할 수 있다. 이는, 결국 하나의 동일한 학습 유닛에 의해 이전 계층에서 출력된 시퀀스의 모든 영역이 학습되는 것으로 볼 수도 있다. 도 9에서 학습 유닛이 학습한 지식이 서로 동일함을 표현하기 위해, 동일한 지식에 대해서는 서로 동일한 식별 번호(A1~A9, B1~B9, C1~C9)를 부여하였다.
도 9에서 화살표 오른쪽은 입력 시퀀스의 길이가 미리 설정된 제한 길이/크기보다 큰 경우에 있어서 가변 CNN이 이를 처리하는 모습을 나타낸다. 이를 참조하면, 가변 CNN은 추가 입력된 영역만큼을 동일한 학습 유닛을 통해 추가로 계산/처리하여 (학습된 지식을 저장하는) 셀/칸만 추가하면, 기존에 학습된 지식을 그대로 사용할 수 있을 뿐 아니라, 추가된 새로운 영역에 대해서도 처리 가능하므로, 가변적인 입력 시퀀스에 대해 유연하게 처리가 가능하다.
한편, CNN에서 출력 계층에 대한 입력의 경우, 정해진 크기로만 완전히-연결(fully-connected)되어 입력되어야 한다. 이는 본 명세서에서 제안하는 가변 CNN의 경우도 마찬가지이다. 그러나, 입력 시퀀스의 크기가 커지면 각 계층을 통과하여 출력되는 중간 시퀀스(즉, 추출된 특징)의 크기도 커지게 되므로, 출력 계층으로 고정된 크기/길이의 중간 시퀀스를 입력으로서 제공하기 위해서는 추가적인 대응 방안이 필요하며, 이에 대해서는 도 10 및 11을 참조하여 이하에서 제안한다.
이하에서는 설명의 편의를 위해 히든 계층 내의 서브 히든 계층에서 특징 추출 결과 출력되는 시퀀스는 '중간 시퀀스'라 지칭하기로 하며, 모든 서브 계층을 통과하여 최종적으로 출력 계층으로 입력되는 시퀀스는 '최종 중간 시퀀스'라 지칭하기로 한다.
도 10은 제한된 크기/길이의 입력 시퀀스가 입력된 경우의 종래의 CNN의 각 계층을 도식화한 도면이다.
도 10에서 입력 시퀀스의 크기/길이는 size 6으로 고정/제한될 수 있으며, 출력 계층으로 입력되어야 하는 최종 중간 시퀀스의 길이는 size 2로 고정/제한될 수 있다. CNN의 특정 계층에서 입력과 출력의 길이/크기는 서로 상이하며, 보다 상세하게는, 입력보다 출력의 길이/크기가 더 작다. 따라서, CNN의 히든 계층은 출력 계층으로 입력되는 최종 중간 시퀀스의 크기를 size 2로 맞추기 위해 총 4단계의 학습/특징-매핑을 수행할 수 있다.
도 11은 본 발명의 일 실시예에 따른 미리 정의된 크기/길이보다 큰 입력 시퀀스가 입력된 경우의 가변 CNN의 각 계층을 도식화한 도면이다.
도 11에서 입력 시퀀스의 미리 정해진 크기/길이는 size 6이며, 이보다 큰 크기/길이의 size 7의 입력 시퀀스가 가변 CNN의 입력 계층으로 입력된 경우를 가정한다. 또한, 도 11에서 출력 계층으로 입력되어야 하는 최종 중간 시퀀스의 크기/길이는 size 2인 경우를 가정한다.
가변 CNN 역시 특정 계층에서 입력과 출력의 길이/크기는 서로 상이하며, 보다 상세하게는, 입력보다 출력의 길이/크기가 더 작다. 따라서, 가변 CNN은 커진 입력 시퀀스에 대응하기 위해 히든 계층에서 특정 학습/특징-매핑 단계(C)를 반복하여 수행함으로써 size 1만큼을 추가적으로 감소시킬 수 있다. 그 결과, 가변 CNN은 출력 계층으로 입력되는 최종 중간 시퀀스의 크기/길이를 size 2로 조정할 수 있다. 즉, 가변 CNN은 히든 계층 내의 특정 계층의 학습/특징-매핑 단계를 반복/추가 수행함으로써 출력 계층으로 입력되는 최종 중간 시퀀스의 크기/길이를 유연하게 조절할 수 있다.
이러한 동작이 가변 CNN에서 가능한 이유는, 앞서 도 8 및 9에서 상술한 바와 같이, 가변 CNN의 각 계층은 늘어난 입력 길이/크기에 대해서 유연하게 학습/처리하는 능력을 갖기 때문이다.
이러한 가변 CNN의 가변 크기 특성은 전 계층에 사용될 수 있지만, 하부 일부 계층에만 사용/적용될 수 있다.
도 12는 본 발명의 일 실시예에 따른 가변 CNN이 적용된 시퀀스-대-시퀀스 변형을 예시한 도면이다.
도 12에서 <S>는 번역 대상 문장(즉, 입력 시퀀스)의 시작을 지시하는 심볼이고, </S>는 번역 대상 문장의 종료를 지시하는 심볼이다.
도 12(a)는 원 입력이 "무궁화 꽃이 피었습니다."이고, 해당 원 입력에 대하여 출력이 "The rose of"까지 완료된 상태에서, 원 입력과 현재까지 완료된 출력을 모두 입력으로 하여 가변 CNN이 적용된 시퀀스-대-시퀀스 변형을 수행한 결과, "Sharon"이라는 새로운 출력을 획득한 경우를 나타낸다.
도 12(b)는 원 입력이 "무궁화 꽃이 피었습니다."이고, 해당 원 입력에 대하여 출력이 "The rose of sharon"까지 완료된 상태에서, 원 입력과 현재까지 완료된 출력을 모두 입력으로 하여 가변 CNN이 적용된 시퀀스-대-시퀀스 변형을 수행한 결과, "of"이라는 새로운 출력을 획득한 경우를 나타낸다.
이렇듯 도 12(a) 및 12(b)에서 입력의 크기가 서로 상이한데(도 12(b)의 경우 sharon만큼 입력 시퀀스의 길이/크기가 증가함), 본 명세서에서 제안하는 가변 CNN은 이러한 입력이 입력된 경우에도 유연하게 대처할 수 있다.
이러한 가변 CNN은 입력과 출력이 1차원인 시퀀스-대-시퀀스뿐만 아니라, M-대-N 차원에도 모두 적용될 수 있다.
도 13은 본 발명의 일 실시예에 따른 번역 장치의 가변 CNN이 적용된 시퀀스-대-시퀀스 번역 방법을 예시한 순서도이다. 본 순서도와 관련하여 앞서 상술한 실시예들이 동일/유사하게 적용될 수 있으며, 중복되는 설명은 생략한다.
우선, 번역 장치는 입력 계층을 통해 제1 언어로 표현된 입력 시퀀스를 입력받을 수 있다(S1301).
다음으로, 번역 장치는 히든 계층을 통해 상기 입력 시퀀스를 학습하고 입력 시퀀스로부터 특징을 도출하여 기설정된 크기의 최종 중간 시퀀스들을 출력할 수 있다(S1302).
보다 상세하게는, 번역 장치는 입력 시퀀스를 변역이 수행되는 기본 단위인 제1 입력 단위들로 구분하고, 복수의 학습 유닛들을 통해 각 학습 유닛과 대응하는 적어도 하나의 제1 입력 단위를 각 학습 유닛별로 독립적으로 학습하여 제1 입력 단위들 모두를 학습할 수 있다. 또한, 번역 장치는 각 학습 유닛별로 독립적으로 학습된 지식을 학습 유닛간에 서로 공유할 수 있다. 또한, 번역 장치는 학습 유닛간에 공유된 지식으로부터 특징을 추출하여 제1 중간 시퀀스들을 출력할 수 있다.
나아가, 번역 장치는 제1 중간 시퀀스들을 종합하여 특징 추출의 기본 단위인 제2 입력 단위들로 구분하고, 제2 입력 단위들을 복수의 학습 유닛들을 통해 각 제2 입력 단위 별로 독립적으로 학습할 수 있다. 또한, 번역 장치는 각 제2 입력 단위 별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하고, 공유된 지식으로부터 특징을 추출하여 제2 중간 시퀀스들을 출력할 수 있다. 또한, 번역 장치는 제2 중간 시퀀스들의 크기가 최종 중간 시퀀스에 대해 입력될 수 있는 시퀀스의 제한된 길이인 기설정된 크기인지 확인할 수 있다. 만일, 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인 경우, 번역 장치는 제2 중간 시퀀스를 최종 중간 시퀀스로서 출력 계층으로 출력할 수 있다. 만일, 제2 중간 시퀀스들의 크기가 기설정된 크기와 다른 경우, 번역 장치는 제2 중간 시퀀스를 제1 중간 시퀀스로 간주하여 제2 입력 단위들로 구분하는 단계로 회귀하여 새로운 중간 시퀀스를 출력하기 위한 단계를 수행할 수 다. 이때 생성되는 제1 및 제2 중간 시퀀스의 크기는 상기 입력 시퀀스의 크기보다 작을 수 있다.
마지막으로, 번역 장치는 출력 계층을 통해 최종 중간 시퀀스들을 종합하여 제1 언어와 다른 제2 언어로 표현된 출력 시퀀스를 출력할 수 있다(S1303). 출력 시퀀스가 출력되면 번역 장치는, 출력된 출력 시퀀스를 입력 시퀀스 뒤에 부착하여 새로운 입력 시퀀스를 생성하고 이를 다시 입력 계층으로 피드백하여 앞서 상술한 S1301 내지 S1303 단계를 수행할 수 있다. 이러한 피드백은 최초 입력된 입력 시퀀스의 번역이 완료될 때까지 반복 수행될 수 있다.
도 14는 본 발명의 일 실시예에 따른 기계 번역을 수행하기 위한 기계 번역 장치의 구성을 설명하기 위한 블록도이다.
도 14을 참조하면, 본 발명의 실시예에 따른 번역 장치(1400)는 통신모듈(communication module, 1410), 메모리(memory, 1420) 및 프로세서(processor, 1430)을 포함한다.
통신모듈(1410)은 프로세서(1430)와 연결되어, 외부의 장치와 유/무선 신호를 송신 및/또는 수신한다. 통신모듈(1410)은 데이터를 송수신하기 위해 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(Modem)을 포함할 수 있다. 특히, 통신모듈(1410)은 외부 장치로부터 수신한 제1 언어로 기재된 문장 등을 프로세서(1430)로 전달할 수 있으며, 프로세서(1430)로부터 전달 받은 제2 언어로 기재된 문장 등을 외부 장치에게 전송할 수 있다.
또는, 통신모듈(1410) 대신에 입력부 및 출력부가 포함될 수도 있다. 이 경우, 입력부는 제1 언어로 기재된 문장 등을 입력 받아 프로세서(1430)로 전달할 수 있으며, 출력부는 프로세서(1430)로부터 전달 받은 제2 언어로 기재된 문장 등을 출력할 수 있다.
메모리(1420)는 프로세서(1430)와 연결되어, 번역 장치(1400)의 동작에 필요한 정보, 프로그램 및 데이터를 저장하는 역할을 수행한다.
프로세서(1430)는 앞서 제안된 기능, 과정 및/또는 방법을 구현한다. 또한, 프로세서(1430)는 앞서 설명한 또한 번역 장치(1400)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 따라서, 프로세서(1430)는 번역 장치(1400)와 동일시되어 설명될 수 있다. 특히, 프로세서(1430)는 앞서 상술한 가변 CNN을 구현하기 위해 논리적으로 구분된 입력 계층, 히든 계층(적어도 하나의 서브 히든 계층들을 포함), 및 출력 계층이 적층된 구조를 논리적으로 구현/수행할 수 있으며, 각 계층이 수행하는 기능은 프로세서(1430)에 의해 통합적으로 구현/수행될 수 있다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명은 다양한 딥 러닝 및 기계 번역 기술 분야에 적용될 수 있다.

Claims (10)

  1. 가변 CNN(Convolutional neural network)이 적용된 시퀀스-대-시퀀스 번역 방법에 있어서,
    입력 계층을 통해 제1 언어로 표현된 입력 시퀀스를 입력받는 단계;
    히든 계층을 통해 상기 입력 시퀀스를 학습하고 상기 입력 시퀀스로부터 특징(feature)을 추출하여 기설정된 크기의 최종 중간 시퀀스들을 출력하는 단계; 및
    출력 계층을 통해 상기 최종 중간 시퀀스들을 종합하여 상기 제1 언어와 다른 제2 언어로 표현된 출력 시퀀스를 출력하는 단계; 를 포함하되,
    상기 최종 중간 시퀀스들을 출력하는 단계는,
    상기 입력 시퀀스를 변역이 수행되는 기본 단위인 제1 입력 단위들로 구분하는 단계;
    복수의 학습 유닛들을 통해 각 학습 유닛과 대응하는 적어도 하나의 제1 입력 단위를 상기 각 학습 유닛별로 독립적으로 학습하여 상기 제1 입력 단위들 모두를 학습하는 단계;
    상기 각 학습 유닛별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하는 단계; 및
    상기 공유된 지식으로부터 특징을 추출하여 제1 중간 시퀀스들을 출력하는 단계; 를 포함하는, 시퀀스-대-시퀀스 번역 방법.
  2. 제 1 항에 있어서,
    상기 최종 중간 시퀀스들을 출력하는 단계는,
    상기 제1 중간 시퀀스들을 종합하여 학습의 기본 단위인 제2 입력 단위들로 구분하는 단계;
    상기 복수의 학습 유닛들을 통해 상기 각 학습 유닛과 대응하는 적어도 하나의 제2 입력 단위를 상기 각 학습 유닛별로 독립적으로 학습하여 상기 제2 입력 단위들 모두를 학습하는 단계;
    상기 각 학습 유닛별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하는 단계;
    상기 공유된 지식으로부터 특징을 추출하여 제2 중간 시퀀스들을 출력하는 단계;
    상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인지 확인하는 단계;
    상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인 경우, 상기 제2 중간 시퀀스를 상기 최종 중간 시퀀스로서 출력하는 단계; 및
    상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기와 다른 경우, 상기 제2 중간 시퀀스를 상기 제1 중간 시퀀스로 간주하여 상기 제2 입력 단위들로 구분하는 단계로 회귀하는 단계; 를 포함하는, 시퀀스-대-시퀀스 번역 방법.
  3. 제 2 항에 있어서,
    상기 특징은 컨볼루션 연산 또는 서브샘플링 연산을 통해 추출되는, 시퀀스-대-시퀀스 번역 방법.
  4. 제 3 항에 있어서,
    상기 출력 시퀀스가 출력된 경우, 상기 출력된 상기 출력 시퀀스가 상기 입력 시퀀스에 부가된 시퀀스를 새로운 입력 시퀀스로서 상기 입력 계층으로 피드백하는 단계; 를 더 포함하는, 시퀀스-대-시퀀스 번역 방법.
  5. 제 4 항에 있어서,
    상기 출력 시퀀스가 상기 새로운 입력 시퀀스로서 상기 입력 계층으로 피드백되는 단계는 상기 입력 시퀀스의 번역이 완료될 때까지 반복 수행되는, 시퀀스-대-시퀀스 번역 방법.
  6. 가변 CNN(Convolutional neural network)이 적용된 시퀀스-대-시퀀스 번역하는 번역 장치에 있어서,
    입력 계층을 통해 제1 언어로 표현된 입력 시퀀스를 입력받고, 히든 계층을 통해 상기 입력 시퀀스를 학습하고 상기 입력 시퀀스로부터 특징(feature)을 추출하여 기설정된 크기의 최종 중간 시퀀스들을 출력하고, 출력 계층을 통해 상기 최종 중간 시퀀스들을 종합하여 상기 제1 언어와 다른 제2 언어로 표현된 출력 시퀀스를 출력하는 프로세서; 를 포함하되,
    상기 최종 중간 시퀀스들을 출력하는 경우 상기 프로세서는,
    상기 입력 시퀀스를 변역이 수행되는 기본 단위인 제1 입력 단위들로 구분하고, 복수의 학습 유닛들을 통해 각 학습 유닛과 대응하는 적어도 하나의 제1 입력 단위를 상기 각 학습 유닛별로 독립적으로 학습하여 상기 제1 입력 단위들 모두를 학습하고, 상기 각 학습 유닛별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하고, 상기 공유된 지식으로부터 특징을 추출하여 제1 중간 시퀀스들을 출력하는, 번역 장치.
  7. 제 6 항에 있어서,
    상기 최종 중간 시퀀스들을 출력하는 경우, 상기 프로세서는,
    상기 제1 중간 시퀀스들을 종합하여 특징 추출의 기본 단위인 제2 입력 단위들로 구분하고,
    상기 복수의 학습 유닛들을 통해 상기 각 학습 유닛과 대응하는 적어도 하나의 제2 입력 단위를 상기 각 학습 유닛별로 독립적으로 학습하여 상기 제2 입력 단위들 모두를 학습하고,
    상기 각 학습 유닛별로 독립적으로 학습된 지식을 상기 학습 유닛간에 서로 공유하고,
    상기 공유된 지식으로부터 특징을 추출하여 제2 중간 시퀀스들을 출력하고,
    상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인지 확인하고,
    상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기인 경우, 상기 제2 중간 시퀀스를 상기 최종 중간 시퀀스로서 출력하고,
    상기 제2 중간 시퀀스들의 크기가 상기 기설정된 크기와 다른 경우, 상기 제2 중간 시퀀스를 상기 제1 중간 시퀀스로 간주하여 상기 제2 입력 단위들로 구분하는 단계로 회귀하는, 번역 장치.
  8. 제 7 항에 있어서,
    상기 특징은 컨볼루션 연산 또는 서브샘플링 연산을 통해 추출되는, 번역 장치.
  9. 제 8 항에 있어서,
    상기 출력 시퀀스가 출력된 경우, 상기 프로세서는 상기 출력된 상기 출력 시퀀스가 상기 입력 시퀀스에 부가된 시퀀스를 새로운 입력 시퀀스로서 상기 입력 계층으로 피드백하는, 번역 장치.
  10. 제 9 항에 있어서,
    상기 프로세서는, 상기 피드백을 상기 입력 시퀀스의 번역이 완료될 때까지 반복 수행하는, 번역 장치.
PCT/KR2017/013968 2017-11-30 2017-11-30 시퀀스-대-시퀀스 번역 방법 및 이를 위한 장치 WO2019107624A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/013968 WO2019107624A1 (ko) 2017-11-30 2017-11-30 시퀀스-대-시퀀스 번역 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/013968 WO2019107624A1 (ko) 2017-11-30 2017-11-30 시퀀스-대-시퀀스 번역 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
WO2019107624A1 true WO2019107624A1 (ko) 2019-06-06

Family

ID=66664013

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013968 WO2019107624A1 (ko) 2017-11-30 2017-11-30 시퀀스-대-시퀀스 번역 방법 및 이를 위한 장치

Country Status (1)

Country Link
WO (1) WO2019107624A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866395A (zh) * 2019-10-30 2020-03-06 语联网(武汉)信息技术有限公司 基于译员编辑行为的词向量生成方法及装置
CN111062450A (zh) * 2019-12-30 2020-04-24 西安电子科技大学 基于fpga和scnn架构的图像分类装置及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207398A (ja) * 1999-01-18 2000-07-28 Matsushita Electric Ind Co Ltd 機械翻訳装置および機械翻訳方法ならびに機械翻訳プログラムを記録した記録媒体
US20170060854A1 (en) * 2015-08-25 2017-03-02 Alibaba Group Holding Limited Statistics-based machine translation method, apparatus and electronic device
US20170140753A1 (en) * 2015-11-12 2017-05-18 Google Inc. Generating target sequences from input sequences using partial conditioning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207398A (ja) * 1999-01-18 2000-07-28 Matsushita Electric Ind Co Ltd 機械翻訳装置および機械翻訳方法ならびに機械翻訳プログラムを記録した記録媒体
US20170060854A1 (en) * 2015-08-25 2017-03-02 Alibaba Group Holding Limited Statistics-based machine translation method, apparatus and electronic device
US20170140753A1 (en) * 2015-11-12 2017-05-18 Google Inc. Generating target sequences from input sequences using partial conditioning

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARC MORENO LOPEZ ET AL.: "Deep Learning applied to NLP', arxiv.org", ARXIV.ORG, 9 March 2017 (2017-03-09), pages 1 - 15, XP080755388 *
WENPENG YIN ET AL.: "ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs", ARXIV.ORG, ARXIV:1512.05193V1, 16 December 2015 (2015-12-16), pages 259 - 272, XP055462942, Retrieved from the Internet <URL:https://arxiv.org/abs/1512.05193v1> [retrieved on 20180625] *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866395A (zh) * 2019-10-30 2020-03-06 语联网(武汉)信息技术有限公司 基于译员编辑行为的词向量生成方法及装置
CN110866395B (zh) * 2019-10-30 2023-05-05 语联网(武汉)信息技术有限公司 基于译员编辑行为的词向量生成方法及装置
CN111062450A (zh) * 2019-12-30 2020-04-24 西安电子科技大学 基于fpga和scnn架构的图像分类装置及方法
CN111062450B (zh) * 2019-12-30 2023-03-24 西安电子科技大学 基于fpga和scnn架构的图像分类装置及方法

Similar Documents

Publication Publication Date Title
WO2018217019A1 (ko) 신경망 학습 기반의 변종 악성 코드를 탐지하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
WO2021060899A1 (ko) 인공지능 모델을 사용 기관에 특화시키는 학습 방법, 이를 수행하는 장치
WO2021201422A1 (ko) Ar에 적용 가능한 의미적인 분할 방법 및 시스템
EP3461290A1 (en) Learning model for salient facial region detection
WO2019074195A1 (ko) 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램
WO2020045848A1 (ko) 세그멘테이션을 수행하는 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
CN113408343B (zh) 基于双尺度时空分块互注意力的课堂动作识别方法
WO2021246811A1 (ko) 중증도 판단용 뉴럴 네트워크 학습 방법 및 시스템
WO2021040354A1 (ko) 신경망을 이용한 데이터 처리 방법
WO2020204364A2 (ko) 단어의 문맥 정보와 형태론적 정보를 고려한 단어 임베딩 방법 및 장치
WO2019107624A1 (ko) 시퀀스-대-시퀀스 번역 방법 및 이를 위한 장치
WO2020032348A1 (ko) 데이터를 식별 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
WO2022146050A1 (ko) 우울증 진단을 위한 인공지능 연합학습 방법 및 시스템
WO2019074316A1 (ko) 이미지 및 영상의 등록, 검색, 재생을 모바일 디바이스 및 서버에서 분할하여 수행하는 컨벌루션 인공신경망 기반 인식 시스템
WO2021010671A9 (ko) 뉴럴 네트워크 및 비국소적 블록을 이용하여 세그멘테이션을 수행하는 질병 진단 시스템 및 방법
WO2022004971A1 (ko) 영상 생성을 위한 학습 장치 및 방법
WO2021157863A1 (ko) 준 지도 학습을 위한 오토인코더 기반 그래프 설계
WO2020231005A1 (ko) 영상 처리 장치 및 그 동작방법
WO2024117708A1 (ko) 확산 모델을 이용한 얼굴 이미지 변환 방법
WO2020071618A1 (ko) 엔트로피 기반 신경망 부분학습 방법 및 시스템
WO2023167530A1 (en) Method for classifying images using novel classes
WO2018092957A1 (ko) 신경망 모델에서 입력값에 대한 재학습 여부 결정 방법, 장치 및 프로그램
WO2023210914A1 (en) Method for knowledge distillation and model generation
WO2019198900A1 (en) Electronic apparatus and control method thereof
WO2020032561A2 (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: 17933276

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: 17933276

Country of ref document: EP

Kind code of ref document: A1