製造、金融、輸送など産業への適用事例も増え始め、今やその名を聞かない日はないほど世に浸透しているAI(人工知能)。近くあらゆるビジネスで不可欠になると予想される半面、本質的な理解が進んでいるとは言いがたい。そこで、キャリア教育私塾「前田塾」を運営しAIを専門領域の1つとする前田恵一氏に、AIの基礎的内容について20-30代の若手社会人向けに語ってもらった。
※本記事はLiiga主催「U30 Top career講座」第5回の内容をまとめたものです。
文系でもAIの基礎知識は必須。AI、ディープラーニングの関係性から理解しよう
今日はAIの基礎的内容を極力分かりやすく説明したいと思います。前田塾の趣旨である「ビジネスパーソンとしてトップを目指す」という観点からも、AI、そしてディープラーニング(深層学習)の理論を知っておくことは極めて重要です。
分かりやすくとはいっても、正直、数学が苦手な人にとっては厳しい内容かもしれません。ですが、AIやデータがこれだけ重要視されている昨今、ビジネスにおいて「数学は使えません」「全く分かりません」では勝負になりません。そんな想いで今回の講義を企画しました。
まずあらためてですが、「AIとは何か」について説明していきます。
AIという言葉そのものは1950年代からあり、特に新しくはありません。ただし解釈は今なお人によってさまざまで、ある種の「バズワード」とも言えます。例えば電卓もAIの一種だと私は考えています。人間の知的活動の再現は全てAI、人工知能と言えるのではないでしょうか。
一方で、最近は狭義で「AI=ディープラーニング」という理解が浸透してきました。先の電卓のように単に計算できることから一歩進み、「学習」できることがポイントになっています。
ディープラーニングはAIの中でも機械学習に分類され、かつニューラルネットワークという技術を使いつつ、多層構造化したものです。ニューラルネットワークについては、後ほどあらためて解説します。
規則性を学習し、出力を予測―。ディープラーニングとは、すなわち関数のこと
今日の講義は、先ほど紹介したようにAI=ディープラーニングという前提で進めていきます。まず、ディープラーニングについて説明します。
ディープラーニングは既に需要予測、宅配、ライドシェア、気象予測といった私たちにとって身近な用途で使われています。また、特にここ5年くらいでディープラーニングを使った画像認識の精度がかなり上がりました。このため監視カメラなど画像関連の適用事例も増えています。「AIが“目”を獲得した」とも言われていますね。
ちなみに2018年前後からは、AIの構成部品であるトランジスタの数がヒトの細胞数を超えたことから、「IQの面でAIがヒトを上回る時代に突入した」と主張する声もあります。
結論から言えば、ディープラーニングは関数です。ラーニングという名がついていることから、多くの人が学習することが“肝”であるように捉えていますが、実はそれだけではありません。
もう少し深く説明すれば、学習を基に割り出されたファンクション(関数)がディープラーニングです。また、学習することで成長する予測ツールであるとも言えます。
ところで、そもそも学習とは何なのでしょうか。同じく、予測とは、関数とは…。
ここで言う学習とは、入力と出力の規則性を見つける行為を意味します。具体的な例としては、気温、時刻、天候といった環境データと、タクシーの利用者数の規則性を見つけることが当てはまります。ただ、これら環境データは全て集まるわけではありません。このため、限られたデータでどんな出力になるのかを予測することに対して、ニーズがあります。そして、予測する上で関数が活躍するわけです。その関数がディープラーニングであり、関数を作り出す過程も、同じくディープラーニングとされます。
みなさん学生時代に「y=f(x)」といった、いわゆる数学的な関数を習ったと思います。ただ私の言う関数は、それだけではありません。
例えば自動販売機にお金を入れて、欲しい飲料のボタンを押すと、その品が出てくる。これも関数です。このほかExcelで指定条件を満たすセルの値を合計する「SUMIFS関数」なども関数と言えます。
理解のカギとなる「回帰分析」。身近な例で解説すると…
ここから、ディープラーニングの数学的な本質を理解するフェーズに入ります。
1つ目の数学的キーワードは「回帰分析」です。これを認識しているかどうかで、ディープラーニングに対する理解が大きく変わります。
回帰分析とは、無数にある点の情報を、「y=ax+b」のような線の情報、つまり関数に変えることで未知の情報を導き出すことです。すなわち回帰分析における学習とは、目的変数(y) と説明変数(x) の規則性(相関性)を見つけること。aとbの両方のパラメータを見いだすことだと言えます。そして、この回帰分析の内容を拡張したものが、そのままディープラーニングにつながっていきます。
先ほど、ディープラーニングの本質は関数だと述べました。つまり今の説明を付け加えれば、ディープラーニングの核は回帰分析であり、ディープラーニングにおける学習は、aとbのようなパラメータを決めることと言うこともできます。この理解が、ディープラーニングを扱う上でとても重要になってきます。
では具体的に、どのようにパラメータa・bを決めていくのか。ここでも数学が活躍します。
数学の話が続いて、苦手な人にとっては辛い時間かもしれません。できるだけ分かりやすくするため、身近な家賃の例で説明しましょう。
グラフを用い、縦軸を家賃、横軸を物件の広さとします。数学的、関数的に言えば、目的変数(y)が家賃、説明変数(x)が広さになりますね。点は各物件における実際のデータで、この点が100個あるとします。
仮にy=0.5x+0(aが0.5、bが0)とすると、42㎡の物件の家賃は21万円という予測値になりますよね。しかし実際のデータ(=点)において42㎡で17万円だった場合、4万円の差があります。つまり、最適なパラメータを求めることは、この差分が最小になる値を求めることになります。ちなみにそれを求めるためには、ここでは詳しく説明しませんが「最小二乗法」と「微分」が用いられます。
今の例ではパラメータは2個、データ量も100個と多くありません。このため人力でも正解にたどり着くことは可能です。また、結果を求めるために必要な値を逆算するExcelの「ゴールシーク」機能を使えば、簡単に答えを出すこともできます。
実際のAI・ディープラーニングでは、もっと複雑なパラメータを持つ関数の学習が行われていて、当然、人力で関数を導き出すことは困難です。だからこそ、AIに価値があるのですが。
先の不動産の例を続ければ、現実の世界だと家賃に関しては築年数、広さ、立地など多数の説明変数があります。また各説明変数が、どの程度の重みがあるのか。その相関関係を知る必要もあります。これらを解析するのが「重回帰分析」や「主成分分析」です。
「重回帰分析」とは、先の「回帰分析」が重複化したものであり、数式で示すと「y=a1x1+a2x2+……+b1」となります。一方「主成分分析」は、教師なし学習、PCA分析とも言われ、数多くあるパラメータの中から重複しているものを割り出し、必要なものを抽出する際に使う手法です。重複の度合いは「多重共線性」と言われ、このキーワードはデータ駆動型経営に携わる人はぜひ知っておくべきです。
ちなみに、みなさんが普段携わっているプロジェクト、ビジネスでも、重複が多ければコストも時間もかかり過ぎ、ムダですよね。つまり主成分分析は毎日のビジネスを進める上でも重要な思考であり、逆の言い方をすれば、多重共線性がないようにプロジェクトを設計することが大切ということになります。
ヒトの脳に基づく「ニューラルネットワーク」。ディープラーニングとの関係性とは
他方で、重回帰分析はいくら複雑化しても直線の関数(=線形関数)の集まりであり、「非線形関数」と呼ばれる曲線で複雑な関数とは似て非なるものです。そしてヒトの脳は、非線形関数です。このためAIもヒトの神経細胞「ニューロン」の伝達方式を模した関数にする流れがあり、こうした関数を「パーセプトロン」と呼びます。
パーセプトロンはステップ関数、活性化関数とも呼ばれています。ニューロンのようにいくつかの入力信号に反応し、入力された値の合計がある一定のしきい値を超えると出力する仕組みです。つまり、しきい値を超えなければ出力はなし。0か1かの関数になります。
パーセプトロンのような非線形関数が混ざることで、複雑で豊かな関数が構成されていきます。そしてその複雑さの段階により、ニューラルネットワーク、ディープラーニングと分類されます。ディープラーニングはニューラルネットワークがさらに複雑化したものと理解いただければと思います。
今述べた複雑化とは関数の多層化であり、変数、パラメータの増加・多層化とも言えます。言い方を変えればディープラーニングとは、複雑な関数が集まったことで豊かな表現(出力)が可能になった関数ということになります。
「富を生む」データを確保せよ-。非エンジニアがAIプロジェクトを成功に導くために
関数が複雑になればなるほど、パラメータが増えれば増えるほど、解を出すためには豊富なデータが必要になります。このためビジネスでディープラーニングを使う際には、十分なデータが用意されているか、ない場合は確保できるのかが、非常に重要です。これを知っておくだけでも、AI関連のプロジェクトに対する見方が変わります。
昨今は多くの企業、特に先進的な企業がデータを石油のように「富を生むもの」と位置づけ、必死に集めたり、そのために多額の投資を行ったりしています。
一方でそれほど多くないデータを与えるだけで、関数が自らパラメータをチューニングし、進化していく手法もあります。「深層強化学習」です。
深層強化学習の基本原理は、スポーツなどの練習と同じです。どちらも成功・失敗を繰り返すことで情報を蓄積し、調整しながら最適なやり方を見いだすプロセスだからです。
この深層強化学習の様子を分かりやすく示しているアニメの動画があるので、紹介します。
動画の中ではオジサンが学習し、歩行を覚えていきます。最初はおしりで進んだり、手でボートを漕ぐように進んだりしていますが、失敗したり、「両足を使いなさい」「頭を下げないようにしなさい」といった指示(=情報)を得ることで、徐々にしっかりとした歩行になっていきます。どうです?その過程が、かなりコミカルですが分かりますよね(笑)。
今回はAIの基本構造や種類を紹介しました。AI関連のプロジェクトに携わる人が特に意識すべきなのは、「パラメータはいくつあるのか」「精度の高い関数を作り出すには、データはどれほど必要なのか」といったことです。実際の現場では、主にエンジニアが考えることですが、ビジネス側のメンバーがここまでAIの理論を理解していると、そのプロジェクトにとって必ずプラスになります。
今日の内容をしっかり会得すれば、これから社内で立ち上がるAIプロジェクトが本当に機能するかどうかなども、見極められるようになります。みなさんにはぜひ、それができるトップエリート人材になってもらいたい。だからこそあえて、今日の講義ではディープラーニングの数学的な内容を深掘りしました。ご清聴ありがとうございました。