研究 / Research
アーキテクチャ科学研究系
サイエンスライターによる研究紹介
機械学習を使ったAIソフトウェアを安全で信頼できるものに
AIソフトウェアの安全性の研究は始まったばかり
私はこれまで、攻撃されにくい安全なソフトウェアをつくる研究を長く続けてきましたが、現在は、これを機械学習を使ったシステムに応用し、AIソフトウェア(AIソフト)を安全で信頼できるものにする研究プロジェクト「高信頼な機械学習応用システムによる価値創造」を手がけています(図)。
〈図〉研究プロジェクト「高信頼な機械学習応用システムによる価値創造」の概要図
近年、大量データからルールや知識を自動的に獲得する機械学習を、ソフトウェア・システムに組み込むことが一般化しつつあります。これらの技術を使って車の運転や、医療における画像診断、工場の品質管理などの自動化が進められていますが、大変困った問題が起きています。
それは機械学習を使ったAIソフトの判断が、学習に用いたデータから確率的に決まり、判断のプロセスや根拠がわからないことです。多くのネコの画像を学習させたAIソフトが、99枚の写真を見て、ネコかどうかを正しく判断できたとしても、100枚目の写真を正しく判断できるかどうか、誰にもわかりません。これでは品質を保証することはできず、実用化もできません。この問題は今世界的に重要視されていますが、研究は始まったばかりです。
AIソフトはどの部分を見て判断しているか
この問題に対するアプローチの一つは、AIソフトが対象のどの部分を見て判断するかを確認することです。これは判断の根拠を知る手がかりになります。私はこの方法を使って、乗用車とトラックを見分けるソフトを調べました。乗用車とトラックとでは車間距離や車線変更のタイミングなどがまったく異なるため、自動運転においては、重要な判断です。
その結果、あるソフトはバンパーの色を見て判断していることがわかりました。トラックでは車体の色とバンパーの色が異なりますが、乗用車では車体とバンパーが同一化して同じ色になっている、それを見ていたのです。
これにより、このソフトの判断が妥当かどうかを検討することができます。ひと昔前に車体の色と関係のない銀色のバンパーを装着した乗用車がありましたから、このソフトはその車を見分けることができません。それがわかれば、再度AIソフトに学習させることにより、知識を修正することが可能です。
これは一例にすぎませんが、AIソフトが対象のどの部分を見ているかを可視化することで、判断の根拠の一端がわかり、改良することができるでしょう。
演繹と帰納の方法論を融合させて
AIソフトは、私たち人間とは異なり、常識やバックグラウンドとなる知識をもちません。ですからこのように、機械学習によって得た知識と人間の知識と突き合わせて、それが妥当かどうかを検証し、必要に応じて人間のもつ知識をソフトに組み込んでいく、そのような知識のマネージメントが重要だと、私は考えています。ただ、人間の知識を組み込みすぎれば、人間の限界がそのまま機械学習の限界となり、機械学習の強みが消えてしまいますから、気をつけなければなりませんね。
実際の研究の方法としては、トップダウン(ソフトウェア工学における演繹的な理論体系)とボトムアップ(機械学習における帰納的モデル構成、統計的アプローチ)の2つの体系の融合になります。これを新たな価値の創造につなげ、機械学習を組み込んだソフトウェアをより安全で信頼できるものとし、実用化をめざしたいと考えます。機械学習の長所と人間の長所をあわせもつ、真の人工知能を作る。それが最終的なゴールです。