Skip to content

Latest commit

 

History

History
188 lines (124 loc) · 21.1 KB

resources.md

File metadata and controls

188 lines (124 loc) · 21.1 KB

その他の参考情報

Note 当文書はResourcesを日本語に翻訳したものです。

この文書は、本書で触れたトピックをさらに深掘りすることが目的です。本書には既に膨大な数のリンクや参考文献を掲載しているため、読者が重要なポイントを見落としてしまわないように掲載を見送った情報があります。

1章.機械学習システムの概要

機械学習システムの設計を学ぶには、ケーススタディを読んで実際のチームが様々なデプロイ要件や制約に対してどのように対処しているかを知ることが有益です。多くの企業(例を挙げると、Airbnb、Lyft、Uber、Netflixなど)が、素晴らしい技術ブログを立ち上げて、機械学習を活用してプロダクトやプロセスの改善に役立てたエピソードを公開しています。

  1. Using Machine Learning to Predict Value of Homes On Airbnb (Robert Chang, Airbnb Engineering & Data Science, 2017)

詳細かつ洗練されたこのブログ記事の中でChangは、Airbnbが機械学習を使用して重要なビジネス指標であるAirbnb上の住宅の価値をいかに予測したかについて解説しています。この記事では、特徴エンジニアリング、モデルの選定、プロトタイピング、プロトタイプを実環境へ移行するまでのワークフロー全体が網羅されており、さらには、そこから得られた教訓や使用したツール、コードスニペットなども掲載されています。

  1. Using Machine Learning to Improve Streaming Quality at Netflix (Chaitanya Ekanadham, Netflix Technology Blog, 2018)

2018年時点でNetflixは全世界で1億1700万人以上のユーザーにストリーミングサービスを提供していますが、その半数は米国外のユーザーです。このブログ記事では、ネットワーク品質の予測、デバイスの異常の検出、予測をキャッシュするためのリソースの割り当てなど、直面する技術的な課題とその課題を克服する機械学習の活用方法について解説しています。

  1. 150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com (Bernardi et al., KDD, 2019)

Booking.comは2019年には既に150個もの機械学習モデルを実稼働させています。これらのモデルは、ユーザーの旅行の好みや同行者数などの広範な予測問題や、ユーザーに表示する背景画像やレビューの最適化問題に取り組むものです。こちらでは、Adrian Colyerが得た6つの教訓について素晴らしいまとめが提供されています。

1. 機械学習モデルはビジネスに大きな価値を提供する
2. モデルのパフォーマンスとビジネスのパフォーマンスは異なる
3. 解決したい問題を明確にせよ
4. 予測を提供するレイテンシーは重要である
5. モデルの品質のフィードバックを迅速に得よ
6. ランダム化比較試験(randomized controlled trials)を用いてモデルのビジネス上の影響をテストせよ
  1. How we grew from 0 to 4 million women on our fashion app, with a vertical machine learning approach (Gabriel Aldamiz, HackerNoon, 2018)

Chicisimoはコーディネートのアドバイスを自動で提供できるようにしようと、機械学習を用いて人々のファッションの嗜好を定義しようとしました。このタスクには曖昧なところがあるため、問題の組み立て方とデータの収集方法が大きな課題となります。この両方の取り組みが記事の中で言及されています。さらに、すべてのコンシューマー向けアプリが直面するユーザーの繋ぎ止め(リテンション)の問題についても触れています。

  1. Machine Learning-Powered Search Ranking of Airbnb Experiences (Mihajlo Grbovic, Airbnb Engineering & Data Science, 2019)

この記事は、ランキングとレコメンドに関する問題の典型的な事例をステップバイステップで説明したものです。主なステップは、システム設計、パーソナライゼーション、オンラインスコアリング、そしてビジネスの視点の4つです。この記事では、どの特徴を使用するか、データをどのように集めてラベル付けするか、なぜ勾配ブースト決定木(Gradient Boosted Decision Tree)を採用したのか、どのテスト指標を利用するか、ランク付けする際の考慮事項、そしてどのようにデプロイしてA/Bテストを実施するかなどについて詳しく述べられています。また、この記事の特筆すべき点として、ユーザーごとに異なるランキングを提供するパーソナライゼーションについても採り上げている点が挙げられます。

  1. From shallow to deep learning in fraud (Hao Yi Ong, Lyft Engineering, 2018)

不正検知(Fraud detection)は、産業界の機械学習のユースケースとしてもっとも古くからあるもののひとつです。この記事では、Lyftでの不正検知アルゴリズムの変遷について説明しています。初期の頃は、特徴エンジニアリングによるロジスティック回帰だけで多くの不正を検出できました。この手法はシンプルであるため、さまざまな特徴の重要性をチームが理解できました。しかしながら、不正の手口が巧妙になるにつれて、より高度なモデルが求められるようになりました。この記事では、モデルの複雑さと説明能力、そして効果とデプロイのしやすさとの間にあるトレードオフについて語っています。

  1. Space, Time and Groceries (Jeremy Stanley, Tech at Instacart, 2017)

Instacartは機械学習を使用して複数の買い物客にもっとも効率的にタスクを割り当てて最適な経路を見つけられるようにしています。この記事では、問題の定義、データの収集、アルゴリズムや評価指標の選択、さらに綺麗に可視化するチュートリアルに至るまでのシステム設計の全工程を詳細に説明しています。

  1. Creating a Modern OCR Pipeline Using Computer Vision and Deep Learning (Brad Neuberg, Dropbox Engineering, 2017)

文書をスキャンするだけのシンプルなアプリケーションでさえ、光学文字認識と単語検出の2つの独立したコンポーネントから構成されます。それぞれのコンポーネントに専用の製造パイプラインが必要となり、エンド・ツー・エンドのシステム(システム全体)としては、訓練やチューニングの手順がさらに必要です。また、この記事では、自前のデータアノテーションプラットフォームを構築するなどのデータの収集に関するチームの取り組みについても詳細に説明しています。

  1. Spotify’s Discover Weekly: How machine learning finds your new music (Umesh .A Bhat, 2017)

Spotifyは、主に3種類のレコメンド用モデルを使用してDiscover Weeklyを作成しています。

  • 協調フィルタリングモデル... 元々はLast.fmが使用していたもので、あなたの行動や他の人々の行動を分析します。
  • 自然言語処理モデル(NLP)... テキストを分析します。
  • オーディオモデル... 生のオーディオトラックそのものを分析します。
  1. Smart Compose: Using Neural Networks to Help Write Emails (Yonghui Wu, Google AI Blog 2018)

Smart Composeはキーを入力するたびに予測を実行するので、ユーザーに遅延を感じさせることがないように、理想的には 100ミリ秒 以内に応答しなければなりません。モデルの複雑さと推論の速さとの間でバランスを取ることが極めて重要な課題でした。

2章.機械学習システム設計の概要

3章.データエンジニアリングの基礎知識

ストリーミングシステム

4章.訓練データ

5章.特徴エンジニアリング

6章.モデル開発とオフライン評価

訓練、デバッグ、機械学習コードのテスト

モデルの評価

7章.モデルのデプロイと予測サービス

8章.データ分布のシフトと監視

9章.実現場での継続学習とテスト

文脈バンディット

10章.MLOpsにおけるインフラとツール

11章.機械学習の人的側面