Google Cloud、機械学習アプリ開発の苦痛を減らすノウハウを紹介:豊富なAPIや「AutoML」「Kaggle」など
Googleは、機械学習を利用したアプリケーション開発を容易にする「Google Cloud」のAIツールを公式ブログで紹介した。
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モデルを利用するには、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サービスの例として、以下が挙げられる。
- 「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.
関連記事
freeeのAIチームが作り上げた、チームの力を最大限に生かすための機械学習基盤とは
「最新の進化を取り入れ、freeeという企業の今のステージに適した機械学習基盤を目指した」。freeeのAIラボで機械学習基盤の構築を主導している田中浩之氏はこう話す。では、freeeの今に適した機械学習基盤とは、どのようなものなのか。ImageNet:大規模なカラー写真の画像データベース
データセット「ImageNet」について説明。1400万枚以上のカラー写真(教師ラベルは2万カテゴリー)の画像データ(のURLなど)が無料でダウンロードでき、画像認識などに利用できる。主に研究/教育目的で用いられてきた歴史的に有名なデータセットであるが、現在では多くの問題も指摘されている。AutoML(Automated Machine Learning: 自動化された機械学習)とは?
用語「AutoML」について説明。機械学習モデルの設計・構築を自動化するための手法全般、またはその概念を指す。