見出し画像

今こそ知っておこう!ChatGPT登場までのAI発展の歴史③ ~第3次AIブーム~

ChatGPTの登場以来AI業界は急激な盛り上がりを見せていますが、ChatGPTは突然生まれたわけではありません。AI(人工知能)という概念が登場して以来、研究は一歩一歩進んできました。過去にどのようなとができるようになり、どんな課題が立ちはだかってきたのか。その課題はどうやって突破されたのか。そのような歴史の流れを知ることで、現状を理解し、今後のAI研究がどう発展していくのかを考える助けとなります。
前回は、第2次 AIブームまでを紹介いたしました。本記事では、第3次 AIブームを説明いたします。


第3次AIブーム 学習する機械

第2次AIブームの終焉で見えてきた知識のルール化の限界、機械に理解させることの難しさという課題に対処するために出てきたアイデアが機械自身に学習させるというアイデアです。

機械が学習するとはどういうことか?

では、機械が学習するとはいったいどういうことなのでしょうか?学習とは「分からない」状態から、「分かる」状態への変化です。では、「分かる」とはどういう状態なのか。
ここで、機械で考える前に私たちが「分かる」とはどういうことなのか考えてみしょう。以下にオレンジから赤に変化するグラデーションの画像があります。矢印がある部分はオレンジか赤か、どちらでしょうか?

オレンジと赤のグラデーション

私には、該当部分は赤というよりもオレンジに見えます。このような意見が言えるのは赤やオレンジが分かっているからです。
しかし、生まれたばかりのあかちゃんには、赤かオレンジかはわかりません。赤ちゃんが色を識別できるようになるのは、だいたい生後18ヶ月~3歳の間だと言われます。赤ちゃんは、親や保育者から「これは赤だねー」「これは青だねー」のようにいろいろな例を教えてもらうことで学習していきます。まだ色に関する言語を持ち合わせない赤ちゃんにとって、色の違いは無限大です。赤ちゃんにとっては、母親が昨日言っていた「赤」と、今日保育者から教えてもらった「赤」が違って見えたりしています。そういう違いも含めてたくさんの例を教えてもらうことで、赤ちゃんの頭の中で徐々に整理されていき、こういう場合は赤と呼ばれているなという「概念」が出来上がっていきます。その「概念」の構築とは、色空間の中に境界線を引く作業に他なりません。色の世界の中で、赤が「わかる」ということは、赤とその他の色の間に境界線が引けて、どこまでは赤で、どこからは赤じゃないのかがわかるようになるということなのです。そうすることで、これは赤、これはオレンジと言えるようになるのですね。つまり、「分かる」ということは境界線を決めることなのです。

ここで機械学習に話を戻しましょう。要するに、機械学習とは私たちが「分かる」状態になるということと同様に、機械自身がその過程を得ることで自ら境界線を決められるようになることです。
第2次AIブームを盛り上げたエキスパートシステムは人間が知識をルール化してそれを覚えさせました。しかし、それらのルール化には多大な労力が必要で、ルール作りが難しかったのです。そこで、ルールを機械自身に決めさせるようにしたのが機械学習です。
上記の例でいえば、人間が「赤」と判別した画像と、「オレンジ」と判別した画像をたくさん用意して機械に与え、答えを教えてあげます。そうやって教えることで機械はどこに境界線があるかを自ら見つけ出せるようになります。機会自身そのような境界線を見つさせることを機械学習と呼びます。
学習をさせるためにはそれなりの労力がかかりますが、学習が完了すれば、機械は「赤」か「オレンジ」かをすぐに判別できるようになりますので、それ以降は自動化できるわけです。機械学習は、その方法によって大きく大別されており、子供に教え込むようにたくさんの正解を与えて学習させる「教師あり学習」と、正解をそもそも教える必要はなく、たくさんのデータから関連性を見つけ出すようなやり方の「教師なし学習」というのがあります。

教師あり学習

教師あり学習の例として「迷惑メールのフィルタリング」があります。
メールのフィルタリングには、既に「迷惑メール」と「非迷惑メール」とラベル付けされた大量のメールデータを準備します。このデータが、学習プロセスの基盤となります。

まず、各メールから「特徴量」を抽出します。これには、メールの件名や本文のテキスト、送信者のアドレス、メールに含まれるリンクの数や種類、単語の頻度などが含まれます。テキストデータは通常、単語やフレーズを数値ベクトルに変換する過程(ワードエンベディングなど)を経て処理されます。この処理により、各メールの特徴量がベクトルとして抽出されます。

特徴量とベクトルの関係性

