SlideShare a Scribd company logo
機械学習とデータ駆動システム
&ソフトウェアエンジニアリング
鷲崎 弘宜
早稲田大学グローバルソフトウェアエンジニアリング研究所 所長
国立情報学研究所 客員教授
システム情報 取締役(監査等委員)
エクスモーション 社外取締役
Twitter: @Hiro_Washi washizaki@waseda.jp
http://www.washi.cs.waseda.ac.jp/
組込みシステムシンポジウム ESS2018 招待講演 2018年8月30日
目次
• 機械学習によるパラダイム転換と体系
• 機械学習ベースエンジニアリング事例
• 機械学習の適用における品質の確保
• まとめ+ご紹介
2
Volvoの場合(発話・地図データを除く)[Bosch18]
3
Jan Bosch, Why Digitalization Will Kill Your (Software) Company Too, ICSE 2018 Industry Forum
1.5 4.9 10.9 18.6 20.6
117.5 97
917
0
100
200
300
400
500
600
700
800
900
1000
S80/1998 XC90/2002 S80/2006 V70/2007 XC60/2008 V60/2011 V40/2012 SPA/2014
MB
ダウンロード可能なソフトウェアサイズ
機械学習適用の背景
• 要求や環境の変化の速さ、多様さ
• 境界や問題のオープン化
• 複雑さ、不確実性の増大
• ビッグデータ
• GPU、オープンFW
• アジャイル、DevOps、UX
4
機械学習
データ
プロセス 実行プロダクト
Cynefin フレームワーク [Forsyth14][中谷16]
解法
既知
Known
解法
未知
Unknown
問題複雑 Complex
問題単純 Simple
Emergent
突発・創発
Best practice
ベストプラクティス
Good practice
グッドプラクティス
New
新規(の研究)
機械学習のよくある適用
参考: 中谷多哉子, “要求工学”, 日科技連SQiP研究会2016年1月
参考: Brad Forsyth, Which Parts of Your Business are Complex and Which are just Complicated? 2014
https://www.linkedin.com/pulse/20140627164952-26162172-which-parts-of-your-business-are-complex-and-which-are-just-complicated
本来期待される場所
機械学習によるパラダイム転換
6
目標 学習データ
学習済み
モデル
活動 /
システム(動作)
目標 モデル
活動 /
システム(動作)
データ
従来のエンジニアリング: 演繹的(モデルが最初に与えられる)
機械学習ベース: 帰納的(モデル・アルゴリズムがデータで決まる)
プロセス 実行プロダクト
機械学習ベース・データ駆動エンジニアリング 機械学習システム
参考: 丸山 宏, 機械学習工学に向けて, JST機械学習型システム開発へのパラダイム転換, 2017
AI in SE Application Levels (AI-SEAL)[Feldt18]
7
Robert Feldt, et al., Ways of Applying Artificial Intelligence in Software Engineering, CoRR abs/1802.02033 (2018)
7. 自動意思
決定・実装・
通知
10. 必要と判断し
初めて自動意思
決定・実装・通知
プロセス 自動化
レベル
適用対象
プロダクト
実行
低リスク
高リスク
中リスク
1. 人手による
代替候補群の
検討
4. 代替候補
群と一つの案
を自動推薦
アルゴリズムの分類(部族)[Domingos15]
• 記号 Symbolist: 逆推論など
• 結合 Connectionist: 逆伝搬など
• 進化 Evolutionist: 遺伝的プログラミングなど
• ベイズ Bayesians: 確率的推論など
• 類推 Analogizer: パターン認識など
8
P. Domingos, “The master algorithm: How the quest for the ultimate learning machine will remake our world”, Basic Books, 2015
RAISE’15-16研究動向[Feldt18]
9
1. 人手による
代替候補群の
検討
4. 代替候補
群と一つの案
を自動推薦
7. 自動意思
決定・実行・
通知
10. 必要と判断し
初めて自動意思
決定・実行・通知
プロセス 自動化
レベル
適用対象
プロダクト
実行時
類推
記号
進化
Robert Feldt, et al., Ways of Applying Artificial Intelligence in Software Engineering, CoRR abs/1802.02033 (2018)
RAISE: International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering
目次
• 機械学習によるパラダイム転換と体系
• 機械学習ベースエンジニアリング事例
• 機械学習の適用における品質の確保
• まとめ+ご紹介
10
機械学習ベース・エンジニアリング
11
目標 学習データ
学習済み
モデル
活動(戦略)
要求
定義
設計 実装
テスト
・品質
運用
体制
企画
2.データ駆動
ペルソナ
3. デザイン
パターン検出
4. 品質測定
評価
1. チーム構成
画像: ぱくたそ
1. 体制・企画: チーム構成 [TETC’16]
• 難しさ: 多様なメンバ・活動の存在、最適構成不明
• 取組み: 個人特性(Five Factor Stress)と効果のデータ
化、5年蓄積、決定木によるチーム構成学習
12Y. Sunaga, H. Washizaki, et al., “Relation between Combinations of Personal Characteristic Types and Educational Effectiveness for a
Controlled Project-based Learning Course,” IEEE Transactions on Emerging Topics in Computing 5(1) 2016
T L
M A
個
人
学
習
効
果
チーム構成(つづき)[TETC’16]
• 個人特性の「組み合わせ」「偏り」が学習にもたらす影響特定
• 国内外への展開: ニューヨーク州立大学オスウェゴほか
13
M有,T有,
L無
その他
チーム
学習
効果
Y. Sunaga, H. Washizaki, et al., “Relation between Combinations of Personal Characteristic Types and Educational Effectiveness for a
Controlled Project-based Learning Course,” IEEE Transactions on Emerging Topics in Computing 5(1) 2016
2. 要求: データ駆動ペルソナ [ICSE’18]
14Y. Watanabe, H. Washizaki, et al., Retrospective based on Data-Driven Persona Significance in B-to-B Software Development,
ICSE 2018 NIER
QAQAQA
自然言語処理
+機械学習
アンケート回答
ユーザの
行動ログ
インタビュー
(定性調査)
専門家
データ駆動ペルソナ
(従来の)ペルソナ
田中 25歳 男
会社員
システム
に習熟
佐藤 25歳 女
会社員
システム
不慣れ
• 難しさ: 様々かつ変化する状況下での正しいユーザ像と要求把握
• 取組み: 自然言語処理+クラスタリングによるユーザ像の導出
ユーザ側と開発側の突き合せによるデータに基づく振り返り
画像: ぱくたそ
データ駆動ペルソナ(つづき)[ICSE’18]
15Y. Watanabe, H. Washizaki, et al., Retrospective based on Data-Driven Persona Significance in B-to-B Software Development,
ACM/IEEE 40th International Conference on Software Engineering 2018 NIER
売買 営業:
物件参照
顧客開拓
行動ログ
ペルソナ例
ターゲット
となったユーザ
①
Pa
Pb
Pc
ペルソナ
リリース 1 2 3
ペルソナの
重視度
③
サービス死角
・重視されない
ペルソナの特定
s
単なるバグ修正
・全体的に重視度低
・特定の目的ユーザが
いない
→ リリース目的の特定
• 不動産業務の支援システムのリリース振り返り
トピックモデル+
クラスタリング
tx ty tz
1 2
F1
F3F3
F3
リリース
トピックモデル
②
画像: ぱくたそ
3. 設計: デザインパターン検出[JSEA’14]
• 難しさ: デザインパター
ンの様々な適用、規模
• 取組み: メトリクス+ニ
ューラルネットワーク
で学習と自動検出
16S. Uchiyama, A. Kubo, H. Washizaki, Y. Fukazawa, “Detecting Design Patterns in Object-Oriented Program Source Code
by using Metrics and Machine Learning”, Journal of Software Engineering and Applications, 7(12) 2014
デザインパターン検出(つづき)[JSEA’14]
17S. Uchiyama, A. Kubo, H. Washizaki, Y. Fukazawa, “Detecting Design Patterns in Object-Oriented Program Source Code
by using Metrics and Machine Learning”, Journal of Software Engineering and Applications, 7(12) 2014
4. テスト・品質: 品質評価改善[QRS’18]
• 難しさ: 多様なコンテキストに応じた測定や基準
18
コンポーネント
ECROBOT API
走行系
判定処理系
3重多数決
+ 走行ステータス更新() : 走行ステータス
+ 開始判定() : boolean
+ 総合判定() : void
戦略
+ 目標切替ポイント取得() : 切替ポイント
切替ポイント
- 灰色検知フラグ
- 座標
- 推定時間
審判
+ 難所判定(切替ポイント) : boolean
+ フェイルセーフ判定(走行ステータス) : boolean
時間判定
- 現在時間
+ 時間判定(推定時間) : void
- 時間更新() : void
位置判定
- 現在位置
+ ロケーション判定(座標) : void
- 現在位置更新() : void
色判定
- 現在色
+ 灰色検知(灰色検知フラグ) : void
- 現在色更新() : void
Main
+ 初期化() : void
+ 走行開始() : void
走行ステータス
- IN/OUTフラグ
+ getter() : void
+ setter() : void
<<enum>>
走行種別
- キャリブレーション
- 走行
- 停止
<<enum>>
難所種別
- ライントレース
- 階段
- シーソー通過
- ガレージイン
戦術
- 走行
+ 走行クラス取得(走行ステータス) : 走行
走行
+ 走る() : void
ライントレース走行
階段走行
シーソー通過走行
ガレージイン走行
ロケーション
+ 現在座標取得() : void
まいまい式
- 補正ライトセンサ値
- 定周期ライトON() : void
- 定周期ライトOFF() : void
+ 補正ライトセンサ値取得() : void
PID制御
- PID算出() : void
+ 進行方向取得() : 進行方向
インテリジェントモーター
- 補正係数
+ モーター出力補正() : void
+ モーター出力設定(右出力, 左出力) : void
タッチセンサ
+ センサ値取得() : boolean
タイマー
+ 時間取得() : 時間
ジャイロセンサ
+ センサ値取得() : ジャイロセンサ値
ライトセンサ
+ センサ値取得() : ライトセンサ値
+ ランプ設定(ON/OFF) : void
モーター
+ モーター出力設定(出力) : void
+ 回転数取得() : 回転数
1
走行クラスを
取得する
1
切替ポイントを
取得する
*
1
3
難所を判定する
1
走行ステータスを取得する
1
走る
4
生成する
1
センサ値を
取得する
1
1
時間を取得
する
1
1
現在座標を
取得する
1
1
センサ値を
取得する
1
1
ライトセンサ値を
取得する
1
1
センサ値を
取得する
1
1
モーター値を設定する
2
1
モーター値を
設定する
1
1
進行方向を
取得する
1
1
ライトセンサ値を
取得する
1
1
回転数を取得する
2
鷲崎, 阿佐美, 田邉, ETロボコンの事例で学ぶモデル活用の効能: 第2回参加チームの事例,日経エレクトロニクス, 2011年9月5日
N. Tsuda, H. Washizaki, et al., “Machine Learning to Evaluate Evolvability Defects: Code Metrics Thresholds for a Given Context,”
The 18th IEEE International Conference on Software Quality, Reliability & Security (QRS 2018)
ファイル名 関数名
サイクロマ
ティック複雑度
関数の
物理行数
Magi.cpp decideSynthetic() 12 55
Tactics.cpp getDriver(DriveStatus::eDifficultKind) 12 51
StepDriver.cpp drive(bool) 11 119
SeesawDriver.cpp drive(bool) 8 100
GarageDriver.cpp driveIn(void) 8 73
Main.cpp TASK(TaskDrive) 7 91
Magi.cpp getDriveStatus() 7 37
PositionDecision.cpp updateLocation() 6 81
Tactics.cpp ~Tactics(void) 5 15
ファイル名 関数名
サイクロマ
ティック複雑度
関数の
物理行数
Magi.cpp decideSynthetic() 12 55
Tactics.cpp getDriver(DriveStatus::eDifficultKind) 12 51
StepDriver.cpp drive(bool) 11 119
SeesawDriver.cpp drive(bool) 8 100
GarageDriver.cpp driveIn(void) 8 73
Main.cpp TASK(TaskDrive) 7 91
Magi.cpp getDriveStatus() 7 37
PositionDecision.cpp updateLocation() 6 81
Tactics.cpp ~Tactics(void) 5 15
品質評価改善(つづき)[QRS’18]
• 取組み: 品質データ(レビュー等)、決定木でメトリクスや基準学習
19N. Tsuda, H. Washizaki, et al., “Machine Learning to Evaluate Evolvability Defects: Code Metrics Thresholds for a Given
Context,” The 18th IEEE International Conference on Software Quality, Reliability & Security (QRS 2018)
人手レビュー
品質
測定
機械学習
改善
M. 呼び出し先
モジュール数
G. 変更されやすい
箇所を特定できている
Q. モジュールの依存
関係はどの程度か?
M. 呼び出し元
モジュール数
A. あちこちと依存するモ
ジュールは変更されやすい
測定目的
仮定
質問
測定
データ
10 25
300
150
M. 関数の数
M.実行行数
OK
NG
71
M. 関数の数
M.実行行数
OK
NG
取組みの整理
20
1. 人手による
代替候補群の
検討
4. 代替候補
群と一つの案
を自動推薦
7. 自動意思
決定・実行・
通知
10. 必要と判断し
初めて自動意思
決定・実行・通知
プロセス 自動化
レベル
適用対象
プロダクト
実行
類推
デザインパ
ターン検出
チーム構成
データ駆動
ペルソナ
品質評価改善
結合
留意してきた(したい)こと
• 前提条件
– データ量
– 「正解」を用意することの難し
さ(New, Emergent)
• 学習データ
– 各特徴量が有益 [Breck17]
– 入力データをチェック
• モデル
– 説明性
– シンプル(複雑にするならばシ
ンプルなモデルより優れること
[Breck17])
• 目標・活動
– 合目的性とアクショナブル
21
ビジネス
の理解
データ
の理解
モデリ ン
グ
データ
の準備
展開
評価
データ
CRISP-DM: Cross-Industry Standard
Process for Data Mining
Eric Breck et al., The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction, IEEE Big Data 2017
目次
• 機械学習によるパラダイム転換と体系
• 機械学習ベースエンジニアリング事例
• 機械学習の適用における品質の確保
• まとめ+ご紹介
22
機械学習システム
がもたらす問題例
[石川17]
23
Google, 黒人画像を「ゴリ
ラ」と自動認識, 2015
Tesla, まぶしい空に対して白いト
レーラーを認識できず, 2016
https://www.straitstimes.com/world/united-states/tesla-car-on-autopilot-crashes-killing-driver
https://www.youtube.com/watch?time_continue=40&v=9I5rraWJq6E
https://www.theguardian.com/technology/2015/jul/01/google-
sorry-racist-auto-tag-photo-app
Microsoft, Twitterボット
が問題発言, 2016
https://www.theverge.com/2016/3/24/11297050/tay-
microsoft-chatbot-racist
石川冬樹,機械学習における品質保証のチャレンジ, トップエスイーシンポジウム2017
性能
合目的性
想定外への対応
性能 網羅性
品質の観点と施策 [Breck17]を拡張
24
学習データ
学習済み
モデル
内平 直志, 「人工知能とソフトウェア工学・品質管理」, 第33年度ソフトウェア品質管理研究会第7回特別講義, 2017
活動 /
システム
インフラ
ミスの無さ、偏りの無さ、
網羅性
データ
性能、頑健さ、
解釈・説明性
組み入れ正しさ
品質保証全体
合目的性、
想定外対応
データテスト
Skew/メタモルフィ
ックテスティング
モデルテスト
複数モデル
感度分析・逆追跡
アーキテクチャ
段階的設計・検証
機械「教育」
モニタリング
失敗対策
上位目標
Eric Breck et al., The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction, IEEE Big Data 2017
性能・網羅性: メタモルフィックテスティング
• メタモルフィック関係に基づき大量に試験
• 入力への変化により、出力の変化を予想できる関係
– 例: A の検索結果数 ≧ A かつ B の検索結果数
– 例: sin(x) = sin(x + 360度)
25
入力の変化 出力の変化
並び変え
無し
ノイズの追加
意味的に同じもの
統計的に同じもの
経験的に近いもの 僅か
定数の加算、乗算 定数の加算、乗算
狭める 部分集合
全く異なるもの 互いに素
x t(x)
f(x) g(f(x))
変換t
変換g
参考: S. Segura et al., "Metamorphic Testing of RESTful Web APIs," IEEE Transactions on Software Engineering, 2017
参考: C. Murphy, “Applications of Metamorphic Testing”, http://www.cis.upenn.edu/~cdmurphy/pubs/MetamorphicTesting-Columbia-17Nov2011.ppt
f(t(x))=
変換f 変換f
機械学習による画像認識のテスト
• ノイズ追加等によるメタモルフィックテスト
26
明度
レンズ
の汚れ
障害物
自動運転車の場合 [Tian’18]文字認識の場合[本田18]
Y Tian, et al., DeepTest: Automated Testing of Deep-Neural-Network-driven
Autonomous Cars, ICSE 2018 https://arxiv.org/pdf/1708.08559.pdf
参考: 本田澄,アーキテクチャ・品質エンジニアリング, スマートエスイー講義資料, 2018
組み入れ: IoT+機械学習アーキテクチャ[Azure][鄭18]
27
ActionsThings Insights
Data
Stream
Data
Stream
IoT
Devices
Cloud
Gateway
(IoT Hub)
Stream
Processing
Warm
Path
Store
UI &
Reporting
Tools
Business
Integration
Device
management
Store data
Integrate with
business process
Visualize data and learningStream
processing
and rules
evaluation
over data
Data
Stream
Data
Stream
IoT Edge
Devices
Data
Transfor
mation
Cold
Path
Store
Machine
Learning
User
Management
Microsoft, Azure IoT Reference Architecture, https://aka.ms/iotrefarchitecture
鄭顕志,”アーキテクチャ・品質エンジニアリング”, スマートエスイー, 2018
Dataset
Transfor
mer
Storage
Trainer
Modelbatch
Model API
Exper
iment
久保隆宏, 機械学習モデル構築のパターン, 2018 https://www.slideshare.net/takahirokubo7792/2018-97367311
機械学習のアーキテクチャ詳細 [久保18]
全体: 機械「教育」(Teaching) [Simard17]
28
ソースコード
ハイパーパラメータ
データセット
スキーマ
I. 検査
II. ラベルや特徴量の編集
III. 学習
IV. テスト
Patrice Y. Simard, et al., Machine Teaching: A New Paradigm for Building Machine Learning Systems. CoRR abs/1707.06742 (2017)
清 雄一, 機械学習・深層学習, スマートエスイー講義資料 2018
プログラミング 機械「教育」
コンパイラ 機械学習アルゴリズム
OS/サービス/IDE 学習、サンプリング・・・
フレームワーク ImageNet, word2vec・・・
プログラミング言語 ラベル、特徴量、スキーマ・・・
プログラミングへの熟練 「教育」への熟練
デバッグ デバッグ
バージョン管理 バージョン管理
開発プロセス 「教育」プロセス
合目的性: 目標・戦略・データの整合化(例 GQM+Strategies)
29
顧客からの不具合
報告を削減できて
いる
G: コードの
保守性を定量
評価できている
ソフトウェアの保守
性を改善する
テスト効率を改善
する
開発時にコードの
保守性評価を20%
改善できている
製品の品質を改善
する
顧客満足度を向上
できている
製品の品質が
高ければ・・・
Q1
Q2
M1
M2
ビジネス
レベル
ソリューション
事業部
(ソフトウェア
レベル)
組織
目標
戦略
品質保証
チーム
開発チーム
テストプロセスを
改善する
G: 不具合報告を
カウントできている
G: 顧客満足度を
定量評価できている
仮定・
事実
Victor Basili, et al., 著, 鷲崎弘宜ほか訳, “ゴール&ストラテジ入門:
残念なシステムの無くし方 (GQM+Strategies)”, オーム社, 2015
目次
• 機械学習によるパラダイム転換と体系
• 機械学習ベースエンジニアリング事例
• 機械学習の適用における品質の確保
• まとめ+ご紹介
30
まとめ
• 機械学習ベースのエンジニアリング&システム
– 演繹から帰納へ
– AI-SEAL: プロセス、プロダクト、実行、自動化レベル
– 事例: 体制、要求、設計、品質
• 品質の確保
– 性能・網羅性: メタモルフィックテスト
– 組み入れ・全体: アーキテクチャ、機械「教育」
– 合目的性: GQM+Strategies
• 関連活動や展望
– enPiT-Proスマートエスイー
31
ご紹介: enPiT-Pro スマートエスイー
32
 文部科学省社会人教育事業 ‘17-’21 http://smartse.jp/
 第3回セミナー「メタモルフィックテスティング」 2018年12月3日(月)(予定)
