写真を渡して「これは何が写っている?」と聞くと答えが返る。逆に、文章から画像を作らせることもできる。
画像と言葉という別々のものを、ひとつのモデルが扱う。これがマルチモーダルと呼ばれる性質です。
同じ場所に置くという発想
鍵になるのは、画像も言葉も同じ数値の空間に置くことです。
犬の写真と「犬」という語を、それぞれ数値の並びに変換する。このとき、意味が同じものは近い位置に来るよう作られている。すると、写真から語を探すことも、語から写真を探すこともできるようになります。
文章のエンベディングと考え方は同じで、扱う対象が言葉だけでなくなった形です。
説明文とのペアで学ぶ
2021年2月に公開された論文が、この方向を大きく前に進めました。Alec Radford氏ほかによる Learning Transferable Visual Models From Natural Language Supervision です。
それまでの画像認識は、あらかじめ決められた分類の一覧を予測するよう訓練されていました。論文はこの制約を問題にします。決められた分類しか扱えないため、新しい概念を教えるには追加のラベル付きデータが必要になる。
代わりに採用したのが、画像と説明文の組み合わせを当てさせる訓練でした。どの説明文がどの画像に対応するかを予測する。この方式なら、インターネット上にある画像と文章の組をそのまま教材にできます。
集めたのは4億組。ラベルを人手で付ける必要がない規模です。
学習していない分類にも答えられる
結果として起きたことが興味深い。
論文は、ImageNetという画像分類の試験で、128万枚の訓練用画像を1枚も使わずに、従来手法と同等の精度に到達したと報告しています。事前にその分類を教わっていないのに答えられる。
言葉で概念を指せるようになったからです。「これはダルメシアンですか」と自然な言葉で問える。あらかじめ用意された選択肢に縛られません。
いま何ができるか
| 入力 | 出力 | 用途の例 |
|---|---|---|
| 画像 | 文章 | 写真の説明、図の読み取り、書類の内容抽出 |
| 文章 | 画像 | 画像生成 |
| 画像+文章 | 画像 | 参照画像をもとにした変換や編集 |
| 音声 | 文章 | 文字起こし、会議の要約 |
| 動画 | 文章 | 内容の要約、場面の検索 |
実務で効きやすいのは1行目でしょう。書類やスクリーンショットをそのまま渡して読ませる使い方です。表計算の画面を撮って数字を拾わせる、といったことができます。
画像を渡すときのコツ
読み取りの精度は、渡し方でかなり変わります。
画面全体を撮って渡すより、見てほしい部分を切り出す。余計な情報が減るぶん、判断が安定します。費用も下がる。
何を読み取ってほしいかを先に書くのも効きます。「この表の右端の列の合計を教えて」のように場所を指定する。「読んで」だけだと、どこを見るかの判断から始まります。
傾いた写真や影の落ちた書類は、素直に精度が落ちます。撮り直せるなら撮り直したほうが早い。
文字起こしとの違い
書類の読み取りは、従来の文字認識とは性質が違います。
文字認識は書かれている文字をそのまま拾います。マルチモーダルのモデルは、内容を理解したうえで答える。だから「請求金額はいくら」と聞けば、どこに書かれているかを自分で探して答えます。
便利な反面、書かれていない数字を推測で埋める余地も生まれる。文字認識なら「読めない」で終わるところが、それらしい数字になって出てくることがあります。
金額や日付を扱うなら、元の画像と突き合わせる工程は残したほうがよいでしょう。
注意すること
画像を渡す使い方には、固有の落とし穴があります。
まず費用。画像は解像度に応じてトークンに換算されます。高解像度の写真を何枚も渡すと、思ったより高くつく。必要な部分だけ切り出して渡すほうが安く済みます。
次に、画像の中の指示。プロンプトインジェクションは画像にも仕込めます。出所の分からない画像を読ませるときは、文章と同じ警戒が要ります。
そして、細かい数字の読み取り。表やグラフの数値は、桁を取り違えることがあります。重要な数字は目で確かめたほうが安全でしょう。
動画の要約も同じ性質を持ちます。全体を通して見ているわけではなく、コマを抜き出して判断していることが多い。抜き出された場面に映っていなかった出来事は、そもそも見えていません。
出典
訓練の方式とImageNetでの結果は、下記の論文に基づきます。画像と言葉を組み合わせて扱う実装例は、OpenAIが公開したシステムカードもあわせて参照しました。

