Category: MXNet


柔軟性の高いディープラーニングのために簡単に使用できるプログラミングインターフェイス Gluon のご紹介

本日は、AWS と Microsoft が、どのディープラーニングフレームワークを選択するかにかかわらず、すべての開発者向けに機械学習テクノロジーの速度、柔軟性、アクセス性を向上させることを主眼とした新しい仕様を発表しました。この連携による最初の結果が、新しい Gluon インターフェイスです。これはあらゆるスキルレベルの開発者がディープラーニングモデルのプロトタイプ作成、構築、トレーニングを行えるようにする、Apache MXNet のオープンソースライブラリです。このインターフェイスにより、トレーニング速度を犠牲にすることなく、ディープラーニングモデルの作成プロセスを大幅に簡略化できます。

Gluon の 4 つの重要な利点と、それを示すサンプルコードを示します。

(1) シンプルで理解しやすいコード

Gluon では、シンプル、明瞭、簡潔なコードを使ってニュートラルネットワークを定義できます。事前定義されたレイヤー、オプティマイザ、イニシャライザを含む、プラグアンドプレイのニュートラルネットワーク構築要素のフルセットを入手できます。これにより、基盤となる複雑な実装詳細の多くが排除されます。次の例では、わずか数行のコードでシンプルなニュートラルネットワークを定義する方法を示しています。

# 最初のステップはモデルの初期化です
net = gluon.nn.Sequential()
# Then, define your model architecture
with net.name_scope():
    net.add(gluon.nn.Dense(128, activation="relu")) # 最初のレイヤー - 128 ノード
    net.add(gluon.nn.Dense(64, activation="relu")) # 2 番目のレイヤー – 64 ノード
    net.add(gluon.nn.Dense(num_outputs)) # Output layer

次の図に、ニュートラルネットワークの構造を示します。

詳細については、こちらのウォークスルーに移動して、Gluon ニュートラルネットワーク構成要素を使って multilayer perceptron (MLP) と呼ばれるシンプルなニュートラルネットワークを作成する方法を参照してください。より高度なユースケース向けに、ニュートラルネットワークのパーツをゼロから作成することも簡単です。Gluon では、ニュートラルネットワークで定義済みのカスタムコンポーネントを組み合わせて利用することができます。

(more…)

AWS のディープラーニング

私のようなタイプの人であれば、人工知能 (AI) や機械学習 (ML)、ディープラーニングは実に興味深く胸を躍らせるトピックではないかと思います。AI、ML、ディープラーニングが今まで以上に幅広く利用されるようになるに連れ、Dr. Issac Asimov 氏がサイエンスフィクションで描いた「スター・ウォーズ」に出てくるようなロボット工学そして医学の進歩、さらには「スタートレック」のキャプテンカークやそのクルーに「誰も行ったことのない場所へ、勇敢に突き進もう (to boldly go where no man has gone before)」と言わせたテクノロジーが実際に可能になるのではないかと思わずにいられません。

 

前述のトピックに興味がある人にとって、画像や動画を複数のカテゴリに区別する畳み込みニューラルネットワーク (Convolutional Neural Networks) や、音声認識、自然言語によるインターフェース、推奨エンジンなど、ディープラーニングにより可能となる AI や ML のソリューションには馴染みが深いのではないかと思います。けれども、データサイエンティスト、機械学習の利用者、リサーチサイエンティスト、ディープラーニングに興味を持つ熱心なユーザー達がこうしたテクノロジーに携わりインフラストラクチャや環境、ツールを設定する作業は必ずしも簡単ではありません。多くの開発者はディープラーニング技術を使用して、ディープラーニングをトレーニングモデルそしてソリューション開発に早く繋げていきたいと考えています。こうした理由から、経験豊富なデータサイエンティストであれ、今から始めたいと思っている興味津々の開発者まで、速くディープラーニングのソリューションを構築したいと思っている方々に向けて、いくつかのリソースをご提供したいと思います。

ディープラーニングのリソース
Apache MXNet は Amazon が選んだディープラーニングのフレームワークです。Apache MXNet フレームワークと NVIDIA GPU コンピューティングを組み合わせれば、スケーラブルなディープラーニングプロジェクトとソリューションを簡単に AWS クラウドで開始できます。MxNet のディープラーニングの旅を始める方々を対象に、様々なセルフサービス形式のチュートリアルやデータセットが今すぐ利用できるようになっています。

  • AWS ディープラーニング AMI の起動: このガイドでは、Ubuntu で AWS ディープラーニング AMI を起動する手順を説明しています。
  • MXNet – コンピュータビジョンのアプリケーションを作成: この実践的なチュートリアルは構築済みのノートブックを使用してニューラルネットワークの利用でコンピュータビジョンを構築し、手書きの数字を識別する方法を説明します。
  • AWS 機械学習のデータセット: AWS は AWS Marketplace で機械学習のデータセットを無料で提供しています。こうした大規模なデータセットはダウンロードまたは保存の必要がなく、データを分析したい誰もが使用できます。
  • 予測と抽出 – 予測に事前トレーニング済みのモデルを使用する方法: この実践的チュートリアルは Imagenet のフルデータセットを使用して、予測と機能抽出に事前トレーニング済みのモデルを利用する方法を説明します。

 

AWS ディープラーニング AMI
AWS はディープラーニングを始める上で必要なインフラストラクチャを素早くデプロイメントするため、Amazon EC2 で Amazon マシンイメージ (AMI) を提供しています。AWS ディープラーニング AMI には、AI を対象としたソリューションやモデルで起動できる Amazon Linux や Ubuntu で Amazon EC2 インスタンスを使用して構築された人気のディープラーニングフレームワークが事前設定されています。ディープラーニング AMI でサポートされ事前設定されているディープラーニングフレームワーク:

  • Apache MXNet
  • TensorFlow
  • Microsoft Cognitive Toolkit (CNTK)
  • Caffe
  • Caffe2
  • Theano
  • Torch
  • Keras

また、AWS ディープラーニング AMI のインストール事前設定ライブラリで Jupyter notebooks の Python 2.7/3.4、AWS SDK for Python、その他のデータサイエンス関連の python パッケージや依存関係を対象にしたものも含まれます。AMI には、NVIDIA CUDA と NVIDIA CUDA Deep Neural Network (cuDNN) ライブラリやサポートされているディープラーニングフレームワークすべても事前にインストールされています。Apache MXNet フレームワークには Intel Math Kernel ライブラリがインストールされています。いずれのディープラーニング AMI を開始するには「ディープラーニング AMI のリンク (Try the Deep Learning AMIs link)」を使用して AWS Marketplace にアクセスしてください。概要 ディープラーニングを始めるには今が絶好のタイミングです。AWS クラウドで実行する AWS ディープラーニングを使用することでディープラーニングの作業を早めることができます。そうすることで素早くディープラーニング環境をスタートさせたり「AWS セルフサービス形式のリソース (AWS self-service resources)」を使用して MXNet を使用する AWS でディープラーニングを学び始めることができます。もちろん、AWS でディープラーニング機械学習人工知能に関するより詳しい情報を学ぶこともできます。「AWS ディープラーニングのページ ( AWS Deep Learning page)」、「Amazon AI の製品ページ (Amazon AI product page)」、「AWS AI ブログ (AWS AI Blog)」をご覧ください。
goディープラーニングフォースの力が共にありますように (May the Deep Learning Force be with you all)。

Tara