生成AIはなぜ賢いのか?新人エンジニア向けに機械学習・パラメータ・GPU・ブラックボックスをやさしく解説

こんにちは。ゆうせいです。

今回は、新人エンジニア向けに「生成AIはなぜ賢く見えるのか」を解説します。

ChatGPTのようなAIを見ると、ついこう思いませんか?

「きっと天才プログラマーが、あらゆる質問への答え方を細かく書いているんだろうな」と。

でも、実際は少し違います。

もちろん、AIを動かすためのプログラムや仕組みは人間が作っています。

ただし、「こう聞かれたら、こう答える」という回答ルールを、人間が1つずつ書いているわけではありません。

生成AIの賢さは、プログラムに直接書き込まれたものではなく、大量のデータから学習して育ったものです。

ここが、従来のプログラミングとAI開発の大きな違いです。

従来のプログラムは「ルールを書く」

まず、普通のプログラムを考えてみましょう。

たとえば、入力された点数によって合格・不合格を判定するプログラムなら、次のような考え方になります。

if score >= 60:
    result = "pass"
else:
    result = "fail"




日本語で言えば、点数が60点以上なら合格、それ以外なら不合格と判断する、というルールです。

このように、従来のプログラミングでは、人間が条件や手順を明確に書きます。

「もし〇〇なら、△△する」という形です。

ところが、世の中には、この方法ではうまく書き切れない問題があります。

猫を見分けるルールは書き切れない

たとえば、写真に猫が写っているかを判定するプログラムを作るとします。

最初は、次のようなルールを思いつくかもしれません。

耳が三角なら猫
ヒゲがあれば猫
毛がふわふわなら猫
目が丸ければ猫

でも、すぐに困ります。

耳が折れている猫もいます。

ヒゲは犬にもあります。

毛のない猫もいます。

暗い場所にいる猫、後ろ姿の猫、半分だけ写っている猫、ぬいぐるみに似た猫もあります。

人間は写真を見れば、かなり自然に「猫っぽい」と判断できます。

でも、その判断のルールを言葉で完全に書き出すのは難しいですよね。

そこで登場する考え方が、機械学習です。

機械学習は「ルールを発見させる」

機械学習とは、人間がルールをすべて書くのではなく、大量のデータからコンピューターにパターンを見つけさせる技術です。

たとえば、猫の画像と猫ではない画像を大量に用意します。

そして、それぞれに「猫」「猫ではない」という正解ラベルを付けます。

ラベルとは、データに付ける正解や分類名のことです。

AIは、そのデータを何度も見ながら、「猫らしさ」を少しずつ学びます。

従来のプログラミング機械学習
人間がルールを書くデータからルールを見つけさせる
条件分岐を明確に書く正解例を大量に与える
説明しやすい内部の判断理由が複雑になりやすい
ルールが明確な問題に強い画像、音声、文章など曖昧な問題に強い

機械学習を高校生にも分かるようにたとえるなら、「解き方を教える」のではなく、「問題集と答えを大量に渡して、自分でコツをつかませる」ようなものです。

人間がすべてのルールを書くな。

データから学ばせるのが、機械学習です!

ニューラルネットワークとは何か

生成AIや画像認識でよく使われる仕組みに、ニューラルネットワークがあります。

ニューラルネットワークとは、人間の脳の神経回路からヒントを得た、機械学習のモデルです。

モデルとは、入力されたデータから答えを出すための仕組みです。

ここでは、ニューラルネットワークを「大量の調整つまみが付いた機械」と考えてください。

音量調整のつまみを想像すると分かりやすいです。

つまみを少し回すと、出てくる音の大きさが変わりますよね。

ニューラルネットワークでも、たくさんのつまみの調整具合によって、出力される答えが変わります。

このつまみのことを、パラメータと呼びます。

パラメータとは何か

パラメータとは、AIの内部にある調整可能な数値のことです。

生成AIのニュースで「何十億パラメータ」「何千億パラメータ」という言葉を聞いたことがあるかもしれません。

