画像キャプショニングモデルの性能の評価指標
はじめに
こんばんは。今回は、画像キャプショニング(画像キャプション生成)向けのモデルの性能の評価指標についてです。画像キャプショニングは、画像に対してキャプション(短い説明文のようなもの)を生成するタスクです。
この記事では、評価指標について前置きしたうえで、どのようなタイプの評価指標があるのかを説明します。
※この記事にあるそれぞれの図や表は、当該の論文より引用しています。
前置き
テキスト生成の狭義と広義
AIの分野でテキスト生成と言えば、与えられた条件(冒頭の文、キーワード、単語数、文章数など)に従ってテキストを生成することです。これは小説を書くようなイメージです。
それに対して、何かしらのテキストを生成するタスク全般を、広義のテキスト生成タスクと考えることもできると思います。機械翻訳と文書要約は、その代表例です。もちろん、画像キャプショニングも広義のテキスト生成タスクと言えます。
タスク間の主な評価指標の比較
主な評価指標は、タスクによって異なります。今回の主眼とするタスクは画像キャプショニングですが、他のタスクにおける評価指標も視野に入れるとより理解が深まると思います。
画像キャプショニングタスクと文書要約タスクの比較
画像キャプショニングにおいては、文書要約モデルの性能の評価指標が特に参考になると思います。文書要約タスクは、モデルの性能の評価に対する考え方が、画像キャプショニングの場合の考え方に似ています。
文書要約において重要なのは、作成された候補文(要約文)が、要約対象文書の内容に沿っていることです。反面、要約対象文書の内容をくまなく候補文に反映されている必要はありません。
それに対して、画像キャプショニングにおいては何が重要なのかを考えると、文書要約において重要な事柄と同様ではないでしょうか。画像の内容に沿ったキャプションを生成することの重要性はもちろんですが、画像の内容をくまなく表現する必要はありません。
ということで、文書要約モデルの性能の評価指標も視野に入れるのは重要だと思います。
両者の違いを挙げるとすれば、生成する文の数です。画像キャプショニングでは1文のみの生成が主流であるのに対し、文書要約では候補文が複数の文で構成されるのが主流です。また、画像キャプショニングは何か物理的な状態を描写することが主流ですが、文書要約は物理的な状態の描写に特化するタスクではありません。
後述するSPICEが画像キャプショニングにおいてよく用いられ、かたや文書要約ではほとんど見かけないのは、これらの違いによるものかもしれません。
機械翻訳タスクと文書要約タスクの比較
これは本題からそれる話ですが、機械翻訳では、翻訳対象のテキストの内容ができるだけ多く、翻訳文に反映されていることが重要です。
機械翻訳ではBLEUが、文書要約ではROUGEが割とよく用いられます。このように異なるのは、前述したような「何が重要か」の違いによるものと考えられます。
画像キャプショニングにおける評価指標の主なタイプ
文書要約など他のタスクは脇に置いて、画像キャプショニングの話に戻ります。
各評価指標を、次の4つのタイプに分けてみました。
No. | 参照文(解答例)の要否 | 各文の間での単語の重複を見る? | 別途必要なモデル | 例 |
---|---|---|---|---|
タイプ1 | 必要 | 見る | - | CIDErなど(他にはROUGEやMETEOR) |
タイプ2 | 必要 | 見ない | - | SPICEなど |
タイプ3 | 不要 | 見ない | 質問生成モデルや質問応答モデル | QAGSなど |
タイプ4 | 不要 | 見ない | 評価指標による | CLIPScoreなど |
これらのタイプ分けは、独自に作ったものです。この分野で「タイプ1」「2」などの表現があるわけではないです。また、この分け方自体は特にMECEではないです。これらのタイプは、おおむね評価指標の公表された順になっています。
画像キャプショニングにおける評価指標を最初に俯瞰する際には、ぜひ上の表を参考にしていただけたらと思います。
タイプ1の評価指標
このタイプの評価指標は、参照文と候補文とで、共通する単語がどれだけ多くあるかを表す指標です。BLEU、ROUGE、CIDEr、METEORなどが比較的有名です。重複する単語が多いほど、両者の文はお互いに意味が似ているものと考えます。他のタイプに比べてこのタイプの評価指標は、意味合いが分かりやすく、計算もしやすいです。
画像キャプショニングにおいては、このタイプの評価指標の中だとCIDErがよく用いられます。
しかし、参照文と候補文とで単語の重複さえ多ければ、両者の文の意味が大きく異なっていても高く評価されてしまいます。例えば次の2文は、意味は全然違うのに、単語の重複が多いです。しかも、「standing on top of a」という長い単語列(5-gram)があるため、特にROUGE-Lなどだとだいぶ不当に高く評価されてしまいます。
- A young girl standing on top of a tennis court.
- A giraffe standing on top of a green field.(giraffeはキリン)
タイプ2の評価指標
2016年頃に、この論文にて評価指標SPICEが発表されました。
https://panderson.me/images/SPICE.pdf
この評価指標は、前述のタイプ1の問題への対策が取られたものになっています。この評価指標では、単語の代わりに、後述するタプルというものの重複ぐあいを見ます。
SPICEは機械翻訳や文書要約ではなじみがないですが、画像キャプショニングにおいては主流の評価指標の1つのようです。
ここでは、SPICEによる評価方法の概要だけを記述します。詳細については、上の論文をご確認ください。
まず、各文(参照文と候補文)を下のように意味的に解析します。
次に、それに基づき、下のようにタプルというものの一覧を作成します。1つ1つのカッコが、1つのタプルです。
各文ごとに上のようなタプルの一覧を作ったら、あとは両者の間でタプルの重複ぐあいを見ます。SPICEは、この重複ぐあいによって評価する指標です。これなら、タイプ1に載せた2文を不当に高く評価してしまうことはありません(それどころか実際、重複するタプルがなく、SPICEによる評価スコアは0となります)。
タイプ3の評価指標
これまでのタイプ1とタイプ2は、あらかじめ参照文を必要とする評価指標です。参照文の準備は必須のように思われるかもしれませんが、タイプ3とタイプ4の評価指標では参照文の準備は不要です。
早い話、タイプ3はQAGSの応用です。先にQAGSの理解が必要なので、事前にこちらを読んでから進んでください。
https://zenn.dev/ty_nlp/articles/aaad1aec70d53e
上の図は、QAGSの概要図です。ここで、図中の左上にある要約対象文書を画像に置き換え、さらに候補文(図中の右上)を画像のキャプションに置き換えればいいだけです。
また、図中の左下の各回答には、純粋な自然言語処理の質問応答モデルの代わりに、画像質問応答モデルを使えばOKです。画像質問応答については、こちらもご参照ください。
https://zenn.dev/ty_nlp/articles/00504096b3846e
このようなやり方なら、参照文の準備が不要なので重宝すると思います(別途、質問生成モデルや質問応答モデルなどを準備する必要はありますが)。
さらに、文書要約においては人間による評価とQAGSとの相関は割と強いです。この性質は、画像キャプショニングにおいても期待できるかもしれません。
タイプ4の評価指標
最後のタイプは、参照文の準備が不要、かつタイプ3とは異なるタイプです。
代表的な例は、CLIPScore(CLIP-S)です。CLIPScoreは、2021年に発表されたモデルCLIPを利用した評価指標です。評価のしかたとしては単純に、画像とキャプションの組をCLIPに入力し、出力される値に基づいて評価します。
CLIPScoreの出力を試せるページをHugging Faceに作ってくださった方がいるので、試すと分かりやすいと思います。
https://huggingface.co/spaces/taesiri/CLIPScore
下の図は、私が試した例です。画像とキャプションの組を入れると、CLIPScoreが返ってきます。
CLIPは、画像とテキストの間の類似度を大量に事前学習したモデルになっているので、このやり方なら評価の的確さには期待できそうです。実際、タイプ3と同じく、人間による評価との相関は高いようです。
他の例としては、SMURFというものや、UMICというものがあるようです。詳細は未確認です。
以下、各評価指標についての論文です。
- CLIPScore
https://arxiv.org/abs/2104.08718 - SMURF
https://arxiv.org/abs/2106.01444 - UMIC
https://arxiv.org/abs/2106.14019
終わりに
最後までお読みいただき、ありがとうございました。
Discussion