弊社X(https://x.com/kccs_digital) では、Qiita投稿に関する情報や各種セミナー情報をお届けしております!
情報収集や学びの場を求める方々にぜひフォローしていただき、最新情報を手に入れてください!
是非フォローお願いいたします!
こんにちは、京セラコミュニケーションシステム櫻木 (@kccs_nobuaki-sakuragi)です。
最近はGenerative AIが流行りですが、以前からあるGoogle Cloudで提供されているAutoML Visionについて紹介します。
しかしながら、AutoML Visionのサイトを見ると次の様なサービス終了の案内がでています。
安心してください!
同じ機能+αで機能はVertexAI AutoMLのメニュー内にあります。
2024年1月23日を過ぎるとGoogle Cloudで使用できなくなります。以前のAutoML Visionのすべての機能と新機能は、Vertex AIプラットフォームで使用可能です。
AutoML Visionは、VertexAI AutoML(画像)へと名前が変わっています。
今回は、名前が新しくなったVertexAI AutoML(旧AutoML Vision)メニューを使いながら、Google Cloudの画像AIをコードを記述せずモデルトレーニングしたい方向けに複数回にわけ記事を書いてみます。
第1回目の記事は、VertexAI AutoML(画像)の特徴をまとめた記事となります。
第2回目の記事Google Cloud内で実施できるAutoMLのデータ準備・評価や予測についてまとめをかきました。
2023年11月30日時点で作成した記事です
本記事の対象者
- 画像AIに興味のある方
- Google Cloudの画像AIを触ってみたい方
- お試しで画像AIは触ってみたいが、サンプルデータが無く、使えない方
- Google CloudのVertexAI AutoML画像で何ができるか知りたい方
- AutoML Visionから、VertexAI AutoMLへ名前が代わり事例を探している方
Google Cloud VertexAI AutoML とは
ドキュメントでは、Vertex AI AutoML項目に次のように記載されています。
機械学習(ML)モデルでは、トレーニング データを使用して、トレーニングされていないデータの結果をモデルが推測する方法を確認します。Vertex AI AutoMLを使用すると、提供するトレーニング データに基づいてコード不要のモデルを構築できます。
VertexAI AutoML(以下AutoML)を利用すると最小限のIT技術の知識と操作でモデルを作成およびAIモデルのトレーニングを実施する事ができます。
AutoMLで作成可能なモデル
AutoMLを利用して構築できるモデルは4つのタイプがあります。
構築できるモデルは、所有するデータの種類によって、作成可能なモデルが変わってきます。
データの種類 | サポートされる目標(推論パターン) |
---|---|
画像データ | 分類、オブジェクト検出 |
映像データ | アクションの認識、分類、オブジェクトの追跡 |
テキストデータ | 分類、エンティティ抽出、感情分析 |
表形式のデータ | 分類/回帰、予測 |
AutoMLを利用すると、Googleが用意したモデルを使い、モデルを作成、精度の評価・活用までをEnd to Endでする事が可能になります。
利用者は、データを用意するだけ、モデルの評価とモデル精度に注力する事ができます。
今回は、AIの中でも良し悪しがわかりやすい、AutoMLにある、画像データの分類を紹介します。
Vertex AI (画像)の特徴
VertexAIを使用すると、画像ベースのモデルをコードなしで作成でき、学習と評価が簡単に行えます。
なぜ、VertexAI AutoML(画像)を利用するのか?
機械学習やAIの初心者・中級者機械学習を活用・評価をするのに、時間短縮したい方は絶対に活用したほうがよいです。
オススメの理由は次の3点になります。
1.機械学習の環境構築が不要
- Pythonのバージョンやライブラリ、データセットの保存先などを意識せず始められます。広範囲の技術を必要としない為、殆の方は、運用設計工数も下げることができます。
2.作成したモデルは別の場所でも利用可能
- 作成したモデルはGoogeCloud以外のさまざまな場所で簡単に利用できます。
サーバやPCはもちろん、Andorid端末やiPhone端末に組み込むこともできますし、アプリを組めばカメラと連動させることも可能です。
事例1)AutoML(画像)で作成した物体検知モデルをGoogleGlass(Android OS)で使う事もできます。
※GoogleGlassは2023年3月15日以降は販売終了しています。Glass Enterprise Edition の発表に関するよくある質問 - Glass Enterprise Edition ヘルプ
事例2)Google Cloud Vertex AIを利用した外観検査AIシステムの導入
この動画は弊社で実施した、VertexAI AutoMLVisonを活用した外観検査事例の動画です。
このように、作成したモデルは、GoogleCloudの垣根を超えて利用できます。
上記の事例以外でもオンプレミスのサーバやEdge(RaspberryPiやAndroid/iPhone)、別のクラウドでも活用する事ができるのが特徴です。
3.説明可能なAIが利用可能(AutoML Edgeのみ)
機械学習のプロジェクトの困難な所の1つに「このモデルはどこを見て、答え(予測・推論)しているのか?」を説明する事です。(いろいろな意見があるとおもいますがあくまでも私見です。)
その為、機械学習のモデルを可視化する為に活用するのがExplainable AIです。機械学習の活用が進んでいくと、機械学習モデルの精度を評価する為、説明可能なAI(Expenable AI)の重要度が増してきています。
その、説明可能なAI(Expenable AI)がGoogeCloudのAutoMLも利用可能です。
Vertex Explainable AI の概要 | Vertex AI | Google Cloud
たとえば、物体検知の場合はその物の座標がわかりますが、分類の場合どこを見て判断しているのかがわかりません。AutoML(画像)ではEdgeモデルのみになりますが、ExpenableAIを利用できます。また、AutoML(表形式)でも分類・回帰モデルで利用可能です。
AutoMLを活用すると、最低限の知識で機械学習が試し、モデルの評価もGoogleCloud機能だけで完結できる特徴があります。
AutoML を活用する際のステップ
AutoMLモデルのトレーニングと利用のステップは、データ型や目的(推論パターン)に関係なく同じです。
VertexAI AutoMLを使うメリットは、データセットの作成から評価までをGoogeCloud内で完結できます。その為、機械学習でよく問題になる実行環境の構築が不要です。
VertexAIのメリットはデータがあれば画像AIモデルが作成できる事です。
これにより、データ収集やモデルの評価に時間を割り当てる事に注力できます。
画像AIの導入STEPを一般的な手法とAutoML(画像)にわけ表にしてみました。
STEP | 一般的なSTEP概要 | 一般的な機械学習環境(自身のPC/サーバC)の場合 | VertexAI AutoMLを利用する場合 |
---|---|---|---|
1. | トレーニング データを準備する。 | 各自で準備しPC/サーバ内のHDDへ保存 | 各自準備しGoogle Cloudへ保存 |
2. | データセットを作成します。 | PC/サーバ内で作成 | Google Cloud上で作成 |
3. | モデルをトレーニングする。 | PC/サーバ内 | Google Cloud上でトレーニング |
4. | モデルの評価と反復処理を行う。 | PC/サーバ内 | Google Cloud上で再評価 |
5. | モデルから予測を取得する。 | PC/サーバ内/任意のクラウドなど | Google Cloud or オンプレミスサーバ or Edgeデバイス |
6. | 予測結果の良し悪しを判断する。 | PC/サーバ内/任意のクラウドなど | GoogleCloud内、PC/サーバ/GoogeCloud以外のクラウドなど |
※ここでのEdgeデバイスは、RaspberryPiやAndorid端末/iPhone端末などを指します。
画像からの物体検出や分類であれば、PC/サーバで実施できることはVertexAI AutoML(画像)で実施する事が可能です。
AutoML(画像)で作成可能なモデル形式について
基本的に、GoogeCloud内でのみ利用する場合は、モデル形式を意識する必要はありません。
モデル形式を意識する必要があるのは、GoogeCloud内でもGCEや個別にコンテナで稼働したい場合、Android OSやiPhoneなどで利用する場合のみになります。
利用可能なファイル形式 | モデルの種類 | ||
---|---|---|---|
分類 (シングルラベル) |
分類 (マルチラベル) |
オブジェクト検出 | |
TF Lite | ○ | ○ | ○ |
Edge TPU TF Lite | ○ | ○ | × |
コンテナ | ○ | ○ | ○ |
Core ML | ○ | ○ | × |
Tensorflow.js | ○ | ○ | ○ |
次のような利用シーンからモデル形式を選定してください。
利用可能なファイル形式 | 利用シーン |
---|---|
TF Lite | エッジまたはモバイル デバイスでモデルを実行する場合 |
Edge TPU TF Lite | Edge TPU デバイスでモデルを実行する場合 |
コンテナ | Docker コンテナで実行するため、モデルを TF Saveモデルを実行する場合 |
Core ML | iOS デバイスや macOS デバイスでモデルを実行する場合 |
Tensorflow.js | ブラウザと Node.js でモデルを実行する場合 |
この様に、AutoML(画像)のモデルはさまざまな利用シーンで活用する事ができます。
モデルのエクスポート方法の詳細は、AutoML Edge モデルをエクスポートする | Vertex AI | Google Cloudを参照してください。
AutoML Edgeモデルを指定すると、活用範囲がGoogeCloud内からさまざまな所に広がっていきます。
最後に
本記事ではGoogle CloudのVertexAI AutoML(画像)の特徴を中心に紹介しました。
次回以降は、モデルの評価や予測について説明したいと思います。
本記事は2023年11月に作成しております。よって、引用している文章などはこの時点での最新となります。ご了承ください。