More Related Content Similar to 機械学習デザインパターンおよび機械学習システムの品質保証の取り組み (20) More from Hironori Washizaki (20) 機械学習デザインパターンおよび機械学習システムの品質保証の取り組み1. 1
9月8日 基調講演: Valliappa Lakshmanan 氏 (Google, Director
for Data Analytics and AI Solutions on Google Cloud)
“Machine Learning Design Patterns in Industry”
産業界における機械学習デザインパターン
https://ses.sigse.jp/2021/
2021年9月6日
8. 性能・網羅性: メタモルフィックテスティング
• メタモルフィック関係に基づき大量に試験
• 入力への変化により、出力の変化を予想できる関係
• 例: A の検索結果数 ≧ A かつ B の検索結果数
• 例: sin(x) = sin(x + 360度)
8
入力の変化 出力の変化
並び変え
無し
ノイズの追加
意味的に同じもの
統計的に同じもの
経験的に近いもの 僅か
定数の加算、乗算 定数の加算、乗算
狭める 部分集合
全く異なるもの 互いに素
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
8
10. ニューラルネットワークデバッグ(修正)
• 再訓練
• 正攻法であるが、時間・コスト高
• 追加訓練データの検討の難しさ、性能悪化の可能性
• オンライン学習
• 特定データによる逐次学習を通じた修正
• 性能悪化の副作用の可能性
• データ拡充: 生成 [a]、選択 [b]、拡張 [c]など
• モデルのパラメータを直接には修正せず試行錯誤
• 敵対的サンプルに対して脆弱な可能性
• 特定サンプルに応じたパラメータ直接変更
• 要因分析と修正
• 敵対的サンプルに対する特定ラベルに関する修正 [d]
• 失敗データにおける影響個所の探索と修正 [e]
• 参考: 修正仕方全般の実証研究 [f]
10
[a] Generative adversarial nets, NIPS 2014
[b] MODE: automated neural network model debugging via state differential analysis and input selection, ESEC/FSE 2018
[c] Autoaugment: Learning augmentation policies from data, arXiv:1805.09501, 2019
[d] 敵対的サンプルに対するニューラルネットワークモデルの学習無し修正とその評価, JSSST大会 2019
[e] Search Based Repair of Deep Neural Networks, arXiv:1912.12463, 2019
[f] Repairing Deep Neural Networks: Fix Patterns and Challenges, ICSE 2020
11. 敵対的サンプルに対する修正 [e]
• 要因分析: 特定のラベルに対する検証データと誤認識データと
のニューロン出力の平均値の差分による局所化
• 修正: 局所化した個所の重みパラメータの特定修正率による更
新 → 検証データによるデグレ有無の確認
11
[d] 敵対的サンプルに対するニューラルネットワークモデルの学習無し修正とその評価, JSSST大会 2019
検証データに
よる平均値
誤認識データ
による平均値
最優先で修正す
べきニューロン
14. 機械学習工学とパターン(ランゲージ)
• 特定文脈での問題と解決をまとめたもの(のまと
まり)
• 抽象と具象をつなぐ道具: 問題・解決再利用、アーキテ
クチャ一貫
• 様々な関係者間の共通言語
• 設計や要求・プロセスのパターン整理とフレーム
ワークへの統合へ
• 『機械学習デザインパターン ―データ準備、モデル構
築、MLOpsの実践上の問題と解決』(Lakshmananら著, 鷲
崎ら訳, オライリージャパン, 2021年10月予定) Googleプ
ラットフォームチームによる30のパターン,
https://www.amazon.co.jp/dp/4873119561
• 『Software Engineering Patterns for ML Applications』
(SEP4MLA), eAIチームによる系統的文献調査に基づく15
のパターン, https://github.com/eai-transfer/ml-design-
pattern
• 『AIエンジニアのための機械学習システムデザインパ
ターン』澁井雄介(翔泳社, 2021),機械学習のモデルや
ワークフローを本番システムで稼働させる作法,
https://github.com/mercari/ml-system-design-pattern
14
16. データ表現パターン
16
• 様々なデータから機械学習モデルが扱いやすいフィーチャへの表現
パターン 問題 解決
特徴量ハッシュ
Hashed Feature
カテゴリ変数についてとりうる
種類を特定困難。One-hot
encodingではCold-Start問題。
ユニークな文字列としたうえ
でハッシュ値に変換。
埋め込み
Embeddings
One-hot encodingではデータの近
さを扱えない
意味的な近さを表すように特
徴の埋め込み。
特徴量クロス
Feature Cross
もともとの変数群そのままでは
関係に基づく分類や予測が困難
複数のカテゴリ変数の組み合
わせで関係を容易に表現
マルチモーダル入力
Multimodal Input
異なる種別の入力を扱いにくい 分散表現の結合
x × y ラベル
AC +
BC -
AD -
BD +
A
B
C
D
特徴量クロス
マルチ
モーダル
入力
x
y
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
17. 特徴量ハッシュ Hashed Feature
• 問題: カテゴリ変数についてとりうる種類を特定困難。One-hot encodingで
はout-of-vocabulary問題・Cold-Start問題。
• 解決:
• 1. ユニークな文字列へ変換
• 2. 決定的な方法でハッシュ値に変換
• 3. ハッシュ値の設定バケット数(カテゴリ数)の剰余の採用
• 考慮: バケット衝突、他の集約フィーチャ併用、バケット数チューニング
17
One-hot encoding
tf.feature_column.categorical_column_with_hash_bucket(
airport, num_buckets, dtype=tf.dtypes.string
)
Hashed Feature
TensorFlowに
おける実装
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
18. 埋め込み Embeddings
• 問題: カテゴリ数が膨大な場合の難しさ(疎行列化)。One-hot encoding
ではデータの近さを扱えない。
• 解決: 訓練可能な特徴埋め込みレイヤで意味的な近さを表すように小次
元のベクトル化、および、重みの訓練
• 考慮
• 経験則: 次元数 = 元のカテゴリ数の4乗根
• テキスト: 語単位の小次元ベクトル表現、平均をとるなどの集約。Word2Vecや
BERTなどのさらなる意味・文脈考慮。
• 画像: 畳み込みCNN、オートエンコーダなど
18
訓練後のベクトル表現
オートエンコーダ
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
19. 問題表現パターン
19
パターン 問題 解決
問題再設定
Reframing
当初の目的変数や出力で限界 回帰から分類へ変更(逆も)
マルチラベル
Multilabel
出力層の活性化がsoftmaxでは
マルチラベルの扱い困難
出力層の活性化にsigmoidを用いる
アンサンブル学
習Ensembles
バイアス(偏り)とバリアン
ス(分散)のトレードオフ
アンサンブル学習: 学習不足時はブースティ
ング、過学習時はバギングほか
カスケード
Cascade
通常と特殊を同一モデルで扱
い困難
通常と特殊に分類のうえそれぞれに訓練・予
測し集約
中立クラス
Neutral Class
データに主観評価を含むなど
により任意・ランダム性
Yes, NoにMaybeを加えた分類とする
リバランシング
Rebalancing
データセットが不均衡 Accuracy以外評価、ダウンサンプリング、
アップサンプリング、Reframing
ブースティング バギング
マルチラベル アンサンブル学習
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
20. 問題再設定 Reframing
• 問題: 確率的であるため、特に精緻な実数の予測に固執すると
当初の目的変数や出力形式では限界を生じる場合が有る(特
に分布上のピークが複数の場合)。
• 解決: 問題を捉えなおす。特に回帰から分類へ変更する。
• 考慮:
• 数値が重要な場合は逆に回帰へ(例: 都市そのものより緯度・経度)
• 分類への移行方法: 回帰結果による分類、マルチタスク学習
• 真に目的にかなうものか注意(例:おすすめ映画の種類からユーザのク
リック数へと予測問題を変更すると、過剰にクリック数の増大方向)
20
分類が正確な場合 回帰が正確な場合
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
21. カスケード Cascade
• 問題: 通常と特殊を同一モデルで扱い困難
• 解決: 通常と特殊に分類のうえ、それぞれに訓練したモデ
ルで予測し、最後に集約
• 考慮
• 分類が決定的であれば、本来は入力を加えて単一モデル化すべき
• Rebalancingできるのであればそうすべき
21
分類
通常時
の予測
特殊時
の予測
最終
評価
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
22. モデル訓練パターン • 訓練の繰り返し(ループ)の仕方
22
パターン 問題 解決
価値ある過学習Useful
Overfitting
物理シミュレーションのように
全入力を扱える
過学習で良い。実際にはモンテカルロ
法でサンプリングなど
チェックポイント
Checkpoints
複雑なモデルは訓練に時間を要
する
訓練モデル外の情報も含めて全ての状
態をエポック単位で保存・再開
転移学習 Transfer
Learning
非構造データ訓練に巨大データ 転移学習、ファインチューニング
分散戦略 Distribution
Strategy
深層学習モデルの訓練に長時間 並列化による分散学習
ハイパーパラメータ
チューニング
Hyperparameter Tuning
ハイパーパラメータ人手チュー
ニングは長時間・不正確。グ
リッドサーチでは非効率。
外側の最適化ループとしてのハイパー
パラメータチューニング。ベイズ最適
化による効率的探索。
価値ある
過学習
ハイパーパラ
メータチュー
ニング
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
23. 転移学習 Transfer Learning
• 問題: 非構造データ訓練に巨大データ必要。特にテキスト
や画像では汎用のモデルで個別の問題を十分に扱えない。
• 解決: 同種データで訓練済みのモデルによる転移学習
• 考慮: 重みの変更是非
• 特徴量抽出: 重みFix
• ファインチューニング: 重みの更新
23
基準 データ
セット
タスク
の同一
性
許容時
間・コ
スト
特徴量抽
出
小 異なる
タスク
少
ファイン
チューニ
ング
大 同一・
類似タ
スク
多
訓練済みモデル
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
24. レジリエントサービングパターン MLDP
• 訓練モデルをデプロイし人の関与なく弾力的に予測稼働・運用
24
パターン 問題 解決
ステートレスサービング
関数Stateless Serving
Function
モデルの巨大化。訓練時と
稼働時の環境相違
モデルの中核のみエキスポート、ステー
トレスREST APIとしてデプロイ
バッチサービングBatch
Serving
非同期の予測を数多く実施
困難
バッチ処理、分散処理環境下で大量デー
タによる非同期予測
継続的モデル評価
Continued Model
Evaluation
コンセプトドリフト、デー
タドリフト
継続的なモデル評価・モニタリングと再
訓練
2段階予測 Two-Phase
Predictions
エッジデバイス上の縮退さ
れた訓練モデルの性能低下
単純なタスク用のモデルをエッジ、複雑
なものをクラウド上で稼働
キー付き予測 Keyed
Predictions
多数の入力データをスケー
ラブルに扱えない
入力へキー付加、キー付きで出力するこ
とで分散環境下で容易な扱い
キー付き予測
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
25. 継続的モデル評価 Continued Model Evaluation
• 問題: モデルはデプロイした瞬間から劣化していく。背景にある
前提の変化に伴う入力と目標の関係の変化(コンセプトドリフ
ト)、入力データからの予測時データの変化(データドリフト)。
• 解決: 継続的なモデル評価・モニタリングと再訓練
• 考慮
• 閾値による性能と訓練コストのトレードオフ
• オフラインでの古いデータによる学習モデルの新データへの適用評価
25
閾値によ
る変化
古い
データ
最新
データ
学習モ
デル
学習モ
デル
流用
古いデー
タによる
評価
最新デー
タによる
評価
評価メトリクス比較
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
26. 2段階予測 Two-Phase Predictions
• 問題: エッジデバイスへデプロイする縮退訓練モデルの性能低下
• 解決: 単純なタスク用のモデルをエッジ(例: 「OK, Google」の識別
分類)、複雑なものをクラウド上で稼働(例: 音声指示の認識)
• 考慮
• 通信が貧弱な場合に備えてエッジデバイスで完結するオフラインモデル
• センサデータを、エッジで異常判定時のみクラウドへ送信
• エッジデバイス側のモデルの定期的な更新
26
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
27. 再現性パターン • 決定的な出力を得やすく、訓練・開発効率
27
パターン 問題 解決
変換Transform 入力とフィーチャの異なり 変換・前処理の仕方を保存再利用、訓練・
予測時で一貫
繰り返し可能な分割
Repeatable Splitting
ランダムな訓練、検証、テスト
用分割では再現困難
関係を用いたい変数をハッシュ化し剰余に
よりデータ分割
スキーマブリッジ
Bridged Schema
入力データのスキーマが訓練後
に幾らか変更
古いデータを確率的な方法で新データス
キーマへ変換
ウィンドウ推論
Windowed Inference
訓練・運用間の歪みを避けられ
るよう一定の時間枠ごと集約
モデルの状態を外部記録、時間依存の方法
で集約計算された特徴量の一貫利用
ワークフローパイプラ
イン Workflow Pipeline
単一ファイルではスケールせず 各ステップを分けてサービス化
特徴量ストア Feature
Store
アドホックな特徴量エンジニア
リング
プロジェクトやチームを超えた特徴量共有
モデルバージョニング
Model Versioning
モデル更新時の後方互換性困難 モデルバージョンを異なるエンドポイント
提供、比較
(cash, card)
(cash, gift card, debit card, credit card)
変換
ブリッジ化スキーマ
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
28. 責任のあるAIパターン
• 様々な利害関係者へ
のモデルの影響
28
パターン 問題 解決
経験的ベ
ンチマー
クHeuristic
Benchmark
結果の良し悪
しの程度を意
思決定者へ説
明困難
過去との比較や
経験則に基づく
判断
説明可能
な予測
Explainable
Predictions
予測の説明困
難
シンプルなモデ
ル採用、予測結
果における説明
など
公平性レ
ンズ
Fairness
Lens
不均衡データ
に基づく異な
る人々のグ
ループに対す
る問題のある
バイアス
(What-If toolや
Fairness
Indicatorsなどに
よる)訓練前後
のデータセット
の分析、結果比
較、均衡化など
What-If Tool (WIT)による可視化例
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
29. 説明可能な予測 Explainable Predictions
• 問題: 予測の説明困難
• 解決: シンプルなモデル採用、予測結果における説明など
29
原 聡, 私のブックマーク: 機械学習における解釈性, 人工知能 33(5), 2018
原 聡, 私のブックマーク: 説明可能AI, 人工知能 34(4), 2019
AI ・機械学習 グループ, アドバンス・トップエスイー 最先端ソフトウェアゼミ成果発表, 2019
https://www.topse.jp/images/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%BC%E3%83%9F.pdf
分類 概要 例
大域的説
明
近似モ
デル
決定木(Born Again
Trees)
ルール(defragTrees)
局所的説
明
根拠 特徴量(LIME)
データ(influence)
深層学習
モデルの
説明
特に画
像認識
モデル
の根拠
注目領域のハイライト
(SmoothGrad)
説明文生成(Visual
Explanations)
説明可能
なモデル
設計
説明可
能モデ
ル
シンプルなモデルの採用
ルールセット
(Interpretable decision
sets)
短時間
using 19990914 build on win98
using the new account wizard if I
add multiple accounts with the
same server…
長時間
this mean the problem was with
their web page and its cool now or
we still need to figure out what the
actual bug was and fix that…
Y. Noyori, H. Washizaki, et al., “Extracting features related
to bug fixing time of bug reports by deep learning and
gradient-based visualization,” 2021 IEEE International
Conference on Artificial Intelligence and Computer
Applications
例: バグレポートの修正時間予測
の深層学習モデルの説明
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 202129
30. まとめ
• 機械学習システムと品質
• 機械学習品質技術: テスト、修正、フレームワーク
• 『機械学習デザインパターン ―データ準備、モデル構築、
MLOpsの実践上の問題と解決』(Lakshmananら著, 鷲崎ら訳, オ
ライリージャパン, 2021年10月予定)
• https://www.amazon.co.jp/dp/4873119561
• 機械学習モデルおよびシステムの設計の問題、解決、その有効な理
由をコツとしてまとめたデザインパターン集
• 特にGoogleプラットフォーム上で有用、コード例あり
• 個々に代替やトレーオフの考慮解説あり、パターン間の関連あり
30
問題表現
データ表現
モデル訓練
問題表現
データ表現
モデル訓練 モデル訓練
サービング
再現性 再現性
責任AI 責任AI
再現性
責任AI
サービング
サービング
問題表現
データ表現
PoC 開発 運用(MLOps)
31. 実行委員長: 鷲崎 弘宜(早稲田大学)
プログラム委員長: 横川 智教(岡山県立大学)
副プログラム委員長: 戸田 航史(福岡工業大)
ローカル委員長: 坂本一憲、齋藤大輔(早稲田)
会計委員長: 徳本 晋(富士通研究所)
ワークショップ委員長: 大森 隆行(立命館大学)
ポスター委員長: 名倉 正剛(南山大学)
招待論文委員長: 崔 恩瀞(京都工芸繊維大)
出版委員長: まつ本 真佑(大阪大学)
広報委員長: 藤井 拓(オージス総研)、
水野 修(京都工芸繊維大学)
31
ソフトウェアエンジニアリングプロフェッショナル集団や将来それに連なる若手・学生および周
辺の関係者が集い交流するとともに、人々や社会の価値創造に貢献するソフトウェアエンジ
ニアリングに向けた研究、実践、人材育成の研究および実践成果の発表と議論を通じて深化
と拡大を進め、その結果を社会へ発信するとともに更なる深化および拡大の基礎を得る。
https://ses.sigse.jp/2021/
機械学習 関連の発表多数あり
基調講演:
• Forrest Shull 氏 (IEEE Computer Society 2021 会
長, CMU/SEI) :ソフトウェアエンジニアリングの将
来展望
• 込山 俊博 氏(日本電気株式会社エグゼクティブ
エキスパート,ISO/IEC/JTC1 JTC1/SC7/WG6
Convenor):ソフトウェア品質評価のための国際
規格の制定,普及及び活用
• Valliappa Lakshmanan 氏 (Google, Google Cloud
Platform Director): 産業界における機械学習デ
ザインパターン
• 劉 少英 氏(広島大学 教授): ソフトウェア品質保
証とコスト削減のためのテストベース形式検証)
2021年9月6日
32. 主査: 鷲崎 弘宜
幹事: 小川 秀人、伏田 享平、伊原 彰紀、竹
内 広宜、徳本 晋、福田 浩章、横川 智教
運営委員: 33名
情報処理学会ソフトウェア工学研究会 SIGSE 2021年度
1977年創設 45年目 会員約440名 http://www.ipsj.or.jp/sig/se/
プロフェッショナル集団および周辺関係者が集う場を形成し、物理空間とデジタル空間が融合
した社会におけるソフトウェアエンジニアリング確立に向け研究、実践、人材育成の深化と拡
大を通じ社会価値を提供し続ける。
• 場: 周辺と連携し、ソフトウェアエンジニアリング領域のプロフェッショナル集団を形成する
• 参加者数 2020年7月 74名→ 2021年7月110名、SES2020 333名
• 国内外連携: MODELS 2021連携(General Chairs 岸教授、鵜林教授)、SWEBOK策定他
• 研究: 理論とデータに裏付けされて世界発信可能なソフトウェアエンジニアリング研究を促
進して深掘りし広げる
• 発表数 2020年7月 5件→ 2021年7月 9件、卓越研究賞 2020年 7件
• 実践: ソフトウェアエンジニアリングの実践を通じて社会へ実質的な価値を創造し続ける
• 企業主体・産学連携 発表数 2020年7月 1件→ 2021年7月 3件
• 人材育成: ソフトウェアエンジニアリングに関わる人々の成長と次世代育成を促進する
• 推薦博士論文 2020年2件 → 2021年3件
• 渡航支援
研究集会: 11月、2022年3月
シンポジウム/ワークショップ
• SES2021 9月6-8日
• ウィンターワークショップ 2022年1-2月
ワーキンググループ
• 要求工学、国際的研究活動活性化、ソ
フトウェアの評価、産学連携促進ほか
ぜひ入会ください!
33. 参考: enPit-Proスマートエスイー https://smartse.jp
• 文科省 社会人教育 enPiT-Pro AI・IoT×ビジネス
• 正規履修 履修証明プログラム10科目120時間
• 2020年からオンライン中心の短期コース履修も実施中
• 一部JMOOCオンライン提供中、関連内容をセミナー
全国規模の14大学・
研究所ネットワーク
26以上の企業・業界
団体(会員企業5000
超)・自治体との連携
+
+
クラウド
センサ・IoT
人工
知能
ビッグ
データ 生成
知識
抽出
革新
情報処理
アプリケーション
ビジネス
価値
創造
題材・事例
教材・指導
受講生派遣・
外部評価
進学・共同
研究接続
教材・指導
地区展開
スマートエスイー
通信・物理
協力校
33