ベクトル量子化

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

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

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

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

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

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

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

 標本化（アナログ多次元信号 → デジタル多次元信号）
 データ圧縮（例: 画像・音声の非可逆圧縮）
 表現学習（例: 自己組織化写像、ニューラルネットワーク/VQ-VAEOord, et al. (2017). Neural Discrete Representation Learning. NISP 2017. arxiv: 1711.00937）

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

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

 主なベクトル量子化法 
 Linde-Buzo-Gray法（LBG法）
 TwinVQ - MPEG-4の音声圧縮に用いられている。

 脚注 

 関連項目 
 量子化 (情報科学)
 クラスタリング
 k平均法

Category:信号処理
Category:データ圧縮
Category:教師なし学習