상세 컨텐츠

본문 제목

[논문] Robust Speech Recognition via Large-Scale Weak Supervision

논문

by 수타. 2024. 1. 23. 23:23

본문

Abstract

본 논문에서는 67만 시간의 multilingual 데이터들을 가지고 학습하여 기존의 음성 인식 데이터셋 에 대해 잘 일반화가 되었으며, 기존 supervision모델과 성능은 비슷하지만 아무런 fine-tuning이 필요 없는 zero-shot 환경에서 작동합니다. 위 모델은 인간과 비교했을 때도 그와 유사한 accuracy와 robustness를 보입니다.

 

 

Introduction

기존의 음성인식은 unspervised pre-training technique인 Wav2Vec에 의해 발전되어왔습니다.

더보기

Wav2vec은 53000시간의 라벨링 없는 데이터로 represetation trainning 을 한 후, 10분의 라벨링 된 데이터로 음성인식기를 만들 수 있는 논문입니다.

(즉 라벨링 되어있지 않은 대량의 데이터로 representation 학습 후, 소량의 라벨링된 데이터로 fine tuning 을 하는 과정)

하지만 Wav2Vec은 숙련된 전문가가 요구되는 Fine-tuning하는 과정이 필요하기 떄문에, 효용성 측면에서 굉장히 제한됩니다.  특히 Fine-tuning하는 과정에서 사용되는 high-quility supervised datasets은 크기면에서 제한이 있을수 밖에 없습니다. 그러다가 컴퓨터 비전 분야에서 larger but weakly supervised datasets(즉 약하게 supervised 되고 크기가 큰 데이터셋)이 모델의 견고성과 일반화를 크게 향상시킨다는 것이 입증되었고, 이를 음성 인식분야에 접목시켜 데이터셋을  weakly supervised datasets로 680,000시간까지 확장시켜 Fine-tuning없이 zero-shot으로 성능이 나오게 만들었습니다. 전체 데이터중 약 6분의1은 영어가 아닌 96개의 다른 언어들을 사용했으며,또 6분의 1의 오디오는 다른언어, 텍스트는 영어 꼴인 데이터 이며, 이는 번역데이터로 사용됩니다. 

 

 

Approach

1) Data Processing

저자들은 인터넷에서 텍스트와 함께 제공되는 오디오를 데이터셋으로 구축합니다. 텍스트는 다양한 환경(노이즈)에 있는것이 모델에 도움이 되지 않지만, 오디오는 다양한 환경(녹음 설정, 화자 및 언어)이 모델을 견고하게 훈련시키는 데 도움을 줍니다. 그래서 텍스트의 품질을 향상시키기 위해 여러 자동 필터링 기법을 개발했습니다.

인터넷상에 있는 많은 text들은 사람이 쓴게 아니라, ASR system(Automatic Speech Recognition, 자동 음성 인식)에 의해 생성되었는데, 최근에 사람이 만든 데이터와 기계가 만든 데이터를 같이 쓰는것은 굉정히 효과가 좋지않다고 증명이 되었기 때문에 기계가 만든, 즉 ASR system으로 부터 나온 데이터들을 삭제하기로 했습니다. 기존의 ASR 시스템들은 오디오 신호만으로 예측하기 어려운 요소들을 제거하거나 일반화했습니다. 예를 들어, 감탄 부호, 쉼표, 물음표와 같은 복잡한 구두점, 단락과 같은 서식적인 공백, 대문자와 같은 스타일적인 측면 등입니다.

더보기

복잡한 구두점

기계 : hello how are you

인간 : Hello! How are you?

 

단락과 같은 서식 적인 공백

기계 : 다음과 같이 결과가 나왔습니다 이제 그 다음 공유드릴것은 이것 입니다.

인간 : 다음과 같이 결과가 나왔습니다.

          이제 그 다음 공유드릴것은 이것 입니다.

 

대문자와 같은 스타일

기계 : I LOVE YOU

인간 : I love you

그래서 모두 대문자거나 모두 소문자인 문장이나, ASR이 많이 사용하는 룰베이스에 의해 작성된걸로 예상되는 data들은 제거합니다.

또한 언어 감지모델을 사용해, 오디오의 언어와 텍스트의 언어가 일치할때만(한국어로 말했고 텍스트도 한국어로 인식됨),데이터 쌍에 추가시켰습니다. 예외적으로 다른나라 언어로 말했는데 텍스트가 영어로 적혀있을 때만 이를 번역모델에 데이터로 사용했습니다.

또한 중복 제거 모델을 사용해 비슷한 대본이 데이터셋에 여러 번 포함되는 것을 방지했습니다.

 

오디오 파일은 30초씩 세그먼트로 나누어지며, 각 세그먼트는 해당 시간의 텍스트와 짝을 이룹니다. 만약 발화가 없는 세그먼트는 음성 활동 감지(voice activity detection)를 위한 훈련 데이터로 사용됩니다.

더보기

음성 활동 감지 시스템은 음성과 비음성(조용한 부분, 배경 소음 등)을 구별할 수 있어야 하며, 음성이 없는 세그먼트를 포함시키면, 모델은 다양한 유형의 오디오 환경을 경험하게 됩니다. 이는 모델이 다양한 상황에서 음성을 감지하는 능력을 향상시킵니다.