クラウド
センサ・IoT
人工
知能
ビッグ
データ
生成
知識
抽出
革新
アプリケーション
ビジネス
価値
創造
通信・物理
情報処理
総合実践
連携校( 1 3 校)
茨城大学 群馬大学
東京学芸大学 東京工業大学
大阪大学 九州大学
工学院大学 東京工科大学
東洋大学 鶴見大学
北陸先端科学技術大学院大学
奈良先端科学技術大学院大学
情報・システム研究機構
(国立情報学研究所)
協力校( 2 校)
立命館大学
The BigClouT Project
教材・指導
地区展開
進学・共同
研究接続
連携企業・業界団体( 2 3 団体)
日本電気 富士通
日立製作所 東芝
いい生活 ヤフー
モバイルコンピューティング推進コンソーシアム
次世代センサ協議会
日本IT団体連盟
IT検証産業協会
コンピュータソフトウェア協会
組込みシステム技術協会
電子情報技術産業協会
全脳アーキテクチャ・イニシアティブ
新経済連盟
先端IT活用推進コンソーシアム
日本オープンオンライン教育推進協議会
デンソー ハレックス
情報医療 システム情報
題材・事例
教材・指導
受講生派遣
外部評価
想定受講者
情報系の一定知識を
持っている人
組込み・
IoTプロフェッショナル
クラウド・
ビジネスイノベー
ター
システムオブシステムズ・
品質アーキテクト
目標人材像
環境連携
BigClouT
(日欧ビックデータ・クラウド・IoT融合基盤)JMOOC
(オンライン大学講座)
オンライン全国展開
実施拠点
W ASEDA NEO
(コレド日本橋内)
社会人教育プログラム
スマートエスイーSm a rtSE
IoT・ビッグデータ・AI ×ビジネス
IoT・クラウド、ビッ
グデータ、人工知
能を活用し、高セ
キュリティかつプラ
イバシを考慮した
スマートシステム
&サービスを開発
運用し、技術領域
や分野を超え価値
創造をグローバル
にリード可能な実
践的人材の育成と
全国展開

