Slide 1

Slide 1 text

1 データサイエンティストよ
 
 
 ふるえて眠れ
 
 
 
 
 
 
 白金鉱業 Meetup vol.8 2019/6/11

Slide 2

Slide 2 text

2 自己紹介
 名前:辻陽行 将来の夢:天にも届くような高いビルに住むこと トラウマ:高2のクラスマッチでオウンゴールを決め敗退が決まったこと なりたかった職業:先生 最近の悩み:不安で夜も眠れないこと Twitter: @Hyperion134 Qiita: @Hyperion13fleet 免責事項:本日の発表内容は、個人の意見であり所属組織を代表するものではありません

Slide 3

Slide 3 text

3 これまでの発表内容
 「あったらイヤだな」をカタチにした 第1回目のLT データサイエンティストの皆さまに 「お分かり頂けただろう」第2回目のLT

Slide 4

Slide 4 text

2019年4月8-11日に開催されていたGoogleCloudNext 19 San Franciscoに参加してきたので すが、それについては特に触れず GCPNext19に参加してから不眠症気味になっている 私に何が起こったかを紹介させていただきたいなと思います あと、なんとなく語感がいいから「ふるえて眠れ」とタイトルつけたら思いの外、挑戦的なタイトル になってしまいましたが、別に誰かを攻撃するつもりはありません 大事なことなのでもう一度言います 誰かを攻撃するつもりはありません ちなみに GCPNextの参加レポートなどは弊社ブログにて紹介させていただいています [宣伝] http://blog.brainpad.co.jp/

Slide 5

Slide 5 text

5 
 やばい 英語が聞き取れない
 Task.1

Slide 6

Slide 6 text

6 [症状]I can’t speak English 
 I can’t speak English!!! Oh… Listening too!!! Oh… ● GCPNext19のプレゼン内容が左の耳か ら右の耳へそのまま通り過ぎていく ● そんなこともあろうかとMacの録音機能 を使ってプレゼン内容を録音しておいた が、何回リピートしても未だに内容が入っ てこない 自覚症状 困っていること ● 英語への接触機会が圧倒的に足りない ● 聞き取った内容が合っているのか文章で 確認できるようにしたい

Slide 7

Slide 7 text

いったい なぜこんなことに??

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

12 英語が聞き取れるようになりたい 
 まぁ、数千年前のヘブライ人に文句を言っても仕方がないので、素直に Berlitzに登録しようとかとも思ったのですが、もっと楽する方法はないかと GCPのサービスを漁ってみることに。。。

Slide 13

Slide 13 text

13 翻訳関連で使えそうなGCPサービス 
 Cloud Speech-to-Text Cloud Translation API 言語ペアの変換可能 テキストを音声に変換可能 音声をテキストデータに変換可能 Cloud Text-to-Speech

Slide 14

Slide 14 text

14 やろうと思えばGCPでできそうなこと 
 やりたいこと 出来そうなこと 関連サービス 翻訳アプリでは収まりきらないほど長い スピーチや議論を全て翻訳したい 事前に録音された音声をCloud Speech-to-Textを介して 文字情報に変換する その後、Translate APIで希望の言語に変換する Cloud Speech-to-Text Translate API 古代ヘブライ人にバベルの塔を建設しな いように忠告したい Translate APIで日本語からヘブライ語に変換しイラクま で行く(Cloud Text-to-Speechはヘブライ語未対応。残 念) Translate API 英語のシャドーイングがちゃんと出来て いるか発話内容を文字に起こしたい ストリーミング型のCloud Speech-to-Textを介して変換 を実施するか、バッチ実行を行う Cloud Speech-to-Text Cloud pub-sub 何かデモ的なことをやろうとも思いましたが、どの機能も翻訳アプリの要素技術であり目新しさが全くないの で、どんなことが出来そうかだけまとめておきます。

Slide 15

Slide 15 text

15 
 FIFAで全然勝てない
 Task.2

Slide 16

Slide 16 text

16 症状:ディフェンスライン?何それ? 
 ● FIFAがシンプルに下手 ● 発作的にディフェンスラインを崩す癖があ る ● ドイツ人に英語で「下手くそ」と煽られす ぎて、もはややっていない 自覚症状 困っていること ● 自分のプレイのどこに問題があるのかな んとなくしか知らないのでいまいち上手く ならない

Slide 17

