機械学習(AI)導入はなぜ失敗するのか

Uncategorized

こんにちはWorkaholicです。

今回は「機械学習(AI)導入はなぜ失敗するのか」について自身の体験を元に語っていきたいと思います。

・機械学習とは?

機械学習とはデータを反復的に学習しその中にある特徴を見つけ、それを未知のパターンに当てはめることによって分類や予測を行う事を指します。近年では「AI」という単語を身の回りでも聞くようになりましたが、これは主に機械学習を導入したものを指しています。

具体的には「人物の特定」であったり「為替の予測」など、多種多様な分野で活躍を見せています。もはや産業革命と言っても良いくらいの技術で、とても盛り上がりがある分野と言っても良いでしょう。

・良い事ばかりではない

そんな期待あふれる機械学習ですが必ずしも良い結果を残すとは限りません。それは機械学習を実際に導入するにあたり、以下のような認識がある為に失敗をするパターンがあるからです。

・機械学習の導入がそもそも必要ない

これはよくありがちな事なのですが「AIを導入した!!」という事を言いたいが為に導入するパターンです。必ずしも導入したいお客が機械学習の全てを理解していることは少数です。「AIってなんかすごい奴」くらいの認識しかしていないというパターンもあります。

残念ながら私が個人で請け負った中にこのようなお客さんはいました。

ハッキリとした目的意識があれば良いのですが「なんか出来そう」では要件も仕様も見えてきません。場合によってはそもそも機械学習など導入しなくても課題が解決するような場合さえ存在します。

以下は実例ですが、PDFの資料を機械学習を使用して文字起こしを行い、テキストファイルやExcelファイルに変換を行いたいというお話を頂いたことがありました。機械学習を用いて手書き文章を文字起こしする事はありますので、その件でお話をいただいたのかなと思いましたが、実際はPDFファイルに書かれている資料はすべてPCで作成された文字であり、OCRソフトウェアで読みとれば高い精度で文字起こしが出来るものでした。その為、機械学習は持ちいらず、PDFファイルを画像変換しOCRソフトウェアで文字起こしをする方法を提案しました。

機械学習はいらない事だってある。

「機械学習は万能でうまくやってくれる」「AIを導入したい」という事にスポットを当ててしまい、何が出来るのか?既存の技術の組み合わせの実現可能か?という点がスッパリ抜け落ちてしまっています。

・費用対効果に不要

費用効果とは製造や管理等に掛けた費用に対してどの程度効果があるのか度合です。つまりはコストパフォーマンスという事です。せっかく機械学習を導入したのにロクな効果が無く、役に立てていないようでは意味がないですよね?

先ほどのPDF資料の読み取りの例で言えば、「資料の文字起こしをする作業」を自動化できるわけですが、問題は自動化すればすべての作業が減るとは限らないという事です。単純に考えて以下の作業が必須となります。

①アウトプットのチェック

機械学習の結果が正確とは限りません。常にチェックの必要があるとは言いませんが正確性を求めるアウトプットであればあるほど人が時間を掛けてチェックをする必要があります。つまりは機械学習によって実現できることは「完全なる人の置き換えではなく、人のやることを補助する事」という事を理解する必要性があります。人が監督者となってAIを見守るという作業が発生するのです。

②システムオペレーション

当然ながら機械学習はプログラムです。誰かがボタンを押さなければ動きませんし、インプットファイル(PDF)を入れてあげる必要性があります。作業方法を覚えてそれを活用していく必要性があります。1つボタンを押したら結果が表示される・・・程度の容易なものであれば良いですが、必ずしも全ての機械学習を利用したプログラムやシステムはそうとは限りません。複雑なオペレーションが必要になれば作業の教育にも時間をかける必要性がります。

③システム維持(メンテナンス込)

導入形態によりますが、少なくとも機械学習を行う環境として学習には高機能なGPUを搭載したマシンが必要となります。(GPUは必須ではありませんがCPUだけの計算速度では現実的な速度で学習できません)それらを利用したシステム群を維持するのもタダではありません。不具合や機能改善を常に行う必要が発生します。

導入費用と維持費用を考えた場合に、減らした作業量はこれらの費用に見合うのかを考慮する必要性があります。

・必要可否を見抜け

失敗をする導入事例を解説しましたが、当然ながら機械学習の導入によりコストの削減や作業効率の向上を行えた成功事例もあります。一概にすべての事例に言える事はありませんが、まず何より「機械学習が無くても実現可能か?」を見極められるようにするのが大事です。(中には見極められるが「お客が言ってるし」や「お金が取れそうだから」というエンジニアがいるかもしれません)まずはこれを見極められるようにならなければプロジェクトは頓挫しますし、お客もエンジニアも幸せにはならないでしょう。

機械学習を使用した開発は発展途上な分野ですので、これらの不幸はしばしば発生する可能性はあります。しかし「機械学習の必要可否」という点に重点を置けば少なくとも大きな道をそれる事はなくなる事でしょう。

まだまだ成熟しきっていない分野ですので、機械学習の導入可否とシステム開発を理解できるエンジニアはこれから重宝されると私は予想します。

(Visited 526 times, 1 visits today)

コメント

タイトルとURLをコピーしました