Deep Learning Toolbox

ディープラーニングのネットワークの作成、分析、学習

 

Deep Learning Toolbox™ (以前の Neural Network Toolbox™) は、ディープ ニューラル ネットワークの設計と実装のためのフレームワークに、アルゴリズム、学習済みモデル、およびアプリを提供します。畳み込みニューラル ネットワーク (ConvNets、CNN) および長期短期記憶 (LSTM) ネットワークを使用して、画像、時系列、およびテキストデータの分類および回帰を実行できます。カスタムのトレーニングループ、重みの共有、自動微分を使用して、敵対的生成ネットワーク (GAN) や Siamese ネットワークのような高度なネットワーク アーキテクチャを構築できます。アプリとプロットは、アクティベーションの可視化、ネットワーク アーキテクチャの編集と分析、トレーニングの進行状況の監視に役立ちます。

ONNX フォーマットを使用して TensorFlow™ および PyTorch とモデルを行き来させたり、TensorFlow-Keras および Caffe からモデルをインポートできます。ツールボックスは、DarkNet-53、ResNet-50、NASNet、SqueezeNet やその他多くの事前学習済みのモデルにより転移学習をサポートします。

Parallel Computing Toolbox™ を利用して、単一のまたは複数の GPU を持つワークステーションで学習速度を向上し、MATLAB Parallel ServerTM を利用して、NVIDIA® GPU Cloud および Amazon EC2® GPU インスタンスを含むクラスターやクラウドに拡張できます。

詳細を見る:

ネットワークおよびアーキテクチャ

Deep Learning Toolbox を使用して、画像、時系列、テキストデータの分類、回帰、および特徴抽出のためのディープラーニング ネットワークを学習させます。

畳み込みニューラル ネットワーク

オブジェクト、顔、シーンを認識するために画像のパータンを学習します。特徴抽出や画像認識を行うために畳み込みニューラル ネットワーク (CNN) を構築し、学習させます。

長期短期記憶ネットワーク

信号、オーディオ、テキスト、およびその他の時系列データを含むシーケンスデータの長期依存性を学習します。分類と回帰を行うために長期短期記憶 (LSTM) ネットワークを作成および学習します。 

LSTM の操作

ネットワーク構造

有向非循環グラフ (DAG)、リカレントアーキテクチャなどを含む、さまざまなネットワーク構造を使用して、ディープラーニング ネットワークを構築します。カスタムのトレーニングループ、重みの共有、自動微分を使用して、敵対的生成ネットワーク (GAN) や Siamese ネットワークのような高度なネットワーク アーキテクチャを構築します。

異なるネットワーク アーキテクチャの操作

ネットワークの設計と解析

インタラクティブなアプリを使って、ディープラーニング ネットワークを作成、編集、可視化、分析します。 

ディープラーニング ネットワークの設計

ディープ ネットワーク デザイナー アプリを使用して、ディープネットワークを新規作成します。パラメーター事前学習済みのモデルをインポートし、ネットワーク構造を可視化し、レイヤーを編集し、パラメーターを調整します。 

ディープラーニング ネットワークの解析

ネットワーク アーキテクチャを分析して、学習前にエラー、警告、およびレイヤー互換性の問題を検出し、デバッグします。ネットワークトポロジを可視化し、学習可能なパラメーターやアクティベーションなどの詳細を表示します。

ディープラーニング ネットワーク アーキテクチャの解析

Manage Deep Learning Experiments

Manage multiple deep learning experiments with the Experiment Manager app. Keep track of training parameters, analyze results, and compare code from different experiments. Use visualization tools such as training plots and confusion matrices, sort and filter experiment results, and define custom metrics to evaluate trained models.

Design and run experiments to train and compare deep learning networks.

転移学習モデルと事前学習済みのモデル

推定のために事前学習済みのモデルを MATLAB にインポートします。 

転移学習

学習済みのネットワークにアクセスし、これを出発点として新しいタスクを学習し、またより少数の学習用画像を使って学習済みの特徴を新しいタスクに素早く転移できます。

事前学習済みモデル

1 行のコードで最新の事前学習済みのネットワークにアクセスします。Inception-v3、SqueezeNet、NASNet、および GoogLeNet を含む事前学習済みモデルをインポートします。

ディープ ニューラル ネットワーク モデルの解析

可視化とデバッグ

ディープラーニング ネットワークにおいて、学習進行状況、学習した特徴のアクティベーションを可視化します。

学習進行状況

さまざまなメトリクスのプロットで、反復のたびに学習進行状況を表示します。検証メトリックを学習メトリクスに対してプロットして、ネットワークが過適合していないか視覚的に確認します。

モデルの学習進捗状況の監視

ネットワーク アクティベーション

特定の層に対応するアクティベーションを抽出し、学習された特徴を可視化したり、アクティベーションを使用して機械学習分類器を学習させたりします。Grad-CAM アプローチを使用して、ディープラーニング ネットワークがどのように分類決定を行うかを理解します。

アクティベーションの可視化

