本文介绍了由肖淙曦和周景博在KDD 2024发表的论文《ReFound: Crafting a Foundation Model for Urban Region Understanding upon Language and Visual Foundations》。该研究构建了一个多模态城市区域基础模型,用于泛化城市区域理解任务。论文展示了如何使用飞桨深度学习框架实现模型的架构和预训练,并介绍了模型的关键技术点,包括多模态数据嵌入、混合地理专家Transformer、自监督预训练任务和知识蒸馏等。
随着城市计算领域的快速发展,城市区域理解任务变得越来越重要。大多数现有方法都是针对特定任务设计的,需要大量标注数据,且无法泛化到其他任务。自监督预训练基础模型在多个领域取得了显著成果,本研究受其启发,构建了一个面向城市区域理解的基础模型。
研究提出了一个基于语言、视觉和视觉-语言多个基础模型的框架ReFound。首先通过嵌入模块将POI数据和卫星图转化为向量表示,然后采用混合地理专家Transformer产生多模态区域表示。
为了从城市数据中学习领域知识并迁移多个通用基础模型的泛化能力,研究设计了两个自监督学习任务和三个知识蒸馏任务对模型进行预训练。
研究在三个不同的区域理解任务、两个城市的真实数据集上进行了实验,验证了所提出方法的有效性。实验结果表明多模态城市区域基础模型能够在不同的下游任务中取得更好的表现。
本研究提出了一种多模态城市区域理解基础模型及其预训练框架,并基于飞桨深度学习框架进行实现。该研究为智能城市计算提供了重要的应用价值和启示。
本期文章将为大家分享飞桨社区开发者肖淙曦、周景博发表于数据挖掘顶会KDD2024的论文《ReFound: Crafting a Foundation Model for Urban Region Understanding upon Language and Visual Foundations》。该研究构建了一个针对通用城市区域理解任务的基础模型,能够应用于多种下游任务,具有重要的应用价值。研究首次展示了多模态基础模型在城市计算领域的适用性和可扩展性。
肖淙曦,百度研究院商业智能实验室研究实习生,中国科学技术大学在读博士生,主要从事时空数据挖掘和城市计算相关的研究工作。基于飞桨完成多篇论文,发表于
KDD
、
ICDE
、
AAAI
等计算机顶级学术会议。
周景博,飞桨开发者高级技术专家(高级PPDE),现任百度研究院商业智能实验室负责人和资深研究员,主要从事数据挖掘和机器学习相关的研究和应用工作,包括时空大数据、深度几何学习和、知识图谱和AI辅助药物设计等,PaddleSpatial技术负责人,基于飞桨完成论文多篇,发表于KDD、AAAI、TKDE等计算机顶级会议和期刊上。
城市区域(Urban Region)是人们生活、工作和娱乐的基本单元,量化地对城市区域进行理解(例如预测区域属性)对深入洞察城市结构,制定科学的规划和治理政策至关重要。目前,大多数区域理解方法都是针对特定任务设计的,需要大量标注数据对模型进行监督训练,且无法泛化到其他任务。近年来,预训练基础模型(Foundation Models, FMs)取得了令人瞩目的成果,通过自监督预训练(Self-supervised Pre-training)技术,这些基础模型能够从大规模的无标注数据中学习通用知识,进而适配到广泛的下游任务中。因此,采用自监督预训练的范式,构建一个面向城市区域理解的基础模型,在智能城市计算中具有重大的应用价值。
城市基础模型应当具有丰富的地理空间领域知识(Geospatial Domain Knowledge)和良好的泛化性(Generality)。然而,训练这样的模型面临着诸多挑战。一方面,若直接应用通用基础模型(如GPT-3、ViT和CLIP等),这些模型没有针对城市数据进行结构设计和训练优化,往往缺少领域知识;另一方面,如果从头训练一个专门的基础模型,城市数据规模远不及用于一般基础模型预训练的数据量,这将导致模型的泛化能力不足;此外,虽有一些方法尝试将城市数据的领域知识和通用基础模型的泛化能力相结合,但大多仅考虑单个基础模型,不能有效利用多模态城市数据,限制了模型在更广泛的区域理解任务中的应用。
图
1
构建多模态区域基础模型的总体思路
为应对这些挑战,本文提出一个同时利用语言、视觉、视觉-语言等多个基础模型的能力,来构建多模态城市区域基础模型的框架ReFound,用于解决广泛的区域理解任务,ReFound的基本思路如图1所示。首先,我们利用飞桨框架提供的模型组件实现了建模兴趣点(Point-of-Interest,POI)和卫星图的多模态城市数据的模型架构,然后通过飞桨丰富的深度学习训练优化接口实现了两个自监督学习任务和三个知识蒸馏任务对模型进行预训练,从城市数据中学习领域知识,并同时迁移多个通用基础模型的泛化能力。通过在不同城市、不同下游任务中的实验,我们验证了该框架所实现的多模态城市区域理解基础模型的有效性。
方法框架
图
2 ReFound
的模型架构和预训练框架
本文所提出的
ReFound
框架如图
2
所示。接下来,我们将介绍如何用飞桨深度学习框架实现
ReFound
的模型架构及对其预训练。
模型架构设计
首先,我们专门设计了一个嵌入模块将POI数据和卫星图数据转化为向量表示,全面地建模其中丰富的文本、视觉和地理空间信息。然后,采用了一个混合地理专家Transformer模型,产生多模态区域表示。
针对区域内的POI,我们提出一种联合嵌入来捕捉POI的文本地名知识(Textual Toponym Knowledge)和空间分布关系(Spatial Distribution)。具体包括用词嵌入(Word Embedding)编码POI的名称,用类别嵌入(Category Embedding)来编码与POI功能息息相关的种类信息(如医院、学校等),以及设计地理感知的位置嵌入(Geo-aware Position Embedding)来多方面建模POI在区域中的空间位置。利用飞桨中提供的paddle.nn.Embedding 接口可以便捷地将这些信息编码为向量,代码实现如下:
对于卫星图像,我们采用视觉模型的一般处理方法,将图像分割成
patch
,然后用线性投影
对
patch
进行编码。飞桨中提供了
paddle.nn.Unfold
接口,其作用为
“img2col”
,即将一个窗口内的像素数据转为列向量,最后按列排成新的矩阵,这可以非常方便地实现将图像分割为
patch
的过程。卫星图像嵌入的代码如下所示:
在嵌入模块之后,我们采用混合地理专家(MoGE)Transformer架构学习多模态区域表示。如图2(b)所示,我们用一组子网络取代了标准Transformer模型中的单一前馈网络(Feed-forward Network, FFN),分别用于处理POI数据(P-FFN)和卫星图数据(S-FFN)。这种架构既可以充分考虑两种不同模态的特定模式,又可以捕捉他们之间的关联。该架构的Paddle代码实现如下所示:
预训练策略
我们设计了两类任务对模型进行预训练,包括两个自监督学习任务,让模型从城市数据中捕捉领域知识,以及三个知识蒸馏目标,迁移多个通用基础模型的知识来提升模型泛化能力,以应对广泛的下游任务。
如图2(d)所示,第一个自监督任务是地理数据掩码建模,使模型能够理解POI和卫星图像数据的语义;第二个是跨模态空间对齐,利用POI和卫星图的空间关系来促进两种模态的语义对齐。
首先,地理数据掩码建模采用掩盖-预测(Mask-then-predict)的范式,这种任务被广泛应用于基础模型的预训练。我们掩盖(mask)掉一部分输入数据,并要求模型根据未遮盖部分的内容将它们恢复出来。Paddle代码实现如下:
对于跨模态空间对齐,其主要思想是每个POI都对应于卫星图当中的一个地点,可以利用这种地理空间关系,作为对齐两种模态之间语义的纽带。具体地,在上述掩码预测任务中,我们掩盖了一部分卫星图像patch,在该任务中,我们在POI模态的位置上进行二分类,判断每个POI是否位于卫星图被掩盖的区域。代码如下所示:
为了使模型能够支持更广泛的区域理解任务,我们进一步基于飞桨框架实现三个优化目标来训练,分别对语言基础模型(Language FM,LFM)、视觉基础模型(Visual FM,VFM)和视觉-语言基础模型(Visual-Language,VLFM)进行蒸馏。如图2(c)所示,该知识蒸馏遵循教师-学生范式(teacher-student),其中我们的模型为学生模型,受到三个教师模型LFM、VFM和VLFM的共同指导。
首先,通过蒸馏大型语言模型(Large Language Model, LLM),来增强模型根据POI数据理解区域功能的能力。我们让LLM根据POI数据生成一段关于区域功能和潜在居民活动的描述,并用文本嵌入模型(Sentence Embedding Model)将其编码为LLM特征。然后,用基于特征的蒸馏方法优化模型对POI数据的表示学习。代码如下所示:
第二,对于视觉基础模型,我们迁移其强大的学习图像语义表示的能力,来增强模型对卫星图像的建模。这同样通过基于特征的蒸馏方式来实现,代码如下所示:
不仅如此,我们还对视觉-语
言基础模型进行蒸馏,提高模型对多模态数据的语义对齐和联合理解能力。
具体地,对于一批区域,先用VLFM获得它们的POI和卫星图表示,并基于这些表示向量计算一个区域间POI-卫星图跨模态余弦相似度矩阵,该相似度矩阵反映了POI和卫星图之间语义相似度的相对关系。
对我们的模型,也类似地计算一个相似度矩阵,并让它向VLFM产生的矩阵匹配,以学习如何更好地对齐不同模态的语义。
代码实现如下:
我们同时使用两个自监督任务和三个知识蒸馏任务,联合地对模型进行预训练。
得到预训练模型后,可以通过微调(Fine-tuning)和基于特征的预测(Feature-based Prediction)两种方式将模型应用于下游任务。
其中,微调的方式将对整个模型的权重进行调整,而基于特征的预测则固定预训练模型的权重,仅优化特定的预测网络(Prediction Head)。
实验
我们在三个不同的区域理解任务、两个城市的真实数据集上进行了实验,验证本方法的有效性。在微调方式下,我们与一些通用领域和地理领域的基础模型进行了对比;在基于特征的预测方式下,与一些城市区域嵌入模型进行对比。实验结果表明本文提出的多模态城市区域基础模型能够在不同的下游任务中取得更好的表现。
表1 各模型在三个下游任务中的性能比较(深圳市数据集)
表2 各模型在三个下游任务中的性能比较(北京市数据集)