≪ パネル ディスカッション ≫
機械学習システムにおけるソフトウェア品質保証の課題SQiPシンポジウム2018 企画セッション
丸山 宏 氏株式会社Preferred NetworksPFNフェロー
小川 秀人 氏株式会社日立製作所研究開発グループシステムイノベーションセンタ主管研究員
藪 記行 氏富士通株式会社共通ソフトウェア開発技術本部ソフトウェア検証統括部第二ソフトウェア品質保証部
- モデレータ -
野中 誠東洋大学経営学部 教授
- パネリスト -
パネル概要ここ数年、機械学習の技術を取り入れたシステムやサービスが急速に増えています。中でも統計的機械学習は「AならばB」といったモデルを示さなくても、入力データから出力を得る仕組みを実現することができるため、モデルがブラックボックスになります。このことは「正しいモデルに基づいたシステムである」ことを評価する品質保証活動を難しくし、これまでの品質保証の考え方、技術、スキル、方法論、組織体制などを見直す必要が生じます。このパネルディスカッションでは、機械学習を取り入れたシステムの品質保証やその支援に携わっている、富士通株式会社 藪様、株式会社日立製作所 小川様と、企画セッション講演者のPFN 丸山様をお迎えして、次のことについて議論します。・機械学習はこれまでのソフトウェア品質保証をどのように変えたのか・どのような難しさがあるのか・その難しさにどのように対処しているのか・今後必要な取り組みは何か、など会場の皆様のご意見やご質問も取り入れながら、AI時代におけるソフトウェア品質保証のあり方を議論したいと考えています。
2
≪ご注意・ご案内≫
本日の議論は、パネリストの方々の個人としての経験・見識に基づいております。ご所属の会社・部署を代表した意見・見解ではございません。
本日お見せした資料のうち公開可能なものは、後日、シンポジウムwebサイトで公開いたします。
⾃⼰紹介u ⽒名
やぶ のりゆき藪 記⾏
u 経歴2000:⼊社2000〜2009:基幹系MWの開発を担当2009〜2016:基幹系MWの品証を担当2016〜現在:AI商品の品証を担当、
開発現場で品質コンサル/アジャイルコーチングu 趣味⾃転⾞、スキー
u どんな⼈間?意識⾼くない系QAエンジニア効率厨:ツールを作って⼿作業削減、プロセス改善u 今はRedmineやJenkinsなどOSSから品質データを⾃動で取得して⼀元的に⾒える化
丸山 宏 氏株式会社Preferred NetworksPFNフェロー
小川 秀人 氏株式会社日立製作所研究開発グループシステムイノベーションセンタ主管研究員
藪 記行 氏富士通株式会社共通ソフトウェア開発技術本部ソフトウェア検証統括部第二ソフトウェア品質保証部
特定の製品・サービスの品質保証に品質保証部として携わった立場として
さまざまな製品・サービスの開発支援に企業内研究者として携わった立場として
機械学習工学研究の第一人者の立場として
2020年には、新しく作られるソフトウェアの50%以上が統計的機械学習応用システムとなる
丸山 宏 氏
ソフトウェア品質シンポジウム2018講演「機械学習工学とソフトウェア品質」より(2018.9.14)
人工知能に関わる各国の取組み状況(2017.3時点)
23.0
15.1
26.0
40.8
23.3
24.4
31.8
29.6
42.6
38.3
30.5
15.4
11.1
22.2
11.6
14.1
0% 20% 40% 60% 80% 100%
日本(n=296)
英国(n=311)
ドイツ(n=311)
米国(n=311)
取り組んでいる 取組みを検討・予定している 取り組む予定はない わからない
出典:独立行政法人情報処理推進機構 AI白書編集委員会(編)(2017)『AI白書2017』KADOKAWA.上記をを元に筆者作成
日本では46.6%の企業が「取り組んでいる/検討・予定している」と回答10
6.412.814.6
17.418.3
16.018.3
16.420.121.9
18.321.9
18.322.8
15.119.2
16.421.0
10.011.011.9
21.516.0
21.516.0
22.821.923.3
21.926.9
24.229.730.6
33.832.0
43.8
0.0 10.0 20.0 30.0 40.0 50.0その他
建設(検査効率化)建設(施行の効率化)
建設(測量、設計・施工計画の最適化)金融(融資審査)金融(資産管理)金融(投資支援)
学習(採点の自動化)学習(個人の学習状況に応じた学習コンテン…エネルギー(運転計画・設備計画の最適化)
エネルギー(需要予測)防災・防犯(映像監視・犯罪リスク予測)
防災・防犯(災害解析・予測)防災・防犯(サイバーセキュリティ対応)
健康・医療・介護(疾病予兆検知)健康・医療・介護(ゲノム解析)健康・医療・介護(新薬開発)
健康・医療・介護(医療診断支援)農業(栽培管理の効率化)
農業(熟練農家の匠の技・ノウハウの可視…農業(農作業の自動化、無人走行農機の導入…
インフラ(設備運用の効率化)インフラ(故障検知・異常検知)モビリティ(移動経路の最適化)
モビリティ(自動走行・安全運転支援)ものづくり(生産効率化)
ものづくり(設計・開発効率化)ものづくり(製品検査・検品)
ものづくり(工場・プラントシステム等の故…経営判断支援
顧客サポート(コールセンター・チャット…なりすまし・不正取引検知
セキュリティ・認証調達・物流(調達最適化、物流効率化等)
採用・人事・評価販売・マーケティング(来店者分析、商品レ…
10.46.0
4.511.9
3.01.5
6.01.53.0
9.09.0
13.44.5
3.07.5
0.04.5
10.46.06.0
4.513.4
22.410.4
19.43.0
7.520.9
19.44.5
29.97.5
13.413.4
4.537.3
0.0 10.0 20.0 30.0 40.0 50.0その他
建設(検査効率化)建設(施行の効率化)
建設(測量、設計・施工計画の最適化)金融(融資審査)金融(資産管理)金融(投資支援)
学習(採点の自動化)学習(個人の学習状況に応じた学習コンテン…エネルギー(運転計画・設備計画の最適化)
エネルギー(需要予測)防災・防犯(映像監視・犯罪リスク予測)
防災・防犯(災害解析・予測)防災・防犯(サイバーセキュリティ対応)
健康・医療・介護(疾病予兆検知)健康・医療・介護(ゲノム解析)健康・医療・介護(新薬開発)
健康・医療・介護(医療診断支援)農業(栽培管理の効率化)
農業(熟練農家の匠の技・ノウハウの可視…農業(農作業の自動化、無人走行農機の導入…
インフラ(設備運用の効率化)インフラ(故障検知・異常検知)モビリティ(移動経路の最適化)
モビリティ(自動走行・安全運転支援)ものづくり(生産効率化)
ものづくり(設計・開発効率化)ものづくり(製品検査・検品)
ものづくり(工場・プラントシステム等の故…経営判断支援
顧客サポート(コールセンター・チャット…なりすまし・不正取引検知
セキュリティ・認証調達・物流(調達最適化、物流効率化等)
採用・人事・評価販売・マーケティング(来店者分析、商品レ…
出典:独立行政法人情報処理推進機構 AI白書編集委員会(編)(2017)『AI白書2017』KADOKAWA.上記を元に筆者作成
人工知能の応用先
11(日本, n=67) (米国, n=219)
6.412.814.6
17.418.3
16.018.3
16.420.121.9
18.321.9
18.322.8
15.119.2
16.421.0
10.011.011.9
21.516.0
21.516.0
22.821.923.3
21.926.9
24.229.730.6
33.832.0
43.8
0.0 10.0 20.0 30.0 40.0 50.0その他
建設(検査効率化)建設(施行の効率化)
建設(測量、設計・施工計画の最適化)金融(融資審査)金融(資産管理)金融(投資支援)
学習(採点の自動化)学習(個人の学習状況に応じた学習コンテン…エネルギー(運転計画・設備計画の最適化)
エネルギー(需要予測)防災・防犯(映像監視・犯罪リスク予測)
防災・防犯(災害解析・予測)防災・防犯(サイバーセキュリティ対応)
健康・医療・介護(疾病予兆検知)健康・医療・介護(ゲノム解析)健康・医療・介護(新薬開発)
健康・医療・介護(医療診断支援)農業(栽培管理の効率化)
農業(熟練農家の匠の技・ノウハウの可視…農業(農作業の自動化、無人走行農機の導入…
インフラ(設備運用の効率化)インフラ(故障検知・異常検知)モビリティ(移動経路の最適化)
モビリティ(自動走行・安全運転支援)ものづくり(生産効率化)
ものづくり(設計・開発効率化)ものづくり(製品検査・検品)
ものづくり(工場・プラントシステム等の故…経営判断支援
顧客サポート(コールセンター・チャット…なりすまし・不正取引検知
セキュリティ・認証調達・物流(調達最適化、物流効率化等)
採用・人事・評価販売・マーケティング(来店者分析、商品レ…
10.46.0
4.511.9
3.01.5
6.01.53.0
9.09.0
13.44.5
3.07.5
0.04.5
10.46.06.0
4.513.4
22.410.4
19.43.0
7.520.9
19.44.5
29.97.5
13.413.4
4.537.3
0.0 10.0 20.0 30.0 40.0 50.0その他
建設(検査効率化)建設(施行の効率化)
建設(測量、設計・施工計画の最適化)金融(融資審査)金融(資産管理)金融(投資支援)
学習(採点の自動化)学習(個人の学習状況に応じた学習コンテン…エネルギー(運転計画・設備計画の最適化)
エネルギー(需要予測)防災・防犯(映像監視・犯罪リスク予測)
防災・防犯(災害解析・予測)防災・防犯(サイバーセキュリティ対応)
健康・医療・介護(疾病予兆検知)健康・医療・介護(ゲノム解析)健康・医療・介護(新薬開発)
健康・医療・介護(医療診断支援)農業(栽培管理の効率化)
農業(熟練農家の匠の技・ノウハウの可視…農業(農作業の自動化、無人走行農機の導入…
インフラ(設備運用の効率化)インフラ(故障検知・異常検知)モビリティ(移動経路の最適化)
モビリティ(自動走行・安全運転支援)ものづくり(生産効率化)
ものづくり(設計・開発効率化)ものづくり(製品検査・検品)
ものづくり(工場・プラントシステム等の故…経営判断支援
顧客サポート(コールセンター・チャット…なりすまし・不正取引検知
セキュリティ・認証調達・物流(調達最適化、物流効率化等)
採用・人事・評価販売・マーケティング(来店者分析、商品レ… 人工知能の応用先
12(日本, n=67) (米国, n=219)
日本においては、人工知能の応用先として次が多い・販売・マーケティング
来店者分析、商品レコメンド、需要予測等 37.3%・顧客サポート
コールセンター・チャットボット等 29.9%・インフラ
故障検知 22.4%・ものづくり
製品検査・検品 20.9%工場・プラントシステム等の故障予兆検知 19.4%
・モビリティ自動走行・安全運転支援 19.4%
出典:独立行政法人情報処理推進機構 AI白書編集委員会(編)(2017)『AI白書2017』KADOKAWA.上記を元に筆者作成
Q1. どのような機械学習システムの品質保証に携わりましたか?
•藪• 対象:Zinraiプラットフォームサービス - API FAQ検索
http://www.fujitsu.com/jp/solutions/business-technology/ai/ai-zinrai/services/platform/faq-search/index.html
•小川(※以下は、機械学習を使った製品・サービスの例)• 対象:最適配置、製造物検査、生産最適化、文字認識など• 活動
• 機械学習を含むシステムの検証技術、品質評価技術の研究開発• 機械学習を含むシステムの開発に関するコンサルテーション(?)
• 機械学習を含むシステムの品質保証に関する産学を超えた議論
14
意思決定と実行の自動化レベル (Feldt, et. al, 2018)
出典:Feldt, R., Neto, F. G., & Torkar, R. (2018). Ways of Applying Artificial Intelligence in Software Engineering. arXiv preprint arXiv:1802.02033.上記を元に筆者翻訳
Lv 内容10 コンピュータがそうすべきと判断したときに意思決定を行い、実行する。
そして、人間に伝えるのが妥当であるとコンピュータが判断したときのみ人間に知らせる。
9 コンピュータが意思決定を行い、実行し、人間に伝えるのが妥当であるとコンピュータが判断したときのみ人間に知らせる。
8 コンピュータが意思決定を行い、実行し、人間から問い合わせがあった場合のみ人間に知らせる。7 コンピュータが意思決定を行い、実行するが、その事実について人間に知らせる必要がある。6 コンピュータが意思決定を行うが、その実行前に人間が拒否できる。5 コンピュータが厳選された複数の選択肢を提供し、お薦めを一つ示し、それを人間が承認すれば実行される。4 コンピュータが厳選された複数の選択肢を提供し、お薦めを一つ示すが、その実行には人間の最終判断が
必要である。
3 コンピュータが厳選された複数の選択肢を提供するが、実行するものは人間が選ぶ。2 コンピュータが複数の選択肢を提供するが、人間はそれらを無視して意思決定することもある。1 人間が選択肢を考え、どれを選ぶかを意思決定し、選んだものを実行する。
15
Q2. 機械学習を使わない/使ったシステムを比べたときに、品質保証においてどのようなことが異なりましたか?(藪)
•基本的には、従来と同じ方法で品質保証を実施• 成果物やプロセスの監査
• AI処理部分には、開発元にて学習データ(教師データ/評価データ)を使った精度評価(※)を実施
※MRR(Mean Reciprocal Rank)と100位以内に正解が入った割合•精度に対する評価は、品質保証部では実施していない•機能適合性(機能正確性)の面では評価可能だが、実際にお客様の課題が解決できるのかを評価したり、有効性や満足性(実用性)を評価したりするのは難しい
17
Q3. 機械学習システムの品質保証では、どのようなことが難しかったですか? 難しそうですか?(藪)
• AIによる効果の評価が難しい• FAQ検索の場合、検索結果がランキング形式で表示される。正解が1位と決まっているものは正しいことを確認できるが、2位以降が正しい順に並んでいるのかの確認は非常に難しい。目視確認で明らかにおかしいものは検出できるが、すべてを目視で確認することもできない• 品証独自のデータで検証して評価結果が良かったとしても、お客様のデータでも評価結果が良くなることを保証できない
19
© Hitachi, Ltd. 2018. All rights reserved.
ソフトウェア品質シンポジウム 2018
株式会社日立製作所 研究開発グループシステムイノベーションセンタ 主管研究員ソフトウェアモダナイゼーションラボ長
2018/9/14
小川秀人
機械学習システムにおけるソフトウェア品質保証の課題パネルディスカッション
© Hitachi, Ltd. 2018. All rights reserved.
自己紹介: 小川秀人
1
ソフトウェア工学の企業内研究者 学生時代は…
『ペンギンは鳥だが空を飛べない』
ソフトウェアテスティング形式手法開発プロセス
ソフトウェアプロダクトライン など
弊社グループ内への技術開発と適用が主な仕事
いわゆる「組込みソフト」と呼ばれるものたち
『鳥は飛ぶ』
© Hitachi, Ltd. 2018. All rights reserved.
例:最適配置問題
3
どこに何台を配備しておけば最適に業務を遂行できるか
※実際のデータではありません
全体最適平均到着時間を最短に
個別制約どこでも30分以内に
確率的な正しさと個別結果の正しさとの両面の品質が大切
© Hitachi, Ltd. 2018. All rights reserved.
機械学習システムの品質に関する留意事項
4
・人の支援・人の代替・人を超越
・閉じた環境・開いた環境
・プロダクトQA
・プロセスQA
・機械学習の精度・システムの品質・サービスの品質
機械学習
帰納=
© Hitachi, Ltd. 2018. All rights reserved.
機械学習の品質保証に関わる活動
5
機械学習を含むシステムの検証技術、品質評価技術
の研究開発
機械学習を含むシステムの品質保証に関する産学を超えた議論
機械学習を含むシステムの開発に関する
コンサルテーション(?)
機械学習システムが社会に受け入れられて安全・安心・快適な世界を
創造するために
© Hitachi, Ltd. 2018. All rights reserved.
機械学習を含むシステムのライフサイクル
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴収集
Shipment/Service-in
© Hitachi, Ltd. 2018. All rights reserved.
ポイント/よくある疑問/課題
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴収集
Shipment/Service-in
ポイント・顧客が得られるビジネス的価値を
KPIとして合意しておこう・誤りを前提とした顧客との作業分担をしよう
・サービスごとの特性を考慮しよう
疑問/課題・ビジネスKPIを決められる?計測できる?
・何を約束して何を約束しない?
© Hitachi, Ltd. 2018. All rights reserved.
ポイント/よくある疑問/課題
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴収集
Shipment/Service-in
ポイント・アジャイル(反復的)な開発になる
・中身を見ない成果物の有無確認に意味はない
疑問/課題・プロセスで品質を評価/保証できる?(MLに限らずアジャイル開発の課題も混在?)
© Hitachi, Ltd. 2018. All rights reserved.
ポイント/よくある疑問/課題
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴収集
Shipment/Service-in
ポイント・学習結果でプロダクト品質が測れる
疑問/課題・従来のテストに当たるものと思ってよい?・交差検証や混同行列などの品質保証的意味
・機械学習特有のテスト技術とは?・評価結果がよくないとき、どう修正する?
© Hitachi, Ltd. 2018. All rights reserved.
ポイント/よくある疑問/課題
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴収集
Shipment/Service-in
ポイント・ 「よい」データを集めて顧客と合意しよう
疑問/課題・運用環境をカバーする充分なデータであることをどうやって保証するの?
© Hitachi, Ltd. 2018. All rights reserved.
ポイント/よくある疑問/課題
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴収集
Shipment/Service-inポイント・システム/運用でのフェールセーフなど、システム全体での品質確保を考えましょう。
疑問/課題・MLとシステムでどう責任分担しよう?・後付けで例外処理ルールが増えていく…
© Hitachi, Ltd. 2018. All rights reserved.
ポイント/よくある疑問/課題
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴
収集
Shipment/Service-in
ポイント・顧客のユースケースを想定した評価
・機械学習の知識は必須・全体性能と、個別正誤の両面に留意
疑問/課題・第三者検証として何をすべき?・品証独自のテストデータを持つ?
ポイント・機械学習以外の運用も含めた合意
(運用形態により守るべきものが異なる)
疑問/課題
・何をエビデンスに品質を説明するのか?
・ 「肌感覚」と違う結果をどう説明する?
© Hitachi, Ltd. 2018. All rights reserved.
ポイント/よくある疑問/課題
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴収集
Shipment/Service-in
ポイント・実行履歴を記録しておくと後々いいですね
疑問/課題・個々の事象にどこまで責任を持つの?
(全体最適と個別事象の関係)
・勝手に成長するのも保証しないといけないの?
© Hitachi, Ltd. 2018. All rights reserved.
ポイント/よくある疑問/課題
Assessment Pilot / PoC / Development
訓練データセット作成
MLアーキテクチャ設計
学習結果評価 学習
機械学習フレームワーク
出荷前品質評価
顧客合意
Operation
運用時データ
モデル
モデル実行時検証
実行オンライン学習
Maintenance
データ再構築
ビジネスKPI
システム開発
履歴収集
Shipment/Service-in
ポイント・システムを成長させていきましょう
疑問/課題・学習データを少し変えただけで
今までと全然違う結果になるんですが!?