KR102340359B1 - 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법 - Google Patents

선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법 Download PDF

Info

Publication number
KR102340359B1
KR102340359B1 KR1020200040811A KR20200040811A KR102340359B1 KR 102340359 B1 KR102340359 B1 KR 102340359B1 KR 1020200040811 A KR1020200040811 A KR 1020200040811A KR 20200040811 A KR20200040811 A KR 20200040811A KR 102340359 B1 KR102340359 B1 KR 102340359B1
Authority
KR
South Korea
Prior art keywords
distance
speech
vector
speaker
speech vector
Prior art date
Application number
KR1020200040811A
Other languages
English (en)
Other versions
KR20210123554A (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 KR1020200040811A priority Critical patent/KR102340359B1/ko
Publication of KR20210123554A publication Critical patent/KR20210123554A/ko
Application granted granted Critical
Publication of KR102340359B1 publication Critical patent/KR102340359B1/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/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
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech

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)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

본 발명의 원거리 발화를 선택적으로 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치는 화자 및 발화거리가 알려지지 않은 음성벡터가 입력되면, 상기 음성벡터의 잡음 또는 잔향의 양에 따라 0 내지 1 사이의 값을 가지는 거리반비례지수를 산출하는 잡음잔향검출망과, 상기 음성벡터 및 상기 거리반비례지수를 곱하여 거리반비례음성벡터를 출력하는 곱셈기와, 상기 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 0 벡터에 가까운 값을 가지는 모사근거리음성벡터를 도출하는 원거리보상망과, 상기 거리반비례음성벡터와 상기 모사근거리음성벡터를 더하여 보상음성벡터를 도출하는 덧셈기를 포함한다.

Description

