Windows Machine Learning

Windows ML を使用して Windows アプリに Machine Learning を実装します。Windows ML は、Windows デバイスにハードウェア アクセラレータ対応の ML 推論をデプロイするための信頼性の高い高パフォーマンス API です。

Windows ML のグラフィックス

概要

Windows ML は、最新バージョンの Windows 10 および Windows Server 2019 に組み込まれており、また Windows 8.1 までのダウンレベルに対応するために NuGet パッケージ としても提供されています。 Windows ML は、開発者に次の利点をもたらします。

  • 開発の容易さ: Windows ML を最新バージョンの Windows 10 および Windows Server 2019 に組み込んだら、あと必要なのは Visual Studio とトレーニング済みの ONNX モデルだけで、これらは Windows アプリケーションと一緒に配布できます。 また、AI ベースの機能を以前のバージョンの Windows (8.1 まで) に配信する必要がある場合は、アプリケーションと共に配布できる NuGet パッケージとして Windows ML を使用することもできます。

  • 幅広いハードウェア サポート: Windows ML を使用することによって、ML ワークロードを 1 回記述すれば、さまざまなハードウェア ベンダーやシリコンの種類 (CPU、GPU、AI アクセラレータなど) にわたって高度に最適化されたパフォーマンスを自動的に得ることができます。 さらに、Windows ML では、サポートされているすべてのハードウェアで一貫した動作が保証されます。

  • 待ち時間が短く結果をリアルタイムで利用可能: Windows デバイスの処理機能を使用して ML モデルを評価でき、画像やビデオなどの大きなデータ ボリュームをローカルでリアルタイムに分析できます。 分析結果は、ゲーム エンジンなどのパフォーマンスが集中するワークロードや、検索のインデックス作成などのバックグラウンド タスクですぐに効率的に使用できます。

  • 柔軟性の向上: Windows デバイス上で ML モデルをローカルに評価するオプションを使用すると、幅広いシナリオに対処できます。 たとえば ML モデルの評価を、デバイスがオフラインになっているときや、接続が断続的になったときに実行できます。 また、プライバシーやデータの主権の問題により、すべてのデータをクラウドに送信できないシナリオに対処することもできます。

  • 運用コストの削減: ML モデルは継続的な改善が必要な場合もあるため、ML モデルをクラウドでトレーニングし、Windows デバイスでローカルに評価すれば、最小限のデータのみがクラウドに送信されるため帯域幅コストが大幅に節約できます。 さらに、サーバー内に ML モデルを展開するシナリオでは、開発者は Windows ML ハードウェア アクセラレータを利用してモデル サービスを高速化することで、ワークロードを処理するために必要なマシンの数を減らすことができます。

機械学習モデル

機械学習モデルとは、特定の種類のパターンを認識するようにトレーニングされたファイルのことです。 モデルのトレーニングは、データのセットに対して行います。その際モデルには、それらのデータについて推論し、データから学習するために使用できるアルゴリズムを提供します。

モデルのトレーニングが完了したら、そのモデルを使用して、モデルがこれまで見たことのないデータから推論し、そのデータに関する予測を行うことができます。 たとえば、顔の表情に基づいてユーザーの感情を認識できるアプリケーションを構築するとします。 特定の感情にタグ付けされた複数の顔の画像をモデルに提供してモデルをトレーニングすることで、ユーザーの感情を認識できるアプリケーションでそのモデルを使用できるようになります。 このようなアプリケーションの例については、Emoji8 サンプルを参照してください。詳細については、「機械学習モデルとは」を参照してください。

Windows Machine Learning では、Open Neural Network Exchange (ONNX) 形式をモデルとして使用します。 事前トレーニング済みのモデルをダウンロードすることも、独自のモデルをトレーニングすることもできます。 詳細については、Windows ML 用の ONNX モデルを入手する方法に関する記事を参照してください。

開始するには

Windows Machine Learning をアプリに組み込むさまざまな方法の詳細については、作業の開始に関するページをご覧ください。

Windows Machine Learning を使用して初めてのアプリを作成しようと考えていますか? モデルをトレーニングして WinML アプリケーションに組み込むためのさまざまな方法の概要については、「WinML のチュートリアル」をご覧ください。

よく寄せられる質問

Machine Learning ソリューションとオプションについて詳しく知りたいですか? 使用可能な選択肢の完全な概要については AI ソリューションの比較に関する記事を、詳細については WinML の FAQに関する記事を参照してください。

注意

Windows ML に関するヘルプについては、次のリソースを参照してください。

  • Windows ML に関する技術的な質問をしたり、質問に回答したりするには、Stack Overflowwindows-machine-learning タグを使用してください。
  • バグを報告するには、GitHub で問題を提出してください。