[Deep Learning] WaveNetの解説

今回の記事では、Google傘下のDeep Mindが開発したDeep LearningのモデルであるWaveNetについて説明していきます。信号処理の分野を研究している筆者からするとWaveNetはかなり画期的な提案だと思います。最近だとWaveRNNというモデルが同社によって開発されていて、WaveNetと同等の性能でより高速にTTS(text-to-speech)可能だと報告されています。次の記事でWaveRNNについて説明するので今回はWaveNetの画期的な提案について解説していきます。

はじめに

WaveNetは音声波形を直接モデリングするネットワークです。従来の手法ではパワースペクトルに対して2D-Convolutionを用いたCNNで周波数領域をモデリングしていました。この手法では推論したパワースペクトルから音声信号に復元するために位相情報を学習前の音声から推論するため品質の劣化が問題となってました。そこで、パワースペクトルを使わずに、音声を直接学習するネットワークがいくつか提案されました。この手法の問題点としてはネットワークの受容野を広くするために多層化して居たため学習の収束に時間がかかるのと、スペクトルベースの学習と比較して性能が向上しませんでした。この問題を解決するために開発されたのがWaveNetです。

WaveNetとは

WaveNetのネットワークの全体像は下画像です。WaveNetの主な提案としては時系列データの学習にdelated convolutionとゲート付き活性化関数を用いたことで、出力層では各層をskip connectionした結果の総和を取っています。delated convolutionで解像度の異なる畳み込みをした後にskip connectionにより効果的な特徴抽出を可能にしています。またWaveNetはかなり深い層で学習しているので各層で残差を取って勾配消失の対策もしています。DeepMindは上記の構造をもつネットワークであるWaveNetを提案しTTSなどのタスクでSOTAなスコアを出しています。

応用例

TTS(WaveNetの論文)

音声波形合成

音声のノイズ除去

音声の広帯域化

上記のタスクではWaveNetを用いることで従来のCNNベースまたはフィルタリングベースのパフォーマンスより上回ったことが報告されています。WaveNetは様々なタスクに応用可能なように設計されており、他のタスクでの効果も期待できますね。

まとめ

今回の記事では時間域信号から直接音声特徴をモデリングするWaveNetの解説をしました。時間域信号のパターンは無数にあり、このパターンをそのまま解析するのは無謀過ぎますがそれをしたのがWaveNetです。結果として従来手法より性能が向上しているので素晴らしすぎる提案だと思います。2017年10月にはGoogle Assistantにも搭載されたと記事になっていて、WaveNetは今後しばらくは信号処理の分野でDeep Learningを活用する研究に影響を与えそうです。次回の記事ではWaveRNNについて解説していきたいと思います。

Published by

ryousuke nasuno

東京都市大学工学研究科の修士2年の学生です. Deep Learningを活用した研究をしています.

Leave a Reply

Your email address will not be published. Required fields are marked *