見出し画像

今さら聞けない、AIの基本(その1)

「AI」という言葉を目にしない日はないくらい、「AI技術」はビジネスの世界において話題の中心になっている。でも、ふと「AIについて説明してみて」と言われると、答えに詰まる方も多いのではないか。私もその1人だった。

今回の記事では、ビジネスで「AI」について語る時に困らないよう、最も基礎的なAIの歴史・考え方・手法について紹介したい。先ずはAIの由来を簡単におさらいした後、① 電気回路、②コンピューターの論理、③ニューラルネットワークの3つのトピックを解説する。

本日はあくまでAI技術の基本に焦点を当て、その上で、今後のニュースレターでAIにより影響を受ける業界等、ビジネスへのインパクトについて別途語りたい。

AIの始まり

AIの歩みは、人間の脳を再現できないか?という試みから始まる。

1950年、AIの概念が誕生

1950年、後にハリウッド伝記映画の主人公にもなった天才数学者アラン・チューリングが、論文「計算する機械と知性」を発表。ここで彼は、「機械が考えることができるか?」という問いを立て、それを判断するためのテストを提案する。

テストは、「真似っこゲーム」と名付けられた。人がパソコン画面上の「相手」に質問を投げ、その解答を見て、「相手」が機械なのか人間なのか判断する、というシンプルなものだ。質問者が、機械の回答の一定割合以上を人間のものだと判断した(≒区別がつかなかった)場合、人口知能(Artificial Intelligence)としてのテストに合格したとみなすことにした。

出所:zero to one, inc.

そもそも人間の知能とは?脳はどう機能しているの?

21世紀に入り、機械がチューリングテストに合格できるできるようになると、「人間の脳のようなコンピューターを作れないか?」と研究者達は考えるようになる。そこで次の疑問が出てくる。「人間の脳はどうできているのか?」

人間の脳が情報を咀嚼する過程は、大きく3つに分けられる:

  1. 目や耳が外部の情報を捉える: 例えば、誰かに話しかけられたら、そのインプットを画像や音として認識する。

  2. 情報を電気信号に変換し、脳に送る:捉えた画像や音を電気信号として脳に送る。

  3. 脳内のニューロンが電気信号を読み取る:ニューロン同士でコミュニケーションを取り合い、音を言葉として解釈する。

AI研究においては、特に3番目の工程が一番大きな関心事と言える。

脳 = 回路 + 論理

人間の脳は、大量の情報をリアルタイムで処理できる「①回路」と「②論理」の組み合わせと言える。生物学的な「回路」であるニューロンが情報を保存し、何層ものニューロンの間でコミュニケーションを取り合うことで、「論理」を発揮することができる。

AIの研究では、この①回路と②論理をコンピューターを用いて再現しようと試みてきた。先ずはこの①と②について深堀りし、その上で③近代的なニューラルネットワークの技術について説明していきたい。

① 電気回路

「回路」と「論理」の組み合わせである人間の脳を再現するには、先ずは回路の代わりとなる電気回路を理解する必要がある。ここでは基本から最新鋭の半導体チップまで順番に解説したい。

トランジスタ

コンピューターの最も原始的な構成要素が、「トランジスタ」と呼ばれる半導体デバイスだ。その汎用性の高さから、「現代産業の米」とも呼ばれる。トランジスタは、電気信号を用いて、「オン」と「オフ」の2つの状態を作ることができる。「オン」=1、「オフ」=0と定義すれば、数字を「二進法」で表すことができる(例:数字の「9」は、1 x 8 + 0 x 4 + 0 x 2 + 1 x 1なので、「1」「0」「0」「1」と保存すればよい)。テキスト、画像、音なども、それぞれの文字、色、周波数を数字に置き換えれば良いので、「0」と「1」の組み合わせだけであらゆる情報を保存することができる。

出所: Semiジャーナル

定義上、8つのトランジスタ = 1バイトとされており、これがファイルの容量などで出てくる「〇〇バイト」のことだ。

コア

無数のトランジスタを集約したものを「コア」と呼ぶ。数十億のトランジスタが1~2平方ミリメートルに詰め込まれ、1つのコアを作り上げている。コアはタスクを順番にしか処理できないので、パソコンの多くは複数のコアをプロセッサーに搭載してタスクを同時並行に捌いている。このコアが行う業務を、司令塔となる中央処理装置(Central Processing Unit = CPU)が指示・管理する。CPUやコアの詳細はパソコンを買う際に確認できる(例:アップルの最新のM3 Maxのスペックはこちら)。

出所:APPLIED

処理装置の種類

