たのしい工学

プログラミングを学んで、モノをつくりたいひと、効率的に仕事をしたい人のための硬派なブログになりました

【エンジニア 情報収集】Google Developers ML Summit Tokyo 2019

   

今回は、Googleの機械学習エンジニア向けのカンファレンス「Google Developers ML Summit Tokyo2019」に参加してきたので、そのレポートです。

2019.07.11 Thu @ Roppongi Academy Hills

Opening

今泉 竜一氏
1日100を超えるML関連のArxiv論文が発表されている

オープニング1

Mike Liang氏

21世紀に解決すべき問題。
赤字の項目はGoogleが取り組んでいるもの

■GoogleのMLを利用した取り組み
・糖尿病性網膜症の遠隔治療
検査をすれば失明を避けることはできるが、検査を受けることが難しい。
→モデルを作成できれば、専門眼科医よりも高い判定精度を誇る

・科学的な発見のツールの作成
Tensorflowの開発

日本でのTensorflowを利用例
→南相馬市での放射性汚染物質の監視(ドローンと組み合わせ)
クリーニング店での理容
→セルフチェックレジの開発

・AutoML、CloudMLを利用した取り組み
モデルの生成
モデルの精度
モデルを生成するモデルを生成

人間が上記に取り組むのは非効率的

人間がやるべきことは、Dataと計算リソースの準備

タスク実行方法をコンピュータが定式化

・AIの思想の利用原則

AI思想原則にそぐうかの判断

オープニング2

ML Kitの最新機能
オンデバイス翻訳
デバイストラッカー

AutoML
・最先端の転移学習キット
・ノンコーディングで世界最高峰の精度

CloudTPU
・AutoMLのインフラとしても利用

Tensorflow2.0
直観的、短く

PMセッション

Cloud AI / ML Kitトラック

Overview of Google Cloud AI

大藪 勇輝氏

AI Solutions
これから日本に導入される予定

・文章理解AI
・コンタクトセンターAI

CloudTPU
NVIDIAとのコンペ
TPUv2
計算量と時間の掛け算でより高速

CloudGPU
V100、T4がおすすめ。
国内にあるのはT4なので、データを国外に出せない人にはT4がおすすめ

Introducing AI Platform (やや専門知識が必要)

Build
AI Platform Notebooks
Jupyter Labのマネージドサービス
→環境構築不要

AI Platform Training

Manage
AI Platform Prediction
インスタンスチューニング不要(インフラはオートスケールしてくれるので)

kubeflow Pipelines

Cloud Machine Learning API

Cloud Translation API
翻訳と言語検出

Cloud Speech-to Text API
リアルタイムキャプション

Introducing AI Hub
さまざまなAI関連のアセットを一元管理
・kubeflow Pipelines、AI Platform Notebooks上で簡単に利用できるように今後対応予定

Auto ML Vision セッション

Hayato Yoshikawa
Customer Engineer

データをクラウドへ上げる→AutoMLの一機能
Cloud Auto MLの本当の利点
→ 自分のサービスに学習データを組み込める
次のステップとしては、作成したモデルをどのように自分のサービスに組み込んで    いくか

AutoMLならユーザがラベル分けすることで、より汎用、恣意的、セルフカスタムなモデル作成が可能。これはCloud VisionAPIでは不可能。Vision APIはあくまでも一般的な解釈しかできない。たとえば、VisionAPIはバナナを判定できるが、皮を向いたバナナであるかどうかを判定することまではできない。

Cloud to Edge

医療現場における注意点はプライバシー
クラウドにあげることがはばかられるものは、端末側で検知することで、プライバシーを保つことが可能。

AutoML Vision Edge

学習データを各デバイスへデプロイすることが可能。
クラウド上で学習→端末で利用
学習完了したモデルはREST APIとして各端末上で利用可能

Edge AI solution framework

学習データはすべてクラウド上に保存の上、ヴァージョン管理されている。

AutoML Video Intelligence

まとめ
プライバシーのためにEdge側で使いたい
推論速度のためにEdge側で使いたい
→ エッジで使わなければならない理由をよく考える必要がある

AutoML Vision事例

土井 賢治 / Kenji Doi
Yahoo Japan

AutoML でラーメン次郎を判定してみた
twitter
画像データのクレンジングについて
https://www.slideshare.net/techblogyahoo/yjfukuoka

まとめ
まだ人間のつくったモデルが勝っている
前処理は人間がやる必要があるみたい

ML Kit Vision & Overview

Jeff Kingyens
Developer Advocate

ほとんどのデータはモバイルからやってくる
→モバイル上で機械学習を行うのが効率的では?
そうすれば、ラウンドトリップを回避して、レイテンシを抑えることができる

ML Kit
Tensorflow LiteベースのiOS,Android用のSDK

Image Labeling API

ML Kit Language & Custom Model

Wei Wei

Language ID API

Smart Reply API

Firebaseと併せて利用するとよい

Android ML API

30分で理解する、BigQuery ML 入門

BigQuery ML session
Miki Katsuragi
Customer Engineer

クエリを書いて、機械学習モデルを作成可能
k-meansクラスタリングでクラスタリング(グループ分け)を行う

kaggleでBigQueryが利用可能に
・パブリックデータセット
・個人のデータセット
両方にアクセス可能

結果をCSVで出力すれば、そのままsubmit可能
→そこそこの精度しかでない

大量データがある場合や精度を追求するなら、AutoML Tablesのほうが精度が出る。

AutoML Tables / Natural Languageが 切り拓く機械学習とIT開発の未来 (1)(2)

Auto ML Tables session
Takashi J Ozaki → TJOさん
Data Scientist

AutoML Tables
特徴
・構造化データに対して機械学習を行う
・ML開発のライフサイクルを包括

功績
・Kaggle DaysSFでAutoMLが2位に

実際にAutoMLでデータ学習をさせてみる
前処理をやりすぎて、AutoMLが行う処理とかぶってしまうのはあまりよろし      くない

BigQueryにデータがあるとインポートしやすい
→BigQueryを使った場合には、返り値が特殊なArrayで返ってくるので注意

目的変数(label)の設定

学習コストの決定
1000万行くらいなら、4~8時間で終了する。
1 node hour あたりのコストであることに注意

損失関数の決定

Early Stoppingの利用
デフォルトON

利用事例
メキシコの大手保険会社

・自動車保険のリスク分析
・不正請求判定
20~30%の精度改善(従来はアクチュアリーの人がランダムフォレスト)サンプル数1万件程
・性別判定
性別が欠損している場合に、それを推定

AutoML Natural Language

自然言語処理の機械学習をソリューション

分かち書きをしたほうが精度は出る
(分かち書きをしなくてもそこそこ精度は出るが。。)

青空文庫の小説家のデータを学習
→テストデータを与えてどの作家の作品かを推定

AutoML Tablesでも自然言語を学習させることは可能。ただし、分かち書き必須。驚くべきは、AutoML Tables > AutoML Natural Languageで精度が出ているということ。AutoML Natural Language かたなし。。

ディスカッション

Takashi J Ozaki
Data Scientist
佐藤 一憲
Developer Advocate
土井 賢治 / Kenji Doi
Yahoo Japan

・欠損値を補うよりも、欠損値があるというカラムをつくって、0,1フラグを立ててしまったほうがよい場合もある。
・たとえば、英文校正をするモデルをつくる場合に、むしろ誤りの文法を含ませておいたほうが、おおいに誤りが含まれうる現場を考えると、より実用的なモデルになりうる。その辺りはビジネスモデルに依存する。
・AutoMLが有用な案件とそうでもない案件を判別するスキームがあるとよい。
・AutoMLをうまく使えれば給料が増える!?
・AutoMLは機械学習エンジニアの代替になるかも!?

マーケティングで使えるBigQueryMLテンプレート

中村悟
Google Developers Expert

別々にあるデータを統合するのが最初のステップ
モデルを作成する際に可視化(グラフとか)して、データを見るのが一般的

・モデル作成のポイント
値を特定のグループにまとめる
外れ値の削除
null値の補完
統計的手法を用いた補完

K-meansでクラスタ作成
最適なクラスタ数は自分たちで見ていく必要がある。
エルボー法などをつかい、データポータル等で可視化、最適なクラスタ数を確認する
参考:https://qiita.com/deaikei/items/11a10fde5bb47a2cf2c2

ユーザが3ヶ月以内にプライム会員になるかどうかをロジスティック回帰で判定
→コンバージョン予測

過去のデータを学習させて、そのユーザがプライム会員になるかどうかを予測

予測精度を目標にするよりも、ビジネスインパクトを目標にすること。でないと、たとえば精度は悪くても損失を3割削減できるモデルを使わないということにもなってしまう。

まとめ

データサイエンティストの熟練の技術を利用せずとも、Googleの機械学習関係のサービス、AutoML等を利用することでビジネスメリットのある成果が得られる事例が出てきたようです。
興味深いユーザ事例として、ラーメン次郎のラーメン分類器を自作したお話がありました。自作のもとのGoogleのAutoMLを利用したものとを比較した結果、自作モデルの推論精度は99.28%、一方、AutoMLにある程度の課金をして作成したモデルは98.75%と自作モデルのほうが上回りました。

99.28%の精度を記録した自作モデルで利用したEfficientNet-B4というニューラルネットワークはGoogleが開発したもので、最近の推論コンペで1位を獲得したものです。これが現状AutoMLに実装されていないとすれば、今後AutoMLがこの自作モデルよりもよい精度を出す可能性もあるのではないかと、ラーメン次郎分類器の開発者の方はおっしゃっていました。

そもそも、機械学習モデルを実装する際に広く利用されている機械学習ライブラリのTensorFlowはGoogleが開発したものです。TensorFlowを使い自作モデルを作ったとして、それがAutoMLで作成したモデルの精度にかなわないならば、AutoMLに実装された自動化されたパラメータチューニング、前処理等々のほうがよしなにやれているということになるので、自作するとしても、それなりに勉強をしないとAutoMLを利用すればよい、ということになってしまいます。もちろん、AutoMLの設定項目には機械学習の知識を要するものがあるので、いずれにせよある程度の勉強がいることにはかわりはないと思います。

現状では、AutoMLはデータサイエンティストの完全な代替にはならないようですが、もしかすると近い将来、そうなっているのかも?しれません。
TensorFlowを使って自作モデルを作成したとしても、結局はGoogleのものを使って作っているわけですし、すでに機械学習の界隈はGoogleの手の中にあるのかも?と思いました。

 - カンファレンス, 機械学習, テクノロジー