【ITパスポート試験】No.098|AI(Artificial Intelligence:人工知能)の技術

※本サイトで紹介している商品・サービス等の外部リンクには、プロモーションが含まれています。

本記事では、AI技術の基本的な考え方から、機械学習・ニューラルネットワーク・ディープラーニングなどの代表的な仕組み、そして近年注目されている大規模言語モデル(LLM)やプロンプトエンジニアリングまでを順に整理し、自然言語処理や音声・画像の認識・合成といった身近な活用例をイメージしながら学べるよう、専門用語をできるだけかみ砕いて解説していきます。


目次

1. AI技術の全体像と基本的な考え方

この章では、AI技術の全体像として「ルールベース」と「機械学習」の違いを押さえつつ、AIが学ぶための材料となる「特徴量」という考え方を説明します。自然言語処理や画像認識など、さまざまな分野のAIに共通する土台になる部分です。

ルールベース

ルールベースとは、「もし〜なら〜する」という形のルールを人間があらかじめたくさん用意し、そのルールにしたがってコンピュータが判断する仕組みです。例えば、問い合わせ対応システムで「返品」「キャンセル」という単語が含まれていたら、対応マニュアルの該当箇所を案内するといったイメージです。昔からある手法で、ルールさえしっかり作れば予測がつきやすく、想定外の動きをしにくいというメリットがあります。

一方で、ルールベースはルールの数が増えるほど管理が大変になり、例外的なケースに対応しづらいという弱点があります。人間がルールを一つずつ考えて追加していく必要があるため、データ量の増加に合わせて自動的に賢くなる、といったことも得意ではありません。この限界を超えるために発展してきたのが、次に見る「機械学習」の考え方です。

機械学習

機械学習とは、コンピュータが大量のデータからルールやパターンを自動的に学習し、その結果をもとに予測や分類を行う仕組みです。例えば、過去の購入履歴から「この人はどの商品を好みそうか」を予測したり、メールの文面から「迷惑メールかどうか」を判定したりするのが典型的な例です。ここでは、人間が細かいルールを全部書くのではなく、「正解付きのデータ」や「特徴を持ったデータ」を与えて学習させます。

機械学習の強みは、データが増えるほどモデルが洗練され、より高い精度を目指せることです。その一方で、学習のさせ方やデータの選び方を誤ると、期待した性能が出なかったり、偏った判断をしてしまったりします。AI技術を活用するうえでは、アルゴリズムだけでなく、どのようなデータをどのように与えるかが非常に重要になります。

特徴量

特徴量とは、データを数値やカテゴリとして機械学習で扱いやすい形に加工したものを指します。例えば、商品レビューの文章をそのまま使うのではなく、「単語の出現回数」や「文章の長さ」といった指標に変換したものが特徴量です。画像の場合は、色の明るさやエッジ(輪郭)の強さなど、パターンを表す量を特徴量として取り出します。

良い特徴量を設計できると、同じアルゴリズムでもぐっと精度が上がります。逆に、特徴量の選び方が不適切だと、モデルは重要な違いを見分けられません。ディープラーニングでは、この特徴量の抽出も含めて自動的に学習することが特徴ですが、どのような情報が本質的な特徴になりうるかをイメージしておくことは、依然として重要な観点です。


2. 機械学習の代表的な学習方法

この章では、機械学習の代表的な学習スタイルである「教師あり学習」「教師なし学習」「強化学習」と、学習のしすぎによる問題である「過学習」について整理します。

教師あり学習

教師あり学習は、「入力」と「正解」のセットをたくさん用意して学習させる方法です。例えば、画像と「犬」「猫」といったラベル、メールと「迷惑メール/通常メール」といったラベルがペアになったデータを使います。モデルは「この入力のとき正解はこれだった」という経験を積み重ねることで、新しい入力に対しても正解を予測できるようになります。

この方法は、分類や数値予測など多くの実務で使われています。売上予測や需要予測、需要に応じた在庫量の算出なども教師あり学習の典型例です。ただし、正解付きのデータを大量に集めるのは手間とコストがかかるため、データの準備がプロジェクトのボトルネックになることも少なくありません。

教師なし学習

教師なし学習は、「正解ラベルがないデータ」から、データ同士の似ている関係や構造を見つけ出す方法です。代表例は、似た性質を持つデータをグループにまとめる「クラスタリング」や、データをより少ない次元に圧縮して特徴をつかみやすくする「次元削減」です。顧客の購買履歴をもとに「似た行動パターンを持つグループ」を自動で見つける、といった場面で活躍します。

