KR102415805B1 - Method for generating speech recognition model and apparatuses using the same - Google Patents

Method for generating speech recognition model and apparatuses using the same Download PDF

Info

Publication number
KR102415805B1
KR102415805B1 KR1020200118196A KR20200118196A KR102415805B1 KR 102415805 B1 KR102415805 B1 KR 102415805B1 KR 1020200118196 A KR1020200118196 A KR 1020200118196A KR 20200118196 A KR20200118196 A KR 20200118196A KR 102415805 B1 KR102415805 B1 KR 102415805B1
Authority
KR
South Korea
Prior art keywords
speech recognition
recognition model
generating
candidate
cell
Prior art date
Application number
KR1020200118196A
Other languages
Korean (ko)
Other versions
KR20220036060A (en
Inventor
김지환
김상기
Original Assignee
주식회사 뷰노
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 뷰노 filed Critical 주식회사 뷰노
Priority to KR1020200118196A priority Critical patent/KR102415805B1/en
Publication of KR20220036060A publication Critical patent/KR20220036060A/en
Application granted granted Critical
Publication of KR102415805B1 publication Critical patent/KR102415805B1/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/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • 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
    • 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/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Abstract

Disclosed is a method for generating a speech recognition model according to one embodiment. The method for generating the speech recognition model according to one embodiment may comprise: a step of acquiring a plurality of candidate speech recognition models based on a combination of cells from a cell-based search space; a step of training for the plurality of candidate speech recognition models to output a text corresponding to the input speech data; and a step of generating a final speech recognition model by performing an additional training for the candidate speech recognition model that satisfies a predetermined condition among the plurality of trained candidate speech recognition models. Therefore, the present invention is capable of representing a lower word error rate compared to an existing method.

Description

음성 인식 모델 생성 방법 및 이를 이용한 장치{METHOD FOR GENERATING SPEECH RECOGNITION MODEL AND APPARATUSES USING THE SAME}Speech recognition model generation method and apparatus using the same

본 명세서는 NAS(Neural Architecture Search) 기반 음성 인식 모델 생성 방법 및 이를 이용한 장치에 관한 것이다.The present specification relates to a method for generating a Neural Architecture Search (NAS)-based speech recognition model and an apparatus using the same.

음성 인식 분야에서 단대단(end to end) 모델로써 순환 신경망(RNN, Recurrent neural network) 기반의 음성 인식 모델이 사용되고 있다. 순환 신경망 기반의 음성 인식 모델은 학습에 매우 긴 시간이 소요되고, 메모리를 많이 차지하는 문제가 있다. 트랜스포머(Transformer) 기반의 음성 인식 모델은 순환 신경망이 아닌 피드 포워드(feed forward) 신경망을 이용하여 기존의 순환 신경망 기반 모델의 문제점을 해결할 수 있다. 하지만, 트랜스포머는 매개 변수의 양이 많으므로 모델의 구조가 깊어질수록 학습에 사용되는 메모리가 기하급수적으로 증가한다.In the field of speech recognition, a recurrent neural network (RNN)-based speech recognition model is used as an end-to-end model. A recurrent neural network-based speech recognition model takes a very long time to learn and occupies a lot of memory. The transformer-based speech recognition model can solve the problems of the existing recurrent neural network-based model by using a feed forward neural network instead of a recurrent neural network. However, since the transformer has a large amount of parameters, the memory used for training increases exponentially as the structure of the model deepens.

NAS(Neural Architecture Search)는 기계 학습 분야에서 널리 사용되는 인공 신경망의 설계를 자동화하는 기술이다. NAS는 서치 스페이스에 모델을 구성하는 단위 구조를 정의해두고, 단위 구조에 대한 선택을 통해 인공 신경망의 설계를 자동화하는 기술을 의미한다. NAS (Neural Architecture Search) is a technology that automates the design of artificial neural networks widely used in the field of machine learning. NAS refers to a technology that defines the unit structure constituting the model in the search space and automates the design of artificial neural networks by selecting the unit structure.

비특허문헌 1 :[Dong, Linhao, Shuang Xu, and Bo Xu. "Speech-transformer: a no-recurrence sequence-to-sequence model for speech recognition." 2018 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP).IEEE, 2018.]Non-Patent Document 1: [Dong, Linhao, Shuang Xu, and Bo Xu. "Speech-transformer: a no-recurrence sequence-to-sequence model for speech recognition." 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).IEEE, 2018.]

일 실시예에 따른 음성 인식 모델 생성 방법은 셀(Cell) 기반 서치 스페이스(Search space)로부터 검색된 셀의 결합에 기초하여 복수의 후보 음성 인식 모델을 획득하는 단계; 및 입력 음성 데이터에 대응되는 텍스트를 출력하도록 초기 학습이 수행된 상기 복수의 후보 음성 인식 모델 중 소정의 조건을 만족하는 후보 음성 인식 모델에 대해 추가 훈련을 진행함으로써 최종 음성 인식 모델을 생성하는 단계를 포함할 수 있다.A method of generating a speech recognition model according to an embodiment includes: obtaining a plurality of candidate speech recognition models based on a combination of cells found from a cell-based search space; and generating a final speech recognition model by performing additional training on a candidate speech recognition model that satisfies a predetermined condition among the plurality of candidate speech recognition models that have been initially trained to output text corresponding to the input speech data. may include

상기 획득하는 단계는 상기 서치 스페이스로부터 인코더 셀을 획득하는 단계; 상기 서치 스페이스로부터 디코더 셀을 획득하는 단계; 상기 인코더 셀 및 상기 디코더 셀의 결합에 기초하여 상기 복수의 후보 음성 인식 모델을 생성하는 단계를 포함할 수 있다.The acquiring may include: acquiring an encoder cell from the search space; obtaining a decoder cell from the search space; generating the plurality of candidate speech recognition models based on a combination of the encoder cell and the decoder cell.

상기 셀은 적어도 하나의 블록을 포함하고, 상기 적어도 하나의 블록 각각은 서로 다른 입력에 기초한 연산을 수행하는 두 개의 브랜치, 상기 두 개의 브랜치의 출력을 결합하는 결합 레이어를 포함할 수 있다.The cell may include at least one block, and each of the at least one block may include two branches that perform an operation based on different inputs, and a coupling layer that combines outputs of the two branches.

상기 인코더 셀 및 상기 디코더 셀 각각은 멀티 헤드 어텐션(Multi-Head Attention)에 대응되는 블록을 적어도 하나 포함할 수 있다.Each of the encoder cell and the decoder cell may include at least one block corresponding to multi-head attention.

상기 멀티 헤드 어텐션에 대응되는 블록은 입력 행렬에 포함된 요소 중 소정의 임계치 이하의 요소를 제외하고, 나머지 요소를 통해 어텐션 연산을 수행할 수 있다.For the block corresponding to the multi-head attention, an attention operation may be performed through the remaining elements except for an element less than a predetermined threshold among elements included in the input matrix.

상기 최종 음성 인식 모델을 생성하는 단계는, 기 진행된 훈련의 횟수가 미리 설정된 횟수 임계치에 대응되는 경우, 상기 훈련된 후보 음성 인식 모델을 상기 최종 음성 인식 모델로 결정하는 단계를 포함할 수 있다.The generating of the final speech recognition model may include determining the trained candidate speech recognition model as the final speech recognition model when the number of previously performed training corresponds to a preset number threshold.

상기 최종 음성 인식 모델을 생성하는 단계는, 기 진행된 훈련의 횟수가 미리 설정된 횟수 임계치보다 작은 경우, 상기 훈련된 후보 음성 인식 모델 중 성능이 성능 임계치보다 크거나 같은 후보 음성 인식 모델을 선택함으로써 제1 추가 훈련 대상을 결정하는 단계; 상기 서치 스페이스로부터 추가 획득한 후보 음성 인식 모델로부터 제2 추가 훈련 대상을 결정하는 단계; 및 상기 제1 추가 훈련 대상 및 상기 제2 추가 훈련 대상에 대한 추가 훈련을 수행하는 단계를 포함할 수 있다.The generating of the final speech recognition model may include, when the number of pre-trained training is less than a preset number threshold, select a candidate speech recognition model whose performance is greater than or equal to a performance threshold among the trained candidate speech recognition models. determining additional training targets; determining a second additional training target from the candidate speech recognition model additionally obtained from the search space; and performing additional training on the first additional training target and the second additional training target.

일 실시예에 따른 음성 인식 모델 생성 장치는 셀(Cell) 기반 서치 스페이스(Search space)로부터 셀의 결합에 기초하여 복수의 후보 음성 인식 모델을 획득하고, 상기 복수의 후보 음성 인식 모델에 대하여 입력 음성 데이터에 대응되는 텍스트를 출력하도록 훈련하고, 상기 훈련된 복수의 후보 음성 인식 모델 중 소정의 조건을 만족하는 후보 음성 인식 모델에 대해 추가 훈련을 진행함으로써 최종 음성 인식 모델을 생성하는 프로세서를 포함할 수 있다.The apparatus for generating a speech recognition model according to an embodiment obtains a plurality of candidate speech recognition models based on a combination of cells from a cell-based search space, and receives an input speech with respect to the plurality of candidate speech recognition models. A processor for generating a final speech recognition model by training to output text corresponding to data, and performing additional training on a candidate speech recognition model that satisfies a predetermined condition among the plurality of trained candidate speech recognition models. have.

본원 발명에 따른 음성 인식 모델 생성 방법을 통하여 훈련에 소요되는 시간을 절감하며 보다 경량화된 음성 인식 모델을 생성할 수 있다. 또한, 본원 발명에 따른 음성 인식 모델 생성 방법을 통해 생성된 음성 인식 모델은 기존 방식에 비하여 더 낮은 WER(Word error rate)를 나타낼 수 있다.Through the method for generating a voice recognition model according to the present invention, it is possible to reduce the training time and to generate a more lightweight voice recognition model. In addition, the speech recognition model generated through the method for generating a speech recognition model according to the present invention may exhibit a lower word error rate (WER) than the existing method.

