ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Create MLの最新情報
Create MLの最新情報をご覧ください。Create MLの評価ツールの改善点について解説します。これで、ご利用のカスタムモデルがリアルワールドデータで機能する仕組みを把握できるようになります。さらに、テストデータにおける各種画像のモデルパフォーマンスをチェックしたり、個々の画像の問題を特定して、分類ミス、データの不適切なラベル付け、その他のエラーのトラブルシューティングを実施したりする方法について解説します。また、Continuity Cameraでのライブプレビューで、iPhoneやiPadを使用してご利用のモデルをテストする方法をはじめ、Create ML Componentsフレームワークの新たなRepetition Counting機能でAction Classificationを実行する方法についても解説します。 Create MLによりご利用のAppでさまざまなことができるようになりますが、詳細については、WWDC21の「Create MLによる手のポーズや動作の識別」および「Create MLフレームワークを使ったダイナミックなiOS Appの構築」をご覧ください。
リソース
関連ビデオ
WWDC23
WWDC22
WWDC21
-
ダウンロード
♪♪ ♪ ナマステ!ようこそWWDC22へ 私はVrushali Mundhe Create MLのエンジニアです 今回はCreate MLの新機能をご紹介します Create MLは収集したデータを使い 強力な機械学習モデルを簡単に学習させ ユニークな体験を提供しAppを強化できます Create MLはXcodeに搭載されているAppで Mac上でコードを書かずにCore MLモデルを すばやく構築し学習させることができます Create MLはSDKで出荷される Swiftフレームワークとしても利用できます APIを利用することでモデル作成の自動化や 自社Appから直接学習機能を活用した ダイナミックな体験を実現できます Create MLの主力機能をより詳しく知りたい方は 過去のセッションをご覧ください ここではCreate MLの新機能についてお話します まずはモデルの精度や実用性を 評価するのに役立つ Create ML Appの新機能を ご紹介します 次にCreate MLフレームワークと その拡張された機能 および自社App用に モデルを高度にカスタマイズする機能に 注目します まずはモデル作成の代表的なワークフローを 確認しましょう タスクが決まったら まずデータ収集とアノテーションを行います 例えば食料品を視覚的に識別したいとします この画像分類のタスクでは まず果物や野菜などの画像を 収集しラベル付けします
Create MLはこのデータからモデルを学習させ Appで使用できるようにします しかしこのモデルを使う前に トレーニングセットに 含まれていない画像に対して そのモデルがどの程度正確であるかを 確認することが重要です 評価によって データを追加したり学習設定を変更して モデルの学習を繰り返し モデルのパフォーマンスが十分になったら Appに搭載する準備ができます ではこの評価プロセスに注目したいと思います 評価を行う際にはトレーニングから外した 新しいデータでモデルを テストすることで測定される 一連の指標に注目することが多いです まずトップレベルの精度指標を確認したり クラスごとの統計値を調べて モデルの動作と学習範囲を超えた汎化能力を 大まかに把握することができます 最終的にそのモデルはAppのデータ主導の エクスペリエンスを向上させる 役割を果たします そして評価時には 入力のカテゴリやシナリオの観点から モデルの主な長所と短所を特定したいでしょう うまくいくこともあれば 期待はずれなこともあります Create ML Appにはこのような モデル作成に役立つ新機能が搭載されています 私が担当するプロジェクトで紹介しましょう 私は食品を識別するための モデルを作成するプロジェクトを 立ち上げています まずトレーニングデータとして さまざまな果物や野菜の画像を集め 適切にラベル付けすることから始めました 画像のクラス分けとその画像の枚数は 次の通りです
画像を分類する為に 25回の繰り返し学習を行いました 次に「Evaluation」タブをクリックすると 新たにテストデータとして 追加することができます 学習データとは別の テスト用に用意した画像群です
次にテストを開始するために 「Evaluation」をクリックします 評価終了後 UIで結果の詳細を確認することができます 上部にはテスト精度を簡単に把握できる ハイレベルなサマリセクションがあります このテストデータの精度は89%です 下の「測定値」タブには 各クラスの詳細な測定値が表で表示されます このドロップダウンメニューを使い ここに表示される内容を調整したり 偽陽性や偽陰性などの評価指標を追加できます ここにあるクラスの一つを検討してみましょう トマトはどうでしょうか?このモデルは 32枚のトマト画像のうち 29枚を正しく分類しました このクラスの精度は91%で モデルがトマトだと言ったときの 9%は間違っていることを意味します これらの数字や統計は極めて有用ですが データ自体の文脈で見ることが さらに重要な場合があります 精度をクリックすると 間違ってトマトと分類された画像に移動します テストデータでこの様な事例が3つあります 各画像にはサムネイル モデルが予測したクラス そしてその下に正しい分類が表示されます この最初の例ではモデルが 「トマト」と分類したのに対し 「ポテト」とラベル付けされました しかし私にはこれが確かにトマトに見えます これはテストデータが誤って ラベル付した例だと思われます 実はこの3つはすべて誤って ラベル付けされたと思われます これについては簡単に対処できます テストセットのラベル付けを 再度確認するために メモを取り再検討します これは明らかに私のミスですが エラーの原因はこれだけなのでしょうか? 私はランダムに選んだクラスの 測定基準を調べることで ここにたどり着きました 「どこから始めればいいの」 「次は何を探せばいいの」 と悩むかもしれません その為にトップレベルの サマリセクションがあります このAppでは 調査のきっかけとなる 重要な評価内容を厳選しています 上から順に成功事例を確認していきましょう 正しく分類された数をクリックして ここでモデルが正しく分類した162枚の画像を ざっと見ることができます 次にこれと不正解をクリックして 全ての失敗を見直してみましょう 分類の失敗は全部で21件あります
ここでまたあの誤って分類された トマトが登場します 他に目立ったエラーはないか 確認させてください これは...どうでしょうか? この画像は「人参」とラベル付けされていますが このモデルでは「ポテト」と予測しています この小さなサムネイルでは わかりにくいですが 画像をクリックしてよく見えるようにして 確認してみましょう 私には足に見えます これは明らかに私が慣れ親しんだ 細長い人参の形ではなく ポテトと混同しやすいです 人参のトレーニングデータに もっと形状のバリエーションが 必要かもしれませんね これもメモしておきましょう 今回はファイル名の横にある 矢印をクリックして Finderでこの画像を表示させます
右クリックで赤色表示にして 次回のデータ収集で 再確認したいと思います この拡大したビューでさらに 掘り下げていこうと思います このビューでは予測結果もすべて表示され 全クラスにおけるモデルの 確実性が一覧表示されます またこの左右の矢印を使い サンプル間を移動することもできます ここからは別の例に移ります これは興味深い例です 1枚の画像に複数の野菜が描かれています そこにはナスと書いてあり確かにこの画像には ナスもありますがそれ以外のものもあります 私のAppでこれが重要な ユースケースなのかどうか 考える必要があります おそらくUIはユーザが一度に1種類の食品を 指すように誘導することができるでしょう もしくは複数の種類の食品を対象とする場合は 画像分類器全体ではなく App内の別のテンプレートである オブジェクト検出器を使うことを 検討する必要があるかもしれません サマリセクションに戻り とても分かりづらいこの行に ついて見てみましょう ここでは「豆」のことを 「ピ-マン」と表記しています この事例についてクリックして 調べてみましょう ピーマンと表示された4枚の画像は 誤って豆と分類されています 私にはピーマンに見えますが 豆と同じように緑色をしています このモデルはピーマン全般が 苦手なんでしょうか このクエリーオプションを 「不正解」から「正解」に切替て 正しく分類されたピーマンと 比較してみましょう 32枚の画像を正しく分類しています しかしそのほとんどが パプリカだと気づきました 複数種のピーマンをうまく表現できているか トレーニングデータも 確認したほうがいいですね 今回の簡単な調査で機械学習にとって トレーニングデータとテストデータの 量 質 種類がいかに重要であるか 再認識できました わずか数分の間にこのAppで ラベリングや表現についての問題点を 視覚的に確認することができたのです トレーニングデータに微調整を加えて 見えていた問題が解決されるか 確認する必要がありますね また今まで考えもしなかった ことが明らかになりました それはユーザが1枚の写真に 複数の野菜を写した場合 どうなるのか?ということです Appのデザインをもう少し 考えないといけないですね このような調査は 評価用のラベル付きデータのコレクションが あったからこそ可能だったのです しかしラベル付けされていないサンプルを すぐにテストしたい場合や カメラアングルや照明条件を もっと検討したい場合は どうすればよいでしょう ここで役立つのが「Preview」タブです 先ほど同僚が送ってくれた サンプルをいくつかここに ドラッグしてどう撮れているかを見てみます
あるいは私のiPhoneを コンティニュイティカメラとして使い ライブでテストすることもできます
このように実際の野菜にカメラを向けると このモデルは正しくライブで 分類することができるのです ここにピーマンとトマトがあります 要約するとラベル付けされた データセットに対する学習済モデルの動作を より深く掘り下げることができるのです 「Evaluation」ペインでは その拡張オプションで 詳細なメトリックサマリを提供します 新らしい「Explore」タブには 新らしいインタラクティブなUIで テスト評価結果と関連データを フィルタリングして 視覚化するオプションがあり 画像分類器手の形分類器 Object Detectionテンプレートで利用可能です ライブプレビューですぐに フィードバックが可能です 画像分類器・ハンドアクション分類器 ボディアクション分類器の テンプレートに展開されています 接続されたウェブカメラから選択できるように 機能を拡充し macOS Venturaでは コンティニュイティカメラにも対応しています 以上がCreate ML Appの新機能の概要です ここでCreate MLフレームワークの 新機能へと話を移します
Create MLフレームワークは macOS iOS iPadOSで利用可能です 今年はtvOS 16に一部対応を拡大しています プログラマチックインターフェイスは 開発時のモデル作成を自動化するだけでなく ユーザの入力やデバイス上の 行動から直接学習する ダイナミックな機能を構築する 多くの機会を提供し ユーザのプライバシーを保護しながら パーソナライズされた 臨機応変な体験を 提供することが可能になります タスクのサポートは プラットフォーム毎に異なります 例えば表形式の分類器やリグレッサーは どこでも使えますが 動画などより大きなデータや計算を必要とする タスクの一部にはmacOSが必要です よくある質問として 「自分のアイデアをこれらの Create MLの定義済みタスクに マッピングできないか?」というものです この質問に答えるためにCreateMLファミリーに 新しいメンバーを紹介します Create ML Components Create ML Componentsは Create MLの基本的な構成要素を示すものです これらを組み合わせることで 使用目的に応じた最適なパイプラインや モデルを構築することができます ぜひこれらのセッションを ご覧ください 「Create ML Componentsについて学ぶ」では 構成要素と その組合わせについて学びます 「Create ML Componentsで 高度なモデルを作成する」では 非同期テンポラリコンポーネントの使用と トレーニングのカスタマイズを 深く掘り下げます 能力は無限大です 私が個人的に期待しているものを紹介します action repetition counting 繰り返し動作のカウンター オフの日には私はダンスをしていることが多いです 私はプロの訓練を受けた インド古典舞踊のカタック・アーティストです 自分のフォームを改善するために 繰り返し練習することが大切です 私は振付師・指導者としてパフォーマーに あるカウントのステップを 練習し見せてほしいのです Create MLの新しいrepetition counting機能は 実際にそれを行うのに役立ちます これはチャッカ―回転 カタック・ダンスに不可欠なステップです
毎日これを何カウントか練習して 自分のフォームとスタミナを つけたいと思います 自分の動きを数えるCreateMLを使い構築された iOSAppがあります実際に試してみましょう
チャッカをすると それに対応するようにその回数が増えます ここではチャッカ5回行いました その回数がそのまま反映されています 次に左右の動きがある 別のちょっとしたルーティンに 挑戦してみましょう カウンターはこれを1と数えます
ここでの回数は3を示しています もう一つ 片腕を動かす動きをしてみます
カウントは4を示します Action Classificationと 組み合わせるとことにより 繰り返し行われる動作のカウントと分類を 同時に行うことができるようになります Repetition counting機能は ランタイムAPIとして利用可能です トレーニングデータは不要で この機能をAppに追加するには わずか数行のコードで済みます その実装はクラスを問わず設計された 事前学習済みモデルに基づいいます つまりジャンピングジャック 回転 スクワット チャッカなど フィットネスやダンスの動きに対応する一方で 全身を反復する様々な動作にも 適用可能です このモデルや想定される活用事例については サンプルコードや このセッションのリンク先の 記事で確認ください 以上Create MLの新機能を簡単にご紹介しました Create ML Appのインタラクティブな評価と ライブプレビューにより トレーニングしたモデルを より深く理解することができます Create MLフレームワークは tvOSのサポートを追加し repetition countingを追加し Appのニーズに合わせて 高度にカスタマイズされた モデルを構築できるよう 豊富な基礎コンポーネント セットへのアクセスを 実現するよう拡張されています このような素晴らしい新機能を楽しみ 使っていただけたら嬉しいです ありがとうございました
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。