MXNet(エムエックスネット)とは、「効率」と「柔軟性」を両立したディープラーニングフレームワークです。AWSが公式サポートを表明したことで大きな注目を集めています。
MXNetはフル機能のディープラーニングフレームワークです。「柔軟」「スケーラブル」「効率性」などを特徴とします。
最先端のディープラーニング技術「畳み込みニューラルネットワーク(CNN)」「長短期メモリネットワーク(LSTM)」などをサポートします。
クラウド環境からモバイルデバイスまでの幅広いデバイスに対応し、ディープニューラルネットワークの定義/トレーニング/展開が可能です。
MXNetは、当初、ワシントン大学とカーネギーメロン大学によって、「畳み込みニューラルネットワーク(CNN)」と「長短期メモリネットワーク(LSTM)」をサポートするために開発が始まりました。
・2016年11月、AWSがMXNetの公式サポートを表明
・2017年02月、MXNetが「Apache Incubator」に認定
→MXNet(MXNet: A Scalable Deep Learning Framework)
MXNetのライセンスは「Apache License 2.0」です。
詳細について、こちらを参照ください。
→GitHub →apache/incubator-mxnet →LICENSE
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「TensorFlow」「Chainer」「Caffe」「Theano」など。
MXNetは、以下のように広範なディープラーニングモデルをサポートしています。
・CNN(畳み込みニューラルネットワーク)
・LSTM(長短期メモリネットワーク)
・RCNN(物体検出アルゴリズム)
・Deep Q Network(強化学習手法「Q-learning」+ディープニューラルネット)
適応範囲は、「画像認識」「自然言語処理」「レコメンド生成」など幅広い用途で利用されています。
MXNetは、コンピュータリソースを追加すればするだけ処理能力が向上する設計になっています。
「リソースを追加するだけ」で処理能力を高められる点に期待が集まっています。
バックエンドエンジンはC++で実装されており、「I/O」と「計算処理」の両方が並列処理されます。使用されているプログラミング言語にかかわらず最適なパフォーマンスを発揮できます。
MXNetは多くの言語をサポートしています。
・Python
・C++
・R
・Scala
・Java
・Julia
・Matlab
・JavaScript
MXNetでは、どのように計算するかを指示する「命令的プログラム」と、どうなるべきかを定義する「宣言的プログラム」を併用できます。これは、主要ディープラーニングフレームワークの中ではMXNetだけが持っている特徴で、効率性と生産性を向上できます。
MXNetは「命令的プログラム」と「宣言的プログラム」の両方を自動的に並列処理します。
MXNetは、さまざまなデバイス/プラットフォームに対応しています。スマートフォンに対しても対応できます。
・CPUベース
・GPUベース
・クラスタ環境
・サーバ環境
・デスクトップPC環境
・スマートフォン(Android、iOS)
対応OSは次の通りです。
・Ubuntu/Debian
・MacOS
・Windows
メモリ効率にも優れていて、1000層の深いネットワークでも、4GB程度のメモリしか消費しません。
コード付きのサンプルチュートリアルが用意されています。
「画像分類」「言語モデリング」「ニューラルアート」「音声認識」などについて参照できます。
Apache MXNet Communityは、3月1日、 深層学習フレームワーク「Apache MXNet(incubating) 1.1.0」を公開した。 【Apache MXNetとは】 AWSが公式サポートしたディープラーニングフレームワーク https://www.ossnews.jp/oss_info/MXNet 【1.1.0のポイント】 ・GPU/CPU上の性能を...
OSS×Cloud ACCESS RANKING