WO2024049025A1 - Electronic device for training speech recognition model and control method thereof - Google Patents

Electronic device for training speech recognition model and control method thereof Download PDF

Info

Publication number
WO2024049025A1
WO2024049025A1 PCT/KR2023/011062 KR2023011062W WO2024049025A1 WO 2024049025 A1 WO2024049025 A1 WO 2024049025A1 KR 2023011062 W KR2023011062 W KR 2023011062W WO 2024049025 A1 WO2024049025 A1 WO 2024049025A1
Authority
WO
WIPO (PCT)
Prior art keywords
recognition model
learning
layers
speech recognition
electronic device
Prior art date
Application number
PCT/KR2023/011062
Other languages
French (fr)
Korean (ko)
Inventor
김찬우
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2024049025A1 publication Critical patent/WO2024049025A1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Definitions

  • This disclosure relates to an electronic device and a control method thereof for learning an end-to-end speech recognition model.
  • voice recognition technology has been developed to recognize voices uttered by users.
  • AM Acoustic Model
  • PM Pronunciation Model
  • PM Pronunciation Model
  • a method of controlling an electronic device for learning a voice recognition model includes inputting a learning voice sequence into a voice recognition model including a plurality of layers; Obtaining a plurality of loss values at the output terminal of each of the plurality of layers; and learning the speech recognition model based on the plurality of loss values.
  • an electronic device for learning a voice recognition model includes a memory that stores data about the voice recognition model; and at least one processor.
  • the at least one processor obtains a plurality of loss values from an output terminal of each of the plurality of layers. And, at least one processor trains the speech recognition model based on the plurality of loss values.
  • the control method includes a plurality of layers. Inputting a learning speech sequence into a speech recognition model; Obtaining a plurality of loss values at the output terminal of each of the plurality of layers; and learning the speech recognition model based on the plurality of loss values.
  • FIG. 1 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 2 is a diagram briefly explaining a voice recognition model according to an embodiment of the present disclosure
  • Figure 3a is a diagram showing the CTC model
  • Figure 3b is a diagram showing the RNN-T model
  • Figure 3c is a diagram showing the AED model
  • FIG. 4A is a diagram for explaining a method of learning a CTC model according to an embodiment of the present disclosure
  • Figure 4b is a diagram for explaining a method of learning an RNN-T model according to an embodiment of the present disclosure
  • Figure 4c is a diagram for explaining a method of learning an AED model according to an embodiment of the present disclosure
  • FIG. 5 is a flowchart illustrating a method of controlling an electronic device for learning a voice recognition model, according to an embodiment of the present disclosure.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
  • expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” includes (1) at least one A, (2) at least one B, or (3) it may refer to all cases including both at least one A and at least one B.
  • a component e.g., a first component
  • another component e.g., a second component
  • any component may be directly connected to the other component or may be connected through another component (e.g., a third component).
  • a component e.g., a first component
  • another component e.g., a second component
  • no other component e.g., a third component
  • the expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ,” can be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
  • the term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware.
  • the expression “a device configured to” may mean that the device is “capable of” working with other devices or components.
  • the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored on a memory device.
  • a 'module' or 'unit' performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented with at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
  • FIG. 1 is a block diagram briefly illustrating the configuration of an electronic device 100 according to an embodiment of the present disclosure.
  • the 'electronic device 100' refers to a device that can input a voice sequence corresponding to a user's voice and learn a voice recognition model that can obtain a text sequence corresponding to the voice sequence.
  • the electronic device 100 may be a device such as a server, or may be a user terminal such as a smartphone or tablet PC.
  • the electronic device 100 may include a memory 110 and at least one processor 120.
  • the configuration shown in FIG. 1 is only an example, and other configurations may be added depending on the type of the electronic device 100.
  • the electronic device 100 may further include a communication interface for acquiring learning data (e.g., a learning voice sequence, a learning voice signal, etc.), and the electronic device 100 may be configured as a server.
  • learning data e.g., a learning voice sequence, a learning voice signal, etc.
  • the electronic device 100 may be configured as a server.
  • a communication interface and an input interface for example, a microphone
  • At least one instruction for controlling the electronic device 100 may be stored in the memory 110 .
  • an operating system (O/S) for driving the electronic device 100 may be stored in the memory 110 .
  • the memory 110 may store various software programs or applications for operating the electronic device 100 according to various embodiments of the present disclosure.
  • the memory 110 may include a semiconductor memory such as flash memory or a magnetic storage medium such as a hard disk.
  • the memory 110 may store various software modules for operating the electronic device 100 according to various embodiments of the present disclosure, and at least one processor 120 may store various software modules stored in the memory 110.
  • the operation of the electronic device 100 can be controlled by executing the module. That is, the memory 110 is accessed by at least one processor 120, and data read/write/modify/delete/update, etc. can be performed by the processor 130.
  • memory 110 refers to memory 110, ROM (not shown), RAM (not shown) in the processor 120, or a memory card (not shown) mounted on the electronic device 100 (e.g. For example, it can be used to mean including micro SD card, memory stick).
  • data about a voice recognition model may be stored in the memory 110.
  • the data for the voice recognition model may include information on weights, various parameters and nodes that make up the neural network included in the voice recognition model, and may include training data for training the voice recognition model, and information on the voice recognition model. It may also include input/output data for modules, input/output data of modules included in the voice recognition model, etc.
  • the memory 110 may store information about a voice signal and voice sequence corresponding to the user's voice, and information about a text sequence corresponding to the voice sequence.
  • various information necessary within the scope of achieving the purpose of the present disclosure may be stored in the memory 110, and the information stored in the memory 110 may be updated as it is received from an external device or input by the user. .
  • At least one processor 120 controls the overall operation of the electronic device 100. Specifically, at least one processor 120 is connected to the configuration of the electronic device 100 including the memory 110, and executes at least one instruction stored in the memory 120 as described above, thereby controlling the electronic device ( 100) operations can be controlled overall.
  • At least one processor 120 may input a voice sequence corresponding to a user's voice and train a voice recognition model capable of obtaining a text sequence corresponding to the voice sequence.
  • a speech recognition model including a plurality of layers
  • at least one processor 120 obtains a plurality of loss values from the output terminal of each of the plurality of layers, and , a speech recognition model can be trained based on a plurality of loss values.
  • 'voice recognition model' refers to a neural network model learned to recognize the user's voice and obtain text data corresponding to the user's voice.
  • the speech recognition model according to the present disclosure can be configured to perform speech recognition for a preset language.
  • the speech recognition model may be referred to as an automatic speech recognition (ASR) model.
  • ASR automatic speech recognition
  • the speech recognition model is an end-to-end speech recognition that directly predicts a text sequence (e.g., phoneme sequence, word sequence, etc.) corresponding to the input speech sequence. It could be a model.
  • the term 'voice sequence' is used to specify a set of sequentially received voice signals when the user's voice generated by the user's speech is sequentially received in the form of a voice signal through an input means (e.g., microphone). It is used as a term.
  • the voice sequence may be a signal that has undergone voice preprocessing (e.g., noise removal, time-frequency conversion, etc.).
  • FIG. 2 is a diagram briefly explaining a voice recognition model according to an embodiment of the present disclosure.
  • the speech recognition model includes an encoder 210 for obtaining a hidden vector corresponding to a voice sequence and a decoder 220 for obtaining a text sequence based on the hidden vector.
  • It may be a sequence-to-sequence model including.
  • the encoder 210 may be trained based on training data consisting of a preset language (eg, English or Korean, etc.), and may be trained to output a hidden vector corresponding to an input voice sequence.
  • the encoder 210 may include a plurality of layers for obtaining hidden vectors corresponding to the voice sequence.
  • the layer may be implemented with LSTM (Long Short-Term Memory), but this is only an example and may be implemented with GRU (Gated Recurrent Units), Conformer, CNN (Convolutional Neural Network), Transformer, etc.
  • the decoder 220 may output a text sequence corresponding to the voice sequence based on the hidden vector, which is the output value of the encoder 210. At this time, the decoder 220 may include various types of modules depending on the type of voice recognition. This will be explained with reference to FIGS. 3A to 3C.
  • the performance of the speech recognition model is basically determined by the performance of the encoder 210 rather than the decoder 220.
  • the encoder of a speech recognition model contains 5 to 20 layers, while the decoder of a speech recognition model contains 1 to 2 layers.
  • the number of layers included in the encoder of the speech recognition model is increased too much, there is a problem in that the parameters of the layers do not converge.
  • 3A to 3C are diagrams for explaining a voice recognition model according to various embodiments.
  • FIG 3a is a diagram for explaining a connectionist temporal classification (CTC) model.
  • the CTC model is a speech recognition model that can obtain a text sequence by inputting a speech sequence without explicit alignment information between the input speech sequence and the text sequence.
  • the CTC model includes an encoder 210 including a plurality of layers (310-1, 310-2,...310-n) and a decoder 220 including a softmax module 320. It can be included.
  • the encoder 210 may obtain a hidden vector corresponding to the input voice sequence through a plurality of layers 310-1, 310-2,...310-n.
  • the decoder 210 may output a text sequence corresponding to the voice sequence at the current time based on the hidden vector input through the softmax module 320.
  • the softmax module 320 identifies the class corresponding to the voice sequence at the current time among a plurality of classes by normalizing the input hidden vector to a value between 0 and 1, and creates a class corresponding to the voice sequence according to the identification result.
  • a text sequence can be output.
  • Figure 3b is a diagram for explaining a recurrent neural network-transducer (RNN-T) model.
  • the RNN-T model includes an encoder 210 including a plurality of layers 330-1, 330-2,..., 330-n, a prediction module 340, and a joint module 350. ) and a decoder 220 including a softmax module 360.
  • the encoder 210 may obtain a hidden vector corresponding to the input voice sequence through a plurality of layers 330-1, 330-2,...330-n.
  • the prediction module 340 of the decoder 220 may include at least one layer and may convert the text sequence at time t-1 (or a previous time point) into a hidden vector and output it. For example, when the voice sequence at time t (or the current time) is converted and output by the encoder 210 into a first hidden vector, the prediction module 340 converts the text sequence at time t-1 into the second hidden vector. It can be converted and output. here.
  • the terms 'first hidden vector' and 'second hidden vector' are used to distinguish and specify the hidden vector output through the encoder 210 and the hidden vector output through the prediction module 340.
  • the term prediction module 340 may be replaced with the term ‘prediction network module.’
  • the joint module 350 of the decoder 220 calculates a logit ( logit) vector can be output. For example, when the first hidden vector is output through the encoder 210 and the second hidden vector is output through the prediction module 340, the joint module 350 calculates the output based on the first hidden vector and the second hidden vector. A logit vector corresponding to the voice sequence at time t can be output.
  • the term joint module 350 may be replaced with the term ‘joint network module.’
  • the softmax module 360 of the decoder 220 may output a text sequence corresponding to the voice sequence at time t based on the input logit vector. Specifically, the softmax module 360 normalizes the input logit vector to a value between 0 and 1 to identify a class that corresponds to the voice sequence at the current time among a plurality of classes, and according to the identification result, generates a class corresponding to the voice sequence. A text sequence can be output.
  • Figure 3c is a diagram for explaining the attention-based encoder-decoder (AED) model.
  • the AED model includes an encoder 210 including a plurality of layers (370-1, 370-2,..., 370-n) and an attention module 380, and a decoding module 390. It may include a decoder 220 including a softmax module 395.
  • the encoder 210 may obtain a hidden vector corresponding to the input voice sequence through a plurality of layers 370-1, 370-2,...370-n.
  • the attention module 380 uses the hidden vector at time t obtained through a plurality of layers (370-1,370-2,...370-n) and the hidden vector at time t-1 by the decoding module 390. Attention information (eg, convex vector) can be obtained based on the vector. And, the attention module 380 can output attention information to the decoding module 390.
  • Attention information eg, convex vector
  • the decoding module 390 may output a logit vector corresponding to the speech sequence at time t based on the attention information acquired at time t and the hidden vector acquired at time t-1.
  • the softmax module 395 can output a text sequence corresponding to the voice sequence at time t based on the input logit vector. Specifically, the softmax module 395 normalizes the input logit vector to a value between 0 and 1 to identify a class corresponding to the voice sequence at the current time among a plurality of classes, and according to the identification result, a class corresponding to the voice sequence. A text sequence can be output.
  • the speech recognition model was learned using the loss value obtained at the output terminal of the decoder 220 or the output terminal of the encoder 210.
  • the loss value obtained at the output terminal of the encoder 210 may be a CTC loss value
  • the loss value obtained at the output terminal of the decoder 220 may be Transducer loss (if the speech recognition model is an RNN-T model) or CE loss ( It may be cross-entropy loss (if the voice recognition model is an AED model), but is not limited to this.
  • At least one processor 120 may train a voice recognition model based on a plurality of loss values obtained at the output terminals of a plurality of layers included in the voice recognition model.
  • the plurality of layers may be layers constituting the encoder 210 included in the voice recognition model.
  • each of the plurality of layers includes a softmax module at the output terminal, and at least one processor 210 can obtain a plurality of loss values by the softmax module included at the output terminal of each of the plurality of layers.
  • the softmax module 410 is installed at each output terminal of the plurality of layers 310-1, 310-2,...310-(n-1). -1,410-2,...410-(n-1)) may be included. And, loss values (particularly, CTC loss values) can be obtained by each softmax module (410-1, 410-2,...410-(n-1)).
  • each of the output terminals of the plurality of layers (330-1, 330-2,...330-(n-1)) included in the encoder 210 Softmax modules (420-1, 420-2,...420-(n-1)) may be included. And, loss values (particularly, CTC loss values) can be obtained by each softmax module (420-1, 420-2,...420-(n-1)).
  • a soft Max modules (430-1, 430-2,...430-(n-1)) may be included. And, loss values (particularly, CTC loss values) can be obtained by each softmax module (430-1, 430-2,...430-(n-1)).
  • At least one processor 120 may train a speech recognition model based on a plurality of acquired loss values.
  • the plurality of loss values obtained may be CTC loss values obtained at the output terminal of the plurality of layers.
  • At least one processor 120 may train a speech recognition model so that the final loss value obtained by adding the plurality of loss values obtained at the output terminals of the plurality of layers decreases.
  • At least one processor 120 may train a speech recognition model so that the final loss value (L total ) obtained by the equation below decreases.
  • L CTC(N-1) may be the CTC loss value obtained at the output terminal of the Nth layer.
  • At least one processor 120 may train a voice recognition model to reduce the final loss value (L total ) obtained by the equation below.
  • L CTC(N-1) is the CTC loss value obtained at the output stage of the Nth layer
  • A is a parameter between 0 and 1.
  • A may converge to 0 as learning progresses.
  • the parameters of the layers converge, so gradually reducing the ratio of loss values obtained at the output stage of the middle and lower layers can help improve the performance of the speech recognition model.
  • At least one processor 120 may train a speech recognition model by decreasing A. For example, if the final loss value falls below the first threshold (e.g., 0.2) while learning a speech recognition model by applying the A value to 0.7, at least one processor 120 applies A to 0.5 to perform speech recognition. You can train a model. Additionally, if the final loss value falls below the second threshold (for example, 0.1) while learning the speech recognition model by applying A to 0.5, at least one processor 120 applies A to 0.3 to train the speech recognition model. It can be learned.
  • the first threshold e.g., 0.2
  • the second threshold for example, 0.1
  • At least one processor 120 may reduce the A value by comparing the final loss value with a plurality of threshold values, thereby decreasing the A value as training of the speech recognition model progresses.
  • FIG. 5 is a diagram illustrating a control method of the electronic device 100 for learning a voice recognition model, according to an embodiment of the present disclosure.
  • the electronic device 100 receives a learning voice sequence as input to a voice recognition model including a plurality of layers (S510).
  • the voice recognition model may be one of the CTC model, RNN-T model, and AED model, but is not limited thereto.
  • the plurality of layers may be layers constituting an encoder included in the speech recognition model.
  • the electronic device 100 obtains a plurality of loss values from the output terminal of each of the plurality of layers (S520). Specifically, a softmax module may be included in the output terminal of each of the plurality of layers, and a plurality of loss values may be obtained according to the output results of each softmax module. At this time, the loss value may be a CTC loss value.
  • the electronic device 100 learns a voice recognition model based on a plurality of loss values (S530). Specifically, the electronic device 100 may learn a voice recognition model so that the final loss value obtained by adding a plurality of loss values decreases. Alternatively, the electronic device 100 may train the voice recognition model to reduce the final loss value obtained by Equation 2 below. At this time, as learning progresses, A in Equation 2 may converge to 0. Alternatively, when the final loss value becomes smaller than the threshold, the electronic device 100 can learn the voice recognition model by decreasing A in Equation 2.
  • Functions related to artificial intelligence according to the present disclosure are operated through the processor and memory of the electronic device 100.
  • the processor may consist of one or multiple processors.
  • one or more processors may include at least one of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), and a Neural Processing Unit (NPU), but are not limited to the examples of the processors described above.
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • NPU Neural Processing Unit
  • CPU is a general-purpose processor that can perform not only general calculations but also artificial intelligence calculations, and can efficiently execute complex programs through a multi-layer cache structure. CPUs are advantageous for serial processing, which allows organic connection between previous and next calculation results through sequential calculations.
  • the general-purpose processor is not limited to the examples described above, except where specified as the CPU described above.
  • GPU is a processor for large-scale operations such as floating-point operations used in graphics processing, and can perform large-scale operations in parallel by integrating a large number of cores.
  • GPUs may be more advantageous than CPUs in parallel processing methods such as convolution operations.
  • the GPU can be used as a co-processor to supplement the functions of the CPU.
  • the processor for mass computation is not limited to the above-described example, except for the case where it is specified as the GPU.
  • NPU is a processor specialized in artificial intelligence calculations using artificial neural networks, and each layer that makes up the artificial neural network can be implemented in hardware (e.g., silicon). At this time, the NPU is designed specifically according to the company's requirements, so it has a lower degree of freedom than a CPU or GPU, but can efficiently process artificial intelligence calculations requested by the company. Meanwhile, as a processor specialized for artificial intelligence calculations, NPU can be implemented in various forms such as TPU (Tensor Processing Unit), IPU (Intelligence Processing Unit), and VPU (Vision processing unit).
  • the artificial intelligence processor is not limited to the examples described above, except where specified as the NPU described above.
  • one or more processors may be implemented as a System on Chip (SoC).
  • SoC System on Chip
  • the SoC may further include memory and a network interface such as a bus for data communication between the processor and memory.
  • the electronic device uses some of the processors to perform artificial intelligence-related operations (for example, learning of an artificial intelligence model). or operations related to inference) can be performed.
  • an electronic device can perform operations related to artificial intelligence using at least one of a plurality of processors, a GPU, NPU, VPU, TPU, or hardware accelerator specialized for artificial intelligence operations such as convolution operation, matrix multiplication operation, etc. there is.
  • this is only an example, and of course, calculations related to artificial intelligence can be processed using general-purpose processors such as CPUs.
  • electronic devices can perform calculations on functions related to artificial intelligence using multiple cores (eg, dual core, quad core, etc.) included in one processor.
  • electronic devices can perform artificial intelligence operations such as convolution operations and matrix multiplication operations in parallel using multi-cores included in the processor.
  • One or more processors control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory.
  • Predefined operation rules or artificial intelligence models are characterized by being created through learning.
  • being created through learning means that a predefined operation rule or artificial intelligence model with desired characteristics is created by applying a learning algorithm to a large number of learning data.
  • This learning may be performed on the device itself that performs the artificial intelligence according to the present disclosure, or may be performed through a separate server/system.
  • An artificial intelligence model may be composed of multiple neural network layers. At least one layer has at least one weight value, and the operation of the layer is performed using the operation result of the previous layer and at least one defined operation.
  • Examples of neural networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), and Deep Neural Network (BRDNN).
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Restricted Boltzmann Machine
  • BBM Restricted Boltzmann Machine
  • BBN Deep Belief Network
  • BBN Deep Belief Network
  • BBN Bidirectional Recurrent Deep Neural Network
  • BDN Deep Neural Network
  • BDN Deep Neural Network
  • a learning algorithm is a method of training a target device (eg, a robot) using a large number of learning data so that the target device can make decisions or make predictions on its own.
  • Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified. Except, it is not limited to the examples described above.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
  • a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
  • at least a portion of the computer program product e.g., a downloadable app
  • a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
  • Methods according to various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage media that can be read by a machine (e.g., a computer).
  • the device stores information stored from the storage medium.
  • a device capable of calling a command and operating according to the called command may include an electronic device (eg, a TV) according to the disclosed embodiments.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term is used to refer to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as .
  • a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
  • the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor.
  • Instructions may contain code generated or executed by a compiler or interpreter.