선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법{Apparatus and method for enhancing speaker feature based on deep neural network that selectively compensates for distant utterances}
본 발명은 음성 처리 기술에 관한 것으로, 보다 상세하게는, 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법에 관한 것이다.
화자 특징을 기반으로 동작하는 화자 인증 시스템은 원거리 입력 발성 시나리오에서 크게 두 가지 한계를 지닌다. 첫 번째로, 발성이 원거리에서 입력될 경우 입력 장치와 발화자의 거리가 증가함에 따라 입력된 발성 내 잡음과 잔향이 증가한다. 이는 화자 인증 시스템의 대표적인 성능 저하 요인이다. 두 번째로 입력 발성의 거리와 독립적으로 원거리 보상 시스템을 통한 특징 강화 기법을 이용할 경우, 근거리 발성의 성능이 저하되는 문제가 발생한다. 이는 원거리 발성으로부터 추출된 화자 특징을 입력 받는 특징 강화 시스템이 근거리 발성으로부터 추출된 화자 특징을 입력 받을 경우 화자 특징의 분별력을 낮추기 때문으로 추정된다.
한국공개특허 제2008-0026951호 2008년 03월 26일 공개 (명칭: 강인한 원거리 음성 인식 시스템을 위한 음성 인식 방법)
본 발명의 목적은 원거리 발화를 선택적으로 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 원거리 발화를 선택적으로 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치는 화자 및 발화거리가 알려지지 않은 음성벡터가 입력되면, 상기 음성벡터의 잡음 또는 잔향의 양에 따라 0 내지 1 사이의 값을 가지는 거리반비례지수를 산출하는 잡음잔향검출망과, 상기 음성벡터 및 상기 거리반비례지수를 곱하여 거리반비례음성벡터를 출력하는 곱셈기와, 상기 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 0 벡터에 가까운 값을 가지는 모사근거리음성벡터를 도출하는 원거리보상망과, 상기 거리반비례음성벡터와 상기 모사근거리음성벡터를 더하여 보상음성벡터를 도출하는 덧셈기를 포함한다.
또한, 상기 장치는 상기 도출된 보상음성벡터에 대한 가중치가 적용되는 복수의 연산을 통해 상기 화자의 특징을 나타내는 화자특징벡터를 도출하는 화자특징층을 더 포함한다.
상기 잡음잔향검출망은 상기 입력된 음성벡터의 잡음 또는 잔향의 양이 많을수록 0에 가까운 값을 가지며 상기 입력된 음성벡터의 잡음 또는 잔향의 양이 적을수록 1에 가까운 값을 가지는 거리반비례지수를 산출하는 것을 특징으로 한다.
상기 보상음성벡터는 상기 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 상기 입력된 음성벡터와 동일한 값을 가지는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 원거리 발화를 선택적으로 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치는 화자 및 발화거리가 알려진 학습용 음성벡터에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 수행하여 상기 학습용 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 상기 입력된 학습용 음성벡터와 동일한 값을 가지는 보상음성벡터를 산출하고, 산출된 보상음성벡터로부터 화자의 특징을 추출한 화자특징벡터를 산출하고, 산출된 화자특징벡터로부터 상기 학습용 음성벡터의 화자가 기 설정된 화자일 확률을 나타내는 화자인식벡터를 도출하는 심층신경망과, 상기 학습용 음성벡터의 화자가 기 설정된 근거리에서 발화한 음성의 특징을 추출한 근거리음성벡터와 상기 화자특징벡터와의 평균 제곱 오차 및 상기 화자를 나타내는 화자 레이블과 상기 화자인식벡터와의 교차엔트로피 오차가 최소가 되도록 상기 심층신경망의 가중치를 최적화하는 학습부를 포함한다.
상기 심층신경망은 상기 학습용 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0 내지 1 사이의 실수인 거리반비례지수를 산출하는 잡음잔향검출망을 포함한다. 이러한 경우, 상기 학습부는 상기 학습용 음성벡터의 발화거리를 나타내는 발화거리 레이블과 상기 거리반비례지수와의 이진 교차엔트로피 오차, 상기 학습용 음성벡터의 화자가 기 설정된 근거리에서 발화한 음성의 특징을 추출한 근거리음성벡터와 상기 보상음성벡터와의 평균 제곱 오차 및 상기 화자를 나타내는 화자 레이블과 상기 화자인식벡터와의 교차엔트로피 오차가 최소가 되도록 상기 심층신경망의 가중치를 최적화할 수 있다.
상기 발화거리 레이블은 상기 학습용 음성벡터의 발화거리가 기 설정된 원거리인 경우 0이며, 상기 학습용 음성벡터의 발화거리가 기 설정된 근거리인 경우 1인 것을 특징으로 한다.
상기 화자 레이블은 화자 레이블은 인식을 위해 기 설정된 화자의 수와 동일한 수의 길이를 가지는 원핫인코딩(one-hot encoding) 방식으로 인코딩된 벡터인 것을 특징으로 한다.
상기 심층신경망은 발화거리가 알려지지 않은 음성벡터가 입력되면, 상기 음성벡터의 잡음 또는 잔향의 양에 따라 0 내지 1 사이의 실수인 거리반비례지수를 산출하는 잡음잔향검출망과, 상기 음성벡터와 상기 거리반비례지수를 곱한 거리반비례음성벡터를 산출하는 곱셈기와, 상기 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 0 벡터에 가까운 값을 가지는 모사근거리음성벡터를 도출하는 원거리보상망과, 상기 거리반비례음성벡터 및 상기 모사근거리음성벡터를 더하여 거리보상음성벡터를 도출하는 덧셈기와, 상기 거리보상음성벡터로부터 화자의 특징을 추출하여 화자특징벡터를 도출하는 화자특징층을 포함한다.
상기 잡음잔향검출망은 상기 음성벡터의 잡음 또는 잔향의 양이 많을수록 0에 가까운 실수를 출력하고, 상기 음성벡터의 잡음 또는 잔향의 양이 작을수록 1에 가까운 실수를 출력하는 것을 특징으로 하는
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 원거리 발화를 선택적으로 보상하는 심층 신경망 기반 화자 특징 강화를 위한 방법은 잡음잔향검출망이 발화거리가 알려지지 않은 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0 내지 1 사이의 값인 거리반비례지수를 산출하는 단계와, 곱셈기가 상기 음성벡터와 상기 거리반비례지수를 곱한 거리반비례음성벡터를 산출하는 단계와, 원거리보상망이 상기 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지는 모사근거리음성벡터를 산출하는 단계와, 덧셈기가 상기 거리반비례음성벡터 및 상기 모사근거리음성벡터를 더하여 보상음성벡터를 도출하는 단계와, 화자특징층이 상기 도출된 보상음성벡터에 대한 가중치가 적용되는 연산을 통해 화자 식별을 위한 특징을 나타내는 화자특징벡터를 도출하는 단계를 포함한다.
상기 거리반비례지수를 산출하는 단계는 상기 잡음잔향검출망이 상기 입력된 음성벡터의 잡음 또는 잔향의 양이 많을수록 0에 가까운 값을 가지며 상기 입력된 음성벡터의 잡음 또는 잔향의 양이 적을수록 1에 가까운 값을 가지는 거리반비례지수를 산출하는 것을 특징으로 한다.
상기 보상음성벡터는 상기 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 상기 입력된 음성벡터의 값과 동일한 값을 가지는 것을 특징으로 한다.
상기 방법은 상기 거리반비례지수를 산출하는 단계 전, 상기 잡음잔향검출망이 화자 및 발화거리가 알려진 학습용 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0 내지 1 사이의 실수인 거리반비례지수를 도출하는 단계와, 상기 곱셈기가 상기 학습용 음성벡터 및 상기 거리반비례지수를 곱하여 거리반비례음성벡터를 산출하는 단계와, 상기 원거리보상망이 상기 학습용 음성벡터의 발화거리에 따라 근거리음성벡터를 모사하는 모사근거리음성벡터를 산출하는 단계와, 상기 덧셈기가 상기 거리반비례음성벡터 및 상기 모사근거리음성벡터를 더하여 거리보상음성벡터를 도출하는 단계와, 상기 화자특징층이 상기 거리보상음성벡터에 대해 가중치가 적용되는 연산을 수행하여 화자특징벡터를 도출하는 단계와, 화자식별층이 상기 화자특징벡터로부터 상기 학습용 음성벡터의 화자가 기 설정된 화자일 확률을 나타내는 화자인식벡터를 도출하는 단계와, 학습부가 상기 학습용 음성벡터의 화자가 기 설정된 근거리에서 발화한 음성의 특징을 추출한 근거리음성벡터와 상기 보상음성벡터와의 평균 제곱 오차 및 상기 화자를 나타내는 화자 레이블과 상기 화자인식벡터와의 교차엔트로피 오차가 최소가 되도록 상기 잡음잔향검출망, 상기 원거리보상망 및 상기 화자특징층의 가중치를 최적화하는 단계를 더 포함한다.
상기 방법은 상기 거리반비례지수를 산출하는 단계 전, 상기 잡음잔향검출망이 화자 및 발화거리가 알려진 학습용 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0 내지 1 사이의 실수인 거리반비례지수를 산출하는 단계와, 상기 곱셈기가 상기 학습용 음성벡터 및 상기 학습용 음성벡터의 발화거리를 나타내는 발화거리 레이블을 곱하여 거리반비례음성벡터를 산출하는 단계와, 상기 원거리보상망이 상기 학습용 음성벡터의 발화거리에 따라 근거리음성벡터를 모사하는 모사근거리음성벡터를 산출하는 단계와, 상기 덧셈기가 상기 거리반비례음성벡터 및 상기 모사근거리음성벡터를 더하여 거리보상음성벡터를 도출하는 단계와, 상기 화자특징층이 상기 거리보상음성벡터에 대해 가중치가 적용되는 연산을 수행하여 화자특징벡터를 도출하는 단계와, 상기 화자식별층이 상기 화자특징벡터로부터 상기 학습용 음성벡터의 화자가 기 설정된 화자일 확률을 나타내는 화자인식벡터를 도출하는 단계와, 상기 학습부가 상기 학습용 음성벡터의 발화거리를 나타내는 발화거리 레이블과 상기 거리반비례지수와의 이진 교차엔트로피 오차, 상기 학습용 음성벡터의 화자가 기 설정된 근거리에서 발화한 음성의 특징을 추출한 근거리음성벡터와 상기 보상음성벡터와의 평균 제곱 오차 및 상기 화자를 나타내는 화자 레이블과 상기 화자인식벡터와의 교차엔트로피 오차가 최소가 되도록 상기 잡음잔향검출망, 상기 원거리보상망 및 상기 화자특징층의 가중치를 최적화하는 단계를 더 포함한다.
본 발명에 따르면, 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 입력된 음성벡터를 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 음성벡터인 근거리음성벡터에 가까운 값을 가지도록 보상하며, 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 입력된 음성벡터의 값이 유지되도록 함으로써 원거리 발화의 보상에 의한 근거리 발화의 성능 열화가 발생하지 않는 이점이 있다. 더욱이, 본 발명은 심층신경망에 대한 학습 시, 화자 인식을 수행하는 계층을 이용하여 학습을 수행하기 때문에 화자의 특징 분류 성능의 열화 또한 발생하지 않는 이점이 있다.
도 1은 본 발명의 실시예에 따른 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 선택적으로 원거리 발화를 보상하는 심층신경망의 세부 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 심층신경망을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 가중치가 적용되는 연산을 수행하는 노드를 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 심층신경망에 대한 초기 학습 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 심층신경망에 대한 후기 학습 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 심층신경망을 이용한 원거리 발화를 보상하는 화자 특징 강화를 위한 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시예에 따른 컴퓨팅 장치를 나타내는 도면이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
먼저, 본 발명의 실시예에 따른 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치의 구성을 설명하기 위한 도면이다. 또한, 도 2는 본 발명의 실시예에 따른 선택적으로 원거리 발화를 보상하는 심층신경망의 세부 구성을 설명하기 위한 도면이다. 도 3은 본 발명의 실시예에 따른 심층신경망을 설명하기 위한 도면이다. 그리고 도 4는 본 발명의 실시예에 따른 가중치가 적용되는 연산을 수행하는 노드를 설명하기 위한 도면이다.
먼저, 도 1을 참조하면, 본 발명의 실시예에 따른 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치(이하, 특징강화장치로 축약함)는 음성입력부(10), 특징추출부(20) 및 심층신경망(100), 학습부(200), 인식부(300) 및 인증부(400)를 포함한다.
음성입력부(10)는 화자의 음성 신호를 입력받기 위한 것이다. 이를 위하여 음성입력부(10)는 음성 신호를 수집하기 위한 마이크(MIKE)를 포함한다. 입력되는 음성 신호는 아날로그 신호이며, 음성입력부(10)는 아날로그 음성 신호를 디지털 음성 신호로 변환한다. 이를 위하여, 음성입력부(10)는 컨버터(A/D converter)를 더 포함할 수 있다. 즉, 음성입력부(10)는 마이크(MIKE)를 통해 입력된 아날로그 음성 신호를 컨버터(A/D converter)를 통해 디지털 음성 신호로 변환하여 출력한다.
본 발명의 실시예에서 발화거리는 화자가 발화할 때 화자와 음성 신호를 수집하기 위한 마이크(MIKE) 사이의 거리를 의미한다. 또한, 본 발명의 실시예에서 원거리 및 근거리는 아래에서 설명될 심층신경망(100)의 학습 및 동작을 위해 미리 설정된 값이다. 즉, 원거리 및 근거리에 해당하는 거리가 미리 설정된다. 예컨대, 화자가 음성입력부(10)의 마이크(MIKE)로부터 1 m 이격된 경우 근거리로 설정하고, 화자가 음성입력부(10)의 마이크(MIKE)로부터 5 m 이격된 경우 원거리로 설정할 수 있다. 이러한 근거리 및 원거리의 설정은 마이크(MIKE)의 성능, 심층신경망(100)의 학습 및 실제 동작 환경 등을 고려하여 다양하게 설정할 수 있다.
특징추출부(20)는 디지털 신호로 변환된 음성 신호가 입력되면, 입력된 음성 신호로부터 음성 신호의 특징을 추출하기 위한 것이다. 즉, 특징추출부(20)는 음성 신호의 특징을 추출하여 음성벡터를 생성하고, 생성된 음성벡터를 출력한다. 이때, 특징추출부(20)는 먼저, 음성 신호의 프레임(frame) 단위로 복수의 음향 특징(acoustic feature)을 추출하고, 추출된 복수의 음향 특징을 이용하여 고정된 크기의 발화 레벨 특징(utterance-level feature)을 추출할 수 있다. 이와 같이, 추출되는 특징 혹은 특징 추출 방법은 스펙트럼중심(spectral centroid), 스펙트럼 롤오프(spectral rolloff), 부호 변환점(zero-crossing), 스펙트럼 플럭스(spectral flux), 에너지, 캡스트럼(Cepstrum), LPC(Linear Predictive Coding), MFCC(Mel-Frequency Cepstrum Coefficients), PLP(Perceptual Linear Predictive Analysis), GMM(Gaussian mixture model) supervector, JFA(joint factor analysis), i-vector, d-vector, x-vector 등을 예시할 수 있다. 하지만, 본 발명을 이에 한정하는 것은 아니며, 이 기술분야에서 통상의 지식을 가진자라면 전술한 예 이외에도 다양한 방식으로 음성 신호의 특징을 추출하여 사용할 수 있음을 이해할 수 있을 것이다.
심층신경망(100)은 음성벡터가 입력되면, 입력된 음성벡터의 원거리에서 입력된 음성 신호의 특징을 보상하여 보상음성벡터을 도출하고, 도출된 보상음성벡터로부터 화자의 특징을 도출하여 화자특징벡터를 생성한다. 이를 위하여, 심층신경망(100)은 통해 발화거리가 원거리에 근접할수록, 즉, 발화거리가 멀어질수록 잡음 또는 잔향의 양이 많아지는 속성을 이용하여 입력된 음성벡터의 잡음 또는 잔향의 양에 따라 음성벡터의 발화거리를 추정하고, 추정된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 추정된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 입력된 음성벡터의 값과 동일한 값을 가지는 보상음성벡터를 도출한다. 그런 다음, 심층신경망(100)은 보상음성벡터로부터 화자의 특징을 추출하여 화자특징벡터를 생성한다.
도 2를 참고하면, 심층신경망(100)은 입력음성층(110), 잡음잔향검출망(120), 곱셈기(130), 원거리보상망(140), 덧셈기(150), 화자특징층(160) 및 화자식별층(170)을 포함한다.
본 발명의 실시예에서 심층신경망(100)은 복수의 계층(layer) 혹은 복수의 계층을 포함하는 복수의 네트워크(network)가 하나의 네트워크를 구성한다. 심층신경망(100)에서 입력음성층(110), 잡음잔향검출망(120), 원거리보상망(140), 화자특징층(160) 및 화자식별층(170)은 하나의 계층 혹은 복수의 계층으로 이루어진 네트워크로 형성될 수 있다.
도 3에 예시적으로 하나의 네트워크를 도시하였다. 도시된 네트워크는 복수의 계층으로 이루어지며, 이러한 복수의 계층은 입력 계층(IL: Input Layer), 적어도 하나의 은닉 계층(HL: Hidden Layer, HL1 ~ HLk) 및 출력 계층(OL: Output Layer)을 포함한다.
예컨대, 입력음성층(110) 및 원거리보상망(140)의 경우, 일 실시예에 따르면, 입력음성층(110)을 입력 계층(IL)으로 구성하고, 원거리보상망(140)을 은닉 계층(HL)으로 구성할 수 있다. 혹은, 다른 실시예에 따르면, 입력음성층(110)과 별도로 원거리보상망(140)에 입력 계층(IL)과 은닉 계층(HL)을 모두 구현할 수도 있다. 이러한 예시로 설명된 바와 같이, 입력음성층(110), 잡음잔향검출망(120), 원거리보상망(140), 화자특징층(160) 및 화자식별층(170) 각각은 필요에 따라 입력 계층(IL), 은닉 계층(HL) 및 출력 계층(OL) 중 적어도 하나의 기능을 수행하도록 구현될 수 있다.
또한, 본 발명의 실시예에서 입력음성층(110), 화자특징층(160) 및 화자식별층(170)은 하나의 계층이며, 잡음잔향검출망(120) 및 원거리보상망(140)은 복수의 계층으로 이루어진 것으로 설명할 것이지만, 본 발명이 이에 한정되는 것은 아니며, 이 기술분야의 통상의 지식을 가진자라면, 개별 계층 혹은 개별 네트워크의 구성은 필요에 따라 변형할 수 있음을 이해할 수 있을 것이다.
또한, 심층신경망(100)의 복수의 계층 각각은 적어도 하나의 노드를 포함한다. 도 3에 예시된 바와 같이, 입력 계층(IL)은 n개의 노드(i1 ~ in)를 포함하며, 출력 계층(OL)은 t개의 노드(o1 ~ ot)를 포함할 수 있다. 또한, 은닉 계층(HL) 중 제1 은닉계층(HL1)은 a개의 노드(h11 ~ h1a)를 포함하고, 제k 은닉계층(HLk)은 c개의 노드(hk1 ~ hkc)를 포함할 수 있다.
도 4를 참조하면, 하나의 노드는 연산을 수행한다. 특히, 서로 다른 계층의 노드는 가중치(W: weight)를 가지는 채널(점선으로 표시)로 연결된다. 다른 말로, 어느 하나의 노드의 연산 결과는 가중치가 적용되어 다음 계층 노드의 입력이 된다. 이러한 연결 관계에 대해 도 4를 참조하여 설명하기로 한다. 도 4에 예시적으로 심층신경망(200)에 존재하는 어느 하나의 노드인 노드 D를 도시하였다. 노드 D는 입력된 신호 x=[x1, x2, … , xn]에 가중치 w=[w1, w2, … , wn]를 적용한 후, 그 결과에 함수 F를 취한다. 여기서, 함수 F는 활성화 함수(activation function) 또는 전달함수(transfer function)라고 한다. 이러한 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다.
한편, 입력이 동일한 경우에도, 출력은 가중치(W)에 따라 다른 값이 될 수 있다. 즉, 각 노드의 출력은 다음의 수학식 1과 같다.
Figure 112020034932355-pat00001
설명되지 않은 변수
Figure 112020034932355-pat00002
는 임계치 혹은 바이어스이며, 이러한 임계치는 수학식 4에서
Figure 112020034932355-pat00003
의 값이 임계치 보다 작을 때 해당 노드가 활성화되지 않도록 하는 역할을 한다.
예를 들면, 어느 하나의 노드 D의 이전 계층의 노드가 3개라고 가정한다. 이에 따라, 해당 노드에 대해 3개의 입력(n=3) X1, X2, X3과 3개의 가중치 W1, W2, W3이 존재한다.
노드 D는 3개의 입력 X1, X2, X3에 대응하는 가중치 W1, W2, W3을 곱한 값을 입력받고, 모두 합산한 후, 합산된 값을 전달 함수에 대입하여 출력을 산출한다. 구체적으로, 입력 [x1, x2, x3] = 0.5, -0.3, 0이라고 가정하고, 가중치 [W1, W2, W3] = 4, 5, 2라고 가정한다. 또한, 설명의 편의를 위하여 활성화 함수는 'sgn()'이라고 가정하면, 다음과 같이 출력값이 산출된다.
X1 × W1 = 0.5 × 4 = 2
X2 × W2 = - 0.3 × 5 = -1.5
X3 × W3 = 0 × 2 = 0
2 + (-1.5) + 0 = 0.5
sgn(0.5) = 1
이와 같이, 심층신경망(200)의 어느 한 계층의 어느 하나의 노드는 이전 계층의 노드로부터의 입력에 가중치를 적용한 값을 입력받고, 이를 합산하여 활성화 함수를 취하고, 이러한 결과인 출력값을 출력한다. 출력값은 다음 계층의 입력이거나, 최종적인 출력값이 될 수 있다.
다시, 도 2를 참고하여 심층신경망(100)의 개별 구성, 즉, 입력음성층(110), 잡음잔향검출망(120), 곱셈기(130), 원거리보상망(140), 덧셈기(150), 화자특징층(160) 및 화자식별층(170 각각에 대해서 설명하기로 한다.
입력음성층(110)은 특징추출부(20)로부터 음성벡터를 입력받고, 입력받은 음성벡터를 잡음잔향검출망(120), 곱셈기(130) 및 원거리보상망(140) 각각에 입력한다. 즉, 잡음잔향검출망(120), 곱셈기(130) 및 원거리보상망(140) 각각은 입력음성층(110)으로부터 동일한 음성벡터를 입력받는다. 입력음성층(110)은 음성벡터와 동일한 길이의 수의 노드로 형성되는 것이 바람직하다.
잡음잔향검출망(120)은 음성벡터의 잡음 또는 잔향의 양을 통해 발화거리를 추정하고, 추정된 발화거리가 멀수록 원 신호인 음성벡터의 특징을 감소시키기 위한 지수인 거리반비례지수를 도출하기 위한 것이다. 이를 위하여, 잡음잔향검출망(120)은 입력음성층(110)으로부터 음성벡터가 입력되면, 입력된 음성벡터에 대해 하나 이상의 계층의 가중치가 적용되는 하나 이상의 연산을 수행하여 입력된 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0에서 1 사이의 실수인 거리반비례지수를 산출하고, 산출된 거리반비례지수를 출력한다. 발화거리가 멀수록 음성벡터의 잡음 또는 잔향의 양이 많아지며, 발화거리가 가까울수록 음성벡터의 잡음 또는 잔향의 양이 줄어든다. 따라서 잡음잔향검출망(120)은 음성벡터의 잡음 또는 잔향의 양이 많을수록 0에 가까운 실수를 출력하도록 학습되고, 음성벡터의 잡음 또는 잔향의 양이 적을수록 1에 가까운 실수를 출력하도록 학습된다. 잡음잔향검출망(120)의 첫 번째 계층은 음성벡터와 동일한 길이의 수의 노드로 형성되는 것이 바람직하다. 그리고 잡음잔향검출망(120)의 마지막 계층은 하나의 노드로 구성되는 것이 바람직하다. 예컨대, 잡음잔향검출망(120)의 마지막 계층의 하나의 노드는 활성화 함수로 시그모이드(Sigmoid)를 적용할 수 있다. 이에 따라, 잡음잔향검출망(120)은 0 내지 1 사이의 실수인 거리반비례지수를 출력할 수 있다. 결국, 거리반비례지수는 0 내지 1 사이의 실수이면서 발화거리가 멀수록 0에 가까운 실수값을 가지며, 발화거리가 가까울수록 1에 가까운 실수값을 가진다.
곱셈기(130)는 입력음성층(110)으로부터 음성벡터를 입력받고, 잡음잔향검출망(120)으로부터 거리반비례지수를 입력받는다. 그러면, 곱셈기(130)는 음성벡터 및 거리반비례지수를 곱하여 거리반비례음성벡터를 산출하고, 산출된 거리반비례음성벡터를 출력한다. 거리반비례음성벡터는 음성벡터에 발화거리가 멀수록 0에 가까운 값이 곱해지고, 발화거리가 가까울수록 1에 가까운 값이 곱해진 것이다. 즉, 거리반비례음성벡터는 발화거리가 멀수록 원 신호인 음성벡터에 비해 그 특징이 감소하여 0 벡터에 근접한 특징을 가지며, 발화거리가 가까울수록 원 신호인 음성벡터와 동일한 특징을 가진다. 다른 말로, 거리반비례음성벡터는 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 0 벡터에 가까운 값을 가지며, 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 음성벡터와 동일한 값을 가진다.
원거리보상망(140)은 음성벡터에 대해 가중치가 적용되는 연산을 통해 모사근거리음성벡터를 산출한다. 원거리보상망(140)은 음성벡터의 발화거리에 따라 발화거리가 멀수록 근거리에서 입력한 발성에 근접한 특징으로 보상이 이루어지고, 발화거리가 가까울수록 실질적인 보상이 이루어지지 않도록 하는 모사근거리음성벡터를 도출한다. 이를 위하여, 원거리보상망(140)은 입력음성층(110)으로부터 음성벡터가 입력되면, 입력된 음성벡터에 대해 하나 이상의 계층의 가중치가 적용되는 하나 이상의 연산을 수행하여 모사근거리음성벡터를 도출한다. 즉, 원거리보상망(140)은 음성벡터의 발화거리에 비례하여 발화거리가 멀수록 근거리에서 입력한 발성의 특징에 근접하게 모사되고, 발화거리가 가까울수록 근거리에서 입력한 발성의 특징이 감소하여 0 벡터에 근접한 특징을 가지는 모사근거리음성벡터를 도출하여 도출된 모사근거리음성벡터를 출력한다. 모사근거리음성벡터는 발화거리가 멀수록 근거리에서 입력한 발성에 근접한 특징을 가지며, 발화거리가 가까울수록 근거리에서 입력한 발성의 특징이 감소하여 0 벡터에 근접한 특징을 가진다. 다른 말로, 모사근거리음성벡터는 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가진다. 반면, 모사근거리음성벡터는 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 0 벡터에 가까운 값을 가진다. 이러한 원거리보상망(140)의 첫 번째 계층 및 마지막 계층은 입력되는 음성벡터와 동일한 길이의 수의 노드로 형성되는 것이 바람직하다.
덧셈기(150)는 곱셈기(130)로부터 거리반비례음성벡터를 입력받고, 원거리보상망(140)으로부터 모사근거리음성벡터를 입력받는다. 이에 따라, 덧셈기(150)는 거리반비례음성벡터와 모사근거리음성벡터를 더하여 보상음성벡터를 생성하고, 생성된 보상음성벡터를 화자특징층(160)에 제공한다.
전술한 바와 같이, 거리반비례음성벡터는 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 0 벡터에 가까운 값을 가진다. 또한, 모사근거리음성벡터는 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가진다. 따라서 보상음성벡터는 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가진다. 반면, 거리반비례음성벡터는 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 입력된 음성벡터와 동일한 값을 가진다. 그리고 모사근거리음성벡터는 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 0 벡터에 가까운 값을 가진다. 따라서 보상음성벡터는 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 입력된 음성벡터와 동일한 값을 가진다. 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가진다. 이와 같이, 본 발명은 근거리 발화의 특징을 유지하면서 원거리의 발화의 특징을 모사된 근거리 발화의 특징으로 보상할 수 있다.
화자특징층(160)은 덧셈기(150)로부터 보상음성벡터를 입력받고, 보상음성벡터에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 화자의 특징을 가지는 화자특징벡터를 산출한다. 이와 같이, 화자특징벡터는 근거리 발화의 특징이 유지되면서 원거리의 발화의 특징이 근거리 발화 특징으로 보상된 보상음성벡터로부터 화자의 특징을 추출한 것이다. 따라서 본 발명은 원거리 발화의 경우에도 근거리 발화와 마찬가지로 성능 저하 없이 화자 특징을 추출할 수 있다. 추출된 화자 특징인 화자특징벡터는 화자 인증(Speaker Verification)을 위해 사용될 수 있다. 이러한 경우, 화자특징벡터는 인증부(400)에 입력될 수 있다. 한편, 학습 시, 화자특징벡터는 화자 인식(Speaker Recognition)을 위해 사용될 수 있다. 이러한 경우, 화자특징층(160)은 산출된 화자특징벡터를 화자식별층(170)에 입력할 수 있다. 이러한 화자특징층(160)은 음성벡터와 동일한 길이의 수의 노드로 형성되는 것이 바람직하다.
화자식별층(170)은 화자특징층(160)으로부터 화자특징벡터를 입력받고, 이러한 화자특징벡터에 대해 기 설정된 연산, 예컨대, 소프트맥스(softmax) 함수를 이용한 연산을 수행하여 기 정의된 적어도 하나의 화자가 심층신경망(100)에 입력된 음성벡터의 화자일 확률을 출력값으로 출력한다. 이러한 화자식별층(170)은 심층신경망(100) 전체의 출력 계층(OL)이 될 수 있으며, 화자식별층(170)의 노드의 수는 기 정의된 적어도 하나의 화자의 수에 대응한다.
화자식별층(170)의 활성화 함수는 소프트맥스(softmax) 함수를 이용하는 것이 바람직하다. 소프트맥스 함수는 입력받은 값을 출력값을 0 내지 1사이의 값으로 모두 정규화하며 출력값들의 총합은 항상 1이 되는 특성을 가진다. 이러한 소프트맥수 함수는 다음의 수학식 2와 같다.
Figure 112020034932355-pat00004
여기서, t는 출력 계층, 즉, 화자식별층(170)의 출력 노드를 나타낸다.
예컨대, 다시, 도 3을 참조하면, 도 3에서 하나의 계층(k=1)으로 이루어진 은닉 계층(HL)이 화자특징층(160)에 대응하며, 출력 계층(OL)이 화자식별층(170)에 대응한다고 가정한다.
화자특징층(160)의 복수의 노드는 도 4에서 설명된 바와 같은 연산을 수행하여 그 연산 결과인 화자특징벡터를 출력 계층(OL)인 화자식별층(170)으로 전달한다. 그러면, 출력 계층(OL)인 화자식별층(170)의 각 노드들은 화자특징층(160)의 연산 결과인 화자특징벡터에 대해 소프트맥스(softmax) 함수에 의한 연산을 수행하여 화자인식벡터를 산출한다.
도 3에서 출력 계층(OL)의 t개의 노드(o1 내지 ot)는 각각 서로 다른 t명의 화자에 대응한다. 즉, 제1 출력노드 내지 제t 출력노드(o1 내지 ot) 각각은 제1 화자 내지 제t 화자에 대응한다. 예컨대, t=3이라고 가정한다. 그러면, 제1 출력노드(o1)는 제1 화자에 대응하고, 제2 출력노드(o2)는 제2 화자에 대응하고, 제3 출력노드(o3)는 제3 화자에 대응한다. 또한, 제1 출력노드(o1)의 출력값은 음성벡터의 화자가 제1 화자일 확률을 나타내며, 제2 출력노드(o2)의 출력값은 음성벡터의 화자가 제2 화자일 확률을 나타내며, 제3 출력노드(o3)의 출력값은 음성벡터의 화자가 제3 화자일 확률을 나타낸다. 예컨대, 화자인식벡터가 (o1, o2, o3) = [0.1, 0.8, 0.1]이라고 가정하면, 음성벡터의 화자가 제2 화자일 확률이 가장 높기 때문에 음성벡터의 화자가 제2 화자인 것으로 판단할 수 있다.
다시, 도 2를 참조하면, 학습부(200)는 심층신경망(100)이 전술한 바와 같은 화자 인식을 수행하도록 심층신경망(100)을 학습(deep learning)시키기 위한 것이다. 이러한 학습은 심층신경망(100)에 발화거리가 알려지고, 화자가 알려진 학습용 음성벡터를 입력하고, 심층신경망(100)이 입력된 음성벡터에 대해 전술한 바와 같은 복수의 계층의 가중치가 적용되는 복수의 연산 절차를 통해 출력값을 출력하면, 심층신경망(100)의 출력값이 적용된 손실 함수의 손실값이 최소가 되도록 최적화함으로써 심층신경망(100)의 복수의 계층의 복수의 노드의 가중치(w)를 조정하는 절차이다. 이러한 학습부(200)의 구체적인 동작에 대해서는 아래에서 더 상세하게 설명하기로 한다.
인식부(300)는 학습이 완료된 심층신경망(100)의 화자식별층(170)의 출력값인 화자인식벡터에 따라 화자를 인식할 수 있다. 일 실시예에 따르면, 인식부(300)는 화자인식벡터에 따라 가장 높은 확률을 가지며 임계치 이상의 확률을 가지는 출력 노드에 대응하는 화자를 해당 음성벡터의 화자라고 인식할 수 있다. 예컨대, 전술한 바와 같이, 3개의 출력 노드(o1, o2, o3)가 존재하며, 임계값이 80%이며, 화자인식벡터(o1, o2, o3)가 [0.1 0.8 0.1]인 경우, 제2 출력노드가 80%로 각각 10%인 제1 출력노드와 제3 출력노드 보다 높으며, 임계치 이상이기 때문에 인식부(300)는 제2 출력노드에 대응하는 화자가 해당 음성벡터의 화자라고 인식할 수 있다.
인증부(400)는 학습이 완료된 심층신경망(100)의 화자특징층(160)의 출력값인 화자특징벡터에 따라 화자를 인증할 수 있다. 인증부(400)의 학습된 심층신경망(100)을 이용하여 화자 인증을 수행하는 과정은 다음과 같다. 인증부(400)는 인증 대상인 대상 화자로부터 복수의 발성을 수집하여 수집된 복수의 발성들로부터 도출된 음성벡터를 심층신경망(100)에 입력해 구한 화자 특징, 즉, 화자특징벡터의 평균값을 대상 화자의 화자 모델로 미리 등록할 수 있다. 그런 다음, 대상 화자가 인증을 위한 발성을 하는 경우, 해당 발성으로부터 음성벡터를 추출하여 심층신경망(100)에 입력하고, 심층신경망(100)이 입력된 음성벡터에 대해 화자특징층(160)의 출력값인 화자특징벡터를 출력하면, 인증부(400)는 출력된 화자특징벡터와 기 등록된 대상 화자의 화자 모델 간의 유사도를 계산한 뒤, 유사도가 기 설정된 임계값 이상일 경우, 인증을 승인할 수 있다.
다음으로, 본 발명의 실시예에 따른 원거리 발화를 보상하는 심층신경망(100)에 대한 학습 방법에 대해서 설명하기로 한다. 본 발명의 실시예에 따르면, 심층신경망(100)에 대한 학습은 초기 학습과 후기 학습으로 구분할 수 있다. 초기에는 잡음잔향검출망(120)의 출력의 신뢰도가 높지 않기 때문에 잡음잔향검출망(120)의 출력을 인위적으로 학습부(200)가 생성하여 곱셈기(130)에 입력한다. 그런 다음, 잡음잔향검출망(120)의 가중치가 일정 수준 이상 학습된 후에는 잡음잔향검출망(120)의 출력을 그대로 이용하여 학습을 수행한다. 이에 따라, 처음부터 잡음잔향검출망(120)의 출력을 그대로 이용하는 학습 방법에 비해 학습 속도가 향상된다. 그러면, 먼저, 본 발명의 실시예에 따른 심층신경망에 대한 초기 학습 방법에 대해서 설명하기로 한다. 도 5는 본 발명의 실시예에 따른 심층신경망에 대한 초기 학습 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 학습부(200)는 S110 단계에서 레이블이 설정된 학습용 음성벡터를 마련한다. 여기서, 학습용 음성벡터는 화자 및 발화거리가 알려진 음성의 특징이 추출된 음성벡터이다. 학습용 음성벡터의 레이블은 발화거리를 식별하기 위한 레이블인 발화거리 레이블, 화자를 식별하기 위한 레이블인 화자 레이블 및 화자에 따른 근거리음성벡터를 포함한다. 학습을 위한 발화거리는 2개의 거리, 즉, 원거리 및 근거리를 이용한다. 이에 따라, 발화거리 레이블은 원거리의 경우, 0으로 근거리의 경우 1로 설정된다. 발화거리 레이블은 잡음잔향검출망(120)의 출력에 대한 기댓값이다. 여기서, 원거리 및 근거리는 각각에 대응하는 거리가 미리 설정된다. 예컨대, 화자가 음성입력부(10)의 마이크(MIKE)로부터 1 m 이격된 경우 근거리로 설정하고, 화자가 음성입력부(10)의 마이크(MIKE)로부터 5 m 이격된 경우 원거리로 설정할 수 있다. 이러한 근거리 및 원거리의 설정은 마이크(MIKE)의 성능, 실제 동작 환경 등을 고려하여 다양하게 설정할 수 있다. 화자 레이블은 화자인식망(170)의 복수의 노드 중 어느 하나에 대응하여 원핫인코딩(one-hot encoding) 방식으로 설정되는 것이 바람직하다. 화자 레이블은 인식을 위해 기 설정된 화자의 수와 동일한 수의 길이를 가지는 원핫인코딩(one-hot encoding) 방식으로 인코딩된 벡터이다.
예컨대, 인식을 위해 기 설정된 화자는 3명이 존재하는 것으로 가정한다. 즉, 출력 계층(OL)인 화자인식망(170)의 노드가 제1 내지 제3 노드(o1, o2, o3)가 존재한다고 가정한다. 이때, 학습용 음성벡터의 화자가 제2 화자라고 가정하면, 화자 레이블은 원핫인코딩 방식으로 기 설정된 화자의 수와 동일한 길이를 가지는 벡터로 임베딩되어 (o1, o2, o3)=[0 1 0]이 될 수 있다. 화자 레이블은 화자인식망(170)의 출력에 대한 기댓값이다. 근거리음성벡터는 학습용 음성벡터의 알려진 화자가 근거리에서 입력된 음성 신호의 특징을 추출한 음성벡터이다. 이러한 근거리음성벡터는 곱셈기(150)의 출력인 보상음성벡터에 대한 기댓값이다.
다음으로, 학습부(200)는 S120 단계에서 학습용 음성벡터를 입력음성층(110)에 입력한다. 그러면, 입력음성층(110)은 S130 단계에서 학습용 음성벡터를 잡음잔향검출망(120), 곱셈기(130) 및 원거리보상망(140)에 입력한다. 즉, 잡음잔향검출망(120), 곱셈기(130) 및 원거리보상망(140)에 입력되는 학습용 음성벡터는 모두 동일하다.
다음으로, 잡음잔향검출망(120)은 S140 단계에서 학습용 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0에서 1 사이의 실수인 거리반비례지수를 도출하고, 도출된 거리반비례지수를 출력한다. 그러면, 학습부(200)는 S150 단계에서 잡음잔향검출망(120)의 출력인 거리반비례지수를 임시 저장하고, 거리반비례지수가 곱셈기(130)에 입력되지 않도록 블록한 후, 곱셈기(130)에 학습용 음성벡터의 발화거리 레이블인 0 또는 1을 입력한다. 즉, 학습용 음성벡터의 발화거리가 기 설정된 원거리인 경우, 0을 입력하고, 학습용 음성벡터의 발화거리가 기 설정된 근거리인 경우, 1을 입력한다.
이에 따라, 곱셈기(130)는 S160 단계에서 입력음성층(110)으로부터 입력된 학습용 음성벡터 및 학습부(200)로부터 입력된 발화거리 레이블 [0 또는 1]을 곱하여 거리반비례음성벡터를 산출한다. 이에 따라, 학습용 음성벡터와 발화거리 레이블이 곱해져 도출된 거리반비례음성벡터는 학습용 음성벡터의 발화거리가 기 설정된 원거리인 경우, 0 벡터이며, 학습용 음성벡터의 발화거리가 기 설정된 근거리인 경우, 학습용 음성벡터와 동일한 값을 가진다.
한편, 원거리보상망(140)은 S170 단계에서 입력음성층(110)으로부터 학습용 음성벡터가 입력되면, 입력된 학습용 음성벡터의 발화거리에 비례하여 근거리 발화 특징을 모사하여 모사근거리음성벡터를 도출한다. 즉, 원거리보상망(140)은 음성벡터의 발화거리에 비례하여 발화거리가 멀수록 근거리에서 입력한 발성의 특징에 가깝게 모사되고, 발화거리가 가까울수록 근거리에서 입력한 발성의 특징이 감소하여 0 벡터에 근접한 특징을 가지는 모사근거리음성벡터를 도출한다. 다른 말로, 학습용 음성벡터의 발화거리 레이블이 원거리인 경우, 모사근거리음성벡터는 근거리에서 입력한 발성의 특징을 가져야 하며, 학습용 음성벡터의 발화거리 레이블이 근거리인 경우, 모사근거리음성벡터는 0 벡터가 되어야 한다. 도출된 모사근거리음성벡터는 덧셈기(150)에 입력된다.
다음으로, 덧셈기(150)는 S180 단계에서 거리반비례음성벡터 및 모사근거리음성벡터를 더하여 보상음성벡터를 도출한다. 학습용 음성벡터의 발화거리가 기 설정된 원거리인 경우, 거리반비례음성벡터가 0 벡터이기 때문에 보상음성벡터는 모사근거리음성벡터가 된다. 또한, 모사근거리음성벡터는 발화거리가 원거리인 경우, 근거리에서 입력한 발성의 특징을 그대로 모사하기 때문에 보상음성벡터는 근거리에서 입력한 발성의 특징을 가진다. 반면, 학습용 음성벡터의 발화거리가 기 설정된 근거리인 경우, 거리반비례음성벡터는 학습용 음성벡터와 동일한 값을 가지며, 모사근거리음성벡터는 0 벡터가 되어야 하기 때문에 보상음성벡터는 학습용 음성벡터와 동일한 값을 가진다.
다음으로, 화자특징층(160)은 S190 단계에서 복수의 노드를 통해 덧셈기(150)로부터 보상음성벡터를 입력받고, 보상음성벡터에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 화자특징벡터를 산출한다. 산출된 화자특징벡터는 화자식별층(170)에 입력된다.
화자식별층(170)은 S200 단계에서 화자특징층(160)으로부터 화자특징벡터를 입력받고, 이러한 화자특징벡터에 대해 연산, 예컨대, 소프트맥스(softmax) 함수를 이용한 연산을 수행하여 출력값으로 기 정의된 적어도 하나의 화자가 학습용 음성벡터의 화자일 확률을 나타내는 화자인식벡터를 출력한다.
학습부(200)는 S210 단계에서 잡음잔향검출망(120)의 출력인 거리반비례지수와 발화거리 레이블인 0 또는 1과의 이진 교차엔트로피 오차를 산출하고, 화자특징층(160)의 출력인 화자특징벡터와 학습용 음성벡터의 알려진 화자가 근거리에서 입력한 발성에 의해 도출된 음성벡터인 근거리음성벡터와의 평균 제곱 오차를 산출하고, 화자인식망(170)의 출력인 화자인식벡터와 화자 레이블과의 교차엔트로피 오차를 산출한 후, 이진 교차엔트로피 오차, 평균 제곱 오차 및 교차엔트로피 오차가 최소가 되도록 잡음잔향검출망(120), 원거리보상망(140) 및 화자특징층(160)을 포함하는 심층신경망(100)의 가중치를 수정하는 최적화를 수행한다. 전술한 S110 단계 내지 S210 단계의 초기 학습 방법은 복수의 학습용 음성벡터를 이용하여 반복하여 실시하는 것이 바람직하다.
다음으로, 본 발명의 실시예에 따른 심층신경망(100)에 대한 후기 학습 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 심층신경망에 대한 후기 학습 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 학습부(200)는 S310 단계에서 레이블이 설정된 학습용 음성벡터를 마련한다. 이러한 학습용 음성벡터는 S110 단계의 학습용 음성벡터와 동일한 속성을 가진다. 즉, 학습용 음성벡터는 화자 및 발화거리가 알려진 음성의 특징이 추출된 음성벡터이다. 또한, 학습용 음성벡터의 레이블은 발화거리를 식별하기 위한 레이블인 발화거리 레이블, 화자를 식별하기 위한 레이블인 화자 레이블 및 화자에 따른 근거리음성벡터를 포함한다. 이에 따라, 발화거리 레이블은 원거리의 경우, 0으로 근거리의 경우 1로 설정된다. 발화거리 레이블은 잡음잔향검출망(120)의 출력에 대한 기댓값이다. 여기서, 원거리 및 근거리는 각각에 대응하는 거리가 미리 설정된다. 화자 레이블은 화자인식망(170)의 복수의 노드 중 어느 하나에 대응하여 원핫인코딩(one-hot encoding) 방식으로 설정된다. 즉, 각각이 화자에 대응하는 출력 계층(OL)인 화자인식망(170)의 노드의 수와 동일한 길이를 가지며, 출력 노드에 대응하는 값이 1이고 나머지가 0인 벡터값이 될 수 있다. 예컨대, 3명의 화자가 존재하고, 학습용 음성벡터의 화자가 제2 화자라고 가정하면, 화자 레이블은 원핫인코딩 방식으로 설정되어 (o1, o2, o3) = [0 1 0]이 될 수 있다. 화자 레이블은 화자인식망(170)의 출력인 화자인식벡터에 대한 기댓값이다. 근거리음성벡터는 학습용 음성벡터의 알려진 화자가 근거리에서 입력한 발성에 의해 도출된 음성벡터이다. 이러한 근거리음성벡터는 화자특징망(160)의 출력인 화자특징벡터에 대한 기댓값이다.
다음으로, 학습부(200)는 S320 단계에서 학습용 음성벡터를 입력음성층(110)에 입력한다. 그러면, 입력음성층(110)은 S330 단계에서 학습용 음성벡터를 잡음잔향검출망(120), 곱셈기(130) 및 원거리보상망(140)에 입력한다. 즉, 잡음잔향검출망(120), 곱셈기(130) 및 원거리보상망(140)에 입력되는 학습용 음성벡터는 모두 동일하다.
다음으로, 잡음잔향검출망(120)은 S340 단계에서 학습용 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0에서 1 사이의 실수인 거리반비례지수를 도출한다. 거리반비례지수는 학습용 음성벡터의 발화거리가 기 설정된 원거리인 경우, 0이 도출되고, 학습용 음성벡터의 발화거리가 기 설정된 근거리인 경우, 1이 도출되는 것이 바람직하다.
한편, 초기 학습의 경우, 잡음잔향검출망(120)의 출력인 거리반비례지수가 곱셈기(130)에 입력되는 대신 학습부(200)에 의해 학습용 음성벡터의 발화거리 레이블이 입력되었지만, 후기 학습의 경우, 잡음잔향검출망(120)의 출력인 거리반비례지수가 곱셈기(130)에 입력된다. 이에 따라, 곱셈기(130)는 S350 단계에서 입력음성층(110)으로부터 입력된 학습용 음성벡터 및 잡음잔향검출망(120)으로부터 입력된 거리반비례지수를 곱하여 거리반비례음성벡터를 산출한다. 이에 따라, 학습용 음성벡터와 거리반비례지수가 곱해져 도출된 거리반비례음성벡터는 학습용 음성벡터의 발화거리가 기 설정된 원거리인 경우, 0 벡터가 도출되고, 학습용 음성벡터의 발화거리가 기 설정된 근거리인 경우, 학습용 음성벡터와 동일한 값이 도출되는 것이 바람직하다.
한편, 원거리보상망(140)은 S360 단계에서 입력음성층(110)으로부터 학습용 음성벡터가 입력되면, 입력된 학습용 음성벡터의 발화거리에 비례하여 근거리 발화 특징을 모사함으로써 모사근거리음성벡터를 도출한다. 즉, 원거리보상망(140)은 음성벡터의 발화거리에 비례하여 발화거리가 멀수록 근거리에서 입력한 발성의 특징에 근접하게 모사되고, 발화거리가 가까울수록 근거리에서 입력한 발성의 특징이 감소하여 0 벡터에 근접한 특징을 가지는 모사근거리음성벡터를 도출한다. 다른 말로, 학습용 음성벡터의 발화거리 레이블이 원거리인 경우, 모사근거리음성벡터는 근거리에서 입력한 발성의 특징을 가져야 하며, 학습용 음성벡터의 발화거리 레이블이 근거리인 경우, 모사근거리음성벡터는 0 벡터가 되는 것이 바람직하다. 도출된 모사근거리음성벡터는 덧셈기(150)에 입력된다.
다음으로, 덧셈기(150)는 S370 단계에서 거리반비례음성벡터 및 모사근거리음성벡터를 더하여 보상음성벡터를 도출한다. 학습용 음성벡터의 발화거리가 기 설정된 원거리인 경우, 거리반비례음성벡터가 0 벡터이기 때문에 보상음성벡터는 모사근거리음성벡터가 되는 것이 바람직하다. 또한, 모사근거리음성벡터는 발화거리가 원거리인 경우, 근거리에서 입력한 발성의 특징을 가지는 근거리음성벡터를 모사하기 때문에 보상음성벡터는 근거리음성벡터와 동일한 값을 가지는 것이 바람직하다. 한편, 학습용 음성벡터의 발화거리가 기 설정된 근거리인 경우, 거리반비례음성벡터는 학습용 음성벡터와 동일한 값을 가지며, 모사근거리음성벡터는 0 벡터가 되어야 하기 때문에 보상음성벡터는 학습용 음성벡터와 동일한 값을 가지는 것이 바람직하다.
다음으로, 화자특징층(160)은 S380 단계에서 복수의 노드를 통해 덧셈기(150)로부터 보상음성벡터를 입력받고, 보상음성벡터에 대해 가중치가 적용되는 하나 이상의 연산을 수행하여 화자특징벡터를 산출한다. 산출된 화자특징벡터는 화자식별층(170)에 입력된다. 이어서, 화자식별층(170)은 S390 단계에서 화자특징층(160)으로부터 화자특징벡터를 입력받고, 이러한 화자특징벡터에 대해 연산, 예컨대, 소프트맥스(softmax) 함수를 이용한 연산을 수행하여 기 정의된 적어도 하나의 화자가 발화자일 확률, 즉, 학습용 음성벡터의 화자일 확률인 화자인식벡터를 산출하고, 산출된 화자인식벡터를 출력한다.
다음으로, 학습부(200)는 S400 단계에서 화자특징층(160)의 출력인 화자특징벡터와 학습용 음성벡터의 알려진 화자가 근거리에서 입력한 발성에 의해 도출된 음성벡터인 근거리음성벡터와의 평균 제곱 오차를 산출하고, 화자인식망(170)의 출력인 화자인식벡터와 화자 레이블과의 교차엔트로피 오차를 산출한 후, 평균 제곱 오차 및 교차엔트로피 오차가 최소가 되도록 잡음잔향검출망(120), 원거리보상망(140) 및 화자특징층(160)을 포함하는 심층신경망(100)의 가중치를 수정하는 최적화를 수행한다. 이와 같이, 학습부(200)는 후기 학습에서 최적화 시, 잡음잔향검출망(120)의 출력인 거리반비례지수와 발화거리 레이블인 0 또는 1과의 이진 교차엔트로피 오차를 이용하지 않을 수 있다. 전술한 바와 같은 S310 단계 내지 S400 단계의 후기 학습 방법은 복수의 학습용 음성벡터를 이용하여 반복하여 실시하는 것이 바람직하다.
심층신경망(100)의 학습이 완료되면, 심층신경망(100)에서 화자인식망(170)을 제거하여 화자특징층(160)이 산출하는 화자특징벡터를 화자 인증에 사용할 수 있다. 이와 같이, 화자식별층(170)을 이용하여 학습을 수행하는 경우, 단순히 화자특징벡터를 통해 화자의 특징만을 추출하는 것이 아니라, 화자 인식을 수행함으로써 화자특징벡터의 화자 분별력의 감소를 완화시킬 수 있다.
그러면, 본 발명의 실시예에 따른 심층신경망을 이용한 원거리 발화를 보상하는 화자 특징 강화를 위한 방법에 대해서 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 심층신경망을 이용한 원거리 발화를 보상하는 화자 특징 강화를 위한 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 음성입력부(10)가 S410 단계에서 화자의 아날로그 음성 신호를 입력받고 입력된 아날로그 음성 신호를 디지털 음성 신호로 변환하여 출력한다. 특징추출부(20)는 S420 단계에서 디지털 음성 신호의 특징을 추출하여 음성벡터를 생성한다. 이러한 음성벡터는 심층신경망(100)에 입력된다. 이에 따라, 심층신경망(100)의 입력음성층(110)은 S430 단계에서 발화거리가 알려지지 않은 음성벡터를 입력받고, S440 단계에서 음성벡터를 잡음잔향검출망(120), 곱셈기(130) 및 원거리보상망(140)에 입력한다. 즉, 잡음잔향검출망(120), 곱셈기(130) 및 원거리보상망(140)에 입력되는 음성벡터는 모두 동일하다.
다음으로, 잡음잔향검출망(120)은 S450 단계에서 입력음성층(110)으로부터 입력된 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0에서 1 사이의 실수인 거리반비례지수를 도출한다. 거리반비례지수는 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 0에 가까운 값이 도출되고, 음성벡터의 발화거리가 기 설정된 원거리인 경우 0이 도출되고, 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 1에 가까운 값이 도출되고, 음성벡터의 발화거리가 기 설정된 근거리인 경우 1이 도출된다.
다음으로, 곱셈기(130)는 S460 단계에서 입력음성층(110)으로부터 입력된 음성벡터 및 잡음잔향검출망(120)으로부터 입력된 거리반비례지수를 곱하여 거리반비례음성벡터를 산출한다. 이에 따라, 음성벡터와 거리반비례지수가 곱해져 도출된 거리반비례음성벡터는 음성벡터의 발화거리가 멀수록 거리반비례지수가 0에 가까운 값이기 때문에 0 벡터에 가까운 값이 도출되고, 음성벡터의 발화거리가 기 설정된 원거리인 경우, 거리반비례지수가 0이기 때문에 0 벡터가 도출된다. 또한, 거리반비례음성벡터는 음성벡터의 발화거리가 가까울수록 거리반비례지수가 1에 가까운 값이기 때문에 음성벡터에 가까운 값이 도출되며, 음성벡터의 발화거리가 기 설정된 근거리인 경우, 거리반비례지수가 1이기 때문에 음성벡터와 동일한 값이 도출된다.
한편, 원거리보상망(140)은 S470 단계에서 입력음성층(110)으로부터 음성벡터가 입력되면, 입력된 음성벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 모사근거리음성벡터를 도출한다. 이때, 모사근거리음성벡터는 음성벡터의 발화거리가 멀수록 근거리음성벡터에 근접한 값을 가지도록 모사되고, 음성벡터가 기 설정된 원거리인 경우, 근거리음성벡터와 동일한 값을 가지도록 모사된다. 반면, 모사근거리음성벡터는 음성벡터의 발화거리가 가까울수록 근거리음성벡터의 특징이 감소하여 0 벡터에 근접한 값을 가지며, 음성벡터가 기 설정된 근거리인 경우, 0 벡터가 된다. 도출된 모사근거리음성벡터는 덧셈기(150)에 입력된다.
다음으로, 덧셈기(150)는 S480 단계에서 거리반비례음성벡터 및 모사근거리음성벡터를 더하여 보상음성벡터를 도출한다.
전술한 바와 같이, 거리반비례음성벡터는 음성벡터의 발화거리가 멀수록, 즉, 기 설정된 원거리에 근접할수록 0 벡터에 가까운 값을 가지며, 음성벡터의 발화거리가 기 설정된 원거리인 경우, 0 벡터가 된다. 또한, 모사근거리음성벡터는 음성벡터의 발화거리가 멀수록, 즉, 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력한 발성의 특징을 추출한 근거리음성벡터에 가깝게 모사된 값을 가지며, 음성벡터의 발화거리가 기 설정된 원거리인 경우, 근거리에서 입력한 발성의 특징을 추출한 근거리음성벡터와 동일하게 모사된 값을 가진다. 따라서 보상음성벡터는 음성벡터의 발화거리가 멀수록, 즉, 기 설정된 원거리에 근접할수록 모사근거리음성벡터와 동일한 값을 가진다. 즉, 보상음성벡터는 음성벡터의 발화거리가 멀수록, 즉, 기 설정된 원거리에 근접할수록 근거리음성벡터에 가깝게 모사된 값을 가지며, 음성벡터의 발화거리가 기 설정된 원거리인 경우, 근거리에서 입력한 발성의 특징을 추출한 근거리음성벡터와 동일하게 모사된 값을 가진다.
반면, 거리반비례음성벡터는 음성벡터의 발화거리가 가까울수록, 즉, 기 설정된 근거리에 근접할수록 근거리음성벡터에 가까운 값이 유지되며, 음성벡터의 발화거리가 기 설정된 근거리인 경우, 근거리음성벡터와 동일한 값이 유지된다. 또한, 모사근거리음성벡터는 음성벡터의 발화거리가 가까울수록, 즉, 기 설정된 근거리에 근접할수록 0 벡터에 가까운 값이 되며, 음성벡터의 발화거리가 기 설정된 근거리인 경우, 0 벡터가 된다. 따라서 보상음성벡터는 음성벡터의 발화거리가 가까울수록, 즉, 기 설정된 근거리에 근접할수록 근거리음성벡터에 가까운 값을 가진다. 그리고 음성벡터의 발화거리가 기 설정된 근거리인 경우, 근거리음성벡터와 동일한 값을 가진다. 이는 입력된 음성벡터가 근거리음성벡터에 가까운 값을 가질수록 그 값이 유지되는 것을 의미한다. 이와 같이, 본 발명의 실시예에 따른 보상음성벡터는 입력된 음성벡터에 포함된 근거리 발화의 특징은 유지하면서도, 입력된 음성벡터에 포함된 원거리의 발화의 특징을 모사된 근거리 발화 특징으로 보상한 것이다.
덧셈기(150)에 의해 도출된 보상음성벡터는 화자특징층(160)의 복수의 노드에 입력되며, 화자특징층(160)은 S490 단계에서 복수의 노드를 통한 연산을 통해 화자특징벡터를 산출한다. 화자특징벡터는 입력된 음성벡터에 대해 근거리 발화의 특징은 유지하고, 원거리의 발화의 특징을 모사된 근거리 발화 특징으로 보상된 보상음성벡터로부터 화자의 특징을 추출한 것이다. 따라서 본 발명은 원거리 발화의 경우에도 근거리 발화와 마찬가지로 성능 저하 없이 화자 특징을 추출할 수 있다. 추출된 화자 특징인 화자특징벡터는 화자 인증(Speaker Verification)을 위해 사용될 수 있다.
도 8은 본 발명의 실시예에 따른 컴퓨팅 장치를 나타내는 도면이다. 도 8의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, 특징강화장치 등) 일 수 있다.
도 8의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.
메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다.
한편, 앞서 설명된 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
10: 음성입력부
20: 특징추출부
100: 심층신경망
110: 입력음성층
120: 잡음잔향검출망
130: 곱셈기
140: 원거리보상망
150: 덧셈기
160: 화자특징층
170: 화자식별층
200: 학습부
300: 인식부
400: 인증부