Slide 17 text

17 ちなみにこんな感じのゲーム [FIFA19] 
 人生の絶頂と絶望が詰め込まれた作品

Slide 18

Slide 18 text

18 FIFAで勝ちたい
 すでにプレイするのを放棄するぐらい強くなるモチベーションは下がっている ものの、9月に発売されるFIFA20に向けて練習しようかとも思ったのです が、もっと楽する方法はないかとGCPのサービスを漁ってみることに。。。

Slide 19

Slide 19 text

19 画像・動画関連で使えそうなGCPサービス 
 Cloud Vision API Cloud Video Intelligence API 動画のラベル識別などが可能 一般的な物体検知や顔検出が可能 Cloud AutoML Vision ラベルを自分でつけて固有の画像認識問 題を解くことが可能

Slide 20

Slide 20 text

20 画像・動画関連で使えそうなGCPサービス 
 Cloud Vision API Cloud Video Intelligence API 動画のラベル識別などが可能 一般的な物体検知や顔検出が可能 Cloud AutoML Vision ラベルを自分でつけて固有の画像認識問 題を解くことが可能 神

Slide 21

Slide 21 text

21 FIFAの重要なシーンをAutoML Visionを使って判定・抽出する 
 PS4からYoutubeへプ レイ動画をシェア 動画を今度はGCSに 格納 Compute Engine Cloud AutoML Cloud Storage Cloud Storage 動画をクラウドに 格納 動画を画像に 分割 画像へのラベリング 判別モデルの構築 予測結果の 格納 外の環境 GCP この部分を試してみる 【目的】 まずは、ゴールやシュートが絡んでくるアタッキングサードの画像だけを正確に判別する 【方法】 PS4でシェアした動画を画像に分割し、数百前後の画像に対してアタッキングサードとセンターフィールド周 辺かを識別したラベルを付与し未知の画像でもちゃんと識別できるか確かめる

Slide 22

Slide 22 text

22 [ミニアウトプット] アタッキングサードを特定する 
 アタッキングサード センターフィールド 正解 不 正 解 ラベル付与 モデル作成 真ん中周辺 ペナルティエリア周辺 300前後の画像をラベリング [設定ラベル] attacking_third:正解 center_field:不正解 inplay:プレイ中 outplay:プレイ外 setting:設定画面 ペナルティエリア周辺の画像には [attacking_third]ラベルを付与 だいたい1時間くらいで モデル完成

Slide 23

Slide 23 text

23 [ミニアウトプット] 未知の画像でアタッキングサードを予測できるか検証 
 学習モデルに含まれていない画像を作成されたモデルに投入した結果

Slide 24

Slide 24 text

精度 えぐい

Slide 25

Slide 25 text

25 [ミニアウトプット] 逆にcenter_fieldも正しく検出できるか検証 
 学習モデルに含まれていない画像を作成されたモデルに投入した結果

Slide 26

Slide 26 text

えぐい

Slide 27

Slide 27 text

27 やろうと思えばGCPでできそうなこと 
 やりたいこと 出来そうなこと 関連サービス ディフェンスラインの動きをひたすら追っ かける検知器を作りたい AutoML Vision(物体検出)を用いて検出したい物体を 囲った画像とラベルを用意してモデルを学習させることで 実現可能 AutoML Vision フィールド上にいるプレイヤーの人数を 数え上げて有利不利をウォッチしたい 個人を特定しないラベル検知はVision APIで実現可能 Vision API 画像単位ではなくて、アタッキングサード 周辺での動きを切り出した動画を集めて ゴールに繋がった動画と繋がらなかった 動画を識別したい 最近、AutoML Video Intelligenceがリリースされたので 動画自体にラベルを付与することが可能となり動画レベ ルでの識別が可能になった AutoML Video Intelligence Cloud Video Intelligence API ディフェンスの人数×ペナルティエリア内 外といった複雑な状況でも識別したい 画像には複数のラベルの付与が可能なため、ユーザー がラベルをつける努力を怠らなければ識別可能 AutoML Vision 翻訳アプリの要素技術となっている TranslateAPIと比べて、まだ進歩中の画像系の APIはその発展も目まぐ るしいものがあります。今の GCPの機能だけで下記のようなことが実際に可能です。

Slide 28

Slide 28 text

28 
 何もかも3行で言ってほしい
 Task.3

Slide 29

