AIといった言葉が広く知られるようなった今でも、世の中には過度な期待や大きな誤解で満ちています。

等身大のAIは、決して万能でも、簡単に人間を超える存在になってしまうこともありません。実ビジネスで上手にAIを使っていくには、人間が自らビジネス上の課題と解決方法を考え、AIの使い方を設計していくことが重要になっています。

今回は、読者の皆様がもし実ビジネスにおいてAIを導入し、活用していく立場になった時、AIとどのように向き合って技術設計していくかについて考えていきたいと思います。

AIと機械学習と深層学習の違い

早速、実ビジネスにおけるAIの技術設計について解説をはじめたいところですが、実は本稿で扱うAIは正確には機械学習のことであり、特に連載のタイトルにもあるようにディープラーニングを中心に扱っていきます。

そこでまず、言葉のイメージを共有するために、AIと機械学習と深層学習の関係性について整理しておきましょう。

AI-機械学習-ディープラーニングの関係性

まず、AI(人工知能)というカテゴリには、いわゆる機械学習の他にも、ルールベースで設計されたエキスパートシステムや、ロボット、エージェントシミュレーションなどさまざまな手法が人工知能の範疇に入ってきます。近年では機械学習や深層学習が注目を浴びる機会が多くなったため、AIと機会学習を同義で捉えている人もいますが、いざビジネスで使おうとなると意味合いがボヤけてしまうので言葉の使い方には注意が必要となります。

また、機械学習とディープラーニングの関係ですが、こちらについてもどちらが上でどちらが下という関係ではなく、あくまで機械学習の数あるアルゴリズムの一つがディープラーニングという位置づけであり、目的や環境に応じて適材適所で使い分けていくという姿勢が必要です。

よくディープラーニングが「唯一にして最強の手法」のように誤解されているケースがありますが、ディープラーニングという言葉に踊らされずに、解決したいビジネス課題にマッチする適切な手法を選択していきましょう。

機械学習とは「過去問を解かせて、入試に合格させる」手法

次に機械学習における学習と推論についての基本的な仕組みについて解説していきます。

学習と推論の仕組み

上図で示すとおり、機械学習は、既知のデータを機械学習アルゴリズムに学習させることで、学習済モデルを生成します。

ものすごく乱暴に例えるならば、「y = ax + b 」のような解き方の型のようなものが機械学習アルゴリズムであり、既知のデータを覚えこませていくことで、うまく予想や判別できるようなパラメータaとbを探り当ててくれます。その結果、学習済みモデルでは「y = 2x + 3」 のように、パラメータaとbが既知のデータに最適化された関数が生成されます。

この学習済モデルに対して、新たに収集した未知のデータを投入することで、何かしらの予測値や判別値を出力することができます。この出力値を実ビジネスに生かしていくのですが、ここで何点か注意が必要です。

まず注意すべき点は、学習させようとしている「既知のデータ」と推論しようとしている「未知のデータ」で特性が大きく異なる場合は、うまく予測や判別ができないという点です。

例えば大型連休の交通量データを学習させて、通常の平日の渋滞予測をすることはできません。北海道の気候データを使って、ハワイの天気を予測することも難しいでしょう。このように、AI設計では、予測や判別をしたい事象が既知のデータから推測できそうか、すなわち学習データと判定データの相関関係・正規性について常に注意が必要となります。

次に注意すべき点は、既知のデータに最適化しすぎることによる過学習です。

過学習とは、例えるなら一生懸命、過去問だけ勉強した受験生が、初めて見る問題に対応できず入試本番で散々な目にあうといった「受験生あるある」のようなことが起きてしまうことです。学習時の精度が高すぎる場合は、その結果に一喜一憂せずに、まず過学習の可能性を疑い、学習データの量・バリエーションの拡充などの対策を講じましょう。

ディープラーニングとは、「良い感じに学習してくれる」手法

続いて、ディープラーニングについて概説していきます。ディープラーニングという言葉を聞くと、何やらすごそうな印象を持ちます。何せ「ディープ」な「ラーニング」ですから、機械学習よりもとても賢そうな雰囲気です。

では、ディープラーニングのどこがすごいのでしょうか? その所以は、機械学習とは異なり「特徴量」自体をデータから学習することができる点にあります。

あまりピンと来ないかもしれませんが、機械学習では、学習させる「既知のデータ」に関する特徴量の設計を人間が行わなければいけませんでした。シンプルなデータであれば苦も無く特徴量設計もできるのですが、非構造なデータや、大量で複雑なビッグデータなどを扱うようになると、人手での特徴量を設計するのも限界がでてきます。

ディープラーニングは、画像や音声、自然言語といった人間が特徴量を抽出するのが難しいデータであっても、機械学習において最も手間となる特徴量の設計を自動的に行ってくれるため、ずいぶん気の利いたアルゴリズムといえます。

最近では、Googleが「Playground」というディープラーニングの学習をシミュレーションできるWebサイトを公開しているため、学習の様子を体感することもできます。

