에이아이조

cdc wiki
에이아이 (토론 | 기여)님의 2019년 6월 20일 (목) 01:35 판 (기술적 기대효과)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 화자 검증에서 DNN(Deep Neural Network) 모델상의 화자 특징을 이용한 TSL(Teacher-Student Learning) 방법의 짧은 발성 보상 시스템

영문 : Short Utterance Compensation System of Teacher-Student Learning(TSL) Using Speaker Embedding on Deep Neural Network(DNN)

과제 팀명

에이아이

지도교수

이병정 교수님

개발기간

2019년 3월 ~ 2019년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부·과 2014920003 김승빈(팀장)

서론

개발 과제의 개요

개발 과제 요약

화자 인식의 고질적인 문제점인 짧은 발성에 대해 정확도가 낮다는 문제점을 해결하기 위해 2가지 방법을 적용한다.


⓵ 짧은 발성을 보상(compensation)하기 위한 Teacher-Student Learning(TSL) 방법을 사용한다.

- Teacher-Student Learning(TSL)은 신경망 모델 압축(neural network compression)을 위해 2018년에 제안된 방법이다. 신경망이 커질수록 네트워크에 필요한 연산 및 메모리가 크게 필요해 하드웨어 리소스가 부족한 문제가 발생한다. 여기서 압축(compressiong)은 훈련된 DNN 모델에서 기존 성능을 떨어뜨리지 않고 네트워크의 중복성을 제거하기 위해 사용된다.

- 최근에는 신경망 모델 압축(compression)을 위한 방법이 음성 인식 보상(compensation)기법에 적용되고 있다. 모델 압축의 방법은 기존의 좋은 성능을 보이는 Teacher 모델을 이용해 파라미터가 적은 Student 모델의 성능을 Teacher와 비슷하게 만드는 방식이다. 이러한 알고리즘을 사용해 기존에 성능이 좋은 긴 발성의 화자 인식 모델을 통하여 짧은 발성의 화자 인식 모델의 성능을 최적화시키는 것이 목적이다. 이러한 방식으로 Teacher-Student Learning(TSL)을 화자 인식에서 짧은 발성을 보상하는 방법으로 적절하게 변형시켜 사용한다.


⓶ 화자 인식에서 사용하는 화자 특징(Speaker Embedding)은 DNN에서 추출하는 고정된 은닉층 벡터(d-vector)를 사용한다.

- 음성이 입력되면 그 화자의 음성 특징을 추출한다. 음성은 똑같은 언어라 할지라도 발음하는 사람의 성별, 나이, 발음 시의 상태 등에 따라 매우 복잡하게 변할 뿐 아니라 단독으로 발음될 때와 단어나 문장 내에서 발음될 때마다 그 성질이 변하기 때문에 음성의 특징을 잘 표현할 수 있는 특징 검출이 중요하다. 즉, 특징 추출 과정에서는 불필요하게 중복되는 음성정보를 없애고 동일 음성 신호 간의 일관성을 높임과 동시에 다른 음성 신호와는 변별력을 높일 수 있는 정보를 추출해야 한다. 이러한 정보를 특징 벡터 또는 화자 특징(Speaker Embedding)이라고 한다.

개발 과제의 배경

◇ 화자 인식(speaker recognition)이란 음성 신호가 주어졌을 때 시스템에서 미리 저장된 발성과 비교하여 화자가 누구인지를 식별하는 기술을 말한다.

- 이 시스템에 음성을 입력하면, 등록된 화자 모델을 검색해 음성과 가장 일치하는 화자를 찾아주지만, 치명적인 단점으로는 시스템에 등록되지 않은 화자의 음성을 구분하지 못하기 때문에 등록된 음성중 가장 유사한 화자로 인식되어 보안에 문제가 발생할 수 있습니다.


◇ 화자 인식은 크게 화자 식별(speaker identification)과 화자 검증(speaker verification)으로 나눌 수 있다.

