テクノロジーの最新トレンドと日本HPのデバイスを中心に紹介しています。

2019.08.05

AI導入における7つの典型的なアンチパターンとは?

img

2019年4月22日~24日にかけて、日本最大級であるグローバルAIカンファレンス「AI/SUM(アイサム): Applied AI Summit」が開催された。テーマは「AIと人・産業の共進化」。

「ディープラーニングを産業実装するために :メディア認識を現場で活用するための論点」というテーマで講演したのは、株式会社Laboro.AI代表取締役のCTO藤原 弘将氏。実際のプロジェクトを通して得た知見と、失敗事例である「アンチパターン」を語った。

AIを使っても素人以下の精度?

機械学習およびディープラーニングを用いたプロジェクトを進める藤原氏。その過程で「AIは万能なシステムだ」と思い込んでいるクライアントに会うことも少なくないという。

しかし、現時点で訓練された人間の作業精度を超えるようなAI技術はほとんどないと藤原氏は言う。

img

――藤原
「人間のエキスパートが行う作業を完全にAIに置き換えるのは難しい。私の経験でいうと、せいぜい『素人以下の精度』が関の山です」

AIのビジネス導入という観点では、あらかじめ必要な機能を限定したうえで取り入れる手法が現時点では最良だと言える。こうした考えのもと、Laboro.AIではクライアントのAI導入時に次のようなアプローチを行っている。

1.ソリューションデザイン
要件定義。ビジネスプロセスの分析を行う。

2.モデル開発
モデルを開発し、学習をさせて精度を高めるフェーズ。

3.システム開発
得られたモデルをビジネス的な観点で評価。システム開発を行い、既存システムとつなぐ。

4.運用
活用をしながら再学習をさせる。

AI導入にあたっては、最初の「ソリューションデザイン」が最も重要な部分だ。また、クライアントに見落とされがちな部分でもあるという。

――藤原
「『ソリューションデザイン』ではビジネス環境を分析するほか、そもそもAI導入の余地があるかも検討します。

どういうことにAIを活用したいかが決まると、アルゴリズムのUI出力の設計や既存ビジネスプロセスへの導入方法など、モデルを開発する前にやるべきことが見えてきます」

AI技術を理解し、ビジネスプロセスを分析すべし

藤原氏は、ソリューションデザインに取り組むにあたり、クライアント企業が押さえておくべきポイントを紹介した。

・技術理解
・ビジネスプロセス理解
・活用可能性の検討

の3つだ。

「技術理解」は文字通りAI技術を理解すること。インプットとアウトプット、つまり入力データに対して何が出力されるか、どのくらいの精度で出てくるか。

現状の技術水準で何がどのくらいできるかは、クライアントもあらかじめ勘所を掴んでおくと良いだろう。

どの程度理解すべきかというレベル感のヒントとして、藤原氏は画像識別の例を挙げた。

――藤原
代表的な研究データとしてImageNetという1,400万枚ほどの画像を収めたデータベースがあります。

ImageNetのコンペティションから生まれた、130万枚あまりの画像、1,000カテゴリを抽出した「ILSVRC2012データセット」では、top-5(5個候補を出して1個でも合致していたら正解という評価)の精度が97.7%。Kerasというオープンソースのライブラリでは96.6%の精度です。

画像識別でも四角い枠で領域を指定する『バウンディングボックス』となると精度が一気に下がりますし、人間の顔認識とパーツも含めた物体検出ではまた精度が変わります。

このようなレベル感でさまざまな技術を理解できれば、要件定義や議論ができると思っています」

次に「ビジネスプロセス理解」。AIの精度は、人間のエキスパートには到底およばない。

そのため工数やコストの削減のために、業務コンサルタントのように、現状のビジネスプロセスを分析し、本当に導入価値があるのか、どの作業にAIを導入できるのか考える。

たとえば、大量の顧客データを処理しなければならないマーケティング業務、複数回のチェックが必要な保険、銀行における業務はAIが活躍できる典型的な場だ。

これらを理解、分析し、はじめて現実的な「活用可能性の検討」が行える。

「ソリューションデザイン」での典型的アンチパターン

続いて藤原氏は、AI導入の失敗事例を紹介した。

img

要件定義が曖昧なまま進める

――藤原
「『要件定義をしないで作ってしまおう』という発言がクライアントから出てくるときは、事前の検討を放棄している場合が多かったりします。

エッジで動かすか、サーバーで夜間にバッチで動かすのか、1秒でどれくらいの処理を求めるのか、などによって使える技術が違ってきます」

要件定義を放棄していては、せっかくAIを業務プロセスに組み込んでも工数削減が見込めるほどの成果は得られない。少なくとも手を動かす前に、ひと通り思考を巡らすことが重要だ。

最近はクラウドやエッジなど、一言でAIといっても、実際にはさまざまな選択肢がある。そのなかで自社にとって最適な選択肢を選ぶためには、慎重な要件定義は必須だろう。その点は、ほかのシステムと同様に進めていく必要がある。

――藤原
「設計の段階で『これくらいの精度が出たらいけそう』という仮説を考えておくべきです。

