狠狠撸

狠狠撸Share a Scribd company logo
MLデザインパターン入門
2021/04/19
(8)Cascade
2
2.問題表現パターン(Problem Representation)
1. データ表現パターン(Data Representation)
2. 問題表現パターン(Problem Representation)
3. モデル訓練パターン(Model Training)
4. レジリエントサービングパターン(Resilient Serving)
5. 再現性パターン(Reproducibility)
6. 責任のあるAIパターン(Responsible AI)
3
2-4. Cascade
4
Cascade 概要
概要
パイプラインフレームワークを使用すると、カスケードは
1つのモデルの出力が次のモデルへの入力 or 後続のモデルを決定する問題
だけでなく、機械学習の問題を一連のML問題に分割できるあらゆる状況に応用可能
問題
通常データと特殊データを同一モデルで扱うのが困難
通常データと特殊データが混在する時、分布に大きな偏りがあるため特殊データの
振る舞いによる予測精度は通常データの振る舞いにより低下する。
解決方法
通常と特殊に分類のうえ、それぞれに訓練したモデルで予測し、最後に集約する。
→層別解析
5
カスケードとは
1つのモデルの出力が次のモデルへの入力 or 後続のモデルを決定する問題
カスケードという。
特殊な状況を伴うことがある機械学習の場合、次の4つのステップを扱う
1.状況を特定するための分類モデル
2.特殊な状況で訓練された1つのモデル
3.通常の状況で訓練された別のモデル
4.出力は2つの出力の確率的組み合わせであるため、
2つの別々のモデルの出力を組み合わせるモデル
6
事例1: 購入商品の返品予測モデル
?顧客が購入した商品を返品する可能性を予測するモデル
?数百万の小売購入者と数千の再販業者という偏在した業者
?返品時期が1w後と数ヶ月後で大きく異なるが、購入時期にはどちらの業者か分からない
カスケードデザインパターンを使用して問題を4つに分ける
1. 特定の取引が再販業者によるものかどうかの予測
2. 小売業者への販売に関する1番目のモデルのトレーニング
3. 再販業者への販売に関する2番目のモデルのトレーニング
4. モデルの出力を組み合わせて、
購入したすべてのアイテムの返品の可能性と、
トランザクションが再販業者によるものである確率を予測
ステップ1
単なる分類問題、異常なアクティビティが非常にまれな場合は、リバランスパターンを使用
ステップ2,3
さまざまなセグメントでトレーニングされた分類モデル
ステップ1の分類予測結果を入力にして後続の返品予測モデルの出力を行う
7
事例2: 自転車レンタル
入力:レンタルの開始時刻、自転車のレンタル元、レンタル者の有無など
予測:自転車をレンタル場所に戻すために必要な距離
?4時間超レンタルする人の行動は、他より極端に異なる行動をとる
?レンタルが4時間より長い確率求め、自転車輸送距離を予測する
step1
レンタル時間が長いか(長時間レンタル、通常レンタル)で
訓練データを二つに分類する
step2
分類モデルの予測を使用して、
通常の場合、長時間の場合の訓練データセットを作成
step3
作成したデータセットを使用して、距離を予測する
モデルを訓練する
step4
3つのモデルの結果から評価を行う
8
事例2: 自転車レンタル
ワークフローパイプライン パターンを使用
してワークフロー全体を自動化することが
おすすめ
step1
レンタル時間で分類
するモデル
step2
通常時間パターンで
訓練データ作成
step3
長い時間パターンで
距離予測するモデル
step2
長い時間パターンで
訓練データ作成
step3
長い時間パターンで
距離予測するモデル
step4
両パターンの予測
結果から評価を行う
9
カスケードパターンとパイプライン
通常のアクティビティと異常なアクティビティの両方で値を予測する
↓
カスケードパターンは、パイプラインフレームワークを使用すると
機械学習の問題を一連のML問題に有益に分割できるあらゆる状況に応用可能
パイプラインフレームワーク KubeflowPipelines
● コンテナで動作する
● 基盤となる機械学習モデルと結合ロジックは様々な言語で記述可能
MLモデルをチェーン化する場合
パイプライン フレームワークの使用が強く推奨される
↓
アップストリームモデルが改訂されるたびに
ダウンストリームモデルが再トレーニングされて、
以前のすべてのトレーニング実行の履歴が確実に得られる
10
トレードオフ
?カスケードは必ずしも best practice でないので多用に注意
機械学習ワークフローがかなり複雑になり、パフォーマンス低下の恐れ
カスケード フレームワーク
同じパイプラインに複数の機械学習モデルを含める
パイプライン フレームワーク
単一の機械学習問題(取り込み、前処理、データ検証、変換、トレーニング、評価、
および展開)に限定すること
11
決定的な入力
MLモデルは複数の要因の組み合わせを学習する必要があるため、
ML問題を分割することは通常よくない
入力から条件を決定論的に知ることができる場合(休日の買い物と平日の買い物)
→モデルへ入力として追加する
極端な値がただ1つの入力にのみ含まれる場合
→ Mixed Input 表現パターンを使用して処理する
カスケードデザインパターンは、
?カテゴリ入力がなく
?複数の入力から極値を学習する必要がある特殊なシナリオ
に活用できる
12
カスケードパターンの注意点
1. 単一のモデルで十分な一般的なシナリオには使用しないこと
例1 顧客の比較購買行動をするかを予測する場合
訪問数や商品がカートに入っている時間、などで単一のモデルで推測可能
→単一モデルで訓練可能な場合は、カスケード不要
1. カスケードは、複数のモデルの予測間で内部の一貫性維持に必要
異常なアクティビティを予測するだけではない。
例2 割引オファーを行うために顧客の購入傾向を予測する場合
割引オファーを行うか、割引額は、顧客が比較購買するかに依存する。
この時、2つのモデル(比較購買客のためのモデルと購入客のためのモデル)の間の
内部一貫性が必要→カスケードデザインパターンが必要
13
訓練済みモデル
カスケードは、訓練済みモデルの出力をモデルへの入力として
再利用する場合にも必要
例 建物のゲートを自動的に開くために、許可された入場者を検出するモデル
入力:OCRで車両のナンバープレートを使用
NG 完全なナンバープレート情報を使用
OK OCRシステムの実際の出力を使用
→OCRシステムにはエラーがあることを認識することが重要なため
14
稀な場合での回帰問題
例 衛星画像から降雨量を予測
99%のピクセルで、雨が降らない
ピクセルごとに「雨が降るか」を予測
↓
モデルが雨の可能性が低いと予測:降雨量をゼロと予測
モデルが雨の可能性が高いと予測:回帰モデルで訓練、降雨量を予測
回帰モデルは、分類モデルが雨が降る可能性が高いと予測する
ピクセルで訓練する
(ラベル付けされたデータセットの雨に対応するピクセルだけでなく)
→補完的な解決策「リバランス」「リフレーミング」参照
カスケードデザインパターンは、
ある値が他の値よりもはるかに一般的である場合で回帰を実行する際に役立つ。
15
Cascade まとめ
解決方法
通常と特殊に分類のうえ、それぞれに訓練したモデルで予測し、最後に集約する。
注意点
● カスケードは必ずしも best practice でないので多用に注意
機械学習ワークフローがかなり複雑になり、パフォーマンス低下の恐れ
● 分類が決定的であれば、本来は入力を加えて単一モデル化すべき
● Rebalancing できるのであればそうすべき
● 複数のモデルの予測間で内部の一貫性維持に必要
● 訓練済みモデルの出力をモデルへの入力として
再利用する場合にも必要

More Related Content

惭尝デザインパターン入门冲颁补蝉肠补诲别