- 화자 식별은 시스템에 미리 저장된 다수의 화자 중에서 입력된 음성 신호의 특징과 가장 유사한 한 명의 화자를 찾는 작업이다. 
- 화자 검증(화자 인증)은 입력된 음성 신호와 시스템에 미리 저장된 한 개의 음성 신호를 비교하여 얼마나 유사한지 판단한다. 
- 화자 식별은 다수의 화자 중에서 1명을 찾는 작업으로 다중 분류 문제이고, 화자 검증은 입력된 음성이 대상 화자가 맞거나 틀린 지 검증하는 이진 분류 문제이다. 화자 인증과 화자 식별은 마지막 분류 단계에서만 차이가 있을 뿐, 실제로 구현하기 위한 세부 기술은 거의 동일하다.


◇ 화자 인증 시스템은 등록 과정(off-line)과 평가 과정(on-line)으로 나뉜다.

- 등록 과정에서 n개의 등록 발성으로 사전에 학습된 화자 특징 추출 DNN에 등록한다. 여기서 등록 발성으로 화자 식별을 통해 나오는 n개의 화자 특징을 화자 모델로 구성한다. 
- 평가 과정에서 평가 발성을 화자 특징 추출 DNN에 넣어 화자 특징을 추출한다. 그다음 미리 등록되어 있던 화자 특징과 평가를 위해 넣었던 평가 발성에서 나온 화자 특징을 서로 비교하여 인증 점수와 임계값을 비교하여 화자 인증을 수행하며 임계값보다 작을 때는 거부를 하고 임계값보다 크다면 승인을 한다.


◇ 학습을 위해 사전에 준비한 발성을 이용해서 화자 특징을 추출하는 DNN을 학습시켜야 한다.

- 여기서 n개의 발성을 DNN에 입력할 때 보통 음향 특징을 추출해서 DNN의 입력으로 넣는다. 음향 특징이란 발성의 음향 정보를 담고 있는 특징이다. 보통 단위 시간 당 고정된 차원의 벡터 형태로 보통 MFCC(mel-frequency cepstral coefficient)나 Mel-filterbank energies와 같은 음향 특징을 사용한다. 
- 시간이 지날수록 점차 특징 추출과정을 덜 거친 음향 특징을 사용하는 형태로 연구가 진행되고 있다. 2018년도에는 특징 추출과정을 거치지 않은 Raw waveform으로부터 화자 특징을 직접 추출하는 방식의 화자 인증 시스템이 도입되었다.

개발 과제의 목표 및 내용

◇ 화자 인식은 음성 인식의 가장 어려운 분야로 화자 인식 수행 시 음성 신호에 화자 정보가 충분히 담겨있지 않으면 정확도가 크게 떨어진다. 음성 신호에 정보가 충분하지 않은 이유로는 크게 다음 2가지와 같다.

1) 발성 도중 잡음이 섞여 잘 안 들리는 경우. 2) 충분히 길게 발성하지 않고 짧게 말하는 경우.

- 이 중 짧은 발성을 보상하는 연구는 상대적으로 덜 진행되었지만 짧은 발성은 화자 인증 어플리케이션의 성능을 크게 저하시키는 하나의 요인이다. 
- 이러한 이유로 화자 인증 실험에서 사용되는 발성의 길이와 화자 인증 어플리케이션에서 요구하는 발성의 길이의 차이가 있기 때문이다. 
- 보통 실험에서 사용되는 발성의 길이는 5초 이상의 긴 발성을 사용하지만, 화자 인증 어플리케이션에서는 3~2초 정도의 짧은 발성을 종종 사용하기 때문이다. 
- 하지만 보통 모델에서 짧은 발성에 대한 정확도는 긴 발성보다 좋지 않기 때문에 짧은 발성을 보상하는 시스템이 필요하다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 기술현황

◇ 짧은 발성을 보상하기 위해 향상된 i-vector의 추출 방법을 사용하기도 하고, Conditional Generative Adversarial Networks를 사용하는 방법도 있다. 하지만 관련 기술의 연구는 보통 예전에 시행하던 I-vector를 추출해서 보상하는 방법으로 많이 연구되었고, 음성 인식 모델 압출 분야에서 사용되었던 TSL(Teacher-Student Learning) 방법을 이용해서 짧은 발성을 보상하는 연구는 없었다.

개발과제의 기대효과

기술적 기대효과

