Windows機械孊習の玹介-WinML

人工知胜ず機械孊習は、近幎の2぀の誇倧広告傟向です。 AIMLに必芁な蚈算量は、通垞、特殊で高性胜で゚ネルギヌ効率の高い機噚たずえば、TPUを搭茉したサヌバヌを䜿甚しおデヌタセンタヌで実行されたす。 進化は呚期的であり、振り子はPC、タブレット、IoTなどの呚蟺機噚でのコンピュヌティングに向かっお振り返りたした。 特に、これにより、音声コマンドに察するデバむスの反応速床が向䞊し、パヌ゜ナルアシスタントずのコミュニケヌションの快適さが向䞊したす。







WinMLは、開発者がWindows 10デバむスのすべおの機胜を䜿甚しお事前孊習枈みの機械孊習モデルを蚈算し、Open Neural Network ExchangeONNX圢匏でアプリケヌションにロヌドできるようにする新しいAPIセットです。



長くおWin-Winの䌝統に埓いたすがWinPhoneは芚えおいたす、AppleのiOS向けCoreMLおよびAndroid 8.1向けTensorFlow Lite / Neural Networks APIに埓っお、DirectML䞊で実行する開発者向けの高レベルWinML APIを公開しおいたす。 このレむダヌは、DirectX 12を䜿甚するか、コンピュヌティングデバむスCPU / VPU / GPUに盎接アクセスできたす。



開発の本質は、準備された機械孊習モデルをクラりドたたは専甚パッケヌゞたずえば、Anaconda、Microsoft Cognitive Toolkit、TensorFlowからUWPアプリケヌションおよびWindows 10の埓来のWindowsアプリケヌションWPF / WinForms / ConsoleAppに転送するこずです。さらに、モデルを取埗するこずもできたすAzure Machine Learning Workbenchを䜿甚するず、たもなく、Azure Custom Vision ServiceはWindows甚のONNXモデルの䜜成もサポヌトしたす。 WinML APIは、Windows 10のすべおの゚ディションで䜿甚できたす。



これは、Windows開発者が長幎埅ち望んでいた゜リュヌションです。 マむクロ゜フトは快適な゚コシステムを䜜成したした。 競合する゚コシステムの課題は、ナヌザヌず開発者を゚コシステムに匕き蟌むこずです。 機械孊習に関しおは、Windowsを忘れる必芁があるずいう過激な意芋さえありたす。 マむクロ゜フトはこれを認識しおおり、次の䞀歩を螏み出し、新しい垂堎に参入しお懐疑論者を打ち負かすこずを望んでいたす。



モデルトレヌニングツヌルずそれらを䜿甚するアプリケヌション間のモデル亀換のテクノロゞヌは、Microsoft、Facebook、Amazonずいった倧手テクノロゞヌ倧手がサポヌトするONNXプロゞェクトに基づいおいたす。 開発者は、PyTorch、Caffe2およびその他のモデルをONNX圢匏に倉換し、それらをアプリケヌションに統合できたす。 同時に、最終アプリケヌションの開発者は、経隓豊富な機械孊習の専門家である必芁はありたせん。 モデルは関数であり、その入力に察しお準備されたデヌタセットを送信し、受信した回答を解釈する必芁があるこずを理解するこずだけが必芁です。



さらに、最初はニュヌラルネットワヌクモデルのみを栌玍するONNX圢匏を芋たした。 プロゞェクトのりェブサむトによるず、ONNXはディヌプラヌニングモデルを衚すためのオヌプン圢匏です。 はい、そしおOpen Neural Network Exchangeの名前で。 ただし、WinMLで公開されおいるドキュメントには、WinMLToolsパッケヌゞを䜿甚しおサポヌトベクタヌマシンモデル サポヌトベクタヌメ゜ッド をONNXに転送する䟋が蚘茉されおいたす。 SVMは線圢分類噚のファミリヌに属し、原則ずしおニュヌラルネットワヌクモデルにマッピングできたす。 私が芋るたで、他のどのモデルをONNXにアップロヌドできたすか。 ロゞスティック回垰モデル実際には1぀のニュヌロンたたは線圢回垰掻性化関数のないニュヌロンをアンロヌドするこずもできたす。 ONNXにアップロヌドしおCNTKMicrosoft Cognitve Toolkitで最も単玔なMLPモデルを䜜成した最初の経隓は倱敗したした。 遞択したハむパヌパラメヌタヌを珟圚の圢匏の実装に倉換できたせんでした。 互換性の問題。 しかし、それはCNTKバヌゞョン2.3.1でした。 1週間前、CNTK 2.5がリリヌスされたした。 新しいバヌゞョンでは、ONNXサポヌトの改善に぀いお曞いおいたす。



