ベクトル量子化(ベクトルりょうしか、英: Vector Quantization, VQ)は連続空間に存在するベクトルを有限個の代表ベクトルへ離散化する操作である。すなわちベクトルを入力とする量子化である。 通常の(スカラー)量子化は連続値を有限個の代表値へと集約する。例えば標本化したアナログ音声信号の各サンプルを、最も近いビット/デジタル符号に置き換える。サンプルと代表値はともに1次元/スカラーである。 これに対してベクトル量子化はN次元空間内のベクトルを対象として量子化をおこなう。例えばステレオ2chの信号を各チャンネルごとでなく左右セット (=2次元ベクトル) で扱い、このベクトルをまとめて有限個の代表値へ符号化する。ベクトル単位での量子化であることからベクトル量子化と呼ばれる。 ベクトル量子化(の推論)では、K個の代表ベクトル e i {\displaystyle e_{i}} および同次元の入力連続ベクトル x {\displaystyle x} が与えられ、次の手順で操作が行われる。 すなわちベクトル量子化とは x → e a r g m i n i ( ‖ e i − x ‖ ) {\displaystyle x\rightarrow e_{\operatorname {arg\,min} \limits _{i}(\lVert e_{i}-x\rVert )}} で表される数学的操作である。 ベクトル量子化には様々な利用目的がある。 ベクトル量子化にあたり代表ベクトルを決定する必要がある。1つのやり方は人間の知識に基づいて代表ベクトルを指定する方法である。ほかのアプローチとして、データに基づいて代表ベクトルを算出する(代表ベクトルを学習する)アルゴリズムが様々存在する。 よく使われるアルゴリズムのクラスとしてクラスタリングがある。すなわち全データをK個のクラスタに振り分け、各クラスタを表現する値をもって代表ベクトルとする。具体的なアルゴリズムとしてはK平均法(収束時のクラスタ重心が代表ベクトル)が挙げられる。この方法はベクトルの次元を増やすことにより通常より少ない符号長での量子化が期待できるが、次元が増えると最適なクラスタリングと代表ベクトルの選出に関する計算量が増大する。この解決のためにいろいろな方法が提案されている。
概要
アルゴリズム
e i {\displaystyle e_{i}} と x {\displaystyle x} の距離を、K個全てに関して計測: ‖ e i − x ‖ {\displaystyle \lVert e_{i}-x\rVert }
距離の比較による距離最小代表ベクトルの選択: j = a r g m i n i ( ‖ e i − x ‖ ) {\displaystyle j=\operatorname {arg\,min} \limits _{i}(\lVert e_{i}-x\rVert )}
代表ベクトルによる置き換え: x → e j {\displaystyle x\rightarrow e_{j}}
目的
標本化(アナログ多次元信号 → デジタル多次元信号)
データ圧縮(例: 画像・音声の非可逆圧縮)
表現学習(例: 自己組織化写像、ニューラルネットワーク/VQ-VAE[1])
学習
主なベクトル量子化法
Linde-Buzo-Gray法(LBG法)
TwinVQ - MPEG-4の音声圧縮に用いられている。
脚注[脚注の使い方]^ Oord, et al. (2017). Neural Discrete Representation Learning
関連項目
量子化 (情報科学)
クラスタリング
k平均法
学習ベクトル量子化
.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox{font-size:90%}.mw-parser-output .asbox-note{font-size:90%}.mw-parser-output .asbox .navbar{position:absolute;top:-0.90em;right:1em;display:none}
この項目は、工学・技術に関連した書きかけの項目です。この項目を加筆・訂正
などしてくださる協力者を求めています(Portal:技術と産業)。