WaveNet
概要
ネットワーク構造
https://gyazo.com/e446bd47ecd2826e570df85c682021da
学習するときは、入力も出力も同じ次元数であり、複数のタイムステップの学習を並行して行うことができる。
すでに次のタイムステップの値が存在するため。
生成するときは、1タイムステップずつ出力し、その出力を次のタイムステップの入力とする。
Gated Activation Unit
$ tanhと$ \sigma(シグモイド関数)、それぞれの活性化関数を通して、それらの積をとる
線形の活性化関数よりも、本提案手法のような非線形の活性化関数の方がaudio signalをモデリングするのには適している
Residual and Skip Connection
ResNetを参考に、残差関数を学習するように接続部を追加(図中のResidual, Skip-connections) Conditional WaveNets
入力として、音声データの他に追加のデータを与えることで、異なる話者の音声合成を行ったり、text to speechのタスクを行えるようにしたりとしている。
その他工夫
生のaudioデータは1タイムステップあたり16bitの整数値をとる、すなわち65536通りの値をとるため、出力のsoftmax層において65536次元で出力する必要がある。しかし、今回はより扱いやすくするためにμ-law compandingをデータに適用して256次元に圧縮した。
x_tを時間tの時の入力(-1<x_t<1)、μ=255(8bit)として、$ f(x_{t}) = sign(x_{t}) \frac{ln(1+\mu |x_{t}|)} {ln(1+\mu)}