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
yubessy
April 25, 2017
Programming
6.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
エンジニアとしての機械学習との付き合いかた
機械学習システムの開発・運用を担うエンジニアの視点からの話です ※社内LT用につくったもの
yubessy
April 25, 2017
More Decks by yubessy
See All by yubessy
DDIA (Designing Data-Intensive Applications) はいいぞ
yubessy
0
1.6k
Introduction to CircleCI
yubessy
1
130
Docker Hands-on
yubessy
0
120
Resource Polymorphism
yubessy
0
310
不動点コンビネータ?
yubessy
0
320
とりあえず機械学習したかった
yubessy
0
350
Scala Native
yubessy
0
230
Type Erasure と Reflection のはなし
yubessy
1
490
量子暗号
yubessy
0
240
Other Decks in Programming
See All in Programming
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
590
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.8k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
1B+ /day規模のログを管理する技術
broadleaf
0
100
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.2k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Amusing Abliteration
ianozsvald
1
210
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
610
The Cult of Friendly URLs
andyhume
79
6.9k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
GraphQLとの向き合い方2022年版
quramy
50
15k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
290
Mobile First: as difficult as doing things right
swwweet
225
10k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
Transcript
エンジニアとしての 機械学習との付き合いかた @yubessy 0x64 物語 Reboot #02
コモディティ化がもたらしたもの Fasttext, TensorFlow, Google Cloud NLP ... ライブラリ -> フレー
ムワー ク -> API 高度な専門知識がなくてもそこそこの予測モデル が作れる TensorFlow によるキュウリの仕分け https://cloudplatform- jp.googleblog.com/2016/08/tensor ow_5.html 僕はこの先何で食っていけばよいのか?
これからの機械学習のお仕事 入口に寄るか出口に寄るか? 入口: デー タサイエンティスト モデルの構築前からかかわる デー タの取捨選択・UI 設計・ 問題の定式化
出口: 機械学習エンジニア モデルの構築後も面倒を見る システム・ インフラ設計・ 継続的な運用 今日はこっちの話
Q. エンジニアリング視点での 機械学習の難しさとは?
問題: 事前に誤りを防ぐことが困難 システムの出力の正しさが定義できない そもそも未来に対する予測なので 「X を入力してY が出力されたら正解」 とは誰も言えない システムに無謬性を要求できない 100%
の精度を実現するのは事実上不可能 エラー をどこまで許容するかを考える必要
問題: 結果の解釈・ 再現・ 修正が困難 モデルのブラックボックス化 意図しない結果が出ても何をどう直せばいいか わからない 結果の再現の困難さ 再学習しようとしたらDB の状態が変わっている
昨日の予測結果が今日の学習デー タに影響 CACE (Changing Anything Changes Everything) e.g. ゴミが1 件混じっただけで精度が大幅低下
実際みんな苦労してる Machine Learning: The High Interest Credit Card of Technical
Debt https://research.google.com/pubs/pub43146.html 機械学習は技術的負債の高利子クレジットカー ド “ “
何が困難さを生み出すのか?
図で考える機械学習システム
一般的なシステムとの違い デー タ依存性 システムの入出力を決定する関数が デー タを入力とする別の関数によって作られる 予測処理だけをみると巨大な副作用のかたまり デー タ依存性がもたらすもの 関数を人間が直接読み書きできない(≠
コー ド) 結果に対して事前に何かを保証しにくい
どうやって問題と戦うか?
先駆者の知見 Rules of Machine Learning: Best Practices for ML Engineering
http://martin.zinkevich.org/rules_of_ml/rules_of_ml.p df To make great products: do machine learning like the great engineer you are, not like the great machine learning expert you aren’t. “ “
未知なるものとの闘い 問題に直面したとき 問題を特定し、 分割し、 パター ン化する 既存の仕組みやツー ルを応用する それでも解決できないとき 問題の影響を最小限の範囲に封じ込める
新たな枠組みを作り上げる 多くの課題はエンジニアリングの領域にある “ “
今すぐにできること 機械学習特化した開発・ 運用の体系は未確立 -> 問題をよく知られた方法論に落とし込む 特に信頼性工学的な手法は相性が良い バー ジョン管理 ( 自動)
テスト CI / CD
問題発生を未然に防ぐ テストの導入 典型的なパター ンは通常のテストと同様 境界条件付近ではデー タを微妙に替えて水増し 画像 -> アフィン変換 テキスト
-> 無関係な語の追加 バックテストによるオフライン検証 過去のデー タに対する予測を行って 既にわかっている結果と比較
問題発生後の対処を簡単にする モデルだけでなくデー タのバー ジョン管理を行う システムの状態を任意の時点に復元可能に 継続的なデプロイ モデル改善のサイクルを細かくする -> 問題発生時の原因特定を容易化
対処療法の先へ 問題を個別に解決していくだけでは限界 複合的な問題を包括的に扱う仕組みが必要 ライブラリ -> フレー ムワー ク コンポー ネント
-> アー キテクチャ 個人的な注目株 モデルの表現: PMML, PFA モデルの検証: ソフトウェア基礎論の応用 デー タの管理: ラムダアー キテクチャ
モデルの表現: PMML, PFA モデルの計算式をコー ドで表現 -> 静的解析や差分のバー ジョン管理が可能に input: fields:
- {name: x, type: double} - {name: y, type: double} ... output: double method: emit action: - cast: input.mag cases: - as: double named: magDouble do: [{emit: magDouble}]
モデルの検証: 型理論の応用 Dependent Type による精度保証 演算の型にパラメー タを指定できる -> 浮動小数点数の演算の精度を保証したり ->
推測統計・ 機械学習への応用?
デー タの管理: ラムダアー キテクチャ 処理のもとになる全てのデー タを保存 速度と堅牢性を必要に応じて選択できる 継続的に運用しても破綻しにくい http://lambda-architecture.net/
まとめ エンジニアからみた機械学習 デー タ依存がもたらす困難さ 既存の方法論による対処 これからの注目株
まだまだ仕事はあるぞ!