教師なし学習は、「どんなグループがあるか分からないが、何か傾向がないか知りたい」といった探索的な分析に向いています。一方で、正解があらかじめ決まっていないため、「結果が良いかどうか」を評価するのが難しいという面があります。人間の業務知識と組み合わせて、得られたグループやパターンの意味を読み解くことが大切です。

強化学習

強化学習は、AIが試行錯誤を通じて「どう行動すれば良い結果につながるか」を学んでいく方法です。ゲームのプレイヤーや、倉庫内を走る自律移動ロボットをイメージすると分かりやすいです。AIはある状態で行動を選び、その結果として「報酬」や「ペナルティ」を受け取ります。この報酬を最大化するような行動ルールを学習していきます。

強化学習は、長期的な成果を考慮しながら行動を選ぶ必要がある場面に向いています。ただし、膨大な試行回数が必要になることが多く、現実世界の環境で直接試すことが難しい場合もあります。そのため、シミュレーション環境で学習させてから実世界に適用するなど、工夫が求められます。

過学習

過学習とは、モデルが「訓練に使ったデータ」にあまりにもピッタリ合わせすぎた結果、初めて見るデータに対してうまく予測できなくなってしまう現象です。テストの問題集を丸暗記しただけの状態をイメージすると分かりやすいでしょう。練習問題には強いのに、本番の試験で少しひねられた問題が出ると解けない、という状況です。

過学習を防ぐためには、データを学習用と評価用に分ける、モデルを複雑にしすぎない、正則化と呼ばれるペナルティを与える、学習途中で性能が頭打ちになった段階で止めるなど、さまざまなテクニックが使われます。AIシステムを実務に適用する際には、「学習データでは高精度だが、実環境ではうまく動かない」という事態を避けることが重要です。


3. ニューラルネットワークの仕組み

この章では、多くのAI技術の土台となっているニューラルネットワークの基本構造と、その学習を支える「バックプロパゲーション」「活性化関数」について解説します。

ニューラルネットワーク

ニューラルネットワークは、人間の脳の神経細胞(ニューロン)をモデルにしたアルゴリズムです。入力層・中間層(隠れ層)・出力層という複数の層から構成され、各層のノードが次の層のノードと多数の結合でつながっています。入力された数値は、これらの結合を通じて次々と変換され、最終的な出力(予測結果)として取り出されます。

ニューラルネットワークの強みは、多数のパラメータを持つことで、非常に柔軟な関数を表現できる点です。そのおかげで、画像認識や音声認識、自然言語処理など、従来の手法では難しかった問題に対して高い性能を発揮します。一方で、内部で何が起きているかが直感的に分かりにくく、「なぜその判断になったのか」を説明しづらいという課題もあります。

バックプロパゲーション

バックプロパゲーション(誤差逆伝播法)は、ニューラルネットワークを効率よく学習させるためのアルゴリズムです。まず、現在のパラメータで予測を行い、正解とのズレ(誤差)を計算します。その誤差を出力層から入力層へ逆向きに伝えていきながら、各結合の重みをどの程度変えれば誤差が小さくなるかを求め、少しずつ更新していきます。

この手順を多くのデータに対して繰り返すことで、ネットワーク全体のパラメータが調整され、予測精度が高まっていきます。バックプロパゲーションの登場により、深い層を持つネットワークでも現実的な時間で学習できるようになり、ディープラーニングの発展を支える基盤となりました。

活性化関数

活性化関数は、各ノードで入力された値をどのように出力するかを決める数式です。単純に「入力をそのまま出力」するだけでは、ネットワーク全体が線形な変換になってしまい、表現できるパターンに限界があります。そこで、ReLU関数やシグモイド関数など、非線形な形をした活性化関数を使うことで、複雑なパターンを扱えるようにしています。

活性化関数の選び方は、学習の安定性や速度、性能に影響します。例えば、ReLUは値が大きくなるほどそのまま通すシンプルな関数で、計算が軽く深いネットワークでも学習がしやすいという特徴があります。どの活性化関数を使うかは、扱うデータの性質やネットワークの構造によって使い分けられます。


4. ディープラーニングと各種ネットワーク

この章では、深い層を持つニューラルネットワークであるディープラーニングと、その代表的なネットワーク構造であるCNN・RNN・GANについて学びます。画像や文章、生成AIなど、具体的な活用シーンとの関係も合わせて押さえます。