Abstract

Provided are an electronic device for training a speech recognition model and a control method thereof. The control method of the electronic device for training a speech recognition model comprises the steps of: inputting a training speech sequence into a speech recognition model including a plurality of layers; obtaining a plurality of loss values respectively from output terminals of the plurality of layers; and training the speech recognition model on the basis of the plurality of loss values.

Description

음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법Electronic device for learning a voice recognition model and method for controlling the same
본 개시는 종단간(end-to-end) 음성 인식 모델을 학습시키기 위한 전자 장치 및 이의 제어 방법에 관한 것이다.This disclosure relates to an electronic device and a control method thereof for learning an end-to-end speech recognition model.
근래에는 인공 지능 관련 기술의 발달에 따라, 사용자에 의해 발화된 음성을 인식하기 위한 음성 인식 기술이 발달하고 있다. Recently, with the development of artificial intelligence-related technology, voice recognition technology has been developed to recognize voices uttered by users.
종래의 음성 인식 시스템은 일반적으로, 음향 특징을 추출하고 음소와 같은 서브 워드(sub-word)를 예측하는 AM(Acoustic Model), 음소 시퀀스를 단어 시퀀스에 매핑하는 PM(Pronunciation Model), 단어 시퀀스에 확률을 지정하는 LM(Language Model)을 포함할 수 있다. 그리고, 종래의 음성 인식 시스템에서는 AM, PM 및 LM이 서로 다른 데이터 세트에서 독립적으로 학습되는 것이 일반적이었다. Conventional speech recognition systems generally include an Acoustic Model (AM) that extracts acoustic features and predicts sub-words such as phonemes, a Pronunciation Model (PM) that maps phoneme sequences to word sequences, and a Pronunciation Model (PM) that maps phoneme sequences to word sequences. It may include an LM (Language Model) that specifies probability. And, in conventional speech recognition systems, it was common for AM, PM, and LM to be learned independently from different data sets.
그러나, 근래에는 AM, PM 및 LM의 구성요소를 단일 신경망으로 결합하는 방식인 종단간(end-to-end) 음성 인식 모델이 개발되고 있다.However, recently, an end-to-end speech recognition model has been developed that combines AM, PM, and LM components into a single neural network.
본 개시의 일 실시예에 따른, 음성 인식 모델을 학습시키기 위한 전자 장치의 제어 방법은, 복수의 레이어를 포함하는 음성 인식 모델에 학습 음성 시퀀스를 입력하는 단계; 상기 복수의 레이어 각각의 출력단에서 복수의 손실값을 획득하는 단계; 및 상기 복수의 손실값에 기초하여 상기 음성 인식 모델을 학습하는 단계;를 포함한다.According to an embodiment of the present disclosure, a method of controlling an electronic device for learning a voice recognition model includes inputting a learning voice sequence into a voice recognition model including a plurality of layers; Obtaining a plurality of loss values at the output terminal of each of the plurality of layers; and learning the speech recognition model based on the plurality of loss values.
본 개시의 일 실시예에 따른, 음성 인식 모델을 학습시키기 위한 전자 장치는 음성 인식 모델에 대한 데이터를 저장하는 메모리; 및 적어도 하나의 프로세서를 포함한다. 상기 적어도 하나의 프로세서는, 복수의 레이어를 포함하는 음성 인식 모델에 학습 음성 시퀀스가 입력되면, 상기 복수의 레이어 각각의 출력단에서 복수의 손실값을 획득한다. 그리고, 적어도 하나의 프로세서는 상기 복수의 손실값에 기초하여 상기 음성 인식 모델을 학습시킨다.According to an embodiment of the present disclosure, an electronic device for learning a voice recognition model includes a memory that stores data about the voice recognition model; and at least one processor. When a learning voice sequence is input to a voice recognition model including a plurality of layers, the at least one processor obtains a plurality of loss values from an output terminal of each of the plurality of layers. And, at least one processor trains the speech recognition model based on the plurality of loss values.
본 개시의 일 실시예에 따른, 음성 인식 모델을 학습시키기 위한 전자 장치의 제어 방법을 실행시키기 위한 프로그램을 포함하는 비일시적인 컴퓨터 판독가능한 기록매체에 있어서, 상기 제어 방법은, 복수의 레이어를 포함하는 음성 인식 모델에 학습 음성 시퀀스를 입력하는 단계; 상기 복수의 레이어 각각의 출력단에서 복수의 손실값을 획득하는 단계; 및 상기 복수의 손실값에 기초하여 상기 음성 인식 모델을 학습하는 단계;를 포함한다.According to an embodiment of the present disclosure, in a non-transitory computer-readable recording medium including a program for executing a control method of an electronic device for learning a voice recognition model, the control method includes a plurality of layers. Inputting a learning speech sequence into a speech recognition model; Obtaining a plurality of loss values at the output terminal of each of the plurality of layers; and learning the speech recognition model based on the plurality of loss values.
도 1은 본 개시의 일 실시예에 따른, 전자 장치의 구성을 도시한 블록도,1 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure;
도 2는 본 개시의 일 실시예에 따른, 음성 인식 모델을 간략하게 설명하기 위한 도면,2 is a diagram briefly explaining a voice recognition model according to an embodiment of the present disclosure;
도 3a는 CTC 모델을 도시한 도면,Figure 3a is a diagram showing the CTC model;
도 3b는 RNN-T 모델을 도시한 도면,Figure 3b is a diagram showing the RNN-T model;
도 3c는 AED 모델을 도시한 도면,Figure 3c is a diagram showing the AED model;
도 4a는 본 개시의 일 실시예에 따른, CTC 모델을 학습하는 방법을 설명하기 위한 도면,FIG. 4A is a diagram for explaining a method of learning a CTC model according to an embodiment of the present disclosure;
도 4b는 본 개시의 일 실시예에 따른, RNN-T 모델을 학습하는 방법을 설명하기 위한 도면,Figure 4b is a diagram for explaining a method of learning an RNN-T model according to an embodiment of the present disclosure;
도 4c는 본 개시의 일 실시예에 따른, AED 모델을 학습하는 방법을 설명하기 위한 도면,Figure 4c is a diagram for explaining a method of learning an AED model according to an embodiment of the present disclosure;
도 5는 본 개시의 일 실시예에 따른, 음성 인식 모델을 학습시키기 위한 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.FIG. 5 is a flowchart illustrating a method of controlling an electronic device for learning a voice recognition model, according to an embodiment of the present disclosure.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.Since these embodiments can be modified in various ways and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope to specific embodiments, and should be understood to include various modifications, equivalents, and/or alternatives to the embodiments of the present disclosure. In connection with the description of the drawings, similar reference numbers may be used for similar components.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. In describing the present disclosure, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present disclosure, the detailed description thereof will be omitted.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.In addition, the following examples may be modified into various other forms, and the scope of the technical idea of the present disclosure is not limited to the following examples. Rather, these embodiments are provided to make the present disclosure more faithful and complete and to completely convey the technical idea of the present disclosure to those skilled in the art.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terms used in this disclosure are merely used to describe specific embodiments and are not intended to limit the scope of rights. Singular expressions include plural expressions unless the context clearly dictates otherwise.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. In the present disclosure, expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In the present disclosure, expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together. . For example, “A or B,” “at least one of A and B,” or “at least one of A or B” includes (1) at least one A, (2) at least one B, or (3) it may refer to all cases including both at least one A and at least one B.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. Expressions such as “first,” “second,” “first,” or “second,” used in the present disclosure can modify various components regardless of order and/or importance, and can refer to one component. It is only used to distinguish from other components and does not limit the components.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. A component (e.g., a first component) is “(operatively or communicatively) coupled with/to” another component (e.g., a second component). When referred to as being “connected to,” it should be understood that any component may be directly connected to the other component or may be connected through another component (e.g., a third component).
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.On the other hand, when a component (e.g., a first component) is said to be “directly connected” or “directly connected” to another component (e.g., a second component), It may be understood that no other component (e.g., a third component) exists between other components.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. The expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ," can be used interchangeably with "designed to," "adapted to," "made to," or "capable of." The term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.Instead, in some contexts, the expression “a device configured to” may mean that the device is “capable of” working with other devices or components. For example, the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored on a memory device. , may refer to a general-purpose processor (e.g., CPU or application processor) capable of performing the corresponding operations.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In an embodiment, a 'module' or 'unit' performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented with at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다. Meanwhile, various elements and areas in the drawing are schematically drawn. Accordingly, the technical idea of the present invention is not limited by the relative sizes or spacing drawn in the attached drawings.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.Hereinafter, with reference to the attached drawings, embodiments according to the present disclosure will be described in detail so that those skilled in the art can easily implement them.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 간략하게 나타내는 블록도이다. 본 개시에 따른 '전자 장치(100)'는 사용자 음성에 대응되는 음성 시퀀스를 입력하여 음성 시퀀스에 대응되는 텍스트 시퀀스를 획득할 수 있는 음성 인식 모델을 학습시킬 수 있는 장치를 말한다. 예를 들어, 전자 장치(100)는 서버와 같은 장치일 수 있으나, 스마트폰, 태블릿 PC 등과 같은 사용자 단말일 수 있다.FIG. 1 is a block diagram briefly illustrating the configuration of an electronic device 100 according to an embodiment of the present disclosure. The 'electronic device 100' according to the present disclosure refers to a device that can input a voice sequence corresponding to a user's voice and learn a voice recognition model that can obtain a text sequence corresponding to the voice sequence. For example, the electronic device 100 may be a device such as a server, or may be a user terminal such as a smartphone or tablet PC.
도 1 에 도시된 바와 같이, 본 개시의 일 실시예에 따른 전자 장치(100)는 메모리(110) 및 적어도 하나의 프로세서(120)를 포함할 수 있다. 다만, 도 1에 도시된 구성은 일 실시예에 불과할 뿐, 전자 장치(100)의 유형에 따라 다른 구성이 추가될 수 있음은 물론이다. 예를 들어, 전자 장치(100)가 서버로 구현된 경우, 학습 데이터(예로, 학습 음성 시퀀스, 학습 음성 신호 등)를 획득하기 위한 통신 인터페이스를 더 포함할 수 있으며, 전자 장치(100)가 사용자 단말로 구현될 경우, 학습 데이터를 획득하기 위한 통신 인터페이스, 입력 인터페이스(예로, 마이크) 등을 더 포함할 수 있음은 물론이다.As shown in FIG. 1, the electronic device 100 according to an embodiment of the present disclosure may include a memory 110 and at least one processor 120. However, the configuration shown in FIG. 1 is only an example, and other configurations may be added depending on the type of the electronic device 100. For example, if the electronic device 100 is implemented as a server, it may further include a communication interface for acquiring learning data (e.g., a learning voice sequence, a learning voice signal, etc.), and the electronic device 100 may be configured as a server. Of course, when implemented as a terminal, it may further include a communication interface and an input interface (for example, a microphone) for acquiring learning data.
메모리(110)에는 전자 장치(100)를 제어하기 위한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 그리고, 메모리(110)에는 전자 장치(100)를 구동시키기 위한 O/S(Operating System)가 저장될 수 있다. 또한, 메모리(110)에는 본 개시의 다양한 실시 예들에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수도 있다. 그리고, 메모리(110)는 플래시 메모리(Flash Memory) 등과 같은 반도체 메모리나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.At least one instruction for controlling the electronic device 100 may be stored in the memory 110 . Additionally, an operating system (O/S) for driving the electronic device 100 may be stored in the memory 110 . Additionally, the memory 110 may store various software programs or applications for operating the electronic device 100 according to various embodiments of the present disclosure. Additionally, the memory 110 may include a semiconductor memory such as flash memory or a magnetic storage medium such as a hard disk.
구체적으로, 메모리(110)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 모듈이 저장될 수 있으며, 적어도 하나의 프로세서(120)는 메모리(110)에 저장된 각종 소프트웨어 모듈을 실행하여 전자 장치(100)의 동작을 제어할 수 있다. 즉, 메모리(110)는 적어도 하나의 프로세서(120)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. Specifically, the memory 110 may store various software modules for operating the electronic device 100 according to various embodiments of the present disclosure, and at least one processor 120 may store various software modules stored in the memory 110. The operation of the electronic device 100 can be controlled by executing the module. That is, the memory 110 is accessed by at least one processor 120, and data read/write/modify/delete/update, etc. can be performed by the processor 130.
한편, 본 개시에서 메모리(110)라는 용어는 메모리(110), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함하는 의미로 사용될 수 있다.Meanwhile, in the present disclosure, the term memory 110 refers to memory 110, ROM (not shown), RAM (not shown) in the processor 120, or a memory card (not shown) mounted on the electronic device 100 (e.g. For example, it can be used to mean including micro SD card, memory stick).
특히, 본 개시에 따른 다양한 실시 예에 있어서, 메모리(110)에는 음성 인식 모델에 대한 데이터가 저장될 수 있다. 여기서, 음성 인식 모델에 대한 데이터라 함은 음성 인식 모델에 포함되는 신경망을 구성하는 가중치, 각종 파라미터 및 노드 등에 대한 정보를 포함할 수 있으며, 음성 인식 모델을 학습시키기 위한 학습 데이터, 음성 인식 모델에 대한 입출력 데이터, 음성 인식 모델에 포함된 모듈들의 입출력 데이터 등을 포함할 수도 있다. 또한, 메모리(110)에는 사용자 음성에 대응되는 음성 신호와 음성 시퀀스에 대한 정보 및 음성 시퀀스에 대응되는 텍스트 시퀀스에 대한 정보가 저장될 수 있다. In particular, in various embodiments according to the present disclosure, data about a voice recognition model may be stored in the memory 110. Here, the data for the voice recognition model may include information on weights, various parameters and nodes that make up the neural network included in the voice recognition model, and may include training data for training the voice recognition model, and information on the voice recognition model. It may also include input/output data for modules, input/output data of modules included in the voice recognition model, etc. Additionally, the memory 110 may store information about a voice signal and voice sequence corresponding to the user's voice, and information about a text sequence corresponding to the voice sequence.
그 밖에도 본 개시의 목적을 달성하기 위한 범위 내에서 필요한 다양한 정보가 메모리(110)에 저장될 수 있으며, 메모리(110)에 저장된 정보는 외부 장치로부터 수신되거나 사용자에 의해 입력됨에 따라 갱신될 수도 있다.In addition, various information necessary within the scope of achieving the purpose of the present disclosure may be stored in the memory 110, and the information stored in the memory 110 may be updated as it is received from an external device or input by the user. .
적어도 하나의 프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 적어도 하나의 프로세서(120)는 메모리(110)를 포함하는 전자 장치(100)의 구성과 연결되며, 상술한 바와 같은 메모리(120)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 전자 장치(100)의 동작을 전반적으로 제어할 수 있다.At least one processor 120 controls the overall operation of the electronic device 100. Specifically, at least one processor 120 is connected to the configuration of the electronic device 100 including the memory 110, and executes at least one instruction stored in the memory 120 as described above, thereby controlling the electronic device ( 100) operations can be controlled overall.
적어도 하나의 프로세서(120)는 사용자 음성에 대응되는 음성 시퀀스를 입력하여 음성 시퀀스에 대응되는 텍스트 시퀀스를 획득할 수 있는 음성 인식 모델을 학습시킬 수 있다. 특히, 본 개시의 일 실시예에 있어서, 복수의 레이어를 포함하는 음성 인식 모델에 학습 음성 시퀀스가 입력되면, 적어도 하나의 프로세서(120)는 복수의 레이어 각각의 출력단에서 복수의 손실값을 획득하고, 복수의 손실값에 기초하여 음성 인식 모델을 학습시킬 수 있다.At least one processor 120 may input a voice sequence corresponding to a user's voice and train a voice recognition model capable of obtaining a text sequence corresponding to the voice sequence. In particular, in one embodiment of the present disclosure, when a learning speech sequence is input to a speech recognition model including a plurality of layers, at least one processor 120 obtains a plurality of loss values from the output terminal of each of the plurality of layers, and , a speech recognition model can be trained based on a plurality of loss values.
여기서, '음성 인식 모델'은 사용자 음성을 인식하여 사용자 음성에 대응되는 텍스트 데이터를 획득하도록 학습된 신경망 모델을 말한다. 특히, 본 개시에 따른 음성 인식 모델은 기설정된 언어에 대한 음성 인식을 수행할 수 있도록 구성될 수 있다. 음성 인식 모델은 ASR(automatic speech recognition) 모델이라고 지칭될 수 있다. 특히, 본 개시의 일 실시예에 따른, 음성 인식 모델은 입력된 음성 시퀀스에 대응되는 텍스트 시퀀스(예: 음소 시퀀스, 단어 시퀀스 등)를 직접적으로 예측하는 종단간(end-to-end) 음성 인식 모델일 수 있다. Here, 'voice recognition model' refers to a neural network model learned to recognize the user's voice and obtain text data corresponding to the user's voice. In particular, the speech recognition model according to the present disclosure can be configured to perform speech recognition for a preset language. The speech recognition model may be referred to as an automatic speech recognition (ASR) model. In particular, according to an embodiment of the present disclosure, the speech recognition model is an end-to-end speech recognition that directly predicts a text sequence (e.g., phoneme sequence, word sequence, etc.) corresponding to the input speech sequence. It could be a model.
여기서, '음성 시퀀스'라는 용어는 사용자의 발화에 의한 사용자 음성이 입력 수단(예로, 마이크)를 통해 음성 신호의 형태로 순차적으로 수신되는 경우, 그 순차적으로 수신되는 음성 신호의 집합을 특정하기 위한 용어로 사용된다. 이때, 음성 시퀀스는 음성 전처리(예를 들어, 노이즈 제거, 시간-주파수 변환 등)가 된 신호일 수 있다. Here, the term 'voice sequence' is used to specify a set of sequentially received voice signals when the user's voice generated by the user's speech is sequentially received in the form of a voice signal through an input means (e.g., microphone). It is used as a term. At this time, the voice sequence may be a signal that has undergone voice preprocessing (e.g., noise removal, time-frequency conversion, etc.).
도 2는 본 개시의 일 실시예에 따른, 음성 인식 모델을 간략하게 설명하기 위한 도면이다. 구체적으로, 본 개시의 일 실시예에 따른, 음성 인식 모델은 음성 시퀀스에 대응되는 히든 벡터(hidden vector)를 획득하기 위한 인코더(210) 및 히든 벡터에 기초하여 텍스트 시퀀스를 획득하기 위한 디코더(220)를 포함하는 시퀀스 투 시퀀스(sequence-to-sequence) 모델일 수 있다. FIG. 2 is a diagram briefly explaining a voice recognition model according to an embodiment of the present disclosure. Specifically, according to an embodiment of the present disclosure, the speech recognition model includes an encoder 210 for obtaining a hidden vector corresponding to a voice sequence and a decoder 220 for obtaining a text sequence based on the hidden vector. ) It may be a sequence-to-sequence model including.
인코더(210)는 기설정된 언어(예로, 영어 또는 한국어 등)로 이루어진 학습 데이터에 기초하여 학습될 수 있으며, 입력되는 음성 시퀀스에 대응되는 히든 벡터를 출력하도록 학습될 수 있다. 이때, 인코더(210)에는 음성 시퀀스에 대응되는 히든 벡터를 획득하기 위한 복수의 레이어를 포함할 수 있다. 이때, 레이어는 LSTM(Long Short-Term Memory)으로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, GRU(Gated Recurrent Units), Conformer, CNN(Convolutional Neural Network), Transformer등으로 구현될 수 있다.The encoder 210 may be trained based on training data consisting of a preset language (eg, English or Korean, etc.), and may be trained to output a hidden vector corresponding to an input voice sequence. At this time, the encoder 210 may include a plurality of layers for obtaining hidden vectors corresponding to the voice sequence. At this time, the layer may be implemented with LSTM (Long Short-Term Memory), but this is only an example and may be implemented with GRU (Gated Recurrent Units), Conformer, CNN (Convolutional Neural Network), Transformer, etc.
디코더(220)는 인코더(210)의 출력 값인 히든 벡터에 기초하여 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. 이때, 디코더(220)는 음성 인식의 유형에 따라 다양한 유형의 모듈을 포함할 수 있다. 이에 대해서는 도 3a 내지 도 3c를 참조하여 설명하기로 한다.The decoder 220 may output a text sequence corresponding to the voice sequence based on the hidden vector, which is the output value of the encoder 210. At this time, the decoder 220 may include various types of modules depending on the type of voice recognition. This will be explained with reference to FIGS. 3A to 3C.
특히, 기본적으로 디코더(220)보다는 인코더(210)의 성능에 따라 음성 인식 모델의 성능이 결정된다. 일반적으로 음성 인식 모델의 인코더는 5~20개의 레이어를 포함하지만, 음성 인식 모델의 디코더는 1~2개의 레이어를 포함한다. 다만, 음성 인식 모델의 인코더에 포함된 레이어의 수를 너무 늘리면, 레이어의 파라미터가 수렴(converge)되지 않는 문제점이 있다.In particular, the performance of the speech recognition model is basically determined by the performance of the encoder 210 rather than the decoder 220. Typically, the encoder of a speech recognition model contains 5 to 20 layers, while the decoder of a speech recognition model contains 1 to 2 layers. However, if the number of layers included in the encoder of the speech recognition model is increased too much, there is a problem in that the parameters of the layers do not converge.
도 3a 내지 도 3c는 다양한 실시예에 따른 음성 인식 모델을 설명하기 위한 도면이다. 3A to 3C are diagrams for explaining a voice recognition model according to various embodiments.
도 3a는 CTC(connectionist temporal classification) 모델을 설명하기 위한 도면이다. CTC 모델은 입력 음성 시퀀스와 텍스트 시퀀스 간에 명시적인 얼라인먼트(alignment) 정보 없이도 음성 시퀀스를 입력하여 텍스트 시퀀스를 획득할 수 있는 음성 인식 모델이다.Figure 3a is a diagram for explaining a connectionist temporal classification (CTC) model. The CTC model is a speech recognition model that can obtain a text sequence by inputting a speech sequence without explicit alignment information between the input speech sequence and the text sequence.
CTC 모델은 도 3a에 도시된 바와 같이, 복수의 레이어(310-1,310-2,...310-n)를 포함하는 인코더(210)와 소프트맥스 모듈(320)을 포함하는 디코더(220)를 포함할 수 있다. 인코더(210)는 복수의 레이어(310-1,310-2,...310-n)를 통해 입력된 음성 시퀀스에 대응되는 히든 벡터를 획득할 수 있다. 디코더(210)는 소프트맥스 모듈(softmax module)(320)을 통해 입력된 히든 벡터에 기초하여 현재 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. 구체적으로, 소프트맥스 모듈(320)은 입력된 히든 벡터를 0 내지 1사이의 값으로 정규화함으로써 복수의 클래스 중 현재 시점의 음성 시퀀스에 대응되는 클래스를 식별하고, 식별 결과에 따라 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. As shown in Figure 3a, the CTC model includes an encoder 210 including a plurality of layers (310-1, 310-2,...310-n) and a decoder 220 including a softmax module 320. It can be included. The encoder 210 may obtain a hidden vector corresponding to the input voice sequence through a plurality of layers 310-1, 310-2,...310-n. The decoder 210 may output a text sequence corresponding to the voice sequence at the current time based on the hidden vector input through the softmax module 320. Specifically, the softmax module 320 identifies the class corresponding to the voice sequence at the current time among a plurality of classes by normalizing the input hidden vector to a value between 0 and 1, and creates a class corresponding to the voice sequence according to the identification result. A text sequence can be output.
도 3b는 RNN-T(recurrent neural network-Transducer) 모델을 설명하기 위한 도면이다. RNN-T 모델은 도 3b에 도시된 바와 같이, 복수의 레이어(330-1,330-2,...,330-n)을 포함하는 인코더(210), 및 예측 모듈(340), 조인트 모듈(350)과 소프트맥스 모듈(360)을 포함하는 디코더(220)를 포함할 수 있다.Figure 3b is a diagram for explaining a recurrent neural network-transducer (RNN-T) model. As shown in Figure 3b, the RNN-T model includes an encoder 210 including a plurality of layers 330-1, 330-2,..., 330-n, a prediction module 340, and a joint module 350. ) and a decoder 220 including a softmax module 360.
인코더(210)는 복수의 레이어(330-1,330-2,...330-n)를 통해 입력된 음성 시퀀스에 대응되는 히든 벡터를 획득할 수 있다. The encoder 210 may obtain a hidden vector corresponding to the input voice sequence through a plurality of layers 330-1, 330-2,...330-n.
디코더(220)의 예측 모듈(prediction module)(340)은 적어도 하나의 레이어를 포함할 수 있으며, t-1 시점(또는 이전 시점)의 텍스트 시퀀스를 히든 벡터로 변환하여 출력할 수 있다. 예를 들어, 인코더(210)에 의해 t 시점(또는 현재 시점)의 음성 시퀀스가 제1 히든 벡터로 변환되어 출력되는 경우, 예측 모듈(340)은 t-1 시점의 텍스트 시퀀스를 제2 히든 벡터로 변환하여 출력할 수 있다. 여기서. '제1 히든 벡터'와 '제2 히든 벡터'라는 용어는 인코더(210)를 통해 출력되는 히든 벡터와 예측 모듈(340)을 통해 출력되는 히든 벡터를 구별하여 특정하기 위한 용어로 사용된다. 예측 모듈(340)이라는 용어는 '예측 네트워크 모듈(prediction network module)'이라는 용어로 대체될 수 있다. The prediction module 340 of the decoder 220 may include at least one layer and may convert the text sequence at time t-1 (or a previous time point) into a hidden vector and output it. For example, when the voice sequence at time t (or the current time) is converted and output by the encoder 210 into a first hidden vector, the prediction module 340 converts the text sequence at time t-1 into the second hidden vector. It can be converted and output. here. The terms 'first hidden vector' and 'second hidden vector' are used to distinguish and specify the hidden vector output through the encoder 210 and the hidden vector output through the prediction module 340. The term prediction module 340 may be replaced with the term ‘prediction network module.’
디코더(220)의 조인트 모듈(joint module)(350)은 인코더(210)를 통해 출력되는 히든 벡터와 예측 모듈(340)을 통해 출력되는 히든 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 로짓(logit) 벡터를 출력할 수 있다. 예를 들어, 인코더(210)를 통해 제1 히든 벡터가 출력되고 예측 모듈(340)을 통해 제2 히든 벡터가 출력되면, 조인트 모듈(350)은 제1 히든 벡터 및 제2 히든 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 로짓 벡터를 출력할 수 있다. 조인트 모듈(350)이라는 용어는 '조인트 네트워크 모듈(joint network module)'이라는 용어로 대체될 수 있다.The joint module 350 of the decoder 220 calculates a logit ( logit) vector can be output. For example, when the first hidden vector is output through the encoder 210 and the second hidden vector is output through the prediction module 340, the joint module 350 calculates the output based on the first hidden vector and the second hidden vector. A logit vector corresponding to the voice sequence at time t can be output. The term joint module 350 may be replaced with the term ‘joint network module.’
디코더(220)의 소프트맥스 모듈(softmax module)(360)은 입력된 로짓 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. 구체적으로, 소프트맥스 모듈(360)은 입력된 로짓 벡터를 0 내지 1사이의 값으로 정규화함으로써 복수의 클래스 중 현재 시점의 음성 시퀀스에 대응되는 클래스를 식별하고, 식별 결과에 따라 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. The softmax module 360 of the decoder 220 may output a text sequence corresponding to the voice sequence at time t based on the input logit vector. Specifically, the softmax module 360 normalizes the input logit vector to a value between 0 and 1 to identify a class that corresponds to the voice sequence at the current time among a plurality of classes, and according to the identification result, generates a class corresponding to the voice sequence. A text sequence can be output.
도 3c는 AED(attention-based encoder-decoder) 모델을 설명하기 위한 도면이다. AED 모델은 도 3c에 도시된 바와 같이, 복수의 레이어(370-1,370-2,...,370-n)와 어텐션 모듈(380)을 포함하는 인코더(210), 및 디코딩 모듈(390)과 소프트맥스 모듈(395)을 포함하는 디코더(220)를 포함할 수 있다.Figure 3c is a diagram for explaining the attention-based encoder-decoder (AED) model. As shown in FIG. 3C, the AED model includes an encoder 210 including a plurality of layers (370-1, 370-2,..., 370-n) and an attention module 380, and a decoding module 390. It may include a decoder 220 including a softmax module 395.
인코더(210)는 복수의 레이어(370-1,370-2,...370-n)를 통해 입력된 음성 시퀀스에 대응되는 히든 벡터를 획득할 수 있다. The encoder 210 may obtain a hidden vector corresponding to the input voice sequence through a plurality of layers 370-1, 370-2,...370-n.
어텐션 모듈(attention module)(380)은 복수의 레이어(370-1,370-2,...370-n)를 통해 획득된 t 시점의 히든 벡터와 디코딩 모듈(390)에 의해 t-1 시점의 히든 벡터에 기초하여 어텐션 정보(예로, convex vector)를 획득할 수 있다. 그리고, 어텐션 모듈(380)은 어텐션 정보를 디코딩 모듈(390)로 출력할 수 있다.The attention module 380 uses the hidden vector at time t obtained through a plurality of layers (370-1,370-2,...370-n) and the hidden vector at time t-1 by the decoding module 390. Attention information (eg, convex vector) can be obtained based on the vector. And, the attention module 380 can output attention information to the decoding module 390.
디코딩 모듈(decoding module)(390)은 t 시점에 획득된 어텐션 정보와 t-1 시점에 획득된 히든 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 로짓 벡터를 출력할 수 있다.The decoding module 390 may output a logit vector corresponding to the speech sequence at time t based on the attention information acquired at time t and the hidden vector acquired at time t-1.
소프트맥스 모듈(softmax module)(395)은 입력된 로짓 벡터에 기초하여 t 시점의 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. 구체적으로, 소프트맥스 모듈(395)은 입력된 로짓 벡터를 0 내지 1사이의 값으로 정규화함으로써 복수의 클래스 중 현재 시점의 음성 시퀀스에 대응되는 클래스를 식별하고, 식별 결과에 따라 음성 시퀀스에 대응되는 텍스트 시퀀스를 출력할 수 있다. The softmax module 395 can output a text sequence corresponding to the voice sequence at time t based on the input logit vector. Specifically, the softmax module 395 normalizes the input logit vector to a value between 0 and 1 to identify a class corresponding to the voice sequence at the current time among a plurality of classes, and according to the identification result, a class corresponding to the voice sequence. A text sequence can be output.
한편, 종래에는 도 3a 내지 도 3c의 음성 인식 모델을 학습할 경우, 디코더(220)의 출력단 또는 인코더(210)의 출력단에서 획득된 손실값(loss)을 이용하여 음성 인식 모델을 학습하였다. 이때, 인코더(210)의 출력단에서 획득되는 손실값은 CTC 손실값일 수 있으며, 디코더(220)의 출력단에서 획득되는 손실값은 Transducer loss(음성 인식 모델이 RNN-T 모델인 경우) 또는 CE loss(cross-entropy loss)(음성 인식 모델이 AED 모델인 경우)일 수 있으나, 이에 한정되는 것은 아니다.Meanwhile, conventionally, when learning the speech recognition model of FIGS. 3A to 3C, the speech recognition model was learned using the loss value obtained at the output terminal of the decoder 220 or the output terminal of the encoder 210. At this time, the loss value obtained at the output terminal of the encoder 210 may be a CTC loss value, and the loss value obtained at the output terminal of the decoder 220 may be Transducer loss (if the speech recognition model is an RNN-T model) or CE loss ( It may be cross-entropy loss (if the voice recognition model is an AED model), but is not limited to this.
그러나, 본 개시의 일 실시예에 의하면, 적어도 하나의 프로세서(120)는 음성 인식 모델에 포함된 복수의 레이어의 출력단에서 획득된 복수의 손실값에 기초하여 음성 인식 모델을 학습시킬 수 있다. 이때, 복수의 레이어는 음성 인식 모델에 포함된 인코더(210)를 구성하는 레이어일 수 있다.However, according to an embodiment of the present disclosure, at least one processor 120 may train a voice recognition model based on a plurality of loss values obtained at the output terminals of a plurality of layers included in the voice recognition model. At this time, the plurality of layers may be layers constituting the encoder 210 included in the voice recognition model.
그리고, 복수의 레이어 각각은 출력단에 소프트맥스 모듈을 포함하며, 적어도 하나의 프로세서(210)는 복수의 레이어 각각의 출력단에 포함된 소프트맥스 모듈에 의해 복수의 손실값을 획득할 수 있다.In addition, each of the plurality of layers includes a softmax module at the output terminal, and at least one processor 210 can obtain a plurality of loss values by the softmax module included at the output terminal of each of the plurality of layers.
구체적으로, 음성 인식 모델이 CTC 모델인 경우, 도 4a에 도시된 바와 같이, 복수의 레이어(310-1,310-2,...310-(n-1))의 출력단 각각에 소프트맥스 모듈(410-1,410-2,...410-(n-1))이 포함될 수 있다. 그리고, 각각의 소프트맥스 모듈(410-1,410-2,...410-(n-1))에 의해 손실값(특히, CTC 손실값)이 획득될 수 있다.Specifically, when the voice recognition model is a CTC model, as shown in FIG. 4A, the softmax module 410 is installed at each output terminal of the plurality of layers 310-1, 310-2,...310-(n-1). -1,410-2,...410-(n-1)) may be included. And, loss values (particularly, CTC loss values) can be obtained by each softmax module (410-1, 410-2,...410-(n-1)).
음성 인식 모델이 RNN-T 모델인 경우, 도 4b에 도시된 바와 같이, 인코더(210)에 포함된 복수의 레이어(330-1,330-2,...330-(n-1))의 출력단 각각에 소프트맥스 모듈(420-1,420-2,...420-(n-1))이 포함될 수 있다. 그리고, 각각의 소프트맥스 모듈(420-1,420-2,...420-(n-1))에 의해 손실값(특히, CTC 손실값)이 획득될 수 있다.When the speech recognition model is an RNN-T model, as shown in FIG. 4b, each of the output terminals of the plurality of layers (330-1, 330-2,...330-(n-1)) included in the encoder 210 Softmax modules (420-1, 420-2,...420-(n-1)) may be included. And, loss values (particularly, CTC loss values) can be obtained by each softmax module (420-1, 420-2,...420-(n-1)).
음성 인식 모델이 AED 모델인 경우, 도 4c에 도시된 바와 같이, 인코더(210)에 포함된 복수의 레이어(370-1,370-2,...370-(n-1))의 출력단 각각에 소프트맥스 모듈(430-1,430-2,...430-(n-1))이 포함될 수 있다. 그리고, 각각의 소프트맥스 모듈(430-1,430-2,...430-(n-1))에 의해 손실값(특히, CTC 손실값)이 획득될 수 있다.When the voice recognition model is an AED model, as shown in FIG. 4C, a soft Max modules (430-1, 430-2,...430-(n-1)) may be included. And, loss values (particularly, CTC loss values) can be obtained by each softmax module (430-1, 430-2,...430-(n-1)).
적어도 하나의 프로세서(120)는 획득된 복수의 손실값에 기초하여 음성 인식 모델을 학습시킬 수 있다. 이때, 획득된 복수의 손실값은 복수의 레이어의 출력단에서 획득된 CTC 손실값일 수 있다.At least one processor 120 may train a speech recognition model based on a plurality of acquired loss values. At this time, the plurality of loss values obtained may be CTC loss values obtained at the output terminal of the plurality of layers.
예를 들어, 적어도 하나의 프로세서(120)는 복수의 레이어의 출력단에서 획득한 복수의 손실값을 더한 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다.For example, at least one processor 120 may train a speech recognition model so that the final loss value obtained by adding the plurality of loss values obtained at the output terminals of the plurality of layers decreases.
구체적으로, 적어도 하나의 프로세서(120)는 아래의 수식에 의해 획득된 최종 손실값(Ltotal)이 감소하도록 음성 인식 모델을 학습시킬 수 있다.Specifically, at least one processor 120 may train a speech recognition model so that the final loss value (L total ) obtained by the equation below decreases.
Figure PCTKR2023011062-appb-img-000001
Figure PCTKR2023011062-appb-img-000001
이때, LCTC(N-1)는 N번째 레이어의 출력단에서 획득된 CTC 손실값일 수 있다.At this time, L CTC(N-1) may be the CTC loss value obtained at the output terminal of the Nth layer.
또한, 적어도 하나의 프로세서(120)는 아래의 수학식에 의해 획득된 최종 손실값(Ltotal)이 감소하도록 음성 인식 모델을 학습시킬 수 있다.Additionally, at least one processor 120 may train a voice recognition model to reduce the final loss value (L total ) obtained by the equation below.
Figure PCTKR2023011062-appb-img-000002
Figure PCTKR2023011062-appb-img-000002
이때, LCTC(N-1)은 N 번째 레이어의 출력단에서 획득한 CTC 손실값, A는 0과 1사이의 파라미터임.At this time, L CTC(N-1) is the CTC loss value obtained at the output stage of the Nth layer, and A is a parameter between 0 and 1.
이때, A는 학습이 진행될수록 0으로 수렴할 수 있다. 구체적으로, 음성 인식 모델이 어느정도 학습이 진행되면 레이어의 파라미터가 수렴하게 되므로, 중간 이하의 레이어의 출력단에서 획득되는 손실값의 비율을 점차 줄이는 것이 음성 인식 모델의 성능 개선에 도움이 될 수 있다.At this time, A may converge to 0 as learning progresses. Specifically, as the speech recognition model learns to a certain extent, the parameters of the layers converge, so gradually reducing the ratio of loss values obtained at the output stage of the middle and lower layers can help improve the performance of the speech recognition model.
또한, 최종 손실값이 임계값보다 작아지면, 적어도 하나의 프로세서(120)는 A를 감소시켜 음성 인식 모델을 학습시킬 수 있다. 일 예로, A 값을 0.7로 적용하여 음성 인식 모델을 학습하는 동안 최종 손실값이 제1 임계값(예로, 0.2) 이하로 떨어지면, 적어도 하나의 프로세서(120)는 A를 0.5로 적용하여 음성 인식 모델을 학습시킬 수 있다. 또한, A를 0.5로 적용하여 음성 인식 모델을 학습하는 동안 최종 손실값이 제2 임계값(예로, 0.1) 이하로 떨어지면, 적어도 하나의 프로세서(120)는 A를 0.3으로 적용하여 음성 인식 모델을 학습시킬 수 있다.Additionally, when the final loss value becomes smaller than the threshold, at least one processor 120 may train a speech recognition model by decreasing A. For example, if the final loss value falls below the first threshold (e.g., 0.2) while learning a speech recognition model by applying the A value to 0.7, at least one processor 120 applies A to 0.5 to perform speech recognition. You can train a model. Additionally, if the final loss value falls below the second threshold (for example, 0.1) while learning the speech recognition model by applying A to 0.5, at least one processor 120 applies A to 0.3 to train the speech recognition model. It can be learned.
즉, 적어도 하나의 프로세서(120)는 최종 손실값을 복수의 임계값과 비교하여 A 값을 감소시킴으로써, 음성 인식 모델의 학습이 진행될 수록 A 값을 감소시킬 수 있다.That is, at least one processor 120 may reduce the A value by comparing the final loss value with a plurality of threshold values, thereby decreasing the A value as training of the speech recognition model progresses.
도 5는 본 개시의 일 실시예에 따른, 음성 인식 모델을 학습시키기 위한 전자 장치(100)의 제어 방법을 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating a control method of the electronic device 100 for learning a voice recognition model, according to an embodiment of the present disclosure.
우선, 전자 장치(100)는 복수의 레이어를 포함하는 음성 인식 모델에 학습 음성 시퀀스를 입력받는다(S510). 이때, 음성 인식 모델은 CTC 모델, RNN-T 모델 및 AED 모델 중 하나일 수 있으나, 이에 한정되는 것은 아니다. 또한, 복수의 레이어는 음성 인식 모델에 포함된 인코더를 구성하는 레이어일 수 있다.First, the electronic device 100 receives a learning voice sequence as input to a voice recognition model including a plurality of layers (S510). At this time, the voice recognition model may be one of the CTC model, RNN-T model, and AED model, but is not limited thereto. Additionally, the plurality of layers may be layers constituting an encoder included in the speech recognition model.
전자 장치(100)는 복수의 레이어 각각의 출력단에서 복수의 손실값을 획득한다(S520). 구체적으로, 복수의 레이어 각각의 출력단에는 소프트맥스 모듈이 포함될 수 있으며, 각각의 소프트맥스 모듈의 출력 결과에 따라 복수의 손실값이 획득될 수 있다. 이때, 손실값은 CTC 손실값일 수 있다.The electronic device 100 obtains a plurality of loss values from the output terminal of each of the plurality of layers (S520). Specifically, a softmax module may be included in the output terminal of each of the plurality of layers, and a plurality of loss values may be obtained according to the output results of each softmax module. At this time, the loss value may be a CTC loss value.
전자 장치(100)는 복수의 손실값에 기초하여 음성 인식 모델을 학습시킨다(S530). 구체적으로, 전자 장치(100)는 복수의 손실값을 더한 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다. 또는, 전자 장치(100)는 아래의 수학식 2에 의해 획득된 최종 손실값이 감소하도록 음성 인식 모델을 학습시킬 수 있다. 이때, 학습이 진행될수록 수학식 2의 A가 0으로 수렴될 수 있다. 또는 최종 손실값이 임계값보다 작아지면, 전자 장치(100)는 수학식 2의 A를 감소시켜 음성 인식 모델을 학습시킬 수 있다.The electronic device 100 learns a voice recognition model based on a plurality of loss values (S530). Specifically, the electronic device 100 may learn a voice recognition model so that the final loss value obtained by adding a plurality of loss values decreases. Alternatively, the electronic device 100 may train the voice recognition model to reduce the final loss value obtained by Equation 2 below. At this time, as learning progresses, A in Equation 2 may converge to 0. Alternatively, when the final loss value becomes smaller than the threshold, the electronic device 100 can learn the voice recognition model by decreasing A in Equation 2.
상술한 바와 같이, Layerwise loss를 이용하면, 음성 인식 모델의 학습시 파라미터의 수렴(converge)이 더욱 용이해지며, 이로 인해 음성 인식 모델은 매우 깊은(즉, 많은 수의) layer를 포함할 수 있게 된다. 따라서, 음성 인식 모델의 음성 인식 성능이 더욱 개선될 수 있다.As described above, using Layerwise loss makes it easier to converge parameters when learning a speech recognition model, which allows the speech recognition model to include very deep (i.e. a large number of) layers. do. Accordingly, the speech recognition performance of the speech recognition model can be further improved.
본 개시에 따른 인공지능과 관련된 기능은 전자 장치(100)의 프로세서와 메모리를 통해 동작된다.Functions related to artificial intelligence according to the present disclosure are operated through the processor and memory of the electronic device 100.
프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit) 중 적어도 하나를 포함할 수 있으나 전술한 프로세서의 예시에 한정되지 않는다.The processor may consist of one or multiple processors. At this time, one or more processors may include at least one of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), and a Neural Processing Unit (NPU), but are not limited to the examples of the processors described above.
CPU는 일반 연산뿐만 아니라 인공지능 연산을 수행할 수 있는 범용 프로세서로서, 다계층 캐시(Cache) 구조를 통해 복잡한 프로그램을 효율적으로 실행할 수 있다. CPU는 순차적인 계산을 통해 이전 계산 결과와 다음 계산 결과의 유기적인 연계가 가능하도록 하는 직렬 처리 방식에 유리하다. 범용 프로세서는 전술한 CPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.CPU is a general-purpose processor that can perform not only general calculations but also artificial intelligence calculations, and can efficiently execute complex programs through a multi-layer cache structure. CPUs are advantageous for serial processing, which allows organic connection between previous and next calculation results through sequential calculations. The general-purpose processor is not limited to the examples described above, except where specified as the CPU described above.
GPU는 그래픽 처리에 이용되는 부동 소수점 연산 등과 같은 대량 연산을 위한 프로세서로서, 코어를 대량으로 집적하여 대규모 연산을 병렬로 수행할 수 있다. 특히, GPU는 CPU에 비해 컨볼루션(Convolution) 연산 등과 같은 병렬 처리 방식에 유리할 수 있다. 또한, GPU는 CPU의 기능을 보완하기 위한 보조 프로세서(co-processor)로 이용될 수 있다. 대량 연산을 위한 프로세서는 전술한 GPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다. GPU is a processor for large-scale operations such as floating-point operations used in graphics processing, and can perform large-scale operations in parallel by integrating a large number of cores. In particular, GPUs may be more advantageous than CPUs in parallel processing methods such as convolution operations. Additionally, the GPU can be used as a co-processor to supplement the functions of the CPU. The processor for mass computation is not limited to the above-described example, except for the case where it is specified as the GPU.
NPU는 인공 신경망을 이용한 인공지능 연산에 특화된 프로세서로서, 인공 신경망을 구성하는 각 레이어를 하드웨어(예로, 실리콘)로 구현할 수 있다. 이때, NPU는 업체의 요구 사양에 따라 특화되어 설계되므로, CPU나 GPU에 비해 자유도가 낮으나, 업체가 요구하기 위한 인공지능 연산을 효율적으로 처리할 수 있다. 한편, 인공지능 연산에 특화된 프로세서로, NPU 는 TPU(Tensor Processing Unit), IPU(Intelligence Processing Unit), VPU(Vision processing unit) 등과 같은 다양한 형태로 구현 될 수 있다. 인공 지능 프로세서는 전술한 NPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.NPU is a processor specialized in artificial intelligence calculations using artificial neural networks, and each layer that makes up the artificial neural network can be implemented in hardware (e.g., silicon). At this time, the NPU is designed specifically according to the company's requirements, so it has a lower degree of freedom than a CPU or GPU, but can efficiently process artificial intelligence calculations requested by the company. Meanwhile, as a processor specialized for artificial intelligence calculations, NPU can be implemented in various forms such as TPU (Tensor Processing Unit), IPU (Intelligence Processing Unit), and VPU (Vision processing unit). The artificial intelligence processor is not limited to the examples described above, except where specified as the NPU described above.
또한, 하나 또는 복수의 프로세서는 SoC(System on Chip)으로 구현될 수 있다. 이때, SoC에는 하나 또는 복수의 프로세서 이외에 메모리, 및 프로세서와 메모리 사이의 데이터 통신을 위한 버스(Bus)등과 같은 네트워크 인터페이스를 더 포함할 수 있다. Additionally, one or more processors may be implemented as a System on Chip (SoC). At this time, in addition to one or more processors, the SoC may further include memory and a network interface such as a bus for data communication between the processor and memory.
전자 장치에 포함된 SoC(System on Chip)에 복수의 프로세서가 포함된 경우, 전자 장치는 복수의 프로세서 중 일부 프로세서를 이용하여 인공지능과 관련된 연산(예를 들어, 인공지능 모델의 학습(learning)이나 추론(inference)에 관련된 연산)을 수행할 수 있다. 예를 들어, 전자 장치는 복수의 프로세서 중 컨볼루션 연산, 행렬 곱 연산 등과 같은 인공지능 연산에 특화된 GPU, NPU, VPU, TPU, 하드웨어 가속기 중 적어도 하나를 이용하여 인공지능과 관련된 연산을 수행할 수 있다. 다만, 이는 일 실시예에 불과할 뿐, CPU 등과 범용 프로세서를 이용하여 인공지능과 관련된 연산을 처리할 수 있음은 물론이다. If the SoC (System on Chip) included in the electronic device includes a plurality of processors, the electronic device uses some of the processors to perform artificial intelligence-related operations (for example, learning of an artificial intelligence model). or operations related to inference) can be performed. For example, an electronic device can perform operations related to artificial intelligence using at least one of a plurality of processors, a GPU, NPU, VPU, TPU, or hardware accelerator specialized for artificial intelligence operations such as convolution operation, matrix multiplication operation, etc. there is. However, this is only an example, and of course, calculations related to artificial intelligence can be processed using general-purpose processors such as CPUs.
또한, 전자 장치는 하나의 프로세서에 포함된 멀티 코어(예를 들어, 듀얼 코어, 쿼드 코어 등)를 이용하여 인공지능과 관련된 기능에 대한 연산을 수행할 수 있다. 특히, 전자 장치는 프로세서에 포함된 멀티 코어를 이용하여 병렬적으로 컨볼루션 연산, 행렬 곱 연산 등과 같은 인공 지능 연산을 수행할 수 있다. Additionally, electronic devices can perform calculations on functions related to artificial intelligence using multiple cores (eg, dual core, quad core, etc.) included in one processor. In particular, electronic devices can perform artificial intelligence operations such as convolution operations and matrix multiplication operations in parallel using multi-cores included in the processor.
하나 또는 복수의 프로세서는, 메모리에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. One or more processors control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory. Predefined operation rules or artificial intelligence models are characterized by being created through learning.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다. Here, being created through learning means that a predefined operation rule or artificial intelligence model with desired characteristics is created by applying a learning algorithm to a large number of learning data. This learning may be performed on the device itself that performs the artificial intelligence according to the present disclosure, or may be performed through a separate server/system.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 적어도 하나의 레이어는 적어도 하나의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 적어도 하나의 정의된 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks), Transformer가 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.An artificial intelligence model may be composed of multiple neural network layers. At least one layer has at least one weight value, and the operation of the layer is performed using the operation result of the previous layer and at least one defined operation. Examples of neural networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), and Deep Neural Network (BRDNN). There are Q-Networks (Deep Q-Networks) and Transformer, and the neural network in this disclosure is not limited to the above-described examples except where specified.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.A learning algorithm is a method of training a target device (eg, a robot) using a large number of learning data so that the target device can make decisions or make predictions on its own. Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified. Except, it is not limited to the examples described above.
한편, 본 개시의 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.Meanwhile, methods according to various embodiments of the present disclosure may be included and provided in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online. In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) is stored on a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
본 개시의 다양한 실시 예에 따른 방법은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: TV)를 포함할 수 있다. Methods according to various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage media that can be read by a machine (e.g., a computer). The device stores information stored from the storage medium. A device capable of calling a command and operating according to the called command may include an electronic device (eg, a TV) according to the disclosed embodiments.
한편, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.Meanwhile, a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term is used to refer to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as . For example, a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. When the instruction is executed by a processor, the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor. Instructions may contain code generated or executed by a compiler or interpreter.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.In the above, preferred embodiments of the present disclosure have been shown and described, but the present disclosure is not limited to the specific embodiments described above, and may be used in the technical field to which the disclosure pertains without departing from the gist of the present disclosure as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical ideas or perspectives of the present disclosure.

