KR20230127293A - 정보 합성 방법 및 장치, 전자 장치 및 컴퓨터 판독가능 저장 매체 - Google Patents

정보 합성 방법 및 장치, 전자 장치 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR20230127293A
KR20230127293A KR1020237025819A KR20237025819A KR20230127293A KR 20230127293 A KR20230127293 A KR 20230127293A KR 1020237025819 A KR1020237025819 A KR 1020237025819A KR 20237025819 A KR20237025819 A KR 20237025819A KR 20230127293 A KR20230127293 A KR 20230127293A
Authority
KR
South Korea
Prior art keywords
encoder
distribution
sample
target
code
Prior art date
Application number
KR1020237025819A
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 아이플라이텍 캄파니 리미티드
Publication of KR20230127293A publication Critical patent/KR20230127293A/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Machine Translation (AREA)

Abstract

정보 합성 방법 및 정보 합성 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체가 개시된다. 정보 합성 방법은 훈련된 자동 인코딩 및 디코딩 네트워크에 따라 제1 목표 분포를 획득하고, 제1 목표 분포에 기초하여 목표 샘플링 코드를 획득하는 단계; 입력 정보의 목표 코드를 얻기 위해 훈련된 제2 인코더에 의해 입력 정보를 인코딩하는 단계; 및 훈련된 제1 디코더에 의해 목표 코드에 따라 목표 샘플링 코드를 디코딩하여 출력 정보를 획득하는 단계를 포함하고, 여기서 제1 목표 분포는 제1 인코더의 입력단에서 출력단까지의 사후 분포를 나타내고, 자동 인코딩 및 디코딩 네트워크를 훈련시키는 과정에서, 제1 인코더와 제2 인코더의 입력 샘플은 일대일 대응하고, 제2 인코더에 의해 결정된 사전 분포는 제1 목표 분포를 예측하는 데 사용된다. 이러한 기술적 해결책은 음성 합성 분야에서 사용될 수 있으며 최종 합성된 음성은 리듬, 일시 정지, 문자 발음 등의 측면에서 더 나은 성능을 보여준다.

Description