도 1은 본원 발명의 음성 인식에 사용되는 트랜스포머의 구조를 예시적으로 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 트랜스포머에서 포함된 멀티 헤드 어텐션 레이어를 보다 상세하게 설명하기 위한 도면이다.
도 3는 일 실시예에 따른 음성 인식 모델 생성 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 음성 인식 모델 생성 방법에 따른 셀 기반 서치 스페이스를 이용한 후보 음성 인식 모델 획득 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 PDH에 기초하여 음성 인식 모델을 생성하는 방법을 설명하기 위한 흐름도이다.
도 6는 일 실시예에 따른 음성 인식 모델 생성 방법을 통해 생성된 음성 인식 모델의 일례를 도시하는 도면이다.
도 7은 일 실시예에 따른 음성 인식 모델 생성 장치를 설명하기 위한 블록도이다.
1 is a diagram for illustratively explaining the structure of a transformer used for speech recognition of the present invention.
2 is a diagram for explaining in more detail a multi-head attention layer included in a transformer according to an embodiment.
3 is a diagram for describing a method of generating a voice recognition model according to an exemplary embodiment.
4 is a diagram for explaining a method of obtaining a candidate speech recognition model using a cell-based search space according to a method of generating a speech recognition model according to an embodiment.
5 is a flowchart illustrating a method of generating a voice recognition model based on a PDH according to an embodiment.
6 is a diagram illustrating an example of a speech recognition model generated through a method for generating a speech recognition model according to an embodiment.
7 is a block diagram illustrating an apparatus for generating a speech recognition model according to an embodiment.

후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description of the present invention refers to the accompanying drawings, which show by way of illustration a specific embodiment in which the present invention may be practiced, in order to clarify the objects, technical solutions and advantages of the present invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention.

본 발명의 상세한 설명 및 청구항들에 걸쳐 '학습' 혹은 '러닝'은 절차에 따른 컴퓨팅(computing)을 통하여 기계학습(machine learning)을 수행함을 일컫는 용어인바, 인간의 교육 활동과 같은 정신적 작용을 지칭하도록 의도된 것이 아니며, 훈련(training)은 기계학습에 관하여 일반적으로 받아들여지는 의미로 쓰인 것이다.Throughout the detailed description and claims of the present invention, 'learning' or 'learning' is a term referring to performing machine learning through computing according to a procedure, and refers to a mental action such as human educational activity. It is not intended to be, and training is used in the generally accepted sense of machine learning.

또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, '포함하다'라는 단어 및 그 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 또한, '하나' 또는 '한'은 하나 이상의 의미로 쓰인 것이며, '또 다른'은 적어도 두 번째 이상으로 한정된다.Also, throughout this description and claims, the word 'comprise' and variations thereof are not intended to exclude other technical features, additions, components or steps. In addition, 'one' or 'an' is used to mean more than one, and 'another' is limited to at least a second or more.

통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다. 따라서, 특정 구조나 기능에 관하여 본 명세서에 개시된 상세 사항들은 한정하는 의미로 해석되어서는 아니되고, 단지 통상의 기술자가 실질적으로 적합한 임의의 상세 구조들로써 본 발명을 다양하게 실시하도록 지침을 제공하는 대표적인 기초 자료로 해석되어야 할 것이다.Other objects, advantages and characteristics of the present invention will become apparent to a person skilled in the art in part from this description and in part from practice of the present invention. The following illustrations and drawings are provided by way of illustration and are not intended to limit the invention. Accordingly, the details disclosed herein with respect to a specific structure or function should not be construed in a limiting sense, but merely provide a representative guideline for those skilled in the art to variously practice the present invention with substantially any suitable detailed structures. It should be interpreted as basic data.

더욱이 본 발명은 본 명세서에 표시된 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. Moreover, the invention encompasses all possible combinations of the embodiments indicated herein. It should be understood that various embodiments of the present invention are different but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the present invention in relation to one embodiment. In addition, it should be understood that the position or arrangement of individual components in each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all scope equivalents as those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.

본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In this specification, unless indicated otherwise or clearly contradicted by context, items referred to in the singular encompass the plural unless the context requires otherwise. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, in order to enable those skilled in the art to easily practice the present invention, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본원 발명의 음성 인식에 사용되는 트랜스포머의 구조를 예시적으로 설명하기 위한 도면이다.1 is a diagram for illustratively explaining the structure of a transformer used for speech recognition of the present invention.

음성 인식에 사용되는 트랜스포머(Transformer)(100)는 순환 구조를 이용하지 않고 피드 포워드(Feed-forward) 신경망으로만 이루어져 있다. 트랜스포머(100)는 구현의 난이도가 높지 않으며, 훈련 속도가 빠른 장점을 가지고 있다. 보다 구체적으로, 트랜스포머(100)는 인코더(110) 및 디코더(120)를 포함할 수 있다. 인코더(110)는 멀티 헤드 어텐션(multi-head attention) 레이어(111)와 피드 포워드(Feed-forward) 네트워크(112)를 포함할 수 있다. 피드 포워드 네트워크(112)는 콘볼루션 레이어(예를 들어, 1D 콘볼루션 레이어) 및 활성화 레이어(예를 들어, ReLU)가 결합된 형태일 수 있다.The transformer 100 used for speech recognition does not use a cyclic structure and consists only of a feed-forward neural network. The transformer 100 is not difficult to implement and has the advantage of a fast training speed. More specifically, the transformer 100 may include an encoder 110 and a decoder 120 . The encoder 110 may include a multi-head attention layer 111 and a feed-forward network 112 . The feed forward network 112 may be a combination of a convolutional layer (eg, 1D convolutional layer) and an activation layer (eg, ReLU).

또한, 디코더(120)는 멀티 헤드 어텐션 레이어(121, 122) 및 피드 포워드 네트워크(123)로 구성될 수 있다. 피드 포워드 네트워크(123)는 콘볼루션 레이어(예를 들어, 1D 콘볼루션 레이어) 및 활성화 레이어(예를 들어, ReLU)가 결합된 형태일 수 있다. 디코더(120)의 멀티 헤드 어텐션 레이어(122)는 인코더(110)의 출력(113)에 기초하여 어텐션을 수행할 수 있다.Also, the decoder 120 may include multi-head attention layers 121 and 122 and a feed forward network 123 . The feed forward network 123 may be a combination of a convolutional layer (eg, 1D convolutional layer) and an activation layer (eg, ReLU). The multi-head attention layer 122 of the decoder 120 may perform attention based on the output 113 of the encoder 110 .

트랜스포머(100)는 인코더(110)를 통해 입력 음성 신호로부터 추출된 특징 시퀀스 입력

Figure 112020097660419-pat00001
을 히든 표현(Hidden representation)
Figure 112020097660419-pat00002
로 변환할 수 있고, 디코더(120)는 히든 표현
Figure 112020097660419-pat00003
을 입력으로 하여 출력 대상인 텍스트에 대응하는 출력 시퀀스
Figure 112020097660419-pat00004
를 출력할 수 있다. 트랜스포머(100)의 상세 동작은 비특허문헌 1 :[Dong, Linhao, Shuang Xu, and Bo Xu. "Speech-transformer: a no-recurrence sequence-to-sequence model for speech recognition." 2018 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP).IEEE, 2018.]에 개시된 바와 같다.The transformer 100 inputs a feature sequence extracted from the input voice signal through the encoder 110 .
Figure 112020097660419-pat00001
hidden representation
Figure 112020097660419-pat00002
can be converted to , and the decoder 120
Figure 112020097660419-pat00003
An output sequence corresponding to the text to be output with as input
Figure 112020097660419-pat00004
can be printed out. Detailed operation of the transformer 100 is described in Non-Patent Document 1: [Dong, Linhao, Shuang Xu, and Bo Xu. "Speech-transformer: a no-recurrence sequence-to-sequence model for speech recognition." 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).IEEE, 2018.].

도 1에 예시된 인코더(110)는 예시적인 형태에 불과하고, 트랜스포머(100)를 구성하는 인코더(110)는 멀티 헤드 어텐션 레이어 및 피드 포워드 레이어를 서브 레이어로 하는 인코더 레이어를 복수개 적층하여 구성될 수 있음은 통상의 기술자가 이해할 것이다. 마찬가지로 트랜스포머(100)를 구성하는 디코더(120)는 두 종류의 멀티 헤드 어텐션 레이어(일반적인 멀티 헤드 어텐션 레이어 및 인코더의 출력을 이용한 멀티 헤드 어텐션 레이어)와 피드 포워드 레이어를 서브 레이어로 하는 디코더 레이어를 복수개 적층하여 구성될 수 있다.The encoder 110 illustrated in FIG. 1 is only an exemplary form, and the encoder 110 constituting the transformer 100 is configured by stacking a plurality of encoder layers having a multi-head attention layer and a feed forward layer as sub-layers. It will be understood by those of ordinary skill in the art. Similarly, the decoder 120 constituting the transformer 100 includes two types of multi-head attention layers (a general multi-head attention layer and a multi-head attention layer using the output of the encoder) and a plurality of decoder layers using the feed forward layer as sub-layers. It may be configured by stacking.

또한, 인코더(110) 및 디코더(120)는 포지셔널 인코딩이 입력에 더불어 추가될 수 있다. 포지셔널 인코딩은 입력의 시퀀스 상의 절대적, 상대적 정보를 포함할 수 있는데, 이는 시퀀스의 순서를 음성 인식에 이용하기 위함이다.In addition, the encoder 110 and the decoder 120 may have a positional encoding added to the input. Positional encoding may include absolute and relative information on the sequence of the input, in order to use the sequence of the sequence for speech recognition.

트랜스포머(100)는 하기의 두가지 사항에서 기존의 순환 신경망 기반의 음성 인식 모델과 차이가 있다.The transformer 100 is different from the existing recurrent neural network-based speech recognition model in the following two matters.

i) 인코더(110) 및 디코더(120)가 멀티 헤드 어텐션 레이어(111, 121, 122) 및, 콘볼루션 레이어에 기초하여 구성된 피드 포워드 네트워크(112, 123)를 포함하는 점i) The encoder 110 and the decoder 120 include multi-head attention layers 111 , 121 , 122 and feed forward networks 112 , 123 configured based on a convolutional layer.

ii) 디코더(120)에서 인코더(110)의 출력(112)에 기초한 어텐션이 수행되는 점(기존 순환 신경망에서는 인코더와 디코더 사이에 한 단계의 추가 어텐션 단계가 수행됨)ii) At the decoder 120, an attention based on the output 112 of the encoder 110 is performed (in the existing recurrent neural network, an additional attention step is performed between the encoder and the decoder)

도 2는 일 실시예에 따른 트랜스포머에서 포함된 멀티 헤드 어텐션 레이어를 보다 상세하게 설명하기 위한 도면이다. 2 is a diagram for explaining in more detail a multi-head attention layer included in a transformer according to an embodiment.