Claims (15)

  1. 음성 인식 모델을 학습시키기 위한 전자 장치(100)의 제어 방법에 있어서,In a method of controlling an electronic device 100 for learning a voice recognition model,
    복수의 레이어를 포함하는 음성 인식 모델에 학습 음성 시퀀스를 입력하는 단계;Inputting a learning speech sequence into a speech recognition model including a plurality of layers;
    상기 복수의 레이어 각각의 출력단에서 복수의 손실값을 획득하는 단계; 및Obtaining a plurality of loss values at the output terminal of each of the plurality of layers; and
    상기 복수의 손실값에 기초하여 상기 음성 인식 모델을 학습하는 단계;를 포함하는 제어 방법.A control method comprising: learning the speech recognition model based on the plurality of loss values.
  2. 제1항에 있어서,According to paragraph 1,
    상기 복수의 레이어는 상기 음성 인식 모델에 포함된 인코더를 구성하는 레이어인 것을 특징으로 하는 제어 방법.A control method, characterized in that the plurality of layers are layers constituting an encoder included in the voice recognition model.
  3. 제1항에 있어서,According to paragraph 1,
    상기 복수의 레이어 각각은 출력단에 소프트맥스 모듈을 포함하며,Each of the plurality of layers includes a softmax module at the output terminal,
    상기 획득하는 단계는,The obtaining step is,
    상기 복수의 레이어 각각의 출력단에 포함된 상기 소프트맥스 모듈에 의해 복수의 손실값을 획득하는 제어 방법.A control method for obtaining a plurality of loss values by the softmax module included in the output terminal of each of the plurality of layers.
  4. 제3항에 있어서,According to paragraph 3,
    상기 손실값은 CTC(connectionist temporal classification) 손실 값인 것을 특징으로 하는 제어 방법.A control method, characterized in that the loss value is a CTC (connectionist temporal classification) loss value.
  5. 제4항에 있어서,According to paragraph 4,
    상기 학습하는 단계는,The learning step is,
    상기 복수의 손실값을 더한 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습하는 제어 방법.A control method for learning the speech recognition model so that the final loss value obtained by adding the plurality of loss values decreases.
  6. 제4항에 있어서,According to paragraph 4,
    상기 학습하는 단계는,The learning step is,
    아래의 수학식에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습하는 제어 방법Control method for learning the speech recognition model so that the final loss value obtained by the equation below is reduced
    [수학식][Equation]
    Figure PCTKR2023011062-appb-img-000003
    Figure PCTKR2023011062-appb-img-000003
    Ltotal은 최종 손실값을 나타내며, LCTC(N)은 N 번째 레이어의 출력단에서 획득한 CTC 손실값, A는 0과 1사이의 파라미터임.L total represents the final loss value, L CTC(N) is the CTC loss value obtained at the output stage of the Nth layer, and A is a parameter between 0 and 1.
  7. 제6항에 있어서,According to clause 6,
    학습이 진행될수록 상기 A가 0으로 수렴되는 것을 특징으로 하는 제어 방법. A control method characterized in that A converges to 0 as learning progresses.
  8. 제6항에 있어서,According to clause 6,
    상기 최종 손실값이 임계값보다 작아지면, 상기 A를 감소시켜 상기 음성 인식 모델을 학습하는 제어 방법.A control method for learning the speech recognition model by decreasing A when the final loss value becomes smaller than the threshold.
  9. 음성 인식 모델을 학습시키기 위한 전자 장치(100)에 있어서,In the electronic device 100 for learning a voice recognition model,
    음성 인식 모델에 대한 데이터를 저장하는 메모리(110); 및a memory 110 that stores data for a speech recognition model; and
    적어도 하나의 프로세서(120);를 포함하며,Includes at least one processor 120,
    상기 적어도 하나의 프로세서(120)는,The at least one processor 120,
    복수의 레이어를 포함하는 음성 인식 모델에 학습 음성 시퀀스가 입력되면, 상기 복수의 레이어 각각의 출력단에서 복수의 손실값을 획득하고,When a learning voice sequence is input to a voice recognition model including a plurality of layers, a plurality of loss values are obtained from the output terminal of each of the plurality of layers,
    상기 복수의 손실값에 기초하여 상기 음성 인식 모델을 학습시키는 전자 장치.An electronic device that trains the speech recognition model based on the plurality of loss values.
  10. 제9항에 있어서,According to clause 9,
    상기 복수의 레이어는 상기 음성 인식 모델에 포함된 인코더를 구성하는 레이어인 것을 특징으로 하는 전자 장치.The plurality of layers are layers constituting an encoder included in the voice recognition model.
  11. 제9항에 있어서,According to clause 9,
    상기 복수의 레이어 각각은 출력단에 소프트맥스 모듈을 포함하며,Each of the plurality of layers includes a softmax module at the output terminal,
    상기 적어도 하나의 프로세서(120)는,The at least one processor 120,
    상기 복수의 레이어 각각의 출력단에 포함된 상기 소프트맥스 모듈에 의해 복수의 손실값을 획득하는 전자 장치.An electronic device that obtains a plurality of loss values by the softmax module included in the output terminal of each of the plurality of layers.
  12. 제11항에 있어서,According to clause 11,
    상기 손실값은 CTC(connectionist temporal classification) 손실 값인 것을 특징으로 하는 전자 장치.An electronic device, wherein the loss value is a CTC (connectionist temporal classification) loss value.
  13. 제12항에 있어서,According to clause 12,
    상기 적어도 하나의 프로세서(120)는,The at least one processor 120,
    상기 복수의 손실값을 더한 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습시키는 전자 장치.An electronic device that trains the speech recognition model so that a final loss value obtained by adding the plurality of loss values decreases.
  14. 제13항에 있어서,According to clause 13,
    상기 적어도 하나의 프로세서(120)는,The at least one processor 120,
    아래의 수학식에 의해 획득된 최종 손실값이 감소하도록 상기 음성 인식 모델을 학습시키는 전자 장치An electronic device that trains the speech recognition model to reduce the final loss value obtained by the equation below:
    [수학식][Equation]
    Figure PCTKR2023011062-appb-img-000004
    Figure PCTKR2023011062-appb-img-000004
    Ltotal은 최종 손실값을 나타내며, LCTC(N)은 N 번째 레이어의 출력단에서 획득한 CTC 손실값, A는 0과 1사이의 파라미터임.L total represents the final loss value, L CTC(N) is the CTC loss value obtained at the output stage of the Nth layer, and A is a parameter between 0 and 1.
  15. 제14항에 있어서,According to clause 14,
    학습이 진행될수록 상기 A가 0으로 수렴되는 것을 특징으로 하는 전자 장치.An electronic device wherein A converges to 0 as learning progresses.
