ハイライト
Create ML は Apple のオンデバイス機械学習トレーニングツールで、App(クリック式トレーニング)、Framework(コードベーストレーニング)、基盤 Components(組み合わせ可能なモデル構築ブロック)の 3 層に分かれます。今年の更新はこの 3 層すべてをカバーします。
主要内容
画像検出モデルをトレーニングしてデプロイしたら、同じコーヒーカップが 2 回検出される — 1 回はコーヒー液面に、1 回はカップ本体にラベル付け。この「重複検出」問題の原因はモデルではなく、アノテーションデータ自体にあります。しかし従来の Create ML App では、アノテーションを 1 件ずつ確認する方法がありませんでした。今年追加された Explore 機能がこれを解決 — データソースをクリックし、クラスラベルを選択すれば、各画像のアノテーションボックスの位置とサイズを確認できます(03:12)。トレーニング前にチェックし、「ゴミを入れればゴミが出る」を回避。
もう 1 つの重大な更新はオブジェクトトラッキング(Object Tracking) — visionOS 向けに設計された新テンプレートで、実物体の空間位置と向きを追跡するモデルをトレーニング。トレーニングデータは 3D アセット 1 つだけで、Create ML がすべてのトレーニングサンプルを自動生成。デモでは実物の地球儀をトラッキングし、app が月の軌道と地核の可視化を周囲に重ね表示(04:14)。
Components レベルでは、2 つの汎用コンポーネントが追加 — 時系列分類と時系列予測。分類は「このデータは何を表すか?」(例:腕時計加速度計からジェスチャー認識)、予測は「次に何が起きるか?」(例:売上予測)。両方とも汎用型で、加速度計、GPS、販売データなど各種時系列データに対応。
詳細
データソース Explore 機能
Create ML App で左側のデータソースを選択するとデータ分布が表示。新しい Explore オプションでクラスラベルを深掘りし、画像ごとにアノテーションボックスを可視化。画像分類、物体検出、手のポーズ分類など画像系テンプレートに適用(03:36)。
オブジェクトトラッキングテンプレート
Create ML App に Spatial カテゴリが追加され、オブジェクトトラッキングテンプレートで物体の空間位置と向きを追跡するモデルをトレーニング。トレーニング入力は 3D アセット 1 つのみ — App が必要なトレーニングデータを自動生成。完全なワークフローは専用動画「Explore object tracking for visionOS」を参照(05:01)。
時系列予測:データ準備からトレーニングまで
セッションはフードトラック売上予測 app を例に、Create ML Components の使用フロー全体をデモ。
データ前処理 — 取引ごとのデータを日次売上に集約:
// Create DateFeatureExtractor, extract month and weekday features
let featureExtractor = DateFeatureExtractor(
featureComponents: [.month, .weekday]
)
// Combine ColumnSelector and featureExtractor into a pipeline
let pipeline = PipelineComposer()
.compose(ColumnSelector("date"), featureExtractor)
.append(ColumnConcatenator())
// Fit DataFrame with pipeline to get preprocessor
let preprocessor = pipeline.fit(dataFrame)
// Extract feature and target columns as MLShapedArray
let features = preprocessor.transform(dataFrame)["features"].typedValues()
let targets = dataFrame["quantity"].typedValues()
キーポイント:
DateFeatureExtractorは日付列から.month、.weekdayなどの特徴コンポーネントを抽出し、モデルが周期的パターンを学習(09:08)ColumnSelectorで特定列を選択し、featureExtractor と pipeline に組み合わせColumnConcatenatorで複数特徴列を 1 つのMLShapedArrayに統合し、モデル入力にpipeline.fit()が返す preprocessor で生 DataFrame をモデル必要形式に変換
モデルトレーニングと予測:
// Split data into training and validation sets
let (training, validation) = data.split(ratio: 0.8)
// Create time series forecaster, configure history and forecast windows
let forecaster = TimeSeriesForecaster(
inputWindowSize: 15,
forecastWindowSize: 3
)
// Train
let model = forecaster.fit(training)
// Predict sales for the next 3 days
let predictions = model.applied(input: recentData)
キーポイント:
inputWindowSizeはモデルが参照する履歴データ長、forecastWindowSizeは予測する未来ステップ数(10:32)- 履歴ウィンドウは予測ウィンドウより長く — 3 日予測するなら最低 15 日の履歴データを提供
fit()でトレーニング、applied()で推論- オンデバイストレーニングの利点:各フードトラックの売上パターンは異なる — オンデバイストレーニングで特定データにパーソナライズ(08:26)
重要ポイント
-
やること:画像モデルトレーニング前に Explore 機能でアノテーション品質を確認。価値:アノテーション不一致はモデル異常動作の最大原因で、トレーニング前にはほぼ発見不可能。始め方:Create ML App でデータソースを開き、Explore をクリック、クラスラベルごとにアノテーションボックス位置の一貫性を確認。
-
やること:visionOS app にオブジェクトトラッキングを導入し 3D コンテンツを重ね表示。価値:3D アセットが唯一のトレーニング入力 — ハードルが極めて低く、空間コンピューティングで最も没入感のある体験を実現。始め方:対象物体の 3D アセット(USDZ 形式)を準備し、Create ML App の Spatial カテゴリでオブジェクトトラッキングテンプレートを選択。
-
やること:app 内オンデバイスで時系列予測モデルをトレーニングし、パーソナライズ予測を実現。価値:時系列データ(売上、センサー読み取り)はユーザー/シナリオごとに異なり、クラウド統一モデルでは個別差を捉えられない。始め方:Create ML Components の
TimeSeriesForecasterを使用し、inputWindowSizeとforecastWindowSizeを設定、ユーザーアイドル時にトレーニングをトリガー。 -
やること:
DateFeatureExtractorで日付列から周期的特徴を抽出。価値:販売データやセンサーデータには週周期や年周期が多い —.weekdayと.monthを抽出すればモデルが自動的にこれらのパターンを学習。始め方:データ前処理 pipeline にDateFeatureExtractor(featureComponents: [.month, .weekday])を追加。
関連セッション
- Explore object tracking for visionOS — Create ML トレーニングから visionOS デプロイまでのオブジェクトトラッキング完全ワークフロー
- Bring your machine learning and AI models to Apple silicon — Apple チップ算力を最大限活用する ML モデル最適化
- Deploy machine learning and AI models on-device with Core ML — オンデバイスモデル変換と推論のパフォーマンス最適化
- Explore machine learning on Apple platforms — Apple ML フレームワーク全景と Create ML の位置づけ
コメント
GitHub Issues · utterances