昨今のトレンドであるAI(人工知能)だが、その仕組みを本当に理解している人はどれだけいるだろうか。機械学習やニューラルネットワーク、ディープラーニングといった概念をそれぞれきちんと区別できているだろうか。

4月22日に開催した第114回IT Search+スペシャルセミナーでは、GoogleのDeveloper Relationsチームで主にDesign SprintやMaterial Design周りのコミュニケーションを担当する鈴木拓生氏が登壇。「Googleの開発者向け機械学習ツールを知ろう ~TensorFlow からML Kitまで」と題し、AIや機械学習、ディープラーニングなどの仕組みと概念を改めて解説すると共に、開発者向け機械学習フレームワークである「TensorFlow」や「ML Kit」について紹介した。

AIの基本用語と仕組みをおさらい!

鈴木氏は講演冒頭、「AI」や「機械学習」、「ディープラーニング」といった言葉の意味するところから語り始めた。いずれもトレンドワードではあるものの、しっかりと意味を理解して使い分けている人は意外と少ない。

鈴木氏によると、AIとは「賢いITをつくる技術」のことで、機械学習とはそのなかの手法の1つであり、「データから”賢さ”を得るための技術」だという。さらに、ニューラルネットワークは「機械学習のアルゴリズム」の1つであり、その1つとしてディープラーニングという「深い階層を持つニューラルネットワーク」が存在する。

Google Developer Relationsチーム Program Manager 鈴木拓生氏

以上を踏まえた上で、鈴木氏はりんごとオレンジの画像を示し、AIの基本的な仕組みを説明する。

「りんごとオレンジを見分けるルールを考えてみましょう。りんごは赤くて、オレンジはオレンジ色、という見分け方がまず考えられます。しかし、この写真に色がなかったらどうしますか? 表面がでこぼこしているとか、ヘタの有無など、色以外の判別方法が必要です」

りんごとオレンジの二者択一ならば、簡単な形状の違いで十分判別できるかもしれない。だが、「では、ここにマンゴーが加わったらどうしますか」と鈴木氏は続ける。

「人間ならマンゴーが入ってもすぐに違いがわかります。だけど機械にとっては”もしこうなら~』という条件が多くて複雑になりすぎます」

それならば、判定基準自体を機械が自動的に学べるようにすればいいのではないか。――これが、機械学習の基本的な考え方である。

実際、猫と犬の写真データを大量に機械学習させると、初めて見る写真でもAIは何となく「犬なのか猫なのか」の判別ができるようになるという。

なかには、人間にも難しいテストもある。例えば「犬っぽいモップか、モップっぽい犬か」を画像で見分けるのは意外と難しく、間違える人も多い。そんな難問であっても99%の精度で判断できるのが、Googleが提供する画像検出API「Cloud Vision API」だという。

機械学習の3つのステップ

では具体的に機械学習のステップを見ていこう。

鈴木氏によると、機械学習のステップは3つ。お手本となる”正しいデータ”を用意して、そのなかにあるパターンを機械学習で抽出する。そうやって学習した「モデル」を分類や予測に利用するという流れである。

例えば、「大人」と「子ども」を分類するとしよう。大人と子どもを判別するのに使用するデータは「身長」と「体重」とする。

身長が高い人は大人である可能性が高いと言えるが、一方で身長が高い子どももいるし、低い大人もいることを考えると、単純に身長何cm以上だから大人であるとは言えない。つまり、身長だけを見て大人と子どもの境界線を引くことはできない。これは体重にも当てはまる。

そこで、次に考えるのは身長と体重の両方から考える判定方法だ。「身長+体重>200であれば大人」などと設定すれば、単純に身長、または体重だけで考えるよりも精度は上がるだろう。

ただし、この方法でもイレギュラーなケースがあり得る。そこでさらに、身長と体重に”重み付け”することで、境界線の精度を高めていく……これが機械学習による分類で行われていることだ。

さらに、どんな重み付けがベストなのか、より間違いが少なくなるパラメータの組み合わせを探すのに使われるのが「ニューラルネットワーク」である。マシンパワーこそ必要になるが、このニューラルネットワークのレイヤを増やすことで精度は向上する。これが「ディープラーニング」というわけだ。