Deep Learning搭載ソフトウェアの品質評価/テストを前進させる取り組み
2019/08/30
株式会社 日立製作所
システム&サービスビジネス統括本部 品質保証統括本部中川 純貴© Hitachi, Ltd. 2019. All rights reserved.

Contents
1. 背景
2. 帳票認識ソフトウェアの開発について
3. 課題
4. 施策
5. 施策の効果
6. まとめと今後の課題© Hitachi, Ltd. 2019. All rights reserved.

1

1. 背景© Hitachi, Ltd. 2019. All rights reserved.

2

1-1 AI技術の発展
AI (Artificial Intelligence：人工知能)
推論・認識・判断など，人間と同じ知的な処理能力をもつコンピュータシステム
製造業

故障検知

医療

人員配置

生産計画最適化

画像診断

交通

渋滞予測

癌の存在予測配車計画

自動運転

AI搭載ソフトウェアの活用分野が広がっている© Hitachi, Ltd. 2019. All rights reserved.

3

1-2 AI搭載ソフトウェアの品質保証
一方，AI搭載ソフトウェアの品質保証技術の進歩は大幅に遅れている
様々な悩みが存在
テストケースの質量基準は？

テスト技法は何を使う？

テスト項目はどうやって作成する？

品質指標は？
テスト担当者

品質確保の考え方やテスト技法が提案され始めているが実案件への適用例は少ない

信頼されるAI搭載ソフトウェアの実現に向けた品質保証は重要テーマ© Hitachi, Ltd. 2019. All rights reserved.

4

1-3 本日の報告内容

AI搭載
帳票認識ソフトウェアの開発を担当⇒品質確保に向けて取り組んだ施策を報告

AI搭載ソフトウェアの品質保証を前進させる取り組み© Hitachi, Ltd. 2019. All rights reserved.

5

2. 帳票認識ソフトウェアの開発について© Hitachi, Ltd. 2019. All rights reserved.

6

2-1 生活に根付く帳票

宅配伝票

宿泊者登録

公共機関手続き

銀行振り込みゴルフ来場票
イベント来場票

アンケート

顧客登録

我々の暮らしの中には様々な手書き帳票が存在© Hitachi, Ltd. 2019. All rights reserved.

7

2-2 帳票認識ソフトウェアについてビジネスの効率化/コスト削減には、手書き文字のデータ化が必須

銀行名: ０００銀行
支店名: 丸ノ内支店
口座番号: 12345
振込金額: 40,000円
手書き文字

データ化

人手による入力 ＋ Wチェックの目視確認

手書き帳票

・膨大な時間とコストを要する
・体や目に負担がかかる過酷業務

日立はOCR(Optical Character Recognition)技術の研究開発を重ね，手書き帳票のデータ化業務の効率化に貢献© Hitachi, Ltd. 2019. All rights reserved.

8

2-3 ディープラーニングを搭載した帳票認識ソフトウェア【OCRの課題】
従来のOCRはパターンマッチングを用いており，認識できない手書き文字が多い(くせ字，崩し字など)

ディープラーニング技術との組み合わせ⇒読み取りにくい手書き文字の認識精度向上

ディープラーニングとは⇒機械学習手法の一つで，コンピュータが大量のデータから自動的に特徴を抽出する手法© Hitachi, Ltd. 2019. All rights reserved.

92-4 本開発におけるQAの役割

開発部署

品質保証部署(QA部署)
開発製品

設計/実装/テスト実施

開発部署とは独立して第三者視点で製品検査を実施

ディープラーニングの導入により，OCRの課題を克服できているか
QA部署独自の検査データを作成して確認する© Hitachi, Ltd. 2019. All rights reserved.

10

3. 課題© Hitachi, Ltd. 2019. All rights reserved.

11

3-1 帳票認識ソフトウェアの品質確保に向けた課題© Hitachi, Ltd. 2019. All rights reserved.

12

3-1 帳票認識ソフトウェアの品質確保に向けた課題

課題

AIモデルのテストにおいて，従来のテスト設計が通用しない© Hitachi, Ltd. 2019. All rights reserved.

13

3-2 AI搭載システムの開発プロセスと品質観点

品
質観点(A)データの品質(B)AIモデルの品質(D)運用の品質(C) システムの品質[1] 『AIプロダクト品質保証ガイドライン』，AIプロダクト品質保証コンソーシアム(QA4AIコンソーシアム)編，2019.05版，2019年5月17日公開，http://www.qa4ai.jp/© Hitachi, Ltd. 2019. All rights reserved.

14