멀티 헤드 어텐션 레이어는 입력 시퀀스의 서로 다른 위치를 연관시켜 입력 시퀀스의 대표 값을 산출하기 위한 레이어일 수 있다.The multi-head attention layer may be a layer for calculating a representative value of the input sequence by associating different positions of the input sequence.

멀티 헤드 어텐션 레이어는 도 2의 (a)와 같이 구성될 수 있다.The multi-head attention layer may be configured as shown in (a) of FIG. 2 .

일 실시예에 따르면, 멀티 헤드 어텐션 레이어는 입력에 해당하는

Figure 112020097660419-pat00005
(Query),
Figure 112020097660419-pat00006
(Key),
Figure 112020097660419-pat00007
(Value)에 대한 선형 투영(linear projection)을 수행하는 복수의 투영 레이어(211), 헤드의 개수인
Figure 112020097660419-pat00008
개의 어텐션 레이어(212), 어텐션 레이어(212)의 출력을 결합하는 결합 레이어(213), 결합 레이어(213)의 출력을 선형 투영하는 투영 레이어(214)를 포함할 수 있다.According to an embodiment, the multi-head attention layer corresponds to the input
Figure 112020097660419-pat00005
(Query),
Figure 112020097660419-pat00006
(Key),
Figure 112020097660419-pat00007
A plurality of projection layers 211 that perform linear projection on (Value), the number of heads
Figure 112020097660419-pat00008
Attention layer
212 , a coupling layer 213 coupling the output of the attention layer 212 , and a projection layer 214 linearly projecting the output of the coupling layer 213 may be included.

일 실시예에 따르면, 어텐션 레이어(212)는

Figure 112020097660419-pat00009
,
Figure 112020097660419-pat00010
,
Figure 112020097660419-pat00011
를 출력에 매핑하는 동작을 수행하고,
Figure 112020097660419-pat00012
,
Figure 112020097660419-pat00013
,
Figure 112020097660419-pat00014
의 값은 모두 벡터에 해당할 수 있다. 어텐션 레이어(212)의 출력은
Figure 112020097660419-pat00015
값들의 가중합에 기초하여 결정되는데, 가중치는
Figure 112020097660419-pat00016
와 이에 대응하는
Figure 112020097660419-pat00017
의 함수로 결정될 수 있다. 보다 구체적으로, 어텐션 레이어(212) 중 어느 하나의 어텐션 레이어에서 수행되는 어텐션 연산은 하기 수학식 1에 기초하여 수행될 수 있다.According to one embodiment, the attention layer 212 is
Figure 112020097660419-pat00009
,
Figure 112020097660419-pat00010
,
Figure 112020097660419-pat00011
perform an action that maps to the output,
Figure 112020097660419-pat00012
,
Figure 112020097660419-pat00013
,
Figure 112020097660419-pat00014
All values of may correspond to vectors. The output of the attention layer 212 is
Figure 112020097660419-pat00015
It is determined based on a weighted sum of values, where the weight is
Figure 112020097660419-pat00016
and corresponding
Figure 112020097660419-pat00017
can be determined as a function of More specifically, the attention operation performed in any one of the attention layers 212 may be performed based on Equation 1 below.

Figure 112020097660419-pat00018
Figure 112020097660419-pat00018

수학식 1에서

Figure 112020097660419-pat00019
Figure 112020097660419-pat00020
의 차원은
Figure 112020097660419-pat00021
이고,
Figure 112020097660419-pat00022
의 차원은
Figure 112020097660419-pat00023
이다.in Equation 1
Figure 112020097660419-pat00019
Wow
Figure 112020097660419-pat00020
the dimension of
Figure 112020097660419-pat00021
ego,
Figure 112020097660419-pat00022
the dimension of
Figure 112020097660419-pat00023
to be.

도 2에 도시된 바와 같이 멀티 헤드 어텐션 레이어는 단일 어텐션을 수행하는 것이 아니고,

Figure 112020097660419-pat00024
,
Figure 112020097660419-pat00025
,
Figure 112020097660419-pat00026
를 각각의 차원인
Figure 112020097660419-pat00027
Figure 112020097660419-pat00028
회 서로 다른 선형 투영(투영 레이어(211)가 수행)을 수행하고, 투영 결과에 앞서 설명된 수학식 1의 어텐션을 병렬적으로 적용할 수 있다. 수학식 1이 병렬적으로 적용된 결과는 결합 레이어(213)를 통해 concatenation 연산이 수행될 수 있고, 추가적으로, 투영 레이어(214)를 통해 선형 투영이 진행됨으로써 멀티 헤드 어텐션 레이어의 최종 출력이 생성될 수 있다.As shown in Figure 2, the multi-head attention layer does not perform a single attention,
Figure 112020097660419-pat00024
,
Figure 112020097660419-pat00025
,
Figure 112020097660419-pat00026
is each dimension
Figure 112020097660419-pat00027
as
Figure 112020097660419-pat00028
Linear projection (performed by the projection layer 211) may be performed differently each time, and the attention of Equation 1 described above may be applied in parallel to the projection result. As a result of applying Equation 1 in parallel, a concatenation operation may be performed through the combining layer 213, and in addition, a final output of the multi-head attention layer may be generated by linear projection proceeding through the projection layer 214. have.

앞서 설명된 멀티 헤드 어텐션 레이어의 동작 방식은 하기 수학식 2에 대응될 수 있다. The operation method of the multi-head attention layer described above may correspond to Equation 2 below.

Figure 112020097660419-pat00029
Figure 112020097660419-pat00029

Figure 112020097660419-pat00030
Figure 112020097660419-pat00030

Figure 112020097660419-pat00031
Figure 112020097660419-pat00031

Figure 112020097660419-pat00032
Figure 112020097660419-pat00032

Figure 112020097660419-pat00033
는 투영 레이어(214)로부터 출력되는 멀티 헤드 어텐션 레이어의 최종 출력,
Figure 112020097660419-pat00034
는 투영 레이어(211)를 통해
Figure 112020097660419-pat00035
에 적용되는 투영 행렬,
Figure 112020097660419-pat00036
는 투영 레이어(211)를 통해
Figure 112020097660419-pat00037
에 적용되는 투영 행렬,
Figure 112020097660419-pat00038
는 투영 레이어(211)를 통해
Figure 112020097660419-pat00039
에 적용되는 투영 행렬,
Figure 112020097660419-pat00040
는 투영 레이어(214)를 통해 적용되는 투영 행렬을 의미할 수 있다.
Figure 112020097660419-pat00041
는 헤드의 개수,
Figure 112020097660419-pat00042
Figure 112020097660419-pat00043
의 차원,
Figure 112020097660419-pat00044
Figure 112020097660419-pat00045
의 차원,
Figure 112020097660419-pat00046
Figure 112020097660419-pat00047
의 차원,
Figure 112020097660419-pat00048
는 트랜스포머의 차원을 의미할 수 있다.
Figure 112020097660419-pat00033
is the final output of the multi-head attention layer output from the projection layer 214,
Figure 112020097660419-pat00034
is through the projection layer 211
Figure 112020097660419-pat00035
projection matrix applied to
Figure 112020097660419-pat00036
is through the projection layer 211
Figure 112020097660419-pat00037
projection matrix applied to
Figure 112020097660419-pat00038
is through the projection layer 211
Figure 112020097660419-pat00039
projection matrix applied to
Figure 112020097660419-pat00040
may mean a projection matrix applied through the projection layer 214 .
Figure 112020097660419-pat00041
is the number of heads,
Figure 112020097660419-pat00042
Is
Figure 112020097660419-pat00043
dimension of,
Figure 112020097660419-pat00044
Is
Figure 112020097660419-pat00045
dimension of,
Figure 112020097660419-pat00046
Is
Figure 112020097660419-pat00047
dimension of,
Figure 112020097660419-pat00048
may mean the dimension of the transformer.

일 실시예에 따르면, 각각의 어텐션 레이어(212) 각각은 (b)에 도시된 형태일 수 있으며, 스케일드 도트 프로덕트 어텐션(Scaled dot-product attention)을 수행할 수 있다. 각각의 어텐션 레이어(212)는 행렬 곱셈을 수행하는 행렬곱 레이어(221), 스케일링을 수행하는 스케일 레이어(222), 적합하지 않은 값들에 대한 마스킹을 수행하는 마스크 레이어(223), 소프트맥스 레이어(224) 및 행렬곱 레이어(225)를 포함할 수 있다.According to an embodiment, each of the attention layers 212 may have the shape shown in (b), and may perform scaled dot-product attention. Each attention layer 212 includes a matrix multiplication layer 221 for performing matrix multiplication, a scale layer 222 for scaling, a mask layer 223 for masking inappropriate values, and a softmax layer ( 224 ) and a matrix product layer 225 .

일 실시예에 따르면, 앞서 설명된

