イントロ

Stable diffusion[1]では,A road sign with the word "apple" と入力すれば,上の画像のように,文字を画像化することが可能です.
一方で,下の画像のように「意味に対応する文字列っぽいもの」がそれとなく表示されるものの,果たして本当に”文字”として学習しているのか?という疑問を持ったため,簡単に実験してみました.

Character-Aware Models Improve Visual Text Rendering.[3]では,画像生成とその画像文字の質に関する精度が大規模に実験されています.中でも,Stable Diffusionや,Imagen[4]では,文字画像生成にはにはミスが多く存在し,画像生成にバイトレベルTransformer(ByT5[5])を用いると,文字の生成クオリティが向上したとの結果が報告されています.

今回は,文字列とトークンがどれだけ対応しているかを,トークンの文字列の距離と,トークンの埋め込みの距離を比較してみます.

僕の期待としては,CLIPがトークンを文字列と対応して学習しているのなら,編集距離が近いトークンの埋め込みもまた,距離が近くなって欲しいものです.

実験

今回の目標はトークンの文字情報の編集距離とトークンの隠れベクトルのユークリッド距離が,どの程度異なるのか,を調べることです.
文字列情報が近いことが重要であり,トークンの意味が類似する必要はないため,cos類似度ではなく,簡易な距離の一例としてユークリッド距離を比較しました.

今回使うモデルは,Stable Diffusionに使われているCLIPのテキストエンコーダです.CLIPの語彙に対して.全ての語彙から2組の組み合わせに対して距離を計算してどんな関係になっているのかをみてみます.
なるべく埋め込みに文字情報を持たせたいので,promptは,A road sign with the word "{単語}"と入力し,単語部分のみを埋め込みを利用します.

また,細かいですが,以下の条件を設定します.

  • 文字列種類の90%以上が異なる文字からなる単語同士の比較は,本題の趣旨から逸れるため計算処理から外しています.
  • 3文字以上長さが異なる文字からなる単語同士の比較は,本題の趣旨から逸れるため計算処理から外しています.
  • 計算コストや生起率から10文字以上のトークンは計算に含めていません.
  • 複雑すぎる文字の編集も,本誌の趣旨がら逸れるため,編集距離は3以下のものを計算しています.
  • 英語以外を含むトークンは削除

条件をパスしたトークン対の例

1
2
3
4
5
6
7
8
9
10
11
acci acia
acci attic
acci aci
acci rica
acci chai
acci cia
book bloke
book books
book bok
book brook
book ebook

人間である自分からすると,上の例の単語は意味は異なっても,なんとなく文字列が近いことは直感的にわかります.

実験コードはGitHubにあげています.修正点等ありましたら,PRやissueで連絡ください.
https://github.com/gojiteji/CLIPdistance

結果

結果をまとめると,以下の通りです.

編集距離=1 編集距離=2 編集距離=3 ランダムな10k単語ペア
ユークリッド距離 24.1428 24.1462 24.1235 23.7973
分散 2.2810 2.3037 2.3306 -

編集距離が近いからと言って,ユークリッド距離が近い,ということはなさそうです.
一方で,ランダムなトークンのペアに比べると,少しユークリッド距離が伸びたように見えます(なぜ?).

終わりに

編集距離と言っても,削除や挿入と,置換は埋め込みベクトルに対してかなり性質が異なる気がするので,それら個別の操作に対する埋め込みの変化も気になるところです.またベクトル間の距離ももっとトークンの文字情報がうまく扱われている情報がある気もします.

CLIP-largeモデルでは流石に時間がかかりすぎたので,でかいモデルでもどうなるか,どなたか検証してくれることに期待です.

参考文献

[1] Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. 2021. High-Resolution Image Synthesis with Latent Diffusion Models.

[2] Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, and Ilya Sutskever. 2021. Learning Transferable Visual Models From Natural Language Supervision. arXiv.

[3] Rosanne Liu, Dan Garrette, Chitwan Saharia, William Chan, Adam Roberts, Sharan Narang, Irina Blok, R. J. Mical, Mohammad Norouzi, and Noah Constant. 2022. Character-Aware Models Improve Visual Text Rendering. arXiv.

[4] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, Burcu Karagol Ayan, S. Sara Mahdavi, Rapha Gontijo Lopes, Tim Salimans, Jonathan Ho, David J. Fleet, and Mohammad Norouzi. 2022. Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding.

[5] Linting Xue, Aditya Barua, Noah Constant, Rami Al-Rfou, Sharan Narang, Mihir Kale, Adam Roberts, and Colin Raffel. 2022. ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. Transactions of the Association for Computational Linguistics, 10:291–306.