SIerで2年間 Deep Learning プロジェクトをやり続けて気づいた成功の4つのポイント
2015年から2年以上に渡り様々な Deep Learning プロジェクトに携わってきました。プロジェクトの具体的な内容は、製造業向けの画像認識です。 世の中で Deep Learning は大きな話題となっています。ところが、カンファレンス等で実際に Deep Learning のプロジェクトを担当している方と 懇親会等で話すと成功しているプロジェクトはあまりないとみなさん口をそろえて言っています。 そこで、この記事ではこれまでの経験から気づいた、成功しているプロジェクトに共通するの4つのポイントを解説します。
Deep Learning のプロジェクトというより、機械学習一般に対して言えることなので、Deep Learning や機械学習のプロジェクトに携わっている方 もしくはこれから携わる方にぜひ参考にしてもらえればと思います。
-
前提
-
対象とするプロジェクト
- 教師あり機械学習
- エンジニアが Deep Learning モデルを作成する(TensorFlow や PyTorch などを使ってモデルを構築しデータから学習させて利用する)
-
データはプロジェクト関係者が収集し教師データを作成する
-
Deep Learning や機械学習の原理ができることをある程度理解している
-
対象読者
- Deep Learning (もしくは機械学習・AI・人工知能)のプロジェクトを企画・運営していく人
- 経営の立場から Deep Learning に興味があり社内のどういったことに適用していくべきか検討している方
プロジェクト成功の4つのポイント
プロジェクト成功の4つのポイントは以下の通りです。
- コストメリット
- 入力完全性
- データ収集容易性
- 目標正解率
上から順番に重要な項目が並べてあります。一つ一つ説明していきます。
コストメリット
何といってもDeep Learningプロジェクト成功の秘訣は、「そのプロジェクトを成功させたらユーザー企業がいくら儲かるのか」を具体的に計算できることにあります。すべてこれに尽きます。
例えば、ある品質上の問題を発見することが出来たら、1回につき500万円損失が防げるとします。その品質問題は過去に、平均して年間50回発生していたとします。すると、プロジェクトが成功したら2億5000万円分の損失が毎年防げることになります。このプロジェクトに1億円を投じたとしても、十分にコストを回収できる効果が期待できます。
意外にも、Deep Learningのプロジェクトの相談があるときに、コストメリットについて考慮されていないことが非常に多いです。なんとなくデータがあり、面白そうだからもしくは担当者の手間が省けるからという理由でプロジェクトが持ち込まれるケースが後を絶たちません。この背景には、Deep Learning がデータさえあれば勝手に学習して、夢のような効果をもたらしてくれると誤解されているからでしょう。しかし実際には、データを集める人(教師データの作成を含む)と Deep Learning のエンジニアが数か月以上にわたって専任でプロジェクトに取り組まなければなりません。これの意味するところは、数千万円のコストが簡単にかかるということです。Deep Learning プロジェクトはとにかくお金のかかるものです。 だから、数千万円を投じても十分にリターンのあるプロジェクトでなければ、結果に満足できないもしくは途中で挫折してしまうのです。
入力完全性
次に大事なのは入力完全性です。入力完全性とは、「対象を予測するために必要なデータが揃っているか」を指しています。アイスクリームの売り上げを予測するのに、その日の気温を利用するのは理にかなっています。しかし、同じ予測をするのにオーストラリアのワニの生息数を利用するのは的外れでしょう。(もちろんそんなことは誰もやらないでしょうが)つまり、予測に関係するデータが、Deep Learning のモデルを構築するのに利用できるかどうかが重要ということです。
往々にして、プロジェクトの関係者がデータはあると言ったときに、そのデータが予測対象とは無関係のデータであり、明らかにそのデータでは勝ち目がないケースが多いです。(まさにアイスクリームの売り上げを予測するのに、オーストラリアのワニの生息数を使おうとするようなもの) Deep Learning といえども、無関係なデータを与えて何かを予測するのは不可能です。このため、利用するデータがそろっているかをよくよく吟味しなければなりません。 アイスクリームの売り上げ予測に、オーストラリアのワニの生息数を使うというのが馬鹿げた事だとすぐに気づきますが、自らが携わっている仕事もしくは会社全体の事となると意外と冷静になれないものです。プロジェクトを企画する前に、もういちど一度利用できるデータはどんなもので、それで何を予測しようとしているか見直して欲しいです。
データ収集容易性
データ収集容易性は、文字通り対象のデータを集めるのがどれぐらい簡単かを意味しています。大抵の場合は、プロジェクト開始時点で十分なデータが用意できていません。もしくは、対象データをプロジェクト開始時から収集するというケースもあります。
例えば、プロジェクトの対象とする問題が機器の故障で、その故障は年の一度しか発生しないとしたらデータは集めやすいでしょうか?答えはもちろん NO です。月間で少なくとも数十程度のケースが収集できないと、プロジェクトを進めるのは厳しいです。少なくとも、それ以下の件数でしかデータが集められないものは、長期的に取り組むプロジェクトとして考えるか、いったんターゲットからは外し、別の問題から取り組むことをおススメします。
他には、データを収集するために新規にカメラ等を現場に設置するとなると初期コストが必要になります。 高額な機器が必要なものだと、社内の稟議を通すのに更なるハードルがあります。このようなケースもデータの収集が容易とは言えません。
また、データ収集には画像等を集めるだけではなく、その画像への意味づけ(教師データの作成)や関連する情報の収集も含まれています。例えば、画像だけを集めてしまうと、どの機器から出力された画像なのかが後でわからなくなってしまいます。このため、学習に必要なデータ以外に関連する情報も集めておく必要があります。
加えて画像への意味づけをできる人が限られている場合(例えばがん細胞の診断など)、その人の時間を確保することが重要です。データへの意味づけを行うのは、非常に根気と体力が必要とされるため、この人材確保と作業者への配慮を忘れてはなりません。データが集まらないと他の作業が開始できないため、プロジェクトの計画をするときには、データ収集を大げさなぐらい重要視してよいでしょう。
目標正解率
最後の項目は目標正解率。これは Deep Learning のモデルが何パーセントの正解率であれば、実機として稼働させられるかの目安を指しています。そんなの言えて当たり前じゃないかと思われるかもしれませんが、意外と忘れられていることが多いです。
よくあるケースとしては、100%を目指すという目標を立ててしまうことがあります。これは永遠に到達できない目標なので、やめておいたほうが良いです。また、目標正解率が曖昧だと、いつまでもデータ収集を繰り返したり Deep Learning モデルの改善をあてもなくやり続けることになります。
なるべく低い正解率でも適用できるような問題を見つけて、Deep Learning が認識を誤った場合は運用でカバーするなどの対策を取ることをおススメします。可能な限り早く Deep Learning モデルを業務に適用して効果を刈り取るようにすべきでしょう。
例えば、クレジットカードの詐欺検出のような見つければ見つけるほどメリットがある問題の方が正解率を低く設定できます。逆に、がん細胞の診断や出荷品の検品チェックなどは見逃した場合の影響が大きいため、 正解率を低くできません。
まとめ
こうしてみれば当たり前の4点(コストメリット・入力完全性・データ収集容易性・目標正解率)なのですが、意外と顧みられないことが多いです。技術的な詳細を検討したりする以前に、まずはここに書いた4つのポイントに当てはめて、 Deep Learning を適用することを検討・見直してみると、大半のプロジェクトは開始前にやるべきではないと判断できるのではないでしょうか。忘れられがちですが、PoC(Proof of Concept)などをとりあえずやってみるよりも、やらないと判断して別のプロジェクトを検討する方が勇気がいります。 また、一度プロジェクトを開始してしまうと、中断や方針転換するのは非常に大変です。(プロジェクトを開始するよりも中断する方が大変)
強い意思で、プロジェクトをやらない、もしくはやめる提言をすることは Deep Learning プロジェクトの成功に大きな価値を持っています。