Figure 112020097660419-pat00049
,
Figure 112020097660419-pat00050
,
Figure 112020097660419-pat00051
는 각각 행렬 형태로 표현되며, 행렬곱 레이어(221, 225)는 모든 행과 열에 포함된 요소들을 곱하는 행렬 곱셈 연산에 기초하여 출력을 결정한다. 행렬곱 레이어(221, 225)은 행렬의 차원이 nxn인 경우,
Figure 112020097660419-pat00052
과 연관된 연산 시간이 소요된다. 하지만,
Figure 112020097660419-pat00053
,
Figure 112020097660419-pat00054
,
Figure 112020097660419-pat00055
의 행렬에 포함된 요소는 모두 유의미한 값을 가지는 것이 아닐 수 있다. 예를 들어, 행렬에 포함된 소정의 요소들은 0이거나, 매우 미세한 값을 포함할 수 있고, 해당 요소는 연산 결과에 미치는 영향이 매우 미미할 수 있다. 이 경우,
Figure 112020097660419-pat00056
,
Figure 112020097660419-pat00057
,
Figure 112020097660419-pat00058
각각의 행렬의 모든 요소에 대한 연산을 수행하는 것은 의미가 높지 않을 수 있고, 이러한 연산을 통해서도 어텐션 결과를 도출하는 데에 유의미한 문제가 발생하지 않을 수 있다. 따라서, 행렬곱 레이어(221, 225)는
Figure 112020097660419-pat00059
,
Figure 112020097660419-pat00060
,
Figure 112020097660419-pat00061
의 행렬에서 소정의 임계치 이하인 요소에 대한 연산을 제외하고, 나머지 요소들에 대한 연산에 기초하여 어텐션 관련 연산을 수행할 수 있다. 보다 구체적으로, 행렬곱 레이어(221, 225)에서는 행렬의 연산 과정에서 소정의 임계값(예를 들어, 10^e-04) 이하의 값들을 제외한 값에서만 연산이 수행할 수 있다. 이를 통해 행렬곱 레이어(221, 225)은 어텐션 적용을 위한 연산에 필요한 메모리를 크게 절감할 수 있는 효과를 제공할 수 있다.According to one embodiment, the previously described
Figure 112020097660419-pat00049
,
Figure 112020097660419-pat00050
,
Figure 112020097660419-pat00051
are each expressed in a matrix form, and the matrix multiplication layers 221 and 225 determine an output based on a matrix multiplication operation that multiplies elements included in all rows and columns. Matrix product layers (221, 225) when the dimension of the matrix is nxn,
Figure 112020097660419-pat00052
The computation time associated with However,
Figure 112020097660419-pat00053
,
Figure 112020097660419-pat00054
,
Figure 112020097660419-pat00055
The elements included in the matrix of may not all have significant values. For example, predetermined elements included in the matrix may be 0 or may include very fine values, and the corresponding elements may have very insignificant influence on the operation result. in this case,
Figure 112020097660419-pat00056
,
Figure 112020097660419-pat00057
,
Figure 112020097660419-pat00058
It may not be meaningful to perform an operation on all elements of each matrix, and there may not be a significant problem in deriving an attention result through such an operation. Accordingly, the matrix product layers 221 and 225 are
Figure 112020097660419-pat00059
,
Figure 112020097660419-pat00060
,
Figure 112020097660419-pat00061
An attention-related operation may be performed based on the operation on the remaining elements, except for the operation on the element that is less than or equal to a predetermined threshold in the matrix of . More specifically, in the matrix multiplication layers 221 and 225 , an operation may be performed only on values excluding values less than or equal to a predetermined threshold (eg, 10^e-04) in the matrix operation process. Through this, the matrix multiplication layers 221 and 225 may provide an effect of greatly reducing the memory required for an operation for applying the attention.

이외에도, 행렬곱 레이어(221, 225)에서는 함수 연산의 복잡도를 낮추는 Strassen 알고리즘을 추가 적용함으로써 연산의 복잡도를 현격히 절감할 수 있다.In addition, in the matrix multiplication layers 221 and 225, the complexity of the operation can be significantly reduced by additionally applying the Strassen algorithm for reducing the complexity of the function operation.

일 실시예에 따르면, 마스크 레이어(223)는 어텐션 레이어(212)에 선택적으로 포함될 수 있다. 보다 구체적으로, 마스크 레이어(223)는 레프트워드 인포메이션 플로우(Leftward information flow)를 방지하거나, 디코더의 자동 회귀 특성(Auto-regressive property)을 보존하기 위하여 선택적으로 어텐션 레이어(212)에 포함될 수 있다.According to an embodiment, the mask layer 223 may be selectively included in the attention layer 212 . More specifically, the mask layer 223 may be selectively included in the attention layer 212 to prevent a leftward information flow or to preserve an auto-regressive property of a decoder.

도 3는 일 실시예에 따른 음성 인식 모델 생성 방법을 설명하기 위한 도면이다.3 is a diagram for describing a method of generating a voice recognition model according to an exemplary embodiment.

도 3을 참조하면, 음성 인식 모델 생성 장치는 단계(310)를 통해 셀 기반 서치 스페이스에서 후보 음성 인식 모델을 획득할 수 있다. 후보 음성 인식 모델을 획득하는 과정은 서치 스페이스로부터 인코더 셀 및 디코더 셀 각각을 검색하고, 검색된 인코더 셀 및 디코더 셀이 결합된 음성 인식 모델을 획득하는 방식으로 수행될 수 있다. 각각의 인코더 셀 및 디코더 셀은 검색 필드의 값의 임의의 조합을 통해 서치 스페이스로부터 검색될 수 있다.Referring to FIG. 3 , the apparatus for generating a speech recognition model may obtain a candidate speech recognition model in a cell-based search space through step 310 . The process of obtaining the candidate speech recognition model may be performed in such a way that an encoder cell and a decoder cell are respectively searched from a search space, and a speech recognition model in which the searched encoder cell and decoder cell are combined is obtained. Each encoder cell and decoder cell can be searched from the search space through any combination of the values of the search fields.

음성 인식 모델 생성 장치는 단계(320)를 통해 입력 음성 데이터에 대응되는 텍스트를 출력하도록 초기 학습이 수행된 복수의 후보 음성 인식 모델 중 소정의 조건을 만족하는 후보 음성 인식 모델에 대해 추가 훈련을 수행함으로써 최종 음성 인식 모델을 생성할 수 있다.The apparatus for generating a speech recognition model performs additional training on a candidate speech recognition model that satisfies a predetermined condition among a plurality of candidate speech recognition models that have been initially trained to output text corresponding to the input speech data through step 320 . By doing so, a final speech recognition model can be generated.

보다 구체적으로, 음성 인식 모델 생성 장치는 PDH(Progressive dynamic hurdles)로 지칭되는 훈련 알고리즘을 통해 초기 훈련이 진행된 후보 음성 인식 모델 중 소정의 조건을 만족하는 후보 음성 인식 모델을 선택하고, 선택된 후보 음성 인식 모델에 대해 추가 훈련을 진행함으로써 최종적인 음성 인식 모델을 생성할 수 있다. PDH는 반복적으로 훈련이 진행되는 과정에서, 소정의 성능 조건을 만족하지 않는 후보 음성 인식 모델을 추가 훈련 대상에서 배제하는 동작을 통해 리소스를 절감하며 성능이 높은 음성 인식 모델을 훈련하는 방법일 수 있다. PDH를 이용한 음성 인식 모델 훈련 방법은 이하 첨부되는 도 5를 통해 보다 상세하게 설명된다.More specifically, the apparatus for generating a speech recognition model selects a candidate speech recognition model that satisfies a predetermined condition from among candidate speech recognition models that have undergone initial training through a training algorithm referred to as progressive dynamic hurdles (PDH), and recognizes the selected candidate speech. By performing additional training on the model, the final speech recognition model can be generated. PDH may be a method of training a high-performance speech recognition model while saving resources by excluding candidate speech recognition models that do not satisfy a predetermined performance condition from additional training targets during iterative training. . A method of training a speech recognition model using PDH will be described in more detail with reference to FIG. 5 attached below.

도 4는 일 실시예에 음성 인식 모델 생성 방법에 따른 셀 기반 서치 스페이스를 이용한 후보 음성 인식 모델 획득 방법을 설명하기 위한 도면이다.4 is a diagram for explaining a method of obtaining a candidate speech recognition model using a cell-based search space according to a method of generating a speech recognition model according to an embodiment.

일 실시예에 따른 셀 기반 서치 스페이스에서는 네트워크 개별 요소 각각을 모두 검색하는 기존 NAS 방식과 달리, 셀(Cell) 단위로 네트워크 구조가 검색될 수 있다. 셀 기반 서치 스페이스를 통하여 각각의 세부 개별 요소를 검색해야 하는 기존 NAS 방식에 비해 보다 적은 리소스를 통해 후보 음성 인식 모델이 검색될 수 있다.In the cell-based search space according to an embodiment, the network structure may be searched in units of cells, unlike the existing NAS method of searching all individual network elements. Candidate speech recognition models can be searched using fewer resources than the existing NAS method that requires searching for each detailed individual element through a cell-based search space.

보다 구체적으로, 일 실시예에 따른 음성 인식 모델 생성 장치는 셀 기반 서치 스페이스에서 인코더 셀과 디코더 셀을 검색하고, 검색된 인코더 셀 및 디코더 셀의 결합을 통해 후보 음성 인식 모델을 획득할 수 있다.More specifically, the apparatus for generating a speech recognition model according to an embodiment may search for an encoder cell and a decoder cell in a cell-based search space, and obtain a candidate speech recognition model by combining the found encoder and decoder cells.

보다 구체적으로, 음성 인식 모델 생성 장치는 이하 설명되는 복수의 검색 필드에 대한 값의 임의의 조합을 통해 서치 스페이스로부터 인코더 셀 및 디코더 셀을 검색할 수 있다. More specifically, the apparatus for generating a speech recognition model may search for an encoder cell and a decoder cell from a search space through any combination of values for a plurality of search fields described below.

일 실시예에 따르면, 셀 서치 스페이스로부터 검색되는 각각의 셀(410)은 복수의 블록(420)로 구성될 수 있다. 예를 들어, 인코더 셀의 경우, 6개의 블록으로 구성될 수 있으며, 디코더 셀의 경우, 9개의 블록으로 구성될 수 있다. According to an embodiment, each cell 410 retrieved from the cell search space may consist of a plurality of blocks 420 . For example, the encoder cell may consist of 6 blocks, and the decoder cell may consist of 9 blocks.

각각의 블록(420)은 서로 다른 히든 스테이트(Hidden state)를 입력으로 하는 두개의 브랜치인 좌측 브랜치(432) 및 우측 브랜치(431), 및 각각의 브랜치(431, 432)의 출력을 결합하여 신규 히든 스테이트에 대응하는 출력을 생성하는 결합 레이어를 포함할 수 있다.Each block 420 is a new branch by combining the outputs of two branches, the left branch 432 and the right branch 431, and each branch 431 and 432 that have different hidden states as inputs. It may include a coupling layer that generates an output corresponding to the hidden state.

각각의 브랜치(431, 432)는 a) 입력으로 사용되는 히든 스테이트, b) 수행되는 변환 레이어의 종류, c) 변환이 수행되기 전에 정규화가 진행되는지 여부, d) 출력의 차원, e) 사용되는 활성화 함수의 종류에 기초하여 분류될 수 있다.Each of the branches 431 and 432 has a) a hidden state used as an input, b) the type of transformation layer being performed, c) whether normalization is performed before transformation is performed, d) the dimension of the output, e) used It may be classified based on the type of activation function.

일 실시예에 따른 음성 인식 모델 생성 장치는 i) 앞서 설명된 a) 내지 e)에 대응하는 브랜치 레벨의 검색 필드(우측 브랜치와 좌측 브랜치 각각의 검색 필드는 별도로 구성될 수 있음.) 및 ii) 결합 레이어의 종류에 대한 블록 레벨의 검색 필드에 기초하여 서치 스페이스로부터 후보 음성 인식 모델에 포함될 셀을 검색할 수 있다.The apparatus for generating a speech recognition model according to an embodiment includes i) a branch-level search field corresponding to a) to e) described above (each search field for a right branch and a left branch may be configured separately) and ii) A cell to be included in the candidate speech recognition model may be searched from the search space based on the block-level search field for the type of the combined layer.

