KR20200132673A - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR20200132673A
KR20200132673A KR1020200035184A KR20200035184A KR20200132673A KR 20200132673 A KR20200132673 A KR 20200132673A KR 1020200035184 A KR1020200035184 A KR 1020200035184A KR 20200035184 A KR20200035184 A KR 20200035184A KR 20200132673 A KR20200132673 A KR 20200132673A
Authority
KR
South Korea
Prior art keywords
voice data
model
data
input
weight
Prior art date
Application number
KR1020200035184A
Other languages
English (en)
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 US16/872,559 priority Critical patent/US11551671B2/en
Priority to EP20806513.6A priority patent/EP3850623A4/en
Priority to CN202080034588.6A priority patent/CN113795880A/zh
Priority to PCT/KR2020/006231 priority patent/WO2020231151A1/en
Publication of KR20200132673A publication Critical patent/KR20200132673A/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
    • 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/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
    • G10L21/0364Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude for improving intelligibility
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/60Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for measuring the quality of voice signals
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • 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)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephone Function (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

전자 장치 및 이의 제어 방법에 개시된다. 본 개시의 전자 장치는 마이크, 적어도 하나의 인스트럭션(Instruction)을 저장하는 메모리 및 상기 적어도 하나의 인스트럭션을 수행하는 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써, 상기 마이크를 통해 입력된 제1 음성 데이터를 음질을 향상시키도록 학습된 제1 모델에 입력하여 제2 음성 데이터를 획득하고, 상기 제1 음성 데이터 및 상기 제2 음성 데이터를 제2 모델에 입력하여 가중치를 획득하고, 상기 가중치를 이용하여 제3 모델에 입력할 입력 데이터를 결정할 수 있다.

Description

전자 장치 및 이의 제어 방법{ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE ELECTRONIC DEVICE THEREOF}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 음성 데이터 및 음성 데이터에 음질을 향상시킨 알고리즘을 적용한 데이터를 바탕으로 특정 모델에 입력할 데이터를 결정하는 전자 장치 및 이의 제어 방법에 관한 것이다.
기존에 음성의 음질을 향상(enhancement)시키기 위하여 다양한 알고리즘(예를 들어, 음성 신호에 포함된 잡음을 필터링하는 알고리즘, 빔포밍(beamforming) 기반 알고리즘, 신경망(Neural network)을 기반으로 특징을 맵핑(mapping)하는 알고리즘 등)이 개발 및 활용되었다.
일반적인 잡음 환경에서는 입력된 사용자 음성에 음질을 향상시키는 알고리즘을 적용할 경우, 음성의 음질은 실질적으로 향상될 수 있다. 다만, 잡음이 비교적 적거나 거의 없는 클린(clean) 환경에서 입력된 사용자 음성에 음질을 향상시키는 알고리즘을 적용할 경우, 오히려 음성의 음질이 저하되는 경우가 발생할 수 있다.
즉, 기존의 향상 알고리즘은 정해진 목적 함수를 최소 혹은 최대화하도록 입력 데이터를 타겟 데이터에 매핑하나, 매핑된 출력 데이터가 어느 정도로 신뢰할 데이터인지 여부를 측정하지 않는다. 따라서, 특정 상황에서는 향상 알고리즘이 음성의 음질을 오히려 저하시키는 문제점이 발생할 수 있다.
본 개시는 상술한 필요성에 따라 안출된 것으로서, 본 개시는 음성 데이터 및 음성 데이터를 음질을 향상시키는 모델에 입력하여 출력된 데이터를 바탕으로 특정 모델에 입력할 입력 데이터를 결정하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시예에 따른, 전자 장치에 있어서, 마이크, 적어도 하나의 인스트럭션(Instruction)을 저장하는 메모리 및 상기 적어도 하나의 인스트럭션을 수행하는 프로세서를 포함하고, 상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써, 상기 마이크를 통해 입력된 제1 음성 데이터를 음질을 향상시키도록 학습된 제1 모델에 입력하여 제2 음성 데이터를 획득하고, 상기 제1 음성 데이터 및 상기 제2 음성 데이터를 제2 모델에 입력하여 가중치를 획득하고, 상기 가중치를 이용하여 제3 모델에 입력할 입력 데이터를 결정할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 개시의 일 실시예에 따른, 마이크를 포함하는 전자 장치의 제어 방법에 있어서, 마이크를 통해 입력된 제1 음성 데이터를 음질을 향상시키도록 학습된 제1 모델에 입력하여 제2 음성 데이터를 획득하는 단계, 상기 제1 음성 데이터 및 상기 제2 음성 데이터를 제2 모델에 입력하여 가중치를 획득하는 단계 및 상기 가중치를 이용하여 제3 모델에 입력할 입력 데이터를 결정하는 단계를 포함할 수 있다.
상술한 바와 같이 본 개시의 다양한 실시예에 의해, 전자 장치는 음성 데이터 및 음성 데이터에 음질을 향상시키는 알고리즘을 적용한 데이터를 바탕으로 특정 모델에 입력 데이터를 결정함으로써, 사용자는 음성 인식 시스템을 더욱 효율적으로 활용할 수 있다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치의 구성 및 동작을 설명하기 위한 블록도,
도 2a 및 도 2b는 본 개시의 일 실시예에 따른, 전자 장치가 제2 모델을 학습시키는 과정을 설명하기 위한 블록도,
도 3 및 도 4는 본 개시의 일 실시예에 따른, 전자 장치가 획득된 가중치를 통해 입력 데이터를 결정하는 과정을 설명하기 위한 순서도,
도 5는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도,
도 6은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 순서도이다.
도 1에 도시된 전자 장치(100)는 마이크(110)를 통해 입력된 제1 음성 데이터 및 제1 음성 데이터에 음질을 향상시키는 알고리즘을 적용한 제2 음성 데이터를 바탕으로 특정 모델에 입력할 입력 데이터를 결정할 수 있다. 클린(Clean)한 환경에서 마이크(110)를 통해 입력된 제1 음성 데이터에 음질을 향상시키는 알고리즘을 적용할 경우, 오히려 제1 음성 데이터의 음질이 저하되는 경우가 발생할 수 있으므로, 전자 장치(100)는 제1 음성 데이터 및 제2 음성 데이터를 바탕으로 특정 모델에 입력할 음성 데이터를 결정하는 과정을 수행할 수 있다. 전자 장치(100)가 특정 모델에 입력할 음성 데이터를 결정하는 과정은 후술하는 부분에서 구체적으로 설명한다.
이하에서는 첨부한 도면을 참조하여 본 개시의 일 실시예에 대하여, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 구성 및 동작을 설명하기 위한 도면이다. 도 1에 도시된 바와 같이, 전자 장치(100)는 마이크(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 다만, 도 1에 도시된 구성은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어 및 소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
마이크(110)는 사용자로부터 음성을 입력받을 수 있는 구성이다. 즉, 마이크(110)는 사용자로부터 제1 음성 데이터를 입력받을 수 있다. 제1 음성 데이터는 전자 장치(100)의 외부에서 사용자의 발화를 통해 입력된 음성 데이터이므로 주변 환경에 영향을 받을 수 있다. 따라서, 잡음이 많은 환경에서 입력된 제1 음성 데이터는 잡음에 따른 간섭 및 잔향 효과가 포함될 수 있으며, 비교적 잡음이 적은 클린한 환경에서 입력된 제1 음성 데이터는 상대적으로 잡음에 따른 간섭 및 잔향 효과가 적게 포함될 수 있다. 한편, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
마이크(110)는 전자 장치(100) 내부에 구비될 수 있으나, 외부에 구비되어 전자 장치(100)와 전기적으로 연결될 수 있다. 또한, 마이크(110)가 외부에 구비된 경우, 마이크(110)는 유/무선 인터페이스(예를 들어, Wi-Fi, 블루투스)을 통해 생성된 사용자 음성 신호를 프로세서(130)에 전송할 수 있다.
메모리(120)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 인스트럭션(instruction) 또는 데이터를 저장할 수 있다. 인스트럭션은 프로그램 작성 언어에서 프로세서(130)가 직접 실행할 수 있는 하나의 동작 문장(action statement)을 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다. 그리고, 메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
그리고, 메모리(120)는 다양한 기능을 수행할 수 있는 모델을 저장할 수 있다. 예를 들어, 메모리(120)는 제1 모델(10), 제2 모델(20), 입력 데이터 결정 모델(30) 및 제3 모델(40)을 저장할 수 있으며, 각 모델들은 프로세서(130)에 의해 제어될 수 있다.
제1 모델(10)은 마이크(110)를 통해 입력된 제1 음성 데이터에 음질을 향상시키는 알고리즘을 적용하는 모델이다. 따라서, 제1 모델(10)은, 프로세서(130) 제어에 의해, 마이크(110)를 통해 입력된 제1 음성 데이터에 음질을 향상시키는 알고리즘을 적용하여 제2 음성 데이터를 출력할 수 있다. 한편, 제1 모델(10)은 제1 음성 데이터에 잡음을 필터링하는 알고리즘 또는 빔포밍 기반 알고리즘을 적용하는 모델로 구현될 수 있다. 또 다른 예로, 제1 모델(10)은 각종 잡음을 제거하고, 잔향(reverberation)을 조정하는 알고리즘을 실행하는 인공 신경망 모델(Neural Network Model)(예를 들어, GMM(Gaussian Mixture Model) 등)로 구현될 수 있다.
제2 모델(20)은, 프로세서(130) 제어에 의해 제2 음성 데이터 및 제1 음성 데이터가 입력되면, 가중치를 출력하도록 학습된 신경망 모델이다. 가중치(weight)는 입력 데이터가 출력 데이터에 미칠 수 있는 영향도를 조절하는 매개 변수를 의미하며, 제3 모델(40)에 입력될 입력 데이터를 결정할 수 있는 요소이다.
본 개시의 일 실시예로, 제1 음성 데이터 및 제2 음성 데이터가 입력되면, 학습된 제2 모델(20)은 제2 음성 데이터와 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 평균 제곱 오차(Mean Square Error)의 추정 값을 획득할 수 있다. 그리고, 학습된 제2 모델(20)은 획득된 평균 제곱 오차의 추정 값, 제1 음성 데이터 및 제2 음성 데이터를 바탕으로 가중치를 출력할 수 있다. 이 때, 클린 음성 데이터는 잡음 등 외부 효과가 전혀 없는 클린 환경에서 입력된 음성 데이터를 의미할 수 있다.
한편, 제2 음성 데이터와 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 평균 제곱 오차의 추정 값은 제2 음성 데이터의 신뢰도(reliability)와 반비례할 수 있다. 평균 제곱 오차의 추정 값이 크다는 것은 제2 음성 데이터와 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 차이가 크다는 것을 의미할 수 있으므로, 오차 추정값이 높을 수록 제2 음성 데이터의 신뢰도는 낮다는 것을 의미할 수 있다.
그리고, 제2 모델(20)은, 프로세서(130) 제어에 의해, 제1 음성 데이터에 대응되는 클린 음성 데이터와 제2 음성 데이터 간의 평균 제곱 오차 값을 학습 데이터로 이용하여 학습될 수 있다. 제2 모델(20)이 프로세서(130) 제어에 의해 평균 제곱 오차 값을 바탕으로 학습되는 과정은 도 2a를 참조하여 구체적으로 설명하도록 한다.
본 개시의 또 다른 실시예로, 제1 음성 데이터 및 제2 음성 데이터가 입력되면, 제2 모델(20)은 제1 음성 데이터에 대응되는 제1 스코어 및 제2 음성 데이터에 대응되는 제2 스코어간의 차이의 추정 값을 획득할 수 있다. 그리고, 제2 모델(20)은 획득된 제1 스코어 및 제2 스코어간의 차이의 추정값을 바탕으로 가중치를 출력할 수 있다. 예를 들면, 제2 모델(20)은 제1 스코어 및 제2 스코어간의 차이의 추정값에 기정의된 매핑 함수(mapping function)을 적용하여 가중치를 획득할 수 있다.
한편, 제1 음성 데이터에 대응되는 제1 스코어 및 제2 음성 데이터에 대응되는 제2 스코어는 제1 음성 데이터 및 제2 음성 데이터가 각각 제3 모델(40)에 입력되었을 때 출력되는 데이터이다. 즉, 각 음성 데이터에 대응되는 스코어는 제3 모델(40)에 따라 다양하게 구현될 수 있다. 예를 들어, 제3 모델(40)이 ASR 모델인 경우, 스코어는 음성 신뢰도 또는 WER(Word Error Rate)일 수 있다. 그리고, 제3 모델(40)이 웨이크 업 모델인 경우, 스코어는 대화 시스템을 활성화시킬 수 있는 확률일 수 있다.
그리고, 제2 모델(20)은, 프로세서(130) 제어에 의해, 제1 스코어 및 제2 스코어간의 차이의 추정값을 학습 데이터로 이용하여 학습될 수 있다. 제2 모델(20)이 프로세서(130) 제어에 의해 제1 스코어 및 제2 스코어 간의 차이의 추정값을 바탕으로 학습되는 과정은 도 2b를 참조하여 구체적으로 설명하도록 한다.
그리고, 입력 데이터 결정 모델(30)은 제1 음성 데이터, 제2 음성 데이터 및 가중치 중 적어도 하나를 이용하여 입력 데이터를 결정하는 모델이다. 예를 들어, 입력 데이터 결정 모델(30)은 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터를 선형 결합하고, 선형 결합한 값을 입력 데이터로 결정할 수 있다. 또 다른 예로, 입력 데이터 결정 모델(30)은 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터 중 하나를 입력 데이터로 결정할 수 있다.
또 다른 예로, 가중치가 제1 임계치를 초과한 경우, 입력 데이터 결정 모델(30)은 제2 음성 데이터를 상기 입력 데이터로 결정할 수 있다. 그리고, 가중치가 제2 임계치를 초과하고 제1 임계치 이하인 경우, 입력 데이터 결정 모델(30)은 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터를 선형 결합한 값을 입력 데이터로 결정할 수 있다. 그리고, 가중치가 제2 임계치 이하인 경우, 입력 데이터 결정 모델(30)은 제1 음성 데이터를 입력 데이터로 결정할 수 있다. 한편, 제1 임계치 및 제2 임계치는 제3 모델(40)에 입력할 데이터가 제1 음성 데이터 및 제2 음성 데이터 중 어떤 데이터와 유사한 데이터인지 여부를 식별할 수 있는 수치로, 실험에 의해 기설정된 값일 수 있으며, 사용자에 의해 변경될 수 있음은 물론이다.
그리고, 제3 모델(40)은 입력 데이터 결정 모델(30)을 통해 결정된 입력 데이터가 입력될 모델이다. 제3 모델(40)은 웨이크 업 모델(wake-up model) 또는 자동 음성 인식 모델(즉, ASR(Automatic Speech Recognition) 등으로 구현될 수 있다. 다만, 이는 일 실시예에 불과하며, 제3 모델은 전자 장치(100)의 유형, 입력 데이터의 유형, 사용자 명령 등에 따라 다양하게 구현될 수 있다. 한편, 웨이크 업 모델은, 마이크(110)를 통해 입력된 사용자 음성에 웨이크 업 워드가 포함되었다고 식별하면 자연어 처리를 수행할 수 있는 대화 시스템(Dialogue system)을 웨이크 업(wake up) 또는 활성화시키는 모델이다. 그리고, 자동 음성 인식 모델은, 마이크(110)를 통해 입력된 사용자 음성에 대해 음성 인식을 수행하고, 인식된 음성에 대응되는 텍스트를 출력할 수 있는 모델이다.
한편, 제1 모델(10), 제2 모델(20), 입력 데이터 결정 모델(30) 및 제3 모델(40)은 비휘발성 메모리에 저장되어 있다가 대화 시스템이 활성화 되면 프로세서(130) 제어에 의해 휘발성 메모리로 로딩(loading)될 수 있다. 또 다른 실시예로, 마이크(110)를 통해 사용자 음성이 입력되면, 각 모델은 휘발성 메모리로 프로세서(130) 제어에 의해 로딩될 수 있다. 한편, 로딩이란 프로세서(130)가 액세스할 수 있도록 비휘발성 메모리에서 저장된 데이터를 휘발성 메모리(130)에 불러들여 저장하는 동작을 의미한다. 그리고, 대화 시스템이 활성화 된 경우는 대화 시스템이 비휘발성 메모리에 저장되어 있다가 프로세서(130) 제어에 의해 휘발성 메모리로 로딩되는 경우를 포함할 수 있다.
도 1에는 각 모델이 비휘발성 메모리에서 휘발성 메모리로 로딩되어 있으며, 휘발성 메모리는 프로세서(130)의 일 구성 요소로 포함되어 있는 실시예를 도시하고 있다. 다만, 이는 일 실시예에 불과하며 휘발성 메모리는 프로세서(130)와 별개의 구성 요소로 구현될 수 있다. 그리고, 휘발성 메모리는 전력 공급이 중단되더라도 저장된 정보를 유지할 수 있는 메모리를 말한다. 예를 들어, 비휘발성 메모리(120)는 플래시 메모리(Flash Memory), PROM(Programmable Read-Only Memory), MRAM(Magnetoresistive Random-Access Memory) 및 RRAM(Resistive RAM) 중 적어도 하나를 포함할 수 있다. 휘발성 메모리는 저장된 정보를 유지하기 위해서는 지속적인 전력 공급이 필요한 메모리를 말한다. 예를 들어, 휘발성 메모리는 DRAM(Dynamic Random-Access Memory) 및 SRAM(Static RAM) 중 적어도 하나를 포함할 수 있다.
프로세서(130)는 메모리(120)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 특히, 프로세서(130)는 메모리(120)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 마이크(110)를 통해 입력된 제1 음성 데이터를 음질을 향상시키도록 학습된 제1 모델(10)에 입력하여 제2 음성 데이터를 획득할 수 있다. 즉, 프로세서(130)는 제1 모델(10)을 통해 제1 음성 데이터에 음질을 향상시키는 알고리즘을 적용하여 제2 음성 데이터를 획득할 수 있다.
그리고, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터를 기학습된 제2 모델(20)에 입력하여 가중치를 획득할 수 있다.
본 개시의 일 실시예로, 프로세서(130)는 제2 모델(20)을 통해 제2 음성 데이터와 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 평균 제곱 오차의 추정값(예를 들어, 평균 제곱 오차의 추정값)을 획득할 수 있다. 제2 모델(20)을 통해 획득된 제1 음성 데이터에 대응되는 클린 음성 데이터와 제2 음성 데이터의 평균 제곱 오차의 추정값은 하기 수학식 1처럼 표현될 수 있다.
Figure pat00001
수학식 1에서 x는 제1 음성 데이터에 대응되는 클린 음성 데이터, hat{x}는 제2 음성 데이터이며 v는 평균 제곱 오차의 추정값을 의미한다. 그리고, v, x 및 hat{x}는 은 다차원 행렬인 텐서(tensor)의 형태로 구현될 수 있으며 수학식 1은 텐서 중 i번째 요소에 대한 식이다.
그리고, 프로세서(130)는 제1 음성 데이터, 제2 음성 데이터 및 오차의 추정값을 바탕으로 가중치를 획득할 수 있다. 구체적으로, 프로세서(130)는 제2 모델(20)을 통해 제1 음성 데이터, 제2 음성 데이터 및 오차의 추정 값을 바탕으로 가중치를 획득할 수 있다. 한편, 프로세서(130)가 획득한 가중치는 제3 모델(40)에 입력할 것으로 결정된 입력 데이터와 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 차이가 최소가 되도록 하는 가중치 값이며, 해당 가중치를 구하는 식은 하기 수학식 2로 구현될 수 있다. 가중치는 0에서 1 사이의 값일 수 있다.
Figure pat00002
수학식 2의 w는 가중치 값, y는 제1 음성 데이터, hat{x}은 제2 음성 데이터, v는 추정 오차 값이다. 그리고, w,y,hat{x}은 텐서(tensor)의 형태로 구현될 수 있으며 수학식 2는 텐서 중 i번째 요소에 대한 식이다. 한편, 하기 수학식 3을 통해, 수학식 2의 가중치가 제3 모델에 입력할 것으로 결정된 입력 데이터와 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 차이가 최소가 되도록 하는 가중치임을 유도할 수 있다.
Figure pat00003
구체적으로, 수학식 3를 참조할 때,
Figure pat00004
는 제3 모델에 입력할 것으로 결정된 입력 데이터인 z와 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 평균 제곱 오차값이다. 그리고, 입력 데이터 z는 후술할 수학식 8에 도시된 식으로 표현될 수 있다. 도 3에 도시된 바와 같이 입력 데이터 z는 가중치를 바탕으로 제2 음성 데이터와 제1 음성 데이터를 선형 결합한 값일 수 있다. 그리고,
Figure pat00005
, z, x, y, hat{x}는 텐서의 형태로 구현될 수 있으며 수학식 3는 텐서 중 i번째 요소에 대한 식이다.
한편, 제2 음성 데이터와 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 평균 제곱 추정 오차값이 불편 추정(unbiased estimation)인 경우,
Figure pat00006
값은 하기 수학식 4와 같이 표현될 수 있다.
Figure pat00007
한편, 수학식 4는 가중치에 대한 2차식임이므로,
Figure pat00008
가 최소의 값을 가지기 위한 가중치는 하기 수학식 5과 같이 표현될 수 있다.
Figure pat00009
한편, 전자 장치(100)가 제1 모델(10) 및 제2 모델(20)을 학습하는 과정이 아닌 경우, 제1 음성 데이터에 대응되는 클린 음성 데이터를 알 수 없으므로, 전자 장치(100)는 수학식 5에 기재된 식이 아닌 하기 수학식 6에 기재된 식을 활용할 수 있다. 그리고, 하기 수학식 6은 상기 수학식 2와 같이 표현할 수 있다.
Figure pat00010
한편, 위 수학식 6을 도출하기 위해서 하기 수학식 7과 같은 가정을 한 것이다.
Figure pat00011
한편, 본 개시의 또 다른 실시예로, 프로세서(130)는 제2 모델(20)을 통해 제1 스코어 및 제2 스코어간의 차이의 추정 값을 획득할 수 있다. 이 때, 제1 스코어 및 제2 스코어 각각은 제1 음성 데이터 및 제2 음성 데이터 각각을 제3 모델(40)에 입력하였을 때 획득할 수 있는 데이터이다. 그리고, 프로세서(130)는 제1 스코어 및 제2 스코어 간의 차이의 추정 값에 기정의된 매핑 함수를 적용하여 가중치를 획득할 수 있다.
예를 들어, 제3 모델(40)이 ASR 모델로 구현되고, 음성 데이터에 대응되는 스코어가 단어 에러율(또는, WER(Word Error Rate))일 수 있다. 프로세서(130)는 제2 모델(20)에 제1 음성 데이터 및 제2 음성 데이터를 입력하여 제1 단어 에러율과 제2 단어 에러율 간의 차이의 추정값을 획득할 수 있다. 이 때, 제1 및 제2 단어 에러율은 제1 및 제2 음성 데이터 각각을 ASR 모델에 입력하였을 때 출력되는 단어 에러율 일 수 있다. 그리고, 프로세서(130)는 제2 모델(20)을 통해 제1 단어 에러율과 제2 단어 에러율간의 차이의 추정값에 매핑 함수를 적용하여 가중치를 획득할 수 있다.
그리고, 프로세서(130)는, 입력 데이터 결정 모델(30)를 통해, 획득된 가중치를 이용하여 제3 모델(40)에 입력할 입력 데이터를 결정할 수 있다. 일 실시예로, 프로세서(130)는, 입력 데이터 결정 모델(30)을 통해, 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터를 선형 결합하고, 선형 결합된 데이터을 입력 데이터로 결정할 수 있다. 프로세서(130)가 획득한 선형 결합된 값은 하기 수학식 8와 같이 표현될 수 있다. 하기 수학식 8에서 Z는 선형 결합된 값이고, W는 가중치, y는 제1 음성 데이터, hat{x}는 제2 음성 데이터를 의미한다. 즉, 프로세서(130)는 선형 보간법(linear interpolation)을 활용하여 제3 모델에 입력할 최적의 입력 데이터를 획득할 수 있다.
Figure pat00012
한편, 수학식 2 및 수학식 8을 통해, 전자 장치(100)는 제3 모델에 입력할 입력 데이터가 제1 음성 데이터 및 제2 음성 데이터 중 어떤 데이터와 더 유사한 데이터인지 여부를 파악할 수 있다. 예를 들어, 오차의 추정값(v)이 커지면, 가중치 값은 0에 가까워지므로 입력 데이터 값은 제1 음성 데이터와 더욱 유사한 데이터일 수 있다. 즉, 추정된 오차 값이 커짐으로써 제2 음성 데이터의 신뢰도가 떨어지면, 전자 장치(100)는 제1 음성 데이터와 유사한 데이터를 입력 데이터로 결정할 수 있다. 한편, 추정된 오차 값이 작아지면, 가중치 값은 1에 가까워지므로 입력 데이터 값은 제2 음성 데이터와 더욱 유사한 데이터일 수 있다. 즉, 전자 장치(100)는 추정된 오차 값이 작아짐으로써 제2 음성 데이터의 신뢰도가 커지면서 제2 음성 데이터와 유사한 데이터를 입력 데이터로 결정할 수 있다.
또 다른 예로, 프로세서(130)는, 입력 데이터 결정 모델(30)을 이용하여, 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터 중 하나를 입력 데이터로 결정할 수 있다. 예를 들면, 가중치가 임계치를 초과한 경우, 프로세서(130)는 제2 음성 데이터를 입력 데이터로 결정할 수 있다. 또 다른 예로, 가중치가 임계치 이하인 경우, 프로세서(130)는 제1 음성 데이터를 입력 데이터로 결정할 수 있다.
또 다른 예로, 가중치가 제1 임계치를 초과한 경우, 프로세서(130)는, 입력 데이터 결정 모델(30)을 이용하여, 제2 음성 데이터를 입력 데이터로 결정하고, 가중치가 제2 임계치 이하인 경우, 프로세서(130)는 제1 음성 데이터를 상기 입력 데이터로 결정할 수 있다. 그리고, 가중치가 제2 임계치를 초과하고 제1 임계치 이하인 경우, 프로세서(130)는 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터를 선형 결합하고, 선형 결합된 값을 입력 데이터로 결정할 수 있다.
그리고, 프로세서(130)는 결정된 입력 데이터를 제3 모델(40)에 입력하여 특정 기능을 수행할 수 있는 결과를 획득할 수 있다. 예를 들어, 제3 모델이 사용자 음성 중 대화 시스템을 웨이크 업 시킬 수 있는 트리거 음성을 인식하는 웨이크 업 모델이고, 제1 음성 데이터가 트리거 음성에 대응되는 데이터인 경우, 프로세서(130)는 결정된 입력 데이터를 웨이크 업 모델에 입력하여 대화 시스템을 웨이크 업하는 신호를 획득할 수 있다. 또 다른 예로, 제3 모델이 ASR 모델인 경우, 프로세서(130)는 결정된 입력 데이터를 ASR 모델에 입력하여 사용자로부터 입력된 음성을 인식할 수 있다.
한편, 프로세서(130)는 학습 데이터를 이용하여 제2 모델(20)을 학습시킬 수 있다. 학습 데이터는 제1 음성 데이터에 대응되는 클린 음성 데이터와 제2 음성 데이터 간의 평균 제곱 오차의 추정값일 수 있다. 또 다른 예로, 학습 데이터는 제1 스코어와 제2 스코어간의 차이의 추정 값일 수 있다. 프로세서(130)가 학습 데이터를 이용하여 제2 모델(20)을 학습시키는 과정은 도 2a 및 도 2b를 참조하여 구체적으로 설명하도록 한다.
한편, 본 개시를 설명함에 있어, 프로세서(130)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서(130)는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(graphics-processing Unit), VPU (Visual Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서일 수 있다.
그리고, 본 개시에 따른 인공지능과 관련된 기능은 메모리(120) 및 프로세서(130)를 통해 동작된다. 하나 또는 복수의 프로세서(130)는, 메모리(120)에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
도 2a 및 도 2b는 본 개시의 일 실시예에 따른, 전자 장치(100)의 프로세서(130)가 제2 모델(20)을 학습시키는 과정을 설명하기 위한 블록도이다. 한편, 도 2a 및 도 2b는 각 모델 및 데이터가 휘발성 메모리에 로딩된 경우를 도시한 도면이다. 그리고, 도 2a 및 도 2b의 경우, 휘발성 메모리가 프로세서(130)의 일 구성 요소로 포함된 경우를 도시하였으나 이는 일 실시예에 불과하며 휘발성 메모리는 프로세서(130)와 별개의 구성 요소일 수 있다.
본 개시의 일 실시예로, 도 2a에 도시된 바와 같이, 프로세서(130)는 제1 음성 데이터에 대응되는 클린 음성 데이터(50)와 제2 음성 데이터간의 평균 제곱 오차의 추정값을 바탕으로 제2 모델(20)을 학습시킬 수 있다. 구체적으로, 프로세서(130)는 클린 음성 데이터(50)를 simulation tool(60)에 입력하여 제1 음성 데이터를 획득할 수 있다. 이 때, 클린 음성 데이터(50)는 제2 모델(20)을 학습시키기 위한 기저장된 데이터일 수 있으며, 잡음 등 외부 효과가 전혀 없는 음성 데이터일 수 있다. 그리고, simulation tool(60)은 클린 음성 데이터(50)에 잡음 등과 같은 외부 효과를 부가하여 제2 모델(20)을 학습하기 위한 제1 음성 데이터를 출력하는 모델이다. 따라서, simulation tool(60)이 출력한 제1 음성 데이터는 마이크(110)를 통해 입력된 제1 음성 데이터와 유사할 수 있다.
그리고, 프로세서(130)는 제2 모델(20)에 제1 음성 데이터에 대응되는 클린 음성 데이터와 제2 음성 데이터간의 평균 제곱 오차 값을 획득할 수 있다. 예를 들어, 제2 모델(20)은 수학식 1을 이용하여 평균 제곱 오차 값을 획득할 수 있다. 이 ‹š, 수학식 1의 v는 제1 음성 데이터에 대응되는 클린 음성 데이터와 제2 음성 데이터간의 평균 제곱 오차값일 수 있다.
그리고, 프로세서(130)는 제2 모델(20)에 제1 음성 데이터 및 제2 음성 데이터를 입력하여 제1 음성 데이터에 대응되는 클린 음성 데이터와 제2 음성 데이터 간의 평균 제곱 오차의 추정 값을 획득할 수 있다. 그리고, 프로세서(130)는 기획득한 평균 제곱 오차 값 및 제1 음성 데이터와 제2 음성 데이터 간의 평균 제곱 오차의 추정값간의 차이를 획득할 수 있다. 그리고, 프로세서(130)는 획득된 평균 제곱 오차 값 및 제1 음성 데이터와 제2 음성 데이터 간의 평균 제곱 오차의 추정값간의 차이가 최소화될 수 있는 최적의 추정값을 출력할 수 있도록 제2 모델(20)을 학습시킬 수 있다.
그리고, 프로세서(130) 제어에 의해 제1 음성 데이터 및 제2 음성 데이터가 입력되면, 기학습된 제2 모델(20)은 최적화된 제1 음성 데이터에 대응되는 클린 음성 데이터와 제2 음성 데이터의 평균 제곱 오차 추정값을 획득할 수 있다.
본 개시의 또 다른 실시예로, 도 2b에 도시된 바와 같이, 프로세서(130)는 제1 스코어와 제2 스코어 간의 차이를 바탕으로 제2 모델(20)을 학습시킬 수 있다. 한편, 프로세서(130)가 simulation tool(60)을 통해 클린 음성 데이터를 이용하여 제1 음성 데이터를 획득하는 과정은 도 2a를 참조하여 설명하였으므로 중복되는 설명은 생략하도록 한다. 구체적으로, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터 각각을 제3 모델(50)에 개별적으로 입력하여 제1 음성 데이터 및 제2 음성 데이터 각각에 대응되는 제1 스코어 및 제2 스코어을 획득할 수 있다. 그리고, 프로세서(130)는 제1 스코어 및 제2 스코어간의 차이를 획득할 수 있다.
그리고, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터를 제2 모델(20)에 입력하여 제1 스코어 및 제2 스코어 간의 차이의 추정값을 획득할 수 있다. 그리고, 프로세서(130)는 1)기획득된 제1 스코어와 제2 스코어 간의 차이 및 2)제1 스코어 및 제2 스코어 간의 차이의 추정값간의 차이가 최소화될 수 있는 최적의 추정 값을 출력할 수 있도록 제2 모델(20)을 학습시킬 수 있다. 따라서, 프로세서(130)의 제어에 의해, 제1 음성 데이터 및 제2 음성 데이터가 입력되면, 학습된 제2 모델(20)은 최적화된 제1 스코어 및 제2 스코어 간의 차이의 추정값을 획득할 수 있다.
예를 들면, 제3 모델(40)이 ASR 모델로 구현된 경우, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터 각각을 ASR 모델에 입력하여 제1 음성 데이터에 대한 제1 음성 신뢰도 값 및 제2 음성 데이터에 대한 제2 음성 신뢰도 값을 획득할 수 있다. 이 때, 음성 신뢰도 값은 입력된 음성 데이터가 얼마나 정확하게 인식되어 텍스트로 변환되었는지를 나타내는 수치이다. 그리고, 프로세서(130)는 제2 음성 신뢰도 값과 제1 음성 신뢰도 값간의 차이를 획득할 수 있다.
그리고, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터를 제2 모델(20)에 입력하여 제1 음성 신뢰도 값 및 제2 음성 신뢰도 값 간의 차이의 추정 값을 획득할 수 있다. 그리고, 프로세서(130)는 1)기획득한 제1 음성 신뢰도 값 및 제2 음성 신뢰도 값 간의 차이와 2)제1 음성 신뢰도 값 및 제2 음성 신뢰도 값간의 차이의 추정 값간의 차이가 최소화 될 수 있는 최적의 추정 값을 출력하도록 제2 모델(20)을 학습시킬 수 있다. 따라서, 프로세서(130)에 의해 제1 음성 데이터 및 제2 음성 데이터가 입력되면, 학습된 제2 모델(20)은 최적화된 제1 음성 신뢰도 값 및 제2 음성 신뢰도 값의 차이의 추정 값을 획득할 수 있다. 그리고, 제2 모델(20)은 제1 음성 신뢰도 값 및 제2 음성 신뢰도 값 간의 차이의 최적의 추정 값을 바탕으로 가중치를 출력할 수 있다. 이 때, 가중치는 추정 값에 기정의된 매핑 함수를 적용한 값일 수 있다.
한편, 제2 음성 신뢰도 값 및 제1 음성 신뢰도 값의 차이의 추정 값이 음수인 경우는 제1 음성 신뢰도 값이 높다는 것을 의미하며, 제2 음성 신뢰도 값 및 제1 음성 신뢰도 값의 차이의 추정 값이 양수인 경우는 제2 음성 신뢰도 값이 높다는 것을 의미한다. 따라서, 제2 모델(20)을 통해 음수인 추정값이 출력되고 출력된 추정 값을 바탕으로 가중치가 출력되면, 입력 데이터 결정 모델(30)은 제1 음성 데이터를 제3 모델(40)에 입력할 데이터로 결정할 수 있다. 그리고, 제2 모델(20)을 통해 양수인 추정값이 출력되고 출력된 추정 값을 바탕으로 가중치가 출력되면, 입력 데이터 결정 모델(30)는 제2 음성 데이터를 제3 모델(40)에 입력할 데이터로 결정할 수 있다.
또 다른 예로, 제3 모델(40)이 ASR 모델로 구현된 경우, 제2 모델(20)은, 프로세서(130)의 제어에 의해, 제1 음성 데이터의 제1 단에 에러율(즉, WER(Word Error Rate)) 및 제2 음성 데이터의 제2 단어 에러율을 바탕으로 학습될 수 있다. 단어 에러율은 ASR 모델이 입력된 음성에 대해 정확히 인식하지 못하는 정도를 수치화한 값이다. 즉, 단어 에러율은 실제 입력된 음성과 ASR 모델이 인식한 결과를 비교하였을 때 단어 에러가 발생한 정도를 수치화한 값이다.
구체적으로, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터 각각을 ASR 모델에 입력하여 제1 음성 데이터에 대한 제1 단어 에러율 및 제2 음성 데이터에 대한 제2 단어 에러율을 획득할 수 있다. 그리고, 프로세서(130)는 제1 단어 에러율과 제2 단어 에러율의 차이 값을 획득할 수 있다. 그리고, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터를 제2 모델(20)에 입력하여 제1 단어 에러율 및 제2 단어 에러율간의 차이의 추정 값을 획득할 수 있다. 그리고, 프로세서(130)는 1)기획득된 제1 단어 에러율 및 제2 단어 에러율간의 차이 값과 2)제1 단어 에러율 및 제2 단어 에러율간의 차이의 추정 값의 차이가 최소화될 수 있는 최적의 추정값을 출력하도록 제2 모델(20)을 학습시킬 수 있다. 따라서, 프로세서(130)에 의해 제1 음성 데이터 및 제2 음성 데이터가 입력되면, 학습된 제2 모델(20)은 제1 단어 에러율 값 및 제2 단어 에러율 값의 차이의 최적화된 추정 값을 획득할 수 있다. 그리고, 프로세서(130)는 획득된 차이의 최적화된 추정 값을 바탕으로 최적의 가중치를 출력할 수 있다.
한편, 제1 단어 에러율 및 제2 단어 에러율 값의 차이의 추정 값이 음수인 경우 제2 단어 에러율이 높다는 것을 의미하며, 제1 단어 에러율 값 및 제2 단어 에러율의 차이의 추정 값이 양수인 경우, 제1 단어 에러율이 높다는 것을 의미한다. 따라서, 제2 모델(20)을 통해 음수인 추정값이 출력되고, 추정값을 바탕으로 가중치가 출력되면, 입력 데이터 결정 모델(30)은 제1 음성 데이터를 제3 모델(40)에 입력할 데이터로 결정할 수 있다. 그리고, 제2 모델(20)을 통해 양수인 추정 값이 출력되고 출력된 추정 값을 바탕으로 가중차기 출력되면, 입력 데이터 결정 모델(30)은 제2 음성 데이터를 제3 모델(40)에 입력할 데이터로 결정할 수 있다.
또 다른 예로, 제3 모델(40)이 웨이크 업 모델로 구현된 경우, 웨이크 업 워드(wake-up word)가 포함된 제1 음성 데이터을 웨이크 업 모델에 입력할 때, 프로세서(130)는 웨이크 업 모델을 통해 대화 시스템이 활성화될 제1 확률 값을 획득할 수 있다. 그리고, 웨이크 업 워드가 포함된 제2 음성 데이터를 웨이크 업 모델에 입력할 때, 프로세서(130)는 웨이크 업 모델을 통해 대화 시스템이 활성화될 제2 확률 값을 획득할 수 있다. 웨이크 업 워드는 메모리(120)에 저장된 사용자 음성에 대한 응답을 제공할 수 있는 인공지능 모델인 대화 시스템(Dialogue System)을 활성화시킬 수 있는 워드이며, 트리거(trigger word) 또는 호출어라고 표현될 수 있다. 그리고, 제1 및 제2 확률 값은 웨이크 업 모델이 웨이크 업 워드가 포함된 제1 및 제2 음성 데이터를 인식하여 대화 시스템을 활성화시킬 수 있는 신호를 출력할 확률에 대한 수치 값이다.
프로세서(130)는 웨이크 업 워드가 각각 포함된 제1 음성 데이터 및 제2 음성 데이터를 웨이크 업 모델에 입력하여 제1 확률 값 및 제2 확률 값을 획득할 수 있다. 그리고, 프로세서(130)는 제1 확률 값과 제2 확률 값간의 차이를 획득할 수 있다. 그리고, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터를 제2 모델(20)에 입력하여 제1 확률 값과 제2 확률 값간의 차이의 추정 값을 획득할 수 있다. 그리고, 프로세서(130)는 1)기획득된 제1 확률 값 및 제2 확률값간의 차이 및 2)제1 확률 값 및 제2 확률 값간의 차이의 추정 값간의 차이가 최소화될 수 있는 최적의 추정값을 출력할 수 있도록 제2 모델(20)을 학습시킬 수 있다. 따라서, 프로세서(130)는 제1 음성 데이터 및 제2 음성 데이터를 학습된 제2 모델(20)에 입력하여 최적의 제1 확률 값 및 제2 확률 값 간의 차이의 추정 값을 획득할 수 있다.
한편, 제1 확률 값 및 제2 확률 값의 차이의 추정 값이 음수인 경우 제2 확률값이 높다는 것을 의미하며, 제1 확률 값 및 제2 확률 값의 차이의 추정 값이 양수인 경우, 제1 확률 값이 높다는 것을 의미한다. 따라서, 제2 모델(20)을 통해 음수의 추정값이 출력되고 추정값을 바탕으로 가중치가 출력되면, 입력 데이터 결정 모델(30)은 제1 음성 데이터를 제3 모델(40)에 입력할 데이터로 결정할 수 있다. 그리고, 제2 모델(20)을 통해 양수의 추정값이 출력되고 추정값을 바탕으로 가중치가 출력되면, 입력 데이터 결정 모델(30)은 제2 음성 데이터를 제3 모델(40)에 입력할 데이터로 결정할 수 있다.
또 다른 예로, 제3 모델(40)이 웨이크 업 모델로 구현된 경우, 웨이크 업 워드(wake-up word)가 포함되지 않은 제1 음성 데이터를 웨이크 업 모델에 입력할 때, 프로세서(130)는 웨이크 업 모델을 통해 대화 시스템이 활성화될 제3 확률 값을 획득할 수 있다. 그리고, 웨이크 업 워드가 포함되지 않은 제2 음성 데이터를 웨이크 업 모델에 입력할 때, 프로세서(130)는 웨이크 업 모델을 통해 대화 시스템이 활성화될 제4 확률 값을 획득할 수 있다. 이 때, 제1 음성 데이터 및 제2 음성 데이터에는 웨이크 업 워드가 포함되어 있지 않으므로, 제3 확률 값 또는 제4 확률 값이 높다는 것은 제1 음성 데이터 또는 제2 음성 데이터가 음성 인식이 정확히 이루어지지 않았음을 의미할 수 있다.
프로세서(130)는 제3 확률 값과 제4 확률 값 간의 차이를 획득할 수 있다. 그리고, 프로세서(130)는 웨이크 업 워드가 포함되지 않는 제1 음성 데이터 및 제2 음성 데이터를 제2 모델(20)에 입력하여 제3 확률 값과 제4 확률 값 간의 차이의 추정 값을 획득할 수 있다. 그리고, 프로세서(130)는 1)기획득된 제3 확률 값과 제4 확률 값간의 차이 및 2)제3 확률 값과 제4 확률 값간의 차이의 추정값의 차이가 최소화될 수 있는 최적의 추정 값을 출력하도록 제2 모델(20)을 학습시킬 수 있다. 따라서, 프로세서(130)에 의해 제1 음성 데이터 및 제2 음성 데이터가 입력되면, 학습된 제2 모델(20)은 최적의 제3 확률 값과 제4 확률 값의 차이의 추정 값을 출력할 수 있다.
한편, 제3 확률 값 및 제4 확률 값의 차이의 추정 값이 음수인 경우 제4 확률 값이 높다는 것을 의미하며, 제1 음성 데이터가 제2 음성 데이터에 비해 음성 인식이 정확히 이루어졌음을 의미할 수 있다. 그리고, 제3 확률 값 및 제4 확률 값의 차이의 추정 값이 양수인 경우, 제3 확률 값이 높다는 것을 의미하며 제2 음성 데이터가 제1 음성 데이터에 비해 음성 인식이 정확히 이루어졌음을 의미할 수 있다. 따라서, 제2 모델(20)을 통해 음수인 추정 값을 출력하고 출력된 추정값을 바탕으로 가중치가 출력되면, 입력 데이터 결정 모델(30)은 제1 음성 데이터를 제3 모델(40)에 입력할 데이터로 결정할 수 있다. 그리고, 제2 모델(20)을 통해 양수인 추정 값을 출력하고 출력된 추정값을 바탕으로 가중치가 출력되면, 입력 데이터 결정 모델(30)은 제2 음성 데이터를 제3 모델(40)에 입력할 데이터로 결정할 수 있다.
즉, 제3 모델(40)이 ASR 모델 또는 웨이크 업 모델로 구현된 경우, 프로세서(130)는 제3 모델(40)에 제1 음성 데이터 및 제2 음성 데이터를 입력하여 획득된 결과를 바탕으로 제2 모델(20)을 학습시킬 수 있다.
도 3 및 도 4는 본 개시의 일 실시예에 따른, 전자 장치(100)가 획득된 가중치를 통해 입력 데이터를 결정하는 과정을 설명하기 위한 순서도이다.
구체적으로, 도 3은 본 개시의 일 실시예에 따른, 전자 장치(100)가 가중치와 임계치를 비교하여 제3 모델에 입력할 데이터를 결정하는 실시예를 설명하기 위한 도면이다. 우선, 전자 장치(100)는 제1 음성 데이터, 제2 음성 데이터 및 오차 추정 값을 바탕으로 가중치를 획득할 수 있다(S310). 한편, 제1 음성 데이터에 대응되는 클린 음성 데이터와 입력 데이터간의 평균 제곱 오차를 최소가 되도록 하는 가중치를 획득하는 과정은 도 1을 참조하여 구체적으로 설명하였으므로, 중복되는 설명은 생략하도록 한다.
그리고, 전자 장치(100)는 가중치가 임계치를 초과하는지 여부를 식별할 수 있다(S320). 한편, 임계치는 기설정된 값 또는 실험에 의해 도출된 값일 수 있으나 이는 일 실시예에 불과하며, 사용자 명령에 의해 변경될 수도 있다.
가중치가 임계치를 초과한다고 식별되면, 전자 장치(100)는 제2 음성 데이터를 입력 데이터로 결정할 수 있다(S320-Y). 구체적으로, 가중치가 임계치를 초과한다는 것은 오차 추정 값이 작다는 것을 의미하므로, 제2 음성 데이터의 신뢰도 값이 크다는 것을 의미할 수 있다. 따라서, 가중치가 임계치를 초과할 경우, 전자 장치(100)는 제2 음성 데이터를 제3 모델에 입력할 입력 데이터로 결정할 수 있다.
한편, 가중치가 임계치 이하라고 식별되면, 전자 장치(100)는 제1 음성 데이터를 입력 데이터로 결정할 수 있다(S320-N). 구체적으로, 가중치가 임계치 이하라는 것은 오차 추정 값이 크다는 것을 의미하므로, 제1 음성 데이터의 신뢰도 값이 작다는 것을 의미할 수 있다. 따라서, 가중치가 임계치 이하인 경우, 전자 장치(100)는 제1 음성 데이터를 제3 모델에 입력할 입력 데이터로 결정할 수 있다.
도 4는 본 개시의 일 실시예에 따른, 전자 장치(100)가 가중치와 제1 및 제2 임계치를 비교하여 제3 모델에 입력할 데이터를 결정하는 실시예를 설명하기 위한 도면이다. 우선, 전자 장치(100)는 제1 음성 데이터에 대응되는 클린 음성 데이터와 입력 데이터간의 평균 제곱 오차를 최소가 되도록 하는 가중치를 획득할 수 있다(S410). 가중치를 획득하는 실시예는 도 1을 참조하여 구체적으로 설명하였으므로 중복되는 설명은 생략하도록 한다.
그리고, 전자 장치(100)는 가중치 값과 제1 임계치 및 제2 임계치와 비교할 수 있다(S420). 한편, 제1 임계치는 제2 임계치보다 큰 값일 수 있으며 기설정된 값일 수 있다. 다만, 이는 일 실시예에 불과하며, 제1 임계치 및 제2 임계치는 사용자 명령에 의해 변경될 수 있다.
가중치 값이 제1 임계치를 초과한 경우, 전자 장치(100)는 제2 음성 데이터를 제3 모델에 입력할 입력 데이터로 결정할 수 있다(S430-1). 한편, 가중치 값이 제2 임계치 이하인 경우, 전자 장치(100)는 제1 음성 데이터를 제1 모델에 입력할 입력 데이터로 결정할 수 있다(S430-3).
한편, 가중치가 제1 임계치 이하이고 제2 임계치를 초과한 경우, 전자 장치(100)는 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터를 선형 결합하고, 선형 결합된 값을 제3 모델에 입력할 입력 데이터로 결정할 수 있다(S430-2). 즉, 전자 장치(100)는 가중치가 제1 임계치를 초과하거나 제2 임계치 이하인 경우를 제외한 나머지 경우에는 제1 음성 데이터 및 제2 음성 데이터를 선형 결합하고, 선형 결합된 값을 입력 데이터로 결정할 수 있다.
도 5는 본 개시의 일 실시예에 따른, 전자 장치(100)의 구성을 상세히 도시한 블록도이다. 도 5에 도시된 바와 같이, 전자 장치(100)는 마이크(110), 메모리(120), 프로세서(130), 통신부(140), 디스플레이(150), 카메라(160), 입력부(170) 및 스피커(180)를 포함할 수 있다. 한편, 마이크(110), 메모리(120) 및 프로세서(130)는 도 1을 참조하여 설명하였으므로 중복되는 설명은 생략하도록 한다.
통신부(140)는 회로를 포함하며, 서버(미도시) 또는 외부 장치(미도시)와의 통신을 수행할 수 있다. 구체적으로, 프로세서(130)는 통신부(140)를 통해 연결된 서버(미도시) 또는 외부 장치(미도시)로부터 각종 데이터 또는 정보를 수신 및 전송할 수 있다. 특히, 통신부(140)는 외부 서버로부터 메모리(120)에 저장되어 있는 각종 모델의 학습 데이터를 수신할 수 있다. 따라서, 프로세서(130)는 통신부(140)를 통해 수신된 학습 데이터를 바탕으로 각종 모델을 학습시킬 수 있다.
그리고, 통신부(140)는 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(140)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 5G(5th generation) 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다. 또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), 중 적어도 하나를 포함할 수 있다.
디스플레이(150)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes) 등으로 구현될 수 있으며, 경우에 따라 플렉서블 디스플레이, 투명 디스플레이 등으로 구현되는 것도 가능하다. 그리고, 디스플레이(160)는 터치 패널과 함께 터치 스크린으로도 구현될 수 있다. 그러나 상술한 구현으로 한정되는 것은 아니며, 디스플레이(150)는 전자 장치(100)의 유형에 따라 다르게 구현될 수 있다.
카메라(160)는 전자 장치(100)의 주변에 대한 하나 이상의 이미지 데이터를 획득하기 위한 구성이다. 카메라(160)가 획득된 하나 이상에 대한 이미지 데이터를 바탕으로 프로세서(130)는 특정 모델에 입력할 입력 데이터를 결정할 수 있다. 해당 실시예는 추후 설명하도록 한다. 한편, 카메라는 RGB 카메라, 3D 카메라, Depth 카메라 등으로 다양하게 구현될 수 있으며, 전자 장치(100)의 외부에 위치하여 전기적으로 연결될 수 있다.
입력부(170)는 회로를 포함하며, 프로세서(140)는 입력부(170)를 통해 전자 장치(100)의 동작을 제어하기 위한 사용자 명령을 수신할 수 있다. 입력부(170)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다.
스피커(180)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 스피커(180)는 프로세서(130) 제어에 의해 제3 모델에 입력될 입력 데이터를 출력할 수 있다. 또한, 스피커(180)는 프로세서(130) 제어에 의해 제3 모델에서 출력된 결과(예를 들어, 제1 음성 데이터에 대응되는 응답 메시지 등)를 출력할 수 있다.
도 6은 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 순서도이다.
우선, 전자 장치(100)는 마이크(110)를 통해 입력된 제1 음성 데이터를 음질을 향상시키도록 학습된 제1 모델에 입력하여 제2 음성 데이터를 획득할 수 있다(S610). 제1 모델은 제1 음성 데이터에 대해 잡음 등을 필터링하는 알고리즘을 실행하여 제2 음성 데이터를 출력하는 모델일 수 있다. 또한, 제1 모델은 제1 음성 데이터, 제2 음성 데이터 및 제1 음성 데이터에 대응되는 클린 음성 데이터를 바탕으로 학습된 신경망 모델일 수 있다. 즉, 제1 음성 데이터가 입력되면, 제1 모델은 제1 음성 데이터에 대응되는 클린 음성 데이터와 유사한 제2 음성 데이터를 출력하도록 학습된 신경망 모델일 수 있다.
그리고, 전자 장치(100)는 제1 음성 데이터 및 제2 음성 데이터를 제2 모델에 입력하여 가중치를 획득할 수 있다(S620).
본 개시의 일 실시예로, 전자 장치(100)는 제1 음성 데이터 및 제2 음성 데이터를 제2 모델에 입력하여 제2 음성 데이터와 제1 음성 데이터에 대응되는 클린 음성 데이터의 평균 제곱 오차의 추정값을 획득할 수 있다. 이와 관련된 식은 도 1 및 도 2를 참조하여 구체적으로 설명하였으므로 중복되는 설명은 생략하도록 한다. 그리고, 전자 장치(100)는 제2 모델을 통해 제1 음성 데이터, 제2 음성 데이터 및 획득된 평균 제곱 오차의 추정값을 바탕으로 가중치를 획득할 수 있다. 이 때, 가중치는 제1 음성 데이터에 대응되는 클린 음성 데이터와 제3 모델에 입력할 입력 데이터간의 평균 제곱 오차를 최소가 되도록 하는 값일 수 있다.
본 개시의 또 다른 실시예로, 전자 장치(100)는 제1 음성 데이터 및 제2 음성 데이터를 제2 모델에 입력하여 제1 스코어 및 제2 스코어 간의 차이의 추정 값을 획득할 수 있다. 이 때, 제1 스코어 및 제2 스코어는 제1 음성 데이터 및 제2 음성 데이터 각각을 제3 모델에 입력하였을 때 획득될 수 있는 데이터이다. 예를 들면, 제3 모델이 ASR 모델이면 스코어는 음성 신뢰도 값 또는 WER일 수 있으며, 제3 모델이 웨이크 업 모델이면 스코어는 대화 시스템을 활성화시킬 수 있는 확률 값일 수 있다. 그리고, 전자 장치(100)는 제2 모델을 통해 제1 스코어 및 제2 스코어 간의 차이의 추정 값에 기정의된 매핑 함수를 적용하여 가중치를 획득할 수 있다.
그리고, 전자 장치(100)는 획득된 가중치를 이용하여 제3 모델에 입력할 입력 데이터를 결정할 수 있다(S630). 일 실시예로, 전자 장치(100)는 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터를 선형 결합하고, 선형 결합한 값을 입력 데이터로 결정할 수 있다. 또 다른 예로, 가중치가 임계치 이하인 경우, 전자 장치(100)는 제1 음성 데이터를 입력 데이터로 결정하고, 가중치가 임계치를 초과한 경우, 전자 장치(100)는 제2 음성 데이터를 입력 데이터로 결정할 수 있다.
또 다른 예로, 가중치가 제2 임계치를 초과하고 제2 임계치 이하인 경우, 전자 장치(100)는 가중치를 바탕으로 제1 음성 데이터 및 제2 음성 데이터를 선형 결합하고, 선형 결합한 값을 입력 데이터로 결정할 수 있다. 그리고, 가중치가 제2 임계치 이하인 경우, 전자 장치(100)는 제1 음성 데이터를 입력 데이터로 결정하고, 가중치가 제1 임계치를 초과한 경우, 전자 장치(100)는 제2 음성 데이터를 입력 데이터로 결정할 수 있다. 이 때, 제1 임계치는 제2 임계치보다 큰 값일 수 있다.
한편, 지금까지는 전자 장치(100)가 제1 음성 데이터 및 제2 음성 데이터를 바탕으로 제3 모델에 입력할 음성 데이터를 결정하는 실시예를 기재하였으나 이는 일 실시예에 불과하다. 즉, 본 개시의 또 다른 실시예로, 전자 장치(100)는 카메라를 통해 획득된 제1 이미지 데이터 및 제1 이미지 데이터에 화질 등을 개선하는 알고리즘을 적용한 제2 이미지 데이터를 바탕으로 특정 모델에 입력할 입력 데이터 또는 디스플레이 상에 표시할 이미지 데이터를 결정할 수 있다.
구체적으로, 전자 장치(100)는 카메라를 통해 입력된 제1 이미지 데이터를 화질을 개선하도록 학습된 제1 모델에 입력하여 제2 이미지 데이터를 획득할 수 있다. 그리고, 전자 장치(100)는 제1 이미지 데이터, 제2 이미지 데이터를 제2 모델에 입력하여 제2 이미지 데이터와 제1 이미지 데이터에 대응되는 클린 이미지 데이터간의 평균 제곱 오차의 추정값을 획득할 수 있다. 클린 이미지 데이터는 주변 환경에 영향받지 않는 클린 환경에서 촬영된 이미지 데이터를 포함할 수 있다.
그리고, 전자 장치(100)는 제1 이미지 데이터, 제2 이미지 데이터 및 오차 추정 값을 바탕으로 가중치를 획득할 수 있다. 그리고, 전자 장치(100)는 제1 이미지 데이터, 제2 이미지 데이터 및 가중치 중 적어도 하나를 이용하여 제3 모델에 입력할 입력 데이터를 결정할 수 있다. 이 때, 제3 모델은 이미지 분류기 모델(Image classifier model) 등으로 구현될 수 있으나 이는 일 실시예에 불과하며, 이미지를 편집할 수 있는 모델 등으로 다양하게 구현될 수 있다.
그리고, 전자 장치(100)는 제1 이미지 데이터에 대응되는 클린 이미지 데이터와 제2 이미지 데이터를 바탕으로 제3 모델을 학습시킬 수 있다. 구체적으로, 전자 장치(100)는 제1 이미지 데이터에 대응되는 클린 이미지 데이터와 제2 이미지 데이터 간의 평균 제곱 오차를 획득할 수 있다. 그리고, 전자 장치(100)는 제2 모델에 입력하여 제2 이미지 데이터와 제1 이미지 데이터에 대응되는 클린 이미지 데이터간의 평균 제곱 오차의 추정값을 획득할 수 있다. 그리고, 전자 장치(100)는 1)제1 이미지 데이터에 대응되는 클린 이미지 데이터와 제2 이미지 데이터 간의 평균 제곱 오차 및 2)평균 제곱 오차의 추정값이 최소가 되도록 제2 모델을 학습시킬 수 있다.
한편, 본 개시에 첨부된 도면은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 서버, PDA, 의료기기, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, 냉장고, 에어컨, 공기 청정기, 셋톱 박스, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM) 중 적어도 하나를 포함할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적은 저장매체'는 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예로, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
메모리: 110 프로세서: 120

