文件多模態增強:在“閱讀理解”任務中重拾“理解”

社群文章 釋出於 2024 年 5 月 16 日

我們很高興能與大家分享 Hugging Face 在文件 AI 方面持續取得的進展。繼我們最近釋出了兩個最大的文件資料集 IDLPDFa 後,我們正積極利用這些資料集中的標註,特別是文字行的位置資訊。文件 AI 團隊的 Pablo MontalvoRoss WightmanDana Aubakirova 正在開發一個用於文件的資料增強流水線。這個流水線設計獨特,旨在同時修改視覺和文字特徵,從而增強模型在預訓練階段處理和理解複雜文件的能力。


引言

文件資料增強的需求源於真實世界文件與其數字掃描件之間的差異。真實文件常因列印、掃描或影印等過程而發生變化。這些物理變化會引入視覺失真,如摺痕、褶皺、撕裂、墨跡變化和註釋,從而使數字解讀變得複雜。

Figure Description

圖 1:IDL 資料集中的樣本,展示了傾斜方向、墨跡變化、手寫註釋以及掃描引入的噪聲。

許多涉及文件的機器學習任務(如文件分類和資訊提取)的效能都受到這種噪聲的顯著影響。儘管如此,這些高階任務通常仍被期望能有效地處理這類帶有噪聲的掃描文件。為解決此問題,研究者開發了多種方法來建立包含現實噪聲偽影和退化的文件影像,這些通常是掃描、影印和其他辦公流程的結果。這些努力旨在評估和增強模型的魯棒性及其“閱讀”能力。

另一個研究方向是生成合成資料,以解決標註資料稀缺的問題,並規避真實世界資料所帶來的複雜性。例如,WebSight 是一個合成數據集,旨在訓練 AI 模型處理視覺網頁設計並將其轉換為功能性 HTML 程式碼。透過專注於合成數據,他們成功繞過了真實世界 HTML 中常見的噪聲和複雜性,使 AI 模型能高效學習。這一概念也延伸到了文件處理領域。例如,SynthDog 利用 ImageNet 的背景、紙張照片資料庫的紋理以及維基百科的文字來合成文件。這些文件的佈局透過一個簡單的基於規則的演算法生成,該演算法將內容排列成隨機堆疊的網格。為了增強真實感,還應用了各種影像渲染技術,使文件看起來栩栩如生,更易於模型解釋和分析。另一個例子是 Genalog,這是一個開源、跨平臺的 Python 包,專為生成帶有合成噪聲的文件影像而設計,模擬掃描的模擬文件的外觀。該工具允許新增各種文字退化,從而增加文件分析模型的挑戰性。

文件理解任務的標準方法是,首先預訓練模型以閱讀文字,然後根據具體任務對模型進行微調,以理解文件內容。前述所有資料增強工作要麼是修改現有影像,要麼是生成全新文件。在第一種情況下,如下圖 2 所示,只改變了影像,而文字保持不變。

image/png

圖 2:使用 Albumentations 提供的影像變換對文件應用的一組隨機增強。

我們的重點是結合多種文字增強技術和影像渲染過程。這種方法使我們能夠建立具有扭曲佈局和語義相似內容的文件,並相應地修改標註。主要目標是確保模型能夠完全理解複雜的文件佈局、字型變化和修改後的上下文。

我們假設,與人類相似,閱讀和理解的能力應該同步發展。因此,至關重要的是設計有針對性的資料增強方法,既能“增強模型對視覺文字失真的魯棒性”,又能“使其能夠準確解釋句法、詞序和整體上下文,從預訓練階段就保持語義完整性”。

一個密切相關的方法見於 Pix2Struct 的預訓練階段,其涉及恢復解析的被遮蔽部分,如圖 3 所示,這類似於掩碼語言建模。值得注意的是,Pix2Struct-Large 在 DocVQA 任務上比之前的視覺 SOTA 模型 Donut 高出 9 個點。與 UDOP 等頂級單任務方法不同(這些方法使用現成的 OCR 系統、預訓練的編碼器和額外的預訓練),Pix2Struct 僅依賴視覺表示,無需領域內資料,卻實現了 76.6 的有競爭力的 ANLS。我們方法的一個主要區別在於,我們不僅遮蔽內容,還在重新渲染之前對其進行修改。

image/png

圖 3:Pix2Struct 預熱階段的輸入-輸出對示例,影像中的視覺訊號被遮蔽,任務是利用視覺上下文作為線索恢復解析的被遮蔽部分。


所提出的方法

為了增強文件影像,我們首先隨機選擇文件中的文字行。一個超引數控制要修改的行數。然後,我們使用邊界框確定文字位置,並用白色補丁遮蓋這些區域,如圖 1 所示。

Description of the image

