不做文盲畫家!谷歌魔改「文本編碼器」:一個小操作讓圖像生成模型學會「拼寫」
過去的一年里,隨著DALL-E 2,Stable Diffusion等圖像生成模型的發布,text-to-image模型生成的圖像在分辨率、質量、文本忠實度等方面都得到了飛躍性提升,極大促進了下游應用場景的開發,人人都成了AI畫家。
但相關研究表明,目前的生成模型技術仍然存在一個重大缺陷:無法在圖像中呈現出可靠的視覺文本。
有研究結果表明,DALL-E 2在圖片中生成連貫文本字符上非常不穩定,而最新發布的Stable Diffusion模型則是直接將「無法呈現可讀的文本」列為已知的限制。

字符拼寫錯誤:(1) California: All Dreams Welcome, (2) Canada: For Glowing Hearts, (3) Colorado: It’s Our Nature, (4) St. Louis: All Within Reach.
最近Google Research發布了一篇新論文,試圖了解并提高圖像生成模型渲染高質量視覺文本的能力。

論文鏈接:https://arxiv.org/abs/2212.10562
研究人員認為當下的text-to-image生成模型模型存在文本渲染缺陷的主要原因是缺乏字符級的輸入特征。
為了量化該輸入特征在模型生成中的影響,文章中設計了一系列控制實驗對是否包含文本輸入特征的文本編碼器(character-aware和character-blind)進行對比。
研究人員發現,在純文本領域,character-aware模型在一個新的拼寫任務(WikiSpell)上獲得了很大的性能收益。
將該經驗遷移到視覺領域后,研究人員訓練了一套圖像生成模型。實驗結果表明character-aware模型在一系列新的文本渲染任務(DrawText基準)中比character-blind更勝一籌。
并且character-aware模型在視覺拼寫方面達到了更高的技術水平,盡管訓練的樣例數量少得多,其在不常見的單詞上的準確率仍然比競爭模型高出30多個百分點。
Character-Aware模型
語言模型可分為直接訪問構成其文本輸入字符的character-aware模型和無法訪問的character-blind模型。
許多早期的神經語言模型直接在字符上進行操作,而不使用多字符的token作為標記。
后來的模型逐漸轉向基于詞匯表的tokenization,其中一些模型如ELMo仍然保留了character-aware,但其他模型如BERT則放棄了字符特征以支持更有效的預訓練。
目前,大多數廣泛使用的語言模型是character-blind的,依靠數據驅動的子詞(subword)分割算法,如字節對編碼(BPE)來生成子詞pieces作為詞匯表。
雖然這些方法對于不常見的序列可以退回到字符級表示,但它們在設計上仍然會將常見的字符序列壓縮成不可分割的單元。
這篇論文的主要目的是試圖了解并提高圖像生成模型渲染高質量視覺文本的能力。
為此,研究人員首先孤立地研究了當下文本編碼器的拼寫能力,從實驗結果可以發現,盡管character-blind文本編碼器很受歡迎,但它們沒有收到關于其輸入的字符級構成的直接信號,導致其拼寫能力有限。

研究人員還測試了不同規模、架構、輸入表示、語言和調整方法的文本編碼器的拼寫能力。
這篇論文首次記錄了character-blind模型通過網絡預訓練誘導出強大的拼寫知識(準確率>99%)的神奇能力,但實驗結果表明這項能力在英語之外的語言中并沒有得到很好的泛化,而且只有在超過100B參數的規模下才能實現,所以對于大多數應用場景是不可行的。
另一方面,character-aware的文本編碼器能夠在更小的尺度上實現強大的拼寫能力。
在將這些發現應用于圖像生成場景時,研究人員訓練了一系列character-aware的文本到圖像的模型,并證明它們在現有的和新的文本渲染的評估中明顯優于字符盲目的模型。
但對于純字符級模型來說,雖然文本渲染的性能提升了,但對于不涉及視覺文本的prompt,圖像-文本對齊度則會下降。
為了緩解這一問題,研究人員建議將字符級和token級的輸入表征結合起來,從而可以實現最佳的性能。
WikiSpell基準
由于文本到圖像的生成模型依賴于文本編碼器來產生用于解碼的表征,研究人員首先從Wiktionary中采樣一些單詞創建了WikiSpell基準,然后基于此數據集在一個純文本的拼寫評估任務來探索文本編碼器的能力。

對于WikiSpell中的每個樣例,模型的輸入是一個單詞,預期的輸出是它的具體拼寫(通過在每個Unicode字符之間插入空格來生成)。

