Skip to main content

将嵌入提取到字段的工作原理

ArcGIS Pro 的工作流正越来越多地采用基础模型来生成数值化表示(即嵌入),以描述影像、文本或其他高维数据等复杂空间要素。 这些嵌入捕捉了模型学习到的潜在模式,常用于相似性分析、聚类、分类和探索性分析。

在 ArcGIS Pro 中使用使用 AI 模型生成嵌入工具生成嵌入时,默认将其打包存储于二进制大对象 (BLOB) 字段中。 该格式虽能高效存储与传输高维数值矢量,但无法被众多地理处理工具直接使用。 将嵌入提取到字段工具可将这些二进制表示转换为独立的数值字段,从而使嵌入维度能够在 ArcGIS Pro 工作流中直接使用。

可能的应用

以下情况可能需要使用将嵌入提取到字段工具:

  • 对提取出的字段运行主成分分析或其他降维技术,以生成紧凑、去相关的特征,适用于假设预测变量集较小且稳定的工具(可使用降维工具)。 这是在聚类或回归之前常见的预处理步骤。

  • 多元聚类空间约束多元聚类相似性搜索等工具准备深度学习生成的特征嵌入。

  • 支持使用图表、统计数据或符号系统对嵌入维度进行探索性分析。

  • 支持需要数值属性而非二进制字段的下游建模工作流(如回归或分类)。 例如基于森林的分类与回归地理加权回归 (GWR)空间自回归工具。

  • 使不熟悉二进制或序列化格式的人员能够访问嵌入数据。

例如,数据科学家可使用视觉基础模型从卫星影像生成嵌入。 这些嵌入编码了模型学习到的纹理、形状和上下文信息。 展开嵌入后,GIS 分析师即可利用 ArcGIS Pro 中熟悉的工具对影像足迹进行聚类或识别空间模式。

嵌入字段

基础模型生成的嵌入存储在 BLOB 字段中。 有关嵌入在 ArcGIS Pro 中的表示方式的详细信息,请参阅BLOB 字段形式的嵌入

blob 形式的嵌入

该方式可最大限度降低存储开销并提升读写性能,尤其适用于含高维嵌入的大规模数据集。 尽管高效,但二进制格式阻碍了在需要数值字段的工具中直接使用嵌入值。

输出字段前缀

将嵌入提取到字段工具逆转了嵌入的打包过程,将每个嵌入维度以数值属性形式呈现。

该工具用于执行下列操作:

  • 读取输入要素,并验证所选 Embedding 字段。

  • 输入要素参数的值复制到输出要素参数的值。

  • 反序列化首个有效 BLOB 记录以确定嵌入维度。

  • 使用输出字段前缀参数值为每个嵌入维度创建一个 Float32 字段。

  • 遍历所有要素,解包二进制数据,并将每个浮点值写入对应字段。

例如,当输出字段前缀参数值设为 embed 时,一个 256 维的嵌入将生成 256 个新的数值字段,其中包含反序列化后的 BLOB 记录。 输出的属性表将如下所示:

展开结果

最佳做法

当需要将嵌入维度作为数值字段用于分析、可视化、连接或不支持紧凑型(BLOB/矢量)嵌入的工具时,请使用将嵌入提取到字段工具。 将嵌入提取为各维度时,请注意以下事项以确保工作流稳定高效:

  • 某些数据库对列数有严格限制,例如 PostgreSQL 每表最多支持约 1600 个字段。 展开大型嵌入可能超出此限制,或因系统表过大而降低性能。 在企业级数据库中操作时,应减少提取的字段数量。

  • 过宽的表可能导致处理时间过长或内存耗尽,即使在高内存机器上也如此。 建议先在较小的子集上测试工作流,必要时减少维度,并避免不必要地展开极高维的嵌入。

  • 许多回归与聚类工具(如广义线性回归工具)不适合高维输入。 在下游分析前,可借助降维工具将嵌入压缩为较少的分量, 以提升性能、避免多重共线性并增强可解释性。

  • 高维嵌入可能产生大量字段。 应使用清晰、简洁的输出字段前缀,并保留原始数据集中的标识符或类别字段,以辅助分析结果的解读。

  • 输出要素类将同时保留原始 BLOB Embedding 字段与提取出的数值字段。 这样既保留了原始序列化嵌入,又能在 ArcGIS Pro 中启用数值分析工作流。 此外,序列化嵌入字段可用于基于嵌入的分析工具,例如使用嵌入查找相似要素