ディープラーニング(深層学習)

ディープラーニングは、中間層を多数重ねたニューラルネットワークを用いる学習手法の総称です。多くの層を通じてデータを変換していくことで、特徴量の抽出から最終的な判断までを一体的に学習します。画像認識では、低い層がエッジや模様、高い層が物体の部位や全体の形など、抽象度の異なる特徴を自動的にとらえられるのが特徴です。

この仕組みによって、手作業で特徴量を設計しなくても、高い精度のモデルを構築できるようになりました。その一方で、大量の学習データと計算資源が必要になる点や、学習に時間がかかる点が課題となります。クラウドサービスやGPUなどの活用が、ディープラーニングの実用化には欠かせません。

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

畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)は、主に画像認識で使われるネットワーク構造です。画像に小さなフィルタを滑らせながら適用し、「縦の線がある」「色の変化が急だ」といった局所的な特徴を抽出していきます。これにより、画像が少し移動したり回転したりしても、重要なパターンを捉え続けられるという性質があります。

CNNは、顔認識、物体検出、自動運転における道路標識の認識など、さまざまな分野で活用されています。近年では、画像だけでなく音声のスペクトログラムなど、2次元的な構造を持つデータにも応用されており、マルチメディア処理の中心的な技術となっています。

リカレントニューラルネットワーク(RNN)

リカレントニューラルネットワーク(Recurrent Neural Network:RNN)は、「時間的なつながり」を持つデータを扱うためのネットワークです。ある時点の出力が次の時点の入力にも影響するような構造を持ち、文章や音声、時系列データなど、順番が意味を持つ情報の処理に向いています。例えば、文章生成や機械翻訳、株価やセンサ値の予測などが典型的な応用例です。

ただし、基本的なRNNは長い系列を扱うときに勾配が消えてしまい、うまく学習できない問題があります。この課題を解決するために、LSTMやGRUといった改良型の構造が考案されました。現在の大規模モデルでも、こうした「系列を扱う工夫」がさまざまな形で取り入れられています。

敵対的生成ネットワーク(GAN)

敵対的生成ネットワーク(Generative Adversarial Network:GAN)は、「生成ネットワーク」と「識別ネットワーク」の2つを対決させながら学習させる仕組みです。生成ネットワークは本物そっくりのデータ(画像など)を作ろうとし、識別ネットワークはそれが本物か偽物かを見分けようとします。両者が競い合うことで、非常にリアルな画像や音声が生成できるようになります。

GANは、人物写真に近い画像の生成、イラストのスタイル変換、低解像度画像の高精細化など、クリエイティブな分野で多く利用されています。一方で、ディープフェイクのように、不正利用のリスクもある技術です。利便性と倫理・安全性のバランスをどう取るかが、今後ますます重要なテーマになっています。


5. 事前学習と大規模言語モデル

この章では、「事前学習」「転移学習」「ファインチューニング」を通じてモデルを再利用する考え方と、その代表例である大規模言語モデル(LLM)、さらにLLMを使いこなすためのプロンプトエンジニアリングについて解説します。最近のAIサービスの仕組みを理解するうえでの核心部分です。

事前学習

事前学習とは、大量の一般的なデータを使って、汎用的な能力を持つモデルをあらかじめ学習させておくことです。例えば、インターネット上の膨大な文章を学習し、「単語同士の関係」や「文章のパターン」をつかんだ言語モデルを作るイメージです。この段階では、特定の企業や業務に特化した機能までは持っていませんが、広い範囲の知識や表現力を身につけています。

事前学習済みのモデルを用意しておくことで、その後のタスク向けの学習を効率よく進められます。ゼロからモデルを作るのではなく、すでに「基礎体力」のあるモデルに追加トレーニングを行うことで、必要な計算資源やデータ量を大幅に減らせるのが大きな利点です。

転移学習

転移学習とは、事前学習済みモデルを別のタスクに転用する学習手法です。例えば、「一般的な画像認識で学習したCNN」をベースにして、「工場内の部品の良品・不良品を判定するモデル」を作る、といった使い方です。もともとのモデルが持っている「エッジや形状を捉える能力」を流用しつつ、新しいタスクに合わせて一部だけを追加で学習させます。