Playgroundで解きたい問題を選び実行すると、ディープラーニングの各層のノードが動的に特徴を学習している様子が見て取れます。一つ一つは人間が理解できる特徴量になっていませんが、抽出した特徴量を組み合わせることで、精度の良い判別や予測を実現していることがわかります。

ニューラルネットワークの学習の様子 (A Neural Network Playground - TensorFlowより)

AI設計の勘所

概要をご理解いただいたところで、NTTデータが受託した経済産業省の調査プロジェクトで活用した、画像判別AIエンジンを例として、画像判別領域におけるAI設計の勘所をお伝えしてきます。

これまで触れたとおり、ディープラーニングによる画像認識は、学習データから自動的に特徴量を抽出してくれる利点がありますので、学習データをどのような観点で集め、AIに学習させていくかという部分が重要になってきます。

画像認識AI設計のポイントは「クラス設計」と「学習データ枚数」

画像を判別するAIは、判別するクラスを細分化するか、学習させる画像の枚数を増やすことで判別精度を高めることができます。

しかし、実ビジネスでは、限られた期間の中で学習データを集めて、結果を出していく必要性に迫られることから、判別精度を高めるために細かくクラスを分ける一方で、極力、新たに収集する学習データの枚数を減らしたい、というジレンマに陥ります。

このクラス設計と学習データ枚数のちょうど良いバランスを見極めていくことが、AI設計のポイントとなります。

コツは2歳児に置き換えること

  • 色の名称がわかるようになる
  • 動物、野菜、果物、乗り物、身近なものの名称に興味を持つ
  • 大人の言うことはかなり理解でき、簡単な質問に答えられるようになる
  • クレヨンを正しく持ち、線や丸なども書ける

上記は、2歳児の発達と成長に関する目安だそうです。

筆者はこの2歳児の「できるコト」と、今の最先端のAIが短時間で「できるコト」のレベル感はほぼ同じに捉えてよいと考えます。

したがって、読者の皆様がディープラーニングのクラス設計を行った場合は、まず、身近な2歳児を思い浮かべながら、自分が設計したクラスや学習データ量が適正かを見つめ直してみるとよいでしょう。

幸か不幸か、筆者にはタイスケという2歳半になる息子がおりますので、息子の行動をディープラーニングに置き換えて、クラス判別と学習量の妥当性を例示したいと思います。

(1) 「おとうちゃん」と「おかあちゃん」

タイスケは、この2つについては比較的早く、1歳半をすぎてからに判別できるようになりました。顔も、髪型も、もちろん生物学上の性別も全然違いますし、AIでも比較的に簡単に判別できる部類です。

このように誰の目にも見た目が全然違うものについては、仮にディープラーニングで学習する場合は最低100枚程度あれば、ある程度の判別精度は出せるでしょう。

(2) 「バス」と「ダブルデッカーバス」

ある絵本にあったロンドンの2階建てバス(ダブルデッカーバス)を覚えさせようとしましたが、タイスケはどうやら上手く判別できなかったようです。

確かに色合いや形は似ており、若干区別がつきにくいかもしれません。

姿形が類似しているものについては、少し多めに学習データを用意した方が無難です。仮にディープラーニングで学習する場合は、300枚以上は集めたいです。

(3) 「麦茶」と「伊右衛門」と「おーいお茶」

タイスケとよく近くのコンビニに買いものに行くのですが、麦茶は判別できても、伊右衛門とおーいお茶の違いは判別できていないようです。

伊右衛門やおーいお茶といった個品レベルでは、形状や色合いがかなり似ているので、2歳児のタイスケでは判別が難しいのかもしれません。

このような類似品を判別する場合は、ディープラーニングでも相応の枚数の学習データが必要になってきます。この場合は最低でも500枚~1000枚は必要になってくるはずですし、モノによっては1万枚近く用意しなければ判別精度がでない場合もでてきます。

酷似している物体を判別したい場合は、OCRで文字情報を読み取る、他の特徴量をディープラーニング以外の方法でマッチングするなど、別の方式での判別も検討した方がよいでしょう。

*  *  *

本稿ではAI導入にあたって学習面にフォーカスを絞り検討の勘所をお伝えしました。読者の皆様が少しでもAIを正しく理解し、AIを過信することも、AIを恐れることもなく、積極的にビジネスに適用していくための一助となれば幸いです。

次稿では、作成したAIをシステムに組み込み、運用していくためのアーキテクチャについて要諦をお伝えします。

著者紹介


川口 有彦 (Kawaguchi Arihiko)
―― 株式会社NTTデータ 製造ITイノベーション事業本部 コンサルティング&マーケティング事業部 デジタルコンサルティング統括部 コンサルタント

東京理科大学 理工学部 数学科卒業。筑波大学 ビジネス科学研究科 経営システム科学専攻(機械学習、エージェントシミュレーションを研究) 在学中。

NTTデータに入社し、金融系システムの開発担当を経て、2013年より現職。法人分野における業務変革・ガバナンス強化、組織人材コンサルティング、UXデザインによる新サービス検討コンサルティングなど幅広く活動。近年はAI適用による業務変革コンサルティングに従事。