AIソフトウェアのテスト
答のない答え合わせ [4つの手法]
AI開発の品質問題に応える!
佐藤直人・小川秀人・來間啓伸・明神智之[共著] B5変型判 264ページ 定価:3,080円(税込) ISBN:978-4-86594-291-0 2021年5月中旬刊行
電子書籍
人智を越えたAIによる推論が、果たして本当に正しいのか、どの程度信頼できるのか、誰も答を持っていません。正解が分からないのですから、従来のソフトウェアテストは一切成り立ちません。かといって、テストなし、品質保証なしのシステムを、現実世界で使えるはずがありません。 本書はその解決策として、メタモルフィックテスティング、ニューロンカバレッジ、最大安全半径、網羅検証の4つを紹介します。教師あり機械学習で開発したディープニューラルネットワークおよびアンサンブルツリー(XGBoostやランダムフォレスト)が解く分類問題(画像識別)と回帰問題(価格予測)の実例を交え、4つのテスト手法の原理と手順を解説。それぞれのチュートリアルを通じて実践スキルも身に付きます。
内容詳細

従来と異なるテストの仕組みを理解し
実践技術を身に付ける

・本書のテーマ
 本書の主題は、「正解を定義できないからこそAIを使う」ことから生じる矛盾を乗り越え、読者がAIシステムをテストできるようになることです。従来行っていた正解に基づくテストは無効ですので、AIソフトウェア向けの新しいテストの方法を説明していきます。

・想定読者
 本書の想定読者は、AIソフトウェアのテスト方法がわからず困っている技術者や、AIシステムに品質問題が発生しないか心配な品質保証担当者、あるいは自社の業務にAIを導入したいけれど、知識不足に不安を抱いている事業担当者などです。

本書が必要とする前提知識
・ソフトウェア開発の基礎知識だけでよく、AI/機械学習やソフトウェアテストの専門知識は不要です。
・4章から7章のチュートリアルは、Pythonを知らなくても体験できます。
・集合演算や論理式には簡単な記号だけを使っており、高校初級程度の数学の知識があれば、より深く内容を理解できるでしょう。
・数式やプログラムコードを読み飛ばしても、概要を理解できるよう構成しています。

・主な構成
 まず、AIの専門家でない方々に向けて、1章ではできるだけ平易に「AIとは何か?」の説明から始めます。続く2章では、AIシステムのテストの難しさと、考え方を説明します。3章からはいくつかのテスト技術について説明するとともに、テストを実行するためのソフトウェアの導入方法や実行例も含めながら詳しく解説することで、読者がAIソフトウェアのテストを実践できるようになることをめざします。
(本書まえがきより)

●「AI/Data Science実務選書」とは…
機械学習やAIの計算モデルは、システム開発のパラダイムを覆しつつあります。「AI/Data Science実務選書」は、AI開発とデータサイエンスのプラクティスを集め、実務家のスキル獲得/向上を力強く支援します。

■著者プロフィール

佐藤直人(さとう なおと)
日立製作所 主任研究員(2005年入社)。専門分野はソフトウェアテスト、形式手法など。博士(工学)。趣味は読書だが、最近はサブスクリプション型動画サービスに押されつつある。また、ルアーでのシーバスフィッシングに手を出すも、本書執筆時点ではまだ一匹も釣れていない。

小川秀人(おがわ ひでと)
AIプロダクト品質保証コンソーシアム(QA4AI)運営副委員長兼ロゴデザイン担当。機械学習品質マネジメント検討委員会(AIQM)委員。日立製作所 主管研究員(1996年入社)。専門分野はソフトウェア工学。博士(情報科学)。共著書に『AIビジネス戦略~効果的な知財戦略・新規事業の立て方・実用化への筋道~』2020年・情報機構刊がある。使いこなせない画材集めと、激安機材での星空写真撮影が趣味。

來間啓伸(くるま ひろのぶ)
日立製作所 シニア社員(1984年入社)。国立情報学研究所出向 特任教授(2007~2014年)。専門分野はソフトウェア工学、特に形式手法。博士(学術)。著書に『Bメソッドによる形式仕様記述』2007年・近代科学社刊、共著書に『Event-B リファインメント・モデリングに基づく形式手法』2015年・近代科学社刊がある。趣味は推理小説の乱読、山間の温泉めぐり、フライ・フィッシング(勉強中)。

明神智之(みょうじん ともゆき)
日立製作所 主任研究員(2006年入社)。専門分野は組込みシステム、ソフトウェア工学。趣味は旅先で出会った猫の写真撮影。


■リファレンスツールのダウンロードはこちら


■本書の主な内容
序章 A I システムとテスト
0.1 A I システムにテストが必要な理由
0.2 厄介な問題=課題と解決方法にまたがる矛盾
第1章 AIとは何か?
1.1 AIの種類
1.2 AIソフトウェア
1.3 教師あり学習の仕組み
1.4 AIの開発プロセス
1.5 AIモデルの具体例
第2章 AIソフトウェアのテストの難しさ
2.1 従来型ソフトウェアとの違い
2.2 従来のソフトウェアテストの考え方
2.3 AIソフトウェアはテストできない!?
2.4 AIソフトウェアのテストアプローチ
第3章 チュートリアルの準備
3.1 実行環境のセットアップ
3.2 テストツールのダウンロード
3.3 学習に使用するデータセット
3.4 AIモデルの学習
3.5 学習済みモデルの実行確認
第4章 メタモルフィックテスティング
4.1 メタモルフィックテスティングとは?
4.2 チュートリアル
第5章 ニューロンカバレッジテスティング
5.1 従来のカバレッジとニューロンカバレッジ
5.2 ニューロンカバレッジをテストに用いる
5.3 チュートリアル
第6章 最大安全半径
6.1 最大安全半径とは?
6.2 最大安全半径の計算方法
6.3 チュートリアル
第7章 網羅検証
7.1 網羅検証とは?
7.2 XGBoostモデルの網羅検証
7.3 検証性質を満たさない入力データ範囲の探索
7.4 DNNモデルの網羅検証
7.補足 各種ファイルの記法