Hintonのアイデア -- 意味的ハッシング
【 Hintonのアイデア -- 意味的ハッシング 】
このセッションでは、2006年のHintonの "Reducing the Dimensionality of Data with Neural Networks" という論文を紹介します。
タイトルから、2003年にBenjioが提起した、データ量の爆発「次元の呪い」の問題に、応えようという問題意識があることがわかると思います。
彼は、2000ピクセルの画像を30ピクセルの画像に圧縮して、その30ピクセルの画像から元の2000ピクセルの画像を復元することが、ニューラルネットを利用すれば可能になると言います。ピクセルではなくベクトルの次元で言うと、2000次元のベクトルから30次元のベクトルへと大幅にデータの次元を減らすことになります。
彼は、ニューラルネットがデータの次元を減らすプロセスをEncoder、この小さな次元のデータから元の大きな次元のデータを復元するプロセスをDecoderと呼びます。また、彼は、EncoderとDecoderの組をAutoencoderと呼びます。
ただ、彼は新しい画像圧縮の方法を提案しようとしたわけではありません。そのことは、彼が紹介している「書籍の分類」に彼の方法を利用できるという例を見るとわかります。
まず、よく使われる単語を2000個ほど選びます。次に、ある本にこれらの単語が何個含まれているかをカウントします。そうすると、ある本に2000次元の整数からなるベクトルを対応づけることができます。
このベクトルをEncoderの入力に与えて、Decoderがこのベクトルを出力に再現できるようにニューラルネット訓練をします。訓練が終われば、Encoderの出力の次元を10次元とすれば、ある本のベクトルをEncoderに与えれば、ある本に10個の数字を対応づけることができます。
Hintonは、40万冊のビジネス書を対象に、この方法で得られた10個の数字が、書籍の分類に有効であることを実際に示しました。
重要なことは、「画像」と「書籍」では、対象のデータの性質はまるで異なっているのですが、彼のAutoencoderは、そのいずれに対しても、高次元のデータを低次元のデータに変換しているということです。別の言葉で言えば、それは、対象の高次元のデータから、低次元のデータを、元の情報のエッセンスとして取り出しているのです。その「情報のエッセンス」は、「意味」と考えることが可能です。
Hintonは、こうしたAutoencoderの働きを、Semantic hashing(意味的ハッシング)と呼んでいます。
SHA-1のようなハッシングでは、ハッシュ化されたデータから元のデータを復元することは不可能なのですが、Semantic hashingされたデータは、データの次元は低いものの、元の情報の中核部分を保持しています。
こうしたアプローチは、語の意味に多次元ベクトルを対応づける、2013年のMikolov, Jeff DeanのWod2Vec論文を予告するものだったと思います。
Hintonの Encoder / Decoder というフレームは、その後の言語モデルの発展の中で中心的な役割を果たすことになります。
https://www.marulabo.net/docs/meaning/
コメント
コメントを投稿