テストオラクルが不足しがちな理由 ⚫ 仕様がない! (6.1.2) - 仕様の記述が、従来以上に不完全・非形式的になりがちで、期待値を決めるのが難しい。 - 「未知の洞察」を得ることが目的のシステムであれば、本質的に期待値は未知となる。 ⚫ 複雑! (5.1.5、6.1.10) - 典型的なニューラルネットワークでは、一つの判断を行うだけでもパラメタの数が1億超えだったり。 ⚫ 確率的・非決定的(*1)! (5.1.7、6.1.11) - AIベースシステムの多くは、確率的な実装(*2)をしているため、非決定的になる。 - 最適そのものではない「次善最適」を受け入れることが、出力の再現性の欠如をもたらす。 - 非決定性にともなう変動を考慮に入れた、「賢い期待値」(*3)が必要。 ⚫ 自己学習する! (5.1.3、6.1.4) - システムが新しいデータを学ぶことでふるまいが変化していく。 - 当初うまく通ったテストが、後のシステムでは通用しないかもしれない。 (*1) 確率的: probabilistic 非決定的: non-deterministic (*2) たとえば「最短ルート」を求める(巡回せぇるすまん問題)場合、厳密な解を見つけることが困難であるため、初期値として選ばれたルートから導かれる「準・最適な解」(sub-optimal)をヨシとする。 (*3) smarter expected result