More Related Content

PDF
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
PDF
機械学習デザインパターン Machine Learning Design Patterns
PDF
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
PDF
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
PPTX
機械学習応用のためのソフトウェアエンジニアリングパターン
PDF
SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -
PDF
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
PDF
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターン Machine Learning Design Patterns
超スマート社会時代のシステム&ソフトウェア品質知識体系 - SQuBOK 2020 における AI、IoT、クラウド、オープンソース、アジャイル、DevO...
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
機械学習応用のためのソフトウェアエンジニアリングパターン
SQuBOK v3にみる不確実なDX時代の確実な品質技術に向けて- AI&機械学習、アジャイル&DevOps&オープンソース開発を中心に -
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)

What's hot (20)

PDF
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
PDF
第3回SEMAT勉強会 SEMATエッセンス解説
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
PDF
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
PDF
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
PDF
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
PPTX
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
PDF
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
PDF
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
PDF
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
PDF
ソフトウェアエンジニアリング知識体系SWEBOK最新動向
PDF
社会やビジネスに新たな価値を生み出すソフトウェア工学 SE4BS(Software Engineering for Business and Society)
PDF
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
PDF
メトリクスによるソフトウェア品質評価・改善および製品品質実態
PDF
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
PDF
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
PPTX
対応性のある運用のパターン
PDF
スマートエスイーセミナー:機外学習応用システムパターンの例
PDF
機械学習応用アーキテクチャ・デザインパターン概観
PDF
IoTアーキテクチャ・デザインパターン概観
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
第3回SEMAT勉強会 SEMATエッセンス解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
ヒンシツ大学セミナー ゴール指向の測定と品質保証活動 -メトリクス解説およびGqm法のワークショップ-
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
ソフトウェアエンジニアリング知識体系SWEBOK最新動向
社会やビジネスに新たな価値を生み出すソフトウェア工学 SE4BS(Software Engineering for Business and Society)
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用
対応性のある運用のパターン
スマートエスイーセミナー:機外学習応用システムパターンの例
機械学習応用アーキテクチャ・デザインパターン概観
IoTアーキテクチャ・デザインパターン概観
Ad

