ベクトル量子化(ベクトルりょうしか、: Vector Quantization, VQ)は連続空間に存在するベクトルを有限個の代表ベクトルへ離散化する操作である。すなわちベクトルを入力とする量子化である。

概要 編集

通常の(スカラー)量子化は連続値を有限個の代表値へと集約する。例えば標本化したアナログ音声信号の各サンプルを、最も近いビット/デジタル符号に置き換える。サンプルと代表値はともに1次元/スカラーである。

これに対してベクトル量子化はN次元空間内のベクトルを対象として量子化をおこなう。例えばステレオ2chの信号を各チャンネルごとでなく左右セット (=2次元ベクトル) で扱い、このベクトルをまとめて有限個の代表値へ符号化する。ベクトル単位での量子化であることからベクトル量子化と呼ばれる。

アルゴリズム 編集

ベクトル量子化(の推論)では、K個の代表ベクトル   および同次元の入力連続ベクトル   が与えられ、次の手順で操作が行われる。

  1.    の距離を、K個全てに関して計測:  
  2. 距離の比較による距離最小代表ベクトルの選択:  
  3. 代表ベクトルによる置き換え:  

すなわちベクトル量子化とは   で表される数学的操作である。

目的 編集

ベクトル量子化には様々な利用目的がある。

学習 編集

ベクトル量子化にあたり代表ベクトルを決定する必要がある。1つのやり方は人間の知識に基づいて代表ベクトルを指定する方法である。ほかのアプローチとして、データに基づいて代表ベクトルを算出する(代表ベクトルを学習する)アルゴリズムが様々存在する。

よく使われるアルゴリズムのクラスとしてクラスタリングがある。すなわち全データをK個のクラスタに振り分け、各クラスタを表現する値をもって代表ベクトルとする。具体的なアルゴリズムとしてはK平均法(収束時のクラスタ重心が代表ベクトル)が挙げられる。この方法はベクトルの次元を増やすことにより通常より少ない符号長での量子化が期待できるが、次元が増えると最適なクラスタリングと代表ベクトルの選出に関する計算量が増大する。この解決のためにいろいろな方法が提案されている。

主なベクトル量子化法 編集

脚注 編集

  1. ^ Oord, et al. (2017). Neural Discrete Representation Learning. NISP 2017. arxiv: 1711.00937

関連項目 編集