Claims (12)

  1. 원거리 발화를 선택적으로 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치에 있어서,
    화자 및 발화거리가 알려지지 않은 음성벡터가 입력되면, 상기 음성벡터의 잡음 또는 잔향의 양에 따라 0 내지 1 사이의 값을 가지는 거리반비례지수를 산출하는 잡음잔향검출망;
    상기 음성벡터 및 상기 거리반비례지수를 곱하여 거리반비례음성벡터를 출력하는 곱셈기;
    상기 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 0 벡터에 가까운 값을 가지는 모사근거리음성벡터를 도출하는 원거리보상망;
    상기 거리반비례음성벡터와 상기 모사근거리음성벡터를 더하여 보상음성벡터를 도출하는 덧셈기; 및
    상기 도출된 보상음성벡터에 대한 가중치가 적용되는 복수의 연산을 통해 상기 화자의 특징을 나타내는 화자특징벡터를 도출하는 화자특징층;
    을 포함하는 것을 특징으로 하는
    화자 특징 강화를 위한 장치.
  2. 제1항에 있어서,
    상기 잡음잔향검출망은
    상기 입력된 음성벡터의 잡음 또는 잔향의 양이 많을수록 0에 가까운 값을 가지며 상기 입력된 음성벡터의 잡음 또는 잔향의 양이 적을수록 1에 가까운 값을 가지는 거리반비례지수를 산출하는 것을 특징으로 하는
    화자 특징 강화를 위한 장치.
  3. 제1항에 있어서,
    상기 보상음성벡터는
    상기 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 상기 입력된 음성벡터와 동일한 값을 가지는 것을 특징으로 하는
    화자 특징 강화를 위한 장치.
  4. 원거리 발화를 선택적으로 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치에 있어서,
    화자 및 발화거리가 알려진 학습용 음성벡터에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 수행하여 상기 학습용 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 상기 입력된 학습용 음성벡터와 동일한 값을 가지는 보상음성벡터를 산출하고, 산출된 보상음성벡터로부터 화자의 특징을 추출한 화자특징벡터를 산출하고, 산출된 화자특징벡터로부터 상기 학습용 음성벡터의 화자가 기 설정된 화자일 확률을 나타내는 화자인식벡터를 도출하는 심층신경망; 및
    상기 학습용 음성벡터의 화자가 기 설정된 근거리에서 발화한 음성의 특징을 추출한 근거리음성벡터와 상기 화자특징벡터와의 평균 제곱 오차 및 상기 화자를 나타내는 화자 레이블과 상기 화자인식벡터와의 교차엔트로피 오차가 최소가 되도록 상기 심층신경망의 가중치를 최적화하는 학습부;
    를 포함하는 것을 특징으로 하는
    화자 특징 강화를 위한 장치.
  5. 제4항에 있어서,
    상기 심층신경망은
    상기 학습용 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0 내지 1 사이의 실수인 거리반비례지수를 산출하는 잡음잔향검출망을 포함하며,
    상기 학습부는
    상기 학습용 음성벡터의 발화거리를 나타내는 발화거리 레이블과 상기 거리반비례지수와의 이진 교차엔트로피 오차, 상기 학습용 음성벡터의 화자가 기 설정된 근거리에서 발화한 음성의 특징을 추출한 근거리음성벡터와 상기 보상음성벡터와의 평균 제곱 오차 및 상기 화자를 나타내는 화자 레이블과 상기 화자인식벡터와의 교차엔트로피 오차가 최소가 되도록 상기 심층신경망의 가중치를 최적화하는 것을 특징으로 하는
    화자 특징 강화를 위한 장치.
  6. 제5항에 있어서,
    상기 발화거리 레이블은
    상기 학습용 음성벡터의 발화거리가 기 설정된 원거리인 경우 0이며,
    상기 학습용 음성벡터의 발화거리가 기 설정된 근거리인 경우 1인 것을 특징으로 하는 화자 특징 강화를 위한 장치.
  7. 제4항에 있어서,
    상기 심층신경망은
    발화거리가 알려지지 않은 음성벡터가 입력되면, 상기 음성벡터의 잡음 또는 잔향의 양에 따라 0 내지 1 사이의 실수인 거리반비례지수를 산출하는 잡음잔향검출망과,
    상기 음성벡터와 상기 거리반비례지수를 곱한 거리반비례음성벡터를 산출하는 곱셈기와,
    상기 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 0 벡터에 가까운 값을 가지는 모사근거리음성벡터를 도출하는 원거리보상망과,
    상기 거리반비례음성벡터 및 상기 모사근거리음성벡터를 더하여 거리보상음성벡터를 도출하는 덧셈기와,
    상기 거리보상음성벡터로부터 화자의 특징을 추출하여 화자특징벡터를 도출하는 화자특징층을 포함하는 것을 특징으로 하는
    화자 특징 강화를 위한 장치.
  8. 원거리 발화를 선택적으로 보상하는 심층 신경망 기반 화자 특징 강화를 위한 방법에 있어서,
    잡음잔향검출망이 발화거리가 알려지지 않은 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0 내지 1 사이의 값인 거리반비례지수를 산출하는 단계;
    곱셈기가 상기 음성벡터와 상기 거리반비례지수를 곱한 거리반비례음성벡터를 산출하는 단계;
    원거리보상망이 상기 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지는 모사근거리음성벡터를 산출하는 단계;
    덧셈기가 상기 거리반비례음성벡터 및 상기 모사근거리음성벡터를 더하여 보상음성벡터를 도출하는 단계; 및
    화자특징층이 상기 도출된 보상음성벡터에 대한 가중치가 적용되는 연산을 통해 화자 식별을 위한 특징을 나타내는 화자특징벡터를 도출하는 단계;
    를 포함하는 것을 특징으로 하는
    화자 특징 강화를 위한 방법.
  9. 제8항에 있어서,
    상기 거리반비례지수를 산출하는 단계는
    상기 잡음잔향검출망이 상기 입력된 음성벡터의 잡음 또는 잔향의 양이 많을수록 0에 가까운 값을 가지며 상기 입력된 음성벡터의 잡음 또는 잔향의 양이 적을수록 1에 가까운 값을 가지는 거리반비례지수를 산출하는 것을 특징으로 하는
    화자 특징 강화를 위한 방법.
  10. 제8항에 있어서,
    상기 보상음성벡터는
    상기 입력된 음성벡터의 발화거리가 기 설정된 원거리에 근접할수록 기 설정된 근거리에서 입력된 음성 신호의 특징을 추출한 근거리음성벡터에 가까운 값을 가지며, 상기 입력된 음성벡터의 발화거리가 기 설정된 근거리에 근접할수록 상기 입력된 음성벡터의 값과 동일한 값을 가지는 것을 특징으로 하는
    화자 특징 강화를 위한 방법.
  11. 제8항에 있어서,
    상기 거리반비례지수를 산출하는 단계 전,
    상기 잡음잔향검출망이 화자 및 발화거리가 알려진 학습용 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0 내지 1 사이의 실수인 거리반비례지수를 도출하는 단계;
    상기 곱셈기가 상기 학습용 음성벡터 및 상기 거리반비례지수를 곱하여 거리반비례음성벡터를 산출하는 단계;
    상기 원거리보상망이 상기 학습용 음성벡터의 발화거리에 따라 근거리음성벡터를 모사하는 모사근거리음성벡터를 산출하는 단계;
    상기 덧셈기가 상기 거리반비례음성벡터 및 상기 모사근거리음성벡터를 더하여 거리보상음성벡터를 도출하는 단계;
    상기 화자특징층이 상기 거리보상음성벡터에 대해 가중치가 적용되는 연산을 수행하여 화자특징벡터를 도출하는 단계; 및
    화자식별층이 상기 화자특징벡터로부터 상기 학습용 음성벡터의 화자가 기 설정된 화자일 확률을 나타내는 화자인식벡터를 도출하는 단계;
    학습부가 상기 학습용 음성벡터의 화자가 기 설정된 근거리에서 발화한 음성의 특징을 추출한 근거리음성벡터와 상기 보상음성벡터와의 평균 제곱 오차 및 상기 화자를 나타내는 화자 레이블과 상기 화자인식벡터와의 교차엔트로피 오차가 최소가 되도록 상기 잡음잔향검출망, 상기 원거리보상망 및 상기 화자특징층의 가중치를 최적화하는 단계;
    를 더 포함하는 것을 특징으로 하는
    화자 특징 강화를 위한 방법.
  12. 제8항에 있어서,
    상기 거리반비례지수를 산출하는 단계 전,
    상기 잡음잔향검출망이 화자 및 발화거리가 알려진 학습용 음성벡터의 잡음 또는 잔향의 양에 반비례하여 0 내지 1 사이의 실수인 거리반비례지수를 산출하는 단계;
    상기 곱셈기가 상기 학습용 음성벡터 및 상기 학습용 음성벡터의 발화거리를 나타내는 발화거리 레이블을 곱하여 거리반비례음성벡터를 산출하는 단계;
    상기 원거리보상망이 상기 학습용 음성벡터의 발화거리에 따라 근거리음성벡터를 모사하는 모사근거리음성벡터를 산출하는 단계;
    상기 덧셈기가 상기 거리반비례음성벡터 및 상기 모사근거리음성벡터를 더하여 거리보상음성벡터를 도출하는 단계;
    상기 화자특징층이 상기 거리보상음성벡터에 대해 가중치가 적용되는 연산을 수행하여 화자특징벡터를 도출하는 단계;
    화자식별층이 상기 화자특징벡터로부터 상기 학습용 음성벡터의 화자가 기 설정된 화자일 확률을 나타내는 화자인식벡터를 도출하는 단계; 및
    학습부가 상기 학습용 음성벡터의 발화거리를 나타내는 발화거리 레이블과 상기 거리반비례지수와의 이진 교차엔트로피 오차, 상기 학습용 음성벡터의 화자가 기 설정된 근거리에서 발화한 음성의 특징을 추출한 근거리음성벡터와 상기 보상음성벡터와의 평균 제곱 오차 및 상기 화자를 나타내는 화자 레이블과 상기 화자인식벡터와의 교차엔트로피 오차가 최소가 되도록 상기 잡음잔향검출망, 상기 원거리보상망 및 상기 화자특징층의 가중치를 최적화하는 단계;
    를 더 포함하는 것을 특징으로 하는
    화자 특징 강화를 위한 방법.
