KR20190079692A - 화자 검증을 위한 신경망들 - Google Patents

화자 검증을 위한 신경망들 Download PDF

Info

Publication number
KR20190079692A
KR20190079692A KR1020197018377A KR20197018377A KR20190079692A KR 20190079692 A KR20190079692 A KR 20190079692A KR 1020197018377 A KR1020197018377 A KR 1020197018377A KR 20197018377 A KR20197018377 A KR 20197018377A KR 20190079692 A KR20190079692 A KR 20190079692A
Authority
KR
South Korea
Prior art keywords
speaker
utterance
neural network
registered
user
Prior art date
Application number
KR1020197018377A
Other languages
English (en)
Other versions
KR102026396B1 (ko
Inventor
게오르그 헤이골드
새미 벤지오
이그나시오 로페즈 모레노
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20190079692A publication Critical patent/KR20190079692A/ko
Application granted granted Critical
Publication of KR102026396B1 publication Critical patent/KR102026396B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/30Individual registration on entry or exit not involving the use of a pass
    • G07C9/32Individual registration on entry or exit not involving the use of a pass in combination with an identity check
    • G07C9/37Individual registration on entry or exit not involving the use of a pass in combination with an identity check using biometric data, e.g. fingerprints, iris scans or voice recognition
    • 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/18Artificial neural networks; Connectionist approaches
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

본 문서는 일반적으로 (i) 화자 검증 모델을 위한 신경망을 훈련시키는 것, (ii) 클라이언트 디바이스에서 사용자들을 등록하는 것 및 (iii) 사용자의 음성들의 특성들에 기초하여 사용자들의 신원들을 검증하는 것을 포함하는, 화자 검증과 관련된 시스템들, 방법들, 디바이스들 및 다른 기술들을 설명한다. 일부 구현들은 컴퓨터로 구현되는 방법을 포함한다. 방법은 컴퓨팅 디바이스에서, 컴퓨팅 디바이스의 사용자의 발언을 특징짓는 데이터를 수신하는 단계를 포함할 수 있다. 컴퓨팅 디바이스에서, 컴퓨팅 디바이스상의 신경망을 사용하여 발언에 대한 화자 표현이 생성될 수 있다. 신경망은 복수의 훈련 샘플들에 기초하여 훈련될 수 있으며, 각각의 훈련 샘플은 (i) 제1 발언을 특징짓는 데이터 및 하나 이상의 제2 발언들을 특징짓는 데이터를 포함하고, (ii) 매칭 화자들 샘플 또는 비 매칭 화자들 샘플로서 라벨이 붙는다.

Description

화자 검증을 위한 신경망들{NEURAL NETWORKS FOR SPEAKER VERIFICATION}
본 문서의 주제는 일반적으로 화자 검증(speaker verification) 작업들에 사용되는 신경망들 및 다른 모델들에 관한 것이다.
화자 검증은 일반적으로 사람의 음성의 특성들에 기초하여 사람의 신원을 검증하는 것과 관련된다. 일부 컴퓨팅 디바이스들은 사용자의 음성을 나타내는 화자 모델이 결정되는, 사용자가 말한 하나 이상의 말의 샘플들을 디바이스에 제공함으로써 사용자가 디바이스에 "등록"할 수 있게 한다. 그런 다음 디바이스에서 수신된 후속하는 말의 샘플들은 처리되고 화자 모델에 대해 평가되어 사용자의 신원을 검증할 수 있다.
본 문서는 일반적으로 화자 검증을 위해 신경망들 또는 다른 유형의 모델들을 훈련하여 사용하기 위한 시스템들, 방법들, 디바이스들 및 다른 기술들을 설명한다. 일부 구현들에서, 신경망은 화자 검증을 수행하는 컴퓨팅 디바이스에 의해 액세스 가능한 화자 검증 모델의 컴포넌트일 수 있다. 일반적으로, 신경망은 각각의 매번 마다 화자 발언(speaker utterance)의 등록 및 검증을 모의하는 반복들에서 훈련될 수 있다. 예를 들어, 각각의 훈련 반복에서, 주어진 발언에 대해 신경망에 의해 생성된 화자 표현(speaker representation)은 화자 모델에 대해 평가될 수 있다. 모의된 검증 발언(simulated verification utterance)에 대한 화자 표현을 하나 이상의 모의된 등록 발언(simulated enrollment utterance)들에 대한 화자 표현들의 조합(예를 들어, 평균)과 비교함으로써, 신경망의 파라미터들은 주어진 발언을 동일한 사람 또는 등록된 사람과 다른 사람에 의해 발언된 것으로 분류하는 화자 검증 모델의 능력을 최적화하기 위해 업데이트될 수 있다. 이것은 시스템의 신뢰성을 증가시키는 측면에서 장점이 있다는 것을 알 수 있을 것이다. 신경망은 또한 발언의 프레임들을 개별적으로 또는 순차적으로 처리하기보다는, 전체 발언을 특징짓는 데이터를 신경망을 통한 한 번의 통과에서 처리하도록 구성될 수 있다. 이러한 구현들 및 다른 구현들은 아래에서 더 상세히 설명되고 도면들에 도시된다.
본 명세서에 기재된 주제의 일부 구현들은 컴퓨터로 구현되는 방법을 포함한다. 이 방법은 컴퓨팅 디바이스에서, 신경망을 훈련하기 위한 다수의 상이한 서브세트들의 훈련 데이터를 선택하는 단계를 포함할 수 있다. 각 서브세트의 훈련 데이터는 제1 화자의 각각의 발언들을 특징짓는 복수의 제1 컴포넌트들 및 제1 화자 또는 제2 화자의 발언을 특징짓는 제2 컴포넌트를 포함할 수 있다. 선택된 서브세트들의 훈련 데이터 각각에 대해, 방법은 제1 컴포넌트들 각각을 신경망에 입력하여 제1 컴포넌트들 각각에 대응하는 각각의 제1 화자 표현을 생성하는 단계와; 제2 컴포넌트를 신경망에 입력하여 제2 컴포넌트에 대응하는 제2 화자 표현을 생성하는 단계와; 복수의 제1 컴포넌트들에 대한 각각의 제1 화자 표현들의 평균에 기초하여 제1 화자에 대한 모의된 화자 모델을 결정하는 단계와; 제2 화자 표현을 모의된 화자 모델과 비교하여 제2 컴포넌트에 의해 특징 지워진 발언을 제1 화자의 발언으로서 또는 제1 화자와 다른 화자의 발언으로서 분류하는 단계와; 그리고 제2 컴포넌트에 의해 특징 지워진 발언이 제1 화자의 발언으로서 또는 제1 화자와 다른 화자의 발언으로서 정확하게 분류되었는지에 기초하여 신경망을 조정하는 단계를 포함할 수 있다.
이러한 구현들 및 다른 구현들은 다음과 같은 특징들 중 하나 이상을 포함할 수 있다.
제2 컴포넌트를 신경망에 입력하는 것에 응답하여, 제2 화자 표현은 제2 컴포넌트에 의해 특징 지워진 발언 전체의 데이터를, 신경망을 통해 단일의 통과에서 처리함으로써 신경망을 이용하여 생성될 수 있다.
다수의 상이한 서브세트들의 훈련 데이터 중에서 제1 서브세트의 훈련 데이터를 선택하는 단계는, 각 그룹의 발언들이 각 그룹의 발언들에 대한 대응하는 화자의 발언들만을 특징짓는 데이터로 구성되도록 상이한 화자들에 제각기 대응하는 복수의 그룹들의 발언들로부터 제1 화자에 대응하는 제1 그룹의 발언들을 선택하는 단계와; 복수의 그룹들의 발언들로부터 제1 화자 또는 제2 화자에 대응하는 제2 그룹의 발언들을 선택하는 단계와; 제1 그룹의 발언들 내의 발언들을 특징짓는 데이터로부터 복수의 제1 컴포넌트들을 결정하는 단계와; 그리고 제2 그룹의 발언들 내의 발언들을 특징짓는 데이터로부터 제2 컴포넌트를 결정하는 단계를 포함할 수 있다.
제1 그룹의 발언들 및 제2 그룹의 발언들 중 적어도 하나는 복수의 그룹들의 발언들로부터 무작위로 선택될 수 있다.
제1 화자들은 다수의 상이한 서브세트들의 훈련 데이터 중 적어도 일부 사이에서 서로 상이할 수 있다. 제2 화자들은 다수의 상이한 서브세트들의 훈련 데이터 중 적어도 일부 사이에서 서로 상이할 수 있다.
다수의 상이한 서브세트들의 훈련 데이터 중 제1 서브세트의 훈련 데이터 내의 제1 컴포넌트들의 총수는 다수의 상이한 서브세트들의 훈련 데이터 중 제2 서브세트의 훈련 데이터 내의 제1 컴포넌트들의 총수와 상이할 수 있다.
제2 화자 표현을 모의된 화자 모델과 비교하여 제2 컴포넌트에 의해 특징 지워진 발언을 제1 화자의 발언으로서 또는 제1 화자와 다른 화자의 발언으로서 분류하는 단계는 제2 화자 표현으로부터의 값들과 모의된 화자 모델로부터의 값들 사이의 거리를 결정하는 단계, 및 거리에 로지스틱 회귀 함수(logistic regression function)를 적용하는 단계를 포함할 수 있다.
신경망은 복수의 은닉층들을 포함한다. 신경망은 소프트맥스(softmax) 출력층을 갖지 않을 수 있다.
신경망은 국부적으로 연결된 은닉층과 그 뒤를 이어 복수의 완전히 연결된 은닉층들을 갖는 심층 신경망(deep neural network)을 포함할 수 있다.
복수의 제1 컴포넌트들에 의해 특징 지워진 발언들 및 제2 컴포넌트에 의해 특징 지워진 발언은 모두 고정 길이를 가질 수 있다.
신경망은 가변 길이들을 갖는 발언들을 특징짓는 데이터에 대해 훈련되도록 구성된 장단기 메모리 순환 신경망(long-short-term memory recurrent neural network)일 수 있다.
훈련 데이터의 복수의 상이한 서브세트들 전체에서 각각의 복수의 제1 컴포넌트들에 의해 특징 지워진 발언들 및 다수의 상이한 서브세트들의 훈련 데이터 전체에서 각각의 제2 컴포넌트들에 의해 특징 지워진 발언들은 모두 동일한 단어 또는 문구의 발언들일 수 있다.
훈련 데이터의 복수의 상이한 서브세트들 전체에서 각각의 복수의 제1 컴포넌트들에 의해 특징 지워진 발언들 중 적어도 일부 및 훈련 데이터의 복수의 상이한 서브세트들 전체에서 각각의 제2 컴포넌트들에 의해 특징 지워진 발언들 중 적어도 일부는 상이한 단어들 또는 상이한 문구들의 발언들일 수 있다.
훈련된 신경망은 하나 이상의 컴퓨팅 디바이스들 상에서 화자 검증을 수행하는데 사용하기 위한 컴퓨팅 시스템과 별개인 하나 이상의 컴퓨팅 디바이스들에 제공될 수 있다.
제1 화자 표현들 각각은 제1 화자 표현에 대응하는 신경망에 입력된 각각의 제1 컴포넌트에 기초하여 신경망에 의해 생성될 수 있다. 제2 화자 표현은 제2 화자 표현에 대응하는 신경망에 입력된 제2 컴포넌트에 기초하여 신경망에 의해 생성될 수 있다.
본 명세서에 기재된 주제의 일부 구현들은 컴퓨팅 디바이스를 포함할 수 있다. 컴퓨팅 디바이스는 하나 이상의 컴퓨터 프로세서들 및 하나 이상의 프로세서들에 의해 실행될 때, 동작들을 수행하게 하는 명령어들이 저장된 하나 이상의 컴퓨터 판독 가능한 매체들을 포함할 수 있다. 동작들은 컴퓨팅 디바이스에서, 컴퓨팅 디바이스의 사용자의 발언을 특징짓는 데이터를 수신하는 것과; 컴퓨팅 디바이스에서, 컴퓨팅 디바이스 상의 신경망을 사용하여 발언에 대한 화자 표현을 생성하는 것과, 신경망은 제각기: (i) 제1 발언을 특징짓는 데이터 및 하나 이상의 제2 발언들을 특징짓는 데이터를 포함하고, (ii) 제1 발언의 화자가 하나 이상의 제2 발언들의 화자와 동일한지에 따라 매칭 샘플 또는 비 매칭 샘플로서 라벨이 붙는 복수의 훈련 샘플들에 기초하여 훈련되며; 컴퓨팅 디바이스에서, 컴퓨팅 디바이스의 인가된 사용자에 대한 화자 모델에 액세스하는 것과; 그리고 컴퓨팅 디바이스에서, 발언이 컴퓨팅 디바이스의 인가된 사용자에 의해 발언되었을 개연성이 있는지를 결정하기 위해 화자 모델에 대해 발언에 대한 화자 표현을 평가하는 것을 포함할 수 있다.
복수의 훈련 샘플들 각각은 제1 발언 및 하나 이상의 제2 발언들을 상이한 화자들에 대응하는 발언들의 그룹들로부터 선택함으로써 생성될 수 있어서, 각 그룹의 발언들은 각 그룹의 발언들에 대한 대응하는 화자의 발언들만으로 구성된다.
동작들은 컴퓨팅 디바이스의 인가된 사용자의 발언들의 세트를 획득하는 것과; 발언들의 세트로부터의 각각의 발언을 신경망에 입력하여 발언에 대한 각각의 화자 표현을 생성하는 것과; 그리고 인가된 사용자의 발언들의 세트 내의 발언들에 대한 각각의 화자 표현들의 평균에 기초하여 컴퓨팅 디바이스의 인가된 사용자에 대한 화자 모델을 생성하는 것을 더 포함할 수 있다.
신경망이 훈련받았던 복수의 훈련 샘플들 중 어느 것도 컴퓨팅 디바이스의 사용자의 발언을 특징짓는 데이터를 포함하지 않을 수 있다.
컴퓨팅 디바이스에서, 발언에 대한 화자 표현을 생성하는 것은 신경망을 통한 한 번의 통과에서 신경망을 이용하여 발언의 전체를 특징짓는 데이터를 처리하는 것을 포함할 수 있다.
신경망은 순환 신경망일 수 있다. 사용자의 발언은 제1 시간 길이를 가질 수 있다. 발언에 대한 화자 표현은 발언의 전체 제1 시간 길이 동안 발언을 특징짓는 데이터를 처리하는 것을 포함할 수 있다. 동작들은 컴퓨팅 디바이스의 사용자의 다른 발언을 수신하는 것과, 다른 발언은 제1 시간 길이와 상이한 제2 시간 길이를 가지며; 그리고 다른 발언의 전체 제2 시간 길이 동안 다른 발언을 특징짓는 데이터를 처리함으로써 사용자의 다른 발언에 대한 제2 화자 표현을 생성하는 것을 더 포함할 수 있다.
동작들은 사용자의 발언이 컴퓨팅 디바이스의 인가된 사용자에 의해 발언되었을 개연성이 있다고 결정하는 것에 응답하여 컴퓨팅 디바이스상의 기능을 수행하는 것을 더 포함할 수 있다. 이 기능은 컴퓨팅 디바이스의 상태를 잠금 상태로부터 잠금 해제 상태로 변경하는 것을 포함할 수 있으며, 컴퓨팅 디바이스는 잠금 상태에서 컴퓨팅 디바이스의 하나 이상의 기능에 액세스하는 것을 차단하도록 구성되며, 컴퓨팅 디바이스는 잠금 해제 상태에서 컴퓨팅 디바이스의 하나 이상의 기능에 액세스할 수 있도록 구성된다.
화자 표현은 발언에 기초하여 결정되는 사용자의 음성의 특유한 특징들을 나타내는 신경망의 출력을 포함할 수 있다.
본 명세서에 기재된 주제의 일부 구현들은 컴퓨터로 구현되는 방법을 포함할 수 있다. 이 방법은 컴퓨팅 디바이스에서, 컴퓨팅 디바이스의 사용자의 발언을 특징짓는 데이터를 수신하는 단계를 포함할 수 있다. 컴퓨팅 디바이스에서, 컴퓨팅 디바이스상의 신경망을 사용하여 발언에 대한 화자 표현이 생성될 수 있다. 신경망은 복수의 훈련 샘플들에 기초하여 훈련될 수 있으며, 각각의 훈련 샘플은: (i) 제1 발언을 특징짓는 데이터 및 하나 이상의 제2 발언들을 특징짓는 데이터를 포함하고, (ii) 제1 발언의 화자가 하나 이상의 제2 발언들의 화자와 동일한지에 따라 매칭 샘플 또는 비 매칭 샘플로서 라벨이 붙는다. 컴퓨팅 디바이스에서, 컴퓨팅 디바이스의 인가된 사용자에 대한 화자 모델이 액세스될 수 있다. 발언의 화자 표현은 컴퓨팅 디바이스에서, 발언이 컴퓨팅 디바이스의 인가된 사용자에 의해 발언되었을 개연성이 있는지를 결정하기 위해 화자 모델에 대해 평가될 수 있다.
본 명세서에 기재된 주제의 일부 구현들은 컴퓨터로 구현되는 방법을 포함할 수 있다. 컴퓨터로 구현되는 방법은 제1 세트의 발언들에 대한 신경망의 출력들에 기초하여 특정 화자에 대한 화자 모델을 결정하는 단계와, 제1 세트는 특정 화자의 다수의 상이한 발언들을 포함하며; 제1 세트의 발언들에 속하지 않은 특정 발언에 대한 신경망의 출력에 기초하여 화자 표현을 결정하는 단계와; 화자 표현을 특정 화자에 대한 화자 모델과 비교하여 특정 발언을 특정 화자의 발언으로서 또는 특정 화자와 다른 화자의 발언으로서 분류하는 단계와; 그리고 특정 화자의 발언으로서 또는 특정 화자와 다른 화자의 발언으로서의 발언의 분류가 정확한지에 기초하여 신경망을 조정하는 단계를 포함할 수 있다.
이러한 구현들 및 다른 구현들은 다음과 같은 특징들 중 하나 이상을 포함 할 수 있다. 다수의 상이한 세트들의 발언들은 신경망을 훈련하기 위한 훈련 데이터로서 선택될 수 있다. 각 세트의 발언들은 (i) 각 세트의 발언들에 대한 제1 화자의 다수의 상이한 제1 발언들, 및 (ii) 각 세트의 발언들에 대한 제1 화자 또는 각 세트의 발언들에 대한 제1 화자와 다른 제2 화자 중 어느 한 화자의 제2 발언을 포함할 수 있다. 다수의 상이한 세트들의 발언들은 신경망을 반복적으로 훈련하는데 사용될 수 있다. 다수의 상이한 세트들의 발언들로부터의 각 세트의 발언들은 상이한 훈련 반복에서 신경망을 훈련하기 위해 사용될 수 있다. 제1 세트의 발언들은 다수의 상이한 세트들의 발언들로부터 선택될 수 있으며, 특정 화자는 제1 세트의 발언들에 대한 제1 화자이다.
본 명세서에 기재된 주제의 또 다른 구현들은 컴퓨터 저장 디바이스들 상에서 인코딩된 방법들의 액션들을 수행하도록 구성된 대응하는 시스템들, 장치들 및 컴퓨터 프로그램들을 포함할 수 있다. 하나 이상의 컴퓨터들을 갖는 시스템은 시스템에 설치되어 동작 시 시스템으로 하여금 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들이 조합에 의해 그렇게 구성될 수 있다. 하나 이상의 컴퓨터 프로그램들은 하나 이상의 데이터 프로세싱 장치들에 의해 실행될 때, 장치들로 하여금 액션들을 수행하게 하는 명령어들을 가짐으로써 그렇게 구성될 수 있다.
본 명세서에 기재된 주제의 일부 구현들은 다음과 같은 장점들을 아무것도 실현할 수 없거나, 그 중 하나 이상을 실현할 수 있다. 신경망은 사용자의 음성의 특징들에 기초하여 화자의 신원을 더 정확하게 검증할 수 있는 화자 검증 모델에서 사용하기 위한 화자 표현들을 생성하도록 훈련될 수 있다. 목표로 하는 성능 수준들은 제한된 컴퓨팅 자원들을 가진 모바일 컴퓨팅 디바이스에 저장되어 사용될 수 있는 소형의 신경망으로 달성될 수 있다. 또한, 신경망은 화자 검증 프로세스의 검증 및 등록 단계들을 모의하는 방식으로 훈련될 수 있다. 이와 같이, 신경망은 훈련 단계와 화자 검증 프로세스의 검증 및 등록 단계들 사이의 대칭성으로 인해 더 우수한 성능을 달성할 수 있다. 본 명세서에 기재된 접근법들에 따라 신경망을 훈련하는 하나의 이점은, 다수의 미리 선택된 화자들 중에서 특정 화자에 속하는 것으로서 입력들을 분류하기 위해 신경망을 훈련하는 것을 포함하는 다른 접근법들과 대조적으로, 더 많은 수 및 다양한 화자들이 신경망을 훈련하는데 사용될 수 있다는 것이다. 또한, 각각의 훈련 화자에 대해 최소 개수의 훈련 발언들이 요구되지 않아 신뢰할 수 있는 훈련을 보장할 수 있다. 더욱이, 신경망은 개개의 통과들에서 신경망을 통해 발언의 프레임들을 처리할 필요 없이, 신경망을 통해 한 번의 통과에서 전체 발언들을 특징짓는 데이터를 처리하도록 구성될 수 있다. 위에서 언급된 양상들은 발언이 컴퓨팅 디바이스의 인가된 사용자에 의해 발언되었을 개연성이 있는지를 평가하는 데 도움이 될 수 있다. 양상들은 특히 그러한 평가들을 신뢰할 수 있게 한다. 이것은 발언이 컴퓨팅 디바이스의 인가된 사용자와 같은 특정인에 의해 발언되었는지를 평가할 때 적어도 오류들을 줄여줌으로써 더 효과적인 음성 인식 시스템에 기여할 수 있다. 높은 신뢰도는 위에서 언급한 양상들과 연관된 더 광대한 시스템의 보안을 높여줄 수 있다. 예를 들어, 양상들이 인가된 사용자를 인식하는데 사용되고, 이에 응답하여 컴퓨팅 디바이스의 상태를 잠금 상태에서 잠금 해제 상태로 변경하는 경우, 위에서 언급된 오류들이 줄었기에 컴퓨팅 디바이스의 잠금 해제는 더 안정적이 된다. 실제로, 시스템의 높은 신뢰도는 컴퓨팅 디바이스가 비인가 사용자로부터의 부정한 잠금 해제 시도에 덜 취약하게 만들 수 있다. 오류들의 감소는 또한 오류 정정의 필요성을 감소시킬 수 있으며, 이는 결국 오류 정정에 할당될 컴퓨팅 자원들의 필요를 감소시킬 수 있다. 이것은 컴퓨터 자원들이 더 많이 제한될 수 있는 모바일 컴퓨팅 디바이스에서 특히 유익할 수 있다.
도 1은 (i) 신경망을 훈련하고, (ii) 사용자를 컴퓨팅 디바이스에 등록하고, (iii) 사용자의 음성의 특유한 특징에 기초하여 컴퓨팅 디바이스의 사용자의 발언을 검증하는 동작들을 수행하는 예시적인 클라이언트 디바이스 및 컴퓨팅 시스템의 개략도를 도시한다.
도 2는 화자 검증 작업들에서 사용하기 위한 화자 표현들을 결정하기 위해 신경망을 훈련하기 위한 예시적인 시스템의 블록도를 도시한다.
도 3은 음성의 특유한 특성들을 나타내는 화자 표현들을 결정하기 위해 신경망을 훈련하는 예시적인 프로세스의 흐름도를 도시한다.
도 4a는 발언 풀(utterance pool) 내의 상이한 화자들에 대한 발언들의 그룹들로부터의 서브세트의 훈련 발언들의 예시적인 선택을 보여주는 개념도이다.
도 4b는 신경망을 훈련하기 위한 발언 풀들로부터 한 무리의 훈련 데이터의 예시적인 선택을 보여주는 개념도이다.
도 5a는 발언의 적어도 일부를 특징짓는 데이터를 처리하고, 발언의 적어도 일부를 특징짓는 데이터에 기초하여 화자 표현을 생성하도록 구성된 예시적인 심층 신경망(deep neural network)의 블록도를 도시한다.
도 5b는 화자 검증 모델에서 사용하기 위해 구성된 장단기 메모리 층(long-short-term memory layer)을 갖는 예시적인 순환 신경망(recurrent neural network)의 블록도를 도시한다.
도 6은 컴퓨팅 디바이스상에서 신경망을 사용하여 사용자의 발언으로부터 결정된 사용자의 음성의 특성들에 기초하여 사용자의 신원을 검증하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 7은 본 명세서에 기재된 컴퓨터로 구현되는 방법들 및 다른 기술들을 수행하는데 사용될 수 있는 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예를 도시한다.
도 1은 화자 검증 모델을 위해 신경망을 훈련시키고, 그 모델을 사용하여 화자 검증의 프로세스를 수행하기 위한 예시적인 시스템(100)의 개략도이다. 일반적으로, 화자 검증은 화자의 하나 이상의 발언으로부터 결정된 바와 같은, 화자의 음성의 특성들에 기초하여 화자의 신원 주장을 수락 또는 거부하는 작업이다. 도 1에 도시된 바와 같이, 화자 검증은 일반적으로 세 개의 단계들, 즉, (i) 화자 검증 모델을 위해 신경망의 훈련, (ii) 새로운 화자의 등록 및 (iii) 등록된 화자의 검증이라는 단계들을 포함할 수 있다.
시스템(100)은 클라이언트 디바이스(110), 컴퓨팅 시스템(120) 및 네트워크(130)를 포함한다. 일부 구현들에서, 컴퓨팅 시스템(120)은 훈련된 신경망(140)에 기반한 화자 검증 모델(144)을 클라이언트 디바이스(110)에 제공할 수 있다. 일부 구현들에서, 화자 검증 모델(144)은 예를 들어, 오퍼레이팅 시스템 또는 애플리케이션의 컴포넌트로서 클라이언트 디바이스(110)에 미리 설치될 수 있다. 다른 구현들에서, 화자 검증 모델(144)은 네트워크(130)를 통해 수신될 수 있다. 클라이언트 디바이스(110)는 화자 검증 모델(144)을 사용하여 사용자(102)를 화자 검증 프로세스에 등록할 수 있다. 사용자(102)의 신원이 나중에 검증되어야 할 때, 클라이언트 디바이스(110)는 화자 검증 모델(144)을 사용하여 사용자(102)의 신원을 검증하기 위해 사용자(102)의 담화 발언(speech utterance)을 수신할 수 있다. 화자 검증 모델(144)은 클라이언트 디바이스(110)에 국부적으로 저장될 수 있기 때문에, 클라이언트 디바이스(110)는 네트워크(130)를 통해 통신하지 않고 화자 검증 결정을 내릴 수 있다.
도 1에 도시되지는 않았지만, 일부 구현들에서, 컴퓨팅 시스템(120)은 신경망(140)이 클라이언트 디바이스(110)에 저장되는 대신에 또는 저장되는 것 이외에 훈련된 신경망(140)에 기반한 화자 검증 모델(144)을 저장할 수 있다. 이러한 구현들에서, 클라이언트 디바이스(110)는 네트워크(130)를 통해 컴퓨팅 시스템(120)과 통신하여 화자 검증 모델(144)에 원격에서 액세스하여 사용자(102)를 등록하는데 사용할 수 있다. 사용자(102)의 신원이 나중에 검증되어야 할 때, 클라이언트 디바이스(110)는 사용자(102)의 음성 발언을 수신할 수 있으며, 네트워크(130)를 통해 컴퓨팅 시스템(120)과 통신하여 원격지에 위치한 화자 검증 모델(144)을 사용하여 사용자(102)의 신원을 검증할 수 있다. 컴퓨팅 시스템(120) 및 컴퓨팅 디바이스(110)는 서로 구별되며 물리적으로 별개일 수 있다.
시스템(100)에서, 클라이언트 디바이스(110)는 예를 들면, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 시계, 웨어러블 컴퓨터, 셀룰러 폰, 스마트폰, 뮤직 플레이어, 전자책 판독기, 네비게이션 시스템 또는 사용자가 상호 작용할 수 있는 임의의 다른 적절한 컴퓨팅 디바이스일 수 있다. 일부 구현들에서, 클라이언트 디바이스(110)는 모바일 컴퓨팅 디바이스일 수 있다. 컴퓨팅 시스템(120)은 하나 이상의 컴퓨터들을 포함할 수 있으며, 컴퓨터들 중 개개의 컴퓨터들에서 기능들을 수행할 수 있으며, 아니면 기능들은 실행을 위해 다수의 컴퓨터 전체에 걸쳐 분산될 수 있다. 네트워크(130)는 유선 또는 무선, 또는 이들의 조합일 수 있으며, 인터넷을 포함할 수 있다.
일부 구현들에서, 사용자의 전화기와 같은 클라이언트 디바이스(110)는 화자 검증 모델(144)을 국부적으로 클라이언트 디바이스(110)에 저장할 수 있어서, 클라이언트 디바이스(110)가 등록 또는 검증 프로세스를 위해 원격 서버(예를 들면, 컴퓨팅 시스템(120))에 있는 모델에 의존하지 않고 사용자의 신원을 검증할 수 있으며, 이에 따라 통신 대역폭 및 시간을 절감할 수 있다. 더욱이, 일부 구현들에서, 하나 이상의 새로운 사용자를 등록할 때, 본 명세서에 기재된 화자 검증 모델(144)은 새로운 사용자를 사용하는 화자 검증 모델(144)을 재교육할 필요가 없으며, 이것은 또한 계산상 효율적이 될 수 있다. 다른 구현들에서, 등록, 검증 또는 이들 두 가지 다를 위해 제공된 소정 사용자의 발언들은 컴퓨팅 시스템(120)에 제공될 수 있으며, 신경망(및 따라서 화자 검증 모델)이 새로 수집된 교육 데이터를 사용하여 규칙적으로 업데이트될 수 있도록 훈련 데이터에 추가될 수 있다.
훈련된 신경망(140)을 포함하는 화자 검증 모델(144)의 크기는 클라이언트 디바이스(110)상의 저장 및 메모리 공간이 제한될 수 있기 때문에 소형인 것이 바람직하다. 아래에서 설명되는 바와 같이, 화자 검증 모델(144)은 훈련된 신경망(140)에 기초한다. 화자 검증 모델(144)은 발언을 특징짓는 데이터에 기초하여, 발언한 화자의 음성의 특유한 특징들을 나타내는 화자 표현을 생성하는 신경망(140)을 포함할 수 있다. 화자 검증 모델(144)은 또한 화자 표현을 처리하고 발언의 화자의 음성이 등록된 사용자의 음성과 충분히 유사한지를 결정하여 그 발언의 화자의 신원 주장이 검증될 수 있도록 하는 추가 컴포넌트들을 더 포함할 수 있다.
일부 구현들에서, 신경망은 대형 세트의 학습 데이터를 사용하여 훈련될 수 있다. 소형의 모델 크기를 성취하기 위해 신경망의 크기를 강화 및/또는 줄이는 훈련 데이터의 전처리 동안, 훈련 자체 동안 또는 사후 훈련 단계 동안, 다양한 기술들이 적용될 수 있다. 예를 들어, 화자 검증 모델(144)은 신경망(140)의 특정 층들만을 선택함으로써 구성될 수 있으며, 그 결과로 클라이언트 디바이스(110)에 저장하기에 적당한 소형의 화자 검증 모델을 만들 수 있다. 등록은 화자 모델에 대한 화자 표현을 생성할 때 소프트맥스(softmax) 또는 다른 분류 층 없이 수행될 수 있다.
도 1은 또한 단계(A) 내지 단계(F)에서 도시된 예시적인 데이터 흐름을 도시한다. 단계(A) 내지 (F)는 도시된 순서대로 발생할 수 있거나, 아니면 도시된 순서와 상이한 순서대로 발생할 수 있다. 일부 구현들에서, 단계(A) 내지 단계(F) 중 하나 이상의 단계들은 오프라인에서 발생할 수 있는데, 이 경우 클라이언트 디바이스(110)가 네트워크(130)에 연결되어 있지 않을 때 컴퓨팅 시스템(120)은 연산들을 수행할 수 있다. 단계(A) 및 (B)는 일반적으로 위에서 언급한 훈련 단계 중에 발생한다. 단계(D)는 일반적으로 등록 단계 중에 발생한다. 단계들(E)-(G)은 일반적으로 검증 단계 중에 발생한다.
단계(A)에서, 컴퓨팅 시스템(120)은 신경망(140)의 지시 훈련(supervised training)을 위해 신경망(140)에 제공할 훈련 발언들의 샘플들을 선택한다. 일부 구현들에서, 훈련 샘플들(122)의 발언들 각각은 많은 상이한 훈련 화자들에 의해 발언된 하나 이상의 미리 결정된 단어들로 구성될 수 있으며, 그 발언들은 이전에 기록되어 있고 컴퓨팅 시스템(120)에 의해 사용하기 위해 액세스 가능하다. 각각의 훈련 화자는 미리 결정된 발언을 컴퓨터 디바이스에 대고 발언할 수 있으며, 컴퓨팅 디바이스는 그 발언을 포함하는 오디오 신호를 기록할 수 있다. 예를 들어, 각 훈련 화자는 "Hello Phone"이라는 훈련 문구를 발언하도록 촉구될 수 있다. 일부 구현들에서, 각 훈련 화자는 동일한 훈련 문구를 여러 차례 발언하도록 촉구될 수 있다. 각 훈련 화자의 기록된 오디오 신호는 컴퓨팅 시스템(120)으로 전송될 수 있고, 컴퓨팅 시스템(120)은 많은 상이한 컴퓨팅 디바이스들 및 많은 다른 훈련 화자들로부터 기록된 오디오 신호들을 수집할 수 있다. 일부 구현들에서, 신경망(140)은 미리 정의된 훈련 문구의 발언으로부터 결정된 사용자의 음성의 특성들에 기초하여 사용자의 신원이 검증될 수 있는 텍스트 종속적 화자 검증에 대해 최적화될 수 있다. 이러한 구현들에서, 신경망(140)은 모두가 또는 실질적으로 모두가 미리 정의된 훈련 문구를 포함하는 발언에 대해 훈련될 수 있다. 다른 구현들에서, 신경망(140)은 미리 정의되어 있지 않을 수 있는 각종의 단어들 또는 문구들의 발언으로부터 결정된 사용자의 음성의 특성들에 기초하여 사용자의 신원이 검증될 수 있는 텍스트 독립적 화자 검증을 가능할 수 있도록 훈련될 수 있다. 예를 들면, 사용자는 자신의 신원을 검증하기 위해 사용자가 발언하고자 하는 단어들 또는 문구들을 독립적으로 결정할 수 있으며, 그러면 훈련된 신경망(140)에 기반한 화자 검증 모델은 발언한 단어들 또는 문구들을 제공한 사용자를 인증할 수 있다. 텍스트 독립적 화자 검증을 가능하게 하기 위해, 신경망(140)은 많은 상이한 훈련 화자들이 발언한 다양한 단어들 또는 문구들의 발언들에 대해 훈련될 수 있다.
단계(B)에서, 신경망(140)은 클라이언트 디바이스에서 사용자 등록 및 인증을 병행하는 방식으로 훈련될 수 있다. 따라서, 컴퓨팅 시스템(120)은 각각의 훈련 샘플(122)에서 한 세트의 모의된 등록 발언들(122b) 및 모의된 검증 발언(122a)을 선택할 수 있다. 모의된 등록 발언들(122b)은 모두가 동일한 훈련 화자의 발언들일 수 있으며, 그래서 각각의 훈련 샘플(122)에 대해 모의된 화자 모델이 결정될 수 있다. 모의된 검증 발언(122a)은 모의된 등록 발언들(122b)의 화자와 동일한 화자의 발언일 수도 있거나, 다른 화자의 발언일 수도 있다. 그 다음, 훈련 샘플들(122)은 신경망(140)에 제공될 수 있고, 모의된 검증 발언(122a)이 모의된 등록 발언들(122b)의 화자와 동일한 화자에 의해 발언된 것인지, 아니면 모의된 등록 발언들(122b)의 화자와 상이한 화자에 의해 발언된 것인지에 관해 신경망(140)의 출력들에 기초하여 분류가 이루어질 수 있다. 그 다음에 신경망(140)은 화자 결정이 정확했는지에 기초하여 업데이트될 수 있다. 일부 구현들에서, 각각의 훈련 샘플(122)에는 두 개의 부류, 즉, (모의된 검증과 등록 발언들의 화자들이 동일한 샘플들에 대해) 매칭 화자들 부류(141a) 및 (모의된 검증과 등록 발언들의 화자들이 상이한 샘플에 대해) 비 매칭 화자들 부류(141b) 중 하나에 속하는 것으로 라벨이 붙을 수 있다. 이러한 라벨들은 동일한 화자가 발언들(122a) 및 발언들(122b)을 발언했는지의 여부의 진실의 근거를 표시한다. 훈련 샘플(122)의 분류의 정확성은 샘플의 라벨에 기초하여 결정될 수 있다. 일부 구현들에서, 신경망의 조정은 입력 샘플의 분류의 정확성에 엄격히 기초하지 않을 수 있지만, 일반적으로는 모의된 검증 발언(122a) 및 모의된 등록 발언들(122b)에 대해 신경망에 의해 생성된 화자 표현들을 비교함으로써 결정된 하나 이상의 지표들에 기초할 수 있다. 일부 구현들에서, 훈련 샘플들(122)은 발언 풀(utterance pool)(121)들로 편성될 수 있는 훈련 데이터의 저장소로부터 선택될 수 있다. 각각의 발언 풀들(121)은 발언들의 훈련 화자에 의해 그룹화된 훈련 발언들을 포함할 수 있다.
신경망(140)은 학습 샘플들(122) 내의 발언들에 관한 정보를 입력하기 위한 입력 층 및 샘플들(122)을 처리하기 위한 몇 개의 은닉층을 포함할 수 있다. 훈련된 신경망(140)이 화자 검증 모델(144)로 하여금 샘플들(122)의 모의된 검증 및 등록 발언들 중에서 매칭 화자 또는 비 매칭 화자 중 어느 하나를 갖는 것으로 훈련 샘플들(122)의 원하는 분류를 생성하게 하는 출력을 생성하도록 하나 이상의 은닉층들의 가중값들 또는 다른 파라미터들이 조정될 수 있다. 일부 구현들에서, 신경망(140)의 파라미터들은 컴퓨팅 시스템(120)에 의해 자동으로 조정될 수 있다. 일부 다른 구현들에서, 신경망(140)의 파라미터들은 컴퓨팅 시스템(120)의 운영자에 의해 수동으로 조정될 수 있다. 신경망의 훈련 단계는 아래에서 예를 들어, 도 2, 도 3, 도 4a-b 및 도 5a-b의 설명에서 더 상세하게 설명된다.
단계(C)에서, 일단 신경망(140)이 훈련되면, 훈련된 신경망(140)에 기초한 화자 검증 모델(144)은 예를 들면 네트워크(130)를 통해 컴퓨팅 시스템(120)으로부터 클라이언트 디바이스(110)로 전송된다. 일부 구현들에서, 훈련된 신경망(140) 또는 그 일부는 화자 검증 모델(144)의 컴포넌트일 수 있다. 화자 검증 모델(144)은 사용자(102)의 하나 이상의 발언들로부터 결정된 사용자 음성의 특성들에 기초하여 사용자(102)의 신원을 검증하도록 구성될 수 있다. 모델(144)은 사용자의 음성의 특유한 특징들을 나타내는 사용자(102)에 대한 화자 표현을 생성하기 위해, 사용자(102)의 발언을 특징짓는 데이터를 훈련된 신경망(140)의 입력으로서 제공하도록 구성될 수 있다. 그 다음에 화자 표현은 이전에 결정되었던 사용자 음성의 모델과 비교될 수 있다. 화자 표현이 사용자의 화자 모델과 충분히 유사하면, 화자 검증 모델(144)은 사용자(102)의 신원이 유효하다는 표시를 출력할 수 있다. 이에 반해, 화자 표현이 사용자의 화자 모델과 충분히 유사하지 않으면, 화자 검증 모델(144)은 사용자(102)의 신원이 무효(검증되지 않음)라는 표시를 출력할 수 있다.
단계(D)에서, 클라이언트 디바이스(110)를 이용하여 자신의 음성을 등록하고자 하는 사용자(102)는 등록 단계에서 하나 이상의 등록 발언들(152)을 클라이언트 디바이스(110)에 제공한다. 일반적으로, 사용자(102)는 음성들이 신경망(104)을 훈련하는데 사용되었던 훈련 화자들 중 하나가 아니다. 일부 구현들에서, 클라이언트 디바이스(110)는 훈련 샘플들(122)의 발언들 내에서 훈련 화자들의 세트에 의해 발언된 것과 동일한 문구의 등록 문구를 발언하도록 사용자(102)에게 촉구할 수 있다. 일부 구현들에서, 클라이언트 디바이스(110)는 사용자에게 등록 문구를 수 차례 발언하도록 촉구할 수 있으며, 발언된 등록 발언들에 대한 오디오 신호를 등록 발언들(152)로서 기록할 수 있다.
클라이언트 디바이스(110)는 등록 발언들(152)을 사용하여 사용자(102)를 클라이언트 디바이스(110)의 화자 검증 시스템에 등록할 수 있다. 일반적으로, 사용자(102)의 등록은 신경망(140)을 재교육하지 않고 행해진다. 각 사례들의 동일한 화자 검증 모델(144)은 신경망(140)의 가중값들 또는 다른 파라미터들을 변경할 필요 없이, 많은 상이한 클라이언트 디바이스에서, 많은 상이한 화자들을 등록하는데 사용될 수 있다. 화자 검증 모델(144)은 신경망(140)을 재교육하지 않고 임의의 사용자를 등록하는데 사용될 수 있기 때문에, 등록은 처리 요건이 제한되어 있는 클라이언트 디바이스(110)에서 수행될 수 있다.
일부 구현들에서, 등록 발언들(152)에 관한 정보는 화자 검증 모델(144)에 입력되며, 화자 검증 모델(144)은 사용자(102)에 대응하는 기준 벡터 또는 다른 세트의 값들을 출력할 수 있다. 기준 벡터 또는 다른 세트의 값들은 사용자의 음성의 특유한 특징들을 특징짓는 화자 모델을 구성할 수 있다. 화자 모델은 클라이언트 디바이스(110)에 저장되거나, 클라이언트 디바이스(110)로부터 멀리 떨어져 있는 컴퓨팅 시스템에 저장될 수 있으며, 그래서 클라이언트 디바이스(110)에 의해 나중에 수신된 발언들에 기초하여 생성된 화자 표현들은 나중에 수신된 발언들의 각각의 화자들이 사용자(102)인지 아니면 다른 화자들인지를 검증하기 위해 화자 모델에 대비하여 비교될 수 있도록 한다.
단계(E)에서, 사용자(102)는 음성 인증을 이용하여 클라이언트 디바이스(110)에 액세스하려 시도한다. 검증 단계에서 사용자(102)는 검증 발언(154)을 클라이언트 디바이스(110)에 제공한다. 일부 구현들에서, 검증 발언(154)은 등록 발언(152)으로서 발언되었던 것과 동일한 문구의 발언이다. 검증 발언(154)은 화자 검증 모델(144)로의 입력으로서 사용된다.
단계(F)에서, 클라이언트 디바이스(110)는 사용자의 음성이 등록된 사용자의 음성과 일치하는지를 결정한다. 일부 구현들에서, 신경망(140)은 검증 발언(154)을 특징짓는 데이터를 처리할 수 있으며, 검증 발언(154)에 기초하여 사용자(102)에 대한 화자 표현을 출력할 수 있다. 일부 구현들에서, 클라이언트 디바이스(110)는 사용자(102)의 화자 표현을 등록된 사용자의 화자 모델과 비교하여, 검증 발언(154)이 등록된 사용자에 의해 발언되었는지를 결정할 수 있다. 신경망의 검증 단계는 예를 들어, 도 6을 참조하여 아래에서 더 상세히 설명된다.
단계(G)에서, 클라이언트 디바이스(110)는 사용자(102)에게 검증 결과(156)를 제시하는 표시를 제공한다. 일부 구현들에서, 클라이언트 디바이스(110)가 사용자(102)의 신원을 수용하면, 클라이언트 디바이스(110)는 사용자(102)에게 검증이 성공적이라는 시각적 또는 오디오 표시를 전송할 수 있다. 일부 다른 구현들에서, 클라이언트 디바이스(110)가 사용자(102)의 신원을 수용하면, 클라이언트 디바이스(110)는 사용자(102)에게 다음 입력을 촉구할 수 있다. 예를 들면, 클라이언트 디바이스(110)는 디스플레이를 통해 "디바이스가 동작 가능합니다. 검색 내용을 입력하십시오"라는 메시지를 디스플레이 상에 출력할 수 있다. 일부 다른 구현들에서, 클라이언트 디바이스(110)가 사용자(102)의 신원을 수용하면, 클라이언트 디바이스(110)는 사용자(102)로부터의 추가 입력을 기다리지 않고 후속 액션을 수행할 수 있다. 예를 들면, 사용자(102)는 검증 단계 동안 클라이언트 디바이스(110)에게 "전화기야(Hello Phone), 가장 가까운 커피 숍을 검색해줘"라고 말할 수 있다. 클라이언트 디바이스(110)는 검증 문구 "전화기야"를 사용하여 사용자(102)의 신원을 검증할 수 있다. 사용자(102)의 신원이 수용되면, 클라이언트 디바이스(110)는 사용자(102)에게 추가 입력들을 물어보지 않고 가장 가까운 커피 숍의 검색을 수행할 수 있다. 일반적으로, 일부 구현들에서, 클라이언트 디바이스(110)가 사용자(102)의 신원을 수용하면, 클라이언트 디바이스(110)는 클라이언트 디바이스(110)의 하나 이상의 기능들이 불능화 또는 차단되는 잠금 상태로부터 기능들이 가능해지거나 그렇지 않으면 사용자(102)가 액세스할 수 있게 되는 잠금 해제 상태로 천이함으로써 응답할 수 있다. 유사하게, 클라이언트 디바이스(110)는 성공적인 검증에 응답하여 저전력 상태로부터 기능을 더 완비한 상태로 "기동하거나" 또는 천이할 수 있다.
일부 구현들에서, 클라이언트 디바이스(110)가 사용자(102)의 신원을 불합격 처리하면, 클라이언트 디바이스(110)는 검증이 불합격 처리된 시각적 또는 오디오 표시를 사용자(102)에게 전송할 수 있다. 일부 구현들에서, 클라이언트 디바이스(110)가 사용자(102)의 신원을 불합격 처리하면, 클라이언트 디바이스(110)는 사용자(102)에게 다른 발언을 시도할 것을 촉구할 수 있다. 일부 구현들에서, 시도 횟수가 문턱치를 초과하면, 클라이언트 디바이스(110)는 사용자(102)가 자신의 신원을 검증하려 추가로 시도하는 것을 차단할 수 있다.
도 2를 참조하면, 신경망(206)을 훈련하기 위한 예시적인 시스템(200)의 블록도가 도시된다. 도 2에 도시된 훈련 단계의 완료 시, 훈련된 신경망(206)은 화자의 발언을 특징짓는 데이터를 처리하고, 화자의 음성의 특징들을 나타내는 화자에 대한 화자 표현을 생성할 수 있다. 그런 다음 화자 표현은 화자 검증 모델에 의해 등록 단계 동안 화자의 화자 모델을 생성하는데 사용되거나 또는 검증 단계 동안 화자의 신원을 검증하는데 사용될 수 있다.
일반적으로, 도 2는 신경망(206)이 화자 검증 작업을 수행하는 클라이언트 디바이스들에서 나중에 이루어지는 등록 및 검증 단계들과 병행하는 방식으로 훈련될 수 있음을 도시한다. 신경망(206)을 훈련하여 한정된 수의 화자들로부터의 훈련 발언들을 화자들 각각에 대응하는 부류들로 분류하는 일부 접근법들과 달리, 도 2의 신경망(206)은 주어진 발언의 특정 화자를 결정하도록 훈련되지 않는다. 그 대신에, 신경망(206)은 발언들 중 임의의 발언을 특정 화자의 신원과 반드시 매칭시키지 않고, 주어진 발언의 화자가 다른 세트의 발언들의 화자와 동일한지를 결정하기 위해 독특하고 유용한 화자 표현들을 생성하도록 훈련된다. 이러한 방식으로, 훈련 중에 최적화된 손실 함수는 검증 단계 중에 화자 검증 모델에 의해 활용된 동일한 함수이다. 다시 말해서, 검증 동안, 검증 발언에 기초한 화자 표현은 등록된 사용자의 화자 모델과 비교된다. 화자 표현이 화자 모델과 충분히 유사하면, 검증 발언의 화자의 신원이 검증된다. 도 2에 도시된 접근법은 훈련 동안 유사한 기술들을 사용한다. 즉, 모의된 화자 모델(214)은 하나 이상의 등록 발언들에 대한 화자 표현들에 기초하여 생성되며, 화자 표현(208) 역시 모의된 발언(202)에 대해 생성된다. 신경망(206)의 가중값들 및 다른 파라미터들은 모의된 검증 발언(202)을 모의된 등록 발언들(204a-n)과 동일한 또는 상이한 화자에 의해 발언되는 것으로 분류하는데 있어서의 오류를 최소화하기 위해 훈련 중에 조정된다.
도 2는 모의된 검증 발언(202)을 특징짓는 데이터 및 하나 이상의 모의된 등록 발언들(204a-n)을 특징짓는 데이터를 포함하는 훈련 데이터의 샘플에 기초한 단일의 훈련 반복의 순방향 통과를 나타낸다. 실제로, 신경망(206)은 많은 반복과 많은 상이한 훈련 데이터 샘플들을 통해 훈련된다. 각각의 반복마다, 신경망(206)은 각각의 반복 동안 훈련 데이터의 대응 샘플을 처리한 결과들에 기초하여 조정될 수 있다. 아래에서 상세히 설명되는 도 4a 및 도 4b는 모의된 검증 발언(202) 및 모의된 등록 발언들(204a-n)이 선택될 수 있는 예시적인 기술들을 도시한다. 특정 샘플에 대해 모의된 등록 발언들(204a-n)은 일반적으로 모두가 동일한 훈련 화자에 의해 발언된 발언들이다. 모의된 등록 발언들(204a-n)의 화자는 상이한 훈련 반복들 동안 상이한 훈련 데이터 샘플들 사이에서 다를 수 있지만, 특정 훈련 반복 동안의 특정 훈련 샘플 내에서 모든 등록 발언들(204a-n)은 일반적으로 동일한 훈련 화자에 의해 발언된다. 모의된 검증 발언(202)은 모의된 등록 발언들(204a-n)의 화자와 동일한 훈련 화자에 의해 발언되었을 수 있거나, 아니면 모의된 등록 발언들(204a-n)의 화자 이외의 상이한 훈련 화자에 의해 발언되었을 수 있다. 화자가 모의된 검증 발언(202) 및 모의된 등록 발언들(204a-n) 모두에서 동일한 훈련 데이터의 샘플들인 경우, 샘플에는 "매칭" 샘플이라고 라벨이 붙을 수 있다. 화자가 모의된 검증 발언(202) 및 모의된 등록 발언들(204a-n) 모두에서 상이한 훈련 데이터의 샘플들인 경우, 샘플에는 "비 매칭" 샘플이라는 라벨이 붙을 수 있다. 라벨들은 훈련 샘플들의 참(true) 분류를 나타낼 수 있으며, 훈련 전에 전처리 단계에서 결정될 수 있다. 일부 구현들에서, 신경망(206)의 출력에 기초한 훈련 샘플의 추정된 분류는 신경망(206)을 조정할지를 결정하기 위해 훈련 샘플에 대해 라벨에 의해 표시된 참 분류와 비교될 수 있다.
일부 구현들에서, 훈련 샘플의 데이터는 모의된 검증 및 등록 발언들(202, 204a-n)의 미가공 오디오 신호들이 아닐 수 있다. 그 대신에, 발언들(202,204a-n)은 처리되어 신경망(206)에 의해 처리하기에 적절한 포맷으로 변환되었을 수 있다. 예를 들어, 훈련 샘플의 데이터는 미가공 오디오 신호들 자체라기보다는 모의된 검증 및 등록 발언들(202, 204a-n)의 각자의 특징들을 특징짓는 데이터일 수 있다. 일부 구현들에서, 훈련 샘플의 모의된 발언들(202, 204a-n) 각각을 나타내는 데이터는 각각의 발언마다 하나 이상의 로그 필터뱅크들(log-filterbanks)을 포함할 수 있다. 일부 구현들에서, 각각의 발언은 그 발언에 대해 시간상 복수의 프레임으로 분할될 수 있고, 발언의 각 프레임마다 개별적인 로그 필터뱅크들이 생성될 수 있다. 예를 들어, 발언의 각 프레임은 예를 들어 40개의 로그 필터뱅크들로 나타낼 수 있다.
일부 구현들에서, 모의된 검증 발언(202)을 특징짓는 데이터 및 모의된 등록 발언들(204a-n) 각각을 특징짓는 데이터는 신경망(206)을 통해 한 번에 (즉, 단일의 통과에서) 처리될 수 있다. 따라서, 주어진 발언에 대한 훈련 데이터가 각 세트의 로그 필터뱅크들에 의해 각자 표현되는 다수의 프레임으로 분할될지라도, 발언 전체의 모든 프레임들을 특징짓는 데이터는 (예를 들면, 80개 프레임이 각기 40개 로그 필터뱅크를 갖는 경우 80x40개의 특징 벡터로서) 신경망(206)에 입력되어 신경망을 통한 단일의 통과에서 처리될 수 있다. 이것은 발언의 각 프레임의 데이터를 개별적으로 신경망(206)에 입력하여 프레임들을 개별적으로 처리하는 것과는 대조적이다. 다른 구현들에서, 발언들(202, 204a-n)의 개개 프레임들을 특징짓는 데이터는 각 발언(202,204a-n)의 전체를 특징짓는 데이터를 신경망(206)을 통해 단일의 통과에서 처리하기 위해 신경망(206)을 훈련하는 것과 달리, 신경망(206)으로의 입력으로서 제공될 수 있다.
일부 구현들에서, 모의된 검증 및 등록 발언들(202, 204a-n)은 하나 이상의 부가적인 기술들에 따라 전 처리될 수 있다. 예를 들어, 신경망(206)의 구조는 훈련 발언들이 모두 고정된 길이(예를 들어, 0.8 초의 오디오)를 가질 것을 요구할 수 있다. 이에 따라 발언들(202,204a-n) 중 적어도 일부는 더 긴 발언들을 균일한 길이로 자른 결과 및/또는 몇몇 더 짧은 발언들을 패딩하여 더 긴 클립들을 생성한 결과일 수 있다. 그러나 다른 구현들에서, 신경망(206)은 가변 길이의 발언들을 처리할 수 있으며, 이 경우 훈련 데이터의 발언들(202, 204a-n)은 고정 길이로 잘리거나 패딩되지 않을 수 있다. 발언들(202, 204a-n)의 오디오는 또한 등화될 수 있으며, 잡음은 잡음의 존재 시 신경망이 강건하게 수행하도록 훈련되는 것을 보장하기 위해 훈련 발언들(202,204a-n)에 추가되거나 훈련 발언들로부터 제거될 수 있다.
점선 박스(215) 내의 시스템(200)의 일부분은 복수의 모의된 등록 발언들(204a-n)을 특징짓는 데이터가 모의된 등록 발언들(204a-n)의 특정 훈련 화자에 대한 모의된 화자 모델(214)을 생성하기 위해 사용되는 화자 검증 프로세스의 등록 단계를 모의한다. 모의된 등록 발언들(204a-n) 각각을 특징짓는 각각의 데이터는 신경망(206)의 입력층에서 개별적으로 신경망(206)으로 입력된다. 신경망(206)은 하나 이상의 은닉층을 통해 데이터를 처리하고, 각각의 모의된 등록 발언들(204a-n)에 대해 각각의 화자 표현(210a-n)을 생성한다. 예를 들어, 도 2에 도시된 바와 같이, 화자 표현 1(210a)은 모의된 등록 발언 1(204a)에 기초하여 신경망(206)에 의해 생성된다. 유사하게, 화자 표현 2(210b)는 모의된 등록 발언 2(204b)에 기초하여 신경망(206)에 의해 생성된다. 그러므로 화자 표현은 모의된 등록 발언들(204a-n) 각각에 대해 신경망(206)에 의해 생성될 수 있다. 일부 구현들에서, 화자 표현들(210a-n)은 모의된 등록 발언들(204a-n) 각각을 신경망(206)을 통해 일렬로 처리함으로써 생성될 수 있다. 일부 구현들에서, 화자 표현들(210a-n)은 모의된 등록 발언들(204a-n) 각각에 대해 각 사례들의 신경망(206)에 따라 발언들(204a-n)을 특징짓는 데이터를 병렬 처리함으로써 동시에 생성될 수 있다. 일반적으로 화자 표현들(210a-n)은 모의된 등록 발언들(204a-n) 중 대응하는 발언에 기초하여 신경망(206)에 의해 결정되는 바와 같은, 모의된 등록 훈련 화자의 음성의 특유의 특성들을 나타내는 값들의 집합을 각기 포함한다. 일부 구현들에서, 화자 표현들(210a-n)은 신경망(206)의 최종 은닉층의 가중값들 또는 다른 파라미터들을 나타낼 수 있다. 일부 구현들에서, 화자 표현들(210a-n)은 신경망(206)이 소프트맥스 출력층 없이 구성될 때는 신경망(206)의 최종 출력일 수 있다.
모의된 화자 모델(214)을 생성하기 위해, 화자 표현들(210a-n)은 도 2의 박스(212)에 도시된 바와 같이 평균될 수 있다. 따라서, 모의된 화자 모델(214)은 모의된 등록 발언들(204a-n)의 훈련 화자의 음성의 특유한 특성들을 나타내는 값들의 집합을 정의할 수 있다. 모의된 화자 모델(214)을 결정하기 위해 다수의 화자 표현들(210a-n)을 평균함으로써, 상이한 모의된 등록 발언들(204a-n)에서 화자의 음성의 변동은 평활될 수 있다. 이에 따라, 모의된 화자 모델(214)은 개별적인 임의의 화자 표현들보다 화자 음성의 더 신뢰할 수 있는 표현이 될 수 있으며, 이것은 주어진 모의된 등록 발언(204a-n)의 특이성을 개별적으로 반영할 수 있다.
일부 구현들에서, 각각의 훈련 반복을 위한 훈련 데이터의 각 샘플 내의 모의된 등록 발언들(204a-n)의 총수는 가변적일 수 있다. 예를 들어, 제1 훈련 반복을 위한 제1 훈련 샘플은 9개의 모의된 등록 발언들(204a-n)을 포함할 수 있다. 그러나, 제2 훈련 반복을 위한 제2 훈련 샘플은 단지 4개의 모의된 등록 발언들(204a-n)만을 포함할 수 있다. 다른 구현들에서, 각각의 훈련 반복을 위한 훈련 데이터의 각 샘플 내의 모의된 등록 발언들(204a-n)의 총수는 고정적일 수 있다. 예를 들어, 신경망(206)은 각각의 반복을 위한 훈련 데이터의 세트가 총 5개의 모의된 등록 발언들(204a-n)을 포함하는 일련의 반복들을 통해 훈련될 수 있다. 일부 구현들에서, 하나, 일부 또는 모든 훈련 반복들은 단지 하나의 모의된 등록 발언(204a-n)을 포함하는 훈련 샘플들을 가지고 수행될 수 있다.
화자 표현들(210a-n)이 모의된 등록 발언들(204a-n)을 특징짓는 데이터로부터 생성된 것과 동일한 방식으로, 화자 표현(208)은 모의된 검증 발언(202)을 특징짓는 데이터로부터 생성될 수 있다. 모의된 검증 발언(202)을 특징짓는 데이터(예를 들면, 검증 발언(202)의 특징들을 특징짓는 로그 필터뱅크 값들)은 신경망(206)의 입력층에 제공될 수 있다. 이후 신경망(206)은 신경망의 하나 이상의 은닉층들을 통해 그 입력을 처리한다. 신경망(206)의 출력은 모의된 검증 발언(202)을 발언한 화자의 음성의 특유한 특성들을 나타내는 값들의 집합을 정의하는 화자 표현(208)이다.
신경망(206)의 훈련 동안 추가로 검증 단계를 병행하기 위해, 모의된 검증 발언(202)에 기초한 화자 표현(208)은 클라이언트 디바이스에서 이루어지는 것과 동일한 방식으로, 예를 들면, 검증 단계 동안, 화자 검증 모델에 의해 모의된 화자 모델(214)과 비교될 수 있다. 일부 구현들에서, 비교는 (1) 모의된 화자 표현(208)에 대한 값들의 집합을 정의하는 제1 벡터 및 (2) 모의된 화자 모델(214)에 대한 값들의 집합을 정의하는 제2 벡터의 (블록(216)에 도시된 바와 같은) 코사인 거리를 취함으로써 수행될 수 있다. 그런 다음, 로지스틱 회귀(logistic regression)(218)가 거리에 적용되어, 모의된 검증 발언(202)을 발언한 훈련 화자가 모의된 등록 발언들(204a-n)을 발언한 훈련 화자와 동일한지 아니면 상이한지를 추정할 수 있다. 이것은 도 2에서 매칭 화자들 부류의 제1 블록(220a) 및 비 매칭 화자들 부류의 제2 블록(220b)에 의해 표현된다. 일부 구현들에서, 로지스틱 회귀(218) 이외의 분류 기술들이 적용되어 모의된 검증 발언(202)을 발언한 훈련 화자가 모의된 등록 발언들(204a-n)을 발언한 훈련 화자와 동일한지 아니면 상이한지를 결정할 수 있다. 예를 들면, 일부 대안들에서 힌지 층(hinge layer) 또는 소프트맥스 층은 분류를 위해 사용될 수 있다. 도 2에 도시된 것과 같은 2-부류 모델에서, 소프트맥스 및 로지스틱 회귀 기술들은 동일하거나 유사한 최적화 함수를 사용할 수 있다.
그 다음에 신경망(206)의 가중값들 또는 다른 파라미터들은, 블록(222)에 의해 표현된 바와 같이, 모의된 발언(202)에 대한 화자 표현(208)을 모의된 화자 모델(214)과 비교한 결과에 기초하여 조정될 수 있다. 예를 들어, 훈련 샘플을 매칭 화자들을 갖는 것으로 부정확하게 분류하여 훈련 샘플이 정당하게 비 매칭 화자들을 갖는 것으로 라벨이 붙어 있으면, 신경망(206)은 자동으로 오류를 보정하도록 조정될 수 있다. 더 일반적으로 말해서, 신경망(206)은 매칭 화자들 샘플에 대한 유사도 점수를 최대화하거나 또는 로지스틱 회귀에 의해 출력된 점수를 최적화하기 위해 최적화될 수 있으며, 신경망(206)은 또한 비 매칭 화자들 샘플에 대한 유사도 점수점수를 최소화하거나 또는 로지스틱 회귀 분석에 의해 출력된 점수점수를 최적화하기 위해 최적화될 수 있다. 일부 구현들에서, 신경망(206)의 조정은 각각의 훈련 반복을 위한 각각의 훈련 샘플의 결과들에 응답하여 발생할 수 있거나, 신경망(206)은 훈련 반복들 중의 오직 일부만의 결과들에 기초하여 조정될 수 있다. 일부 구현들에서, 신경망(206)은 비 매칭 화자들에 대해서는 화자 표현(208)과 모의된 화자 모델(214) 간의 거리를 최대화(즉, 차이를 최대화)하면서, 매칭 화자들에 대해서는 화자 표현(208)과 모의된 화자 모델(214) 간의 거리를 최소화(즉, 차이를 최소화)하기 위해 조정될 수 있다. 일부 구현들에서, 훈련 샘플을 매칭 화자들 부류(220a) 또는 비 매칭 화자들 부류(220b) 중 어느 한 부류에 속하는 것으로서 분류하는 하드 판정은 훈련 단계 중에 내려지지 않을 수 있음을 주목해야 한다. 오히려, 신경망(206)은 로지스틱 회귀 층(218)에 의해 출력된 점수들을 최적화하거나 또는 하나 이상의 다른 지표들을 최적화하는 방식으로 조정될 수 있다.
이제 도 3을 참조하면, 화자 검증 모델에서 사용될 수 있는 신경망을 훈련하기 위한 예시적인 프로세스(300)의 흐름도가 도시된다. 일부 구현들에서, 프로세스(300)는 도 1의 컴퓨팅 시스템(120) 및 도 2의 컴퓨팅 시스템(200)과 같은 본 명세서에 기재된 컴퓨팅 시스템들에 의해 수행될 수 있다.
프로세스(300)는 제1 세트의 훈련 데이터(즉, 제1 훈련 샘플)가 선택되는 단계(302)에서 시작한다. 제1 세트의 훈련 데이터는 모의된 검증 발언을 특징짓는 데이터 및 하나 또는 다수의 모의된 등록 발언들을 특징짓는 데이터를 포함할 수 있다. 훈련 세트 내의 발언들은 훈련 단계 동안 화자 검증의 등록 및 검증 단계들을 병행 또는 "모의"하는 방식으로 훈련 프로세스에서 사용된다는 점에서 "모의"된 발언들이다. 그러나 발언들 자체는 일반적으로 훈련 화자에 의해 발언된 실제로 한 토막의 기록된 이야기이다. 훈련 화자들은 일반적으로 화자 검증 프로세스의 실제 등록 및 검증 단계들 동안 발언들을 제공하는 동일한 화자들이 아니다. 아래에서 상세히 설명되는 도 4a 및 도 4b는 모의된 검증 및 등록 발언들을 선택하기 위한 예시적인 기술들을 도시한다.
선택된 세트의 훈련 데이터(즉, 선택된 샘플)에는 매칭 화자들의 이야기 또는 비 매칭 화자들의 샘플을 나타내는지에 따라 라벨이 붙을 수 있다. 모의된 검증 발언의 화자가 모의된 등록 발언들의 화자와 동일하면, 훈련 데이터의 세트에는 매칭 화자 샘플이라고 라벨이 붙는다. 모의된 검증 발언의 화자가 모의된 등록 발언들의 화자와 다르면, 훈련 데이터의 세트에는 비 매칭 화자 샘플이라고 라벨이 붙는다. 일부 구현들에서, 라벨들은 차후에 훈련 프로세스(300)에서 사용되어 매칭 샘플 또는 비 매칭 샘플 중 어느 하나인 것으로 추정된 훈련 데이터의 세트의 분류가 정확한지 아닌지를 결정할 수 있다.
일부 구현들에서, 선택된 세트의 훈련 데이터는 모의된 검증 및 등록 발언들에 대한 미가공 오디오 신호를 포함하지 않고, 그 대신에 발언들의 특징들을 특징짓는 데이터를 포함할 수 있다. 예를 들어, 훈련 데이터의 세트에서 표현된 각 발언은 발언의 고정 길이 프레임들에 대해 결정된 한 세트의 로그 필터뱅크들로 특징 지워질 수 있다. 이후 발언의 각 프레임에 대한 로그 필터뱅크들은 신경망으로의 입력으로서 제공되고 발언 전체를 특징짓는 단일 세트의 입력 값들로 연쇄될 수 있다.
프로세스(300)의 단계들(304 및 306)에서, 화자 표현들은 제1 세트의 훈련 데이터에서 특징 지워진 각각의 발언들에 대해 결정된다. 화자 표현들 각각은 각각의 화자 표현에 대해 대응하는 발언을 발언한 훈련 화자의 음성의 특유한 특징들을 나타내는 값들의 집합일 수 있다. 예를 들어, 제1 화자 표현은 모의된 검증 발언에 기초하여 생성될 수 있고, 각자의 제2 화자 표현들은 모의된 등록 발언들 각각에 기초하여 생성될 수 있다. 화자 표현들을 생성하기 위해, 발언을 특징짓는 데이터는 훈련되는 신경망의 입력층에 제공된다. 그런 다음 신경망은 신경망의 하나 이상의 은닉층들을 통해 입력 데이터를 처리한다. 그러면 화자 표현이 신경망의 출력이 된다. 일부 구현들에서, 출력은 소프트맥스 층이 아닌 출력층에서의 출력이다. 출력을 제공하는 최종 층은 완전히 연결된 선형 층일 수 있다. 일부 구현들에서, 화자 표현은 소프트맥스 출력층의 출력이라기보다는 신경망의 마지막 은닉층에서 생성된 값들 또는 마지막 은닉층의 활성도(activations)를 포함할 수 있다. 일부 구현들에서 신경망은 소프트맥스 출력층 없이 구성될 수 있다.
단계(308)에서, 모의된 등록 발언들에 대응하는 화자 표현들은 모의된 화자 모델을 만들기 위해 조합된다. 모의된 화자 모델은 모의된 등록 발언들에 대한 화자 표현들의 평균일 수 있다. 화자 표현들을 평균함으로써, 훈련 화자의 음성을 특징짓는 신뢰할 수 있는 모델이 결정될 수 있다. 예를 들어, 모의된 검증 발언에 대한 화자 표현이 비교되는 강건한 기준으로 화자 모델을 사용할 수 있도록 화자가 모의된 등록 발언들 각각을 발언하였던 방식에서의 변화들은 평활될 수 있다. 일부 구현들에서, 프로세스(300)는 모의된 등록 발언들에 대해 서브세트의 화자 표현들만을 선택하여 모의된 화자 모델을 생성하는데 조합할 수 있다. 예를 들어, 모의된 등록 발언들 또는 상응하는 모의된 등록 발언들 각각의 품질 척도가 결정될 수 있다. 그 다음, 프로세스(300)는 문턱 품질 점수를 충족하는 화자 표현들 또는 상응하는 발언들이 문턱 품질 점수를 충족하는 화자 표현들만을 선택하여, 모의된 화자 모델을 생성하는데 사용되는 표현들의 세트에 포함시킨다.
단계(310)에서, 모의된 검증 발언에 대한 화자 표현은 모의된 화자 모델과 비교된다. 일부 구현들에서, 바이너리 분류기(binary classifier)는 데이터 샘플을 매칭 화자들을 나타내는 것으로 또는 그렇지 않은 것으로 분류하기 위해 사용된다. 일부 구현들에서, 비교는 모의된 검증 발언에 대한 화자 표현과 모의된 화자 모델 사이의 유사성의 척도를 결정하는 것을 포함할 수 있다. 예를 들어, 유사성의 척도는 화자 표현에 대한 값들의 벡터와 모의된 화자 모델에 대한 값들의 벡터 사이의 코사인 거리일 수 있다. 이후 유사도의 척도는 훈련 데이터의 제1 세트의 분류를 매칭 화자들 샘플 또는 비 화자들 샘플 중 어느 하나로서 추정하는데 사용될 수 있다. 예를 들어, 유사도 척도가 충분히 높으면(예를 들어, 문턱 유사도 점수를 충족하면), 로지스틱 회귀는 훈련 데이터의 세트를 매칭 화자들의 부류에 매핑하는데 사용될 수 있다. 반면에, 유사도 척도가 너무 낮으면(예를 들어, 문턱 유사도 점수를 충족하지 못하면), 로지스틱 회귀는 훈련 데이터의 세트를 비 매칭 화자들의 부류에 매핑하는데 사용될 수 있다.
다음으로, 단계(312)에서, 신경망의 하나 이상의 파라미터들은 단계(310)에서의 모의된 검증 발언에 대한 화자 표현과 모의된 화자 모델 간의 비교 결과에 기초하여 조정될 수 있다. 예를 들어, 은닉층들의 각종 노드들의 가중치들 또는 신경망의 다른 파라미터들은, 만일 훈련 데이터에 비 매칭 화자들 샘플이라는 라벨이 붙어 있다면, 화자 표현과 모의된 화자 모델 사이의 거리를 증가시키도록(유사도 점수를 감소시키도록) 조정될 수 있다. 또한, 신경망의 가중치들 또는 다른 파라미터들은, 만일 훈련 데이터에 매칭 화자들 샘플이라는 라벨이 붙어 있으면, 화자 표현과 모의된 화자 모델 사이의 거리를 감소시키도록(유사도 점수를 증가시키도록) 조정될 수 있다. 일반적으로, 훈련 프로세스(300)의 각각의 반복은 각각의 등록 단계 및 각각의 검증 단계를 모의하려 의도된 것이므로, 신경망은 화자 검증 동안 실제 등록 및 검증 단계 중에 적용되는 것과 동일한 손실 함수를 최적화하기 위해 조정될 수 있다. 이러한 접근법의 한 가지 장점은 신경망이 화자 식별의 더 정확한 검증을 위해 화자 검증 모델에서 사용될 수 있는 화자 표현들을 더 잘 생성하도록 훈련된다는 것이다. 예를 들어, 일부 구현들에서, 신경망을 훈련시킬 때 고려되지 않은 발언의 실제 검증 동안에는 어떠한 추가적인 후 처리 단계들도 취해지지 않는다. 따라서 이러한 기술들은 신경망을 훈련하는 "엔드 투 엔드(end-to-end)" 접근법으로 간주할 수 있다.
마지막으로, 단계(314)에서, 신경망을 훈련하는 다른 하나의 반복을 위해 다음 훈련 데이터의 세트가 선택된다. 되풀이하면, 이 단계에서 선택된 훈련 데이터의 세트는 모의된 검증 발언을 특징짓는 데이터 및 하나 이상의 모의된 등록 발언들을 특징짓는 데이터를 포함할 수 있다. 그 다음 프로세스(300)는 단계들(304-312)을 반복하고, 허용치에 도달할 때까지 추가의 훈련 반복들을 위한 추가의 훈련 데이터 세트를 계속 선택한다. 일부 구현들에서, 허용치는 이용 가능한 모든 훈련 데이터가 만료되는 것으로 정해질 수 있다. 일부 구현들에서, 프로세스(300)는 목표로 하는 성능 수준에 도달할 때까지 계속될 수 있다. 예를 들어, 다수의 훈련 반복들 이후, 신경망은 훈련 프로세스(300) 동안 사용되지 않고 계속 남아 있는 데이터 세트에 대해 테스트될 수 있다. 훈련은 계속 남아 있는 데이터 세트에 대해 테스트한바 신경망이 적어도 목표로 하는 성능 수준을 달성했음을 표시할 때까지 지속할 수 있다.
이제 도 4a 및 도 4b를 참조하면, 화자 검증 모델을 위해 신경망을 훈련하는데 사용할 훈련 데이터의 세트들을 선택하기 위한 예시적인 기술들을 예시하는 개략도가 도시된다. 일부 구현들에서, 도 4a 및 도 4b와 관련하여 설명된 기술들은 많은 훈련 반복들을 통해 선택된 훈련 발언들에서 다양성을 보장할 수 있으며, 이것은 주어진 수의 훈련 발언들에 대해 신경망이 더 양호하게 수행하는 결과를 가져올 수 있다.
일부 구현들에서, 모든 또는 일부의 이용 가능한 훈련 발언들은 복수의 그룹들(410a-n)로 군집될 수 있다. 그룹들(410a-n)은 또한 훈련 발언 그룹들의 집합을 포함하는 발언 풀(408)에 배치될 수 있다. 일부 구현들에서 훈련 발언들은 화자에 의해 그룹화될 수 있다. 예를 들어, 그룹(410a)은 모두 제1 화자에 의해 발언된 복수의 발언들을 포함하는 반면, 그룹(410n)은 모두 다른 화자에 의해 발언된 복수의 발언들을 포함한다. 따라서, 그룹들(410a-n)의 각각은 상이한 화자들에 대응할 수 있다. 그룹들(410a-n)은 모두 동일한 수의 훈련 발언들을 포함할 수 있거나, 아니면 훈련 발언들의 수는 그룹들(410a-n)의 상이한 그룹들 사이에서 가변적일 수 있다.
각각의 훈련 반복마다, 발언 풀(408)이 액세스될 수 있으며, 각각의 훈련 반복에서 입력으로서 적용될 훈련 데이터의 샘플에 대해 특정 발언들이 선택될 수 있다. 예를 들어, 도 4a는 훈련 반복을 위해 발언 풀(408)로부터 무작위로 입력 샘플(402)로서 선택된 하나의 훈련 데이터 세트를 도시한다. 제1 화자에 대응하는 제1 그룹의 발언들은 모의된 화자 모델을 생성하는데 사용하기 위해 발언 풀(408) 내의 그룹들(410a-n)로부터 선택될 수 있다. 그룹은 무작위로 또는 다른 방식으로 선택될 수 있다. 선택된 그룹, 예를 들면 도 4a의 그룹(410a)으로부터, 제1 화자의 서브세트의 발언들이 입력 샘플(402) 내의 모의된 등록 발언들(406)로서 선택된다. 이러한 서브세트는 일반적으로 다수의 발언을 포함하며, 훈련 반복마다 동일한 또는 상이한 수의 발언들을 포함할 수 있다. 선택된 그룹, 예를 들면 그룹(410a)으로부터의 발언들은 발언들의 상이한 조합들이 상이한 훈련 반복들에서 제1 화자에 대한 상이한 모의된 화자 모델들을 생성하는데 사용되도록 무작위로 선택될 수 있다.
발언(404)은 모의된 검증 발언으로서 선택되기도 한다. 발언(404)은 훈련 반복이 등록 발언들(406)과의 매칭 또는 비 매칭의 한 예인지의 여부에 따라 제1 화자의 발언 또는 다른 화자의 발언일 수 있다. 매칭 예 및 비 매칭 예는 모두 훈련에 사용된다. 그 결과, 일부 훈련 반복들의 경우, 발언(404)은 제1 화자의 발언, 예를 들면, 그룹(410a)으로부터의 발언이다. 다른 훈련 반복들의 경우, 발언(404)은 도 4a에 도시된 바와 같이 제1 화자와 상이한 제2 화자의 발언이며, 그래서 입력 샘플(402)은 모의된 검증 발언(404)과 모의된 등록 발언들(406) 사이가 일치한다고 표시하지 않는다.
도 4a의 예에서, 특정 발언이 제2 그룹의 발언들(410n)로부터 모의된 검증 발언(404)으로서의 선택된다(예를 들면, 무작위로 선택된다). 일부 구현들에서, (발언(404)이 선택되는) 제2 그룹의 발언들은 발언 풀(408) 내의 그룹들(410a-n) 중에서 또는 그룹들(410a-n)의 가변적인 선택의 패턴에 따라 무작위로 선택될 수 있다. 다른 구현들에서, 모의된 등록 발언들의 화자와 동일한 화자로부터의 다른 발언이 모의된 검증 발언으로서 적용되어야 하는지에 관해 무작위 선택이 이루어질 수 있다. 따라서, 아마도 무작위 선택은 모의된 검증 발언(404)이 모의된 등록 발언들(406)의 화자와 동일한 화자의 발언일 것인 50퍼센트 확률이 존재하도록 한쪽으로 치우쳐 있다. 무작위 선택의 결과 입력 샘플(402)이 매칭 화자 샘플이 되면, 모의된 검증 발언(404)은 모의된 등록 발언들(406)이 선택되었던 발언 그룹과 동일한 발언 그룹(410)으로부터 선택될 수 있다. 그러나 랜덤 선택의 결과 입력 샘플(402)이 비 매칭 화자 샘플이 되면, 모의된 검증 발언(404)은 모의된 등록 발언들(406)이 선택되었던 발언 그룹과 상이한 화자에 대응하는 상이한 발언 그룹(410)으로부터 선택될 수 있다.
일반적으로, 도 4a에 의해 제시된 선택 기술들은 화자들의 상이한 조합들로부터의 발언들이 상이한 훈련 반복들에서 적용되게 할 수 있다. 예를 들어, 제1 훈련 반복에서, 모의된 등록 발언들은 제1 화자에 의해 발언될 수 있으며, 모의된 검증 발언 또한 제1 화자에 의해 발언되었을 수 있다. 제2 훈련 반복에서, 모의된 등록 발언들은 제2 화자에 의해 발언되었을 수 있으며, 모의된 검증 발언은 제 3 화자에 의해 발언되었을 수 있다. 그 다음으로 제 3 훈련 반복에서, 모의된 등록 발언들은 제1 화자에 의해 발언되었을 수 있으며, 모의된 검증 발언은 제2 화자에 의해 발언되었을 수 있다. 일부 구현들에서, 발언 그룹들(410a-n)을 무작위로 선택하지 않지만, 그 대신에 상이한 순열들을 생성하거나 또는 모의된 검증 발언과 등록 발언들의 화자들 사이에서 입력 샘플들(402) 내의 순열들의 수를 최대화하는 방식으로 발언 그룹들(410a-n)을 결정적으로 선택하는 선택 알고리즘이 사용될 수 있다. 간단한 예로서, 세 명의 상이한 훈련 화자들로부터의 세 개의 발언 그룹들(A, B 및 C)이 발언 풀(408)에서 이용 가능하면, 9개의 상이한 입력 샘플들(402)이 9 회의 훈련 반복들을 위해 생성될 수 있다: (A, A), (A, B), (A, C) (B, A) (B, B), (B, C), (C, A), (C, B) 및 (C, C). 훈련 반복들은 이렇게 동일한 그룹 쌍으로도 발생할 수 있지만, 그룹 내의 상이한 발언들이 선택될 수 있다.
본 명세서에 기재된 훈련 접근법의 한 가지 장점은, 다수의 미리 선택된 화자들 중에서 특정 화자에 속하는 것으로 입력들을 분류하기 위해 신경망을 훈련하는 것을 포함되는 다른 접근법들과 대조적으로, 더 많은 수의 다양한 화자들이 신경망을 훈련하는데 사용될 수 있다는 것이다. 또한 (각 훈련 화자에 실제로 사용되는 하나 이상의 발언들 외에는) 각 훈련 화자가 신뢰할 수 있는 훈련을 보장하는 데 필요한 최소 수의 훈련 발언들은 없는데, 그 이유는 신경망이 특정 화자들에 대해 훈련되지 않지만, 그 대신에 주어진 입력 샘플(402)이 모의 검증 및 등록 발언들 중 매칭 화자들 또는 비 화자들을 갖는지에 기초하여 훈련되기 때문이다.
도 4b는 신경망의 훈련 동안 입력 샘플들의 발언들을 선택하기 위한 셔플링 기술의 개략도(400b)를 도시한다. 도면에 도시된 바와 같이, 한 무리의 훈련 샘플들 내의 샘플들은 모두 그 무리 내의 훈련 샘플들 사이에서 더 나은 셔플링 및 다양성을 얻기 위해 서로 다른 풀에서 가져올 수 있다. 셔플링 기술은 신경망을 더 강건하고 신뢰할 수 있게 훈련시킬 수 있다.
도 5a 및 도 5b를 참조하면, 화자 검증 모델에서 사용될 수 있는 예시적인 신경망(502, 512)의 블록도가 도시된다. 일부 구현들에서, 신경망들(502, 512) 중 어느 하나는 도 2 내지 도 4b와 관련하여 설명된 훈련 기술들을 비롯하여, 도 1 내지 도 4b 및 도 6과 관련하여 설명된 기술들을 구현하는데 사용될 수 있다.
도 5a의 심층 신경망(502)의 아키텍처는 국부적으로 연결된 층(504)과, 그 뒤를 이어 완전히 연결된 은닉층들(506a-n)을 포함한다. 국부적으로 연결된 층(504) 및 완전히 연결된 층들(506a-n)은 정류된 선형 유닛(rectified linear unit ReLU)들을 가질 수 있다. 신경망(502)의 최종 층은 입력된 발언(또는 발언의 프레임)(503a)에 기초하여 화자 표현(510a)을 출력하는 완전히 연결된 선형 층(508)이다. 표현(510a) 이전의 최종 층(502)은 음이 아닌 활성도(non-negative activations)를 전체 공간으로 매핑하며, 일부 구현들에서는 투영을 결정하기 위한 선형 층이다. 전체 공간은 ReLu 활성도가 y = max(x, 0)와 같은 함수일 수 있다는 개념을 말한다. 그러므로 화자 표현을 형성하는 활성도(y)는 항상 양의 벡터일 수 있다. 이러한 활성화 함수가 선형 활성화 함수 y = x에 의해 변경되면, 화자 표현은 잠재적으로 양의 값 및 음의 값을 갖는 벡터로 만들어질 수 있다. 예를 들어, 후자는 코사인 거리 비교 기능이 뒤따를 때 화자를 더 적절히 표현할 수 있다.
신경망(502)의 구성은 일반적으로 고정 길이의 훈련 발언들 또는 일정한 수의 발언 프레임들을 처리할 수 있다. 신경망(502)이 훈련되고 나중에 등록 및 검증 단계들에서 런타임 동안 사용될 때, 발언들은 신경망(502)이 처리하는데 요구되는 고정된 길이를 갖는 것을 보장하기 위해 적절히 절단되거나 패딩될 수 있다. 그 결과, 신경망(502)은 한 번의 통과, 예를 들어 심층 신경망(512)을 통한 단일의 순방향 전파로 화자 표현을 연산할 수 있다. 이것은 화자 표현이 발언의 상이한 부분들의 순차적인 처리가 수반되는 기술들보다 낮은 대기 시간으로 생성되게 해준다.
다음으로, 도 5b에 도시된 신경망(512)은 순환 신경망(recurrent neural network)이다. 신경망(502)의 아키텍처와 달리, 신경망(512)은 가변 길이의 입력 발언들을 처리할 수 있다. 예를 들어, 발언(503b)은 신경망(512)이 사용되는 상황에 따라 훈련 발언, 등록 발언들 또는 검증 발언일 수 있다. 발언(503b)은 고정된 길이를 가질 수 있는 복수의 프레임들로 분할될 수 있다. 신경망(512)에 입력되는 프레임들의 수는 발언(503b)의 전체 길이의 함수일 수 있다. 다시 말해서, 더 긴 발언들은 더 많은 프레임들을 가질 수 있고, 더 짧은 발언들은 더 적은 프레임들을 가질 수 있다. 발언(503b)의 프레임들은 장단기 메모리(long-short-term-memory, LSTM) 층(516)에 입력된다. LSTM 층(516)에는 하나 이상의 추가 은닉층들이 뒤따를 수 있다. 신경망(512)의 최종 층은 다시 완전히 연결된 선형 층(518)이다. 완전히 연결된 선형 층(518)은 음이 아닌 활성도를 전체 공간에 매핑하고, 일부 사례에서는 투영을 결정함으로써 화자 표현(510b)을 출력할 수 있다. 신경망(512)은 가변 길이의 발언들을 처리할 수 있기 때문에, 발언의 단어들 또는 문구가 미리 정의되지 않으며 상이한 발언들 간에 변할 수 있는 텍스트 독립적 화자 검증에 매우 적합할 수 있다.
도 5a 및 도 5b에 도시된 신경망들(502 및 512)이 특정 구성을 갖는 것으로 도시되지만, 본 명세서에 기재된 기술들과 함께 사용될 수 있는 신경망들은 이와 같은 예들로 제한되지 않는다. 예를 들어, 신경망들의 감추어진 토폴로지는 완전히 연결된 층들, 국부적으로 연결된 층들 또는 장단기 메모리 층들과 같은 임의의 순환 층들을 포함할 수도 있거나 포함하지 않을 수도 있는 상이한 수 및 층들의 배열을 가질 수 있다. 일부 구현들에서 신경 회로망은 컨볼루션 신경망(convolutional neural network)일 수 있다.
도 6은 본 명세서에 기재된 기술들에 따라 훈련된 화자 검증 모델 및 신경망을 사용하여 발언을 검증하기 위한 예시적인 프로세스(600)의 흐름도이다. 프로세스(600)는 일반적으로 도 1 에 도시된 검증 단계(단계 E 내지 단계 G)에 대응한다. 도 6에서 참조되는 신경망은 도 2 내지 도 4b와 관련하여 설명된 기술들에 따라 훈련될 수 있으며, 일부 구현들에서는 도 5a 또는 도 5b에 도시된 구조와 유사한 구조를 가질 수 있다.
단계(602)에서, 발언은 컴퓨팅 디바이스의 사용자로부터 수신될 수 있다. 예를 들어, 사용자는 자신의 스마트폰을 잠금 해제하거나 컴퓨팅 디바이스로 일부 다른 기능을 수행하고자 할 수 있다. 그러나 스마트폰은 전화기가 잠금 해제되기 전에 또는 원하는 기능이 수행되기 전에 사용자에게 자신을 인증하도록 요구할 수 있다. 일부 구현들에서, 인증은 전화기상의 화자 검증 모델을 사용하여 사용자의 음성의 특성들에 기초하여 수행될 수 있다. 단계(602)에서 전화기는 전화기에 의해 수신되고 기록될 수 있는 검증 발언을 발언할 것을 사용자에게 촉구할 수 있다.
단계(604)에서, 전화기는 수신된 발언에 기초하여 화자 표현을 생성하기 위해 신경망에 액세스한다. 신경망은 전화기에 국부적으로 저장될 수 있거나, 아니면 예를 들어, 응용 프로그래밍 인터페이스(application programming interface, API)를 통해 원격 컴퓨팅 시스템상에서 액세스될 수 있다. 신경망은 본 명세서에 기재된 기술들에 따라 훈련될 수 있고, 모의된 검증 발언 및 복수의 모의된 등록 발언들을 제각기 포함하는 데이터의 샘플들에 기초하여 훈련되었을 수 있다. 신경망은 신경망을 통한 한 번의 통과에서, 발언의 전체를 특징짓는 데이터를 처리하도록 구성될 수 있다. 단계(606)에서, 수신된 발언을 특징짓는 데이터는 신경망으로의 입력으로서 제공된다. 신경망은 입력을 처리하고 사용자의 음성의 특유한 특성들을 나타내는 화자 표현을 생성한다.
단계(608)에서, 화자 모델은 전화기상에서 액세스된다. 화자 모델은 등록된 사용자의 음성의 특유한 특징들을 나타낼 수 있다. 일부 구현들에서, 화자 모델은 등록된 사용자의 각각의 발언들을 특징짓는 데이터로부터 신경망에 의해 생성된 다수의 화자 표현들의 평균에 기초할 수 있다. 단계(610)에서, 검증 발언에 기초하여 단계(606)에서 생성된 화자 표현은 화자 모델과 비교되거나, 그렇지 않으면 화자 모델에 대해 평가된다. 일부 구현들에서, 비교 또는 다른 평가는 사용자 전화기상의 화자 검증 모델에 의해 수행된다. 화자 검증 모델은 화자 모델과 검증 발언에 대한 화자 표현 사이의 유사도의 거리 또는 유사도의 다른 척도를 결정할 수 있다. 유사도의 거리 또는 다른 척도에 기초하여, 화자 검증 모델은 사용자의 음성이 등록된 사용자의 음성과 충분히 유사하면 사용자를 인증할 수 있다. 그렇지 않으면, 화자 검증 모델은 사용자의 음성의 유사도가 등록된 사용자의 음성에 대해 적어도 문턱 유사도 점수를 충족하지 않으면 사용자가 인증되지 않았다는 표시를 발생할 수 있다.
일부 구현들에서, 화자 검증 모델이 검증된 발언이 등록된 화자에 의해 발언된 것임을 충분한 신뢰로 결정하면, 등록된 사용자의 화자 모델은 검증 발언에 기초하여 업데이트될 수 있다. 예를 들어, 디바이스는 다음과 같은 세 개의 검증 발언에 어떻게 반응하는지 고려한다. 세 개의 검증 발언들 중 첫 번째 발언에 대한 유사도 점수는 제1 문턱 값보다 낮아서 화자 검증 모델은 첫 번째 검증 발언을 발언한 사용자의 신원을 불합격 처리한다(예를 들면, 따라서 디바이스는 첫 번째 검증 발언에 응답하여 잠금 해제를 거절할 수 있다). 세 개의 검증 발언들 중 두 번째 발언에 대한 유사도 점수는 제1 문턱 값을 충족하여 두 번째 발언 발언을 발언한 사용자의 신원이 수용된다. 그러나, 두 번째 검증 발언에 대한 유사도 점수는 두 번째 검증 발언에 기초하여 등록된 사용자의 화자 모델을 갱신되게 할 정도로 충분히 높지 않다. 마지막으로, 검증 발언들 중 세 번째 발언에 대한 유사도 점수는 제1 문턱 값을 만족하여, 세 번째 검증 발언을 발언한 사용자의 신원이 수용되며(예를 들어, 디바이스의 잠금 해제와 같은 제1 세트의 액션이 수행될 수 있으며), 또한 더 높은 제2 문턱 값을 충족하면, 등록 사용자의 화자 모델은 세 번째 검증 발언에 기초하여 업데이트될 수 있다. 화자 모델은 신경망에 의해 세 번째 검증 발언에 대해 생성된 화자 표현을 첫 번째 사례의 화자 모델을 생성하는데 사용되었던 사용자의 등록 발언들과 다른 화자 표현들과 조합(예를 들면, 평균)함으로써 업데이트될 수 있다.
단계(612)에서, 전화기는 사용자가 인증되었는지에 기초하여 액션을 취할 수 있다. 예를 들어, 전화기는 발언을 제공한 사용자가 등록된 사용자라는 결정에 따라 기동하거나 잠금 해제될 수 있다. 그러나 발언을 제공한 사용자가 등록된 사용자가 아닌 것으로 결정되거나, 복수의 등록된 사용자 중 하나가 아닌 것으로 결정되면, 전화기는 잠긴 상태로 유지되거나, 그렇지 않으면 사용자가 수행하려고 선택한 하나 이상의 기능들의 수행을 차단할 수 있다. 다른 응용에서, 본 명세서에서 기재된 화자 검증 기술들은 사용자 디바이스(예를 들면, 스마트폰, 노트북 컴퓨터, 웨어러블 디바이스)에서 그 디바이스에 의해 인가되지 않은 사용자들(예를 들면, 디바이스를 이용하여 음성을 등록하지 않은 사용자들)로부터 검출된 음성 입력을 거부하도록 사용될 수 있다. 예를 들어, 디바이스가 잠금 해제된 상태에 있을 때, 디바이스는 사용자가 디바이스에게 수행하기를 원하는 액션을 나타내는 디바이스의 인가된 사용자에 의해 발언된 음성 커맨드들(예를 들면, "축구 경기로 이동" 또는 "내 음악 컬렉션 재생")을 들을 수 있다. 일부 구현들에서, 디바이스는 음성 커맨드가 인가된 사용자에 의해 발언되었다고 결정될 수 있으면, 음성 커맨드에 의해 지시된 요청된 액션만을 수행할 수 있다. 이러한 방식으로, 예를 들어 인가되지 않은 다른 사용자로부터의 부차적인 말은 거부될 수 있다.
도 7은 본 명세서에 기재된 기술들을 구현하는데 사용될 수 있는 컴퓨팅 디바이스(700) 및 이동 컴퓨팅 디바이스의 예를 도시한다. 컴퓨팅 디바이스(700)는 랩톱들, 데스크톱들, 워크스테이션들, 개인 휴대 정보 단말기들, 서버들, 블레이드 서버들, 메인 프레임들 및 다른 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터들을 나타내려는 의도를 갖는다. 모바일 컴퓨팅 디바이스는 개인 휴대 정보 단말기들, 셀룰러 텔레폰들, 스마트폰들 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태의 모바일 디바이스들을 나타내려는 의도를 갖는다. 본 명세서에 도시된 컴포넌트들, 이들의 연결들과 관계들 및 이들의 기능들은 단지 예시적인 것임을 의미하며, 본 명세서에 기재된 및/또는 청구된 발명들의 구현들을 제한하는 것으로 의미하지 않는다.
컴퓨팅 디바이스(700)는 프로세서(702), 메모리(704), 저장 디바이스(706), 메모리(704) 및 다수의 고속 확장 포트들(710)에 연결하는 고속 인터페이스(708), 및 저속 확장 포트(714) 및 저장 디바이스(706)에 연결하는 저속 인터페이스(712)를 포함한다. 프로세서(702), 메모리(704), 저장 디바이스(706), 고속 인터페이스(708), 고속 확장 포트들(710) 및 저속 인터페이스(712)는 각자 다양한 버스들을 사용하여 상호 연결되며, 공통의 마더보드상에 장착되거나 또는 적절하게 다른 방식으로 장착될 수 있다. 프로세서(702)는 메모리(704) 또는 저장 디바이스(706)에 저장된 명령어들을 비롯한, 컴퓨팅 디바이스(700) 내에서 실행하기 위한 명령어들을 처리하여 GUI에 필요한 그래픽 정보를 고속 인터페이스(708)에 연결된 디스플레이(716)과 같은 외부 입력/출력 디바이스상에 디스플레이할 수 있다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스는 적절하게 다수의 메모리 및 메모리 유형들과 함께 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스가 연결될 수 있으며, 각각의 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템으로서) 필요한 동작들의 일부분들을 제공한다.
메모리(704)는 컴퓨팅 디바이스(700) 내의 정보를 저장한다. 일부 구현들에서, 메모리(704)는 휘발성 메모리 유닛 또는 유닛들이다. 일부 구현들에서, 메모리(704)는 비 휘발성 메모리 유닛 또는 유닛들이다. 메모리(704)는 또한 자기 또는 광디스크와 같은 다른 형태의 컴퓨터 판독 가능한 매체일 수 있다.
저장 디바이스(706)는 컴퓨팅 디바이스(700)에 대용량 저장소를 제공할 수 있다. 일부 구현들에서, 저장 디바이스(706)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들 내의 디바이스들을 포함하는 디바이스들의 어레이와 같은 컴퓨터 판독가능한 매체일 수 있거나 이를 포함할 수 있다. 컴퓨터 프로그램 제품은 또한 실행될 때 전술한 바와 같은 하나 이상의 방법들을 수행하는 명령어들을 포함할 수 있다. 컴퓨터 프로그램 제품은 또한 메모리(704), 저장 디바이스(706) 또는 프로세서(702)상의 메모리와 같은 컴퓨터 또는 머신 판독 가능한 매체에서 유형적으로 구현될 수 있다.
고속 인터페이스(708)는 컴퓨팅 디바이스(700)에 필요한 대역폭 집약적 동작들을 관리하는 반면, 저속 인터페이스(712)는 더 낮은 대역폭 집약적 동작들을 관리한다. 이러한 기능들의 할당은 예시적인 것일 뿐이다. 일부 구현들에서, 고속 인터페이스(708)는 (예를 들어, 그래픽 프로세서 또는 가속기를 통해) 메모리(704), 디스플레이(716)에 연결되고, 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(710)에 연결된다. 구현에서, 저속 인터페이스(712)는 저장 디바이스(706) 및 저속 확장 포트(714)에 연결된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(714)는 키보드, 포인팅 디바이스, 스캐너, 또는 스위치나 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 하나 이상의 입력/출력 디바이스에 예를 들어, 네트워크 어댑터를 통해 연결될 수 있다.
도면에 도시된 바와 같이, 컴퓨팅 디바이스(700)는 다수의 상이한 형태들에서 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스는 표준 서버(720)로서 구현될 수 있거나 또는 그러한 서버들의 그룹에서 여러 번 구현될 수 있다. 또한, 컴퓨팅 디바이스는 랩톱 컴퓨터(722)와 같은 퍼스널 컴퓨터에서 구현될 수 있다. 컴퓨팅 디바이스는 또한 랙 서버 시스템(724)의 일부로서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(700)의 컴포넌트들은 모바일 컴퓨팅 디바이스(750)와 같은 모바일 디바이스(도시되지 않음) 내의 다른 컴포넌트들과 조합될 수 있다. 이러한 디바이스들은 각기 컴퓨팅 디바이스(700) 및 모바일 컴퓨팅 디바이스(750) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스로 구성될 수 있다.
모바일 컴퓨팅 디바이스(750)는 다른 컴포넌트들 중에서도, 프로세서(752), 메모리(764) 및 입력/출력 디바이스, 예컨대, 디스플레이(754), 통신 인터페이스(766) 및 송수신기(768)를 포함한다. 모바일 컴퓨팅 디바이스(750)는 부가적인 저장소를 제공하는 마이크로-드라이브 또는 다른 디바이스와 같은 저장 디바이스를 또한 구비할 수 있다. 프로세서(752), 메모리(764), 디스플레이(754), 통신 인터페이스(766) 및 송수신기(768)는 각기 다양한 버스들을 사용하여 상호 연결되며, 몇몇 컴포넌트들은 공통의 마더보드 상에 장착되거나 또는 적절하게 다른 방식으로 장착될 수 있다.
프로세서(752)는 메모리(764)에 저장된 명령어들을 비롯한, 모바일 컴퓨팅 디바이스(750) 내의 명령어들을 실행할 수 있다. 프로세서(752)는 별개의 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수 있다. 프로세서(752)는 예를 들어, 사용자 인터페이스들의 제어, 모바일 컴퓨팅 디바이스(750)에 의해 실행되는 애플리케이션들 및 모바일 컴퓨팅 디바이스(750)에 의한 무선 통신과 같은 모바일 컴퓨팅 디바이스(750)의 다른 컴포넌트들의 조정을 제공할 수 있다.
프로세서(752)는 디스플레이(754)에 연결된 제어 인터페이스(758) 및 디스플레이 인터페이스(756)를 통해 사용자와 통신할 수 있다. 디스플레이(754)는 예를 들어, TFT(Thin-Film-Transistor Liquid Crystal Display, 박막 트랜지스터 액정 디스플레이) 디스플레이 또는 OLED(Organic Light Emitting Diode, 유기 발광 다이오드) 디스플레이 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(756)는 그래픽 및 다른 정보를 사용자에게 제공하기 위해 디스플레이(754)를 구동하기에 적절한 회로를 포함할 수 있다. 제어 인터페이스(758)는 사용자로부터 커맨드들을 수신하고 이를 변환하여 프로세서(752)에 전달할 수 있다. 또한, 외부 인터페이스(762)는 모바일 통신 디바이스(750)가 다른 디바이스들과 근거리 통신(near area communication)을 할 수 있게 하기 위해 프로세서(752)와의 통신을 제공할 수 있다. 외부 인터페이스(762)는 예를 들어, 일부 구현들에서는 유선 통신용으로, 또는 다른 구현들에서는 무선 통신용으로 제공될 수 있으며, 다수의 인터페이스가 또한 사용될 수 있다.
메모리(764)는 모바일 컴퓨팅 디바이스(750) 내의 정보를 저장한다. 메모리(764)는 컴퓨터 판독 가능한 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로서 구현될 수 있다. 확장 메모리(774)는 또한 예를 들어, SIMM(Single In Line Memory Module, 단일 인라인 메모리 모듈) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(772)를 통해 모바일 컴퓨팅 디바이스(750)에 제공되고 접속될 수 있다. 확장 메모리(774)는 모바일 컴퓨팅 디바이스(750)에 여분의 저장 공간을 제공할 수 있거나, 모바일 컴퓨팅 디바이스(750)에 필요한 애플리케이션들이나 다른 정보를 저장할 수도 있다. 특히, 확장 메모리(774)는 전술한 프로세스들을 수행하거나 보완하는 명령어들을 포함할 수 있으며, 보안 정보를 또한 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(774)는 모바일 컴퓨팅 디바이스(750)의 보안 모듈로서 제공될 수 있으며, 모바일 컴퓨팅 디바이스(750)를 안전하게 사용하게 하는 명령어들로 프로그래밍될 수 있다. 또한, 보안 애플리케이션들은 예컨대, 해킹할 수 없는 방식으로 식별 정보를 SIMM 카드상에 설치하는 추가 정보와 함께, SIMM 카드들을 통해 제공될 수 있다.
메모리는 예를 들어, 후술하는 바와 같이 플래시 메모리 및/또는 NVRAM 메모리(non-volatile random access memory, 비휘발성 랜덤 액세스 메모리)를 포함할 수 있다. 컴퓨터 프로그램 제품은 실행될 때 전술한 바와 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 컴퓨터 프로그램 제품은 메모리(764), 확장 메모리(774) 또는 프로세서(752)상의 메모리와 같은 컴퓨터 또는 머신 판독 가능한 매체일 수 있다. 일부 구현들에서, 컴퓨터 프로그램 제품은 예를 들어, 송수신기(768) 또는 외부 인터페이스(762)를 통해 전파된 신호에서 수신될 수 있다.
모바일 컴퓨팅 디바이스(750)는 필요에 따라 디지털 신호 프로세싱 회로를 포함할 수 있는 통신 인터페이스(766)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(766)는 다른 것들 중에서도, GSM 음성 호들(Global System for Mobile communications, 세계 무선 통신 시스템), SMS(Short Message Service, 단문 메시지 서비스), EMS(Enhanced Messaging Service, 강화된 메시징 서비스) 또는 MMS 메시징(Multimedia Messaging Service, 멀티미디어 메시징 서비스), CDMA(code division multiple access, 코드 분할 다중 접속), TDMA (time division multiple access, 시분할 다중 접속), PDC (Personal Digital Cellular, 개인 디지털 셀룰러), WCDMA (Wideband Code Division Multiple Access, 광대역 코드 분할 다중 접속), CDMA2000, 또는 GPRS (General Packet Radio Service, 일반 패킷 무선 서비스)와 같은 다양한 방식들 또는 프로토콜들 하에서 통신을 제공할 수 있다. 이러한 통신은, 예를 들어, 무선 주파수를 사용하는 송수신기(768)를 통해 이루어질 수 있다. 또한, 블루투스, WiFi 또는 다른 송수신기(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 이루어질 수 있다. 또한, GPS(Global Positioning System, 글로벌 포지셔닝 시스템) 수신기 모듈(770)은 이동 컴퓨팅 디바이스(750) 상에서 실행되는 애플리케이션들에 의해 적절히 사용될 수 있는 부수적인 네비게이션 및 위치 관련 무선 데이터를 모바일 컴퓨팅 디바이스(750)에 제공할 수 있다.
모바일 컴퓨팅 디바이스(750)는 또한 사용자로부터 구어 정보를 수신하고 이 정보를 이용 가능한 디지털 정보로 변환할 수 있는 오디오 코덱(760)을 사용하여 청각적으로 통신할 수 있다. 오디오 코덱(760)은 마찬가지로, 예를 들어 모바일 컴퓨팅 디바이스(750)의 핸드셋에 있는 스피커를 통해, 사용자가 들을 수 있는 소리를 생성할 수 있다. 이러한 소리는 음성 전화 호들로부터의 소리를 포함할 수 있고, 녹음된 소리(예를 들어, 음성 메시지들, 음악 파일들 등)를 포함할 수 있으며, 모바일 컴퓨팅 디바이스(750) 상에서 작동하는 애플리케이션들에 의해 생성된 소리를 또한 포함할 수 있다.
도면에 도시된 바와 같이, 모바일 컴퓨팅 디바이스(750)는 다수의 상이한 형태들에서 구현될 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스는 셀룰러 텔레폰(780)으로서 구현될 수 있다. 모바일 컴퓨팅 디바이스는 스마트폰(782), 개인 휴대 정보 단말기 또는 다른 유사한 모바일 디바이스의 일부로서도 구현될 수 있다.
본 명세서에 기재된 시스템들 및 기술들의 다양한 구현들은 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC들(application specific integrated circuits, 주문형 집적 회로들), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 실현될 수 있다. 이러한 다양한 구현들은 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고, 데이터 및 명령어들을 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 전송하도록 연결된 특수 목적 또는 범용 목적일 수 있는 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템상에서 실행 가능한 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함할 수 있다.
이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 알려짐)은 프로그래머블 프로세서에 필요한 머신 명령어들을 포함하며, 하이 레벨의 절차적 및/또는 객체 지향적 프로그래밍 언어 및/또는 어셈블리 언어/머신 언어로 구현될 수 있다. 본 명세서에서 사용되는 것으로, 머신 판독 가능한 매체 및 컴퓨터 판독 가능한 매체라는 용어들은 머신 판독 가능한 신호로서 머신 명령어들을 수신하는 머신 판독 가능한 매체를 비롯한, 머신 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 장치들 및/또는 디바이스(예를 들어, 자기 디스크들, 광디스크들, 메모리, 프로그래머블 로직 디바이스들(Programmable Logic Devices, PLDs)을 말한다. 머신 판독 가능한 신호라는 용어는 머신 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는 데 사용되는 모든 신호를 말한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 기재된 시스템들 및 기술들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube, 음극선관) 또는 LCD(liquid crystal display, 액정 디스플레이) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드와 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 디바이스들은 마찬가지로 사용자와의 상호 작용을 제공하는데 사용될 수 있는데, 예를 들면, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백)일 수 있으며; 사용자로부터의 입력은 음향, 대화 또는 촉각 입력을 비롯한 임의의 형태로 수신될 수 있다.
본 명세서에 기재된 시스템들 및 기술들은 (예를 들어, 데이터 서버로서) 백 엔드 컴포넌트를 포함하는, 또는 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하는, 또는 프론트 엔드 컴포넌트(예를 들어, 사용자가 본 명세서에 기재된 시스템들 및 기술들의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터) 또는 그러한 백 엔드, 미들웨어 또는 프런트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체(예를 들어, 통신 네트워크)에 의해 상호 연결될 수 있다. 통신 네트워크들의 예는 근거리 네트워크(local area network, LAN), 광역 네트워크(wide area network, WAN) 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 전형적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각자의 컴퓨터들에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 생긴다.
다양한 구현이 위에서 상세히 설명되었지만, 다른 수정들이 가능하다. 또한, 도면들에 도시된 로직 흐름들은 바람직한 결과들을 성취하기 위해, 도시된 특정 순서 또는 순차적인 순서를 요구하지 않는다. 또한, 다른 단계들이 제공되거나, 단계들이 설명된 흐름들로부터 제거될 수 있으며, 다른 컴포넌트들이 설명된 시스템들에 추가되거나, 설명된 시스템들로부터 제거될 수 있다. 따라서, 다른 구현들은 다음과 같은 청구항들의 범위 내에 있다.

