開発技術が対象とする誤動作のリスクとは次のようなものだ。「設定した入力範囲に対して、このように出力してほしい……という期待する動作の定義における発生率を指す。定義に対して100%であるかどうか。リスクをゼロにするというものではなく、リスクをできるだけ低減していくことを目指している。検証すると、実は期待する動作が100%ではないことが実際にあった。それを見つけて誤動作の発生率を低減できるだけでもかなり効果があるのではないか」(吉村氏)
「期待する動作が100%でなければ不合格、とは考えていない。ユースケース次第で、間違っても構わないといえる範囲であれば100%でなくても合格にできるのではないか。ミッションクリティカルな部分では100%の合格を目指さなければならない。柔軟にやれるツールにしていきたい」(毬山氏)
また、毬山氏は「事前に定義したものの中でその通りにAIが動いてくれるというところをまずは保証したい。機能安全の考え方の中で危険側に転ばないようにする。定義された範囲で網羅的に検証できるようになったということ自体が1つの大きな前進だと考えている」という。
開発技術で検証できるリスクは誤動作の発生率で、誤動作の重大さまでは含まれていない。誤動作が与える影響はアプリケーションによるため、AIモデルだけでは定義しきれない。「開発技術とアプリケーション側で決まる重大さを掛け合わせると、発生率と重大さのリスクも見積もれるかもしれない。また、誤動作の影響が重大なものは網羅検証のように厳密なテストを行い、カバーできる範囲の誤動作には従来の性能評価を行うような考え方もあり得るかもしれない」(吉村氏)
自律制御システムによる宇宙船の着陸に開発技術を適用すると、次のような流れで検証が行われる。宇宙船を着陸させるため、AIはxy位置や速度、角度、角速度、左右の設置の有無など観測された状態に対して次の行動を決定する。シミュレーションで安全に着陸できているように見えても、期待する操作が行われず着陸に失敗するリスクがあるかどうか確かめる必要がある。
例えば、地表近くで宇宙船が大きく右に傾いている場合、開発者の期待する動作は「左に向かって噴射しないこと(=さらに右に傾いて転倒してしまう行動をとらない)」となる。
開発技術では、変数の範囲を設定することで期待する動作を定義し、網羅検証を実行。複数の「期待する動作」の設定に対して、それらをどの程度の確率で満たすかを確認し、宇宙船が大きく右に傾いている状態のときに「左に噴射する」という誤動作のケースをAIモデルの中から発見できる。さらに、左に噴射して転倒してしまうケースをリスクマップで示すことで、開発者はその領域に学習データを追加してAIモデルの再学習に取り組める。
開発技術の詳細は、データマイニング分野の国際会議IEEE ICDM 2024のワークショップや人工知能学会全国大会で発表された論文に掲載されている。
Copyright © ITmedia, Inc. All Rights Reserved.