MediaPipe モデルメーカー

MediaPipe Model Maker は、データやアプリケーションで使用できるように既存の機械学習(ML)モデルをカスタマイズするためのツールです。このツールは、新しい ML モデルを構築してトレーニングするよりも高速な代替手段として使用できます。Model Maker は、転移学習という ML トレーニング手法を使用します。この手法では、既存のモデルを新しいデータで再トレーニングします。この手法では、既存のモデルロジックの大部分が再利用されます。つまり、新しいモデルのトレーニングよりも時間が短くなり、少ないデータで実行できます。

Model Maker は、オブジェクト検出、ジェスチャー認識、画像、テキスト、音声データの分類器など、さまざまな種類のモデルで動作します。このツールは、データを特定のカテゴリに分類するモデルの最後の数レイヤを削除してモデルを再トレーニングし、指定された新しいデータを使用してそれらのレイヤを再構築します。Model Maker は、精度とパフォーマンスを向上させるためにモデルレイヤを微調整するオプションもサポートしています。

分類レイヤの削除と置き換えが行われている ML モデル

図 1.Model Maker は、既存のモデルの最後のレイヤを削除し、新しいデータで再構築します。

通常、Model Maker を使用してモデルを再トレーニングすると、モデルが小さくなります。特に、認識する対象を減らすために新しいモデルを再トレーニングする場合はなおさらです。つまり、Model Maker を使用すると、アプリケーションに合わせて焦点を絞ったモデルを作成できます。また、量子化などの ML 手法を適用して、モデルで使用するリソースを削減し、より効率的に実行することもできます。

トレーニング データの要件

Model Maker を使用すると、新しいモデルをトレーニングするよりもはるかに少ないデータでモデルを再トレーニングできます。新しいデータでモデルを再トレーニングする場合は、トレーニング済みのクラスごとに約 100 個のデータサンプルを用意することをおすすめします。たとえば、猫、犬、オウムを認識するために画像分類モデルを再トレーニングする場合、猫の画像は約 100 個、犬の画像は 100 個、オウムの画像は 100 個ほどになります。アプリケーションによっては、より少ないデータで有用なモデルを再トレーニングできる場合があります。ただし、データセットが大きいほど、通常はモデルの精度が向上します。トレーニング データセットを作成するときは、再トレーニング プロセス中にトレーニング データが分割されることに注意してください。通常は、80% がトレーニングに、10% がテストに、残りが検証に使用されます。

カスタマイズの制限事項

再トレーニング プロセスでは以前の分類レイヤが削除されるため、生成されるモデルは新しいデータで指定されたアイテムまたはクラスのみを認識できます。古いモデルが 30 種類のアイテムクラスを認識するようにトレーニングされていて、Model Maker を使用して 10 種類のアイテムのデータで再トレーニングした場合、結果として得られるモデルは 10 個の新しいアイテムのみを認識できます。

Model Maker でモデルを再トレーニングしても、元の ML モデルで解決するために構築されたものは、それらのジョブが類似している場合でも変更できません。たとえば、これらのタスクにいくつかの類似点があったとしても、このツールを使用して画像分類モデルにオブジェクト検出を実行させることはできません。

始める

MediaPipe Model Maker の使用を開始するには、MediaPipe ソリューション向けのソリューションのカスタマイズ チュートリアル(画像分類など)のいずれかを実行します。