主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

事前学習済みの深層ニュ,ラルネットワ,ク

自然イメージから強力で情報量の多い特徴を抽出するよう既に学習させてある事前学習済みのイメージ分類ネットワークを用意し,新しいタスクを学習させるための出発点として,そのネットワークを使用できます。事前学習済みのネットワ,クの大部分は,ImageNetデ,タベ,ス[1]のサブセットで学習しています。このデ、タベ、スはImageNet大规模视觉识别挑战赛(ILSVRC)[2]で使用されています。これらのネットワークは,100多万枚を超えるイメージで学習しており,イメージを1000個のオブジェクトカテゴリ(キーボード,マグカップ,鉛筆,多くの動物など)に分類できます。通常は,転移学習によって事前学習済みのネットワークを使用する方が,ネットワークにゼロから学習させるよりもはるかに簡単で時間がかかりません。

事前学習済みのネットワ,クは,次のタスクで使用できます。

目的 説明
分類

事前学習済みのネットワ,クを分類問題に直接適用します。新しいメジを分類するには,分类を使用します。事前学習済みのネットワクを分類に使用する方法を示す例にいては,GoogLeNetを使用したaapl . exeメを参照してください。

特徴抽出

層の活性化を特徴として使用することで,事前学習済みのネットワ,クを特徴抽出器として使用します。これらの活性化を,サポートベクターマシン(SVM)などの別の機械学習モデルの学習で特徴として使用できます。詳細にいては,特徴抽出を参照してください。例にいては,事前学習済みのネットワクを使用したメジの特徴の抽出を参照してください。

転移学習

大規模なデ,タセットで学習させたネットワ,クから層を取り出し,新しいデ,タセットで微調整します。詳細にいては,転移学習を参照してください。簡単な例にいては,転移学習入門を参照してください。他の事前学習済みのネットワ,クを試してみるには,新しいメジを分類するための深層学習ネットワクの学習を参照してください。

事前学習済みのネットワ,クの比較

事前学習済みのネットワークには,問題に適用するネットワークを選択する際に重要になるさまざまな特性があります。最も重要な特性は,ネットワ,クの精度,速度,およびサ。ネットワ,クの選択には、通常、これらの特性の間のトレードオフが生じます。以下のプロットを使用して、ネットワークを使用した予測に要する時間と ImageNet 検証精度を比較します。

ヒント

転移学習を始めるには,SqueezeNetやGoogLeNetなど,高速なネットワークのいずれかを選択してみてください。繰り返しを迅速に実行でき,データの前処理手順や学習オプションなどのさまざまな設定を試すことができます。適切に機能する設定の感触を得てから,Inception-v3やResNetなどのより正確なネットワークを試し,結果が改善されるか確認します。

メモ

以上のプロットは,さまざまなネットワ,クの相対速度の指標のみを示しています。厳密な予測と学習の反復回数は,使用するハ,ドウェアとミニバッチサ,ズによって異なります。

精度が高く高速なものが優れたネットワ,クです。プロットには,最新のgpu (英伟达®特斯拉®128年P100)およびサイズがのミニバッチを使用した場合の,予測時間に対する分類精度が表示されています。予測時間は,最も高速なネットワ,クを基準にして測定されます。各マカの面積は,ディスク上でのネットワクのサズに比例します。

ImageNet検証セットでの分類精度は,ImageNetで学習させたネットワークの精度を測定する最も一般的な方法です。多くの場合,ImageNetにおいて正確なネットワークは,転移学習または特徴抽出を使用して他の自然イメージデータセットに適用した場合にも正確です。このような汎化が可能である理由として,これらのネットワークが自然イメージから強力で情報量の多い特徴を抽出するよう学習済みであり,それらの特徴が他の類似データセットに汎化される点が挙げられます。ただし,ImageNetでの高い精度は,必ずしも他のタスクにそのまま移行されないため,複数のネットワークを試すことをお勧めします。

制約のあるハードウェアを使用して予測を実行する場合やインターネットを介してネットワークを分散させる場合は,ディスクやメモリ上でのネットワークのサイズも考慮してください。

ネットワ,クの精度

ImageNet検証セットでの分類精度を計算するには複数の方法があり,ソースによって異なる方法が使用されます。複数モデルのアンサンブルを使用する場合もあれば,複数のトリミングを使用して各イメージを複数回評価する場合もあります。場合によっては,標準的な(最上位の)精度ではなく,上位5の精度を見積もります。このような違いがあるため,異なるソ,スでの精度を直接比較することができないことがよくあります。深度学习工具箱™ の事前学習済みネットワークの精度は、単一モデルとイメージの中心での単一のトリミングを使用した、標準的な (最上位の) 精度です。

事前学習済みのネットワ,クの読み込み

SqueezeNetネットワ,クを読み込むには,コマンドラ,ンでsqueezenetと入力します。

网=挤压网;

