Mais conteúdo relacionado
Semelhante a ソフトウェア工学における問題提起と機械学習の新たなあり方 (20)
ソフトウェア工学における問題提起と機械学習の新たなあり方
- 2. 工藤 卓哉
Accenture Data Science Center of Excellence グローバル統括
ARISE analytics 取締役兼Chief Science Officer
<外部顧問>
• 慶応大学 データビジネス創造ラボ(村井純 理事所長)上席所員
• 厚生労働省大臣懇談会「医療政策2023」委員 (~2016)
• 佐賀県知事アドバイザ:FORTUNE Change the World掲載、総務大臣賞受賞案件
<学歴> :Carnegie Mellon University, M.S.
Columbia University, MPA in Environmental Science
慶応義塾大学商学部学士号
<経歴> :機械学習を軸としたサービス設計・開発・運用。新サービス領域の企画・開
発・人材戦略や採用・育成戦略や実行支援提供。
製造・流通業・通信ハイテクメディア産業・金融・公共・エネルギー産業領域
の機械学習案件と業務の最適化経験多数。
企業・行政機関の分析力の高度化や見える化、分析を武器とした企業の
組織立ち上げの案件を支援。ブルームバーグ前市長 政権のニューヨーク
市政府統計ディレクターを歴任。
Copyright © 2018 Accenture. All rights reserved. Copyright © 2018 Accenture. All rights reserved. 2
- 9. ACCENTURE DATA SCIENCE
CENTER OF EXCELLENCE
<拠点>
• ディープ
ラーニング
• 機械学習
(Machine
Learning)
• 自然言語処理
(NLP)
• Chainer
(PFN)
• Pytorch
(Facebook)
• Tensor
Flow
(Google)
• Spark
(Apache)
• AWS
(Amazon)
• Azure
(Microsoft)
• Amelia
(IPSoft)
• IoT (Intel)
注力エリア
オープン
ソース活用
有力パートナー
との協力関係
• 北米
• イギリス
• スペイン
• 日本
• シンガポール
• インド
Copyright © 2018 Accenture. All rights reserved.
- 13. 従来のソフトウェア開発と機械学習の違い
出典: "Differences between machine learning and software engineering" https://futurice.com/blog/differences-
between-machine-learning-and-software-engineering
従来のプログラミングは、
ルールをコーディングすることで、
タスクを自動化する。
機械学習では、
ルールの生成を自動化し、
正解データ(教師データ)を与えることで、
タスクを自動化する。
ソフトウェアによるタスク自動化の新しいアプローチとして機械学習の採用が注目されている。
- 16. CONFIDENTIAL ©2018 ARISE analytics 16
例えば、想定ユースケース、業務目線のKPI
①異常予測の通知 ②初期画面(工場一覧)へ移動 ③イベント内容参照
• 通知設定したラインで故障予兆が検知さ
れた際、SMS/電話/メールでユーザーに
届く
•ログイン後機器予防保全SOLの初期画面
へ移動
•イベント通知で判定未登録のイベント内
容を確認
•すべてのイベント一覧へ移動
④イベント一覧参照 ⑤イベント判定登録
•判定未登録・登録済みの、全てのイベン
トを確認
•イベント名クリックし、登録画面へ移動
•管理者のライン確認後、検知されたイベ
ントに対して異常有無をインプットする
ユーザー
- 18. CONFIDENTIAL ©2018 ARISE analytics 18
ソフトウェア品質保証のKPI
本開発では、以下のテストを実施して品質を担保する。
単体・結合
テスト
システムテスト
パフォーマンステスト
セキュリティテスト
フロント
エンド
バック
エンド
分析
エンジン
インフラ
フィールドテスト
検証項目
• 各ボタン・リンクが動作すること。
• 表示文言・表示内容に誤りがないこと。
• APIが仕様どおり実装されていること。
• 各分析プロセスにおいて、処理が正しく動くこと。
• 設計通り各サーバ、DB等が作成・設定されていること。
• 本ソリューションの想定用途を鑑みて、シナリオを決定し、動作すること。
※本期間中に他システムとの連携やモンキーテストも実施
• 想定される同時接続ユーザー数、センサー数で性能が維持できること。
• 想定される脅威に対して、必要な対策が講じられていること。
• 実際の工場の機器からデータを収集し、問題なく稼働すること。
実施方法
• テストコードを用いた自動
テスト
• コンディション作成し、確認
• テストシナリオを作成し、
テスターが動作確認
• 負荷テストツールで実施
• 設定内容の目視確認
• 脆弱性判断ツールで実施
• 現地またはリモートで確認
実施環境
開発
開発・本番
開発・本番
開発
開発・本番
本番
- 19. CONFIDENTIAL ©2018 ARISE analytics 19
モデルチューニングにおける完了基準のKPI
本フェーズで構築する分析モデルに関しては、以下の要件を満たした段階で開発/チューニング完了とす
る。
終了要件
オート監視のモデルXX種類が網羅されている
ベース
機能
モデル
モデル
テスト
カスタム監視のモデルXX種類が網羅されている
ダミーデータ(XXXパターン、正例X.XX%以下)に対してXX%以上の適合率/XX%以上の再現率で異常
検知できる
個社別
機能
大分類 小分類
モデル
テスト
PoC時に個別作成した特徴量パターンが網羅されている
個別作成した特徴量により検知した予兆パターンを過去データ(Xか月分)に対して検知できる
※今後PoC実施予定の他クライアントに対するモデルチューニング結果は本フェーズでは反映しない。
- 20. CONFIDENTIAL ©2018 ARISE analytics 20
サービス損益分岐におけるコストサイド算出目線のKPI
カテゴリ
サーバー運用
内容
本番環境+保守
コスト
(千円/月)
見積根拠
開発環境+保守
導入支援
アプリ動作確認
保守(一次受け)
予算内外
運用保守
導入支援
保守(分析エンジン)
保守(バックエンド)
保守(フロントエンド)
外注
- 25. 外部連携領域大容量分析基盤システム
Direct
Connect
データレイク環境
S3バッチ Proxy EMR Redshift
監査ログ格納環境
S3
WVS
Proxy 監視 S3
クローラー環境
外部連携データ領域
アクセスログ管理
Active
Directory
オンプレ
分析室
作業端末
業務端末
基幹システム
CX管理
ユーザ管理
WVS
アカウント連携
分析者
保守員
ログイン環境
踏み台
VPN
Zabbix Proxy
運用監視環境
Active
Directory
RedshiftS3
DataRobot
EMR
分析
デスクトップ バッチ S3EMR
モデル実行環境BI環境
RedshiftS3
BI Active
Directory
Direct
Connect
DXWVS
グループ会社
サイトタグ
SDK
オウンドサイト/
アプリ
各種SNS
インターネット
分析用サンドボックス環境
1
基盤 可視化 構築 適用 最適化 JV
2 3 4 5 6 7
意思
決定
ビッグデータ処理基盤を構築するケース
- 26. 1
基盤 可視化 構築 適用 最適化 JV
2 3 4 5 6 7
意思
決定
データ可視化の業務活用
データ基盤整備に加え可視化ツールを構築しデータ利活用の土壌を整備。
限られた予算を有効に使うために、複数の条件でキャンペーン対象者をクイックに抽出し、マーケティング効果を最大化。
- 31. 開発プロセスへの機械学習開発の融合
1
基盤 可視化 構築 適用 最適化 JV
2 3 4 5 6 7
意思
決定
データ分析、機械学習モデルは構築するまでどの程度の精度が出せるかの見積もりが難しいため、トライアン
ドエラーできるプロセスが向いている。これを融合して行く必要がある。
要求定義
アーキテクチャ
設計
コンポーネント
設計
実装
テスト
計画
要件
定義
設計
実装
テスト
分析
と
評価
小規模プロジェクトから開始しできるので最初
から膨大なデータを収集する前にフィージビリ
ティスタディとしてのPoCが可能
大きなプロジェクトを1回で作りきるため、構
築後の業務からのフィードバックの反映に時間
がかかる
各フェーズにおいて完了条件
を設け、満たないと通過でき
ない。しかしプロジェクトと
してはひと回しで完了する。
小さなひと回しのプロ
ジェクトを繰り返し実施
し、徐々に規模を拡大。
ウォーターフォールモデル イテレーション型開発
融合
- 32. CONFIDENTIAL ©2018 ARISE analytics 32
例:イテレーション開発のマスタスケジュール融合
2018/3 4 5 6
Q4 Q1 Q2
7 8 9
Q3
10 11
インフラ
構築
アプリ
開発
分析エンジン
開発
構築
(開発)
テスト
運用
見積り
実施中
完了
未実施
フロントエンド開発
分析エンジン
開発
開発テスト
運用
テスト計画
凡例
運用機能
設計・開発
運用設計
★ NBM
ビジネス
検討
他部署調整 IoTクラウドスタンダード連携
(SSO/データ連携)
★ ソリューションプラン
レビュー
フロントエンド
残開発
バックエンド開発
分析エンジン残開発
チューニング
追加
発注
非機能
要件定義
★稼働判定
★開発環境構築完了
★本番環境構築完了
フィールド
テスト
構築
(本番)
本番
テスト
保守
発注
本番
テスト
準備
再見積
追加
発注
見積
ビジネスユースケース策定
導入ケース別ROI算出
- 38. データ仕様の例:サンプリングレート
1
基盤 可視化 構築 適用 最適化 JV
2 3 4 5 6 7
意思
決定
高サンプリングレート
低サンプリングレート
高サンプリングレートのメリット
高サンプリングレートのデメリット
1. 高性能なセンサーデータ取得デバイス(エッ
ジデバイス)が必要になるケースがある
2. サーバーとの通信コストの増大
3. データを蓄積するストレージ容量の増大
✓ 下記の要因により、コスト上昇の原因となる
✓ 時系列データの微細な変動も特徴量に取り込む
ことが可能
✓ 細かい変動パターンに特徴が表れている場合、
時系列データの分類問題において識別精度が向
上する
機械学習モデルのインプットとして利用する学習データの仕様に依存して、分析精度やデータ取得コストが決ま
るが、一般的にトレードオフの関係にあるため、業務に求められる水準を見定めた選定が必要。
- 42. 既存業務 vs 機械学習モデル
既存業務 ベースライン精度
機械学習モデル 機械学習モデル精度
既存業務を超えることを
評価で確認した上で業務
適用に流す
前ページで示したような指標できちんと評価した場合でも、Accuracyが100%となるケースはほぼないため、モ
デルが誤った判断をした時の対応をきちんと定義しておくことが業務適用にあたり肝要。
機械学習モデルで業務を置き換えた
後、現場の運用が回るかについて、
事前に検討しておくことも重要
1
基盤 可視化 構築 適用 最適化 JV
2 3 4 5 6 7
意思
決定
- 47. おわりに
➢ ソフトウェア開発と機械学習モデル構築の差分は見られるものの、期待値管理は同じアプローチ。
➢ 情報の非対称性はSOWの稚拙さにより発生する。機械学習の運用設計は初期SOWでは特に対象データの同定が困難。開始前のリスク管理と初
期モデル構築後に、データ同定と精度管理により、対象源泉システムの同定、データパイプライン、想定処理バッチなど、想定スコープ変更
の可能性への事前同意が必要。
➢ 機械学習モデルのアウトプットはデータにより大きく変わるので、単体テスト・自動化テストの作成が難しい問題がある。しかし、機械学習
モデルのエンジンのシステム組み込みという面では、システム側は従来のソフトウェア開発の枠組みでCIの導入が可能。
➢ 精度が出ない、オーバーフィット時の原因解析は、適用モデル変更だけではなく、フィーチャーエンジニアリング時に適切な対象データを取
得するドメイン知識の前提が肝となる。仮にドメイン知識が不足している場合、データサイエンティストは、対象業務の専門家へのヒアリン
グにより、既存の対象データや追加データ取得のためのセンサ設置対象業務またはヒアリングによるラベリング業務を同定する。
➢ ベロシティの高いセンサデータを保有する機械学習が適用された高度な業務が存在し、対象がサンプルレートの変更による精度維持、コスト
抑制を目的とした案件においては、機械学習モデルのインプットとして利用する学習データの仕様に依存して、分析精度やデータ取得コスト
が決まるが、一般的に精度と費用はトレードオフの関係にあるため、業務許容水準に求められるベースライン討議を見据えた着地点が必要。
➢ 混同行列精度追求だけではなく、運用の損益分岐点計算との掛け合わせによる業務コストを加味した、収益のマージン最適化設計思想が必要
だが、多くの機械学習案件ではエンジニアやIT部門に軽視されがちで、高い確度で見落とされている。
➢ 一般の開発管理工学に加え、データバージョン管理、ハイパーパラメターチューニングを含む予測精度結果管理も重要。
➢ 従来のソフトウェア開発同様、開発環境の整備とその展開は重要なテーマ。分析結果の再現性担保のためにライブラリのバージョンの組み合
わせを維持することは重要であり、その一つの手段としてDockerなどの仮想環境も有用。
➢ 機械学習を導入していない企業において、既存業務におけるベースライン測定とモデル適用時の比較は王道のアプローチとなる。指標できち
んと評価した場合でも、Accuracyが100%となるケースはほぼないため、モデルが誤った判断をした時の例外対応を定義することが肝要
➢ 機械学習はソフトウェア工学と違い確率の余地が入る世界。通常準委任契約を前提とし、支援する領域の結果が、システム的に担保されるSI
の請負契約とは異なるため、常に間違いが包含されることを理解したPOC前提の導入部分を組み込み、シミュレーションを前提とした試験か
ら、納品可能なレベルで業務運用を設計したのちに、大型システム開発、業務請負へのスケールアウト運用設計という順序を踏む。