MLは、代替ラむブラリを介しお.Net以前で利甚できたした。 たずえば、オヌプン゜ヌスプロゞェクトのAccord.Net。 WinMLの有甚性は、特定の暙準を提䟛するこずです。これにより、䞀方では䞀般的なパッケヌゞからモデルを取埗でき、他方ではさたざたなハヌドりェアでモデルを実行できたす。



Microsoftはプレれンテヌションで、DirectMLレむダヌを介しおさたざたなプラットフォヌムにロヌドされたモデルをすばやく蚈算するず述べたした。 開発者にずっお、ハヌドりェアおよび゜フトりェアプラットフォヌムの動物園甚の蚈算の最適化は巚人的で、時には重劎働です。 マむクロ゜フトが蚈画したずおり、アプリケヌションはデスクトップだけでなく、Xbox、Hololens、さらにはIoTでも動䜜したす。



CPU / GPU専甚のカヌネル/モゞュヌルIntel、AMD、Qualcomm、NVidiaは、ハヌドりェアに関䞎できたす。 グラフィックカヌドをお持ちですか モデルはそれで動䜜したす。 ビデオカヌドはありたせんが、Intelはありたす。モデルは、ベクトル呜什AVX256たたはAVX512でも動䜜したす。 統合グラフィックスが関係する堎合がありたす。 IoTデバむスの蚈算胜力が䞍十分-Intel Movidius VPUを接続したす。 これはすべお、既存の機噚の蚈算モデルを自動的に動的にコンパむルする技術のおかげです。



開発者は、アプリケヌションで䜿甚可胜な機噚を心配する必芁はありたせん。 WinMLメカニズムは、ハヌドりェアを動的に䜿甚し、必芁なネむティブコヌドを䜜成しお、デバむスで䜿甚可胜な機噚から最倧のパフォヌマンスを取埗したす。 さらに印象的なのは、SnapDragon 835を実行しおいる新しいラップトップやタブレット、さらにはIoTデバむスでも動䜜するWinMLの機胜です。 したがっお、利甚可胜なすべおの远加の蚈算胜力を䜿甚でき、それらが存圚しない堎合は、蚈算に十分なのはCPUだけです。



春の曎新により、開発者はIoTデバむスからワヌクステヌション、サヌバヌ、デヌタセンタヌに至るWindowsデバむスファミリ党䜓でWinMLプラットフォヌムを䜿甚できたす。 WinMLプレビュヌリリヌスは、FP32コンピュヌティングをサポヌトしおいたす。 最終バヌゞョンはFP16をサポヌトするこずが玄束されおいたす。 今日ではこれは関係ありたせんが、Volta GPUの登堎により、FP16テン゜ルカヌネルのパフォヌマンスが倧幅に向䞊したす特別に蚓緎されたモデルの堎合。 Microsoftはすでに8倍の加速を実蚌しおいたす。



その結果、開発者には倚くの利点がありたす。



䜎レむテンシ 、リアルタむムの結果。 Windowsは、PCリ゜ヌスを䜿甚しおモデルを蚈算できるため、画像やビデオなどの倧きなロヌカルデヌタのオンザフラむ分析が可胜です。 蚈算結果は迅速か぀迅速に取埗できたす。



ナヌザヌのデバむス䞊のモデルのクラりドからのアンロヌドによる運甚コストの削枛 。 ネットワヌク分析サヌビスずクラむアント間でデヌタを転送するコストを削枛たたは排陀するこずにより、倧幅な節玄を実珟できたす。 クラむアント偎でMLモデルを実行するず、芁求をロヌカルで凊理でき、モデルを再トレヌニングするための小さな新しいデヌタをサヌビスに送信できたす。



柔軟性。 開発者は、ロヌカルたたはクラりドで蚈算を実行する堎所を遞択できたす。 クラむアントポリシヌは、機密デヌタのネットワヌクぞの送信を犁止したり、ネットワヌクでの蚈算を必芁ずしお結果を取埗するのにかかる時間を短瞮したりするこずがありたす。



Windows Machine Learningの開始



このテクノロゞヌを䜿甚するには、゜フトりェアを曎新する必芁がありたす。 Visual Studio Preview 15.7以降、ONWPファむルをUWPプロゞェクトに远加するず、開発者プロゞェクトに必芁なむンタヌフェむスが自動的に远加されたす。 これはプレビュヌです。 さらに、Windows 10の必芁なバヌゞョンは、珟圚Insider Previewプログラムでのみ利甚可胜です。 Visual Studioの以前のバヌゞョンでは、開発者はMLGenツヌルを䜿甚しお適切なむンタヌフェむスを䜜成し、それをプロゞェクトに手動で远加できたす。 この機胜は、間もなくAIのVisual Studioツヌルで利甚できるようになりたす。



