AI(人工知能)の技術
AI(人工知能)は、ITパスポート試験のテクノロジ系で毎年4〜5問出題される最重要テーマの一つです。ここでは、AIの基本的な仕組みから、機械学習、ディープラーニング、大規模言語モデルまで、試験に必要な知識を体系的に学んでいきましょう。
AIとは何か
Section titled “AIとは何か”AI(Artificial Intelligence:人工知能) とは、人間の知的な活動——学習する、判断する、言葉を理解する、画像を認識するといった能力——をコンピュータで実現する技術の総称です。
AIは私たちの日常生活にすでに広く浸透しています。スマートフォンの音声アシスタント、メールの迷惑メールフィルター、ECサイトのおすすめ商品表示など、いずれもAI技術が活用されています。
AIのアプローチには大きく分けて「ルールベース」と「機械学習」の2つがあります。次のセクションでこの2つを対比しながら理解しましょう。
ルールベースと機械学習
Section titled “ルールベースと機械学習”ルールベース
Section titled “ルールベース”ルールベースとは、人間があらかじめ「もし〇〇ならば△△する」というルール(規則)をプログラムとして記述し、AIに判断させる方法です。
たとえば、迷惑メールの判定を考えてみましょう。「件名に”当選”という文字が含まれていたら迷惑メール」「送信元が登録されていないアドレスなら迷惑メール」といったルールを人間が一つひとつ定義します。
ルールベースは仕組みがわかりやすく、判断の理由を説明しやすいという利点があります。しかし、判断対象が複雑になると、必要なルールの数が膨大になり、人間がすべてのケースを網羅するのが困難になるという欠点があります。
機械学習(Machine Learning)とは、コンピュータが大量のデータから自動的にパターンや規則性を学習する手法です。人間がルールを一つひとつ書くのではなく、データを与えることでコンピュータ自身がルールを見つけ出します。
ルールベースと機械学習の違いを整理すると、次のようになります。
| 項目 | ルールベース | 機械学習 |
|---|---|---|
| ルールの作り方 | 人間が定義する | データから自動的に学習する |
| 複雑な判断への対応 | ルールが膨大になり困難 | 大量のデータがあれば対応しやすい |
| 判断理由の説明 | わかりやすい | 複雑で説明しにくい場合がある |
| 必要なもの | 専門家の知識 | 大量の学習データ |
試験で出るポイント
機械学習では、データの中から判断に役立つ情報を数値として取り出します。この数値のことを特徴量と呼びます。
たとえば、果物の画像から「りんご」か「みかん」かを分類するとき、「色の赤さ」「形の丸さ」「大きさ」といった数値が特徴量にあたります。どのような特徴量を選ぶかが、機械学習の精度に大きく影響します。
機械学習の3つの種類
Section titled “機械学習の3つの種類”機械学習は、学習の方法によって大きく3つに分類されます。
教師あり学習
Section titled “教師あり学習”教師あり学習とは、「正解ラベル付きのデータ」を使って学習する方法です。「このデータの正解はこれです」という「お手本」を大量に与えることで、コンピュータが入力と正解の関係を学びます。
教師あり学習には、大きく2つのタスクがあります。
- 分類:データをカテゴリに分ける。たとえば、メールを「迷惑メール」か「正常なメール」かに分類する、製品を「良品」か「不良品」かに判定する
- 回帰:数値を予測する。たとえば、過去の気温データから明日の気温を予測する、物件の情報から家賃を予測する
教師なし学習
Section titled “教師なし学習”教師なし学習とは、正解ラベルのないデータを使って、データに潜むパターンや構造を自動的に発見する方法です。
教師なし学習の代表的な手法がクラスタリングです。クラスタリングとは、似た特徴を持つデータをグループ(クラスタ)にまとめることです。たとえば、ECサイトの購買データから「週末にまとめ買いする顧客」「平日に少額購入を繰り返す顧客」といったグループを自動的に発見できます。
強化学習とは、「試行錯誤」を通じて学習する方法です。AIが行動を選択し、その結果として得られる「報酬」を最大化するように学習を進めます。
わかりやすい例は、囲碁や将棋のAIです。一手打つごとに「勝ちに近づいたか(報酬が高い)」「負けに近づいたか(報酬が低い)」を評価し、より良い手を選べるように学習していきます。ロボットの歩行制御や自動運転などにも応用されています。
| 学習の種類 | 学習データ | 目的 | 具体例 |
|---|---|---|---|
| 教師あり学習 | 正解ラベル付きデータ | 分類・回帰 | 迷惑メール判定、不良品検出 |
| 教師なし学習 | ラベルなしデータ | パターン発見 | 顧客のクラスタリング |
| 強化学習 | 報酬(フィードバック) | 報酬の最大化 | 囲碁AI、自動運転 |
試験で出るポイント
ニューラルネットワーク
Section titled “ニューラルネットワーク”ニューラルネットワークの仕組み
Section titled “ニューラルネットワークの仕組み”ニューラルネットワークとは、人間の脳の神経回路(ニューロンのつながり)の仕組みをコンピュータで模したモデルです。
人間の脳では、多数の神経細胞(ニューロン)が互いにつながり、電気信号を伝え合うことで情報を処理しています。ニューラルネットワークはこの仕組みを模倣し、人工的なニューロンを多数つなげてデータを処理します。
ニューラルネットワークは一般に、次の3つの層で構成されます。
- 入力層:外部からデータを受け取る層
- 中間層(隠れ層):データを加工・変換する層
- 出力層:最終的な結果を出力する層
各ニューロンは、前の層から受け取った値をもとに計算を行い、次のニューロンに渡す値を出力します。このとき、入力値を変換して出力値を決める関数を活性化関数(活性関数)と呼びます。
活性化関数は、ニューラルネットワークが複雑なパターンを学習できるようにするために欠かせない仕組みです。もし活性化関数がなければ、どれだけ層を重ねても単純な計算しかできません。活性化関数があることで、ニューラルネットワークは複雑な判断ができるようになります。
試験で出るポイント
バックプロパゲーション
Section titled “バックプロパゲーション”ニューラルネットワークが学習するとき、最初は正しい結果を出せません。そこで、出力結果と正解の「ずれ(誤差)」を計算し、その誤差を出力層から入力層へ向かって逆方向に伝えながら、各ニューロン間のつながりの強さ(重み)を調整していきます。この学習方法をバックプロパゲーション(誤差逆伝播法)と呼びます。
「バック(back=後ろへ)」「プロパゲーション(propagation=伝播)」という名前のとおり、誤差を逆方向に伝えることで効率的に学習を進める手法です。
ディープラーニング
Section titled “ディープラーニング”ディープラーニングとは
Section titled “ディープラーニングとは”ディープラーニング(深層学習)とは、ニューラルネットワークの中間層を何層にも深く重ねた構造(ディープニューラルネットワーク)を使った機械学習の手法です。
従来の機械学習では、人間が「どの特徴量に注目するか」を設計する必要がありました。たとえば、画像から猫を認識するために「耳の形」「ひげの有無」といった特徴量を人間が選ぶ必要がありました。
ディープラーニングの大きな特徴は、データから特徴量を自動的に抽出できる点です。大量の画像データを与えるだけで、ディープラーニングは自ら「ここに注目すればよい」という特徴を見つけ出します。これにより、画像認識、音声認識、自然言語処理といった分野で飛躍的な精度向上が実現しました。
試験で出るポイント
AI技術の応用分野
Section titled “AI技術の応用分野”ディープラーニングをはじめとするAI技術は、さまざまな分野で応用されています。
- 画像認識:写真や動画の中の物体・人物を識別する(例:顔認証、自動運転での障害物検知)
- 音声認識:人間の話した言葉を認識し、テキストに変換する(例:スマートスピーカー、音声入力)
- 自然言語処理:人間の言葉(自然言語)をコンピュータが理解・生成する(例:翻訳、チャットボット)
- 音声合成:テキストから人間のような音声を生成する(例:ナビゲーションの音声案内)
- 画像生成:テキストの指示や学習データをもとに新しい画像を生成する
試験で出るポイント
代表的なネットワーク構造
Section titled “代表的なネットワーク構造”ディープラーニングには、扱うデータの種類に応じたさまざまなネットワーク構造があります。ここでは試験に出る代表的な3つを紹介します。
畳込みニューラルネットワーク(CNN)
Section titled “畳込みニューラルネットワーク(CNN)”畳込みニューラルネットワーク(CNN: Convolutional Neural Network)は、主に画像認識に適したネットワーク構造です。
CNNは、画像の中から「エッジ(輪郭)」「テクスチャ(質感)」「形状」といった特徴を段階的に抽出していきます。最初の層では単純な特徴(線や色の変化)を捉え、層が深くなるにつれて複雑な特徴(目、耳、顔全体など)を認識できるようになります。
スマートフォンの顔認証、医療画像の診断支援、自動運転での物体検知などに広く活用されています。
リカレントニューラルネットワーク(RNN)
Section titled “リカレントニューラルネットワーク(RNN)”リカレントニューラルネットワーク(RNN: Recurrent Neural Network)は、時系列データや文章のように、順序に意味があるデータの処理に適したネットワーク構造です。
RNNの特徴は、過去の情報を「記憶」として保持しながら、次の入力を処理できる点です。たとえば「私は日本語を」という文の次に来る単語を予測するとき、それまでの文脈を踏まえて「話します」と推測できるのは、過去の入力を記憶しているからです。
音声認識、機械翻訳、株価予測などに活用されています。
敵対的生成ネットワーク(GAN)
Section titled “敵対的生成ネットワーク(GAN)”敵対的生成ネットワーク(GAN: Generative Adversarial Network)は、新しいデータを生成することに特化したネットワーク構造です。
GANは2つのネットワークで構成されています。
- 生成器(ジェネレータ):偽物のデータ(たとえば架空の人物写真)を生成する
- 識別器(ディスクリミネータ):データが本物か偽物かを見分ける
この2つが互いに競い合う(敵対する)ことで、生成器はどんどんリアルなデータを作れるようになります。「敵対的」という名前は、この仕組みに由来しています。
GANは、写実的な画像の生成、画像のスタイル変換、データの拡張(不足するデータを補う)などに活用されています。
| ネットワーク構造 | 略称 | 得意な分野 | 主な用途 |
|---|---|---|---|
| 畳込みニューラルネットワーク | CNN | 画像認識 | 顔認証、医療画像診断 |
| リカレントニューラルネットワーク | RNN | 時系列・文章 | 音声認識、機械翻訳 |
| 敵対的生成ネットワーク | GAN | データ生成 | 画像生成、スタイル変換 |
試験で出るポイント
基盤モデルと大規模言語モデル(LLM)
Section titled “基盤モデルと大規模言語モデル(LLM)”事前学習と基盤モデル
Section titled “事前学習と基盤モデル”近年のAI開発では、まず膨大な量のデータ(インターネット上のテキスト、画像など)を使ってモデルを訓練する事前学習が行われます。事前学習によって作られた汎用的なAIモデルを基盤モデル(ファウンデーションモデル)と呼びます。
基盤モデルは、特定のタスクのためだけに作られたものではなく、さまざまな用途に応用できる「土台」となるモデルです。一つの基盤モデルから、文章要約、翻訳、質問応答、画像認識など、多様なタスクに対応できます。
ファインチューニングと転移学習
Section titled “ファインチューニングと転移学習”基盤モデルをそのまま使うこともできますが、特定の目的に合わせて性能を高めるための手法があります。
ファインチューニングとは、事前学習済みのモデルに対して、特定の分野やタスクのデータを使って追加の学習を行い、性能を調整することです。たとえば、汎用的な基盤モデルに医療分野のデータを追加学習させることで、医療に特化したAIに仕上げることができます。
転移学習とは、ある分野で学習した知識を、別の分野に応用する手法です。たとえば、大量の一般画像で学習したモデルの知識を活かして、少量の医療画像データだけで病変を検出するモデルを作れます。ゼロから学習するよりも少ないデータで高い精度が得られるのが利点です。
| 用語 | 意味 |
|---|---|
| 事前学習 | 大量のデータでモデルを訓練し、汎用的な知識を獲得させること |
| 基盤モデル | 事前学習で作られた、さまざまな用途に応用できる汎用AIモデル |
| ファインチューニング | 事前学習済みモデルを特定の分野・タスク向けに追加学習して調整すること |
| 転移学習 | ある分野で学習した知識を別の分野に応用すること |
試験で出るポイント
大規模言語モデル(LLM)
Section titled “大規模言語モデル(LLM)”大規模言語モデル(LLM: Large Language Model)は、膨大な量のテキストデータで事前学習された基盤モデルの一種で、人間のように自然な文章を理解・生成できるAIです。
LLMの代表的な例としては、ChatGPTなどがあります。LLMは、質問応答、文章の要約、翻訳、プログラムコードの生成など、幅広い言語タスクをこなすことができます。
プロンプトエンジニアリング
Section titled “プロンプトエンジニアリング”プロンプトエンジニアリングとは、LLMに対して適切な指示文(プロンプト)を設計することで、より望ましい出力を引き出す技術・手法です。
同じLLMでも、指示の仕方によって出力の質が大きく変わります。たとえば「要約して」と伝えるだけでなく、「3行以内で要約して。専門用語は使わないでください」と具体的に指示することで、期待通りの結果が得やすくなります。
プロンプトエンジニアリングは、LLMを効果的に活用するための重要なスキルとして注目されています。
過学習とは、機械学習のモデルが学習データに過度に適合してしまい、未知の新しいデータに対して正しく判断できなくなる現象です。
たとえるなら、試験勉強で過去問の答えを丸暗記した状態です。過去問とまったく同じ問題には正解できますが、少し表現が変わった問題には対応できません。同様に、過学習したモデルは学習データに対しては高い精度を示しますが、実際の運用で新しいデータを処理すると精度が大きく下がります。
過学習を防ぐための主な対策には、次のようなものがあります。
- 学習データの量を増やす
- モデルを複雑にしすぎない
- 学習を適切なタイミングで打ち切る
試験で出るポイント
AI技術の全体像を整理すると、次のようになります。
| 分類 | 用語 | ポイント |
|---|---|---|
| AIのアプローチ | ルールベース | 人間がルールを定義する |
| 機械学習 | データから自動的に学習する | |
| 機械学習の種類 | 教師あり学習 | 正解ラベル付きデータで分類・回帰 |
| 教師なし学習 | ラベルなしデータでクラスタリング | |
| 強化学習 | 報酬を最大化するよう試行錯誤 | |
| ニューラルネットワーク | 活性化関数 | ニューロンの出力値を決める関数 |
| バックプロパゲーション | 誤差を逆方向に伝えて重みを調整 | |
| ディープラーニング | ディープラーニング | 多層NNで特徴量を自動抽出 |
| CNN | 画像認識に特化 | |
| RNN | 時系列・文章の処理に特化 | |
| GAN | データ生成に特化(生成器と識別器が敵対) | |
| 基盤モデル・LLM | 事前学習 | 大量データで汎用的に訓練 |
| ファインチューニング | 特定タスク向けに追加学習 | |
| 転移学習 | 別分野の知識を応用 | |
| LLM | 大規模な言語特化の基盤モデル | |
| プロンプトエンジニアリング | 適切な指示文で出力品質を高める | |
| 学習の問題 | 過学習 | 学習データに過度に適合してしまう現象 |
試験で出るポイント