Slide 29 text

29 症状:Conclusion Comes First 症候群 
 ● すぐに「で?」「つまり?」と言ってしまう ● 学校の授業はいつも65分の内容を5分 にまとめて教えてもらい、あとは自習にし て欲しいと思っていた(どうせ、覚えてな いし) 自覚症状 困っていること ● 論旨だけ知りたいと思ってしまうので、小 説を楽しめない

Slide 30

Slide 30 text

30 「こゝろ」ってあるじゃないですか
 30代前半の方ならご理解いただけると思うのですが、高校の現代文の授業で夏目漱石の「こゝ ろ」ってあったじゃないですか あれ、みなさん、意味わかりました?? いきなり下巻部分を抜粋して読まされて「私」やら「先生」が出てくるアレです。 私は、授業中にすごく苦痛な思いをしたことだけを覚えているんですよね。 終始、いや「私」って誰やねんと!!お前の日記読まされとんのかと!!先生ってなんの先生やね ん!?ピアノか?スイミングか?と。。。 でも、ある程度年齢も重ねたことだし、そろそろ純文学に触れてみるのもいいかなって思ったんです よ。そして、今ならあの「こゝろ」も楽しく読めるようになってるんじゃないかって思ってるんですよね。

Slide 31

Slide 31 text

31 こゝろの背景
 そもそも、授業であれを読まされた時は当時の時代背景とかがちゃんとわかっていなかったのが理 解を妨げていた要因だと思うんですよね。 そこで、ちゃんとこゝろを読む前に Wikipediaで予習(復習?)をしておこうと思ったんです。 みなさんも一緒にこゝろが書かれた時代背景を一緒に理解しましょう!! 背景 漱石が乃木希典の殉死に影響を受け執筆した作品である。後期三部作とされる前作『彼岸過迄』『行人』と同様に、人間の深い ところにあるエゴイズムと、人間としての倫理観との葛藤が表現されている。 明治天皇の崩御、乃木大将の殉死に象徴される時代の変化によって、「明治の精神」が批判されることを予測した漱石は、大正 という新しい時代を生きるために「先生」を「明治の精神」に殉死させる。 Wikipedia「こゝろ」より抜粋

Slide 32

Slide 32 text

ちょっと 何言ってるか わかんないっすね

Slide 33

Slide 33 text

33 「こゝろ」のあらすじ
 この時点で私のこゝろは折れかけていたのですが、 Wikipediaは親切にもあらすじまで記載してくれ ていたので、せめてそれぐらいは読むことにしました。 上 先生と私 語り手は「私」。時は明治末期。夏休みに鎌倉由比ヶ浜に海水浴に来ていた「私」は、同じく来ていた「先生」と出会い、交流を始め、東京 に帰ったあとも先生の家に出入りするようになる。先生は奥さんと静かに暮らしていた。 -中略- 正月すぎに東京に戻った私は、先生に過 去を打ち明けるように迫る。先生は来るべきときに過去を話すことを約束した。 -中略- 下 先生と遺書 「先生」の手紙。東京で大学生活を送るため「奥さん」と「お嬢さん」の家に下宿する。友人の「 K」が家族との不和で悩んでいるのを知った 先生は、Kを同じ下宿に誘うが、これが大きな悲劇を生む。手紙は先生のある決意で締めくくられる。 Wikipedia「こゝろ」より抜粋

Slide 34

Slide 34 text

あらすじやのに 話が全然 見えてこんやんけ!! なんやこれ

Slide 35

Slide 35 text

K お前、誰や!!

Slide 36

Slide 36 text

36 登場人物紹介見ればなんとかなるやろ 
 この時点で私のこゝろは折れていたのですが、 Wikipediaは親切にも人物紹介まで記載してくれて いたので、最後にそれを読むことにしました。 これでKの素性も多少はわかるはず 私 「上 先生と私」「中 両親と私」の語り手。田舎に両親を持つ学生。兄と妹がいる。酒は飲める。喫煙者。父が腎臓の大病を患ってい る。将棋をする。カナメモチの葉で芝笛を作り吹き鳴らす。 先生 仕事に就かず、東京に妻とひっそり暮らしている。故郷は新潟。「下 先生と遺書」で「私」として自分の生き様を語っている。酒は飲め る。夫婦連れで音楽会や観劇などに行き、箱根や日光へも旅行する。語りの時点で、故人であることは上第四章で明かされる。喫煙 者。 K 「下」に登場。先生とは同郷で、同じ大学に通っているが専攻は別。浄土真宗の僧侶の次男。医者の家に養子に出される。養家は医 者にするつもりで東京へ送り出したが、 Kは医者になる気がなく、実家や養子先を激怒させ仕送りを止められ、困窮する。先生の他に 親しい友人はいない。先生の提案で彼の下宿で一緒に生活することになる。 Wikipedia「こゝろ」より抜粋