圖 4:流水線首先根據一個預定義的超引數隨機選擇並用白色補丁遮蓋文件每頁中的特定文字行,該超引數控制要修改的文字比例。遮蓋後,每行文字都透過隨機選擇的文字增強方法進行修改,然後重新渲染到原始佈局中。頁面的標註也相應地被更改。

接下來,我們將幾種文字增強方法之一應用於相應的文字行,這些方法通常用於文字生成任務。這些方法包括 **隨機插入、刪除、交換** 和 **關鍵詞替換**。目前,我們使用 NLTK 和 RAKE 等工具進行這些操作。然而,利用大語言模型(LLM)來生成這類文字增強具有巨大潛力。不過,在訓練期間整合這種動態增強可能會導致計算成本高昂。

在修改文字後,我們將其重新渲染到文件上,使用原始邊界框的大小作為新文字字型大小的代理。JSON 檔案也會進行相應更改。這個過程產生了一個具有語義相似的文字內容和視覺上扭曲的影像的資料集。

image/png

圖 5:增強後的輸入對的詳細圖示。高亮顯示的行表示已更改的行。


下一步計劃

如前所述,閱讀和思考是緊密交織的認知過程,可以同時發生。在閱讀時,我們會進行多項認知任務,如詞語識別、句子解釋和意義構建。這不僅涉及解碼書面文字,還包括啟用背景知識、進行推斷以及將新資訊與已知資訊相結合。我們希望模型能夠識別關鍵詞、理解同義詞、在資訊缺失時填補空白,並能儘管詞序發生變化也能掌握上下文,這凸顯了閱讀理解的複雜性。這些能力表明,思考不僅僅是閱讀的附屬品,而是與之深度融合,對於解釋各類文字至關重要。

因此,一個相關的問題隨之而來:在學習或訓練過程中,整合這些認知任務的最佳階段是什麼?也就是說,思考應該在何時被明確地納入其中?這對於開發一個能有效模仿人類閱讀和理解能力的強大模型至關重要。

在此背景下,我們需要評估在模型訓練的不同階段引入資料增強技術的有效性。具體來說,我們正在探索是在模型使用真實資料訓練後應用這些技術更有益,還是從訓練一開始就應用,或是透過在整個訓練過程中逐步整合。下圖描繪了在這三種情況下,資料增強對模型認知任務效能的預期影響。我們正在積極分析這個問題,並將在有新發現時提供更新。

image/png

圖 6:在不同預訓練階段加入資料增強後,模型“認知能力”的預期曲線。

image/png

圖 7:更多增強樣本的例子。請注意字型和字號的差異,這引入了額外的挑戰。

致謝

非常感謝 Pablo MontalvoRoss WightmanVaibhav Srivastav 對這篇博文提出的詳細反饋。

參考文獻

@inproceedings{lee2023pix2struct,
  title={Pix2struct: Screenshot parsing as pretraining for visual language understanding},
  author={Lee, Kenton and Joshi, Mandar and Turc, Iulia Raluca and Hu, Hexiang and Liu, Fangyu and Eisenschlos, Julian Martin and Khandelwal, Urvashi and Shaw, Peter and Chang, Ming-Wei and Toutanova, Kristina},
  booktitle={International Conference on Machine Learning},
  pages={18893--18912},
  year={2023},
  organization={PMLR}
}

@inproceedings{groleau2023augraphy,
  title={Augraphy: A data augmentation library for document images},
  author={Groleau, Alexander and Chee, Kok Wei and Larson, Stefan and Maini, Samay and Boarman, Jonathan},
  booktitle={International Conference on Document Analysis and Recognition},
  pages={384--401},
  year={2023},
  organization={Springer}
}

@inproceedings{kim2022ocr,
  title={Ocr-free document understanding transformer},
  author={Kim, Geewook and Hong, Teakgyu and Yim, Moonbin and Nam, JeongYeon and Park, Jinyoung and Yim, Jinyeong and Hwang, Wonseok and Yun, Sangdoo and Han, Dongyoon and Park, Seunghyun},
  booktitle={European Conference on Computer Vision},
  pages={498--517},
  year={2022},
  organization={Springer}
}

@article{feng2020genaug,
  title={Genaug: Data augmentation for finetuning text generators},
  author={Feng, Steven Y and Gangal, Varun and Kang, Dongyeop and Mitamura, Teruko and Hovy, Eduard},
  journal={arXiv preprint arXiv:2010.01794},
  year={2020}
}

@article{laurenccon2024unlocking,
  title={Unlocking the conversion of Web Screenshots into HTML Code with the WebSight Dataset},
  author={Lauren{\c{c}}on, Hugo and Tronchon, L{\'e}o and Sanh, Victor},
  journal={arXiv preprint arXiv:2403.09029},
  year={2024}
}

社群

註冊登入 發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.