Deep Learning Toolbox

 

Deep Learning Toolbox

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

 

Deep Learning Toolbox™ (以前の  Neural Network Toolbox™) は、ディープニューラルネットワークの設計と実装のための、アルゴリズム、学習済みモデル、およびアプリを備えたフレームワークを提供します。畳み込みニューラル ネットワーク (ConvNets、CNN) および長短期記憶 (LSTM) ネットワークを使用して、画像、時系列、およびテキストデータの分類および回帰を実行できます。 アプリは、活性化 の可視化、ネットワーク アーキテクチャの編集、トレーニングの進行状況の監視に役立ちます。

小さい学習セットの場合、学習済みのディープ ネットワーク モデル (SqueezeNet、Inception-v3、ResNet-101、GoogLeNet、VGG-19 を含む)、および TensorFlow™-Keras と Caffe からインポートされたモデルで転移学習を実行することができます。

大規模なデータセットの場合、Parallel Computing Toolbox™ を使用してデスクトップ上のマルチコア プロセッサと GPU に計算やデータを分散させたり、MATLAB Distributed Computing Server™ を使用して、Amazon EC2® P2、P3、および G3 GPU インスタンスなどのクラスターやクラウドにスケールアップして学習速度を向上させることができます。

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

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

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

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

長短期記憶ネットワーク

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

LSTM の操作。

ネットワーク構造

シリーズ、有向非循環グラフ (DAG)、再帰的アーキテクチャなどのさまざまなネットワーク構造を使用して、ディープラーニング ネットワークを構築します。DAG アーキテクチャは、層をスキップさせた構造や並列に接続された層を含む、より多くのネットワーク トポロジを提供します。 

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

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

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

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

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

ディープラーニング 無駄に空白が大きい
ネットワークの解析

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

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

転移学習および事前学習済みのモデル

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

転移学習

転移学習はディープラーニングの適用分野でよく使われます。学習済みのネットワークにアクセスし、より少数の学習用画像を使った、新しいタスクの学習と学習済みの特徴を高速に転移させるための出発点として使用します。

事前学習済みモデル

1 行のコードで研究分野の 最新モデルにアクセスします。AlexNet、GoogLeNet、VGG-16、VGG-19、ResNet-101、Inception-v3、SqueezeNet などの事前学習済みモデルをインポートします。モデルの一覧については、事前学習済みモデルを参照してください。 

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

可視化

ディープラーニング ネットワークにおいて、ネットワーク 無駄に空白が大きいトポロジ、学習進行状況、学習した特徴の活性化を可視化します。

ネットワークの可視化

層と接続を使用してネットワークトポロジを可視化します。ネットワーク アーキテクチャをインタラクティブに分析するには、 analyzeNetwork 関数を使用します。
 

ディープラーニング ネットワーク アーキテクチャの可視化

学習進行状況

いくつかの指標をプロットすることで、各反復ごとの学習進行状況を評価します。ネットワークが過学習をしているかどうかの視覚的な分析には学習結果に対する検証結果をプロットします。 

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

ネットワークの活性化


層に対応する活性化の抽出、学習された特徴の可視化、および活性化を利用した機械学習分類器の学習を行います。ネットワーク層を強力に活性化する画像を合成し、学習した特徴を強調することによって、 関数  deepDreamImage を使用してネットワーク動作を理解し診断します。

活性化の可視化。

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

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

ONNX コンバーター

他のディープラーニング フレームワークとの相互運用性のための MATLAB®   での ONNX モデルのインポートおよびエクスポート。ONNXは、あるフレームワークで学習されたモデルを、推論のために他のフレームワークに転移することを可能にします。 

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

TensorFlow-Keras インポーター

importKerasNetwork 関数を使用して推論と転移学習のために TensorFlow-Keras から MATLAB にモデルをインポートします。 

Caffe インポーター

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

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

学習の高速化

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

GPU 高速化

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

GPU による高速化。

クラウドでの高速化

クラウド インスタンスでディープ ラーニングを高速化します。最良の結果を得るには、高性能 GPU インスタンスを使用します。 

Parallel Computing Toolbox と MATLAB Parallel Server のサポート。

分散コンピューティング

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

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

コードの生成と配布

学習済みネットワークを組み込みシステムに配布する、またはそれらを幅広い製品環境と統合します。

コード生成

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

MATLAB Compiler のサポート

MATLAB Compiler™ および MATLAB Compiler SDK™ を使用して、学習済みのネットワークを MATLAB プログラムからの C/C++ 共有ライブラリ、Microsoft® .NET アセンブリ、Java® クラス、Python® パッケージとして展開します。また、展開済みのアプリケーションまたはコンポーネント内で浅いネットワーク モデルを学習させることも可能です。

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

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

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

教師ありネットワーク

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

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

教師なしネットワーク

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

自己組織化マップ。

積層オートエンコーダー

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

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

新機能

3 次元ボリュームデータ

ディープラーニング ネットワークに 3 次元画像データを学習

Deep Network Designer

コンピューター ビジョン、信号、テキストの応用のためのネットワークを作成し、アプリから MATLAB コードを生成

再帰型ネットワーク

ビデオ分類やジェスチャー認識用に LSTM と畳み込み層を結合

ONNX のサポート

LSTM ネットワークと Computer Vision Toolbox モデルでの ONNX の使用

ディープラーニング レイヤー

複数入力または複数出力があるカスタムレイヤー、グループ化されチャネル単位畳み込みレイヤー、tanh と ELU のアクティベーション レイヤーの作成

これらの機能および対応する機能の詳細については、 リリースノートを参照してください。

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

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

ご質問はこちらへ

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

無料評価版を入手する

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

今すぐダウンロード

あなたは学生ですか?

MATLAB および Simulink のアカデミック版の入手

詳細を見る