近年來,機器學習領域在從圖像識別到自然語言處理的不同問題類型上取得了顯著進展。然而,這些模型中的大多數都對來自單一模態的數據進行操作,例如圖像、文本或語音。相比之下,現實世界的數據通常來自多種模態,例如圖像和文本、視頻和音頻或來自多個來源的傳感器數據。
為了應對這一挑戰,研究人員開發了多模態機器學習模型,可以處理來自多種模態的數據,為智能系統釋放新的可能性。
在這篇博文中,我們將探討多模態機器學習的挑戰和機遇,并討論用于應對多模態計算機視覺挑戰的不同架構和技術。
什么是多模態深度學習?
多模態深度學習是深度學習的一個子集,用于處理來自多種模態的數據的融合和分析,例如文本、圖像、視頻、音頻和傳感器數據。多模態深度學習結合了不同模態的優勢,創建更完整的數據表示,從而在各種機器學習任務上獲得更好的性能。
傳統上,機器學習模型被設計為處理來自單一模態的數據,例如圖像分類或語音識別。然而,在現實世界中,數據通常來自多個來源和模式,這使得數據變得更加復雜且難以分析。多模態深度學習旨在通過整合來自不同模態的信息來生成更準確、信息更豐富的模型,從而克服這一挑戰。
多模態深度學習的目標是什么?
多模態深度學習的主要目標是創建一個共享表示空間,可以有效地捕獲來自不同模態的互補信息。然后,這種共享表示可用于執行各種任務,例如圖像caption、語音識別和自然語言處理。
多模態深度學習模型通常由多個神經網絡組成,每個神經網絡專門分析特定的模態。然后使用各種融合技術(例如早期融合、后期融合或混合融合)組合這些網絡的輸出,以創建數據的聯合表示。
早期融合涉及將來自不同模態的原始數據連接成單個輸入向量并將其饋送到網絡。另一方面,后期融合涉及為每種模態訓練單獨的網絡,然后在稍后階段組合它們的輸出。混合融合結合了早期融合和后期融合的元素,創建了一個更靈活、適應性更強的模型。
多模態學習如何運作?
多模態深度學習模型通常由多個單模態神經網絡組成,這些神經網絡分別處理每個輸入模態。例如,視聽模型可能有兩個單模態網絡,一個用于音頻,另一個用于視覺數據。這種對每種模態的單獨處理稱為編碼。
一旦完成單模態編碼,就必須集成或融合從每種模態提取的信息。有幾種可用的融合技術,從簡單的串聯到注意機制。多模態數據融合是這些模型成功的關鍵因素。最后,“決策”網絡接受融合的編碼信息并針對手頭的任務進行訓練。
一般來說,多模式架構由三部分組成:
- 單模態編碼器對各個模態進行編碼。通常,每種輸入模式對應一個。
- 一種融合網絡,在編碼階段結合從每種輸入模態提取的特征。
- 接受融合數據并進行預測的分類器。
下圖展示了一般的多模態工作流程。它涉及多個單模態神經網絡(本例中為三個)來獨立編碼各種輸入模態。然后使用融合模塊組合提取的特征。最后,將融合的特征輸入分類網絡進行預測。
編碼階段
編碼器從每種模態的輸入數據中提取特征,并將其轉換為可由模型中的后續層處理的通用表示。編碼器通常由多層神經網絡組成,這些神經網絡使用非線性變換從輸入數據中提取越來越抽象的特征。
編碼器的輸入可以包含來自多種模態的數據,例如圖像、音頻和文本,這些數據通常是單獨處理的。每種模態都有自己的編碼器,將輸入數據轉換為一組特征向量。然后,每個編碼器的輸出被組合成單個表示,該表示捕獲來自每種模態的相關信息。
組合各個編碼器的輸出的一種流行方法是將它們連接成單個向量。另一種方法是使用注意力機制根據每種模式與當前任務的相關性來權衡每種模式的貢獻。
編碼器的總體目標是捕獲來自多種模態的輸入數據之間的底層結構和關系,使模型能夠做出更準確的預測或基于這種多模態輸入生成新的輸出。
融合模塊
融合模塊將來自不同模態(例如文本、圖像、音頻)的信息組合成可用于下游任務(例如分類、回歸或生成)的單個表示。根據特定的架構和手頭的任務,融合模塊可以采取各種形式。
一種常見的方法是使用模態特征的加權和,其中權重是在訓練期間學習的。另一種方法是連接模態的特征并將它們通過神經網絡傳遞以學習聯合表示。在某些情況下,注意力機制可用于學習在每個時間步驟應關注哪種模式。
無論具體實現如何,融合模塊的目標是捕獲來自不同模態的補充信息,并為下游任務創建更強大、信息更豐富的表示。這在視頻分析等應用中尤其重要,其中視覺和音頻提示的結合可以極大地提高性能。
分類
分類模塊采用融合模塊生成的聯合表示,并用它來做出預測或決策。分類模塊中使用的具體架構和方法可能會根據任務和正在處理的數據類型而有所不同。
在許多情況下,分類模塊采用神經網絡的形式,其中聯合表示在做出最終預測之前通過一個或多個全連接層。這些層可以包括非線性激活函數、dropout 和其他技術,以幫助防止過度擬合并提高泛化性能。
分類模塊的輸出取決于手頭的具體任務。例如,在多模態情感分析任務中,輸出將是一個二元決策,指示文本和圖像輸入是正面還是負面。在多模態圖像caption任務中,輸出可能是描述圖像內容的句子。
分類模塊通常使用監督學習方法進行訓練,其中輸入模態及其相應的標簽或目標用于優化模型的參數。這種優化通常使用基于梯度的優化方法來完成,例如隨機梯度下降或其變體。
綜上所述,分類模塊通過采用融合模塊生成的聯合表示并使用它來做出明智的決策或預測,在多模態深度學習中發揮著關鍵作用。
計算機視覺中的多模態學習
近年來,多模態學習通過結合圖像、文本和語音等多種模態的信息,成為解決復雜計算機視覺任務的一種有前途的方法。
這種方法在多個領域取得了重大進展,包括:
- 視覺問答;
- 文本到圖像的生成;
- 用于視覺推理的自然語言。
在本節中,我們將探討多模態學習模型如何徹底改變計算機視覺,并使其能夠在以前看似不可能的挑戰性任務中取得令人印象深刻的結果。具體來說,我們將深入研究計算機視覺領域中多模態架構的三種流行用途的工作原理:視覺問答(VQA)、文本到圖像生成和視覺推理自然語言(NLVR)。
視覺問答 (VQA)
視覺問答 (VQA) 涉及使用自然語言回答基于視覺輸入(例如圖像或視頻)的問題。VQA 是一項具有挑戰性的任務,需要對計算機視覺和自然語言處理有深入的了解。
近年來,由于深度學習技術和架構,特別是Transformer 架構的使用,VQA 取得了重大進展。Transformer 架構最初是為了語言處理任務而引入的,并在 VQA 中取得了巨大的成功。
VQA 最成功的模型之一是Google Research 在 2022 年開發的PaLI(Pathways Language and Image model)模型。PaLI 架構采用編碼器-解碼器 Transformer 模型,帶有大容量 ViT 組件用于圖像處理。下圖展示了PaLI模型架構。
文本到圖像的生成
在文本到圖像生成過程中,機器學習模型經過訓練以根據文本描述生成圖像。目標是創建一個能夠理解自然語言并利用這種理解來生成準確表示輸入文本含義的視覺內容的系統。兩個最新且成功的文生圖模型是DALL-E和Stable Diffusion。
DALL-E 是 OpenAI 開發的文本到圖像生成模型,它結合了基于 Transformer 的語言模型和生成神經網絡架構。該模型接受文本描述并生成滿足描述的圖像。DALL-E 可以生成各種復雜且富有創意的圖像,例如用豎琴制成的蝸牛和雛菊田中紅樹袋鼠的拼貼畫。
DALL-E 的關鍵創新之一是使用離散潛在空間,這使得模型能夠學習生成圖像的更加結構化和可控的表示。DALL-E 在大型圖像-文本對數據集上進行訓練,并使用稱為 Gumbel-Softmax 技巧的 VAE 損失函數變體來優化模型。
Stable Diffusion架構是一種基于文本提示生成高質量圖像的最新技術。Stable Diffusion使用擴散過程,該過程涉及迭代地向初始圖像添加噪聲,然后逐步消除噪聲。
通過控制噪聲水平和迭代次數,穩定擴散可以生成與輸入文本提示相匹配的多樣化且高質量的圖像。
SD的關鍵創新是使用擴散過程,可以生成穩定且多樣化的圖像。此外,擴散使用對比損失函數來鼓勵生成的圖像多樣化且彼此不同。Diffusion 在文本到圖像的生成方面取得了令人印象深刻的成果,它可以生成與輸入文本提示緊密匹配的高質量圖像。
視覺推理自然語言 (NLVR)
視覺推理自然語言(Natural Language for Visual Reasoning,NLVR)旨在評估模型理解和推理視覺場景自然語言描述的能力。在此任務中,為模型提供場景的文本描述和兩張相應的圖像,其中一張與描述一致,另一張則不一致。該模型的目標是識別與給定文本描述相匹配的正確圖像。
NLVR 要求模型理解復雜的語言結構并推理視覺信息以做出正確的決策。該任務涉及多種挑戰,例如理解空間關系、識別物體及其屬性以及理解自然語言的語義。
BEiT-3達到了 NLVR 任務的當前最先進水平。它是一個基于 Transformer 的模型,已在大規模自然圖像和文本數據集(例如 ImageNet 和 Conceptual Captions)上進行了預訓練。下圖展示了用于 NLVR 任務的 BEiT-3 架構。
BEiT-3 旨在處理自然語言和視覺信息,能夠推理復雜的語言結構和視覺場景。
BEiT-3 的架構與其他基于 Transformer 的模型(例如 BERT 和 GPT)類似,但進行了一些修改以處理視覺數據。該模型由編碼器和解碼器組成,編碼器接收視覺和文本輸入,解碼器產生輸出。
構建多模態模型架構的挑戰
多模態深度學習徹底改變了我們處理復雜數據分析任務(例如圖像和語音識別)的方式。然而,處理來自多種模式的數據帶來了獨特的挑戰,必須解決這些挑戰才能實現最佳性能。
在本節中,我們將討論與多模態深度學習相關的一些關鍵挑戰。
對齊(Alignment)
對齊是確保來自不同模式的數據在時間、空間或任何其他相關維度上同步或對齊的過程。模態之間缺乏一致性可能會導致表示不一致或不完整,從而對模型的性能產生負面影響。
在不同時間或從不同來源獲取模式的情況下,對齊可能特別具有挑戰性。對齊是一個難以解決的挑戰的一個典型例子是視頻分析。由于數據采集過程引入的延遲,將音頻與視覺信息對齊可能具有挑戰性。同樣,在語音識別中,由于語速、口音和背景噪音的變化,將音頻與相應的轉錄對齊可能很困難。
已經提出了幾種技術來解決多模態機器學習模型中的對齊挑戰。例如,時間對齊方法可用于通過估計模態之間的時間偏移來及時對齊數據。空間對齊方法可用于通過識別不同模態的對應點或特征來對齊空間中的數據。
此外,深度學習技術(例如注意力機制)可用于在模型訓練過程中自動對齊數據。然而,每種對齊技術都有其優點和局限性,對齊方法的選擇取決于具體問題和數據的特征。
協同學習(Co-learning)
協同學習涉及從多種模態聯合學習以提高模型的性能。在協同學習中,模型從不同模態之間的相關性和依賴關系中學習,這可以使基礎數據的表示更加穩健和準確。
協同學習需要設計能夠處理來自不同模態的數據的異質性和可變性的模型,同時還可以識別可以跨模態共享的相關信息。這很有挑戰性。此外,協同學習可能會導致負遷移問題,即從一種模態學習會對模型在另一種模態上的性能產生負面影響。
為了解決多模態機器學習模型中的協同學習挑戰,人們提出了幾種技術。一種方法是使用聯合表示學習方法,例如深度規范相關分析(DCCA)或跨模態深度度量學習(CDML),其目的是學習捕獲模態之間相關性的共享表示。另一種方法是使用注意力機制,可以將模型的資源動態分配給信息最豐富的模態或特征。
協同學習仍然是多模態機器學習的一個活躍的研究領域,有許多開放性問題和挑戰需要解決,例如如何處理缺失的模態或如何將先驗知識納入學習過程。
翻譯
翻譯涉及將數據從一種模態或語言轉換為另一種模態或語言。例如,將語音翻譯為文本、文本翻譯為語音或圖像翻譯為文本。
需要翻譯的多模態機器學習模型必須考慮源語言或目標語言或模態之間的結構、語法和語義差異。此外,它們必須能夠處理輸入數據的可變性,例如不同的口音或方言,并適應輸入的上下文。
有多種方法可以解決多模態機器學習模型中的翻譯挑戰。一種常見的方法是使用神經機器翻譯 (NMT) 模型,該模型在將文本從一種語言翻譯為另一種語言方面取得了巨大成功。NMT 模型還可以通過對音頻-文本配對數據進行訓練,將語音翻譯為文本,反之亦然。另一種方法是使用多模態模型,該模型可以學習將數據從一種模態映射到另一種模態,例如圖像到文本或語音到文本的翻譯。
然而,模態或語言之間的翻譯是一項具有挑戰性的任務。翻譯模型的性能在很大程度上取決于訓練數據的質量和大小、任務的復雜性以及計算資源的可用性。
融合
融合涉及組合來自不同模式的信息以做出決策或預測。數據融合有多種方式,包括早期融合、后期融合和混合融合。
早期融合涉及在輸入級別組合來自不同模態的原始數據。這種方法需要對齊和預處理數據,由于數據格式、分辨率和大小的差異,這可能具有挑戰性。
另一方面,后期融合涉及單獨處理每種模態,然后在稍后階段組合輸出。這種方法對于數據格式和模態的差異更加穩健,但也可能導致重要信息的丟失。
混合融合是早期融合方法和晚期融合方法的組合,其中一些模態在輸入級別融合,而另一些模態在后期階段融合。
選擇合適的融合方法對于多模態機器學習模型的成功至關重要。融合方法必須針對具體問題和數據特征進行定制。此外,融合方法的設計必須能夠保留每種模態最相關的信息,并避免引入噪聲或不相關信息。
結論
多模態深度學習是一個令人興奮且快速發展的領域,對于推進計算機視覺和人工智能的其他領域具有巨大的潛力。
通過整合視覺、文本和聽覺信息等多種模態,多模態學習使機器能夠以曾經只有人類才能實現的方式感知和解釋周圍的世界。
在這篇文章中,我們重點介紹了多模態學習在計算機視覺中的三個關鍵應用:視覺問答、文本到圖像生成和自然語言視覺推理。
盡管多模態學習存在一些挑戰,包括需要大量訓練數據以及融合多種模態信息的困難,但深度學習模型的最新進展已經導致一系列任務的性能顯著提高。