Claims (26)

  1. 방법으로서,
    사용자 디바이스의 데이터 프로세싱 하드웨어에서, 제1 발언을 특징짓는 데이터를 수신하는 단계;
    상기 데이터 프로세싱 하드웨어에 의해, 훈련된 신경망을 사용하여 발언에 대한 화자 표현을 생성하는 단계 -상기 화자 표현은 상기 제1 발언의 화자의 음성의 특유한 특징들을 나타냄 -;
    상기 데이터 프로세싱 하드웨어에 의해, 상기 사용자 디바이스의 등록된 사용자에 대한 화자 모델을 획득하는 단계 -상기 화자 모델은 등록 단계(enrollment phase) 동안 이전에 결정되고, 상기 등록된 사용자에 의해 발언된 하나 이상의 제2 발언에 기초하여 상기 등록된 사용자의 음성의 특유의 특징들을 특징지으며 -;
    상기 데이터 프로세싱 하드웨어에 의해, 상기 제1 발언에 대한 화자 표현과 상기 등록된 이용자에 대한 화자 모델 사이의 유사도 점수가 유사도 점수 임계치를 충족시키는지를 결정하는 단계; 그리고
    상기 유사도 점수가 상기 유사도 점수 임계치를 충족시킬 때,
    상기 데이터 프로세싱 하드웨어에 의해, 상기 사용자 디바이스의 상기 등록된 사용자로서 상기 제1 발언의 화자를 인증하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어에 의해, 상기 제1 발언에 기초하여 상기 사용자 디바이스의 상기 등록된 사용자에 대한 상기 화자 모델을 업데이트하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 사용자 디바이스의 상기 등록된 사용자로서 상기 제1 발언의 화자를 인증한 것에 응답하여, 상기 데이터 프로세싱 하드웨어에 의해, 저전력 상태로부터 기능을 더 완비한 상태(more fully-featured state)로 사용자 디바이스의 동작을 천이시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 사용자 디바이스의 등록된 사용자로서 상기 제1 발언의 화자를 인증하는 것에 응답하여,
    상기 데이터 프로세싱 하드웨어에 의해, 상기 제1 발언의 하나 이상의 용어들을 프로세싱하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어에 의해, 상기 제1 발언의 하나 이상의 용어들에 기초한 액션을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 제1 발언 및 하나 이상의 등록 발언들 각각은 동일한 미리 결정된 문구를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 화자 표현과 상기 화자 모델 간의 유사도 점수는 상기 화자 표현에 대한 값들의 벡터와 상기 화자 모델에 대한 값들의 벡터 사이의 코사인 거리를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 사용자 디바이스의 상기 등록된 사용자에 대한 상기 화자 모델을 획득하는 단계는 상기 사용자 디바이스의 메모리 하드웨어로부터 상기 화자 모델을 검색하는 단계를 포함하는 방법.
  7. 제1항에 있어서,
    상기 데이터 프로세싱 하드웨어에서, 상기 등록된 사용자에 의해 발언된 하나 이상의 등록 발언들을 수신하고,
    상기 데이터 프로세싱 하드웨어에 의해, 상기 하나 이상의 등록 발언들 각각에 대한 각각의 등록된 화자 표현을 생성하기 위해 상기 하나 이상의 등록 발언들 각각을 상기 신경망에 특징짓는 데이터를 입력하고, 그리고
    상기 데이터 프로세싱 하드웨어에 의해, 상기 하나 이상의 등록 발언들 각각에 대한 각각의 등록된 화자 표현에 기초하여 사용자 디바이스의 등록된 사용자에 대한 화자 모델을 생성함으로써,
    상기 등록 단계 동안 상기 등록된 사용자에 대한 상기 화자 모델을 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 제1 발언을 특징짓는 상기 데이터를 수신하는 단계는,
    상기 제1 발언의 미가공 오디오 신호를 수신하는 단계; 그리고
    상기 제1 발언의 미가공 오디오 신호를 상기 제1 발언을 특징짓는 오디오 특징들(audio features)로 변환하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서, 상기 훈련된 신경망은 가변 길이들을 갖는 발언들을 특징짓는 데이터에 대해 훈련된 장단기 메모리 순환 신경망(long-short-term memory recurrent neural network)을 포함하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서, 상기 훈련된 신경망은 모두 고정 길이를 갖는 발언들을 특징짓는 데이터에 대해 훈련된 심층 신경망을 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서, 상기 심층 신경망은 국부적으로 연결된 은닉층과 그 뒤를 이어 복수의 완전히 연결된 은닉층들을 포함하는 것을 특징으로 하는 방법.
  12. 제10항에 있어서, 상기 심층 신경망은 소프트맥스(softmax) 출력층을 갖지 않는 것을 특징으로 하는 방법.
  13. 제1항에 있어서,
    훈련된 신경망을 사용하여 발언에 대한 화자 표현을 생성하기 전에, 데이터 컴퓨팅 하드웨어에 의해, 네트워크를 통해 원격 컴퓨팅 디바이스로부터 상기 훈련된 신경망을 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 시스템으로서,
    사용자 디바이스의 데이터 프로세싱 하드웨어; 그리고
    상기 사용자 디바이스의 메모리 하드웨어를 포함하며, 상기 메모리 하드웨어는 상기 데이터 프로세싱 하드웨어와 통신하고, 상기 데이터 프로세싱 하드웨어에 의해 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장하며, 상기 동작들은,
    제1 발언을 특징짓는 데이터를 수신하는 동작;
    훈련된 신경망을 사용하여 발언에 대한 화자 표현을 생성하는 동작 -상기 화자 표현은 상기 제1 발언의 화자의 음성의 특유한 특징들을 나타냄 -;
    상기 사용자 디바이스의 등록된 사용자에 대한 화자 모델을 획득하는 동작 -상기 화자 모델은 등록 단계(enrollment phase) 동안 이전에 결정되고, 상기 등록된 사용자에 의해 발언된 하나 이상의 제2 발언에 기초하여 상기 등록된 사용자의 음성의 특유의 특징들을 특징지으며 -;
    상기 제1 발언에 대한 화자 표현과 상기 등록된 이용자에 대한 화자 모델 사이의 유사도 점수가 유사도 점수 임계치를 충족시키는지를 결정하는 동작; 그리고
    상기 유사도 점수가 상기 유사도 점수 임계치를 충족시킬 때,
    상기 사용자 디바이스의 상기 등록된 사용자로서 상기 제1 발언의 화자를 인증하는 동작; 그리고
    상기 제1 발언에 기초하여 상기 사용자 디바이스의 상기 등록된 사용자에 대한 상기 화자 모델을 업데이트하는 동작을 포함하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서, 상기 동작들은,
    상기 사용자 디바이스의 상기 등록된 사용자로서 상기 제1 발언의 화자를 인증한 것에 응답하여, 저전력 상태로부터 기능을 더 완비한 상태(more fully-featured state)로 사용자 디바이스의 동작을 천이시키는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  16. 제14항에 있어서, 상기 동작들은,
    상기 사용자 디바이스의 등록된 사용자로서 상기 제1 발언의 화자를 인증하는 것에 응답하여,
    상기 제1 발언의 하나 이상의 용어들을 프로세싱하는 동작; 그리고
    상기 제1 발언의 하나 이상의 용어들에 기초한 액션을 수행하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  17. 제14항에 있어서, 상기 제1 발언 및 하나 이상의 등록 발언들 각각은 동일한 미리 결정된 문구를 포함하는 것을 특징으로 하는 시스템.
  18. 제14항에 있어서, 상기 화자 표현과 상기 화자 모델 간의 유사도 점수는 상기 화자 표현에 대한 값들의 벡터와 상기 화자 모델에 대한 값들의 벡터 사이의 코사인 거리를 포함하는 것을 특징으로 하는 시스템.
  19. 제14항에 있어서, 상기 사용자 디바이스의 상기 등록된 사용자에 대한 상기 화자 모델을 획득하는 동작은 상기 사용자 디바이스의 메모리 하드웨어로부터 상기 화자 모델을 검색하는 동작을 포함하는 것을 특징으로 하는 시스템.
  20. 제14항에 있어서, 상기 동작들은,
    상기 등록된 사용자에 의해 발언된 하나 이상의 등록 발언들을 수신하고,
    상기 하나 이상의 등록 발언들 각각에 대한 각각의 등록된 화자 표현을 생성하기 위해 상기 하나 이상의 등록 발언들 각각을 상기 신경망에 특징짓는 데이터를 입력하고, 그리고
    상기 하나 이상의 등록 발언들 각각에 대한 각각의 등록된 화자 표현에 기초하여 사용자 디바이스의 등록된 사용자에 대한 화자 모델을 생성함으로써,
    상기 등록 단계 동안 상기 등록된 사용자에 대한 상기 화자 모델을 결정하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  21. 제14항에 있어서, 상기 제1 발언을 특징짓는 상기 데이터를 수신하는 동작은,
    상기 제1 발언의 미가공 오디오 신호를 수신하는 동작; 그리고
    상기 제1 발언의 미가공 오디오 신호를 상기 제1 발언을 특징짓는 오디오 특징들(audio features)로 변환하는 동작을 포함하는 것을 특징으로 하는 시스템.
  22. 제14항에 있어서, 상기 훈련된 신경망은 가변 길이들을 갖는 발언들을 특징짓는 데이터에 대해 훈련된 장단기 메모리 순환 신경망(long-short-term memory recurrent neural network)을 포함하는 것을 특징으로 하는 시스템.
  23. 제14항에 있어서, 상기 훈련된 신경망은 모두 고정 길이를 갖는 발언들을 특징짓는 데이터에 대해 훈련된 심층 신경망을 포함하는 것을 특징으로 하는 시스템.
  24. 제23항에 있어서, 상기 심층 신경망은 국부적으로 연결된 은닉층과 그 뒤를 이어 복수의 완전히 연결된 은닉층들을 포함하는 것을 특징으로 하는 시스템.
  25. 제23항에 있어서, 상기 심층 신경망은 소프트맥스(softmax) 출력층을 갖지 않는 것을 특징으로 하는 시스템.
  26. 제14항에 있어서, 상기 동작들은,
    훈련된 신경망을 사용하여 발언에 대한 화자 표현을 생성하기 전에, 네트워크를 통해 원격 컴퓨팅 디바이스로부터 상기 훈련된 신경망을 수신하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
