情報に関する理論2~AI(人工知能)の技術~

snack
snack

近頃では耳にすることが多くなったAI(人工知能)っすが、ITパスポート試験ではここだけではなく様々なところで登場するっす。

ボキタロー
ボキタロー

ストラテジ系でも勉強したよね。

snack
snack

そうっすね。ここでは技術的なことを中心に学習するっす。AIについては、シラバス上も非常にボリュームが多いところっすから頑張るっすよ。

AI 技術の基本的な仕組み

AI(Artificial Intelligence:人工知能)とは、人間の問題解決能力や意思決定能力を、コンピューターや機械を利用して人工的に再現するソフトウェアや技術です。

AI(Artificial Intelligence:人工知能)

AIと聞くと、ヒト型のロボットのようなものをイメージする人がいるかもしれませんが、AIはソフトウェア(プログラム)なので、必ずしもロボットの形をしているものには限定されません

AIの活用領域には音声認識画像認識自然言語処理などがあり、近年では、研究開発、調達、製造、物流、販売、マーケティング、金融、インフラ、公共、ヘルスケアなど、様々な領域(生産・消費・文化活動)で AI が利活用されています。

また、近年では文章や画像などを生成することができる生成AIも注目されています。

生成AIの活用によって、文章の添削・要約、アイディアの提案、科学論文の執筆、プログラミング、画像生成、作曲などを行うことができます。なお、生成のために入力する指示のことをプロンプトと呼び、このプロンプトを設計し、最適化するための技術・学問のことをプロンプトエンジニアリングといいます。

生成AI

ニューラルネットワーク

ニューラルネットワークとは、人間の脳の神経細胞(ニューロン)を模倣した機械学習モデルのことです。

人間は目や耳などから情報を「入力」し、その特徴を「計算・分析・判断」して、行動などによって「出力」します。これと同じように、コンピューターを入力層、中間層(隠れ層)、出力層の3層の数理モデルで模倣して入力データから複数の特徴を抽出し、さらにその特徴を組み合わせて最終的な判断を出力します。

ニューラルネットワーク
snack
snack

ザックリ言うと、全体が1つの大きな関数のようになっているものっすね。

参考

一つのニューロンにおいて、入力された値を基に計算し、次のニューロンに渡す値を出力するための関数を活性化関数といいます。

機械学習

人間の脳と同じでAIも学習することによって、より複雑で高度な分析や正確な判断ができるようになります。人が自然に行っている学習能力をコンピュータにもたせるための技術を機械学習といいます。

機械学習では、コンピューターが自律的に学習してデータの特徴や規則性を発見し、データの特徴を数値化した特徴量をもとに、予測や判断を行います。

AIはデータの特徴を手掛かりに様々な予測や判断を行います。したがって、特徴量の数や質はAIの予測精度に大きく影響します。

さらっと学習【ルールベース型AI】

AIが自ら学習する機械学習に対して、自律的に学習はせず、人が登録した情報をベースにAIが作業を行うタイプの人工知能技術のことをルールベース型AIといいます。人間がAIにルールを教えることで、AIはそのルールに基づいて状況を判断して正確に作業を行うことができますが、教えられたこと以上の作業はできません。

機械学習の種類には、教師あり学習教師なし学習強化学習の3種類があります。

教師あり学習

教師あり学習は、正解とともにデータを提示してAIに学習させる方法です。学習精度は高くなりますが、人間でも答えがわからないような予測や推測をする場合には向いていません。

教師あり学習

教師あり学習には、データの関係性を見つけ予測をする「回帰」、未知のデータを複数のクラスに分ける「分類」という2つの種類が存在します。

教師なし学習

教師なし学習は、正解データを提示しない状態でAIに学習させる方法です。AIがデータ間の類似度に基づいてデータをグループ分け(クラスタリング)するため、どのような特徴があるのかを新たに発見したい場合などに向いています。

教師なし学習

強化学習

強化学習は、正解することで報酬を得られる仕組みを用意し、AI自身が試行錯誤を繰り返して、報酬が最も高くなるように学習します。

強化学習

強化学習は囲碁や将棋のAIなどに活用されています。中でもGoogle社が開発したAlphaGoは有名ですね。AIがプロに勝ったということで当時は大きなニュースになりました。

大規模言語モデル(LLM)

AIが学習を重ねると扱える言葉・言語も増えていきます。数千万から数十億もの多数のパラメータ(扱える言葉のようなもの)をもち、ニューラルネットワークによって構築された言語モデルを大規模言語モデルLLM:Large language Model)といいます。

AIがこのモデルを有することで、私たちの質問に答えたり、アイデアを提案したり、といった自然言語処理が可能となります。

LLMの中には、みんなが自由に使えるように公開してくれているものもあります。ゼロからLLMを作り上げるのはかなり大変な作業となるため、実際にはこうしたLLMを利活用するケースが多くなっています。

snack
snack

OpenAI社のChatGPTなどが有名っすね。

さらっと学習【LLMの学習方法】

事前学習

事前に様々な文書をAIに学習させて、あらかじめ一般的な知識やパターンを身につけさせてから、特定の学習に進むという手法です。例えば、一般的な物体や形状を認識できるように事前学習を行ってから、特定の動物を認識する学習に進むと効率的に学習できるようになるいったことがあります。

