Slide 1

Slide 1 text

ディープラーニングを推さない ハカルスのやり方 2018-09-14 CTO Night KANSAI @ ヤフー株式会社 大阪 GFO

Slide 2

Slide 2 text

木虎 直樹 (きとら なおき) •株式会社ハカルス CDO •2011年頃から機械学習やデータ分析に関わる •バックグラウンド • ソフトウェアエンジニア • インフラエンジニア

Slide 3

Slide 3 text

ハカルスとは • ライフサイエンス・産業分野 x AI • スパースモデリングを軸としたデータ解 析 • アドバイザー • 東北大学・大関真之准教授 • 滋賀大学・河本薫教授

Slide 4

Slide 4 text

今日お話したいこと •ハカルスがディープラーニングを推さない理由 •スパースモデリングの紹介 •データサイエンティストとソフトウェア開発者の引き 継ぎ

Slide 5

Slide 5 text

ディープラーニングの問題 •学習に大量のラベル付きデータが必要 • 自動運転では数百万枚の画像や数千時間の動画 •大量の計算機資源が必要 • ハードウェアコストが高い • エネルギー消費量が多い •ブラックボックス • なぜその結果が得られるのかわからない ディープラーニングの問題ではないけれど…… •コストパフォーマンス • その 1パーセントポイントの改善に意味があるか

Slide 6

Slide 6 text

スパースモデリング 物事のスパース性に着目してデータ構造などをモデ ル化する手法 単一のアルゴリズムではない スパース性: 物事を本質的に特徴づける要素は僅かであるという性質 x 1 + 2x 2 = 4 スパース性を仮定すれば解ける

Slide 7

Slide 7 text

スパースモデリングの応用例 •画像復元 •ノイズ除去 •移動体検知 •特徴量選択 •etc.

Slide 8

Slide 8 text

ハカルスでの事例 ドローン空撮画像による建物壁面の補修箇所の検知 (株式会社アイ・ロボティクス)

Slide 9

Slide 9 text

ハカルスでの事例

Slide 10

Slide 10 text

データサイエンティストからソフトウェ ア開発者への引き継ぎで起こる問 題

Slide 11

Slide 11 text

チーム構成 •データサイエンティスト • 京都 • 仙台 •ソフトウェア開発者 • フィリピン

Slide 12

Slide 12 text

ツール •Daily meeting, Sprint planning meeting • Google Hangouts (Meet) • Zoom •その他のコミュニケーション • Slack • Backlog •開発 • Python • Git • Docker • Jupyter Notebook の実行環境

Slide 13

Slide 13 text

前提 最初にあったのは Jupyter Notebook とそれらから使 われるコード データサイエンティストはソフトウェア開発のプロ フェッショナルではない trial error 成果物

Slide 14

Slide 14 text

実装したアルゴリズムをどんな形で引き継ぐか •最初 • コードをコピペ •あるべき • パッケージ化 + Internal PyPI • Git submodule

Slide 15

Slide 15 text

モジュールやクラス、メソッドが第三者の利用を考え られていない •ソフトウェア開発者との共同作業でリファクタリング •パッケージ化することでデータサイエンティストの 意識に変化も

Slide 16

Slide 16 text

パフォーマンスが考慮されていない •実機での動作を確認しやすい仕組みを作る •%prun 使ってプロファイリング

Slide 17

Slide 17 text

ユニットテストがない •ユニットテストを書く •テストを意識した設計に •パフォーマンスを意識するために実行時間を出力 するようにしておくのもあり

Slide 18

Slide 18 text

クラスやメソッドの使い方がわからない •pydoc •Jupyter Notebook で使い方を例示

Slide 19

Slide 19 text

今日お話したこと •ハカルスがディープラーニングを推さない理由 •スパースモデリングの紹介 •データサイエンティストとソフトウェア開発者の引き 継ぎ