PCT/KR2023/011062 2022-09-01 2023-07-28 Electronic device for training speech recognition model and control method thereof WO2024049025A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0111001 2022-09-01
KR1020220111001A KR20240031784A (en) 2022-09-01 2022-09-01 Electronic device for training speech recognition model and control method thereof

Publications (1)

Publication Number Publication Date
WO2024049025A1 true WO2024049025A1 (en) 2024-03-07

Family

ID=90098135

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/011062 WO2024049025A1 (en) 2022-09-01 2023-07-28 Electronic device for training speech recognition model and control method thereof

Country Status (2)

Country Link
KR (1) KR20240031784A (en)
WO (1) WO2024049025A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190133580A (en) * 2018-05-23 2019-12-03 한국과학기술원 A method of simultaneous recognition for emotion, age, and gender based on users' voice signal
KR102051390B1 (en) * 2017-08-04 2019-12-03 한국항공대학교산학협력단 Apparatus and method for training a deep neural network
KR20210028041A (en) * 2019-09-03 2021-03-11 삼성전자주식회사 Electronic device and Method for controlling the electronic device thereof
KR102415506B1 (en) * 2016-10-26 2022-07-01 삼성전자주식회사 Device and method to reduce neural network
KR20220096021A (en) * 2020-12-30 2022-07-07 삼성전자주식회사 Electronic device and method for controlling thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102415506B1 (en) * 2016-10-26 2022-07-01 삼성전자주식회사 Device and method to reduce neural network
KR102051390B1 (en) * 2017-08-04 2019-12-03 한국항공대학교산학협력단 Apparatus and method for training a deep neural network
KR20190133580A (en) * 2018-05-23 2019-12-03 한국과학기술원 A method of simultaneous recognition for emotion, age, and gender based on users' voice signal
KR20210028041A (en) * 2019-09-03 2021-03-11 삼성전자주식회사 Electronic device and Method for controlling the electronic device thereof
KR20220096021A (en) * 2020-12-30 2022-07-07 삼성전자주식회사 Electronic device and method for controlling thereof