Slide 37

Slide 37 text

先生 まさかの無職 >仕事に就かず、

Slide 38

Slide 38 text

要らんわぁ この叙述トリック >「下 先生と遺書」で「私」として自分の生き様を語っている

Slide 39

Slide 39 text

僧侶からのK ハイカラやん >浄土真宗の僧侶の次男

Slide 40

Slide 40 text

無職&無職 負の無限スパイラル >先生の提案で彼の下宿で一緒に生活することになる

Slide 41

Slide 41 text

41 ということで、Wikipediaではよく分からなかったので 
 高校の授業でもWikipediaでもこゝろのことがよく分からなかったので、これはもう原典にあたるしかないの でしょう。。。 幸い、こゝろは青空文庫から無料で手に入るようなので早速読み始めてみることにしたのですが、読み始 めてすぐにあることに気づきました うん、 長いわぁ 星新一しか小説を読んでこんかったワシにはこれは無理じゃあ https://www.aozora.gr.jp/cards/000148/files/773_14560.html

Slide 42

Slide 42 text

42 こゝろを3行で説明してほしい
 まぁ、頑張って最後までこゝろを読み進めようと思ったのですが、もっと楽す る方法はないかとGCPのサービスを漁ってみることに。。。

Slide 43

Slide 43 text

43 文章(自然言語)関連で使えそうなGCPサービス 
 Cloud Natural Language API 様々な言語での感情分析や構文分析が可 能 Cloud Natural Language APIには構文解析や感情分析の機能はあっても、直接文章 を要約するような機能はなさそう うーむ、なんでも出来るわけではないのね。。。 ここは少し方向性を変えて、最終章における先生の気持ちを AIに読み取らせてみよう

Slide 44

Slide 44 text

44 [ミニアウトプット]こゝろの最終章のうち感情の動きの大きい文章を抜粋 
 最もポジティブな文章 最もネガティブな文章 Score Magnitude 最もニュートラルな文章 ささっと試せるデモAPIで最終章の文章を解析 Scoreがプラスならポジティブ、マイナスならネガティブ

Slide 45

Slide 45 text

基準がわからん!! 先生、情緒不安定すぎです

Slide 46

Slide 46 text

46 GCPのAI系サービスだけで文章の要約を行うのはハードルは高そう 
 Cloud Natural Language APIによって構文解析やミニアウトプットのような感情分析は簡単にできることはわかり ましたが(先生の気持ちを正確に汲み取れていたかは読んでいないので私にもわかりません)、本来目的として いた文章の要約といった部分は別のアルゴリズムを導入する必要がありそうです。 パッと調べた限り IMAKITA A3RT あたりが文章要約をやってくれるらしい。 今度試してみよう。

Slide 47

Slide 47 text

47 
 AutoML Tablesあったら
 いらない子になっちゃう?
 Task.4

Slide 48

Slide 48 text

48 症状:AIに仕事を奪われる恐怖からくる不眠症 
 ● Kagglerのようにいろんなアルゴリズムを 試したり組み合わせたりして日々研鑽し ている自覚はない ● ハイパーパラメータのチューニングやモ デルの選択、FeatureEnbeddingなども 熱心にやっているとは言えない 自覚症状 困っていること ● GCP19で発表されたAutoMLTablesが凄 そうだったので、職にあぶれないか心配 で夜も眠れない

Slide 49

Slide 49 text

49 AutoML Tablesとは
 [検証記事] ● AutoML Tablesを使ってみた ● KaggleのHousePredictionを題材にしてAutoML Tablesがどんなもんか見てみる ● AutoML Tablesと他の機械学習モデルとのパフォーマンス比較をしてみた(追記あり) 
 [設定画面イメージ] 表形式のデータマートが用意されていれば、 Targetと評価関数・特徴量の型を定義するだけで機械 学習の知識がなくても高精度なモデルが作れてしまうサービス(なんとえげつない) [評価画面イメージ]