処理装置はCPU以外にもあり、特にAIでは異なるタイプの処理装置の活用が鍵となるので、ここで簡単に触れておきたい。

  • CPU は最も一般的なコンピューターの「脳」として使われ、コア数が少ない代わりに、少数のタスクを早く捌くことができる。

  • GPU (Graphics Processing Unit、画像処理装置) は、その名の通り高度な画像を処理するために設計された。GPUは数千もの小さいコアを有しており、これが膨大なデータの並行処理に適している。このGPUが、同じく膨大なデータの並行処理を必要とするAIプログラミングに適していることに研究者たちが気づき、2006年、GPUメーカーのエヌビディアがGPU専用プラットフォームの開発に賭ける。昨今のAIの注目に伴い、同社のGPUの需要は生産キャパを大幅に超えている状況だ。

出所:カゴヤ・ジャパン

  • TPU (Tensor Processing Unit、テンソル処理装置)は、グーグルが開発した、機械学習等で高度な計算要件を必要とするニューラルネットワークモデル用の半導体だ。

  • ニューラルエンジンは、同様に最先端のニューラルネットワークに必要とされる数百万の平行演算を行える半導体。アップルが開発・実装している。

これらの回路技術の進歩により、人間の脳に似た論理を実現できる土台ができた。次はこの論理の進化について、解説したい。

② コンピュータの論理

パターン認識

まずは、最も原始的なコンピューターのロジックがどう機能しているかから始めたい。何かデータを分析する際に、一番簡単にできるのはパターン認識だ。

コンピューターはこれを確率として評価することでパターンを理解している。パターン認識のための古典的な手法は、線形回帰とロジスティック回帰だ。

  • 線形回帰は、データを通る線を描くことで、コンピューターが変数間の関係を見ることを可能にする。(例:パティシエとして、インスタの投稿数に応じてケーキの販売数がどれくらい増えるのかを知りたい)

  • これらの値に、ロジスティック関数を掛けて0から1の値に標準化させると、確率を理解するための強力なツールとなる。(例:喫煙者が肺疾患を患う確率を知りたい)

出所:「知識のサラダボウル」

データ分類

上記のパターン認識の次に便利なのが、データの分類・区別だ。これを行うためには、「サポートベクターマシン」や「k近傍法」のような技術がある。

  • サポートベクターマシン (SVM) は、最適な分割線を見つけることで、異なるデータグループ間の境界を引くことが可能となる。(例:家電製品の保証年数を最適化するために、どれぐらい経つと故障するのか知りたい)

出所:zero to one, inc.

  • k近傍法 (KNN)は、データが属するべきカテゴリを判断するために、最も近いデータに基づいてデータを分類できる。(例:新たな顧客を、「働き盛り」「ファミリー」等のセグメントに分類したくて、k = 5と定義した場合、新規顧客に最も近い5人の既存顧客のデータを見て、「働き盛り」が3人以上いたら新規顧客も「働き盛り」と分類する)

出所: zero to one, inc.

このパターンと分類の組み合わせを活用することで、データは意味を持ち始める。

データを用いたルール作成

データの種類を分類したら、次は、分析したデータからルールを定めることができる。ここでは、「決定木」と「ランダムフォレスト」の2つの手法を紹介する。

  • 決定木は、難解な質問をより簡単な複数の質問に分解することで、樹形図に基づいた分類を可能とする。例えば、「この客は常連客と認識すべきか?」という問いに対して、「購入金額」「ポイントカードの所持」「新作ケーキの購入歴」といったより細かい質問を基に定義することができる。

  • ランダムフォレストは、多数の決定木を用いて分類、回帰、クラスタリングを行うことで、より良い予測を行うことができる。

出所:Smart-Hint

以上、様々なデータ分析手法を紹介してきたが、欠点がある。文脈や感情といった自然言語の複雑さは、これらの手法ではつかみきれないことだ。ここで、それらに対応できる、ニューラルネットワークの説明に入りたい。

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

ニューラルネットワークは、今日AIモデルと呼ぶもののほとんどを支える論理システムだ。人間の脳を再現することで目指すこの高度な論理システムは、ある意味ランダムフォレストの巨大な集合体とも言える。

ニューロン == 「ノード」

人間の脳は、何層にも敷き詰められているニューロンのある経路を活性化させることで機能する。ニューラルネットワークは、その動作を「ノード」で再現する。

出所:SBクリエイティブ

ノードは単独では意味を持たないが、それぞれが機械の歯車のようなもので、あるパターンでそれを作動させると、データを認識・分析することができる。ニューラルネットワークは情報を処理し、決定を下すために何層のもノードを経由する。

ニューラルネットワークの学習方法

ニューラルネットワークは、訓練データを基に学習を行う。このネットワークが、訓練データを正確に予測できるように、複雑なツリー構造を作る。

例えば、ワインを白か赤に特定するために、「年数」・「アルコール度数」・「色合い」といった入力値と、「白ワイン」「赤ワイン」といった出力値のデータを用意したとしよう。このデータを基に、どの入力値をどれくらい考慮すべきなのか、重みづけを行う中間層(「隠れ」層)が作られる。複数の中間層を持たせれば、さらに多層のニューラルネットワークとすることができる。

