【初心者対象】AI(人工知能)とは?機械学習(マシンラーニング)や深層学習(ディープラーニング)との違いについて
ChatGPTなどの革新的なAIサービスが登場し、「AI」のトピックが近年の話題になっています。今後はどの業界においてもAIの知識を持った人材は重宝されることでしょう。
AIについて調べると「機械学習」「深層学習」など初めて聞く単語が欄列していています。ですが、機械学習をAI技術と呼称する場合や、深層学習をAI技術と呼称する場合、深層学習を機械学習と呼称する場合もあり、非常にややこしいです。
ですが、これらの認識の違いは決して難しいものではありません。
この記事では、データサイエンスに全く触れたことがない文系の方や、初心者の方を対象にAI(人工知能)と機械学習、深層学習の違いを説明します。
この記事の目次
AI(Artificial Intelligence)とは何か?
AIの定義
AIとは、「Artificial Intelligence」の略で、日本語では「人工知能」と言われます。
人工知能という言葉の定義は非常に様々です。知能というからには、思考や感情の有無といった倫理的な解釈が一部存在します。技術的にも人工知能がどこまでの能力を範囲としているのかは曖昧です。
従って、AIに対しての厳密な定義はありません。時代や専門家らによって捉え方がそれぞれ異なります。最先端の界隈では、広い意味を持つAIを厳密に定義することが困難なのです。
厳密な解釈にこだわらないとしたら、AIはコンピューターを使って人間の知能を再現する技術や概念と考えて良いでしょう。
人間は、外部からの情報が五感や皮膚によって入力され、脳に送られます。それらの情報を脳が感知し、必要に応じて何らかのアクションを行うか否かの判断をします。
例えば、気温35度の外を歩いていると汗だくになります。これは、体温の上昇という情報が入力され、それを脳が感知し、「体温を下げるために汗を出さないといけない」というルールに沿って、汗を出すという出力をしています。
AIはこの脳の仕組みを真似して、コンピューターで再現します。
従って、入力した情報を決められたルールに従って出力するコンピューターがAIです。このルールは人間が設定します。
電卓は、入力した数式を計算して結果を出力してくれます。この際の計算のルールは、人間が数学の知識から構築したものです。
洗濯機や炊飯器といった家電も、入力によってルールに沿った何らかの出力を返します。従って、身近な「機械」と言われるものはすべてAIと言えます。
機械学習や深層学習はAIの一種です。AIという括りの中に機械学習や深層学習がある認識です。
家電のような「機械」は、人間が設定したルールに基づいた出力しかできません。
これに対して機械学習や深層学習は、データやアルゴリズムに基づいて機械が学習し、ルールの部分を機械自身が決定します。これによって問題解決や、意思決定といったより柔軟な出力を行うことができます。
家電のような「機械」も、機械学習や深層学習で作り上げた「知能」も、人間の脳を模倣して作り上げた人工知能という意味ではどちらもAIという括りに入ります。
機械学習と深層学習の仕組みについては、後述しています。
AIの歴史
AIが最近開発されたばかりの技術だと考えている人も多いと思います。
実は、これまで3度のAIブームがありました。
①コンピューターのはじまり(1930年代):コンピューターの生誕
1936年にチューリングという数学者がコンピューターの基礎概念となる論文を発表しました。これにより、膨大な計算ができる機械(チューリングマシン)が理論的には作れることが証明されました。
その後、ノイマンという数学者がこの論文を参考にして、実際にチューリングマシンを作成しました。これはノイマン型コンピューターと呼ばれていて、私たちが使うコンピューターの基礎となっています。
ノイマンはアメリカの数学者でした。当時第二次世界大戦中だったアメリカは、このコンピューターを暗号の解析や爆弾の威力の計算に使用し、コンピューターが世界から注目を浴びます。
②第一次AIブーム(1956-1960年代):人工知能の生誕
1956年にアメリカのダートマス大学で、「コンピューターに計算だけでなく、人間が行う知的な作業を行わせよう」と提案されます(ダートマス会議)。このとき、AIという言葉が初めて使われました。
このブームに乗って、ELIZAと呼ばれる対話型のAIが開発されます。しかし、実際には固定されたワンパターンの返答しかできず、対話とは程遠いものでした。
これによって世間のAIへの関心は急落し、ブームは終わりを告げます。これをAIの冬の時代と呼びます。
③第二次AIブーム(1980年代):エキスパートシステム開発
1985年頃、エキスパートシステムと呼ばれるAIが大手コンピューターメーカーから発売されました。エキスパートシステムとは、専門家AIと言えます。
医者や弁護士などといった専門家は、知識を得るために長い時間がかかってしまいます。よって、「専門家をAI化できれば、社会的に非常に有益である」と考えたわけです。このエキスパートシステムは多くの企業で導入され、期待されていました。
しかし、人間が当たり前にできる柔軟な判断が機械にとっては難しく、まだまだ実用化には程遠いものでした。人間と同じような判断をするためには、大量のデータを参考に、AIのプログラムをその都度拡張する必要がありました。大量のデータを集めることも、その都度プログラムを更新することも全て人が判断して実行します。これは現実的に考えて不可能です。結局、満足のいくAIを完成させることはできませんでした。
これによって人々の期待は急落してしまい、再び冬の時代に突入します。
④第三次AIブーム(1995年~現代):インターネット普及×コンピュータ性能の向上
1995年頃からインターネットが普及しました。インターネットには大量の情報が存在します。これによって大量のデータを、インターネットを通じてAIにインプットできるようになりました。
また、コンピューター性能が飛躍的に向上したことにより、大量のデータを高速に処理することができるようになりました。これによって、「機械に学習させる」ことが可能になります。
このようにインターネットの普及と、コンピューター性能の進化が交わったことで、今まで困難だったことがAIで実現できるようになりました。
AIの種類と分類
AIは、「タスクの幅」で分類すると、特化型と汎用型の2つがあります。
特化型
特化型とは、個別の分野・領域において特化した能力を持つAIです。特定のタスクに優れています。
この世界で実用化されているAIはすべて特化型です。例えば、将棋やチェス、囲碁といったゲームをするAIは、音声認識ができません。
最近の自動車には、音声認識、自動運転、混雑予測らの機能が搭載されていますが、それぞれは別のAIです。人間がそれぞれのAIを構築し、それらを組み合わせて利用しているだけです。
汎用型
特化型が特定の領域を対象にする一方で、汎用型は複数の領域にわたった問題の解決が可能なAIを指します。
特化型は、人間によって作成されたプログラムに沿ってタスクの処理を行いますが、汎用型はAI自らが思考、実行できる点が両者の違いです。現段階では、実用化できていません。
例えるならドラえもんやターミネーターが該当します。「人間のような振る舞い」が可能なAIです。
先ほど例を挙げた、自動運転に必要なAIをAI自身が判断して、自分で構築し、利用します。
機械学習(マシンラーニング)とは
機械学習はAI技術の一種で、データやアルゴリズムに基づいて機械が自ら学習し、問題解決や意思決定を行う技術です。
- AIはコンピューターを使って人間の知能を再現する技術や概念
-
人間の知能とは、入力(感知)→判断(脳)→出力(行動)の構造を指す
:発汗の例
体温上昇(入力)→発汗して体温を下げないといけない(ルール)→発汗(出力)
従って、入力した情報を、決められたルールに従って出力するコンピューターをAIと定義しました。家電などの「機械」は、このルールを人間が決めてコンピューターにプログラムします。
対して機械学習で作り上げるAIは、ルールを学習を通じて機械自身が決定します。
「明日の売り上げが知りたい」といった場合の例を挙げます。
入力する情報:天気予報のデータ、隣店舗の過去の売り上げ、降水量、自分の店の過去の売り上げ
出力する情報:明日の自分の店の売り上げ
以上のように設定します。このとき、天気と売り上げには相関があります。
悪天候だと売り上げが少ない、良天候だと売り上げが多い、といった相関関係を、天気予報、降水量、近隣店舗と自分の店の過去の売り上げから機械が学習します。
学習の仕組みについては後述しています。
そうして何回か学習することで、「次の日の売り上げが予測できるルール」が完成します。機械学習では、このルールをモデルと言います。
人間には、このような詳細な統計の予測(回帰)モデルを作ることが一苦労です。
機械学習は、こういった回帰が得意です。
つまり、機械学習では、機械が学習を通じて機械自身でモデルを作成します。
このようなAI技術全般を機械学習といいます。
学習の仕組みに従って、機械学習には様々な種類があります。
その種類の一つが深層学習(ディープラーニング)と言われるものです。
回帰は機械学習のほんの一例です。例えば、大量の次元データから、各クラスに分類できる境界面を学習から算出し、データの分類ができる分類モデルを作ることもできます。
統計データではなく画像データを入力すれば、画像の特徴を学習し、画像を識別できるようなモデルを作ることも可能です。
深層学習(ディープラーニング)とは
深層学習は機械学習の一種で、特に複雑なニューラルネットワークを使用するものを指します。これにより、より複雑なタスクを処理することが可能です。
つまり、AI>機械学習>深層学習の関係があります。
機械学習では、コンピューター自身が情報の特徴を学習して問題に潜むパターンを見つけ出し、出力に必要なモデルを作成します。
機械学習を実現させる仕組みには、様々なものがあります。近年のAI革命で最も活用されている学習の仕組みが、ニューラルネットワークと言われるものです。
ニューラルネットワークとは
ニューラルネットワークとは、人間の脳の神経回路の構造を数学的に表現した機械学習の手法の一種です。要するに人間の脳の構造を模倣したAIの一形態で、情報処理の基本単位としてニューロンを使用します。
私たちの脳にはニューロンと呼ばれる神経細胞が無数に存在しています。
猫を見た時に猫と判断するためには、まず、目から取り入れた視覚情報を脳に伝える必要があります。また、猫と判断ができる脳内の細胞にそれらの情報を上手に伝える必要があります。
つまり、脳内では、無数の神経細胞を経由して情報伝達が行われています。細胞間の情報伝達は、シナプスという結合組織が発火することで行われます。
このとき、各ニューロンは、伝達する情報の重要さを選択する必要があります。例えば、猫と識別するための情報には重要度があります。しっぽの有無や毛の色、目の特徴など、そういった優先して脳に伝えるべき情報には、それぞれを判断できるニューロンまでシナプスが発火して伝達します。逆に必要のない耳や鼻から知覚した情報はシナプスが発火せず、ニューロンまで届かなくなります。
このように、シナプスの発火によって重要な情報のみを選抜し、情報伝達していきます。
この際の発火を、ニューラルネットワークでは「おもみ」によって行います。
つまり、必要な情報には大きな重みが掛けられますが、不必要な情報には小さいおもみが掛けられます。
ニューラルネットワークは、この伝達構造を真似たものです。
入力層、中間層、出力層と呼ばれる層を設定します。それらはそれぞれのニューロンによって構成されています。ニューロン間(層間)を結合している線はおもみです。
脳細胞で言うところのシナプスに該当します。
入力層の各ニューロンには、入力する情報を数値として入力します。
28×28ピクセル画像を入力する場合、各ピクセルの黒色度で入力する例があります。ピクセルによって黒色度が異なり、すべて黒色のピクセルや、真っ白なピクセルもあります。黒色度を0~1.0に正規化すると、前者は1.0、後者は0の数値をピクセル値として入力層に入力します。
中間層は、各入力ニューロンに重みが掛けられた数値が入力されます。
28×28ピクセル画像を入力する例で考えます。
28×28=784なので、入力層の入力ニューロン数は784個あります。
おもみは、ひとつの入力ニューロンに対して中間層の数だけあります。
中間層の数をn個とすると、784×n 個のおもみがあります。
入力層の値を I1,I2,,,I784 とします。
各入力層から各中間層へ向かうおもみをw1,w2,,,wn とします。
入力層1個目から中間層2個目 w1,2
入力層1個目から中間層n個目 w1,n
・
・
入力層784個目から中間層n個目 w784,n
このとき中間層の一つ目のニューロン(H1)に入力される数値は以下の式で計算されます。
このとき、実際に中間層に入る入力値は、変換させる必要があります。
値の収束を行うためです。難しく考える必要はありません。
この変換させる関数を活性化関数と言います。例えば、0以下の数字を0と出力、それ以上の数字はそのままの数字として出力します。
つまり、活性化関数をf(ⅹ)とすると、実際に中間層の一つ目のニューロンに入力される値(H1’)は、以下の式になります。
同様に、中間層の値におもみを掛け合わせ、その値を活性化関数で出力したものが次の中間層へ入力されます。
最終的に、中間層の数値は出力層のニューロンへ重みがかけられて入力されます。
このとき、同様に活性化関数によって計算されますが、中間層から出力層への活性化関数は特殊です。
出力層で判断するのは0=不正解、1=正解といった情報です。
また、確率として出力する活性化関数を利用する場合もあります。
28×28画像の識別の例の場合、出力層では、0-9までの画像である確率を出力しています。
このとき、正解のデータと出力のデータを正しいかどうか照会する必要があります。間違った出力に正しい結果を教え込むのです。このときの正解のデータを教師データと言います。
この画像データの場合は、出力層を0~9の10個に設定し、3の画像を入力しているので、4番目のニューロンが1になるように答え(教師データ)を与え、繰り返し学習させます。
教師データと出力層で得られた結果を比較し、誤差を計算します。
この誤差を最小にするために、各おもみを調整するのです。
これを繰り返すことで、誤差が小さくなるおもみが決定します。
つまり、学習とは誤差を最小にするためにおもみの最適化を行うことです。
これが学習のプロセスです。
より詳細が気になる方は、誤差逆伝播法と調べてみてください。微分・積分などの数学知識があれば、おもみの調整の部分がより詳細に理解できます。
最終的には、重みの最適化によって、入力層で受け取った情報から必要な情報のみを正しく伝達できるようにします。そうして、出力層で望んでいる結果が返ってくるようなモデルを作成します。
以上で説明したのが教師データと出力値を比較しておもみを最適化する「教師あり学習」です。
実際には、教師データがない状態で学習をする「教師無し学習」と呼ばれる方法もあります。教師データがないため、出力値が正しくなるモデルを作成することはできません。教師無し学習では、情報の特徴分け(クラスタリング)をする際に用いられます。情報量の特徴を抽出し、人間では考えつかないような相関関係を見つけ出すことができます。
教師無し学習は、教師データを入手するのが困難な時に活用できます。
深層学習とは?
深層学習とは、ニューラルネットワークの中間層が2つ以上になったモデルです。
つまり、ニューラルネットワークを複雑にしたものと考えて良いでしょう。
上記で説明した28×28ピクセル画像の例は、中間層が2つあると仮定しているので、深層学習と言えます。
中間層に様々な応用を加えることで、新しい機能が加わります。学習のプロセスは基本的に変わりません。
AI、機械学習、深層学習の関係性のまとめ
AIはコンピューターを使って人間の知能を再現する技術や概念です。
機械学習では、入力情報から希望する出力に沿った学習をし、コンピューター自身でモデルを作成します。
ニューラルネットワークとは、人間の脳の神経回路の構造を数学的に表現した、機械学習を実行するための手法の一種で、ニューラルネットワークの中間層が2つ以上存在したものを深層学習とします。
AI → 技術や概念の全体を定義したもの
機械学習 → AI技術の一種
深層学習 → 機械学習技術の一種
AIは広い概念で、その中に機械学習が含まれ、さらにその一部として深層学習が位置づけられます。
AI>機械学習>深層学習の関係です。
これらを厳密に区別することはあまりありません。機械学習、深層学習を一括りにして「AI技術」と呼称する場合や、深層学習を機械学習と呼称する場合もあり、非常にややこしいです。
結局は、AIがAI全般を指し、深層学習は機械学習の構造を複雑にしたものだと認識してください。
実際の活用例
これまで説明したモデルの構築、実行はコンピューターで行います。
PythonやMatlabと呼ばれるプログラミング言語は、コンピューターに命令を(プログラミング)して計算処理をさせる手段です。プログラミング言語を使ってコンピューターで機械学習のモデルを構築し、学習をさせます。
実際に使用されている機械学習の活用例を紹介します。
以下に示す活用例を実現させるためには、この他にも機械学習アプローチ手法が色々あります。
教師あり学習
①画像認識
コンピューターは画像データを画素値の羅列として処理します。
したがって教師あり学習によって、画像の識別が可能です。
大量の画像データの学習を繰り返すことで、新しい画像を入力したときに、その画像が何であるかを判断できるようになります。
これを応用して、カメラによる物体検知や、文字認識が実装されています。
②音声認識
音声を波形データとして入力することで学習が可能です。波形データを周波数の画像データとして入力させることもできます。
波形データを学習することで、話し言葉をテキストデータに変換できます。
③機械翻訳
テキストを数値として入力し、翻訳情報を教師データとして学習することで、翻訳のモデルが完成します。翻訳Google翻訳やDeepL翻訳で実装されています。
教師無し学習
①異常検知(オートエンコーダ)
入力したデータを出力層で再現できるようなモデルを教師無し学習で完成させます。
具体的には、入力したデータを一度圧縮し、また拡張することで、入力したデータを再現できるようになります。
入力したデータのみを再現できるモデルなので、他のデータが入力されたときに上手く再現できません。
例えば、正常に稼働している機械の波形データを教師無しで学習し、再現できるモデルを完成させます。ある時間で異常(スパイク)が発生した波形データを入力したとき、その部分だけ正常に再現できません。この時の再現の出来なさ具合を数値化して、異常度とすれば、機械に異常が起きていることが判明できます。
これを実装することで、リアルタイムで異常を感知できます。
まとめ
この記事では、AI(人工知能)、機械学習、深層学習(ディープラーニング)についてこれらの違いを説明しました。記事の内容を簡潔にまとめます。
- AIは、コンピューターを使って人間の知能を再現する技術や概念全般を意味する
- 機械学習は、AI技術の一種
- 機械学習では、コンピューター自身が情報の特徴を、希望する出力に沿った学習を行い、コンピューター自身でモデルを作成
- ニューラルネットワークは、機械学習を実現させる技術の一種
- 深層学習とはニューラルネットワークの中間層が2層以上の複雑な構成をした学習モデル
企業のDX化を考えるうえで、機械学習や深層学習の導入は様々な場面で必要となります。新しい時代の流れに付いていけるように、AIについて理解を深めましょう。