ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Create MLでアクティビティ識別モデルを構築する
iPhoneとApple Watchには、加速度センサーやジャイロスコープなど、多数の強力なセンサーが搭載されています。こうしたセンサーからのデータを使用してアクティビティ識別モデルをトレーニングすると、ユーザーが走っていたりバットを振ったりしていることを感知するなど、Appに魔法のような機能を追加できます。このセッションでは、Create ML Appによって、このようなCore MLモデルの1つを簡単にトレーニングおよび評価できることについて説明します。トレーニングに必要な未加工のデータを収集する方法と、こうしたモデルが実際に使用されている様子についてご確認ください。
リソース
関連ビデオ
WWDC19
-
ダウンロード
(音楽)
(拍手) Core MLのユーシンです 今年の新モデルを 紹介できるので― 今日はとても ワクワクしてます Activity Classificationです
私たちはデバイスを使って アクティビティを行ってます ゲームで遊んだり スポーツをしたり モバイル機器には― 高度なセンサーが 必要となっています 代表的なものは― Accelerometerや Gyroscopeなどです 3軸方向の加速度や 回転数を測定 モバイルの縦横の動きなどを 検知しています これらのセンサーが アクティビティを感知します
例えばジョギング時には― 静止している時とは 違うデータが取れます
同様に 手足の動きや ゲームコントローラ スポーツによって データが異なります それぞれ異なる動きを 認識しているんです
Activity Classification とは何か?
身体的なアクティビティを 設定することで― その動きをモバイルに 認識させる機能を持っています
複数のアクティビティを 認識させたい時は? アプリケーションの ニーズが異なる時は?
それぞれの需要に応じて― カスタマイズができれば 最高だと思います
それを実現するのが これからご紹介する― Create MLの Activity Classificationです
例を挙げて話しましょう
私は家族や友人と― アルティメットをするのが 大好きなんです
ゲームのあとに 自分の動きを確認したい いつもそう思います フリスビーを投げる テクニックや回数などです Apple Watchが 動きを認識するよう― Frisbee Motion Classifierを トレーニングしました 成功したので デモをお見せします 私のiPhoneの画面です ペアリングしているので― 時計上でモデルを操作します スタートボタンが見えます
スタートを押すと― データのストリーミングが 始まります モデルが一連の 予測をし始めます やってみましょう
モデルが動きを求めています アクティビティを 感知できないからです 動いてみましょう まずは簡単な動きです
フォアハンド (拍手) 次は
バックハンド (拍手) 次はお気に入りです チキンウィング (拍手) 私の隠し技も お見せしましょう
ボウリング (拍手) 本当はボウラーと呼ばれる 投げ方です もう一度やります ボウラー
機械学習モデルです さて
ストップします
結果を見ましょう きちんと集計されたようです ボウラーなどのクラスは― もっとデータが必要そうです 運動もできたし 結果にも満足です
説明に戻ります
皆さんはデベロッパです もっとクリエイティブな アイデアをお持ちでしょう
では
実際にモデルの作り方を 見てみましょう
たったの3ステップ
まずアクティビティの データを集めます
次にモデルをトレーニング
最後に― モデルをアプリケーションに展開
データを取得します
センサーデータへの アクセスは― Core Motionが最適です より詳しい情報は 以前のセッションと― 開発者向けのドキュメントを ご覧ください
利用中のアプリケーションから― 直接アクセスすることも 可能です Core Motionフレームワークです スタートやストップボタン アップデートの 間隔の設定など アプリケーションから操作ができます さらに これと まったく同じ仕組みを― トレーニングデータの コレクションにも デバイスの推論にも使えます
私のデータをご覧ください フォアハンドを 記録したデータです
ファイルはCSV形式
タイムスタンプが一列
こちらがセンサー機能の列 User Accelerationと Rotation Rateを― モデル構築に使いました 動きを3種のみ取り上げます
データソースの詳細を 確認したい場合は― アクティビティを 可視化できます
フォアハンドの記録から― 3つの連続した動きが 確認できます
ディープラーニングのモデルは トレーニング中に― この時系列のデータを 順にたどります こうしてアクティビティの― 空間的 時間的パターンを 抽出するのです
ファイルが整いました 各フォルダには ラベル名を付けてください このような階層で構成します すべて同じアクティビティに 属しています CSV JSON テキストファイルをサポート 形式は1種のみでも― 混合させることも可能です
データの完成です トレーニングを始めます
Create ML Appのテンプレートから Activity Classを選択
これが標準的な情報画面です トレーニングデータを ウィンドウに― ドラッグ&ドロップできます アクティビティについては 登録したファイル数と― サンプル数を確認できます
次の重要なステップは 試したいセンサー機能を― Create MLに伝えることです リストから1つか 複数の機能を選択します これらのセンサー機能が 参照するのは― CSVファイルのヘッダです
補足ですが予測結果の ウィンドウサイズを― 調整することも可能です アクティビティの速度に 合わせます
今回のフリスビーの場合は 2秒に設定しました サンプル数は100 100のサンプルを取得 私のデータは サンプリング周波数が― 50ヘルツだからです
次に進みましょう
トレーニング開始です
すでにこのプロセスは ご存じだと思います Create MLの他のモデルと― まったく同じなので 割愛をします
満足いく結果が出たら― 未使用のデータも 試してください モデルの評価を行うためです
標準的なテスト画面です 同じ手順で テストデータを使うだけです
評価をしたあと― クラスごとの行列の表を 確認できます 適合率と再現率です
フリスビーの場合を ご覧ください ボウラーとハンマーは― 正しい結果が出ませんでした その場合は前に戻って― データを増やしましょう パフォーマンスの向上が できるはずです
最後にトレーニング モデルの取得です ここから先は選択できます アプリケーションに モデルを展開する方法 Mac上の Create ML アプリケーションで― 直接バッチ予測を 行う方法です
新しい未分類のデータを ウィンドウに追加します
それだけで 予測結果を出せます ラベル名や 信頼度だけでなく― アクティビティデータの プレビューも アクティビティを より理解できます
私のCore ML Modelです
フリスビーのデータは ニューラルネットワーク分類器 たったの1.1メガバイト モバイル機器にとって 軽量なデータです
さらに トレーニングに使用した― センサー機能の 完全なリストを表示できます 予測結果の ウィンドウサイズもです ご自身のデバイスの推論に― 同じデータを使えば 一貫した精度を保てます
こちらがCreate ML アプリケーション macOSにも入っています すべてのプロセスを 自動化できます 使用するのは Xcode Playground Swift Scriptや Command Line Toolsです
例です
selectedSensorsを 指定することは― 忘れてはならない 大切なステップです それ以外のワークフローは 標準的で― 他のモデルと同様です トレーニングの評価と― モデル保存のコードは たった1行です
Activity Classificationの 概要でした
最後に― いくつかのコツを 共有したいと思います
まずアクティビティの理解 Accelerometerや― Gyroscopeなど センサーの使用は― 非常に一般的です
異なるクラスや 非アクティブのデータを― 追加で収集することも 有用です 特にランタイムの パフォーマンスに効果的です
各クラスのバランスを 保つことも大切です アクティビティのために 各クラスのファイル数と― 記録時間を 均等にしてください
最後の情報です Core Motionは センサーのRAWデータと― デバイスのモーションデータを 提供します デバイスモーションは Core Motionフレームワークを利用 異なるセンサーの データ取得ができます タイムアライメントや バイアス除去など― データ処理に 非常に有効に働きます ぜひ利用してください
以上です (拍手)
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。