ディープラーニング

事前学習済みのディープラーニング モデル

ディープラーニングの研究コミュニティが開発したモデルアーキテクチャを活用します。広く利用されているモデルは、ロバストなアーキテクチャを備えているため、ゼロから始める必要はありません。

モデル選択時のヒント

事前学習済みの数多くのモデルから選択できます。各モデルには次のトレードオフがあります。

  • サイズ: モデルに必要なメモリ容量 
    モデルの保存場所によって、検討する必要のあるネットワークサイズが決まります。
    低メモリシステムに展開する場合は、このタスク専用に設計されたモデルを選択してください。 
    エッジ実装向けモデルを見る
  • 精度: 再学習前のモデルの性能
    一般的に、ImageNet データセットに対してモデルが良好に機能する場合、そのモデルは情報量の多い特徴を学習しており、未知の類似タスクでも優れた性能を発揮する可能性があることを意味します。 
    高精度モデルを見る
  • 予測速度: モデルによる未知の画像の予測速度
    予測速度は、ハードウェアやバッチサイズなどの多くの要因によって異なりますが、速度は選択したモデルのアーキテクチャやモデルのサイズによっても異なります。
    シンプルなモデルから始めて、予測速度を比較します。

以降のセクションで、モデル間のトレードオフを検討します。

任意のモデルを MATLAB にインポートする場合の構造は次のとおりです。

 >> net = networkname 

 >> net = alexnet >> net = resnet50 

モデルをまだダウンロードしていない場合は、MATLAB にモデルをダウンロードするためのリンクが表示されます。

シンプルなモデルで始める

以下のモデルで素早く繰り返し処理を行い、データの前処理ステップや学習オプションなどのさまざまな設定を試すことができます。適切に機能する設定が分かったら、さらに精度が高いネットワークで試し、結果が改善されるかどうかを確認します。

使用例を見る:

より精度の高いモデル

画像分類、オブジェクト検出、セマンティック セグメンテーションなど、画像ベースのワークフローに高い効果を発揮するモデルを探します。

オブジェクト検出ワークフロー:

DarkNet-19、DarkNet-53、ResNet-50 は、オブジェクト検出の問題や YOLO ワークフローの基礎としてよく使用されます。Yolov2Yolov3 を使用したオブジェクト検出の例をご覧ください。

セマンティック セグメンテーション ワークフロー:

セマンティック セグメンテーション ネットワークの学習の便利な開始点として、任意の事前定義済みネットワーク アーキテクチャを使用します。セマンティック セグメンテーション問題には、一般的に以下の層アーキテクチャが使用されます。

  • segnetLayers
  • unetLayers
  • unet3dLayers
  • DeepLab v3+

Deeplab v3+ を使用したセマンティック セグメンテーション ネットワークの作成の詳細については、こちらをご覧ください。

エッジ実装向けモデル

Raspberry Pi や FPGA など、低計算および低電力のデバイスに展開します。これには、メモリフットプリントが低いモデルが必要です。

関連トピックを見る:

使用例を見る:

他のフレームワークのモデル

他のフレームワークのモデルをお探しですか。任意のネットワークを MATLAB にインポートするには、ONNX、TensorFlow-Keras、Caffe のインポーターを使用します。

使用例を見る:

層がサポート対象外の場合

事前学習済みの Keras 層をインポートし、サポート対象外の層をカスタム層に置き換える方法をご確認ください。

MATLAB で利用可能なモデルの完全なリスト

ディープラーニングの新しいモデルと例