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
Machine Learning and Feedback
Search
Agata Naomichi
September 26, 2018
Programming
1
1.4k
Machine Learning and Feedback
Agata Naomichi
September 26, 2018
Tweet
Share
More Decks by Agata Naomichi
See All by Agata Naomichi
医療系スタートアップが経験した 認知負荷問題の症状分析と処方箋 チーム分割による認知負荷の軽減 / Cognitive Load Busters
agatan
2
450
専門性の高い領域をいかに開発し、 テストするか / How to test and develop complicated systems with Domain Experts!
agatan
3
720
Henry のサーバーサイドアーキテクチャ 狙いと課題 2022.08.25 / Server-Side Architecture at Henry, Inc.
agatan
3
5k
The Web Conference 2020 - Participation Report
agatan
1
680
○○2vec 再考
agatan
1
4.3k
Improving "People You May Know" on Directed Social Graph
agatan
4
2.6k
Recommendation systems on microservices - productivity & reproducibility
agatan
0
800
Mint: Language Level Support for SPAs
agatan
3
1.7k
Go as an aggregator in recommendation systems
agatan
2
1.3k
Other Decks in Programming
See All in Programming
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
320
Jasprが凄い話
hyshu
0
160
PRレビューのお供にDanger
stoticdev
1
230
自力でTTSモデルを作った話
zgock999
0
100
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
170
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
150
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.3k
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
970
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
190
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
120
Jakarta EE meets AI
ivargrimstad
0
350
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
150
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Scaling GitHub
holman
459
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
How GitHub (no longer) Works
holman
314
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
570
It's Worth the Effort
3n
184
28k
Transcript
ユーザフィードバックと機械学習 Machine Learning Casual Talks #6
Naomichi Agata Software engineer at Wantedly, Inc. Server side +
Machine learning @ Wantedly People GitHub Twitter @agatan @agatan_
サービスにおける機械学習システムには ユーザフィードバックが重要
フィードバック • ユーザからのフィードバック ◦ レビューやお問い合わせだけではなく、 「ふつうにサービスを使うなかでの行動」から得られる ◦ e.g. 「検索結果をクリックした」「購入せずに戻った」「誤情報を訂正した」 •
ユーザへのフィードバック ◦ より良いサービスを提供する ◦ e.g. 「あなたへのおすすめ」「全体の精度が向上する」
何を持ってそのモデルを「良い」と判断するか 機械学習をサービスに活用するためには 1. モデル自体の精度(オフラインで測れる精度) 2. KPI / ユーザ体験への影響(オンラインでしか測れない精度) の 2
面から「良さ」を判断する必要がある ユーザ体験への影響は「ユーザからのフィードバック」でしか測れない
サービスの成長とモデルの成長 • サービスが大きくなるにつれてできることは増えていくはず ◦ e.g. パーソナライズ • フィードバックループを繰り返して改善していきたい 、というのは機械学習も一緒 良い機械学習によってサービスの成長を加速する
→ データが増える → 精度があがる and/or できることが増える → 成長を加速 → …
理想 良い体験を実現するほど、使ってもらえる ↑↓ 使ってもらうほど、改善がすすむ 使う 改善 より良い体験の提供
現実 • どの程度フィードバックを得られるかは、問題とサービスの性質に依存する ◦ たとえば、推薦はフィードバックを得やすい • 「サービスの拡大とともに使える情報が増える」ことは期待できない場合もある ◦ 学習データにするには壁がある ▪
より高度な annotation 作業が必要, ノイズが多い, … • 機械学習システムだけ成長に置いていかれるわけにはいかない
どんな対応ができるか
前提... • フィードバックを逃さないログ基盤などはとても重要 ◦ 「なにかがおかしい」を察知できないと改善の余地がない ◦ 継続的に評価できないと新しいことに挑戦できなくなる • フィードバックを受けやすい UX
設計も重要になってくる(?) ◦ 予測が間違っているときにそれを伝えられる ◦ 予測が正しかったときにそれを伝えられる ◦ 機械学習エンジニアも UX 設計に参加する必要がある
半教師あり学習として解く • 「少量の教師ありデータ + 大量の教師なしデータ」 • 教師なしでもできることを組み合わせたシステムにするのが一番うまくいった ◦ たとえば、word embedding
layer を教師なしデータで事前学習しておく
データの分布に注目する • annotate されていないデータでも、現実のデータの分布を反映している • 活用できていなかったデータも、細かく分析することで使えるようになる(こともある) • 分布さえわかればできることもある ◦ たとえば、bi-gram
の出現頻度を見ながら sequence 全体での尤度が最大になるように decode する ◦ たとえば、出現頻度の多いパターンにはアドホックにルールベースで対処する ▪ e.g. 高い頻度・確率で「m」が「nn」に訂正されている • より現実に近い data augmentation ができる ◦ データの分布から教師データを作る
ノイズを許容する • ノイズを許容してでも大きなデータで学習したほうが良い場合もある ◦ とはいえ単純につっこんでもうまくいかない(はず) • 地道に分析してノイズを取り除くのが(可能なら)一番よさそう • 教師データのノイズに耐性を持つようなモデルも提案されている
まとめ • サービスの成長にあわせてモデルも改善したい ◦ モデル改善 → サービス向上 → 使ってもらえる →
改善 → … のループが回せると幸せ ◦ 問題・領域によっては、モデルの改善に直接使えるデータは集まらない • どうやってモデルの改善を進めるか ◦ そもそも UX としてユーザフィードバックが得られる構造になっているか? ◦ 半教師あり的に扱う ◦ ひたすら分析 + パターンを見出して改善する