3-2 AI搭載システムの開発プロセスと品質観点学習データ

品質観点

検証データ

(A)データの品質(B)AIモデルの品質(D)運用の品質(C) システムの品質[1] 『AIプロダクト品質保証ガイドライン』，AIプロダクト品質保証コンソーシアム(QA4AIコンソーシアム)編，2019.05版，2019年5月17日公開，http://www.qa4ai.jp/© Hitachi, Ltd. 2019. All rights reserved.

15

3-3 AIモデルの特徴◆演繹的プログラム 【従来ソフトウェア】

設計書に基づいて開発者が作成

出力は一意に決まる

プログラム

入力データ

出力データ

© Hitachi, Ltd. 2019. All rights reserved.

16

3-3 AIモデルの特徴◆演繹的プログラム 【従来ソフトウェア】

設計書に基づいて開発者が作成

出力は一意に決まる

プログラム

入力データ

出力データ

◆帰納的プログラム 【AI (機械学習)】学習データ⇒モデル生成のために使用するデータ

学習データに依存してモデルが作成される⇒設計書を作成できない

AIアルゴリズム
明確な入出力の仕様がない

プログラム(AIモデル)
入力データ

出力データ
© Hitachi, Ltd. 2019. All rights reserved.

17

3-4 AIモデルの検査における問題点①◆従来ソフトウェアの検査“入力Aのとき，Bを出力する”

問題なし

出力

入力

“A”

プログラム

“B”
照らし合わせで動作の正否を判断可能

仕様書 など© Hitachi, Ltd. 2019. All rights reserved.

18

3-4 AIモデルの検査における問題点①◆従来ソフトウェアの検査“入力Aのとき，Bを出力する”

問題なし

出力

入力

“A”

プログラム

“B”
照らし合わせで動作の正否を判断可能

仕様書 など◆AIモデルの検査

“X”

？

出力

入力
プログラム
(AIモデル)“Y”
動作の正否を判断できない

AIモデルでは入力に対する絶対的な正解が不明© Hitachi, Ltd. 2019. All rights reserved.

19

3-5 AIモデルの検査における問題点②
従来のソフトウェアテストと同様の入出力を意識した検証(Verification)が不可能

妥当性確認(Validation)でAIモデルの品質を評価する

妥当性確認のための方法は？

AI案件は初担当であり，ノウハウがない妥当性確認のためのテスト設計を検討する必要がある© Hitachi, Ltd. 2019. All rights reserved.

20

4. 課題に対する施策© Hitachi, Ltd. 2019. All rights reserved.

21

4-1 施策課題

AIモデルのテストにおいて，従来のテスト設計が通用しない© Hitachi, Ltd. 2019. All rights reserved.

22

4-1 施策課題

AIモデルのテストにおいて，従来のテスト設計が通用しない

施策

メタモルフィック関係を利用したQA独自の検証データを作成し，テストをする© Hitachi, Ltd. 2019. All rights reserved.

23

4-2 テスト技法の検討
QA検査でAIモデルの妥当性確認をしたいブラックボックステスト×

DNNカバレッジテスト

制約条件なし形式手法

×

検証データの作成

メタモルフィックテスティング© Hitachi, Ltd. 2019. All rights reserved.

24

4-3 メタモルフィックテスティングについて①
メタモルフィックテスティング

メタモルフィック関係を利用して既存のテストケースから新たなテストケースを作成し，プログラムの妥当性を確認するテスト技法
メタモルフィック関係とは⇒「入力に対して一定の変化を与えると，出力の変化を理論上予測できる」という関係
メタモルフィック関係を利用して多数のテストケースを作成し，テストテストケース間の出力結果の比較を繰り返し，プログラムの妥当性を確認[1] 『AIプロダクト品質保証ガイドライン』，AIプロダクト品質保証コンソーシアム(QA4AIコンソーシアム)編，2019.05版 2019年5月17日公開, http://www.qa4ai.jp/[2] Tsong Yueh Chen，et al.，Metamorphic Testing: A Review of Challenges and Opportunities，ACM Computing Surveys, Vol.51 No.1, 2018
© Hitachi, Ltd. 2019. All rights reserved.

25

4-4 メタモルフィックテスティングについて②◆メタモルフィックテスティングの概念図
既存のテストケース
入力1

テスト対象
プログラム

出力1① 変換T②変換Tに応じた出力変化を策定

新たなテストケース
入力1’

テスト対象
プログラム

出力1’

出力1’
期待値