예를 들어, 전화 통화 녹음에서 사람이 말하는 부분과 조용한 부분이 번갈아 나올 수 있습니다. 음성 활동 시스템은 이 두 상황을 구별해야 합니다. 음성이 없는 세그먼트를 포함시키면, 시스템은 실제 통화 상황에서 사람이 말을 시작하거나 멈췄을 때를 정확하게 감지할 수 있습니다.

그렇게 초기 모델을 학습시킨 뒤, 연구팀은 학습 데이터에서 모델의 오류율에 대한 정보를 확인한 후에, 오류율이 높고 데이터 소스 크기가 큰 데이터들 위주로 직접 확인을 했습니다. 이때 오디오는 10분인데 텍스트는 3분만 있는 부분적인 데이터라던가, 텍스트와 오디오쌍이 맞지않는 데이터등이 확인되었고. 이러한 문제가 있는 데이터는 품질이 낮다고 판단되어 훈련 데이터셋에서 제거되었습니다. 마지막으로 훈련 데이터셋과 평가 데이터셋 간의 중복을 피하기 위해, 평가 데이터셋과의 중복 가능성이 높다고 생각되는 훈련데이터 셋에서 데이터를 제거해주었습니다.

 

2)Model

모델구조는 우리가 Attention is all you need 논문에서 익히 알고있는 Transformer 기반으로 사용했습니다.모든 오디오들은 16,000 Hz로 resampling된후 Log-mel spectrogram으로 변환됩니다.

더보기

Log-Mel Spectrogram은 음성 신호 처리에서 가장 일반적으로 사용되는 표현 방법 중 하나입니다.

이는 음성 신호를 주파수와 시간의 두 가지 요소로 변환하여 시각화하는 방법입니다. 

그리고 Spectrogram의 값을 -1에서 1 로 정규화를 시켜준 뒤 (일반화와 안정성, 학습효율성에 도움이 됨) , 이를 Convolution layer를 이용해 특징을 추출합니다. 이때 활성화 함수는  모델이 오디오 데이터의 복잡한 특징을 더 효과적으로 학습하고 인식하는 데 도움을 주게 하기위해 다른 활성화 함수보다 더 자연스러운 비선형성을 제공하는 GELU를 사용했습니다.

 

 

3) Multitastk Format

이 논문에선 단순한 음성 인식 외에도, 전체 음성 인식 시스템에서 음성 활동 감지, 화자 구분, 텍스트 역정규화 등이 있습니다.

더보기
텍스트 역정규화(Text Denormalization)

텍스트를 원래의 형태로 되돌리는 과정이며, 기계 번역 시에는 원문의 텍스트를 역정규화하여 번역 결과를 자연스럽게 만들거나, 챗봇 시스템에서는 사용자의 입력을 역정규화하여 응답을 생성하는 등의 용도로 활용됩니다.
예시) 
I'm > I am
USA > United States of America
삼십일개 > 31개

이러한 다양한 작업을 단일 모델로 처리하기 위해, 모든 작업과 조건 정보를 디코더에 입력 토큰 시퀀스로 지정하는 단순한 형식을 사용합니다. 이러한 접근 방식은 음성 처리 파이프라인의 다양한 단계를 하나의 모델로 대체할 수 있도록 해줍니다. 이러한 작업을 수행하기 위해, 디코더 입력으로 다양한 작업을 지정하는 특별한 토큰들을 사용합니다.

예를 들어, 특정 언어를 나타내는 고유 토큰, 음성이 없는 경우를 나타내는 <|nospeech|> , <|transcribe|> 또는 <|translate|> 토큰 등이 있습니다. 이러한 다양한 작업을 효율적으로 처리하기 위해 모델은 다양한 특수 토큰들을 사용하여, 단일 모델이 전통적인 음성 처리 파이프라인의 여러 단계를 대체할 수 있도록 합니다.

 

4)Traning Details

다양한 모델의 크기를 사용해 5개의 Model이 있습니다.

AdamW와 Gradient Norm clipping 등 을 사용하여 최적화하였습니다.

오버피팅 문제는 예상했던데로 전혀 없이 잘 일반화 되었습니다.

초기 모델에서 발화자의 이름을 잘못추측하는 문제가 있었지만, 발화자 주석이 없는 부분만 사용하여 Fine-tuning하여 해결했습니다.

Experiments

 

Limitations and Future Work

길이가 긴 장문에 대해서는 성능이 좋지 못합니다.

음성인식 성능은 좋지 못합니다. 이는 훈련데이터 셋의 크깅에 많이 의존되므로 영어가 아닌 다른언어 데이터셋을 늘린다면 해결될 가능성이 높습니다.

본 연구에서는 음성 처리 시스템의 강건성 속성에 중점을 두고 제로샷 전달 성능만을 연구했습니다. 고품질 감독 음성 데이터가 존재하는 많은 영역에서 미세 조정을 통해 결과를 더 향상시킬 수 있을 것으로 예상됩니다.

관련글 더보기