その他のネットワクにいては,googlenetなどの関数を使用すると,アドオンエクスプローラーから事前学習済みのネットワークをダウンロードするためのリンクを取得できます。

次の表に,ImageNetで学習させた利用可能な事前学習済みのネットワークとそれらのプロパティの一部を示します。ネットワークの深さは,入力層から出力層までのパスにある逐次畳み込み層または全結合層の最大数として定義されます。すべてのネットワクの入力はRGBメジです。

ネットワ,ク 深さ サereplicationズ パラメ、タ、数(100万個単位) @ @ @ @ @ @ @ @ @ @ @ @ @ @
squeezenet 18

5.2 MB

1.24

227年- 227年

googlenet 22

27 MB

7.0

224年- 224年

inceptionv3 48

89 MB

23.9

299年- 299年

densenet201 201

77 MB

20.0

224年- 224年

mobilenetv2 53

13 MB

3.5

224年- 224年

resnet18 18

44 MB

11.7

224年- 224年

resnet50 50

96 MB

25.6

224年- 224年

resnet101 101

167 MB

44.6

224年- 224年

xception 71

85 MB

22.9 299年- 299年
inceptionresnetv2 164

209 MB

55.9

299年- 299年

shufflenet 50 5.4 MB 1.4 224年- 224年
nasnetmobile 20 MB 5.3 224年- 224年
nasnetlarge 332 MB 88.9 331年- 331年
darknet19 19 78 MB 20.8 256 * 256
darknet53 53 155 MB 41.6 256 * 256
efficientnetb0 82 20 MB 5.3

224年- 224年

alexnet 8

227 MB

61.0

227年- 227年

vgg16 16

515 MB

138

224年- 224年

vgg19 19

535 MB

144

224年- 224年

* NASNet-MobileネットワークおよびNASNet-Largeネットワークは,モジュールの線形シーケンスで構成されていません。

Places365で学習させたGoogLeNet

標準のGoogLeNetネットワークはImageNetデータセットで学習していますが,Places365データセット[3][4]で学習させたネットワ,クを読み込むこともできます。Places365で学習させたネットワークは,イメージを365個の異なる場所カテゴリ(野原,公園,滑走的路,ロビーなど)に分類します。Places365データセットで学習させた事前学習済みのGoogLeNetネットワークを読み込むには,googlenet(“重量”、“places365”)を使用します。転移学習を実行して新しいタスクを実行する場合、最も一般的な方法は、ImageNet データセットで事前学習させたネットワークを使用することです。新しいタスクがシーンの分類に似ている場合は、Places-365 で学習させたネットワークを使用すると精度を向上できることがあります。

特徴抽出

特徴抽出は,ネットワーク全体の学習に時間や手間をかけずに深層学習の能力を活用できる簡単で高速な方法です。これが必要とするものは学習イメージを一巡する1つのパスのみであるため,GPUがない場合,特に便利です。事前学習済みのネットワクから学習済みのメジの特徴を抽出し,fitcsvm(统计和机器学习工具箱)を使用するサポ,トベクタ,マシンなどの分類器の学習で特徴として使用できます。

新しいデ,タセットの規模が非常に小さい場合,特徴抽出を試みてください。抽出された特徴にいてシンプルな分類器に学習させるだけであるため,学習は高速です。また,学習するデータがほとんどないため,ネットワークの深い層を微調整しても精度が改善される可能性はあまりありません。

  • 使用するデータが元のデータと非常によく似ている場合は,ネットワークの深い部分で抽出された,より具体的な特徴が役に立つ可能性が高くなります。

  • 使用するデータが元のデータと大きく異なる場合,ネットワークの深い部分で抽出された特徴は,目的のタスクにあまり役立たない可能性があります。初期のネットワ、ク層から抽出された、より一般的な特徴に、いて最後の分類器の学習を試みてください。新しいデ,タセットの規模が大きい場合,ゼロからのネットワ,クの学習を試みることもできます。

ResNetsは多くの場合に適切な特徴抽出器です。事前学習済みのネットワクを特徴抽出に使用する方法を示す例にいては,事前学習済みのネットワクを使用したメジの特徴の抽出を参照してください。

転移学習

事前学習済みのネットワークを開始点として,新しいデータセットについてネットワークに学習させることによって,ネットワークの深い層を微調整できます。多くの場合,転移学習を伴うネットワークを微調整する方が,新しいネットワークを構築して学習させるよりも簡単で時間がかかりません。このネットワークはイメージの特徴を既に多数学習していますが,ネットワークを微調整すると,新しいデータセットに固有の特徴をネットワークに学習させることができます。データセットが非常に大規模な場合,転移学習はゼロから学習する場合に比べて速くならない可能性があります。

ヒント

ネットワ,クを微調整すると,多くの場合,精度を最大限に高められます。非常に小さいデータセット(クラスごとのイメージ数が約20未満)の場合,代わりに特徴抽出を試みてください。

