当前位置: 首页 > 科技观察

如何高效准确地进行图片搜索?看看轻量级视觉预训练模型

时间:2023-03-15 13:54:31 科技观察

你有没有遇到过图片检索的烦恼?要么难以在海量图像中准确找到所需图像,要么在基于文本的检索中结果不尽如人意。针对这一问题,微软亚洲研究院和微软云计算与人工智能事业部的研究人员对轻量级视觉模型进行了深入研究,提出了一系列视觉预训练模型的设计和压缩方法,实现了视觉Transformer。轻量级部署要求。目前,该方法和模型已成功应用于微软Bing搜索引擎,实现百亿图片的准确快速推理和检索。本文将深入阐述轻量级视觉预训练模型的发展、关键技术、应用和潜力,以及未来的机遇和挑战。希望大家能更好的了解轻量级视觉预训练领域,共同推动相关技术的发展。近期,基于Transformer的视觉预训练模型在多项计算机视觉任务中取得了优异的性能,受到了广泛关注。然而,visualTransformer预训练模型通常参数量大、复杂度高,制约了其在实际应用中的部署和使用,尤其是在资源受限的设备或实时性要求高的场景中。因此,大型视觉预训练模型的“轻量级”研究成为学术界和工业界的新热点。对此,微软亚洲研究院和微软云计算与人工智能事业部的研究人员对大型视觉模型的结构设计和训练推理进行了深入探索。做出了创新应用。本文将从轻量级视觉预训练模型的开发入手,探讨模型轻量级研究中的关键技术,以及轻量级视觉Transformer模型在实际产品中的应用和潜力,最后展望未来的发展机遇和轻量级视觉模型的机会。挑战。大型视觉模型层出不穷,而轻量级的预训练模型却十分稀缺。近年来,深度学习在ImageNet图像分类任务上的进步,主要得益于视觉模型容量的大幅扩展。如图1所示,短短几年时间,视觉预训练模型的容量扩大了300多倍,从4450万参数的ResNet-101模型发展到150亿参数的V-MoE模型。训练模型在图像理解和视觉内容生成等任务上取得了长足的进步。图1:视觉预训练模型参数趋势图无论是微软的30亿参数Swin-V2模型还是Google的18亿参数ViT-G/14模型,大视觉模型在很多任务中都表现出了优越的性能的,尤其是其强大的few-shot甚至是zero-shot的泛化能力,对于通用智能的实现至关重要。但在很多实际场景中,由于存储和计算资源的限制,大型模型难以直接部署或无法满足实时性要求。因此,轻量级视觉预训练模型的研究变得越来越重要,具有很强的实际应用价值。虽然目前有一些探索轻量级模型的工作,但这些方法大多是为特定任务和特定结构设计的。在设计和训练过程中没有考虑模型的通用性,存在跨数据域和任务的泛化。局限性。轻量级视觉模型关键技术研究为了实现轻量级视觉预训练模型,微软研究人员发现了两个关键问题:1)如何设计更通用的轻量级模型结构?2)受限于轻量级视觉预训练模型容量有限,如何设计高效的预训练方法,让小模型也能从大规模数据中学习到有效信息?面对这些问题,研究人员通过不懈的研究和探索,取得了一些阶段性的成果。由于提高轻量级预训练模型通用性的核心是如何在有限资源(参数量、时延等)条件下加强模型的学习能力,使其能够更好地学习模型中的共性特征。大规模数据,因此,研究人员从以下三个角度进行了深入探索:1.轻量级模块设计轻量级和低延迟模块是轻量级模型的重要组成部分。在卷积神经网络中,代表性的轻量级模块有MobileNet的InvertedResidualBlock和ShuffleNet的通道随机交叉单元(ShuffleUnit)。在视觉Transformer结构中,由于计算图像块之间的attention没有考虑相对位置编码信息,研究人员设计了一种即插即用的轻量级二维图像相对位置编码方法iRPE[1],它改进了在不修改任何训练超参数的情况下模型的性能。此外,针对视觉Transformer的参数冗余问题,研究人员设计了权重复用(WeightMultiplexing)模块[2]。如图2所示,该方法通过多层权重复用降低模型参数的冗余度,引入非共享线性变换增加参数的多样性。图2:Transformer中的权重复用模块2.轻量级模型搜索网络结构搜索(NeuralArchitectureSearch)可以自动从模型设计空间中找到更轻量级、性能更好的模型结构[3]。在卷积神经网络中,代表作有NASNet和EfficientNet。在视觉Transformer结构搜索中,研究人员先后针对视觉模型中的通道宽度、网络深度、头数等多个维度提出了AutoFormer[4]和S3[5],实现了视觉模型的动态可扩展训练和结构搜索。在模型精度相同的情况下,搜索到的新模型的参数和计算量较小。值得注意的是,在S3中,研究人员使用E-TError[5]和权重共享超网来引导和改进搜索空间。在获得更高效的模型结构的同时,他们还分析了搜索空间的演化过程,如图3所示。同时,模型结构搜索过程为轻量化模型设计提供了有效的设计经验和参考。图3:轻量级模型搜索空间演化过程3.可视化大模型压缩与知识迁移轻量级预训练模型的另一个问题是,由于模型容量有限,很难直接学习大规模中包含的丰富信息数据和知识。为了解决这个问题,研究人员提出了一种快速的预训练蒸馏方案,将大模型的知识迁移到轻量级的小模型[6]。如图4所示,与传统的单阶段知识蒸馏不同,快速预训练蒸馏分为两个阶段:1)压缩保存大模型训练过程中使用的数据增广信息和预测信息;2)loadandrestore对大模型进行预测信息和数据增广后,将大模型作为teacher,通过预训练蒸馏,指导轻量级student模型的学习和训练。不同于剪枝和量化,该方法在权值共享的基础上使用了上述[2]中提到的权值重用。通过引入轻量级权重变换和蒸馏,成功压缩了视觉预训练大模型,是通用的更加鲁棒的轻量级模型。在不牺牲性能的情况下,这种方法可以将原始大模型压缩数十倍。图4:快速预训练知识蒸馏系列研究成果不仅在计算机视觉顶级学术会议(CVPR、ICCV、ECCV、NeurIPS等)上发表多篇论文,得益于与公司的合作,轻量化预训练模型已成功应用于图片搜索产品,提升实际业务中对图片、视频内容的理解能力。轻量级视觉预训练模型的应用轻量级视觉预训练模型有很多实际用途,特别是在对实时性要求高或资源有限的场景中,例如:云视频的实时渲染和增强,端测图像,视频内容理解。轻量化视觉模型在智能零售、先进制造等领域展现出广阔的应用前景,未来将在元宇宙、自动驾驶等新兴产业中发挥重要作用。下面以微软Bing产品中的图片内容搜索为例,演示轻量级可视化模型的实际应用部署。目前,基于内容的图像搜索在理解图像的类别属性方面相对成熟,但在理解复杂场景的内容方面仍然存在很大挑战。复杂场景的图片通常具有景深大、背景杂乱、人物多、物体关系复杂等特点,显着增加了内容理解的难度,从而对预训练模型的鲁棒性和泛化性提出了更高的要求.比如动漫图片的搜索质量长期得不到有效提升。主要挑战包括:绘制的线条和颜色比实景图更夸张,包括更多的动作和场景,不同漫画的风格和内容千差万别。图5至图7分别展示了《灌篮高手》、《皮卡丘》和《机长小翼》三部不同的动画角色和行为,它们的漫画风格和内容也大不相同。如何有效理解漫画图片的内容,对视觉预训练模型提出了更高的要求。图5:在微软Bing搜索引擎中,对灌篮高手动作的理解包括:扣篮、运球、抢断、投篮等图6:在微软Bing搜索引擎中,对皮卡丘吃苹果、吃西瓜等动作的理解,吃冰淇淋等图7:在微软Bing搜索引擎中,足球运动员射门动作的特写前面提到的轻量级视觉通用模型和快速预训练蒸馏算法已经成功应用于微软Bing搜索发动机中间。借助微软亚洲研究院提供的视觉语言多模态预训练模型,微软必应图片搜索功能增强了对漫画内容的理解,能够返回更符合用户需求的图片内容。同时,微软Bing搜索引擎庞大的索引库对检索效率的要求非常高。微软亚洲研究院提供的快速预训练蒸馏方法,有效地将预训练大模型的索引能力迁移到轻量级模型,将现有模型的识别准确率提升14%,大幅优化模型的计算效率,实现百亿图像的快速推理。未来的机遇与挑战轻量化模型是人工智能未来应用的核心。随着视觉技术、算法、计算能力和数据的不断提升,模型的复杂度急剧上升,神经网络计算的能耗也越来越高。轻量级视觉模型高效的计算效率和低廉的部署应用成本,可以在未来更多的实用产品中发挥巨大的作用。此外,本地化的轻量级预训练视觉模型可以在支持更多服务的同时更好地保护用户数据和隐私。用户的数据将不再需要离开设备,可以实现模型服务等功能的远程升级。当然,研究人员也意识到了轻量级预训练视觉模型面临的挑战:一方面,在模型结构设计方面,如何在模型参数和推理延迟的约束下实现模型的最优学习能力一直是一个挑战。这是学术界和工业界密切关注的问题。虽然目前已经积累了许多有效的模型结构,并且在通用逼近定理(UAT)和神经网络结构搜索(NAS)等领域取得了长足的发展,但现有的轻量级预训练视觉模型和视觉大规模有车型之间仍有差距,需要进一步优化和完善。另一方面,在训练方法方面,学术界和工业界针对大型视觉模型提出了自监督、图像分类和多模态等多种训练方法,显着提高了模型的通用能力。如何为容量有限的轻量级模型设计更有效的训练方法,需要进一步的研究和探索。微软亚洲研究院研究人员将继续推动轻量级预训练视觉模型的科研进展,欢迎更多的科技同仁交流和探索该领域的相关技术。