KR1020197018377A 2015-09-04 2016-07-27 화자 검증을 위한 신경망들 KR102026396B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/846,187 US9978374B2 (en) 2015-09-04 2015-09-04 Neural networks for speaker verification
US14/846,187 2015-09-04
PCT/US2016/044181 WO2017039884A1 (en) 2015-09-04 2016-07-27 Neural networks for speaker verification

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177030673A Division KR101995547B1 (ko) 2015-09-04 2016-07-27 화자 검증을 위한 신경망들

Publications (2)

Publication Number Publication Date
KR20190079692A true KR20190079692A (ko) 2019-07-05
KR102026396B1 KR102026396B1 (ko) 2019-09-27

Family

ID=56853791

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177030673A KR101995547B1 (ko) 2015-09-04 2016-07-27 화자 검증을 위한 신경망들
KR1020197018377A KR102026396B1 (ko) 2015-09-04 2016-07-27 화자 검증을 위한 신경망들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020177030673A KR101995547B1 (ko) 2015-09-04 2016-07-27 화자 검증을 위한 신경망들

Country Status (8)

Country Link
US (5) US9978374B2 (ko)
EP (3) EP3621070B1 (ko)
JP (5) JP6542386B2 (ko)
KR (2) KR101995547B1 (ko)
CN (1) CN107924682A (ko)
DE (1) DE112016004008T5 (ko)
GB (1) GB2556459B (ko)
WO (1) WO2017039884A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230070523A (ko) * 2020-10-13 2023-05-23 구글 엘엘씨 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
CA2954839A1 (en) * 2016-01-22 2017-07-22 Wal-Mart Stores, Inc. Systems and methods of enabling forecasting
US9978367B2 (en) * 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
US10373612B2 (en) * 2016-03-21 2019-08-06 Amazon Technologies, Inc. Anchored speech detection and speech recognition
CN105933323B (zh) * 2016-06-01 2019-05-31 百度在线网络技术(北京)有限公司 声纹注册、认证方法及装置
US10311219B2 (en) * 2016-06-07 2019-06-04 Vocalzoom Systems Ltd. Device, system, and method of user authentication utilizing an optical microphone
US20180018973A1 (en) * 2016-07-15 2018-01-18 Google Inc. Speaker verification
KR102596430B1 (ko) * 2016-08-31 2023-10-31 삼성전자주식회사 화자 인식에 기초한 음성 인식 방법 및 장치
US9824692B1 (en) * 2016-09-12 2017-11-21 Pindrop Security, Inc. End-to-end speaker recognition using deep neural network
WO2018053537A1 (en) 2016-09-19 2018-03-22 Pindrop Security, Inc. Improvements of speaker recognition in the call center
AU2017327003B2 (en) 2016-09-19 2019-05-23 Pindrop Security, Inc. Channel-compensated low-level features for speaker recognition
KR20180082033A (ko) * 2017-01-09 2018-07-18 삼성전자주식회사 음성을 인식하는 전자 장치
KR102125549B1 (ko) * 2017-04-20 2020-06-22 한국전자통신연구원 심층신경망 기반 음성 인식 시스템을 위한 발화 검증 방법
KR102458805B1 (ko) * 2017-04-20 2022-10-25 구글 엘엘씨 장치에 대한 다중 사용자 인증
US10592725B2 (en) * 2017-04-21 2020-03-17 General Electric Company Neural network systems
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10325602B2 (en) * 2017-08-02 2019-06-18 Google Llc Neural networks for speaker verification
CN107301864B (zh) * 2017-08-16 2020-12-22 重庆邮电大学 一种基于Maxout神经元的深度双向LSTM声学模型
CN111630934B (zh) * 2018-01-22 2023-10-13 诺基亚技术有限公司 隐私保护的声纹认证装置和方法
CN108597523B (zh) * 2018-03-23 2019-05-17 平安科技(深圳)有限公司 说话人认证方法、服务器及计算机可读存储介质
US10937438B2 (en) 2018-03-29 2021-03-02 Ford Global Technologies, Llc Neural network generative modeling to transform speech utterances and augment training data
CN108495143A (zh) * 2018-03-30 2018-09-04 百度在线网络技术(北京)有限公司 视频推荐的方法和装置
US10853911B2 (en) * 2018-04-17 2020-12-01 Google Llc Dynamic adaptation of images for projection, and/or of projection parameters, based on user(s) in environment
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
GB2573809B (en) * 2018-05-18 2020-11-04 Emotech Ltd Speaker Recognition
JP6980603B2 (ja) * 2018-06-21 2021-12-15 株式会社東芝 話者モデル作成システム、認識システム、プログラムおよび制御装置
KR102655791B1 (ko) * 2018-08-27 2024-04-09 삼성전자주식회사 화자 인증 방법, 화자 인증을 위한 학습 방법 및 그 장치들
CN109344713B (zh) * 2018-08-31 2021-11-02 电子科技大学 一种姿态鲁棒的人脸识别方法
CN109284406B (zh) * 2018-09-03 2021-12-03 四川长虹电器股份有限公司 基于差异循环神经网络的意图识别方法
KR20200027331A (ko) * 2018-09-04 2020-03-12 엘지전자 주식회사 음성 합성 장치
CN112262431A (zh) * 2018-09-25 2021-01-22 谷歌有限责任公司 使用说话者嵌入和所训练的生成模型的说话者日志
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
CN110289003B (zh) * 2018-10-10 2021-10-29 腾讯科技(深圳)有限公司 一种声纹识别的方法、模型训练的方法以及服务器
KR102608470B1 (ko) * 2018-10-23 2023-12-01 삼성전자주식회사 데이터 인식 장치 및 방법과 트레이닝 장치 및 방법
KR102172925B1 (ko) * 2018-10-25 2020-11-02 광주과학기술원 딥러닝 기반 기후 변화 예측 시스템의 동작 방법
US10810993B2 (en) * 2018-10-26 2020-10-20 Deepmind Technologies Limited Sample-efficient adaptive text-to-speech
CN111902865B (zh) * 2018-12-03 2024-07-12 谷歌有限责任公司 文本无关的说话者识别
KR102570070B1 (ko) 2018-12-27 2023-08-23 삼성전자주식회사 일반화된 사용자 모델을 이용한 사용자 인증 방법 및 장치
US11031017B2 (en) * 2019-01-08 2021-06-08 Google Llc Fully supervised speaker diarization
DE102019201456B3 (de) * 2019-02-05 2020-07-23 Sivantos Pte. Ltd. Verfahren für eine individualisierte Signalverarbeitung eines Audiosignals eines Hörgerätes
WO2020163624A1 (en) 2019-02-06 2020-08-13 Pindrop Security, Inc. Systems and methods of gateway detection in a telephone network
WO2020184753A1 (ko) * 2019-03-12 2020-09-17 엘지전자 주식회사 음성 추출 필터를 이용하여 음성 제어를 수행하는 인공 지능 장치 및 그 방법
US10923111B1 (en) 2019-03-28 2021-02-16 Amazon Technologies, Inc. Speech detection and speech recognition
US12015637B2 (en) * 2019-04-08 2024-06-18 Pindrop Security, Inc. Systems and methods for end-to-end architectures for voice spoofing detection
US11960843B2 (en) * 2019-05-02 2024-04-16 Adobe Inc. Multi-module and multi-task machine learning system based on an ensemble of datasets
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11848023B2 (en) * 2019-06-10 2023-12-19 Google Llc Audio noise reduction
KR102316537B1 (ko) * 2019-06-21 2021-10-22 한양대학교 산학협력단 잡음 환경에 강인한 화자 인식을 위한 심화신경망 기반의 특징 강화 및 변형된 손실 함수를 이용한 결합 학습 방법 및 장치
CN110610708B (zh) * 2019-08-31 2021-10-15 浙江工业大学 一种基于布谷鸟搜索算法的声纹识别攻击防御方法
US11900246B2 (en) 2019-09-02 2024-02-13 Samsung Electronics Co., Ltd. Method and apparatus for recognizing user based on on-device training
US11341988B1 (en) * 2019-09-23 2022-05-24 Apple Inc. Hybrid learning-based and statistical processing techniques for voice activity detection
US11361761B2 (en) * 2019-10-16 2022-06-14 International Business Machines Corporation Pattern-based statement attribution
CN111712874B (zh) * 2019-10-31 2023-07-14 支付宝(杭州)信息技术有限公司 用于确定声音特性的方法、系统、装置和存储介质
CN110782901B (zh) * 2019-11-05 2021-12-24 深圳大学 一种识别网络电话语音的方法、存储介质及装置
US11741986B2 (en) * 2019-11-05 2023-08-29 Samsung Electronics Co., Ltd. System and method for passive subject specific monitoring
EP4086904A1 (en) * 2019-12-04 2022-11-09 Google LLC Speaker awareness using speaker dependent speech model(s)
WO2021158531A1 (en) * 2020-02-03 2021-08-12 Pindrop Security, Inc. Cross-channel enrollment and authentication of voice biometrics
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11508380B2 (en) * 2020-05-26 2022-11-22 Apple Inc. Personalized voices for text messaging
US11688412B2 (en) * 2020-06-15 2023-06-27 Tencent America LLC Multi-modal framework for multi-channel target speech separation
CN111739521B (zh) * 2020-06-19 2021-06-22 腾讯科技(深圳)有限公司 电子设备唤醒方法、装置、电子设备及存储介质
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
KR20220040875A (ko) * 2020-09-24 2022-03-31 삼성전자주식회사 음성 인식 서비스를 위한 등록 사용자에 대한 화자 인증 학습 장치 및 그 동작 방법
CN111933152B (zh) * 2020-10-12 2021-01-08 北京捷通华声科技股份有限公司 注册音频的有效性的检测方法、检测装置和电子设备
WO2022086045A1 (ko) * 2020-10-22 2022-04-28 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR102590540B1 (ko) * 2020-11-30 2023-10-18 주식회사 마음에이아이 인공 신경망 학습 방법과 이를 이용한 발음 평가 방법
US20220254331A1 (en) * 2021-02-05 2022-08-11 Cambium Assessment, Inc. Neural network and method for machine learning assisted speech recognition

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227408A (ja) * 1995-02-22 1996-09-03 Meidensha Corp ニューラルネットワーク
US20140214417A1 (en) * 2013-01-28 2014-07-31 Tencent Technology (Shenzhen) Company Limited Method and device for voiceprint recognition
US20150127336A1 (en) * 2013-11-04 2015-05-07 Google Inc. Speaker verification using neural networks

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167004A (en) * 1991-02-28 1992-11-24 Texas Instruments Incorporated Temporal decorrelation method for robust speaker verification
JPH064097A (ja) * 1992-06-18 1994-01-14 Seiko Epson Corp 話者認識方法
JPH07210197A (ja) * 1994-01-14 1995-08-11 Nippondenso Co Ltd 話者識別方法
JPH08171398A (ja) * 1994-12-16 1996-07-02 Matsushita Electric Ind Co Ltd データ認識装置、辞書作成装置及び学習装置
CA2239339C (en) * 1997-07-18 2002-04-16 Lucent Technologies Inc. Method and apparatus for providing speaker authentication by verbal information verification using forced decoding
CA2239340A1 (en) * 1997-07-18 1999-01-18 Lucent Technologies Inc. Method and apparatus for providing speaker authentication by verbal information verification
FR2795848B1 (fr) * 1999-07-01 2001-08-17 Commissariat Energie Atomique Systeme d'intelligence artificielle pour la classification d'evenements, d'objets ou de situations a partir de signaux et de parametres discriminants issus de modeles
FR2842643B1 (fr) * 2002-07-22 2004-09-03 France Telecom Normalisation de score de verification dans un dispositif de reconnaissance vocale de locuteur
US7509257B2 (en) * 2002-12-24 2009-03-24 Marvell International Ltd. Method and apparatus for adapting reference templates
US20080208578A1 (en) * 2004-09-23 2008-08-28 Koninklijke Philips Electronics, N.V. Robust Speaker-Dependent Speech Recognition System
WO2007036817A1 (en) * 2005-09-29 2007-04-05 Koninklijke Philips Electronics N.V. Method and apparatus for automatically generating a playlist by segmental feature comparison
EP2182512A1 (en) * 2008-10-29 2010-05-05 BRITISH TELECOMMUNICATIONS public limited company Speaker verification
CN102810311B (zh) * 2011-06-01 2014-12-03 株式会社理光 说话人估计方法和说话人估计设备
GB2493956A (en) * 2011-08-24 2013-02-27 Inview Technology Ltd Recommending audio-visual content based on user's personal preerences and the profiles of others
US8498864B1 (en) * 2012-09-27 2013-07-30 Google Inc. Methods and systems for predicting a text
US9230550B2 (en) * 2013-01-10 2016-01-05 Sensory, Incorporated Speaker verification and identification using artificial neural network-based sub-phonetic unit discrimination
CN103971690A (zh) * 2013-01-28 2014-08-06 腾讯科技(深圳)有限公司 一种声纹识别方法和装置
US9343068B2 (en) * 2013-09-16 2016-05-17 Qualcomm Incorporated Method and apparatus for controlling access to applications having different security levels
US20150095017A1 (en) * 2013-09-27 2015-04-02 Google Inc. System and method for learning word embeddings using neural language models
US10229256B2 (en) * 2013-10-25 2019-03-12 Intel Corporation Techniques for preventing voice replay attacks
CN104751842B (zh) * 2013-12-31 2019-11-15 科大讯飞股份有限公司 深度神经网络的优化方法及系统
US8812320B1 (en) * 2014-04-01 2014-08-19 Google Inc. Segment-based speaker verification using dynamically generated phrases
US10540979B2 (en) * 2014-04-17 2020-01-21 Qualcomm Incorporated User interface for secure access to a device using speaker verification
CN104167208B (zh) * 2014-08-08 2017-09-15 中国科学院深圳先进技术研究院 一种说话人识别方法和装置
CN104732977B (zh) * 2015-03-09 2018-05-11 广东外语外贸大学 一种在线口语发音质量评价方法和系统
CN105518708B (zh) * 2015-04-29 2018-06-12 北京旷视科技有限公司 用于验证活体人脸的方法、设备和计算机程序产品
US10115055B2 (en) * 2015-05-26 2018-10-30 Booking.Com B.V. Systems methods circuits and associated computer executable code for deep learning based natural language understanding
JP6671020B2 (ja) * 2016-06-23 2020-03-25 パナソニックIpマネジメント株式会社 対話行為推定方法、対話行為推定装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227408A (ja) * 1995-02-22 1996-09-03 Meidensha Corp ニューラルネットワーク
US20140214417A1 (en) * 2013-01-28 2014-07-31 Tencent Technology (Shenzhen) Company Limited Method and device for voiceprint recognition
US20150127336A1 (en) * 2013-11-04 2015-05-07 Google Inc. Speaker verification using neural networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230070523A (ko) * 2020-10-13 2023-05-23 구글 엘엘씨 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용
US11984128B2 (en) 2020-10-13 2024-05-14 Google Llc Automatic generation and/or use of text-dependent speaker verification features