인공지능(AI) 스피커에 화자 인식 기술을 적용한다면 이용자의 음성에서 성별, 나이, 언어, 감정 등 특징을 추출해 누구의 목소리인지 구별할 수 있다. 결제, 송금, 잠금 해제 등 인증수단이나 뉴스, 음악, 일정알림 등 개인화 추천 서비스에 활용할 수 있다. 이러한 화자 인식 서비스를 이용하기 위해서 사용자는 자신의 목소리를 스피커에 들려줘야 하는데 이때, 목소리를 짧게 낸다면 스피커의 인식률이 현저히 떨어져서 화자 인식 기능을 사용하기 어려움이 크다. 이와 관련해서 짧은 발성에 대해 사용자의 인식률이 길게 말하는 것과 같이 올라간다면 사용자의 편의성이 증진되며 지문 인식이나 홍채인식보다 편리한 인증방법으로 사용될 것이다.

경제적, 사회적 기대 및 파급효과

내용

기술개발 일정 및 추진체계

개발 일정

(3월) - Teacher network와 Student network에서 사용하는 모델은 심층 신경망(Deep Neural Network, DNN)이고, 화자 인식에서 사용하는 화자 특징(Speaker Embedding)은 DNN에서 추출하는 고정된 은닉층 벡터(d-vector)를 사용합니다. d-vector 기반 DNN모델을 구현하는 것이 개발 과제의 첫 번째 목표입니다. (4월) - 모델을 구현한 후 음성 데이터를 모델의 입력으로 사용하기 위해서 MFCC 음향 특징을 추출하는 전처리 과정을 진행하였습니다. 그리고 전처리된 발성 데이터를 이용하여 처음에는 3.5초 이상의 긴 발성을 이용하여 Teacher 모델을 학습시키는 것이 두 번째 목표입니다. (5월) - 학습된 Teacher 모델의 정보를 이용해 Teacher 모델에서 추출된 화자 특징과 출력값의 정보를 이용하여 Student 모델을 학습하는 과정이 세 번째 목표입니다. (6월) - 마지막으로 Teacher 모델과 Student 모델의 성능을 비교하기 위해서 긴 발성, 짧은 발성의 다양한 길이의 발성을 두 모델에 넣어 짧은 발성의 성능이 향상되는지 아닌지 성능을 비교하여 결과를 보는 것이 마지막 목표입니다.

구성원 및 추진체계

내용

설계

설계사양

제품의 요구사항

화자 인식은 음성 인식의 가장 어려운 분야로 화자 인식 수행 시 음성 신호에 화자 정보가 충분히 담겨있지 않으면 정확도가 크게 떨어진다. 그렇기 때문에 사용자가 AI 스피커 등 화자 인식을 수행하는 어플리케이션에 자신임을 증명하기 위해서는 긴 발성을 입력 하는게 정확도가 높다. 하지만 이렇게 계속 긴 발성으로 화자 인증을 수행한다면 사용자가 크게 불편함을 느낄 것이고 결국 사용을 포기하게 될 것이다. 따라서 사용자가 짧은 발성으로도 화자 인증을 수행할 수 있으려면 최소한의 긴 발성의 길이만큼 화자 인식률을 높여야 한다. 그러므로 보통 화자 인식에서 3.5초 이상의 발성을 긴 발성으로 생각하므로 가장 경계에 가까운 3.59초 발성의 화자 인식률과 3.5초 이하의 짧은 발성의 화자 인식률을 비교하여 최대한 인식률을 끌어올린다.

설계 사양

내용

개념설계안

Teacher network는 3.5초 이상의 긴 발성을 입력 발성으로 사용하여 모델을 학습시키고, Student network는 2~3.5초의 짧은 발성을 입력 발성으로 사용하여 모델을 학습시킨다. Student network는 Teacher network와 똑같은 network 구조를 가지고 학습된다. Student 모델을 학습시키기 위한 Loss 함수는 Teacher 모델에서 추출한 화자 특징(speaker embedding)과 Student 모델에서 추출한 화자 특징의 코사인 유사도(cosine similarity)를 비교하는 식과 Teacher 모델의 Output layer의 Categorical cross-entropy값과 Student 모델의 Output layer의 Categorical cross-entropy값을 비교하는 쿨백-라이블러 발산(Kullback–Leibler divergence, KLD)의 식을 동시에 사용한다.

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용