🐱

なぜ文章を補完するだけのLLMが、画像を生成したり認識できるのか

に公開

はじめに

「LLM(大規模言語モデル)」は文章の続きを予測するモデルとして広く知られています。
しかし、LLMは言葉だけでなく 画像を生成したり、画像の内容を理解して説明したりできるようになっています。
一体どうして、文章の予測だけしかできないはずのモデルがそんなことまでできるのでしょうか?

この記事ではその仕組みをできるだけやさしく解説します。

LLMってそもそも何をしているの?

LLMの基本は次の通りです。

  • 大量のデータから「次に来る単語」を予測するように学習する
  • 予測するために文脈(前後の言葉)を見る仕組みを身につける
  • その結果、人間のように自然な文章を出せるようになる

この仕組みの根底には Transformer というモデルがあり、
文章の中で重要な部分に注意を向ける「自己注意(Attention)」という仕組みがあります。

文章以外も扱えるようになった理由

文章に限らず、画像や音声も「情報」です。
これらを扱えるようにするために、LLMは次のような形で改良されています。

1. 画像を数値列に変換する

人間が見る画像はピクセルの集合ですが、AIは画像をそのまま扱えません。

人間が見る画像は「絵」や「写真」として直感的に理解できますが、
AIにとって画像はそのままでは意味を持ちません。
AIが理解できるのは「数字」だけだからです。

そこで画像を ベクトル特徴量 と呼ばれる数値の並びに変換します。

この変換により、画像は文章の単語と同じように扱えるようになります。

どうやって数字にするの?

画像は実は、とても小さな点の集まりでできています。
この点を ピクセル と呼びます。

  • 各ピクセルには「色」の情報が入っている
  • 色は多くの場合、赤・緑・青(RGB) の強さを数字で表している
  • 例:
    • 真っ赤 → (255, 0, 0)
    • 黒 → (0, 0, 0)
    • 白 → (255, 255, 255)

画像全体を見ると、
たくさんのピクセル × それぞれの数値
とても長い数字のリスト になります。

これが「画像を数値列に変換する」ということです。

ピクセルから数値列(ベクトル)への変換

仮に、横2ピクセル × 縦2ピクセルの小さな画像を考えます。

[ 赤 ] [ 青 ]
[ 白 ] [ 黒 ]

これをRGBの数値で表すと、次のようになります。

赤 → (255, 0, 0)
青 → (0, 0, 255)
白 → (255, 255, 255)
黒 → (0, 0, 0)

これらを順番に並べると、

[255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0]

このような 1列に並んだ大量の数字 が、AIが扱う ベクトル(数値列) です。

なぜ「ベクトル」と呼ぶのか?

数学や機械学習の世界では、数字が順番に並んだものを「ベクトル」と呼びます。

  • 画像 → 数千〜数百万個の数字のベクトル
  • 文章 → 単語を数値にしたベクトル

というように、異なるデータも「数字の並び」という同じ形で扱えるようになります。

特徴量への変換(もう一段階の処理)

実際のAIでは、単にピクセルを並べただけでなく

  • 輪郭
  • 模様
  • 色の分布

といった 重要な特徴 を取り出して、
より意味のある短いベクトルに変換します。

このとき使われるのが、

  • CNN(畳み込みニューラルネットワーク)
  • Vision Transformer(ViT)

などのモデルです。

なぜベクトル(特徴量)にするの?

数値に変換すると、AIは次のようなことができるようになります。

  • 画像同士を「どれくらい似ているか」比べる
  • 「この画像は猫っぽい」「これは犬に近い」と判断する
  • 画像と文章を同じ土俵(数値)で比較する

つまり、
画像を数字に変えることで、AIが計算や比較をできるようになるのです。

たとえ話で考えると

  • 人間:
    • 「この写真、猫だね」と感覚で判断できる
  • AI:
    • 「この数字の並びは、過去に見た“猫の数字”と近い」
    • →「これは猫の可能性が高い」と判断する

この「判断の材料」になっている数字の並びが、ベクトル特徴量 と呼ばれます。

