特征量化编码 | 学习笔记

简介: 快速学习特征量化编码,介绍了特征量化编码系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算特征量化编码】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/811/detail/15708


特征量化编码


量化编码目的就是压缩特征来节省它的存储空间的特征,这种高维的特征,它是个高的浮点数把它变换成什么通过量化编码变成码字的一个ID,就是一个整数,这样不仅节省了空间,同时整数的运算要比浮点运算来得快,进行距离相似度的计算的时候效率高。量化编码之后通常是放在的特征索引的索引项里面。

量化方法

比如像向量量化,k-means 这种算法,迪卡尔集型的码子空间的,比如像积量化PQ,OPQLOPQ 都属于这种积量化,还有直和型的残差向量量化 RVQ还有 ELVQ ,增强型的向量量化,还有线性组合型的加性量化 AQ ,组合量化 CQ

整个的量化编码的目标就是使均方误差 MSE 最小,不能说量化之后是压缩了,但是误差很大,它也就失去了出这个压缩的目的。量化的目的是数据变小,但是它的误差也要尽可能的小。方法不同,近20年有很多的算法出来,专门有一篇综述讲的量化,感兴趣可以了解这篇综述

这种笛卡尔积型,量化那么为例

基量化是一个分段量化方法,每一段,它有一个 VQ 的量化器比如说原始的 SIFT 特征,把它分成若干段。分成多少段,通常这个段的数量要要能够整除原来的这种特征的维数。

image.png

量化看下面这个有很多的这些,比如说128的特征,把它怎么样分段,每一段有相的维数,在每一段都有自己的量化器,比如说 k-means 对量化结果,再对它进行串联,最终的 QS 等于分段的它的量化的结果,再对它进行串联起来,其中 q(x) 就是相应的量化器,比如说用了K-means 的 k 到底取多少,还是用其的方法,码字空间就是各子码书空间的直积,其中 C 就是码书空间。

这样做的效果就是以最小的一个空间开销得到了一个较大的码字空间。

举个例子:

image.png

这是一个 N 乘128位,比如说 N 幅图像,分了很多的块,一幅图像分成 N 块,就有 N 个N 乘以128特征向量。

有了这个以后,就把这个特征分段,比如说这里边分成四段,原来的128位分成四段,每一段就是32位在每一段里边对他进行量化,比如说在 PQ 里面,K 等于256,就是K 均值。

相当于把这个特征聚类成256个集合。这样的组合成这不就有4256最终的集合那么最终出来的这样话以后就把一个 N 128 维的特征转换成 N 乘以4 整数二百五十六可以用二进制数值八位表示。如果是十进制数就是0到256,最后这个值其实就是这么一个矩阵。250 N 乘以 4,里首先他为数原来是 N 乘以128,现在数大幅降低降低了三十二倍,原来是 128 ,现在是 4 。里面原来存在的浮点数现在是八位的二进制数。这里面的数字其实就是聚类的集合它的符号是哪个集合, K 取得越大特征分的这个集合越小,它的误差就越小,因此K 不能取太小,小了以后分的太粗,误差就会很大。那么这样做完之后,就对每一个特征,都给分配应的集合256个C 的中心其实就是这样的数字。就把这128这样的特征转换成了量化编码后的整数

索引里面检索里面用起来就方便,如果说觉得只保留了集合的至心的话。相当于集合的编号,的数字还不够准确,还可以继续,比如说直和型就是残差量化,就是存的不是这个集合的至心,是实际的这个落在这个集合里面,再去跟那个中心求一个差,把这个差值下来,如果这个差值,再对它进行 k-means 的量化,又对这个差进行分组逐级去分可以叠加,最终使这个误差就会更就是多层级量化后层以前层的残差作为输入,量化结果就等于各层量化结果。码空间就等于各层的码数空间,这么做是准确性会提高,但是占用的空间也会增大,但是它是和关系,不是积的关系

image.png

层数越多量化的误差就越小,还有像线性组合 AQ 它就有多个码书,量化结果就是各个码书量化结果之和。码数的空间就等于各个码数空间的直接相加。比如说量化方法不同就生成了多个码书。

这是不同的量化方法在同一个这种数据集上它的效果,比如说检测图像,它的准确率,它的召回率,它的性能。

image.png

比如说 R 它的 @ ,100个里面。能够反馈个多少真实的结果,的对比,不同的量化方法它的性能是不一样的。比如说 RVQ那么它的效果是不错的,但是它的 data样。再往后看 CompQ .它不同的算法,有的是层数不同有的是里面的这种量化器的设计不同,就是说最后的效果也不尽相同。

