システム開発やAIの分野では、「ロバスト性」という言葉を耳にすることがあります。
ロバスト性とは、簡単にいうと、多少の変化や問題が発生しても、安定して動作できる性質のことです。
この記事では、ロバスト性の基本的な意味から、AIにおけるロバスト性まで、わかりやすく解説します。
ロバスト性とは?
ロバスト性(Robustness)とは、想定外の入力・環境の変化・多少の異常や障害が発生しても、システムやプログラムが簡単には壊れず、安定して動作できる性質のことです。
ITやプログラミングでは、簡単にいうと「予期しない状況に対する強さ」を表します。
例えば、年齢を入力する画面があるとします。
正常な値だけを前提にしているプログラムでは、次のような値なら正常に動作します。
25しかし、次のような想定外の値が入力されると、エラーになってしまうかもしれません。
abc
-10
999999
空文字一方、ロバスト性の高いプログラムでは、不正な値が入力されても、次のように適切に処理します。
年齢は0〜120の数値で入力してくださいつまり、「想定外の状況が発生したときに、どれだけ安定して対応できるか」がロバスト性です。
想定外の状況でも安定して対応できる場合は、「ロバスト性が高い」といいます。このような、入力チェックだけでなく、通信エラーや一時的な障害、実行環境の変化などに適切に対応できることも、ロバスト性の高さにつながります。
反対に、少し条件が変わっただけでエラーや停止につながる場合は、「ロバスト性が低い」といいます。
ロバスト性が高い場合と低い場合を比べると、次のようになります。
| ロバスト性が高い | ロバスト性が低い |
|---|---|
| 不正な入力でも適切にエラー処理できる | 不正な入力で処理が停止する |
| 通信が一時的に失敗しても再試行できる | 通信エラーですぐに処理が失敗する |
| 条件が多少変わっても安定して動作する | 少し条件が変わるだけで正常に動かなくなる |
つまりロバスト性は、「多少の問題が起きても簡単には崩れない強さ」と考えるとわかりやすいでしょう。
AIにおけるロバスト性
AIにおけるロバスト性とは、入力データや環境が多少変化しても、AIの性能や判定結果が大きく崩れない性質のことです。
例えば、画像を判定するAIを考えてみましょう。
同じ物体を撮影した画像でも、実際には次のような違いが発生することがあります。
- 写真が少し暗い
- 画像が多少ぼやけている
- ノイズが入っている
- 撮影する角度が少し違う
このような変化があっても正しく判定できるAIは、ロバスト性が高いAIといえます。
一方で、少し画像が暗くなっただけで誤判定が増えるようなAIは、ロバスト性が低いといえます。
そのためAIの分野では、ロバスト性を「外乱に強い」「変化に強い」「多少の条件変化にも動じない」といった意味で使うことがあります。
本記事のまとめ
この記事では『ロバスト性』について、以下の内容を説明しました。
- ロバスト性とは、想定外の入力・環境の変化・多少の異常や障害が発生しても、安定して動作できる性質
- ITやプログラミングでは、「予期しない状況に対する強さ」と考えるとわかりやすい
- ロバスト性が高いシステムは、異常や想定外の状況にも対応しやすい
- AIにおけるロバスト性は、入力データや環境が多少変化しても、AIの性能や判定結果が大きく崩れない性質のこと
お読みいただきありがとうございました。