Enviar búsqueda
Cargar
はてなにおける機械学習の取り組み
•
9 recomendaciones
•
12,089 vistas
S
syou6162
Seguir
Machine Learning Meetup Kansaiでの発表スライドです。
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 58
Descargar ahora
Descargar para leer sin conexión
Recomendados
はてなにおける機械学習の取り組み
はてなにおける機械学習の取り組み
syou6162
機械学習を使った趣味サービスにおける工夫紹介
機械学習を使った趣味サービスにおける工夫紹介
syou6162
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
機械学習を活用したサービスにおける工夫紹介
機械学習を活用したサービスにおける工夫紹介
syou6162
今日から始める機械学習〜はてなの事例〜
今日から始める機械学習〜はてなの事例〜
syou6162
Mackerelのロール内異常検知の設計と運用
Mackerelのロール内異常検知の設計と運用
syou6162
Mackerel Anomaly Detection at PyCon mini Osaka
Mackerel Anomaly Detection at PyCon mini Osaka
syou6162
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
Ryutaro YOSHIBA
Recomendados
はてなにおける機械学習の取り組み
はてなにおける機械学習の取り組み
syou6162
機械学習を使った趣味サービスにおける工夫紹介
機械学習を使った趣味サービスにおける工夫紹介
syou6162
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
機械学習を活用したサービスにおける工夫紹介
機械学習を活用したサービスにおける工夫紹介
syou6162
今日から始める機械学習〜はてなの事例〜
今日から始める機械学習〜はてなの事例〜
syou6162
Mackerelのロール内異常検知の設計と運用
Mackerelのロール内異常検知の設計と運用
syou6162
Mackerel Anomaly Detection at PyCon mini Osaka
Mackerel Anomaly Detection at PyCon mini Osaka
syou6162
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
Ryutaro YOSHIBA
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
aslead
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
Recruit Lifestyle Co., Ltd.
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
Yasuhiro Matsuo
Dots deep learning部_20161221
Dots deep learning部_20161221
陽平 山口
機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)
Tokoroten Nakayama
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
Hironori Washizaki
JAWSDAYS 2018 LUNCH SESSION
JAWSDAYS 2018 LUNCH SESSION
陽平 山口
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
AkiKusaka
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
Yuya Unno
Talk 1「データインテグレーションとは何か」
Talk 1「データインテグレーションとは何か」
Takeshi Akutsu
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Takeshi Mikami
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
aslead
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
Yuya Unno
インドのインターネット環境との戦い方
インドのインターネット環境との戦い方
健一 辰濱
Device WebAPI 20160407
Device WebAPI 20160407
陽平 山口
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
Recruit Technologies
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
Insight Technology, Inc.
stapy_028_talk1
stapy_028_talk1
Takeshi Akutsu
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの
法林浩之
自分の目的に合った統計量と そのバラ付きを計算しよう ~NPSを例に~(統計学勉強会)
自分の目的に合った統計量と そのバラ付きを計算しよう ~NPSを例に~(統計学勉強会)
syou6162
オープンセミナー岡山 これから始めるデータ活用
オープンセミナー岡山 これから始めるデータ活用
syou6162
Más contenido relacionado
Similar a はてなにおける機械学習の取り組み
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
aslead
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
Recruit Lifestyle Co., Ltd.
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
Yasuhiro Matsuo
Dots deep learning部_20161221
Dots deep learning部_20161221
陽平 山口
機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)
Tokoroten Nakayama
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
Hironori Washizaki
JAWSDAYS 2018 LUNCH SESSION
JAWSDAYS 2018 LUNCH SESSION
陽平 山口
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
AkiKusaka
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
Yuya Unno
Talk 1「データインテグレーションとは何か」
Talk 1「データインテグレーションとは何か」
Takeshi Akutsu
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Takeshi Mikami
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
aslead
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
Yuya Unno
インドのインターネット環境との戦い方
インドのインターネット環境との戦い方
健一 辰濱
Device WebAPI 20160407
Device WebAPI 20160407
陽平 山口
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
Recruit Technologies
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
Insight Technology, Inc.
stapy_028_talk1
stapy_028_talk1
Takeshi Akutsu
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの
法林浩之
Similar a はてなにおける機械学習の取り組み
(20)
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
AI & Deep Learning on AWS at CTO Night&Day 2016 Winter
Dots deep learning部_20161221
Dots deep learning部_20161221
機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
JAWSDAYS 2018 LUNCH SESSION
JAWSDAYS 2018 LUNCH SESSION
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
Talk 1「データインテグレーションとは何か」
Talk 1「データインテグレーションとは何か」
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
インドのインターネット環境との戦い方
インドのインターネット環境との戦い方
Device WebAPI 20160407
Device WebAPI 20160407
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
求職サービスの検索ログを用いたクエリのカテゴリ推定とその活用事例の紹介
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
stapy_028_talk1
stapy_028_talk1
さくらのナレッジの運営から見えるもの
さくらのナレッジの運営から見えるもの
Más de syou6162
自分の目的に合った統計量と そのバラ付きを計算しよう ~NPSを例に~(統計学勉強会)
自分の目的に合った統計量と そのバラ付きを計算しよう ~NPSを例に~(統計学勉強会)
syou6162
オープンセミナー岡山 これから始めるデータ活用
オープンセミナー岡山 これから始めるデータ活用
syou6162
正確な意思決定を阻む 問題・障害との向き合い方
正確な意思決定を阻む 問題・障害との向き合い方
syou6162
カスタマーサクセスのためのデータ整備人の活動記録
カスタマーサクセスのためのデータ整備人の活動記録
syou6162
Mackerel Drink Up #9 ロール内異常検知の正式化
Mackerel Drink Up #9 ロール内異常検知の正式化
syou6162
教師なし学習によるMackerelの異常検知機能について〜設計/運用/評価の観点から〜
教師なし学習によるMackerelの異常検知機能について〜設計/運用/評価の観点から〜
syou6162
機械学習を用いたMackerelの異常検知機能について
機械学習を用いたMackerelの異常検知機能について
syou6162
異常検知ナイト LT登壇資料 はてな id:syou6162
異常検知ナイト LT登壇資料 はてな id:syou6162
syou6162
Duolingo.pptx
Duolingo.pptx
syou6162
今日からできる構造学習(主に構造化パーセプトロンについて)
今日からできる構造学習(主に構造化パーセプトロンについて)
syou6162
Kernel20110619
Kernel20110619
syou6162
Optimization In R
Optimization In R
syou6162
Syou6162 Dbcls
Syou6162 Dbcls
syou6162
半教師あり学習
半教師あり学習
syou6162
R User Group 2009 Yoshida
R User Group 2009 Yoshida
syou6162
Tsukuba
Tsukuba
syou6162
Short Essay
Short Essay
syou6162
Prml
Prml
syou6162
Algorithm Design
Algorithm Design
syou6162
Tsukuba Memo Off
Tsukuba Memo Off
syou6162
Más de syou6162
(20)
自分の目的に合った統計量と そのバラ付きを計算しよう ~NPSを例に~(統計学勉強会)
自分の目的に合った統計量と そのバラ付きを計算しよう ~NPSを例に~(統計学勉強会)
オープンセミナー岡山 これから始めるデータ活用
オープンセミナー岡山 これから始めるデータ活用
正確な意思決定を阻む 問題・障害との向き合い方
正確な意思決定を阻む 問題・障害との向き合い方
カスタマーサクセスのためのデータ整備人の活動記録
カスタマーサクセスのためのデータ整備人の活動記録
Mackerel Drink Up #9 ロール内異常検知の正式化
Mackerel Drink Up #9 ロール内異常検知の正式化
教師なし学習によるMackerelの異常検知機能について〜設計/運用/評価の観点から〜
教師なし学習によるMackerelの異常検知機能について〜設計/運用/評価の観点から〜
機械学習を用いたMackerelの異常検知機能について
機械学習を用いたMackerelの異常検知機能について
異常検知ナイト LT登壇資料 はてな id:syou6162
異常検知ナイト LT登壇資料 はてな id:syou6162
Duolingo.pptx
Duolingo.pptx
今日からできる構造学習(主に構造化パーセプトロンについて)
今日からできる構造学習(主に構造化パーセプトロンについて)
Kernel20110619
Kernel20110619
Optimization In R
Optimization In R
Syou6162 Dbcls
Syou6162 Dbcls
半教師あり学習
半教師あり学習
R User Group 2009 Yoshida
R User Group 2009 Yoshida
Tsukuba
Tsukuba
Short Essay
Short Essay
Prml
Prml
Algorithm Design
Algorithm Design
Tsukuba Memo Off
Tsukuba Memo Off
はてなにおける機械学習の取り組み
1.
はてなにおける 機械学習の取り組み id:syou6162 MACHINE LEARNING Meetup KANSAI#1 1
2.
自己紹介 • id:syou6162(本名: 吉田康久) • 前職: NTTコミュニケーション科学基礎研究所 – 自然言語処理や機械学習の研究に従事(4年) •
2年前にはてなに転職 – はてなブックマーク – サーバー管理/監視システムMackerel • Web開発:機械学習関連の開発 = 8:2 2
3.
自己紹介 • id:syou6162(本名: 吉田康久) • 前職: NTTコミュニケーション科学基礎研究所 – 自然言語処理や機械学習の研究に従事(4年) •
2年前にはてなに転職 – はてなブックマーク – サーバー管理/監視システムMackerel • Web開発:機械学習関連の開発 = 8:2 3 関西にはアカデミアの研究所はたくさんあるけど、 インダストリーはそうでもない。meetupや論文読 み会等を通じて機運を高めていきたいですね! Pycon mini Osakaでも話します!
4.
自己紹介 • id:syou6162(本名: 吉田康久) • 前職: NTTコミュニケーション科学基礎研究所 – 自然言語処理や機械学習の研究に従事(4年) •
2年前にはてなに転職 – はてなブックマーク – サーバー管理/監視システムMackerel • Web開発:機械学習関連の開発 = 8:2 4 R&D部門がない組織で機械学習を 使ったサービス開発の参考になると幸いです
5.
発表のゴール • はてなの事例を通じて – 機械学習を使ったサービス開発の 難しさ – その難しさを乗り越えていくための 技術的/組織的な取り組み方 • が見えてくる 5
6.
はてなって機械学習使ってるの? 6
7.
はてなでの機械学習の利用事例 • はてなブックマークのカテゴリ判定 • はてなブックマークのスパム判定 •
はてなブックマークのトピックページ • BrandSafe はてな • エリアガイド • Mackerelの異常検知 7 表には出てこないものも 多いけど、色々なところで 機械学習使っています!
8.
はてなブックマークのカテゴリ判定 8
9.
エリアガイド 9 hTp://area.b.hatena.ne.jp/
10.
Mackerelの異常検知 • 一定期間を学習データとし、確率密度の低い 点を異常として検知 • 教師なし学習の問題設定 10 デスクで作業中
ランニングしている時間 異常と判定されるケース1 => ルールでもできそう? 参考: hTps://speakerdeck.com/sugiyama88/mackerel-meetup-number-11 hTp://www.yasuhisay.info/entry/2018/02/16/001000 活動量 心拍数 異常と判定されるケース2 => 今の自分
11.
Mackerelの異常検知 • 一定期間を学習データとし、確率密度の低い 点を異常として検知 • 教師なし学習の問題設定 11 休日や夜間等比較的 負荷の低いケース 平日を中心とした比較的 負荷の高いケース 異常と判定されるケース1 参考: hTps://speakerdeck.com/sugiyama88/mackerel-meetup-number-11 hTp://www.yasuhisay.info/entry/2018/02/16/001000 異常と判定されるケース2 cpu memory
12.
発表のゴール • 機械学習を使ったサービス開発の 難しさ • その難しさを乗り越えていくための技術 的な取り組み – 古典的な問題設定 – R&D要素の強い問題設定 •
組織的な取り組み方 12
13.
機械学習アプリケーションの難しさ • 挙動の把握が難しい • 属人性が高くなりやすい •
再現性が低くなりやすい • 継続的な開発がしにくい 13
14.
挙動の把握が困難 • 機械学習を利用しないアプリケーション – コードを見れば挙動の把握は大体できる • 機械学習を利用するアプリケーション – コードのみからは挙動の把握ができない – コード×データがあれば挙動の推測は不可能では ないが、知識と経験が必須 – Deep Learningはさらに把握が難しい – 誤判定でユーザーに説明が必要な場面も 14
15.
属人性 / 再現性 • 属人性が高い –
機械学習タスクは実験を通じた試行錯誤が必要 – 普段のサービス開発と異なり、レビューが難しい • 問題設定、実験方法、本番投入などで段階的にレビューが 必要 • 再現性が低い – コードだけでなくモデルやデータの管理が不十分 – 管理ノウハウが発展途上 • 何をどうやって管理すればよいのか – 実験を行なった人でも再現できないことも… 15
16.
継続的開発 • 機械学習システムも継続的な開発が必要 – Webアプリケーション開発と一緒 • 継続的開発のためには有効性を示す – モデル改善の有効性をきちんと計測できるように •
実験上はもちろん、本番環境でも – APIのバージョニング • 複数のバージョンのモデルを同時に動かせるように 16
17.
発表のゴール • 機械学習を使ったサービス開発の 難しさ • その難しさを乗り越えていくための技術 的な取り組み – 古典的な問題設定 – R&D要素の強い問題設定 •
組織的な取り組み方 17
18.
BrandSafeはてなリニューアル • BrandSafeはてなとは? – URL単位でWebページを解析、アダルトサイトや 2chまとめサイトか判定する仕組み – 自社広告を出したくないサイトへの出稿を防ぎ、 ブランドイメージを安全に保つ • Pythonでリニューアル – 元々Perlで書かれていた – はてなブックマークとの密結合を解消 – 機械学習部分も見直し 18 技術的詳細: hTps://www.slideshare.net/oarat/brand-42816575
19.
BrandSafeはてなの問題設定と目的 • 問題設定 – 教師あり機械学習 – 対象はテキストデータ • 目的 – 属人性を低く、再現性を高くする •
何をどこをどのように管理するのか明確に – 継続的な開発ができるように • きちんとコード/モデル/データのバージョン管理をする • 性能のトラッキング 19
20.
教師あり機械学習の開発フロー 元データ 学習データ 特徴ベクトル
モデル テストデータ 特徴ベクトル 判定結果 アノテーション 前処理 特徴量抽出 機械学習アルゴリズム 20 学習時 テスト時
21.
前処理、特徴量抽出、アルゴリズム、 モデル(リニューアル前) • 基本的にコードでバージョン管理できる部分 • 基本的にはPerlのコードをGitで管理 •
一部のモデルパラメータはDBで保存 – バージョン管理はされていないので、巻き戻しで きない 21
22.
前処理、特徴量抽出、アルゴリズム、 モデル(リニューアル後) • scikit-learnを利用、pythonのエコシステムに乗る • モデルファイルもバージョン管理 •
挙動が把握しやすい/解釈性の比較的高い線形 モデル(SVM、ロジステック回帰)を使うことが多い • LSTMやCNNも試したが、複雑性の割に性能がほ ぼ変わらず現段階では不採用 – 教師データ数もそれほど多くないことも関係している かも 22
23.
学習データ管理(リニューアル前) • 決まった管理方法はなかった – 基本はGoogle Driveに置く – 個人PC上あり、危うく消えるところだったものも… • データはURLとラベルを保存、本文はDBから 取得 – 本文に変更があれば、再現性は担保できない… 23
24.
学習データの管理(リニューアル後) • 置き場所を決める – Google Driveはそのまま – 現状はそこまでサイズが大きくない – DBでもよいが、リニューアル前はDBアクセスがボ トルネックになり、実験の試行錯誤がやりづらい • データの固定 – データに本文、前処理の結果などを含める – バージョン毎に管理 •
データを変えたら、一括してバージョンを変更 24
25.
データ収集方法とアノテーション基準(1) • 機械学習においてデータは最重要 – 「データを増やす」はモデル改善の主要なアプ ローチ – データが悪ければよいモデルでもうまくいかない • 集めた元データとアノテーション結果、だけで はなく「データ収集方法」と「アノテーション基 準」も記録 25
26.
データ収集方法とアノテーション基準(2) • データ収集方法 – 収集方法でデータの性質も異なってくる • 例1: はてなブックマークの特定タグが付いた記事 •
例2: 特定の単語でGoogle検索して出てきた記事 – 気を付けないとバイアスがかかり性能が悪化 • テスト時のデータと性質が違うデータ – なぜそのアプローチも取ったか分かるとよい – 特徴量へのヒントにもなる 26
27.
データ収集方法とアノテーション基準(3) • アノテーション基準 – 基準が揺れると作ったデータやモデルは無駄になる –
例: アダルト判定の基準 • サイドバーの内容は考慮するのか • アダルト広告は考慮するのか – 例: スパム判定 • 過去記事は考慮するのか • ドメイン知識を持っていない場合は特に綿密に – 例: 営業担当とアノテーション基準について議論 27
28.
データ収集方法とアノテーション基準(4) • 文書化 – 試行錯誤していると後回しになりがち – まとめたものをGoogle Docsやリポジトリにcommit – 最近ならJupyter Notebookでもよいですね • 今回は使わなかった特徴量集合の試行錯誤 の様子が分かると、改善時の手間が減らせる 28 能動学習を使った効率的なアノテーション方法も やっています。興味ある方は懇親会で!
29.
発表のゴール • 機械学習を使ったサービス開発の 難しさ • その難しさを乗り越えていくための技術 的な取り組み – 古典的な問題設定 – R&D要素の強い問題設定 •
組織的な取り組み方 29
30.
30 hTps://mackerel.io/ja/ Mackerel: SaaS型の サーバー監視/管理 サービス サービス(例: はてなブログ)/ ロール(例: DB、Proxy)で 分かりやすくグルーピング 静的な閾値による アラートの発砲、Slack などへの通知をサポート Agentがサーバーの メトリックを収集、 グラフで可視化
31.
監視における課題と 機械学習の活用 • 監視における課題 – ミドルウェアなどの知識が必要 – 監視ルールのメンテナンスは手間がかかる • 機械学習を用いた異常検知の利点 – データから学習、自動的に監視ルールを決めて アラートできる – 知識がなくても、何かが異常であることが分かる 31
32.
再掲: Mackerelの異常検知 • 一定期間を学習データとし、確率密度の低い 点を異常として検知 • 教師なし学習の問題設定 32 休日や夜間等比較的 負荷の低いケース 平日を中心とした比較的 負荷の高いケース 異常と判定されるケース 参考: hTps://speakerdeck.com/sugiyama88/mackerel-meetup-number-11 hTp://www.yasuhisay.info/entry/2018/02/16/001000 どのように試行錯誤したか紹介します
33.
タスク着手時の障壁 • 社内で機械学習を使った異常検知の知見を 持っている人がゼロ • 教科書は読んだが、実データに対してどれだ けうまくいくか分からない – 検知漏れがないか/誤検知がないか – うまく行かない例も説明可能/人間が納得できそ うなものか 33
34.
調査フェイズ • 課題の性質を明らかにすることが目的 • 社内の過去の障害事例を分析 – 絶対数の多い障害パターンは? – 障害の要因は? – どういった特徴量であれば捉えられる? •
生の事例と向き合う 34
35.
プロトタイプフェイズ • 典型事例だった障害に対して様々な方法を ひたすら試す – ライブラリの使用/自前、手段は問わない – 既存のツールでは異常を捉えられるのか試す • 手法の得手不得意や計算量の肌感覚を掴む •
進め方についてサブ担当が適宜レビュー • 手元だけでは誤検知の多さが分かりにくい – 実際のデータを定常的に流してみる 35 http://www.yasuhisay.info/entry/2017/11/06/163000
36.
アルゴリズム決定フェイズ • 学習時/予測時の計算機コスト • 挙動が人間に説明可能か(サポート対応必須) •
機械学習に詳しくないチーム内のエンジニアが レビュー可能か/引き継ぎ可能か – 直感的に理解可能か – チューニングを頑張らないと精度が出ない、だとダメ • 手元で過去のモデルを使って再現が容易に行な えるか 36
37.
実装フェイズ • アルゴリズムがfixされたらチーム内外で輪講 • 機械学習に詳しくないエンジニアにもレビュー やサブタスクを担当してもらい知見を共有 •
社内の実際のデータも使ってテストを動かす 37
38.
発表のゴール • 機械学習を使ったサービス開発の 難しさ • その難しさを乗り越えていくための技術 的な取り組み – 古典的な問題設定 – R&D要素の強い問題設定 •
組織的な取り組み方 38
39.
組織的な取り組み(1) • 各サービスに機械学習詳しい人物がいても1 人か2人。いないときもある – 専門的なレビューを受けるのはなかなか難しい… • サービス横断の機械学習会を設立、知見を 集約 •
各サービスで機械学習案件が必要なときは 機械学習会が専門的観点でレビュー • 半月に一度、定例会で近況をまとめる 39 hTp://developer.hatenastaff.com/entry/2018/01/11/081000
40.
組織的な取り組み(2) • はてなの教科書に機械学習講義を追加、属 人性が下がるように • 実データを使った練習問題も用意 •
Perl/Scala/Pythonによるお手本実装、サブ会 メンバーによる回答レビュー 40 hTp://developer.hatenastaff.com/entry/hatena-textbook-machine-learning-01-2016
41.
組織的な取り組み(3) • そもそもR&Dに近いような案件に取り組める 土壌作り • 論文読み会/輪講会 – 新規性や技術的な正確性よりも着眼点の面白さ や自社サービスにどう生かせそうかを議論 •
機械学習ハッカソン 41 hTp://developer.hatenastaff.com/entry/2017/04/28/130000 hTp://developer.hatenastaff.com/entry/2017/09/27/170000 hTp://developer.hatenastaff.com/entry/2017/09/27/170000
42.
発表のゴール • はてなの事例を通じて – 機械学習を使ったサービス開発の 難しさ – その難しさを乗り越えていくための 技術的/組織的な取り組み方 • が見えてくる 42
43.
43
44.
発表時には使わなかった おまけスライド 44
45.
高度な機械学習を使ったサービス: トピックページ 45 • 似た話題をトピックとしてクラスタリング • 複数のタイトルからトピックタイトルを生成 •
重要文抽出や文圧縮(構文解析や要約技 術などを使用) hTp://bookmark.hatenastaff.com/entry/2015/02/05/190331
46.
アダルト まとめサイト Ruby gem Golang GAE 分離平面 iPhone Swii エンジニア 転職 サーバー監視 Mackerel iPhone アプリ おすすめ データ収集方法とアノテーション基準(5) 能動学習による効率的なアノテーション 46 機械学習 Python アフィリエイトサイト
47.
アダルト まとめサイト Ruby gem Golang GAE 分離平面 iPhone Swii エンジニア 転職 サーバー監視 Mackerel iPhone アプリ おすすめ データ収集方法とアノテーション基準(5) 能動学習による効率的なアノテーション 47 機械学習 Python アフィリエイトサイト この辺ばかりアノテーションしていても -
精度は上がらない - 精神は病むので、つらい - しかし、ランダムに選ぶとこの辺がたくさん…
48.
アダルト まとめサイト Ruby gem Golang GAE 分離平面 iPhone Swii エンジニア 転職 サーバー監視 Mackerel iPhone アプリ おすすめ データ収集方法とアノテーション基準(5) 能動学習による効率的なアノテーション 48 機械学習 Python アフィリエイトサイト
分離平面に近い(=分類器があまり自信がない) 事例から優先的にアノテーション
49.
• 同じ400件をアノテーションするならば、より精度 が高い分類器を作れる400件のほうがよい 49 hTp://www.yasuhisay.info/ entry/2017/05/18/080000 hTps://github.com/syou6162/go- ackve-learning データ収集方法とアノテーション基準(5) 能動学習による効率的なアノテーション 注意: 実験結果は趣味プロジェクト の結果であり、社内データを 使ったものではありません。
50.
特徴量抽出での工夫: 共通で使える特徴量抽出器を用意 50 タスクA タスクB タスクC 特徴量抽出A
特徴量抽出B 特徴量抽出C 学習データA 学習データB 学習データC 分類器A 分類器B 分類器C • 各タスクで学習データ作成/特徴量抽出を頑張る必要がある • 少量の教師データではカバーできなかった語は誤判定の要 因
51.
共通で使える特徴量抽出器を用意 51 タスクA タスクB タスクC 特徴量抽出A
特徴量抽出B 特徴量抽出C 学習データA 学習データB 学習データC 分類器A 分類器B 分類器C 共通特徴量抽出
52.
特徴量抽出での工夫: 様々なタスクで使えるリソースを整備 52 タスクA タスクB タスクC 特徴量抽出A
特徴量抽出B 特徴量抽出C 学習データA 学習データB 学習データC 分類器A 分類器B 分類器C 共通特徴量抽出 タスクに依存しないデータセット(wikipediaなど)から 埋め込みベクトルやクラスタリング特徴量を作成。 誤判定が減って、性能も上がる
53.
Mackerelとは? 53 • SaaS型のサーバー管理/監視ツール • サーバーからメトリックを収集、グラフで可視化 やルールに基づいた監視や通知などをサポート
54.
54 hTp://hatenacorp.jp/solukons/brandsafe_hatena
55.
混合ガウス分布を用いた異常検知 • 一定期間を学習データとし、確率密度の低い 点を異常として検知 • 閾値監視では困難だったケースも検知できる 55 休日や夜間等比較的 負荷の低いケース 平日を中心とした比較的 負荷の高いケース 異常と判定されるケース
56.
混合ガウス分布を用いた異常検知 • 一定期間を学習データとし、確率密度の低い 点を異常として検知 • 閾値監視では困難だったケースも検知できる 56 休日や夜間等比較的 負荷の低いケース 平日を中心とした比較的 負荷の高いケース 異常と判定されるケース •
比較的、R&D要素の強い機能開発 • どのように試行錯誤したか紹介します
57.
教師あり機械学習の開発フロー 元データ 学習データ 特徴ベクトル
モデル テストデータ 特徴ベクトル 判定結果 アノテーション 前処理 特徴量抽出 機械学習アルゴリズム 57 学習時 テスト時
58.
技術的取り組み 組織的取り組み 古典的な問題設 定 (例: テキスト分類) • コード/データのバージョン管 理による再現性の担保 •
データ作成/アノテーション基 準の統一、ツールの整備 • 異なるプロジェクトでも使える データの整備 • はてな機械学習の教科書 の整備 • チームをまたいだレビュー 体制の整備 R&D要素の強い 新規の問題設定 (例: 異常検知) • 捨てることを前提に素早くい くつかプロトタイプ作成 • 過去のデータを手元で簡単 に検証できるように • シンプルで頑健に動くモデル を優先して採用 • 論文読み会/輪講会 • アイディアを試す場として ハッカソンを開催 • サブ担当を付けて問題設 定や実験方針から相談 発表のゴール 58 • 挙動の把握が難しい/属人性が高くなりやすい • 再現性が低くなりやすい/継続的な開発がしにくい 難しさ 難しさを解決するための取り組み
Descargar ahora