Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ビジネス利用における長期的な学習モデルの評価
Search
Intel0tw5727
November 16, 2019
Technology
0
250
ビジネス利用における長期的な学習モデルの評価
Intel0tw5727
November 16, 2019
Tweet
Share
More Decks by Intel0tw5727
See All by Intel0tw5727
PyConJP2021に行ってきたログ.pdf
intel0tw5727
0
11
読みやすいコードを書く技術
intel0tw5727
1
95
Other Decks in Technology
See All in Technology
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
200
AGIについてChatGPTに聞いてみた
blueb
0
130
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
690
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
AI前提のサービス運用ってなんだろう?
ryuichi1208
8
1.4k
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
The Language of Interfaces
destraynor
154
24k
Music & Morning Musume
bryan
46
6.2k
GitHub's CSS Performance
jonrohan
1030
460k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Teambox: Starting and Learning
jrom
133
8.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Site-Speed That Sticks
csswizardry
0
28
Transcript
ビジネス利⽤における ⻑期的な学習モデルの評価 いんてる(@Intel0tw5727) © 2019 Chura DATA inc. PROPRIETARY &
CONFIDENTIAL.
Who am I?(お前誰) • いんてる(@Intel0tw5727) です。 • 県内⼩中⾼⼤を経て今年新卒で⼊社 • ちゅらデータの筋⾁アナリスト
• バーベル110kgスクワットできます • ダンベルプレス⽚⼿20kgできます • ⾃分の好きな筋⾁は上腕三頭筋 です © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
AGENDA © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. •
⻑期的な学習モデル開発に必要なもの • モデルをいろんな⽅⾯から評価する • ⾯倒なモデル評価を楽にする⽅法 今⽇話す内容
© 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. ⻑期的な学習モデル開発に必要なもの
趣味開発だとやりがちな評価例 • とりあえず精度指標だけを表⽰して判断する • 学習⽤・テスト⽤・評価⽤でデータを分割してればOK © 2019 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL.
趣味開発だとやりがちな評価例 • とりあえず精度指標だけを表⽰して判断する • 学習⽤・テスト⽤・評価⽤でデータを分割してればOK © 2019 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL. モデルは︖
ブラックボックスで済ませてはいけない • ビジネスでは作成したモデルが妥当である説明が必要 • なぜこのアルゴリズムが問題に適しているのか︖ • 予測結果は期待したものになっているのか︖ • 実サービスで収集されて増加するデータにも対応できるのか︖ •
ただ⾼精度なモデルを作るだけではいけない(戒め) © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
正しいフローで分析を回す • ⼀般的なモデル開発案件では納品で完了するが、⻑期的なモデル 開発では、増えたデータに対して継続的に更新を⾏う必要が、 ある。 © 2019 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL.
⻑期的なモデル開発に必要なもの • モデルの問題を早期に発⾒できて改善できる仕組み • 学習データが偏っている可能性 • 前処理が適切に⾏われていない • 学習⼿法が悪い •
パラメータチューニングに失敗している • 各フローでの評価するポイントについて話します。 © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
© 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. モデルをいろんな⽅⾯から評価する
(機械学習)特徴量に注⽬した評価 • 基本的な前処理を⾏った特徴量をベースに、新しい特徴量を 加える前後で精度変化を⾒る。 • 例: 体重を予測するために「炭⽔化物」の特徴量の有無で精度変化を⾒る © 2019 Chura
DATA inc. PROPRIETARY & CONFIDENTIAL. 精度:50% 精度:80% 精度が向上︕
(機械学習)特徴量に注⽬した評価 • 決定⽊アルゴリズムなどでは特徴量が分岐する⽊に何回 使⽤されたかを数えることで寄与度を測る⽅法もある。 © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL. 決定⽊の学習結果を可視化 分岐に使⽤された回数
⼿法に注⽬した評価 • 学習に使⽤する⼿法を複数⽤意し、それぞれに最適化された ハイパーパラメータとその結果を同じ精度指標で⽐較する。 © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL.
⼿法に注⽬した評価のポイント • 学習とチューニングに時間がかかるため、開発時間が限られている 場合はミニマムな環境でサイクルを回す必要がある。 • データを最⼩限にして事前にどれくらいの精度が出せるかを確認する (数万あるデータを数百程度で回してみる) • 学習回数を制限する (数⼗回程度を最⼤として学習を回す)
• グリッド・ランダムサーチを制限する (試⾏するパラメータを減らす・ランダムサーチの試⾏回数を減らす) © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
パラメータに注⽬した評価 • 学習に使⽤する⼿法を統⼀して、複数のパラメータチューニング 結果を⽐較する⽅法 © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL. 学習率(learning_late) 分岐する⽊の数(n_estimators) に注⽬してパラメータ評価を ⾏うことで、サイクルを回す 過程で局所解に陥ることを 避けるような働きがある
パラメータに注⽬した評価のポイント • 収集して増え続けるデータでの学習に対して、データの異常検知を ⾏うことができる。 • 最適化されたパラメータを固定して、データを増える前後で学習させる ことで予期しない情報を含んだデータが増えているかを検知できる © 2019 Chura
DATA inc. PROPRIETARY & CONFIDENTIAL. 学習率 = 0.05 分岐⽊数 = 1024 データ数 = 10000 学習⽇ = 2019-10-15 学習率 = 0.05 分岐⽊数 = 1024 データ数 = 15000 学習⽇ = 2019-11-15 学習率 = 0.05 分岐⽊数 = 1024 データ数 = 20000 学習⽇ = 2019-12-15 精度: 85% 精度: 87% 精度: 69%
© 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. ⾯倒なモデル評価を楽にする⽅法
MLFlowがおすすめ • 機械・深層学習フローにおいて実⾏環境・パラメータ・評価結果 などの管理を⾏うライブラリ © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL. 今回の話はTrackingの機能
パッとみてパラメータの変化を知ることができる © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. ・試⾏内容
・使⽤パラメータ ・評価指標 が表で⼀⽬ みるだけで わかる︕
理想的な開発環境 • これをDockerでドカドカしたい (希望・これからやる・コーナーで差をつけろ) © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL. 分析環境 コード管理 ワークフロー管理 学習モデル・パラメータ保存 モデル・パラメータ管理
© 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. まとめ
⻑期的にモデルを評価すること • モデルの問題を早期に発⾒できて改善 • 経験則ではなくデータやモデルに基づいて修正できる • モデルの性能が良い・悪い根拠を様々なフローから解き明かす • ブラックボックスを少しでも解き明かすことで、⾃分の作ったモデルに ⾃信が⽣まれる
• MLFlowを使うことでグラフィカルに性能評価ができる • 現状MLFlowを使っているだけなので、もっと便利な学習マネジメント ライブラリが出たら触ってみたいな © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
⼒がほしいか・・・ • ちゅらデータでは筋⾁アナリストを募集中︕((( • 健康的な体を⼿に⼊れながら、データ分析もできる︕ • もれなくintelが⾷事から運動まで全⾯サポートします • データ分析に興味があるなら、⾃分の⾝体のデータを集めて 分析してみませんか︖
• 不定期ですがだいたい隔週⽊曜⽇に筋トレ会をしているので、 興味がある⽅は懇親会でお声がけください︕ © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
ビジネス利⽤における ⻑期的な学習モデルの評価 ご清聴ありがとうございました © 2019 Chura DATA inc. PROPRIETARY &
CONFIDENTIAL.
Appendix • 超細かく説明してくれる神参考リンク • mlflowを使ってデータ分析サイクルの効率化する⽅法を考える • https://qiita.com/masa26hiro/items/574c48d523ed76e76a3b • MLflow 1.0.0
リリース︕機械学習ライフサイクルを始めよう︕ • https://qiita.com/fam_taro/items/155912068ff475a53e44 • 機械学習で泣かないためのコード設計 • https://www.slideshare.net/takahirokubo7792/2018-97367311 © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.