IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7393585テキスト読み上げのためのWaveNetの自己トレーニング
<>
  • 特許-テキスト読み上げのためのWaveNetの自己トレーニング 図1
  • 特許-テキスト読み上げのためのWaveNetの自己トレーニング 図2
  • 特許-テキスト読み上げのためのWaveNetの自己トレーニング 図3
  • 特許-テキスト読み上げのためのWaveNetの自己トレーニング 図4
  • 特許-テキスト読み上げのためのWaveNetの自己トレーニング 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】テキスト読み上げのためのWaveNetの自己トレーニング
(51)【国際特許分類】
   G10L 13/06 20130101AFI20231129BHJP
   G10L 25/30 20130101ALI20231129BHJP
【FI】
G10L13/06 230Z
G10L13/06 240Z
G10L25/30
【請求項の数】 18
(21)【出願番号】P 2023501283
(86)(22)【出願日】2021-05-03
(65)【公表番号】
(43)【公表日】2023-07-04
(86)【国際出願番号】 US2021030479
(87)【国際公開番号】W WO2022010569
(87)【国際公開日】2022-01-13
【審査請求日】2023-03-06
(31)【優先権主張番号】16/925,230
(32)【優先日】2020-07-09
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マニシュ・シャルマ
(72)【発明者】
【氏名】トム・マリウス・ケンター
(72)【発明者】
【氏名】ロバート・クラーク
【審査官】大野 弘
(56)【参考文献】
【文献】特開2019-211747(JP,A)
【文献】Aaron van Oord,Parallel WaveNet:Fast High-Fidelity Speech Synthesis ,2017年11月28日,pp4-6,https://arxiv.org/pdf/1711.10433.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/06
G10L 25/30
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェアにおいて、複数の録音された音声の生のオーディオ波形サンプルを受信するステップと、
前記データ処理ハードウェアによって、前記複数の録音された音声の生のオーディオ波形サンプルを使用して第1の自己回帰ニューラルネットワークをトレーニングするステップであって、前記トレーニングされた第1の自己回帰ニューラルネットワークが、テキスト入力の可聴表現としての合成音声の生のオーディオ波形を出力するように構成されている、ステップと、
前記データ処理ハードウェアによって、前記トレーニングされた第1の自己回帰ニューラルネットワークからの出力として、複数の合成音声の生のオーディオ波形サンプルを生成するステップであって、前記複数の合成音声の生のオーディオ波形サンプルの量が前記複数の録音された音声の生のオーディオ波形サンプルの量よりも多い、ステップと、
前記データ処理ハードウェアによって、前記トレーニングされた第1の自己回帰ニューラルネットワークからの出力として生成された前記複数の合成音声の生のオーディオ波形サンプルを使用して第2の自己回帰ニューラルネットワークをトレーニングするステップと、
前記データ処理ハードウェアによって、前記トレーニングされた第2の自己回帰ニューラルネットワークをフィードフォワードニューラルネットワークへと蒸留するステップと
を含む、コンピュータが実行する方法。
【請求項2】
前記第2の自己回帰ニューラルネットワークが、
前記第1の自己回帰ニューラルネットワークとは異なる自己回帰ニューラルネットワークを含むか、または
前記第1の自己回帰ニューラルネットワークと同じ自己回帰ニューラルネットワークを含み、それによって、前記複数の合成音声の生のオーディオ波形サンプルを使用して前記第2の自己回帰ニューラルネットワークをトレーニングするステップが、前記複数の合成音声の生のオーディオ波形サンプルを使用して前記第1の自己回帰ニューラルネットワークを再トレーニングするステップを含む、請求項1に記載のコンピュータが実行する方法。
【請求項3】
前記複数の録音された音声サンプルが、それぞれの数の録音された音声サンプルを含み、前記複数の合成音声の生のオーディオ波形サンプルが、それぞれの数の合成音声サンプルを含み、前記それぞれの数の録音された音声サンプルが、前記それぞれの数の合成音声サンプルよりも少ない、請求項1に記載のコンピュータが実行する方法。
【請求項4】
前記それぞれの数の合成音声サンプルが、前記それぞれの数の録音された音声サンプルよりも少なくとも1倍多い、請求項3に記載のコンピュータが実行する方法。
【請求項5】
データ処理ハードウェアにおいて、複数の録音された音声サンプルを受信するステップと、
前記データ処理ハードウェアによって、前記複数の録音された音声サンプルを使用して第1の自己回帰ニューラルネットワークをトレーニングするステップであって、前記トレーニングされた第1の自己回帰ニューラルネットワークが、テキスト入力の可聴表現としての合成音声を出力するように構成されている、ステップと、
前記データ処理ハードウェアによって、前記トレーニングされた第1の自己回帰ニューラルネットワークを使用して複数の合成音声サンプルを生成するステップであって、前記複数の合成音声サンプルの量が前記複数の録音された音声サンプルの量よりも多い、ステップと、
前記データ処理ハードウェアによって、前記トレーニングされた第1の自己回帰ニューラルネットワークからの前記複数の合成音声サンプルを使用して第2の自己回帰ニューラルネットワークをトレーニングするステップと、
前記データ処理ハードウェアによって、前記トレーニングされた第2の自己回帰ニューラルネットワークをフィードフォワードニューラルネットワークへと蒸留するステップであって、前記トレーニングされた第2の自己回帰ニューラルネットワークを前記フィードフォワードニューラルネットワークへと蒸留するステップが、前記フィードフォワードニューラルネットワークと前記第2の自己回帰ニューラルネットワークとの間におけるカルバックライブラー(KL)発散に基づいて損失関数を最適化することによって、前記トレーニングされた第2の自己回帰ニューラルネットワークからの確率分布に基づいて前記フィードフォワードニューラルネットワークをトレーニングするステップを含む、ステップとを含み、
前記損失関数が、前記フィードフォワードニューラルネットワークと前記第2の自己回帰ニューラルネットワークとの間における前記KL発散、平均2乗誤差、音素分類誤差、および対比損失の加重和を含む、
コンピュータが実行する方法。
【請求項6】
前記フィードフォワードニューラルネットワークが、1つまたは複数の以前の合成音声出力の知識なしに合成音声を出力するように構成されている、請求項1に記載のコンピュータが実行する方法。
【請求項7】
前記第2の自己回帰ニューラルネットワークおよび前記フィードフォワードニューラルネットワークのそれぞれが、複数の拡張残差ブロックを含み、それぞれの拡張残差ブロックが、拡張畳み込みの層を含む、請求項1に記載のコンピュータが実行する方法。
【請求項8】
前記フィードフォワードニューラルネットワークが、複数の逆自己回帰フロー(IAF)を含む、請求項1に記載のコンピュータが実行する方法。
【請求項9】
前記複数のIAFフローのうちのそれぞれのIAFフローが、1つまたは複数の拡張残差ブロックを含み、それぞれの拡張残差ブロックが、拡張畳み込みの層を含む、請求項8に記載のコンピュータが実行する方法。
【請求項10】
データ処理ハードウェアと、
前記データ処理ハードウェアと通信状態にあるメモリハードウェアと
を含むシステムであって、
前記メモリハードウェアが、命令を格納しており、前記命令が、前記データ処理ハードウェア上で実行されたときに、
複数の録音された音声の生のオーディオ波形サンプルを受信することと、
前記複数の録音された音声の生のオーディオ波形サンプルを使用して第1の自己回帰ニューラルネットワークをトレーニングすることであって、前記トレーニングされた第1の自己回帰ニューラルネットワークが、テキスト入力の可聴表現としての合成音声の生のオーディオ波形を出力するように構成されている、トレーニングすることと、
前記トレーニングされた第1の自己回帰ニューラルネットワークからの出力として、複数の合成音声の生のオーディオ波形サンプルを生成することであって、前記複数の合成音声の生のオーディオ波形サンプルの量が前記複数の録音された音声の生のオーディオ波形サンプルの量よりも多い、ことと、
前記トレーニングされた第1の自己回帰ニューラルネットワークからの出力として生成された前記複数の合成音声の生のオーディオ波形サンプルを使用して第2の自己回帰ニューラルネットワークをトレーニングすることと、
前記トレーニングされた第2の自己回帰ニューラルネットワークをフィードフォワードニューラルネットワークへと蒸留することとを含むオペレーションを前記データ処理ハードウェアに実行させる、システム。
【請求項11】
前記第2の自己回帰ニューラルネットワークが、
前記第1の自己回帰ニューラルネットワークとは異なる自己回帰ニューラルネットワークを含むか、または
前記第1の自己回帰ニューラルネットワークと同じ自己回帰ニューラルネットワークを含み、それによって、前記複数の合成音声の生のオーディオ波形サンプルを使用して前記第2の自己回帰ニューラルネットワークをトレーニングすることが、前記複数の合成音声の生のオーディオ波形サンプルを使用して前記第1の自己回帰ニューラルネットワークを再トレーニングすることを含む、請求項10に記載のシステム。
【請求項12】
前記複数の録音された音声サンプルが、それぞれの数の録音された音声サンプルを含み、前記複数の合成音声の生のオーディオ波形サンプルが、それぞれの数の合成音声サンプルを含み、前記それぞれの数の録音された音声サンプルが、前記それぞれの数の合成音声サンプルよりも少ない、請求項10に記載のシステム。
【請求項13】
前記それぞれの数の合成音声サンプルが、前記それぞれの数の録音された音声サンプルよりも少なくとも1倍多い、請求項12に記載のシステム。
【請求項14】
データ処理ハードウェアと、
前記データ処理ハードウェアと通信状態にあるメモリハードウェアと
を含むシステムであって、
前記メモリハードウェアが、命令を格納しており、前記命令が、前記データ処理ハードウェア上で実行されたときに、
複数の録音された音声サンプルを受信することと、
前記複数の録音された音声サンプルを使用して第1の自己回帰ニューラルネットワークをトレーニングすることであって、前記トレーニングされた第1の自己回帰ニューラルネットワークが、テキスト入力の可聴表現としての合成音声を出力するように構成されている、トレーニングすることと、
前記トレーニングされた第1の自己回帰ニューラルネットワークを使用して複数の合成音声サンプルを生成することであって、前記複数の合成音声サンプルの量が前記複数の録音された音声サンプルの量よりも多い、ことと、
前記トレーニングされた第1の自己回帰ニューラルネットワークからの前記複数の合成音声サンプルを使用して第2の自己回帰ニューラルネットワークをトレーニングすることと、
前記トレーニングされた第2の自己回帰ニューラルネットワークをフィードフォワードニューラルネットワークへと蒸留することであって、前記トレーニングされた第2の自己回帰ニューラルネットワークを前記フィードフォワードニューラルネットワークへと蒸留することが、前記フィードフォワードニューラルネットワークと前記第2の自己回帰ニューラルネットワークとの間におけるカルバックライブラー(KL)発散に基づいて損失関数を最適化することによって、前記トレーニングされた第2の自己回帰ニューラルネットワークからの確率分布に基づいて前記フィードフォワードニューラルネットワークをトレーニングすることを含む、蒸留することとを含むオペレーションを前記データ処理ハードウェアに実行させ、
前記損失関数が、前記フィードフォワードニューラルネットワークと前記第2の自己回帰ニューラルネットワークとの間における前記KL発散、平均2乗誤差、音素分類誤差、および対比損失の加重和を含む、システム。
【請求項15】
前記フィードフォワードニューラルネットワークが、1つまたは複数の以前の合成音声出力の知識なしに合成音声を出力するように構成されている、請求項10に記載のシステム。
【請求項16】
前記第2の自己回帰ニューラルネットワークおよび前記フィードフォワードニューラルネットワークのそれぞれが、複数の拡張残差ブロックを含み、それぞれの拡張残差ブロックが、拡張畳み込みの層を含む、請求項10に記載のシステム。
【請求項17】
前記フィードフォワードニューラルネットワークが、複数の逆自己回帰フロー(IAF)を含む、請求項10に記載のシステム。
【請求項18】
前記複数のIAFフローのうちのそれぞれのIAFフローが、1つまたは複数の拡張残差ブロックを含み、それぞれの拡張残差ブロックが、拡張畳み込みの層を含む、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、テキスト読み上げのためにWaveNetを自己トレーニングすることに関する。
【背景技術】
【0002】
音声合成システムは、テキスト読み上げ(TTS)モデルを使用して、テキスト入力から音声を生成する。生成/合成された音声は、メッセージを正確に伝える(明瞭さ)一方で、意図されている韻律(表現力)を伴って人間の音声のように聞こえる(自然さ)べきである。従来の連結およびパラメトリック合成モデルは、わかりやすい音声を提供することが可能であったが、音声のニューラルモデリングにおける最近の進歩は、合成された音声の自然さおよび忠実度を著しく改善している。しかしこれらの進歩を伴ってさえ、多くの場合、これらのニューラルネットワークモデルの精度は、どのようにして音声を合成するかをニューラルネットワークモデルに教えるために利用可能であるトレーニング例のコーパスに依存する。したがって、限られた量のトレーニング例が存在する場合には、ニューラルネットワークモデルは、音声合成システムのユーザが期待する、または要求さえする音声合成の精度を欠いている。これは、音声合成システム(たとえば、パーソナルアシスタント)が日常の人間対コンピュータの対話においてさらに統合されるようになるにつれて、特に当てはまる可能性がある。
【先行技術文献】
【非特許文献】
【0003】
【文献】https://arxiv.org/pdf/1711.10433.pdfにおいて入手可能なvan den Oord、Parallel WaveNet: Fast High-Fidelity Speech Synthesis
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様は、WaveNetを自己トレーニングする方法を提供する。この方法は、データ処理ハードウェアにおいて、複数の録音された音声サンプルを受信するステップと、データ処理ハードウェアによって、複数の録音された音声サンプルを使用して第1の自己回帰ニューラルネットワークをトレーニングするステップとを含む。トレーニングされた第1の自己回帰ニューラルネットワークは、テキスト入力の可聴表示としての合成音声を出力するように構成されている。この方法はさらに、データ処理ハードウェアによって、トレーニングされた第1の自己回帰ニューラルネットワークを使用して複数の合成音声サンプルを生成するステップを含む。この方法はさらに、データ処理ハードウェアによって、トレーニングされた第1の自己回帰ニューラルネットワークからの複数の合成音声サンプルを使用して第2の自己回帰ニューラルネットワークをトレーニングするステップと、データ処理ハードウェアによって、トレーニングされた第2の自己回帰ニューラルネットワークをフィードフォワードニューラルネットワークへと蒸留するステップとを含む。
【0005】
本開示の別の態様は、WaveNetを自己トレーニングする別の方法を提供する。この方法は、データ処理ハードウェアにおいて、複数の録音された音声サンプルを受信するステップと、データ処理ハードウェアによって、複数の録音された音声サンプルを使用して自己回帰ニューラルネットワークをトレーニングするステップとを含む。トレーニングされた自己回帰ニューラルネットワークは、テキスト入力の可聴表示としての合成音声を出力するように構成されている。この方法はさらに、データ処理ハードウェアによって、トレーニングされた自己回帰ニューラルネットワークを使用して複数の合成音声サンプルを生成するステップを含む。この方法はさらに、データ処理ハードウェアによって、複数の合成音声サンプルに基づいて、トレーニングされた自己回帰ニューラルネットワークをフィードフォワードニューラルネットワークへと蒸留するステップを含む。
【0006】
本開示のさらに別の態様は、自己トレーニングWaveNetシステムを提供する。このシステムは、データ処理ハードウェアと、そのデータ処理ハードウェアと通信状態にあるメモリハードウェアとを含む。メモリハードウェアは、命令を格納しており、それらの命令は、データ処理ハードウェア上で実行されたときに、オペレーションをデータ処理ハードウェアに実行させる。オペレーションは、複数の録音された音声サンプルを受信することと、複数の録音された音声サンプルを使用して第1の自己回帰ニューラルネットワークをトレーニングすることとを含む。トレーニングされた第1の自己回帰ニューラルネットワークは、テキスト入力の可聴表示としての合成音声を出力するように構成されている。オペレーションはさらに、トレーニングされた第1の自己回帰ニューラルネットワークを使用して複数の合成音声サンプルを生成することを含む。オペレーションはさらに、トレーニングされた第1の自己回帰ニューラルネットワークからの複数の合成音声サンプルを使用して第2の自己回帰ニューラルネットワークをトレーニングすることと、トレーニングされた第2の自己回帰ニューラルネットワークをフィードフォワードニューラルネットワークへと蒸留することとを含む。
【0007】
本開示のうちのいずれかの実施態様は、下記の任意選択の特徴のうちの1つまたは複数を含むことが可能である。いくつかの実施態様においては、第2の自己回帰ニューラルネットワークは、第1の自己回帰ニューラルネットワークとは異なる自己回帰ニューラルネットワーク、または第1の自己回帰ニューラルネットワークと同じ自己回帰ニューラルネットワークを含む。第1および第2の自己回帰ニューラルネットワークが同じである場合には、複数の合成音声サンプルを使用して第2の自己回帰ニューラルネットワークをトレーニングするステップは、複数の合成音声サンプルを使用して第1の自己回帰ニューラルネットワークを再トレーニングするステップを含む。いくつかの例においては、複数の録音された音声サンプルは、それぞれの数の録音された音声サンプルを含み、複数の合成音声サンプルは、それぞれの数の合成音声サンプルを含み、それぞれの数の録音された音声サンプルは、それぞれの数の合成音声サンプルよりも少ない。これらの例においては、それぞれの数の合成音声サンプルは、それぞれの数の録音された音声サンプルよりも少なくとも1倍多いことが可能である。
【0008】
いくつかの構成においては、トレーニングされた第2の自己回帰ニューラルネットワークをフィードフォワードニューラルネットワークへと蒸留するステップは、トレーニングされた第2の自己回帰ニューラルネットワークからの確率分布に基づいてフィードフォワードニューラルネットワークをトレーニングするステップを含む。これらの構成においては、フィードフォワードニューラルネットワークをトレーニングするステップは、フィードフォワードニューラルネットワークと第2の自己回帰ニューラルネットワークとの間におけるカルバックライブラー(KL)発散に基づいて損失関数を最適化するステップを含む。損失関数は、フィードフォワードニューラルネットワークと第2の自己回帰ニューラルネットワークとの間におけるKL発散、平均2乗誤差、音素分類誤差、および対比損失の加重和を含むことが可能である。
【0009】
いくつかの実施態様においては、フィードフォワードニューラルネットワークは、1つまたは複数の以前の合成音声出力の知識なしに合成音声を出力するように構成されている。第2の自己回帰ニューラルネットワークおよびフィードフォワードネットワークのそれぞれは、複数の拡張残差ブロックを含むことが可能であり、それぞれの拡張残差ブロックは、拡張畳み込みの層を含む。フィードフォワードネットワークは、複数の逆自己回帰フロー(IAF)を含むことが可能である。フィードフォワードネットワークが、複数の逆自己回帰フロー(IAF)を含む場合には、複数のIAFフローのうちのそれぞれのIAFフローは、1つまたは複数の拡張残差ブロックを含み、それぞれの拡張残差ブロックは、拡張畳み込みの層を含む。
【0010】
本開示の1つまたは複数の実施態様の詳細は、添付の図面および以降の説明において示されている。その他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0011】
図1】例示的な音声環境の概略図である。
図2図1の音声環境の音声合成システムのための例示的な自己トレーニングモデルの概略図である。
図3】テキスト読み上げのためにWaveNetを自己トレーニングする方法のためのオペレーションの例示的なアレンジのフローチャートである。
図4】テキスト読み上げのためにWaveNetを自己トレーニングする方法のためのオペレーションの例示的なアレンジのフローチャートである。
図5】本明細書において記述されているシステムおよび方法を実装するために使用されることが可能である例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0012】
さまざまな図面における同様の参照記号は、同様の要素を示している。
【0013】
自然な音声を理解するコンピューティングデバイスの能力を進歩させるために、ディープニューラルネットワークがますます使用されている。しかし、自然な音声を理解することに加えて、人々は多くの場合、コンピューティングデバイス(たとえば、音声対応デバイス)が応答として合成音声を生成するということを期待してコンピューティングデバイスと対話する。たとえば、音声対応デバイスのユーザは、音声対応デバイスに対するクエリー、または音声対応デバイスが何らかの形態のテキストに基づいて音声を生成する旨の要求を提出する。ユーザに対して応答を出力するために、音声対応デバイスは、音声合成システムまたはテキスト読み上げ(TTS)システムを採用している。時間とともに、音声合成は、連結または統計的パラメトリック合成から、ディープニューラルネットワークモデルによって実行される合成へ移行した。この移行中に、音声合成またはTTSシステムは、人間と同等に近いハイファイオーディオを生み出すように進化した。
【0014】
本物そっくりに聞こえる音声を生成するためのよく知られている選択肢であることが判明しているモデルが、WaveNetである。WaveNetはもともと、生のオーディオ波形を生成するディープニューラルネットワークを指していた。最初に開発されたとき、WaveNetは、完全に確率的かつ自己回帰的であるモデルであった。そのモデルでは、オーディオサンプルに関する予測分布が、すべての以前のオーディオサンプル分布(すなわち、使用された祖先サンプリング)に基づいて条件付けられていた。自己回帰ネットワークとして、WaveNetは、拡張畳み込みを使用して、音声サンプルに関する確率分布をモデル化していた。たとえば、WaveNetの畳み込み層は、受容野が数千の時間ステップをカバーする目的で深さとともに指数関数的に成長することを可能にするために、さまざまな拡張係数を有していた。畳み込み層を用いて、WaveNetは、自分の入力を並列に処理することが可能であり、自分のアーキテクチャーが、再帰型ニューラルネットワークベースのモデルに比較した場合にはるかに迅速にトレーニングされることを可能にする。しかし、WaveNetは自己回帰ネットワークとして何千もの生のオーディオサンプルをモデル化することが可能であると判明したが、WaveNetはリアルタイム音声合成に関する推論中には遅すぎることが判明した。波形の推論または生成中に並列に実行されることが可能であるトレーニングとは異なり、完全に自己回帰的なWaveNetは、合成された出力を順次生成する。たとえば、WaveNetは、1秒あたり約172個の時間ステップで音声を生成することが可能なだけであった。このリアルタイムよりも遅い推論スピードは、オフラインでの合成音声の生成に関しては許容可能であるかもしれないが、完全に自己回帰的なWaveNetは、リアルタイムアプリケーションにとっては遅すぎると判明している。
【0015】
遅い推論スピードを矯正する目的で、当初の自己回帰WaveNetのハイファイかつリアルな音声様式を保持しつつ、リアルタイムの音声よりも速い速度でオーディオを生み出すためにWaveNetの並列バリエーション(Parallel WaveNetと呼ばれる)が出現した。リアルタイムの音声速度での推論中に合成オーディオを生成することが可能であるために、Parallel WaveNetは、当初の自己回帰WaveNetの自己回帰ネットワークを、https://arxiv.org/pdf/1711.10433.pdfにおいて入手可能なvan den Oord、Parallel WaveNet: Fast High-Fidelity Speech Synthesis (参照によって本明細書に組み込まれている)において記述されている並列フィードフォワードニューラルネットワークへと蒸留した。ここでは、自己回帰ネットワークは、「教師」ネットワーク(または自己回帰教師)と呼ばれる。なぜなら、フィードフォワードネットワークは自己回帰ネットワークによって教えられるからであり、それゆえにフィードフォワードネットワークは、「生徒」ネットワークまたはフィードフォワード生徒ネットワークとも呼ばれる。言い換えれば、Parallel WaveNetは、既にトレーニングされた自己回帰ニューラルネットワークを教師ネットワークとして使用して、生徒ネットワークをトレーニングする。この点で、Parallel WaveNetは、自己回帰WaveNetの並列トレーニングスピードを利用するが、祖先サンプリング(たとえば、トレーニングされた自己回帰教師ネットワークのような)に依存しないフィードフォワードネットワークを生成する。フィードフォワードネットワークとして、生徒ネットワークはその後、以前の時間ステップの出力の実際の知識を必要とするよりもむしろ、これらの出力を黙示的に推測することが可能である。この教師/生徒アーキテクチャーを用いて、Parallel WaveNetは、1秒あたり約500,000個の時間ステップでサンプルを生成して、完全に自己回帰的なWaveNetのスピード不足に対処することが可能である。
【0016】
残念ながら、Parallel WaveNetには欠点がないわけではない。1つのそのような欠点は、Parallel WaveNetが、高品質の生徒ネットワークを生み出すためには大量の録音された音声データを必要とするということである。たとえば、WaveNetのシングルスピーカーバージョンは、ハイファイの生徒ネットワークをもたらすためには約24時間の録音された音声を必要とすることが示されている。その上、シングルスピーカーTacotronなど、その他のニューラルボコーダは、より少ない発話(たとえば、15,000の発話または8,000の発話さえ)よりも、より多くの発話(たとえば、25,000の発話)上でトレーニングされた場合には、より高い忠実度を有する。しかし、大量の録音された音声データが利用可能ではない避けられない状況がある。教師ネットワークが、少量の録音された音声データを用いて生徒ネットワークをトレーニングする場合には、合成された出力は、静的ノイズなどのアーティファクトを含む場合があり、これは、利用可能である録音された音声のトレーニングサンプルがより少ない場合には、より顕著になる。
【0017】
音声合成モデルは、大量の録音された音声データという贅沢を常に有しているとは限らないので、低データ体制からハイファイオーディオを生成するWaveNetのバージョンは、WaveNetの堅牢性および/または普遍的な有効性を増大させるであろう。ここでは、WaveNetを、低データ体制を伴っても有効であるようにさらに進化させるために、自己トレーニングモデルは、自己回帰WaveNetによって生み出されるハイファイオーディオと、Parallel WaveNetのリアルタイムよりも速い合成能力とを活用する。言い換えれば、低データ体制においては、Parallel WaveNetは、自己回帰WaveNet教師によって合成された音声上でトレーニングされて、自己トレーニングモデル(すなわち、自己トレーニングWaveNet)を形成することが可能である。生徒ネットワークをトレーニングするために自己回帰教師ネットワークからハイファイ合成音声データを生成することによって、自己トレーニングWaveNetは、少量の録音された音声が利用可能である場合に忠実度を損なうことなく生徒ネットワークをトレーニングすることが可能である。ここでは、自己トレーニングとは、既にトレーニングされたシステムを使用して、見知らぬ入力例についての出力を生成し、これらの生成された出力をその後のトレーニング/再トレーニングに関するターゲットとして使用する技術を指す。自己トレーニングアプローチを使用して、トレーニングされた自己回帰教師ネットワークによって生み出されたハイファイ合成音声サンプルは、フィードフォワード生徒ネットワークをトレーニング(または蒸留)する。このアプローチは、自己回帰WaveNet(たとえば、自己回帰教師ネットワーク)が高品質の合成例を生み出すという事実を利用して、それらの合成例に応じて、自己トレーニング技術が生徒ネットワークをさらに劣化させないことを可能にする。
【0018】
図1を参照すると、いくつかの実施態様においては、音声環境100は、話された発話12を音声対応デバイス110(デバイス110またはユーザデバイス110とも呼ばれる)へ伝達しているユーザ10を含む。ユーザ10(すなわち、発話12の話者)は、デバイス110からの応答を求めるためのクエリーまたはコマンドとして発話12を話すことが可能である。デバイス110は、音声環境100内の1人または複数のユーザ10からの音を取り込むように構成されている。ここでは、オーディオ音は、デバイス110によって取り込まれる可聴クエリー、デバイス110のためのコマンド、または可聴コミュニケーションとして機能する、ユーザ10による話された発話12を指すことが可能である。デバイス110の、またはデバイス110に関連付けられている音声対応システムは、コマンドに関するクエリーを、そのクエリーに答えること、および/またはそのコマンドが実行されるようにすることによって、処理することが可能である。
【0019】
ここでは、デバイス110は、ユーザ10による話された発話12のオーディオ信号202(オーディオデータとも呼ばれる)を取り込む。デバイス110は、ユーザ10に関連付けられていてオーディオ信号202を受信することが可能な任意のコンピューティングデバイスに相当することが可能である。ユーザデバイス110のいくつかの例は、モバイルデバイス(たとえば、モバイル電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、スマートアプライアンス、およびモノのインターネット(IoT)デバイス、スマートスピーカーなどを含むが、それらに限定されない。デバイス110は、データ処理ハードウェア112およびメモリハードウェア114を含み、メモリハードウェア114は、データ処理ハードウェア112と通信状態にあり、命令を格納しており、それらの命令は、データ処理ハードウェア112によって実行されたときに、データ処理ハードウェア112に1つまたは複数のオペレーションを実行させる。いくつかの例においては、デバイス110は、1つまたは複数のアプリケーション(すなわち、ソフトウェアアプリケーション)を含み、それぞれのアプリケーションは、デバイス110に関連付けられている1つまたは複数の音声処理システム140、150、200を利用して、そのアプリケーション内でさまざまな機能を実行することが可能である。たとえば、デバイス110は、合成再生オーディオ154をユーザ10へ伝達して、さまざまなタスクについてユーザ10を支援するように構成されているアシスタントアプリケーションを含む。
【0020】
デバイス110はさらに、音声環境100内の話された発話12を取り込んで電気信号へと変換するためのオーディオ取り込みデバイス(たとえば、マイクロフォン)116と、可聴オーディオ信号(たとえば、デバイス110からの合成再生信号154)を伝達するための音声出力デバイス(たとえば、スピーカー)118とを有するオーディオサブシステムを含む。デバイス110は、示されている例においては単一のオーディオ取り込みデバイス116を実装しているが、デバイス110は、本開示の範囲から逸脱することなく、オーディオ取り込みデバイス116のアレイを実装することが可能であり、それによって、そのアレイにおける1つまたは複数のオーディオ取り込みデバイス116は、デバイス110上に物理的に存在するのではなく、オーディオサブシステム(たとえば、デバイス110の周辺機器)と通信状態にあることが可能である。たとえば、デバイス110は、車両全体を通じて配置されているマイクロフォンのアレイを活用する車両インフォテインメントシステムに相当することが可能である。
【0021】
さらに、デバイス110は、ネットワーク120を介してリモートシステム130と通信するように構成されている。リモートシステム130は、リモートデータ処理ハードウェア134(たとえば、リモートサーバもしくはCPU)および/またはリモートメモリハードウェア136(たとえば、リモートデータベースもしくはその他のストレージハードウェア)などのリモートリソース132を含むことが可能である。デバイス110は、リモートリソース132を利用して、音声処理および/または合成された再生コミュニケーションに関連したさまざまな機能性を実行することが可能である。たとえば、デバイス110は、音声認識システム140を使用した音声認識、および/またはTTSシステム150を使用した(たとえば、自己トレーニングモデル200を使用した)テキストから音声への変換を実行するように構成されている。これらのシステム140、150、200は、デバイス110上に存在すること(オンデバイスシステムと呼ばれる)、またはリモートに存在する(たとえば、リモートシステム130上に存在する)がデバイス110と通信状態にあることが可能である。いくつかの例においては、これらのシステム140、150、200のうちのいくつかは、ローカルにまたはオンデバイスに存在し、その一方でその他は、リモートに存在する。言い換えれば、これらのシステム140、150、200のうちのいずれも、任意の組合せでローカルまたはリモートにあることが可能である。たとえば、システム140、150、200のサイズまたは処理要件がかなり大きい場合には、システム140、150、200は、リモートシステム130に存在することが可能である。さらに、デバイス110が、1つまたは複数のシステム140、150、200のサイズまたは処理要件をサポートすることが可能である場合には、1つまたは複数のシステム140、150、200は、データ処理ハードウェア112および/またはメモリハードウェア114を使用してデバイス110上に存在することが可能である。任意選択で、システム140、150、200のうちの1つまたは複数は、ローカル/オンデバイスおよびリモートの両方に存在することが可能である。たとえば、システム140、150、200のうちの1つまたは複数は、デバイス110とリモートシステム130との間におけるネットワーク120への接続が利用可能である場合には、デフォルトでリモートシステム130上で実行することが可能であるが、接続が失われているか、またはネットワーク120が利用不可能である場合には、システム140、150、200は、代わりにデバイス110上でローカルに実行する。
【0022】
音声認識システム140は、オーディオ信号202を入力として受信し、そのオーディオ信号を出力としてのトランスクリプション142へと転記する。一般的に言えば、オーディオ信号202をトランスクリプション142へと変換することによって、音声認識システム140は、ユーザ10からの話された発話12がクエリー、コマンド、または何らかのその他の形態のオーディオコミュニケーションに相当する場合をデバイス110が認識することを可能にする。トランスクリプション142は、一連のテキストを指し、そしてそのテキストをデバイス110が使用して、クエリーまたはコマンドに対する応答を生成することが可能である。たとえば、ユーザ10がデバイス110に「今日はどんな天気になるか」という質問をした場合には、デバイス110は「今日はどんな天気になるか」という質問に対応するオーディオ信号を音声認識システム140に渡す。音声認識システム140は、そのオーディオ信号を、「今日はどんな天気になるか?」というテキストを含むトランスクリプトへと変換する。デバイス110は次いで、テキストまたはテキストの部分を使用してクエリーに対する応答を特定することが可能である。たとえば、当日(すなわち、今日)の天気を特定するために、デバイス110は、テキスト(たとえば、「今日はどんな天気になるか?」)またはテキストの識別部分(たとえば、「天気」および「今日」)を検索エンジンに渡す。検索エンジンは次いで、1つまたは複数の検索結果を返すことが可能であり、それらの検索結果をデバイス110が解釈して、ユーザ10のための応答を生成する。
【0023】
いくつかの実施態様においては、デバイス110またはデバイス110に関連付けられているシステムは、話された発話12のクエリーに対する応答としてデバイス110がユーザ10に伝達することになるテキスト152を識別する。デバイス110は次いで、TTSシステム150を使用して、テキスト152を、話された発話12のクエリーに対する応答としてデバイス110がユーザ10に伝達する(たとえば、ユーザ10に聞こえるように伝達する)ための対応する合成再生オーディオ154へと変換することが可能である。言い換えれば、TTSシステム150は、テキスト152を入力として受け取り、テキスト152を合成再生オーディオ154の出力へ変換し、合成再生オーディオ154は、テキスト152の可聴表現を定義するオーディオ信号である。ここでは、TTSシステム150(またはその他の音声合成システム)は、ディープニューラルネットワーク(たとえば、自己トレーニングWaveNet)を利用して合成再生オーディオ154を生成する自己トレーニングモデル200(たとえば、図2の自己トレーニングモデル)を含む。生成されると、TTSシステム150は、合成再生オーディオ154をデバイス110へ通信して、デバイス110が合成再生オーディオ154を出力することを可能にする。たとえば、デバイス110は、デバイス110のスピーカー118において「今日は晴れです」という合成再生オーディオ154を出力する。
【0024】
図2を参照すると、TTSシステム150は、合成再生オーディオ154を生成するためのニューラルボコーダとして自己トレーニングモデル200を含む。ニューラルボコーダとして、自己トレーニングモデル200は、言語情報および/または韻律情報をエンコードしている特徴に基づいて条件付けられることが可能である。ここでは、言語的条件付けは、音素、音節、単語、フレーズ、および/または発話レベルの特徴を含むことが可能である。いくつかの例においては、これらの特徴は、ルールベースの特徴計算と組み合わせたテキスト正規化(たとえば、静的なルールベースのテキスト正規化)によって導き出される。韻律的条件付けは、階層変分オートエンコーダなどのオートエンコーダによって提供されることが可能である。オートエンコーダは、言語的条件付けを使用して、出力として、フレームごとの基本周波数を生成することも可能である。
【0025】
図2など、いくつかの実施態様においては、自己トレーニングモデル200は、第1の教師ネットワーク210、第2のまたは合成教師ネットワーク220、および合成生徒ネットワーク230を含む。それぞれのネットワーク210、220、230は、その構成単位として拡張残差ブロックを有することが可能である。いくつかの例においては、拡張残差ブロックは、畳み込みの1つまたは複数の層を含む。たとえば、ネットワーク210、220、230の拡張残差ブロックは、畳み込みの10個の層(たとえば、それぞれの層に関して2倍に増大させること)に対応する。いくつかの構成においては、教師ネットワーク210、220は、3つの拡張残差ブロックを含み、その一方で生徒ネットワーク230は、4つの逆自己回帰フロー(IAF)を含み、それぞれのIAFは、いくつかの数の残差ブロックを有することが可能である。たとえば、第1、第2、および第3のIAFはそれぞれ、1つの拡張ブロックを含み、その一方で第4のIAFは、3つの拡張残差ブロックを含む。
【0026】
図2によって示されているように、この自己トレーニングモデル200は、合成音声を用いてトレーニングしない従来のParallel WaveNetとは対照的である。一般に、Parallel WaveNetをトレーニングする従来の方法は、2つのステップからなる手順である。第1のステップにおいては、自己回帰教師ネットワークが、録音された音声の以前のサンプルに基づいてサンプルの確率分布をモデル化するようにトレーニングされる。ここでは、すべての録音された音声サンプルが利用可能であるので、教師強制の技術と並列にトレーニングが生じることが可能である。従来のParallel WaveNetをトレーニングするための第2のステップ中に、トレーニングプロセスは、自己回帰教師ネットワークの密度分布をフィードフォワード生徒ネットワークへと蒸留する。蒸留とは一般に、事前トレーニングされたネットワークを使用してニューラルネットワークをトレーニングするプロセスを指す。蒸留を使用して、(たとえば、デッドウェイトと同様の)所望の出力にとってさほど重要ではない、事前トレーニングされたネットワークのニューロンが減らされて、より合理化されたニューラルネットワーク(すなわち、蒸留されたニューラルネットワーク)を形成することが可能である。蒸留は、蒸留されたニューラルネットワークが、事前トレーニングされたネットワークに比較した場合にさらに正確であること、および/またはさらにコンパクトなサイズであることを可能にすることができる。言い換えれば、事前トレーニングされたネットワークが形成された時点で、事前トレーニングされたネットワークは、事前トレーニングされたネットワークのトレーニングが完了した時点までに所望の出力に対するさらに少ないインパクトを最終的に有する結果となったニューロンを形成していた可能性があり、そのため、事前トレーニングされたネットワークは、これらのニューロンからの何らかの有害なインパクトを低減するために、または不要なニューロンを除去するために除去または修正されることが可能であるニューロンを含む。
【0027】
いくつかの例においては、自己トレーニングモデル200は、自己回帰ニューラルネットワークとして機能する第1の教師210を含む。従来のParallel WaveNetとまさに同様に、第1の教師210は、録音された音声サンプル242のボリューム240(たとえば、データベースまたはその他のタイプのオーディオデータデポジトリとして示されている)からの録音された音声サンプル242、242a~nを使用してトレーニングを行う。ここではしかし、自己トレーニングモデル200は、録音された音声サンプル242の数が比較的少ない(すなわち、低データ体制である)場合に利用されることが可能である。たとえば、低データ体制とは、録音された音声サンプル242のボリューム240が25,000個のサンプル(すなわち、Parallel WaveNetに関する健全な量の録音されたサンプル242)よりも少ないが、5,000個のサンプル(すなわち、Parallel WaveNetに関する不健全な量の録音されたサンプル242)よりも多い場合を指す。いくつかの例においては、低データ体制は、5,000個から15,000個の録音された音声サンプル242の間にある。たとえ低データ体制が、より少ない録音された音声サンプル242を有していても、第1の教師210は、それらの録音された音声サンプル242を用いてトレーニングを行って、トレーニングされた第1の教師210を形成する。
【0028】
トレーニングされた第1の教師210を用いて、自己トレーニングモデル200は、トレーニングされた第1の教師210に、出力212として合成音声サンプル252、252a~nのボリューム250を生成させる。いくつかの実施態様においては、合成音声サンプル252の生成は、トレーニングされた教師210が生成する合成音声サンプル252の量についての制限をほとんどまたはまったく伴わずにオフラインで実行されることが可能である1回限りの処理タスクである。いくつかの構成においては、自己トレーニングモデル200は、フィードフォワード生徒(たとえば、図2において点線の四角形として示されている)ではなく、Parallel WaveNetからのトレーニングされた自己回帰教師を使用して、合成音声サンプル252を生成する。なぜなら、自己回帰教師ネットワーク210は、フィードフォワード生徒ネットワークよりも高い忠実度を有する合成音声サンプル252を生成するからである。そのため、Parallel WaveNetのフィードフォワード生徒ネットワークを用いて合成音声サンプルを生成することも可能であるが、それは、自己トレーニングモデル200の忠実度を損なう場合がある。
【0029】
いくつかの例においては、TTSシステム150を用いて、自己トレーニングモデル200は、容易に利用可能なテキストサンプル(たとえば、TTSシステム150からのテキスト152)から合成音声サンプル252を生成するように構成されている。いくつかの構成においては、それらのテキストサンプルは、ラベル付けされていないテキストサンプルであることが可能である。教師210は、合成音声サンプル252の言語に関する十分な音声カバレッジを有するテキストサンプルのコーパスから合成音声サンプル252を生成することが可能である。いくつかの例においては、合成音声サンプル252は、合成生徒230が、ノイズの多いまたは破損した合成音声サンプル252(すなわち、学習にとって有害になる合成音声サンプル252)を使用して学習することを防止するためにプルーニングプロセスを経る。たとえば、合成音声サンプル252が音素分布に関して偏りを含むという問題を回避するために、生成された合成音声サンプル252のデータセットにスクリプト選択方法が適用されることが可能である。追加として、または代替として、合成音声サンプル252を生成するプロセス中に、またはその後に、トレーニングプロセスは、合成音声サンプル252に関する音素アライメントを生成することが可能である。合成音声サンプル252に関する音素アライメントを生成することによって、プルーニングプロセスは、特定のしきい値(すなわち、最小の許容可能なアライメントスコア)を下回る音素アライメントスコアを生み出す合成音声サンプル252を拒否することが可能である。言い換えれば、音素アライメントスコアは、合成教師220をトレーニングする(または、いくつかの場合においては、教師210を再トレーニングする)ために使用されることになる合成音声サンプル252のトレーニングセットからのプルーニングをどの合成音声サンプル252が必要とする可能性があるかを示すことが可能である。
【0030】
いくつかの構成においては、トレーニングされた教師210が合成音声サンプル252を生成すると、モデルトレーニングプロセスは、合成音声サンプル252を使用して、合成教師220をトレーニングする。たとえば、モデルトレーニングプロセスは、プルーニングプロセスを切り抜けた合成音声サンプル252を含むトレーニングデータセットを使用する。ここでは、合成教師220のためのトレーニングプロセスは、そのトレーニングプロセスが、録音された音声サンプル242の代わりに合成音声サンプル252を使用するという点を除いて、第1の教師210のトレーニングプロセスと同じである。このトレーニングプロセスを用いて、合成教師220は、少数の録音された音声サンプル242に比較した場合に大きなセットのサンプル(すなわち、合成音声サンプル252)を用いてトレーニングされることが可能である。たとえば、教師210は、25,000個から50,000個あまりの合成音声サンプルを生成し、その一方で低データ体制は、この量の一部(たとえば、5,000個から15,000個の間の録音された音声サンプル242)を含み、そのため、たとえ第1の教師210および合成教師220の両方が自己回帰ニューラルネットワークであっても、合成教師220は、教師210をトレーニングした音声データの量よりも1倍または複数倍多い量の音声データ上でトレーニングされる。
【0031】
任意選択で、いくつかの例においては、トレーニングプロセスは、合成教師220をトレーニングすることなく生徒230をトレーニングするために、または蒸留するために合成音声サンプル252を使用する。このアプローチは実現可能であるが、理想的ではない場合がある。これは、トレーニングされた教師210が、合成音声サンプル252を生成するために比較的少量の録音された音声サンプル242上でのみトレーニングされたので、特に当てはまる。これが意味しているのは、生徒230をすぐにトレーニングしても、より大きなデータ体制(たとえば、合成音声サンプル252)を伴ってトレーニングされた教師(たとえば、合成教師220)によってトレーニングされる場合の合成生徒230が有するレベルの忠実度を有さない可能性が高いであろうということである。追加として、または代替として、第1の教師210および第2の教師または合成教師220は、同じニューラルネットワークであることが可能である。言い換えれば、合成教師220は単に、合成音声サンプル252を使用して再トレーニングされた教師210であり、そしてそれによって、教師210を形成しているニューラルネットワークは、音声サンプルのさらに大きなコーパスに基づいて再トレーニングされている。
【0032】
合成教師220がトレーニングされた場合には、トレーニングされた合成教師230が次いで、合成生徒230へと蒸留されることが可能である。これは、トレーニングされた合成教師230が、合成音声に対応する確率分布に従って合成生徒230をトレーニングするということを意味する。トレーニングされた合成教師220によるトレーニングプロセスは、合成教師220をフィードフォワード合成生徒230へと蒸留する。フィードフォワードニューラルネットワークとして、合成生徒230は、Parallel WaveNetのフィードフォワード生徒とまさに同様に、(たとえば、自己回帰ネットワークのように)推論中に1つまたは複数の以前の合成音声出力の知識を必要とすることなく合成音声の出力(たとえば、合成再生オーディオ154)を生成することが可能である。トレーニングプロセスは、単一の話者に関して一般的に記述されているが、モデル200のためのトレーニングプロセスは、複数の話者用に拡張されることが可能である。たとえば、モデル200が複数の話者用である場合には、合成教師220は、複数の話者のうちのそれぞれの話者に関して合成生徒230を蒸留し、それによって複数の話者用のモデル200は、(たとえば、複数の話者の数に比例した)複数の合成生徒230を含む。
【0033】
いくつかの実施態様においては、トレーニングプロセスは、損失関数を最適化することによってモデル200のコンポーネントをトレーニングする。たとえば、教師モデル210、220のいずれかをトレーニングするために、トレーニングプロセスは、予測された混合分布の負の対数尤度として表される損失関数を使用することが可能である。いくつかの例においては、蒸留プロセスは、カルバックライブラー(KL)発散に基づく損失関数を使用して生徒230をトレーニングする。たとえば、損失関数は、生徒230(たとえば、フィードフォワードニューラルネットワーク)と合成教師220(たとえば、合成音声サンプル252によってトレーニングされた自己回帰ニューラルネットワーク)との間におけるKL発散に基づく。いくつかの構成においては、蒸留プロセスは、KL発散(たとえば、生徒230と合成教師220との間における分布)、平均2乗誤差(たとえば、移動するウィンドウにおける予測信号電力と目標信号電力との間における)、音素分類誤差、および/または、正しい条件付けを用いて得られた場合の生徒230と教師220との間における確率分布のKL発散と、正しくない条件付けを用いて得られた場合の生徒230と教師220との間における確率分布のKL発散との間における差を最大化する対比損失など、いくつかの異なる損失関数(または誤差)の加重和である損失関数を用いて生徒230をトレーニングする。
【0034】
図3は、WaveNetを自己トレーニングする方法のためのオペレーションの例示的なアレンジのフローチャートである。オペレーション302において、方法300は、複数の録音された音声サンプル242を受信する。オペレーション304において、方法300は、複数の録音された音声サンプル242を使用して第1の自己回帰ニューラルネットワーク210をトレーニングする。トレーニングされた第1の自己回帰ニューラルネットワーク210は、テキスト入力の可聴表示としての合成音声を出力するように構成されている。オペレーション306において、方法300は、トレーニングされた第1の自己回帰ニューラルネットワーク210を使用して複数の合成音声サンプル252を生成する。オペレーション308において、方法300は、トレーニングされた第1の自己回帰ニューラルネットワーク210からの複数の合成音声サンプル252を使用して第2の自己回帰ニューラルネットワーク220をトレーニングする。オペレーション310において、方法300は、トレーニングされた第2の自己回帰ニューラルネットワーク220をフィードフォワードニューラルネットワーク230へと蒸留する。
【0035】
図4は、WaveNetを自己トレーニングする別の方法のためのオペレーションの例示的なアレンジの別のフローチャートである。オペレーション402において、方法400は、複数の録音された音声サンプル242を受信する。オペレーション404において、方法400は、複数の録音された音声サンプル242を使用して自己回帰ニューラルネットワーク210をトレーニングする。トレーニングされた自己回帰ニューラルネットワーク210は、テキスト入力の可聴表示としての合成音声を出力するように構成されている。オペレーション406において、方法400は、トレーニングされた自己回帰ニューラルネットワーク210を使用して複数の合成音声サンプル252を生成する。オペレーション408において、方法400は、トレーニングされた自己回帰ニューラルネットワーク210をフィードフォワードニューラルネットワーク230へと蒸留する。
【0036】
図5は、この文書において記述されているシステム(たとえば、音声認識システム140、TTSシステム150、および/または自己トレーニングモデル200)ならびに方法(たとえば、方法300、400)を実装するために使用されることが可能である例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなど、さまざまな形態のデジタルコンピュータに相当することを意図されている。ここで示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示的であることを意味しているにすぎず、この文書において記述および/または特許請求されている本発明の実施態様を限定することを意味しているものではない。
【0037】
コンピューティングデバイス500は、プロセッサ510(たとえば、データ処理ハードウェア)と、メモリ520(たとえば、メモリハードウェア)と、ストレージデバイス530と、メモリ520および高速拡張ポート550に接続している高速インターフェース/コントローラ540と、低速バス570およびストレージデバイス530に接続している低速インターフェース/コントローラ560とを含む。コンポーネント510、520、530、540、550、および560のそれぞれは、さまざまなバスを使用して相互接続され、共通のマザーボード上に、または必要に応じてその他の様式で取り付けられることが可能である。プロセッサ510は、高速インターフェース540に結合されているディスプレイ580などの外部入力/出力デバイス上でグラフィカルユーザインターフェース(GUI)のためのグラフィカルな情報を表示するためにメモリ520においてまたはストレージデバイス530上に格納されている命令を含む、コンピューティングデバイス500内での実行のための命令を処理することが可能である。その他の実施態様においては、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに使用されることが可能である。また、複数のコンピューティングデバイス500が、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要なオペレーションの部分を提供するそれぞれのデバイスと接続されることが可能である。
【0038】
メモリ520は、コンピューティングデバイス500内に非一時的に情報を格納する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであることが可能である。非一時的メモリ520は、コンピューティングデバイス500による使用のために一時的にまたは永続的にプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を格納するために使用される物理デバイスであることが可能である。不揮発性メモリの例は、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラム可能読み取り専用メモリ(PROM)/消去可能プログラム可能読み取り専用メモリ(EPROM)/電子的消去可能プログラム可能読み取り専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むが、それらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープを含むが、それらに限定されない。
【0039】
ストレージデバイス530は、コンピューティングデバイス500のためのマスストレージを提供することが可能である。いくつかの実施態様においては、ストレージデバイス530は、コンピュータ可読媒体である。さまざまな異なる実施態様においては、ストレージデバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくはその他の類似のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくはその他の構成におけるデバイスを含むデバイスのアレイであることが可能である。さらなる実施態様においては、コンピュータプログラム製品が、情報媒体において有形に具現化される。このコンピュータプログラム製品は、命令を含み、それらの命令は、実行されたときに、上述されている方法などの1つまたは複数の方法を実行する。情報媒体は、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなど、コンピュータまたはマシン可読媒体である。
【0040】
高速コントローラ540は、コンピューティングデバイス500に関する帯域幅インテンシブなオペレーションを管理し、その一方で低速コントローラ560は、より低い帯域幅インテンシブなオペレーションを管理する。負荷のそのような割り当ては、例示的なものにすぎない。いくつかの実施態様においては、高速コントローラ540は、メモリ520、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ580に、およびさまざまな拡張カード(図示せず)を受け入れることが可能である高速拡張ポート550に結合されている。いくつかの実施態様においては、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に結合されている。さまざまな通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含むことが可能である低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイスに、または、たとえばネットワークアダプタを通じて、スイッチもしくはルータなどのネットワーキングデバイスに結合されることが可能である。
【0041】
コンピューティングデバイス500は、図において示されているように、いくつかの異なる形態で実装されることが可能である。たとえば、コンピューティングデバイス500は、標準サーバ500aとして、もしくはそのようなサーバ500aのグループにおいて複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装されることが可能である。
【0042】
本明細書において記述されているシステムおよび技術のさまざまな実施態様は、デジタル電子および/もしくは光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路: application specific integrated circuit)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せにおいて実現されることが可能である。これらのさまざまな実施態様は、ストレージシステムからデータおよび命令を受け取るために、ならびにストレージシステムへデータおよび命令を伝送するために結合されている、専用または汎用であることが可能である少なくとも1つのプログラマブルプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含むプログラム可能なシステム上で実行可能および/または解釈可能である1つまたは複数のコンピュータプログラムにおける実施態様を含むことが可能である。
【0043】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られている)は、プログラマブルプロセッサのためのマシン命令を含み、ハイレベル手続型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/マシン言語で実装されることが可能である。本明細書において使用される際には、「マシン可読媒体」および「コンピュータ可読媒体」という用語は、マシン命令をマシン可読信号として受け取るマシン可読媒体を含む、マシン命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「マシン可読信号」という用語は、マシン命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0044】
本明細書において記述されているプロセスおよびロジックフローは、入力データ上で動作することおよび出力を生成することによって機能を実行するための1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行されることが可能である。それらのプロセスおよびロジックフローは、専用の論理回路、たとえば、FPGA(フィールド・プログラマブル・ゲート・アレイ: field programmable gate array)またはASIC(特定用途向け集積回路: application specific integrated circuit)によって実行されることも可能である。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリまたはそれらの両方から命令およびデータを受け取ることになる。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを受信する目的で、またはデータを転送する目的で、またはそれらの両方を行う目的で、データを格納するための1つまたは複数のマスストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、またはそれらに動作可能に結合されることになる。しかしながら、コンピュータは、そのようなデバイスを有している必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含み、例として、半導体メモリデバイス(たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(たとえば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用の論理回路によって補完されること、または専用の論理回路に組み込まれることが可能である。
【0045】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT (陰極線管: cathode ray tube)、LCD (液晶ディスプレイ: liquid crystal display)モニタ、またはタッチスクリーン、そして任意選択で、ユーザが入力をコンピュータに提供できるようにする上で用いるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上で実施されることが可能である。ユーザとの対話を提供するために、その他の種類のデバイスが使用されることも可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されているデバイスへドキュメントを送信すること、およびそのデバイスからドキュメントを受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答してそのウェブブラウザへウェブページを送信することによって、ユーザと対話することが可能である。
【0046】
いくつかの実施態様が記述されてきた。それでもなお、本開示の趣旨および範囲から逸脱することなく、さまざまな修正が行われることが可能であるということが理解されるであろう。したがって、その他の実施態様は、下記の特許請求の範囲の範疇内にある。
【符号の説明】
【0047】
10 ユーザ
12 発話
100 音声環境
110 音声対応デバイス、デバイス、ユーザデバイス
112 データ処理ハードウェア
114 メモリハードウェア
116 オーディオ取り込みデバイス
118 音声出力デバイス
120 ネットワーク
130 リモートシステム
132 リモートリソース
134 リモートデータ処理ハードウェア
136 リモートメモリハードウェア
140 音声認識システム
142 トランスクリプション
150 TTSシステム
152 テキスト
154 合成再生オーディオ、合成再生信号
200 自己トレーニングモデル
202 オーディオ信号
210 第1の教師ネットワーク、第1の教師、教師、第1の自己回帰ニューラルネットワーク
212 出力
220 第2のまたは合成教師ネットワーク、合成教師、第2の自己回帰ニューラルネットワーク
230 合成生徒ネットワーク、合成生徒、フィードフォワードニューラルネットワーク
240 ボリューム
242 録音された音声サンプル
250 ボリューム
252 合成音声サンプル
300 方法
400 方法
500 コンピューティングデバイス
500a 標準サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ
520 メモリ
530 ストレージデバイス
540 高速インターフェース/コントローラ
550 高速拡張ポート
560 低速インターフェース/コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート
図1
図2
図3
図4
図5