보다 구체적으로, 음성 인식 모델 생성 장치는 브랜치 레벨의 검색 필드의 정보 및 블록 레벨의 검색 필드의 정보의 임의의 조합을 통해 서치 스페이스로부터 후보 음성 인식 모델에 포함될 셀을 검색할 수 있다.More specifically, the apparatus for generating a speech recognition model may search for a cell to be included in a candidate speech recognition model from a search space through any combination of branch-level search field information and block-level search field information.

예를 들어, a)의 경우, i번째 블록이 검색되는 과정에서, '0'에서부터 'i-1'의 값 중 어느 하나로 선택될 수 있다. '0'이 선택되는 경우, 트랜스포머의 입력이 해당 브랜치의 입력 히든 스테이트로 결정되고, 'j(0<j<i-1)'가 선택되는 경우, j번째 블록의 출력이 해당 브랜치의 입력 히든 스테이트로 결정될 수 있다.For example, in case a), any one of values '0' to 'i-1' may be selected in the process of searching for the i-th block. When '0' is selected, the input of the transformer is determined as the input hidden state of the corresponding branch, and when 'j(0<j<i-1)' is selected, the output of the j-th block is the input hidden state of the corresponding branch. state can be determined.

b)의 경우, 브랜치 입력에 적용될 변환에 해당할 수 있고, 예를 들어, 1D 콘볼루션 레이어, h 헤드 어텐션(h Head attention), 게이티드 리니어 어 유닛(Gated Linear Unit), 아무런 변환이 적용되지 않는 Identity, 출력이 발생되지 않는 것 등 임의의 변환이 포함될 수 있다.In case b), it may correspond to a transform to be applied to the branch input, for example, 1D convolutional layer, h Head attention, Gated Linear Unit, no transform applied. Arbitrary transformations can be included, such as identity that does not exist, and that no output is generated.

c)에서는 b)의 변환 레이어 이전에 정규화를 진행할 지 여부에 대한 정보일 수 있다.In c), it may be information on whether to proceed with normalization before the transform layer of b).

d)에서는 해당 브랜치의 출력의 차원에 대한 정보일 수 있다.In d), it may be information about the dimension of the output of the corresponding branch.

e)에서는 해당 브랜치에 적용될 활성화 함수의 종류로, ReLU, Swish, Leaky_ReLU, 없음 등이 포함될 수 있다.In e), as the type of activation function to be applied to the branch, ReLU, Swish, Leaky_ReLU, none, etc. may be included.

또한, 결합 레이어의 종류는 합산(Addition), 곱셈(Multiplication), 연결(Concatenation)을 포함할 수 있다.In addition, the type of the combination layer may include addition, multiplication, and concatenation.

서치 스페이스로부터 검색된 셀(410)은 검색 필드 정보에 기초하여 검색된 개별 브랜치를 결합 레이어를 통해 연결하는 과정을 통해 셀(410)의 개별 블록(420)이 결정될 수 있다. 개별 블록(420)의 입력 히든 스테이트를 결정하는 과정에서 설정된 순서에 기초하여 개별 블록(420) 사이의 연결 관계가 결정될 수 있다. 또한, 셀(410)의 검색 과정에서 선택되지 않은 히든 스테이트는, 앞서 언급된 블록들의 최종 출력에 합산 연산으로 추가될 수 있다. 최종적으로 결합된 개별 블록(420)은 트랜스포머 입력 및 출력에 연결됨으로써 최종적인 후보 음성 인식 모델이 생성될 수 있다.In the cell 410 found from the search space, an individual block 420 of the cell 410 may be determined through a process of connecting the individual branches found based on the search field information through a coupling layer. A connection relationship between the individual blocks 420 may be determined based on an order set in the process of determining the input hidden state of the individual blocks 420 . In addition, a hidden state that is not selected in the search process of the cell 410 may be added to the final output of the aforementioned blocks by a summation operation. Finally, the combined individual blocks 420 are connected to the transformer inputs and outputs so that a final candidate speech recognition model can be created.

실시예에 따라서, 각각의 셀(410)을 검색하는 프로세스는 소정의 횟수 반복될 수 있고, 이 경우, 검색된 셀들이 연결된 인코더 또는 디코더가 생성될 수 있음은 통상의 기술자가 이해할 것이다.According to an embodiment, the process of searching each cell 410 may be repeated a predetermined number of times, and it will be understood by those skilled in the art that in this case, an encoder or decoder to which the searched cells are connected may be generated.

일 실시예에 따르면, 인코더 셀에는 하나 이상의 멀티 헤드 어텐션에 대응하는 변환 레이어가 포함되도록 후보 음성 인식 모델이 검색될 수 있다. 또한, 디코더 셀에는 두 개 이상의 멀티 헤드 어텐션에 대응하는 변환 레이어가 포함되도록 후보 음성 인식 모델이 검색될 수 있다. 디코더의 셀의 경우, 일반적인 멀티 헤드 어텐션에 대응하는 변환 레이어와, 인코더 입력을 이용한 멀티 헤드 어텐션에 대응하는 변환 레이어가 포함되도록 후보 음성 인식 모델이 검색될 수 있다.According to an embodiment, a candidate speech recognition model may be searched to include a transform layer corresponding to one or more multi-head attentions in the encoder cell. In addition, a candidate speech recognition model may be searched to include a transform layer corresponding to two or more multi-head attentions in the decoder cell. In the case of a decoder cell, a candidate speech recognition model may be searched to include a transform layer corresponding to a general multi-head attention and a transform layer corresponding to a multi-head attention using an encoder input.

일 실시예에 따르면, 음성 인식 모델 생성 장치는 검색되는 셀에 포함되는 모든 블록은 각각 동일한 형태의 블록이 하나씩 포함될 수 있도록 후보 음성 인식 모델을 생성할 수 있다. 보다 구체적으로, 인코더 셀의 경우, 6개의 블록이 포함되는데, 6개의 블록은 각각 동일한 형태의 2개의 블록으로 구성된 3개의 블록 세트로 구성되고, 디코더 셀은 동일한 형태의 2개의 블록으로 구성된 4개의 블록 세트로 구성되도록 후보 음성 인식 모델이 검색될 수 있다. 이를 통해 후보 음성 인식 모델을 검색하는 과정의 리소스가 절감될 수 있으며, 검색 속도도 향상될 수 있다.According to an embodiment, the apparatus for generating a speech recognition model may generate a candidate speech recognition model such that all blocks included in a searched cell may include one block having the same shape. More specifically, in the case of an encoder cell, 6 blocks are included, each of which is composed of a set of 3 blocks composed of 2 blocks of the same type, and a decoder cell is composed of 4 blocks composed of 2 blocks of the same type. Candidate speech recognition models may be searched for to be composed of a set of blocks. Through this, resources in the process of searching for a candidate speech recognition model may be reduced, and the search speed may be improved.

일 실시예에 따른 서치 스페이스는 학습 파라미터의 수가 소정의 임계치 이하인 모델만이 검색되도록 구성될 수 있다. 예를 들어, 소정의 임계치는 베이스 라인으로 설정된 기존 트랜스포머의 학습 파라미터의 수보다 3백만개 적은 수로 결정될 수 있다. 따라서, 소정의 임계치 이상의 학습 파라미터를 필요로하는 후보 음성 인식 모델은 서치 스페이스에서 사전에 배제되어 있을 수 있고, 서치 스페이스에서 검색 대상이 되는 후보 음성 인식 모델의 경우의 수가 대폭 감소될 수 있다. 이를 통해 서치 스페이스의 용량이 대폭 감소될 수 있으며 검색을 위한 리소스가 절감될 수 있다.The search space according to an embodiment may be configured to search only models in which the number of training parameters is less than or equal to a predetermined threshold. For example, the predetermined threshold may be determined to be 3 million less than the number of learning parameters of the existing transformer set as the baseline. Accordingly, candidate speech recognition models requiring learning parameters greater than or equal to a predetermined threshold may be excluded from the search space in advance, and the number of candidate speech recognition models to be searched in the search space may be significantly reduced. Through this, the capacity of the search space can be significantly reduced and resources for searching can be reduced.

도 5는 일 실시예에 따른 PDH에 기초하여 음성 인식 모델을 생성하는 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a method of generating a voice recognition model based on a PDH according to an embodiment.

도 5를 참조하면, 음성 인식 모델 생성 장치는 단계(510)에서 서치 스페이스로부터 획득한 후보 음성 인식 모델에 대한 훈련을 수행할 수 있다. 후보 음성 인식 모델에 대한 훈련이 개시되는 상황에서, 음성 인식 모델 생성 장치는 서치 스페이스로부터 c개의 초기 후보 음성 인식 모델을 획득하고, c개의 초기 후보 음성 인식 모델에 대하여

Figure 112020097660419-pat00062
이터레이션(Iteration)에 해당하는 초기 훈련을 수행할 수 있다.
Figure 112020097660419-pat00063
이터레이션(Iteration)에 해당하는 훈련이 완료된 상태인 경우, 훈련 대상 후보 음성 인식 모델은 이하 단계(530, 540)에서 설명되는 방식을 통해 결정된 추가 훈련 대상이 단계(510)의 훈련 대상 후보 음성 인식 모델일 수 있다. Referring to FIG. 5 , the apparatus for generating a speech recognition model may perform training on a candidate speech recognition model obtained from a search space in operation 510 . In a situation where training for the candidate speech recognition model is started, the apparatus for generating a speech recognition model obtains c initial candidate speech recognition models from the search space, and for the c initial candidate speech recognition models
Figure 112020097660419-pat00062
Initial training corresponding to iteration may be performed.
Figure 112020097660419-pat00063
When the training corresponding to the iteration is completed, the training target candidate voice recognition model uses the additional training target determined through the method described in steps 530 and 540 below to recognize the training target candidate voice in step 510 . can be a model.

후보 음성 인식 모델에 대한 훈련은 후보 음성 인식 모델이 입력 음성 신호로부터 추출된 특징 시퀀스로부터 음성 신호에 대응되는 텍스트 시퀀스를 출력하도록 학습시키는 것을 의미할 수 있다. 예를 들어, 음성 신호로부터 추출된 특징 시퀀스는 음성 신호의 스펙토그램 또는 MFCC(Mel-frequency cepstral coefficients)일 수 있으나, 이에 한정되는 것은 아니고, 음성 신호를 대표할 수 있는 값으로, 음성 신호로부터 추출된 임의의 특징을 포함할 수 있다. 후보 음성 인식 모델의 출력은 상기 특징에 대응되는 텍스트 시퀀스일 수 있다.Training the candidate speech recognition model may mean training the candidate speech recognition model to output a text sequence corresponding to the speech signal from the feature sequence extracted from the input speech signal. For example, the feature sequence extracted from the voice signal may be a spectogram or MFCC (Mel-frequency cepstral coefficients) of the voice signal, but is not limited thereto. It may include any features extracted. The output of the candidate speech recognition model may be a text sequence corresponding to the feature.

