Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Practical Machine Learning

Introduction to Practical Machine Learning

機械学習に携わる業務をするなかで必要になった、機械学習アルゴリズム以外の知識について概要を共有します。主に MLOps 周りと、その立ち上げに必要なものです。

## Data science for software engineers

有賀 康顕, 中山 心太, 西林 孝著「仕事ではじめる機械学習 第 2 版」 オライリー・ジャパン 2021 年 https://www.oreilly.co.jp/books/9784873119472/
Miguel A. Hernán, John Hsu & Brian Healy (2019) A Second Chance to Get Causal Inference Right: A Classification of Data Science Tasks, CHANCE, 32:1, 42-49, DOI: 10.1080/09332480.2019.1579578 https://www.tandfonline.com/doi/full/10.1080/09332480.2019.1579578
読書メモ データサイエンスを記述と予測と因果推論に分類する https://zenn.dev/asei/articles/second-chance-to-get-causal-inference-right
佐々木 敏 著 2018 年度夏学期「疫学研究と実践」 講義資料 http://www.nutrepi.m.u-tokyo.ac.jp/lecture/lecture.html
佐々木 敏 著「佐々木敏の栄養データはこう読む! 第2版」 女子栄養大学出版部 2020 年 https://eiyo21.com/book/9784789554596/
聴講コース 臨床研究者のための生物統計学 - 京都大学 OCW https://ocw.kyoto-u.ac.jp/course/328/
滋賀大 DS ビデオ 統計的因果推論入門 - YouTube https://www.youtube.com/playlist?list=PLL4x1Hu-A7jyQvYG3oTidZJJ6-fRF4d4l

## Introduction to MLOps