ネットワークの微調整は,単純な特徴抽出よりも時間と手間がかかりますが,ネットワークにさまざまな特徴セットの抽出を学習させることができるため,多くの場合に最終的なネットワークの精度が向上します。ネットワークには新しい特徴を学習するためのデータがあるので,新しいデータセットの規模があまり小さくなければ,通常は特徴抽出よりも微調整がうまく機能します。転移学習の実行方法を示す例は,ディプネットワクデザナを使用した転移学習および新しいメジを分類するための深層学習ネットワクの学習を参照してください。

ネットワクのンポトとエクスポト

TensorFlow®咖啡,-KerasおよびONNX™(打开神经网络交换)モデル形式からネットワークやネットワークアーキテクチャをインポートできます。学習済みのネットワ,クをonnxモデル形式でエクスポ,トすることもできます。

Kerasからのンポト

TensorFlow-Kerasから事前学習済みのネットワ,クを,ンポ,トするには,importKerasNetworkを使用します。ネットワ,クと重みは、同じ HDF5 (.h5) ファイルから、または個別の HDF5 ファイルと JSON (.json) ファイルからインポートできます。詳細については、importKerasNetworkを参照してください。

TensorFlow-Kerasからネットワ、クア、キテクチャを、ンポ、トするには、importKerasLayersを使用します。重みと共にまたは重みなしで,ネットワクアキテクチャをンポトできます。ネットワ,クアーキテクチャと重みは、同じ HDF5 (.h5) ファイルから、または個別の HDF5 ファイルと JSON (.json) ファイルからインポートできます。詳細については、importKerasLayersを参照してください。

Caffeからの

Caffeから事前学習済みのネットワクをンポトするには,関数importCaffeNetworkを使用します。Caffe动物园模型[5]には,利用できる事前学習済みのネットワ,クが多数あります。目的の.prototxtおよび.caffemodelファルをダウンロドし,importCaffeNetworkを使用して事前学習済みのネットワ,クをmatlab®に▪▪ンポ▪▪トします。詳細にいては,importCaffeNetworkを参照してください。

Caffeネットワクのネットワクアキテクチャをンポトできます。目的の.prototxtファルをダウンロドし,importCaffeLayersを使用してmatlabにネットワク層をンポトします。詳細にいては,importCaffeLayersを参照してください。

ONNXへのエクスポトとンポト

ONNXを中間形式として使用することで,TensorFlow, PyTorch Caffe2,微软®认知工具包(CNTK),核心毫升,Apache MXNet™など,ONNXモデルのエクスポートまたはインポートをサポートしている他の深層学習フレームワークと相互運用できます。

関数exportONNXNetworkを使用して,学習済みの深度学习工具箱ネットワークをONNXモデル形式にエクスポートします。その後で,ONNXモデルをONXXモデルのインポートをサポートしている他の深層学習フレームワークにインポートできます。

事前学習済みのネットワクをonnxからンポトするには,importONNXNetworkを使用します。重みと共にまたは重みなしで,ネットワ,クア,キテクチャを,ンポ,トするには,importONNXLayersを使用します。

オ,ディオアプリケ,ション用の事前学習済みのネットワ,ク

深度学习工具箱を音频工具箱™と共に使用して,オーディオ処理および音声処理アプリケーション用の事前学習済みのネットワークを使用します。

音频工具箱には,事前学習済みのVGGishおよびYAMNetネットワークが用意されています。関数vggish(音频工具箱)およびyamnet(音频工具箱)を使用して,事前学習済みのネットワ,クを直接操作します。関数classifySound(音频工具箱)521年は,音を特定して個のカテゴリのいずれかに分類することができるよう,YAMNetに対して必要な前処理および後処理を実行します。関数yamnetGraph(音频工具箱)を使用すると,YAMNetオントロジ,を検索できます。関数vggishFeatures(音频工具箱)は,特徴の埋め込みを抽出し,機械学習や深層学習のシステムに入力できるように,VGGishに対して必要な前処理および後処理を実行します。オディオアプリケション用の深層学習の使用に関する詳細にいては,音频应用的深度学习简介(音频工具箱)を参照してください。

転移学習や特徴抽出を実行するには,VGGishおよびYAMNetを使用します。例にいては,预训练音频网络的迁移学习(音频工具箱)を参照してください。

参照

[1] ImageNet。http://www.image-net.org

[2] Russakovsky, O., Deng, J., Su, H.等。“ImageNet大规模视觉识别挑战。”国际计算机视觉杂志(IJCV)。115卷,第3期,2015年,第211-252页

[3] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Antonio Torralba和Aude Oliva。“场所:用于深度场景理解的图像数据库。”arXiv预印本:1610.02055(2016)。

[4]的地方。http://places2.csail.mit.edu/

咖啡动物园模型。http://caffe.berkeleyvision.org/model_zoo.html

参考

|||||||||||||||||||||||||

関連するトピック