はじめに
AIという言葉をニュースなどで耳にする機会が多くなっています。しかし、一言でAIと言っても、技術的にはさまざまな種類のAIが存在します。本記事では、AIのうち、特に広い分野で利用されている機械学習に関連する技術について紹介します。
機械学習とは
AIはコンピュータが人間のような知的な活動を行うことを可能とする技術の総称です。これに対して、機械学習はAI分野の一要素であり、与えられたデータのパターンをコンピュータに学習させることで複雑なタスクを実行する能力を付与しようとする技術です。
機械学習においてタスクを実行するための頭脳の役割を果たすのが機械学習モデルです。機械学習モデルは特定のタスクを実行するための数学的なルールを表現します。このルールをコンピュータに自動で学習させるためのアプローチとして、教師あり学習、教師なし学習、強化学習の3種類があります。
教師あり学習は、ラベル付きデータを使って学習を行う手法です。ラベル付きデータとは、入力データに対する正しい出力データが与えられたデータのことです。例えば、画像データに猫が含まれるかを機械学習モデルで判定するタスクにおいては、猫が含まれるデータには「含まれる」、含まれないデータには「含まれない」といったラベルが付与されます。これらのラベル付きデータのパターンを機械学習モデルに学習させることで、学習していない未知のデータに対しても正しい出力を行うことができるようになります。数学的には、この学習プロセスは機械学習モデルのパラメータを調整することに該当します。
教師なし学習では、ラベルが付与されていないデータのパターンや構造をコンピュータに学習させます。例えば、顧客データをもとに、類似した購買行動をとる顧客をグループ分けすることで、商品のレコメントを行うようなタスクが考えられます。
強化学習は、エージェントと呼ばれる意思決定を行うプログラムが、与えられた環境と相互作用しながら、報酬を最大化するための行動を学ぶ手法です。ラベル付きデータが与えられないという点で教師なし学習と似ていますが、強化学習ではエージェントが試行錯誤を通じて自ら最適な行動を学習することに焦点が当てられます。例えば、自分の打った手の結果をもとに最適な打ち手を学習する将棋AIに応用されています。
機械学習モデルの代表的なタスク
機械学習モデルはさまざまなタスクを実行できます。ここでは代表的なタスクについて説明します。
1つ目は、連続値などの数値を予測する回帰タスクです。広告費の増加にともなう売上変化、将来的な株価変動の予測などが該当します。
2つ目は、データをあらかじめ決めたカテゴリのどれに該当するかを決定する分類タスクです。例えば、あるメールがスパムか否かを判定する迷惑メール検知、画像データに猫が含まれるかを判定する画像認識などが該当します。
3つ目は、与えられたデータを似たデータ同士からなるグループに分類するクラスタリングです。作成された各クラスタに含まれるデータを分析することで、データに潜んでいるパターンや構造を明らかにすることができます。クラスタリングタスクには教師なし学習にもとづく機械学習モデルがより利用されます。
4つ目は、学習したデータをもとに新たなデータを作成する生成タスクです。ChatGPTをはじめとする大規模言語モデルの発展とともに世界中で注目を集めています。具体的には、ユーザの入力への回答を作成する自然言語生成、入力された説明文をもとに画像データを作成する画像生成などが挙げられます。
これまでにさまざまな機械学習モデルが研究されており、学習のためのアプローチ、実行できるタスク、対象となるデータの種別などの観点で違いがあります。以降では、特に有名な機械学習モデルであある線形回帰、ロジスティック回帰、ナイーブベイズ、サポートベクタマシン、決定木、K平均法、ニューラルネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、大規模言語モデルについて説明します。
線形回帰
線形回帰は、複数の種類のデータの関係性を線形関数で表現する教師あり学習にもとづく機械学習モデルであり、ある変数が他の変数にどのように影響を受けるかを予測するために使われます。例えば、ある商品の特定の地域内での売上を、広告費やその地域の人口などから予測するために線形回帰モデルを利用することが考えられます。この場合、\((売上)=a×(広告費)+b×(人口)+c\) となるような定数 \(a, b, c\) を過去データにもとづき算出することで売上予測用の学習済みモデルを作成します。そして、学習済みモデルにさまざま広告費データと人口データの組を代入することで売上予測が可能となります。このように、線形回帰はデータ間の関係性が直感的に表現される最もシンプルなAIモデルの一つです。
ロジスティック回帰
ロジスティック回帰は関数を用いていくつかの要因から結果を予測するための教師あり学習にもとづく機械学習モデルですが、線形回帰とは異なり、ある結果が引き起こされる確率を0から1の値として予測することができます。具体的には、ロジスティック関数と呼ばれる曲線を使って入力データから確率の計算を行います。このとき、入力データの各特徴に重みを与えることで、それらの特徴が結果にどのように影響を与えるかを評価します。例えば、ある人が将来特定の疾患を発症する確率を身長、体重、血圧などのデータをもとに予測するモデルを作成することができます。
ナイーブベイズ
ナイーブベイズは、確率論の有名な定理の一つであるであるベイズの定理にもとづく機械学習モデルです。具体的には、あるデータが各クラスに属する確率を学習データにもとづき計算し、その確率が最も高いクラスにデータが属すると判定します。ナイーブベイズは特に日本語、英語をはじめとする自然言語の分類に強みがあります。したがって、文章から書き手の感情を推測する感情分析やスパムメールフィルタリングなどに広く応用されています。
サポートベクタマシン(SVM)
サポートベクタマシンは、境界線にもとづき複数のデータを異なるクラスに分類する機械学習モデルです。例えば、ある写真の人物が笑っているか、起こっているかを判定する感情分析や、ユーザのクレジットカード利用が不正か否かを判定する不正利用検知などに利用されます。データを分類するために、サポートベクタマシンはデータ間のマージンを最大化する境界線を探します。ここで、マージンとは境界線と境界線に最も近いデータまでの距離のことです。また、カーネル法という技術を使うことで、複雑な構造をもつデータも正確に分類できるようになるため、画像認識や自然言語分類など、多くの分野に応用可能なAIモデルとしても知られています。
決定木
決定木は、木構造にもとづきデータを分類する点で他のAIモデルとは大きく異なります。決定木の各ノードはデータの特徴にもとづく質問、枝はその質問への回答にもとづく分岐に対応します。頂上の根ノードから枝をたどりながら質問に応えていき、最終的に葉ノードに到達すると、そのノードがデータの分類結果を示します。このようにデータがどのように最終的な分類結果に到達したかを追跡することができるため、AIモデルの出力結果が人間にとって解釈しやすいものになります。
K平均法
K平均法は、クラスタリングタスクを実行するために広く利用される教師なし学習にもとづく機械学習モデルです。この手法では、データをK個のクラスタに分け、それぞれのクラスタの重心を計算します。学習開始時はランダムに選択したK個の重心を設定し、与えられたデータをもっとも距離が近い重心に対応するクラスタに属するものとします。その後、各クラスタの重心を計算し直し、それらの重心にもとづき各データが所属するクラスタを変更するという処理を重心が安定するまで繰り返すことで最終的なクラスタを確定させます。適切なクラスタを導出するためには、パラメータKを適切に設定する必要があります。
ディープニューラルネットワーク(DNN)
ニューラルネットワークは、人間の脳の神経細胞を模した構造を持つAIモデルです。入力層、中間層、出力層から構成され、入力層が受け取ったデータが中間層で処理され、出力層で結果が出力されます。各層のニューロンは、重みとバイアスと呼ばれるパラメータを用いて次の層のニューロンと接続されています。ニューラルネットワークは画像認識や自然言語処理など、複雑な問題に対して高い性能を発揮することが分かっています。ニューラルネットワークを発展させたディープニューラルネットワークは多層の隠れ層を持つことで、データがもつより複雑なパターンを学習することを可能にします。その一方、他のAIモデルと比較して大量の計算資源を必要とします。ディープニューラルネットワークは以降で説明する畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、大規模言語モデルの基礎となる重要なモデルです。
畳み込みニューラルネットワーク(CNN)
畳み込みニューラルネットワーク(CNN)は、主に画像分析に特化したディープニューラルネットワークです。一般的なディープニューラルネットワークとは異なり、入力データの空間的・時間的な性質を加味した特徴量を抽出するために、畳み込み層とプーリング層を持ちます。畳み込み層は、入力データの局所的な特徴を捉えるフィルタを適用し、プーリング層は抽出した特徴から位置に関する情報を削除します。例えば、画像データに猫が含まれるか否かを分類したい場合、画像データ内のどの位置に猫が存在するかは分類結果に影響を与えません。これに対して、プーリング層で位置に関する特徴を削除することで、幅広い入力データの特徴を学習したAIモデルを作成することができます。最後に、畳み込み層とプーリング層で抽出された特徴量をもとにニューラルネットワークにもとづく最終的な分類が行われます。畳み込みニューラルネットワークが持つこれらの特徴から、顔認証、医療画像診断、自動運転車の物体検出システムなどの幅広い分野に応用されています。
回帰型ニューラルネットワーク(RNN)
回帰型ニューラルネットワーク(RNN)は、ディープニューラルネットワークの隠れ層や出力層の過去の出力を、同じ層または他の層に対する入力の一部として利用するフィードバックループと呼ばれる機構が備わっています。フィードバックループはディープニューラルネットワークに過去の情報を保持する記憶を追加するものと例えられることもあります。この機構により、回帰型ニューラルネットワークは連続性をもつデータの分析を精度良く行うことができるようになります。この特徴から、株価予測などの時系列データ分析、文章の生成や翻訳などの自然言語処理に強みを持っています。
大規模言語モデル(LLM)
大規模言語モデルは、文章の内容理解や生成に特化したAIモデルです。特に文章生成を行う大規模言語モデルは生成AIと呼ばれます。これらのモデルはトランスフォーマーと呼ばれるニューラルネットワークにもとづくアーキテクチャを基盤としており、GPT(Generative Pre-trained Transformer)やBERT(Bidirectional Encoder Representations from Transformers)などが広く知られています。大規模言語モデルでは、入力された文章をトークンと呼ばれる単位に細かく分割し、各トークンを特定のルールに従い数値列に変換します。これらの数値列をディープニューラルネットワークに入力することで文脈の理解が行われ、最終的に文脈にしたがった出力が得られます。大規模言語モデルを応用した対話型AIアプリケーションとしてChatGPTが世界中で爆発的に普及し、文章の生成、翻訳、要約、質問応答などの自然言語処理タスクにおいて高い性能を示すことが明らかになっています。チャットボットや自動コンテンツ生成など、さまざまな応用が進んでおり、AIの新たな可能性を切り開くことが期待されたAIモデルの一つです。一方で、学習済みモデルの作成にはその他のモデルよりも大量のデータ、モデルパラメータ、計算資源が必要となります。
まとめ
本記事で紹介した通り、AIモデルにはさまざまな種類があり、それぞれが異なる特性を持っています。データから有益な情報を引き出すためには適切なAIモデルを選択することが重要です。日常生活やビジネスを含め、AIモデルは今後私たちの生活のいたるところで利用されるようになることが予想されます。それらのAIモデルで活用される技術を理解することは、私たち生活をより豊かなものにしてくれるでしょう。