Similar to 機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜) (20)

PDF
Machine learning CI/CD with OSS
PPTX
組込みSW開発技術研究会キックオフミーティング
PDF
Tokyo H2O.ai Meetup#2 by Iida
PDF
Iot algyan jhirono 20190111
PDF
Code complete ch22_developper_test
PDF
テスト駆動開発のはじめ方
PDF
鷲崎弘宜, "高品質なAIシステムの開発・運用のための"フレームワーク", eAIシンポジウム 2025年1月16日
PPTX
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
PDF
第1回 Jubatusハンズオン
PDF
第1回 Jubatusハンズオン
PDF
Deep learning reading club @ nimiri for SWEST
PDF
LED-Camp2「組込みシステム開発の勘所と実践」
PDF
Tech-Circle #18 Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン
PPTX
Pythonとdeep learningで手書き文字認識
PDF
Seeing Unseens with Machine Learning -- 
見えていないものを見出す機械学習
PDF
Astah UML/ER/mindmapping modeling tool Introduction
PPTX
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで Vm 1
PDF
ソフトウェア工学における問題提起と機械学習の新たなあり方
PDF
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
PPTX
プロジェクトマネージャのための機械学習工学入門
Machine learning CI/CD with OSS
組込みSW開発技術研究会キックオフミーティング
Tokyo H2O.ai Meetup#2 by Iida
Iot algyan jhirono 20190111
Code complete ch22_developper_test
テスト駆動開発のはじめ方
鷲崎弘宜, "高品質なAIシステムの開発・運用のための"フレームワーク", eAIシンポジウム 2025年1月16日
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
Deep learning reading club @ nimiri for SWEST
LED-Camp2「組込みシステム開発の勘所と実践」
Tech-Circle #18 Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン
Pythonとdeep learningで手書き文字認識
Seeing Unseens with Machine Learning -- 
見えていないものを見出す機械学習
Astah UML/ER/mindmapping modeling tool Introduction
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで Vm 1
ソフトウェア工学における問題提起と機械学習の新たなあり方
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
プロジェクトマネージャのための機械学習工学入門
Ad

