Deep Learning Toolbox

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

 

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

ONNX フォーマットを使用して TensorFlow™ および PyTorch とモデルを行き来させたり、TensorFlow-Keras および Caffe からモデルをインポートできます。ツールボックスは、事前学習済みのモデル (NASNet、SqueezeNet、Inception-v3、ResNet-101 を含む) のライブラリにより転移学習をサポートします。

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

詳細を見る:

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

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

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

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

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

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

LSTM の操作

ネットワーク構造

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

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

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

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

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

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

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

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

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

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

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

転移学習

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

事前学習済みモデル

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

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

可視化とデバッグ

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

学習進行状況

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

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

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

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

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

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

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

ONNX コンバーター

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

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

TensorFlow-Keras インポーター

推論と転移学習のために、TensorFlow-Keras から MATLAB にモデルをインポートします。GPU Coder を使用して、最適化された CUDA コードを生成し、MATLAB Coder を使用してインポーターモデルの C および 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 および C++ コードを生成し、ディープラーニング ネットワークを Intel® Xeon® および ARM® Cortex®-A プロセッサに展開します。

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

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

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

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

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

教師ありネットワーク

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

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

教師なしネットワーク

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

自己組織化マップ

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

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

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

新機能

学習の柔軟性:

カスタムの学習ループ、自動微分、重みの共有、およびカスタム損失関数を使用して高度なネットワーク構造を学習

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

敵対的生成ネットワーク (GAN)、Siamese ネットワーク、変分オートエンコーダー、およびアテンション ネットワークを構築

データの前処理

複数データ正規化オプションを使用して学習性能を改善

可視化

オクルージョン感度を使用した、入力データの活性化された特徴のマッピング

多入力多出力ネットワーク

多入力と多出力でネットワークを学習

長期短期記憶 (LSTM) ネットワーク

中間レイヤーの活性化を演算

ONNX のサポート

CNN および LSTM レイヤーと 3D CNN レイヤーなどのネットワークを結合させるネットワークを ONNX フォーマットにエクスポート

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

MATLAB によるディープラーニング

ディープラーニング ネットワークの設計、構築、可視化

ご質問はこちらへ

Deep Learning Toolbox の技術エキスパートである Shounak Mitra へのお問い合わせ

無料評価版を入手する

30 日間の無料評価版はこちら

今すぐダウンロード

あなたは学生ですか?

MATLAB および Simulink 学生向けソフトウェアの入手

詳細を見る