Optimizer の概要

AI Platform Optimizer は、複雑な機械学習(ML)モデルでのハイパーパラメータの調整を支援するブラックボックス最適化サービスです。ML モデルに異なるハイパーパラメータが多数ある場合、手動での調整は難しく時間がかかります。AI Platform Optimizer を使用すると、ハイパーパラメータが調整されてモデルの出力が最適化されます。

ブラックボックス最適化とは、次のいずれかの条件を満たすシステムの最適化です。

  • 評価する既知の目的関数がない。

  • 目的関数を使用して評価するにはコストがかかりすぎる(システムが複雑なことが多いため)。

システムを完全に理解するよりもテストを実施するほうが簡単な場合、そのシステムはブラックボックスとして機能します。そのシステムを最適化する必要がある場合、ブラックボックス最適化を利用できます。

AI Platform Optimizer の追加機能

AI Platform Optimizer は、ML モデルのハイパーパラメータを最適化するように構築されていますが、他の最適化タスクを実行することもできます。

パラメータの調整

AI Platform Optimizer を使用すると、関数内のパラメータを効果的に調整できます。たとえば、ニュースサイトの購読ボタンに特に効果的な背景色、フォントサイズ、リンクの色の組み合わせを判断できます。例については、ユースケースをご覧ください。ハイパーパラメータとパラメータの違いについて確認してください

評価可能なすべてのシステムの最適化

AI Platform Optimizer は、評価可能なすべてのシステムで使用できます。これには、閉形式の分析関数として表現できないシステムも含まれます。たとえば、AI Platform Optimizer を使用して、TensorFlow モデルに最適なニューラル ネットワークの深さ、幅、学習率を特定できます。

AI Platform Optimizer の仕組み

次のセクションでは、AI Platform Optimizer を使用して ML モデルまたは関数を最適化する方法について説明します。まず、スタディ構成を決定します。

スタディ構成

スタディ構成とは、解決しようとしている最適化問題の定義です。最適化する結果と、その結果に影響するハイパーパラメータまたはパラメータが含まれます。

スタディとトライアル

スタディは、スタディ構成の実装です。スタディは、スタディ構成の目標と入力値(ハイパーパラメータまたはパラメータ)を使用して、トライアルと呼ばれるテストを実施します。トライアルとは、測定結果を生成する特定の入力値のセットです。

AI Platform Optimizer は、各トライアルに使用する入力値を提案しますが、トライアルは実行しません。

スタディは設定したトライアル数の上限に達するか、中断されるまで続きます。

AI Platform Optimizer と AI Platform Training の違い

AI Platform Training のハイパーパラメータ調整を使用すると、AI Platform Training ジョブの最適なハイパーパラメータ設定を簡単に決定できます。AI Platform Optimizer は、ハイパーパラメータとパラメータの両方を調整するためのもので、AI Platform Training ジョブを含む、すべての評価可能なシステムで使用できます。AI Platform Training で AI Platform Optimizer を使用する例については、機械学習モデルの最適化をご覧ください。

ユースケース

AI Platform Optimizer によって、ハイパーパラメータを調整してモデルを最適化するシナリオやパラメータを調整して結果を最適化するシナリオをいくつか紹介します。

  • ニューラル ネットワークのレコメンデーション エンジンの学習率、バッチサイズなどのハイパーパラメータを最適化します。

  • ユーザー インターフェース要素のさまざまな配置をテストして、アプリケーションのユーザビリティを最適化します。

  • ジョブのコンピューティング リソースを最小限に抑えるために、理想的なバッファサイズとスレッド数を見つけます。

  • 最もおいしい料理を作るために、レシピの材料の分量を最適化します。

次のステップ