WWDC Quick Look 💓 By SwiftGGTeam
What's new in Create ML

What's new in Create ML

元の動画を見る

ハイライト

Create ML は WWDC22 で 3 つの主要な更新を行いました。対話型モデル評価ツールは開発者がデータの問題を特定するのに役立ち、Continuity Camera のリアルタイム プレビューはモデルのテストをより直観的にし、Create ML Components フレームワークはアクションの繰り返しカウント機能を追加します。

主要内容

モデルをトレーニングした後、通常は精度の数値を確認します。 89% というと素晴らしく聞こえますが、この数字には多くの問題が隠されています。 Create ML アプリの新しい評価ツールを使用すると、数字の裏を掘り下げて、モデルがどの例でエラーを起こしたか、そしてその理由を正確に確認できます。 (02:26)

例として成分画像分類器を取り上げます。 25 エポックのトレーニング後のテスト精度は 89% です。 [メトリクス] タブでは、各カテゴリの詳細な統計を確認できます。トマト カテゴリの精度は 91% で、「これはトマトです」というモデルは 9% の確率で間違っていることになります。 (04:36)

精度の数値をクリックすると、トマトとして誤って分類された 3 つの画像が表示されます。最初のものはジャガイモと表示されていますが、実際にはトマトのように見えます。これは表示ミスです。 3 つの写真はすべて間違ってラベル付けされており、修正後はモデルのパフォーマンスが向上します。 (05:16)

失敗例の調査を続けると、ニンジンとラベル付けされた画像がジャガイモであると予測されることがわかりました。拡大してみると、明らかにニンジンではなく足です。トレーニング データ内のニンジンの形状変化が十分に豊富ではないため、モデルは誤って学習します。 (06:46)

もう 1 つの興味深い状況があります。写真にはナスというラベルが付けられた複数の野菜があります。モデルは 1 つのカテゴリのみを認識しますが、画像の内容は複雑です。このとき、画像分類器の代わりにオブジェクト検出器 (Object Detector) を使用するかどうかを検討する必要があります。 (07:57)

「概要」領域の「上位の混乱」には、最も一般的な混乱のペアである「Pepper が Bean として誤って分類された」が表示されます。確認の結果、モデルはピーマンを正しく識別できましたが、辛いピーマンと豆は両方とも緑色であり、混同されやすいことがわかりました。トレーニング データ内の唐辛子のサンプルは十分に多様ではない可能性があります。 (08:37)

詳細

評価ワークフロー

Create ML アプリケーションの評価プロセスは、いくつかのレベルに分かれています: (03:43)

  1. トップレベルの概要: 正しい番号、間違った番号、主な紛らわしいペア、問題の方向性を素早く特定する
  2. メトリクス テーブル: 各カテゴリの適合率、再現率、偽陽性、偽陰性、カスタマイズ可能な表示列
  3. 探索ビュー: 任意の数値をクリックしてサンプル レベルを入力し、元の画像、予測ラベル、実際のラベルを表示します。
  4. 詳細な予測: 単一の画像を展開して、すべてのカテゴリのモデルの信頼分布を表示します。

現在、探索ビューは画像分類子、ジェスチャ分類子、およびオブジェクト検出テンプレートをサポートしています。 (11:18)

リアルタイムプレビュー

ラベル付きデータの評価に加えて、ラベルなしのサンプルを使用して簡単なテストを実行することもできます。 「プレビュー」タブは 2 つの方法をサポートしています: (10:15)

  • 画像をドラッグ: 同僚から送信されたテスト画像をドラッグして、モデルの予測結果を確認します。
  • ライブカメラ: iPhone または iPad を継続カメラとして使用して、実物に対して直接テストします

ライブ プレビューは現在、画像分類子、ジェスチャ アクション分類子、およびボディ アクション分類子テンプレートをサポートしています。 (11:26) macOS Ventura では、Continuity Camera を含む接続されたカメラを選択できます。

ML コンポーネントの作成と繰り返しカウント

Create ML フレームワークは、今年 tvOS 16 に拡張されました。 (11:59) より大きな変更は、Create ML Components の導入です。これにより、基礎となるビルディング ブロックが公開され、開発者がカスタム パイプラインを組み立てることができるようになります。

具体的な新しい能力の 1 つは、アクションの繰り返しのカウント (Repetition Counting) です。事前にトレーニングされたモデルに基づいており、トレーニング データは必要なく、あらゆる種類の全身の反復動作に適しています。 (15:26)

import CreateMLComponents

// 创建重复计数器
let counter = HumanBodyActionCounter()

// 从视频帧中计数
for frame in videoFrames {
    let count = try await counter.count(frame)
    print("Current count: \(count)")
}

キーポイント:

  • HumanBodyActionCounterクラスに依存せず、フィットネス動作 (ジャンピング ジャック、スクワット)、ダンス動作 (回転、動作の組み合わせ) などのさまざまな全身反復動作に適しています。
  • トレーニングは不要で、ランタイム API として直接使用できます。
  • アクション分類と組み合わせて、アクションのタイプと数を同時に識別できます
  • わずか数行のコードでアプリに統合

フレームワークプラットフォームのサポート

Create ML フレームワークは macOS、iOS、iPadOS、tvOS をサポートしていますが、さまざまなタスクに対するプラットフォームのサポートは異なります: (12:24)

  • 表形式の分類子とリグレッサー: すべてのプラットフォーム
  • ビデオを含むタスク: macOS が必要 (より大きなデータ量と計算要件)

重要ポイント

1.評価ツールを使用してデータ品質監査を実施

精度の数値だけを見ないでください。テスト セット内のエラー サンプルを 1 つずつ調べてみると、多数のラベル付けエラーやデータの逸脱が見つかります。 Create ML アプリの Explore ビューではこのプロセスが視覚的に表示され、数字をクリックすると対応する画像が表示されます。次のデータ収集ラウンドのガイドとして、[ファインダー] タブで見つかった問題を記録します。

2.実際のシーンの検証には連続カメラを使用します

モデルがテスト セットで良好なパフォーマンスを発揮したからといって、実際の環境でも良好なパフォーマンスを発揮するとは限りません。 iPhone を継続カメラとして使用して、モデルを実物に対して直接テストします。静的テスト セットではカバーされていない可能性がある、光の角度、背景の複雑さ、オクルージョンの状態に注意してください。

3.リピートカウントをフィットネスまたはスポーツアプリに追加します

フィットネス アプリを作成している場合は、次を使用できます。HumanBodyActionCounter自動カウント機能を実装します。ユーザーがスクワット、腕立て伏せ、ジャンピング ジャックを行うと、アプリケーションが自動的にカウントし、フィードバックを提供します。アクションの分類と組み合わせると、ユーザーが行ったアクションを特定し、それに応じてカウントすることもできます。トレーニング データを収集する必要はなく、数行のコードを記述するだけで済みます。

4.分類器から検出器へのアップグレードを検討してください

アプリケーション シナリオに複数のターゲットが頻繁に表示される場合 (たとえば、写真に複数の野菜と複数の人物が含まれている場合)、画像分類器は要件を満たすことができません。評価中にこれに該当することが判明した場合は、オブジェクト検出テンプレートに切り替えることを検討してください。 Create ML アプリは両方のテンプレートをサポートしているため、切り替えを安価に行うことができます。

関連セッション

コメント

GitHub Issues · utterances