このパラメータは、ニューラルネットワークの中にある調整つまみのようなものです。

output = model(input, parameters)

日本語で言えば、AIの出力は、入力データとパラメータの状態によって決まります。

同じ入力でも、パラメータが違えば出力も変わります。

たとえば、カレーを作るときに、塩、スパイス、水、具材の量を調整すると味が変わりますよね。

AIのパラメータも、それに似ています。

どの情報を強く見るか。

どの特徴を弱く扱うか。

そうした調整が、膨大な数値として保存されています。

AIに入力するデータは数字に変換される

AIは、人間のように文字や画像をそのまま理解しているわけではありません。

コンピューターなので、最終的には数字を扱います。

画像なら、ピクセルの色を数字で表します。

文章なら、単語や文字のかたまりを数字に変換します。

この文章のかたまりを、トークンと呼びます。

トークンとは、AIが文章を処理するために分割した単位です。

単語そのものの場合もあれば、単語の一部や記号の場合もあります。

text -> tokens -> numbers

日本語で言えば、文章はトークンに分割され、その後、AIが扱える数字に変換されます。

たとえば、「新人エンジニアがAIを学ぶ」という文章も、AIの内部では数字の列として扱われます。

AIは日本語の文章を、人間のように雰囲気で読んでいるわけではありません。

数字の列として処理しているのです。

学習とは「つまみを少しずつ調整すること」

AIの学習とは、パラメータを調整することです。

最初のAIは、何も分かっていません。

つまみがデタラメな状態だからです。

猫の画像を見せても、「車です」「鳥です」と間違えるかもしれません。

そこで、AIの答えと正解を比べます。

どれくらい間違えたかを数値で表します。

この間違いの大きさを、損失と呼びます。

損失とは、AIの予測と正解のズレを表す値です。

loss = difference(prediction, answer)

日本語で言えば、損失は、AIの予測と正解がどれくらい違っているかを表します。

学習では、この損失が小さくなるようにパラメータを少しずつ調整します。

テストで間違えた問題を見直して、次は間違えないように勉強するのと似ています。

誤差逆伝播法とは何か

AIが間違えたとき、どのパラメータをどの方向にどれくらい変えればよいのでしょうか。

パラメータが少しなら人間でも考えられるかもしれません。

でも、大規模なAIでは、パラメータは何十億、何千億という数になります。

人間が手で調整するのは不可能です。

そこで使われる代表的な計算方法が、誤差逆伝播法です。

誤差逆伝播法とは、AIの出力の誤差を後ろから前へたどり、各パラメータが誤差にどれくらい影響したかを計算する方法です。

英語では、backpropagationと呼ばれます。

たとえるなら、テストの点数が悪かったときに、どの単元のミスが点数低下に大きく影響したかを逆算するようなものです。

数学、英語、理科のうち、どこを直せば最も点数が上がるかを調べるイメージです。

勾配降下法とは何か

誤差逆伝播法で「どちらに調整すればよいか」が分かったら、実際にパラメータを更新します。

このときによく使われる考え方が、勾配降下法です。

勾配降下法とは、損失が小さくなる方向に、パラメータを少しずつ動かしていく方法です。

勾配とは、坂の傾きのようなものです。

霧の中で山を下る場面を想像してください。

遠くは見えません。

地図もありません。

分かるのは、自分の足元がどちらに下っているかだけです。

谷底に行きたいなら、足元の傾きを見て、少しずつ低い方向へ進みますよね。

AIの学習も似ています。

損失が小さくなる方向へ、パラメータを少しずつ調整していきます。

parameter = parameter - learning_rate * gradient

日本語で言えば、パラメータは、学習率と勾配を使って、損失が小さくなる方向へ少しずつ更新されます。

学習率とは、1回の更新でどれくらい大きくパラメータを動かすかを決める値です。

大きすぎると谷底を通り過ぎます。

小さすぎると進むのが遅くなります。