このように、画像を数値列に変換することで、AIは画像を“理解できる形”にして学習や推論を行っています。

2. 画像と文章を一緒に学習する

画像とその説明文をセットにしたデータで学習すると、モデルは画像と文章の対応関係を学びます。

このように複数の種類の情報を一緒に学ぶ方法を
マルチモーダル学習 と呼びます。

マルチモーダル学習

具体的には、たとえば、次のようなデータを大量に用意します。

  • 猫の写真

  • 「ソファの上で丸くなって寝ている猫」という文章

モデルには、

画像は「画像エンコーダ」によって数値に変換され

文章は「テキストエンコーダ」によって数値に変換されます

するとモデルは

  • この画像の数値の並び

  • この文章の数値の並び

が 意味的に近い ということを学習します。

重要なのは、「猫」という単語を教え込んでいるわけではない、という点です。
あくまで 画像の特徴と文章の特徴がよく一緒に出てくる
という数値の統計的な関係を覚えているだけです。

人間でいうとどういう学習か

これは、人間の学習に例えるととても分かりやすいです。

小さい子どもに、

  • 猫を指さしながら「ねこだよ」と何度も教える

  • 犬を見せながら「いぬだよ」と教える

ということを繰り返すと、
子どもは次第に「この見た目=この言葉」という対応を覚えます。

AIもこれとほぼ同じで、

  • この見た目のときは、だいたいこの言葉が一緒に出てくる

  • この言葉が出てきたときは、だいたいこの見た目が対応する

という関係を、
膨大なデータから少しずつ学んでいます。

なぜこれで画像を理解できるようになるのか

この学習を繰り返すと、モデルの中では、

  • 似た画像どうしは近い位置に

  • 似た意味の文章も近い位置に

配置されるようになります。

その結果、

画像を見せると、それに近い意味の文章を出せる

文章を与えると、それに近い特徴を持つ画像を想像できる

ということが可能になります。

これが、
「文章しか補完していないはずのLLMが、画像を理解したり生成したりできる」
ように見える正体です。

画像生成(Text-to-Image)はどうしてできるのか

「言葉(Text)」から「画像(Image)」を作る仕組みは、現在 拡散モデル(Diffusion Model) と呼ばれる技術が主流です。これはLLMの「言葉の理解力」と、画像生成AIの「描く力」を組み合わせることで実現しています。

1. 「砂嵐」から絵を彫り出す

画像生成AIは、真っ白なキャンバスに絵筆で描くのではなく、「ノイズ(砂嵐のようなザラザラの画像)」から、ノイズを取り除くことで絵を完成させる という不思議な描き方をします。

  1. 最初は完全な砂嵐(ランダムなノイズ)を用意する
  2. 「ここに猫の絵があるはずだ」と信じ込ませ、少しずつノイズを除去する
  3. 徐々に猫の輪郭が浮かび上がり、最終的に綺麗な画像になる

2. LLMは「指示役(監督)」

では、どうやって「どんな絵にするか」を決めているのでしょうか? ここでLLM(またはテキストエンコーダー)の出番です。

  • LLMの役割(監督): ユーザーが入力した文章(プロンプト)の意味を理解し、それをAIが理解できる「数値の指示書」に変換します。
  • 画像生成モデルの役割(画家): その指示書に従って、砂嵐の中から指示通りの形を浮かび上がらせていきます。

つまり、「文章の意味を深く理解できるLLM」がいるからこそ、画家に的確な指示が出せる のです。

なぜ文章だけの仕組みで画像も扱えるのか

文章も画像も、最終的には 数値の並び として扱われます。
LLMはその数値のパターンや関係性を学習するモデル です。

そのため、文章で培ったパターン理解の力が画像にも応用できるのです。

まとめ

  • LLMは文章の続きを予測することで学習される
  • 画像は数値に変換され、文章と同じように扱われる
  • 画像生成は「ノイズ」から絵を浮かび上がらせる仕組み(拡散モデル)を使う
  • LLMが「言葉の意味」を理解し、生成モデルに的確な指示を出している

LLMが画像を扱えるのは、仕組みそのものがとても汎用的だからです。

Discussion