KR1020200040811A 2020-04-03 2020-04-03 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법 KR102340359B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200040811A KR102340359B1 (ko) 2020-04-03 2020-04-03 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200040811A KR102340359B1 (ko) 2020-04-03 2020-04-03 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법

Publications (2)

Publication Number Publication Date
KR20210123554A KR20210123554A (ko) 2021-10-14
KR102340359B1 true KR102340359B1 (ko) 2021-12-15

Family

ID=78151484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200040811A KR102340359B1 (ko) 2020-04-03 2020-04-03 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법

Country Status (1)

Country Link
KR (1) KR102340359B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356795A (ja) 2000-06-13 2001-12-26 Casio Comput Co Ltd 音声認識装置、及び音声認識方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100832556B1 (ko) 2006-09-22 2008-05-26 (주)한국파워보이스 강인한 원거리 음성 인식 시스템을 위한 음성 인식 방법
KR101807948B1 (ko) * 2016-04-18 2017-12-11 한양대학교 산학협력단 잔향 환경에서의 음성인식을 위한 결합 학습된 심화신경망 앙상블 기반의 음향 모델 및 이를 이용한 음성인식 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356795A (ja) 2000-06-13 2001-12-26 Casio Comput Co Ltd 音声認識装置、及び音声認識方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문2(2016.08.31)
진유광 외, '원거리 음성 인식 성능 확보를 위한 음향 신호처리 측면의 고찰', The Magazine of the IEIE, 2016.05.

