Google Cloud、機械学習アプリ開発の苦痛を減らすノウハウを紹介豊富なAPIや「AutoML」「Kaggle」など

Googleは、機械学習を利用したアプリケーション開発を容易にする「Google Cloud」のAIツールを公式ブログで紹介した。

» 2020年09月11日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Google Cloudは2020年9月1日(米国時間)、機械学習モデルを利用したアプリケーション開発の苦痛を減らし、プロトタイプ開発を迅速に進める方法を公式ブログで紹介した。

 概要は以下の通り。

トレーニング済みモデルを使用する

 機械学習プロジェクトで最も時間がかかり、苦痛な部分の一つは、機械学習アルゴリズムに学習させるラベル付きデータを収集することだ。だが、多くの一般的なユースケースでは、機械学習モデルを一から構築する必要はなくなっている。誰かが構築、調整、メンテナンスした学習済みの機械学習モデルを利用できるためだ。Google Cloudが提供する「Cloud AI API」はその一例だ。Cloud AI APIを使えば、次のような作業に機械学習を適用できる。

  • 音声および動画ファイルのテキスト変換
  • ドキュメント内のテキストの理解
  • 構造化ドキュメント(フォームや請求書のような)の解析
  • 顔、感情、画像内の物体の検知
  • 画像/動画内の明示的コンテンツの検知

 Cloud AI APIを支える機械学習モデルは、複数のGoogleアプリで使われているのと同様のものだ。膨大なデータセットでトレーニングされており、多くの場合、極めて精度が高い。

 Cloud AI APIはクラウドで動作する。「TensorFlow.js」や「ML Kit」は、無料かつブラウザやモバイルデバイスで直接実行できる多くのトレーニング済みモデルを提供する。「TensorFlow Hub」では、オフラインで利用できるトレーニング済みTensorFlowモデルも豊富に登録されている。

機械学習モデルのカスタマイズが必要な場合

 先述したように多くのユースケースに適応したトレーニング済み機械学習モデルが公開されている一方で、時にはカスタマイズした機械学習モデルを構築する必要がある。カスタマイズした機械学習モデルの作成を容易にする手段としてGoogleは「AutoML」を提供している。AutoMLでは、独自データを用いてトレーニングできる。そのためのコーディングは不要だ。

 AutoMLでは、画像(AutoML Vision)、動画(AutoML Video)、言語(AutoML Natural Language、AutoML Translation)、ドキュメント、構造化データ(AutoML Tables)を扱う機械学習モデルの作成が可能だ。

「AutoML Vision」を使ってモデルをトレーニングする様子。クリック&ドラッグでデータにラベルを付け、「Train New Model」ボタンをクリックしてモデルをトレーニングし、モデルのトレーニングが終わったら、「Evaluate」タブで品質を評価できる(出典:Google) 「AutoML Vision」を使ってモデルをトレーニングする様子。クリック&ドラッグでデータにラベルを付け、「Train New Model」ボタンをクリックしてモデルをトレーニングし、モデルのトレーニングが終わったら、「Evaluate」タブで品質を評価できる(出典:Google)

 アプリケーションでAutoMLモデルを利用するには、Google CloudでのモデルのホスティングをGoogleに許可し、標準REST APIまたはクライアントライブラリ(Python、Go、Node、Javaなど)を使ってこれにアクセスするか、あるいはモデルをTensorFlowにエクスポートし、オフラインで使用する。

トレーニングデータの確保

 もしカスタマイズした機械学習モデルを構築する際には、どこからデータを収集すればいいだろうか。

 データセットのホスティングとデータ分析コンペティションを運営するGoogle傘下のサイト「Kaggle」では、多種多様なデータセットを入手可能だ。少なくとも、概念実証モデルをトレーニングするためのデータは、Kaggleで見つけられるだろう。「Google Dataset Search」も、Kaggleや他のソースからデータセットを見つけるのに役立つ。

 独自で収集したデータにラベル付けしなければならない場合は、Googleの「AI Platform Data Labeling Service」を利用すれば、ラベル付けをGoogleに委託できる。このサービスでラベル付けされたデータは、AutoMLや他のAI Platformモデルに直接取り込み、トレーニングに使用できる。

モデルからアプリケーションへ

 機械学習モデルを利用したアプリケーション開発における問題は、機械学習モデルを構築したり見つけたりすることではなく、チームの他のメンバーが機械学習モデルを容易に試せるようにすることだ。Google Cloud AIでも、この問題に頻繁に直面していた。そこで、Cloud AI APIの製品ページでは、ユーザーが自分のデータで機械学習モデルを試せるインタラクティブデモを用意している。

機械学習モデルのインタラクティブデモ(出典:Google Cloud) 機械学習モデルのインタラクティブデモ(出典:Google Cloud)

 機械学習モデルを用いたアプリケーション開発プロジェクトの成功は多くの場合、プロトタイプの迅速な構築にかかっている。そのために利用できるGoogle Cloudサービスの例として、以下が挙げられる。

  • 「G Suite」アプリケーション:「スプレッドシート」「ドキュメント」「フォーム」のようなG Suiteアプリケーションは、「Apps Script」フレームワークを使ってJavaScriptで簡単に拡張できる。例えば、スプレッドシートに行を追加するたびに実行されるテキスト分類モデルを構築したり、画像をアップロードして機械学習モデルで分析し、その結果をスプレッドシートに書き込むGoogleフォームを構築したりできる
  • 「Cloud Storage」「Cloud Functions」:ほとんどの機械学習プロジェクトは、データを入力し、データを出力するというものだ。Cloud Storageはクラウド内のフォルダのようなものであり、あらゆるフォーマットのデータを保存できる。Cloud Functionsでは、専用サーバを使わずにクラウドでコードブロックを実行できる。この2つを連携させると、Cloud Storageにファイルをアップロードした際、それをトリガとして、Cloud Functionsで指定した関数が実行されるように指定できる

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。