テキスト分類において、Gzip と KNN が Transformers を上回る
(twitter.com/LukeGessler)- gzip のような単純な圧縮器と k-最近傍(kNN) 分類器を組み合わせた、ノンパラメトリック(non-parametric)なテキスト分類手法を提案
- 学習パラメータがまったく不要でありながら、軽量・汎用的で、DNN と比べて計算コストの負担が低い
- 事前学習なしのディープラーニング手法と比較して、6つの in-distribution データセットで競争力のある結果を達成
- 4つの 低リソース言語を含む 5つの OOD(out-of-distribution) データセットすべてで BERT を上回る
- ラベル付きデータが不足して DNN の学習が難しい few-shot 環境でも優れた性能を発揮
背景と問題提起
- DNN は高い精度でテキスト分類に広く利用されている
- しかし 数百万のパラメータと大量のラベル付きデータを必要とするため、計算コストが大きい
- このため、利用・最適化・そして OOD(out-of-distribution) 状況への転移は、実務においてコストの高い作業となる
提案手法
- DNN の代替として、簡単で軽量、かつ汎用的なノンパラメトリック手法を提示
- gzip のような単純な圧縮器と k-最近傍分類器を組み合わせた構成
- 学習パラメータがまったく不要である点が中核的な特徴
実験結果
- 6つの in-distribution データセットで、事前学習なしのディープラーニング手法と競合可能な水準の性能
- 4つの低リソース言語を含む 5つの OOD データセットすべてで BERT を上回る
- ラベル付きデータが少なすぎて DNN を効果的に学習させにくい few-shot 環境でも強みを示す
1件のコメント
Hacker Newsのコメント
論文への直接リンク: https://aclanthology.org/2023.findings-acl.426.pdf
直感的には、要点は文書 x1、x2 と新しい文書 x があるとき、x の統計的規則性が x2 より x1 に近ければ、
len(compress(cat(x1,x))) - len(compress(x)) < len(compress(cat(x2,x))) - len(compress(x))になる、ということ。ここでcatは連結、compressは gzip のような圧縮器を指す。文字どおり
len(compress(cat(x1,x))) - len(compress(x))は、x の統計的規則性が与えられたときに、x1 の統計的規則性を圧縮するために追加で必要になるバイト数である。x1 と x が似ているほど、x だけを圧縮する場合に比べてcat(x1,x)を圧縮するのに必要な追加バイトは少なくなる。著者らはこのアイデアに基づく 正規化圧縮距離(NCD)という距離関数を使い、圧縮された文書に k 近傍法(kNN)を適用している。NCD と情報、Shannon エントロピー、Kolmogorov 複雑性との関係も扱っている。
驚くことに、この単純で直感的な手法が、複数の ゼロショット分類 タスクで BERT を上回っている。ただし、より大きく新しい Transformer まで必ず上回るという意味ではない。
文書を圧縮辞書として使った場合と使わなかった場合の圧縮サイズを比較する、という形である。zstd は少なくとも 20+ レベルでは gzip よりはるかに高い圧縮率を出すので、gzip でうまくいく理由が Kolmogorov 複雑性の近似にあるなら、よりうまく機能する可能性もある。
x1 が英語で、x が同じ文書のヘブライ語訳なら、LLM のほうがうまくやるのではないかと思う。
最近画像を扱いながら JPEG を出力してみたが、同じ基本ピクセルからでも非常に多様な画像ができる。画像がノイズの多いランダムに近いものほど JPG ファイルサイズは大きくなり、逆に写真らしく見えるほど JPG サイズは小さくなるのが興味深い。
AI と圧縮の等価性に興味があるなら Hutter Prize を見るとよい :) http://prize.hutter1.net/
Large Text Compression Benchmark も見る価値がある http://mattmahoney.net/dc/text.html - 現在世界最高の圧縮器は、ffmpeg と QEMU を作った有名な Fabrice Bellard のニューラルネットワークである。
こうしたページの適切な テキスト専用スタイル も本当に気に入っている。
予測するバイト/ビットの文脈に応じて算術符号化(https://en.wikipedia.org/wiki/Arithmetic_coding)を調整するため、続く内容をより正確に予測できるほど、エンコードはより効率的になる。タスク自体が GPT のような Transformer と非常によく似ている。
完璧な予測では算術区間が小さくならないため、追加の保存コストはほとんどなく、したがってビットも保存されない。ただし公正なベンチマークを行うには、展開器のサイズも計算しなければならない。
かなり古いアイデアで、[1,2] を見ればよい。古いが、パーセプトロンのように今でも非常に有用だ。
[1] Li and Vitanyi. An Introduction to Kolmogorov Complexity and Its Applications
[2] Clustering by compression. https://arxiv.org/pdf/cs/0312044
理論は、同じ「登場人物」だけで多くのことを説明する物語に似ている。ここでの登場人物は概念に近く、例えば原子がこれに当てはまる。
この手法がより強いのは ニュース に限られる、という点を指摘したい。
Yahoo Questions では最高性能ではない。ニュースは似たような書き方をされ、ときには一部がコピーされることもあるため、共通する単語が多いと見ても無理はない。
Yahoo Questions はフォーラムなので単語のばらつきは大きいだろうが、単語同士には意味的類似性がある。
つまり gzip は単語の重なりが多いときに強く(gzip 圧縮時のサイズ増加が小さい)、意味的類似性が重要な場合は DNN が常に勝つ。
結果は興味深いが、聞こえるほど興味深くはないと思う。
この結果が分布外データから出たものだという点を、とても重要に見るべき。たとえば「Kinyarwanda、Kirundi、Pinyin」のような言語のニュースである
より一般的な設定では、BERTが今でも圧倒的に勝つ
こういう単純な方法が非常に効果的になり得るのは素晴らしいが、過度に誇張して売り込むべきではない
しかし引用されている条件を見ると、むしろかなり直感的だ。まったく知らない言語のテキストを分類するとは何なのか。Kirundiのテキストを分類しろと言われたら、意味はまったく分からず、できる最善のことは単語または文字シーケンスの頻度を見つけ、似た頻度のフィンガープリントを持つテキスト同士をまとめることだ
実際の意味は依然として分からないが、ランダムよりは良くなり得るし、実際そうなる。良い知らせは、これがまさにgzip+kNNのやっていることであり、彼らの本業であり存在理由だという点だ
このテキストを読んで理解しようとしたり、次の文字を予測しようとしたりしても、あまり得るものはない。普通の人なら、その言語を知らないのでそもそも試みもしないだろう。残念ながらBERTはまさにそれをやる。BERTにできる唯一のことだからだ。それでも普通の人間、おそらく普通でない人間よりも活用できているのは称賛に値する
実際、とても賢く、直感的にも理解できる
似たテキスト片を2つつなげれば、異なるテキスト片を2つつなげたときよりもうまく圧縮できるはずだ
これはこの手法の勝利というより、ディープラーニングベースの類似度に対するネガティブなシグナルに近いように見える
LLMブームの中で、LLMがすごいのは確かだが、多くの人が純粋なテキスト類似度用の埋め込み層でも同じような進歩があったと仮定しているようだ
そのため、あらゆる埋め込みデータベースのブームが起きたが、私にはそれを裏付ける証拠はほとんどないように見える
リンクは論文PDFである https://aclanthology.org/2023.findings-acl.426.pdf を指すべきだ
圧縮アルゴリズムは空間、つまりビットとバイトの節約/圧縮である。機械学習モデル、特に生成モデルは、人間の表現と思考を節約/圧縮するものだ
テキスト分類は、人間の表現の上にある圧縮の一種だ。機械学習タスクでどちらがよりうまくいくかを説明してくれる、人間の言語とデータの根本的な性質が何かあるのだろうか。
いつかそのような理論が形を成せば、圧縮されたビット/バイトのエンコーディングと圧縮された人間の表現が、何らかの空間で密接に関係しており、両者が何らかの形でつながっているという点は驚きではなくなるかもしれない。実際にそのような理論、たとえばエントロピーベースまたは物理ベースの理論は、特定の種類の人間表現の圧縮で圧縮アルゴリズムを使うべきか、機械学習モデルを使うべきかを選ぶ助けになる可能性がある
データ中心で見ると、こうしたアルゴリズムを悪くする難しい負例とは何だろうか。現時点では、さまざまな人間のテキストデータの種類という観点からだけ、その理論を近似できるのかもしれない。たとえば統計的トピックモデルで混合を予測するのは、学術テキストではうまくいくが、インターネットのテキストでは苦戦する
Wolfram Physics以外に、こうした理論を研究している人はいるのだろうか。
https://www.newyorker.com/tech/annals-of-technology/chatgpt-...
完全に納得できる。圧縮は「理解」に関するもの、つまり入力を認識しラベル付けできる形で表現することだ
認識されたビットがラベルより大きくなれば、ほら、圧縮になる。gzipがこのタスクでDNNより優れている可能性があるのは驚きではない
部分集合と言うのは、理解の方がより一般的だからだ。特定の圧縮アルゴリズムは浮動小数点数ではうまく機能するかもしれない。逆に脳と人工ニューラルネットワークは、性能は劣るとしても、どんな入力パターンでも圧縮できるのかもしれない
gzipが文全体の意味を反転させる「not」のような単語をどう処理できるのか分からない
分かる人はいる?