在选择的时候注意,是牺牲空间,还是适当的牺牲一点点的精度。如果把整个的量化方法复杂度提高了,这个倍数太大,提高的这个精度很小,建议不要把这量化的这个方法搞得太复杂,除非牺牲算法的复杂度,空间的这种复杂度提高的换来的是值得的查询精度。关于量化还可以去深入的分析,这篇综述介绍了截止到去年现在,不同的量化方法的优缺点。

相关文章
|
7月前
|
机器学习/深度学习 自然语言处理 数据可视化
深度探索变分自编码器在无监督特征学习中的应用
【4月更文挑战第20天】 在深度学习领域,无监督学习一直是研究的热点问题之一。本文聚焦于一种前沿的生成模型——变分自编码器(Variational Autoencoder, VAE),探讨其在无监督特征学习中的关键作用与应用潜力。不同于传统的摘要形式,本文将直接深入VAE的核心机制,分析其如何通过引入随机隐变量和重参数化技巧,实现对复杂数据分布的有效建模。文章还将展示VAE在多个实际数据集上的应用结果,验证其作为无监督特征提取工具的有效性和普适性。通过理论与实践的结合,本文旨在为读者提供关于VAE在无监督特征学习领域的全面认识。
|
7月前
|
数据采集 自然语言处理
传统的序列模型CRF原理
传统的序列模型CRF原理
|
1月前
|
算法 搜索推荐
解读双编码器和交叉编码器:信息检索中的向量表示与语义匹配
在信息检索领域(即从海量数据中查找相关信息),双编码器和交叉编码器是两种至关重要的工具。它们各自拥有独特的工作机制、优势和局限性。本文将深入探讨这两种核心技术。
44 3
解读双编码器和交叉编码器:信息检索中的向量表示与语义匹配
|
2月前
|
机器学习/深度学习 算法 数据挖掘
稀疏促进动态模态分解(SPDMD)详细介绍以及应用
稀疏促进动态模态分解(SPDMD)结合了动态模态分解(DMD)的数学优雅性和稀疏优化技术,有效提取高维数据中的关键特征。SPDMD通过稀疏约束自动筛选出最重要模态,去除冗余信息,提升模型的可解释性和计算效率。该方法在流体动力学、图像处理、时间序列分析及金融数据等领域广泛应用,能够识别主要趋势、周期性模式及异常现象。SPDMD不仅提高了数据分析效率,还为各领域研究提供了强有力的工具。通过自动选择最相关的模态,SPDMD尤其适用于大规模数据集和实时应用。
92 4
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
VQ-VAE:矢量量化变分自编码器,离散化特征学习模型
VQ-VAE 是变分自编码器(VAE)的一种改进。这些模型可以用来学习有效的表示。本文将深入研究 VQ-VAE 之前,不过,在这之前我们先讨论一些概率基础和 VAE 架构。
184 10
|
5月前
|
机器学习/深度学习 编解码 PyTorch
【YOLOv8改进】HWD: Haar小波降采样,用于语义分割的降采样模块,减少特征图的空间分辨率
YOLOv8专栏探讨了卷积网络的改进,特别是提出了一种名为HWD的基于Haar小波的下采样模块,用于语义分割,旨在保留更多空间信息。HWD结合了无损编码和特征表示学习,提高了模型性能并减少了信息不确定性。新度量标准FEI量化了下采样的信息保留能力。论文和代码可在提供的链接中找到。核心代码展示了如何在PyTorch中实现HWD模块。
|
机器学习/深度学习 编解码 索引
神经网络风格化过程的特征控制
翻译:《Controlling Perceptual Factors in Neural Style Transfer》
|
存储 机器学习/深度学习 并行计算
【白话模型量化系列一】矩阵乘法量化
【白话模型量化系列一】矩阵乘法量化
249 0
|
机器学习/深度学习 编解码 计算机视觉
建议背诵 | 字节用4大准则教你设计一个拥有CNN的速度,Transformer精度的模型!
建议背诵 | 字节用4大准则教你设计一个拥有CNN的速度,Transformer精度的模型!
72 0
|
编解码 自动驾驶 机器人
重新思考空洞卷积 | RegSeg超越DeepLab、BiSeNetv2让语义分割实时+高精度(一)
重新思考空洞卷积 | RegSeg超越DeepLab、BiSeNetv2让语义分割实时+高精度(一)
161 0

相关实验场景

更多