ディープラーニング

事前学習済みモデルの取得

ディープラーニング モデルをゼロから作成するのではなく、事前学習済みモデルを取得してタスクに直接適用したり、適応させたりできます。

MATLAB モデル

MATLAB Deep Learning Model Hub から、カテゴリごとの最新モデルにアクセスし、モデル選択時のヒントを確認します。

ほとんどのモデルは、コマンドラインで読み込みます。以下はその例です。

 net = darknet19;

オープンソースモデル

インポート関数 を使用して TensorFlow™、PyTorch®、ONNX™ モデルを MATLAB ネットワークに変換します。以下はその例です。

 net = importTensorFlowNetwork("EfficientNetV2L") 

事前学習済みモデルの適用

事前学習済みモデルを、画像分類、コンピューター ビジョン、音声処理、LiDAR 処理、その他のディープラーニング ワークフローに適用します。

  • 適切な事前学習済みモデルを検索し、タスクに直接適用します。
  • 事前学習済みモデルを新しいタスクやデータセットに適応させることで、転移学習を実行します。モデルを更新したり再学習させたりする方が、ゼロから作成するよりも速く、簡単です。
  • 層の活性化状態を特徴として使用することで、事前学習済みモデルを特徴抽出器として使用します。そしてその特徴をサポート ベクター マシン (SVM) など別の機械学習モデルの学習に使用します。
  • 事前学習済みモデルを別のタイプのモデルの基礎として使用します。たとえば、畳み込みニューラル ネットワークをオブジェクト検出やセマンティック セグメンテーション モデルを作成するための出発点として使用します。

画像分類

画像分類タスクには、NASNet-MobileEfficientNet などの畳み込みニューラル ネットワーク (CNN) を使用します。大半の CNN は、ImageNet データベースを使用して学習を行っています。

コンピュータビジョン

オブジェクト検出 (YOLO)、セマンティック/インスタンス セグメンテーション (AdaptSeg/MASK R-CNN)、動画分類 (SlowFast) を使用して画像と動画を解析します。

音声処理

YAMNet で音を特定および分類し、CREPE でピッチを推定して、VGGishOpenL3 で特徴の埋め込みを抽出します。

LiDAR

分類 (PointNet)、オブジェクト検出 (PointPillars)、セマンティック セグメンテーション (PointSeg) を使用して点群データを解析します。

自然言語処理 (NLP)

大規模言語モデル (LLM) の自然言語機能を活用します。LLM を使用するには、MATLAB を OpenAI™ Chat Completions API に接続するか、組み込みモデル (BERT) を読み込みます。

モデル選択時のヒント

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

速度

まず、SqueezeNetGoogleNet などの高速なモデルを選択します。そのうえで、迅速に反復実行し、さまざまな前処理や学習のオプションを試します。

精度

適切に機能する設定がわかったら、Inception-v3ResNet-50 などのさらに精度が高いモデルを試し、結果が改善されるかどうかを確認します。

サイズ

Raspberry Pi® や FPGA などのエッジデバイスに展開する際は、SqueezeNetMobileNet-v2 などのメモリフットプリントが低いモデルを選択します。

製品

ディープラーニング モデルで使用する製品をご紹介します。