음성 인식 모델 생성 장치는 단계(520)에서 음성 인식 모델에 대해 수행된 훈련의 횟수가 미리 결정된 훈련 횟수를 충족하는 지 여부를 결정할 수 있다. 보다 구체적으로, 음성 인식 모델 생성 장치는 단계(520)에서 수학식 3에 기초하여 추가 훈련의 횟수가 소정의 임계치를 충족시키는 지 여부를 결정할 수 있다.The apparatus for generating a speech recognition model may determine whether the number of times of training performed on the speech recognition model satisfies a predetermined number of training in operation 520 . More specifically, the apparatus for generating a speech recognition model may determine whether the number of additional training sessions satisfies a predetermined threshold based on Equation 3 in step 520 .

Figure 112020097660419-pat00064
Figure 112020097660419-pat00064

Figure 112020097660419-pat00065
는 t번째 이터레이션(iteration),
Figure 112020097660419-pat00066
는 미리 결정된 최대 훈련 횟수일 수 있다.
Figure 112020097660419-pat00065
is the t-th iteration,
Figure 112020097660419-pat00066
may be a predetermined maximum number of training.

즉, 음성 인식 모델 생성 장치는 수행된 이터레이션의 총 합이 미리 결정된 최대 훈련 횟수를 충족하지 못한 경우, 소정의 임계치가 충족되지 않은 것으로 결정할 수 있다. That is, the apparatus for generating a speech recognition model may determine that the predetermined threshold is not satisfied when the total sum of the performed iterations does not satisfy the predetermined maximum number of training times.

훈련 횟수가 소정의 임계치를 충족하지 못한 경우, 음성 인식 모델 생성 장치는 단계(530)를 통해 기 훈련된 후보 음성 인식 모델 중 성능이 임계치보다 크거나 같은 후보 인식 모델을 추가 훈련 대상으로 결정할 수 있다.When the number of training times does not meet a predetermined threshold, the apparatus for generating a speech recognition model may determine a candidate recognition model having a performance greater than or equal to the threshold among the candidate speech recognition models trained in step 530 as an additional training target. .

보다 구체적으로, 음성 인식 모델 생성 장치는 검증 세트(예를 들어, 소정의 음성 신호로부터 추출된 특징 시퀀스와 이에 대응되는 텍스트 시퀀스로 구성된 정보)에 기초하여 훈련된 후보 음성 인식 모델의 성능을 평가할 수 있다. 예를 들어, 훈련된 후보 음성 인식 모델의 성능은 복수의 단어로 구성된 검증 세트로부터 몇개의 단어를 정확히 인식했는 지 여부에 기초하여 산출되는 수치로 결정될 수 있으나, 이에 한정되는 것은 아니고, 훈련 성능을 수치화하여 평가할 수 있는 임의의 방식이 적용될 수 있다. 예를 들어, 훈련된 후보 음성 인식 모델의 성능은 수학식 4와 같이 표현될 수 있다.More specifically, the apparatus for generating a speech recognition model may evaluate the performance of a trained candidate speech recognition model based on a verification set (eg, information consisting of a feature sequence extracted from a predetermined speech signal and a text sequence corresponding thereto). have. For example, the performance of the trained candidate speech recognition model may be determined as a numerical value calculated based on how many words are correctly recognized from a verification set consisting of a plurality of words, but is not limited thereto. Any method that can be evaluated numerically may be applied. For example, the performance of the trained candidate speech recognition model may be expressed as Equation (4).

Figure 112020097660419-pat00067
Figure 112020097660419-pat00067

Figure 112020097660419-pat00068
는 i번째 이터레이션에 대응되는 훈련이 진행된 후보 음성 인식 모델에 대한 성능 벡터,
Figure 112020097660419-pat00069
는 j번째 훈련된 후보 음성 인식 모델의 성능을 나타낼 수 있으며, c는 i번째 이터레이션에 대응되는 훈련이 진행된 후보 음성 인식 모델의 총 개수로 초기 훈련시 미리 결정된 수일 수 있다.
Figure 112020097660419-pat00068
is a performance vector for the trained candidate speech recognition model corresponding to the i-th iteration,
Figure 112020097660419-pat00069
may represent the performance of the j-th trained candidate speech recognition model, and c may be the total number of candidate speech recognition models trained corresponding to the i-th iteration, which may be a predetermined number during initial training.

음성 인식 모델 생성 장치는 수학식 5에 기초하여 훈련이 완료된 후보 음성 인식 모델 중 추가 훈련 대상을 결정할 수 있다. The apparatus for generating a speech recognition model may determine an additional training target from among candidate speech recognition models for which training has been completed based on Equation (5).

Figure 112020097660419-pat00070
Figure 112020097660419-pat00070

Figure 112020097660419-pat00071
는 i번째 이터레이션에 대응되는 훈련이 진행된 j번째 후보 음성 인식 모델의 성능,
Figure 112020097660419-pat00072
는 i번째 이터레이션에 대응되는 훈련이 진행된 음성 인식 모델 성능을 평균치로, 수학식 6와 같이 산출될 수 있다.
Figure 112020097660419-pat00071
is the performance of the j-th candidate speech recognition model trained corresponding to the i-th iteration,
Figure 112020097660419-pat00072
is the average value of the performance of the trained voice recognition model corresponding to the i-th iteration, and may be calculated as in Equation (6).

Figure 112020097660419-pat00073
Figure 112020097660419-pat00073

예를 들어, 음성 인식 모델 생성 장치는 i번째 이터레이션에 대응되는 훈련이 수행된 후보 음성 인식 모델 중 수학식 6에 따른 성능의 평균치보다 우수한 성능을 지닌 후보 음성 인식 모델을 추가 훈련 대상으로 결정할 수 있다. 예를 들어, 추가 훈련 대상 집합은

Figure 112020097660419-pat00074
로 표현될 수 있고, 이는 i+1 번째 이터레이션에 대응되는 추가 훈련이 수행될 후보 음성 인식 모델의 집합을 나타낼 수 있다.For example, the apparatus for generating a speech recognition model may determine, as an additional training target, a candidate speech recognition model having better performance than the average performance according to Equation 6 among candidate speech recognition models trained corresponding to the i-th iteration. have. For example, an additional set of training targets is
Figure 112020097660419-pat00074
may be expressed as , which may indicate a set of candidate speech recognition models on which additional training corresponding to the i+1th iteration is to be performed.

음성 인식 모델 생성 장치는 단계(540)를 통해 서치 스페이스로부터 추가 후보 음성 인식 모델을 획득하고, 획득한 후보 음성 인식 모델 중 소정의 조건을 만족하는 후보 음성 인식 모델을 추가 훈련 대상으로 결정할 수 있다.The apparatus for generating a speech recognition model may obtain an additional candidate speech recognition model from the search space in step 540 and determine a candidate speech recognition model satisfying a predetermined condition among the obtained candidate speech recognition models as an additional training target.

보다 구체적으로, 음성 인식 모델 생성 장치는 추가 획득된 후보 음성 인식 모델에 대하여

Figure 112020097660419-pat00075
에 대응되는 초기 훈련을 수행하고, 초기 훈련이 수행된 후보 음성 인식 모델 중 성능이 소정의 조건을 만족하는 후보 음성 인식 모델을 선택하여
Figure 112020097660419-pat00076
의 구성 요소로 결정할 수 있다. 예를 들어, 음성 인식 모델 생성 장치는
Figure 112020097660419-pat00077
(
Figure 112020097660419-pat00078
는 i번째 이터레이션이 진행된 후보 음성 인식 모델 중 추가 훈련이 진행되는 것으로 결정된 후보 음성 인식 모델의 개수를 의미함)의 개수에 대응되는 추가 후보 음성 인식 모델을 서치 스페이스로부터 검색하고, 추가 후보 음성 인식 모델에 대해
Figure 112020097660419-pat00079
에 대응하는 초기 훈련을 수행할 수 있다. 음성 인식 모델 생성 장치는
Figure 112020097660419-pat00080
에 대응되는 훈련이 수행된 후보 음성 인식 모델 중
Figure 112020097660419-pat00081
이상의 성능을 가지는 후보 음성 인식 모델을
Figure 112020097660419-pat00082
의 구성 요소로 결정할 수 있다. 음성 인식 모델 생성 장치는 i)
Figure 112020097660419-pat00083
에 대응되는 훈련이 진행된 후보 음성 인식 모델 중 성능이
Figure 112020097660419-pat00084
보다 큰 후보 음성 인식 모델 및 ii) 서치 스페이스로부터 추가적으로 획득하여 초기 훈련이 수행된 후보 음성 인식 모델 중 성능이
Figure 112020097660419-pat00085
보다 큰 후보 음성 인식 모델을
Figure 112020097660419-pat00086
의 구성 요소로 결정할 수 있다. More specifically, the apparatus for generating a speech recognition model relates to the additionally obtained candidate speech recognition model.
Figure 112020097660419-pat00075
by performing initial training corresponding to , and selecting a candidate speech recognition model whose performance satisfies a predetermined
Figure 112020097660419-pat00076
can be determined as a component of For example, the apparatus for generating a speech recognition model is
Figure 112020097660419-pat00077
(
Figure 112020097660419-pat00078
means the number of candidate voice recognition models that are determined to undergo additional training among the candidate voice recognition models subjected to the i-th iteration) from the search space, and additional candidate voice recognition models corresponding to the number are searched for, and additional candidate voice recognition is performed. about the model
Figure 112020097660419-pat00079
It is possible to perform initial training corresponding to Speech recognition model generation device
Figure 112020097660419-pat00080
Among the candidate speech recognition models trained corresponding to
Figure 112020097660419-pat00081
A candidate speech recognition model with the above performance
Figure 112020097660419-pat00082
can be determined as a component of The apparatus for generating a speech recognition model is i)
Figure 112020097660419-pat00083
Among the candidate speech recognition models trained corresponding to
Figure 112020097660419-pat00084
Larger candidate speech recognition models and ii) the performance of candidate speech recognition models additionally acquired from the search space and subjected to initial training
Figure 112020097660419-pat00085
larger candidate speech recognition models.
Figure 112020097660419-pat00086
can be determined as a component of

