SlideShare a Scribd company logo
©		DeNA Co.,	Ltd.
Kaggleで描く成⻑戦略
〜個⼈編・組織編〜
July	27,	2018
原⽥ 慧
AIシステム部
DeNA	Co.,	Ltd.
Developers Summit 2018 Summer
• B会場(B-8) 17:00-17:45
©		DeNA Co.,	Ltd.
はじめに
n セッションの最後の10分くらい質問に答えるコーナーがあります
n 下記のtwitterハッシュタグを使って質問を募集します
⁃ # devsumiB
⁃ 質問ないと寂しいから質問してね!
2
©		DeNA Co.,	Ltd.
⾃⼰紹介
n 原⽥ 慧(Kei Harada) , @Seed57_cash
⁃ 数理学博⼠ -> データ分析コンサル会社 -> DeNA(2018/02〜)
⁃ DeNAのデータサイエンスチーム(いわゆるkaggler枠)のリーダー
⁃ Kaggle Master
• Santa competition 2017/18 3位
• Santa competition 2016/17 10位
• Coupon Purchase Prediction 14位
• KDDCUP2015 2位(前職の会社でのチーム)
• Save the ⾖腐!コンペ 2位
⁃ 趣味のプロコン等
• Project Euler(state of the art)
• AtCoder(⻘)
• ⼈狼知能コンテスト
3
©		DeNA Co.,	Ltd.
アウトライン
n 機械学習 / AI / データ分析 やってみたい?
n 今までやってなかったけど、⾃分もやってみたい
n じゃあKaggleやってみようぜ
n 今後は会社として取り組みたい
n じゃあKaggle推奨してkaggler増やしてみなよ
4
©		DeNA Co.,	Ltd.
n 機械学習モデルを構築するコンペティションのプラットフォーム
Kaggle(カグル)とは
5
スポンサーがデータ
と問題を出す
参加者(Kaggler)はデータを
分析してモデルを作り、
予測結果を出す
期間中(2-3ヶ⽉が多い)、
何度も予測結果を提出し
て、精度を確認できる
コンピュータに
よる⾃動採点
期間終了時のベストスコアで順
位が付き、賞⾦とメダルを授与
Master
Expert
Contributor
Novice
GrandMaster
メダルがたまると
Kagglerとしてのラ
ンクが上がる
©		DeNA Co.,	Ltd.
最近のKaggleコンペの例
n ローンのデフォルトを予測する
n ユーザーが不正なアクセスをしているかどうか予測する
n 観光名所の画像を検索する
n 掲⽰板への書き込みが��除対象かどうか判断する
n 商品の販売価格を予測する
n などなど
6
©		DeNA Co.,	Ltd.
よくある批判
n Kaggleなんかやって何の役に⽴つの?
n じゃあ、あなたは何の役に⽴つのですか?
⁃ 精度の0.0001とか競って何になるの?
• ⾞に対するF1みたいなもの(前職の親会社の⼈の⾔葉)
• 競う中で「安全運転」もわかってくる
⁃ 勝つためのテクニックの移り変わりが早く、廃れるのが早い
• 事実としてはその通り、「新しいテクニックを⾝につける」というスキルがいまのご時世どれだけ重
要か考えてほしい
⁃ サイエンス特化ではなくて、バランス⼈材が⼤事ではないか
• なんでもできて、仕事をリードする⼈は素晴らしい。なんでも半⼈前にしかできない⼈は律速段階に
なり、⼀番役に⽴たない、まず何かで⼀⼈前になるべき
• ⼀⼈で何でも⼀流にできるスーパーマンは本当に稀で代替が効かない、⼀⼈のスキルに依存するのは
組織としてはダメなこと
• 仕事なのだからチーム全体としてなんとかなればいい
7
©		DeNA Co.,	Ltd.
Kaggleで学べること ≒ Data Scientistに必要なスキル
n よく英語の資料で⾒かける必要スキル
⁃ 数学、数学的な思考
⁃ 統計
⁃ 機械学習の理論
⁃ コーディング(主にpythonの⼀部ライブラリ / R, SQL)
⁃ データの可視化
⁃ データハンドリング
⁃ データ収集
⁃ データを扱う「勘」
• 参考:8 Skills you need to be a Data Scientist (https://blog.udacity.com/2014/11/data-
science-job-skills.html)
n Hacker Mindset も、仕事上もKaggle上でも重要
8
真⾯⽬にやっていれば
習得不可避
上位を⽬指していると
必要に迫られる
学ぼうと思えば題材が
ある
©		DeNA Co.,	Ltd.
Kaggleを始めるのに必要なスキル
n 始めるのに必要なスキルは多岐にわたる
⁃ 数学・統計
⁃ 機械学習の理論
⁃ コーディングスキル
n 達⼈になるには必要かもしれないが、始めるだけならいらない
⁃ スゴい⼈たちも最初からスゴかったわけじゃない
n やる気があればなんとかなる
⁃ Hello world的な問題もたくさんある
• Titanic, Digit Recognizer, 等
⁃ 新しい仕事、新しいプログラミング⾔語を学び始めるのと同じ
9
©		DeNA Co.,	Ltd.
個⼈編: Kagglerにせまる
10
©		DeNA Co.,	Ltd.
なぜkagglerはKaggleをやるのか?
n 賞⾦
⁃ 優勝賞⾦は結構⾼額(数万〜数⼗万ドル)
⁃ 始めるきっかけには⼗分だが、継続する理由ではない
• 累積獲得賞⾦ / 累積kaggle時間 = 時給 は考えたくないほど低い
n ⾯⽩い、⾃⼰顕⽰
⁃ ネトゲで上位争いをする感覚に近い
n データ分析の勉強のため
⁃ 普段は触れられないデータや、新しいテーマに触れることができる
⁃ ヘタに論⽂を読むよりも、コンペに真⾯⽬に参加して、上位⼊賞者の解法を⾒た⽅がわか
りやすい
n ⾃⼰PRのため
⁃ 採⽤活動に利⽤するケースが⽇本でもここ数年増えてきた
⁃ Kaggle masterになると転職市場での価値が上がる
11
©		DeNA Co.,	Ltd.
どんな⼈が強いkagglerになっているのか
n 数学・物理等の理論系出⾝
⁃ たまたまデータ分析が仕事になったことがきっかけ
⁃ 数学、統計、機械学習の理論への親和性が⾼いので、きっかけさえあればスキルは活かし
やすい
n 機械学習関連分野(画像処理、⾃然⾔語処理など)出⾝
⁃ 特定の分野に強くて、初めてみたら⾯⽩いからほかもやってみたら⾯⽩くなった、という
ケース
n プロコン勢
⁃ Kaggleも幅広に⾔えばプロコンの⼀種
⁃ 新しいことを始めるスキルが⾼い、すごく強い⼈はここに多い
n データ分析関連のエンジニア出⾝
⁃ 仕事の幅を広げてきたケース
⁃ まだ少数派の印象
12
©		DeNA Co.,	Ltd.
Kagglerが得意なこと
n 精度の⾼いモデルを作る
n モデルの評価・検証の仕組みの設計
n ⾼速でモデル構築を終わらせる
⁃ 普段やってるので経験もコードの蓄積もある
n 幅広い引き出しから適切な分析⼿法を選ぶ
⁃ Kaggleで⾊々試しているので勘所がわかる
• 特にダメなケースは「最近勉強したこの⼿法をやってみたいから」
n データを⾒てあれこれ考える
⁃ 特徴量を作る作業の副作⽤
⁃ 裏にあるデータ処理のミスに気づく、とか
n 論⽂を読んで何となく理解する
⁃ 新しいことを学ぶ能⼒が鍛えられている
13
©		DeNA Co.,	Ltd.
Kagglerが得意とは限らないこと(1)
n データ処理、蓄積の設計
⁃ Kaggleではすでに処理されたデータが与えられるので、Kaggleでは必要ではな
い
n 解決すべき問題の⼤枠の設計
⁃ Kaggleではすでに設計されている
⁃ 問題をそもそもひっくり返すちゃぶ台返しは、仕事では重要だがKaggleではや
っても仕⽅がない
n 可視化、わかりやすく説明する
⁃ 最後にモデルができさえすればいい
n 綺麗なコードを書く
⁃ これで実装してください.R の品質は個⼈差が⼤きい
n Kaggleを禁⽌されること
14
©		DeNA Co.,	Ltd.
Kagglerが得意とは限らないこと(2)
n 多くの⼈とコミュニケーションする
⁃ 会議よりも⾃分の作業に集中したい、というタイプが多い
• けして⼈間嫌いなわけではない
⁃ 仕事の範囲が明確である⽅がいい
n 論⽂を書かされる
⁃ 論⽂が読めると書けるは全然違う。研究者のレベルでの最先端のキャッチアッ
プ(誰よりも先にarXivから論⽂を⾒つける、とか)はkaggleでは必要ではない
n 隙のない教養、体系的な学習
⁃ 「えっ〇〇本読んでないの?」というようなケース
⁃ Leaderboardで結果が出るものに興味がある
n 何年も⼀つの仕事をする
⁃ 新しいことへの好奇⼼が強い⼈が多い
15
©		DeNA Co.,	Ltd.
組織編:会社でKagglerがどう働くのか
16
©		DeNA Co.,	Ltd.
Kagglerにとって何が幸せか
n 「不仕合せ」の最⼩化
⁃ 会社で仕事をするのは幸せばかりでない
• 働かずにノーリスクで同じ年収もらえるなら、働きたくない、よね?
⁃ 「幸せ」を積極的に与えるのは難しくて、不幸な巡り合わせを減らすことが会
社としてできること
• 多くの⼈とコミュニケーションする → 仕事の疎結合化
• 論⽂を書かされる、隙のない教養、体系的な学習 → 正しい理解
• 何年も⼀つの仕事をする → 適切なアサイン
• Kaggleを禁⽌される → 禁⽌しない
⁃ 得意でないことは得意な⼈と組んで⼀緒にやればいい
• データ処理、蓄積の設計
• 綺麗なコードを書く
• 可視化、わかりやすく説明する
• 解決すべき問題の⼤枠の設計 17
©		DeNA Co.,	Ltd.
DeNA	の場合
18
©		DeNA Co.,	Ltd.
DeNA	Kaggle社内ランク制度
n データサイエンス部⾨内の制度
n 業務時間の⼀定割合(通常は20-30%をKaggleに投⼊して良い)
⁃ 毎年⼀定の結果を出すことが条件
19
©		DeNA Co.,	Ltd.
DeNAのデータサイエンティストの役割
20
分析を⾏う 組織体制
AIアルゴリズム系エンジニア
AI研究開発エンジニア
データサイエンティスト (Kaggler)
AI	基盤系エンジニア
AIデータエンジニア
AI・分析ツールエンジニア
AI・分析インフラエンジニア
分散基盤エンジニア
AIシステム部 (全社横断)
AI研究開発
エンジニア
データ
サイエンティスト
• コンピュータビジョン、深層強化学習等の
AI研究領域に⾼い専⾨性を持つ
• ⽇々、最新研究動向をウォッチし、
専⾨技術を活⽤して事業貢献する
• サービス・事業の抱える分析課題を解くことに燃える集団
• ⼿段を問わず、最⾼の分析結果を出すことに泥臭くコミット
サービス
事業組織
各サービスに事業をリ
ードするプロがいる
実装周りのプロはAI基盤系エンジニアがいる
最先端研究の活⽤のプ
ロは別途いる
データサイエンティス
トは強みに集中できる
©		DeNA Co.,	Ltd.
まとめ
n KaggleをやるとData Scientistになるのに必要なスキルが⾝につく
⁃ しかも楽しい!
n Kagglerにはいろんな⼈がいて、できることも様々
n Kagglerには得意なことと、そうでないことがある
⁃ 個⼈差もかなりある
⁃ 正しく理解して、強みに集中させる
⁃ できないことは他の⼈がフォローする
• データ処理、蓄積の設計
• 綺麗なコードを書く
• 可視化、わかりやすく説明する
• 解決すべき問題の⼤枠の設計
21

More Related Content

Devsumi 2018summer