③ 照らし合わせ[3] S. Segura，et al.，A Survey on Metamorphic Testing，IEEE Transactions on Software
Engineering，Vol.42 No.9，2016[4] 石川 冬樹，『IoT・AI時代のテスティング・検証技術の最前線』，2019，http://research.nii.ac.jp/~fishikawa/work/1901-SQiP-AIquality.pdf

テスト正否判断(妥当性確認)© Hitachi, Ltd. 2019. All rights reserved.

26

4-5 メタモルフィックテスティングにおける代表的な変換
Additive

データ点の属性に加算(減算)Multiplicative

データ点の属性に乗算

Permutative

データ点の入れ替え

Inversive正解ラベルの反転

Inclusive

新しいデータ点の追加

Exclusive

既存データ点の削除

Compositional

データの合成Noise-based

出力に影響を及ぼさない入力に変化

Semantically Equivalent 元データと同様の意味をもつ入力に変化
Heuristic

元データに近い入力に変化

Statistical

元データと統計的に同じ性質を示す入力に変化

入力の変換に伴う出力の期待値を予測する[5] C. Murphy, et al.，Properties of Machine Learning Applications for Use in Metamorphic Testing，SEKE2008，2008[6] C. Murphy, Applications of Metamorphic Testing, 2011，http://www.cis.upenn.edu/~cdmurphy/pubs/MetamorphicTestingColumbia-17Nov2011.ppt© Hitachi, Ltd. 2019. All rights reserved.

27

4-6 メタモルフィックテスティングの適用例①<例1> 入力数列の最小値を求めるプログラム{24, 27, 22, 20, 29} ⇒ 20
数列の入れ替え⇒ Permutative

結果は同じになるはず⇒ テストで確認

変換T{29, 24, 27, 22, 20} ⇒ 20

<例2> ランキングを出力するプログラム
好きな動物ランキング

1 犬2 猫

好きな動物ランキング

変換T

3 うさぎ
4 ライオン
5 象

1 犬
2 うさぎ
3 ライオン「猫」データを削除⇒ Exclusive

4 象

結果はこのように変化するはず⇒ テストで確認© Hitachi, Ltd. 2019. All rights reserved.

28

4-7 メタモルフィックテスティングの適用例②<例3> 道路標識を識別するプログラム(AIモデル)

【入力値】
標識画像x

画像を10度回転⇒ Noise-based

プログラム(AIモデル)

【出力値】
識別結果y
進入禁止

識別結果は不変なはず⇒テストで確認

変換T

プログラム(AIモデル)【出力値】
識別結果y'進入禁止© Hitachi, Ltd. 2019. All rights reserved.

29

4-8 帳票認識ソフトウェアにおけるメタモルフィック関係① 入力帳票に対する変換を考えやすく，多様なテストケースを容易に作成できる
メタモルフィック関係に✓ 太文字にする
基づく変換例✓ 文字の色を変える✓ 文字の間隔を広くする✓ 帳票の角度を変える ・・・ etc

変換“日立”

日立
日立
日 立② 他のテストケースとの相対比較から認識の弱点を予測しやすい
北海道

北海道

北海道

照らし合わせ

北海”進”

下線付与⇒ Noise-based

下線の変化に弱いかも・・・

メタモルフィックテスティングによるAIモデルの妥当性確認が帳票認識ソフトウェアでも有効と予測© Hitachi, Ltd. 2019. All rights reserved.

30

4-9 テストケース作成時の課題と施策
テストケース作成時の課題

きりがない…

メタモルフィック関係は無数のパターンが考えられ，テストケースが膨大となる© Hitachi, Ltd. 2019. All rights reserved.

31

4-5 メタモルフィックテスティングにおける代表的な変換【再掲】Additive

データ点の属性に加算(減算)Multiplicative

データ点の属性に乗算

Permutative

データ点の入れ替え

Inversive

正解ラベルの反転

Inclusive

新しいデータ点の追加

Exclusive

既存データ点の削除

Compositional

データの合成Noise-based

出力に影響を及ぼさない入力に変化

Semantically Equivalent 元データと同様の意味をもつ入力に変化
Heuristic

元データに近い入力に変化

Statistical

元データと統計的に同じ性質を示す入力に変化

入力の変換に伴う出力の期待値を予測する[5] C. Murphy, et al.，Properties of Machine Learning Applications for Use in Metamorphic Testing，SEKE2008，2008[6] C. Murphy, Applications of Metamorphic Testing, 2011，http://www.cis.upenn.edu/~cdmurphy/pubs/MetamorphicTestingColumbia-17Nov2011.ppt© Hitachi, Ltd. 2019. All rights reserved.

324-9 テストケース作成時の課題と施策
きりがない…