だから、学習率の調整も重要です。

AIの賢さは「書かれた」のではなく「育った」

ここまでを整理しましょう。

AIは、人間がすべての答え方を書いたものではありません。

大量のデータを使って、パラメータを少しずつ調整して育てます。

その結果、入力に対してそれらしい出力を返すようになります。

項目従来のプログラムAIモデル
作り方人間がルールを書くデータで学習させる
中身条件分岐や処理手順大量のパラメータ
修正方法コードを直すデータや学習方法を見直す
得意なこと明確な手順の処理画像、文章、音声など曖昧なパターン処理

この違いは、新人エンジニアにとって非常に重要です。

AIは、普通のプログラムと同じ感覚で理解しようとすると混乱します。

AIは、書いて作るというより、学習で育てるものです。

ディープラーニングの「ディープ」とは何か

次に、ディープラーニングを見ていきましょう。

ディープラーニングとは、ニューラルネットワークを多層にした機械学習の手法です。

ディープは「深い」という意味です。

何が深いのでしょうか?

答えは、層です。

ニューラルネットワークでは、入力から出力までの間に、複数の層があります。

層が深くなると、単純な特徴から複雑な意味へと段階的に処理できるようになります。

画像認識で考えてみましょう。

見つける特徴のイメージ
浅い層線、角、色の違い
中間の層目、耳、輪郭のような部品
深い層猫の顔、車の形、人の姿などの意味あるまとまり

最初はただの線や色だった情報が、層を進むにつれて意味のある特徴に変わっていきます。

レゴブロックで考えると分かりやすいです。

最初は小さなブロックです。

それを組み合わせると壁になります。

壁を組み合わせると家になります。

単純な部品を積み上げて複雑なものを作る。

ディープラーニングも似た考え方です。

AI・機械学習・ディープラーニングの違い

新人エンジニアが混乱しやすい言葉に、AI、機械学習、ディープラーニングがあります。

この3つは同じ意味ではありません。

大きい順に並べると、AI、機械学習、ディープラーニングです。

用語意味関係
AI人間の知的活動を機械で実現しようとする技術全般一番広い概念
機械学習データからパターンやルールを学ばせる方法AIの一部
ディープラーニング多層のニューラルネットワークを使う機械学習機械学習の一部

入れ子で考えると分かりやすいです。

AI
  └─ machine learning
       └─ deep learning

日本語で言えば、AIという大きな分野の中に機械学習があり、機械学習の中にディープラーニングがあります。

資格試験や面接でも聞かれやすいので、ここは覚えておきましょう。

昔の機械学習とディープラーニングの違い

昔ながらの機械学習では、人間が「どこに注目すべきか」を設計することが多くありました。

たとえば、猫を見分けるなら、耳の形、ヒゲ、目の位置、輪郭などの特徴を人間が考えます。

この注目ポイントを、特徴量と呼びます。

特徴量とは、データを判断するために使う重要な情報です。

一方、ディープラーニングでは、特徴量そのものもデータから学習しやすくなりました。

項目従来の機械学習ディープラーニング
特徴量人間が設計することが多いAIが学習で見つけることが多い
必要な専門知識特徴量設計の知識が重要大量データと計算資源が重要
得意分野表形式データ、比較的整理されたデータ画像、音声、自然言語など複雑なデータ
説明しやすさ比較的説明しやすい場合があるブラックボックスになりやすい

ディープラーニングの大きな進歩は、「どこを見るべきか」もAIが学べるようになった点です。

人間がルールを書く範囲が、さらに少なくなったのです。

過学習とは何か

AIの学習には落とし穴もあります。

代表的なものが、過学習です。

過学習とは、訓練データに対しては高い性能を出すのに、初めて見るデータではうまく対応できない状態です。

受験勉強でたとえると、過去問を丸暗記した生徒です。

過去問と同じ問題なら満点を取れます。

でも、少し表現が変わった初見問題になると解けません。

AIも同じです。

