KDD 2016 チュートリアル
CNTK: Microsoft の Open-Source Deep-Learning Toolkit
KDD 2016 Hands-On チュートリアル:Frank Seide と Amit Agarwal、Microsoft
注: CNTK バイナリ (最大 300 MB) と CIFAR-10 データ セット (170 MB) の 2 つの大きなダウンロードを行い、CNTK バイナリと必要なすべての依存関係をコンピューターにインストールする必要があります。 ホテルの部屋からなど、事前にこれを行うことをお勧めします。 手順については 、以下 を参照してください。
Microsoft 製品グループなどのニューラル ネットワークをトレーニングします。 このチュートリアルでは、Windows および Linux 用の Microsoft のスケーラブルなオープン ソースディープ ラーニング ツールキットである Microsoft Cognitive Toolkit (CNTK) について説明します。 CNTK は、ディープ ニューラル ネットワークをトレーニングおよび評価するための強力な計算グラフ ベースのディープ ラーニング ツールキットです。 Microsoft 製品グループは、CNTK を使用して、たとえば Cortana 音声モデルと Web ランキングを作成します。
対象ユーザーと期待値
このチュートリアルは、現在または将来のディープ ラーニング実践者を対象としています。実際のワークロードでは、マルチマシン GPU クラスター全体で使いやすく、効率的でスケーラブルなツールを探しています。
このチュートリアルでは、ディープ ラーニングの基本的な知識を前提としています。 参加者は、CNTK の主要な概念と使用方法を理解し、画像認識とテキスト処理のために CNTK を使用してニューラル ネットワーク トレーニングを実行する練習を行います。 このチュートリアルは、CNTK を使用して実際のディープ ラーニング タスクを解決するための出発点となります。
前提条件、ダウンロード、セットアップ手順
チュートリアルのハンズオン ラボ セッションを行うには、64 ビット Windows 8.1+ または Linux を搭載したノート PC またはリモート コンピューターが必要です。CUDA 対応 GPU を使用することをお勧めします (速度が向上します)。 コンピューターが Mac-OS を実行している場合は、Docker コンテナー内で Linux を実行し、この Docker コンテナー内で以下に説明するインストール/セットアップを実行できます。
合計約 500 MB の CNTK バイナリ パッケージ、CIFAR-10 セット、チュートリアル ファイルをダウンロードしてインストールする必要があります。 これを事前に行うのが理想的です。
- CNTK バイナリをダウンロードしてインストールします。
このページでは、コンピューターにMicrosoft Cognitive Toolkitをインストールするためのさまざまな方法について説明します。 このチュートリアルの範囲では、バイナリ CNTK インストールに基づくインストールで十分です。 ソース コードから CNTK をビルドする必要はありません。 セットアップ手順について説明します。 そのページからバイナリ インストール パッケージをダウンロードする手順に従ってください。
いずれの場合も、CNTK 実行可能ファイルが環境に含まれていることを確認してください。
CIFAR-10 セットのダウンロード: CIFAR-10 セットの場合は、次のファイルをダウンロードしてください。 http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
このリンクを開き、[ダウンロード] ボタンをクリックして、チュートリアル ファイル (最大 12 MB) をダウンロードします。
オンラインで実践的なチュートリアルを行う
この 2 つの実践的なチュートリアルは、次のページとして投稿されています。
- CIFAR-10の画像認識:畳み込みおよび残留ネットを用いたCIFAR-10の画像認識
- ATIS を使用したLanguage Understanding: スロットのタグ付けと繰り返しネットワークを使用した意図の分類
抽象
このチュートリアルでは、Windows および Linux 用の Microsoft の最先端のオープン ソースディープ ラーニング ツールキットである Microsoft Cognitive Toolkit (CNTK) について説明します。 CNTK は、ディープ ニューラル ネットワークをトレーニングおよび評価するための強力な計算グラフ ベースのディープ ラーニング ツールキットです。 Microsoft 製品グループは、CNTK を使用して、たとえば Cortana 音声モデルと Web ランキングを作成します。 CNTK では、音声、画像、テキストのワークロード用のフィードフォワード、畳み込み、および反復ネットワークも組み合わせてサポートされます。 一般的なネットワークの種類は、ネイティブ (畳み込み) でサポートされているか、CNTK 構成 (LSTM、シーケンスからシーケンス) として記述できます。 CNTK は複数の GPU サーバーにスケーリングされ、効率を中心に設計されています。 このチュートリアルでは、CNTK の一般的なアーキテクチャの概要を説明し、自動分化、反復ループ推論と実行、メモリ共有、大規模コーパスのオンザフライランダム化、マルチサーバー並列化に使用される特定のメソッドとアルゴリズムについて説明します。 次に、画像認識、シーケンス間モデリング、音声認識などの関連タスクに対する一般的な使用方法を示します。
アウトライン
このチュートリアルでは、次のトピックについて説明します。
- CNTK とは
- コンピューティング ネットワークの概要
- CNTK の一般的な使用方法はどのようになっていますか?
- 計算ネットワークの定義
- データ入出力の構成
- SGD ハイパーパラメーター
- 一般的なワークフロー
- 特定のテクノロジの詳細
- 時間の暗黙的な処理
- 可変長シーケンスのミニバッチ処理
- データ並列トレーニング
- など、実践的な例
- 画像認識 (AlexNet、ResNet)
- テキスト処理 (ATIS)
- プレビュー: Python および C++ 用 CNTK ライブラリ API
講演者の略歴
ドイツ・ハンブルク出身のフランク・セイデ氏は、Microsoft Research の上級研究員です。 彼の現在の研究は、会話音声認識のための深いニューラルネットワークに焦点を当てています。共同執筆者のドン・ユーと共に、会話音声の認識に対するディープニューラル ネットワークの有効性を最初に示しました。 彼のキャリアを通じて、音声会話システム、中国語の認識、特に音声インデックス作成、文字起こし、音声読み上げ翻訳へのアプリケーションによる会話音声の大きな語彙認識など、自動音声認識の幅広いトピックとコンポーネントに関心を持ち、取り組んでいます。 現在の焦点は、Microsoft の CNTK ディープ ラーニング ツールキットです。
Amit Agarwal は、Microsoft のテクノロジおよび研究部門の主要なソフトウェア エンジニアです。 現在は、Microsoft の大規模分散ディープ ラーニング プラットフォームである CNTK の構築に焦点を当て、Microsoft とコミュニティの幅広い音声、画像、テキスト関連のディープ ラーニング タスクで使用される膨大なデータセットに対して大規模なディープ ラーニング モデルをトレーニングするための前例のないスケール、速度、容量を実現しています。 Amit Agarwal は、Microsoft 製品の幅広い分野と、メントー グラフィックで作業を行いました。 異種および GPU プログラミングに関する 7 件の特許を取得しています。
REFERENCES
[1] Amit Agarwal、Eldar Akchurin、Chris Basoglu、Guoguo Chen、Scott Cyphers、Jasha Droppo、Adam Eversole、Brian Guenter、Mark Hillebrand、T. Ryan Hoens、Xuedong 黄、Zhiheng 黄、ウラジミール・イワノフ、アレクセイ・カメネフ、フィリップ・クラネン、Oleksii Kuchaiev、Wolfgang Manousek、Avner May、Bhaskar Mitra、Olivier Nano、Gaizka Navarro、Alexey Orlov、Hari Parthasarathi、Baolin Peng、Marko Radmilac、Alexey Reznichenko、Frankde、 Michael L. Seltzer、Malcolm Slaney、Andreas Stolcke、Huaming Wang、Yongqiang Wang、KaishengAo、Dong Yu、Yu Zhang、Geoffrey Zweig (アルファベット順)、"計算ネットワークと計算ネットワーク ツールキットの概要"、Microsoft Technical Report MSR-TR-2014-112、2014。
[2] "CNTK,"