転移学習を使うことで、データが少ない分野でも高い性能のモデルを構築しやすくなります。また、学習時間を短縮できるため、現場で試行錯誤を繰り返しやすい点もメリットです。近年のAIプロジェクトでは、「ゼロから学習させる」よりも、転移学習を前提とした開発が主流になっています。

ファインチューニング

ファインチューニングとは、事前学習済みモデルのパラメータを、新しいタスクに合わせて細かく調整する作業を指します。基本的には、元のモデル全体または一部の層を、目的に応じたデータで再度学習させるイメージです。例えば、一般的な日本語を学習した言語モデルに、自社のFAQやマニュアルを追加で学習させ、社内向けの問い合わせ対応に特化させるといった使い方があります。

ファインチューニングのポイントは、「どこまで元の知識を残し、どこから新しい知識を強く学習させるか」のバランスです。調整の仕方を誤ると、元の汎用的な能力が失われたり、特定のデータに偏りすぎたりすることがあります。そのため、学習率や更新する層の範囲を慎重に設定し、評価データで性能を確認しながら進めることが大切です。

大規模言語モデル(LLM)

大規模言語モデル(Large Language Model:LLM)は、非常に大量のテキストデータと膨大なパラメータを持つ、事前学習済みの言語モデルです。文章の続きを予測する形で学習することで、文法や語彙だけでなく、世界に関する知識や論理的なつながりまで、広くとらえられるようになっています。チャットボット、文章要約、翻訳、プログラムコード生成など、さまざまな用途で活用されています。

LLMは、文章生成に限らず「AIの基盤モデル」としても位置づけられます。一つのLLMをベースに、業種別・業務別のアプリケーションへ転移学習やプロンプトの工夫によって応用することで、多様なサービスを効率的に展開できます。ただし、常に正しい情報を返すわけではなく、事実と異なる内容をそれらしく答えてしまうこともあるため、人間による確認やガイドライン整備が欠かせません。

プロンプトエンジニアリング

プロンプトエンジニアリングとは、LLMに与える指示文(プロンプト)を工夫して、望ましい出力を得るための技術やノウハウのことです。同じモデルでも、「どのような聞き方をするか」によって、得られる回答の内容や品質が大きく変わります。役割を指定する、出力形式を明示する、ステップごとに考えさせるなど、さまざまなテクニックがあります。

ITパスポート試験の学習でも、LLMに対して「用語の定義を教えて」「例題を作って」「選択肢の解説もして」といった指示をうまく組み立てることで、学習効率を高めることができます。今後、LLMを業務に活用する場面が増えるほど、プロンプトエンジニアリングの知識は、AIの専門家だけでなく一般のビジネスパーソンにとっても重要になっていくと考えられます。


まとめ

ここまで、AI技術の考え方から機械学習・ニューラルネットワーク・ディープラーニング・大規模言語モデルまでを一通り確認してきました。AIが「ルールベース」から「データを使って学習する仕組み」へと発展してきた流れと、教師あり学習・教師なし学習・強化学習、そして特徴量や過学習といったキーワードは、全体像を理解するうえでの土台になります。

その上で、ニューラルネットワークがどのように学習し、バックプロパゲーションと活性化関数によって柔軟な表現力を獲得しているかを押さえることで、ディープラーニングやCNN・RNN・GANなどの多様なモデルの位置づけが見えてきます。画像認識、音声認識、自然言語処理、そして画像や音声の生成など、私たちの身の回りの多くのサービスがこれらの技術の組み合わせで動いていることが理解できたはずです。

最後に、事前学習・転移学習・ファインチューニングを通じてモデルを再利用する考え方と、その代表例である大規模言語モデル(LLM)、さらにLLMを使いこなすプロンプトエンジニアリングについて確認しました。AIは万能ではありませんが、仕組みと得意・不得意を理解して付き合うことで、業務や学習の心強いパートナーになります。基礎用語の意味をしっかり押さえつつ、実際のサービスに触れながら、自分なりにAIとの付き合い方を考えていくことが大切です。

  • URLをコピーしました!

この記事を書いた人

IPA(独立行政法人 情報処理推進機構)の活動を陰ながら応援している、しがないソフトウェアエンジニア。
サトシ ナカモトの戦友。
ITやソフトウェアに関することをわかりやすくまとめ、多くの人にそれらを知ってもらおうと活動しています。
ご質問やご要望、お仕事依頼がございましたらお問合せフォームよりお願いいたします。

コメント

コメントする

CAPTCHA



reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

目次