정보 합성 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체
본 출원은 2020년 12월 30일 중국 특허청에 출원된 "정보 합성을 위한 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체"라는 제목의 중국 특허 출원 번호 202011624655.8의 우선권을 주장하며, 그 내용은 여기에 참조로 포함된다.
본 발명은 기계 학습 기술 분야에 관한 것으로, 특히 정보 합성 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체에 관한 것이다.
최근 정보기술의 발달과 인공지능의 발달로 인간과 컴퓨터의 상호작용이 점점 더 중요해지고 있다. 인간과 컴퓨터의 상호 작용에 대한 연구 중 음성 합성은 전 세계적으로 핫스팟이 되었다.
전통적인 음성 합성 프로세스는 3단계, 즉 프론트엔드 텍스트 분석, 파라미터 예측 및 보코더(또는 음성 인코더라고 함)를 포함한다. 프론트엔드 텍스트 분석은 주로 텍스트 정보를 통해 발음 순서 및 운율 경계와 같은 음성 특징을 예측하도록 구성된다. 일반적으로 프론트엔드 텍스트 분석은 발음 규칙을 학습하고 발음 기간을 예측하기 위해 적절한 텍스트 샘플이 필요하다. 프론트엔드 텍스트 분석 이후의 파라미터 예측은 주로 다양한 음성 파라미터를 예측한 후 예측 결과를 보코더에 입력하여 음성 합성을 하도록 구성된다. 이로써 음성을 얻을 수 있다.
세계화의 발달과 국제 커뮤니케이션의 심화는 정보 교환과 인간과 컴퓨터의 상호 작용 중 다국어 합성을 점점 더 중요하게 만든다. 전통적인 음성 합성은 주로 프론트엔드 처리 방식을 채택하는데, 즉, 프론트엔드 텍스트 분석에는 텍스트 처리를 위한 언어 전문가가 필요하다. 다국어 합성의 시나리오는 다른 언어의 음소 사전 및 발음 규칙을 마스터해야 한다. 프론트엔드 텍스트 분석에서 이러한 음소 사전과 발음 규칙이 부족하여 음향 프론트엔드 모델링에 어려움이 있다. 이 경우 E2E(end-to-end) TTS(text-to-speech) 다국어 합성에서는 프론트엔드가 없는(front-end-free) 처리 방식이 선호된다. 즉, 기계 학습은 텍스트 처리를 위한 언어 전문가를 대체한다.
수동의 사전 분석(pre-analysis)의 부족으로 인해 프론트엔드가 없는 처리는 음성 합성 시스템을 훈련시키기 위해 많은 양의 데이터를 필요로 한다. 기존의 음성 합성에서 훈련 데이터는 음성 합성을 위한 모델이 학습에서 부정확한 음성 특징과 부정확한 발음 규칙을 초래하는 불량한 샘플로 인해 어려움을 겪지 않도록 높은 음질을 가져야 한다. 사실, 음질 요구 사항을 충족하는 다국어 음성 샘플을 얻는 것은 어렵다. 일부 언어의 경우 합성에 적합한 적격 음성 샘플의 총 길이가 1시간 미만일 수 있으며, 가능한 방법은 녹음 품질이 낮은 데이터를 사용하는 것이다. 이러한 데이터는 일반적으로 다양한 소스에서 제공되며 신호 대 잡음비가 낮고 발음 오류가 발생할 가능성이 높다. 따라서 E2E 음성 합성을 위한 모델은 학습 과정에서 오류가 발생하기 쉽고, 그 결과 모델을 사용할 때 재발음, 오발음, 어눌한 발음, 누락된 발음이 발생한다.
따라서, 프론트엔드가 없는 음성 합성의 효율적이고 정확한 해결책을 달성하기 위해 소량 및 낮은 녹음 품질의 음성 데이터를 어떻게 활용하는지는 당업자가 해결해야 할 시급한 기술 문제이다.
상기한 바에 따라, 본 발명의 실시예에 따른 정보 합성 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 매체가 제공된다. 적은 양과 낮은 녹음 품질의 음성 데이터를 활용하여 프런트엔드 없는 음성 합성의 효율적이고 정확한 해결책을 얻을 수 있다.
제1 양상에서, 본 발명의 실시예에 따른 정보를 합성하는 방법은, 오토-인코더 네트워크를 훈련시켜 얻은 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포를 결정하는 단계를 포함하며, 여기서 상기 제1 목표 분포는 사후 분포를 특징짓고 제1 인코더의 입력이 주어지면 제1 인코더의 출력이고, 상기 오토-인코더 네트워크의 훈련에서, 상기 제1 인코더에 입력된 샘플은 제2 인코더에 입력된 샘플과 일대일 대응하고, 상기 제2 인코더에 의해 결정된 사전 분포는 상기 제1 목표 분포를 예측하기 위한 것이며; 상기 제1 목표 분포에 기초한 샘플링을 통해 목표 샘플 코드를 획득하는 단계; 제2인코더를 훈련시켜 얻은 훈련된 제 2인코더를 통해, 입력정보를 인코딩하여, 상기 입력정보의 목표 코드를 획득하는 단계; 및 제1 디코더를 훈련시켜 얻은 훈련된 제1 디코더를 통해, 상기 목표 샘플 코드를 목표 코드에 따라 디코딩하여, 출력 정보를 획득하는 단계를 포함한다.
일 실시예에서, 상기 방법은 훈련된 제1 인코더, 훈련된 제2 인코더 및 훈련된 제1 디코더를 각각 얻기 위해 제1 인코더, 제2 인코더 및 제1 디코더를 훈련하는 단계를 더 포함한다.
실시예에서, 상기 제1 인코더, 제2 인코더 및 제1 디코더를 훈련하기 전에, 상기 방법은, 사전 훈련 샘플 그룹에 기초하여 제2 인코더를 초기화하는 단계, 여기서 사전 훈련 샘플 그룹의 각 샘플은 입력 정보와 동일한 유형임, 를 더 포함한다.
일 실시예에서, 상기 제1 인코더, 제2 인코더 및 제1 디코더를 훈련시키는 단계는, 제1 샘플 그룹 및 제2 샘플 그룹을 오토-인코더 네트워크에 입력하는 단계로, 여기서 상기 제1샘플 그룹은 출력 정보와 동일한 유형의 제1 샘플을 포함하고, 상기 제2샘플 그룹은 입력 정보와 동일한 유형의 제2 샘플을 포함하고, 상기 제2 샘플은 상기 제1 샘플과 일대일 대응하고; 그리고 상기 오토-인코더 네트워크에서의 제1 샘플 그룹의 재구성 손실이 미리 설정된 조건을 만족할 때까지 제1 인코더, 제2 인코더 및 제1 디코더의 파라미터를 조정하는 단계를 더 포함한다.
일 실시예에서, 상기 재구성 손실은 다음의 단계를 통해 얻어지는데, 상기 제1 샘플에 따라 상기 제1 인코더를 통해 제1 분포 파라미터를 결정하는 단계, 여기서 상기 제1 분포 파라미터는 상기 제1 샘플을 각각 인코딩하여 획득된 제1 코드의 제1 분포를 특성화하도록 구성됨; 상기 제1 분포 파라미터에 기초하여 상기 제1 샘플에 대한 샘플 코드를 획득하는 단계; 상기 제2 인코더를 통해 상기 제2 샘플 그룹을 인코딩하여 상기 제2 샘플의 제2 코드를 획득하는 단계; 상기 제2 코드에 따라 제2 분포 파라미터를 획득하는 단계로, 여기서 상기 제2분포 파라미터는 상기 제2 코드의 제2 분포를 특성화하도록 구성되고, 상기 제2 샘플의 상기 제2 코드는 상기 제1 샘플의 상기 제1 코드에 각각 대응함; 상기 제1 분포 파라미터 및 상기 제2 분포 파라미터에 기초하여 상기 제1 분포와 상기 제2 분포 사이의 제1 차이 정도(degree of difference)를 구하는 단계; 대응하는 제2 코드에 따라 상기 제1 디코더를 통해 상기 제1 샘플에 대한 샘플 코드를 각각 디코딩하여 상기 제1 샘플의 재구성 샘플을 획득하는 단계로, 여기서 상기 제1 샘플의 재구성 샘플은 재구성 샘플 그룹을 형성함; 상기 제1 샘플 그룹과 상기 재구성된 샘플 그룹에 따라 상기 제1 샘플 그룹과 상기 재구성된 샘플 그룹의 제2차이 정도(degree of difference)를 구하는 단계; 그리고 상기 제1 차이 정도 및 상기 제2 차이 정도에 기초하여 재구성 손실을 구하는 단계; 여기서 상기 재구성 손실이 미리 설정된 조건을 만족하는 경우, 상기 제1 인코더의 파라미터는 훈련된 제1 인코더의 파라미터가 되고, 상기 제1 분포는 상기 제1 목표 분포가 되는 것을 포함한다.
실시예에서, 상기 미리 설정된 조건은 상기 재구성 손실이 최소에 도달하거나 상기 재구성 손실이 미리 설정된 값보다 작은 재구성 손실이다.
일 실시예에서, 상기 재구성 손실이 미리 설정된 조건을 만족할 때까지 상기 제1 인코더, 상기 제2 인코더 및 상기 제1 디코더의 파라미터를 조정할 때, 상기 방법은 그래디언트 역전파 동안, 제1차이 정도의 제1부분을 제2인코더가 아닌 제1인코더로 역전파하는 단계, 및 상기 제1 인코더가 아닌 상기 제1 차이 정도의 제2 부분을 상기 제2 인코더로 역전파하는 단계를 더 포함하며, 여기서 상기 제1 부분은 상기 제2 부분보다 작다.
일 실시예에서, 상기 제1 차이 정도는 상기 제1 분포와 상기 제2 분포 사이의 상대 엔트로피이다.
실시예에서, 상기 제1 분포 및 상기 제2 분포는 동일한 유형의 확률 분포이다.
실시예에서, 상기 제1 인코더는 조건부 변동 오토-인코더의 인코더이고, 상기 제1 디코더는 상기 조건부 변동 오토-인코더의 디코더이다.
실시예에서, 상기 제2 인코더는 변환기로부터의 양방향 인코더 표현의 모델이다.
실시예에서, 상기 입력 정보는 텍스트이고, 상기 출력 정보는 음성이다.
실시예에서, 상기 제1 디코더는 음성의 디코딩된 히스토리 프레임 시퀀스 및 텍스트의 컨텍스트에 기초하여 음성의 현재 프레임을 결정하도록 구성된다.
일 실시예에서, 상기 제1인코더, 제2인코더 및 제1디코더를 훈련할 때, 상기 제1인코더 및 제2인코더에는 음소 또는 수작업으로 추출한 문자 특징이 입력되지 않는다.
제2 양상에서, 정보를 합성하기 위한 장치는 본 발명의 실시예에 따라 제공된다. 이 장치는 제1 인코더, 제2 인코더 및 제1 디코더를 포함하는 오토-인코더 네트워크에 적용 가능하고, 상기 오토-인코더 네트워크를 훈련시켜 얻은 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포를 결정하도록 구성된 분포 획득 모듈로서, 여기서 상기 제1 목표 분포는 사후 분포를 특징짓고, 상기 제1 인코더의 입력이 주어지면 상기 제1 인코더의 출력의 확률 분포이고,상기 오토-인코더 네트워크의 훈련에서, 상기 제1인코더에 입력된 샘플은 상기 제2인코더에 입력된 샘플과 일대일 대응하고, 상기 제2인코더에 의해 결정된 사전 분포는 상기 제1목표 분포를 예측하기 위한 것이며;상기 제1 목표 분포에 기초한 샘플링을 통해 목표 샘플 코드를 획득하도록 구성된 샘플링 모듈; 상기 제2인코더를 훈련시켜 얻은 훈련된 제2인코더를 통해, 입력 정보를 인코딩하여 상기 입력 정보의 목표 코드를 획득하도록 구성된 인코딩 모듈; 및 상기 목표 코드에 따라 상기 제1 디코더를 훈련시켜 얻은 훈련된 제1 디코더를 통해 상기 목표 샘플 코드를 디코딩하여 출력 정보를 획득하도록 구성된 디코딩 모듈을 포함한다.
일 실시예에서, 장치는 훈련된 제1 인코더, 훈련된 제2 인코더 및 훈련된 제1 디코더를 각각 획득하기 위해 제1 인코더, 제2 인코더 및 제1 디코더를 훈련하도록 구성된 훈련 모듈을 더 포함한다.
일 실시예에서, 장치는 사전 훈련 샘플 그룹에 기초하여 상기 제2 인코더를 초기화하도록 구성된 초기화 모듈을 더 포함하되, 여기서 사전 훈련 샘플 그룹의 각 샘플은 입력 정보와 동일한 유형이다.
제3 양상에서, 메모리 및 프로세서를 포함하는 전자 장치가 제공되며, 여기서 메모리는 명령어를 저장하고, 프로세서에 의해 실행될 때 명령어는 정보를 합성하기 위한 전술한 임의의 방법을 수행하도록 전자 장치를 구성한다.
제4 양상에서, 비일시적 컴퓨터 판독 가능 저장 매체가 제공되며, 여기서 저장 매체는 명령어를 저장하고, 프로세서에 의해 실행될 때 명령어는 정보를 합성하기 위한 전술한 임의의 방법을 구현한다.
여기에서 정보를 합성하는 방법 및 장치가 제공된다. 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포가 결정되고, 제1 목표 분포를 기반으로 샘플링을 통해 목표 샘플 코드를 얻는다. 입력 정보는 훈련된 제 2 인코더를 통해 인코딩되어 입력 정보의 목표 코드를 획득한다. 목표 샘플 코드는 목표 코드에 따라 훈련된 제1 디코더를 통해 디코딩되어 출력 정보를 얻는다. 제1목표 분포는 사후 분포를 특징짓고 제1 인코더의 입력이 주어진 제1 인코더 출력의 확률 분포이다. 오토-인코더 네트워크의 훈련에서 제1 인코더에 입력된 샘플은 제2 인코더에 입력된 샘플과 일대일 대응하며, 제2 인코더에서 결정된 사전 분포는 제1 목표 분포를 예측하기 위한 것이다. 따라서, 디코딩을 통해 얻은 출력 정보와 입력 정보의 일치도는 훈련 과정에서 제1 인코더에 입력된 샘플과 제2 인코더에 입력된 샘플 간의 일치도를 높게 근사(또는 시뮬레이션)할 수 있어, 즉, 출력 정보와 입력 정보가 잘 일치한다. 따라서 음성 합성, 특히 다국어 음성 합성에서 음성 샘플의 품질에 대한 제한이 완화된다. 많은 수의 훈련 샘플이 적합하므로 최종 합성된 음성은 운율, 일시 중지 및 텍스트 기반 발음에서 더 나은 성능을 보인다.
본 발명의 실시예 또는 종래 기술에 따른 기술적 해결책을 보다 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예 또는 종래 기술에 적용될 도면을 간략히 설명한다. 명백히, 이하의 설명에서 도면은 본 개시의 일부 실시예일 뿐이고, 제공된 도면을 기반으로 당업자가 창의적인 노력 없이 다른 도면을 얻을 수 있다.
도 1은 본 발명의 일 실시예에 따른 정보 합성 방법의 개략적인 흐름도이다.
도 2는 본 발명의 다른 실시예에 따른 정보 합성 방법의 개략적인 흐름도이다.
도 3은 본 발명의 또 다른 실시예에 따른 정보 합성 방법의 개략적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 제1 디코더, 제2 디코더 및 제1 인코더를 훈련하는 동안의 신호 흐름의 개략도이다.
도 5는 본 발명의 실시예에 따라 훈련된 제1 디코더, 훈련된 제2 디코더 및 훈련된 제1 인코더를 사용하여 정보를 합성하는 동안의 신호 흐름의 개략도이다.
도 6은 본 개시 내용의 실시예에 따른 음성 합성의 애플리케이션 시나리오에서 정보를 합성하기 위한 방법의 신호 흐름의 개략도이다.
도 7은 본 발명의 다른 실시예에 따른 정보 합성 방법의 개략적인 흐름도이다.
도 8은 본 발명의 실시예에 따른 정보를 합성하기 위한 장치의 개략적인 구조도이다.
도 9는 본 개시 내용의 다른 실시예에 따른 정보를 합성하기 위한 장치의 개략적인 구조도이다.
도 10은 본 개시 내용의 또 다른 실시예에 따른 정보를 합성하기 위한 장치의 개략적인 구조도이다.
이하, 본 발명의 실시예의 기술적 해결책이 본 개시의 실시예의 도면과 함께 명확하고 완전하게 설명된다. 분명히, 설명된 실시예들은 본 발명의 모든 실시예들이라기보다는 일부에 불과하다. 어떠한 창의적인 노력 없이 당업자에 의해 본 발명의 실시예에 기초하여 얻은 다른 실시예는 본 발명의 보호 범위 내에 속한다.
"제1", "제2" 등과 같은 관계 용어는 엔티티 또는 동작 사이에 존재하는 실제 관계 또는 순서를 필요로 하거나 암시하기보다는 하나의 엔티티 또는 동작을 다른 것과 구별하기 위해 본 명세서에서 사용된다. 또한, "포함하다", "구성하다" 또는 이들의 다른 변형과 같은 용어는 비배타적임을 의미한다. 따라서 일련의 구성요소를 포함하는 공정, 방법, 물품 또는 장치는 개시된 구성요소뿐만 아니라 명확하게 열거되지 않은 다른 구성요소를 포함하거나, 공정, 방법, 물품 또는 장치의 고유한 구성요소를 더 포함한다. 명시적으로 제한되지 않는 한, "??을 포함한다"라는 표현은 열거된 요소 외에 공정, 방법, 물품 또는 장치에 다른 유사한 요소가 존재할 수 있는 경우를 배제하지 않는다.
본 명세서에서 사용되는 일부 용어는 처음 소개된다.
인코더는 오토인코더 구조의 인코딩 측을 말하며, 오토인코더 구조의 입력을 코드(숨겨진 변수 또는 숨은 표현이라고도 함)에 매핑하도록 구성된다.
디코더는 오토인코더 구조의 디코딩 측을 말하며, 코드를 오토인코더 구조의 출력에 매핑하도록 구성된다. 일반적으로 출력은 인코딩 측에서 입력을 어느 정도 재구성한 것이다.
Tacotron 모델은 단대단(end-to-end) 음성 합성을 위한 종래의 모델이며 어텐션 메커니즘을 기반으로 한다. Tacotron 모델은 텍스트에서 직접 음성을 생성할 수 있다.
BERT 모델은 변환기로부터의 양방향 인코더 표현의 모델을 말하며, 깊은 양방향 비지도 언어 표현을 사용하고 평문 코퍼스만을 기반으로 미리 훈련된 모델이다. BERT 모듈은 자연어 처리 기반의 사전 훈련(학습) 분야에 속하며, 2018년 구글에 의해서 제안되었다. BERT의 주요 목적은 사용자의 쿼리 역할을 하는 문장의 의미를 이해하고 텍스트에 포함된 운율 정보를 추출하는 것이다.
VAE 모델은 조건부 변이 오토인코더를 말하며, 오토인코더 구조를 기반으로 한 생성 모델이다. VAE 모델은 숨겨진 변수의 분포에 대한 강력한 가정을 가지고 있으며 숨겨진 변수를 학습하기 위해 변형 접근 방식을 채택하여 추가 손실 구성 요소와 SGVB(stochastic gradient variational Bayes) 추정기를 훈련 함수에 도입한다.
제1 측면(양상)에서, 본 발명의 실시예에 따라 정보를 합성하는 방법이 제공된다. 이 실시예에서, 방법은 제1 인코더, 제2 인코더 및 제1 디코더의 모델을 포함하는 오토-인코더 네트워크에 적용 가능하다. 오토-인코더 네트워크는 하드웨어, 소프트웨어 또는 이 둘의 조합으로 구현될 수 있다. 예를 들어, 오토-인코더 네트워크는 서버와 단말을 포함하는 하드웨어 환경일 수 있고, 서버와 단말은 네트워크를 통해 연결되며, 네트워크는 근거리 통신망, 대도시권(metropolitan) 네트워크 또는 광역 통신망을 포함하지만 이에 제한되지 않는다. 상술한 바와 같은 인코더와 디코더는 서버와 단말기에서 실행되는 소프트웨어로 구현되거나 서버와 단말기의 하드웨어에 내장된 명령어로 구현될 수 있다. 대안적으로, 인코더 및 디코더는 서버에서만 또는 단말기에서만 동작할 수 있으며, 본 실시예에서는 이에 제한되지 않는다.
이하, 정보를 합성하는 방법을 도 1에 도시된 바와 같은 단계와 관련하여 더 설명한다. 도 1은 본 발명의 실시예에 따른 정보를 합성하는 방법의 개략적인 흐름도이다. 도 1에 도시된 바와 같이, 정보를 합성하는 방법은 다음의 단계 S101 내지 S104를 포함한다.
단계 S101에서, 오토-인코더 네트워크를 훈련시켜 얻은 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포를 결정한다. 제1 목표 분포는 사후 분포를 특징짓고 제1 인코더의 입력이 주어진 제1 인코더의 출력의 확률 분포이다. 오토-인코더 네트워크를 훈련시킬 때, 제1인코더에 입력된 샘플은 제2인코더에 입력된 샘플과 일대일 대응되며, 제2인코더에서 결정된 사전분포는 제1목표 분포를 예측하기 위한 것이다.
이 단계에서, 훈련된 오토-인코더 네트워크로부터 제1 목표 분포를 얻는다. 일반적으로, 제1 목표 분포는 오토-인코더 네트워크의 제1 인코더에서 얻을 수 있으며, 대안적으로 제2 인코더에서 얻을 수 있다. 제1 인코더 및 제2 인코더 각각은 인공 신경망 모델일 수 있으며, 예를 들어 인코더에 입력된 정보로부터 특징을 추출하기 위한 하나 이상의 컨벌루션 레이어 및/또는 하나 이상의 풀링 레이어를 포함할 수 있다. 이 경우, 제1 목표 분포는 인코더에서 추출한 특징들의 분포라고 볼 수 있으며, 제1 목표 분포의 구체적인 형태는 제1 인코더 및/또는 제2 인코더의 특정 모델에 의해 결정된다.
제1 목표 분포는 미리 설정된 유형일 수 있다. 예를 들어, 미리 설정된 분포는 정규 분포(가우시안 분포라고도 함)이고, 구한 파라미터는 정규 분포의 평균과 표준편차를 포함할 수 있으며, 정규 분포의 평균과 표준편차는 구한 파라미터로부터 계산될 수 있다. 기 설정된 유형은 제1인코더 및/또는 제2인코더에서 그러한 유형에 관련된 표현이 결정될 수 있는 한 다른 분포 유형일 수 있음을 알 수 있다. 일반적으로 제1 목표 분포는 다차원 분포이다.
오토-인코더 네트워크를 훈련하는 프로세스는 제1 인코더 및 제2 인코더를 훈련하는 것을 포함한다. 즉, 이러한 과정에서 제1인코더와 제2인코더의 파라미터가 반복적으로 조정된다. 훈련 시, 제1 인코더에 입력된 샘플과 제2 인코더에 입력된 샘플이 일대일로 대응되어 이후의 재구성에서 오토-인코더 네트워크에서 생성된 출력 정보가 제2 인코더의 입력 정보에 대응된다. 제1 인코더는 이들 입력 샘플로부터 특징을 추출하기 위해 입력 샘플을 인코딩할 수 있고, 입력 샘플이 주어지면 추출된 특징의 조건부 확률은 제1 디코더의 모델에 의존하는 사후 분포를 특징짓는다. 즉, 사후 분포는 제1 인코더의 입력이 주어지면 제1 인코더 출력의 확률 분포를 특징으로 한다. 여기서 조건부 확률은 제1 인코더에 입력된 특정 샘플(또는 특정 유형의 샘플)이 주어졌을 때 특정 특징(또는 특정 유형의 특징)을 얻을 확률을 나타내며, 제1 인코더의 입력과 출력의 관계를 반영한다. 제2 인코더는 이들 입력 샘플로부터 특징을 추출하기 위해 입력 샘플을 인코딩할 수 있고, 이들 특징은 이들 입력 샘플 및 제2 인코더의 파라미터에 의해 결정되는 사전 분포를 따른다. 훈련 과정에서 제2인코더를 통해 제1목표 분포를 예측하는데, 즉 제1인코더와 제2인코더의 파라미터를 반복적으로 조정하여 앞서 말한 사전분포와 앞서 말한 사후분포를 근사화하여 예를 들어 두 분포를 최대한 동일하게 만든다. 가능한 한 동일하다라는 것은 훈련 과정에서 두 분포의 차이가 일정 임계값보다 작은 경우, 특정 구간 내에서 차이가 최소가 되는 경우, 또는 일정 반복 횟수에서 차이가 최소가 되는 경우를 의미할 수 있음에 유의한다. 구현의 특정 방식은 여기에서 제한되지 않으며 응용 프로그램의 실제 요구 사항에 따라 결정될 수 있다.
훈련 후, 훈련된 제1 인코더 및/또는 훈련된 제2 인코더에 따라 제1 목표 분포가 결정될 수 있다. 이 단계에서, 훈련으로부터 결정된 제1 목표 분포는 제1 인코더 및 제2 인코더의 최종 파라미터에 기초하여 획득될 수 있다.
실시예에서, 제1 인코더 모델은 VAE 모델이다. 대안적으로 제1 인코더 모델은 신경망 계층을 포함하는 또 다른 인코더 모델일 수 있으며, 이는 여기서 제한되지 않는다.
단계 S102에서, 제1 목표 분포에 기초한 샘플링을 통해 목표 샘플링 코드를 획득한다.
단계 S101에서 제1 목표 분포를 획득한 후, 제1 목표 분포를 기반으로 랜덤 샘플링을 수행하여 샘플 코드(들)를 획득할 수 있다. 평균과 같은 제1 목표 분포의 파라미터가 목표 샘플링 코드를 얻기 위해 직접 사용될 수도 있음을 이해해야 한다. 예를 들어 목표 샘플 코드를 얻기 위해 파라미터를 기반으로 샘플링이 직접 수행된다. 제1 목표 분포가 다차원 분포일 때 획득된 샘플링 코드는 벡터임을 알 수 있다.
단계 S103에서는 제2인코더를 훈련하여 획득한 훈련된 제2인코더를 통해 입력정보를 인코딩하여 입력정보의 목표 코드를 획득한다.
입력 정보는 제2인코더에 입력되어 제2인코더에서 입력 정보를 인코딩할 수 있다. 제2 인코더는 예를 들어 하나 이상의 콘볼루션 레이어 및/또는 하나 이상의 풀링 레이어를 포함할 수 있는 인공 신경망 모델일 수 있다. 이 경우 입력 정보를 인코딩하는 과정은 입력 정보에서 특징을 추출하는 과정으로 볼 수 있다. 예를 들어, 입력 정보는 음성이고, 음성으로부터 운율, 일시 정지, 소리의 기본 주파수와 같은 소리 특징이 추출될 수 있다. 예를 들어, 입력 정보는 텍스트이고, 텍스트로부터 문장 세그먼트, 단어 세그먼트, 텍스트의 의미 등의 텍스트 특징을 추출할 수 있다. 예를 들어, 입력 정보는 이미지이고, 이미지에서 이미지의 모양, 색상, 특정 대상 물체 등의 이미지 특징을 추출할 수 있다. 획득된 목표 코드는 추출된 특징의 강도와 같은 추출된 특징의 정보를 반영할 수 있다.
실시예에서, 제2 인코더 모델은 BERT 모델이다. 이 경우 입력 정보는 텍스트일 수 있다.
목표 샘플링 코드를 획득하고 목표 코드를 획득하는 순서는 여기에서 제한되지 않는다. 즉, 단계 S101, S102 및 S103을 실행하는 순서는 제한되지 않는다. 실시예에서, 목표 코드는 목표 샘플링 코드가 획득된 후에 획득된다. 즉, 단계 S101 및 S102는 단계 S103 이전에 수행된다. 다른 실시예에서, 목표 샘플링 코드는 목표 코드가 획득된 후에 획득된다. 즉, 단계 S101 및 S102 이전에 단계 S103이 수행된다. 다른 실시예에서, 목표 샘플링 코드와 목표 코드를 동시에 획득할 수 있다. 즉, 단계 S103은 단계 S101 및 S102와 동시에 수행된다.
일 실시예에서, 입력 정보의 목표 코드를 먼저 획득한 다음 목표 코드를 완전 연결 계층에 입력하여 제1 목표 분포의 파라미터를 획득할 수 있다. 이로써, 제1 목표 분포의 파라미터를 피팅하여 제1 목표 분포를 구하고, 제1 목표 분포를 기준으로 샘플링을 수행하여 목표 샘플 코드를 얻는다. 대안적으로, 제1 목표 분포는 목표 코드에 기초하여 직접 획득될 수 있고, 목표 샘플 코드를 획득하기 위해 제1 목표 분포에 기초하여 샘플링이 수행된다.
단계 S104에서는 제1 디코더를 훈련하여 얻어지는 훈련된 제1 디코더를 통해 목표 샘플 코드를 목표 코드에 따라 디코딩하여 출력 정보를 얻는다.
출력 정보가 얻어진 후, 목표 코드 및 목표 샘플 코드는 디코딩을 위해 제1 디코더에 입력될 수 있다. 디코딩 목적은 제1 목표 분포를 기준으로 샘플링을 통해 얻은 목표 샘플링 코드이고, 제1 목표 분포는 사후 분포를 특징짓는 것으로, 제1 디코더의 입력이 주어지면 제1 인코더의 출력이다. 따라서 출력 정보는 사실상 훈련 과정에서 제1 인코더에 입력된 샘플을 참조하여 제1 디코더에서 재구성한 새로운 샘플이며, 새로운 샘플은 훈련 과정에서 제1 인코더에 입력된 샘플과 동일한 유형이다. 또한, 목표 코드에 따른 디코딩은 목표 코드가 디코딩을 제한하는 조건이 되는 것을 의미하며, 목표 코드는 입력된 정보를 인코딩하는 제2인코더를 통해 얻어진다. 따라서 출력 정보는 입력 정보에 의해 제약을 받아 즉, 입력 정보에 대응된다. 제1 인코더의 입력 샘플은 훈련 동안 제2 인코더의 샘플과 일대일 대응하고, 제2 인코더에 의한 인코딩을 통한 사전 분포는 제1 목표 분포를 예측하는 데 사용되기 때문에, 디코딩을 통해 얻은 출력 정보와 입력 정보 간의 대응은 훈련 동안 제1 인코더의 입력 샘플과 제2 인코더의 입력 샘플 간의 대응의 좋은 근사(또는 좋은 시뮬레이션)이다. 즉, 획득된 출력 정보는 입력 정보와 잘 대응한다.
여기서 전술한 정보 합성 방법은 음성 합성에 적용할 수 있다. 입력 정보는 텍스트이고 출력 정보는 음성이다. 이에 대응하여, 제1 인코더 및 제2 인코더는 보코더의 인코딩 측의 역할을 할 수 있고, 제1 디코더는 보코더의 디코딩 측의 역할을 할 수 있다. 훈련 동안 제1인코더와 제2인코더에는 일대일 대응되는 음성 샘플과 텍스트 샘플이 각각 입력되어 음성 특징과 텍스트 특징이 추출될 수 있다. 제2 인코더에서 얻은 텍스트 특징의 사전 분포는 음성이 주어진 음성 특징의 사후 분포를 예측하기 위한 것으로, 훈련된 오토-인코더 네트워크를 통해 제1 목표 분포와 텍스트 특징의 분포가 서로 근사하도록 한다.
Tacotron 모델과 같은 종래의 E2E(end-to-end) 음성 합성 해결책에서, 어텐션 메커니즘에 기초한 음성 합성은 음성 샘플의 노이즈로 인해 어려움을 겪을 것이고, 따라서 녹음 품질에 대한 높은 요구 사항을 부여하고 적격 훈련 샘플의 양을 제한하며 결국 훈련 결과에 영향을 미친다. 여기에서 텍스트 샘플에는 음성 잡음이 없으므로 훈련 중에 제1 목표 분포를 예측하기 위해 텍스트 특징의 사전 분포를 사용하면 음성 샘플의 잡음이 최종 생성된 음성에 영향을 미치는 것을 효과적으로 방지할 수 있다. 따라서 고품질의 음성을 합성할 수 있다. 따라서, 훈련용 음성 샘플의 품질에 대한 제약을 줄여 훈련 샘플을 많이 얻을 수 있다. 결과적으로 훈련된 모델에 의해 생성된 음성은 운율, 일시 중지 및 텍스트 기반 발음에서 더 나은 성능을 보인다. 다국어 음성 합성은 각 언어에 대한 샘플의 품질에 대한 의존도가 높기 때문에 이러한 장점은 다국어 음성 합성에서 더욱 두드러진다.
실시예에서, 제2 인코더는 BERT 모델이다. 기존의 프론트엔드가 없는 음성 합성 해결책은 Tacotron 모델과 같이 프론트엔드 처리가 간단한 모델을 활용하며 이러한 모델은 컨벌루션 레이어와 장단기 메모리 네트워크를 사용하는 경우가 많다. 이러한 간단한 구조는 음소나 수동으로 추출한 텍스트 특징이 프론트엔드 입력으로 작용할 때 잘 작동할 수 있지만, 프론트엔드가 없는 경우 수백 시간의 오디오와 해당 텍스트에 대한 훈련 샘플만 응답할 수 있어 텍스트의 의미 이해 및 문장의 운율 정보 캡처에 어려움이 있다. 이에 비해 BERT 모델은 많은 양의 텍스트로 사전 훈련될 수 있으며 특히 의미론적 이해, 의미론적 표현 및 기타 작업에서 다국어 텍스트 분석에서 높은 점수를 얻을 수 있다. 따라서 여기에서 사용된 BERT 모델은 기존의 프런트엔드 없는 음성 합성 해결책의 결함을 잘 해결할 수 있다.
요약하면, 정보를 합성하는 방법이 여기에서 제공된다. 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포가 결정되고, 제1 목표 분포를 기반으로 샘플링을 통해 목표 샘플 코드를 얻는다. 입력 정보는 훈련된 제2 인코더를 통해 인코딩되어 입력 정보의 목표 코드를 획득한다. 목표 샘플 코드는 목표 코드를 디코딩 조건으로 하여 훈련된 제1 디코더를 통해 디코딩하여 출력 정보를 얻는다. 훈련 동안, 제1 인코더에 입력된 샘플은 제2 인코더에 입력된 샘플과 일대일 대응되며, 제2 인코더는 제1 목표 분포를 예측한다. 따라서, 디코딩을 통해 얻은 출력 정보와 입력 정보의 일치도는 훈련 과정에서 제1 인코더에 입력된 샘플과 제2 인코더에 입력된 샘플 간의 일치도를 높게 근사(또는 시뮬레이션)할 수 있어 획득된 출력 정보와 입력 정보의 일치도가 양호하다. 따라서 음성 합성, 특히 다국어 음성 합성에서 음성 샘플의 품질에 대한 제한이 완화된다. 많은 수의 훈련 샘플이 적합하므로 최종 합성된 음성은 운율, 일시 중지 및 텍스트 기반 발음에서 더 나은 성능을 보인다.
도 2는 본 발명의 다른 실시예에 따른 정보 합성 방법의 개략적인 흐름도이다. 도 1에 도시된 프로세스에 기초하여, 상기 방법은 다음 단계 S105를 더 포함한다.
단계 S105에서, 제1 인코더, 제2 인코더 및 제1 디코더는 각각 훈련된 제1 인코더, 훈련된 제2 인코더 및 훈련된 제1 디코더를 획득하도록 훈련된다.
단계 S101에 관한 설명은 오토-인코더 네트워크가 정보 합성에 적용되기 전에 훈련될 수 있음을 나타낸다. 일반적으로 훈련의 목적은 더 좋거나 최적의 코덱 네트워크를 찾기 위해 인코딩 및 디코딩을 위한 네트워크 매핑 기능을 학습하는 것이다. 일반적인 훈련 과정에서는 훈련 샘플을 오토-인코더 네트워크에 입력하고, 훈련 목적에 따라 오토-인코더 네트워크가 훈련 목적과 관련된 미리 설정된 조건을 만족할 때까지 제1인코더, 제2인코더 및 제1디코더의 파라미터를 반복적으로 조정한다.
일 실시예에서, 훈련 목표는 재구성 손실, 즉 오토-인코더 네트워크 재구성 샘플의 손실을 줄이는 것으로 설정된다. 이에 대응하여, 전술한 사전 설정 조건은 재구성 손실이 사전 설정 조건을 충족하는 것을 의미한다. 도 3에 도시된 바와 같이, 단계 S105는 다음의 단계 S1051 내지 S1053을 포함할 수 있다.
단계 S1051에서, 오토-인코더 네트워크에 제1 샘플 그룹 및 제2 샘플 그룹이 입력된다. 제1 샘플 그룹은 출력 정보와 동일한 유형의 제1 샘플을 포함한다. 제2 샘플 그룹은 입력 정보와 동일한 유형의 제2 샘플을 포함한다. 제2 샘플은 제1 샘플과 일대일 대응 관계에 있다.
정보 합성에서 오토-인코더 네트워크의 각 부분(제1인코더, 제2인코더, 제1디코더 등)의 기능은 훈련에서의 기능과 유사하다. 각 부분의 입력과 출력에서의 정보의 종류도 두 과정에서 동일하다. 따라서 훈련시 제2인코더로 입력되는 제2샘플은 정보합성시 제2인코더로 입력되는 입력정보와 동일한 유형을 갖는다. 정보 합성 과정에서 제1인코더의 입력은 직접 사용되지 않을 수 있으며, 오토-인코더 네트워크의 디코딩 측(즉, 제1디코더)은 목표 샘플 코드를 디코딩하여 출력 정보를 획득하는데, 이는 본질적으로 제1인코더의 입력을 시뮬레이션하고 새로운 샘플을 재구성하는 과정이다. 따라서 새로운 샘플(즉, 출력 정보)은 제1인코더에 입력된 의사 샘플과 유사해야 한다. 즉, 이러한 샘플과 동일한 유형이어야 한다. 예를 들어, 새로운 샘플과 의사 샘플은 모두 음성, 텍스트, 이미지 등이다. 따라서 훈련 중에 제1인코더에 입력된 제1샘플도 이러한 유형에 속해야 오토-인코더 네트워크가 제1샘플 그룹을 재구성할 수 있다.
단계 S1052에서, 오토-인코더 네트워크에서의 제1 샘플 그룹의 재구성 손실이 미리 설정된 조건을 만족하는지 여부를 결정한다. 미리 설정된 조건을 만족하는 경우, 이 과정은 전술한 실시예에서 설명한 바와 같이 단계 S101 내지 S104로 진행한다. 미리 설정된 조건을 만족하지 못하는 경우에는 단계 S1053으로 진행한다.
단계 S1053에서, 제1 인코더, 제2 인코더 및 제1 디코더의 파라미터를 조정한다. 그 후, 이 과정은 판정을 위해 단계 S1052로 되돌아간다.
실시예에서, 미리 설정된 조건은 최소에 도달하는 재구성 손실로 설정된다. 여기서 최소값은 제1인코더, 제2인코더 및 제1디코더의 일부 파라미터에 대한 전체 파라메트릭 공간에 대한 재구성 손실의 최소값일 수 있다. 또는 최소값은 제1인코더, 제2인코더 및 제1디코더의 일부 파라미터에 대한 부분값 공간 내 재구성 손실의 최소값일 수 있다. 대안적으로, 최소값은 미리 설정된 반복 단계 수량 내에서 얻어진 최소값일 수 있다. 구체적인 내용은 여기에서 제한되지 않으며 실제 적용 시나리오에 따라 결정될 수 있다.
일 실시예에서, 미리 설정된 조건은 재구성 손실이 미리 설정된 값보다 작은(또는 그보다 작거나 같거나) 것으로 설정된다. 즉, 재구성 손실(reconstruction loss)이 일정 임계값 이하로 감소하면 미리 설정된 조건을 만족하고 훈련을 종료할 수 있다고 판단한다.
따라서, 단계 S1052 및 S1053은 전체적으로 오토-인코더 네트워크에서 제1 샘플 그룹의 재구성 손실이 미리 설정된 조건을 만족할 때까지 제1 인코더, 제2 인코더 및 제1 디코더 모델의 파라미터에 대한 반복 조정을 달성한다.
실제로, 다수의 응용 시나리오에서의 정보 합성은 유사할 수 있다. 이 경우, 오토-인코더 네트워크는 최초 정보 합성 시에만 훈련될 수 있으며, 훈련된 오토-인코더 네트워크는 후속 합성에 그대로 사용된다. 또한 특정 유형의 응용 시나리오에 대해 훈련된 제1 인코더, 제2 인코더 및 제1 디코더의 파라미터를 기록할 수 있으며, 파라미터는 반복 훈련 없이 이러한 유형에 해당하는 정보 합성에 직접 로드된다. 즉, 도 1과 같은 실시예에서 제1인코더, 제2인코더 및 제1디코더의 파라미터는 사전 훈련된 결과를 참조하여 정보 합성 초기에 적용 요구 사항을 만족하는 상태로 조정될 수 있다. 그러한 경우, 단계 S105는 필요하지 않다.
재구성 손실은 훈련에서의 지표로서, 훈련 종료 가능 여부를 판단하기 위한 것이다. 실시예에서, 재구성 손실은 다음 단계를 통해 획득될 수 있다. 본 발명의 일 실시예에 따른 제1 디코더, 제2 인코더 및 제1 인코더를 훈련하는 동안 신호 흐름의 개략도인 도 4를 참조한다. 도 4의 실선 화살표는 제1샘플 그룹과 제2샘플 그룹에서 재구성 손실을 얻기 위한 신호 흐름을 나타낸다. 도 4의 점선 화살표는 재구성 손실의 피드백에 따라 제1 디코더, 제2 인코더 및 제1 인코더를 조정하는 신호 흐름을 나타낸다. 실선 상자는 신호 흐름의 파라미터(예: 스칼라, 벡터, 행렬 등)를 개략적으로 나타낸다. 점선 상자는 파라미터에 대한 작업을 나타낸다(예: 함수, 모델 등을 통해).
도 4의 실선 화살표 부분, 즉 재구성 손실을 구하는 과정을 참조한다. 먼저, 모든 제1샘플에 대해 제1인코더를 통해 제1분포 파라미터를 결정한다. 제1 분포 파라미터는 제1 샘플을 각각 인코딩한 제1 코드의 제1 분포(제1 확률 분포)를 특성화하도록 구성된다. 여기서 제1 분포는 훈련 동안 제1 목표 분포의 중간 상태로 간주될 수 있다. 유사하게, 제1 분포는 사후 분포를 특징짓고 제1 샘플이 주어진 제1 코드의 확률 분포이고, 일반적으로 제1 분포는 미리 설정된 분포 유형이다. 실제로, 제1 인코더는 각 제1 샘플을 먼저 인코딩하여 이러한 제1 샘플을 나타내는 제1 코드를 획득한 다음 각 제1 샘플의 제1 코드에 따라 그러한 사후 분포의 제1 분포 파라미터를 결정할 수 있다. 일 실시예에서, 제1 인코더에 내장된 하나 이상의 완전 연결 레이어를 통해 제1 코드에 따라 제1 분포 파라미터를 획득할 수 있다. 제1 분포 파라미터가 다수의 요소(평균, 분산 등)를 포함할 때, 각각의 완전 연결 계층은 이들 요소 중 하나를 얻도록 구성될 수 있다. 일반적으로 제1 분포는 다차원 분포이며, 제1 분포의 차원은 제1 샘플 그룹에서 제1 샘플의 양(또는 제2 샘플 그룹에서 제2 샘플의 양)에 따라 달라진다.
제1 분포를 얻은 후, 후속 단계는 정보 합성에서와 유사하다. 먼저, 제1 분포에 기초한 샘플링을 통해 모든 제1 샘플에 대한 샘플 코드를 얻는다. 일 실시예에서, 샘플링 코드는 제1 분포 파라미터를 획득함으로써 획득될 수 있다. 예를 들어, 제1 샘플 그룹에는 M개의 제1 샘플이 있고, 각 샘플은 제1 인코더에 의해 인코딩되어 코드 요소를 얻는다. 이 경우 제1분포는 M차원 정규분포라고 가정하고 각 차원 k(1≤k≤M)는 평균 μk와 분산 Σk의 두 파라미터를 갖는다. 코딩 요소 ck는 각 차원의 μk, Σk를 기준으로 샘플링을 통해 얻을 수 있으며, 제1샘플에 대한 샘플 코드는 {c1,c2,...cM}이다. 이러한 예는 샘플 코드를 획득하는 과정을 설명하기 위한 것일 뿐, 본 발명이 이에 한정되는 것은 아니다. 제1 샘플에 대한 샘플 코드를 획득하는 것 외에도, 제2 샘플 그룹은 제2 인코더를 통해 인코딩되어 제2 샘플의 제2 코드를 획득한다. 그런 다음, 제2 코드에 따라 제2 분포 파라미터를 구한다. 일 실시예에서, 제2 인코더에 내장된 하나 이상의 완전 연결 레이어를 통해 제2 코드에 따라 제2 분포 파라미터를 획득할 수 있다. 제2 분포 파라미터가 다수의 요소(평균, 분산 등과 같은)를 포함할 때, 각각의 완전 연결 계층은 이들 요소 중 하나를 얻도록 구성될 수 있다. 제2 분포 파라미터는 제2 코드의 제2 분포(제2 확률 분포)를 특성화하도록 구성된다. 제2 샘플의 제2 코드는 제1 샘플의 제1 코드에 각각 대응한다. 여기서 제2 코드는 제2 인코더에 의해 제2 샘플로부터 추출된 특징을 나타낸다. 제2 분포는 제2샘플에서 직접 결정되며 본질적으로 제2 코드의 사전 분포이다. 이후, 제1 디코더는 이러한 제1 샘플에 대응하는 제2 샘플의 제2 코드를 조건으로 하여 제1 샘플 각각에 대한 샘플 코드를 디코딩하여 제1 샘플의 재구성 샘플을 얻는다. 제1 샘플의 재구성된 샘플은 재구성된 샘플 그룹을 형성한다.
정보 합성시 출력 정보에 대한 입력 정보의 좋은 제한을 구현하기 위해서는 제2 분포를 이용하여 제1 목표 분포를 예측해야 한다. 따라서, 제2 샘플의 제2 코드는 제1 샘플의 제1 코드에 대응되어야 한다. 예를 들어, 제1 샘플과 제2 샘플은 각각 대응되는 음성 샘플과 텍스트 샘플이다. 이 경우, 제1 코드에서 문장간 일시 정지를 나타내는 성분은 제2 코드에서 문장 분할을 나타내는 성분에 대응할 수 있다.
그 다음, 재구성 손실이 계산된다. 먼저, 제1분포 파라미터와 제2분포 파라미터에 기초하여 제1분포와 제2분포의 제1 차이 정도를 구한다. 훈련의 중요한 목적은 제2 분포가 최종적인 제1 분포(즉, 제1 목표 분포)를 잘 예측할 수 있기 때문에 두 분포의 차이가 훈련 결과를 평가하는 중요한 요소가 된다는 점이다. 여기서, 제1차이 정도는 제1 차이 함수를 통해 계산될 수 있으며, 상기 계산은 차이 계산, 분포 파라미터 간의 평균 제곱 오차 계산, 상대 엔트로피 계산, 교차 엔트로피 계산 등을 포함하나 이에 한정되지 않는다. 여기서 계산의 구체적인 형태는 두 분포의 차이를 반영할 수 있는 한 제한되지 않는다.
또한, 제2 차이(difference) 함수를 통해 제1 샘플 그룹과 재구성 샘플 그룹을 기초로 제1 샘플 그룹과 재구성 샘플 그룹의 제 2 차이를 구한다. 제1디코더의 중요한 목적은 제1샘플과 최대한 유사한 새로운 샘플을 생성하는 것이므로 재구성 후 재구성 정도도 재구성 손실을 평가하는 중요한 요소가 된다. 여기서 제2 차이는 제2 차이 함수를 통해 계산될 수 있다. 계산의 형태는 차이 계산, 분포 파라미터 간의 평균 제곱 오차 계산 등을 포함하지만 이에 제한되지 않는다. 여기에서 계산의 구체적인 형태는 두 샘플 그룹 간의 차이가 반영될 수 있는 한 제한되지 않는다.
마지막으로, 제1 차이 정도와 제2 차이 정도에 기초하여 재구성 손실을 구한다. 즉, 재구성 손실에서 제1 분포와 제2 분포의 차이 및 제1 샘플 그룹과 재구성된 샘플 그룹의 차이를 모두 고려해야 한다. 여기서 재구성 손실은 재구성 손실 함수를 통해 계산될 수 있다. 계산의 형태는 덧셈, 곱셈, 가중 합, 지수 연산 등을 포함하지만 이에 제한되지 않는다. 재구성 손실이 제1 차이 정도 및 제2 차이 정도 모두와 양의 상관 관계에 있는 한 계산의 특정 형태는 여기에서 제한되지 않는다.
일 실시예에서, 제1 분포 및 제2 분포는 제1 차이의 정도 계산을 용이하게 하기 위해 동일한 유형일 수 있다. 예를 들어 제1 분포와 제2 분포는 모두 정규 분포이다. 제1 분포 파라미터는 제1 분포의 평균 및 분산을 포함할 수 있고, 제2 분포 파라미터는 제2 분포의 평균 및 분산을 포함할 수 있다.
도 4의 점선 화살표의 일부, 즉 재구성 손실을 피드백하는 과정을 더 참조한다. 피드백 동안, 재구성 손실은 제1 인코더(피드백 A), 제2 인코더(피드백 B) 및 제1 디코더(피드백 C)로 동시에 반환될 수 있다. 피드백 A, 피드백 B 및 피드백 C는 동일하거나 다를 수 있다. 즉, 재구성 손실은 동일한 형태로 피드백될 수도 있고 다른 형태로 피드백될 수도 있다(예를 들어, 재구성 손실 함수의 다른 부분을 반환하거나 재구성 손실에 기반한 차이 계산 결과 반환). 훈련은 반복적인 과정이므로 계산된 재구성 손실이 미리 설정된 조건을 만족하지 못한다고 판단될 때마다 계산된 재구성 손실을 기반으로 오토-인코더 네트워크를 어떻게 조정할지 결정해야 한다. 일 실시예에서, 피드백은 재구성 손실의 그래디언트를 역전파(back-propagation)함으로써 구현된다. 즉, 현재 반복에서 구한 재구성 손실과 마지막 반복에서 구한 재구성 손실을 기반으로 재구성 손실의 변동 그래디언트를 구하고, 이러한 그래디언트를 오토-인코더 네트워크에 피드백하여 제1 인코더, 제2 인코더 및 제1 디코더의 파라미터를 조정한다.
여기서 재구성 손실의 감소는 제1 차이 정도의 감소에 기인할 수 있다. 반환된 그래디언트에 따라 제 1 인코더의 파라미터와 제 2 인코더의 파라미터가 모두 조정될 수 있으므로, 제 1 차이 정도의 감소는 본질적으로 제 1 분포와 제 2 분포가 서로 근사하는 과정, 즉 제 1 샘플 그룹이 주어진 제 1 코드의 확률 분포를 특징으로 하는 사후 분포와 제 2 샘플 그룹의 제 2 코드의 사전 분포가 서로 근사하는 과정이다. 위에서 논의한 바와 같이 정보 합성의 본질적인 목적은 제1샘플과 유사한 출력 정보를 입력 정보의 제어하에 재구성하는 것이므로 훈련의 목적은 오토-인코더 네트워크가 사전 분포의 제약 조건에서 가능한 한 제1샘플 그룹에서 사후 분포의 정보를 훈련하도록 하는 것이다. 따라서 훈련 과정에서 사전 분포가 사후 분포를 너무 제한하는 경우(즉, 제1 분포는 제2 분포로 많이 바뀌고 제2분포는 제1분포로 거의 바뀌지 않음) 최종 사후 분포가 사전 분포에 대해 과도한 "편향"을 가지므로 거의 학습되지 않는다.
위와 같은 문제를 해결하기 위해, 일 실시예에서, 그래디언트는 재구성 손실을 처리한 후에 역전파될 수 있다. 예를 들어, 재구성 손실은 제1 부분과 제2 부분으로 나눌 수 있다. 재구성 손실의 제1부분은 제2 분포(즉, 제2디코더의 파라미터에 대해)로 역전파(즉, 그래디언트 중단)되지 않는다. 즉, 재구성 손실의 제1 부분은 제2디코더의 파라미터에 대한 조정에 영향을 미치지 않는다. 재구성 손실의 제2 부분은 제1 분포(즉, 제1디코더의 파라미터에 대해)로 역전파(즉, 그래디언트 중단)되지 않는다. 즉, 재구성 손실의 제2 부분은 제1디코더의 파라미터에 대한 조정에 영향을 미치지 않는다. 이 경우, 재구성 손실에서 제1 부분과 제2 부분의 가중치를 통해 제1 분포와 제2 분포를 근사하는 정도와 역근사 정도를 조절할 수 있다. 일반적으로 재구성 손실에서 제1 부분의 가중치는 제2 부분의 가중치보다 크게 설정하여 제1 분포가 제2 분포에 맹목적으로 접근하여 제1 샘플 그룹으로부터 유용한 정보를 학습하지 못하는 것을 방지한다.
훈련 후, 즉 미리 설정된 조건을 만족하는 재구성 손실을 구한 후, 훈련된 제1 인코더, 훈련된 제2 인코더 및 훈련된 제1 디코더를 다시 구한다. 그 후, 단계 S101 내지 S104에서 기술된 정보 합성이 수행될 수 있다. 여기서 제1 분포 파라미터는 훈련된 제1 인코더 및/또는 훈련된 제2 인코더의 파라미터에 기초하여 결정될 수 있다. 추가적으로 또는 대안적으로, 제1 분포 파라미터는 훈련된 제1 디코더 및/또는 제2 훈련된 인코더의 입력에 기초하여 결정될 수 있다. 훈련의 최종 제1 분포는 제1 목표 분포로 사용할 수 있다.
도 4에 도시된 훈련 과정에 대응하여, 도 5는 본 발명의 실시예에 따라 훈련된 제1 디코더, 훈련된 제2 디코더 및 훈련된 제1 인코더를 사용하여 정보를 합성하는 신호 흐름의 개략도이다. 도 5와 같이 정보 합성 시 훈련된 오토-인코더 네트워크에 따라(예를 들어, 도 5와 같이 훈련된 제1인코더에 따라) 제1 목표 분포를 결정한 다음 제1 목표 분포를 기반으로 샘플링을 수행하여 목표 샘플 코드를 얻는다. 예를 들어, 제1분포가 정규분포이므로 제1목표 분포도 정규분포이고, 목표 샘플링 코드는 정규분포를 기반으로 샘플링하여 얻는다. 목표 샘플 코드는 "유사(pseudo)" 제1 샘플을 제1 인코더에서 인코딩한 제1 코드로 볼 수도 있고, 훈련된 제1 인코더에서 샘플링한 코드로 볼 수도 있다. 목표 샘플 코드의 특징은 전술한 제1 코드 및 목표 샘플 코드에 대한 설명을 참조할 수 있으므로 여기서는 반복하지 않는다. 도 5는 제1 목표 분포가 훈련된 제1디코더의 파라미터로부터 얻어지는 것을 보여준다. 또는, 제1 분포와 제2 분포는 훈련 후 기 설정된 요구 사항을 만족하는 정도로 근사되었으므로, 훈련된 제2 인코더를 기반으로 제1 목표 분포를 얻을 수 있으며, 이는 유사한 결과를 갖는다. 예를 들어, 텍스트는 제2인코더에 입력되고 제2인코더는 텍스트 코드를 획득하고 텍스트 코드를 완전 연결 계층에 공급하여 제1 목표 분포의 파라미터를 얻는다. 이 경우, 제1 목표 분포의 파라미터를 피팅하여 제1 목표 분포를 얻는다.
또한, 훈련된 제2 디코더는 입력 정보를 인코딩하여 입력 정보에 대응하는 목표 코드를 획득한다. 그러면 목표 코드와 목표 샘플 코드가 모두 제2 디코더에 입력되고, 제2 디코더는 목표 코드를 조건으로 하여 목표 샘플 코드를 디코딩하여 출력 정보를 얻는다. 예를 들어, 제1 디코더는 CVAE의 디코딩 측에 해당하고, 목표 코드는 디코딩에 참여할 때 레이블 역할을 할 수 있다. 출력 정보는 일 측면에서 입력 정보에 해당하고, 다른 측면에서 제1 샘플과 유사하고 동일한 유형의 새로운 정보이다. 따라서 오토-인코더 네트워크는 정보 합성 프로세스를 구현한다.
전술한 정보 합성 방법의 명확한 이해를 돕기 위해, 이하 음성 합성의 응용 시나리오를 예로 들어 본 발명의 실시예를 설명한다. 도 6은 본 발명의 실시예에 따른 음성 합성의 응용 시나리오에서 정보를 합성하는 방법의 신호 흐름의 개략도이다. 본 실시예에서 입력 정보와 제2샘플은 모두 텍스트 타입의 정보, 즉 텍스트 입력 Y이다. 출력 정보 f(z,Y')와 제1샘플은 모두 음성 타입의 정보, 즉 제1샘플은 음성 입력 X이다. 오토- 보코더 네트워크는 Tacotron 디코딩 프레임워크와 변환기(Transformer) 인코딩 프레임워크를 채택한다. 구체적으로, VAE에서 제1 인코더는 인코더로 설정되고, 제2 인코더는 BERT 인코더로 설정되고, 제1 디코더는 VAE에서 디코더로 설정된다. 제1디코더는 VAE의 인코더 및 BERT 인코더의 출력과 함께 CVAE 구조를 형성한다. 위의 구조에서 VAE 인코더는 주로 운율을 향상시키고 음성 합성의 안정성을 향상시키기 위한 것이며, BERT 인코더는 주로 텍스트의 의미를 이해하고 텍스트에서 문자 그대로의 운율을 캡처하기 위한 것이다.
먼저, 도 6에서 훈련 과정이 도시된다. 본 실시예에서는 오토-인코더 네트워크 훈련시 제1인코더와 제2인코더에 음소와 수동으로 추출한 텍스트 특징을 입력할 필요가 없다. 일대일 대응인 제1샘플과 제2샘플, 즉 텍스트-음성 샘플 쌍 <y,x>만 입력하면 된다. y는 입력된 텍스트(즉, 제2샘플 그룹 Y의 제2샘플)를 나타내고, x는 입력된 음성(즉, 제1샘플 그룹 X의 제1샘플)을 나타낸다. x의 형태는 음성 파형 파일(웨이브 파일)이거나 웨이브 파일에서 추출한 기본 주파수 켑스트럼 특징일 수 있다.
여기에서 VAE의 인코더는 X에 기초하여 제1 분포 파라미터를 결정하고, 그에 따라 제1 샘플이 주어진 제1 코드의 확률 분포 를 특징으로 하는 사후 분포를 결정한다. Z는 VAE에서 인코더 처리 후 X의 숨겨진 표현을 나타낸다. 즉, 제1코드 Z는 와 같이 표현될 수 있다. BERT 인코더는 Y에 따라 제2 코드 Y'를 획득한 후 미리 정해진 분포 유형에 따라 피팅을 통해 제2 코드의 분포를 획득하여 제2 분포 파라미터를 획득함으로써 제2 코드의 사전 분포 를 결정하고, 여기서 Z'는 BERT 인코더를 통해 Y를 처리한 제2 코드를 나타낸다. 제2 코드(Z')는 제1 코드(Z)에 대응하므로, , 즉, 제1 코드(Z)의 우선 분포로 이해될 수 있다.
실시예에서, 제1 분포 및 제2 분포 둘 다 정규 분포, 즉, , 이다.
그러한 경우에, 제1 분포 파라미터는 평균 및 분산 을 포함한다. 일반적으로 평균 과 분산 은 벡터로 표현될 수 있으며, 각각은 제1 샘플 그룹 X에서 제1 샘플 x의 수량과 동일한 수의 요소를 포함한다. 즉, 모든 x는 분산과 평균에 해당한다. 마찬가지로 제2 분포 파라미터는 평균 과 분산 을 포함한다.
제1분포와 제2분포를 구한 후, 제1 차이 정도를 구할 수 있다. 이 실시예에서, 제1 차이 정도는 제1 분포와 제2 분포의 상대 엔트로피이며, 이는 쿨백-라이블러(KL) 발산으로 표현된다. 예를 들어, 제1 차이 함수는 다음 방정식일 수 있다.
(1)
는 KL 발산을 계산하는 것을 나타낸다. 제1분포와 제2분포가 모두 정규분포일 때 식(1)은 로 표현될 수 있다.
다음으로, X에 대응하는 숨겨진 변수의 집합 Z를 에 기초한 샘플링을 통해 얻을 수 있다. Y'는 레이블로 디코더에 입력되고 디코더는 히든 변수 Z를 디코딩하여 오토-인코더 네트워크에서 생성된 재구성된 X, 즉 재구성된 샘플 그룹 f(Z,Y')를 얻도록 제어한다. 디코딩 동안, Y'의 각각의 제2 샘플 y에 대응하는 제2 코드 y'는 제2 샘플 y에 대응하는 제1 샘플 x의 재구성을 제어한다. 따라서 f(Z,Y')의 재구성된 샘플의 수는 X의 제1샘플의 수와 동일하다. 이 경우 제2 차이 정도를 얻을 수 있다. 본 실시예에서, 제2 차이 정도는 제1 샘플 그룹과 재구성된 샘플 그룹 간의 평균 제곱 오차일 수 있다. 예를 들어, 제2 차이 함수는 다음 방정식일 수 있다.
(2)
MSE는 평균 제곱 오차를 계산하는 것을 나타낸다.
따라서, 오토-인코더 네트워크의 전체 재구성 손실 L은 다음 방정식으로 표현될 수 있다:
(3)
재구성 손실에서, L2의 평균 제곱 오차의 제약은 VAE의 인코더가 제1샘플 그룹 X로부터의 정보를 합성하는 데 유용한 정보(운율과 같은)를 학습하는데 도움이 되는 반면, L1의 KL 발산의 제약은 VAE 인코더의 인코더가 전술한 정보를 학습할 때 확률 분포에 제한이 있음을 보장한다. 본 실시예에서는 L을 L1과 L2의 합으로 표현하였으나, 본 발명은 이에 한정되지 않으며, L이 L1과 L2 모두와 양의 상관관계에 있는 한, 다른 형태의 L이 실제로 가능할 수 있다. 예를 들어, L은 L1과 L2의 곱, L1과 L2의 가중치 합 등일 수 있다.
획득된 후, 재구성 손실 L은 그래디언트 역전파를 통해 오토-인코더 네트워크로 피드백되어 제1 인코더, 제2 인코더 및 제1 디코더를 조정한다. 일 실시예에서, 사후 분포에 대한 사전 분포의 과도한 제한을 피하기 위해, 재구성 손실 L의 L1은 다음 식에 나타낸 바와 같이 그래디언트 역전파에 참여할 때 두 부분으로 나눌 수 있다:
(4)
α 및 β는 L1에서 각각 2개의 KL 분기의 가중치를 나타낸다. 2개의 KL 발산은 다른 가중치를 제외하고 동일하며 sg는 그래디언트 깨짐, 즉 그래디언트를 역전파하지 않음을 나타낸다. 즉, sg 다음의 괄호 안의 분포는 역전파 동안 그래디언트의 해당 항의 변화에 영향을 받지 않는다. 따라서 위 식에서 KL 발산의 첫 번째 항은 사후분포가 사전분포 쪽으로 얼마만큼 변화하는지를 결정하고 파라미터 조정을 위해 제2인코더(즉, BERT 인코더)가 아닌 제1인코더(즉, VAE의 인코더)로 역전파된다. 위 식에서 KL 발산의 두 번째 항은 사전분포가 사후분포 쪽으로 얼마나 변하는지를 결정하고, 파라미터 조정을 위해 제1인코더가 아닌 제2인코더로 역전파된다. 위의 세 항은 함께 재구성 손실 함수의 공동 훈련 모델을 형성한다. 훈련 동안 제1 인코더의 주요 목적은 제1 샘플로부터 패턴을 학습하여 정보 합성에서 입력 정보를 기반으로 샘플을 재구성하는 데 패턴을 완전히 활용하는 것임을 알 수 있다. 따라서 일반적인 요구 사항은 사전 분포가 사후 분포 쪽으로 더 많이 변경된다는 것이다. 통상, 사전분포에 가까운 사후분포의 정도가 사후분포에 가까운 사전분포의 정도보다 작도록 10α=β와 같이 α < β로 한다.
상기 훈련과 종래의 음성 합성을 위한 훈련 사이에는 적어도 두 가지 주요 차이점이 있다.
먼저, 종래의 음성 합성(예: Tacotron)은 그룹의 출력을 예측하기 위해 간단한 코덱 모듈을 채택한다. 일반적으로 디코딩 측에서는 인코딩 측에서 인코딩된 context C와 디코딩을 통해 얻은 히스토리 음성 프레임 시퀀스 x1,x2,...,xT-1에 따라 현재 음성 프레임 xT를 예측해야 한다. 즉, . 여기서 Pθ는 이전 음성 프레임이 주어졌을 때 현재 음성 프레임의 조건부 확률을 나타낸다. 일반적으로 활용되는 음성 데이터는 많은 잡음과 잠재적인 발음 오류를 포함하고 있어 데이터 불확실성을 크게 증가시키며, 이러한 데이터 불확실성은 해당 텍스트를 사용하여 설명하기 어렵다. 위에서 언급한 간단한 코덱 모델은 이러한 잡음과 발음 오류를 완충할 수 없어 모델 학습에 큰 어려움을 가져온다. 이에 비해 여기에서 제1인코더(예: VAE의 인코딩 네트워크)는 제1 분포를 사용하여 이러한 잡음 및 발음 오류를 시뮬레이션하고 일반적으로 모델링하기 어려운 운율을 시뮬레이션할 수도 있다. 따라서 히스토리 프레임 시퀀스의 운율과 컨텍스트 C 외에도 제1인코더에서 제공하는 숨겨진 표현 Z는 음성 프레임을 예측할 때 잡음, 발음 오류 및 운율을 학습하는 데 더 활용될 수 있다. 즉, 현재 음성 프레임을 대략 로 표현할 수 있어 모델 학습의 어려움을 줄일 수 있다. 본 발명의 기술적 해결책이 다른 시나리오에 적용될 때, 입력 정보 및 출력 정보는 다른 유형의 정보일 수 있다. 이 경우, 상술한 히스토리 음성 프레임 시퀀스는 해당 히스토리 출력 정보로 대체될 수 있으며, 가능한 경우는 여기에서 열거하지 않는다.
둘째, 전통적인 VAE 모델은 사후분포를 정규분포로 가정할 수 있지만 사후분포를 예측하기 위해 사전분포를 표준정규분포로 설정하는 경우가 많으므로 사후분포를 예측한 후 디코딩 측의 입력값은 0 또는 0에 가까워진다. 이 경우 잡음의 일부를 제거할 수는 있지만 숨겨진 표현 Z에 포함된 운율이 손실되어 합성 결과 운율 변동이 좋지 않게 된다. 이에 비해 여기서는 제2 인코더를 이용하여 제2 샘플을 인코딩한 후, 인코딩으로부터 얻은 사전분포를 이용하여 사후분포를 예측한다. 사전분포는 음성에 해당하는 텍스트의 특징으로 구성되어 있기 때문에 운율 변동을 그대로 유지하여 잡음 제거 시 운율 손실을 방지할 수 있다.
이하 도 6의 음성 합성 과정을 도시한다. 이러한 과정은 도 6의 점선 상자로 간략하게 표시된다. 음성 합성 중에 제1디코더(즉, VAE의 인코더)에는 실제 입력, 즉 x가 없으므로 훈련에서와 같이 X에서 제1 분포를 얻을 수 없다. 이 경우, 목표 샘플 코드 Z(즉, 은닉 표현 Z)를 얻기 위해 샘플링하기 위한 사전 분포를 사용하여 예측된 제1 목표 분포를 기반으로 샘플링이 수행된다. 텍스트 Y를 인코딩하는 제2인코더(즉, BERT 인코더)를 통해 생성된 목표 샘플 코드 Z와 목표 코드 Y'가 함께 디코더에 입력되어 Y에 해당하는 음성 f(Z,Y')가 디코딩을 통해 합성된다. 샘플링을 통해 얻은 목표 샘플링 코드 Z는 여전히 음성 신호의 숨겨진 표현으로 간주될 수 있다. 제2인코더는 텍스트 입력을 처리하므로 Z에는 제2인코더 처리에서 얻을 수 없는 운율 및 잡음이 포함된다. 따라서 사후분포가 사전분포로부터 학습하는 것은 주로 텍스트를 기반으로 예측된 운율 정보이며, 운율 정보는 최종 합성 음성에서 잡음을 더욱 억제할 수 있다.
도 6은 텍스트 정보를 기반으로 음성 정보를 생성하는 음성 합성의 응용 시나리오를 나타내고 있지만, 본 발명의 방법은 다른 응용 시나리오에도 적용 가능하다. 예를 들어, 텍스트 정보를 기반으로 영상 정보를 생성할 수 있고, 영상 정보를 기반으로 음성 정보를 생성할 수 있으며, 음성 정보를 기반으로 텍스트 정보를 생성할 수 있다. 다른 시나리오에 적용될 때, 제1 디코더, 제2 디코더 및 제1 인코더는 상응하는 인공 신경망 모델을 채택할 수 있다.
상기 설명은 주로 단계 S105를 기반으로 한다. 즉, 음성 합성 방법은 대응하는 훈련 프로세스를 포함한다. 일부 실시예에서, 훈련 및 음성 합성의 효율성을 향상시키기 위해, 전체 오토-인코더 네트워크를 훈련시키기 전에 제2 인코더가 미리 훈련될 수 있다. 도 7은 본 발명의 다른 실시예에 따른 정보 합성 방법의 개략적인 흐름도이다. 도 7에 도시된 바와 같이, 정보를 합성하는 방법은 도 2에 도시된 방법에 기초하여 단계 S105 이전에 다음 단계 S106을 더 포함한다.
단계 S106에서, 사전 훈련 샘플 그룹을 기반으로 제2 인코더를 초기화한다.
이 단계에서 사전 훈련 샘플 그룹은 하나 이상의 사전 훈련 샘플을 포함한다. 일반적으로 사전 훈련 샘플의 종류는 입력 정보의 종류와 동일하다. 제2인코더의 파라미터를 초기화하고 입력 정보 및 제2샘플 그룹에 대한 이해 능력을 높이고 오토-인코더 네트워크에서 예측의 합리성을 향상시키기 위해 사전 훈련 샘플의 수량이 많다. 예를 들어, 제2인코더는 BERT 모델이고 사전 훈련 샘플 그룹은 얻기 쉬운 많은 수의 텍스트 조각으로 구성된다. 따라서, 합성된 출력 정보의 운율(예를 들어, 음성 합성에서)이 개선될 수 있으며, 이는 합성에서 프런트 엔드의 부족으로 인해 발생할 수 있는 불합리한 문장 끊김 및 불합리한 중단을 억제한다.
이하, 본 발명의 실시예에 따른 정보 합성 방법이 기존 기술에 비해 갖는 장점을 설명하기 위해 다국어 음성 합성을 예로 들어 설명한다. 표 1은 동일한 청력 측정 환경에서 구글 번역기의 음성 합성 서비스와 본 발명의 실시예에 따른 방법을 적용한 음성 합성 시스템(이하 베이스 시스템)의 평가 결과(평균 의견 점수, MOS로 측정)를 나타낸 것이다. 평가 대상은 포르투갈어, 힌디어, 인도네시아어, 독일어, 이탈리아어 및 말레이어 등 6개 언어로 합성된 음성의 자연스러움(운율 및 음색 등)에 관한 것이다.
언어 구글 베이스
포르투칼어 3.78 3.68
힌디어 3.85 2.99
인도네시아어 3.03 3.94
독일어 3.4 3.76
이탈리어어 3.33 4.02
말레이어 No speech service 3.76
평균 3.48 3.69
표 1은 일부 단일 언어에 대한 MOS 또는 6개 언어의 평균 MOS에 관계없이 음성 합성에서 베이스 시스템의 성능이 구글 번역기보다 우수함을 보여준다.
다른 양상에서, 본 발명의 실시예에 따라 정보를 합성하기 위한 장치가 제공된다. 이 장치는 제1 인코더, 제2 인코더 및 제1 디코더를 포함하는 오토-인코더 네트워크에 적용 가능하다. 오토-인코더 네트워크의 세부사항은 전술한 방법 실시예를 참조할 수 있으며, 여기에서 반복하지 않는다.
이하, 도 8을 참조하여 장치를 설명한다. 도 8은 본 발명의 일 실시예에 따른 정보 합성 장치의 개략적인 구조도이다. 도 8에 도시된 바와 같이, 장치는 분포 획득 모듈(801), 샘플링 모듈(802), 인코딩 모듈(803) 및 디코딩 모듈(804)을 포함한다.
분포 획득 모듈(801)은 오토-인코더 네트워크 훈련을 통해 획득된 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포를 결정하도록 구성된다. 제1 목표 분포는 사후 분포를 특징짓고 제1 인코더의 입력이 주어진 제1 인코더의 출력의 확률 분포이다. 오토-인코더 네트워크의 훈련에서 제1인코더에 입력된 샘플은 제2인코더에 입력된 샘플과 일대일 대응하며, 제2인코더에서 결정된 사전분포는 제1목표분포를 예측하기 위한 것이다.
샘플링 모듈(802)은 제1 목표 분포에 기초한 샘플링을 통해 목표 샘플 코드를 획득하도록 구성된다.
인코딩 모듈(803)은 제2인코더를 훈련하여 획득한 훈련된 제2코더를 통해 입력 정보를 인코딩하여 입력 정보의 목표 코드를 획득하도록 구성된다.
디코딩 모듈(804)은 목표 코드에 따라 제1 디코더를 훈련하여 획득한 훈련된 제1 디코더를 통해 목표 샘플 코드를 디코딩하여 출력 정보를 획득하도록 구성된다.
도 9는 본 개시내용의 다른 실시예에 따른 정보를 합성하기 위한 장치의 개략적인 구조도이다. 도 8에 도시된 바와 같은 구조에 기초하여, 장치는 훈련 모듈(805)을 더 포함한다.
훈련 모듈(805)은 훈련된 제1 인코더, 훈련된 제2 인코더 및 훈련된 제1 디코더를 각각 얻기 위해 제1 인코더, 제2 인코더 및 제1 디코더를 훈련하도록 구성된다.
일 실시예에서, 훈련 모듈(805)은 입력부 및 조정부를 포함한다.
입력부는 제1 샘플 그룹 및 제2 샘플 그룹을 오토-인코더 네트워크에 입력하도록 구성된다. 제1 샘플 그룹은 출력 정보와 동일한 유형의 제1 샘플을 포함한다. 제2 샘플 그룹은 입력 정보와 동일한 유형의 제2 샘플을 포함한다. 제2샘플은 제1샘플과 일대일로 대응된다.
조정부는 오토-인코더 네트워크에서의 제1 샘플 그룹의 재구성 손실이 미리 설정된 조건을 만족할 때까지 제1 인코더, 제2 인코더 및 제1 디코더의 파라미터를 조정하도록 구성된다.
실시예에서, 미리 설정된 조건은 최소에 도달하는 재구성 손실 또는 미리 설정된 값보다 작은 재구성 손실이다.
실시예에서, 재구성 손실은 다음 단계를 통해 얻어진다. 제1 분포 파라미터는 제1 샘플에 따라 제1 인코더를 통해 결정되며, 제1 분포 파라미터는 제1 샘플을 각각 인코딩하여 획득된 제1 코드의 제1 분포를 특성화하도록 구성된다. 제1샘플에 대한 샘플 코드는 제1 분포 파라미터를 기반으로 얻는다. 제2 샘플 그룹은 제2 인코더를 통해 인코딩되어 제2 샘플의 제2 코드를 획득한다. 제2 분포 파라미터는 제2 코드에 따라 획득되며, 여기서 제2 분포 파라미터는 제2 코드의 제2 분포를 특성화하도록 구성되고, 제2 샘플의 제2 코드는 제1 샘플의 제1 코드에 각각 대응한다. 제1 분포 파라미터 및 제2 분포 파라미터에 기초하여 제1 분포와 제2 분포 사이의 제1 차이 정도를 구한다. 제1 샘플에 대한 샘플 코드는 각각 대응되는 제2 코드에 따라 제1 디코더를 통해 디코딩되어 제1 샘플의 재구성 샘플을 획득하고, 제1 샘플의 재구성 샘플은 재구성 샘플 그룹을 형성한다. 제1 샘플 그룹과 재구성 샘플 그룹에 따라 제1 샘플 그룹과 재구성 샘플 그룹의 제2 차이 정도를 구한다. 재구성 손실은 제1 차이 정도와 제2 차이 정도를 기반으로 구한다. 재구성 손실이 미리 설정된 조건을 만족하면 제1인코더의 파라미터가 훈련된 제1인코더의 파라미터가 되고 제1 분포가 제1 목표 분포가 된다.
일 실시예에서, 제1 차이 정도는 제1 분포와 제2 분포 사이의 상대적 엔트로피이다.
일 실시예에서, 그래디언트 역전파 동안, 제1 차이 정도의 제1 부분은 제2 인코더가 아닌 제1 인코더로 역전파되고, 제1 차이 정도의 제2 부분은 제1 인코더가 아닌 제2 인코더로 역전파되며, 여기서 제1 부분은 제2 부분보다 작다.
실시예에서, 제1 분포 및 제2 분포는 동일한 유형의 확률 분포이다.
실시예에서, 제1 분포 및 제2 분포는 각각 정규 분포이고, 제1 분포 파라미터 및 제2 분포 파라미터는 각각 정규 분포의 평균 및 분산을 포함한다.
도 10은 본 개시내용의 다른 실시예에 따른 정보를 합성하기 위한 장치의 개략적인 구조도이다. 도 9에 도시된 바와 같은 구조에 기초하여, 장치는 초기화 모듈(806)을 더 포함한다.
초기화 모듈(806)은 사전 훈련 샘플 그룹에 기초하여 제2 인코더를 초기화하도록 구성되며, 사전 훈련 샘플 그룹의 각 샘플은 입력 정보와 동일한 유형이다.
실시예에서, 제1 인코더는 CVAE의 인코더이고, 제1 디코더는 CVAE의 디코더이다.
실시예에서, 제2 인코더는 BERT 모델이다.
일 실시예에서, 입력 정보는 텍스트이고 출력 정보는 음성이다.
일 실시예에서, 제1 디코더는 음성의 디코딩된 히스토리 프레임 시퀀스 및 텍스트의 컨텍스트에 기초하여 음성의 현재 프레임을 결정하도록 구성된다.
일 실시예에서, 제1 인코더, 제2 인코더 및 제1 디코더를 훈련시킬 때, 제1 인코더 및 제2 인코더에는 음소 또는 수동으로 추출된 텍스트 특징이 입력되지 않는다.
정보를 합성하기 위한 장치는 본 발명의 실시예에 따라 제공된다. 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포가 결정되고, 제1 목표 분포를 기반으로 샘플링을 통해 목표 샘플 코드를 얻는다. 입력 정보는 훈련된 제2 인코더를 통해 인코딩되어 입력 정보의 목표 코드를 획득한다. 목표 샘플 코드는 목표 코드에 따라 훈련된 제1 디코더를 통해 디코딩되어 출력 정보를 얻는다. 제1 목표 분포는 사후 분포를 특징짓고 제1인코더의 입력이 주어진 제1인코더 출력의 확률 분포이다. 오토-인코더 네트워크의 훈련에서 제1인코더에 입력된 샘플은 제2인코더에 입력된 샘플과 일대일 대응하며, 제2인코더에서 결정된 사전 분포는 제1 목표 분포를 예측하기 위한 것이다. 따라서, 디코딩을 통해 얻은 출력 정보와 입력 정보의 일치도는 훈련 과정에서 제1 인코더에 입력된 샘플과 제2 인코더에 입력된 샘플 간의 일치도를 높게 근사(또는 시뮬레이션)할 수 있다. 즉, 출력 정보와 입력 정보가 잘 일치한다. 따라서 음성 합성, 특히 다국어 음성 합성에서 음성 샘플의 품질에 대한 제한이 완화된다. 많은 수의 훈련 샘플이 적합하므로 최종 합성된 음성은 운율, 일시 중지 및 텍스트 기반 발음에서 더 나은 성능을 보인다.
다른 양상에서, 본 발명의 실시예에 따른 전자 장치가 제공된다. 전자 장치는 메모리와 프로세서를 포함한다. 메모리는 명령어를 저장하고, 프로세서에 의해 실행될 때 명령어는 정보를 합성하기 위한 전술한 방법을 수행하도록 장치를 구성한다.
다른 양상에서, 본 발명의 일 실시예에 따라 비일시적 컴퓨터 판독 가능 저장 매체가 제공된다. 저장 매체는 명령어를 저장하고, 프로세서에 의해 실행될 때 명령어는 정보를 합성하기 위한 전술한 방법을 구현한다.
컴퓨터 판독 가능 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등 또는 이들의 조합을 포함한다. 컴퓨터로 읽을 수 있는 저장매체에 기록된 프로그램은 본 발명의 방법을 구현하기 위해 프로그래밍되거나 구성될 수 있다. 컴퓨터 판독 가능 저장 매체는 프로그램 명령어를 저장하고 실행하기 위한 하드웨어 시스템을 더 포함한다. 하드웨어 시스템은 자기 매체(하드 디스크, 플로피 디스크, 자기 테이프 등), 광학 매체(CD-ROM, DVD 등), 광자기 매체(플로피 광 디스크, ROM, RAM, 플래시 메모리 등)일 수 있다. 프로그램에는 컴파일러에 의해 컴파일된 어셈블리어 코드 또는 기계어 코드와 인터프리터에 의해 해석되는 고급 언어 코드가 포함된다. 이러한 하드웨어 시스템은 본 발명을 준수하기 위해 적어도 하나의 소프트웨어 모듈로 구현될 수 있다.
당업자에 의해 추가로 이해되는 바와 같이, 본 명세서에 개시된 실시예에 따라 설명된 예의 구성부(유닛) 및 알고리즘 단계는 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들의 조합의 형태로 구현될 수 있다. 하드웨어와 소프트웨어의 호환성을 명확하게 설명하기 위해 실시예의 구성 요소와 단계는 일반적으로 위 설명의 기능에 따라 설명된다. 기능을 구현하는 데 하드웨어 또는 소프트웨어를 사용하는지 여부는 기술 해결책에 대한 특정 응용 프로그램 및 설계 제약 조건에 따라 다르다. 각각의 특정 애플리케이션에 대해, 설명된 기능을 구현하기 위해 당업자에 의해 상이한 방법이 사용될 수 있으며, 이러한 구현은 본 개시의 범위를 벗어나는 것으로 간주되어서는 안 된다.
본 발명의 실시예들은 점진적인 방식으로 설명되며, 각 실시예는 다른 실시예와의 차이점을 강조한다. 그러므로, 하나의 실시예는 동일 또는 유사한 구성요소에 대해 다른 실시예를 참조할 수 있다. 실시예에 개시된 장치는 실시예에 개시된 방법에 대응하므로, 장치에 대한 설명은 간단하고, 방법의 관련 부분을 참조할 수 있다.
개시된 실시예의 설명에 따르면, 당업자는 본 개시를 구현하거나 사용할 수 있다. 이들 실시예에 대한 다양한 수정은 당업자에게 자명할 수 있으며, 여기서 정의된 일반적인 원리는 본 개시의 사상 또는 범위를 벗어나지 않고 다른 실시예에서 구현될 수 있다. 따라서, 본 발명은 여기에 설명된 실시예에 제한되지 않고 본 발명에 개시된 원리 및 신규 특징에 따른 가장 넓은 범위를 따른다.

Claims (20)

  1. 정보를 합성하는 방법에 있어서,
    오토-인코더 네트워크를 훈련시켜 얻은 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포를 결정하는 단계를 포함하며, 여기서
    상기 제1 목표 분포는 사후 분포를 특징짓고 제1 인코더의 입력이 주어지면 제1 인코더의 출력이고,
    상기 오토-인코더 네트워크의 훈련에서, 상기 제1 인코더에 입력된 샘플은 제2 인코더에 입력된 샘플과 일대일 대응하고, 상기 제2 인코더에 의해 결정된 사전 분포는 상기 제1 목표 분포를 예측하기 위한 것이며;
    상기 제1 목표 분포에 기초한 샘플링을 통해 목표 샘플 코드를 획득하는 단계;
    제2인코더를 훈련시켜 얻은 훈련된 제 2인코더를 통해, 입력정보를 인코딩하여, 상기 입력정보의 목표 코드를 획득하는 단계; 및
    제1 디코더를 훈련시켜 얻은 훈련된 제1 디코더를 통해, 상기 목표 샘플 코드를 목표 코드에 따라 디코딩하여, 출력 정보를 획득하는 단계를 포함하는, 정보를 합성하는 방법.
  2. 제1항에 있어서,
    훈련된 제1 인코더, 훈련된 제2 인코더 및 훈련된 제1 디코더를 각각 얻기 위해 제1 인코더, 제2 인코더 및 제1 디코더를 훈련하는 단계를 더 포함하는, 정보를 합성하는 방법.
  3. 제2항에 있어서, 상기 제1 인코더, 제2 인코더 및 제1 디코더를 훈련하기 전에, 상기 방법은,
    사전 훈련 샘플 그룹에 기초하여 제2 인코더를 초기화하는 단계 - 여기서 사전 훈련 샘플 그룹의 각 샘플은 입력 정보와 동일한 유형임 - 를 더 포함하는, 정보를 합성하는 방법.
  4. 제2항에 있어서, 상기 제1 인코더, 제2 인코더 및 제1 디코더를 훈련시키는 단계는,
    제1 샘플 그룹 및 제2 샘플 그룹을 오토-인코더 네트워크에 입력하는 단계로, 여기서
    상기 제1샘플 그룹은 출력 정보와 동일한 유형의 제1 샘플을 포함하고,
    상기 제2샘플 그룹은 입력 정보와 동일한 유형의 제2 샘플을 포함하고,
    상기 제2 샘플은 상기 제1 샘플과 일대일 대응하고; 그리고
    상기 오토-인코더 네트워크에서의 제1 샘플 그룹의 재구성 손실이 미리 설정된 조건을 만족할 때까지 제1 인코더, 제2 인코더 및 제1 디코더의 파라미터를 조정하는 단계를 더 포함하는, 정보를 합성하는 방법.
  5. 제4항에 있어서, 상기 재구성 손실은 다음의 단계를 통해 얻어지는,
    상기 제1 샘플에 따라 상기 제1 인코더를 통해 제1 분포 파라미터를 결정하는 단계, 여기서 상기 제1 분포 파라미터는 상기 제1 샘플을 각각 인코딩하여 획득된 제1 코드의 제1 분포를 특성화하도록 구성됨;
    상기 제1 분포 파라미터에 기초하여 상기 제1 샘플에 대한 샘플 코드를 획득하는 단계; 상기 제2 인코더를 통해 상기 제2 샘플 그룹을 인코딩하여 상기 제2 샘플의 제2 코드를 획득하는 단계;
    상기 제2 코드에 따라 제2 분포 파라미터를 획득하는 단계로, 여기서 상기 제2분포 파라미터는 상기 제2 코드의 제2 분포를 특성화하도록 구성되고, 상기 제2 샘플의 상기 제2 코드는 상기 제1 샘플의 상기 제1 코드에 각각 대응함;
    상기 제1 분포 파라미터 및 상기 제2 분포 파라미터에 기초하여 상기 제1 분포와 상기 제2 분포 사이의 제1 차이 정도(degree of difference)를 구하는 단계;
    대응하는 제2 코드에 따라 상기 제1 디코더를 통해 상기 제1 샘플에 대한 샘플 코드를 각각 디코딩하여 상기 제1 샘플의 재구성 샘플을 획득하는 단계로, 여기서 상기 제1 샘플의 재구성 샘플은 재구성 샘플 그룹을 형성함;
    상기 제1 샘플 그룹과 상기 재구성된 샘플 그룹에 따라 상기 제1 샘플 그룹과 상기 재구성된 샘플 그룹의 제2차이 정도(degree of difference)를 구하는 단계; 그리고
    상기 제1 차이 정도 및 상기 제2 차이 정도에 기초하여 재구성 손실을 구하는 단계;
    여기서 상기 재구성 손실이 미리 설정된 조건을 만족하는 경우, 상기 제1 인코더의 파라미터는 훈련된 제1 인코더의 파라미터가 되고, 상기 제1 분포는 상기 제1 목표 분포가 되는, 정보를 합성하는 방법.
  6. 제4항에 있어서, 상기 미리 설정된 조건은 상기 재구성 손실이 최소에 도달하거나 상기 재구성 손실이 미리 설정된 값보다 작은 것인, 정보를 합성하는 방법.
  7. 제5항에 있어서, 상기 재구성 손실이 미리 설정된 조건을 만족할 때까지 상기 제1 인코더, 상기 제2 인코더 및 상기 제1 디코더의 파라미터를 조정할 때,
    그래디언트 역전파 동안,
    제1차이 정도의 제1부분을 제2인코더가 아닌 제1인코더로 역전파하는 단계, 및
    상기 제1 인코더가 아닌 상기 제1 차이 정도의 제2 부분을 상기 제2 인코더로 역전파하는 단계, 여기서 상기 제1 부분은 상기 제2 부분보다 작은, 를 더 포함하는, 정보를 합성하는 방법.
  8. 제5항에 있어서, 상기 제1 차이 정도는 상기 제1 분포와 상기 제2 분포 사이의 상대 엔트로피인, 정보를 합성하는 방법.
  9. 제5항에 있어서, 상기 제1 분포 및 상기 제2 분포는 동일한 유형의 확률 분포인, 정보를 합성하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 제1 인코더는 조건부 변동 오토-인코더의 인코더이고, 상기 제1 디코더는 상기 조건부 변동 오토-인코더의 디코더인, 정보를 합성하는 방법.
  11. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 제2 인코더는 변환기로부터의 양방향 인코더 표현의 모델인, 정보를 합성하는 방법.
  12. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 입력 정보는 텍스트이고, 상기 출력 정보는 음성인 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 제1 디코더는 음성의 디코딩된 히스토리 프레임 시퀀스 및 텍스트의 컨텍스트에 기초하여 음성의 현재 프레임을 결정하도록 구성되는, 정보를 합성하는 방법.
  14. 제12항에 있어서, 상기 제1인코더, 제2인코더 및 제1디코더를 훈련할 때, 상기 제1인코더 및 제2인코더에는 음소 또는 수작업으로 추출한 문자 특징이 입력되지 않는, 정보를 합성하는 방법.
  15. 제1 인코더, 제2 인코더 및 제1 디코더를 포함하는 오토-인코더 네트워크에 적용 가능한 정보 합성 장치에 있어서,
    상기 오토-인코더 네트워크를 훈련시켜 얻은 훈련된 오토-인코더 네트워크에 따라 제1 목표 분포를 결정하도록 구성된 분포 획득 모듈로서, 여기서
    상기 제1 목표 분포는 사후 분포를 특징짓고, 상기 제1 인코더의 입력이 주어지면 상기 제1 인코더의 출력의 확률 분포이고,
    상기 오토-인코더 네트워크의 훈련에서, 상기 제1인코더에 입력된 샘플은 상기 제2인코더에 입력된 샘플과 일대일 대응하고, 상기 제2인코더에 의해 결정된 사전 분포는 상기 제1목표 분포를 예측하기 위한 것이며;
    상기 제1 목표 분포에 기초한 샘플링을 통해 목표 샘플 코드를 획득하도록 구성된 샘플링 모듈;
    상기 제2인코더를 훈련시켜 얻은 훈련된 제2인코더를 통해, 입력 정보를 인코딩하여 상기 입력 정보의 목표 코드를 획득하도록 구성된 인코딩 모듈; 및
    상기 목표 코드에 따라 상기 제1 디코더를 훈련시켜 얻은 훈련된 제1 디코더를 통해 상기 목표 샘플 코드를 디코딩하여 출력 정보를 획득하도록 구성된 디코딩 모듈을 포함하는, 정보 합성 장치.
  16. 제15항에 있어서,
    훈련된 제1 인코더, 훈련된 제2 인코더 및 훈련된 제1 디코더를 각각 획득하기 위해 제1 인코더, 제2 인코더 및 제1 디코더를 훈련하도록 구성된 훈련 모듈을 더 포함하는, 정보 합성 장치.
  17. 제16항에 있어서,
    사전 훈련 샘플 그룹에 기초하여 상기 제2 인코더를 초기화하도록 구성된 초기화 모듈을 더 포함하되, 여기서 사전 훈련 샘플 그룹의 각 샘플은 입력 정보와 동일한 유형인, 정보 합성 장치.
  18. 제16항에 있어서, 상기 훈련 모듈은,
    제1 샘플 그룹 및 제2 샘플 그룹을 오토-인코더 네트워크에 입력하기 위한 입력부, 여기서 상기 제1 샘플 그룹은 그 각각이 상기 출력 정보와 동일한 유형의 제1 샘플을 포함하며, 상기 제2 샘플 그룹은 그 각각이 상기 입력 정보와 동일한 유협의 제2 샘플을 포함하고, 상기 제2 샘플은 상기 제1 샘플과 일대일 대응됨; 및
    오토-인코더 네트워크에서의 상기 제1 샘플 그룹의 재구성 손실이 미리 설정된 조건을 충족할 때까지 상기 제1 인코더, 상기 제2 인코더 및 상기 제1 디코더의 파라미터를 조정하도록 구성된 조정부를 포함하는, 정보 합성 장치.
  19. 메모리 및 프로세서를 포함하는 전자 장치에 있어서,
    메모리는 명령어를 저장하고, 프로세서에 의해 실행될 때 상기 명령어는 상기 전자 장치가 청구항 1 내지 14 중 어느 한 항에 따른 방법을 수행하도록 구성된, 전자 장치.
  20. 프로세서에 의해 실행될 때 명령어는 청구항 1 내지 14 중 어느 한 항에 따른 방법을 구현하는, 저장 매체.
KR1020237025819A 2020-12-30 2021-01-28 정보 합성 방법 및 장치, 전자 장치 및 컴퓨터 판독가능 저장 매체 KR20230127293A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202011624655.8 2020-12-30
CN202011624655.8A CN112786005B (zh) 2020-12-30 2020-12-30 信息合成方法、装置、电子设备和计算机可读存储介质
PCT/CN2021/074020 WO2022141714A1 (zh) 2020-12-30 2021-01-28 信息合成方法、装置、电子设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
KR20230127293A true KR20230127293A (ko) 2023-08-31

Family

ID=75754429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237025819A KR20230127293A (ko) 2020-12-30 2021-01-28 정보 합성 방법 및 장치, 전자 장치 및 컴퓨터 판독가능 저장 매체

Country Status (5)

Country Link
EP (1) EP4273854A1 (ko)
JP (1) JP2024502049A (ko)
KR (1) KR20230127293A (ko)
CN (1) CN112786005B (ko)
WO (1) WO2022141714A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115410549A (zh) * 2021-05-26 2022-11-29 唯思电子商务(深圳)有限公司 基于神经网络的印尼语语音合成方法
CN113488022B (zh) * 2021-07-07 2024-05-10 北京搜狗科技发展有限公司 一种语音合成方法和装置
CN113628610B (zh) * 2021-08-12 2024-02-13 科大讯飞股份有限公司 一种语音合成方法和装置、电子设备
CN113628630B (zh) * 2021-08-12 2023-12-01 科大讯飞股份有限公司 基于编解码网络的信息转换方法和装置、电子设备
CN113496222B (zh) * 2021-09-09 2021-12-07 南方电网数字电网研究院有限公司 基于无标签图表数据的模式识别方法、装置和计算机设备
WO2024012040A1 (en) * 2022-07-15 2024-01-18 Huawei Technologies Co., Ltd. Method for speech generation and related device
CN115376484A (zh) * 2022-08-18 2022-11-22 天津大学 基于多帧预测的轻量级端到端语音合成系统构建方法
CN117116350B (zh) * 2023-10-25 2024-02-27 中国农业科学院深圳农业基因组研究所(岭南现代农业科学与技术广东省实验室深圳分中心) Rna测序数据的校正方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195656B2 (en) * 2013-12-30 2015-11-24 Google Inc. Multilingual prosody generation
CN107731242B (zh) * 2017-09-26 2020-09-04 桂林电子科技大学 一种广义最大后验的谱幅度估计的增益函数语音增强方法
KR102174189B1 (ko) * 2018-08-10 2020-11-04 서울대학교산학협력단 브이에이이 모델 기반의 반지도 학습을 이용한 음향 정보 인식 방법 및 시스템
CN109474671B (zh) * 2018-10-23 2023-04-18 深圳市一体数科科技有限公司 一种智能车载设备及其通信方法
CN110533620B (zh) * 2019-07-19 2021-09-10 西安电子科技大学 基于aae提取空间特征的高光谱和全色图像融合方法
CN111081259B (zh) * 2019-12-18 2022-04-15 思必驰科技股份有限公司 基于说话人扩充的语音识别模型训练方法及系统
CN111128118B (zh) * 2019-12-30 2024-02-13 科大讯飞股份有限公司 语音合成方法、相关设备及可读存储介质
CN111199727B (zh) * 2020-01-09 2022-12-06 厦门快商通科技股份有限公司 语音识别模型训练方法、系统、移动终端及存储介质
CN111667816B (zh) * 2020-06-15 2024-01-23 北京百度网讯科技有限公司 模型训练方法、语音合成方法、装置、设备和存储介质
CN111881926A (zh) * 2020-08-24 2020-11-03 Oppo广东移动通信有限公司 图像生成、图像生成模型的训练方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112786005A (zh) 2021-05-11
CN112786005B (zh) 2023-12-01
EP4273854A1 (en) 2023-11-08
WO2022141714A1 (zh) 2022-07-07
JP2024502049A (ja) 2024-01-17

Similar Documents

Publication Publication Date Title
KR20230127293A (ko) 정보 합성 방법 및 장치, 전자 장치 및 컴퓨터 판독가능 저장 매체
CN113470662B (zh) 生成和使用用于关键词检出系统的文本到语音数据和语音识别系统中的说话者适配
Kleijn et al. Wavenet based low rate speech coding
CN111883102B (zh) 一种双层自回归解码的序列到序列语音合成方法及系统
CN115641543B (zh) 一种多模态抑郁情绪识别方法及装置
GB2326320A (en) Text to speech synthesis using neural network
CN111508470A (zh) 一种语音合成模型的训练方法及装置
CN113506562A (zh) 基于声学特征与文本情感特征融合的端到端语音合成方法及系统
US20240087558A1 (en) Methods and systems for modifying speech generated by a text-to-speech synthesiser
CN113205792A (zh) 一种基于Transformer和WaveNet的蒙古语语音合成方法
EP4266306A1 (en) A speech processing system and a method of processing a speech signal
CN114023300A (zh) 一种基于扩散概率模型的中文语音合成方法
CN113539268A (zh) 一种端到端语音转文本罕见词优化方法
CN113628610A (zh) 一种语音合成方法和装置、电子设备
CN117877460A (zh) 语音合成方法、装置、语音合成模型训练方法、装置
CN113823257A (zh) 语音合成器的构建方法、语音合成方法及装置
CN113628630B (zh) 基于编解码网络的信息转换方法和装置、电子设备
CN113793600B (zh) 语音识别方法、装置、设备及存储介质
EP4205104A1 (en) System and method for speech processing
CN114203151A (zh) 语音合成模型的训练的相关方法以及相关装置、设备
Kim et al. SC VALL-E: Style-Controllable Zero-Shot Text to Speech Synthesizer
Ding A Systematic Review on the Development of Speech Synthesis
CN118471201B (zh) 一种高效自适应面向语音识别引擎的热词纠错方法与系统
CN116403562B (zh) 一种基于语义信息自动预测停顿的语音合成方法、系统
Zhang Research on Phoneme Recognition using Attention-based Methods

Legal Events

Date Code Title Description
E902 Notification of reason for refusal