学習に使ったデータだけを覚え込みすぎると、本番で役に立たないモデルになります。

状態訓練データでの成績初見データでの成績
良い学習高い高い
過学習非常に高い低い
学習不足低い低い

AI開発では、学習に使っていないデータで性能を確認します。

この確認用データを、検証データやテストデータと呼びます。

訓練データで100点でも安心するな。

初見データで結果を見ましょう!

なぜAIにはGPUが必要なのか

AIのニュースでは、GPUやNVIDIAという言葉がよく出てきます。

GPUとは、Graphics Processing Unitの略です。

もともとは、ゲームや映像処理などで画像を高速に描画するために使われてきた部品です。

一方、CPUはCentral Processing Unitの略で、コンピューター全体の処理を担当する中心的な部品です。

CPUとGPUの違いは、料理人でたとえると分かりやすいです。

部品たとえ得意なこと
CPU一人の優秀な料理人複雑な処理を順番にこなす
GPU大量の作業員がいる厨房単純な計算を大量に同時処理する

AIの学習では、膨大な数のパラメータを少しずつ調整します。

その計算は、足し算や掛け算のような単純な処理が大量に発生します。

つまり、GPUが得意な仕事です。

一人の天才が順番に処理するより、大量の人が一斉に単純作業をした方が速い場面がありますよね。

AI学習でGPUが重要なのは、このためです。

なぜAIは大量の電力を使うのか

AIの学習には、膨大な計算が必要です。

大量のデータを読み込み、予測し、損失を計算し、誤差を逆伝播し、パラメータを更新します。

この流れを何度も何度も繰り返します。

data
  ↓
prediction
  ↓
loss
  ↓
backpropagation
  ↓
parameter update
  ↓
repeat

日本語で言えば、データを入力し、予測し、誤差を計算し、その誤差をもとにパラメータを更新し、同じ流れを繰り返します。

この処理を、巨大なGPU群で長時間行います。

だから、AIの学習には大きな電力が必要になります。

AIの賢さは、魔法のように生まれるわけではありません。

裏側には、膨大なデータ、膨大な計算、膨大な電力があります。

AIがブラックボックスと呼ばれる理由

AIの重要な特徴に、ブラックボックス性があります。

ブラックボックスとは、入力と出力は分かるけれど、内部でなぜそう判断したのかが分かりにくい状態です。

ニューラルネットワークの中身は、大量のパラメータです。

それぞれのパラメータは数値です。

たとえば、あるパラメータの値が0.73だったとして、その数値だけを見ても「猫の耳を見ている」「丁寧語を判断している」とは分かりません。

人間が意味を込めて1つずつ設定した値ではないからです。

大量の学習の結果として、そうなっただけです。

このため、AIが変な答えを出しても、普通のバグ修正のように「この1行を直せば解決」とはいかないことが多いです。

普通のプログラムAIモデル
コードを読めば処理を追いやすい大量のパラメータから理由を読み取りにくい
バグの原因行を探せる場合があるどのパラメータが原因か特定しにくい
コード修正で直すデータ追加、再学習、評価方法の見直しが必要になる

AIの修正は、コードを1行直すというより、追加で学習させたり、データの質を見直したりする方向になります。

たとえるなら、機械の修理というより、スポーツ選手の再トレーニングに近いです。

生成AIがもっともらしい嘘を言う理由

生成AIは、ときどき自信満々に間違った内容を出します。

この現象は、ハルシネーションと呼ばれます。

ハルシネーションとは、AIが事実とは異なる内容を、もっともらしく生成してしまう現象です。

生成AIは、基本的に「次に来る可能性が高い言葉」を予測しながら文章を作ります。

そのため、事実確認が必要な場面でも、文章として自然な答えを作ってしまうことがあります。

新人エンジニアは、AIの出力をそのまま正解扱いしてはいけません。

特に、次のような内容は必ず確認しましょう。