Claims (20)

  1. 전자 장치에 있어서,
    마이크;
    적어도 하나의 인스트럭션(Instruction)을 저장하는 메모리; 및
    상기 적어도 하나의 인스트럭션을 수행하는 프로세서;를 포함하고,
    상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 마이크를 통해 입력된 제1 음성 데이터를 음질을 향상시키도록 학습된 제1 모델에 입력하여 제2 음성 데이터를 획득하고,
    상기 제1 음성 데이터 및 상기 제2 음성 데이터를 제2 모델에 입력하여 가중치를 획득하고,
    상기 가중치를 이용하여 제3 모델에 입력할 입력 데이터를 결정하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 음성 데이터, 상기 제2 음성 데이터 및 상기 제2 음성 데이터와 상기 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 오차 추정값을 이용하여 상기 가중치를 획득 하는 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 가중치를 바탕으로 상기 제1 음성 데이터 및 상기 제2 음성 데이터를 선형 결합(linear combination)하고, 상기 선형 결합된 값을 상기 입력 데이터로 결정하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 가중치를 바탕으로 상기 제1 음성 데이터 및 상기 제2 음성 데이터 중 하나를 상기 입력 데이터로 결정하는 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 가중치가 임계치를 초과한 경우, 상기 제2 음성 데이터를 상기 입력 데이터로 결정하고,
    상기 가중치가 임계치 이하인 경우, 상기 제1 음성 데이터를 상기 입력 데이터로 결정하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 가중치가 제1 임계치를 초과한 경우, 상기 제2 음성 데이터를 상기 입력 데이터로 결정하고,
    상기 가중치가 제2 임계치를 초과하고 상기 제1 임계치 이하인 경우, 상기 가중치를 바탕으로 상기 제1 음성 데이터 및 상기 제2 음성 데이터를 선형 결합하고, 상기 선형 결합된 값을 상기 입력 데이터로 결정하고,
    상기 가중치가 상기 제2 임계치 이하인 경우, 상기 제1 음성 데이터를 상기 입력 데이터를 결정하고,
    상기 제1 임계치는 상기 제2 임계치보다 큰 값인 것을 특징으로 하는 전자 장치.
  7. 제1항에 있어서,
    상기 제3 모델은 웨이크 업(wake-up) 모델 또는 자동 음성 인식(Auto speech Recognition) 모델 중 적어도 하나인 것을 특징으로 하는 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 음성 데이터, 상기 제1 음성 데이터에 대응되는 클린 음성 데이터 및 상기 제2 음성 데이터를 바탕으로 상기 제1 모델 및 상기 제2 모델을 학습시키는 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 음성 데이터 및 상기 제2 음성 데이터 각각을 상기 제3 모델에 입력하여 상기 제1 음성 데이터에 대응되는 제1 스코어 및 상기 제2 음성 데이터에 대응되는 제2 스코어를 획득하고,
    상기 제1 음성 데이터, 상기 제2 음성 데이터, 상기 제1 스코어 및 상기 제2 스코어를 바탕으로 상기 제2 모델을 학습시키는 전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 제1 음성 데이터 및 상기 제2 음성 데이터를 상기 제2 모델에 입력하여 상기 제1 스코어 및 상기 제2 스코어간의 차이의 추정 값을 획득하고,
    상기 제1 스코어 및 상기 제2 스코어 간의 차이의 추정 값을 바탕으로 상기 가중치를 획득하는 전자 장치.
  11. 마이크를 포함하는 전자 장치의 제어 방법에 있어서,
    상기 마이크를 통해 입력된 제1 음성 데이터를 음질을 향상시키도록 학습된 제1 모델에 입력하여 제2 음성 데이터를 획득하는 단계;
    상기 제1 음성 데이터 및 상기 제2 음성 데이터를 제2 모델에 입력하여 가중치를 획득하는 단계; 및
    상기 가중치를 이용하여 제3 모델에 입력할 입력 데이터를 결정하는 단계;를 포함하는 전자 장치의 제어 방법.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 제1 음성 데이터, 상기 제2 음성 데이터 및 상기 제2 음성 데이터와 상기 제1 음성 데이터에 대응되는 클린 음성 데이터 간의 오차 추정값을 바탕으로 상기 기중치를 획득 하는 전자 장치의 제어 방법.
  13. 제11항에 있어서,
    상기 결정하는 단계는,
    상기 가중치를 바탕으로 상기 제1 음성 데이터 및 상기 제2 음성 데이터를 선형 결합하고, 상기 선형 결합된 값을 상기 입력 데이터로 결정하는 단계;를 포함하는 전자 장치의 제어 방법.
  14. 제11항에 있어서,
    상기 결정하는 단계는,
    상기 가중치를 바탕으로 상기 제1 음성 데이터 및 상기 제2 음성 데이터 중 하나를 상기 입력 데이터로 결정하는 단계;를 포함하는 전자 장치의 제어 방법.
  15. 제14항에 있어서,
    상기 결정하는 단계는,
    상기 가중치가 임계치를 초과한 경우, 상기 제2 음성 데이터를 상기 입력 데이터로 결정하고,
    상기 가중치가 임계치 이하인 경우, 상기 제1 음성 데이터를 상기 입력 데이터로 결정하는 단계;를 포함하는 전자 장치의 제어 방법.
  16. 제11항에 있어서,
    상기 결정하는 단계는,
    상기 가중치가 제1 임계치를 초과한 경우, 상기 제2 음성 데이터를 상기 입력 데이터로 결정하고,
    상기 가중치가 제2 임계치를 초과하고 상기 제1 임계치 이하인 경우, 상기 가중치를 바탕으로 상기 제1 음성 데이터 및 상기 제2 음성 데이터를 선형 결합하고, 상기 선형 결합된 값을 상기 입력 데이터로 결정하고,
    상기 가중치가 상기 제2 임계치 이하인 경우, 상기 제1 음성 데이터를 상기 입력 데이터를 결정하는 단계;를 포함하고,
    상기 제1 임계치는 상기 제2 임계치보다 큰 값인 것을 특징으로 하는 전자 장치의 제어 방법.
  17. 제11항에 있어서,
    상기 제3 모델은 웨이크 업(wake-up) 모델 또는 자동 음성 인식(Auto speech Recognition) 모델 중 적어도 하나인 것을 특징으로 하는 전자 장치의 제어 방법.
  18. 제11항에 있어서,
    상기 제1 음성 데이터, 상기 제1 음성 데이터에 대응되는 클린 음성 데이터 및 상기 제2 음성 데이터를 바탕으로 상기 제1 모델 및 상기 제2 모델을 학습시키는 단계;를 더 포함하는 전자 장치의 제어 방법.
  19. 제11항에 있어서,
    상기 제1 음성 데이터 및 상기 제2 음성 데이터 각각을 상기 제3 모델에 입력하여 상기 제1 음성 데이터에 대응되는 제1 스코어 및 상기 제2 음성 데이터에 대응되는 제2 스코어를 획득하는 단계; 및
    상기 제1 음성 데이터, 상기 제2 음성 데이터, 상기 제1 스코어 및 상기 제2 스코어를 바탕으로 상기 제2 모델을 학습시키는 단계;를 더 포함하는 전자 장치의 제어 방법.
  20. 제19항에 있어서,
    상기 가중치를 획득하는 단계는,
    상기 제1 음성 데이터 및 상기 제2 음성 데이터를 상기 제2 모델에 입력하여 상기 제1 스코어 및 상기 제2 스코어간의 차이의 추정 값을 획득하는 단계; 및
    상기 제1 스코어 및 상기 제2 스코어 간의 차이의 추정 값을 바탕으로 상기 가중치를 획득하는 단계;를 포함하는 전자 장치의 제어 방법.
