コンテンツを開く

テーマのトレンド

AIソリューションを成功に導く3つの原則

F-Secure Japan

08.03.19 5 min. read

ビジネスの現場で人工知能を活用したいという動きが盛り上がっています(英語)が、実際には何が起こっているのでしょうか? AIを活用することであらゆる問題を解決することができるのでしょうか? そもそもAIとは何なのでしょうか? AIソリューションを構築する際に考慮すべき重要な点は何でしょうか? これらの疑問に関して、エフセキュアのAI担当副社長Matti Aksela(マッティ・アクセラ)に話を聞きました。

AIという言葉は包括的に使われていることが多く、ほとんどのケースで私たちが参照していることは、以前からある「機械学習」のことです。 今日では、メソッドやアルゴリズムが進化しています。さらに顕著なことはコンピューティングパワーが劇的に向上しています。 しかしながら、機械学習モデル自体はかなりの年月に渡って使用され開発されてきています。 最近では、すぐに使える機械学習に用いるためのソフトウェアライブラリ、TensorFlow(英語)のようなツールキットや、 Sagemaker(英語)のような完全マネージド型のクラウドプラットフォームを利用することで、使いやすさは飛躍的に向上しました。 しかし、この期待と興奮の中で忘れ去られてしまいそうな、これまでの経験から学んだ基本的な知見の多くは今でも活用することができます。私は、しばらくこの分野に従事してきました。そこで、AI/機械学習ソリューションを成功させることに悩んでいるの方々のために、設計、構築、そして評価を行う際に誰もが留意すべきと思われるいくつかの原則を共有したいと思います。

1)特効薬はない

他よりも優れたアルゴリズムやモデルが必ず存在すると思っているようでしたら、残念ながらそれは間違っています。 あらゆる問題を解決する特効薬やアルゴリズムは存在していません。 確かに、今日では誰もがディープラーニングについて議論しているので、その結果、間違いなく、多くのタスクが前例のないレベルの精度に引き上げられています。しかし、それでもすべての問題に対して最適なソリューションが得られているわけではありません。私は、データサイエンティストのひとりとして、以下のことが必要だと考えています。すなわち、さまざまなアプローチに対する知識、賛否両論への理解、そしてそれらのアプローチの有効な場所と有効でない場所をしっかりと理解することです。

また、ビジネスオーナーがソリューションを購入するのか、または構築するのかを評価する場合、誰かが、「私たちのソリューションは、______を使用しているので最高です。」などと語っていても疑ってみるべきです。本当に堅実に約束通りのソリューションを構築している場合はまったく別の話ですが、単にマーケティング的な価値以上のものを生み出すことがないとしても、あらゆるソリューションに「AI」を追加することは極めて簡単にできてしまうことを理解すべきです。

2)モデルを理解する

モデルを一連のデータに適用する場合、モデルの基本的な前提、稼働条件、そして最も一般的な落とし穴に注意を払う必要があります。おそらく、機械学習モデルを構築する際の、最も古典的なミスは、非常に複雑なモデルを一連のデータに「過剰適合」させてしまうことです。 このモデルの最悪のケースでは、特定のデータセット以外の未知データを推定することができない可能性が考えられます。

この問題に対する例を下の図に示してみます。基本的に直線的なプロセスがあると仮定し、ある点にノイズが含まれていたとします。 そこから4つのデータポイントを取得します(通常は、そのような小さな数ではないので、目視するのは非常に困難ですが、要点を説明するために解りやすくしています)が、直線は完全には一致しません。二次多項式でも完全には一致しませんが、これは、トレーニングセットのエラーと呼んだ方が良いでしょう。ところが、三次多項式では線が完全に一致します。 トレーニングデータにエラーはありませんが、データが実際に直線的なプロセスから得られたものだとしたら、新しい値に対してうまく一致するでしょうか?さらにいくつかのポイントを追加して、過度に複雑なモデルで何が起こるのかを見てみましょう。新しいデータポイントでは、このモデルは全く機能していません。

機械学習モデル

これは、複雑なソリューションを構築する場合の極めて単純化した例ですが、トレーニングデータ上では、状況全体を理解しなくとも一見、非常にうまく動作するように見えてしまいます。しかしながら、結論を導き出す前に可能な限りすべての状況を理解しようとするのは理にかなったことです。特にモデルが、数字だけでなく金銭、あるいは人の命に依存している場合はなおさらです。

3)トレーニングが鍵を握る(データと、モデルのトレーニング方法を理解する)

完璧なモデルであっても、それを訓練するために使用したデータから学習することになります。したがって、モデルを訓練する方法には最新の注意を払う必要があります。機械学習とは、機械がデータから学習することを意味します。そして、少なくとも、実際に使用したデータに含まれている一般的知能を私たちが理解し始める前に、モデルは使用されたデータの内容を学習します。 したがって、現在の大半のAIはそれほど賢くはありません。出力にはトレーニングに使用されたデータが反映されます。トレーニングデータ(またはプロセス)に偏りが存在する場合は、それが適用されたときにモデルの出力にもその偏りが出現することが予想されます。

素晴らしいモデルが、実際はモデルに偏りを反映させるデータのサブセットでトレーニングされている状況が数多くあります。例えば、犯罪者やテロリストを民族に基づいて検出する画像認識モデルは、正直に言ってとても恥ずかしいことだと思います。軍事システムは、味方と敵の戦車を識別するのに、鮮明な画像を味方とし、ぼやけた長距離の画像を敵とみなすよう学習されてきました。霧の深い日には何が起こるかお分かりでしょう。お話ししたい例があまりにも多くありますが、次のことは信じてください!適切なトレーニングをしなければ、また正しいトレーニングデータがなければ、モデルは構築しようとしている真に知的なソリューションではなく、単に、Garbage in Garbage Out(無意味なデータ入力による無意味な結果出力)になる恐れがありますので、慎重を期す必要があります。

これらが包括的な原則です。すべてご存知の方には繰り返しになったかもしれませんが、それだけ重要な原則だと思っています。あなたはどう思いますか?あなたにとって信頼性の高い堅牢なAIソリューションを構築するための重要なルールは何でしょうか?私にメッセージを送ってください、または以下にコメントしてください。お待ちしています!

F-Secure Japan

08.03.19 5 min. read

注目記事

関連する投稿

Newsletter modal

登録を受付ました。 購読受付のメールをお送りしたのでご確認ください。

Gated Content modal

下のボタンをクリックしてコンテンツを確認ください。