일 실시예에 따르면, 음성 인식 모델 생성 장치는 단계(520)에서 기 진행된 훈련의 횟수가 미리 정해진 훈련 횟수를 충족하는 경우, 단계(550)를 통해 훈련된 후보 음성 인식 모델을 최종 음성 인식 모델로 결정할 수 있다. 예를 들어, 단계(520) 수행 이전에

Figure 112020097660419-pat00087
에 대응되는 훈련이 완료된 경우, 음성 인식 모델 생성 장치는
Figure 112020097660419-pat00088
에 포함된 후보 음성 인식 모델들을 최종 음성 인식 모델로 결정할 수 있다.According to an embodiment, the apparatus for generating a speech recognition model uses the candidate speech recognition model trained in step 550 as the final speech recognition model when the number of pre-trained trainings meets a predetermined number of training in step 520 . can decide For example, before performing step 520
Figure 112020097660419-pat00087
When the training corresponding to
Figure 112020097660419-pat00088
Candidate speech recognition models included in ? may be determined as final speech recognition models.

도 6는 일 실시예에 따른 음성 인식 모델 생성 방법을 통해 생성된 음성 인식 모델의 일례를 도시하는 도면이다.6 is a diagram illustrating an example of a speech recognition model generated through a method for generating a speech recognition model according to an embodiment.

도 6를 참조하면, 일 실시예에 따른 음성 인식 모델 생성 방법을 통해 생성된 음성 인식 모델은 인코더(610)와 디코더(620)를 포함하는 구조로 생성될 수 있다.Referring to FIG. 6 , a speech recognition model generated through the method for generating a speech recognition model according to an embodiment may be generated in a structure including an encoder 610 and a decoder 620 .

인코더(610)는 도 1을 통해 도시된 종래의 콘롤루션 레이어와 멀티 헤드 어텐션 레이어(Multi-head attention)의 직렬적인 적층으로 구성되는 기존의 트랜스포머의 구조에 대응되는 제1 형태(612) 및 본원 발명의 서치 스페이스를 통해 새롭게 구성된 제2 형태(611)가 결합된 형태일 수 있다. 제2 형태(611)는 서치 스페이스의 브랜치 구조에 기초하여 생성된 병렬적인 구조를 포함하고 있으며, 제1 형태(612)에 포함되지 않는 다양한 변환 레이어(예를 들어, Gated linear unit 등)으로 구성될 수 있다.The encoder 610 has a first form 612 corresponding to the structure of a conventional transformer that is configured by a serial stacking of a conventional convolution layer and a multi-head attention layer shown in FIG. 1 and the present application. The second form 611 newly constructed through the search space of the invention may be a combined form. The second form 611 includes a parallel structure generated based on the branch structure of the search space, and includes various transformation layers (eg, a gated linear unit, etc.) not included in the first form 612 . can be

디코더(620)도 도 1에 도시된 바와 같이 종래의 콘롤루션 레이어와 어텐션 레이어의 직렬적인 적층으로 구성되는 기존의 트랜스포머의 구조에 대응되는 제1 형태(622) 및 본원 발명의 서치 스페이스를 통해 새롭게 구성된 제2 형태(621)가 결합된 형태일 수 있다. 제2 형태(622)는 서치 스페이스의 브랜치 구조에 기초하여 병렬적인 구조를 포함하고 있으며, 제1 형태(622)에 포함되지 않는 다양한 변환 레이어(예를 들어, Left sep-conv 1D 등)으로 구성될 수 있다. As shown in FIG. 1, the decoder 620 is also newly formed through the first form 622 corresponding to the structure of the existing transformer and the search space of the present invention, which is composed of a serial stacking of a conventional convolution layer and an attention layer. The configured second form 621 may be a combined form. The second form 622 includes a parallel structure based on the branch structure of the search space, and is composed of various transformation layers (eg, Left sep-conv 1D, etc.) not included in the first form 622 . can be

도 7은 일 실시예에 따른 음성 인식 모델 생성 장치를 설명하기 위한 블록도이다.7 is a block diagram illustrating an apparatus for generating a speech recognition model according to an embodiment.

도 7을 참조하면, 일 실시예에 따른 음성 인식 모델 생성 장치(700)는 프로세서(720)를 포함한다. 음성 인식 모델 생성 장치(700)는 메모리(710) 및 통신 인터페이스(730)를 더 포함할 수 있다. 프로세서(720), 메모리(710) 및 통신 인터페이스(730)는 통신 버스(미도시)를 통해 서로 통신할 수 있다.Referring to FIG. 7 , the apparatus 700 for generating a speech recognition model according to an embodiment includes a processor 720 . The apparatus 700 for generating a speech recognition model may further include a memory 710 and a communication interface 730 . The processor 720 , the memory 710 , and the communication interface 730 may communicate with each other through a communication bus (not shown).

