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) ネットワークを作成および学習します。
ネットワーク構造
シリーズ、有向非循環グラフ (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 にモデルをインポートします。
学習の高速化
GPU、クラウド、分散コンピューティングにより、ディープラーニング学習を高速化します。
GPU 高速化
高性能 NVIDIA® GPUによりディープラーニング学習と推論を加速します。単一のワークステーション GPU で学習を実行することや、データセンターまたはクラウド上の DGX システムで複数の GPU に拡大することができます。Parallel Computing Toolbox と、Compute capability 3.0 以上でCUDAに対応したNVIDIA GPUと一緒に、MATLAB を使用できます。
クラウドでの高速化
クラウド インスタンスでディープ ラーニングを高速化します。最良の結果を得るには、高性能 GPU インスタンスを使用します。
分散コンピューティング
MATLAB Distributed Computing 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® パッケージとして展開します。また、展開済みのアプリケーションまたはコンポーネント内で浅いネットワーク モデルを学習させることも可能です。
浅いニューラル ネットワーク
教師ありと教師なしのさまざまな浅いネットワーク アーキテクチャで、ニューラル ネットワークを使用します。
教師なしネットワーク
データ内の関係を見つけ、浅いネットワークを入力に絶えず適応させることによって、分類スキームを自動的に定義します。自己組織化された、教師なしネットワーク、競合層、および自己組織化マップを使用します。
積層オートエンコーダー
オートエンコーダーを使用して、データセットから低次元の特徴量を抽出することで、教師なしの特徴量変換を実行します。また、複数のエンコーダーを学習させ、積層化することにより、教師あり学習にスタックされたオートエンコーダーを使用することもできます。
新機能
ディープ ネットワーク デザイナー
ディープラーニング ネットワークの編集および構築
ONNX のサポート
他のディープラーニング フレームワークとの相互運用性のための ONNX モデル形式を使用したモデルのインポートおよびエクスポート
ネットワーク アナライザー
学習前のネットワーク アーキテクチャの問題の可視化、解析および発見
TensorFlow-Keras
TensorFlow-Keras からの LSTM 層と BiLSTM 層のインポート
長期短期記憶 (LSTM) ネットワーク
LSTM ネットワークの回帰問題を解き、双方向 LSTM 層を使用して完全な配列関係から学習
ディープラーニングの最適化
Adam、RMSProp および勾配クリッピングによるネットワーク学習の向上
これらの機能および対応する機能の詳細については、 リリースノートを参照してください。
MATLAB によるディープラーニング
ディープラーニング ネットワークの設計、構築、可視化
ご質問はこちらへ
Deep Learning Toolbox の技術エキスパートである Shounak Mitra へのお問い合わせ