AI(人工知能) プログラミング系 AI(人工知能) ゼロから学ぶシリーズ 非エンジニア向け

AI(人工知能)とは結局何なのか?ゼロからわかりやすく解説します

こんにちは、TAKです。
今回は、AI(人工知能)の基本について解説していきたいと思います。

最近では、「AI」という言葉を知らない人がいないくらい、メディアで目にする機会が増えてきました。
ただ、AIや人工知能という言葉は聞いたことあるけど、「結局のところAIってなんだかよくわからない」という方も多いかと思います。

そこで今回は、AI(人工知能)とは結局何なのか、どういう仕組みなのかといった基本的な内容を、専門的な用語を最小限に抑えて紹介していきます。

【こんな人に読んで欲しい記事です】

● AI(人工知能)について理解を深めたいと考えている方

● これからAI資格の取得を目指したいと考えている方

AI(人工知能)の基本的な内容を理解しておくことで、ビジネスの幅が広がります。また、

・ AI(人工知能)は人間の仕事を奪う
・ AI(人工知能)の発達は人間を攻撃し得る

といったような、ネガティブな論争についても自分なりの意見や思考を持てるようになります。

では、「AIの意味や特徴」「AIに出来ること」「AI(モデル)の仕組み」の3つの順に紹介していきます。

AI(人工知能)とは結局何なのか?

AI(人工知能)の定義

まず最初に、「AI(人工知能)の定義」について確認していきましょう。
AIというのは、「Artificial Intelligence」の略で、「人工知能」ともいわれます。

そして、AI(人工知能)にももちろん定義はあるのですが、実は専門家の間でも解釈が異なるのが現状です。
以下表は、人工知能学会誌で紹介されている内容をまとめたものです。

専門家による「AI(人工知能)の定義」

専門家の方が書かれている内容なので、一つずつ理解する必要はないです。
ただ一つ言えるのは、専門家の間でも定義がバラバラである以上、僕らにはよりイメージしにくい存在だということです。

そのため、ここでは「AI(人工知能)の定義は、専門家の間でも解釈が異なるくらい抽象的なもの」と思ってもらえればOKです。

AI(人工知能)は「人間の脳を模倣した関数」

抽象的な概念のままではイメージが出来ないので、もう少し噛み砕いて解説していきます。

AI(人工知能)の解釈の仕方は色々ありますが、僕は「①人間の脳を模倣した②関数」と解釈するようにしています。このように解釈することで、AI(人工知能)に使われている技術や仕組みの理解にも繋がります。

AI(人工知能)の根幹となる技術として「深層学習(ディープラーニング)」というものがあります。
これは、簡単に言ってしまえば「人間の脳をベースにモデル化したもの」です。
→ ①AI(人工知能)は人間の脳を模倣したもの

そして、深層学習(ディープラーニング)の技術は数学の考え方をベースに置いています。
数式にするとかなり複雑なのですが、大まかにとらえれば「データを入力→計算→データを出力」という仕組みになっています。

これは、学生の時に勉強した「y=2x」みたいな「関数」と実質的に同じものと言えます。
複雑なアルゴリズムにデータを入れることで、目的に応じたデータ(予測値)を返してくれるイメージです。
→ ②AI(人工知能)は関数(数式)をベースとしたもの

