核心概念
現今場景圖生成模型傾向於預測常見的謂詞(如「在...上」、「在...附近」),而非資訊更豐富的謂詞(如「站在...上」、「看著...」),導致資訊遺漏和效能不佳。本研究提出了一種名為 DB-SGG 的新框架,透過去偏差方法來解決這個問題,以生成資訊更豐富的場景圖。
Informative Scene Graph Generation via Debiasing
本研究論文探討了場景圖生成(SGG)中的一個關鍵問題:現有模型傾向於預測常見但資訊量低的謂詞,而非更具體、資訊豐富的謂詞。作者認為此問題源於兩個層面的不平衡:語義空間層級的不平衡和訓練樣本層級的不平衡。
語義空間層級的不平衡
常見謂詞(如「在...上」)的語義空間較大,而資訊豐富的謂詞(如「站在...上」)則更具體但語義空間較小。這可能導致在某些情況下,資訊豐富的謂詞被更常見的謂詞所取代,從而導致資訊遺失。
訓練樣本層級的不平衡
在 SGG 資料集中,常見謂詞的樣本數量遠多於資訊豐富的謂詞,導致訓練資料出現長尾分佈問題。這使得模型在預測時偏向於常見謂詞。
DB-SGG 框架
為了解決這些問題,作者提出了一種名為 DB-SGG 的新框架,該框架包含兩個主要組成部分:
語義去偏差(SD): 利用謂詞之間的語義關係,將常見謂詞的預測結果修正為資訊更豐富的謂詞。
平衡謂詞學習(BPL): 透過調整訓練樣本空間,使模型更加關注資訊豐富的謂詞。
語義去偏差(SD)
SD 模組使用兩種方法構建謂詞之間的語義關係:
混淆矩陣: 分析模型在預測不同謂詞時的混淆情況,以推斷謂詞之間的語義相似性。
二分圖: 根據謂詞所涉及的主詞-受詞標籤的重疊程度,構建一個二分圖來表示謂詞之間的語義關係。
平衡謂詞學習(BPL)
BPL 模組採用兩種策略來平衡訓練樣本空間:
隨機欠取樣: 隨機減少常見謂詞的樣本數量,以平衡資料集。
移除模糊樣本: 識別並移除那些可能被標記為多個不同謂詞的模糊樣本,以提高模型的預測準確性。
實驗結果
在 Visual Genome (SGG-VG) 資料集上的實驗結果表明,DB-SGG 框架在生成資訊豐富的場景圖方面顯著優於現有方法。
統計資料
在 SGG-VG 資料集中,92% 的謂詞樣本數量很少。
在 SGG-VG 資料集中,將資訊量最小的 15 個謂詞設定為常見謂詞。
對於 SGG-VG 資料集,每個常見謂詞的取樣數量 N 設定為 2,000。
對於 SGG-GQA 資料集,將資訊量最小的 30 個謂詞設定為常見謂詞。
對於 SGG-GQA 資料集,每個常見謂詞的取樣數量 N 設定為 4,000。
深入探究
除了語義去偏差和平衡謂詞學習之外,還有哪些方法可以提高場景圖生成的資訊豐富度?
除了語義去偏差(SD)和平衡謂詞學習(BPL)之外,還可以考慮以下方法來提高場景圖生成的資訊豐富度:
多模態資訊融合(Multi-modal Information Fusion):
現有的場景圖生成模型主要依賴於圖像的視覺資訊。
可以考慮融合其他模態的資訊,例如:
語義資訊(Semantic Information): 利用預先訓練好的語言模型(如BERT、GPT)提取圖像標題或描述中的語義資訊,指導場景圖的生成過程。
知識圖譜(Knowledge Graph): 將外部知識圖譜(如ConceptNet、WordNet)融入到模型中,提供更豐富的語義關係和常識知識,幫助模型推斷出更合理的謂詞關係。
細粒度視覺關係建模(Fine-grained Visual Relationship Modeling):
現有模型通常將謂詞關係視為單一標籤,忽略了謂詞關係的細微差別。
可以考慮對謂詞關係進行更細粒度的建模,例如:
謂詞關係屬性(Predicate Relation Attributes): 預測謂詞關係的屬性,例如「在...上面」(on)的屬性可以是「支撐」(supporting)、「覆蓋」(covering)等,從而提供更精確的關係描述。
謂詞關係層次結構(Predicate Relation Hierarchy): 構建謂詞關係的層次結構,例如「看著」(looking at)可以是「凝視」(gazing)、「觀察」(observing)的上位詞,從而捕捉謂詞關係之間的語義關聯。
強化學習(Reinforcement Learning):
可以利用強化學習來訓練場景圖生成模型,通過設計適當的獎勵函數,鼓勵模型生成資訊更豐富、更準確的場景圖。
例如,可以根據生成的場景圖的資訊含量、語義一致性等指標來設計獎勵函數。
生成式模型(Generative Models):
可以探索使用生成式模型(如GAN、VAE)來生成場景圖。
生成式模型可以學習數據的分佈,並生成更具多樣性和創造性的場景圖。
如何在不損害模型在常見謂詞上的效能的情況下,提高模型對資訊豐富的謂詞的預測能力?
為了在不損害模型在常見謂詞上性能的情況下提高對資訊豐富謂詞的預測能力,可以採用以下策略:
類別平衡損失函數(Class-Balanced Loss Functions):
使用針對長尾分佈設計的損失函數,例如:
Focal Loss: 降低常見類別簡單樣本的權重,讓模型更關注資訊豐富但樣本較少的謂詞類別。
Class-Balanced Loss: 根據每個類別的樣本數量動態調整損失函數的權重,平衡不同類別對模型訓練的貢獻。
兩階段訓練策略(Two-Stage Training Strategy):
第一階段: 在完整數據集上訓練模型,讓模型學習到常見謂詞的普遍模式。
第二階段: 凍結模型的部分層(例如特徵提取層),在資訊豐富的謂詞數據集上進行微調,讓模型更關注這些謂詞的特征。
數據增強(Data Augmentation):
針對資訊豐富的謂詞類別進行數據增強,例如:
圖像合成(Image Synthesis): 利用生成式模型或圖像編輯技術合成包含資訊豐富謂詞的圖像。
關係裁剪和粘貼(Relationship Cropping and Pasting): 將包含資訊豐富謂詞的圖像區域裁剪出來,粘貼到其他圖像中,創造新的訓練樣本。
知識蒸餾(Knowledge Distillation):
使用一個在完整數據集上訓練好的教師模型來指導學生模型的訓練。
教師模型可以提供更豐富的資訊,幫助學生模型學習到資訊豐富謂詞的特征。
集成學習(Ensemble Learning):
訓練多個專注於不同謂詞類別的模型,例如:
訓練一個專注於常見謂詞的模型和一個專注於資訊豐富謂詞的模型。
在預測階段,根據輸入圖像的特點選擇合適的模型進行預測,或組合多個模型的預測結果。
如果將 DB-SGG 框架應用於其他計算機視覺任務(如圖像描述生成),是否也能夠提高模型的效能?
DB-SGG 框架的核心思想是解決數據集中存在的偏差問題,並強調資訊豐富的預測。這些思想可以應用於其他計算機視覺任務,例如圖像描述生成,並有可能提高模型的性能。以下是一些可能的應用方向:
資訊豐富的圖像描述生成:
圖像描述生成模型通常傾向於生成包含常見物體和場景的描述,而忽略了圖像中獨特或有趣的細節。
可以借鑒 DB-SGG 中的語義去偏差和平衡學習策略,鼓勵模型生成包含更多資訊量、更生動具體的描述。
例如,可以根據詞彙的資訊含量設計獎勵函數,或對描述中不同類型信息的出現頻率進行約束。
減少描述中的偏差:
圖像描述數據集也可能存在偏差,例如某些物體或場景的描述更容易出現。
可以利用 DB-SGG 中的分析方法,識別數據集中的偏差,並設計相應的策略來減輕偏差的影響。
例如,可以使用數據增強技術來平衡數據集,或設計更魯棒的模型訓練方法。
總之,DB-SGG 框架提供了一種解決數據偏差問題和提高模型資訊豐富度的思路,這些思路可以應用於其他計算機視覺任務,並有可能帶來性能提升。然而,具體的應用方法需要根據任務的特点和數據集的情況進行調整和優化。