Also Published As

Publication number Publication date
KR20240031784A (en) 2024-03-08

Similar Documents

Publication Publication Date Title
US11960843B2 (en) Multi-module and multi-task machine learning system based on an ensemble of datasets
Oruh et al. Long short-term memory recurrent neural network for automatic speech recognition
JP2019528476A (en) Speech recognition method and apparatus
WO2021177730A1 (en) Apparatus for diagnosing disease causing voice and swallowing disorders and method for diagnosing same
CN110826466A (en) Emotion identification method, device and storage medium based on LSTM audio-video fusion
WO2021132797A1 (en) Method for classifying emotions of speech in conversation by using semi-supervised learning-based word-by-word emotion embedding and long short-term memory model
KR20190129580A (en) Device and method to personlize voice recognition model
US20170323638A1 (en) System and method of automatic speech recognition using parallel processing for weighted finite state transducer-based speech decoding
CN112216307B (en) Speech emotion recognition method and device
CN111144124A (en) Training method of machine learning model, intention recognition method, related device and equipment
KR20220130565A (en) Keyword detection method and apparatus thereof
WO2021157863A1 (en) Autoencoder-based graph construction for semi-supervised learning
CN110751260A (en) Electronic device, task processing method and neural network training method
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
CN113555032B (en) Multi-speaker scene recognition and network training method and device
WO2022145611A1 (en) Electronic device and method for controlling same
CN116861995A (en) Training of multi-mode pre-training model and multi-mode data processing method and device
JP2021081713A (en) Method, device, apparatus, and media for processing voice signal
WO2018212584A2 (en) Method and apparatus for classifying class, to which sentence belongs, using deep neural network
CN113870863A (en) Voiceprint recognition method and device, storage medium and electronic equipment
WO2024049025A1 (en) Electronic device for training speech recognition model and control method thereof
CN111161724B (en) Method, system, equipment and medium for Chinese audio-visual combined speech recognition
CN116844529A (en) Speech recognition method, device and computer storage medium
WO2021045434A1 (en) Electronic device and control method therefor
CN115828889A (en) Text analysis method, emotion classification model, device, medium, terminal and product

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

Country of ref document: EP

Kind code of ref document: A1