Also Published As

Publication number Publication date
KR102026396B1 (ko) 2019-09-27
EP3621070B1 (en) 2022-09-07
US20210366491A1 (en) 2021-11-25
EP3278331B1 (en) 2019-12-25
US9978374B2 (en) 2018-05-22
DE112016004008T5 (de) 2018-05-17
EP3278331A1 (en) 2018-02-07
US20170069327A1 (en) 2017-03-09
GB2556459A (en) 2018-05-30
JP2019194713A (ja) 2019-11-07
US11107478B2 (en) 2021-08-31
JP2018517927A (ja) 2018-07-05
GB201717774D0 (en) 2017-12-13
JP2024001111A (ja) 2024-01-09
US20240038245A1 (en) 2024-02-01
JP7110292B2 (ja) 2022-08-01
EP3621070A1 (en) 2020-03-11
JP2021006913A (ja) 2021-01-21
KR101995547B1 (ko) 2019-07-02
US20180315430A1 (en) 2018-11-01
JP2022163057A (ja) 2022-10-25
EP4084000A2 (en) 2022-11-02
CN107924682A (zh) 2018-04-17
US11961525B2 (en) 2024-04-16
JP6542386B2 (ja) 2019-07-10
US10586542B2 (en) 2020-03-10
JP6766221B2 (ja) 2020-10-07
KR20170131585A (ko) 2017-11-29
GB2556459B (en) 2021-09-15
JP7362851B2 (ja) 2023-10-17
WO2017039884A1 (en) 2017-03-09
US20200160869A1 (en) 2020-05-21
EP4084000A3 (en) 2022-11-09

Similar Documents

Publication Publication Date Title
KR101995547B1 (ko) 화자 검증을 위한 신경망들
US10325602B2 (en) Neural networks for speaker verification
US11044321B2 (en) Speech processing performed with respect to first and second user profiles in a dialog session
KR101824158B1 (ko) 화자 검증을 위한 동적 임계치
KR101323061B1 (ko) 스피커 인증 방법 및 이 방법을 수행하기 위한 컴퓨터 실행가능 명령어를 갖는 컴퓨터 판독가능 매체
US11627189B2 (en) Performing an action based on secondary user authorization
US20160293167A1 (en) Speaker recognition using neural networks
US20230042420A1 (en) Natural language processing using context
US20240013784A1 (en) Speaker recognition adaptation
US11676608B2 (en) Speaker verification using co-location information
US11908480B1 (en) Natural language processing using context

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant