投稿

2月, 2026の投稿を表示しています

文字列検索と画像検索

【 文字列検索と画像検索 】  次回のセッションでは、ベクトルで表現されているembeddingを検索するVector Search技術を見ていこうと思います。 これまで、文字列検索へのembeddingの利用を紹介してきたのですがembeddingの検索は、もっと広い応用分野をもっています。次回紹介するVector Search技術は、元はGoogleの画像検索で用いられていた技術です。 文字列と画像はずいぶ違うものなので、両者が同じ検索技術で統合できるというのは意外かもしれません。その統合の鍵は、あるものを数字のベクトルで表すというembedding技術にあります。 【 画像はベクトルで表現できる 】 先に文字列の「意味」を、数字からなる多次元のベクトルという表現で表すというembedding技術を見てきたのですが、そこでの認識の飛躍と比べると、画像がベクトルで表現されるというのは、驚きは少ないかもしれません。 例えば、64 x 64 のマス目に白と黒のオセロのチップを置いて、模様を描くことができます。マス目一つを1ビットが占める場所とし、白いチップが0、黒いチップが1 だと考えると、この白黒の模様は、横に1バイトの列が8個並んでいて、それが縦に64段積み重なったものと考えることができます。これは、白黒画像をバイトの列で表現していることと同じことです。 1024 x 1024 のカラー画像も、RGBに分解すれば、1024 x 1024ビットで表現されるベクトルが、RGBの分の3個分あれば表現できます。ここでは、画像を離散的なものとして「デジタイズ」したことが大きく効いています。例えば、円や球は、連続的なものなので、必ずしも単純に数字の並び、有限次元の数字のベクトルとしてとして表現されるとは限りません。 言葉の意味がベクトル表現にたどり着いた経路と、画像がデジタイズによってベクトル表現にたどり着いた経路は、このように異なるのですが、最終的にはいずれもベクトルによる表現に落ち着いたのは面白いことです。これらを一括して、embedding表現と考えることができます。 【 文字列の意味のベクトル表現と画像のベクトル表現 】 文字列の意味のベクトル表現と画像のベクトル表現を、embeddingとしてひとくくりにすることに抵抗がある人もいると思います。気持ちはわかり...