More from Hironori Washizaki (20)

PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
PDF
鷲崎弘宜, "AI/LLM時代のソフトウェエンジニアリング", 情報学科・専攻協議会 総会・研究会, 早稲田大学, 2025年7月26日
PDF
AI Software Engineering based on Multi-view Modeling and Engineering Patterns
PDF
SWEBOK Guide and Software Services Engineering Education
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
PDF
Landscape of Requirements Engineering for/by AI through Literature Review
PDF
AI/IoTをベースにしたDX人材育成の産学連携育成, 愛媛県デジタル人材育成シンポジウム, 2024年12月20日
PDF
コンピューティングおよびソフトウェア工学の潮流: IEEE-CS技術予測&SWEBOK Guideに基づくAI・アジャイル・サステナビリティの展望
PDF
Impact of IEEE Computer Society in Advancing Software Engineering and Emergin...
PDF
鷲崎弘宜, "機械学習システムの多面的モデリング・パイプライン統合フレームワーク", 第6回 AI/IoTシステム安全性シンポジウム, 2024
PDF
IEEE Software Testing Technology Development Trend
PDF
Opening, 1st International Workshop on Patterns and Practices of Reliable AI ...
PDF
The Global Impact of IEEE Computer Society in Advancing Software Engineering ...
PDF
Overview of ISO/IEC/JTC1 SC7/WG20: Certification of software and systems engi...
PDF
IEEE Computer Society 2025 Vision and Future
PDF
次世代AI時代のトレンドと高信頼AIソフトウェアシステム開発に向けたフレームワーク&パターン
PDF
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
PDF
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
PDF
SWEBOK and Education at FUSE Okinawa 2024
PDF
Machine Learning Software Engineering Patterns and Their Engineering
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
鷲崎弘宜, "AI/LLM時代のソフトウェエンジニアリング", 情報学科・専攻協議会 総会・研究会, 早稲田大学, 2025年7月26日
AI Software Engineering based on Multi-view Modeling and Engineering Patterns
SWEBOK Guide and Software Services Engineering Education
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Landscape of Requirements Engineering for/by AI through Literature Review
AI/IoTをベースにしたDX人材育成の産学連携育成, 愛媛県デジタル人材育成シンポジウム, 2024年12月20日
コンピューティングおよびソフトウェア工学の潮流: IEEE-CS技術予測&SWEBOK Guideに基づくAI・アジャイル・サステナビリティの展望
Impact of IEEE Computer Society in Advancing Software Engineering and Emergin...
鷲崎弘宜, "機械学習システムの多面的モデリング・パイプライン統合フレームワーク", 第6回 AI/IoTシステム安全性シンポジウム, 2024
IEEE Software Testing Technology Development Trend
Opening, 1st International Workshop on Patterns and Practices of Reliable AI ...
The Global Impact of IEEE Computer Society in Advancing Software Engineering ...
Overview of ISO/IEC/JTC1 SC7/WG20: Certification of software and systems engi...
IEEE Computer Society 2025 Vision and Future
次世代AI時代のトレンドと高信頼AIソフトウェアシステム開発に向けたフレームワーク&パターン
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
SWEBOK and Education at FUSE Okinawa 2024
Machine Learning Software Engineering Patterns and Their Engineering