MLOps: 機械学習における継続的デリバリーと自動化のパイプライン - Google Cloud https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr - Slideshare https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
Melissa Perri 著, 吉羽 龍太郎 訳 「プロダクトマネジメント――ビルドトラップを避け顧客に価値を届ける」 オライリー・ジャパン 2020 年 https://www.oreilly.co.jp/books/9784873119250/
Peter Wang, Srinath Sibi, Brian Mok, and Wendy Ju. 2017. Marionette: Enabling On-Road Wizard-of-Oz Autonomous Driving Studies. In Proceedings of the 2017 ACM/IEEE International Conference on Human-Robot Interaction (HRI '17). Association for Computing Machinery, New York, NY, USA, 234–243. DOI:https://doi.org/10.1145/2909824.3020256
解説記事 HRI2017: "Marionette: Enabling On-Road Wizard-of-Oz Autonomous Driving Studies" - Farma's Study Desk
香川編集長 トヨタ生産方式 取材フル (生産量を「100 倍」にしたトヨタ生産方式の秘密) | トヨタイムズ - YouTube https://youtu.be/GGJt8VUu4cc
Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」 MANNING PUBLICATIONS https://www.manning.com/books/human-in-the-loop-machine-learning
堀田 創, 尾原 和啓 著「ダブルハーベスト」ダイヤモンド社 2021 年 https://www.diamond.co.jp/book/9784478111017.html
ゆずたそ, はせりょ 著「データマネジメントが 30 分でわかる本」オンデマンド 2020 年 https://www.amazon.co.jp/dp/B087R6P8NZ/

## Human in the Loop

堀田 創, 尾原 和啓 著「ダブルハーベスト」ダイヤモンド社 2021 年 ヒューマン・イン・ザ・ループのアプローチ https://www.diamond.co.jp/book/9784478111017.html
機械学習と Human-in-the-Loop で優勝する違反検知の話 - メルカリエンジニアリング https://engineering.mercari.com/blog/entry/2020-03-25-180000/
Tesla Autonomy Day - YouTube https://youtu.be/Ucp0TTmvqOE?t=7714
解説 Tesla's Data Engine and what we should learn from it https://www.braincreators.com/brainpower/insights/teslas-data-engine-and-what-we-should-all-learn-from-it
How Google does Machine Learning 日本語版 - Coursera https://www.coursera.org/learn/google-machine-learning-jp
Machine Learning - Human Interface Guidelines https://developer.apple.com/design/human-interface-guidelines/machine-learning/overview/introduction/
People + AI Guidebook https://pair.withgoogle.com/guidebook/
People + AI Guidebook - PAIR https://pair.withgoogle.com/guidebook/
有志による和訳 人にうれしい AI のための UX デザインガイド(People + AI Guidebook) https://storywriter.jp/pair/
Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」 MANNING PUBLICATIONS https://www.manning.com/books/human-in-the-loop-machine-learning
令和元年版 情報通信白書 - 総務省 https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r01/index.html
Fairness Indicators for TensorFlow (TF Dev Summit '20) - YouTube https://youtu.be/JF4TbOw_32k
Sahin Cem Geyik, Stuart Ambler, and Krishnaram Kenthapadi. 2019. Fairness-Aware Ranking in Search & Recommendation Systems with Application to LinkedIn Talent Search. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '19). Association for Computing Machinery, New York, NY, USA, 2221–2231. DOI:https://doi.org/10.1145/3292500.3330691
arXiv [1905.01989] Fairness-Aware Ranking in Search & Recommendation Systems with Application to LinkedIn Talent Search https://arxiv.org/abs/1905.01989
解説 https://ohtaman.github.io/slides/tfug/paper_reading/20200520.html
Fairness Indicators for TensorFlow (TF Dev Summit '20) - YouTube https://youtu.be/JF4TbOw_32k

## Appendix: Skills of MLOps Team

Jonathan Rasmusson 著, 島田 浩二, 角谷 信太郎 訳「ユニコーン企業のひみつ」 オライリー・ジャパン 2021 年 https://www.oreilly.co.jp/books/9784873119465/

Asei Sugiyama

May 07, 2021
Tweet

More Decks by Asei Sugiyama

Other Decks in Technology

Transcript

  1. Introduction to
    Practical Machine Learning
    Asei Sugiyama

    View Slide

  2. ⽬的
    機械学習を実⽤するにあたり必要になった、機械学習アルゴリズム以外
    の知識を共有します

    View Slide

  3. 要旨
    機械学習アルゴリズム以外にも Human in the Loop なサービス設計,
    Experimental Design (実験デザイン), Data Processing, Data
    Management に関するスキルが必要
    必然的にチーム戦になるものの ML は複雑なため DevOps との対⽴が⽣
    じる、MLOps はこの対⽴を解消する試みの総称
    機械学習にいきなり⾶びつくのではなく、そこまでの段階を計画
    ⼈から継続的にフィードバックを受けられる Human in the Loop な仕組
    みを構築することが重要

    View Slide

  4. TOC
    Data Science for Software Engineers Introduction to MLOps
    Human in the Loop
    Recap
    Appendix

    View Slide

  5. Data Science for Software Engineers
    データを⽤いて取り組むタスクには、記述・予測・因果推論がある
    機械学習は、収集されたデータセットをもとにした観察研究と位置づけ
    られる
    集めたデータの品質はデータの収集・集計で決まる
    交絡の制御は実験デザインで⾏う
    介⼊効果の推定には A/B テスト (ランダム化⽐較試験) が必要

    View Slide

  6. TOC
    Types of Machine Learning Tasks
    Types of Data Science Tasks
    Types of Studies
    Clinical Research vs Social Epidemiology
    Hard Problems of Data Science
    Recap

    View Slide

  7. Types of Machine Learning Tasks
    Types
    教師あり
    教師なし
    強化学習
    コードだけではなく、コードとデータが振る
    舞いを決める
    有賀 康顕, 中⼭ ⼼太, ⻄林 孝著「仕事ではじめる機械学習 第2版」 オライリー・ジャパン 2021年
    https://www.oreilly.co.jp/books/9784873119472/

    View Slide

  8. Types of Data Science Tasks
    Types
    記述
    予測
    因果推論
    画像認識は記述
    機械翻訳は予測 + 探索
    マーケティングの効果の推定は因果推論
    因果推論はデータだけでは困難 (後述)
    Miguel A. Hernán, John Hsu & Brian Healy (2019) A Second Chance to Get Causal Inference Right: A
    Classification of Data Science Tasks, CHANCE, 321, 42-49, DOI: 10.1080/09332480.2019.1579578

    View Slide

  9. Types of Studies (1/3)
    観察研究
    記述研究
    分析研究
    横断研究
    縦断研究
    介⼊研究
    系統的メタアナリシス
    佐々⽊ 敏 著 2018年度夏学期「疫学研究と実践」 第1回講義資料 p.8
    http://www.nutrepi.m.u-tokyo.ac.jp/lecture/180406SPH.pdf

    View Slide

  10. Types of Studies (2/3)
    分析研究: ⼤規模な調査を⾏
    ってデータを収集し、集計
    を⾏って変化を追跡
    機械学習モデルの訓練は基
    本的に観察研究
    オフラインのデータセット
    を⽤いる場合、⾏っている
    のは分析研究
    佐々⽊ 敏 著 2018年度夏学期「疫学研究と実践」 第1回講義資料 p.8
    http://www.nutrepi.m.u-tokyo.ac.jp/lecture/180406SPH.pdf

    View Slide

  11. Types of Studies (3/3)
    機械学習の効果測定には、
    介⼊研究 (A/B テスト) が必

    機械学習は関連・原因の仮
    説⽴案を楽にするもの
    機械学習の効果は未知、あ
    くまでも予測 (Uplift
    modeling でも同じ)
    佐々⽊ 敏 著 2018年度夏学期「疫学研究と実践」 第1回講義資料 p.8
    http://www.nutrepi.m.u-tokyo.ac.jp/lecture/180406SPH.pdf

    View Slide

  12. 相関 ≠ 因果
    ⼈出が多いと列⾞
    の本数は多い
    ⼈出が少ないと列
    ⾞の本数は少ない
    列⾞の本数を減ら
    しても⼈出は減ら
    ない
    「【速報】減便の⼭⼿線など あすは通常ダイヤに JR東⽇本
    などの混雑を受けて(NHKニュース)」 - Twitter
    https://twitter.com/livedoornews/status/1390167796340776
    s=20

    View Slide

  13. Clinical Research vs Social Epidemiology (1/3)
    疫学の次の 2 つの分野を取り上げる
    臨床試験
    特定の疾患をもつ患者に対する特定の治療効果の推定
    狭い対象領域であっても社会的な意義につながることがある
    公衆栄養学
    ⽣活習慣や⾷⽂化の健康に及ぼす影響を知る
    広く改善を⾏うことが社会的な意義につながる
    重症患者に対する効果的な栄養補給はここでは臨床試験に含める

    View Slide

  14. Clinical Research vs Social Epidemiology (2/3)
    公衆栄養学のほうがはっきりとした結論にな
    りにくい
    「重度の糖尿病患者」よりも「⽇々の⽣活を
    健康的に過ごしている成⼈(20 歳〜70 歳)」
    のほうが多様
    多様な患者に対する介⼊ははっきりとした効
    果が出にくい
    対照群の設定 (着⽬する集団の定義) が重要
    佐々⽊ 敏 著「佐々⽊敏の栄養データはこう読む! 第2版」 ⼥⼦栄養⼤学出版部 2020年
    https://eiyo21.com/book/9784789554596/

    View Slide

  15. Clinical Research vs Social Epidemiology (3/3)
    ⼀定期間経過後の⽣存/死亡よりも、⼀⽇の総
    摂取塩分のほうが測定困難
    前者は公的に収集する仕組みがある、後者は
    2 ⽇間 (24h x 2) の尿中⾷塩量から測定
    ⼀⼈ひとりに「丁寧にお願い」するデータの
    品質向上が必要
    データの測定⽅法に注意が必要
    佐々⽊ 敏 著「佐々⽊敏の栄養データはこう読む! 第2版」 ⼥⼦栄養⼤学出版部 2020年
    https://eiyo21.com/book/9784789554596/

    View Slide

  16. Hard Problems
    of Data Science
    交絡
    因果推論の根本問題
    image from Why Metaflow - Metaflow

    View Slide

  17. 交絡
    集めたデータに交絡がない
    ことは保証できない
    後から調整する場合でも、
    収集していない特徴に基づ
    く調整はできない
    交絡の制御は集計対象と集
    計⽅法の設計が必要
    京都⼤学 ⼤学院医学研究科 聴講コース 臨床研究者のための⽣物統計学「交絡と
    その調整」佐藤 俊哉(医学研究科教授) - YouTube
    https://youtu.be/ybdkQFEdCPM

    View Slide

  18. 因果推論の根本問題
    反事実そのものは観測する
    ことができない
    データから介⼊効果の推定
    するためには検証困難な仮
    定が必要
    介⼊効果の推定にはランダ
    ム化⽐較試験 (A/B テスト)
    が必要
    因果探索⼊⾨ (2/4). 清⽔昌平 (滋賀⼤学データサイエンス学系) - YouTube
    https://youtu.be/qP2hgkd5ohk

    View Slide

  19. Recap
    データを⽤いて取り組むタスクには、記述・予測・因果推論がある
    機械学習は、収集されたデータセットをもとにした観察研究と位置づけ
    られる
    集めたデータの品質はデータの収集・集計で決まる
    交絡の制御は実験デザインで⾏う
    介⼊効果の推定には A/B テスト (ランダム化⽐較試験) が必要

    View Slide

  20. TOC
    Data Science for Software Engineers
    Introduction to MLOps Human in the Loop
    Recap
    Appendix

    View Slide

  21. Introduction to MLOps
    MLOps: ML と DevOps の対⽴の解消
    バージョン管理の対象はコード + データ (IaC + データ管理)
    DevOps に加えて次の 4 つの分野のスキルが必要
    Human in the Loop なサービス設計
    Experimental Design
    Data Management
    Data Processing

    View Slide

  22. ToC
    What is the MLOps?
    Why MLOps?
    MLOps Team Roles and Responsibilities
    Additional Skill sets for MLOps

    View Slide

  23. What is the MLOps?
    Google Cloud のドキュメントより引⽤
    MLOps は、ML システム開発(Dev)と ML システム オペレーション
    (Ops)の統合を⽬的とする ML エンジニアリングの⽂化と⼿法です。
    MLOps を実践すると、統合、テスト、リリース、デプロイ、インフラ
    ストラクチャ管理など、ML システム構築のすべてのステップで⾃動化
    とモニタリングを推進できます。
    ざっくりと DevOps + ML なものの、CI/CD に Continuous Training が
    加わる点は異なる
    MLOps: 機械学習における継続的デリバリーと⾃動化のパイプライン - Google Cloud https://cloud.google.com/architecture/mlops-continuous-delivery-and-
    automation-pipelines-in-machine-learning

    View Slide

  24. Continuous Training
    機械学習モデルの訓練・デ
    プロイを⾃動化
    コード だけでなくデータの
    バージョン管理が必要
    時系列データではデプロイ
    の基準を決めやすい (とりあ
    えず最新が可能)
    MLOps: 機械学習における継続的デリバリーと⾃動化のパイプライン - Google
    Cloud https://cloud.google.com/architecture/mlops-continuous-delivery-
    and-automation-pipelines-in-machine-learning

    View Slide

  25. Why MLOps?
    Why DevOps?
    Machine Learning vs DevOps
    Machine Learning vs Product Management
    MLOps: Defeat conflicts to provide values

    View Slide

  26. Why DevOps? (1/2)
    Dev vs Ops
    Dev: 顧客に新しい価値を早く提供し
    たい、多少不安定になるかもしれな
    いが運⽤が頑張れば良い
    Ops: 顧客に安定的に価値を提供した
    い、新機能の追加で不安定になるこ
    とは受け⼊れられない
    10+ Deploys Per Day: Dev and Ops Cooperation at Flickr - Slideshare
    https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

    View Slide

  27. Why DevOps? (2/2)
    Dev vs Ops から Dev & Ops に移⾏
    しようという提案 (2008)
    「顧客に価値をすばやく安定的に提
    供しよう」という提案
    この提案に基づくのが DevOps
    DevOps: Dev と Ops の協調
    10+ Deploys Per Day: Dev and Ops Cooperation at Flickr - Slideshare
    https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

    View Slide

  28. Machine Learning vs DevOps (1/2)
    機械学習はシステムに新たな複雑さをもたらす
    Sculley, D. and Holt, Gary and Golovin, Daniel and Davydov, Eugene and Phillips, Todd and Ebner, Dietmar and Chaudhary, Vinay and Young, Michael and
    Crespo, Jean-Fran\c{c}ois and Dennison, Dan (2015) Hidden Technical Debt in Machine Learning Systems, Advances in Neural Information Processing
    Systems 28 (NIPS 2015) https://proceedings.neurips.cc/paper/2015/hash/86df7dcfd896fcaf2674f757a2463eba-Abstract.html

    View Slide

  29. Machine Learning vs DevOps (2/2)
    データサイエンティストと開発者の間の新たな対⽴
    ML: 顧客にデータを使って価値を提供したい、システムが複雑にな
    るのは仕⽅がない
    DevOps: 顧客にシンプルな⽅法で価値を提供したい、システムの複
    雑化はコストが嵩むので避けたい
    究極的には両者の⽬的は同じなので対⽴は解消できる
    「顧客にデータを使って安定的に素早く価値を提供したい」というよう
    に対⽴を解消する

    View Slide

  30. Machine Learning vs
    Product Management (1/2)
    Product Manager (PdM) との間にも価値観の
    対⽴がある
    PdM: ユーザーに素早く価値を提供し、プロダ
    クトを徐々に作り込みながらデータドリブン
    ですすめる
    ML: ⼗分な質のデータがすでにあり、そこか
    ら機械学習により価値を提供する
    Melissa Perri 著, 吉⽻ ⿓太郎 訳 「プロダクトマネジメント――
    ビルドトラップを避け顧客に価値を届ける」 オラ
    イリー・ジャパン 2020年 https://www.oreilly.co.jp/books/9784873119250/

    View Slide

  31. Machine Learning vs
    Product Management (2/2)
    データがなくても機械学習を適⽤す
    るワークフローが⽣み出す価値の検
    証は可能
    Wizard-of-Oz (オズの魔法使い)
    サービスを成⻑させてスケールメリ
    ットをデータで強化する
    Peter Wang, Srinath Sibi, Brian Mok, and Wendy Ju. 2017. Marionette: Enabling On-Road
    Wizard-of-Oz Autonomous Driving Studies. In Proceedings of the 2017 ACM/IEEE
    International Conference on Human-Robot Interaction (HRI '17). Association for Computing
    Machinery, New York, NY, USA, 234–243. DOI:https://doi.org/10.1145/2909824.3020256

    View Slide

  32. MLOps: Defeat conflicts to provide values
    MLOps は ML とソフトウェア開発の間の対⽴を解消する取り組み
    具体的なプラクティスはいくつか出てきたものの、プラクティスに従う
    ことではなく⾃分たちの問題解決が重要 (⾃分たちが考える MLOps で良
    い)
    ⾔い換えると、機械学習により顧客に価値提供ができるチーム作りだと
    ⾔える

    View Slide

  33. ものづくりは⼈づくり
    ⾹川編集⻑ トヨタ⽣産⽅式 取材フル (⽣産量を「100倍」にしたトヨタ⽣産⽅式の秘密) | トヨタイムズ - YouTube https://youtu.be/GGJt8VUu4cc

    View Slide

  34. MLOps Team Roles and Responsibilities
    Product Manager (Product Owner)
    機械学習システムで⽣み出す価値について責任を追う
    Software Engineer
    機械学習システムが動作することについて責任を追う
    Data Engineer, DevOps Engineer, Application Engineer を含む
    Data Scientist
    機械学習システムの動作状況について、意思決定に資する情報提供
    へ責任を追う

    View Slide

  35. Skills for MLOps
    DevOps Skills
    Product Management
    Software Development + IoC, CI/CD, Monitoring, etc.
    Data Science
    Human in the loop なエコシステムの設計
    Experimental Design
    Data Management
    Data Processing

    View Slide

  36. Human in the loop
    システムの中⼼に⼈間を据
    えるシステム設計
    システムのコンポーネント
    の 1 つとして⼈を置く
    本資料での以降の中⼼的な
    話題
    Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」
    MANNING PUBLICATIONS https://www.manning.com/books/human-in-the-
    loop-machine-learning
    堀⽥ 創, 尾原 和啓 著「ダブルハーベスト」ダイヤモンド社 2021年
    https://www.diamond.co.jp/book/9784478111017.html

    View Slide

  37. Experimental Design
    データの利⽤前に次を決めておくこ
    とで、データ分析の妥当性を向上さ
    せる技術
    収集対象と⽐較対象
    収集⽅法
    集計⽅法と分析⽅法
    さまざまな知識と経験の集合体で、
    上にとどまらない
    G. D. ラクストン, N. コルグレイヴ 著 ⿇⽣⼀枝, 南條郁⼦ 訳「⽣命科学の実験デザイン[第4
    版]」名古屋⼤学出版会 2019年 https://www.unp.or.jp/ISBN/ISBN978-4-8158-0950-8.html

    View Slide

  38. Data Management
    データを資産と捉え、体系的に価値
    を引き出すための⼿法
    狭義では⼊⼒されたデータを解析で
    きる状態にするまでの品質管理
    ゆずたそ, はせりょ 著「データマネジメントが30分でわかる本」オンデマンド 2020年
    https://www.amazon.co.jp/dp/B087R6P8NZ/

    View Slide

  39. Recap
    MLOps: ML と DevOps の対⽴の解消
    バージョン管理の対象はコード + データ (IaC + データ管理)
    DevOps に加えて次の 4 つの分野のスキルが必要
    Human in the Loop なサービス設計
    Experimental Design
    Data Management
    Data Processing

    View Slide

  40. TOC
    Data Science for Software Engineers
    Introduction to MLOps
    Human in the Loop Recap
    Appendix

    View Slide

  41. Human in the Loop
    Human in the Loop は⼈間をシステムのコンポーネントの 1 つとして配
    置し、フィードバックループを作ることで継続的に品質の⾼いデータが
    ⼊⼿できるようにするサービス設計パターン
    背景にあるのはスケールメリット、スケールしない⼈間というリソース
    を機械学習の⼒でスケールさせる
    ユーザーがサービスを使っていると⾃然に学習データを⼊⼒するような
    UX デザインが必要
    いきなり機械学習から始めるのではなく、ステップを踏んでサービスを
    成⻑させることが⼤事

    View Slide

  42. TOC
    Background
    Purpose of this section
    Human in the Loop
    Case Study
    Technologies behind the Human in the Loop
    Considerations
    Recommendations
    Recap

    View Slide

  43. Background
    機械学習は実世界への適⽤が難しいことが知られている
    経験上うまくいった機械学習の活⽤⽅法に、Active Learning を参考にし
    たワークフローがある
    mercari と cookpad でも類似のパターンを⽤いており再現性がある
    Google は How Google Does Machine Learning で Human in the Loop
    とこれを呼び、活⽤を推奨している
    最近では仕事ではじめる機械学習 第 2 版や機械学習による実⽤アプリケ
    ーション構築、ダブルハーベストといった書籍でも触れらており、重要
    性が増している

    View Slide

  44. Purpose of This Section
    機械学習のサービス設計パターンの 1 つである Human in the Loop を知
    ることで、機械学習サービスの⽴ち上げに関する検討を開始できるよう
    にする

    View Slide

  45. Human in the Loop (1/2)
    ⼈間は AI のサポートによって潜在能⼒を開花させ、AI
    は⼈間の教育によってさらに賢くなる。(中略)このよ
    うな⼈間と AI のコラボレーションは「ヒューマン・
    イン・ザ・ループ(HITLHuman-in-the-Loop)」と呼
    ばれ、単なる「⾃動化(Automation)」とは区別されて
    いる。
    技術者向けの記述ではないため割り引いて読む必要がある
    もの、コンセプトは説明されている
    堀⽥ 創, 尾原 和啓 著「ダブルハーベスト」ダイヤモンド社 2021年 ヒューマン・イン・ザ・ループのアプローチ
    https://www.diamond.co.jp/book/9784478111017.html

    View Slide

  46. Human in the
    Loop (2/2)
    データからモデル
    を作成
    モデルのアウトプ
    ットを⼈が修正
    修正結果をデータ
    セットに蓄積し、
    再学習
    堀⽥ 創, 尾原 和啓 著「ダブルハーベスト」ダイヤモンド社
    2021年 ヒューマン・イン・ザ・ループのアプローチ
    https://www.diamond.co.jp/book/9784478111017.html

    View Slide

  47. Case Study
    事例 1. mercari
    事例 2. cookpad
    事例 3. TESLA
    事例 4. Google 翻訳

    View Slide

  48. 事例 1. mercari
    違反出品検知システムで
    Human in the Loop を利⽤
    違反出品に該当するアイテ
    ムはさまざまな事情で更新
    される (例: マスク)
    ⼈間の判断をもとにデータ
    セットを更新し、再学習さ
    せている
    機械学習とHuman-in-the-Loopで優勝する違反検知の話 - メルカリエンジニア
    リング https://engineering.mercari.com/blog/entry/2020-03-25-180000/

    View Slide

  49. 事例 2. cookpad (1/2)
    問い合わせ窓⼝での利⽤
    ユーザーからの問い合わせ
    をサポートスタッフが⼿動
    でカテゴリーに分類
    カテゴリーは 100 種類以上
    機械学習を⽤いてユーザーのご意⾒分類業務を効率化した話 - クックパッド開発
    者ブログ https://techlife.cookpad.com/entry/2018/08/08/170000

    View Slide

  50. 事例 2. cookpad (2/2)
    カテゴリーを推薦
    ⼈⼿で選択、結果を保存
    再学習してモデルを更新
    機械学習を⽤いてユーザーのご意⾒分類業務を効率化した話 - クックパッド開発者ブログ
    https://techlife.cookpad.com/entry/2018/08/08/170000

    View Slide

  51. 事例 3. TESLA
    ⾃動運転
    判定結果と運
    転操作が⽭盾
    した画像を⾃
    動的に収集
    学習データと
    テストデータ
    に追加
    Tesla Autonomy Day - YouTube
    https://youtu.be/Ucp0TTmvqOE?t=7714

    View Slide

  52. 事例 4. Google 翻訳
    ユーザーが翻訳結果にフィードバックを加えられる
    フィードバックした結果は翻訳結果の向上に⽤いられる (おそらく直接
    ではない)

    View Slide

  53. Technologies behind the Human in the Loop
    Product Management
    UX Design
    Data Management
    Algorithm

    View Slide

  54. Product Management (1/2)
    いきなり機械学習を前提にするのは
    典型的な悪⼿ (Rule #1)
    プロダクトの状態を監視できるよう
    な指標をまず設計し監視できるよう
    にする (Rule #2)
    ヒューリスティックが複雑になり、
    ⼿に負えなくなってきたら機械学習
    を⼊れる (Rule #3)
    Rules of Machine Learning - Google Developers https://developers.google.com/machine-
    learning/guides/rules-of-
    ml/#rule_1_donʼt_be_afraid_to_launch_a_product_without_machine_learning

    View Slide

  55. ML pitfalls
    データがない
    のに検討
    使えるデータ
    があると思い
    込む
    ⼈を配置し忘
    れる
    etc...
    機械学習の秘訣 (How Google Does Machin
    Coursera
    https://coursera.org/share/f8057e32329c

    View Slide

  56. Product
    Management (2/2)
    データ活⽤の Step
    . ⼩さく始める
    . 標準化
    . システム化
    . データ分析
    . 機械学習
    機械学習とビジネス プロセス (How Google Does Machine
    Learning ⽇本語版) - Coursera
    https://www.coursera.org/learn/google-machine-learning-
    jp/lecture/G8qKf/ji-jie-xue-xi-tobizinesu-purosesu

    View Slide

  57. プロダクトを成⻑させる、道を踏み外さない
    各フェーズを掘り下げる (How Google Does Machine Learning ⽇本語版) - Coursera https://coursera.org/share/faf9215a37a5a12c0e3653225f7020d6

    View Slide

  58. UX Design (1/2)
    Human interface guideline by Apple
    Machine Learning の中で Explicit
    Feedback と Implicit Feedback につ
    いて触れられている
    右はブラウザでの Explicit なフィー
    ドバックの例
    Bad だけをフィードバックの対象と
    して Bad でなければ Good とみなす
    点が特徴的

    View Slide

  59. UX Design (2/2)
    People + AI Guidebook by
    Google (PAIR)
    Data Collection +
    Evaluation でデータの収
    集、Feedback + Controlで
    フィードバックについて
    右図で述べられているユー
    ザーへのお礼の表⽰⽅法は
    経験上かなり重要
    Feedback + Control - People + AI Guidebook
    https://pair.withgoogle.com/chapter/feedback-controls/#section2

    View Slide

  60. Data Management (1/2)
    データ品質の管理が必要
    疫学調査の取り組みが参考
    になる
    ⼿順書の配備
    ⼊⼒値のバリデーション
    サンプリングによるダブル
    チェック
    京都⼤学⼤学院医学研究科 聴講コース 臨床研究者のための⽣物統計学「データマ
    ネジメントとは」 - YouTube https://youtu.be/bDLgduWWpms

    View Slide

  61. Data Management (2/2)
    データのバージョン管理が必要
    モデルを更新する場合、各時点でのデータがないとモデルの不具合の再
    現ができなくなる
    各時点での評価⽤データを残さないとモデルが改善されたのかどうか判
    断できなくなる
    リグレッションテストを⾏う必要があることに注意、評価データの更新
    ルールも検討する

    View Slide

  62. Algorithm (1/3)
    Human in the loop はデータ
    の探索、評価、再学習と定
    式化できる
    この枠組は強化学習や
    Bandit アルゴリズムで取り
    組まれるものに同⼀
    Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」
    MANNING PUBLICATIONS https://www.manning.com/books/human-in-the-
    loop-machine-learning

    View Slide

  63. Algorithm (2/3)
    アルゴリズムは「いかに効
    率的にアノテーションする
    か」に注⼒している
    いかに継続的に⾼品質なデ
    ータを得るワークフローを
    構築するかに注⼒するほう
    が(経験上)良い
    Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」
    MANNING PUBLICATIONS https://www.manning.com/books/human-in-the-
    loop-machine-learning

    View Slide

  64. Algorithm (3/3)
    アノテーターが回答しやす
    いように問題を置き換える
    ことも⼤事
    回帰 → ランキング
    分類 → 距離学習 (triplet-
    loss)
    Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」
    MANNING PUBLICATIONS https://www.manning.com/books/human-in-the-
    loop-machine-learning

    View Slide

  65. Considerations
    Echo chamber & Filter bubble
    Training / Serving Skew
    Fairness

    View Slide

  66. Echo chamber & Filter bubble (1/2)
    エコーチェンバー
    ソーシャルメディアを利⽤する際、
    ⾃分と似た興味関⼼をもつユーザー
    をフォローする結果、意⾒を SNS
    で発信すると⾃分と似た意⾒が返っ
    てくるという状況を、閉じた⼩部屋
    で⾳が反響する物理現象にたとえた
    もの
    インターネット上での情報流通の特徴と⾔われているもの - 令和元年版 情報通信⽩書
    https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r01/html/nd114210.html

    View Slide

  67. Echo chamber & Filter bubble (2/2)
    フィルターバブル
    アルゴリズムがネット利⽤者個⼈の検索履歴やクリック履歴を分析し学
    習することで、個々のユーザーにとっては望むと望まざるとにかかわら
    ず⾒たい情報が優先的に表⽰され、利⽤者の観点に合わない情報からは
    隔離され、⾃⾝の考え⽅や価値観の「バブル(泡)」の中に孤⽴すると
    いう情報環境
    インターネット上での情報流通の特徴と⾔われているもの - 令和元年版 情報通信⽩書
    https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r01/html/nd114210.html

    View Slide

  68. Training / Serving Skew
    Type 説明
    Schema Skew 訓練⽤データと本番⽤データのスキーマが異なる
    Feature Skew 特徴量の値が訓練時と本番環境とで異なる
    Distribution
    Skew 特徴量の分布が本番環境のデータの分布と著しく異なる
    Scoring/Serving
    Skew
    スコア付されたデータの⼀部しか本番環境に提供されず
    ラベル付けされない
    A brief introduction to Training/Serving Skew - zenn https://zenn.dev/asei/articles/e593da33c53ee4

    View Slide

  69. Scoring/Serving Skew
    トップ 10 件の広告を提⽰するような広告システムを考えます。これら
    の 10 件の広告のうち、1 つのみがユーザーにクリックされる可能性が
    あります。10 件の提⽰された標本データが次の⽇の訓練データに使わ
    れます。1 件はポジティブで、9 件はネガティブです。
    ⼀⽅、本番環境ではそのモデルは 100 件の広告をスコア付するために使
    われます。他の 90 件の提⽰されなかった広告は、暗黙的に訓練データ
    から取り除かれます。これは、下位にランク付けされたものについて誤
    予測するように、暗黙的なフィードバックループを引き起こします。下
    位にランク付けされたデータは訓練データに現れないからです。
    A brief introduction to Training/Serving Skew - zenn https://zenn.dev/asei/articles/e593da33c53ee4

    View Slide

  70. Fairness (1/2)
    データにバイアスがあるとモデルの
    出⼒が不公平になる
    右はデータが⽩⼈に偏っていた例
    Apple Card の与信枠の性差も話題
    @tg_bomze https://t.co/LG2cimkCFm - Twitter
    https://twitter.com/Chicken3gg/status/1274314622447820801?s=20

    View Slide

  71. Fairness (2/2)
    評価指標を⼯夫することに
    よる軽減の取り組み
    ユーザー群間での出⼒に制
    約を設ける例 (右図)
    Fairness-Aware Ranking in
    Search & Recommendation
    Systems with Application
    to LinkedIn Talent Search
    Fairness Indicators for TensorFlow (TF Dev Summit '20) - YouTube
    https://youtu.be/JF4TbOw_32k

    View Slide

  72. Recommendations
    予備実験
    アノテーターの訓練
    計測 & モニタリング

    View Slide

  73. 予備実験
    実験を⼩規模に⾏い、求める結果が得られそうか⾒込みを⽴てる
    実験デザインで定めた⼿順にしたがってデータを収集、集計して実験デ
    ザインのテストを⾏う
    データが集計できないことに後で気がつくと取り返しがつかない
    Human in the Loop なシステムで改善が⾒られるか⾃分たちで⼀度試し
    てみる
    オズの魔法使いパターンを⽤いて、ユーザーからフィードバックが得ら
    れるか試してみる

    View Slide

  74. アノテーターの訓練
    エンドユーザーからデータ
    を得られるのが⼀番
    そうでない場合、⼈⼿でア
    ノテーションが必要
    チームを⽴ち上げてデータ
    を蓄積できるようになるま
    でには数週間かかる
    Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」
    MANNING PUBLICATIONS https://www.manning.com/books/human-in-the-
    loop-machine-learning

    View Slide

  75. 計測 & モニタリング
    ビジネス指標とシステム運
    ⽤指標のモニタリング
    機械学習システムは機械学
    習以外の箇所で壊れる
    体験談: ボットが変なことを
    ⾔うという問い合わせ
    タイムアウトのエラーメッ
    セージが表⽰されていた
    Daniel Papasian and Todd Underwood, How ML Breaks: A Decade of
    Outages for One Large ML Pipeline, USENIX Association 2020
    https://www.usenix.org/conference/opml20/presentation/papasian

    View Slide

  76. Recap
    Human in the Loop は⼈間をシステムのコンポーネントの 1 つとして配
    置し、フィードバックループを作ることで継続的に品質の⾼いデータが
    ⼊⼿できるようにするサービス設計パターン
    背景にあるのはスケールメリット、スケールしない⼈間というリソース
    を機械学習の⼒でスケールさせる
    ユーザーがサービスを使っていると⾃然に学習データを⼊⼒するような
    UX デザインが必要
    いきなり機械学習から始めるのではなく、ステップを踏んでサービスを
    成⻑させることが⼤事

    View Slide

  77. TOC
    Data Science for Software Engineers
    Introduction to MLOps
    Human in the Loop
    Recap Appendix

    View Slide

  78. Recap
    機械学習アルゴリズム以外にも Human in the Loop なサービス設計,
    Experimental Design (実験デザイン), Data Processing, Data
    Management に関するスキルが必要
    必然的にチーム戦になるものの ML は複雑なため DevOps との対⽴が⽣
    じる、MLOps はこの対⽴を解消する試みの総称
    機械学習にいきなり⾶びつくのではなく、そこまでの段階を計画
    ⼈から継続的にフィードバックを受けられる Human in the Loop な仕組
    みを構築することが重要

    View Slide

  79. Appendix: Skills of MLOps Team

    View Slide

  80. Appendix: MLOps Skills of Product Manager
    Product Management
    Data Science (Fundamental)
    Human in the loop なエコシステムの設計

    View Slide

  81. Appendix: MLOps Skills of Software Engineer
    IoC, CI/CD, Software Development
    Data Science (Fundamental)
    Data Management
    Data Processing

    View Slide

  82. Appendix: MLOps Skills of Data Scientist
    Applied Data Science
    Data Processing
    Experimental Design
    IoC, CI/CD, Software Development (Fundamental)

    View Slide

  83. Appendix: Types of Data Scientist (1/2)
    Analyst, Consultant
    データ分析で⽣きてきた⼈たち
    Excel と PowerPoint のエキスパートで、経営的な意思決定に強い
    Software Engineer
    ソフトウェア開発をやってたらいつの間にかデータサイエンスをやるこ
    とになった⼈たち
    機械学習システムの開発に強みを持つ

    View Slide

  84. Appendix: Types of Data Scientist (2/2)
    Kaggler
    Kaggle から⼊ってきた⼈たち
    どちらかというと Product Manager に向いているものの、⼈による
    Scientist
    研究していたら産業側に流れてきた⼈たち
    特殊スキルに特化しているため、何に向くかは⼈による

    View Slide

  85. Appendix: Data
    Scientist in Spotify
    データサイエンスだけでは
    なく次のスキルも要求され
    ている
    Experimental Design
    Product management
    Data Processing
    Jonathan Rasmusson 著, 島⽥ 浩⼆, ⾓⾕ 信太郎 訳「ユニコーン企業のひみつ」
    オライリー・ジャパン 2021年
    https://www.oreilly.co.jp/books/9784873119465/

    View Slide