Also Published As

Publication number Publication date
KR20210123554A (ko) 2021-10-14

Similar Documents

Publication Publication Date Title
US11756534B2 (en) Adaptive audio enhancement for multichannel speech recognition
EP2216775B1 (en) Speaker recognition
KR102167719B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
CN110706692B (zh) 儿童语音识别模型的训练方法及系统
JP2018120212A (ja) 音声認識方法及び装置
KR101807948B1 (ko) 잔향 환경에서의 음성인식을 위한 결합 학습된 심화신경망 앙상블 기반의 음향 모델 및 이를 이용한 음성인식 방법
JP5177561B2 (ja) 認識器重み学習装置および音声認識装置、ならびに、システム
JP6077957B2 (ja) 音声処理装置、音声処理方法、及び音声処理プログラム
US20120130716A1 (en) Speech recognition method for robot
CN111640456B (zh) 叠音检测方法、装置和设备
CN108320732A (zh) 生成目标说话人语音识别计算模型的方法和装置
JP2000099080A (ja) 信頼性尺度の評価を用いる音声認識方法
Marchi et al. Generalised discriminative transform via curriculum learning for speaker recognition
US11972751B2 (en) Method and apparatus for detecting voice end point using acoustic and language modeling information for robust voice
KR20210141115A (ko) 발화 시간 추정 방법 및 장치
CN116090474A (zh) 对话情绪分析方法、装置和计算机可读存储介质
KR102340359B1 (ko) 선택적으로 원거리 발화를 보상하는 심층 신경망 기반 화자 특징 강화를 위한 장치 및 이를 위한 방법
JP4696418B2 (ja) 情報検出装置及び方法
KR20220040050A (ko) 자연어 처리 모델 트레이닝 방법 및 장치와 컴퓨팅 장치
KR102292921B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
KR20080052248A (ko) 고속 음성 인식 방법 및 시스템
KR102203991B1 (ko) 음향특징벡터 임베딩과 음성인식 컨텍스트를 결합 학습한 심화신경망 기반의 음성 끝점 검출 방법 및 장치
JP2021162685A (ja) 発話区間検知装置、音声認識装置、発話区間検知システム、発話区間検知方法及び発話区間検知プログラム
KR101862352B1 (ko) 음성 인식을 위한 전처리 장치, 및 이를 이용한 음성 인식 장치 및 방법
KR100586045B1 (ko) 고유음성 화자적응을 이용한 재귀적 화자적응 음성인식시스템 및 방법

Legal Events

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