AutoMLとは
トレーニング方法を選択するでは、AutoMLとカスタムトレーニングとBigQuery MLの3つについて、
- プログラミング知識の要否
- トレーニングに要する時間
- ハイパーパラメータの調整
- トレーニング環境のコントロール
- データサイズ制限
といった項目別で比較をしています。
この比較をもとに、Vertex AI AutoMLは「最小限の労力で機械学習モデルを構築・学習することができるサービス」です。
データサイエンスの専門知識がないユーザーでも、直感的なインターフェースや自動化されたプロセスを通じて、画像、表形式データ、テキスト、動画といった多様なデータセットに対する ML モデルを構築できます。
AutoML の主な特徴
- ノーコード/ローコード:
プログラミングをほとんど必要とせず、GUI ベースの操作でモデル構築が可能です。 - 迅速なプロトタイピング:
開発に多くの時間を費やす前に、データセットの特性を把握し、モデルの実現可能性を素早く検証できます。 - 特徴量エンジニアリングの自動化:
データセットに適した特徴量を自動的に選択・生成し、モデルの性能を最適化します。 - モデル選択とハイパーパラメータ調整の自動化:
切な ML アルゴリズムを自動的に選択し、最適なハイパーパラメータを探索・調整します。 - 使いやすいインターフェース:
データセットのアップロードからモデルの評価、デプロイまで、一連のワークフローを直感的なコンソール上で実行できます。
AutoML のメリット
- 手軽さとスピード:
機械学習の専門知識やプログラミングスキルがなくても、迅速にモデルを構築・学習できます。 - プロトタイピングの容易さ:
新しいデータセットの探索や、モデルの PoC(Proof of Concept)を短時間で行えます。 - 効率的な開発:
特徴量エンジニアリングやハイパーパラメータ調整といった手間のかかる作業を自動化できます。
AutoML のデメリット
- 柔軟性の低さ:
モデルのアーキテクチャや学習プロセスを細かく制御することはできません。 - 目的の制約:
AutoML が提供する定義済みの学習目標に従う必要があります。 - データサイズの制限:
データセットの種類によっては、サイズに制限があります。 - 高度なカスタマイズの不可:
独自の損失関数や評価指標を実装することはできません。
AutoML モデル構築手順(表形式データ)
ユースケース
デジタル小売店のマーケティング部門で働いているとします。あなたとチームメンバーは、顧客のペルソナに基づいてカスタマイズされたメール プログラムを作成しています。ペルソナとマーケティング関連メールの作成が終わり、送信できるようになりました。
次は、顧客を小売の好みや消費行動に基づいて各ペルソナに振り分けるシステムを作成する必要があります。このシステムは新しい顧客も対象にします。また、顧客エンゲージメントを最大化するには、メールの送信タイミングを最適化できるように、顧客の消費習慣を予測することも必要になります。
購入履歴が長い既存顧客であればこうした値を計算できますが、履歴データが少ない顧客の場合はうまくいきません。これらの値を予測するシステムを作ることができ、個人の好みに合ったマーケティング プログラムをすべての顧客に迅速に提供できるとしたらどうでしょうか。
Vertex AIの仕組み
Vertex AI には、目的に合った結果を得るために使用できる、教師あり学習タスクが含まれています。アルゴリズムやトレーニング方法の詳細は、データの種類とユースケースによって異なります。ML にはさまざまなサブカテゴリがあり、それらはすべて異なる問題を解決し、異なる制約の中で動作します。
サンプルデータを使用して ML モデルをトレーニングします。
Vertex AI は表形式の(構造化された)データを使用して ML モデルをトレーニングし、新しいデータに対する予測を行います。
データセット内の列の 1 つはターゲットと呼ばれ、モデルはそれを学習して予測します。
他のデータ列の一部は入力(特徴と呼ばれる)であり、モデルはそこからパターンを学習します。
同じ入力特徴を使用してターゲット列とトレーニング オプションを変更するだけで、複数種類のモデルを構築できます。
Vertex AI ワークフロー
Vertex AI は、次の標準的な ML ワークフローに従います。
- データの収集:
達成したい結果に向けて、モデルのトレーニング用データとテスト用データを選定します。 - データの準備:
データを適切にフォーマットし、ラベルを付けます。 - トレーニング:
パラメータを設定してモデルを構築します。 - 評価:
モデルの指標を確認します。 - デプロイと予測:
モデルを利用できるようにします。
ただし、実際にデータを収集する前に、解決しようとしている問題について検討して、データの要件を把握しておく必要があります。
ユースケースの明確化
- バイナリ分類
- 2 択の結果(2 つのクラスのうちのいずれか)を予測します。これは、お客様がサブスクリプションを購入するかしないかの予測など、「はい」または「いいえ」の質問に使用します。
- 多クラス分類
- 1 つのクラスを 3 つ以上の別個のクラスから予測します。これは、ものごとを分類するために使用します。前述の小売店の例では、顧客をさまざまなペルソナに分割するための多クラス分類モデルを構築できます。
- 予測
- 一連の値が予測されます。たとえば、小売店では、商品の在庫を前もって適切に確保できるように、今後 3 か月にわたる商品の日々の需要を予測することが考えられます。
- 回帰
- 連続値を予測します。小売店の例では、お客様が来月支払う金額を予測する回帰モデルを構築する必要があるでしょう。
回帰と予測の違い
Vertex AIの文脈では、特に表形式データの機械学習モデルを作成する際に「回帰/分類」と「予測」の選択肢が表示されることがあります。
この二つには次のような違いがあります。
- 「予測」は時系列データを扱うことに特化している可能性があります。つまり、過去の時系列データに基づいて将来の値を予測する(例:需要予測)。
- 一方、「回帰」は、予測したい時点の他の特徴量のみに基づいて予測を行う(例:住宅地の価格予測、広告費に対する売り上げ予測)
データの収集
先述した、小売店のメール マーケティングのユースケースを考えてみます。
必要となる特徴の列の例を以下に示します。
- 購入された商品のリスト(ブランド、カテゴリ、価格、割引など)
- 購入された商品の数(最終日、週、月、年)
- 消費された金額(最終日、週、月、年)
- 商品ごとに、毎日の合計販売数
- 商品ごとに、毎日の合計在庫数
- 特定の日に販促を実施するかどうか
- 既知の買い物客層
一般的に、トレーニング サンプルが多ければ多いほど、成果は上がります。必要なサンプルデータの量は、解決しようとしている問題の複雑さにも比例します。
完璧な数式はありませんが、推奨されるサンプルデータの最低数量は次のとおりです。
- 分類問題: 50 行 × 特徴数
- 予測問題:
- 5,000 行 × 特徴数
- 時系列 ID 列に一意の値 10 個 × 特徴数
- 回帰問題: 特徴数 × 200
データの準備
-
データの漏出とトレーニング /
サービング スキューを防ぐ - データの漏出とは、トレーニング時に入力特徴を使用した際に、予測しようとしているターゲットに関する情報、つまり実際にモデルを使用する際には把握できない情報を「漏出」させることです。
-
欠損データ、不完全データ、矛盾するデータをクリーンアップする
- 欠損値が多いほど、データが ML モデルのトレーニングに役立つ度合いが減ってしまいます
- トレーニングに使用する前に時間をとって見直し、可能であればデータ品質を向上させる必要があります。
-
データをインポート後に分析する
- Vertex AI には、データセットのインポート後の概要が表示されます。
インポートしたデータセットをレビューして、各列の変数型が正しいことを確認してください。
- Vertex AI には、データセットのインポート後の概要が表示されます。
モデルのトレーニング
Vertex AI は、トレーニングのデフォルトを使用して信頼性の高い ML モデルを生成しますが、ユースケースに基づいて一部のパラメータを調整することもできます。
できるだけ多くの特徴列をトレーニングで選択するようにしてください。ただし、それぞれをレビューして、トレーニングに適していることを確認してください。
特徴量の選択後は、データセットの分割を行います。
データセットは、トレーニング セット、検証セット、テストセットに分割されます。デフォルトで Vertex AI が適用する分割は、トレーニングするモデルのタイプによって変わります。また、必要に応じて、分割を指定する(手動分割)こともできます。
詳細については、AutoML モデルのデータ分割についてをご覧ください。
モデルを評価する
モデルのトレーニングが完了すると、モデルのパフォーマンスの概要が表示されます。モデルの評価指標は、データセット(テスト データセット)のスライスに対するモデルのパフォーマンスに基づきます。モデルが実際のデータで使用できる状態になっているかどうかを判断する際には、検討すべき主な指標とコンセプトがあります。
最後に
いかがでしたでしょうか。
本稿では、Vertex AI AutoML の概要と、モデル構築の手順について詳述いたしました。
AutoML は、高度な機械学習モデルの実装およびデータサイエンスに関する専門的な知識を有しないユーザーであっても、比較的容易にその構築を可能とするサービスです。
この機会に Vertex AI AutoML の導入をご検討いただき、機械学習の活用の手助けとなれば幸いです。
コメント