テストケース作成時の課題

メタモルフィック関係は無数のパターンが考えられ，テストケースが膨大となる
現実的なテストケース数で最大限の効果を得るため，帳票に対する変換を工夫する必要がある
本検査の目的⇒従来のOCRの課題を克服できているか確認する
施策

従来のOCRが不得意としていた認識パターンをメタモルフィック関係に基づく変換に利用する© Hitachi, Ltd. 2019. All rights reserved.

33

4-10 OCRの不得意パターンの洗い出し
OCRが不得意とする認識パターンの洗い出し

社内の有識者にヒアリング

従来OCRの不得意パターン① 帳票の背景色が濃いケース② 項目値が複数行になるケース③ 文字と罫線が接触するケース④ 文字の形が似ているケース⑤ 手書き文字…etc

得た知見をメタモルフィック関係に基づく変換に利用© Hitachi, Ltd. 2019. All rights reserved.

34

4-11 検証データの作成例①
意図的に変換を施してテストケースを派生①背景色が濃いケース②項目値が複数行のケース
二子玉川

変換

背景色を濃くする⇒ Noise-based③文字と罫線が接触するケース

戸塚
変換

戸塚

複数行で記入する⇒ Noise-based

変換
二子玉川

④文字の形が似ているケース(株) ○○○工業

罫線と接触させる⇒ Noise-based

変換(株) ×××エンジン

片仮名の”エ”に変える⇒ Heuristic© Hitachi, Ltd. 2019. All rights reserved.

35

4-12 検証データの作成例②⑤手書き文字同じ字でも様々な書き方や字体があり，書き手によって字が変化する点をメタモルフィック関係として利用
<例>

２
変換

手書き文字の変化⇒ Noise-based⇒ Semantically
Equivalent

手書き文字の特徴は様々(くせ字，崩し字，流れ字など)
担当QA

QA部署メンバー

帳票記入依頼

多様な手書き文字
データを収集認識精度検証© Hitachi, Ltd. 2019. All rights reserved.

36

5. 施策の実施と効果© Hitachi, Ltd. 2019. All rights reserved.

37

5-1 QA検査の実施

メタモルフィックテスティングを用いたQA検査
正しく認識できなかったケースを抽出し，学習データの不足や内部ロジックの不良といった問題を検出する

施策の効果を確認© Hitachi, Ltd. 2019. All rights reserved.

38

5-2 施策の効果①
QA検証データの認識率を測定

認識結果に対する見解を開発部署にフィードバック

OCRで認識不可能だった文字が認識できています

崩し字の認識がまだ少し弱いです

特定の字種において認識率が低下しています

文字が罫線と重なるケースの認識結果が間違っています

メタモルフィックテスティングによる検査を通して，開発部署では気づかなかったAIモデルの弱点が明確になった© Hitachi, Ltd. 2019. All rights reserved.

39

5-3 施策の効果②
認識に失敗したテストケースの原因調査

・内部ロジックの不良・学習データの不足

OCRの苦手な認識パターンを克服できたケース，克服できていないケースの明確化

メタモルフィックテスティングが帳票認識ソフトウェアにおけるAIモデルの妥当性確認に有効© Hitachi, Ltd. 2019. All rights reserved.

40

6. まとめと今後の課題© Hitachi, Ltd. 2019. All rights reserved.

41

6-1 まとめ帳票認識ソフトウェアの品質確保に向けたQA施策✓ メタモルフィックテスティングによる検証データの作成
およびAIモデルの妥当性確認✓ OCRの苦手パターンをメタモルフィック関係に基づく変換に利用した効果的な検査

多くの分野での活用が予想される
帳票認識ソフトウェアの品質確保に繋がる知見

AIテスト技法を実案件に適用し，AI搭載ソフトウェアの品質評価/テストを前進させた© Hitachi, Ltd. 2019. All rights reserved.

42

6-2 現状の問題点と今後の課題
現状の問題点
テスト十分性を評価できていない
以下を確認できればテスト十分性を評価可能と考える
テストケースが量的/質的基準を満たしていること

今後の課題
下記事項の検討が必須① 品質を担保するテストケースの量的/質的基準② 基準を満たしているか否かの評価方法③ テスト十分性を向上させるための技法© Hitachi, Ltd. 2019. All rights reserved.

43

END
Deep Learning搭載ソフトウェアの品質評価/テストを前進させる取り組み

2019/08/30

株式会社 日立製作所
システム&サービスビジネス統括本部 品質保証統括本部中川 純貴© Hitachi, Ltd. 2019. All rights reserved.

44