由于該文章僅對研究一個詞的頻率和模型的拼寫能力之間的關系感興趣,所以研究人員根據單詞在mC4語料庫中出現的頻率,將Wiktionary中的詞分成五個互不重疊的桶:最頻繁的前1%的詞,最頻繁的1-10%的詞,10-20%的詞,20-30%的詞,以及最低的50%的詞(包括在語料庫中從未出現過的詞)。
然后從每個桶中均勻地抽取1000個詞來創建一個測試集(以及一個類似的開發集)。
最后通過結合兩部分建立了一個由10,000個詞組成的訓練集:5,000個從最底層的50%桶(最不常見的詞)中統一取樣,另外5,000個根據它們在mC4中的頻率按比例取樣(從而使這一半的訓練集偏向頻繁的詞)。
研究人員將任何被選入開發集或測試集的詞排除在訓練集之外,因此評估結果總是針對被排除的詞。
除了英語外,研究人員還對其他六種語言(阿拉伯語、漢語、芬蘭語、韓語、俄語、泰語)進行評估,選擇這些語言是為了涵蓋影響模型學習拼寫能力的各種特性,對每一種語言的評估都重復上述數據集構建過程。
文本生成實驗
研究人員使用WikiSpell基準來評估多種預訓練的純文本模型在不同規模上的表現,包括T5(一個在英語數據上預訓練的character-blind編碼解碼器模型);mT5(與T5類似,但在超過100種語言上預訓練);ByT5(mT5的character-aware版本,直接在UTF-8字節序列上操作);以及PaLM(一個規模更大的解碼模型,主要是在英語上預訓練的)。

在純英語和多語言的實驗結果中,可以發現character-blind模型T5和mT5在包含Top-1%最頻繁詞匯的桶上的表現要差很多。
這個結果似乎是反直覺的,因為模型通常在數據中頻繁出現的例子上表現最好,但是由于subword詞匯的訓練方式,頻繁出現的詞通常被表示為一個單一的原子標記(或少量的標記),事實上也是如此:在英語前1%的桶中,87%的詞被T5的詞匯表示為一個子詞標記。
因此,較低的拼寫準確性分數表明,T5的編碼器沒有保留足夠的關于其詞匯中subword的拼寫信息。
其次,對于character-blind模型,規模是影響拼寫能力的一個重要因素。T5和mT5都隨著規模的增加而逐漸變好,但即使在XXL規模下,這些模型也沒有表現出特別強的拼寫能力。
只有當character-blind模型達到PaLM的規模時,才開始看到近乎完美的拼寫能力:540B參數的PaLM模型在英語的所有頻率桶中都達到了>99%的準確率,盡管它在提示中只看到20個例子(而T5顯示的是1000個微調例子)。

然而,PaLM在其他語言上的表現較差,可能是由于這些語言的預訓練數據少得多。
對ByT5的實驗表明,character-aware模型表現出更強大的拼寫能力。ByT5在Base和Large尺寸下的表現僅略微落后于XL和XXL(盡管仍然至少在90%的范圍內),而且一個詞的頻率似乎對ByT5的拼寫能力沒有太大影響。
ByT5的拼寫性能遠遠超過了(m)T5的結果,甚至與參數多于100倍的PaLM的英語表現相當,并且超過了PaLM在其他語言上的表現。
從而可知ByT5編碼器保留了相當多的字符級信息,而且這些信息可以根據解碼任務的需要從這些凍結的參數中檢索出來。
DrawText基準
從2014年發布的COCO數據集到2022年的DrawBench基準,從FID, CLIP得分到人類偏好等指標,如何評估text-to-image模型一直是一個重要的研究課題。
但目前在文本渲染和拼寫評估方面一直缺乏相關工作。
為此,研究人員提出了一個新的基準DrawText,旨在全面衡量文本到圖像模型的文本渲染質量。
DrawText基準由兩部分組成,分別測量模型能力的不同維度:
1)DrawText Spell,通過大量的英語單詞集合的普通單詞渲染進行評估;
研究人員從英語WikiSpell頻率桶中各抽取100個單詞,并將它們插入一個標準模板中,總共構建了500個提示。
對于每個prompt,從候選模型中抽取4張圖片,并使用人類評分和基于光學字符識別(OCR)的指標對其進行評估。
2)DrawText Creative,通過視覺效果的文本渲染進行評估。
視覺文本并不局限于像街道標志那樣的常見場景,文字可以以多種形式出現,如潦草的、繪畫的、雕刻的、雕塑的,等等。
如果圖像生成模型支持靈活而準確的文本渲染,這將使設計師能夠使用這些模型來開發創造性的字體、標志、布局等等。
為了測試圖像生成模型支持這些用例的能力,研究人員與一位專業的圖形設計師合作,構建了175個不同的提示,要求在一系列創造性的風格和設置中渲染文本。

許多提示超出了當前模型的能力,最先進的模型會表現出拼寫錯誤、丟棄或重復的單詞。
圖像生成實驗
實驗結果顯示,用于對比的9個圖像生成模型中在DrawText Spell基準上的準確率中,character-aware模型(ByT5和Concat)無論模型尺寸大小都優于其他模型,特別是在不常見單詞上。

Imagen-AR顯示了避免cropping的好處,盡管訓練時間長了6.6倍,其仍然比字character-aware模型表現差。
模型之間的另一個明顯的區別在于它們是否在多個樣本中持續地拼錯一個給定的單詞。

在實驗結果中可以看出,無論抽取多少個樣本,T5模型都有很多單詞拼錯,研究人員認為這表明文本編碼器中缺少字符知識。
相比之下,ByT5模型基本只會出現零星的錯誤。

通過測量模型在所有四個圖像樣本中持續正確(4/4)或持續錯誤(0/4)的比率可以量化這一觀察結果。

可以看到一個鮮明的對比,特別是在常見的詞上(前1%),即ByT5模型從未持續錯誤,而T5模型在10%或更多的詞上持續錯誤。