そのうえで実際に開発し、『精度はこれくらいだったからここをもう少し深掘りしてみよう』と、イテレーションを繰り返すのが重要です」

既にAI導入必須のプロジェクト計画を立てている

クライアントのなかにはプロジェクト当初からAI導入の予算やスケジュールをきっちりと組んでいるケースがある。しかし、藤原氏は「機械学習は潜在的に、試してみなければ期待通りの精度が出ない可能性がある」として、SIerが行うようなウォーターフォール型開発ではなく、アジャイル型開発で進めていくことの重要性を指摘しました。

――藤原
モデルの開発後に、性能評価をせず導入を決定してしまい、導入後に「使えないシステム」とユーザーからクレームが来たことがありました。

導入決定が避けられない場合は、たとえばAIが担う部分は万が一AIがなくても業務が回るようにするなど、いくつかの工夫が必要です」

定量的な評価基準を作らず現場に評価を任せる

現場の意見ばかり尊重し、AIの評価を現場の判断に任せることも良くないと藤原氏は言う。

「AIは現状のオペレーションを変え、自分たちの仕事を減らすためのもの」という意識が現場にあると、完成品の評価に一定のバイアスがかかり、不毛な粗探しをしてしまう。

これを防ぐために、完成品ができる前に定量的な評価基準を現場の意見を取り入れながら作成する必要がある。また、評価基準の作成には別の狙いもあると藤原氏は語る。

――藤原
「現場ならではの視点を設計段階で取り入れることも狙っています。

たとえば『惜しい間違い』なら2割程度ならあってもいいけれど、『全然ダメな間違い』はあってはならない、というように、間違いにも一定のレベル感が存在することがあります。

また、現場への導入は最終調整の段階で難しくなってしまいがちなので、管理者の強いリーダーシップで一定の強制力をもって導入していく必要があります」

精度目標を簡単に決めてしまう

「9割の精度を目標にしたAI」というと、かなり高精度なAIが出来上がるはずだと期待する方もいるかも知れない。しかし、そうした感覚は正しくない可能性がある。

――藤原
「仮に疾患を検知する医療システムの精度を、クライアントの希望で9割とした場合。100人に1人いるかいないかとされる疾患に関して、9人が誤って「疑いあり」と検出されてしまう。それでは役に立ちません。

また、基準となる数値にも、

- 再現率
- 適合率
- ヒットレート(ヒット率)

というようにさまざまな考え方がある。検出対象の件数やデータの偏りなどを総合して、何を基準にするかケースバイケースで考える必要があります」

「モデル開発~運用フェーズ」での典型的アンチパターン

ビジネスプロセスの分析時だけでなく、AIモデルを開発、評価する「モデル開発フェーズ」や「システム開発」フェーズにも失敗の原因は潜んでいる。

技術を理解せずに試す

有名だからという理由だけで技術を選んでも、期待通りの精度が出ないことも往々にしてある。

img

――藤原
「物体検出で有名な手法にYOLOがあります。『YOLOを試してみたけれどダメだったから依頼したい』と相談を受けたことありますが、YOLOは2015年くらいにできた手法です。

AIの世界では比較的古い部類に入り、既にYOLOよりも良い手法が登場しているのです。また、YOLOはスピードよりも精度を重視した手法ですので、スピードを求めるなら違う手法を選ぶ必要があります」

自分たちが解決したい課題と技術を紐付けることも、重要なステップといえる。

チューニングをしない

――藤原
「自然言語の識別でFacebookが作っている「fastText」という有名なオープンソースのプログラムあります。非常に高速で精度も高いという評価を受けて、さまざまなところで使われています。

デフォルトのパラメータだと全然精度が出ないときもありますが、あるパラメータを10倍に設定すると一気に精度が高くなったことがありました。

何が言いたいかというと、オープンソースの技術をブラックボックス化せず、パラメータをチューニングする期間も見込むことが必要です」

また藤原氏は運用フェーズにおけるアンチパターンの存在も指摘した。

再学習のためのリソースが見落とされがち

AIは再学習が必要不可欠です。再学習なしでは精度が少しずつ下がっていき、使えなくなることもある。

そのため、再学習を前提としたデータの収集プロセスを事前に設計しシステムに組み込んでおくのがベストだという。

――藤原
「別のシステムからデータが挿入される場合は簡単ですが、外部システムからのデータがない場合は、人の手で訂正する仕組みをビジネスプロセスに組み込んでおきたい。

訂正した結果さえ残しておけば、後々再学習に繋がります。それもない場合は、数ヶ月ごとに再学習のためのリソースを確保しておきたいですね」

講演を通じて感じたのは、技術やビジネスプロセスを理解せず、安易にプロジェクトを進めてしまうことの危険性だ。

社内の知見を蓄えるためのプロジェクトならまだしも、本格的なAI導入には多大なリソースが求められる。これらを無駄にしないためにも、藤原氏が紹介したアンチパターンを反面教師に、自社の現場に最適な導入の形を模索する必要がありそうだ。

img

(制作:Ledge.ai 執筆:Ledge.ai編集部)