nbsp;
目次
1.MXNetとは?
2.MXNetの歴史は?
3.MXNetの強み
1.MXNetとは?
MXNet(エムエックスネット)とは、オープンソフトウェアライブラリの一つで、「効率性」と「柔軟性」を兼ね備えた「スケーラビリティー」のあるディープラーニングフレームワークです。
主にニューラルネットワークの計算および学習を行うための深層学習(ディープラーニング)分野で活用されています。
最先端のディープラーニング技術「畳み込みニューラルネットワーク(CNN)」「リカレント」「長短期メモリネットワーク(LSTM)」などをサポートします。MXNetに含まれるGluonインターフェイスのおかげで、開発者は自身のスキルレベルにかかわらず、クラウド環境からモバイルデバイスまでの幅広いデバイスに対応し、深層学習の定義/トレーニング/展開が可能です。
MXNetはオープンソース(Apache License 2.0)で公開されています。
参考:https://opensource.org/licenses/Apache-2.0
2.MXNetの歴史は?
MXNetは、cxxnet、minerva、およびpurine2開発者のコラボレーションの基、DMLCチームによって開発されました。2016年11月、AmazonがMXNetの公式サポートを公表し、2017年02月、MXNetが「Apache Incubator」に認定されました。まだ最近開発されたライブラリのため今後どのように進化していくのかが期待されます。
3.MXNetの強み
MXNetの主な強みは
1.GLUON による使いやすさ
2.スケーラブルな優れたパフォーマンス
3.ポータブルのIOT およびエッジ向け
4.言語の柔軟性と選択肢
が挙げられます。詳しくは下記でご紹介します。
1.GLUON による使いやすさ
MXNetに含まれるGluonインターフェイスのおかげで、開発者は自身のスキルレベルにかかわらず、クラウド環境からモバイルデバイスまでの幅広いデバイスに対応し、深層学習の定義/トレーニング/展開が可能です。
2.スケーラブルな優れたパフォーマンス
深層学習を複数のGPUに分散させることで、非常に巨大なプロジェクトを短時間で処理できます。スケーリングもクラスター内の GPU 数に応じて自動的に実行されます。また、開発者はサーバーレスかつバッチベースの推測を実行することで、時間を節約して生産性を向上させることができます。
3.ポータブルのIOT およびエッジ向け
MXNetはメモリ効率が高いため、ポータブルデバイスや、複数のGPU・マシンに効果的に拡張することができます。クラウド内での複数GPUでのトレーニングや複雑なモデルの開発、さらにはRaspberry Pi、スマートフォン、ラップトップなどマシンパワーの低いエッジデバイスで実行できます。リモートでデータのリアルタイム処理が可能な、軽量なニューラルネットワークモデルも開発することが可能です。
4.言語の柔軟性と選択肢
MXNetでは、C++、JavaScript、Python、R、Matlab、Julia、Scala、Clojure、Perl といったプログラミング言語が幅広くサポートされているため、自分のすでに知っている言語で開始することができます。ただし、バックエンドではすべてのコードが C++ にコンパイルされるため、モデル構築に使用された言語にかかわりなく最大限のパフォーマンスを発揮できます。
そんなMXNetは以下のような用途での利用が可能です。
●顔認識
●音声認識
●被写体認識
●画像検索
●線画自動着色
●自然言語処理
引き続き、MXNetの環境構築方法、チュートリアルなどMXNetwの実践的な内容をご紹介する予定です。