狠狠撸

狠狠撸Share a Scribd company logo
【営業から運用まで】
全部分かる、データサイエンティストの仕事
中村牧場合同会社、株式会社Splink
中村俊輔
今日の流れ
● 何故今機械学習なのか
● 機械学習を取り巻く環境とビジネス機会の関係
● 機械学習@ビジネス
● よく躓くポイントとその解決方法
● 機械学習@人材
● データサイエンティストの育て方
勉強会が終わったときにあなたは
● 今日の勉強会で…
● 機械学習でビジネス課題を解決する現場を知れる
● 実力があれば明日から活躍できる
● 今日の内容は
● 機械学習をある程度知っている人向けです
基礎がある程度あって、どう使うかを知りたい人
● 基礎からやりたい人はこちらも併せてどうぞ
今更聞けない機械学習の基礎と応用
https://supporterz.jp/spevents/detail/20180803_kyoto
全部見せます、データサイエンティストの仕事
https://supporterzcolab.com/event/485/
自己紹介
● 学生時代
● 大学でアメフト部で相手チームのデータ分析
● 大学、大学院で機械学習を専攻
● 研究テーマ :機械学習によるアメリカンフットボールの戦略推定
● インターン -> 業務委託契約
○ マクロミルで1ヶ月のインターンシップの後、半年業務委託契約
データサイエンティストとして働くことを知る
注意
● サッカー選手ではありません
データ!アメフト!
中村俊輔
@shun_naka
自己紹介
● 社会人
● 楽天でキャリアスタート
● Hadoopを使ったビッグデータ処理、Webアプリケーション開発
● 機械学習を使う機会には恵まれず
● cherry-pick入社
● 自社サービスの機械学習部分の開発
● 人工知能受託開発会社 CTO
● 受託開発の機械学習部分、
● 30プロジェクト
50人以上のデータサイエンティストの育成、マネージャ
● マネーフォワードグループ クラビス 人工知能研究所 所長
● 書類データ化アプリケーションの機械学習部分の開発、マネージャ
● エッジコンサルティング AIジョブカレ 講師
● 機械学習、深層学習講座の講師
※日本ディープラーニング協会認定講座
● 中村牧場合同会社 設立
● 機械学習のコンサル、受託開発、人材育成
● 株式会社Splink AIエバンジェリスト
● 人材育成、プロジェクトマネージャー
● 奈良クラブ CTO
● サッカーチームのテクノロジー全般、IoT, AI, スポーツデータ解析
データ!データ!
中村俊輔
@shun_naka
自己紹介
● 働き方
● フルリモート、ネオ社会人
● 個人の活動
● NFLでデータ分析屋さんになるべく
アメフトのアプリの研究開発をやってます
@京都
● 一般社団法人Japan American football Dream
の一員として活動もしてます
中村俊輔
@shun_naka
データ!とスポーツ(特にアメフト)で
面白いことをやりたい!
何故今、機械学習なのか?
機械学習を取り巻く環境とビジネス機会の関係
まずは頭の整理
● よく聞く単語ってどこにいるの?
人工知能
汎用人工知能
機械学習
クラス分類器
Deep Learning
特化型人工知能
人間の脳を
計算機で作
るぞ!
人間の知的な行動の一部
を計算機で実現したい
はじめに
● 機械学習?
● 人間が自然に行っている学習能力と同様の機能を
コンピュータで実現しようとする技術?手法 (Wikipedia)
● 1959年から存在
● 特別新しい技術ではない
はじめに
● 何故今注目されている?
● コンピュータのほうが安く
よりよく課題を解く場面が増えた
● 何故そんな場面がふえたのか
● 人間 vs コンピュータ
● 人間の得意なこと
● 曖昧さを許容
● 多様な知識を自ら学習
● コンピュータの得意なこと
● 大規模計算が正確、高速
● 不眠不休
● コンピュータの性能上昇、データ量増加
● コンピュータのほうが安く
よりよく課題を解く場面が増えた
● 今ある仕事のいくつかはコンピュータになる…
かも
● 実用例
● スパムメール検知
● カメラの顔検出 …等
機械学習がもたらす影響
● 現在進行形で産業革命が2つ起こっている
● ICT革命
● 人工知能革命
● 機械学習でビジネス課題を解決できると競争力があがる
● 機械学習を使った方が低コストでよりよく解決できる課題が多くなる
● その課題を機械学習を使って解決することで競争力があがる
機械学習@ビジネス
中村が思ったことを好き勝手に言います
はじめに
はじめに
はじめに
ブルーオーシャン
です!!!!!!
需要が大きく、
本格的に参入している組織は少ない
我々(中村牧場)のビジネス
● 受託開発
● クライアントがいて要望があって
それを実現できるアプリケーションを開発する
こんなことしたいなぁ
こんな感じのものでど
うでしょう?
そうそう、これこれ
作りました。
やったー
対称関係にあるビジネス
● 学習済みモデル販売
● 既にある学習済みモデルの利用に応じて課金する
● 機械学習の代表的な課題を解決する
● 画像 (オブジェクト認識、OCR)
● 音声 (音声認識、話者認識)
● テキスト (音声合成、翻訳、意味理解)
● 例
● IBM Watson
● Visual Recognition
● Language Translator
…
● Google CLOUD MACHINE LEARNING
● SPEECH API
● VISION API
● TRANSLATE API
…
● Microsoft
● Computer Vision API
● Speaker Recognition API
● Translator Text API
● …
も○もボックス
(これがあればだいたいイケる的思
想)
比較
受託開発 クラウド
ほしいものが使える ○ △
財産が残るか ○ ×
利用開始までの時間 × ◎
本勉強会では主に
受託開発屋さんから見える世界を話します
具体的な行動、成果物
● 実際のビジネス課題を解く手順
● 問題設定
● データ選定
● 前処理
● 機械学習で分析
● 結果確認、再処理
● 既存システムとの繋ぎこみ
※詳しくは別セミナー(初心者向け)にて
全部見せます、データサイエンティストの仕事
https://supporterzcolab.com/event/485/
具体的な行動、成果物 (詳細)
● 実際のビジネス課題を解く手順
● 問題設定
● 会議、営業
● データ選定
● 会議、データベース操作
● 前処理
● ETL(Extract/Transform/Load)処理スクリプト開発
データベース操作、統計処理
● 機械学習で分析
● 開発 (Pythonメイン)
● 結果確認、再処理
● 可視化、評価指標確認
● 既存システムとの繋ぎこみ
● API化開発、インフラ構築
難しいポイント
● 実際のビジネス課題を解く手順
● 問題設定
● 会議、営業
● データ選定
● 会議、データベース操作
● 前処理
● ETL(Extract/Transform/Load)処理スクリプト開発
データベース操作、統計処理
● 機械学習で分析
● 開発 (Pythonメイン)
● 結果確認、再処理
● 可視化、評価指標確認
● 既存システムとの繋ぎこみ
● API化開発、インフラ構築
難しいポイントをメインで説明します
会議、営業
問題設定 会議、営業
お客さんにYesと言わせるまで
そもそも
エンジニアが
営業する必要あるのか
どちらかというと
したほうがお互いハッピー
なぜか
● 機械学習で何ができるのかを正しく理解できている人は非常に少ない
● 仕事を依頼する人も
仕事を受ける人も分かっていないことが多い
※機械学習を研究している人も分かってない人が多いです
現場でやること 営業というより…
● 契約をどうするか、ではなく
どんなものを作るか、を話す
● もう少しいうと、初めに作るプロトタイプの形をどうするかを話す
● 例
クライアント「ECのデータをまとめて見れるようなサービスを作りたい」
こちら「持っているデータについて教えてもらえますか?」
クライアント「各プラットフォームで商品のコード(JANコード)の欄があるが
入力はユーザー任せなのでついているものとついていないものがある」
こちら「じゃぁJANコードに対して商品を名寄せするシステムにしましょう。」
「一部データを教師データに使えるので、
いったん今あるデータで1-2カ月やってみます。」
アンチパターン
● “機械学習で解くべきではない問題”に挑戦するのは避けるべき
● 機械学習で解くべきもの
● 軽度な知的作業、データを集めればなんとかなるもの
● 先行研究などがあるもの
● 解くべきではないもの
● 高度な知的作業、あいまいさ、ノイズが大きいデータ
● 教師データの入手が困難
● 例 (Webマーケティング自動化ツール)
クライアント 「以下のどれかやりたいんだけど…」
①広告購入 検索クエリレコメンド
②検索クエリごとのランキング上位化施策レコメンド
③Webページ自動更新
こちら 「1が一番簡単で3が一番難しい」
● 難しさを分かったうえでチャレンジするならOK
● 難しさが分かっていないと
クライアント 「こんなこともできないのか」
コストカットAIの提案
売りやすい安いAI
と
売りにくい高いAI
コストカットAIの提案
最初は売りやすい安いAIを
入口商品にするのがベスト
コストカットAIとAIだけが到達できる領域
● 現状
● あるべき姿
人しかできない作業 人がやるべき作業 コンピュータが
やるべき作業
コンピュータしか
できない作業
人 COM 未到達
人しかできない作業 人がやるべき作業 コンピュータが
やるべき作業
コンピュータしか
できない作業
人 COM
コストカットAIとAIだけが到達できる領域
● 段階的にコンピュータで処理する部分を増やす
● Phase 1
● Phase 2
人しかできない作業 人がやるべき作業 コンピュータが
やるべき作業
コンピュータしか
できない作業
人 COM
人しかできない作業 人がやるべき作業 コンピュータが
やるべき作業
コンピュータしか
できない作業
人 COM
未到達
コストカットAIの提案
● 実際の作業
● タスクA
● タスクB
● タスクC
● タスクD
● タスクE
● タスクF
● 我々ができること
● それぞれの課題をAIで代替する場合の難しさ、見積もり
● 事業主にやってもらうこと
● それぞれの課題をAI化できたときの削減されるコストの試算
● 本当はやりたいことのリスト
難しさとコストの比較
タスクDからやりましょう!
タスク 削減できるコスト AI化難易度
タスクA 100万円 / 年 難
タスクB 1000万円 / 年 中
タスクC 1000万円 / 年 中
タスクD 1000万円 / 年 易
タスクE 100万円 / 年 難
タスクF 1000万円 / 年 難
サブトピック まずお客さんをどうやって見つけるの?
● そこら中にいる
この勉強会にも来ているかも
● やっています感を出すのは大事 (セルフブランディング)
● 具体的な行動
● 勉強会主催
● 勉強会参加
● LinkedIn, FaceBook等での告知等
● 一番簡単
● 中村牧場に来る
伝えるべきこと 開発者が意識すべきこと
● クライアントに分かってもらう必要があること
● 機械は“頭の良い”人間ではない
人間のほうが”頭は良い”
● 人間が機械に勝てない場面が存在するだけ
軽度な知的作業やコスト面
● 開発者が意識する必要があること
● 既に解かれている似た課題の
応用だけで顧客はハッピーになることが多い
● 我々は研究者ではない
vs 巨人
● 巨人たちとの差別化、使い方
● よく言われる言葉「何が違うの?」
● 競合するか?
● Yes
● 協調できるか?
● Yes
APIをつなぎこむ開発だけで
儲けているビジネスもある
vs 巨人 2
● 巨人たちとの差別化、使い方
● 巨人の力を使えるところは使って、使えない部分だけ作る
本当にまじめにやるなら独自開発のほうが良いが、
まじめにやらなくても良い(時代に遅れなければOK)と思っている人もいる
最終的にAIをビジネスのコアバリューとするか、が判断基準
● ビジネスだけでいえば、
つなぎこむだけで開発が終わるならそれはそれでよい
車輪だけで済むならば、車輪の再発明をする必要はない
※楽しくは…ないかも
受託開発 クラウド
ほしいものが使える ○ △
財産が残るか ○ ×
利用開始までの時間 × ◎
データ選定の会議
データ選定 会議
プロとの協業
その分野のプロの知識をいかに反映させられるか
● バリューを出せるポイント
● 機械学習の専門家 x ビジネスの専門家が組むからよい
● すべてデータドリブンでは良いアプリケーションは作れない
ビジネスをやっている人のドメイン知識が必要
● 機械学習の専門家
● データを使ってどう価値を出すかを知っているが
そのビジネスを知っているわけではない
● そのビジネスで得られたデータの特徴や、解きたい課題は
ビジネス側から教えてもらう必要がある
機械学習の専門家 ビジネスの専門家
データ利用 ○ ×
ビジネス知識 × ○
すごく重要なこと
すごく重要なこと
仲良くしよう
その分野のプロの知識をいかに反映させられるか – アンチパターン
● アンチパターン
● 機械学習を分かっていない人がリードをして
我々がビジネス要求を想像する
※結構よく見ます
● クライアント「こんな手法がいいって聞いたんだけど、使ってみて」
こちら「えっ… (的外れすぎ ワロスw)」
こちら「データ的にはここはこうなはず」
クライアント「そんなわけあるか (実際に仕事してないから仕方ねぇな…つっかえ)」
機械学習の専門家 ビジネスの専門家
データ利用 ○ ×
ビジネス知識 × ○
※「原因と結果の経済学」
(中室牧子、津川友介著、ダイヤモンド社)
こうなると
こうなると
すぐ仲が悪くなるよ!
※よくあります
機械学習パート
機械学習で分析
結果確認、再処理
良いものを作るために
評価方法
● 分かりやすい目標と評価指標で説明してあげる
● 終わりはこっちで決める
(クライアントはどうやったら終わるかもわかってない)
● 例) プロトタイプを2か月で作ります。目標正答率は80%
その後、チューニングを3カ月かけてやります。目標正答率は95%
● 評価指標は様々なものがあるが、可能な限り分かりやすいものを
正答率や平均誤差等が一番良い
※レポート用とモデル評価用に評価指標を別々に測ることもしばしば
● グラフを出すとかなり喜ばれる
● 評価指標よりチューニングする
チューニング方法
● チューニングの簡単なステップ
● 誤分類、エラーデータの確認 -> モデルへの反映
機械学習の
PDCA
※画像引用元 : http://www.m2m-cloud.jp/analytics/
もっと良いものを作りたいと思ったときに
● 識別性能などのモデルの性能を上昇させたいなら
理論が先ではもう追いつけない
● 特にニューラルネットワーク
● サポートベクターマシンくらいまでは理論先行だった
● 理論(基礎) 研究 -> 応用研究を支える図式
● Deep Learningを支えるDrop Out,
構造であるCNN, RNNは応用(実践) から誕生し、
性能で評価されている
※理論の数学的な証明はなく、おそらくそうだろう、というものが多い
(裏側のパラメータ最適化は非常に簡単なものであり、
ネットワークの構造等を試し、検証して性能を向上させるのがメイン)
もっと良いものを作りたいと思ったときに
● やったもん勝ち、ためしたもん勝ち
● 開発スピードや計算機のパワーをいかに引き出すかが勝負
● 精度を高めるための最終的な到達地点はいかに良質なデータを大量にあつめて
札束(計算機)で殴るか
● Google 開発者「我々は博士で難しいことを勉強したり研究したが、我々はデータセット
を集めることやチューニング等のくだらないことに徹している」
● 機械学習のコモディティ化:
ベースラインに追いつくのは驚くほど簡単
https://paperswithcode.com/sota
● もちろん、”現在”の話
● 汎用人工知能や新たな手法が考案されれば変わるが
ここ10-20年くらいはこうなるはず
つまり、事件(良い機械学習のモデルを作るに)は…
事件(機械学習の最前線)は会議室(研究室)で起きてる
んじゃない、現場(応用、実践)で起きている
アプリケーション開発パート
既存システムとの繋ぎこみ
高速でステーブル
実運用でパワーを発揮するアプリケーションに
マイクロサービスにする
● 単独で動作し、シンプル
● RESTful APIが分かりやすい
● APIクライアントも開発して渡すと○
● データの受け渡しも相手にしてもらうのが理想
● こちらが直接データベースにアクセスするのを避ける
(サービスの障害にしてはならない)
● 巨人のAPIの作りはかなり参考になる
● 例) Google Cloud Vision APIでは
画像をbase64エンコードして文字列にしてリクエストする。
バイナリより容量が増える、エンコードとデコード処理が必要になるが
文字列なのでシンプル、取扱が楽
● 簡単なチューニングは顧客にできるように
● データの細かいフォーマットの変更や追加等
仕事としてスケールさせるために
● 運用に時間がかかるシステムはお互いアンハッピー
● 理想的じゃない人は多い
● 普通の開発、運用ができないとこうなる
障害やバグ対応、仕様変更に耐えられなくなる
● この働き方では複数クライアントと一緒に仕事をすることはできない
● パフォーマンス(お給料)に大きな差が出る
● データサイエンティストとして食べていくためには
良いアプリケーションエンジニアであるか、は不可欠な要素
ここまでちゃんとできれば…
ここまでちゃんとできれば…
明日から活躍できます!
機械学習@人材
データサイエンティストの育て方
データサイエンティストに必要な要素3つ
※ミッション、スキルセット、定義、スキル. レベル byデータサイエンテ
ィスト協会
http://www.datascientist.or.jp/news/2014/pdf/1210.pdf
● 黎明期の現在はすべてを持ち合わせる必要がある
● さらに素早く成果物を出すには一人ですべてカバーしている必要がある
どうすれば3つの要素を持ち合
わせられるのか?
実务が一番
つまり…
要素 in データサイエンス 仕事
ビジネス力 サービス設計、要件定義、モデル選定
データサイエンス力 機械学習モデルの実装、論文読む
データエンジニアリング力 アプリケーション、API開発、運用
データサイエンティストに必要な要素3つが身に着く現場
● 大学、大学院
● 数学、機械学習を身に着ける
● 論文を読んだら実装できる
● 大企業、中企業
● 開発、運用の基礎を身に着ける
● 高速な開発と容易な運用、いわゆるきれいなコードを
書けるようになる
● ベンチャー企業
● 自ら問題解決をする
● 自社、クライアントの問題をデータサイエンスでどう
解決するかを提案できる
● 中村牧場、Splink
● 多種多様なクライアントとすべてのことができる!
● データサイエンティストのパイオニアになる
※個人の感想です
さいごに
データサイエンスは楽しい!
今まで人間が解けなかった問題が解ける
働き方をどう変えるか?は我々次第
さいごに 2
興味を持ってくれた人へ
やってみたい人で学生の人 : インターンっぽいのがあるのでやってみませんか
やってみたい人で働いてる人 : 副業してみませんか
やってみたい人で教えて欲しい人: 塾事業始めました。受けてください
何かデータで困っている人 : 力になります。お話を聞かせてください
社内の人材を育成したい方 : 社外向けの勉強会, 共同開発等ありますので是非ご利用ください
轮読会の様子
塾の様子

More Related Content

20190212 supporterz