機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)

  • 1. 機械学習とデータ駆動システム &ソフトウェアエンジニアリング 鷲崎 弘宜 早稲田大学グローバルソフトウェアエンジニアリング研究所 所長 国立情報学研究所 客員教授 システム情報 取締役(監査等委員) エクスモーション 社外取締役 Twitter: @Hiro_Washi washizaki@waseda.jp http://www.washi.cs.waseda.ac.jp/ 組込みシステムシンポジウム ESS2018 招待講演 2018年8月30日
  • 3. Volvoの場合(発話・地図データを除く)[Bosch18] 3 Jan Bosch, Why Digitalization Will Kill Your (Software) Company Too, ICSE 2018 Industry Forum 1.5 4.9 10.9 18.6 20.6 117.5 97 917 0 100 200 300 400 500 600 700 800 900 1000 S80/1998 XC90/2002 S80/2006 V70/2007 XC60/2008 V60/2011 V40/2012 SPA/2014 MB ダウンロード可能なソフトウェアサイズ
  • 4. 機械学習適用の背景 • 要求や環境の変化の速さ、多様さ • 境界や問題のオープン化 • 複雑さ、不確実性の増大 • ビッグデータ • GPU、オープンFW • アジャイル、DevOps、UX 4 機械学習 データ プロセス 実行プロダクト
  • 5. Cynefin フレームワーク [Forsyth14][中谷16] 解法 既知 Known 解法 未知 Unknown 問題複雑 Complex 問題単純 Simple Emergent 突発・創発 Best practice ベストプラクティス Good practice グッドプラクティス New 新規(の研究) 機械学習のよくある適用 参考: 中谷多哉子, “要求工学”, 日科技連SQiP研究会2016年1月 参考: Brad Forsyth, Which Parts of Your Business are Complex and Which are just Complicated? 2014 https://www.linkedin.com/pulse/20140627164952-26162172-which-parts-of-your-business-are-complex-and-which-are-just-complicated 本来期待される場所
  • 6. 機械学習によるパラダイム転換 6 目標 学習データ 学習済み モデル 活動 / システム(動作) 目標 モデル 活動 / システム(動作) データ 従来のエンジニアリング: 演繹的(モデルが最初に与えられる) 機械学習ベース: 帰納的(モデル・アルゴリズムがデータで決まる) プロセス 実行プロダクト 機械学習ベース・データ駆動エンジニアリング 機械学習システム 参考: 丸山 宏, 機械学習工学に向けて, JST機械学習型システム開発へのパラダイム転換, 2017
  • 7. AI in SE Application Levels (AI-SEAL)[Feldt18] 7 Robert Feldt, et al., Ways of Applying Artificial Intelligence in Software Engineering, CoRR abs/1802.02033 (2018) 7. 自動意思 決定・実装・ 通知 10. 必要と判断し 初めて自動意思 決定・実装・通知 プロセス 自動化 レベル 適用対象 プロダクト 実行 低リスク 高リスク 中リスク 1. 人手による 代替候補群の 検討 4. 代替候補 群と一つの案 を自動推薦
  • 8. アルゴリズムの分類(部族)[Domingos15] • 記号 Symbolist: 逆推論など • 結合 Connectionist: 逆伝搬など • 進化 Evolutionist: 遺伝的プログラミングなど • ベイズ Bayesians: 確率的推論など • 類推 Analogizer: パターン認識など 8 P. Domingos, “The master algorithm: How the quest for the ultimate learning machine will remake our world”, Basic Books, 2015
  • 9. RAISE’15-16研究動向[Feldt18] 9 1. 人手による 代替候補群の 検討 4. 代替候補 群と一つの案 を自動推薦 7. 自動意思 決定・実行・ 通知 10. 必要と判断し 初めて自動意思 決定・実行・通知 プロセス 自動化 レベル 適用対象 プロダクト 実行時 類推 記号 進化 Robert Feldt, et al., Ways of Applying Artificial Intelligence in Software Engineering, CoRR abs/1802.02033 (2018) RAISE: International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering
  • 10. 目次 • 機械学習によるパラダイム転換と体系 • 機械学習ベースエンジニアリング事例 • 機械学習の適用における品質の確保 • まとめ+ご紹介 10
  • 12. 1. 体制・企画: チーム構成 [TETC’16] • 難しさ: 多様なメンバ・活動の存在、最適構成不明 • 取組み: 個人特性(Five Factor Stress)と効果のデータ 化、5年蓄積、決定木によるチーム構成学習 12Y. Sunaga, H. Washizaki, et al., “Relation between Combinations of Personal Characteristic Types and Educational Effectiveness for a Controlled Project-based Learning Course,” IEEE Transactions on Emerging Topics in Computing 5(1) 2016 T L M A 個 人 学 習 効 果
  • 13. チーム構成(つづき)[TETC’16] • 個人特性の「組み合わせ」「偏り」が学習にもたらす影響特定 • 国内外への展開: ニューヨーク州立大学オスウェゴほか 13 M有,T有, L無 その他 チーム 学習 効果 Y. Sunaga, H. Washizaki, et al., “Relation between Combinations of Personal Characteristic Types and Educational Effectiveness for a Controlled Project-based Learning Course,” IEEE Transactions on Emerging Topics in Computing 5(1) 2016
  • 14. 2. 要求: データ駆動ペルソナ [ICSE’18] 14Y. Watanabe, H. Washizaki, et al., Retrospective based on Data-Driven Persona Significance in B-to-B Software Development, ICSE 2018 NIER QAQAQA 自然言語処理 +機械学習 アンケート回答 ユーザの 行動ログ インタビュー (定性調査) 専門家 データ駆動ペルソナ (従来の)ペルソナ 田中 25歳 男 会社員 システム に習熟 佐藤 25歳 女 会社員 システム 不慣れ • 難しさ: 様々かつ変化する状況下での正しいユーザ像と要求把握 • 取組み: 自然言語処理+クラスタリングによるユーザ像の導出 ユーザ側と開発側の突き合せによるデータに基づく振り返り 画像: ぱくたそ
  • 15. データ駆動ペルソナ(つづき)[ICSE’18] 15Y. Watanabe, H. Washizaki, et al., Retrospective based on Data-Driven Persona Significance in B-to-B Software Development, ACM/IEEE 40th International Conference on Software Engineering 2018 NIER 売買 営業: 物件参照 顧客開拓 行動ログ ペルソナ例 ターゲット となったユーザ ① Pa Pb Pc ペルソナ リリース 1 2 3 ペルソナの 重視度 ③ サービス死角 ・重視されない ペルソナの特定 s 単なるバグ修正 ・全体的に重視度低 ・特定の目的ユーザが いない → リリース目的の特定 • 不動産業務の支援システムのリリース振り返り トピックモデル+ クラスタリング tx ty tz 1 2 F1 F3F3 F3 リリース トピックモデル ② 画像: ぱくたそ
  • 16. 3. 設計: デザインパターン検出[JSEA’14] • 難しさ: デザインパター ンの様々な適用、規模 • 取組み: メトリクス+ニ ューラルネットワーク で学習と自動検出 16S. Uchiyama, A. Kubo, H. Washizaki, Y. Fukazawa, “Detecting Design Patterns in Object-Oriented Program Source Code by using Metrics and Machine Learning”, Journal of Software Engineering and Applications, 7(12) 2014
  • 17. デザインパターン検出(つづき)[JSEA’14] 17S. Uchiyama, A. Kubo, H. Washizaki, Y. Fukazawa, “Detecting Design Patterns in Object-Oriented Program Source Code by using Metrics and Machine Learning”, Journal of Software Engineering and Applications, 7(12) 2014
  • 18. 4. テスト・品質: 品質評価改善[QRS’18] • 難しさ: 多様なコンテキストに応じた測定や基準 18 コンポーネント ECROBOT API 走行系 判定処理系 3重多数決 + 走行ステータス更新() : 走行ステータス + 開始判定() : boolean + 総合判定() : void 戦略 + 目標切替ポイント取得() : 切替ポイント 切替ポイント - 灰色検知フラグ - 座標 - 推定時間 審判 + 難所判定(切替ポイント) : boolean + フェイルセーフ判定(走行ステータス) : boolean 時間判定 - 現在時間 + 時間判定(推定時間) : void - 時間更新() : void 位置判定 - 現在位置 + ロケーション判定(座標) : void - 現在位置更新() : void 色判定 - 現在色 + 灰色検知(灰色検知フラグ) : void - 現在色更新() : void Main + 初期化() : void + 走行開始() : void 走行ステータス - IN/OUTフラグ + getter() : void + setter() : void <<enum>> 走行種別 - キャリブレーション - 走行 - 停止 <<enum>> 難所種別 - ライントレース - 階段 - シーソー通過 - ガレージイン 戦術 - 走行 + 走行クラス取得(走行ステータス) : 走行 走行 + 走る() : void ライントレース走行 階段走行 シーソー通過走行 ガレージイン走行 ロケーション + 現在座標取得() : void まいまい式 - 補正ライトセンサ値 - 定周期ライトON() : void - 定周期ライトOFF() : void + 補正ライトセンサ値取得() : void PID制御 - PID算出() : void + 進行方向取得() : 進行方向 インテリジェントモーター - 補正係数 + モーター出力補正() : void + モーター出力設定(右出力, 左出力) : void タッチセンサ + センサ値取得() : boolean タイマー + 時間取得() : 時間 ジャイロセンサ + センサ値取得() : ジャイロセンサ値 ライトセンサ + センサ値取得() : ライトセンサ値 + ランプ設定(ON/OFF) : void モーター + モーター出力設定(出力) : void + 回転数取得() : 回転数 1 走行クラスを 取得する 1 切替ポイントを 取得する * 1 3 難所を判定する 1 走行ステータスを取得する 1 走る 4 生成する 1 センサ値を 取得する 1 1 時間を取得 する 1 1 現在座標を 取得する 1 1 センサ値を 取得する 1 1 ライトセンサ値を 取得する 1 1 センサ値を 取得する 1 1 モーター値を設定する 2 1 モーター値を 設定する 1 1 進行方向を 取得する 1 1 ライトセンサ値を 取得する 1 1 回転数を取得する 2 鷲崎, 阿佐美, 田邉, ETロボコンの事例で学ぶモデル活用の効能: 第2回参加チームの事例,日経エレクトロニクス, 2011年9月5日 N. Tsuda, H. Washizaki, et al., “Machine Learning to Evaluate Evolvability Defects: Code Metrics Thresholds for a Given Context,” The 18th IEEE International Conference on Software Quality, Reliability & Security (QRS 2018) ファイル名 関数名 サイクロマ ティック複雑度 関数の 物理行数 Magi.cpp decideSynthetic() 12 55 Tactics.cpp getDriver(DriveStatus::eDifficultKind) 12 51 StepDriver.cpp drive(bool) 11 119 SeesawDriver.cpp drive(bool) 8 100 GarageDriver.cpp driveIn(void) 8 73 Main.cpp TASK(TaskDrive) 7 91 Magi.cpp getDriveStatus() 7 37 PositionDecision.cpp updateLocation() 6 81 Tactics.cpp ~Tactics(void) 5 15 ファイル名 関数名 サイクロマ ティック複雑度 関数の 物理行数 Magi.cpp decideSynthetic() 12 55 Tactics.cpp getDriver(DriveStatus::eDifficultKind) 12 51 StepDriver.cpp drive(bool) 11 119 SeesawDriver.cpp drive(bool) 8 100 GarageDriver.cpp driveIn(void) 8 73 Main.cpp TASK(TaskDrive) 7 91 Magi.cpp getDriveStatus() 7 37 PositionDecision.cpp updateLocation() 6 81 Tactics.cpp ~Tactics(void) 5 15
  • 19. 品質評価改善(つづき)[QRS’18] • 取組み: 品質データ(レビュー等)、決定木でメトリクスや基準学習 19N. Tsuda, H. Washizaki, et al., “Machine Learning to Evaluate Evolvability Defects: Code Metrics Thresholds for a Given Context,” The 18th IEEE International Conference on Software Quality, Reliability & Security (QRS 2018) 人手レビュー 品質 測定 機械学習 改善 M. 呼び出し先 モジュール数 G. 変更されやすい 箇所を特定できている Q. モジュールの依存 関係はどの程度か? M. 呼び出し元 モジュール数 A. あちこちと依存するモ ジュールは変更されやすい 測定目的 仮定 質問 測定 データ 10 25 300 150 M. 関数の数 M.実行行数 OK NG 71 M. 関数の数 M.実行行数 OK NG
  • 20. 取組みの整理 20 1. 人手による 代替候補群の 検討 4. 代替候補 群と一つの案 を自動推薦 7. 自動意思 決定・実行・ 通知 10. 必要と判断し 初めて自動意思 決定・実行・通知 プロセス 自動化 レベル 適用対象 プロダクト 実行 類推 デザインパ ターン検出 チーム構成 データ駆動 ペルソナ 品質評価改善 結合
  • 21. 留意してきた(したい)こと • 前提条件 – データ量 – 「正解」を用意することの難し さ(New, Emergent) • 学習データ – 各特徴量が有益 [Breck17] – 入力データをチェック • モデル – 説明性 – シンプル(複雑にするならばシ ンプルなモデルより優れること [Breck17]) • 目標・活動 – 合目的性とアクショナブル 21 ビジネス の理解 データ の理解 モデリ ン グ データ の準備 展開 評価 データ CRISP-DM: Cross-Industry Standard Process for Data Mining Eric Breck et al., The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction, IEEE Big Data 2017
  • 22. 目次 • 機械学習によるパラダイム転換と体系 • 機械学習ベースエンジニアリング事例 • 機械学習の適用における品質の確保 • まとめ+ご紹介 22
  • 23. 機械学習システム がもたらす問題例 [石川17] 23 Google, 黒人画像を「ゴリ ラ」と自動認識, 2015 Tesla, まぶしい空に対して白いト レーラーを認識できず, 2016 https://www.straitstimes.com/world/united-states/tesla-car-on-autopilot-crashes-killing-driver https://www.youtube.com/watch?time_continue=40&v=9I5rraWJq6E https://www.theguardian.com/technology/2015/jul/01/google- sorry-racist-auto-tag-photo-app Microsoft, Twitterボット が問題発言, 2016 https://www.theverge.com/2016/3/24/11297050/tay- microsoft-chatbot-racist 石川冬樹,機械学習における品質保証のチャレンジ, トップエスイーシンポジウム2017 性能 合目的性 想定外への対応 性能 網羅性
  • 24. 品質の観点と施策 [Breck17]を拡張 24 学習データ 学習済み モデル 内平 直志, 「人工知能とソフトウェア工学・品質管理」, 第33年度ソフトウェア品質管理研究会第7回特別講義, 2017 活動 / システム インフラ ミスの無さ、偏りの無さ、 網羅性 データ 性能、頑健さ、 解釈・説明性 組み入れ正しさ 品質保証全体 合目的性、 想定外対応 データテスト Skew/メタモルフィ ックテスティング モデルテスト 複数モデル 感度分析・逆追跡 アーキテクチャ 段階的設計・検証 機械「教育」 モニタリング 失敗対策 上位目標 Eric Breck et al., The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction, IEEE Big Data 2017
  • 25. 性能・網羅性: メタモルフィックテスティング • メタモルフィック関係に基づき大量に試験 • 入力への変化により、出力の変化を予想できる関係 – 例: A の検索結果数 ≧ A かつ B の検索結果数 – 例: sin(x) = sin(x + 360度) 25 入力の変化 出力の変化 並び変え 無し ノイズの追加 意味的に同じもの 統計的に同じもの 経験的に近いもの 僅か 定数の加算、乗算 定数の加算、乗算 狭める 部分集合 全く異なるもの 互いに素 x t(x) f(x) g(f(x)) 変換t 変換g 参考: S. Segura et al., "Metamorphic Testing of RESTful Web APIs," IEEE Transactions on Software Engineering, 2017 参考: C. Murphy, “Applications of Metamorphic Testing”, http://www.cis.upenn.edu/~cdmurphy/pubs/MetamorphicTesting-Columbia-17Nov2011.ppt f(t(x))= 変換f 変換f
  • 26. 機械学習による画像認識のテスト • ノイズ追加等によるメタモルフィックテスト 26 明度 レンズ の汚れ 障害物 自動運転車の場合 [Tian’18]文字認識の場合[本田18] Y Tian, et al., DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars, ICSE 2018 https://arxiv.org/pdf/1708.08559.pdf 参考: 本田澄,アーキテクチャ・品質エンジニアリング, スマートエスイー講義資料, 2018
  • 27. 組み入れ: IoT+機械学習アーキテクチャ[Azure][鄭18] 27 ActionsThings Insights Data Stream Data Stream IoT Devices Cloud Gateway (IoT Hub) Stream Processing Warm Path Store UI & Reporting Tools Business Integration Device management Store data Integrate with business process Visualize data and learningStream processing and rules evaluation over data Data Stream Data Stream IoT Edge Devices Data Transfor mation Cold Path Store Machine Learning User Management Microsoft, Azure IoT Reference Architecture, https://aka.ms/iotrefarchitecture 鄭顕志,”アーキテクチャ・品質エンジニアリング”, スマートエスイー, 2018 Dataset Transfor mer Storage Trainer Modelbatch Model API Exper iment 久保隆宏, 機械学習モデル構築のパターン, 2018 https://www.slideshare.net/takahirokubo7792/2018-97367311 機械学習のアーキテクチャ詳細 [久保18]
  • 28. 全体: 機械「教育」(Teaching) [Simard17] 28 ソースコード ハイパーパラメータ データセット スキーマ I. 検査 II. ラベルや特徴量の編集 III. 学習 IV. テスト Patrice Y. Simard, et al., Machine Teaching: A New Paradigm for Building Machine Learning Systems. CoRR abs/1707.06742 (2017) 清 雄一, 機械学習・深層学習, スマートエスイー講義資料 2018 プログラミング 機械「教育」 コンパイラ 機械学習アルゴリズム OS/サービス/IDE 学習、サンプリング・・・ フレームワーク ImageNet, word2vec・・・ プログラミング言語 ラベル、特徴量、スキーマ・・・ プログラミングへの熟練 「教育」への熟練 デバッグ デバッグ バージョン管理 バージョン管理 開発プロセス 「教育」プロセス
  • 29. 合目的性: 目標・戦略・データの整合化(例 GQM+Strategies) 29 顧客からの不具合 報告を削減できて いる G: コードの 保守性を定量 評価できている ソフトウェアの保守 性を改善する テスト効率を改善 する 開発時にコードの 保守性評価を20% 改善できている 製品の品質を改善 する 顧客満足度を向上 できている 製品の品質が 高ければ・・・ Q1 Q2 M1 M2 ビジネス レベル ソリューション 事業部 (ソフトウェア レベル) 組織 目標 戦略 品質保証 チーム 開発チーム テストプロセスを 改善する G: 不具合報告を カウントできている G: 顧客満足度を 定量評価できている 仮定・ 事実 Victor Basili, et al., 著, 鷲崎弘宜ほか訳, “ゴール&ストラテジ入門: 残念なシステムの無くし方 (GQM+Strategies)”, オーム社, 2015
  • 30. 目次 • 機械学習によるパラダイム転換と体系 • 機械学習ベースエンジニアリング事例 • 機械学習の適用における品質の確保 • まとめ+ご紹介 30
  • 31. まとめ • 機械学習ベースのエンジニアリング&システム – 演繹から帰納へ – AI-SEAL: プロセス、プロダクト、実行、自動化レベル – 事例: 体制、要求、設計、品質 • 品質の確保 – 性能・網羅性: メタモルフィックテスト – 組み入れ・全体: アーキテクチャ、機械「教育」 – 合目的性: GQM+Strategies • 関連活動や展望 – enPiT-Proスマートエスイー 31
  • 32. ご紹介: enPiT-Pro スマートエスイー 32  文部科学省社会人教育事業 ‘17-’21 http://smartse.jp/  第3回セミナー「メタモルフィックテスティング」 2018年12月3日(月)(予定) クラウド センサ・IoT 人工 知能 ビッグ データ 生成 知識 抽出 革新 アプリケーション ビジネス 価値 創造 通信・物理 情報処理 総合実践 連携校( 1 3 校) 茨城大学 群馬大学 東京学芸大学 東京工業大学 大阪大学 九州大学 工学院大学 東京工科大学 東洋大学 鶴見大学 北陸先端科学技術大学院大学 奈良先端科学技術大学院大学 情報・システム研究機構 (国立情報学研究所) 協力校( 2 校) 立命館大学 The BigClouT Project 教材・指導 地区展開 進学・共同 研究接続 連携企業・業界団体( 2 3 団体) 日本電気 富士通 日立製作所 東芝 いい生活 ヤフー モバイルコンピューティング推進コンソーシアム 次世代センサ協議会 日本IT団体連盟 IT検証産業協会 コンピュータソフトウェア協会 組込みシステム技術協会 電子情報技術産業協会 全脳アーキテクチャ・イニシアティブ 新経済連盟 先端IT活用推進コンソーシアム 日本オープンオンライン教育推進協議会 デンソー ハレックス 情報医療 システム情報 題材・事例 教材・指導 受講生派遣 外部評価 想定受講者 情報系の一定知識を 持っている人 組込み・ IoTプロフェッショナル クラウド・ ビジネスイノベー ター システムオブシステムズ・ 品質アーキテクト 目標人材像 環境連携 BigClouT (日欧ビックデータ・クラウド・IoT融合基盤)JMOOC (オンライン大学講座) オンライン全国展開 実施拠点 W ASEDA NEO (コレド日本橋内) 社会人教育プログラム スマートエスイーSm a rtSE IoT・ビッグデータ・AI ×ビジネス IoT・クラウド、ビッ グデータ、人工知 能を活用し、高セ キュリティかつプラ イバシを考慮した スマートシステム &サービスを開発 運用し、技術領域 や分野を超え価値 創造をグローバル にリード可能な実 践的人材の育成と 全国展開