KR1020200035184A 2019-05-16 2020-03-23 전자 장치 및 이의 제어 방법 KR20200132673A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/872,559 US11551671B2 (en) 2019-05-16 2020-05-12 Electronic device and method of controlling thereof
EP20806513.6A EP3850623A4 (en) 2019-05-16 2020-05-12 ELECTRONIC DEVICE AND ITS CONTROL PROCESS
CN202080034588.6A CN113795880A (zh) 2019-05-16 2020-05-12 电子设备及其控制方法
PCT/KR2020/006231 WO2020231151A1 (en) 2019-05-16 2020-05-12 Electronic device and method of controlling thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962848698P 2019-05-16 2019-05-16
US62/848,698 2019-05-16

Publications (1)

Publication Number Publication Date
KR20200132673A true KR20200132673A (ko) 2020-11-25

Family

ID=73645405

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190151626A KR20200132645A (ko) 2019-05-16 2019-11-22 음성 인식 서비스를 제공하는 장치 및 방법
KR1020200035184A KR20200132673A (ko) 2019-05-16 2020-03-23 전자 장치 및 이의 제어 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020190151626A KR20200132645A (ko) 2019-05-16 2019-11-22 음성 인식 서비스를 제공하는 장치 및 방법

Country Status (3)

Country Link
EP (1) EP3850623A4 (ko)
KR (2) KR20200132645A (ko)
CN (1) CN113795880A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230102506A (ko) * 2021-12-30 2023-07-07 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR102587471B1 (ko) * 2023-02-15 2023-10-12 주식회사 코트라스 인공지능형 언어장애 통역 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2898209B1 (fr) * 2006-03-01 2008-12-12 Parrot Sa Procede de debruitage d'un signal audio
JP2010226377A (ja) * 2009-03-23 2010-10-07 Toshiba Corp 遠隔会議支援装置、及び方法
US20150287406A1 (en) * 2012-03-23 2015-10-08 Google Inc. Estimating Speech in the Presence of Noise
US9613633B2 (en) * 2012-10-30 2017-04-04 Nuance Communications, Inc. Speech enhancement

