本文へ移動

G検定(ジェネラリスト検定)

いめーじきゃぷしょにんぐ

画像キャプション生成

Image Captioning

画像キャプション生成は、画像に写っている内容を、正しく整った自然言語の文で自動的に説明するタスクです。コンピュータビジョンと自然言語処理を結びつける課題で、G検定シラバスでは中項目マルチモーダルと基盤モデルのキーワードとして挙げられています。視覚障害のある人がウェブ上の画像の内容を理解する助けになるといった応用が期待されています。代表的な手法の1つに、画像を読み込むCNNと文を生成するRNNを組み合わせたShow and Tell(NIC)があります。

詳しい説明

どんなタスクか

画像キャプション生成(Image Captioning)は、1枚の画像を入力として受け取り、その画像の内容を説明する文を自動的に作るタスクです。出力は単語のラベルではなく、英語などの自然言語として正しく整った文です。

2015年にこのタスクの代表的な手法を発表したヴィニヤルス(Vinyals)、トシェフ(Toshev)、ベンジオ(Bengio)、エルハン(Erhan)の論文は、画像の内容を自動的に説明することを、コンピュータビジョンと自然言語処理を結びつける人工知能の基本的な問題と位置づけています。画像を理解する側の技術と、文を組み立てる側の技術の両方が必要になるタスクです。

画像分類や物体認識より難しい理由

同じ論文は、画像キャプション生成を、よく研究されてきた画像分類や物体認識よりもかなり難しいタスクだと述べています。理由は次の2つです。

1つ目は、捉えるべき情報が多いことです。画像分類であれば、画像に何が写っているかを答えれば済みます。これに対して説明文では、画像に含まれる物体だけでなく、物体同士がどのように関係しているか、それぞれの物体がどんな属性を持つか、どんな活動に関わっているかまで表す必要があります。

2つ目は、その内容を自然言語で表現しなければならないことです。画像の意味を理解するだけでは文になりません。単語を正しく並べて文を組み立てるための言語モデルが、視覚的な理解に加えて必要になります。

応用の動機

論文は、画像の内容を正しく整った文で自動的に説明できれば大きな影響があると述べ、その例として、視覚障害のある人がウェブ上の画像の内容をよりよく理解する助けになることを挙げています。

代表的な手法の考え方: Show and Tell(NIC)

ヴィニヤルスらは、Neural Image Caption(NIC)と名付けたモデルを提案しました。論文のタイトルからShow and Tellとも呼ばれます。発想の出発点は機械翻訳です。

当時の機械翻訳では、エンコーダ・デコーダという構成が使われていました。エンコーダのRNNが元の言語の文を読み込み、デコーダのRNNがそこから翻訳先の言語の文を生成します。NICは、この構成のうち文を読み込むエンコーダのRNNを、画像を読み込む深い畳み込みニューラルネットワーク(CNN)に置き換えました。画像を別の言語の文のように扱い、それを自然言語の文へ翻訳するという見方です。

具体的には、まずCNNを画像分類のタスクで事前学習しておき、その最後の隠れ層の出力を、文を生成するRNNデコーダへの入力として使います。CNNが画像の特徴を取り出す役割を、RNNが単語を順に並べて文を作る役割を担います。

学習の目的も、この論文ではっきり定められています。画像Iを入力とし、その画像を適切に説明する単語の列S(各単語は決められた辞書から選ばれる)が生成される確率、つまり尤度を最大化するように訓練します。画像を理解する部分と文を生成する部分を別々に作ってつなぐのではなく、1つのモデルとしてまとめて学習する点が特徴です。

論文によると、Pascalデータセットでの評価指標BLEU-1(値が高いほどよい)では、それまでの最高値が25だったのに対し、この手法は59を記録しました。人間による説明文のスコアは約69と報告されています。

試験で問われること

G検定

  • 画像キャプション生成が、画像の内容を自然言語の文で自動的に説明するタスクであり、コンピュータビジョンと自然言語処理を結びつける課題であることを説明できますか。
  • 画像キャプション生成が画像分類や物体認識より難しい理由として、物体だけでなく物体同士の関係、属性、活動まで捉え、それを自然言語として表現する必要がある点を確認しておきましょう。
  • Show and Tell(NIC)が、機械翻訳のエンコーダ・デコーダの考え方を応用し、エンコーダのRNNを画像分類で事前学習したCNNに置き換え、その最後の隠れ層をRNNデコーダへの入力にしていることを説明できますか。
  • NICが、画像を入力としてその画像を説明する単語列の尤度を最大化するように訓練される、という学習の目的を確認しておきましょう。

最終更新日: 2026/09/23