《Deep Visual-Semantic Quantization for Efficient Image Retrieval》中提到的codebook是什么意思?
Specifically, each image embedding zn is quantized using a set of M codebooks C = [C1, . . . , CM ], each codebook Cm contains K codewords Cm = [Cm1, . . . , CmK], and each codeword Cmk is a D-dimensional cluster-centroid vector as kmeans clustering.
Codebook类似于一张表,一本词典,或者主成分分析里面的主成分向量。Codebook是codeword的集合,就像词典是词语的集合一样。有了词典之后,对于一段英文短文中的每个词语,我们可以用“第m页 第n个词”这样的形式去存储而不需要存储完整的拼写,这对于数据压缩和聚类分析都是有利的。
构建了M个codebooks, 每本codebook里有K个codewords。有了他们之后,就可以用一个稀疏的二值化矩阵b表示图像,这个矩阵里的第m列第k行就表示从第m本codebook里取出第k个codeword.那么这K个codeword是怎么训练出来的呢?自然就需要一些聚类算法,K-means是一种解决方案。
一篇给力的Bag-of-words模型入门介绍文章~
作者:MQLhhhh
链接:https://www.zhihu.com/question/274833068/answer/433698192
来源:知乎