微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

存储,对高维2048特征向量的索引支持

如何解决存储,对高维2048特征向量的索引支持

我有2048个维度的特征向量,已归一化。

我需要将其存储在具有快速访问权限的postgresql中。 使用余弦相似度或欧几里得相似度进行搜索。 到目前为止,我已经尝试过:

  1. 我尝试了杜松子酒索引,距离函数根本不使用索引,所以顺序扫描很糟糕。
  2. cube扩展名,但具有100维约束,在索引失败或数据太大而无法连续存储之后,可以将其扩展到128。
  3. 将2048个维度分为16128个部分,并作为多维数据集数据类型存储在单独的表中(与id链接)。最后,我必须计算距离之和。虽然比顺序扫描要好。
  4. PCA-对于降维,精度不足以处理128维向量。

会有所帮助:

  1. 这种工作量的扩展(至少具有欧氏距离和索引支持
  2. 改进3中的分割搜索算法
  3. 其他开源数据库系统。

解决方法

我发现PostgreSQL(尽可能好)具有根本的局限性。

我发现SO可以很好地替代它。

它为基本结构化数据/类型提供了全部支持,并为高维向量内置了对所有L1,L2和余弦距离的支持。

我尝试使用250.000个样本,搜索时间不到一秒钟。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。