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

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

▶ 大学共同利用機関法人情報・システム研究機構の特許一覧

特許7109071学習装置、学習方法、音声合成装置、音声合成方法及びプログラム
<>
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図1
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図2
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図3
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図4
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図5
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図6
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図7
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図8
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図9
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図10
  • 特許-学習装置、学習方法、音声合成装置、音声合成方法及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-21
(45)【発行日】2022-07-29
(54)【発明の名称】学習装置、学習方法、音声合成装置、音声合成方法及びプログラム
(51)【国際特許分類】
   G10L 25/30 20130101AFI20220722BHJP
【FI】
G10L25/30
【請求項の数】 11
(21)【出願番号】P 2018151611
(22)【出願日】2018-08-10
(65)【公開番号】P2020027168
(43)【公開日】2020-02-20
【審査請求日】2021-06-29
(73)【特許権者】
【識別番号】504202472
【氏名又は名称】大学共同利用機関法人情報・システム研究機構
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】ヒュウ ティ ルオン
(72)【発明者】
【氏名】山岸 順一
【審査官】西村 純
(56)【参考文献】
【文献】特開2017-032839(JP,A)
【文献】Hieu-Thi Luong et al.,ADAPTING AND CONTROLLING DNN-BASED SPEECH SYNTHESIS USING INPUT CODES,ICASSP2017,2017年03月09日,pp.4905-4909
【文献】Hieu-Thi Luong et al.,Multimodal speech synthesis architecture for unsupervised speaker adaptation,arXiv:1808.06288v1,2018年08月20日
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-99/00
(57)【特許請求の範囲】
【請求項1】
メモリと、
プロセッサと、
を有する学習装置であって、
前記メモリは、
テキストデータを第1のベクトルに変換するテキストモダリティニューラルネットワークと、
音声波形データを第2のベクトルに変換する音声モダリティニューラルネットワークと、
前記テキストモダリティニューラルネットワーク及び前記音声モダリティニューラルネットワークに接続され、前記第1のベクトル又は前記第2のベクトルから話者空間上の話者コードベクトルに対応する音響特徴量を生成する共通ニューラルネットワークとを格納し、
前記プロセッサは、
テキストデータと音響特徴量とから構成される第1の訓練データによって前記テキストモダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習し、
音声波形データと音響特徴量とから構成される第2の訓練データによって前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習し、
所与の話者の第3の訓練データに応じて、前記テキストモダリティニューラルネットワーク及び前記共通ニューラルネットワークと、前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークとを選択的に利用して、前記所与の話者に対する前記話者コードベクトルを推定する学習装置。
【請求項2】
前記プロセッサは、
前記第1の訓練データのテキストデータを前記テキストモダリティニューラルネットワークに入力し、前記テキストモダリティニューラルネットワークから取得した第1のベクトルを前記共通ニューラルネットワークに入力し、前記共通ニューラルネットワークから取得した音響特徴量と前記第1の訓練データの音響特徴量との間の第1の誤差を算出し、
前記第2の訓練データの音声波形データを前記音声モダリティニューラルネットワークに入力し、前記音声モダリティニューラルネットワークから取得した第2のベクトルを前記共通ニューラルネットワークに入力し、前記共通ニューラルネットワークから取得した音響特徴量と前記第2の訓練データの音響特徴量との間の第2の誤差を算出し、
前記第1の誤差と前記第2の誤差との加重和に基づき、前記テキストモダリティニューラルネットワーク、前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習する、請求項1記載の学習装置。
【請求項3】
前記プロセッサは、
前記第1の訓練データのテキストデータを前記テキストモダリティニューラルネットワークに入力し、前記テキストモダリティニューラルネットワークから取得した第1のベクトルを前記共通ニューラルネットワークに入力し、前記共通ニューラルネットワークから取得した音響特徴量と前記第1の訓練データの音響特徴量との間の第1の誤差を算出し、
前記第2の訓練データの音声波形データを前記音声モダリティニューラルネットワークに入力し、前記音声モダリティニューラルネットワークから取得した第2のベクトルを前記共通ニューラルネットワークに入力し、前記共通ニューラルネットワークの一部のレイヤから構成されるサブニューラルネットワークから第3のベクトルを取得し、前記共通ニューラルネットワークに入力された第1のベクトルに対して前記サブニューラルネットワークから第4のベクトルを取得し、前記第3のベクトルと前記第4のベクトルとの間の距離に基づき第3の誤差を算出し、
前記第1の誤差と前記第3の誤差との加重和に基づき、前記テキストモダリティニューラルネットワーク、前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習する、請求項1又は2記載の学習装置。
【請求項4】
前記プロセッサは、
前記第3の訓練データがテキストデータと音響特徴量とから構成される場合、前記テキストデータを前記テキストモダリティニューラルネットワークに入力し、前記テキストモダリティニューラルネットワークから取得した第1のベクトルを前記共通ニューラルネットワークに入力し、前記共通ニューラルネットワークから取得した音響特徴量と前記第3の訓練データの音響特徴量との間の第4の誤差に基づき前記所与の話者の話者コードベクトルを決定する、請求項1乃至3何れか一項記載の学習装置。
【請求項5】
前記プロセッサは、
前記第3の訓練データが音声波形データと音響特徴量とから構成される場合、前記音声波形データを前記音声モダリティニューラルネットワークに入力し、前記音声モダリティニューラルネットワークから取得した第2のベクトルを前記共通ニューラルネットワークに入力し、前記共通ニューラルネットワークから取得した音響特徴量と前記第3の訓練データの音響特徴量との間の第5の誤差に基づき前記所与の話者の話者コードベクトルを決定する、請求項1乃至4何れか一項記載の学習装置。
【請求項6】
メモリと、
プロセッサと、
を有する音声合成装置であって、
前記メモリは、
請求項1乃至5何れか一項記載の学習装置により学習されたテキストモダリティニューラルネットワークと、
前記学習装置により所与の話者に対して学習された共通ニューラルネットワークと、
を格納し、
前記プロセッサは、テキストデータを取得すると、前記格納されているテキストモダリティニューラルネットワーク及び共通ニューラルネットワークによって、前記テキストデータから前記所与の話者に対応する音響特徴量を生成する音声合成装置。
【請求項7】
テキストデータを取得し、前記所与の話者に対応して前記テキストデータから生成された音響特徴量を再生する入出力インタフェースを更に有する、請求項6記載の音声合成装置。
【請求項8】
メモリとプロセッサとを有するコンピュータによって実現される学習方法であって、
前記メモリは、
テキストデータを第1のベクトルに変換するテキストモダリティニューラルネットワークと、
音声波形データを第2のベクトルに変換する音声モダリティニューラルネットワークと、
前記テキストモダリティニューラルネットワーク及び前記音声モダリティニューラルネットワークに接続され、前記第1のベクトル又は前記第2のベクトルから話者空間上の話者コードベクトルに対応する音響特徴量を生成する共通ニューラルネットワークとを格納し、
前記プロセッサが、テキストデータと音響特徴量とから構成される第1の訓練データによって前記テキストモダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習するステップと、
前記プロセッサが、音声波形データと音響特徴量とから構成される第2の訓練データによって前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習するステップと、
前記プロセッサが、所与の話者の第3の訓練データに応じて、前記テキストモダリティニューラルネットワーク及び前記共通ニューラルネットワークと、前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークとを選択的に利用して、前記所与の話者に対する前記話者コードベクトルを推定するステップと、
を有する学習方法。
【請求項9】
メモリとプロセッサとを有するコンピュータによって実現される音声合成方法であって、
前記メモリは、
請求項8記載の学習方法により学習されたテキストモダリティニューラルネットワークと、
前記学習方法により所与の話者に対して学習された共通ニューラルネットワークと、
を格納し、
前記プロセッサが、テキストデータを取得すると、前記格納されているテキストモダリティニューラルネットワーク及び共通ニューラルネットワークによって、前記テキストデータから前記所与の話者に対応する音響特徴量を生成するステップを有する音声合成方法。
【請求項10】
テキストデータを第1のベクトルに変換するテキストモダリティニューラルネットワークと、音声波形データを第2のベクトルに変換する音声モダリティニューラルネットワークと、前記テキストモダリティニューラルネットワーク及び前記音声モダリティニューラルネットワークに接続され、前記第1のベクトル又は前記第2のベクトルから話者空間上の話者コードベクトルに対応する音響特徴量を生成する共通ニューラルネットワークとを格納したメモリに接続されるプロセッサに、
テキストデータと音響特徴量とから構成される第1の訓練データによって前記テキストモダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習させ、
音声波形データと音響特徴量とから構成される第2の訓練データによって前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習させ、
所与の話者の第3の訓練データに応じて、前記テキストモダリティニューラルネットワーク及び前記共通ニューラルネットワークと、前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークとを選択的に利用して、前記所与の話者に対する前記話者コードベクトルを推定させるプログラム。
【請求項11】
請求項10記載のプログラムにより学習されたテキストモダリティニューラルネットワークと、前記プログラムにより所与の話者に対して学習された共通ニューラルネットワークとを格納したメモリに接続されるプロセッサに、
テキストデータを取得すると、前記格納されているテキストモダリティニューラルネットワーク及び共通ニューラルネットワークによって、前記テキストデータから前記所与の話者に対応する音響特徴量を生成させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に音声合成技術に関し、より詳細には、ニューラルネットワークを利用した未知話者に対する話者適応技術に関する。
【背景技術】
【0002】
近年のディープラーニングの進展によって、ニューラルネットワークを利用した音声合成システムの研究開発が進められている。
【0003】
音声合成システムの一例として、特定話者のための音声合成システムがある。特定話者のための音声合成システムによると、特定話者の音声データとテキストデータとのペアを訓練データとして利用することによって、テキストデータを当該話者に対応する音声データに変換するニューラルネットワークが学習され、学習済みのニューラルネットワークを利用して、入力されたテキストデータが当該特定話者の音声によって再生される。
【0004】
他の例として、複数話者のための音声合成システムがある。複数話者のための音声合成システムによると、複数話者の音声データとテキストデータとのペアを訓練データとして利用することによって、テキストデータを複数話者の何れか指定された話者に対応する音声データに変換するニューラルネットワークが学習され、学習済みのニューラルネットワークを利用して、入力されたテキストデータが当該指定された話者の音声によって再生される。
【0005】
更なる他の例として、未知話者のための音声合成システムがある。典型的には、上述した複数話者のための音声合成システムに基づき、未知話者の音声データ及び/又はテキストデータを訓練データとして利用することによって、テキストデータを当該未知話者に対応する音声データに変換するニューラルネットワークが学習される。学習済みのニューラルネットワークを利用して、入力されたテキストデータが当該未知話者の音声によって再生される。
【0006】
未知話者のための音声合成システムとして、未知話者の音声データとテキストデータとのペアを訓練データとして利用するもの(教師有り適応と呼ばれる)と、未知話者の音声データのみを訓練データとして利用するもの(教師なし適応と呼ばれる)とがある。
【先行技術文献】
【非特許文献】
【0007】
【文献】"Neural Voice Cloning with a Few Samples", Sercan O. Arik, et. al., arXiv: 1802.06006, Mar. 20, 2018.
【文献】"Fitting New Speakers Based on a Short Untranscribed Sample", Eliya Nachmani, et. al., arXiv: 1802.06984, Feb. 20, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来技術によると、教師有り適応に基づく未知話者のための音声合成システムと、教師なし適応に基づく未知話者のための音声合成システムとは、それぞれ独立に設計されており、教師有り適応と教師なし適応との双方に対応可能な音声合成システムは現状存在しない。従って、教師有り適応と教師なし適応との何れのケースにも対応可能なニューラルネットワーク構造を備えた未知話者のための音声合成システムが望まれる。
【0009】
上述した問題点を鑑み、本発明の課題は、教師有り適応と教師なし適応との何れのケースにも対応可能なニューラルネットワーク構造を利用した未知話者のための音声合成技術を提供することである。
【課題を解決するための手段】
【0010】
上記課題を解決するため、本発明の一態様は、メモリと、プロセッサとを有する学習装置であって、前記メモリは、テキストデータを第1のベクトルに変換するテキストモダリティニューラルネットワークと、音声波形データを第2のベクトルに変換する音声モダリティニューラルネットワークと、前記テキストモダリティニューラルネットワーク及び前記音声モダリティニューラルネットワークに接続され、前記第1のベクトル又は前記第2のベクトルから話者空間上の話者コードベクトルに対応する音響特徴量を生成する共通ニューラルネットワークとを格納し、前記プロセッサは、テキストデータと音響特徴量とから構成される第1の訓練データによって前記テキストモダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習し、音声波形データと音響特徴量とから構成される第2の訓練データによって前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークを学習し、所与の話者の第3の訓練データに応じて、前記テキストモダリティニューラルネットワーク及び前記共通ニューラルネットワークと、前記音声モダリティニューラルネットワーク及び前記共通ニューラルネットワークとを選択的に利用して、前記所与の話者に対する前記話者コードベクトルを推定する学習装置に関する。
【発明の効果】
【0011】
本発明によると、教師有り適応と教師なし適応との何れのケースにも対応可能なニューラルネットワーク構造を利用した未知話者のための音声合成技術を提供することができる。
【図面の簡単な説明】
【0012】
図1】本発明の一実施例によるニューラルネットワーク構造の概略図である。
図2】本発明の一実施例による学習装置及び音声合成装置のハードウェア構成を示すブロック図である。
図3】本発明の一実施例による学習処理を示す概略図である。
図4】本発明の一実施例による学習処理を示すフローチャートである。
図5】本発明の他の実施例による学習処理を示す概略図である。
図6】本発明の他の実施例による学習処理を示すフローチャートである。
図7】本発明の一実施例による未知話者適応処理を示す概略図である。
図8】本発明の一実施例による未知話者適応処理を示すフローチャートである。
図9】本発明の一実施例による音声合成処理を示す概略図である。
図10】本発明の一実施例による音声合成処理を示すフローチャートである。
図11】本発明の各種実施例による学習処理の実験結果を示す図である。
【発明を実施するための形態】
【0013】
以下の実施例では、教師有り適応と教師なし適応との何れのケースにも対応可能なニューラルネットワークを学習する学習装置100と、当該ニューラルネットワークを利用した未知話者のための音声合成装置200とが開示される。
[概略]
後述される実施例を概略すると、学習装置100は、テキストデータをベクトルに変換するテキストモダリティニューラルネットワーク20、音声波形データをベクトルに変換する音声モダリティニューラルネットワーク30、及びテキストモダリティニューラルネットワーク20及び音声モダリティニューラルネットワーク30から出力されたベクトルから、話者空間上の所与の未知話者を示す話者コードベクトル(潜在変数)に対応する音響特徴量を生成する共通ニューラルネットワーク40を学習する。
【0014】
まず、テキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40から構成されるニューラルネットワーク構造10に対する学習処理において、学習装置100は、テキストデータと音響特徴量とのペアから構成される訓練データに対して、テキストデータをテキストモダリティニューラルネットワーク20に入力し、テキストモダリティニューラルネットワーク20から出力されたベクトルを共通ニューラルネットワーク40に入力する。一方、学習装置100は、音声波形データと音響特徴量とのペアから構成される訓練データに対して、音声波形データを音声モダリティニューラルネットワーク30に入力し、音声モダリティニューラルネットワーク30から取得されたベクトルを共通ニューラルネットワーク40に入力する。そして、以下の実施例において詳細に説明されるように、学習装置100は、共通ニューラルネットワーク40から出力された音響特徴量と訓練データの音響特徴量とに基づき、テキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40を学習する。
【0015】
次に、未知話者適応処理において、学習装置100は、上述した学習済みのテキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40を利用して、話者空間上の未知話者の位置を示す話者コードベクトルを推定する。すなわち、所与の話者の訓練データが与えられると、学習装置100は、当該訓練データがテキスト付きの音声データであるか、あるいは、音声データのみであるかに応じて、テキストモダリティニューラルネットワーク20及び共通ニューラルネットワーク40と、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40とを選択的に利用して、共通ニューラルネットワーク40の話者空間上の当該話者を示す話者コードベクトル(潜在変数)を推定し、推定した潜在変数が埋め込まれた話者毎の共通ニューラルネットワーク40を生成する。
【0016】
音声合成装置200は、このようにして学習装置100によって未知話者毎に学習されたニューラルネットワーク構造10における学習済みのテキストモダリティニューラルネットワーク20及び共通ニューラルネットワーク40を利用して、所与のテキストデータから当該未知話者に対応する音声データを生成する。
[ニューラルネットワーク構造]
まず、図1を参照して、本発明の一実施例によるニューラルネットワーク構造10を説明する。図1は、本発明の一実施例によるニューラルネットワーク構造10の概略図である。
【0017】
図1に示されるように、ニューラルネットワーク構造10は、テキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40を有し、テキストモダリティニューラルネットワーク20及び音声モダリティニューラルネットワーク30はそれぞれ、共通ニューラルネットワーク40に接続される。
【0018】
テキストモダリティニューラルネットワーク20は、入力されたテキストデータ(例えば、言語特徴量)を共通ニューラルネットワーク40への入力用のベクトルに変換する何れかのレイヤ構成を有するニューラルネットワークである。図示された実施例では、テキストモダリティニューラルネットワーク20は、N(L)層のフィードフォワードニューラルネットワークであり、テキストデータのベクトルlを入力層において取得し、取得したベクトルlを隠れ層にわたす。N(L)個の隠れ層はそれぞれ、前段のレイヤからわたされたベクトルを行列W及びバイアスベクトルbによって線形変換し、変換されたベクトルを活性化関数σ(例えば、シグモイド関数)に入力し、活性化関数σから出力されたベクトルを後段のレイヤにわたす。出力層は、前段の隠れ層からわたされたベクトルを共通ニューラルネットワーク40の入力層にわたす。
【0019】
形式的には、テキストデータのベクトルlが与えられると、第1の隠れ層は、
=σ(WL,1l+bL,1
によってベクトルhを出力する。以下同様にして、各隠れ層は同様の変換処理を実行し、第N(L)の隠れ層は、前段の隠れ層からベクトルhNL-1が与えられると、
NL=σ(WL,NLNL-1+bL,NL
によってベクトルhNLを出力し、出力層にわたす。当該ベクトル及び行列は、後述される学習処理において学習される。
【0020】
音声モダリティニューラルネットワーク30は、入力された音声データ(例えば、音声波形)を共通ニューラルネットワーク40への入力用のベクトルに変換する何れかのレイヤ構成を有するニューラルネットワークである。図示された実施例では、音声モダリティニューラルネットワーク30は、N(S)層のフィードフォワードニューラルネットワークであり、音声データのベクトルsを入力層において取得し、取得したベクトルsを隠れ層にわたす。N(S)個の隠れ層はそれぞれ、前段のレイヤからわたされたベクトルを行列W及びバイアスベクトルbによって線形変換し、変換されたベクトルを活性化関数σ(例えば、シグモイド関数)に入力し、活性化関数σから出力されたベクトルを後段のレイヤにわたす。出力層は、前段の隠れ層からわたされたベクトルを共通ニューラルネットワーク40の入力層にわたす。なお、各隠れ層における具体的な処理は、上述したテキストモダリティニューラルネットワーク20のものと同様であり、重複する説明は省く。
【0021】
共通ニューラルネットワーク40は、テキストモダリティニューラルネットワーク20及び音声モダリティニューラルネットワーク30からわたされたベクトルを音響特徴量に変換する何れかのレイヤ構成を有するニューラルネットワークである。図示された実施例では、共通ニューラルネットワーク40は、N(C)層のフィードフォワードニューラルネットワークであり、テキストモダリティニューラルネットワーク20及び音声モダリティニューラルネットワーク30から入力されたベクトルを入力層において取得し、取得したベクトルを隠れ層にわたす。N(C)個の隠れ層はそれぞれ、前段のレイヤからわたされたベクトルを行列W及びバイアスベクトルbによって線形変換し、変換されたベクトルを活性化関数σ(例えば、シグモイド関数)に入力し、活性化関数σから出力されたベクトルを後段のレイヤにわたす。出力層は、前段の隠れ層からわたされた音響特徴量を示すベクトルを出力する。
【0022】
また、共通ニューラルネットワーク40は更に、後述される未知話者適応処理によって推定された所与の話者を示す話者コードベクトル(潜在変数)を含む。換言すると、共通ニューラルネットワーク40は、未知話者適応処理において学習装置100によって話者毎に学習される。所与の話者を示す話者空間上の推定された話者コードベクトルが与えられた隠れ層は、前段のレイヤからわたされたベクトルと話者コードベクトルとに対して線形変換を実行し、変換されたベクトルを活性化関数σ(例えば、シグモイド関数)に入力し、活性化関数σから出力されたベクトルを後段のレイヤにわたす。
【0023】
形式的には、話者コードベクトルが与えられる隠れ層は、前段のレイヤからベクトルhn-1と話者iの話者コードベクトルd(i)とが与えられると、
=σ(WC,nn-1+bC,n+W(i)
によってベクトルhを取得する。ここで、Wは話者コード用の重み行列である。なお、話者コードベクトルが入力されない各隠れ層における具体的な処理は、上述したテキストモダリティニューラルネットワーク20のものと同様であり、重複する説明は省く。
【0024】
なお、図示された実施例では、話者コードベクトルは1つの隠れ層にわたされているが、これに限定されるものでなく、共通ニューラルネットワーク40のレイヤ構成に応じて複数の隠れ層にわたされてもよい。
[ハードウェア構成]
ここで、学習装置100及び音声合成装置200は、例えば、図2に示されるように、CPU (Central Processing unit)、GPU (Graphics Processing Unit)などのプロセッサ101、RAM (Random Access Memory)、フラッシュメモリなどのメモリ102、ハードディスク103及び入出力(I/O)インタフェース104によるハードウェア構成を有してもよい。
【0025】
プロセッサ101は、学習装置100及び音声合成装置200の各種処理を実行する。
【0026】
メモリ102は、学習装置100及び音声合成装置200における各種データ及びプログラムを格納し、特に作業用データ、実行中のプログラムなどのためのワーキングメモリとして機能する。具体的には、メモリ102は、ハードディスク103からロードされたニューラルネットワーク構造10を実現するプログラム、各種処理を実行及び制御するためのプログラムなどを格納し、プロセッサ101によるプログラムの実行中にワーキングメモリとして機能する。
【0027】
ハードディスク103は、学習装置100及び音声合成装置200における各種データ及びプログラムを格納する。
【0028】
I/Oインタフェース104は、ユーザからの命令、入力データなどを受け付け、出力結果を表示、再生などすると共に、外部装置との間でデータを入出力するためのインタフェースである。例えば、I/Oインタフェース104は、USB (Universal Serial Bus)、通信回線、キーボード、マウス、ディスプレイ、マイクロフォン、スピーカなどの各種データを入出力するためのデバイスである。
【0029】
しかしながら、本発明による学習装置100及び音声合成装置200は、上述したハードウェア構成に限定されず、他の何れか適切なハードウェア構成を有してもよい。例えば、上述した学習装置100及び音声合成装置200による各種処理の1つ以上は、これを実現するよう配線化された処理回路又は電子回路により実現されてもよい。
[ニューラルネットワーク構造の第1の学習処理]
次に、図3及び4を参照して、本発明の一実施例によるニューラルネットワーク構造10に対する学習処理を説明する。上述したニューラルネットワーク構造10の内部構成から理解されるように、学習装置100は、共通ニューラルネットワーク40がテキストデータと音声データとの異なるモダリティからの入力を適切に受け付けるようにニューラルネットワーク構造10を学習する必要がある。
【0030】
図3は、本発明の一実施例による学習処理を示す概略図である。本実施例では、図3に示されるように、学習装置100は、共通ニューラルネットワーク40をテキストモダリティニューラルネットワーク20と音声モダリティニューラルネットワーク30とに共有させ、2つの共通ニューラルネットワーク40を同時に、すなわち、2つの共通ニューラルネットワーク40におけるパラメータ(例えば、隠れ層の重み行列)が同一となるよう同期的に学習する。
【0031】
具体的には、学習装置100は、テキストデータと音響特徴量とのペアから構成される訓練データに対して、当該テキストデータをテキストモダリティニューラルネットワーク20に入力し、テキストモダリティニューラルネットワーク20から出力されたベクトルを取得する。そして、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から出力された音響特徴量を取得し、取得した音響特徴量と訓練データの音響特徴量との間の誤差(lossmain)を算出する。
【0032】
一方、学習装置100は、音声波形データと音響特徴量とのペアから構成される訓練データに対して、当該音声波形データを音声モダリティニューラルネットワーク30に入力し、音声モダリティニューラルネットワーク30から出力されたベクトルを取得する。そして、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から出力された音響特徴量を取得し、取得した音響特徴量と訓練データの音響特徴量との間の誤差(losssub)を算出する。
【0033】
その後、学習装置100は、算出した2つの誤差(lossmain,losssub)の加重和に基づき、テキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40を学習する。例えば、学習装置100は、
loss=lossmain+αlosssub
に従って(αは、スカラー値である)、テキストモダリティニューラルネットワーク20及び共通ニューラルネットワーク40による誤差lossmainと、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40による誤差losssubとの2つの誤差の加重和(loss)を算出してもよい。
【0034】
学習装置100は、算出した誤差の加重和(loss)が減少するように、例えば、バックプロパゲーションに従って、共有される2つの共通ニューラルネットワーク40のパラメータが同一となるように、テキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40のパラメータ(例えば、隠れ層の重み行列)を更新する。
【0035】
図4は、本発明の一実施例による学習処理を示すフローチャートである。当該学習処理は、学習装置100、具体的には、学習装置100のプロセッサ101によって実行される。
【0036】
図4に示されるように、ステップS101において、学習装置100は、訓練データを取得する。例えば、訓練データが複数の話者によるテキスト付きの音声データである場合、学習装置100は、前処理として、当該音声データを対応する音声波形データ及び音響特徴量に変換し、訓練データからテキストデータと音響特徴量とのペアと音声波形データと音響特徴量とのペアとを生成してもよい。
【0037】
ステップS102において、学習装置100は、処理対象の訓練データがテキストデータと音響特徴量とのペアである場合、ステップS103に進み、処理対象の訓練データが音声波形データと音響特徴量とのペアである場合、ステップS106に進む。
【0038】
ステップS103において、学習装置100は、訓練データのテキストデータをテキストモダリティニューラルネットワーク20に入力し、テキストモダリティニューラルネットワーク20から出力されたベクトルを取得する。
【0039】
ステップS104において、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から出力された音響特徴量を取得する。
【0040】
ステップS105において、学習装置100は、共通ニューラルネットワーク40から取得した音響特徴量と訓練データの音響特徴量との誤差(lossmain)を算出する。
【0041】
一方、ステップS106において、学習装置100は、訓練データの音声波形データを音声モダリティニューラルネットワーク30に入力し、音声モダリティニューラルネットワーク30から出力されたベクトルを取得する。
【0042】
ステップS107において、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から出力された音響特徴量を取得する。
【0043】
ステップS108において、学習装置100は、共通ニューラルネットワーク40から取得した音響特徴量と訓練データの音響特徴量との誤差(losssub)を算出する。
【0044】
ステップS109において、学習装置100は、ステップS105及びS108において取得した2つの誤差の加重和(loss)を計算し、計算した加重和(loss)が減少するように、例えば、バックプロパゲーションに従ってテキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40のパラメータ(例えば、隠れ層の重み行列)を更新し、具体的には、共有される2つの共通ニューラルネットワーク40のパラメータが同一のものに更新されるように、2つの共通ニューラルネットワーク40を同期的に学習する。
【0045】
学習装置100は、所定の終了条件を充足するまで、各訓練データに対して上述したステップS101~S109を繰り返す。当該所定の終了条件は、例えば、所定の回数の繰り返しを終了したこと、誤差(loss)が所定の閾値以下になったこと、誤差(loss)が収束したことなどであってもよい。
[ニューラルネットワーク構造の第2の学習処理]
次に、図5及び6を参照して、本発明の他の実施例によるニューラルネットワーク構造10に対する学習処理を説明する。上述したニューラルネットワーク構造10から理解されるように、学習装置100は、共通ニューラルネットワーク40がテキストデータと音声データとの異なるモダリティからの入力を適切に受け付けるようにニューラルネットワーク構造10、特に、共通ニューラルネットワーク40の入力層に近い下層レイヤを学習することが求められる。
【0046】
図5は、本発明の他の実施例による学習処理を示す概略図である。本実施例では、図5に示されるように、学習装置100は、テキストモダリティニューラルネットワーク20及び音声モダリティニューラルネットワーク30から入力された各ベクトルに対して、共通ニューラルネットワーク40における一部の隠れ層(例えば、入力層から所定番目の隠れ層)から出力される各ベクトルの間の距離を損失又はペナルティ(losssub)として利用し、上述したテキストモダリティニューラルネットワーク20及び共通ニューラルネットワーク40における誤差(lossmain)と、一部の隠れ層から出力されるベクトル間の距離(losssub)との加重和に基づき、テキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40を学習する。図3及び4を参照して上述した実施例による学習処理では、隠れ層の重み行列は共有される共通ニューラルネットワーク40において同じとされたが、テキストモダリティニューラルネットワーク20及び音声モダリティニューラルネットワーク30から入力された各ベクトルに対する共通ニューラルネットワーク40の隠れ層から出力されるベクトルが互いに近いものになることを明示的に保証するものでない。このため、共通ニューラルネットワーク40の入力層に隠れ層から出力されるベクトルが近似したものになるよう共通ニューラルネットワーク40を学習することによって、より精度の高い変換が可能になると考えられる。
【0047】
具体的には、学習装置100は、テキストデータと音響特徴量とのペアから構成される訓練データに対して、当該テキストデータをテキストモダリティニューラルネットワーク20に入力し、テキストモダリティニューラルネットワーク20から出力されたベクトルを取得する。そして、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から出力された音響特徴量を取得し、取得した音響特徴量と訓練データの音響特徴量との間の誤差(lossmain)を算出する。
【0048】
一方、学習装置100は、音声波形データと音響特徴量とのペアから構成される訓練データに対して、当該音声波形データを音声モダリティニューラルネットワーク30に入力し、音声モダリティニューラルネットワーク30から出力されたベクトルを取得する。そして、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40の一部のレイヤ(例えば、入力層からL番目の隠れ層)から構成されるサブニューラルネットワークから出力されたベクトル(h sub)を取得する一方、テキストモダリティニューラルネットワーク20から共通ニューラルネットワーク40に入力されたベクトルに対して、当該サブニューラルネットワークから出力されたベクトル(h main)を取得する。
【0049】
その後、学習装置100は、2つのベクトル(h main,h sub)の間の距離に基づき誤差(losssub)を算出し、誤差(lossmain)と誤差(losssub)との加重和に基づきテキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40を学習する。例えば、学習装置100は、
loss=lossmain+βΣ distance(h main,h sub
に従って(βは、スカラー値である)、2つの誤差(lossmain,losssub)の加重和lossを算出してもよい。ここで、距離distanceは、例えば、コサイン距離であってもよい。
【0050】
学習装置100は、算出した誤差の加重和が減少するように、例えば、バックプロパゲーションに従ってテキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40のパラメータ(例えば、隠れ層の重み行列)を更新する。
【0051】
図6は、本発明の他の実施例による学習処理を示すフローチャートである。当該学習処理は、学習装置100、具体的には、学習装置100のプロセッサ101によって実行される。
【0052】
図6に示されるように、ステップS201において、学習装置100は、訓練データを取得する。
【0053】
ステップS202において、学習装置100は、処理対象の訓練データがテキストデータと音響特徴量とのペアである場合、ステップS203に進み、処理対象の訓練データが音声波形データと音響特徴量とのペアである場合、ステップS206に進む。
【0054】
ステップS203において、学習装置100は、訓練データのテキストデータをテキストモダリティニューラルネットワーク20に入力し、テキストモダリティニューラルネットワーク20から出力されたベクトルを取得する。
【0055】
ステップS204において、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力する。
【0056】
ステップS205において、学習装置100は、共通ニューラルネットワーク40から出力された音響特徴量を取得すると共に、共通ニューラルネットワーク40のサブニューラルネットワーク(例えば、入力層から所定番目の隠れ層)から出力されたベクトル(h main)を取得する。
【0057】
一方、ステップS206において、学習装置100は、訓練データの音声波形データを音声モダリティニューラルネットワーク30に入力し、音声モダリティニューラルネットワーク30から出力されたベクトルを取得する。
【0058】
ステップS207において、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力する。
【0059】
ステップS208において、学習装置100は、共通ニューラルネットワーク40のサブニューラルネットワークから出力されたベクトル(h sub)を取得する。
【0060】
ステップS209において、学習装置100は、共通ニューラルネットワーク40から取得した音響特徴量と訓練データの音響特徴量との誤差(lossmain)と、2つのベクトル(h main,h sub)の間の距離(losssub)とを算出する。
【0061】
ステップS210において、学習装置100は、ステップS209において算出した誤差(lossmain)と距離(losssub)との加重和(loss)を算出し、算出した加重和(loss)が減少するように、例えば、バックプロパゲーションに従ってテキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40のパラメータ(例えば、隠れ層の重み行列)を更新する。
【0062】
学習装置100は、所定の終了条件を充足するまで、各訓練データに対して上述したステップS201~S210を繰り返す。当該所定の終了条件は、例えば、所定の回数の繰り返しを終了したこと、誤差(loss)が所定の閾値以下になったこと、誤差(loss)が収束したことなどであってもよい。
【0063】
なお、2つのタイプのニューラルネットワーク構造の学習処理について個別に説明したが、これら2つのタイプの学習処理が組み合わせ可能であることは当業者に理解されるであろう。この場合、誤差(loss)は、例えば、
loss=lossmain+αlosssub+βΣ distance(h main,h sub
に従って算出され、テキストモダリティニューラルネットワーク20、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40のパラメータが、誤差を減少させるように更新されると共に、2つの共通ニューラルネットワーク40のパラメータが同期的に学習される。
[共通ニューラルネットワーク40に対する話者適応処理]
次に、図7及び8を参照して、本発明の一実施例による共通ニューラルネットワーク40に対する話者適応処理を説明する。本実施例では、上述した学習処理に従ってニューラルネットワーク構造10を学習した後、所与の未知話者の訓練データが与えられると、学習装置100は、当該訓練データに応じて、テキストモダリティニューラルネットワーク20及び共通ニューラルネットワーク40と、音声モダリティニューラルネットワーク及び共通ニューラルネットワーク40とを選択的に利用して、共通ニューラルネットワーク40の話者空間における当該未知話者を示す話者コードベクトルを推定する。
【0064】
図7は、本発明の一実施例による未知話者適応処理を示す概略図である。本実施例では、図7に示されるように、与えられた訓練データが所与の未知話者のテキストデータと音響特徴量とのペアである場合、学習装置100は、テキストモダリティニューラルネットワーク20及び共通ニューラルネットワーク40を利用して、当該未知話者の話者コードベクトルを推定する。他方、与えられた訓練データが所与の未知話者の音声波形データと音響特徴量とのペアである場合、学習装置100は、音声モダリティニューラルネットワーク30及び共通ニューラルネットワーク40を利用して、当該未知話者の話者コードベクトルを推定する。
【0065】
具体的には、学習装置100は、所与の未知話者の訓練データがテキストデータと音響特徴量とから構成される場合、当該テキストデータをテキストモダリティニューラルネットワーク20に入力し、テキストモダリティニューラルネットワーク20から取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から取得した音響特徴量と訓練データの音響特徴量との間の誤差に基づき当該話者の話者コードベクトルを決定する。他方、学習装置100は、所与の未知話者の訓練データが音声波形データと音響特徴量とから構成される場合、音声波形データを音声モダリティニューラルネットワーク30に入力し、音声モダリティニューラルネットワーク30から取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から取得した音響特徴量と訓練データの音響特徴量との間の誤差に基づき当該話者の話者コードベクトルを決定する。
【0066】
例えば、図1に示される具体例によると、話者コードベクトルd(i)は、
(i)=d(i)+εW n-1
に従って更新される。ここで、εは所定値以下の小さな値であり、fは誤差伝搬のための関数であり、
N-1 (C)=WC,N (C),Tσ-1(e')
として定義され、σ-1は活性化関数によって決定される伝搬用の関数であり、e'は共通ニューラルネットワーク40から取得した音響特徴量と訓練データの音響特徴量との間の誤差の微分値である。なお、当該未知話者適応処理では、共通ニューラルネットワーク40の重み行列W及びバイアスベクトルbは更新されない。
【0067】
このようにして、共通ニューラルネットワーク40における話者コードベクトル(潜在変数)を特定することによって、学習済みのニューラルネットワーク構造10を特定の未知話者に適応させることができる。
【0068】
図8は、本発明の一実施例による未知話者適応処理を示すフローチャートである。当該学習処理は、学習装置100、具体的には、学習装置100のプロセッサ101によって実行される。
【0069】
図8に示されるように、ステップS301において、学習装置100は、所与の未知話者の訓練データを取得する。
【0070】
ステップS302において、学習装置100は、訓練データがテキストデータと音響特徴量とのペア又は音声波形データと音響特徴量とのペアから構成されているか判断し、訓練データがテキストデータと音響特徴量とのペアから構成されている場合、ステップS303に進み、訓練データが音声波形データと音響特徴量とのペアから構成されている場合、ステップS306に進む。
【0071】
ステップS303において、学習装置100は、訓練データのテキストデータをテキストモダリティニューラルネットワーク20に入力し、テキストモダリティニューラルネットワーク20から出力されたベクトルを取得する。
【0072】
ステップS304において、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から出力された音響特徴量を取得する。
【0073】
ステップS305において、学習装置100は、共通ニューラルネットワーク40から取得した音響特徴量と訓練データの音響特徴量との間の誤差を算出する。
【0074】
一方、ステップS306において、学習装置100は、訓練データの音声波形データを音声モダリティニューラルネットワーク30に入力し、音声モダリティニューラルネットワーク30から出力されたベクトルを取得する。
【0075】
ステップS307において、学習装置100は、取得したベクトルを共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から出力された音響特徴量を取得する。
【0076】
ステップS308において、学習装置100は、共通ニューラルネットワーク40から取得した音響特徴量と訓練データの音響特徴量との間の誤差を算出する。
【0077】
ステップS309において、学習装置100は、ステップS305及びS308において算出した誤差が減少するように、例えば、上述した更新式を利用してバックプロパゲーションに従って共通ニューラルネットワーク40の話者コードベクトルを更新する。
【0078】
学習装置100は、所定の終了条件を充足するまで、各訓練データに対して上述したステップS301~S309を繰り返す。当該所定の終了条件は、例えば、所定の回数の繰り返しを終了したこと、誤差が所定の閾値以下になったこと、誤差が収束したことなどであってもよい。
[学習済みニューラルネットワーク構造を利用した音声合成処理]
次に、図9~11を参照して、本発明の一実施例による音声合成処理を説明する。本実施例では、音声合成装置200は、上述した学習装置100によって特定の話者に対して学習されたテキストモダリティニューラルネットワーク20及び共通ニューラルネットワーク40を利用して、音声合成対象のテキストデータから当該話者に対応する音声データを生成及び再生する。
【0079】
図9は、本発明の一実施例による音声合成処理を示す概略図である。本実施例では、音声合成装置200は、音声合成対象のテキストデータが与えられると、図9に示されるように、上述した学習装置100によって特定の話者に対して学習されたテキストモダリティニューラルネットワーク20及び共通ニューラルネットワーク40を利用して、当該テキストデータから当該話者に対応する音響特徴量を生成する。具体的には、音声合成装置200は、入出力インタフェース104を介して、テキストデータを取得し、当該話者に対応するテキストデータから生成された音響特徴量を再生してもよい。
【0080】
図10は、本発明の一実施例による音声合成処理を示すフローチャートである。当該音声合成処理は、音声合成装置200、具体的には、音声合成装置200のプロセッサ101によって実行される。
【0081】
図10に示されるように、ステップS401において、音声合成装置200は、音声合成対象となるテキストデータを取得する。例えば、テキストデータは、音声合成装置200の入出力インタフェース104を介し入力されたものであってもよい。
【0082】
ステップS402において、音声合成装置200は、取得したテキストデータを学習済みテキストモダリティニューラルネットワーク20に入力し、テキストモダリティニューラルネットワーク20から出力されたベクトルを取得する。
【0083】
ステップS403において、音声合成装置200は、取得したベクトルを学習済み共通ニューラルネットワーク40に入力し、共通ニューラルネットワーク40から出力された音響特徴量を取得する。
【0084】
ステップS404において、音声合成装置200は、共通ニューラルネットワーク40から取得した特定の話者に対応する音響特徴量を何れかの音声データフォーマットに変換し、変換された音声データを再生する。例えば、変換された音声データは、当該話者の声、テンポ、アクセントなどに近い音声によって入力されたテキストデータを再生したものとなりうる。
【0085】
図11は、本発明の各種実施例による学習処理の実験結果を示す図である。図11において、VL、SS、JG、TL及びJG+TLは、上述した学習済みニューラルネットワーク構造を利用したものを含む各種音声合成システムを表す。
【0086】
VLは、3つのニューラルネットワークから構成されるニューラルネットワーク構造10でなく、従来のニューラルネットワーク構造を利用したシステムである。SSは、ニューラルネットワーク構造10の各モダリティニューラルネットワークを単純に置き換えて学習されたシステムである。JGは、図3及び4を参照して説明した学習処理により学習されたニューラルネットワーク構造10を利用したシステムである。TLは、図5及び6を参照して説明した学習処理により学習されたニューラルネットワーク構造10を利用したシステムである。JG+TLは、JGとTLとを組み合わせた学習処理により学習されたニューラルネットワーク構造10を利用したシステムである。
【0087】
図11では、10、40、160及び320個の未知話者の訓練データによって学習された場合の各音声合成システムの誤差(MCD)のシミュレーション結果が示される。図から理解されうるように、訓練データとして音声データとテキストデータとが与えられる教師有り学習と、音声データのみが与えられる教師なし学習との何れのケースでも、上述した実施例によるJG、TL及びJG+TLは、VL及びSSに対して有意に誤差を低減するという結果を得ることができた。
【0088】
なお、上述した実施例では、テキストデータと音声データとが異なるモダリティとして扱われたが、本発明は、これに限定されるものでなく、他のタイプのモダリティの組み合わせに同様にして適用可能であることは理解されるであろう。
【0089】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0090】
10 ニューラルネットワーク構造
20 テキストモダリティニューラルネットワーク
30 音声モダリティニューラルネットワーク
40 共通ニューラルネットワーク
100 学習装置
200 音声合成装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11