Windows ML APIドキュメントは3月7日に公開されたした。 圓時、2018幎3月のWindows Developer Dayが開催され、ビデオはYouTubeのWindows Developerチャンネルで公開されたした。





すでに機械孊習で䜜業しおいる人にずっお、暙準ラむブラリの利点は理解できたす。 そしお、ただ䞻題に含たれおいない人のために、アプリケヌションで既補のMLモデルで䜕が埗られるかを簡単に説明したす。



䞊蚘のように、MLモデルは関数であり、その入力は固定゚ンティティのパラメヌタヌ化された説明たたは可倉長サりンド/スペクトログラム、ビデオのベクトルであり、出力では入力ベクトルをいく぀かのクラスに割り圓おるず解釈できる応答ベクトルを取埗したす分類、クラスタリングの問題、ある皋床の尀床確率、および入力ベクトルのいく぀かの蚈算されたパラメヌタヌ回垰問題。 これは最も単玔な堎合です。 この蚘事のより耇雑なアプリケヌションは考慮されたせん。



䟋ずしお、Microsoftは、 MNISTの有名な䟋をGitHubに投皿したした 。 モデルをプログラムに接続し、タッチスクリヌン䞊で指で描いた数字をさらに認識するこずができたす。 ただし、API手曞き認識では、同様の機胜がさらに豊富に実装されおいたす。



GameDevの䟋でこれらのタスクを怜蚎しおください。



入力ベクトルずしお、特定の画像たたは特定の状況ゲヌムの衚珟がありたす。 画像は、䞀連のナヌザヌアクションたたは圌が芋たものを蚘述し、それに基づいお行動したす。 モデルはナヌザヌの行動を予枬し、それに基づいお新しい環境を蚭蚈できたす。



プレむダヌのゲヌムワヌルドをカスタマむズしお、より倚くのタスクずより倚くのギフトを提䟛し、奜みにすばやく適応させるこずができたす。 プレむダヌがゲヌム内で宝物を芋぀けるのが奜きで、戊闘に参加したくない堎合、モデルは宝物を远加し、戊闘の耇雑さを軜枛できたす。





匷化およびシミュレヌショントレヌニングモデルは、ゲヌム䜓隓に貢献できたす



画像はボットの環境の説明であり、そのアクションはモデルの蚈算結果になりたす。 耇雑なグラフィックス、たずえば、感情の描画やオヌディオファむルの明瞭なアヌティキュレヌションなどです。





かなり難しいタスクは、キャラクタヌの手足のもっずもらしいダむナミクスを誀っお蚈算するこずです。





昚幎、SIGGRAPH 2017で、流䜓力孊の盎接シミュレヌションを行わずに流䜓力孊を蚈算するためのMLモデルが発衚されたした。これにより、蚈算量が倧幅に削枛されたす。





むマゞネヌションを含めるず、スタむルを転送するこずで Prismaに䌌たテクスチャのプロシヌゞャル生成にモデルを䜿甚できたす。 同様に、ランドスケヌプ、アヌキテクチャ、その他の゚ンティティを䜜成できたす。



私が芋るように、Mossゲヌムのメむンキャラクタヌに䌌たゲヌムキャラクタヌの蚓緎されたモデルボットの垂堎を圢成するこずはかなり可胜です。 たず、スケルトン/シェルの粟巧なダむナミクスを䜿甚したす。 入力条件速床/状態、性別/ステップ座暙、感情のベクトル、アクション/目暙をMLモデルの入力に入力し、出力で次の状態を取埗するずしたす。 このようなフレヌムから、関連する3Dアニメヌションを組み立おるこずができたす。





マりスの動きのダむナミクスやキヌボヌドの䜿甚状況のプロファむルなどに埓っお、ナヌザヌのアクションを分類するモデルを構築できたす。



予想倖のアプロヌチは、MLモデルを䜿甚しお画質を改善するこずです。 「超解像技術」ず呌ばれる、NVIDIAからの「スマヌト」フィルタリングの䟋が倚数の蚘事で提䟛されおいたす。





MLスヌパヌサンプリング巊およびバむリニアアップサンプリング右



MLモデルの範囲は広範であり、開発者の想像力によっおのみ制限されたす。 この蚘事が気に入ったら、次の蚘事でMLモデルの構築ず䜿甚の問題を簡単な䟋で説明したす。



All Articles