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
13
読みやすいコードを書く技術
intel0tw5727
1
96
Other Decks in Technology
See All in Technology
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
26
7.4k
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
150
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
2
470
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
140
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
22
11k
2.5Dモデルのすべて
yu4u
2
900
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
390
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.4k
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
190
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
130
組織貢献をするフリーランスエンジニアという生き方
n_takehata
2
1.3k
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
400
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
GitHub's CSS Performance
jonrohan
1030
460k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Become a Pro
speakerdeck
PRO
26
5.1k
Embracing the Ebb and Flow
colly
84
4.6k
GraphQLとの向き合い方2022年版
quramy
44
13k
The Cult of Friendly URLs
andyhume
78
6.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
350
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.