たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

モデル解説: LPCNet系

LPCNet系とは、線形予測にNN残差予測を組み合わせたLPCNetを起源とするモデルクラス。線形予測符号化とWaveRNNが祖先。モデル効率の良さからくる高速性とオープンソースのC実装がウリ。

要素解釈

Excitation/Residual - 単なる非線形補完

古典的ソース・フィルターモデルは音源(Excitation)とフィルタが独立している。
一方LPCNet系ではフィルタ情報がConditioning f, LinearPrediction pt, 実現値 st-1 (=pt-1+et-1) の形で音源(SampleRateNetwork)へ入っている。

音源関連情報としてoriginal LPCNetではpitch periodとpitch correlationを採用している。
これらの情報は f を介して音源=SampleRateNetworkへ渡り、またoriginal LPCNetでは音源制御としてvoicing by pitch correlationによる明示的な分布バイアスをかけている。
一方でofficial LPCNet最新版ではこのバイアスを廃止している。
またFeatherWave・TacoLPCNet等のように、明示的なpitch情報無しでFrameRateNetにmel80を突っ込むだけ、というモデルがいくつもある。

上記の事実から、ネットワークお気持ち仮説だが、SampleRateNetworkは単なる非線形residual予測器として解釈する(= Excitationと見ない)のが自然に見える。
RNNoise的な、不完全な波形(=LinearPrediction)を周辺情報からrefineするという見方。
こう見ると f / pt / st-1 を入力に取るのはとても自然。Global conditioningとrefine対象と上位AR信号なので。
つまり「LPCNet = 線形予測法 + 非線形補完 != ニューラルソースフィルタモデル」という解釈。

LPCNet解釈 (s_t-1 AR書き忘れた)

上手くいく理由

μ-law由来ノイズの緩和

AR生成モデルの宿命に「16bit分布コスト高すぎ問題」がある。
生成モデルという制約内での緩和策にはDualSoftmaxやμ-law量子化によるbit幅短縮がある。

LPCNet系で典型的に採用されるμ-law量子化は不可逆変換なので避けられない量子化ノイズが発生する。
量子化ノイズは実測値としてSNR=30dBくらい、prediction errorに比べるとオーダーが違う程度には小さい1。ただ高周波帯でLSDが大きく開き、場合によっては前景に出てくる可能性がある。
この辺論文をちゃんと読めてないのとtoy modelで実験できそうなので要検討。

ここで生きてくるのが線形予測による信号分離。
LPC可逆圧縮で見られるように、LinearPredictionが大体の信号をエンコードできるおかげで残差信号の振幅が小さくなる2
小さい振幅ということは、μ-law量子化ノイズが小さくなる3

つまりLPCNet系は「ノイズの無いLinearPrediction」と「量子化ノイズの小さい8-bit残差予測」を組み合わせることで、量子化ノイズの理論下限を引き下げられている。

LPCNetのコスパ(自然性/計算量) が実践的に優れているのはおそらくここが寄与している。
論理的な帰結としても、μ-law採用モデルのサイズを巨大にして理想品質になった際、他モデルよりノイズが少ない(理想モデルのノイズは量子化ノイズだけ)。

残差予測

モデル解釈にあるように、ある程度workする線形予測に対して残差をNNで計算している。
音声の内在特性から線形予測だけでも言語性がある程度復元できるので、NNのタスクは相対的に軽いと考えられる4

特に表現力の低い小型モデルにおいて有効であると考えられる(h=0の仕事しないモデルでも声が聞こえる)。
これは異なるhを用いた LPCNet vs WaveRNN評価 (original LPCNet paper) の結果と整合性がある。

LPCNetのコスパ(自然性/計算量)が実践的に優れているのはおそらくここが寄与している。

Twitter

"LPCNet" ORfjweiofjsoifj` @2022-06-14 ~ 2018-10-30
LPCNet学習や改造などの有用な情報無し。名前は有名だがみんなあんまり使ってない...?

WWW/Google検索

日本語

https://www.google.com/search?q=%22LPCNet%22&lr=lang_ja @2022-06-14
LPCNet学習や改造などの有用な情報無し。少なくとも日本語では研究領域でしか使われていない...?


  1. “Table 1 shows that the noise signals caused by the quantization error are much smaller than those by the prediction error.” Tachibana, et al. (2018). An Investigation of Noise Shaping with Perceptual Weighting for Wavenet-Based Speech Generation.

  2. “the excitation generally has a smaller amplitude than the pre-emphasized signal.” from original LPCNet paper

  3. the network directly predict the excitation (prediction residual) … it also slightly reduces the µ-law quantization noise” from original LPCNet paper

  4. “network directly predict the excitation (prediction residual) … This is … a slightly easier task for the network” from original LPCNet paper