你是否有過影像檢索的煩惱?
或是難以在海量化的圖像中準確地找到所需圖像,或是在基於文字的檢索中得到差強人意的結果。對於這個難題,微軟亞洲研究院和微軟雲端運算與人工智慧事業部的研究人員對輕量化視覺模型進行了深入研究,並提出了一系列視覺預訓練模型的設計和壓縮方法,實現了視覺Transformer 的輕量化部署需求。
目前該方法和模型已成功應用於微軟必應搜尋引擎,實現了百億圖片的精準、快速推理和檢索。本文將深入解說輕量化視覺預訓練模式的發展、關鍵技術、應用和潛力,以及未來的機會與挑戰,希望大家能更了解輕量化視覺預訓練領域,共同推動相關技術的發展。
近來,基於 Transformer 的視覺預訓練模型在許多電腦視覺任務上都取得了優越性能,受到了廣泛關注。然而,視覺 Transformer 預訓練模型通常參數量大、複雜度高,限制了其在實際應用中的部署和使用,尤其是在資源受限的設備中或對即時性要求很高的場景中。因此,視覺預訓練大模型的「輕量化」研究成為了學術界和工業界關注的新熱點。
對此,微軟亞洲研究院和微軟雲端運算與人工智慧事業部的研究員們在視覺大模型的結構設計和訓練推論上進行了深入探索,同時也對大模型的輕量化、即時性以及雲端部署也做了創新應用。本文將從輕量化視覺預訓練模型的發展談起,探討模型輕量化研究中的關鍵技術,以及輕量化視覺Transformer 模型在實際產品中的應用和潛力,最後展望輕量化視覺模型的未來發展機會和挑戰。
最近幾年,深度學習在ImageNet 影像分類任務上的進展主要得益於視覺模型容量的大幅擴增。如圖1所示,短短幾年時間,視覺預訓練模型的容量擴大了300多倍,從4,450萬參數的ResNet-101 模型,進化到了擁有150億參數的V-MoE 模型,這些大型視覺預訓練模型在圖像理解和視覺內容生成等任務上都取得了長足進步。
圖1:視覺預訓練模型參數量的變化趨勢圖
無論是微軟的30億參數Swin-V2 模型,還是Google發布的18億參數ViT-G/14 模型,視覺大模型在眾多任務中都展現了優越的性能,尤其是其強大的小樣本(few-shot) 甚至是零樣本 (zero-shot) 的泛化能力,對實現通用智能非常關鍵。
然而,在許多實際場景中,由於儲存、運算資源的限制,大模型難以直接部署或無法滿足即時需求。因此,輕量級的視覺預訓練模型研究變得越來越重要,且具有強大的實際應用價值。雖然目前有一些工作在探討輕量級模型,但是這些方法大多是針對特定任務、特定結構設計的,在設計和訓練過程中沒有考慮到模型的通用性,存在跨資料域、跨任務的泛化局限性。
為了實現輕量化視覺預訓練模型,微軟的研究員發現了兩大關鍵問題:1)如何設計出通用性較強的輕量化模型結構? 2)受制於輕量化視覺預訓練模型的有限容量,如何設計高效的預訓練方法讓小模型也能學習到大規模資料中的有效資訊?面對這些難題,研究員們透過堅持不懈的研究和探索,目前取得了一些階段性成果。
由於提高輕量化預訓練模型通用性的核心在於如何在資源受限(參數量,時延等)的情況下強化模型的學習能力,使其能夠更好地在大規模資料中學習通用特徵,因此,研究員們從以下三個角度進行了深入探索:
#輕量、低延時的模組是組成輕量級模型的重要部分。在卷積神經網路中,代表性的輕量級模組有MobileNet的反向殘差模組(Inverted Residual Block)以及 ShuffleNet 的通道隨機交叉單元(Shuffle Unit)。在視覺Transformer 結構中,由於圖像塊之間注意力的計算沒有很好地考慮相對位置編碼訊息,因此研究員們設計了即插即用的輕量級二維圖像相對位置編碼方法iRPE [1],它不需要修改任何的訓練超參數,就能提升模型的效能。此外,針對視覺 Transformer 參數冗餘的問題,研究員設計了權重多重化(Weight Multiplexing)模組 [2]。如圖2所示,此方法透過多層權重複以減少模型參數的冗餘性,並引入不共享的線性變換,提高參數的多樣性。
圖2:Transformer 中的權重多重化模組
網路結構搜尋(Neural Architecture Search)可以從模型設計空間中自動找到更輕量級、效能更優的模型結構 [3]。在卷積神經網路中,代表性工作有 NASNet 和 EfficientNet 等。在視覺Transformer 結構搜尋中,針對視覺模型中的通道寬度、網路深度以及head 數量等多個維度,研究員們先後提出了AutoFormer [4] 和S3 [5],實現了視覺模型的動態可伸縮訓練與結構搜尋。在同樣模型精度的情況下,搜尋得到的新模型具有較小的參數量和計算量。值得注意的是,在S3 中,研究員們利用E-T Error [5]以及權重共享超網來指導、改進搜尋空間,在得到更有效率的模型結構的同時也分析了搜尋空間的演進過程,如圖3所示。同時,模型結構搜尋的過程為輕量化模型的設計提供了有效的設計經驗和參考。
圖3:輕量模型搜尋空間演化過程
輕量級預訓練模型的另一個難題在於,由於模型容量有限,難以直接學習大規模資料中包含的豐富資訊和知識。為了解決這個問題,研究員提出了快速預訓練蒸餾方案,將大模型的知識遷移到輕量化的小模型中 [6]。如圖4所示,和傳統的單階段知識蒸餾不同,快速預訓練蒸餾分為兩個階段:1)壓縮並保存大模型訓練過程中使用的資料增廣資訊和預測資訊;2)加載並恢復大模型的預測資訊和資料增廣後,利用大模型作為教師,透過預訓練蒸餾指導輕量化學生模型的學習和訓練。不同於剪枝和量化,該方法在權重共享的基礎上使用了上文中提到的權重複用[2],通過引入輕量級權重變換和蒸餾,成功壓縮視覺預訓練大模型,得到了通用性更強的輕量級模型。在不犧牲效能的情況下,此方法可以將原有大模型壓縮數十倍。
圖4:快速預訓練知識蒸餾
這一系列的研究成果,不僅在在電腦視覺的頂級學術會議上(CVPR、ICCV、ECCV、NeurIPS等 )發表了多篇論文[1-6],也透過和微軟必應的合作,成功將輕量化預訓練模型應用到了圖像搜尋產品中,提高了實際業務中圖像和視訊內容理解的能力。
轻量级视觉预训练模型在实际中有诸多用途,尤其是在实时性要求高或者资源受限的场景中, 例如:云端视频实时渲染和增强、端测图像、视频内容理解。轻量级视觉模型已经在智能零售、先进制造业等领域展现出了广阔的应用前景,将来还会在元宇宙、自动驾驶等新兴行业发挥重要作用。以微软必应产品中的图像内容搜索为例,下面为大家展示一下轻量化视觉模型的实际应用和部署。
目前,基于内容的如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型搜索在如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型的类别属性理解上已经比较成熟,但对于复杂场景的内容理解仍有很大的挑战。复杂场景的如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型通常具有大景深、背景杂乱、人物多、物体关系复杂等特点,显著地增加了内容理解的难度,因而对预训练模型的鲁棒性和泛化性提出了更高的要求。
举例来说,动漫如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型的搜索质量在很长一段时间内无法得到有效提升,其主要的挑战包括:绘画线条和颜色比真实场景如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型更加夸张,包含更多动作和场景,不同漫画之间的风格内容差异巨大。图5到图7分别展示了“灌篮高手”、“皮卡丘”和“足球小将”三种不同的动漫人物和行为,其漫画风格和内容差别迥异。如何有效地理解漫画如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型内容,对视觉预训练模型提出了较高的要求。
图5:在微软必应搜索引擎中,对灌篮高手的动作理解包括:扣篮,运球,抢断,投篮等
图6:在微软必应搜索引擎中,对皮卡丘行为的理解比如吃苹果、吃西瓜,吃雪糕等
图7:在微软必应搜索引擎中,对足球小将射门动作的特写
上文中提到的轻量级视觉通用模型以及快速预训练蒸馏算法目前已成功应用于微软必应搜索引擎中。借助微软亚洲研究院提供的视觉语言多模态预训练模型,微软必应如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型搜索功能增强了对漫画内容的理解,可以返回与用户需求更为匹配的如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型内容。
与此同时,微软必应搜索引擎庞大的索引库对于检索效率有非常高的要求。微软亚洲研究院提供的快速预训练蒸馏方法有效地将预训练大模型的索引能力迁移到轻量化模型中,在识别准确率上将现有模型提升了14%,同时极大地优化了模型的计算效率,实现了百亿如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型的快速推理。
模型轻量化是人工智能未来应用落地的核心。随着视觉技术、算法、算力和数据等不断完善,模型的复杂度急剧攀升,神经网络计算的能耗代价越来越高。轻量化视觉模型高效的计算效率和低廉的部署应用成本,能够在未来更多的实际产品中发挥巨大优势。除此之外,本地化的轻量级预训练视觉模型在支持更多服务的同时,还能够更好地保护用户数据和隐私。用户的数据将不再需要离开设备,即可实现模型服务等功能的远程升级。
当然,研究人员也意识到轻量级预训练视觉模型所面临的挑战:一方面在模型结构设计上,如何在模型参数量和推理延时的限制下达到模型的最优学习能力,一直以来都是学术界和工业界密切关注的问题。虽然目前已经沉淀了不少有效的模型结构,在通用近似定理(UAT)、神经网络结构搜索(NAS)等领域也取得了长足的发展,但是现有的轻量级预训练视觉模型和视觉大模型之间仍有差距,有待进一步优化和提升。另一方面在训练方法上,学术界和工业界针对视觉大模型提出了自监督、图像分类和多模态等多种训练方法,显著提升了模型的通用能力。如何针对容量有限的轻量级模型设计更有效的训练方式,还需要进一步的研究和探索。微软亚洲研究院的研究员们将不断推进轻量级预训练视觉模型的科研进展,也欢迎更多科技同仁共同交流、探索该领域的相关技术。
以上是如何有效率、精準地進行圖片搜尋?看看輕量化視覺預訓練模型的詳細內容。更多資訊請關注PHP中文網其他相關文章!