他に参考になる解釈としては、「エージェントアプローチ 人工知能」で紹介されている

 周囲の状況(入力)によって行動(出力)を変えるエージェント(プログラム

という表現がわかりやすいかなと思います。
これも、AI(人工知能)が関数であることを意味していると考えられますね。

このように、AI(人工知能)に関する解釈は色々あるので、内容を暗記するよりもポイントを理解するようにしてみてください。

2つの人工知能(特化型AIと汎用型AI)

続いて、AI(人工知能)の種類についてみていきたいと思います。

理論的な分け方にはなりますが、AI(人工知能)には「特化型AI」と「汎用型AI」の2つが存在します。
現在世の中に存在しているAIはすべて「特化型AI」に分類され、「汎用型AI」はまだありません。

● 特化型AI ・・・ 特定の領域やタスクを解決するためのAI(別名:弱いAI)

● 汎用型AI ・・・ 人間同様に思考出来るオールマイティなAI(別名:強いAI)

「AI(人工知能)は、人間のように何でも思考出来るプログラム」と誤解されることも多いですが、それは上記で言うと「汎用型AI」に該当する考え方です。

汎用型AIのイメージとしては、
・ ドラえもんの脳内コンピューター
・ PS4ゲーム「Detroit」に登場するアンドロイドの脳内コンピューター
(※)
(※ 話はそれますが、このゲームはプレイする映画みたいな感じなので、ゲーム好きにはオススメです。)

が比較的わかりやすいかなと思います。
ちなみに、この汎用型AIが登場すれば「シンギュラリティ」が起こるとも言われています。

シンギュラリティについて知りたい方は、良ければ下記記事を参考にしてみてください。

AI(人工知能)が持つ「4つのレベル」

AI(人工知能)の基本を理解する上では、これまで紹介してきた内容でも十分かと思います。

ここでは、理解を深めるために「AI(人工知能)が持つ4つのレベル」についても簡単に触れておきたいと思います。気軽に読み進めてください。

この4つのレベルを知っておくことで、「実際、どういったものがAI(人工知能)と言えるのか?」を把握することが可能になります。結論から言うと、4つのレベルは下記のようにまとめられます。

AI(人工知能)が持つ4つのレベル

● レベル1 : ルールベースのシンプルなプログラム(制御工学)|洗濯機/エアコン等

● レベル2 : 複雑なルールベースのプログラム(古典的な人工知能))|掃除ロボット等

● レベル3 : ビッグデータをもとにしたパターン認識(機械学習を取り入れた人工知能)

● レベル4 : 深層学習(ディープラーニング)を取り入れた人工知能 |音声認識/顔認証等

これらすべてを細かく分類出来るようになる必要はありませんが、話題になる「人工知能」というのは、レベル34に相当した商品・サービスと思っていただければ大丈夫です。  

参考程度ですが、「機械学習」と「深層学習(ディープラーニング)」の主な違いとしては、「特徴量」の学習方法が「手動」か「自動」かという点にあります。

AI(人工知能)が解ける「3つのタスク」

AI(人工知能)に出来ることとは?

ここからは、「AI(人工知能)に出来ること」を中心に取り上げたいと思います。

「AI(人工知能)は何でもできる」というイメージが先行している感がありますが、そんなことはありません。AI(人工知能)にも出来ることと出来ないこと、言い換えれば「解ける問題(タスク)と解けない問題(タスク)」があります。

AI(人工知能)にどんな問題(タスク)が解けるのかを、機械学習の観点から3つに分類したものが以下となります。

● 教師あり学習 ・・・ インプット(入力)とアウトプット(出力)の関係を把握する

 教師なし学習 ・・・ インプットした「データの法則」を知りグループ分けする

● 強化学習   ・・・ 何も知らない状態から、最適な行動を学び動けるようにする

言葉だけではイメージしづらいですが、一つずつ内容を確認していきましょう。

【タスク①】教師あり学習|入出力の対応関係を把握する

まず最初に「教師あり学習」について見ていきます。

これは、「教師 → 先生 → 正解を知っている → 正解データ」と考えてみてください。
教師あり学習は、正解データを持っている場合に使われる方法のことを意味します。

少しわかりにくいので、具体例をあげてみます。

 教師あり学習の具体例(画像判定出来るAIを作る場合を想定)

「動物の画像をAIに見せたら、それが何の動物かを当ててくれるモデル」を作る場面を想定します。

猫と予測させたい場合
・ 猫の特徴がわかるような数値データ(耳の長さ、毛の長さ等)を与える
・ 「この画像の時は猫!」といった正解データを与える

パンダと予測させたい場合
・ パンダの特徴がわかるような数値データ(体重、毛の色等)を与える
・ 「こういった画像の時はパンダ!」といった正解データを与える

このように、動物の特徴を持ったデータ(入力データ)と正しい画像(正解データ)の対応関係を知りたい時に使えるのが「教師あり学習」のイメージです。

AI(人工知能)では、この「教師あり学習」が最もよく使われている手法になります。

この後紹介する「AIモデルの仕組み」を見てから、もう一度この部分を読み返すと理解が深まると思います。

【タスク②】教師なし学習|データ間の法則からグルーピングする

次は「教師なし学習」という方法について見ていきます。

先ほどと同じく、「教師 → 先生 → 正解を知っている → 正解データ」と考えてみてください。
「教師なし」なので、教師なし学習は「正解データ」を持っていない場合に使われる方法を意味します。

 教師なし学習の具体例(大量に与えられた画像を種類別にわけるAIを想定)

今度は、大量の動物画像を見せた時に、それが「何科」に該当するかを分類していきたいと考えます。

大量に与えられたデータから「何かしらの法則」を見つけて(計算して)グルーピングをしていきます。
「ネコ科」「イヌ科」「レッサーパンダ科」のように、データ間に存在する「何かしらの法則」を見つけてグルーピングしてくれる役割を果たすのが「教師なし学習」の代表例です。

「実際にどのように見つけるか?」がポイントになりますが、教師なし学習では「k-means法」や「主成分分析(PCA)」など、様々な方法があるので、興味のある方は勉強してみてください。

【タスク③】強化学習|何もない状態から「最適な行動」を見つける

最後に紹介するのが「強化学習」という方法です。

これは実際にYouTubeにある動画でイメージしてもらった方が早いかと思います。
強化学習の仕組みを使って「ブロック崩しゲーム」をしている動画になります。

DQN Breakout

見てもらえるとわかりますが、最初は全然ボールに当たりません。

ですが、「学習」を通じて最終的には人間も超えるハイスコアを出せるようになっていきます。
強化学習の仕組みは複雑なので詳細は割愛しますが、ここでは「こんなことが出来るんだ」と思って頂くだけでも十分だと思います。

ビジネスの観点から言えば、企業が抱えている課題の解決と結びつきやすいのは「教師あり学習」の分野です。これからAI(人工知能)を学んでいきたい方は、まずは教師あり学習を理解し、その後に教師なし学習や強化学習を勉強していった方が効率的だと思います。

最後に1点補足しておくと、ここで紹介した3つのタスクは目的に応じて使い分けられるべきもので、どれが優れているかといった優劣の関係にはない点は知っておいてください。

AI(人工知能)モデルの仕組み

AIモデルの概要図

最後に、「教師あり学習」を前提として「AIモデルの仕組み」を簡単に見ていきたいと思います。
AI(人工知能)の中身は複雑ですが、出来るだけシンプルにしてポイントを紹介していきます。

AI(人工知能)の仕組み(イメージ図)

上図は、AI(人工知能)を簡単にモデル化したイメージ図となります。
冒頭でお伝えした「AIは関数」という内容を意識してみてください。

ちなみに、図中にある「ラベル」というのは「教師データ」のことを意味しています

ここで知っておいて欲しいポイントは以下5つです。

 AI(人工知能)モデルのポイント(まとめ)

① AI(人工知能)には能力値(パラメータ)がある

② 入力データ(X)をモデルに入れると、出力データ(y)を予測してくれる

③ Loss関数(損失関数)を使うことで、「現時点のAIモデルのイケてない度」を測定してくれる

④ Loss(損失)を最小化するように、「学習」を繰り返して「パラメータを最適化」していく

⑤ 構築済のモデルを使って、未知データ(見たことないデータ)でも適切に予測をする

ざっくりですが、ポイントはこのようになります。

AI(人工知能)も、人間のように最初は能力値(パラメータ)が低いです。
人間が色々なことを通じて成長するように、AI(人工知能)も「学習」を通じて能力値(パラメータ)を「イイ感じ(=最適化)」に仕上げていきます。

そして、学習を終えた後は、AI(人工知能)にデータを与えて、精度の高い予測結果を得るといった流れになっています。

AIモデルの目的は「パラメータ最適化」

AIモデルの仕組みは上記の通りとなりますが、「AIモデルの目的」は何でしょうか?
それは、AIモデルが持っている能力値(パラメータ)を最強(最適化)にすることです。

最強にするというのは、言い換えれば「どんなデータにも対応出来るようにする」ことです。
どんなデータにも対応出来るようなモデルを「汎化性能が高い」と表現したりします。

そして、汎化性能が高いモデルを構築するために、パラメータを最適化していくのがAIモデルの目的となります。これからAIエンジニアを目指したい方にとっては、非常に重要なポイントとなるので、是非知っておいてください。

先ほども少し紹介しましたが、人間も「学習」を通じて成長していきます。
この点を踏まえても、AI(人工知能)の仕組みは「人間の脳」を模倣していると言えそうですね。

さいごに|AI資格を目指したい方へ

今回は、AI(人工知能)とは何か、基本的な内容を中心に解説してみました。

AI(人工知能)の本質を理解するためには、数学的な背景を勉強する必要もありますが、まずはしっかりと基本的な部分を理解して、イメージ出来るようにしてみてください。

最後に、これから本格的にAI(人工知能)を勉強したい方向けの情報を紹介しておきます。

 AI資格(G検定)を目指したいと考えている人向け 

G検定というのは、AI(人工知能)をビジネスで活かしたい方向けの資格です。
僕も2019年に取得し、以前ブログでも紹介しています。

ただ、2020年以降は少し出題傾向が変わったそうなので、別途対策が必要になりそうです。
それを踏まえ、これからG検定を勉強したい方は、以下2つの書籍に目を通しておいた方が良いかと思います。

G検定の公式テキスト
・ 日本ディープラーニング協会が出している公式本なので、最低限目は通しておくべきでしょう。
・ ただ、(2019年もそうでしたが)このテキスト以外からも出題されるので追加対策が必要です。
>> 【公式テキスト】ディープラーニング(G検定)

G検定の問題集
・ 2020年9月に発売され、G検定の全体像をわかりやすく解説した問題集
・ アウトプットしつつ、AI(人工知能)の全体像を詳しく学習出来るため、追加対策としてオススメ
>> 【最短突破】ディープラーニングG検定問題集

 AI資格(E資格)を目指したいと考えている人向け 

E資格というのは、AI(人工知能)を構築出来るエンジニアを目指したい方向けの資格です。
僕も2020年に取得し、以下記事でも紹介しています。

上記の記事内でも紹介していますが、E資格はJDLA(日本ディープラーニング協会)の認定プログラムをクリアしないと受験資格が与えられないので、独学は出来ません。

そのため、AIエンジニアやE資格の取得を目指している方は、JDLAの認定プログラムを提供しているサービスを受講する必要があります。

プログラミング未経験、数学が苦手という方にオススメなのはAidemyのE資格対策コースです。
E資格の合格に必要な知識(pythonや数学など)がなくても合格できるように、100時間以上の豊富な教材が用意されているのが特徴で、初心者の方でも安心出来る対策講座だと思います。
>> AidemyのE資格対策コース

僕もほぼ初心者から勉強しましたが、勉強時間をしっかりと確保した上で、スケジュールから遅れないように計画的に学習を進める必要がある点は意識しておきましょう。

時間がある方は、AIエンジニア用に使える書籍も読んで試験に挑んだ方が合格率は高まるはずです。

ざっと紹介してきましたが、これから本格的にAIの勉強を始めたい方の参考になれば嬉しいです。

では今回はこのへんで。