確認が必要な内容理由
法律や規約誤ると大きな問題になる
セキュリティ設定危険な設定を提案する可能性がある
ライブラリの最新仕様バージョンによって変わる
コードの正確性動かないコードが出る場合がある
企業情報や統計古い情報や誤情報が混ざる場合がある

AIは便利な相談相手です。

ただし、最終確認者は人間です。

新人エンジニアが押さえるべき用語まとめ

用語意味たとえ
AI人間の知的活動を機械で実現しようとする技術全般賢そうに振る舞う仕組み全体
機械学習データからパターンを学ぶ技術問題集からコツをつかむ
ディープラーニング多層ニューラルネットワークを使う機械学習ブロックを積み上げて意味を作る
ニューラルネットワーク脳の神経回路を参考にしたモデル大量の調整つまみがある機械
パラメータAI内部の調整可能な数値音量調整のつまみ
トークン文章をAIが処理しやすく分けた単位文章の部品
損失AIの予測と正解のズレテストの間違い量
誤差逆伝播法誤差を逆向きにたどって調整量を計算する方法間違いの原因分析
勾配降下法損失が小さくなる方向へ少しずつ進む方法霧の山を下る
過学習訓練データにだけ強く、初見に弱い状態過去問丸暗記
GPU大量の単純計算を並列処理する部品大量の作業員がいる厨房
ブラックボックス内部の判断理由が分かりにくい状態中身の読めない機械

エンジニアの仕事は「書く」から「育てる」へ広がっている

AI時代のエンジニアは、コードを書く力だけでなく、AIをどう使い、どう評価し、どう改善するかも重要になります。

もちろん、プログラミング力は今後も大切です。

ただし、AIを扱う現場では、次のような力も求められます。

良いデータを集める力
データの偏りに気づく力
評価指標を設計する力
AIの出力を検証する力
誤った出力を見抜く力
業務に使える形へ調整する力

評価指標とは、AIの性能を測るためのものさしです。

たとえば、正解率、再現率、適合率、F値などがあります。

AIを作る仕事は、ただプログラムを書く仕事だけではありません。

データを選び、学習させ、評価し、改善する仕事でもあります。

まるで植物を育てるように、環境を整え、成長を観察し、必要に応じて手を入れていく感覚です。

まとめ

生成AIの賢さは、人間が1つずつ回答ルールを書いた結果ではありません。

大量のデータから学習し、ニューラルネットワークのパラメータが調整された結果として生まれます。

新人エンジニアがまず理解すべき流れは、次の通りです。

data
  ↓
number conversion
  ↓
model prediction
  ↓
loss calculation
  ↓
backpropagation
  ↓
parameter update
  ↓
trained model

日本語で言えば、データを数字に変換し、モデルが予測し、正解との差を損失として計算し、誤差逆伝播法で調整量を求め、パラメータを更新し、学習済みモデルを作る流れです。

ポイント理解しておきたいこと
AIはルールを手書きしない大量のデータからパターンを学ぶ
パラメータがAIの性格を決める内部の大量の数値が出力に影響する
学習は損失を減らす作業間違いをもとに少しずつ調整する
ディープラーニングは層が深い単純な特徴から複雑な意味を作る
GPUが重要大量の単純計算を並列に処理できる
AIはブラックボックスになりやすい判断理由を人間が完全には読み取りにくい

AIは魔法ではありません。

大量のデータ、大量のパラメータ、大量の計算によって育ったモデルです。

仕組みを知ると、AIニュースの見え方が変わります。

「パラメータが多い」「GPUが必要」「電力を使う」「ブラックボックス」といった言葉が、バラバラの知識ではなく、一本の線でつながります。

今後の学習では、まずAI、機械学習、ディープラーニングの違いを押さえましょう。その後、ニューラルネットワーク、パラメータ、損失関数、誤差逆伝播法、勾配降下法、過学習、GPU、生成AIのハルシネーションの順に学ぶと理解が深まります。まずは「AIの賢さは書かれたものではなく、学習によって育ったもの」と説明できるようになるところから始めてください!

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。