はじめに
こんにちは、株式会社C&Pの武智と申します。
突然ですが、なんとなくAIツールを使っていて、ごめんなさい!
生成AI・コーディングエディタ・画像認識・データ分析等、現在ありふれているAIのツールや機能に「多少触ったことがあるよ」といった方、今となっては非常に多いのではないでしょうか?
「AI凄い!」って思いながらも、「実際どういう仕組みなんだろう?」って疑問に思ったことはありませんか?
私はAIを使って業務効率を上げる方法を考えたり、ツールの使い方を学んだり、AIに学習させたくない内容を意識したりすることはあっても、仕組みまで意識が回ることはありませんでした。
そこで今回は、概念から基本を押さえた形で整理してみたいと思いました。
本記事は一部AIを使用しております。
「AIのツールをなんとなく使ってるけど、仕組みが分からない」という方に向けて、AIの全体像・AIでよく使用される仕組みをカバーすることを目的とした内容になります。
AIとはなにか
定義を紐解いてみる
Artificial Intelligence(AI) という用語は、1955年にダートマス大学のJohn McCarthy教授によって提唱されました。彼によるとAIは 「知的な機械を作る科学と工学」 を指しております。
IBMは 「AIとは、コンピュータや機械が人間の学習・理解・問題解決・意思決定・創造性・自律性をシミュレートできるようにする技術」 と、より現代的に解釈しております。
人工知能の「知能」とは
「そもそも人工知能の「知能」はどう定義する?」
スタンフォード大学のManning教授によれば、知能とは 「不確実で常に変化する世界で、文脈に適した技術を学習・実行し、問題を解決し、目標を達成する能力」 と定義されています。
身近なもので比べてみましょう:
| 例 | 得意なこと | 新しい状況への対応 | 知的? |
|---|---|---|---|
| 電卓 | 計算は超速い | ❌ 想定外の問題には対応不可 | ❌ |
| Excelマクロ | 定型作業を自動化 | ❌ ルール外は処理できない | ❌ |
| ChatGPT | 質問を理解して回答 | ⭕ 状況に応じて対応を変える | ⭕ |
つまり、単に決められた作業をするだけじゃなく、状況に応じて適応できるかどうかが「知的」かどうかのポイントなんです。
AIの種類
AIには大きく分けて2つのタイプがあります:
Narrow AI(特化型AI)
- 特定のタスクに特化したAI
- 例:顔認識、音声認識、コンピュータービジョン(CV)、チェスプログラム、ChatGPT
- 現在実用化されているAIのほとんどがこれ
AGI(汎用人工知能)
- 人間のように幅広いタスクをこなせるAI
- まだ実現していない未来の技術なので、AGIの明確な定義は研究者間でも完全には統一されていない
- SFでよく見る「なんでもできるAI」のイメージ
私たちが親しみのあるChatGPTやCursorも、実はNarrow AIの一種です。
「何でも答えてくれるし、汎用AIでは?」と思いがちですが、テキスト生成・画像生成・分析など多くの機能を持つものの、人間のように自律的に学習・適応できる汎用人工知能(AGI)ではありません。
機械学習とは
機械学習(Machine Learning) は、データからパターンを学習して、明示的にプログラミングされていなくても判断や予測ができるようになる手法です。つまり、ルールを人間が書く のか、ルールをデータから自動で見つけ出す のか、という違いです。
機械学習の主な3つの学習方法
教師あり学習(Supervised Learning)
- あらかじめ「これが正解」と答えが付けられたデータで学習する方法
- 例:「これは猫」「これは犬」と人間が正解を教えながら学習させる
- 例え:問題と答えを見ながら勉強する学校のテストのようなもの
教師なし学習(Unsupervised Learning)
- 正解の答えが付いていないデータから、AIが自分でパターンやグループを見つける方法
- 例:ECサイトの顧客データを分析して、似た購買傾向の人を自動でグループ分けする
- 例え:大量のログやアクセス履歴を見て、「なんとなく似ている人たち」をまとめるようなもの
強化学習(Reinforcement Learning)
- AIが自分で行動してみて、その結果が良ければ「プラス評価」、悪ければ「マイナス評価」をもらいながら学ぶ方法
- 迷路でゴールに近づくと「いいね」と言われ、遠ざかると「ダメ」と言われる。その繰り返しで最短ルートを覚える形
- 正解は教えず、行動した結果に「良い/悪い」の評価だけが返ってくる
ディープラーニングとは
ディープラーニング(Deep Learning) は、機械学習の一種で、人間の脳の神経回路を模した「ニューラルネットワーク」を何層にも重ねたもの です。
ディープラーニングは先ほどの「学習の種類」ではなく、「データを処理する仕組み」の種類です。
AIはデータを一度に理解するのではなく、段階的に特徴を抽出します。
例えば画像認識なら:
- 1層目:画像の線やエッジを見つける
- 2層目:目や耳などのパーツを見つける
- 3層目:顔を見つける
- 4層目:猫か犬か判断する
「Deep(深い)」とは、この 層の深さ を指しています。
初期のニューラルネットワークは層が少なく、表現できるパターンに限界がありましたが、計算能力の向上により、現在では数十〜数百層を持つモデルが存在します。
なぜディープラーニングが凄いのか
従来の機械学習では、人間が「どの特徴に注目すべきか」を設計することが重要でした(特徴量エンジニアリングと呼ばれるもの)。
それに対して、ディープラーニングはデータを学習して予測を行う仕組み(モデル)が、重要な特徴を自動的に見つけられる点が特徴です。
| 観点 | 従来の機械学習 | ディープラーニング |
|---|---|---|
| 特徴の抽出 | 人間が手動で定義 | 自動で特徴を発見 |
| 必要なデータ量 | 比較的少量でも機能する | 大量のデータがあるほど強みを発揮 |
| 精度 | 人間の設計に依存 | 大規模データでは人間を超えることも |
| 計算コスト | 低い | 高い(GPUが必要) |
実例で理解する
画像認識:手書き数字認識(MNIST)
MNISTという有名なデータセットがあります。手書きの数字(0-9)の画像が訓練用6万枚+テスト用1万枚の計7万枚で構成されており、機械学習の「Hello World」とも言える存在です。
学習プロセス:
- データ準備:訓練用6万枚の手書き数字画像 + 正解ラベル
- 学習開始:ニューラルネットワークが画像を見て「何の数字か?」を予測
- 誤差修正:予測が間違っていたら、ネットワークの重み(パラメータ)を調整
- 繰り返し:何千回も繰り返すことで、精度が上がっていく
結果:99%以上の精度 で数字を認識できるようになります。
応用例:郵便番号の自動読み取り、手書きメモのデジタル化など
音声認識:音声をテキストに変換
SiriやAlexa等が使っている技術です。
🎤 音声入力
↓
📊 音声をデジタル信号に変換
↓
📈 周波数などの特徴を抽出
↓
🧠 ディープラーニングモデルが文字列を予測
↓
📝 テキスト出力
生成AIの仕組み:ChatGPTの裏側を覗いてみる
ChatGPTを使うとき、私たちが見ているのはシンプルなチャット画面ですよね。
しかし、その裏側では複雑な処理が行われています。
自然言語処理(NLP)
自然言語処理(NLP)は、人間の言葉をコンピュータに理解・処理させる技術分野です。
ChatGPT も、このNLPの技術を基盤としています。
主な応用例:
- 機械翻訳:Google翻訳、DeepLなど
- 感情分析:レビューが好意的 👍 か否定的 👎 かを自動判定
- 要約生成:長い文章を短くまとめる
- スパム検知:「今すぐクリック」「お金を送ってください」などのパターンを学習して自動フィルタリング
ディープラーニング=「学習の方法」と先ほど説明しましたが、
現在の高度なNLPの多くは、ディープラーニングを使っています。
前提知識①: モデルとは?
ここでいう「モデル」とは、大量の文章データからパターンを学習した数式のかたまりのことです。ChatGPTがあなたの質問に返答するとき、このモデルが動いています。
よくある誤解として、
- まずユーザーの質問を「理解」して
- それから答えを「生成」している
と思われがちですが、実際の仕組みは少し異なります。
入力されたトークンも、出力されたトークンも、すべて同じ「文脈」として扱われるという点です。モデル内部では「理解」と「生成」が分かれているわけではなく、文脈の続きを確率的に予測する計算が繰り返されています(自己回帰モデル)。
ChatGPTの返答は、実は「次に来るトークンを1つ選ぶ」という処理を何度も繰り返すことで作られています(因果言語モデル)。モデルはその予測のために、以下を行っています:
- 入力(文章)を受け取る
- これまでの文脈をもとに内部で計算を行う
- 次に来そうなトークンに確率を割り振り、その確率にもとづいて1つ選んで出力する
ChatGPTは返答を一度に生成するのではなく、トークンを1つずつ順番に出力しています。
例えば 、ユーザーが「日本の首都は?」と入力し、モデルが「日本」「の」「首都」「は」と出力した時点で、次のトークンとして「東京」が高い確率で予測されます。
モデルは文章の「意味」を理解しているわけではありません。少なくとも人間のような「理解」とは異なり、あくまで「この並びの次にはこのトークンが来やすい」という統計的なパターンをもとに予測しています。
前提知識②: トークンとは?
前提知識①で「トークンを予測する」と説明しましたが、このトークンとは何でしょうか。
トークンとは、モデルが処理できる最小単位のことです。
モデルは入力された文章をまずトークンに分割してから処理します。
ここではわかりやすく「単語」と書くこともありますが、実際にはトークンは必ずしも単語とは限りません。
前提知識③: パラメータとは?
モデルが「次のトークンを正確に予測する」ためには、大量の文章からパターンを学習する必要があります。
②で説明したように、文章は「日本」「の」「首都」「は」というトークンに分割されます。モデルはこのトークンの並びを大量に学習し、「"日本の首都は" の次には "東京" が来やすい」というパターンを覚えていきます。
このパターンを記憶するために内部の数値が少しずつ調整されますが、この数値一つ一つがパラメータです。パラメータが多いほど、より複雑なパターンを記憶できるため、モデルの表現力が高くなります。
Transformerアーキテクチャ:すべての始まり
Transformerは、モデルを作るための設計図(アーキテクチャ)です。
つまり:
- モデル = 学習済みの巨大な数式(パラメータの集合)
- Transformer = その数式の構造(アーキテクチャ)
こちらは現在のChatGPT、Claude、Geminiなど、すべての大規模言語モデル(LLM)の基盤になっています。
「Transformer」はChatGPTの「T」の由来でもあります。
GPT = Generative Pre-trained Transformer
Transformerの最大の革新は 「Self-Attention(自己注意機構)」 です。
例えば「Pythonで Hello World を書いて」という入力があったとき、「書いて」という単語が「Python」と強く関係していることを理解しないと、次のトークンとして適切な「print」は予測できません。
Self-Attentionとは、予測をするたびに「今この文脈で、どのトークンが重要か」を全トークンの中から判断する仕組みです。コンピュータは文字をそのまま扱えないため、各トークンを数値の列(ベクトル)に変換し、その数値同士を比較することで関係の強さを計算しています。
このSelf-Attentionは、ChatGPTにメッセージを送信してから返答が返ってくるまでの間、ずっと動き続けています。
具体例:ChatGPTに「橋の端で箸を持つ」が入力されたときの処理
ステップ1:文章を単語(トークン)に分割
「橋」「の」「端」「で」「箸」「を」「持つ」
ステップ2:各単語間の関連度を計算(Attention)
「橋」 ↔ 「端」 → 関連度: 中(場所の補足説明をしている)
「端」 ↔ 「箸」 → 関連度: 低(直接の関係は薄い)
「箸」 ↔ 「持つ」 → 関連度: 高(「持つ」の対象は「箸」であるという文脈が強い)
ステップ3:文脈を反映した表現を作る
「箸」は単なるモノではなく、「持つ」に関連する「道具」として表現される
「橋」の「端」は「場所」として表現される
このような処理を何層にも重ねることで、文脈の理解がどんどん深まり、同じ読みの「橋」「端」「箸」でも意味を区別できるようになります。
ChatGPTが文章を生成する流れ
ステップ1:入力をトークンに変換
前提知識②で説明したように、モデルは文章をそのまま処理できません。
まずトークンに分割し、さらにコンピュータが計算できるよう数値IDに変換します。
ユーザーが「Pythonで Hello World を書いて」と入力すると:
入力文をトークン(単語や部分文字列)に分割し、数値IDに変換
"Pythonで" → トークンID: 50256
"Hello" → トークンID: 15496
"World" → トークンID: 10603
"を書いて" → トークンID: 12398
日本語と英語が混在していても、すべて同じように数値IDに変換されます。
ステップ2:次トークン予測を繰り返す
変換された数値IDをもとに、トークンを1つずつ予測していきます。このとき、Self-Attentionが「入力文の中でどのトークンが今の予測に関係するか」を判断することで、文脈に合った次のトークンを選んでいます。
入力: "Pythonで Hello World を書いて"
↓ Self-Attention:「書いて」と「Python」の関連が強い → コードを出力すべき文脈と判断
↓ 次は "print" が来る確率 85%
出力: "print"
↓ 出力したトークンを入力に追加し、再度文脈を確認
入力: "...を書いて print"
↓ Self-Attention:「print」の次には「(」が続く文脈と判断
↓ 次は "(" が来る確率 92%
出力: "("
↓ これを繰り返す...
ChatGPTの返答が少しずつ表示されるのは、このトークン単位で繰り返される処理によって少しずつ出力されているからです。
ChatGPTの応答がリクエストのたびに微妙に異なるのは、この確率分布からある程度ランダムにしているためです。
この予測を支えているのが、GPT-3では1,750億個のパラメータと3,000億トークン分の学習データです(OpenAI)。これらの膨大なパラメータが、「こういう入力が来たら、次はこのトークンが来やすい」というパターンを記憶しています。
2段階の学習プロセス
ChatGPTは 「事前学習」 と 「人間によるチューニング」 の2段階で作られています。
フェーズ1:事前学習(Pre-training)
インターネット全体から知識を吸収するフェーズです。
学習データソース
├─ Common Crawl(大量のWebページ)
├─ Wikipedia(百科事典)
├─ 書籍(数万冊分のテキスト)
├─ GitHub(ソースコード)
└─ 論文・ニュース記事
学習方法はシンプル — 「次の単語を予測する」タスクを何兆回も繰り返します:
入力:「地球は太陽の周りを」
正解:「回る」
予測:「回る」 → 正解! パラメータを微調整 ✅
予測:「食べる」→ 不正解… パラメータを大きく調整 ❌
これを 3,000億トークン分 繰り返すことで、言語の構造、事実知識、論理的な推論パターンを幅広く学習します。
フェーズ2:RLHF(人間のフィードバックからの強化学習)
事前学習だけでは、「正しいけど不親切」「事実だけど有害」な応答も出してしまいます。そこで人間がフィードバックを与えて品質を調整します(OpenAI)。
ステップ1:同じ質問に複数の回答を生成
質問:「Pythonで配列を並び替えるには?」
├─ 回答A:「sorted()を使います。使い方はこうです…」→ 👍 わかりやすい!
├─ 回答B:「わかりません」→ 👎 役に立たない
└─ 回答C:「ソースを読め」→ 👎 不親切
ステップ2:人間の評価を元にランキングモデルを学習
→ 「良い回答」と「悪い回答」の違いを覚える
ステップ3:良い回答が出やすくなるようモデルを調整
ハルシネーション:AIが自信満々に嘘をつく理由
生成AIには大きな弱点があります。それが ハルシネーション(幻覚) です。
ここまで読むとピンとくるかもしれませんが、ChatGPTは 「次のトークンの確率」 で文章を生成しています。
事実のデータベースを参照しているわけではありません!
そのため、「もっともらしい文章を生成する能力」 と 「事実を正確に回答する能力」 は別物なのです。
おわりに
AIは日々進化しておりますが、現在の皆が使用している生成AIの仕組みを理解するキッカケや出発点になれば幸いです。
また、この記事がAIをより身近に感じるきっかけになれば嬉しいです。😊
ここまで読んでいただき、ありがとうございます!
参考文献 (※公式・論文は英文)
AI・機械学習・ディープラーニング
- IBM — "What Is Artificial Intelligence (AI)?"
https://www.ibm.com/think/topics/artificial-intelligence - Stanford University (Prof. Christopher D. Manning) — "Brief Definitions of Key Terms in AI"
https://hai.stanford.edu/policy/brief-definitions-of-key-terms-in-ai - MIT News — "Explained: Neural networks"
https://news.mit.edu/2017/explained-neural-networks-deep-learning-0414 - Vaswani, A. et al. — "Attention Is All You Need" (2017)
https://arxiv.org/abs/1706.03762
生成AI
- OpenAI — "GPT-3 Powers the Next Generation of Apps"
https://openai.com/index/gpt-3-apps/ - OpenAI — "ChatGPT"
https://openai.com/index/chatgpt/