少ない計算リソースで動かすText to Speech手法
3つの要点
✔️ 携帯電話などのリソースが限られた機器でのText to Speechのモデルを設計する方法を提案
✔️ NASを用いて、従来の軽量もでるよりもモデルサイズと推論レイテンシを軽減
✔️ 音声品質を落とさず、より軽量で高速なモデルを自動で設計することに成功
LightSpeech: Lightweight and Fast Text to Speech with Neural Architecture Search
written by Renqian Luo, Xu Tan, Rui Wang, Tao Qin, Jinzhu Li, Sheng Zhao, Enhong Chen, Tie-Yan Liu
(Submitted on 8 Feb 2021)
Comments: ICASSP 21
Subjects: Sound (cs.SD); Artificial Intelligence (cs.AI); Machine Learning (cs.LG); Audio and Speech Processing (eess.AS)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
テキストから自然な読み上げ音声を合成するText to Speechは、音声ナビゲーションやニュースキャスティングなどの多くのサービスに導入されています。ニューラルネットワークをベースとしたText to Speechのモデルは、従来のText to Speechで用いられてきたモデルよりも音声品質を大幅に改善しましたが、ニューラルネットワークをベースとしたモデルでは自己回帰型のモデルを採用していることがほとんどのため、推論レイテンシが大きく、携帯電話などのエンドデバイスで利用することが困難でした。非自己回帰型のモデルでは、自己回帰型のモデルよりも大幅に推論速度が速いですが、モデルサイズ、推論レイテンシ、消費電力が大きくなってしまいます。そのため、非自己回帰型のモデルも、本論文で対象としているような携帯電話などのエンドデバイスで利用することは難しいです。
携帯電話などのエンドデバイスでこれらのモデルを利用するために考えられる手法として、ニューラルネットワークの軽量化が考えられます。軽量で効率的なニューラルネットワークの設計には、量子化や刈込など、多くの手法があります。これらの手法は大きなモデルをより小さなモデルに圧縮することができ、より少ない計算コストで大きな成功を収めています。しかし、これらの手法のほとんどは領域固有の知識や特性を含んだ、コンピュータビジョン用の畳み込みニューラルネットワークに対して設計されているので、Text to Speechで用いられるようなリカレントニューラルネットワークやアテンションネットワークなどを用いたモデルには容易には拡張することができません。例えば、ネットワークの深さや幅を手動で小さくすると、激しい性能低下をもたらします。
このような問題を踏まえて、著者らはNeural Architecture Search (NAS) を用いて最適なアーキテクチャを設計することを考えました。Neural Architecture Searchを新しい分野やタスクに適用するには、探索空間、探索アルゴリズム、評価指標を設計する必要があります。本論文では、携帯電話などの計算リソースの限られたエンドデバイス上で実行することを考えたText to SpeechのモデルをNASで設計するため、これら三つ(探索空間、探索アルゴリズム、評価指標)を設計しました
提案手法
現行モデルの分析
FastSpeechは、Text to Speechの分野で代表的なモデルです。そのため、本論文ではこのモデルをバックボーンとして採用しました。まずは、FastSpeechの構造を分析し、どの部分に多くのパラメータが必要となっているのかを確認します。
下の表は、FastSpeechの各モジュールのパラメータ数をあらわした表です。
この表を見ると、FastSpeechではパラメータ数の多くをエンコーダとデコーダが占めていることがわかります。そのため、著者らは主にエンコーダとデコーダのサイズを小さくすることを目指し、エンコーダとデコーダのアーキテクチャをNASを用いて探索します。また、予測器は全体で見ると大きなパラメータ数ではありませんが、推論時間としてはそこそこの割合を占めています。そこで、アーキテクチャの探索よりも、より軽量な演算を行う分散予測器を手動で設計することを目指します。
探索空間の設計
FastSpeechにはエンコーダとデコーダの両方に4つのトランスフォーマーブロックがあり、それぞれのトランスフォーマーブロックにはマルチヘッド自己注意機構と順伝播型ネットワークが含まれています。このエンコーダとデコーダのフレームワークをネットワークのバックボーンとして採用します。また、トランスフォーマブロックに含まれるマルチヘッド自己注意機構と順伝搬型ネットワークは分離して考え、別々の演算として扱います。
以上のようにバックボーンのネットワークを利用し、以下のように探索空間を設定しました。
- LSTMは推論速度が遅いので考慮しない
- マルチヘッド自己注意機構は注目ヘッド数が{2, 4, 8}と異なるものを採用
- 深さ方向に分離可能な畳み込み(SepConv)を利用し、カーネルサイズとして{1, 5, 9, 13, 17, 21, 25}を採用
よって演算の候補は、順伝搬型ネットワーク、マルチヘッド自己注意機構3種、SepConv7種類の計11種類となります。
探索アルゴリズム
ニューラルネットワークのアーキテクチャを探索する方法は数多く存在しますが、著者らはGBDTを用いた手法(GBDT-NAS)を採用しました。この手法は、アーキテクチャの精度予測にGBDTを用いることでアーキテクチャの評価を高速化することができる手法です。また、GBDTの予測結果が上位のアーキテクチャには学習セットで学習させたのちにdevセットで性能を検証し、最も性能が高いアーキテクチャを探索します。
実験
データセット
13100組のテキストと音声データを含む、LJSpeechデータセットを用いました。このデータセットを3分割し、12900サンプルをトレーニングセット、100サンプルをdevセット、100サンプルをテストセットとしました。
結果
・音声品質
合成音声の品質評価のために、テストセットに対してCMOS評価を行いました。その結果が下の表になります。
提案手法(LightSpeech)と、標準的なFastSpeech、手動で設計した軽量FastSpeechの三つを比較しています。この表を見ると、パラメータ数は手動で設計した軽量FastSpeechモデルと同等であるにも関わらず、音声品質(CMOS)は標準的なFastSpeech以上の性能を達成することができていることがわかります。
・高速化と計算量
高速化と計算量を測定した結果が下の表になります。
この表を見ると、LightSpeechによって発見されたアーキテクチャはFastSpeech2と比較して、15倍の圧縮率、16倍のMAC数、CPUでの6.5倍の推論速度で同等の音質を達成できていることがわかります。従って、リソースに制約のある多くのシナリオでより現実的な展開が可能であることがわかります。
まとめ
本論文では、NASを活用して軽量かつ高速なText to Speechのモデルを発見するLightSpeechを提案しました。実験によると、発見されたアーキテクチャはFastSpeech2と比較して15倍の圧縮率、16倍のMAC数、6.5倍の推論速度向上をCPU上で達成し、同等の音質を実現することができました。
この記事に関するカテゴリー