[画像のクリックで拡大表示]

 「ディープラーニング」──。この言葉を聞いたことがないという人は、さすがにいないのではないでしょうか。2015年10月、米Google社が開発した、ディープラーニングによる人工知能エンジンを搭載した「AlphaGo」が、当時世界でトップ3に入る囲碁のプロに4勝1敗で勝利しました。これが一般の新聞やテレビのニュースでも大きく報じられ、ディープラーニングという言葉は一躍有名になりました。

 これは、人工知能が近い将来、社会におけるさまざまなシーンで活躍すると同時に、企業のビジネスにとって必要不可欠なものになると私たちに感じさせる出来事でした。

 実際、2015年以降、人工知能のビジネスへの活用を検討する企業は増加し、私のところにも頻繁に相談が来るようになりました。ここで、企業の社長や企画担当者から必ずといってよいほど聞かれる質問があります。それは、

「結局、人工知能で何ができるの?」

というものです。人工知能について全てを語ろうとするととても話が長くなるので、今回はディープラーニングに絞って話したいと思います。

最も基本的な事例

 ディープラーニングを使った最も基本的な例は「画像認識」です。中でも、最初の学習教材として使われるのは、人間が手書きした「0」から「9」までの数字画像を判別する例です。では、ここで問題です。

Q1:画像が赤いか青いかを判別するアルゴリズムを考えてください。

 この答えは簡単です。画像の1ドットごとの「RGB値」のそれぞれを足し算し、赤を示す「R値」と青を示す「B値」のどちらが大きいかを比べるとよいのです。

 それでは、次の問題です。

Q2:画像に「0」が書いてあるのか、それとも「8」が書いてあるのかを判別するアルゴリズムを考えてください。

 普通に「0」と「8」の違いを判別すればよいと考える人が多いのではないでしょうか。実は、これは非常に難しい問題です。画像の真ん中辺りに線があれば「8」のような気がしますが、手書きなので全体が上にずれているのかもしれません。他にも、小さく「8」を書く人もいれば、斜めに傾いた「8」を書く人もいます。

 ここで力を発揮するのが、ディープラーニングです。まず、この例に使うディープラーニングの場合、「教師あり学習」を行います。これまでいろいろな人が書いてきた「0」と「8」を学習データとしてインプットします。これらを何百枚も用意して比べることで、「0」になりそうなパターンと、「8」になりそうなパターンを判別する「数式」を作り出します。この数式を作り出すプログラムが、ディープラーニングと呼ばれる手法の実態なのです。

 この数式は何十、何百、何千の演算子によって構成されます。非常に難解で複雑です。また、数式の内容は、新しいデータを学習するごとに修正して微調整していきます。何百枚、何千枚の画像について学習を行うことで、やがて、どんな手書きの画像が入力されても、「0」と「8」を「ほぼ正しく」判定できる「最強の数式」が出来上がります。