Slide 50

Slide 50 text

50 KaggleにあるHousePricePredictionで検証してみたら 
 GCPNextで発表を聞いた後、「これはいよいよ、やばいかもしれん」と思い自分でも AutoML Tablesが どの程度の精度が出るのか検証してみました。 複雑な特徴量加工が必要なケースだと検証に利用するにはしんどいので、すぐに手に入れることが できるHousePriceのDataを利用することに。。。 (他にも同じデータでやってる人いたことに後から気 づきました) モデル以外の部分はイーブンな評価になるようにしたいので、特徴量加工を済ませた完全に同じ データマートを用いて ①パラメータ調整済みの複数の学習器を スタッキングしたモデル ②AutoML Tablesにお任せしたモデル の2つの出力をサブミットしてどんな結果になるかを確認します。

Slide 51

Slide 51 text

Score:0.11544 順位:424 / 4589 スタッキングモデル *LeaderBoardをキャプチャ

Slide 52

Slide 52 text

Score:0.15273 順位:3110 / 4589 AutoML Tables *LeaderBoardをキャプチャ

Slide 53

Slide 53 text

ふぅーーー 他の検証結果と同様、 ちゃんとチューニングしたらまだ 勝てそう *モデルの複雑さの割にサンプルが少ないので AutoMLは過学習している可能性あり

Slide 54

Slide 54 text

54 AutoML Tablesはデータサイエンティスト絶対殺すマンなのか 
 色々検証いただいている方々のお話をまとめると ● 十分なデータボリュームが確保されている データセットであれば、過学習を起こさずにある程度精 度の高いモデルが作れるらしい ● 問題設定さえはっきりしておけば、いわゆるデータサイエンティストでなくても機械学習モデルを 作成・デプロイすることが容易 にできる ということになるかと思います。 じゃあ、これでデータサイエンティストはお払い箱なのかというと、特徴量の作成自体は分析者自身で 実施しなければならず、どれだけ AutoML Tablesの精度がよくても分析の設計部分に関わるところには データサイエンティストが今後も必要とされると思われます。 むしろ、私のようにモデルのチューニングの部分にあまり興味のないデータサイエンティストにとっては 天の恵みのようなサービス デプロイや運用にかかる改修コストを考えると自分でモデルを管理しなくていいので、その点も個人的 には非常に魅力的

Slide 55

Slide 55 text

55 
 まとめ


Slide 56

Slide 56 text

56 データサイエンティストの仕事はかなりGCPで代替できそう 
 今回はGCPが提供するサービスの一部を紹介しましたが、改めて調べてみると我々データサイエンティ ストの仕事だと思われていたかなりの領域がいつの間にか GCPのサービスを使えば非データサイエン ティストによる代替が可能になっていることに気づかされました。 まぁ、実際のビジネスにおいてはそれぞれのサービスの APIの仕様をちゃんと理解している必要があっ たり、GCPのサービスでは現状解決できない課題(今回の例でいえば、文章要約や精度改善のための Featureの作成・探索など)も含めて解決していかなければならないため、データサイエンティストは今と は違う形で忙しくなるかもしれません。 必要に応じて、クラウドサービスを利用するか自らモデルの開発を実施するかをジャッジ しながら仕事 を進めていくことがこれからのデータサイエンティストには求められてくるのかもしれません。(そんな人 材がいるかどうかは知りませんが。。。)

Slide 57

Slide 57 text

57 雑記
 今回、全くと言っていいほど触れませんでしたが、 GCPNext に参加して強烈に印象に残ったことは、モデリングの手法や アーキテクチャのコモディティ化がこれだけ早いのであれ ば、企業が競争優位を保つ源泉になるのは「 どんなデータを 保有しているか」にかかっているのでは?ということでした。 AutoML Visionを使って風力発電装置の故障を画像から検 知するPJや衛星画像から災害を予測する PJなどいろんな PJがGCPNextのセッションで紹介されましたが、これらは結 局ドローンで発電装置を撮影することができて(衛星で地上 の様子を撮影することができて)初めて成立する話です。 1、2年前はIoTと聞くと胡散臭く感じている自分もいました が、今はIoTに対する投資って本当に重要なんじゃ。。。と思 い始めています。 つまらない話をしました。以上です。