프로세서(720)는 MPU(micro processing unit), CPU(central processing unit), GPU(graphics processing unit), NPU(neural processing unit) 또는 TPU(tensor processing unit), 캐시 메모리(cache memory), 데이터 버스(data bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.The processor 720 includes a micro processing unit (MPU), a central processing unit (CPU), a graphics processing unit (GPU), a neural processing unit (NPU) or a tensor processing unit (TPU), a cache memory, and a data bus ( data bus) and the like. In addition, the operating system may further include a software configuration of an application for performing a specific purpose.

프로세서(720)는 셀 기반 서치 스페이스로부터 검색된 셀의 결합에 기초하여 복수의 후보 음성 인식 모델을 획득하고, 입력 음성 데이터에 대응되는 텍스트를 출력하도록 초기 학습이 수행된 복수의 후보 음성 인식 모델 중 소정의 조건을 만족하는 후보 음성 인식 모델에 대해 추가 훈련을 진행함으로써 최종 음성 인식 모델을 생성할 수 있다.The processor 720 obtains a plurality of candidate speech recognition models based on a combination of cells searched from the cell-based search space, and selects a predetermined one of a plurality of candidate speech recognition models that have been initially trained to output text corresponding to the input speech data. A final speech recognition model can be generated by performing additional training on a candidate speech recognition model that satisfies the condition of .

메모리(710)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.The memory 710 may be a volatile memory or a non-volatile memory.

이 밖에도, 프로세서(720)는 프로그램을 실행하고, 음성 인식 모델 생성 장치(700)를 제어할 수 있다. 프로세서(720)에 의하여 실행되는 프로그램 코드는 메모리(710)에 저장될 수 있다. 음성 인식 모델 생성 장치(700)는 입출력 장치(미도시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. 음성 인식 모델 생성 장치 (700)는 서버에 탑재될 수 있다.In addition, the processor 720 may execute a program and control the apparatus 700 for generating a voice recognition model. The program code executed by the processor 720 may be stored in the memory 710 . The voice recognition model generating apparatus 700 may be connected to an external device (eg, a personal computer or a network) through an input/output device (not shown) and exchange data. The apparatus for generating a speech recognition model 700 may be mounted on a server.

위 실시 예의 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. 상기 하드웨어는 범용 컴퓨터 및/또는 전용 컴퓨팅 장치 또는 특정 컴퓨팅 장치 또는 특정 컴퓨팅 장치의 특별한 모습 또는 구성요소를 포함할 수 있다. 상기 프로세스들은 내부 및/또는 외부 메모리를 가지는, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 프로그래머블 디지털 신호 프로세서 또는 기타 프로그래머블 장치에 의하여 실현될 수 있다. 게다가, 혹은 대안으로서, 상기 프로세스들은 주문형 집적회로(application specific integrated circuit; ASIC), 프로그래머블 게이트 어레이(programmable gate array), 프로그래머블 어레이 로직(Programmable Array Logic; PAL) 또는 전자 신호들을 처리하기 위해 구성될 수 있는 임의의 다른 장치 또는 장치들의 조합으로 실시될 수 있다. 더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능한 기록 매체에 기록될 수 있다. 상기 기계 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, Blu-ray와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일 또는 인터프리트될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다. Based on the description of the above embodiments, those skilled in the art will appreciate that the method and/or processes of the present invention and the steps thereof may be implemented in hardware, software, or any combination of hardware and software suitable for a particular application. point can be clearly understood. The hardware may include general purpose computers and/or dedicated computing devices or specific computing devices or special features or components of specific computing devices. The processes may be realized by one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable devices, having internal and/or external memory. Additionally, or alternatively, the processes may be configured to process an application specific integrated circuit (ASIC), a programmable gate array, a programmable array logic (PAL) or electronic signals. It may be implemented with any other device or combination of devices. Moreover, the objects of the technical solution of the present invention or parts contributing to the prior arts may be implemented in the form of program instructions that can be executed through various computer components and recorded in a machine-readable recording medium. The machine-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded in the machine-readable recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the machine-readable recording medium include a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM, DVD, Blu-ray, and a magneto-optical medium such as a floppy disk (magneto-optical media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include any one of the devices described above, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software, or stored and compiled or interpreted for execution on a machine capable of executing any other program instructions. can be created using a structured programming language such as C, an object-oriented programming language such as C++, or This includes not only bytecode, but also high-level language code that can be executed by a computer using an interpreter or the like.

따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 컴퓨팅 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.Accordingly, in one aspect according to the present invention, when the above-described method and combinations thereof are performed by one or more computing devices, the methods and combinations of methods may be implemented as executable code for performing respective steps. In another aspect, the method may be implemented as systems performing the steps, the methods may be distributed in various ways across devices or all functions may be integrated into one dedicated, standalone device or other hardware. In another aspect, the means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such sequential combinations and combinations are intended to fall within the scope of this disclosure.

예를 들어, 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 MPU, CPU, GPU, TPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.For example, the hardware device may be configured to operate as one or more software modules to perform processing in accordance with the present invention, and vice versa. The hardware device may include a processor, such as an MPU, CPU, GPU, TPU, coupled with a memory such as ROM/RAM for storing program instructions and configured to execute instructions stored in the memory, an external device and a signal It may include a communication unit that can send and receive. In addition, the hardware device may include a keyboard, a mouse, and other external input devices for receiving commands written by developers.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시 예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments, Those of ordinary skill in the art to which the present invention pertains can devise various modifications and variations from these descriptions.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the above-described embodiments, and not only the claims described below, but also all modifications equivalently or equivalently to the claims described below belong to the scope of the spirit of the present invention. will do it

그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.Such equivalent or equivalent modifications shall include, for example, logically equivalent methods capable of producing the same results as practiced by the methods according to the present invention, the spirit and scope of the present invention. should not be limited by the above examples, and should be understood in the broadest sense permitted by law.

Claims (12)

음성 인식 모델 생성 장치에 의해 수행되는, 음성 인식 모델 생성 방법에 있어서,
셀(Cell) 기반 서치 스페이스(Search space)로부터 검색된 셀의 결합에 기초하여 복수의 후보 음성 인식 모델들을 획득하는 단계; 및
입력 음성 데이터에 대응되는 텍스트를 출력하도록 초기 학습이 수행된 상기 복수의 후보 음성 인식 모델들 중에서 선택된 적어도 하나의 후보 음성 인식 모델에 대해 추가 훈련을 진행함으로써 최종 음성 인식 모델을 생성하는 단계
를 포함하는, 음성 인식 모델 생성 방법.
A method for generating a voice recognition model performed by a voice recognition model generating apparatus, the method comprising:
obtaining a plurality of candidate speech recognition models based on a combination of cells searched from a cell-based search space; and
generating a final speech recognition model by performing additional training on at least one candidate speech recognition model selected from among the plurality of candidate speech recognition models on which initial training has been performed to output text corresponding to input speech data;
A method of generating a speech recognition model, comprising:
제1항에 있어서,
상기 획득하는 단계는,
상기 서치 스페이스로부터 인코더 셀을 획득하는 단계;
상기 서치 스페이스로부터 디코더 셀을 획득하는 단계; 및
상기 인코더 셀 및 상기 디코더 셀의 결합에 기초하여 상기 복수의 후보 음성 인식 모델을 생성하는 단계
를 포함하는, 음성 인식 모델 생성 방법.
According to claim 1,
The obtaining step is
obtaining an encoder cell from the search space;
obtaining a decoder cell from the search space; and
generating the plurality of candidate speech recognition models based on the combination of the encoder cell and the decoder cell;
A method of generating a speech recognition model, comprising:
제1항에 있어서,
상기 셀은,
적어도 하나의 블록을 포함하고,
상기 적어도 하나의 블록 각각은,
서로 다른 입력에 기초한 연산을 수행하는 두 개의 브랜치; 및
상기 두 개의 브랜치의 출력을 결합하는 결합 레이어
를 포함하는, 음성 인식 모델 생성 방법.
According to claim 1,
The cell is
at least one block,
Each of the at least one block,
two branches that perform operations based on different inputs; and
A bonding layer that combines the outputs of the two branches.
A method for generating a speech recognition model, comprising:
제2항에 있어서,
상기 인코더 셀 및 상기 디코더 셀 각각은,
멀티 헤드 어텐션(Multi-Head Attention)에 대응되는 블록을 적어도 하나 포함하는, 음성 인식 모델 생성 방법.
3. The method of claim 2,
each of the encoder cell and the decoder cell,
A method of generating a speech recognition model, comprising at least one block corresponding to multi-head attention.
제4항에 있어서,
상기 멀티 헤드 어텐션에 대응되는 블록은,
입력 행렬에 포함된 요소 중 소정의 임계치 이하의 요소를 제외하고, 나머지 요소를 통해 연산을 수행하는, 음성 인식 모델 생성 방법.
5. The method of claim 4,
The block corresponding to the multi-head attention is,
A method of generating a speech recognition model, excluding elements included in the input matrix that are less than or equal to a predetermined threshold, and performing an operation through the remaining elements.
제2항에 있어서,
상기 셀은,
적어도 하나의 블록을 포함하고,
상기 적어도 하나의 블록 각각은,
상기 셀에 포함된 다른 하나의 블록과 동일한 형태를 가지는, 음성 인식 모델 생성 방법.
3. The method of claim 2,
The cell is
at least one block,
Each of the at least one block,
A method of generating a speech recognition model having the same shape as another block included in the cell.
제1항에 있어서,
상기 적어도 하나의 후보 음성 인식 모델은 상기 복수의 후보 음성 인식 모델들 중에서 소정의 조건을 만족하는 후보 음성 인식 모델이고,
상기 소정의 조건은 기 진행된 훈련의 횟수가 미리 결정된 횟수 임계치 미만이고 후보 음성 인식 모델의 성능이 미리 결정된 성능 임계치 이상인, 음성 인식 모델 생성 방법.
According to claim 1,
the at least one candidate speech recognition model is a candidate speech recognition model that satisfies a predetermined condition among the plurality of candidate speech recognition models;
The predetermined condition is that the number of previously performed training is less than a predetermined number of times threshold and the performance of the candidate speech recognition model is greater than or equal to the predetermined performance threshold, the method for generating a speech recognition model.
제1항에 있어서,
상기 최종 음성 인식 모델을 생성하는 단계는,
기 진행된 훈련의 횟수가 미리 설정된 횟수 임계치 미만인 경우,
상기 훈련된 후보 음성 인식 모델 중 성능이 성능 임계치보다 크거나 같은 후보 음성 인식 모델을 선택함으로써 제1 추가 훈련 대상을 결정하는 단계;
상기 서치 스페이스로부터 추가 획득한 후보 음성 인식 모델로부터 제2 추가 훈련 대상을 결정하는 단계; 및
상기 제1 추가 훈련 대상 및 상기 제2 추가 훈련 대상에 대한 추가 훈련을 수행하는 단계
를 포함하는, 음성 인식 모델 생성 방법.
According to claim 1,
The step of generating the final speech recognition model comprises:
If the number of previously advanced training is less than the preset number threshold,
determining a first additional training target by selecting a candidate speech recognition model whose performance is greater than or equal to a performance threshold from among the trained candidate speech recognition models;
determining a second additional training target from the candidate speech recognition model additionally obtained from the search space; and
performing additional training on the first additional training target and the second additional training target
A method of generating a speech recognition model, comprising:
제8항에 있어서,
상기 성능 임계치는,
상기 훈련된 후보 음성 인식 모델의 성능의 평균값으로 결정되는, 음성 인식 모델 생성 방법.
9. The method of claim 8,
The performance threshold is
The method of generating a speech recognition model, which is determined as an average value of the performance of the trained candidate speech recognition model.
제1항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
A computer-readable storage medium storing one or more programs including instructions for performing the method of claim 1 .
셀(Cell) 기반 서치 스페이스(Search space)로부터 셀의 결합에 기초하여 복수의 후보 음성 인식 모델들을 획득하고, 상기 복수의 후보 음성 인식 모델에 대하여 입력 음성 데이터에 대응되는 텍스트를 출력하도록 훈련하고, 상기 훈련된 복수의 후보 음성 인식 모델들 중에서 선택된 적어도 하나의 후보 음성 인식 모델에 대해 추가 훈련을 진행함으로써 최종 음성 인식 모델을 생성하는 프로세서
를 포함하는, 음성 인식 모델 생성 장치.
Obtaining a plurality of candidate speech recognition models based on the combination of cells from a cell-based search space, training the plurality of candidate speech recognition models to output text corresponding to input speech data, A processor for generating a final speech recognition model by performing additional training on at least one candidate speech recognition model selected from among the plurality of trained candidate speech recognition models
Containing, speech recognition model generating device.
제1항에 있어서,
상기 최종 음성 인식 모델은 미리 결정된 횟수 임계치와 대응한 기 진행된 훈련의 횟수를 갖는 후보 음성 인식 모델인 것을 특징으로 하는, 음성 인식 모델 생성 방법.

According to claim 1,
The method for generating a speech recognition model, characterized in that the final speech recognition model is a candidate speech recognition model having a preset number of training corresponding to a predetermined number threshold.

KR1020200118196A 2020-09-15 2020-09-15 Method for generating speech recognition model and apparatuses using the same KR102415805B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200118196A KR102415805B1 (en) 2020-09-15 2020-09-15 Method for generating speech recognition model and apparatuses using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200118196A KR102415805B1 (en) 2020-09-15 2020-09-15 Method for generating speech recognition model and apparatuses using the same

Publications (2)

Publication Number Publication Date
KR20220036060A KR20220036060A (en) 2022-03-22
KR102415805B1 true KR102415805B1 (en) 2022-07-05

Family

ID=80992035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200118196A KR102415805B1 (en) 2020-09-15 2020-09-15 Method for generating speech recognition model and apparatuses using the same

Country Status (1)

Country Link
KR (1) KR102415805B1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌1(NAS_BENCH_201: EXTENDING THE SCOPE OF REPRODUCIBLE NEURAL ARCHITECTURE SEARCH)

Also Published As

Publication number Publication date
KR20220036060A (en) 2022-03-22

Similar Documents

Publication Publication Date Title
US11972754B2 (en) Multi-task training architecture and strategy for attention-based speech recognition system
CN110019471B (en) Generating text from structured data
KR102167719B1 (en) Method and apparatus for training language model, method and apparatus for recognizing speech
Denoyer et al. Deep sequential neural network
CN112508169A (en) Knowledge distillation method and system
KR102410820B1 (en) Method and apparatus for recognizing based on neural network and for training the neural network
Mathur et al. Camera2Caption: a real-time image caption generator
US20200364576A1 (en) Utilizing deep recurrent neural networks with layer-wise attention for punctuation restoration
CN109299479A (en) Translation memory is incorporated to the method for neural machine translation by door control mechanism
KR102541660B1 (en) Method and apparatus for recognizing emtions based on speech signal
Chen et al. Coupled end-to-end transfer learning with generalized fisher information
CN113257248B (en) Streaming and non-streaming mixed voice recognition system and streaming voice recognition method
KR20220130565A (en) Keyword detection method and apparatus thereof
KR102199285B1 (en) Method for compressing deep learning neural networks and apparatus for performing the same
CN112804558B (en) Video splitting method, device and equipment
KR20190136578A (en) Method and apparatus for speech recognition
CN108805260A (en) A kind of figure says generation method and device
CN114360502A (en) Processing method of voice recognition model, voice recognition method and device
CN113196385B (en) Method and system for audio signal processing and computer readable storage medium
CN111882042A (en) Automatic searching method, system and medium for neural network architecture of liquid state machine
Liu et al. Soks: Automatic searching of the optimal kernel shapes for stripe-wise network pruning
Liu et al. Speech emotion recognition via multi-level attention network
KR20210071471A (en) Apparatus and method for performing matrix multiplication operation of neural network
CN110969239A (en) Neural network and object recognition method
CN116324973A (en) Transducer-based automatic speech recognition system including a time reduction layer

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant