いっしきまさひこBLOG

AI・機械学習関連、Web制作関連、プログラミング関連、旅行記録などなど。一色政彦。

Google Cloud Day: Digital 2020 3日目(機械学習)聴講ノート

本稿は、下記イベントの3日目(機械学習)を視聴時に取った個人的なノートをほぼそのまま公開したレポート記事です。誤字誤植や勘違いがある可能性があるのでご了承ください。 ざっくり目を通すと、機械学習関連のセッションの概要が分かると思います。視聴する際の判断材料や、内容を思い出すためのご参考に。

  • Google Cloud Day: Digital 2020
  • 2020 年 6 月 9 日 (火) - 11 日 (木) ライブ配信
  • 2020 年 6 月 9 日 (火) - 30 日 (火) 開催
  • 2020 年 7 月 1 日 (水) - オンデマンド配信中

なお、3日目の6/11当日は人工知能学会全国大会と日程が被っており、ライブ参加はできなかったので、後日6/12にオンデマンド配信を視聴しました。あと18日間、6月30日まで視聴できます。2020/7/9現在、オンデマンド配信中です。

Cloud AI の紹介と最新情報

  • Google Cloud 吉川 隼人 氏
  • ノートはまとめましたが、ほぼ全部知っている情報でした。

1. Cloud AI プロダクトグループ

Google Cloud(GCP)のAI関連の構成図が提示されました。

f:id:misshiki:20200612163532p:plain
Cloud AI プロダクトの一覧

どんな人が使えるものかがざっくりと示されました。

f:id:misshiki:20200612163611p:plain
Cloud AI プロダクトを活用するための指針

2. Contact Center AI

コンタクトセンター用のソリューションです。Google Cloud Text-to-Speechなどが使えるらしいです。コンタクトセンターについては、自分にはちょっと遠い話題なので割愛します。

3. Cloud AutoML

Cloud AutoMLは、カスタムモデルを作成できる機能です。名前と違って、自動で機械学習を行ってくれる技術というわけでは必ずしもありません。次のような感じで使えます。

f:id:misshiki:20200612222528p:plain
Cloud AutoMLの活用イメージ

Cloud AutoMLには次のようなものがあります。

f:id:misshiki:20200612222549p:plain
Cloud AutoMLの機能一覧

ビジネスにとっても価値のあるデータは以下のようなものがあるそうです。構造化データや時系列データが大きな部分を占めています。

f:id:misshiki:20200612222606p:plain
ビジネス価値のあるデータ

そのうちの構造化データにAutoML Tableが使えると。自動的に特徴量を選択して、整形されていないデータを考慮してくれるなどのメリットがあります。

4. AI Platform

機械学習プロジェクトを効率的に本番環境に構築するためにAI Platformが使えます。具体的には次のようなフロー全体をAI Platformが支援します。

f:id:misshiki:20200612222623p:plain
機械学習のフロー

このあと、それぞれのプロダクトの機能紹介がありました。超要約すると、いろんな機能があって効率的になるよ~、ってことです。

5. AI Explanations

AIの中身はブラックボックスと言われていますよね。

f:id:misshiki:20200612222641p:plain
AIはブラックボックス?!

AI Explanationsで推論結果に「説明」を付加できます。

f:id:misshiki:20200612222702p:plain
説明を付加

TensorFlow Probability によるベイズモデリング入門

  • アクセンチュア株式会社 須山 敦志 氏
  • TFP(TensorFlow Probability)は名前だけ知っていましたが、ベイズモデリングの概要からTFPによる実践まで説明されていて良かったです。

0. ベイズモデリングとは?

  • 統計モデリングの一種で、データ解析を行う方法
  • 確率計算に基づいたモデリング手法
  • 予測を分布で表せるのが特徴(次の図を参照)

f:id:misshiki:20200612222724p:plain
ベイズモデルでできること

「機械学習とモデリングの違い=ツールボックスアプローチとモデリングアプローチの違い」が示されました。

f:id:misshiki:20200612222745p:plain
ツールボックスアプローチとモデリングアプローチの違い

2. TensorFlow Probability によるモデリングと計算

  • TFP(TensorFlow Probability)=TensorFlowをベースにした確率的プログラミング言語(PPL)

TFPでいろいろ効率的になります。より具体的にビフォーアフターが説明されました。

f:id:misshiki:20200612222801p:plain
TFP(TensorFlow Probability)

次に線形回帰で例が示されました。まず、TFPをインポートして散布図を描画。

f:id:misshiki:20200612222818p:plain
TFPの実践例1

各点にフィットする回帰直線の式を設計。

f:id:misshiki:20200612222833p:plain
TFPの実践例2

推論計算を実行。

f:id:misshiki:20200612222848p:plain
TFPの実践例3

結果を可視化。ベイズモデリングは予測を分布で表現するので多数の線が引かれたような図になります。

f:id:misshiki:20200612222904p:plain
TFPの実践例4

3. 解析事例

以下の事例が示されました。

  • 事例1: ガウス過程回帰モデルによる予測的指標管理
  • 事例2: 潜在変数モデルによるセンサーデータ解析

4. まとめ

f:id:misshiki:20200612222919p:plain
まとめ

Cloud AutoML で実践する業務システム構築と ML デザイン

  • Google 尾崎 隆 氏, Google 佐藤 一憲 氏
  • 内容的にはこれも基本的だったです。

1. Cloud AutoMLとは

ML開発を支える人材が少なく、その作業も複雑で大変です。そのハードルを下げるためにグーグルが提供するのがCloud AutoML。例えばAutoML Visionでは画像認識・物体検知のカスタムモデルが作れます。ここでデモが流れました。まずはデータをインポート。

f:id:misshiki:20200612223009p:plain
データをインポート

それからトレーニング。

f:id:misshiki:20200612223028p:plain
トレーニング

結果を確認してカスタムモデルは完成。

f:id:misshiki:20200612223043p:plain
結果を確認

あとはエクスポートして使います。ラズパイなどで画像認識するデバイスなども作れます。

f:id:misshiki:20200612223101p:plain
ラズパイを使った画像認識デバイス

AutoML Translation、AutoML Natural Languageなど他にもあります。

2. AutoML Tablesと業務システムへの適用

AutoML Tablesを使うと、構造化データ(表データ)のカスタムMLモデルを作成できます。前処理が簡単。最も良いモデルが自動的に選択されます。

f:id:misshiki:20200612223119p:plain
MLモデルカタログから自動選択

そのバックグラウンドは次のような仕組みになっているそうです。

f:id:misshiki:20200612223139p:plain
AutoML Tablesのバックグラウンド

3. AutoML TablesとMLデザイン

ここで登壇者が尾崎氏(渋谷駅前で働くデータサイエンティストとして有名な方ですね)に代わりました。機械学習の基本的なことが解説されていきます。わかりやすいです。例えば過学習について。

f:id:misshiki:20200612223153p:plain
過学習

過学習を避けるためには必要な交差検証の話。

f:id:misshiki:20200612223215p:plain
交差検証

これに対応する機能もAutoML Tablesには搭載されているとのことです。

f:id:misshiki:20200612223232p:plain
AutoML Tablesで交差検証

4. AutoML TablesでスケーラブルなML開発

以前は多くの人的リソースを使って開発していたものが、AutoML Tablesでより少人数で簡単にできるようになってきているそうです。

f:id:misshiki:20200612223247p:plain
AutoML Tablesを使えばチームは不要

GCP の言語・音声系機械学習 API を活用したサービス実装

  • ソースネクスト株式会社 川竹 一, Google Cloud 唐澤 匠

機械翻訳:Google Cloud Translation API

  • BasicとAdvancedがある
  • Advancedは用語集を使える

f:id:misshiki:20200709203913p:plain
Translation APIのBasicとAdvanced

  • AutoML Translation API: 文章の対を登録できる

音声認識:Google Cloud Speech to Text API

  • Speech to Text Adaptation(適応): Pharase、Boost、Classesがある

f:id:misshiki:20200709203929p:plain
Speech to Text Adaptation

自然言語処理:Google Cloud Natural Language API

  • エンティティ抽出、感情分析、構文解析、コンテンツ分類ができる

f:id:misshiki:20200709203941p:plain
Natural Language API

  • AutoML Natural Language API

ポケトークでの活用事例

  • 音声翻訳は3つのステップ

f:id:misshiki:20200709203955p:plain
音声認識→機械翻訳→音声合成

  • カメラ翻訳も3つのステップ

f:id:misshiki:20200709204012p:plain
文字認識→機械翻訳→AR

  • 会話レッスンも3つのステップ

f:id:misshiki:20200709204130p:plain
音声認識→チャットボット→音声合成

AI Platform で実現する ML Pipeline

  • 株式会社プレイド 春日 瑛, Google Cloud 脇阪 洋平

  • AI Platform: Training、Prediction、Notebooks、Pipelines

f:id:misshiki:20200709223253p:plain
AI Platform Training

f:id:misshiki:20200709223305p:plain
AI Platform Prediction

f:id:misshiki:20200709223318p:plain
AI Platform Pipelines

  • Kubeflow Pipelines: 機械学習パイプラインの作成・実行・管理、そしてモジュールの再利用
  • KARTEにおけるML Platforの実現(株式会社プレイド)
  • KARTE: CX(顧客体験)プラットフォーム、非常に大規模なデータ集積&分析基板

f:id:misshiki:20200709223339p:plain
KARTEでもAI Platform Pipelinesの活用内容(Human-in-the-loop型のソリューション)

  • ロイヤルカスタマー分類、需要予測、異常検知といった課題解決テンプレート

f:id:misshiki:20200709223354p:plain
課題解決解決テンプレートの内容例

  • インフラ基盤

f:id:misshiki:20200709223407p:plain
実際に構築したパイプライン

  • AI Platform Pipelinesをベースとしたパイプライン環境の統一:
    • パイプライン実行環境の統一による管理工数が約30%削減
    • パイプライン開発効率の向上
  • AI Platform Trainingによる学習環境のスケーラビリティ:
    • インスタンスコストを約50%も削減
    • 学習環境をHigh-Memory、GPUなど柔軟に選択可能に
    • インフラの管理工数も削減
  • GCPと他社製品を組み合わせたCI(継続的インテグレーション)/CD(継続的デプロイ)の実現:

    • デプロイにかかる工数を約20%削減 -安定的に最新版をデプロイ可能に
  • 質問:販売予測や需要予測での、BigQueryとAutoMLの使い分けは?

AI Platform を利用した「アスクル・シミュレータ」による物流シミュレーション

  • アスクル株式会社 小池 和弘
  • AI Platform自体の解説は少なめだったのでメモも少なめに...

現在取り組んでいること

  • 2014年ごろから、データ分析基盤「ASUKUL EARTH」をGCPで構築してきた

f:id:misshiki:20200709230242p:plain
ASUKUL EARTHの構成図

  • 2019年からは、さらに知財ライブラリ「アスクルシミュレーター」を(AI Platform の Notebooks と AI Hub を活用して)構築している

f:id:misshiki:20200709230256p:plain
アスクルシミュレーターの構成図

EC物流シミュレーション

  • 構造的な問題にはメタな視点が必要

f:id:misshiki:20200709230311p:plain
構造問題の解法

Kaggle で勝つ GCP の活用方法

  • アクサ生命株式会社 平松 雄司, Google Cloud 葛木 美紀

Cloud AI NotebooksでKaggle ワークフローをポワーアップ

  • Kaggle: 誰でも参加可能なデータサイエンスのコンペ
  • Kaggle ノートブック使用時の課題: 計算量の多いタスクスでは不便
  • そこで、AI Platform Notebooks(CAIP Notebooks)

f:id:misshiki:20200710152537p:plain
AI Platform Notebooksとは

  • KaggleコンペをAI Platform Notebooksを経由して強力なGCPで処理

f:id:misshiki:20200710152551p:plain
AI Platform Notebooksの仕組み

  • ここでデモがありました。分かりやすい
  • AI Platform Notebooks/Kaggle/Colabでプラットフォーム間の比較

f:id:misshiki:20200710152608p:plain
プラットフォーム間の比較

  • KaggleでAI Platform Notebooksを利用する際のTIPS

f:id:misshiki:20200710152622p:plain
TIPS(KaggleでAI Platform Notebooks)

KaggleにおけるGCP活用事例

  • 『Kaggleで勝つデータ分析の技術』の著者の一人
  • Kaggleの称号システム: Novice、Kaggler、Contributor、Expert、Master、Grand Master
  • GCPをKaggleで活用した事例紹介

f:id:misshiki:20200710152634p:plain
事例紹介(KaggleでGCP)

  • 事例1:貸し倒れの予測をするタスク。評価指標はAUC
  • 実務では計算量の大きい巨大モデルはナンセンスだが、Kaggleでは競争なのであり

f:id:misshiki:20200710152645p:plain
巨大なモデルを実行するためのスクリプト

事例1

  • ノーフリーランチ定理: 全てのデータやタスクにおいて、「常に」他よりも優れているルールなどは存在しないこと
  • よって、参加者はKaggleに参加するたびに、より良いモデルを探ることなる。試せるだけしらみつぶしに試すだけの計算リソースが必要
  • 特にエーブルデータのコンペで、計算量が大きくなりやすいパターンがある

f:id:misshiki:20200710152659p:plain
計算量が大きくなるケース

  • そういったときにGCPが役立つ。金額はおサイフに相談になるが、GCPなら細かく調整可能

f:id:misshiki:20200710152711p:plain
Google Computer EngineのVMインスタンスを利用したりBigQueryを利用したり

事例2

  • 最近だとモデルの推論時間に制限がある傾向がある。この事例では2時間以内だっため、より小さなモデルを作成
  • 一方でモデルの学習時間には制限はなかった
  • 学習時の計算量が大きい場合、その計算環境を「ローカル+GCE」で柔軟に構築する方法を提案

f:id:misshiki:20200710152723p:plain
ローカル+GCE

まとめ

  • ご利用は計画的に

f:id:misshiki:20200710152736p:plain
知人の例:金メダルを取ったがトータル40万円で奥さんからお叱りをうける