Windows Machine Learning
Windows ML を使用して Windows アプリに Machine Learning を実装します。Windows ML は、Windows デバイスにハードウェア アクセラレータ対応の ML 推論をデプロイするための信頼性の高い高パフォーマンス API です。
概要
Windows ML は、最新バージョンの Windows 10 および Windows Server 2019 に組み込まれており、また Windows 8.1 までのダウンレベルに対応するために NuGet パッケージ としても提供されています。 Windows ML は、開発者に次の利点をもたらします。
開発の容易さ: Windows 10 と Windows Server 2019 の最新バージョンに組み込まれている Windows ML では、Visual Studio とトレーニング済みの ONNX モデルが必要になります。これは Windows アプリケーションと共に配布できます。 また、AI ベースの機能を以前のバージョンの Windows (8.1 まで) に配信する必要がある場合は、アプリケーションと共に配布できる NuGet パッケージとして Windows ML を使用することもできます。
広範なハードウェア サポート: Windows ML を使用すると、ML ワークロードを 1 回記述し、CPU、GPU、AI アクセラレータなど、さまざまなハードウェア ベンダーやシリコンの種類にわたって高度に最適化されたパフォーマンスを自動的に取得できます。 さらに、Windows ML では、サポートされているすべてのハードウェアで一貫した動作が保証されます。
待機時間が短く、リアルタイムの結果: ML モデルは Windows デバイスの処理機能を使用して評価でき、画像やビデオなどの大量のデータをローカルでリアルタイムに分析できます。 分析結果は、ゲーム エンジンなどのパフォーマンスが集中するワークロードや、検索のインデックス作成などのバックグラウンド タスクですぐに効率的に使用できます。
柔軟性の向上: Windows デバイスで ML モデルをローカルで評価するオプションを使用すると、より広範なシナリオに対処できます。 たとえば ML モデルの評価を、デバイスがオフラインになっているときや、接続が断続的になったときに実行できます。 また、プライバシーやデータの主権の問題により、すべてのデータをクラウドに送信できないシナリオに対処することもできます。
運用コストの削減: クラウドで ML モデルをトレーニングし、Windows デバイスでローカルで評価することで、帯域幅コストを大幅に削減でき、ML モデルの継続的な改善に必要な場合と同様に、クラウドに送信されるデータは最小限に抑えられます。 さらに、サーバー内に 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に関する記事を参照してください。
Note
Windows ML に関するヘルプについては、次のリソースを参照してください。
- Windows ML に関する技術的な質問をしたり、質問に回答したりするには、Stack Overflow の windows-machine-learning タグを使用してください。
- バグを報告するには、GitHub で問題を提出してください。