Also Published As

Publication number Publication date
EP3850623A4 (en) 2021-11-17
KR20200132645A (ko) 2020-11-25
CN113795880A (zh) 2021-12-14
EP3850623A1 (en) 2021-07-21

Similar Documents

Publication Publication Date Title
US11580964B2 (en) Electronic apparatus and control method thereof
US11367441B2 (en) Electronic apparatus and control method thereof
US11842735B2 (en) Electronic apparatus and control method thereof
US11551671B2 (en) Electronic device and method of controlling thereof
US20200026977A1 (en) Electronic apparatus and control method thereof
US11961013B2 (en) Method and apparatus for artificial intelligence model personalization
US11942077B2 (en) Electronic device and operating method thereof
US11468892B2 (en) Electronic apparatus and method for controlling electronic apparatus
KR20210136706A (ko) 전자 장치 및 이의 제어 방법
KR20200132673A (ko) 전자 장치 및 이의 제어 방법
CN118591823A (zh) 提供交互式化身服务的方法和设备
US11705110B2 (en) Electronic device and controlling the electronic device
US11886817B2 (en) Electronic apparatus and method for controlling thereof
US20230342602A1 (en) Electronic device and method for controlling same
US20220262377A1 (en) Electronic device and control method thereof
KR20220118009A (ko) 전자 장치 및 이의 제어 방법
KR20220155889A (ko) 전자 장치 및 그 제어 방법
US20240017406A1 (en) Robot for acquiring learning data and method for controlling thereof
KR20210011844A (ko) 전자 장치 및 그 제어 방법
US20240194187A1 (en) Electronic device for performing speech recognition and a control method thereof
KR102429891B1 (ko) 음성 인식 장치 및 그것의 동작 방법
KR20230068087A (ko) 전자 장치 및 그 제어 방법
US20230351126A1 (en) Electronic apparatus and method for controlling thereof
KR20210029080A (ko) 전자 장치 및 이의 제어 방법
KR20240059350A (ko) 음성 신호 비식별화 처리 방법 및 그 전자 장치