ファインチューニング

公開されている学習済のモデルに、独自のデータを追加で学習させ、新たな知識を蓄えたモデルを作り出す技術です。特定の情報までしか学習していない状態のAIに、最新の情報や独自の情報を利用者自身が用意して加え、新たなモデルを作り出します。

転移学習

AIが学んで蓄積した知識を、別の領域の学習に適用させる技術です。ゼロから学習させるよりも早く高精度なモデルを作成することができます。

参考

AIがあるデータに対して過度に適合しすぎた結果、新しいデータに対してはうまく機能しない状態となることを過学習(オーバーフィッティング)といいます。

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

ディープラーニング(深層学習)とは、ニューラル ネットワークを使用した機械学習の一分野です。

AIの学習用データを人間が用意する場合、当然のことながら人間が用意できるもの以上のことを学習することはできません。そこで、AI自身がデータを分析し特徴を自動的に見つけ出す形で学習を進めることで、時として人間以上の音声認識や自然言語処理、画像認識などが可能となります。

ディープラーニングは、ニューラルネットワークの中間層を多層化することで、大量のデータから高度な特徴抽出を行い、複雑なパターン認識を可能にします。

ディープラーニング

図では中間層が2層だけですが、本来はもっとたくさんあります。

参考

ディープラーニングには、主に画像認識や画像分類に用いられるCNN(畳み込みニューラルネットワーク)や時系列データ(自然言語処理、音声認識、動画解析など)を扱うことに適しているRNN(再帰型ニューラルネットワーク)などの種類があります。

さらっと学習【その他のBランク用語】

バックプロパゲーション(誤差逆伝播法)

出力結果を元に、ニューラルネットワーク全体を逆に遡りながら誤差に修正を加えていく、ニューラルネットワークの学習アルゴリズムです。

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

2つのニューラルネットワーク(生成ネットワークと識別ネットワーク)を競争させながら学習を進め、新しいデータを生成する機械学習モデルです。生成ネットワークが新しいデータを生成し、識別ネットワークがそのデータが本物か偽物かを識別します。

確認○×問題

問1

利用者がスマートスピーカーに向けて話し掛けた内容に対して、スマートスピーカーから音声で応答するための処理手順が1〜4のとおりであるとき、音声認識に該当する処理は4である。

  1. 利用者の音声をテキストデータに変換する。
  2. テキストデータを解析して、その意味を理解する。
  3. 応答する内容を決定して、テキストデータを生成する。
  4. 生成したテキストデータを読み上げる。

答え:×

音声認識とは、音声を解析してテキストデータに変換する技術です。したがって、音声認識に該当する処理は1となります。

問2

AIにおける機械学習とは、記憶したデータから特定のパターンを見つけ出すなどの、人が自然に行っている学習能力をコンピュータにもたせるための技術である。

答え:〇

設問の通りです。機械学習の種類には、教師あり学習教師なし学習強化学習の3種類があります。

問3

ニューラルネットワークとは、ディープラーニングなどで用いられる、脳神経系の仕組みをコンピュータで模したモデルである。

答え:〇

設問の通りです。ニューラルネットワークは、コンピューターを入力層、中間層(隠れ層)、出力層の3層の数理モデルで模倣し、入力データから複数の特徴を抽出し、さらにその特徴を組み合わせてより複雑な特徴を抽出して最終的な判断を出力します。

問4

教師あり学習は、正解を付けた学習データを入力することによって、「分類」と呼ばれる手法で未知のデータを複数のクラスに分けたり、「クラスタリング」と呼ばれる手法でデータの関係性を見つけたりすることができるようになる学習方法である。教師なし学習は、正解を付けない学習データを入力することによって、「回帰」と呼ばれる手法などで次第にデータを正しくグループ分けできるようになる学習方法である。

答え:×

正しくは以下の文章となります。

教師あり学習は、正解を付けた学習データを入力することによって、「分類」と呼ばれる手法で未知のデータを複数のクラスに分けたり、「回帰」と呼ばれる手法でデータの関係性を見つけたりすることができるようになる学習方法である。教師なし学習は、正解を付けない学習データを入力することによって、「クラスタリング」と呼ばれる手法などで次第にデータを正しくグループ分けできるようになる学習方法である。

問5

数千万から数十億もの多数のパラメータをもち、ニューラルネットワークによって構築された言語モデルをLLMという。

答え:〇

設問の通りです。LLM(大規模言語モデル)を用いることで、私たちの質問に答えたり、アイデアを提案したり、といった自然言語処理が可能となります。

問6

ディープラーニングでは、コンピュータが大量のデータを分析し、ニューラルネットワークを用いて自ら規則性を見つけ出し、推論や判断を行う。

答え:〇

設問の通りです。ディープラーニングは、AI自身がデータを分析し特徴を自動的に見つけ出す形で学習を進めることで、時として人間以上の音声認識や自然言語処理、画像認識などが可能となります。

問7

公開されている学習済のモデルに、独自のデータを追加で学習させ、新たな知識を蓄えたモデルを作り出す技術を転移学習という。

答え:×

設問はファインチューニングの説明です。転移学習とは、AIが学んで蓄積した知識を、別の領域の学習に適用させる技術です。ゼロから学習させるよりも早く高精度なモデルを作成することができます。