フレームワークの相互運用性

MATLAB のディープラーニング フレームワークとの相互運用。

ONNX コンバーター

他のディープラーニング フレームワークとの相互運用性のために、MATLAB® 内で ONNX モデルをインポートおよびエクスポートします。ONNXは、あるフレームワークで学習されたモデルを、推論のために他のフレームワークに転移することを可能にします。GPU Coder™ を使用して、最適化された CUDA コードを生成し、MATLAB Coder™ を使用してインポーターモデルの C++ コードを生成します。

ディープラーニング フレームワークとの相互運用

TensorFlow-Keras インポーター

推論と転移学習のために、TensorFlow-Keras から MATLAB にモデルをインポートします。GPU Coder を使用して、最適化された CUDA コードを生成し、MATLAB Coder を使用してインポーターモデルの C++ コードを生成します。

Caffe インポーター

推論と転移学習のために、Caffe Model Zoo から MATLAB にモデルをインポートします。

Caffe Model Zoo から MATLAB へのモデルのインポート

学習の加速

GPU、クラウド、分散コンピューティングにより、ディープラーニング学習を加速します。 

GPU での高速化

高性能の NVIDIA GPU によりディープラーニング学習と推論を加速します。単一のワークステーション GPU で学習を実行したり、データセンターまたはクラウド上の DGX システムで複数の GPU に拡張したりすることができます。3.0 以上の計算能力を持つ CUDA® 対応のNVIDIA GPUのほとんどををMATLABとParallel Computing Toolbox で使用できます。

GPU による高速化

クラウドでの高速化

クラウドインスタンスでディープラーニングに必要な学習時間を短縮します。最良の結果を得るには、高性能 GPU インスタンスを使用します。

Parallel Computing Toolbox および MATLAB Parallel Server を使用してクラウドでの学習を高速化します。

分散コンピューティング

MATLAB Parallel Server を使用し、ネットワークで接続した複数のコンピューターの複数のプロセッサでディープラーニング学習を実行できます。

クラウドで並列ディープラーニングのスケールアップ

コードの生成と展開

学習させたネットワークを組み込みシステムに配布するか、または幅広い生産環境と統合します。

コードの生成

GPU Coder を使用して、ディープラーニング、組み込みビジョン、および自律システムのための最適化された CUDA コードをMATLAB コードから生成します。MATLAB Coder を使用して C++ コードを生成し、ディープラーニング ネットワークを Intel® Xeon® および ARM® Cortex®-A プロセッサに展開します。

スタンドアロン アプリケーションの展開

MATLAB Compiler™ および MATLAB Compiler SDK™ を使用して、ディープラーニングモデルを備えた MATLAB プログラムから、学習済みのネットワークを、C++ 共有ライブラリ、Microsoft® .NET アセンブリ、Java® クラス、Python® パッケージとして展開します。

MATLAB Compiler を使用したスタンドアロン MATLAB プログラムの共有

浅いニューラル ネットワーク

教師ありと教師なしのさまざまな浅いネットワーク アーキテクチャで、ニューラル ネットワークを使用します。

教師ありネットワーク

動的システムをモデル化および制御し、ノイズの多いデータを分類し、将来のイベントを予測するために、教師ありの浅いニューラル ネットワークを学習させます。 

浅いニューラル ネットワーク

教師なしネットワーク

データ内の関係を見つけ、浅いネットワークを新しい入力に絶えず適応させることによって、分類スキームを自動的に定義します。自己組織化された教師なしネットワークと、競合層、自己組織化マップを使用します。

自己組織化マップ

スタックされたオートエンコーダー

オートエンコーダーを使用して、データセットから低次元の特徴量を抽出することで、教師なしの特徴量変換を実行します。また、複数のエンコーダーを学習させ、スタックすることにより、スタックされたオートエンコーダーを教師あり学習に使用することもできます。

スタックされたオートエンコーダー

新機能

実験マネージャーアプリ

複数のディープラーニング実験を管理して、学習パラメーターを追跡し、結果とコードを解析して比較

ディープ ネットワーク デザイナ アプリ

画像分類のためのネットワークを対話的に学習し、学習用 MATLAB コードを生成、学習済みモデルにアクセス

カスタム学習ループ

複数のの入出力や、3-D CNN層を持つネットワークを学習

ディープラーニングを用いた解析例

注意機構 (Attention)を使用して画像キャプション ネットワークを学習し、データ ラベルと属性を使用して条件付き GAN を学習

学習済みネットワーク

DarkNet-19 および DarkNet-53 を用いた転移学習の実行

ONNX のサポート

ONNX モデルコンバーターを用いて複数入出力のネットワークをインポート

学習の柔軟性

カスタムの学習ループ用にカスタム レイヤーbackward関数を指定

これらの機能やそれに対応する機能の詳細については、リリースノートをご覧ください。

MATLAB for Deep Learning

With just a few lines of MATLAB code, you can apply deep learning techniques to your work whether you’re designing algorithms, preparing and labeling data, or generating code and deploying to embedded systems.