KR20200023893A - 화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들 - Google Patents

화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들 Download PDF

Info

Publication number
KR20200023893A
KR20200023893A KR1020180100378A KR20180100378A KR20200023893A KR 20200023893 A KR20200023893 A KR 20200023893A KR 1020180100378 A KR1020180100378 A KR 1020180100378A KR 20180100378 A KR20180100378 A KR 20180100378A KR 20200023893 A KR20200023893 A KR 20200023893A
Authority
KR
South Korea
Prior art keywords
speaker
features
input
learning
neural network
Prior art date
Application number
KR1020180100378A
Other languages
English (en)
Other versions
KR102655791B1 (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 삼성전자주식회사
Priority to KR1020180100378A priority Critical patent/KR102655791B1/ko
Priority to US16/519,757 priority patent/US11367451B2/en
Publication of KR20200023893A publication Critical patent/KR20200023893A/ko
Application granted granted Critical
Publication of KR102655791B1 publication Critical patent/KR102655791B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/18Artificial neural networks; Connectionist approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Collating Specific Patterns (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

일 실시예에 따른 화자 인증 방법 및 장치는 객체 입력 음성에 해당하는 복수의 프레임들에 대응하는 입력 화자 특징들을 추출하고, 복수의 프레임들에 대응하여 화자 식별력을 나타내는 화자 식별력들을 추정하고, 화자 식별력들에 기초하여 입력 화자 특징들과 기등록된 등록 화자 특징들을 동적으로 매칭하여 화자 인증을 수행한다.

Description

화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들{SPEAKER AUTHENTICATION METHOD, LEARNING METHOD FOR SPEAKER AUTHENTICATION AND DEVICES THEREOF}
아래 실시예들은 화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들에 관한 것이다.
같은 언어라도 화자(speaker)마다 구강 구조가 다르고, 동일 화자라고 하더라도 발성에서 차이가 날 수 있으므로 다양한 발음들이 존재할 수 있다. 이와 같이 발성에서 차이가 나는 원인은 크게 두 가지로 구분할 수 있다. 첫째는 동일 화자의 발화 방법(예를 들어, 발화 속도나 억양의 변화 등)의 변화이고, 둘째는 서로 다른 화자 간 구강 구조, 다시 말해 성도(vocal tract)의 차이다.
일반적으로 화자 인식 알고리즘에서 사용하는 스코어링 방식은 동일 화자의 발화 방법에 대한 변화에 둔감해야 하고, 다른 화자 간 발성 기관의 차이에는 민감해야 한다. 하지만, 스코어링 방식은 실제로 동일 화자의 발화 방법 차이에도 민감하고, 다른 화자 간 발성 기관의 차이에도 민감한 특성이 있어 화자 식별력에 한계가 있다.
일 실시예에 따르면, 화자 인증 방법은 입력 음성에 해당하는 복수의 프레임들을 수신하는 단계; 상기 복수의 프레임들에 대응하는 입력 화자 특징들을 추출하는 단계; 상기 복수의 프레임들에 대응하는 화자 식별력들을 추정하는 단계; 상기 화자 식별력들에 기초하여, 상기 입력 화자 특징들과 기등록된 등록 화자 특징들을 동적으로 매칭하는 단계; 및 상기 동적 매칭의 결과에 기초하여, 화자 인증을 수행하는 단계를 포함한다.
상기 매칭하는 단계는 상기 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들을 선택하는 단계; 및 상기 선택된 입력 화자 특징들과 상기 등록 화자 특징들을 동적으로 매칭하는 단계를 포함할 수 있다.
상기 매칭하는 단계는 상기 화자 식별력들 중 임계치보다 작은 화자 식별력을 갖는 입력 화자 특징을 제거(dropping)는 단계; 상기 제거한 입력 화자 특징에 대응하는 등록 화자 특징을 제거하는 단계; 및 상기 제거한 입력 화자 특징을 제외한 나머지 입력 화자 특징들을 상기 제거한 등록 화자 특징을 제외한 나머지 등록 화자 특징들과 동적으로 매칭하는 단계를 포함할 수 있다.
상기 매칭하는 단계는 상기 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들에 가중치를 부여하는 단계; 및 상기 가중치가 부여된 입력 화자 특징들을 상기 등록 화자 특징들과 동적으로 매칭하는 단계를 포함할 수 있다.
상기 매칭하는 단계는 상기 입력 화자 특징들 중 묵음(short pause)에 해당하는 입력 화자 특징을 제거하는 단계; 및 상기 묵음이 제거된 입력 화자 특징들과 상기 등록 화자 특징들을 동적으로 매칭하는 단계를 포함할 수 있다.
상기 매칭하는 단계는 상기 입력 화자 특징들 중 묵음에 해당하는 입력 화자 특징에 제1 가중치를 부여하는 단계; 상기 입력 화자 특징들 중 음성에 해당하는 입력 화자 특징에 제2 가중치를 부여하는 단계; 및 상기 제1 가중치가 부여된 입력 화자 특징 및 상기 제2 가중치가 부여된 입력 화자 특징 각각과 상기 등록 화자 특징들을 동적으로 매칭하는 단계를 포함할 수 있다.
상기 매칭하는 단계는 상기 입력 화자 특징들과 동일한 음소(phonemes)를 나타내는 등록 화자 특징들을 정렬(align)하는 단계; 및 상기 정렬된 입력 화자 특징들 및 등록 화자 특징들을 동적으로 매칭하는 단계를 포함할 수 있다.
상기 화자 인증을 수행하는 단계는 상기 동적 매칭의 결과를 누적하여 상기 입력 음성에 대응하는 거리를 산출하는 단계; 및 상기 거리와 임계치와의 비교 결과에 기초하여, 화자 인증을 수행하는 단계를 포함할 수 있다.
상기 입력 화자 특징들을 추출하는 단계는 상기 복수의 프레임들의 주파수 별 에너지에 기초하여 상기 입력 화자 특징들을 추출하는 단계를 포함할 수 있다.
일 실시예에 따르면, 학습 방법은 학습 음성에 해당하는 복수의 학습 프레임들을 수신하는 단계; 상기 복수의 학습 프레임들 및 학습 프레임 별 화자 정보에 기초하여, 학습 프레임 별 화자 특징을 추출하고, 상기 학습 프레임 별 화자 특징에 기초하여 학습 프레임 별 화자를 인식하는 제1 신경망을 학습하는 단계; 상기 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습하는 단계를 포함한다.
상기 제1 신경망은 상기 학습 프레임 별 화자 특징들을 추출하는 제1-1 신경망; 및 상기 학습 프레임 별 화자를 식별하는 제1-2 신경망을 포함할 수 있다.
상기 제1-2 신경망은 소프트맥스 레이어(softmax layer)를 포함할 수 있다.
상기 제1 신경망을 학습하는 단계는 상기 학습 프레임 별 화자 정보 및 상기 제1-2 신경망에서 식별된 학습 프레임 별 화자 간의 로스(loss)에 기초하여, 상기 제1-1 신경망 및 상기 제1-2 신경망을 학습하는 단계를 포함할 수 있다.
상기 제2 신경망을 학습하는 단계는 상기 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별 정도를 결정하는 단계; 및 상기 복수의 학습 프레임들 및 상기 학습 프레임 별 화자 식별 정도에 기초하여, 학습 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습하는 단계를 포함할 수 있다.
상기 제1-1 신경망은 복수의 레이어들로 구성된 딥 뉴럴 네트워크를 포함하고, 상기 제2 신경망을 학습하는 단계는 상기 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별 정도를 결정하는 단계; 및 상기 복수의 레이어들 중 어느 하나의 레이어에서 출력된 화자 특징들 및 학습 프레임 별 화자 식별 정도에 기초하여, 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습하는 단계를 포함할 수 있다.
일 실시예에 따르면, 화자 인증 장치는 입력 음성에 해당하는 복수의 프레임들을 수신하는 통신 인터페이스; 및 상기 복수의 프레임들에 대응하는 입력 화자 특징들을 추출하고, 상기 복수의 프레임들에 대응하는 화자 식별력들- 상기 화자 식별력들은 화자 식별력을 나타냄 -을 추정하고, 상기 화자 식별력들에 기초하여 상기 입력 화자 특징들과 기등록된 등록 화자 특징들을 동적으로 매칭하며, 상기 동적 매칭의 결과에 기초하여 화자 인증을 수행하는 프로세서를 포함한다.
상기 프로세서는 상기 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들을 선택하고, 상기 선택된 입력 화자 특징들과 상기 등록 화자 특징들을 동적으로 매칭할 수 있다.
상기 프로세서는 상기 화자 식별력들 중 임계치보다 작은 화자 식별력을 갖는 입력 화자 특징을 버리고, 상기 버린 입력 화자 특징을 제외한 나머지 입력 화자 특징들을 상기 등록 화자 특징들과 동적으로 매칭할 수 있다.
상기 프로세서는 상기 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들에 가중치를 부여하고, 상기 가중치가 부여된 입력 화자 특징들을 상기 등록 화자 특징들과 동적으로 매칭할 수 있다.
도 1은 일 실시예에 따른 화자 인증 방법을 설명하기 위한 도면.
도 2는 일 실시예에 따른 화자 인증 방법을 나타낸 흐름도.
도 3 내지 도 5는 실시예들에 따라 입력 화자 특징들과 등록 화자 특징들을 동적으로 매칭하는 방법을 설명하기 위한 도면들.
도 6은 일 실시예에 따른 화자 인증 장치의 동작을 설명하기 위한 도면.
도 7은 일 실시예에 따른 화자 인증을 위한 학습 방법을 나타낸 흐름도.
도 8 내지 도 9는 실시예들에 따른 학습 장치의 학습 방법을 설명하기 위한 도면들.
도 10은 일 실시예에 따른 화자 인증 장치의 블록도.
본 명세서에 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것이다. 개시된 실시예들은 다양한 다른 형태로 변경되어 실시될 수 있으며 본 명세서의 범위는 개시된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 스마트 홈 시스템 등에서 화자(사용자)를 인식하여 화자 인증을 수행하는데 적용될 수 있다. 실시예들은 화자 인식을 통해 결제, 화자 맞춤형 동작 수행 등과 같은 다양한 제어 동작을 수행하는 데에 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 화자 인증 방법을 설명하기 위한 도면이다. 일 실시예에 따르면, 화자 인증 장치는 음성 인식 이후, 화자(speaker)를 식별하여 화자 인증을 수행하기 위한 정보를 처리하는 장치로서, 예를 들어 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 화자 인증 장치는 화자의 인식과 관련된 동작, 연산 및 명령 등을 생성 또는 처리할 수 있다. 화자 인증 장치는 스마트 폰, 테블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 텔레비전, 웨어러블 장치, 보안 시스템, 스마트 홈 시스템 등 다양한 컴퓨팅 장치 및/또는 시스템에 탑재될 수 있다.
도 1의 (a)를 참조하면, 음성 정보를 포함하는 음성 신호로부터 임베딩 벡터(embedding vector)를 추출하는 과정이 도시된다.
음성 정보를 포함하는 음성 신호는 예를 들어, 발화(utterance), 윈도우(window) 및 프레임(frame) 등과 같은 다양한 단위로 나누어질 수 있다. 1개의 프레임은 예를 들어, 100 msec 또는 10 msec에 해당하는 음성 정보를 포함하는 것으로 정의될 수 있다. 일 실시예에 따르면, 화자 인증 장치는 입력 음성에 해당하는 복수의 프레임들을 획득할 수 있다. 화자 인증 장치는 뉴럴 네트워크를 이용하여 인식된 음성의 발음에 대응하는 임베딩 벡터가 어느 화자의 것인지를 추정할 수 있다.
이하, 화자 인식에 앞서 수행되는 음성 인식 과정에 대한 간략하게 설명한다.
음성 인식은 일반적으로 음향 모델(acoustic model) 및 언어 모델(language model)을 포함하는 음성 인식 모델에 의해 수행될 수 있다. 음향 모델은 음성 신호로부터 추출된 특징으로부터 음성 신호를 음소(phoneme) 단위로 인식하는 모델을 나타낼 수 있다. 예를 들어, 음성 인식 장치는 음향 모델에 의해 획득된 음성 신호를 음소 단위로 인식한 결과에 기초하여, 음성 신호가 나타내는 단어들을 추정할 수 있다. 음향 모델은 뉴럴 네트워크, 예를 들어, GMM (Gaussian Mixture Model), DNN (Deep Neural Network) 또는 BLSTM (Bidirectional Long Short Term Memory) 등과 같이 다양한 구조로 구현될 수 있다. 또한, 언어 모델은 단어들 사이의 연결 관계에 기초한 확률 정보를 획득하도록 설계된 모델을 나타낼 수 있다. 언어 모델은 언어 모델에 입력된 단어에 연결될 다음 단어에 대한 확률 정보를 제공할 수 있다. 예를 들어, 언어 모델에 "this"의 단어가 입력되는 경우, 언어 모델은 "this" 다음에 "is" 또는 "was"가 연결될 확률 정보를 제공할 수 있다. 음성 인식 시스템은 언어 모델에 의해 제공된 확률 정보에 기초하여 가장 확률이 높은 단어들 간의 연결 관계를 선택하고, 선택 결과를 음성 인식 결과로서 출력할 수 있다.
일 실시예에서는 전술한 음성 인식이 완료되 것을 전제로 화자를 인증하는 방법에 대한 것이다. 일 실시예에 따른 화자 인증 장치는 예를 들어, 등록 화자의 등록 발화(또는 등록 화자 특징들)와 입력 화자의 입력 발화(또는 입력 화자 특징들) 간의 발성 구간을 일치시키고, 화자 간의 차이를 검사하여 화자를 식별 및/또는 인증할 수 있다.
이때, 등록 화자 특징들은 전술한 음성 인식 장치와 결합되는 화자 인증 장치에서 등록 화자의 발성을 세그먼트 단위로 나누어 등록 화자 특징들을 추출하고, 추출한 등록 화자 특징들을 저장하여 등록 화자의 템플릿(template)으로 활용한 것에 해당할 수 있다.
도 1의 (b)를 참조하면, 입력 음성에서 화자 간의 분별력(식별력)을 가지는 유성음들이 도시된다. 일 실시예에서는 화자 간의 강한 식별력을 가지는 프레임들(또는 화자 특징)에 기초하여 입력 화자 특징들과 등록 화자 특징들을 동적으로 매칭함으로써 화자 인증 성능을 향상시킬 수 있다.
도 2는 일 실시예에 따른 화자 인증 방법을 나타낸 흐름도이다. 도 2를 참조하면, 일 실시예에 따른 화자 인증 장치는 입력 음성에 해당하는 복수의 프레임들을 수신한다(210).
화자 인증 장치는 복수의 프레임들에 대응하는 입력 화자 특징들을 추출한다(220). 화자 인증 장치는 예를 들어, 복수의 프레임들의 주파수 별 에너지에 기초하여 입력 화자 특징들을 추출할 수 있다. 입력 화자 특징은 '입력 화자의 특징 벡터' 또는 '입력 화자의 임베딩 벡터(embedding vector)'라고도 부를 수 있다.
화자 인증 장치는 복수의 프레임들에 대응하는 화자 식별력들을 추정한다(230). 화자 식별력들은 "집중도(attention)"라고도 부를 수 있다.
화자 인증 장치는 화자 식별력들에 기초하여, 입력 화자 특징들과 기등록된 등록 화자 특징들을 동적으로 매칭한다(240). 화자 인증 장치가 매칭을 수행하는 방법들은 아래의 도 3 내지 도 5를 참조하여 구체적으로 설명한다.
화자 인증 장치는 단계(240)에서의 동적 매칭의 결과에 기초하여, 화자 인증을 수행한다(250). 화자 인증 장치는 예를 들어, 동적 매칭의 결과에 따른 거리 또는 유사도에 기초하여, 화자 인증을 수행할 수 있다.
도 3은 일 실시예에 따라 입력 화자 특징들과 등록 화자 특징들을 동적으로 매칭하는 방법을 설명하기 위한 도면이다. 도 3을 참조하면, 일 실시예에 따라 발화 차이에 의한 영향을 최소화하도록 화자 특징들을 동적으로 매칭하는 방법이 도시된다.
전술한 바와 같이 화자마다 발성이 상이하고, 발성마다 발성의 길이나 발화 방법이 상이할 수 있다. 예를 들어, "Hi, Bixby"라는 문장에 대하여 사용자 A는 "하~이, 빅스비"라고 발음할 수 있고, 사용자 B는 "하이, 빅~스비"라고 발음할 수 있다. 이와 같이 동일한 구문이라도 화자마다 발성 길이나 발화 방법이 상이할 수 있다.
일 실시예에 따른 화자 인증 장치는 예를 들어, 평가하려는 입력 음성(또는 입력 발화)(310)이 수신되면, 입력 음성(310)에 대하여 세그먼트 단위의 복수 개의 입력 화자 특징들(330)을 추출하고, 이를 기등록된 등록 화자 특징들(350)과 비교(또는 매칭)함으로써 화자를 인식 및/또는 인증할 수 있다. 일 실시예에서는 입력 화자 특징들(330)과 기등록된 등록 화자 특징들(350)에서 같은 음소 정보(Phonetic information)끼리 일치시켜 비교(또는 매칭)함으로써 발화 내용 간의 변화를 최소화하는 한편, 화자 간의 변화에 민감하도록 매칭 거리(Matching distance)를 측정할 수 있다.
화자 인증 장치는 입력 화자 특징들(330)과 동일한 음소(phonemes)를 나타내는 등록 화자 특징들(350)을 정렬(align)할 수 있다. 화자 인증 장치는 "Hi"에 해당하는 입력 화자 특징들(331)과 "Hi"에 해당하는 등록 화자 특징들(351)을 정렬할 수 있다. 또한, 화자 인증 장치는 "Bixby"에 해당하는 입력 화자 특징들(335)과 Bixby"에 해당하는 등록 화자 특징들(355)을 정렬할 수 있다. 이때, 화자 인증 장치는 "Hi"와 "Bixby" 사이의 묵음(short pause) 구간에 해당하는 입력 화자 특징들(333)과 등록 화자 특징들(353) 또한 정렬할 수 있다.
화자 인증 장치는 앞서, 정렬된 입력 화자 특징들(330) 및 등록 화자 특징들(350)을 매칭할 수 있다. 화자 인증 장치는 "Hi", "묵음(short pause) 구간" 및/또는 "Bixby" 각각에 해당하는 입력 화자 특징들(330)과 등록 화자 특징들(350)을 동적으로 매칭할 수 있다. 화자 인증 장치는 매칭된 화자 특징들 간의 매칭 거리 또는 유사도 스코어에 의해 화자를 식별하여 화자 인증을 수행할 수 있다.
일 실시예에 따르면, 동일한 음소를 나타내는 화자 특징들을 정렬하여 매칭하는 동적 매칭(dynamic matching)을 통해 화자마다의 발화 차이에 의한 영향을 최소화할 수 있다.
도 4는 다른 실시예에 따라 입력 화자 특징들과 등록 화자 특징들을 동적으로 매칭하는 방법을 설명하기 위한 도면들이다. 도 4를 참조하면, 복수의 프레임들에 대응하는 식별력 존재 구간을 자동으로 검출하고, 식별력 존재 구간에 해당하는 화자 식별력들에 기초하여 입력 화자 특징들과 등록 화자 특징들을 동적으로 매칭하는 과정이 도시된다.
예를 들어, 도 4에서 "Hi"에 해당하는 입력 화자 특징들(331)과 등록 화자 특징들(351) 또는 "Bixby"에 해당하는 입력 화자 특징들(335)과 등록 화자 특징들(355)들은 음성 정보를 포함하므로 화자 식별력이 있는 구간에 해당할 수 있다. 특히, "Hi"에서의 'i'와 "Bixby"에서 'i'와 "y"는 유성음에 해당하므로 해당 화자 특징의 화자 식별력(또는 화자 변별력)이 높다고 할 수 있다.
반면, 입력 화자 특징들(333)과 등록 화자 특징들(353)에 대응하는 묵음 구간은 아무런 음성 정보를 포함하지 않으므로 화자 식별력이 없는 구간에 해당할 수 있다. 이와 같이 식별력이 없는 구간을 인증 평가에 포함하는 것은 화자 인식 성능을 저하시키는 원인이 될 수 있다. 따라서, 일 실시예에서는 식별력이 존재하는 구간 또는 식별력이 높은 구간을 추정하는 화자 식별력을 이용하여 화자 인식 성능을 향상시킬 수 있다.
보다 구체적으로, 일 실시예에 따른 화자 인증 장치는 화자 식별력이 있는 구간에 해당하는 입력 화자 특징을 이용하여 동적 매칭을 수행할 수 있다. 화자 인증 장치는 예를 들어, 복수의 프레임들에 대응하는 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들을 선택하고, 선택된 입력 화자 특징들과 등록 화자 특징들을 동적으로 매칭할 수 있다.
실시예에 따라서, 화자 인증 장치는 입력 화자 특징들 중 묵음에 해당하는 입력 화자 특징(333)에 제1 가중치를 부여하고, 입력 화자 특징들 중 음성에 해당하는 입력 화자 특징(331, 335)에 제2 가중치(높은 가중치)를 부여할 수 있다. 이때, 제1 가중치는 제2 가중치에 비해 낮은 가중치에 해당할 수 있다. 제1 가중치는 예를 들어, 0.001 일 수 있고, 제2 가중치는 예를 들어, 0.9 일 수 있다. 화자 인증 장치는 제1 가중치가 부여된 입력 화자 특징 및 제2 가중치가 부여된 입력 화자 특징 각각과 등록 화자 특징들을 동적으로 매칭할 수 있다. 이때, 입력 화자 특징 각각과 매칭되는 등록 화자 특징들 또한 입력 화자 특징들과 마찬가지로 가중치가 부여된 것일 수 있다.
또는 실시예에 따라서, 화자 인증 장치는 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징에만 가중치를 부여하고, 가중치가 부여된 입력 화자 특징을 등록 화자 특징들과 동적으로 매칭할 수도 있다. 또는 화자 인증 장치는 음성 정보를 나타내는 화자 특징들 중 유성음에 해당하는 화자 특징에는 높은 가중치를 부여하여, 비음, 묵음 등과 같이 변별력이 낮은 화자 특징에는 낮은 가중치를 부여할 수 있다.
도 5는 다른 실시예에 따라 입력 화자 특징들과 등록 화자 특징들을 동적으로 매칭하는 방법을 설명하기 위한 도면들이다.
전술한 바와 같이 묵음 구간은 화자 간 식별력이 없으므로, 일 실시예에서는 묵음 구간에 해당하는 세그먼트는 제거하고, 일정 수준 이상의 화자 식별력을 갖는 화자 특징들을 동적으로 매칭할 수 있다.
예를 들어, 묵음 구간에 해당하는 화자 특징의 화자 식별력이 임계치보다 작다고 하자. 화자 인증 장치는 화자 식별력들 중 임계치보다 작은 화자 식별력을 갖는 입력 화자 특징(333)을 제거(dropping)할 수 있다. 화자 인증 장치는 입력 화자 특징(333)에 대응하여 정렬된 등록 화자 특징(353) 또한 제거할 수 있다. 이때, 음성 구간에 해당하더라도 실질적으로 음성으로 표현되지 않는 무음 또는 비음과 같이 그 변별력이 없는 화자 특징(337, 357)은 전술한 묵음 구간과 마찬가지로 제거될 수 있다.
화자 인증 장치는 입력 화자 특징(333, 337)을 제외한 나머지 입력 화자 특징(331, 335), 다시 말해 입력 화자 특징(530)과 등록 화자 특징(353, 357)을 제외한 나머지 등록 화자 특징들(351, 355), 다시 말해 등록 화자 특징(550)을 동적으로 매칭할 수 있다.
도 6은 일 실시예에 따른 화자 인증 장치의 동작을 설명하기 위한 도면이다. 도 6을 참조하면, 일 실시예에 따른 화자 인증 장치(600)가 도시된다. 화자 인증 장치(600)는 등록 화자 특징들을 처리하는 등록 처리부(A) 및 테스트(인증)할 입력 화자 특징들을 처리하는 입력 처리부(B)를 포함할 수 있다.
화자 인증 장치(600)는 Speaker representation DNN(610, 640), Attention DNN(620, 650), Pooling layer(630, 660), Dynamic Matching부(670) 및 비교기(680)를 포함할 수 있다. 이 중 Speaker representation DNN(610), Attention DNN(620), Pooling layer(630)는 등록 처리부(A)에 해당하고, Speaker representation DNN(640), Attention DNN(650), Pooling layer(660)는 입력 처리부(B)에 해당할 수 있다.
등록 음성(Enrollment utterance)에 해당하는 복수의 등록 프레임들이 입력되면, 화자 인증 장치(600)는 Speaker representation DNN(610)를 이용하여 등록 프레임들에 대응하는 등록 화자 특징들을 추출할 수 있다. 또한, 화자 인증 장치(600)는 Attention DNN(620)를 이용하여 등록 프레임들에 대응하는 화자 식별력들을 추정할 수 있다. 이때, 등록 화자 특징들의 개수를 N 개라고 하면, 추정된 화자 식별력들 또한 등록 화자 특징들의 개수에 대응하는 N 개가 될 수 있다.
Pooling layer(630)는 N 개의 등록 화자 특징들 중 묵음 구간에 해당하는 등록 화자 특징(들)을 제거할 수 있다. Pooling layer(630)는 등록 프레임들에 대응하는 화자 식별력들에 기초하여 변별력이 낮은 등록 화자 특징(들)을 제거함으로써 등록 화자 특징들을 M 개(M은 N > M인 자연수)로 줄일 수 있다. Pooling layer(630)의 동작은 실시예에 따라 선택적으로 수행될 수 있음을 나타내기 위해 점선으로 표시하였다.
화자 인증 장치(600)는 테스트(인증)할 입력 프레임들(Test utterance)에 대하여 등록 프레임들과 마찬가지의 동작을 수행할 수 있다.
입력 음성에 해당하는 복수의 입력 프레임들이 입력되면, 화자 인증 장치(600)는 Speaker representation DNN(640)를 이용하여 입력 프레임들에 대응하는 입력 화자 특징들을 추출할 수 있다. 또한, 화자 인증 장치(600)는 Attention DNN(650)를 이용하여 입력 프레임들에 대응하는 화자 식별력들을 추정할 수 있다. 이때, 입력 화자 특징들의 개수를 P개라고 하면, 추정된 화자 식별력들 또한 입력 화자 특징들의 개수에 대응하는 P개가 될 수 있다.
Pooling layer(660)는 P 개의 입력 화자 특징들 중 묵음 구간에 해당하는 입력 화자 특징(들)을 제거할 수 있다. Pooling layer(660)는 입력 프레임들에 대응하는 화자 식별력들에 기초하여 변별력이 낮은 등록 화자 특징(들)을 제거함으로써 입력 화자 특징들을 M개 또는 N 개로 줄일 수 있다. Pooling layer(660)의 동작은 실시예에 따라 선택적으로 수행될 수 있음을 나타내기 위해 점선으로 표시하였다.
화자 인증 장치(600)는 Pooling layer(630)의 출력 및 Pooling layer(660)의 출력을 Dynamic Matching 부(670)에 의해 동적으로 매칭할 수 있다. Dynamic Matching 부(670)는 다양한 동적 매칭 알고리즘들을 이용하여 Pooling layer(630)의 출력 및 Pooling layer(660)의 출력을 동일한 음소(phonemes) 별로 정렬할 수 있다. 동적 매칭 알고리즘들에는 예를 들어, DTW(Dynamic Time Warping), Dynamic Programming 등이 포함될 수 있다.
비교기(680)는 Dynamic Matching 부(670)에서의 동적 매칭의 결과를 누적하여 입력 음성에 대응하는 매칭 거리(dist.)를 산출할 수 있다. 비교기(680)는 매칭 거리와 임계치와의 비교 결과에 기초하여 화자 인증을 수행할 수 있다. 비교기(680)는 예를 들어, 매칭 거리가 임계치보다 가까운 경우 화자 인증을 수락(accept)하고, 매칭 거리가 임계치보다 크거나 같은 경우 화자 인증을 거절(reject)할 수 있다.
실시예에 따라서, 비교기는 Dynamic Matching 부(670)에서의 동적 매칭의 결과를 누적하여 입력 음성에 대응하는 유사도 스코어를 산출할 수도 있다. 이 경우, 비교기(680)는 유사도 스코어가 임계치보다 큰 경우에 화자 인증을 수락하고, 유사도 스코어가 임계치보다 작거나 같은 경우에 화자 인증을 거절할 수 있다.
도 7은 일 실시예에 따른 화자 인증을 위한 학습 방법을 나타낸 흐름도이다. 도 7을 참조하면, 일 실시예에 따른 학습 장치는 학습 음성에 해당하는 복수의 학습 프레임들을 수신한다(710).
학습 장치는 복수의 학습 프레임들 및 학습 프레임 별 화자 정보에 기초하여, 학습 프레임 별 화자 특징을 추출하고, 학습 프레임 별 화자 특징에 기초하여 학습 프레임 별 화자를 인식하는 제1 신경망을 학습한다(720). 여기서, 학습 프레임 별 화자 정보는 제1 신경망이 인식하는 학습 프레임 별 화자에 대응하는 정답(ground truth), 다시 말해 학습 음성의 정답 화자에 해당할 수 있다. 제1 신경망은 예를 들어, 학습 프레임 별 화자 특징들을 추출하는 제1-1 신경망, 및 학습 프레임 별 화자를 식별하는 제1-2 신경망을 포함할 수 있다. 단계(720)에서, 학습 장치는 프레임 별 화자 정보 및 제1-2 신경망에서 식별된 학습 프레임 별 화자 간의 로스(loss)에 기초하여, 제1-1 신경망 및 제1-2 신경망을 학습할 수 있다. 제1 신경망의 구조 및 동작에 대하여는 아래의 도 8을 참조하여 구체적으로 설명한다.
학습 장치는 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습한다(730). 여기서, 학습 프레임 별 화자 인식 결과는 제2 신경망이 추정하는 학습 프레임 별 화자 식별력에 대응하는 정답에 해당할 수 있다.
단계(730)에서 학습 장치는 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별 정도를 결정할 수 있다. 학습 장치는 복수의 학습 프레임들 및 학습 프레임 별 화자 식별 정도에 기초하여, 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습할 수 있다. 학습 장치가 복수의 학습 프레임들 및 학습 프레임 별 화자 식별 정도에 기초하여 제2 신경망을 학습하는 방법은 아래의 도 8을 참조하여 구체적으로 설명한다.
또는 학습 장치는 제1-1 신경망의 복수의 레이어들 중 어느 하나의 레이어(예를 들어, 중간 히든 레이어)에서 출력된 화자 특징들 및 학습 프레임 별 화자 식별 정도에 기초하여, 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습할 수 있다. 학습 장치가 제1-1 신경망의 히든 레이어에서 출력된 화자 특징들 및 학습 프레임 별 화자 식별 정도에 기초하여 제2 신경망을 학습하는 방법은 아래의 도 9를 참조하여 구체적으로 설명한다.
도 8는 일 실시예에 따른 학습 장치의 학습 방법을 설명하기 위한 도면이다. 도 8을 참조하면, 일 실시예에 따른 학습 장치(800)는 제1 신경망(810) 및 제2 신경망(830)을 포함한다.
전술한 바와 같이, 제1 신경망(810)은 예를 들어, 학습 프레임 별 화자 특징들을 추출하는 제1-1 신경망(813), 및 학습 프레임 별 화자를 식별하는 제1-2 신경망(816)을 포함할 수 있다. 제1-1 신경망(813)은 "Representation DNN"에 해당하고, 제2 신경망(816)은 "Softmax Layer"에 해당할 수 있다.
제1-1 신경망(813)은 복수의 레이어들로 구성된 딥 뉴럴 네트워크를 포함할 수 있다. 제1-1 신경망(813)은 예를 들어, 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어를 포함할 수 있다. 입력 레이어는 학습 음성에 해당하는 복수의 프레임들을 수신하여 히든 레이어로 전달할 수 있고, 출력 레이어는 히든 레이어의 노드들로부터 수신된 신호에 기초하여 출력 데이터인 입력 화자 특징들을 생성할 수 있다. 하나 이상의 히든 레이어가 입력 레이어 및 출력 레이어 사이에 연결될 수 있고, 학습 장치(800)는 히든 레이어를 통해 입력 데이터인 학습 음성에 해당하는 복수의 프레임들을 예측하기 쉬운 값으로 변환할 수 있다. 입력 레이어 및 하나 이상의 히든 레이어에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 히든 레이어 및 출력 레이어에 포함된 노드들 또한 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 신경망 중에서 복수의 히든 레이어를 포함하는 신경망을 '딥 뉴럴 네트워크(deep neural network)' 라 한다.
히든 레이어는 CNN(convolutional neural network)에서의 컨볼루션 필터(convolution filter) 또는 완전 연결 레이어(fully connected layer)이거나, 특별한 기능이나 특징을 기준으로 묶인 다양한 종류의 필터 또는 레이어일 수 있다.
실시예에 따라서, 제1-1 신경망(813)은 RNN(recurrent neural network)으로 구현될 수도 있다. RNN은 이전 프레임의 히든 레이어의 출력 값이 현재 프레임의 히든 레이어에 다시 입력되는 네트워크에 해당할 수 있다. RNN은 이전의 출력들이 새로운 출력의 계산 결과에 영향을 줄 수 있다.
제1-2 신경망(816)은 제1-1 신경망(813)에서 출력된 High-level의 화자 특징이 어느 클래스(어느 화자(ID))에 해당하는지를 분류하여 해당 ID일 확률 분포(probability distribution)를 출력할 수 있습니다. 제1-2 신경망(816)은 화자 특징이 해당 화자(ID)일 확률 분포를 예를 들어, 소프트맥스 스코어(Softmax score)의 형태로 출력할 수 있다.
예를 들어, 제1-2 신경망(816)에서 출력된 소프트맥스 스코어가 그래프(801)와 같이 어떤 화자(ID)에서도 두드러지는 변별력(또는 화자 식별력)를 나타내지 않는 경우, 학습 장치(800)는 해당 학습 프레임에 대응하는 화자 식별력으로 '0'을 출력하도록 학습할 수 있다. 또한, 제1-2 신경망(816)에서 출력된 소프트맥스 스코어가 그래프(803)과 같이 두 개의 화자(ID)에서 유사한 결과를 나타내어 변별력에 혼돈을 가져올 수 있는 경우, 학습 장치(800)는 해당 결과를 학습에 이용하지 않고 버릴 수 있습니다. 소프트맥스 스코어가 그래프(805)와 같이 어느 하나의 화자(ID)에서 두드러지는 변별력을 나타내는 경우, 학습 장치(800)는 해당 학습 프레임에 대응하는 화자 식별력을 '1'로 학습할 수 있습니다. 실시예에 따라서, 학습 장치(800)는 소프트맥스 스코어에서 예를 들어, 1-best ID에 해당하는 스코어와 2nd best ID에 해당하는 스코어 간의 차이에 따라 해당 학습 프레임에 대응하는 화자 식별력을 '1'(또는 '0')로 결정할 지 또는 학습에 이용하지 않고 버릴 것인지를 결정할 수 있다.
정리하자면, 학습 장치(800)는 학습 프레임 별 화자 인식 결과와 학습 음성의 정답 화자에 기초하여, 제1-1 신경망(813) 및 제1-2 신경망(816)을 학습할 수 있다. 학습 장치(800)는 학습된 제1-1 신경망(813) 및 학습된 제1-2 신경망(816)을 이용하여 복수의 학습 프레임들 별 화자 식별력을 구분할 수 있다.
제2 신경망(830)는 학습된 제1 신경망(810)에 의하여 출력되는 학습 프레임 별 화자 인식 결과(예를 들어, '0', 또는 '1')에 기초하여 학습 프레임 별 화자 식별력을 추정한다. 제2 신경망(830)는 "Attention DNN"일 수 있다.
보다 구체적으로, 학습 장치(800)는 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별 정도를 결정할 수 있다. 학습 프레임 별 화자 식별 정도는 예를 들어, 프레임 레벨의 신뢰도 스코어(frame-level confidence score)일 수 있다. 학습 장치(800)는 복수의 학습 프레임들 및 학습 프레임 별 화자 식별 정도에 기초하여, 학습 프레임 별 화자 식별력을 추정하는 제2 신경망(830)을 학습할 수 있다.
도 9는 일 실시예에 따른 학습 장치의 학습 방법을 설명하기 위한 도면이다. 도 9를 참조하면, 일 실시예에 따른 학습 장치(900)가 도시된다. 학습 장치(900)는 제1 신경망(910) 및 제2 신경망(930)을 포함한다. 제1 신경망(910)은 제1-1 신경망(913), 및 제1-2 신경망(916)을 포함할 수 있다. 제1 신경망(910)의 동작은 전술한 제1 신경망(810)의 동작과 동일하므로 제1 신경망(910)에 대한 구체적인 설명은 생략한다.
실시예에 따라서, 학습 장치(900)는 복수의 학습 프레임들을 대신하여, 제1-1 신경망의 복수의 레이어들 중 어느 하나의 레이어에서 출력된 화자 특징들을 이용하여 제2 신경망을 학습할 수 있다. 학습 장치(900)는 제1-1 신경망(913)의 복수의 레이어들 중 어느 하나의 레이어(어느 하나의 히든 레이어)에서 출력된 화자 특징들 및 학습 프레임 별 화자 식별 정도에 기초하여, 프레임 별 화자 식별력을 추정하는 제2 신경망(930)을 학습할 수 있다. 그 밖의 제2 신경망(930)의 동작은 제1 신경망(910)의 동작과 동일하므로 구체적인 설명은 생략한다.
도 10은 일 실시예에 따른 화자 인증 장치의 블록도이다. 도 10을 참조하면, 일 실시예에 따른 화자 인증 장치(이하, '인증 장치')(1000)는 프로세서(1030) 및 통신 인터페이스(1070)를 포함한다. 화자 인증 장치(1000)는 센서(1010), 메모리(1050) 및 스피커(1090)를 더 포함할 수 있다. 센서(1010), 프로세서(1030), 메모리(1050), 통신 인터페이스(1070), 스피커(1090) 및 디스플레이(1095)는 통신 버스를 통해 서로 통신할 수 있다.
센서(1010)는 예를 들어, 음성 입력을 감지하는 음성 감지 센서 또는 콘덴서 마이크일 수 있다.
프로세서(1030)는 복수의 프레임들에 대응하는 입력 화자 특징들을 추출한다. 프로세서(1030)는 복수의 프레임들에 대응하여 화자 식별력을 나타내는 화자 식별력들을 추정한다. 프로세서(1030)는 화자 식별력들에 기초하여, 입력 화자 특징들과 기등록된 등록 화자 특징들을 동적으로 매칭한다. 프로세서(1030)는 동적 매칭의 결과에 기초하여, 화자 인증을 수행한다. 프로세서(1030)는 입력 화자 특징들과 동일한 음소를 나타내는 등록 화자 특징들을 정렬하고, 정렬된 입력 화자 특징들 및 등록 화자 특징들을 동적으로 매칭한다.
메모리(1050)는 프로세서(1030)에서 추정된 복수의 프레임들에 대응하는 화자 식별력들을 저장할 수 있다. 메모리(1050)는 기등록된 등록 화자 특징들을 포함하는 데이터베이스를 저장할 수 있다. 메모리(1050)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
통신 인터페이스(1070)는 입력 음성에 해당하는 복수의 프레임들을 수신한다. 통신 인터페이스(1070)는 화자 인증 장치(1000)의 외부에서 획득한 입력 음성을 수신할 수 있다. 또는, 통신 인터페이스(1070)는 프로세서(1030)에서 수행된 화자 인증 결과를 화자 인증 장치(1000)의 외부, 스피커(1090) 또는 디스플레이(1095)로 전송할 수 있다.
스피커(1090)는 프로세서(1030)에서 수행된 화자 인증 결과를 음성으로 출력할 수 있다.
디스플레이(1095)는 프로세서(1030)에서 수행된 화자 인증 결과를 표시할 수 있다.
이 밖에도, 프로세서(1030)는 도 1 내지 도 9를 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(1030)는 프로그램을 실행하고, 화자 인증 장치(1000)를 제어할 수 있다. 프로세서(1030)에 의하여 실행되는 프로그램 코드는 메모리(1050)에 저장될 수 있다. 프로세서(1030)는 예를 들어, CPU(Central Processing Unit) 또는 GPU(Graphics Processing Unit)으로 구성될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 입력 음성에 해당하는 복수의 프레임들을 수신하는 단계;
    상기 복수의 프레임들에 대응하는 입력 화자 특징들을 추출하는 단계;
    상기 복수의 프레임들에 대응하는 화자 식별력들을 추정하는 단계;
    상기 화자 식별력들에 기초하여, 상기 입력 화자 특징들과 기등록된 등록 화자 특징들을 동적으로 매칭하는 단계; 및
    상기 동적 매칭의 결과에 기초하여, 화자 인증을 수행하는 단계
    를 포함하는, 화자 인증 방법.
  2. 제1항에 있어서,
    상기 매칭하는 단계는
    상기 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들을 선택하는 단계; 및
    상기 선택된 입력 화자 특징들과 상기 등록 화자 특징들을 동적으로 매칭하는 단계
    를 포함하는, 화자 인증 방법.
  3. 제1항에 있어서,
    상기 매칭하는 단계는
    상기 화자 식별력들 중 임계치보다 작은 화자 식별력을 갖는 입력 화자 특징을 제거(dropping)는 단계;
    상기 제거한 입력 화자 특징에 대응하는 등록 화자 특징을 제거하는 단계; 및
    상기 제거한 입력 화자 특징을 제외한 나머지 입력 화자 특징들을 상기 제거한 등록 화자 특징을 제외한 나머지 등록 화자 특징들과 동적으로 매칭하는 단계
    를 포함하는, 화자 인증 방법.
  4. 제1항에 있어서,
    상기 매칭하는 단계는
    상기 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들에 가중치를 부여하는 단계; 및
    상기 가중치가 부여된 입력 화자 특징들을 상기 등록 화자 특징들과 동적으로 매칭하는 단계
    를 포함하는, 화자 인증 방법.
  5. 제1항에 있어서,
    상기 매칭하는 단계는
    상기 입력 화자 특징들 중 묵음(short pause)에 해당하는 입력 화자 특징을 제거하는 단계; 및
    상기 묵음이 제거된 입력 화자 특징들과 상기 등록 화자 특징들을 동적으로 매칭하는 단계
    를 포함하는, 화자 인증 방법.
  6. 제1항에 있어서,
    상기 매칭하는 단계는
    상기 입력 화자 특징들 중 묵음(short pause)에 해당하는 입력 화자 특징에 제1 가중치를 부여하는 단계;
    상기 입력 화자 특징들 중 음성에 해당하는 입력 화자 특징에 제2 가중치를 부여하는 단계; 및
    상기 제1 가중치가 부여된 입력 화자 특징 및 상기 제2 가중치가 부여된 입력 화자 특징 각각과 상기 등록 화자 특징들을 동적으로 매칭하는 단계
    를 포함하는, 화자 인증 방법.
  7. 제1항에 있어서,
    상기 매칭하는 단계는
    상기 입력 화자 특징들과 동일한 음소(phonemes)를 나타내는 등록 화자 특징들을 정렬(align)하는 단계; 및
    상기 정렬된 입력 화자 특징들 및 등록 화자 특징들을 동적으로 매칭하는 단계
    를 포함하는, 화자 인증 방법.
  8. 제1항에 있어서,
    상기 화자 인증을 수행하는 단계는
    상기 동적 매칭의 결과를 누적하여 상기 입력 음성에 대응하는 거리를 산출하는 단계; 및
    상기 거리와 임계치와의 비교 결과에 기초하여, 화자 인증을 수행하는 단계
    를 포함하는, 화자 인증 방법.
  9. 제1항에 있어서,
    상기 입력 화자 특징들을 추출하는 단계는
    상기 복수의 프레임들의 주파수 별 에너지에 기초하여 상기 입력 화자 특징들을 추출하는 단계
    를 포함하는, 화자 인증 방법.
  10. 학습 음성에 해당하는 복수의 학습 프레임들을 수신하는 단계;
    상기 복수의 학습 프레임들 및 학습 프레임 별 화자 정보에 기초하여, 학습 프레임 별 화자 특징을 추출하고, 상기 학습 프레임 별 화자 특징에 기초하여 학습 프레임 별 화자를 인식하는 제1 신경망을 학습하는 단계; 및
    상기 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습하는 단계
    를 포함하는, 학습 방법.
  11. 제10항에 있어서,
    상기 제1 신경망은
    상기 학습 프레임 별 화자 특징들을 추출하는 제1-1 신경망; 및
    상기 학습 프레임 별 화자를 식별하는 제1-2 신경망
    을 포함하는, 학습 방법.
  12. 제11항에 있어서,
    상기 제1-2 신경망은
    소프트맥스 레이어(softmax layer)를 포함하는, 학습 방법.
  13. 제11항에 있어서,
    상기 제1 신경망을 학습하는 단계는
    상기 학습 프레임 별 화자 정보 및 상기 제1-2 신경망에서 식별된 학습 프레임 별 화자 간의 로스(loss)에 기초하여, 상기 제1-1 신경망 및 상기 제1-2 신경망을 학습하는 단계
    를 포함하는, 학습 방법.
  14. 제10항에 있어서,
    상기 제2 신경망을 학습하는 단계는
    상기 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별 정도를 결정하는 단계; 및
    상기 복수의 학습 프레임들 및 상기 학습 프레임 별 화자 식별 정도에 기초하여, 학습 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습하는 단계
    를 포함하는, 학습 방법.
  15. 제10항에 있어서,
    상기 제1-1 신경망은
    복수의 레이어들로 구성된 딥 뉴럴 네트워크를 포함하고,
    상기 제2 신경망을 학습하는 단계는
    상기 학습된 제1 신경망에 의하여 출력되는 학습 프레임 별 화자 인식 결과에 기초하여, 학습 프레임 별 화자 식별 정도를 결정하는 단계; 및
    상기 복수의 레이어들 중 어느 하나의 레이어에서 출력된 화자 특징들 및 학습 프레임 별 화자 식별 정도에 기초하여, 프레임 별 화자 식별력을 추정하는 제2 신경망을 학습하는 단계
    를 포함하는, 학습 방법.
  16. 하드웨어와 결합되어 제1항 내지 제15항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  17. 입력 음성에 해당하는 복수의 프레임들을 수신하는 통신 인터페이스; 및
    상기 복수의 프레임들에 대응하는 입력 화자 특징들을 추출하고, 상기 복수의 프레임들에 대응하는 화자 식별력들- 상기 화자 식별력들은 화자 식별력을 나타냄 -을 추정하고, 상기 화자 식별력들에 기초하여 상기 입력 화자 특징들과 기등록된 등록 화자 특징들을 동적으로 매칭하며, 상기 동적 매칭의 결과에 기초하여 화자 인증을 수행하는 프로세서
    를 포함하는, 화자 인증 장치.
  18. 제17항에 있어서,
    상기 프로세서는
    상기 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들을 선택하고, 상기 선택된 입력 화자 특징들과 상기 등록 화자 특징들을 동적으로 매칭하는, 화자 인증 장치.
  19. 제17항에 있어서,
    상기 프로세서는
    상기 화자 식별력들 중 임계치보다 작은 화자 식별력을 갖는 입력 화자 특징을 버리고, 상기 버린 입력 화자 특징을 제외한 나머지 입력 화자 특징들을 상기 등록 화자 특징들과 동적으로 매칭하는, 화자 인증 장치.
  20. 제17항에 있어서,
    상기 프로세서는
    상기 화자 식별력들 중 임계치보다 크거나 같은 화자 식별력을 갖는 입력 화자 특징들에 가중치를 부여하고, 상기 가중치가 부여된 입력 화자 특징들을 상기 등록 화자 특징들과 동적으로 매칭하는, 화자 인증 장치.
KR1020180100378A 2018-08-27 2018-08-27 화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들 KR102655791B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180100378A KR102655791B1 (ko) 2018-08-27 2018-08-27 화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들
US16/519,757 US11367451B2 (en) 2018-08-27 2019-07-23 Method and apparatus with speaker authentication and/or training

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180100378A KR102655791B1 (ko) 2018-08-27 2018-08-27 화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들

Publications (2)

Publication Number Publication Date
KR20200023893A true KR20200023893A (ko) 2020-03-06
KR102655791B1 KR102655791B1 (ko) 2024-04-09

Family

ID=69586559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180100378A KR102655791B1 (ko) 2018-08-27 2018-08-27 화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들

Country Status (2)

Country Link
US (1) US11367451B2 (ko)
KR (1) KR102655791B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022086045A1 (ko) * 2020-10-22 2022-04-28 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR102498268B1 (ko) * 2022-07-15 2023-02-09 국방과학연구소 화자 인식을 위한 전자 장치 및 그의 동작 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102421429B1 (ko) * 2020-03-05 2022-07-18 닥프렌즈 주식회사 의사 상담 슬라이드 동영상 자동 생성 방법
CN113643709B (zh) * 2021-08-03 2023-07-18 成都理工大学 一种基于mean-SAP池化模型的说话人识别方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150039313A1 (en) * 2010-05-06 2015-02-05 Senam Consulting, Inc. Speech-Based Speaker Recognition Systems and Methods
KR20170131585A (ko) * 2015-09-04 2017-11-29 구글 엘엘씨 화자 검증을 위한 신경망들

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002514318A (ja) 1997-01-31 2002-05-14 ティ―ネティックス,インコーポレイテッド 録音された音声を検出するシステムおよび方法
GB0114866D0 (en) 2001-06-19 2001-08-08 Securivox Ltd Speaker recognition systems
JP4730812B2 (ja) 2005-03-24 2011-07-20 株式会社リコー 個人認証装置、個人認証処理方法、そのためのプログラム及び記録媒体
US9129602B1 (en) 2012-12-14 2015-09-08 Amazon Technologies, Inc. Mimicking user speech patterns
US9293129B2 (en) 2013-03-05 2016-03-22 Microsoft Technology Licensing, Llc Speech recognition assisted evaluation on text-to-speech pronunciation issue detection
US9679583B2 (en) * 2013-03-15 2017-06-13 Facebook, Inc. Managing silence in audio signal identification
WO2015099464A1 (ko) 2013-12-26 2015-07-02 강진호 3차원 멀티미디어 활용 발음 학습 지원 시스템 및 그 시스템의 발음 학습 지원 방법
US10540979B2 (en) * 2014-04-17 2020-01-21 Qualcomm Incorporated User interface for secure access to a device using speaker verification
JP6303971B2 (ja) * 2014-10-17 2018-04-04 富士通株式会社 話者交替検出装置、話者交替検出方法及び話者交替検出用コンピュータプログラム
KR102298457B1 (ko) 2014-11-12 2021-09-07 삼성전자주식회사 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체
US11264037B2 (en) * 2018-01-23 2022-03-01 Cirrus Logic, Inc. Speaker identification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150039313A1 (en) * 2010-05-06 2015-02-05 Senam Consulting, Inc. Speech-Based Speaker Recognition Systems and Methods
KR20170131585A (ko) * 2015-09-04 2017-11-29 구글 엘엘씨 화자 검증을 위한 신경망들

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022086045A1 (ko) * 2020-10-22 2022-04-28 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR102498268B1 (ko) * 2022-07-15 2023-02-09 국방과학연구소 화자 인식을 위한 전자 장치 및 그의 동작 방법

Also Published As

Publication number Publication date
KR102655791B1 (ko) 2024-04-09
US11367451B2 (en) 2022-06-21
US20200066280A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
US20230409102A1 (en) Low-power keyword spotting system
Zeng et al. Effective combination of DenseNet and BiLSTM for keyword spotting
CN110211565B (zh) 方言识别方法、装置及计算机可读存储介质
US10923111B1 (en) Speech detection and speech recognition
US20220343895A1 (en) User-defined keyword spotting
KR102655791B1 (ko) 화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들
CN110706690A (zh) 语音识别方法及其装置
US11205420B1 (en) Speech processing using a recurrent neural network
US20060287856A1 (en) Speech models generated using competitive training, asymmetric training, and data boosting
JP2019211749A (ja) 音声の始点及び終点の検出方法、装置、コンピュータ設備及びプログラム
US11823655B2 (en) Synthetic speech processing
US20230401338A1 (en) Method for detecting an audio adversarial attack with respect to a voice input processed by an automatic speech recognition system, corresponding device, computer program product and computer-readable carrier medium
KR101893789B1 (ko) 정규화를 이용한 음성 구간 판단 방법 및 이를 위한 음성 구간 판단 장치
US11521599B1 (en) Wakeword detection using a neural network
US20230368796A1 (en) Speech processing
KR101992955B1 (ko) 정규화를 이용한 음성 구간 판단 방법 및 이를 위한 음성 구간 판단 장치
US11151986B1 (en) Learning how to rewrite user-specific input for natural language understanding
US20230260501A1 (en) Synthetic speech processing
JP2996019B2 (ja) 音声認識装置
KR101229108B1 (ko) 단어별 신뢰도 문턱값에 기반한 발화 검증 장치 및 그 방법
JP7291099B2 (ja) 音声認識方法及び装置
US11437043B1 (en) Presence data determination and utilization
CN117378006A (zh) 混合多语种的文本相关和文本无关说话者确认
Mendelev et al. Robust voice activity detection with deep maxout neural networks
US11900921B1 (en) Multi-device speech processing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant