ここ最近週に1回くらい打ち合わせとかに呼ばれて、「人工知能を分かりやすく説明してください」と頼まれます。ビジネス界隈でも人工知能が語られることが増えてきて、今の業務をAIで効率化したいというニーズや、AIを使った新しい事業を立ち上げる取り組みが加速しています。

そのため、いろいろ試行錯誤しながら説明しているのですが、なかなか伝わらないことも多いです。

人工知能や機械学習は難しい

人工知能(AI)や機械学習は難しいです。理由は「構造が複雑」で、「理解しなくてはいけない情報量が多い」から。いろいろニュースとかでなんとなく分かるんだけど、具体的にどんなものか理解出来ていないという人が大半なのではないでしょうか。

技術進歩が急激で、需要に供給が追い付いていないです。そのため、機械学習界隈の人間が、機械学習を説明できていません。この記事では、人工知能と機械学習の構造を理解してもらうことを主眼に置きます。構造が分かれば、本質もわかってくると思うからです。

人工知能Siriは言葉を理解しているのか

人工知能で一番有名なものはiPhoneのSiriでしょう。Siriは、人間の使う言葉を理解しているように思えます。

しかし大前提として、コンピュータプログラムは、数値でしか計算できません。Siriも同じく数値計算しかできません。ではなぜただのコンピュータであるSiriが、人間の言葉を理解できるのか。それは、人間の言葉を数字に変換して、それを計算しているからです。

なので、Siriは日本語の意味を理解しているわけではないんです。ただ、日本語を数字に変換して、この数字の時はこの回答をするというパターン処理をしているだけです。

つまり人工知能とは、言葉を数字に変換する処理(音声認識と自然言語処理)と、数値データからパターンを学習する処理(機械学習)の2つに分かれています。
機械学習とは2
人工知能は、人間と会話したり判別することができます。人間の耳、口、目を模倣できるのです。2年前に人間の目の識別能力を超えました。現在耳や会話力も人間を猛追しています。
参考:人工知能(AI)の最前線を専門家が語る

そして人工知能の中核技術は機械学習です。

機械学習はモデルを作る技術

機械学習の登場人物は実は2つしかありません。データとアルゴリズムです。機械学習とは、データとアルゴリズムを使って、モデルを作ることです。
アルゴリズムは、ディープラーニング、SVM、ランダムフォレストなどいろいろあります。なので、データを見てどのアルゴリズムが良さそうか、人の判断が必要だったりします。

またモデルは、プラモデルを思い出してください。ガンプラは本物のガンダムの形状や構造を模倣していますね。つまりモデルとは、本物の特徴を捉え簡略化したものです。

1つ事例で考えます。来年ピカチュウのイベントに来る人を予測してみましょう。今年のイベントでどんな人が来たかは、データベースにデータが入っています。そのデータを全て分析してもいいのですが、大変なので少し絞り込んだりします。この絞り込んだデータを特徴量と言いまして、気の利いたアルゴリズムで絞り込み可能です。

特徴量のデータを、アルゴリズムで計算すると、モデルが出来ます。このモデルは、現実のピカチュウイベントからパターンを抽出した関数です。このモデルを使うと将来を予測することが出来ます。スライド2

モデルを使って将来を予測する

なぜモデルを使うと将来を予測することが出来るのでしょうか。下の図を見てください。去年のピカチュウイベントの参加者をグラフにマッピングしました。

このグラフで赤色の線が引っ張っています。この赤い線がモデルです。この線の左側が、ピカチュウイベントに参加するゾーンです。左側のゾーンに含まれる人は、ピカチュウが好きで来年のイベントに参加すると予測できます。
逆に右側のゾーンは、ピカチュウイベントに参加していないゾーンです。きっとこのゾーンに入る人は、来年もピカチュウイベントに参加しないでしょう。

機械学習とは3
つまり機械学習でできることは、現実社会をモデル化して将来を予測することです。

モデルの作り方

モデルの作り方は4ステップに分かれます。図にマッピングすると以下の通りです。

①データの前処理
②特徴量設計
③モデル学習
④モデル評価
機械学習とは4

機械学習のモデルは、Pythonとscikit-learnを利用すると、簡単に実装できます。具体的な実装方法は、このブログで何度かコード付きで解説しています。

過去記事:

これだけは知っておけ!PythonでAI開発の基礎まとめ
実務で使うとこだけ!python機械学習(AI)のデータ処理(pandas/scikit-learn)
 

人工知能を手っ取り早く学びたい方はプログラミングスクールがおすすめ

これまでプログラミングや情報工学に触れたことのない方にとって、人工知能や機械学習はハードルが高いと感じられたかもしれません。

私はゼロから独学で機械学習を習得ことは可能だと考えています。私自身がそうだったからです。

しかし、分からない箇所の調査に時間がかかったり、勉強の持続が大変だったりといくつか課題感があることも事実です。

もしあなたが、完全に人工知能初心者で、かつ半年以内に人工知能エンジニアに転職したいと考えているならば、オンラインなどのプログラミングスクールに通う方法もあります。

また機械学習の勉強方法は、以下の記事にまとめました。



おわりに

いかがでしたでしょうか?
人工知能や機械学習は、いまやITの最先端技術です。ぜひ人工知能の企画や開発に挑戦してみてください。