はじめに
長く続くAIブームでは
- ディープラーニング
- 基盤モデル
- 生成AI
- フィジカルAI
など、その進化と共に数々のバズワードが生まれました。
これらのバズワードは誇張されてアピールされることもありますが、本質的にはAIのパラダイムシフトを象徴する重要な意味を持ちます。
よってこれらのワードを理解することは、AIの歴史や全体像を理解することに直結します。
この記事ではAI学習の第一歩として、
バズワードの関連性の解説を通じて、AIの全体像と進化の過程をわかりやすく理解する
ことを目指していきます
おねがい
本記事は内容の範囲が広いため、不正確な箇所もあるかもしれません。より良い記事を目指すため、間違い等があればコメント欄でぜひご指摘いただけるとありがたいです。
AIの全体像
本記事では、重要ワードを以下の3種類にカテゴリ分けして解説します。
- AIモデルの種類
- AIモデルのパーツ
- AIの社会に対する立ち位置
AIモデルの種類を表す重要ワード
以下の用語は、AIモデルの種類を表しています。
- AI
- 機械学習
- ニューラルネットワーク
- ディープラーニング
- 生成AI
- 基盤モデル
- LLM
- VLM
- VLA
それぞれの関係を進化の過程に基づき図にすると、以下のようになります。
各重要ワードの概要を解説していきますが、各論へ入る前に、これらの中でも特に社会的インパクトが大きい技術について紹介します。
特に社会的インパクトが大きいAI技術
2025年のnature誌の調査によると、21世紀に最も引用された論文ランキングのTop10に、以下のAI関係論文がランクインしています(ちなみに、8位にもImageNet論文がランクインしています)
1位:ResNet論文 "Deep Residual Learning for Image Recognition"
7位:Attention論文"Attention Is All You Need"
これらの論文は、AIブームを牽引した以下の2種類のモデルを象徴する技術に関連しています。
- ディープラーニング:2012年頃よりブーム。画像処理分野で人間を上回る能力を実現
- 基盤モデル:2021年頃よりブーム。LLMを始めとして、多分野で人間を上回る能力を実現
論文の引用ランキングを見てもわかるように、これらはコンピュータサイエンスの枠にとどまらず、科学全体という観点でも21世紀を代表する社会的インパクトのある技術と言えます。
よって本記事では、これら2つの技術の解説に特に力を入れていきます(と言いつつ、書き終わったらLLM/VLMの項が長くなってしまっていました‥)。
AI
IBMの定義によると
AIとは、コンピュータや機械が人間の学びや理解、問題解決、意思決定、創造性、自律性を模倣するためのテクノロジー
とされており、AWSの定義でも
AIとは、機械が人間のように問題解決タスクを実行することを可能とする革新的テクノロジー
とされています。
かなり意味が広く取れそうで、
「コンピュータが人間の判断や動きを真似るような処理をしていれば全部AI」
くらいに思っておいてよさそうです。AWSのサイトにはAIの歴史が丁寧に解説されており、専門家の知識をルールとして記述した「エキスパートシステム」等が紹介されています。
また以下のIBMの画像には、AIが機械学習、ディープラーニング、生成AIの全てを内包することも明記されています。
よく、
「2010年代のAIブーム以降に登場したディープラーニングベースの手法だけがAI」
と誤解されがちですが、一般的に思われているよりもAIの定義はずっと広いです。よくある困った質問である、ランダムフォレストのような古典的な機械学習を使ったサービスに対して
「AI使ってないの?」
には
「AI使ってます!」
と自信を持って答えて良いでしょう。
機械学習
機械学習(machine learning)はAIの一分野であり、IBMの定義によると
トレーニング・データのパターンを「学習」し、その後、新しいデータについて正確な推論を行うことができるアルゴリズムに焦点を当てた人工知能(AI) のサブセットです。このパターン認識機能により、機械学習モデルは、明示的なハードコード化された指示がなくても、意思決定や予測を行うことができます。
とされています。「明示的な指示がない」というキーワードからも分かるように、
「AIの中でも、人間が細かく指示を与えなくてもデータからパターンを学習できる手法」
と定義できそうです。
機械学習のメリット
機械学習ではないAIと比べた機械学習のメリットは「汎用性」です。
初期のAI(エキスパートシステム等)は、専門家の指示をプログラミングで模倣することで、目的の処理を実現していました。この方法は処理対象が特定の分野に限られ、専門家の知識も必要となることから開発コストがかさみがちでした。
一方で機械学習は、適切なデータさえあれば同じアルゴリズムを様々なタスクに適用することができます。このような汎用性の高さから、モデルをライブラリとして使い回すことで、コストを抑えた開発が可能となります。
(図の一番上に、初期のAI:専門家の指示をハードコーディング、機械学習:データから自動でパターンを学習 を追加)
主な機械学習アルゴリズム
機械学習に位置付けられるアルゴリズムの代表例として、以下が挙げられます。
- ロジスティック回帰(1958年)
- サポートベクターマシン(1963年。非線形は1992年)
- ランダムフォレスト(2001年)
- ニューラルネットワーク(1958年。誤差逆伝播法は1986年)
多くのアルゴリズムの基礎理論は戦後すぐに考案されていましたが、20世紀末ごろから非線形に対応できる手法が続々考案され、コンピュータの性能向上から現実的なコスト・時間で学習できるようになったこともあり、2000年代に入ると広く利用されるようになりました。
また2007年に登場した機械学習ライブラリであるScikit-learnは、これらの機械学習アルゴリズムをPythonで簡単に実装できることから、機械学習が実務に広く普及した大きな要因となりました。
画像やテキスト(非構造化データ)への機械学習適用の難しさ
ここでいう「適切なデータ」は多くの機械学習モデルにおいて、行と列を持つ表形式のデータである構造化データ(structured data)を指します。
一方で世の中に存在するデータの多くは、このような表形式ではない非構造化データ(unstructured data)です。
非構造化データの代表例として画像やテキストが挙げられ、画像やテキストのような具体的なデータの種類のことをモダリティ(modality)とも呼びます。
非構造化データを従来の機械学習モデルに入力するには、特徴抽出(feature extraction)と呼ばれる処理を事前実施する必要があります。
例えば画像における特徴抽出は、以下の図のように、画像処理を用いて大きさや色などの数値変数を計算することに相当します。
一般的に特徴抽出には高度な画像処理技術と対象物の知識が求められるため、その開発には多⼤な手間とノウハウを要します。そのため、特徴抽出の工程がボトルネックになることが、非構造化データへの機械学習の適用が進まない原因となっていました。
局所特徴量によるアプローチ(2000年代)
このような特徴抽出を半自動化する手法として、2000年代には局所特徴量(local features)と呼ばれる手法が多く考案されました。これらの手法はパターンやフィルタを走査することで、画像のエッジや局所的な明暗を数値変数として抽出し、SVMのような構造化データ向け機械学習アルゴリズムを適用できるようにしています。局所特徴量と機械学習アルゴリズムの組み合わせの代表例を以下に示します。
- Haar-like特徴量+AdaBoost(Viola-Jones法、2001年)
- HOG特徴量+SVM(2005年)
例えばHaar-like特徴量は、以下のように様々な種類のフィルタを走査して、「白の部分の階調値(明るさ)の合計ー黒の部分の階調値の合計」を求めることで、画像のエッジ情報等を含んだ数値ベクトル(特徴量)を得ることができます。
例えば顔の画像は、共通した明暗のパターン(例:目は黒い部分の左右に白い部分がある)を持つため、上記のような明暗のフィルタを走査することで効率よく特徴を抽出することができます(画像出典)
これらの手法はデジカメの顔認識等で一定の成功を収めましたが、フィルタ設計にノウハウ要素が残ることや、十分な性能を発揮できる分野が特定のタスクに限られたことから、多用途に爆発的に広まるには至りませんでした。これには以下の制約が大きく寄与しています。
- 固定かつ限られた特徴しか抽出できない:フィルタは固定かつ1か-1かの離散的な値しか取ることができないため、柔軟性が低く特定のタスクでしか性能を発揮できない。データに適合していないフィルタも含まれるため無駄も多い
- 局所的な特徴しか抽出できない:小さなフィルタ内で抽出した特徴しか認識に用いることができない
ディープラーニング(2010年代)と基盤モデル(2020年代)
このような状況を一変させ、非構造化データをそのまま入力して判定する能力を飛躍的に向上させた技術が、後述するディープラーニングと基盤モデルです。それぞれ以下の要素技術が、先ほどの局所特徴量の制約の解決に寄与しています。
- 畳み込み層:データに合わせて動的にフィルタを学習することで、柔軟かつ多様な特徴を抽出できる
- Transformer:離れた領域の意味的に重要な関係性を学習することで、大域的な特徴を抽出できる(詳しくはViTの記事参照)
これらの技術はニューラルネットワークという機械学習モデルの上に乗って成り立っているため、次はニューラルネットワークについて解説します。
ニューラルネットワーク
詳しくは次回の記事で解説しますが、ニューラルネットワークは以下のように、ニューロン(下の図の大きな丸1つ1つが該当)と呼ばれる構造を多層連結した機械学習モデルを指します。
上の図の各層では全てのニューロンが結合しているため、全結合層(fully connected layer)と呼ばれます。
元来の意味でのニューラルネットワークは、この全結合層を複数繋ぎ合わせて構築されます。
一方でニューラルネットワークの発展系であるディープラーニングでは、全結合層に加えて畳み込み層とTransformerと呼ばれる構造を用いることで、劇的な性能向上を実現しています。畳み込み層とTransformerについては、後ほどディープラーニングの項で改めて解説します。
ニューラルネットワークの特性とAIの進化における意義
ニューラルネットワークは多くのAIモデルの基礎となっており、その強みをひとことで表現すると、「数の力でゴリ押しできる」ことと言えるでしょう。具体例として、ニューラルネットワークは以下のような特性を持ちます。
- パラメータ数がものを言う:他の多くの機械学習モデル(特に統計モデリング的なモデル)は、少ないパラメータで効率的なデータの特徴の保持を目指していました(学習効率の低下や過学習を防ぐため)。ニューラルネットワークはその逆で、誤差逆伝播法と呼ばれる方法で大量のパラメータの効率的な学習を実現し、表現力の高いモデルを構築できます
- データ数がものを言う:性能を十分に発揮するためには、大量のデータ(数千個〜数億個オーダー)を必要とします
- 人海戦術がものを言う:大量のデータを必要とすることから、データ収集やアノテーションなどに人海戦術を駆使することが重要です
- マシンパワーがものを言う:学習に高性能GPUが必要です。大型のモデルは、数百万円するGPUを大量に並べて学習されます
このようなニューラルネットワークの数で押す能力を活かしてAIの性能を飛躍的に上げたのが、冒頭でも紹介した以下2種類の技術です。
- ディープラーニング:2012年頃(AlexNetの登場)
- 基盤モデル:2021年頃(GPT・CLIP等)
これらの技術による性能向上がAIブームの原動力となっており、これもニューラルネットワークの特性の賜物と言えるでしょう。
またOpenAIやAnthropic、Googleなど、大型投資能力を持つ組織が圧倒的なAI開発力を持つ理由には、このような「数がものを言う」という特性も寄与しています。
ディープラーニング
ディープラーニングは(deep learning)はニューラルネットワークの一種であり、IBMの定義によると
ディープラーニングは、人間の脳の構造にヒントを得た設計の多層ニューラルネットワークによって駆動される機械学習のサブセットです。
とされています。文字通り捉えるのであれば、3層以上のニューラルネットワークであればディープラーニングと位置付けることができそうです。このように層数を増やすことで、各層のニューロンの数だけでなく、層の数方向にもパラメータ数を増やすことができ、より複雑で対応力の高いモデルを実現することができます。
これにより、画像のような非構造化データを直接処理することが可能となり、特徴抽出の手間やコストをかけずにモデル開発を実現できます
また開発コスト低減だけでなく、性能面でもディープラーニングは非常に高い能力を持っています。
2015年にResNetというディープラーニングモデルが、ILSVRCというコンペで「人間の能力を上回る成績を出した」ことが、AIの歴史の転換点としてよく語られています。
このコンペにおいて人間のエラー率は約5.1%とされており、ResNetの3.5%はその能力を上回ったとして、当時非常に話題になりました(画像出展)。
ディープラーニングと畳み込み層・Transformer
ディープラーニングは多数の層を重ねることで性能向上を図っていますが、ニューラルネットワークの項で解説した全結合層(fully connected layer)をただ増やすだけでは、画像のような非構造化データを処理する能力を十分上げることはできません。
これは画像のようなデータの認識能力を上げるためには、エッジやテクスチャのような局所構造の評価が重要であることに起因します。例えば我々が「人間」を認識する際に、輪郭(エッジ)のみの棒人間でもそれとわかることからも、エッジ情報の重要性がイメージできるかと思います。
画像AIをニューラルネットワークで処理する場合、画像の各ピクセルがニューロンに相当します。
局所構造を考慮するためには、近いピクセル同士の関係を重視するような、構造的な偏りを評価できる必要があります。このような構造的な偏りを帰納バイアス(inductive bias)と呼びます。全結合層は帰納バイアスを導入しておらず、近い点と遠い点も等しく演算して次の層に渡してしまうため、このような局所構造の考慮を苦手としています。
これに対し、畳み込み層(convolution layer)やTransformerは、以下のように構造的な偏り、すなわち帰納バイアスを重視した評価を実現できます。
-
全結合層:全ての点(ニューロン)の演算結果を次の層に渡す
➡︎近い点と遠い点を等しく評価し、構造的な偏りを考慮しない -
畳み込み層:近い点のみから演算した結果を次の層に渡す
➡︎空間的に近い点との関係(局所構造)を優先する -
Transformer:入力中の全領域を参照しつつ、どの領域が重要かを動的に決めて情報を集約
➡︎近い・遠いに依存せず、性能に寄与する意味的に重要な関係を捉える
このような畳み込み層とTransformerの導入により、ディープラーニングは認識能力を飛躍的に向上させました。
ディープラーニングブームのきっかけとなったAlexNetは、多数の畳み込み層をモデルに導入したことが性能向上の大きな要因となっていますし、2020年代のAIブームのきっかけであるLLMや画像生成系の基盤モデルの性能向上も、Transformerの表現力の高さあってこそのものです。
重みパラメータと誤差逆伝播法
詳しくはモデルの「パーツ」を表す用語の節で解説しますが、ディープラーニングを構成する層は大きく以下の2種類に分類できます。
- 重みパラメータを持つ層 ➡︎ 学習対象となる
- 重みパラメータを持たない層 ➡︎ 学習対象とならない
このうち、「1. 重みパラメータを持つ層」には、先ほど触れた全結合層、畳み込み層、Transformerがカテゴライズされます。
重みパラメータ(weight parameter)あるいは単に重み(weight)とは、モデルの状態を保持するためのパラメータを指し、モデルの学習ではこの重みを繰り返し更新することで、データにモデルを適合させていきます。よってこの重みは、モデルの状態を決定づける極めて重要な要素と言えます。
これ以外にも様々な「2. 重みパラメータを持たない層」がありますが、データからの学習結果を保持するという観点で、上記3種類の層はディープラーニングの屋台骨といえる存在でしょう。
(実際にはBatch Normalization等の層も重みを持ちますが、データ表現の本質的な変換を担うことや、パラメータ数が多いことから、これら3種の層の重要度が特に高いと言えます)
モデル全体に含まれる重みパラメータの数は非常に多く、(基盤モデルでない)一般的なディープラーニングモデルでは数万〜数億個、基盤モデルでは数十億個以上のオーダーになります。公表されているわけではありませんが、OpenAIのGPT5、GoogleのGemini3 Pro、AnthropicのClaude3 Opus等のフロンティアモデル(最先端の高性能モデル)は、1兆個を超える重みパラメータを持つと言われていいます。
このような大量のパラメータを効率よく学習するための手法が、誤差逆伝播法(backpropagation)です。詳しくは次回以降の記事で解説しますが、誤差逆伝播法では以下の全結合層の例のように、微分値を下流から上流に向かって伝播させるように計算することで、SGD(stochastic gradient descent:確率的勾配降下法)と呼ばれるメカニズムに基づき、モデルの性能が上がるようにパラメータを更新します。
この微分値の伝播は、層内のパラメータを複数データをまとめて(このまとめたデータをバッチと呼びます)行列で一括計算できます。このような大規模な行列計算はGPUによる並列計算と相性が良く、高性能GPUを用いることで大量のパラメータの高速学習を実現できます。
言い換えると、ディープラーニングのモデル開発は、この誤差逆伝播法を利用できるようモデル構造を工夫することが重要です。前述した畳み込み層やTransformerも、従来からあったアルゴリズム(画像フィルタ、内積による類似度計算)を誤差逆伝播法を利用できるように改良した手法と言えるでしょう。
ディープラーニングの定義(再)
以上まとめると、現実に合わせたディープラーニングの定義は以下のように位置づけられるでしょう。
ディープラーニングは3層以上のニューラルネットワークを指し、多くの場合畳み込み層やTransformerのようなデータ構造の偏りを捉えるための層が含まれ、誤差逆伝播法で効率よく大量のパラメータを学習できる
ディープラーニングにおける各層の役割
ディープラーニングの中でも、特に畳み込み層を中心に構築されたものをCNN(convolutional neural network:畳み込みニューラルネットワーク)と呼びます。CNNでは畳み込み層を深く重ねることで、各層が以下のように役割分担を行い、画像内の様々なスケールの特徴を考慮して高い認識性能を発揮することができます。
- 浅い層: 画像の「エッジ」や「点」などの局所的かつ単純な要素を認識
- 中間の層: それらを組み合わせて「円」や「四角」といった形を認識
- 深い層: さらに複雑な「顔」や「物体そのもの」のような抽象的な概念を認識
Transformerベースのモデルでも似たような役割分担が行われますが、近い領域と遠い領域を同時に参照して重要な関係を選択することができるため、より少ない層でスケールの異なる特徴を考慮できます。
ディープラーニングまとめ
生成AI
生成AI(Generative AI)という言葉は、長く続くAIブームの中でも「定義があいまいなまま使われがちな用語」の一つだと思います。
前提が曖昧なまま解説を進めると後々悪影響が出そうなため、ここでは生成AIと関連の深い用語である「生成モデル」の定義と、信頼できる各機関の定義をまとめて、シリーズ全体で使える明確な定義を決めようと思います。
途中の議論は「小難しい」と感じる方も多いと思うので、結論だけ知りたい方は「生成AI」の定義まとめまで飛ばして頂いても構いません
生成モデルと識別モデル
生成AIと似た用語として、生成モデル(generative model)があげられます。生成モデルは識別モデルと呼ばれるモデルと対で定義されます。具体的には、(常に観測可能な)入力データを表す変数を$X$、予測したいデータを表す変数(目的変数)を$Y$としたとき、
- 識別モデル(discriminative model): $X$を入力した時の$Y$の条件付き分布$P(Y \mid X)$に基づく統計モデル
- 生成モデル(generative model): $X$と$Y$の同時確率分布$P(X,Y)$に基づく統計モデル(実用上は確率の乗法定理$P(X,Y)=P(X \mid Y)P(Y)$に基づき$P(X \mid Y)$を用いるケースが多い)
条件付き分布、同時確率分布についてはここでは詳しくは解説せず(私の著書でも解説しています)、もう少し噛み砕いて説明します。
確率分布が得られるということは、統計的にはその確率分布に従うデータが得られる(生成できる)ことと同義です。
画像AIにおいては、入力データ$X$として画像を入力し、そこから写っている物体の種類や位置を目的変数$Y$として得るケースが多いでしょう。例えば動物の画像を$X$、動物の種類を$Y$としたとき、
- 識別モデル: 動物の画像$X$を入力したとき、$P(Y \mid X)$に基づき「ウサギ」や「ネコ」等の種類を予測するモデル
- 生成モデル: 動物の画像自身を新たに生成できるモデル(例:$Y$を「ウサギ」としたとき、$P(X \mid Y)$に基づきウサギの画像を生成する)
といった具合に両者をイメージすることができます。
生成モデルと生成AI
旧来のAIモデルの多くは、画像のような複雑なデータを$X$を入力として、ラベルや位置のようなよりシンプルなデータ(判定や解釈に相当)を目的変数$Y$と置くことで、生成モデルと識別モデルを明示的に区別することができました。例えば後述するGANの生成器は、画像が$X$、本物/偽物のラベルを$Y$と置くことで、明確に生成モデルと位置付けることができます。
一方で、近年のAIでは「多数のテキストから画像を生成する」というように、入力も出力も複雑なデータ形式であり、LLMのように「テキストからテキストを生成する」というように同じデータ形式を出力するモデルすらあります。これではどちらが$X$でどちらが$Y$かを定義することすら難しく、元来の生成モデルの概念のみから単純に生成AIは定義できないことが分かります。
よって、生成モデルとの関係は考慮しつつも、信頼できる機関の定義と付き合わせながら、生成AIの定義を煮詰めていく必要がありそうです。
各種機関の「生成AI」の定義
| 団体名 | 生成AIの定義 |
|---|---|
| 米NIST | 入力データの構造と特徴を模擬して、画像、動画、音声、テキスト等のデジタルコンテンツを合成するAI |
| 米IBM | ユーザーからのプロンプトやリクエストに応じ、文章、画像、動画、音声、ソフトといったオリジナルコンテンツを創り出すAI |
| 米NVIDIA | ユーザーが多様な入力に基づき新たなコンテンツを素早く生成できるAI。入力と出力には文章、画像、音声、動画、3Dモデルなどを含めることができる |
| NRI | さまざまなコンテンツを生成できるAIのことです。従来のAIが決められた行為の自動化が目的であるのに対し、生成AIはデータのパターンや関係を学習し、新しいコンテンツを生成することを目的としています |
| 富士通 | ユーザーからの指示に基づき、文章、画像、音声、プログラムコードといった新しいコンテンツを創り出す(生成する)人工知能 |
NISTの定義は「入力データ$X$」を模擬したデータの生成に触れており、上記の生成モデルと近い定義をとっていそうです。またIBMの定義中の「オリジナル」(original)という言葉は「独自の(新しい)」というニュアンスに加え「元々の(学習時に入力した)」というニュアンスでも解釈できるため、NISTと同じく生成モデル的な要素を含んでいそうです。
日本の機関の定義では「新しいコンテンツ」がキーワードとなっていますが、わざわざ「データ」ではなく「コンテンツ」と言っていることは、旧来のAIが出力する分類や数値ではなく、例に挙げられている「画像、動画、音声、テキスト」のような複雑なデータの出力を想定していそうです。
NVIDIAの定義も日本の機関と似ていますが、まさに先ほど述べた入出力両方に複雑なデータを用いることが述べられており、旧来のAIのような入力$X$が複雑なデータ、出力$Y$が単純なラベルや位置であることを前提とした、生成モデル的な解釈が難しいことを示唆しています。
以上から、元来の生成モデルのニュアンスを残しつつ、現代的なモデルでは入出力に基づく生成モデルの定義が難しいことも加味して、「画像やテキストなど、旧来のAIでは入力として用いられていた複雑なデータを出力(生成)するAI」とすると、バランスの取れた解釈となりそうです。
「生成AI」の定義まとめ
私見が入りますが、ここまでの各種機関の定義をまとめると、生成AIの定義は
画像やテキストなど、旧来のAIでは入力として用いられていた複雑なデータを生成できるAI
とすると、しっくり来ると思います。
「生成」を実現するためのアプローチ
複雑なコンテンツを生成することは当然ながら難しく、その実現には工夫が必要です。現在広く利用されているアプローチには、大きく以下が挙げられます。
- 簡単な確率分布からの変換:(VAE、拡散モデル等)
- 逐次的な生成:(GPT等)
2026年現在、画像生成では簡単な確率分布からの変換、テキスト生成では逐次的生成が主流となっています(ただし、拡散モデルでテキストを高速生成するアプローチも研究されています)。
それぞれ簡単に解説します。
簡単な確率分布からの変換
前述のように、生成モデルではある条件$Y=y$が与えられたとき、データ$X$が生成する条件付き分布$P(X \mid Y=y)$を基に、データを生成します。
しかし一般的に、画像やテキストのような複雑なデータが従う確率分布$P(X \mid Y)$は複雑であり、これを直接的に記述したりサンプリングしたりすることは困難です。
そこで多くの生成モデルでは、正規分布のような扱いやすい単純な分布を出発点とし、それをニューラルネットワークを用いてデータ分布へと変換することで生成を実現します。
代表例としては以下が挙げられます
| 名称 | 概要 |
|---|---|
| VAE | エンコーダでデータを正規分布に従う潜在空間に射影し、デコーダでデータ空間に戻す |
| 正規化フロー | 正規分布から、ニューラルネットワークによる可逆変換を連続的に適用することで、複雑なデータ分布へと写像する |
| 拡散モデル | データに徐々にノイズを加える拡散過程と、その逆過程としてノイズを段階的に除去する生成過程を学習することで、単純な正規分布から複雑なデータ分布を逐次的に生成する(逐次性も持つ) |
| GAN | 生成器と識別器という2つのモデルを競合的に学習させ、生成器に簡単な確率分布からデータ分布に変換する能力を持たせる(後述) |
逐次的な生成
詳細は8-5 LLMで解説しますが、テキスト生成は以下のような理由から、一般的に一括生成に向きません。
- 文の長さが決まらない
- 文法的整合性が崩れやすい
よってこれらを防ぐために逐次的な生成、すなわち1単語(トークン)ずつ順番に
- 単語1を生成
- 単語1を参照して単語2を生成
- 単語1と2を参照して単語3を生成
:
のように生成するアプローチを取ることが一般的です(人間も文章を途中まで書いてから後に続く内容を考えることがあるため、その思考過程とも共通点があるでしょう)。このようなアプローチを自己回帰(autoregressive)または次トークン予測(next token prediction)と呼びます。
ChatGPTのようなチャットボットの回答が少しづつ返ってくるのは、決して「話している感」を出すための演出ではなく、この逐次的な生成にも由来しています(もちろん、自然に見せるよう返答ペースを調整したりはしています)。
このような逐次的な生成を実現しつつ効率よくモデルを学習するため、GPTなど多くのLLMでは、Masked Self-Attentionを軸としたデコーダと呼ばれるモジュール(Transformerの項で解説)で、自己回帰タスクによる学習(基盤モデルの項で解説)を実施します。
日常会話での「生成AI」
ちなみに、厳密には生成AIにカテゴライズされないであろう識別的なモデル(例:VLAではないE2E自動運転AIやBERTによる固有表現認識等)をバズワードとして「生成AI」と呼んでいる例もよく見るので、日常会話で「生成AI」という言葉を聞いたら
「あーAIなんだなー」
くらいの気持ちで受け止めるのが良いと思います(上での定義の過程を見ても分かるように、生成かそうでないかを厳密に判別することは難しいので、私も間違えてしまうことがよくあります)。
GAN
GAN(generative adversarial network:敵対的生成ネットワーク)は、2020年頃までブームとなっていたAIモデルの一種です。あまり名前を聞かなくなってしまったGANですが、実は生成AI・生成モデルの概念によく当てはり、また基盤モデルの先祖とも言える特性を持つモデルです。
詳しくは6章で解説しますが、GANは生成器と識別器という2つのモデルを競合的に学習させます。
- 生成器(generator): 本物(訓練データ)に似せた画像$X$を生成するモデル
- 識別器(discriminator): 生成器が生成した画像と本物の画像を見分けるモデル(識別結果が$Y$)
生成器と識別器を競合させながら同時に学習することで、生成器は本物に近い画像を生成するように、識別器は本物と生成画像とを精度良く見分けるよう性能が上がります。
生成器は$P(X \mid Y)$に基づき画像を生成する能力を持つため、まさに生成モデルの条件を満たし、かつ生成AIの条件も満たします。
このように生成モデルの代表格として、かつてはAIブームの中心にいたGANですが、同じ目的で高い性能を実現できる(しかもGANよりも学習が安定する)以下のようなモデルが登場し、使われる機会は減っています。
- 画像生成: CLIPやStable Diffusionのような基盤モデル・拡散モデルベースの手法
- 異常検知: Featureベースのモデルや基盤モデルの応用
ただし、拡散モデルよりも高速という特徴を活かして、エッジデバイスでの画質向上や画像フィルタ用途では今でもGANが現役で活躍しています。
またこちらの記事でも解説されているように、Adversarial Diffusion Distillation (ADD)と呼ばれるGANと拡散モデルを組み合わせた手法が、SDXL TurboというStability AIの高速画像生成AIに採用されています。
基盤モデル
基盤モデル(foundation model)は、2021年にBommasaniらによって提唱された概念です。
Google Cloudによると
基盤モデルは、さまざまなタスクを実行できるよう大量のデータで事前トレーニングされる AI モデルの一種です。このトレーニング プロセスでは、自己教師あり学習がよく用いられ、データ内の複雑なパターンや関係性を学習することで、さまざまなタスクをより高精度で実行できるようになります。さらに重要なのは、この大規模な学習によって創発的な能力が生まれる点です。つまり、明示的にトレーニングされていないタスクまでもこなせるようになります。こうした、特化型ツールから柔軟な汎用モデルへの転換こそが、基盤モデルというパラダイムの特徴です。
と定義されており、
- 大量のデータを使用
- 幅広いタスクに対応
- トレーニングされていないタスクに対応可能(ゼロショット能力・創発性)
がキーワードとなっています。
創発性と基盤モデル
特に重要なのが3つ目の創発性で、あるAIモデルが基盤モデルとみなせるかは、この創発性を獲得できるかどうかに大きく依存します。基盤モデルが創発性を持つ理由は厳密には解明されていませんが、多くの資料では(Google CloudやIBMなど)
データの本質的なパターンや構造を学習する
ことで創発性が得られるとされています。そのためには、複雑かつ多様な構造を学習するための工夫を、データ・モデル両面から必要とします。
- 複雑性:本質的な構造やパターンを学習できるよう、入出力両方のデータ形式や学習タスク、モデル構成を工夫する
- 多様性:多種多様かつ大量のデータを学習する(画像であれば数億枚オーダー)
詳細は8章で改めて議論しますが、基盤モデルとそうでないモデルの差の例として、下表のようにCLIPとResNetを比較すると分かりやすいでしょう。
| 基盤モデルで必要な性質 | ResNet(基盤モデルではない) | CLIP(基盤モデル) | |
|---|---|---|---|
| 入力側のデータ | 形式が複雑 | 画像(形式が複雑) | 画像+テキスト(形式が複雑) |
| 出力側のデータ | 複雑かつ汎用的な表現 | ラベル(形式が単純) | 意味的な埋め込みベクトル(複雑かつ汎用的) |
| データ数 | 大量(画像なら数億枚オーダー) | 約128万枚のImageNet (基盤モデルには不足) |
数億枚のWeb画像+テキスト(非常に多い) |
| 学習タスク | 抽象的かつ多様な概念を学べるタスク | 分類タスク(抽象的だがタスクが限定的) | 画像–テキスト対照学習(抽象度が高い) |
| モデル構成 |
大量パラメータかつ多様な構造を学べる層構成 (Transformerと相性が良い) |
0.1〜1.2億パラメータのCNN (基盤モデルには不足) |
1〜30億パラメータの CNN or ViT + Transfomer (これでも基盤モデルの中では少ない) |
以上をまとめると、基盤モデルは以下の図のように定義づける事ができます。
基盤モデルの学習タスク
基盤モデルの学習タスクは、以下の条件を満たす必要があります。
-
抽象的な概念を学べる
➡ 本質的なパターンや構造の理解につながる -
アノテーションに手間がかからない
➡ 超大量のデータを扱うため、人力で手間のかかるアノテーションが行えない
アノテーション(annotation)とは、画像などのデータに対して、正解を表すラベルを付ける作業です。例えばシンプルな分類タスクでは、りんごの画像に「りんご」のラベルを付け、ぶどうの画像に「ぶどう」のラベルを付ける作業が該当します。
アノテーションは一般的に人手で行われますが、基盤モデルのような数億枚の画像に人手でアノテーションすることは困難です。このような人力によるアノテーションを防ぐため、基盤モデルの学習タスクには自己教師あり学習と呼ばれる手法がよく用いられます。
基盤モデルと自己教師あり学習
自己教師あり学習(self-supervised learning)とは、アノテーションしていない大量のデータから、自動生成した擬似ラベルを用いて学習する手法です。
例として分かりやすいのが、BERTのマスク付き言語モデル(masked language model:略してMLM)です。MLMは、以下の図に示すように
「文章の一部を隠して、その単語(トークン)を前後の文脈から当てる」
というタスクを解くため、当てようとした単語が正解に近いほど小さくなる指標(交差エントロピー損失)を最小化するように学習を進めます。
MLMは以下の図に示すように、
「文章の一部を隠して、隠した単語(トークン)を前後の文脈から当てる」
というタスクです。
詳しくは「5-1 Transformer」で解説しますが、ある共通単語や文脈を通じて一緒に登場する関係のことを、共起(co-occurrence)と呼び、共起単語同士は意味が似る傾向があります。
このような
「単語の意味は、その単語が現れる文脈(共起する単語)によって決まる」
という理論を、自然言語処理分野では分布仮説(distributional hypothesis)と呼びます。
この分布仮説に基づくと、周囲の単語や文章から隠された単語を当てるタスクに基づく学習は、「意味」を理解する能力をモデルが得ることにつながります。よって共起関係を軸として、モデルは単語の意味を学ぶことができます。
また語順の理解にもつながることから、文法、論理構造を学ぶこともできます。このような言語の意味や文法、論理構造こそが、自然言語において基盤モデルが学ぶべき本質的なパターンや構造と言えるでしょう。
特にTransformerの登場により離れた単語間の関係性を統合的に学習できるようになったことは、文章全体の意味、すなわち文脈を考慮した推論能力の向上に大きく寄与しました。
このように、基盤モデルでは多くの場合、隠された部分にあったコンテンツ(テキストや画像のような複雑性が高いデータ)を予測するようなタスクを通じて、データの本質的なパターンや構造を学んでいきます。
MLMはテキストに関するタスクでしたが、これを画像に拡張して、
「グリッド分割した画像(パッチ)の一部を隠して、隠されていない周囲のパッチから当てる」
というタスクを解くようにした教師あり学習手法が、MIM(Masked Image Modelling)です
このMLMやMIMのように、
「データの本質的なパターンや構造の理解につながる自己教師ありタスクを設計すること」
は、基盤モデル開発において中心的な課題となっています。
代表的な基盤モデルにおける自己教師あり学習手法を以下に示します。
| モデル名 | 対象データ形式 | 自己教師あり学習手法 |
|---|---|---|
| BERT | テキスト | マスク付き言語モデル(MIM)と次文予測(NSP)の組み合わせ |
| GPT | テキスト | テキストの自己回帰(autoregressive) |
| CLIP | 画像+テキスト | 画像とテキストのペアを用いた対照学習(厳密には自己教師ありではなく、アノテーションデータを使用する弱教師あり学習。詳しくは8-2 CLIPで解説) |
| DINOv2 | 画像 | MIMと自己蒸留の組み合わせ(詳しくは8-3 DINOv2で解説) |
画像向けの自己教師あり学習手法
画像向けでは、前述のMIMを含めて以下の自己教師あり学習手法(およびこれらの組み合わせ)がよく用いられます。
- MIM(masked image modeling):BERTのMLMと類似した穴埋め問題
- 対照学習(contrastive learning):似ているデータ同士を特徴空間上で近くに、異なるデータ同士を遠くに配置するよう学習
- 自己蒸留(self-distillation):同じ構造を持つ教師モデルと生徒モデルを用い、グローバルな画像情報を入力した教師モデルの出力を、ローカルな画像情報のみを入力した生徒モデルが模倣するように学習
それぞれの詳細は8-1 基盤モデルで解説します。
データのベクトル化
基盤モデルでよく用いられるTransformer系のモデルでは、データをベクトルの集合に変換して処理することが一般的です。
例えば以下の図のように、テキストであれば単語(トークン)、画像の場合格子状のパッチ単位に分割し、それぞれ特徴ベクトルと呼ばれる数値ベクトルに変換します。
後述するように、Transoformerではこのようなデータの各部分を表す特徴ベクトル同士の関係性を、Self-Attentionと呼ばれる仕組みで一括計算することで、離れた部分を含めたデータ内の関係性を一括でモデルに取り込めます。例えばテキスト、画像においては、それぞれ以下のようなメリットを得ることができます。
- テキストの場合:離れた単語の関係を含めた文脈を考慮できる
- 画像の場合:離れたパッチ同士の大域的な特徴を抽出できる
基盤モデルの歴史
先ほど、基盤モデルという概念が考案されたのは2021年と言いましたが、基盤モデルの元祖とも言えるBERTやGPT自体は2018年には発表されています。これは、BERTやGPTの登場以降、
- 大量のデータを使用
- 幅広いタスクに対応
- トレーニングされていないタスクに対応可能(ゼロショット能力・創発性)
という特性を持つ多くの革新的なモデルが開発されたため、その総称として「基盤モデル(foundation model)」という言葉がつけられたことに由来します。これらの革新的なモデルは、
基盤モデルの歴史は2020年代のAIブームの歴史そのもの
と言っても差し支えないほど、社会的インパクトの大きい技術が揃っています。代表的なものを以下の表にまとめました。
| モデル名 | 開発元 | 登場年 | 対象データ形式 | 意義 |
|---|---|---|---|---|
| BERT | 2018 | テキスト(LLM) | Transformerと大規模データセットの組み合わせで言語理解能力が飛躍的に向上することを実証 | |
| GPT | OpenAI | 2018 | テキスト(LLM) | Transformerのデコーダを用いた自己回帰(次トークン予測)型生成の有効性を実証 |
| GPT-3.5 | OpenAI | 2022 | テキスト(LLM) | ChatGPTの初期モデルとして、LLMブームを巻き起こした |
| Llama | Meta | 2023 | テキスト(LLM) | ローカルで動作する軽量LLM(ローカルLLM)の先駆け、かつオープンソース |
| OpenAI o1 | OpenAI | 2024 | テキスト(LLM) | 推論をステップ分割して時間を可変化し、思考能力を強化。推論能力を可変化する潮流を作った |
| DeepSeek-R1 | DeepSeek | 2025 | テキスト(LLM) | 強化学習を活用して軽量と高性能を両立し、かつオープンソースであることから業界に衝撃を与えた |
| Claude 3.7 Sonnet | Anthropic | 2025 | テキスト(LLM) | 思考に使うトークン数を動的に変化させるハイブリッド推論モデルの先駆け。コーディング向けでシェア向上に寄与 |
| Qwen3 | Alibaba | 2025 | テキスト(LLM) | ハイブリッド推論とアクティブパラメータ抑制によりVRAMを節約した高性能推論を実現 |
| Flamingo | 2022 | 画像+テキスト(VLM) | 実用的なLLMベースVLMの先駆け(詳細) | |
| LLaVA | ウィスコンシン大等 | 2023 | 画像+テキスト(VLM) | Cross-Attention型ではないLLMベースVLMの先駆け(詳細) |
| GPT-4V | OpenAI | 2023 | 画像+テキスト(VLM) | 商用LLMベースVLMの先駆け |
| Gemini 1.0 | 2024 | 画像+テキスト(VLM) | 画像とテキストを同一ネットワークで処理する、ネイティブ・マルチモーダルの先駆け | |
| CLIP | OpenAI | 2021 | 画像+テキスト(VLM) | 実用的なVLMの先駆け(詳細) |
| Stable Diffusion | Stability AI | 2022 | 画像+テキスト(VLM) | リアルかつ多種多様な画像生成で、画像生成AIブームを巻き起こした |
| Segment Anything(SAM) | Meta | 2023 | 画像+テキスト(VLM) | 基盤モデルでゼロショットの高性能セグメンテーションを実現 |
| DINOv2 | Meta | 2023 | 画像 | 対照学習と蒸留の組み合わせで、多くの画像タスクで高性能モデルの基盤として機能 |
| Whisper | OpenAI | 2022 | 音声 | 音声認識基盤モデルの先駆け |
| GPT-4o | OpenAI | 2024 | 画像+テキスト+音声 | 音声や画像を直接処理するネイティブ・マルチモーダルの基準を確立 |
この表では2018年から2022年の間にあまり動きがないように見えますが、この間に「Transformerをいかに活用するか」の研究が活発に行われており、ここでの多種多様な研究が社会的インパクトの大きい技術に繋がり、2022年以降に高性能な基盤モデルが続々と開発される要因となりました。
この進化をカテゴリ分けして図にまとめると、以下のようになります。
図を見ると、2026年現在世界的に存在感を示しているのは以下の組織でしょう。
- OpenAI(GPT)、Google(Gemini)、Anthropic(Claude)の超巨大モデル(フロンティアモデル)BIG3
- 画像用途と軽量モデルで存在感を示すMeta
- 軽量ハイパフォーマンス&オープンソースをコンセプトとした中国勢(DeepSeek、Alibaba等)
基盤モデル開発では米中が圧倒的に強いことが見てとれます。
基盤モデルと生成AI
一緒に語られることが多い基盤モデルと生成AI、多くの場合単なるバズワードの組み合わせとして何となく併用されているだけだと思いますが、両者には実際に深い関係があります。
基盤モデルの多くはコンテンツを生成する生成AI的な使い方もされますが、セグメンテーションのような従来型用途でも盛んに用いられており、必ずしも基盤モデル=生成AIである必要はありません。
一方で、基盤モデルは多くの場合その学習過程において、創発性獲得のために生成的な能力を得るような学習タスクが設定されています。そのため、これらの基盤モデルは生成AIとしての能力がその動作原理の核となっていると言っても過言でもありません。
例えば先ほどのMIMの例では、画像の一部を隠してその部分を予測するような生成的タスクが設定されており、GPTの自己回帰(次トークン予測)も生成タスクに位置付けられます(ただしBERTのMLMは生成的側面がやや弱いです)。またDINOで用いられる自己蒸留(詳細は8-1 基盤モデル参照)では、切り出し画像から全体画像を推測するようなタスクが設定されています。
このように、多くの基盤モデルの自己教師あり学習では、復元タスクを用いて学習を進めます。
復元タスクが画像のパターンや構造の深い理解に繋がり、多くのタスクに対応できる創発的能力に繋がるのは少し不思議ですが、DINO論文によると画像の一部から全体を連想する能力は、物体の意味理解に繋がると言われています。まさにこのような失われた部分を生成するような能力が、基盤モデルの土台として作用していると言えるでしょう。
LLM
LLM(large language model)は基盤モデルの一種であり、IBMの定義によると
膨大な量のデータで学習されたディープラーニングモデルの一種であり、自然言語やその他のコンテンツを理解および生成し、幅広いタスクを実行することができます
とされています。大まかには、
「自然言語を理解して生成する能力を持つ基盤モデル」
と解釈できるでしょう。
ひとことにLLMと言っても、チャットボットやコード生成など多くの用途に用いられており、また倫理的・機密的に問題のある出力を防ぐ必要がある等、社会で活用するためには様々な要件が求められます。
このような要件を実現するために、LLMは異なるアプローチのアーキテクチャ構造をもち、また開発時には多くのプロセスに分けて学習を進めていきます。これらをふまえてLLMの全体像を掴むため、ここでは以下の内容について解説します。
- 各種Attentionの特徴(アーキテクチャ分類に必要な知識)
- エンコーダとヘッド、デコーダ(アーキテクチャ分類に必要な知識)
- LLMのアーキテクチャ分類
- 学習プロセス
各種Attentionの特徴
詳細は後述しますが、Self-Attention以外にもTransformer系モデルでは、以下のような(ニューラルネットワークで学習可能な)Attention機構が利用されます。
| 名称 | 用途 |
|---|---|
| Self-Attention | 各部分構造の有用な情報を集約してタスク性能向上 |
| Masked Self-Attention | 自己回帰(次トークン予測)による生成(特にテキスト生成) |
| Cross-Attention | 性能向上に寄与する情報を、別データから選択・集約する |
これら各Attentionを軸として、ディープラーニングモデルのネットワークはその役割に応じてエンコーダ、ヘッド、デコーダに分解することができます。
エンコーダとヘッド、デコーダ
LLMに限りませんが、ディープラーニングモデルを構成するネットワークは、大きく以下のようにカテゴリ分けできます。
| カテゴリ名 | 役割 |
|---|---|
| エンコーダ(encoder) | データのパターンや構造を抽出し、意味的な特徴表現(ベクトル)に変換 |
| ヘッド(head) | 特徴ベクトルを最終的な出力形式に変換(LLM事前学習では出力単語のクラス確率) |
| デコーダ(decoder) | 入力を生成に適した表現(ベクトル)に変換し、コンテンツ(LLMではテキスト)生成に利用できるようにする |
端的に言うと、それぞれ以下の役割を果たします。
- エンコーダ:データの解釈
- デコーダ:データの生成
- ヘッド:解釈・生成結果を最終的に得たい出力に整える
これらのカテゴリは、全結合層や畳み込み層、Transformerのような「層」よりも広い区分けになり、例えばエンコーダは、複数のTransformer層(エンコーダブロック)や畳み込み層を重ねて構成されます。
また「層」が機能的な繰り返し単位に軸を置いた分け方なのに対し、エンコーダやデコーダは役割に重点を置いた分け方です。特にLLMにおいては、エンコーダ・ヘッド・デコーダを用途に合わせて適切に組み合わせることが重要です。
LLMにおける典型的なエンコーダ、デコーダ、ヘッドの構造を、以下の図にまとめました。
各カテゴリの詳細は8.5 LLMで、Self-AttentionやMasked Self-Attentionの詳細については後ほど解説します。ここでは
- それぞれのカテゴリがどのような入出力を持つか
- エンコーダは意味理解に向き、デコーダは生成に向く
だけ抑えていれば十分です。
LLMのアーキテクチャ分類
エンコーダ、デコーダをどのように配置するかに応じて、LLMのアーキテクチャは大きく以下の3種類にカテゴリ分けされます。
| カテゴリ名 | 動作メカニズム | 代表例 | 得意なこと |
|---|---|---|---|
| Encoder-Onlyモデル | エンコーダで文章から意味(文脈化された表現)を抽出できるよう学習 | BERT | 文章理解、分類、抽出。 文脈を双方向から理解・解釈するのが得意 |
| Encoder-Decoderモデル | エンコーダで文章から意味を抽出し、抽出した特徴をデコーダによる自己回帰に追加入力して文章生成 | BART, T5 | 翻訳、要約。 入力文を一度解釈してから別の文を生成するタスクに強い |
| Decoder-Onlyモデル | デコーダによる自己回帰(次トークン予測)で文章生成能力を学習 | GPT, Llama等多くのLLM | 文章生成、対話など、自由度の高いアウトプットが得意 |
これらを図にまとめると以下のようになります。
特に重要なのが、Encoder-Onlyモデルはデコーダを持たないため、そのままでは生成能力を持たないことです。ここにカテゴライズされるBERTは、ヘッドを付け替えるだけではチャットボットとして利用できず、デコーダも付け加えた上でファインチューニングする必要があります。このような特性から、Encoder-Onlyモデルは慣例的にLLMに位置付けられないことも多いです。
またDecoder-Onlyモデルは、十分なスケールがあれば元来Encoderが得意としてた解釈タスクもこなせることがわかってきています。
これは図中の「生成能力を持つ特徴ベクトル」が意味理解タスクにも利用できるイメージです。元来Masked Self-Attentionは文脈の一部を隠して学習しているため、意味理解(解釈)能力を得るという観点では効率が悪いのですが、大規模データやネットワークを用いることで、「数の力」でこの欠点を補えていると言われています。
よって2026年時点ではDecoder-Onlyモデルが、解釈も生成も担えるモデルとして主流となってきています。
LLMの学習プロセス
基盤モデルの項で解説した、BERTのMLMやGPTの自己回帰(次トークン予測)のような自己教師あり学習を通じて、LLMは単語の意味、文法、論理、世界知識のような自然言語の本質的構造を学ぶことができます。このプロセスをLLMでは事前学習(pre-training)と呼びます。
一方で、実際にLLMを活用するために必要な
- 特定の専門知識をモデルに教え込む
- チャットボットとして応答したり、コードを生成する機能を持たせる
- 倫理的に問題のある回答を返さないようにする。人間から見て不自然な回答を防ぐ
という機能を実現するには、事前学習だけでは不十分です。
これらの機能を持たせるために、LLM開発では以下のようなプロセスで段階的に学習が行われます。
| プロセス | 目的 | 学習タスク | 使用するデータ |
|---|---|---|---|
|
事前学習 (pre-training) |
モデルに汎用的な言語能力(単語の意味、文法、論理などの本質的構造)を身につけさせる | 自己教師あり学習(ラベルなし) | 大規模な一般テキストデータ(Webページ、書籍など) |
| 継続事前学習(continued pre-training) | 事前学習済みモデルを、特定のドメインや言語に適応させること | 自己教師あり学習(ラベルなし) | 特定ドメインの大量テキスト(専門論文、自社資料、日本語ニュース、ソースコードなど) |
| ファインチューニング(fine-tuning) | 事前学習済みモデルを、特定のタスク(チャットボット、コード生成など)に適応させること | 教師あり学習(ラベルあり) | 入力と出力フォーマットのペアデータ(例:指示と応答、質問と回答、コード生成例など) |
| 強化学習(reinforcement learning) | 人間の価値観や好みに沿った応答(安全性・有用性・自然さ)を実現する | 強化学習(RLHF, DPOなど) | 人間のフィードバックデータ(好ましい/好ましくない応答の比較、評価スコアなど) |
また上記のLLM本体の学習に加え、以下のような付加的な機能を追加することで、より用途に適した特性を得ることができます。
- ルールベースのフィルタリング:倫理や組織ルールに反する質問や回答を、ルールベースのフィルタでブロックする
- RAG、ナレッジグラフ:社内知識などの内部情報を予めデータベース化して質問を基に検索することで、LLMに渡す質問を内部情報で強化する
それぞれのプロセスを、BERTを例に解説します。
事前学習
前述のように、BERTであればMIMとNSP、GPTであれば自己回帰(次トークン予測)のような自己教師あり学習タスクに基づき、モデルをスクラッチから学習します。
例えばBERTのMIMであれば、以下のように一部の単語をマスクで置き換えて予測するように学習を進めます
なお、図中では以下の要素は省略されていることにご注意ください(詳細は「8-5 LLM」
参照)
- [CLS]トークンと[SEP]トークン
- トークンのパディング
- weight tying
- マスキング時に[MASK]だけでなく確率的にランダム単語に置き換えor未変更とする
継続事前学習
継続事前学習は、そのモデルが重視する分野の知識強化を目的として実施されます。具体的には強化したい言語や専門分野に関するテキストデータを使用し、事前学習と同様の自己教師あり学習による学習を実施します。これにより事前学習で取得した一般的な知識に加え、より専門性の高い知識を習得することができます。
例えば日本語能力を強化したい場合、以下のように日本語の文章でMLMによる学習を実施します(事前学習も含め、多言語を扱えるようにあらかじめトークナイザと呼ばれる文章をトークン化するモジュールを工夫しておく必要があります)
なお事前学習と同条件で学習するとは限らず、MLMのマスク率やNSPの有無などの条件を変えることも多く、LoRAのように更新パラメータを制限することもあります。
ファインチューニング
ファインチューンニングでは、LLMの入力・出力形式をタスク(作成したいAIアプリケーション)に合わせることを目的として行われます。
よって基本的には、ヘッドは実際の推論と同じものを使用し、実際のタスクの入出力と同形式の学習データが使用されます。
例えばコード生成AIを開発したい場合、テキスト生成用のLMヘッド(language modeling head)を用い、コード生成用のプロンプトを入力、お手本のコードを出力として学習を行います。
具体的なイメージをつかむため、BERTでNER(named entity recognition:固有表現抽出)と呼ばれる、文章から特定のカテゴリの単語を検出するタスクを実施するを考えます。例えば地名を検出したい場合、
- ヘッド:NER用のヘッド(トークンごとに全結合層で固有表現かどうかを分類)
- 学習データ(入力側):テキスト
- 学習データ(出力側):入力テキストの各トークンが固有表現かどうかを表す正解ラベル
を用いて、以下の図のように学習を進めます。
またLLMの用途として最も需要が高いであろう、チャットボットにGPTのようなDecoder-Only型モデルを用いる場合、以下のようなファインチューニングを実施します(詳細は8-5 LLM)。
- ヘッド:テキスト回答生成用のヘッド(基本的には事前学習で用いた次トークン予測用のヘッド)
- 学習データ(入力側):モデルやユーザの前提条件+ユーザの質問
- 学習データ(出力側):LLMが返したいお手本となる返答
生成したテキストの正誤を交差エントロピー損失で評価という意味では、事前学習の自己回帰タスク(次トークン予測)と近いですが、穴埋め予測による自己教師あり学習ではなく、お手本返答を用いた教師あり学習であることが最大の差です。
継続事前学習より前のプロセスは、大規模事業者が大量の計算資源を用いて学習することが多いですが、ファインチューニングは小規模な組織が限られた計算資源で学習するシチュエーションも多いです。
よってファインチューニングでは、少ない計算資源で学習するためのテクニックが多く用いられます。
その代表格がLoRA(low-rank adaptation)です。
詳しくは8-5 LLMで解説しますが、LoRAは重みの更新式(1-3 ニューラルネットワークの学習参照)
新しい\boldsymbol{W} = \boldsymbol{W}-\Delta\boldsymbol{W} \quad (ただし\Delta\boldsymbol{W}=\eta\nabla E)
の差分$\Delta\boldsymbol{W}$を、$\Delta\boldsymbol{W} \simeq \boldsymbol{A}\boldsymbol{B}$という2つの低ランク行列$\boldsymbol{A},\boldsymbol{B}$で近似計算することで、より小さな行列計算(実質的には更新パラメータの数を減らす)で重みの更新を実現することができます(ただし、ランク数の選択にノウハウが必要なことや、事前学習とデータの特性の差が大きい場合に誤差が大きくなるというデメリットもあります)。
強化学習
強化学習フェーズでは、主に人間のフィードバックによる強化学習(reinforcement learning from human feedback:RLHF)が行われます。RLHFでは人間が複数の出力を比較するという作業を繰り返し、その結果に基づき報酬モデルを学習し、より良い回答を返せるようチューニングを進めます。RLHFは社内の専門家だけでなく、外部の一般ユーザの協力も得て行われることが多く、例えばChatGPTでしばしば見る2つの回答に対して「どちらが良いですか?」を選択するボタンも、基本的にはRLHFに利用されているようです。
また最近はDPOと呼ばれる手法も用いられているようです。
RAG
LLMとセットでよく用いられるのがRAG(retrieval-augmented generation)です。
RAGを用いることで、手間やコストのかかるLLMの学習を行うことなく、社内知識などの専門知識を追加で考慮した回答を得ることができます。
RAGでは、埋め込みモデル(embedding model)と呼ばれる「意味が近い文を入力すると近いベクトルを返す(類似度が高いベクトルを返す)」ディープラーニングモデルを使用し、ベクトル検索(vector search)と呼ばれる、意味が近い文を検索する仕組みを実現します。
この埋め込みモデルを用いて、以下のように専門知識をベクトルDBと呼ばれるデータベースに予め登録しておきます。
- 埋め込みモデルの学習(多くの場合、学習済モデルを使用するので不要):意味が近い・対応関係にある文がベクトル空間上で近づくよう、対照学習(8-5 LLM参照)で埋め込みモデルを学習
- 知識登録:登録したい専門知識に関する文章(社内資料、マニュアル、仕様書、集計データ等)を学習済の埋め込みモデルに入力し、出力されたベクトルをベクトルDBに登録
例えばチャットボットでこの知識を使用(推論)するには、以下のような手順で
- 検索(Retrieve):質問を埋め込みモデルに入力して、得られたベクトル$\boldsymbol{v}_{質問}$でベクトル検索し、意味が近い検索結果をランク付け
- 回答生成(Generate):質問と上位の検索結果をセットでLLMに入力し、検索結果(≒専門知識)を考慮した回答を得る
一連のフローを図にすると以下のようになります。
実際には単純な類似度に基づくベクトル検索だけでなく、検索結果を適切に並び替えるリランク(Reranking)や、キーワード検索と組み合わせた活用が性能向上に寄与します。
日本のLLM
日本で開発されているフルスクラッチ(事前学習から自前で実施)のLLMには、以下のようなモデルが挙げられます。
| 開発組織 | モデル名 | パラメータ数 |
|---|---|---|
| 国立情報学研究所 | LLM-jp-4 32B-A3B | 320億(32B) |
| NTT | tsuzumi 2 | 300億(30B) |
| Preferred Networks | PLaMo 2.1 Prime | 310億(31B) |
モデルサイズで言うと、ローカルLLMに該当するものが中心です。フロンティアモデルと比べると1〜2桁小さいパラメータ数ですが、エッジデバイスで動作させるにはちょうどいいサイズ(むしろ少し大きすぎるくらい)なので、センサと組み合わせて後述のVLMやVLAのベースとして用いる需要は高いと思います。
他にも研究用途であれば、ソフトバンクのSarashina2-8x70B(460B:MoEでアクティブ130B)やPreferred NetworksのPLaMo-100B-Pretrained(100B)など、さらに大型のモデルも開発されています。
VLM
VLM(vision language model)は基盤モデルの一種であり、IBMの定義によると
コンピューター・ビジョン機能と自然言語処理(NLP)機能を融合した人工知能(AI)モデル
とされています。大まかには、
「画像と自然言語を統合的に扱えるモデル」
と解釈できるでしょう。
「統合的に扱う」という定義が広いため、できることやアプローチが異なる多種多様なモデルが存在します。一方で基盤となるアーキテクチャに関しては、2026年現在大きく以下の2種類にカテゴライズできるでしょう。
- 非LLMベースのVLM
- LLMベースのVLM
非LLMベースのVLM
このカテゴリには、そのネットワーク構成内にLLMを含まないモデルが位置付けられます。
かつてはLLMのエコシステムが現在ほど整っていなかったことから、初期(2020年代初頭)のVLMはこちらが主流でした。
この構成の代表的なモデルが、OpenAIのCLIP(contrastive language–image pretraining)です。
CLIP
CLIPでは、Web上からスクレイピングした数億枚規模の画像とキャプション(画像の説明文)のセットを、それぞれ以下のエンコーダを通すことで、同じ次元の特徴ベクトルに変換します。
- 画像エンコーダ(image encoder):画像を特徴ベクトルに変換するVision Transformerネットワーク(ViTだけでなくCNNベースのエンコーダもラインナップに存在)
- テキストエンコーダ(text encoder):キャプションを特徴ベクトルに変換するDecoder-Only型のエンコーダ(Decoder-Onlyである理由は、Masked Self-Attentionの効果で系列末尾の[EOT]トークンに情報集約されることが対照学習に便利であるからで、目的はテキストの「生成」ではなく「解釈」です)
CLIPでは、このネットワークを通して同次元のベクトル空間に投影された画像とテキストが、以下の関係となることを目指して学習を進めます。
- 対応する画像とテキスト(正例):距離が近い
- 無関係な画像とテキスト(負例):距離が遠い
具体的には、以下のように複数枚の画像とキャプション(テキスト)からなるバッチ(データを複数まとめたもの)を作成し、対応する画像とキャプションの組み合わせ(以下の図のマトリクスの対角線)を正例に、それ以外の組み合わせを負例として用います。
なお、図では1バッチ3枚ですが、実際は数万枚オーダーの巨大なバッチを作ります。
この正例・負例データを用いて、InfoNCE Lossと呼ばれる
- 正例ペアの類似度(ベクトル空間上での近さ)を高く
- 負例ペアの類似度を低く
するような損失関数(詳細は8-2 CLIPで解説しますが、「類似度をソフトマックス関数に通すことで正例である確率とみなし、実際の正例・負例ラベルと比較して求めたクロスエントロピー損失」とみなせます)を用い、画像エンコーダ、テキストエンコーダ双方の学習を進めます。
このようなInfoNCE Lossを用いて正例の類似度を上げる学習手法を、対照学習(contrastive learning)と呼びます(前述のRAGの埋め込みモデルの学習でも対照学習を用いることが一般的です)。
対照学習が進むと、以下の図のように画像・テキストを問わず意味の近さが特徴ベクトルの近さを表すようになり、画像とテキストの意味を直接比較できるようになります。
学習済のCLIPはいわば、画像とテキストを共通の意味空間に投影する役割を果たします。
CLIPの利用例として、原論文では以下のように事前学習済の画像エンコーダとテキストエンコーダをペアで用いることで、追加学習なし(ゼロショット)で分類タスクに用いる例が挙げられています。
しかし真にCLIPが価値を持つのは、画像エンコーダ、あるいはテキストエンコーダを単体で様々なタスクに流用できることです。
画像を画像エンコーダに通すことで、テキストと共通の意味空間に投影できるため、テキストとしての意味理解や生成タスクにも活用できることを意味します。
同様にテキストエンコーダに通すことで、画像としての意味理解や生成タスクに活用できます。
CLIPは登場から5年が経ちますが、その性能と汎用性の高さから、以下のように現在でも広く用いられています。
| 解釈タスク | 生成タスク | |
|---|---|---|
| 画像エンコーダ | 類似画像検索、物体検出(例:Grounding DINO) | 画像からテキスト生成(例:LLaVAのようなLLMベースのVLM) |
| テキストエンコーダ | テキストに基づく画像検索 | テキストから画像生成(例:DALL-E 2、Stable Diffusion) |
LLaVAが例に挙げられているように、CLIPは後述するLLMベースのVLMでも重要な役割を果たします。
LLMベースのVLM
VLMにおいて、特に需要の高い用途が
「ある画像とその画像に関する質問を提示されたときに、正しい答えを導き出すタスク」
であるVQA(vision question answering)です。ChatGPTやGeminiのようなチャットボットで画像を添付して質問するのも、このVQAに該当します。
現在主流のDecoder-Only型のLLMは、テキストを入力して回答のテキストを生成する能力を持つことから、画像をうまく入力することさえできれば、この目的によく合致します。
また後述の理由から、画像をLLMに通すことは深い意味理解につながるため、出力した特徴表現を変換してテキスト以外の結果を得たいケースでも有用です。
このように、LLMベースのVLMは以下の用途でよく用いられます。
VQA:画像とテキストを入力して、回答テキストを生成する
その他の出力を得る:画像をLLMに通して得られた意味的な特徴をもつベクトルを、他タスクに活用する(後述のVLAも該当)
まずはLLMを通すことで意味理解が深まる理由を簡単に説明し、続いてLLMに画像を入力するアプローチと、代表的なVLMについて解説します。
LLMを通すことが深い意味理解に繋がる理由
例えばBERTのMLMとJFT-3Bという巨大データセットを用いた画像分類は、どちらも数万クラスの分類タスクに位置付けられます。
一方で両タスクのデータの特性を比較すると、
| MLM | JFT-3B画像分類 | |
|---|---|---|
| クラス数 | 数万個オーダー | 数万個オーダー |
| 1サンプルあたりの教師信号 | 1サンプルあたりの教師信号複数マスク × 文脈依存 | 1枚につき1ラベル |
| 同一入力の多様性 | 文脈が変われば正解が変わる | 同一画像は常に同一ラベル |
というように、MLMの方が圧倒的に広いパターンを持っていることが分かります。これはMLM以外の言語向け自己教師あり学習、例えばGPTの自己回帰でも同様です。
このように言語は、基盤モデルとしての特性を得る上で重要な、構造やパターンの多様性に優れており、モデルに意味理解能力を持たせる上で有利であることが分かります。
加えて、
- インターネット上に大量のデータが存在する
- LLM向けに学習された重みを流用できる(重みの学習にはコストが掛かるため、リソース共有は費用面での利点が大きい)
というメリットもあります。よって画像を主な入力とする場合でも、「LLMを用いて言語を介してデータを理解する」というアプローチが広く活用されます。
画像をLLMに入力する方法
現代のLLMの多くが属するTransformerデコーダの構造を思い出すと、画像のような非言語データをLLMに入力する際には、以下の2箇所の「投入口」があることが分かります。
- ①Cross-Attentionを通じて挿入
- ②入口からテキストトークンと一緒に挿入
どちらから挿入する場合も、以下の言語とのモーダルの違いに由来する課題をクリアする必要があります。
- 課題1:テキストと画像は形式が大きく異なる
- 課題2:Decoder-Only型LLMのMasked Self-Attentionでは語順考慮を行うが、画像には語順が存在しないため、本来意味のない制約が生じてモデル性能が落ちる
- 課題3:画像全体と単語が紐づく場合、画像が複数パッチ・単語が単一トークンとなってしまい、両者のトークンの「密度」が異なる
また、LLMネットワーク全体のスクラッチ学習は膨大な計算コストが掛かるため、実用面では以下の課題も重要です。
- 課題4:なるべく事前学習したLLMの重みを更新せずに凍結し、少ないパラメータ更新で画像入力に適用する
課題1については、CLIPのようなTransformerベースの画像エンコーダを用いれば、画像はパッチごとに分割されて特徴ベクトルに変換され、テキストと共通の意味空間に投影されるため、ベクトルの次元さえ揃えればテキストトークンと共通の形式で扱うことができます。
よって残る課題2,3,4をどのようにクリアするかが重要となります。①、②それぞれの方法で、これらの課題をどのように解決するかを解説します。
①Cross-Attentionを通じて挿入する方法
この方式では後述するCross-Attentionを通じて、画像パッチの特徴ベクトルをLLMの各単語トークンの特徴ベクトルが参照して情報を抽出します。LLMの事前学習済み重みを凍結したまま、いわば視覚情報を横から流し込む形になります。
この方式の代表例として、DeepMind(現Google DeepMind)のFlamingoが挙げられます。
Flamingoのアーキテクチャは以下の図のようになっています(更新対象のパラメータを🔥マーク、更新せずに凍結するパラメータを❄️マークで表すことが、VLM関係の論文ではよくあります)。
Flamingoでは、入力するトークン(テキストトークン)は元のLLMと同じものを使用し、Cross-Attentionを通じて画像パッチの情報をテキストトークンに流し込みます。画像パッチはCLIP等の画像エンコーダで作成し、後述するResamplerでパッチ数を減らすよう情報集約します。
詳しくはTransformerの項で解説しますが、Cross-Attentionは他系列データから有用な情報を集約することができます。Flamingoにおいては、画像パッチの情報をテキストトークンの特徴ベクトルに集約する役割を果たします。
このとき、全ての単語が全ての画像パッチを参照して必要な成分のみを重みづけ抽出することができるため、1つの単語が複数パッチを参照することもできます。よって課題3を解決できます。
またこの構成ではMasked Self-Attentionに画像の特徴ベクトルを流さないため、課題2もクリアできます。
このようにCross-Attentionを通じて挿入する方法は、課題2と3を自然に解決でき、高い表現能力を実現できます。一方で新規にCross-Attention層を増やすことから、更新対象のパラメータ数が多くなり、課題4により学習・推論の計算コストが高くなるというデメリットもあります。
②入口からテキストトークンと一緒に挿入
この方式では、画像エンコーダから出力されたパッチごとの特徴ベクトルを、簡単な全結合層を通して次元を揃えたのちにテキストトークンと一緒にLLMに入力します。この方法ではCross-Attention層を新たに追加しないため、パラメータ増分が少なく、学習コストや推論時間の増加を抑えることができます。
この方式の代表例として、LLaVA(large language and vision assistant)が挙げられます。
LLaVAでは、原論文の以下の図のように、CLIPの画像エンコーダを通して得られたパッチごと特徴ベクトル$\mathbf{Z_v}$を、簡単な全結合層(またはMLP)であるProjection$\mathbf{W}$を通して次元を揃えたのちにテキストトークン$\mathbf{H_q}$と一緒にLLM$f_{\phi}$(Vicuna)に入力します。
CLIPは画像とテキストを共通の意味空間に投影するため、CLIPベースの画像エンコーダが出力する画像トークンには、言語としての意味理解能力が既に備わっています。例えば「犬が写った画像パッチ」のトークンは、「犬」という単語のトークンと類似した特性を持っており、(後述のようにある程度の追加学習が必要ですが)LLMに入力しても性能を発揮できます。
一方でこのように画像トークンを直接LLMへ投入する際に問題となるのが、先ほど述べた課題2,3です。
- 課題2:画像には語順が存在しないため、Masked Self-Attentionによる語順考慮を行うと前のパッチから後ろのパッチを参照できず、本来意味のない制約が生じてモデル性能が落ちる
- 課題3:画像全体(複数トークン)と単語(1トークン)が紐づくなど、画像とテキストのトークンの密度が異なることがある
課題3については以下の図のように画像トークンを先(図の左側&上側)に、テキストトークンを後(図に右側&下側)に配置することで、テキストトークンが全ての画像トークン(パッチ)を参照できるようになるため、1つの単語が複数パッチを参照して密度の差を吸収可能となります。
課題2へはいくつか対処法がありますが、一例としてAttentionマスクの形状を工夫する方法が挙げられます。
GIT Attention Mask
GIT(generative image-to-text transformer for vision and language)と呼ばれる方法では、Masked Self-Attentionのマスクから下図のように画像部分のみ除去します。
このマスクを用いたLLaVAベースのVLM(元来のLLaVAはGIT Attention Maskではなく通常のMasked Self-Attentionのマスクを使用。これでも推論可能)を図示すると、以下のようになります
これにより課題2を以下のように解決できます。
- 課題2:画像には語順が存在しないため、Masked Self-Attentionによる語順考慮を行うと前のパッチから後ろのパッチを参照できず、本来意味のない制約が生じてモデル性能が落ちる
➡︎GIT Attention Maskでは全ての画像パッチ同士が情報を参照できるため、画像部分では語順考慮がなくなる
LLaVAの出力トークンの用途
上の図を見ると分かるように、LLaVAのLLM出力(特徴表現)は大きくテキストトークン部分と画像パッチ(画像トークン)部分に分けられますが、学習時の損失関数計算やテキスト生成には、一般的にテキストトークン部分のみが用いられます。
画像パッチに相当する出力は、元来のLLaVAでは基本的に利用されませんが、副次的な利用法として画像生成やセグメンテーションに利用されることもあるようです。
LLaVAの学習
先ほど課題4として挙げたように、LLMベースのVLMでは、なるべく事前学習したLLMの重みを凍結し、少ないパラメータ更新で画像入力に適合することが求められます。
前述したようにCLIPは画像とテキストを共通の意味空間に投影するため、CLIPベースの画像エンコーダが出力する画像トークンには、言語としての意味理解能力が備わっています。ただしこの画像トークンをそのままLLMに投入してしまうと、以下の2つのギャップからうまく処理することができません。
- CLIPとLLMは学習形式・データが異なるため、両者の「意味的な空間」が異なる
- 画像全体(複数トークン)と単語(1トークン)が紐づくなど、画像とテキストのトークン密度の差を学習できていない(先ほどの課題3)
これら2つのギャップをそれぞれ埋めるため、以下の2段階の学習を実施します。
- 事前学習(pretraining):CLIP出力を画像トークンに変換するProjectionモジュールを学習
➡︎ CLIP出力とLLM入力の意味空間のギャップを埋める - ファインチューニング(fine tuning):LLM本体を学習(VQAタスクによる学習)
➡︎ 複数の画像トークンを1単語に集約する等、画像とテキストのトークン密度のギャップを埋める
「1.事前学習」では、Projection以外のモジュールを凍結した上で、Projectionモジュールの重みパラメータを学習します。
学習には「画像とその説明文のペア」のデータセットを使用します(教師ありデータを使用するため、前述したLLMの事前学習とは意味合いが異なることにご注意ください)。
この学習により、CLIP出力をProjectionモジュールに通して得られた出力が、LLM入力の意味空間と揃います。例えば
- 犬が写った画像トークン
- "犬"という単語のテキストトークン
が近い意味を持つようになります。ただしこの学習ではMasked Self-Attention(あるいはGITマスク)部分の学習は行われないため、複数の画像トークンを1単語に集約するような処理、例えば画像全体で「犬」を表すようなケースに対応できません。
そこで「2.ファインチューニング」では、Masked Self-Attentionを中心としたLLMモデルを、画像エンコーダを凍結してファインチューニングします(Projectionモジュールも凍結せず学習することが多い)。このとき、LLM全体のパラメータ数は膨大となるため、LoRAのような一部のパラメータのみを更新する軽量化技術もよく利用されます。
学習には「画像、人間の質問、LLMが返すべきお手本回答のセット」(visual instruction dataと呼ばれます)のデータセットを使用し、いわゆるVQAタスクによる学習とみなすことができます。お手本回答を正解とした交差エントロピー損失を用いた教師あり次トークン予測であることから、前述のチャットボットのファインチューニングの入力に画像が加わったものとみなすこともできます。
この学習により、例えば複数の画像トークンが集まって「犬」を表すようなケースでも、LLMが犬と認識して回答生成することが可能となります。
より具体的な学習の手順は、以下の記事が参考になります。
Encoder-Decoder型LLMをベースとしたVLM
LLaVAはDecoder-Only型のLLMをベースとしていましたが、下図のようなEncoder-Decoder型のLLMをベースとした、GoogleのPaLIというモデルも存在します。
Resampler
「①Cross-Attentionを通じて挿入する方法」、「②入口からテキストトークンと一緒に挿入する方法」いずれにおいても、画像エンコーダ(多くはCLIP)の出力するパッチ数が多いことが、計算負荷の増大やLLMの最大トークン数の圧迫等の問題を引き起こします。
そこでLLMに投入する際の前処理として、画像エンコーダが出力するパッチからより少ないトークンにCross-Attentionで情報を集約する、Resamplerと呼ばれる方法がよく用いられます。
Resamplerを導入したモデルの代表例として、以下が挙げられます。
- ①Cross-Attentionを通じて挿入する方法:Flamingo(前述)
- ②入口からテキストトークンと一緒に挿入する方法:BLIP-2
Resamplerを用いることで、大量の画像パッチの中から言語理解に繋がる情報を集約してより少ないトークンに集約できます。
BLIP-2に使用されているResamplerは、厳密にはQ-Formerと呼ばれる改良版で、以下の図のようなアーキテクチャを持っています。
Q-Formerでは、通常のVLMの事前学習(LLaVAの事前学習参照)よりも前に、Q-Former自体の学習を実施しておく必要があります。
図中の"Cross Attention"と紫色の"Feed Fowrad"と書かれている部分が通常のResamplerで、それ以外のモジュールはQ-Formerの学習に用いられ、この学習でテキストと対照学習(他2種類の学習タスクがある)を行うことにより、画像から言語理解を引き出す能力をより向上させます。
ネイティブVLM
ここまで紹介したLLMベースのVLMは基本的に既存のLLMの重みやCLIPのような学習済み画像エンコーダを活用し、LoRA等も利用しながら少ないパラメータ更新でモデルを学習していました。
一方でGeminiやChatGPT、Claude OpusのようなフロンティアモデルのVLMでは、LLM本体や画像エンコーダまで含めてスクラッチで学習する、いわば「ネイティブVLM」と言えるような学習形態をとっています。この手法は桁違いの計算資源とデータを持つGoogleやOpenAI、Anthropicの特権とも言えるでしょう。
この形式は開発に巨額のコストが掛かりますが、LLaVAのように画像を後付けでテキストトークン形式に変換する方法と比べ、視覚理解がモデルに最初から組み込まれていることから、画像の細部理解や画像に基づく推論に優れていると言われています。
VLA
VLMでは、画像に関する解釈等をテキストとして出力できます。このテキスト出力は人間の意思決定の役に立ちますが、逆にいうと意思決定して実際にアクションを起こすのは人間の仕事のままです。
そこでこのようなアクションまでAIに行わせるという、
「AIも口じゃなくて手を動かしてくれ!」
という貪欲な要望に応えるべく生まれたのが、VLA(vision language action)です。
VLAは後述のフィジカルAIの中核をなす技術であることから、ロボットや自動車のようなハードウェアを得意とする日本でも近年注目されています(エッジで動作する小型のモデルが求められることから、国産LLMの活用先としても有望だと個人的には思っています。例えば後述の$\pi_0$は3BパラメータのVLMをベースとしています)。
VLAとは
こちらのサーベイ論文によると、VLAは以下のように定義されています。
VLAは、Embodied AI分野におけるマルチモーダルモデルの一種であり、画像、言語、アクションの3つのモダリティからの情報を処理するように設計されている。
VLMで使用していた画像、言語に加え、アクションが加わったことが特徴と言えるでしょう。
ここで重要となるのが、アクション(action)という抽象的な単語の意味する範囲です。詳しくはフィジカルAIの項で解説しますが、VLAがターゲットとするEmbodied AIでは、特に需要の高いロボットや自動運転車両の行動経路の生成が集中的に研究されてきました。
よって本記事でも、ロボットと自動運転車両をターゲットとした手法をメインに解説を進めます。
ロボット・自動運転におけるVLAの典型的なタスクとして、以下のような予測タスクが挙げられます。
- 移動先の予測:単一の移動すべき点(位置$(x,y,z)$、角度$(\theta_x,\theta_y,\theta_z)$、グリップの開閉の7次元が一般的)
- 軌跡(trajectory)の予測:複数点からなる、移動すべき経路。2次元の場合$\boldsymbol{x}=(x,y)$の系列$\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots$を予測する)
ロボットでは移動先、自動運転車両では軌跡を予測することが多いですが、後述の$\pi_0$のようにロボットであっても軌跡を予測するケースがあります。またいずれのケースも、一度推論したら終わりではなく、推論結果に基づき実際に移動したら再度推論するという、リアルタイム処理に近い制御方式を取る場合も多いです(この場合、推論速度の速さが求められます)。
より具体的なイメージをつかむため、後述するRT-2論文で例示されているロボットタスクを見てみましょう。
"put strawberry int the correct bowl"(正しいボウルに苺を入れてください)や"pick up the bag about to fall off the table"(テーブルから落ちそうな袋を拾ってください)のように、「正しいボウル」「落ちそうな袋」等の抽象的な言語理解が求められることや、"move apple to Denver Nuggets"(デンバーナゲッツにりんごを移動させてください)のように、固有名詞(デンバーナゲッツというNBAのチーム名)やそのロゴの判別が求められ、高い言語・画像理解能力が前提とされていることがわかります。
このような言語理解に基づきロボットがアクションを行う、VLA向けのデータセットの代表例として、以下のOpen X-Embodimentデータセットが挙げられます。
VLAの学習データ取得の困難さと工夫
VLAで課題となるのが、アクションを含むデータを大量に確保することです。学習には、画像等のセンサデータとテキストプロンプト、および実際の動作のセットが必要になりますが、動作の正解データは人間が手間を掛けて作成する必要があります。よって抽象的な言語・画像理解能力を要するタスクが解ける、基盤モデル的な特性をスクラッチ学習できるほど大量のデータを確保することは、一般的に困難です。したがってVLAではデータ取得の困難性をカバーするため、以下のような手法がよく用いられます。
- 少ないデータで性能を出せるよう、VLMの既存の重みを活用する
- シミュレーションや世界モデル(後述)を用いて、人工的にデータを作成する
2026年現在、ロボット・自動運転用途共に、1つ目の工夫に基づくVLMベースのモデルが主流となっており、代表的なものには以下が挙げられます
- RT-2:VLMのテキスト生成の仕組みで移動先の座標を生成。座標を離散カテゴリ化することで分類タスクとして解き、協調ファインチューニングで汎用的な言語・画像理解能力とロボットのアクション生成能力を両立
- OpenVLA:オープンソースのVLAモデル。RT-2と似たVLMベースの構造を持つが、協調ファインチューニングを行わずよりロボットのアクション生成能力を重視
- $\pi_0$:VLMベースの構造にフローマッチングによる軌跡生成を加えることで、滑らかな動作を実現
RT-2
VLAというカテゴリの基礎となったモデルが、Google DeepMindの開発したRT-2です。RT-2は、学習済のVLM(Decoder-Only型のPaLMまたはEncoder-Decoder型のPaLI)を、アーキテクチャはそのままにファインチューニングのタスクを工夫することで、アクション(ロボットの移動先座標)を生成する能力を持たせています。
本質的にやっていることは、VLMモデルに
テキスト「⚪︎⚪︎してください(指示)」+画像
を入力し、VLMが回答として
「$x=16,y=-54,z=32.3,\theta_x=35.1,\theta_y=72.2,\theta_z=-125.3,\text{grip}=\text{open}$」(実際は後述のように離散的なトークン列として返される)
のような座標(アクション)のテキストを返すタスクです。これは通常のVQAタスクと非常に近く、VQAとの差を埋めるためにモデルに以下の能力を持たせるよう
- 汎用的な理解能力とロボット特有の状況理解能力両方を持つ
- 出力座標(数値)を返せるようにする
以下のような工夫を学習データに加えます。
- VQAタスクによる協調ファインチューニング
- 出力座標を離散値の分類トークンで表す
1. VQAタスクによる協調ファインチューニング
先ほどの例を見ると分かるように、VLAでは汎用的かつ抽象的な言語理解が求められると同時に、ロボット特有の状況理解能力も求められます。
学習データにロボット専用の画像とアクションばかりを用いてしまうと、元々のVLAモデルが持っていた汎用的な言語理解能力が、重みパラメータの変化によって失われてしまいます。このように事前学習で得た能力が追加学習で失われてしまうことを、破壊的忘却(catastrophic forgetting)と呼びます。
この破壊的忘却を防ぐため、RT-2のファインチューニングでは以下の2種類をタスクを同時に実施する、協調ファインチューニング(Co-fine-tuning)を行います。
- アクション学習タスク:「テキストによる指示、ロボットで撮影した画像、アクション(移動先の座標)」のセットを用いる
➡︎ ロボット特有の状況理解能力とアクション生成能力を得る - VQAタスク:一般的なVQAタスクのファインチューニング(LLaVAの例参照)と同様、「画像、人間の質問、LLMが返すべき回答のセット」を用いる
➡︎ 破壊的忘却を防ぎ、汎用的かつ抽象的な言語理解能力を維持する
いずれのタスクも交差エントロピー損失を用いた次トークン予測の亜種とみなすことができます。
両学習タスクとモデルアーキテクチャの関係をまとめると、以下の図のようになります。
2. 出力座標を離散値の分類トークンで表す
BERTのMLMの例を思い返すとわかりますが、基本的にLLMの事前学習は、各単語の分類タスクを解くことで学習を進めます。本来のロボット座標は連続値のため、ヘッドを連続値を予測するための回帰用のものに付け替えれば予測自体はできますが、タスクの差から効率が悪くなってしまいます。このLLM/VLMとのタスクの差異に加え、以下の理由から回帰よりも分類タスクに落とし込むことが望ましいと言われています。
- 連続値予測では2つの経路候補があるときにその平均を返す傾向があり、結果として障害物に真ん中から突っ込むこともある
- そもそもディープラーニングは特性的に回帰タスクより分類タスクの方が得意
そこで移動先のロボット座標の予測を分類タスクとして解くため、RT-2では移動先の座標を$N$個($N=256$がよく用いられる)等分割し、それぞれの分割範囲に分類用のトークンを割り当てます。例えば$x$軸の可動範囲が0〜512、$y$軸の可動範囲が0〜256の場合、以下のように座標にトークンを割り当てます
例えば$x$軸の可動範囲が0〜512、$y$軸の可動範囲が0〜256、$z$軸の可動範囲が0〜128、全ての回転軸の可動範囲が-128〜128の場合、出力トークン
[30] [20] [40] [0] [0] [255]
は
$x=61,y=20.5,z=20.25,\theta_x=-127.5,\theta_y=-127.5,\theta_z=127.5$
を表します。これらのトークンにグリッパの状態とアクション終了を表すトークンを加えた
[30] [20] [40] [0] [0] [255] [gripper_extension] [terminate]
のようなフォーマットが、RT-2の典型的な出力形式です(複数の座標を一度に出力して軌跡とすることも可能です)。
この方法により座標が丸められて精度が落ちてしまうため、RT-2は高精度が求められるタスクには向かず、意味理解が求められる代わりに精度が粗くとも良いタスクに向いています。
RT-2のデモ
RT-2にはGUIで動作イメージを掴めるデモページがあるため、興味がある方は見てみると良いでしょう。
OpenVLA
OpenVLAはオープンソースのVLAで、以下のようにRT-2と類似したモデル構造を持ちます。
- 学習済のVLMをベースとする(Prismatic VLM)
- アクション(移動先の座標)を離散数値の分類タスクとして解く
一方で、オープンソースということもあり小さな組織でも使えることや、よりロボットタスクに特化することを意識して、RT-2とは以下のような差を持たせています。
- VQAタスクによる協調ファインチューニングは行わず、「テキストによる指示、ロボットで撮影した画像、アクション(移動先の座標)」のセットのみを用いて学習する(あくまでロボットタスクを重視)
- LoRAを用いてファインチューニングを軽量化し、限られたリソースでの学習を実現する(RT-2は全パラメータを更新)
- 座標の離散トークン化時に等分割ではなく分位点に基づき分割することで、よく通る位置での精度を重視
- 画像エンコーダとして言語との意味空間の共通性を重視したSigLIP(CLIPの改良型)に加え、画像の構造理解に重きを置いたDINOv2を併用
- 学習にもオープンソースのOpen X Embodimentデータセットを使用
π0
$\pi_0$はPhysical Intelligence社が開発したロボット向けのVLAモデルです。
今まで紹介したRT-2やOpenVLAは、以下のようなアクションを出力していました。
- 単一の移動先の座標(ただし、原理上は複数点を出力することもできます)
- 各軸の値は離散値(分類問題に落とし込むため)
これに対し$\pi_0$は、以下の形式でアクションを出力することが特徴です。
- 複数の座標からなる時系列的な移動先の系列(軌跡に近い形式。アクションチャンクとも呼ばれ、RT-2のような位置座標ではなくロボットの関節角度で表されることが多い)
- 各軸の値は連続値
このような時系列的な移動先の系列を、フローマッチング(Flow Matching)と呼ばれる方法(拡散モデルと類似した手法)で生成することで、滑らかな動作を実現しています。
以下が$\pi_0$のアーキテクチャ図ですが、左側の通常のVLM(青い部分。SigLIP+Decoder-Only型のGemmaという、PaLM型のRT-2と非常に近い構成)に加え、右側にフローマッチングによるアクションチャンク生成用モジュールが付加されています。
図を見ると、VLMにより解釈される言語・画像入力に加え、ロボットの状態(現在の関節角度等)$\boldsymbol{q}_t$が入力されています。これら画像・言語・状態を表す特徴ベクトルから、Attention(原論文に記載されていなかったので、Masked Self-Attention、Cross-Attentionどちらかは不明)を通じてフローマッチングに情報が送られます。これらアクション以外の画像・言語・状態トークンからの情報注入が、フローマッチングの条件付き分布の条件の部分として機能するようです。
自動運転系のVLA
ここまで紹介したのはロボット向けのVLAですが、車両の自動運転向けのVLAについても簡単に触れておきます。
SimLingo
SimLingoは、イギリスのWayve社が開発した自動運転用のVLAモデルです。
ロボット向けVLA(RT-2等)との差に主眼を置いたSimLingoの特徴として、以下が挙げられます。
- 軌跡予測はRT-2のようなLLMと離散値トークンによるテキスト生成方式ではなく、Cross-Attentionを通じて視覚・言語情報を抽出して回帰タスクとして実施
- 軌跡予測では、0.25秒ごとの軌跡各点の座標(speed waypoints)と1mごとの軌跡各点の座標(path waypoints)の2種類の軌跡を予測。これにより速度と角度を分離して制御を改善できる
- 軌跡予測タスク、VQAタスクに加え、指示と行動の整合性を見るAction Dreamingタスクも学習に使用
- 高解像度画像を効率よく処理して小さなオブジェクトも考慮できるようにするため、ピクセルアンシャッフルと呼ばれる手法を画像エンコーダの後段に適用
- 目的地(GPS Target Points)または右左折のようなコマンド(Language Command)を、ナビゲーション情報として別途入力
SimLingoのモデルアーキテクチャは、以下の図のようになっています。
画像エンコーダ出力にPixel Unshuffleが適用されていること、ナビゲーション情報(GPS Target PointsとLanguage Command)が別途入力されていること、2種類の軌跡クエリがCross-AttentionでLLMから得た視覚・言語・ナビゲーション情報に基づき軌跡予測していること等が読み取れます。
Language promptとLanguage Commandは紛らわしいですが、以下のように明確に役割が異なります
- Language prompt:実行すべきタスクの種類を指定(タスクによっては質問内容を追加)
- Language Command:右左折のような運転指示コマンドを表す埋め込み(自由入力ではなくカテゴリ)
またAction Dreamingタスクでは具体的に、同じ画像に対して複数の異なる指示を出し、指示に応じて異なる正解の軌跡データを準備しておくことで、言語指示と行動とを整合させる能力を高めます。具体的な指示には以下の例が挙げられます。
- いつもより速く/遅く移動する
- 車線変更する
- 障害物にわざとぶつかる
自動運転では画像情報の重要度が高く、通常の軌跡予測タスクだけではテキスト指示が重視されない傾向があるため、このようなテキスト指示への対応能力をAction Dreamingタスクを通じて高めます。
DriveGPT
DriveGPTは、LLM(Transformerデコーダ)の逐次的生成(自己回帰、次トークン予測)の仕組みを、軌跡の生成に応用した手法です。
DriveGPTのアーキテクチャは以下のようになっています。
Encoder-Decoder型のLLMと近い構造をしているように見えます。具体的には、EncoderとDecoderが以下のように作用して軌跡を生成します。
- Encoder:周囲の車両や歩行者の未来の動きを意味的な特徴ベクトル化
- Decoder:Encoderで得られた意味的な特徴ベクトルからCross-Attentionで情報抽出し、自己回帰の仕組みを利用して軌跡を逐次的に生成する
エンコーダはCLIPのようなVLMでよく使われる画像エンコーダではなく、VectorNetと呼ばれる周囲の車両や歩行者の未来の動きを予測するモデルを用い、その推論結果を埋め込み化したのちSelf-Attentionで特徴ベクトル化しています。すなわち、VectorNetに入力するための周囲の車両や歩行者の位置をトラッキング手法等を用いて事前に検出しておく必要があります。
デコーダでは、GPTのようなテキストの自己回帰による生成
単語1を生成
単語1を参照して単語2を生成
単語1と2を参照して単語3を生成
:
のメカニズムを流用し、
センサデータと現在地を参照 ➡︎ 移動先1を生成
センサデータと現在地と移動先1を参照 ➡︎ 移動先2を生成
センサデータと現在地と移動先1と移動先2を参照 ➡︎ 移動先3を生成
:
のような流れで軌跡を生成します。
DriveHeron
つい最近(2026/3)公道自動運転を実現したことで話題となった、日本のチューリング社のモデルです。詳細は以下の記事が参考になります。
アーキテクチャ的な特徴として、軌跡予測にシンプルな回帰ヘッドを採用していることが挙げられます。
先ほどRT-2の項で「ディープラーニングは回帰タスクが苦手なので離散化して分類タスクに落とし込んだ」と述べ、また$\pi_0$では離散化による精度低下を防いで連続値を予測するため、フローマッチングを用いていました。
一方で、リアルタイム性が求められる自動運転用途では、推論性能以上に高速化が重要視されることも多いです。上記の記事によると、軽量で高速推論可能な回帰ヘッドのメリットがデメリットを上回り、逆にフローマッチングのような手法では推論速度の低下や反復更新による誤差の蓄積が問題となったため、回帰ヘッドが採用されるに至ったそうです。
モデルの「パーツ」を表す用語
ディープラーニングのモデルは、その「パーツ」とも言える層を積み重ねて構成されます。
「パーツ」を表す層のカテゴリ分け
これらの層は、学習対象となる重みパラメータ(weight parameter)を持つかどうかで、大きく以下2種類にカテゴライズされます。
- 重みパラメータを持つ層 ➡︎ 学習対象となる
- 重みパラメータを持たない層 ➡︎ 学習対象とならない
特に「1. 重みパラメータを持つ層」は、データからの学習結果を保持するという観点で、ニューラルネットワークの屋台骨といえる重要な存在です。このような重みパラメータを持つ層の中でも、特徴抽出(データ表現の本質的な変換)を担い、パラメータ数が多いという観点で、以下の3種類の層が特に重要です。
- 全結合層
- 畳み込み層
- Transformer(Transformer層、エンコーダブロック)
これら3種類の層の特性は、データの構造的な偏りを表す帰納バイアス(inductive bias)をどれだけ強く考慮するかに基づき、以下のようにまとめられます
| 全結合層 | 畳み込み層 | Transformer | |
|---|---|---|---|
| 構造の偏り(帰納バイアス)を考慮できる? |
帰納バイアスなし (近い点と遠い点が同等に評価される) |
強い帰納バイアス (近い点が優先される) |
弱い帰納バイアス (遠近問わず性能に寄与する関係性が優先される) |
| 長距離依存を考慮できる? | できる |
できない (多層化により間接的に可能) |
できる |
| 計算の並列化 | できる | できる | できる |
特に最後の「計算の並列化」は、大規模なモデルを大量のデータと計算資源で学習する現代的なモデル開発において必須とも言える特性で、これら3種類の層がよく利用される理由となっています。
これらの層の中でもTransformerは汎用性が広く、複数の種類(モダリティ)のデータを混在させて入力できるというメリットも持ちます。これだけ見ると
「全部Transformerでええやん!」
と思われる方も多そうですが、実際大半の層がTransformerで構築されたモデルも最近は増えています。
ただし、画像の局所構造の抽出や少ないデータでの学習は畳み込み層が得意であったり、予測ヘッドには全結合層が向いていたりすることから、畳み込み層や全結合層もまだまだ多くの場面で使われています(そもそもTransformerの核心部であるSelf-AttentionのQKV Projectionは全結合層の一種ですし、Transformerの随所にも全結合層が組み込まれています)。また畳み込み層をTransformerと組み合わせて使用することで性能が向上するケースも多く、これら3種類の層構造は当面は適材適所で用いられていくでしょう。
それぞれの層について概説します。
全結合層
先ほどのニューラルネットワークの項で解説した以下のネットワーク構造の各層が、全結合層です。
図中の各々の丸のことをニューロン(neuron)と呼び、全結合層の処理はこのニューロン間の情報伝達の計算が基本単位となっています。
ニューロン間の情報伝達は、以下の図のように足し算と活性化関数の適用で計算できます。
- 各入力を重みづけして足し算する:$a = w_1 x_1 + w_2 x_2 + b$
- 活性化関数を適用する$y = h(a)$
例えば$l$番目の層の$j$番目のニューロンの出力$z_{j}^{(l)}$は、以下の図のように考えて
以下のように計算できます
z_{j}^{(l)}=h\Bigl(\sum_{i=1}^{m^{(l-1)}} w_{ij}^{(l)}z_{i}^{(l-1)}+b_{j}^{(l)} \Bigr)
- $i$:入力ニューロン(前層)の添字
- $j$:出力ニューロン(当該層)の添字
- $l$:何番目の層か
活性化関数には、出力が多様な表現を持てるように非線形関数(直線ではない関数)が利用されます。例えば以下のようなシグモイド、ReLU、Swish関数等がよく用いられます。
足し算と非線形関数でモデルを表現するアプローチは、他の多くの機械学習アルゴリズム(SVMやロジスティック回帰等)と共通しており、これだけではニューラルネットワークが現在のような覇権を築いた理由付けにはなりません。
ニューラルネットワークの他モデルに対する最大の優位点は、以下の理由に集約されます。
「誤差逆伝播法により大量のパラメータをGPUで並列高速学習し、高い表現力を得られること」
詳細は1-3 ニューラルネットワークの学習で解説しますが、誤差逆伝播法が適用できるためには、
「前の層の微分を後の層の微分の行列計算で求められる」(微分可能な層と呼びます)
必要があります。このような微分可能な特性を持つシンプルな層が全結合層であり、ニューラルネットワークの基礎的な層として広く利用されています。
MLP
全結合層を複数重ねたネットワークがMLP(多層パーセプトロン)であり、先ほどニューラルネットワークの項で解説したネットワーク構造もMLPに位置付けられます。
MLPは単体で用いられることもありますが、「全ての入力を公平に(帰納バイアスなしで)集約して出力できる」という特性から、以下のような出力変換・接続用途でよく用いられます。
- ヘッド用途:今までの処理結果を集約(エンコーダとヘッド、デコーダ参照)
- モジュール接続:異なる性質を持つネットワーク同士を繋ぐ(VLMのProjectionが典型的)
畳み込み層とCNN
畳み込み層は、画像処理でよく用いられていた畳み込みフィルタ(前述のHaar-likeもその一種)の考え方を応用し、
- 学習可能:フィルタ形状を学習データに合わせて動的に決定し、柔軟かつ多様な特徴を抽出できる
- 微分可能:誤差逆伝播法でニューラルネットワークの一部として大量パラメータを高速学習できる
という特性を持たせた層構造です。
構造的偏りを検出するための機能バイアスを強く持つ層であるため、局所特徴の抽出を得意としており、特にネットワークの前半部分によく用いられます。
畳み込み層の構造
畳み込み層では以下の図に示すように、フィルタを走査して入力画像との重み付け和(畳み込み演算)をとります。
フィルタを操作してその範囲内での階調値を足し合わせるという観点では、先ほどのHaar-Like特徴量と同じ処理になっています。一方でHaar-Likeと比べると、以下の理由で抽出できる特徴の柔軟性や多様性が格段に向上していることが分かります。
- フィルタ部分を足すか引くかの二択であるHaar-Likeと比べ、畳み込み層は連続的な係数値をかけるため、抽出する特徴の多様性を上げられる
- データに合わせて動的にフィルタを学習することで、柔軟に特徴を抽出できる
このような多様な特徴を、データに対するタスク性能が上がるように動的に抽出できることが、畳み込み層が画像認識で飛躍的な性能向上を実現できた要因です。
畳み込み層の作用
上の図のようにフィルタが文字で表されているとイメージが沸きづらいと思うので、具体的な数値を入れた例を考えてみます。
例えば下の図のように上の行がプラス、真ん中の行がゼロ、下の行がマイナスのフィルタを適用すると、画像の上下方向のエッジが抽出されます。
このように畳み込み層は、エッジのような局所構造を強調させる効果を持ちます。
また数字を揃える方向を行方向から列方向に変えることで左右方向のエッジが抽出できるなど、係数を変化させることで抽出できる特徴が変わります。
ディープラーニングにおける畳み込み層では、フィルタの係数は動的に学習できる重みパラメータとなっており、誤差逆伝播法の作用により、指定したタスクに対する性能を最大化するような特徴を抽出できるように、自動で係数の最適化が進みます。
これにより、人間が介在することなく性能に寄与する特徴を得ることができ、まさにディープラーニングのメリットとして挙げた、特徴抽出の自動化を達成できていることがわかります。
CNN
CNN(convolutional neural network:畳み込みニューラルネットワーク)とは、日立の定義によると
主な処理が畳み込み層を用いた空間フィルタリングであるニューラルネットワーク
であり、畳み込み層を主体としたニューラルネットワークと定義できます。
IBMによるとCNNは主に以下の層から構成され、
- 畳み込み層:画像の局所特徴を抽出する
- プーリング層(MAXプーリング等):特徴の解像度を下げ、位置変化へのロバスト性を持たせる
- 全結合層:抽出した特徴を用いて最終的な判定(分類など)を実施する
典型的には以下のような構造を持っています。
実際の層の数はもっと多く、例えば以下の図のVGG11のような比較的小型のCNNであっても、11層の構造を持っています(convが畳み込み層、FCが全結合層を表す。MAXプーリング層は重みパラメータを持たないために層数にカウントされない)。
一般的には層を深くするほど性能が上がることが示されており、これが「ディープラーニング」と呼ばれる由来にもなっています。中にはResNet152のように152層もの深い層を持つモデルも存在しますが、このような深い層を誤差逆伝播法で学習しようとすると、ネットワークの隅々まで学習効果を行き渡らせる難易度の高さから、様々な問題が発生します。
このような問題を解決するため、ディープラーニングブーム到来以降も様々な手法が開発されています。詳細は1-5 学習の安定化と過学習防止および3-2 ニューラルネットワーク高速化のための工夫で解説します。
CNNにおける各層の役割
CNNの各畳み込み層は、上流から下流に向かって以下のような異なる役割を担っています。
- 浅い層(上流側の層): 画像の「エッジ」や「点」などの局所的かつ単純な要素を認識
- 中間の層: それらを組み合わせて「円」や「四角」といった形を認識
- 深い層(下流側の層): さらに複雑な「顔」や「物体そのもの」のような抽象的な概念を認識
Transformer
前述のようにTransformerは、遠近問わず性能に寄与するデータの部分構造間の関連性を抽出できる、汎用性の広い層構造です。ここではこのような特性が得られるメカニズムを、簡単に紹介します。
「Transformer」という単語は、文脈に応じて以下のように使い分けられます
- 「層」を表す:「Transformer層」や「エンコーダブロック」とも呼ばれる
- 「ネットワーク全体」を表す:ViTやBERTのようなTransformerベースのモデルの総称
ここでは主に、層としてのTranformerの役割について解説します。
Transformer層(エンコーダブロック)の構造
Transformer層の構造を図示すると、以下のようになります(図の構成は元来のテキスト向けエンコーダで、モデルにより多少構成が変わります)
既に述べたように、Transformerでデータを処理するためには、以下のように特徴ベクトルと呼ばれる数値ベクトルに変換する必要があります。
- テキスト:単語(トークン)ごとにベクトルに変換
- 画像:格子状に分割したパッチごとにベクトルに変換
例えば画像をターゲットとするVision Transformer(ViT)の場合、Transformer層(エンコーダブロック)を中心として以下のような全体フローで処理がなされます。
ここではViTを主な題材として、Transformer層の動作原理を具体的に見ていきます。
特徴ベクトル化したデータに対して、Transformer層では以下の処理を適用します。
- Self-Attention:特徴ベクトル間の関連性の強さで重み付けして情報を集約する
- スキップ接続(図中の$\oplus$):元の特徴ベクトルのローカル情報を残す&勾配消失防止
- レイヤー正規化(Layer Normalization):特徴ベクトルのスケールを揃えて学習を安定化させる
- MLP:特徴ベクトルの内部表現をタスク性能が向上するよう非線形変換する
この中でも中心的な役割を果たすのが。Self-Attentionです。
Self-Attentionの構造と役割
Self-Attentionでは、入力した特徴ベクトルを行列$\mathbf{Z}$として1つにまとめ、以下の処理を順番に加えます。
- 線形変換して$\mathbf{Q}, \mathbf{K}, \mathbf{V}$の3つに分割
- $\mathbf{Q}$と$\mathbf{K}$の転置の内積をとる(演算した内積をAttention Weightと呼ぶ)
- Attention Weightと$V$の積をとる
これらの処理を式にすると以下のようになります(処理2は内積だけでなくソフトマックス関数を適用して$\sqrt{D}$で割っていますが、ここでは簡単のため「内積」とみなしてください)。
[\mathbf{Q}, \mathbf{K}, \mathbf{V}] = \mathbf{Z} \mathbf{U}_{qkv} \quad \mathbf{U}_{qkv} \in \mathbb{R}^{D \times 3D}, \quad (1)
\mathbf{A} = \text{softmax}\left(\frac{\mathbf{Q}\mathbf{K}^\top}{\sqrt{D}}\right) \quad \mathbf{A} \in \mathbb{R}^{{N_p} \times {N_p}}, \quad (2)
\text{SA}(\mathbf{Z})=\mathbf{A}\mathbf{V} \quad (3)
詳しくは5-2 Vision Transformerで解説しますが、これらの処理により以下の効果が得られます。
2.の内積処理:特徴ベクトル同士の関連性の大きさを求める
3.の行列積:関連性の大きさに基づき特徴ベクトルを加重和
両処理をまとめると以下の図のように、関連性が高いパッチ(トークン)同士で情報を交換・集約した特徴ベクトルが得られることとなります。
TransformerではこのようなSelf-Attentionの特性に基づき、関連性が高いパッチ(トークン)同士での情報交換を繰り返していきます。これはパッチやトークンのようなデータの各部分が持つ有用な情報を集約する役割を果たすのですが、
- そもそも「関連性が高いパッチ」とは何なのか
- なぜ関連性が高いパッチで情報交換すると性能が上がるのか
について、簡単に解説していきます。
Self-Attensionが紐づける「関連性」
ひとことにパッチが「関連している」と言っても、以下のように様々なパターンが考えられます。
- 局所的な特徴の類似:色合いや模様等の類似性など、パッチの見た目自体が似ているケース
- 文脈的な類似:同じ猫の「耳」と「ひげ」など、パッチの見た目は似ていないが、両者がセットで現れるようなケース
- 大域的な構造:パッチ同士を結合して現れる全体形状に意味があるケース(例:シルエットだけで猫が分かる)
- 情報の補完:パッチが「猫」か「背景」か微妙なケースでは、両方の情報を関連づけて精査することで、どちらに属するか確定しやすくなる
Transformerエンコーダはこのいずれのパターンにも対応できる上に、離れたパッチ同士を紐づけることもできるため、離れた関係の考慮を苦手とするCNNよりも多様なパターンに対応できます。
なぜSelf-Attentionでは「関連性」が高いパッチが紐づくのか
詳しくは5-2 Vision Transformer(ViT)で解説しますが、ニューラルネットワークでは誤差逆伝播法の作用により、タスク性能が向上するようにモデル内の重みの学習が進みます。
特にSelf-Attention部分では、情報交換することでタスク性能が上がるパッチ間のAttention Weightを大きくするよう、重みが学習されます。
よって、
「関連性が高いパッチ同士を紐付けて情報交換する」➡︎「性能が向上する」
という因果関係が言えれば、誤差逆伝播法の作用により
「性能が上がるようにパッチ同士を紐付ける」➡︎「紐づいたパッチ同士は関連性が高い」
という状況が自然と実現されます。この前者の因果関係が傾向として成り立ちやすいことを示していきましょう。
例えば猫と他の動物を区別する分類タスクの場合、古典画像処理で切り口の異なる特徴量を併用すると性能が上がっていたことをイメージすると、
- 猫ぽい毛並みが映った複数のパッチを関連付けて情報を流し合うと、猫らしい特徴が集約されて判別性が上がり、毛並みの多様性も取り込めてロバスト性も上がる
- 猫特有の形状を持つ耳とひげを関連付けると、両者の特徴を取り込めて他の動物との差が際立つ
- 猫の身体全体を関連付けることで、形状が明確化して他の動物との差が際立つ
- あるパッチが「猫」か「背景」か微妙なケースでは、両方の情報を関連づけて精査することで、どちらに属するか確定しやすくなる
のように、
- 局所的な特徴の類似:毛並み
- 文脈的な類似:「耳」と「ひげ」
- 大域的な構造:パッチ同士を結合して現れる身体の全体形状
- 情報の補完:「曖昧なパッチ」と「猫と明らかなパッチ」「背景と明らかなパッチ」との紐付け
という関連性が高いパッチを紐付けて情報交換することが、分類性能向上に寄与することが分かります。
Vision Transformerにおける各層の役割
CNNでは上流側の層は局所的かつ単純な要素を、下流側の層は大域的かつ抽象的な概念を認識するという役割分担がありました。
Vision Transformerでも、同様に層の深さによる役割分担が行われています。
- 浅い層(上流側の層): 鳥の羽の模様のような局所的かつ単純な要素を認識し、かつ似た要素を持つ離れた領域同士を紐づける
- 深い層(下流側の層): 鳥のくちばしと尾のように、局所特徴は異なるが意味的に繋がりのある抽象的な関係を認識し、それらを一体のものとして紐づける
ただし、Vision TransformerではAttentionの作用により、近い点と遠い点を同時に参照して重要な関係を選択することができるため、より少ない層でスケールの異なる特徴を考慮できます。
例えばVision Transformer論文には、横軸に上流から見て何層目か、縦軸にAttention Weightで重み付け平均したピクセル距離(紐付けられた部分構造間の距離とみなせる)をとった、以下のようなグラフが掲載されています。
グラフを見ると、以下が読み取れます。
-
浅い層(横軸=0に近い):近距離と長距離の関連性両方を紐付け
➡︎ テクスチャのような単純な要素を遠近問わず紐付けていると思われる -
深い層(横軸大):遠距離の関連性のみを紐付け
➡︎ 遠距離の抽象的な関係を考慮することに重点が置かれていると思われる
基盤モデルとTransformer
上で解説したように、基盤モデルでは創発性を得るためにデータの本質的なパターンや構造を学習することが求められ、以下の特性を必要とします
- データやモデルの複雑性:データの本質的な構造やパターンを学習できるよう、入出力両方のデータ形式や学習タスク、モデル構成を工夫する
- データの多様性:多種多様かつ大量のデータを学習する
ViTを始めとしたTransformer系モデルでは
- パッチ埋め込みによる、局所特徴の考慮
- Self-Attentionによる、グローバルな領域の関係性の考慮(下流側にいくと抽象的な関係も考慮できる)
- 位置埋め込みによる、共通した位置情報の考慮
のように、多種多様なスケールの特徴を同時に考慮することができます。これは局所構造に重きをおいたCNNと比べて、より多様な画像の構造やパターンを取り込めることを意味し、モデルの複雑性と言う基盤モデルの要件によく合致します。よって基盤モデルでは、Transformer系のモデルがよく用いられています。
またこちらも基盤モデルの項で解説しましたが、このような複雑なパターンを学ぶためには、モデル構造だけでなくデータや学習タスクにも、以下のような多様なパターンを学習するための工夫が必要です。
データ:数億枚規模の大量のデータを用いる
学習タスク:抽象的なデータの構造やパターンを学べる、自己教師あり学習や対象学習を用いる
Masked Self-AttentionとCross-Attention
Self-Attentionは、特徴ベクトル同士の内積計算に基づき、
データの部分構造間の関連性の強さを重み付け ➡︎ 情報集約による性能向上
を実現する機構でした。
この「特徴ベクトル同士の内積計算に基づき関連性を重み付け」するというアプローチは、Self-Attentionのように自身の部分構造の有用な情報集約だけでなく、以下の用途にも用いることができます。
- 過去部分(自分より前の単語)だけを参照することで、推論時と同条件で(カンニングなしで)次単語を予測・生成する
➡︎ Masked Self-Anttention - 他のデータを参照することで、他データの部分構造の有用な情報を自身に集約する
➡︎ Cross-Attention
Self-Attention、Masked Self-Anttention、Cross-Attentionの構造の違いは、以下の図のように表せます。
| 名称 | 参照元のデータ(Q) | 参照先のデータ(KV) | 概要 | 用途 | 使用されるモデル |
|---|---|---|---|---|---|
| Self-Attention | 自身 | 自身 | 類似した特徴ベクトルの情報を加重和 | 各部分構造の有用な情報を集約してタスク性能向上 | BERT、ViTなど多くのTransformerモデル |
| Masked Self-Attention | 自身 | 自身の過去部分 | 前の単語だけ見るようマスク適用したSelf-Attention | 自己回帰による生成(特にテキスト生成) | GPTなど多くの生成系LLM/VLM |
| Cross-Attention | 情報を得たいデータ | 情報抽出したい別系列データ | 別系列データの情報を加重和 | 性能向上に寄与する情報を、別データから選択・集約する | VLM、翻訳、物体検出など |
LLMの項やVLMの項でも述べましたが、Masked Self-Attentionはテキスト生成能力を持つモデルで中心的な役割を果たしており、現代LLMを支える技術と言ってもよいでしょう。
またCross-Attentionは性質の異なるデータ同士の情報を柔軟に集約できるため、VLMのようなマルチモーダルモデルの随所で活用されています(前述のFlamingoやResampler等)。
その他の層
全結合層、畳み込み層、Transformerはディープラーニング、すなわち現代のAIの根幹を担う最重要パーツですが、これらの層に他の補助的な層を組み合わせることで、目的に合わせたさらなる性能向上を実現できます。
このような補助的な用途でよく使用される層として、以下が挙げられます(層と呼べるか議論が分かれる部分構造も含みます)
CNNでよく用いられる層
| 名称 | 重みパラメータの有無 | 役割 |
|---|---|---|
| Maxプーリング(max pooling) | なし | 特徴の解像度を下げ、位置変化へのロバスト性を持たせる |
| Averageプーリング(max pooling) | なし | 特徴の解像度を下げ、位置変化へのロバスト性を持たせる(Maxプーリングの最大値を平均値に変えたもの) |
| バッチ正規化(Batch Normalization) | あり | 中間層出力のスケールを揃えて学習を安定化・高速化 |
Transformerでよく用いられる層
| 名称 | 重みパラメータの有無 | 役割 |
|---|---|---|
| レイヤー正規化(Layer Normalization) | あり | 特徴ベクトルのスケールを揃えて学習を安定化・高速化 |
| 位置埋め込み(position embedding) | あり | 系列内の位置情報を特徴ベクトルに付加(厳密には全結合層の一種) |
| トークン埋め込み(token embedding) | あり | 単語トークンを特徴ベクトルに変換(厳密には全結合層の一種) |
| パッチ埋め込み(patch embedding) | あり | 画像パッチを特徴ベクトルに変換(厳密には全結合層の一種) |
両方でよく用いられる層
| 名称 | 重みパラメータの有無 | 役割 |
|---|---|---|
| Dropout | なし | 出力を確率的に通過させ過学習を防止する |
| 残差接続(residual connection) | なし | 層の入力を出力に加算し、勾配消失を防ぐ |
AIの「社会に対する立ち位置」を表す用語
- フィジカルAI
- AGI
- ASIとシンギュラリティ
フィジカルAI
フィジカルAIの定義
フィジカルAI(physical AI)は、NVIDIAの定義によると
ロボットや自動運転車などの自律マシンが、現実の物理的な世界を認識、理解して、複雑な行動をできるようにする
ものとされています。端的に言うと、
センサによる認識を通じてAIが世界を理解し行動計画を立て、ロボット等の機械が実際に動く
ようなシステムを表していると言えるでしょう。
定義のページを見ると分かるように、フィジカルAIがメインターゲットとするのはロボットと自度運転車両です。
また、NVIDIA社がフィジカルAI関係でリリースしたサービスを見ると、フィジカルAIのコア技術には以下が挙げられるでしょう。
- VLAモデル:AIが言語を通じてセンサデータから周囲の状況を理解し、ロボットや自動運転車を通じて実際にアクションを起こす
- 世界モデルとデジタルツイン:既存の物理シミュレーションと、実世界法則を理解してよりリアルなデータを生成できる世界モデルを組み合わせ、AIの学習やロボットシステム開発を効率化
これらについては後ほどそれぞれ解説します。
Embodied AI
フィジカルと似た概念としてEmbodied AIが挙げられ、デロイトの定義によると
「身体性」を備え、物理世界と相互作用しながら自律的に行動するAI
とされています(元からあったEmbodied AIという概念に代わってフィジカル
AIという言葉が流行ったのは、CES2025、CES2026でNVIDIA社が基調講演したことで生まれたバズワード的な側面もあると思います)。
VLA
前述のように、VLA(vision language action)は
画像、言語、アクションの3つのモダリティからの情報を処理するように設計されたAI
であり、フィジカルAIに必要な認識、理解、行動の全てを一気通貫で実践できます。
よってVLAは、フィジカルAIを実践するための基盤となるモデルと言えるでしょう。
例えばNVIDIA社では自動運転向けのAlpamayo 1や、ヒューマノイドロボット向けのGR00TなどのVLAモデルをリリースしています。
世界モデルとデジタルツイン
フィジカルAIの開発では、以下の2つの側面からデータ不足に悩まされることが想定されます。
- AIの学習データ:VLAの学習には大量のデータ(画像、テキスト、行動のセット)が必要だが、実際にロボットや自動運転車を動かして大量の行動データを取るのは手間が掛かる
- ロボットや自動運転システムの動作検証データ:実物を用いた動作検証は、コストや安全性の観点から十分に行えないことが多い
これらのデータ不足を補うため、シミュレーションを用いて人工的にデータを取得することが有効です。特に実環境で取得したセンサデータとリアルなシミュレーションを用いて実環境を精密に再現する技術を、デジタルツイン(digital twin)と呼びます。
フィジカルAI向けのデジタルツインでは、特にAI学習用の画像や行動にリアルな質感や動きを加えることが重要です。これには従来の物理シミュレーションに加え、世界モデル(world models)を組み合わせることが有用です。
NVIDIAの定義によると、世界モデルは
物理学や空間特性などの実世界の力学を理解するニューラル ネットワーク
とされています。例えばNVIDIAがリリースした世界モデル「Cosmos」では、物理シミュレーション(Issac Sim)の画像をリアルにしたり、テキストや画像からリアルな動画を生成することができ、これをAIの学習データとして利用することができます。
AGI
AGI(artificial general intelligence:汎用人工知能)は、ソフトバンクの記事を引用すると
人間のような汎用的な知能を持つ人工知能
と定義されています。
「汎用」という言葉からも分かるように、特定の領域に特化しているわけではなく、さまざまなタスクや問題に対応できる能力を持っており、かつ全てのタスクに対して人間と同等の能力を持っている必要があります。
- チューリングテスト
個人的には、2022年のChatGPTの登場と急速な進化が、世の中がAGIを強く意識するきっかけになったと感じています。
ChatGPTは対話能力(チューリングテストで計測されるような、人間らしい自然な回答を返す能力)に関しては登場時点で人間とほぼ同等の能力を持っていました。同様のサービスであるGeminiやClaudeと競合しながら、以下のような多タスクに対応できる汎用的な能力を急速に向上させており、その背景には前述の基盤モデルが持つ創発性・ゼロショット能力が寄与していることは明らかでしょう。
- コード生成(GPT Codex等)
- 画像・動画生成(DALL-E、Sora等)
- スライド作成(Canvas等)
- 資料の要約(NotebookLM等)
- 翻訳(例えばNotebookLMは資料を丸ごと自然に翻訳してくれます)
例えば大学入試共通テストでChatGPTがほぼ満点を取った例のように、多くの分野で人間に追いつき追い越して行っています。
一方で、現時点でAIが人間と比べて劣る能力の例として、よく挙げられるのは以下でしょう。
- 新たなものを創造する能力(AIは過去のデータのパターンを学習しているため)
- 共感力(AIは言葉を確率的にもっともらしい意味で捉えるため、状況に応じた意図を読み取るのが苦手)
- 実際にモノを動かす能力(AIは考えるだけで物理的にモノは動かせない)
しかしながらこれらの分野に関しても、
- 創造性 → AIが数学の未解決問題を証明
- 共感力 → これは感じ方に個人差があると思いますが、2026年現在のChatGPTやGeminiは過去の質問を統合してかなり行間を読んでくれます。人間の共感力には大きな個人差があるので、一概にAIが劣っていると言うのは無理があると思います
- 実際にモノを動かす能力 → 前述のフィジカルAIで改良が進む
というように、人間の能力に追いつきつつあり、AGIの近い将来の達成を予感させる状況となっています。
ASIとシンギュラリティ
ASI(artificial superintelligence:人工超知能)は、ソフトバンクの記事を引用すると
人間の知能をはるかに超えた人工知能
と定義されています。AGIが「人間並の能力」であれば、ASIは「人間を明確に超える能力」が目安となるでしょう。
またASIとセットでよく用いられる単語に、シンギュラリティ(singularity:技術的特異点)が挙げられます。
シンギュラリティとは、NRIの記事を引用すると
人工知能が人間の知能を超える時点
と定義されています。この単語は『ポスト・ヒューマン誕生』(日本では2007年刊行)という書籍がきっかけでブームとなった単語です。この書籍ではAIがAI自身を開発・改善していることで自律的かつ加速度的に進化する世界が来ることを予見し、それが社会にどのような影響を与えるかを議論しています。
書籍ではまた、シンギュラリティは2045年頃に来ると予測されていました。当時はディープラーニングもLLMもない時代で、2045年という数字は「早すぎて非現実的」と感じられるものでしたが、これらの技術の登場により「もっと早く到来するのではないか」という意見の方が多数派となっているように感じます。この事実を見ても、ディープラーニングやLLMという技術の偉大さを実感できるでしょう。
またClaude CodeやGitHub Copilotのようなコーディング支援ツールは「AIがAI自身を開発する」ことを部分的に実現しており、今後もこのような自律進化能力の獲得が進んでいくでしょう。
目次のリンク
