特徴量とは、第1回のランチの決定で使用したような近隣のお店へ近さ、価格、味の好みなどの要素の集合です。これらの要素をまずそれぞれ数値化して、その集合をベクトルで表現します。ベクトルは高校数学で習いますが、もう忘れているという方も多いかもしれませんね。ベクトルには方向と長さがあります。以下で各レストランの評価の特徴量をベクトルで表現すると下図のようになります。
レストラン A(近さ 5、価格 4、味の好み 3)
レストラン B(近さ 4、価格 4、味の好み 4)
レストラン C(近さ 1、価格 3、味の好み 3)

お店の評価のベクトル表現

評価が高いお店は原点から遠くにプロットされるます。また、似ているお店はベクトル空間上で近くに、評価の違いが大きければベクトル空間上でも離れてプロットされます。このようにベクトル表現されることでいくつもの項目から構成されるお店の評価を数値的に表現することができるので、計算で扱うことが容易になります。

言葉をベクトルに置き換える方法

単語やフレーズをベクトルに変換するというのは、計算にとっては非常に重要な過程です。Googleによって開発されたWord2Vecや、Facebookによって開発されたFastTextなどがあります。ここでそれらについても説明しようとすると長くなりすぎてしまうため、具体的な技術についての説明は省きますが、興味がある方は調べてみてください。

機械学習モデル

このベクトルを用いて機械に学習させ、「迷惑メール」と「非迷惑メール」を分ける最適な境界線を決めていきます。境界線を決定する方法を機械学習モデルと呼び、それには線形回帰、決定木、ナイーブベイズ法、ニューラルネットワークなどがあります。これらは空間上に散らばったベクトルのデータから、どこがよりよい境界線になるのかを数学的な手法を用いて見つける方法です。

こうして十分な量の「スパム」と「非スパム」を学習させることで、満足できるレベルに達すれば、これらの学習が完了したモデルを実際のメールシステムに適用することで、迷惑メールの判定を自動化することが可能になりました。

教師なし学習

教師なし学習を用いたシステムは、入力用のラベル付けされていないデータのみを与え、隠れたパターンや構造を見つけ出すために用いられます。

マーケットバスケット分析などが有名です。アソシエーション分析におけるマーケットバスケット分析は、消費者が一緒に購入する傾向にある商品の組み合わせを特定し、これを基にクロスセリングやストアレイアウトの最適化、在庫管理、プロモーション戦略などに活用する手法です。

例えば、あるスーパーマーケットでは、ビールとおつまみがしばしば一緒に購入されることをマーケットバスケット分析で発見しました。これに基づいて、ビールの近くにおつまみを配置することで、両方の商品の販売促進を図りました。この結果、関連商品の売上が顕著に増加したと報告されています。

*機械学習の課題

機械学習によって、機械自ら「境界線」を見つけることができるようになり、AIの適用範囲は大きく前進し、これらの技術はウェブ検索やビッグデータなどの領域で広く使われるようになりました。これらの技術が可能になったのは機械自身に学習させるという新しいアイデアだけではなく、大容量のデータや高速演算が行えるようなハードウェアの進化やインターネットが発達して取り扱えるデータが大量に増加したこととも関係しています。しかし、当時の機械学習にはまだ弱点が残っていました。それが特徴量の設計です。

特徴量は人が決めている

例えば、ランチのお店を決めるまでの思考を考えてみましょう。特徴量とは、メニュー内容、近さ、混雑具合、価格などですね。機械学習では、これらの特徴量は人間が設定する必要があります。では、上記の特徴量の代わりにお店の屋根の色やお店の電話番号などを特徴量として選んだらどうでしょうか?
おそらく、ランチを選択する際に考慮することとしては関連が薄いのではないでしょうか。これらの数値を特徴量として選んでもランチのお店を決めることは難しいですよね。つまり、特徴量をどう決めるかというのは非常に重要な問題で、その設定次第でAIの動きは大きく変わってしまうのです。

そうだとしたら、特徴量の選定を人間に頼っているAIは本当にAIと呼べるのでしょうか?特徴量を選び出すことが重要な思考であり、機械が特徴量を自身で選び出せるようになってこそ、本当のAIと呼べるようになるのではないでしょうか?

特徴が似ている、似ていないという「思考」は、ベクトルを使うことで「計算」に変換することに成功しました。また、それによって数式的に境界線を導き出すモデルも考案されてきました。しかし、そもそも人間はどうやって特徴量を取り出しているんでしょうか?それを機械に実行させるにはどうすればいいんでしょうか?その解決には、ディープラーニングという技術の登場を待つ必要がありました。次回は特徴量を機械自身に見つけさせる新たな手法ディープラーニングについて解説いたします。

*機械学習:ここでの機械学習は、与えられた特徴量から境界線を見つける狭義の意味での機械学習を指します。今では特徴量を機械自身で抽出できるようになったため、特徴量を抽出する作業も機械学習の一部としてとらえられるようになっています。


いいね!やフォローで、ぜひ応援よろしくお願いします!
励みになります!

また、X(旧Twitter)でAIについての雑談を不定期に行っておりますのでフォローをお願いいたします。

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