出所:Preferred Networks, Inc.

ニューラルネットワークは、その予測を「確率」という形で返す。例えば、先ほどのワインの例で、あるワインの入力値を与えた時に、下記のような数値を算出したとしよう:

  • P(白ワイン) = 0.15

  • P(赤ワイン) = 0.85

この数値は、入力されたワインが「赤ワイン」「白ワイン」という2つのカテゴリのそれぞれに属する確率を現している。

正解が赤ワインだったら、上記の確率に対して、「正解」との差異を「コスト関数」という形で算出することができる。

  • 白ワイン:0.15(予測値)- 0 (実際の確率)= 0.15

  • 赤ワイン:0.85(予測値)- 1(実際の確率)= -0.15

ニューラルネットワークは、中間層の重みを調整することで、この「コスト関数」を限りなく0に近づけようと試みる。このプロセスを、逆伝播と呼ぶ。

上記の初回のトレーニングに加えて、現代のニューラルネットワークは継続して「強化学習」を通じて学習を続ける。これは反復的なプロセスで、モデルの重みを試行錯誤することで、先ほどの「コスト関数」を最小化する。

人間の知能を真に再現するには、ニューラルネットワークはあらゆるデータ(画像、テキスト、音声、等)を理解・生成する必要がある。ここで、ニューラルネットワークの種類を紹介しよう。

ニューラルネットワークは画像をどう理解する?

例えば、猫の写真を見ていたとしよう。

  • 我々は、目・耳やふさふさの毛を見て猫と認識するが、

  • ニューラルネットワークは、画素(画像の1点)毎にある赤・緑・青の色調を数値として認識する(例:茶色 = 「赤:127」「緑:96」「青:0」)

この色→数値への変換が、最初のステップだ。次に、この数値から画像の特徴を抽出したい。

画像認識の分野でよく活用されるのは、CNN (Convolutional Neural Network、畳み込みニューラルネットワーク) だ。CNNでは先ず、重みづけ行うための「フィルター(関数)」を画像データ上でスライドさせながら都度演算を行うことで、画像の特徴を抽出した3つ目の関数を取得する(≒「畳み込み」)。その上で別途、特徴を残しつつ画像を圧縮(≒「プーリング」と呼ぶ)し、平行移動などが起きても特徴の位置ズレが起きないよう保管する。この2つのステップを繰り返すことで、抽出された特徴を徐々に結合し、包括的な画像表現を形成することができる。

出所:zero to one, inc.

この構造化された学習方法を通じて、驚くべき精度で画像を分類できるようになる。

ニューラルネットワークは画像をどう生成する?

ニューラルネットワークの領域は画像認識のみならず、画像生成にまで広がっている。ここで2つの画像生成の手法を紹介したい。

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

Generative Adversarial Networks(敵対的生成ネットワーク、又はGANs)は、「生成モデル」と「識別モデル」という2つのCNNを競わせて画像出力の精度を上げる方法だ。生成モデルは精度の高い画像を作り出し、識別モデルは、本物⇔生成画像を区別することで、時間と共に判断力を洗練していく。この「競争」を、識別モデルが実際の写真と区別できなくなるまで続けることで、躍動感ある画像を生成することができるようになる。ある意味コンピューター内のチューリングテストとも呼べる。

但し、この手法は2つのモデルを同時に競わせるため、安定したトレーニングが難しいという欠点がある。

② 拡散モデル

ここで、拡散モデルという、新しい画像生成ツールも紹介したい。このモデルでは、画像の一部に「ノイズ」を加えて壊した後、データを復元させる練習を積み重ねる。この「逆エンジニアリング」を通じて、拡散モデルは新しい画像を生成できるようになり、GANより高い安定性や現実感を保つことができる。但し、計算コストが高いため、GANで解決できる使途であればGANの方が安く済ませられる。

ニューラルネットワークは文章をどう理解する?

文章を理解するためには、言語や他の種類の複雑なデータを認識し解釈できなくてはならない。今日、このためには「トランスフォーマー」と呼ばれるニューラルネットワークが使用されている。トランスフォーマーは「自己注意」と呼ばれる数学的テクニックを使い、文末と文頭がどのようにつながっているのか、段落内の文が互いにどのように関連しているのか、といった関連性を理解することができる。

このトランスフォーマーモデルに基づいて構築されたのが、今日の大規模言語モデル(Large Language Model)だ。LLMに関しては先日の「5分で分かる、LLM入門」で紹介しており、まだであれば是非この記事も併せてご覧頂きたい。

以上、駆け足で最も主要なAIモデルの説明をさせて頂いた。今後のニュースレターで、AIにより最も影響を受ける産業や、進化系の汎用人工知能(AGI)や人工超知能(ASI)の見立て等について解説したい。

※個人的な見解であり、所属する会社、組織とは全く関係ありません。

この記事が気に入ったらサポートをしてみませんか?