主要内容

ディープネットワークデザイナーを使用した転移学習

この例では,ディープネットワークデザイナーアプリを使用して転移学習をインタラクティブに実行する方法を説明します。

転移学習は,事前学習済みの深層学習ネットワークを利用して,新しいタスクを学習するように微調整するプロセスです。通常は,転移学習を使用する方が,ネットワークにゼロから学習させるよりも簡単で時間もかかりません。。

ディープネットワークデザイナーでイメージ分類のための転移学習を実行するには,次の手順に従います。

  1. 最後の層を,新しいデータセットに適応させた新しい層に置き換えます。

  2. ★★★★★★★★★★★★★★★★★★

  3. ディープネットワークデザイナーを使用してネットワークに学習させるか,ネットワークをエクスポートしてコマンドラインで学習させます。

【翻译

【翻译】,MathWorks Merch (MathWorks Merch)75年これは個のMathWorksの商品イメージから成る小さなデータセットであり,5つの異なるクラス(“帽”,“立方体”,“打牌”;“螺丝刀”,“火炬”)。

解压缩(“MerchData.zip”);

事前学習済みのネットワークの選択

ディープネットワークデザイナーを開くには,[]タブの[中文]。。

deepNetworkDesigner

ディープネットワークデザイナーには,広範囲のイメージに適した豊富な特徴表現を学習している,さまざまな事前学習済みのイメージ分類ネットワークが用意されています。転移学習は,使用するイメージが,ネットワークの学習時にもともと使用されたイメージに類似している場合に特に効果を発揮します。使用する学習イメージがImageNetデータベースに含まれるような自然イメージの場合,どの事前学習済みネットワークも適しています。使用可能なネットワークの一覧,およびネットワークを比較する方法については,事前学習済みの深層ニューラルネットワーク

使用するデータがImageNetのデータと大きく異なる場合(たとえば,非常に小さいイメージ,スペクトログラム,またはイメージ以外のデータを使用する場合)は,新しいネットワークに学習させる方が良いこともあります。ネットワークにゼロから学習させる方法を示す例については,ディープネットワークデザイナーを使用したシンプルなシーケンス分類ネットワークの作成?ディープネットワークデザイナーでの簡単なセマンティックセグメンテーションネットワークの学習

SqueezeNet。,,,,,,,,,,,,,,,,,,,,,,[]

事前学習済みネットワークの一覧から(SqueezeNet)を選択し,[英文]

ネットワークの調査

ディープネットワークデザイナーの[]

。マウスでズームインするには,Ctrl。。。海岛海岛海岛海岛海岛[プロパティ]

データのインポート

[]* *;[][]。[。

[]リストの[]? ? ? ?[参照]

イメージ拡張

。ディープネットワークデザイナーアプリには以下の拡張オプションが用意されています。

  • 中文:

  • Y軸方向のランダムな反転

  • ランダムな回転

  • 【中文翻译

  • 你怎么看?你怎么看

  • 这是我的原话

ランダム化された”拡張”をデータに適用して,実質的に学習データの量を増やすことができます。。たとえば,入力イメージに存在する回転に対してネットワークが不変になるように,入力イメージにランダムな回転を追加できます。

この例ではX軸方向のランダムな反転,(-90、90)度の範囲のランダムな回転,[1,2]の範囲のランダムな再スケーリングを実行します。

検証データ

検証データを学習データから分割するか(ホールドアウト検証と呼ばれる),それとも他のソースからインポートするかを選択することも可能です。検証では,学習データと比較して新しいデータのモデルパフォーマンスが推定され,パフォーマンスの監視や過適合の防止に役立ちます。

“”“”“”“”“”“”“”“”

[]

英文释义

ディープネットワークデザイナーを使用すると,[]。【翻译】データセットにクラスが 5 つあることが確認できます。各クラスからのランダムな観測値も確認できます。

学習用のネットワークの準備

[]。。

中文:中文

転移学習に事前学習済みネットワークを使用するには,新しいデータセットに一致するようにクラス数を変更しなければなりません。。“SqueezeNet”、“”“conv10”啊哈!。

通情达理convolution2dLayer。元の畳み込み層と一致させるために,FilterSize1, - 1? ? ? ? ?

NumFiltersNumFilters() () () (5)(英文)

WeightLearnRateFactor?BiasLearnRateFactor10★★★★★★★★★★★★★★★★★★★

2、中文、中文、中文、中文、中文、中文、中文、中文、中文、中文、中文。

中文:中文

[中文]★★★★★★★★classificationLayer。整整整整,整整整整,整整整整,整整整整。

【翻译】OutputSize? ? ? ? ? ? ? ? ?学習時に,ディープネットワークデザイナーによって層の出力クラスがデータから自動的に設定されます。

ネットワークの確認

ネットワークの学習の準備が整っていることを確認するには,[解析]。深層学習ネットワークアナライザーによってエラー0が報告されている場合,編集したネットワークの学習の準備が整っています。

ネットワークの学習

ディープネットワークデザイナーでは,アプリにインポートした,あるいはアプリで作成したネットワークに学習させることが可能です。

既定の設定でネットワークに学習させるには,[学習]タブの[学習]。。。

★★★★★★★★★★[中文]

  • ★★★★★★★★★★★★★★★★★★★★★

  • 【中文】:。。。

  • 。それぞれのエポックで必ずデータセット全体が使用されるように,学習サンプルの数を均等に分割するようミニバッチのサイズを設定します。

【翻译】InitialLearnRate0.0001に,ValidationFrequency5に,MaxEpochs8? ? ? ? ?★★★★★★★★★MiniBatchSize11。★★★★★★★★★★★trainingOptions

指定した学習オプションでネットワークに学習させるには,[中文]をクリックしてから[学習]

。。

学習プロットをイメージとして保存するには,[]

matlab

学習した重みを含むネットワークアーキテクチャをエクスポートするには,[学習]タブの[エクスポ,ト][]? ? ? ?ディープネットワークデザイナーによって,学習済みネットワークが変数trainedNetwork_1【中文翻译trainInfoStruct_1

trainInfoStruct_1
trainInfoStruct_1 =带有字段的结构体:TrainingLoss:[3.1028 3.7235 3.5007 1.2493 1.5267 1.4770 1.2506 1.5767 1.0273 1.1279 0.6417 0.7218 0.7767 0.4651 0.7253 0.5403 0.5126 0.3012 0.6455 0.3326 0.3311 0.1436 0.1736 63.6364 36.3636 63.6364 81.8182 81.8182 72.7273 90.9091 81.8182 100 100 81.8182 100 100 81.8182 100 100 81.8182 100 100 100 100 100 100 100 100 100 100 100…]TrainingAccuracy:[36.3636 27.2727 27.2727 45.4545 36.3636 63.6364 81.8182 81.8182 72.7273 90.9091 81.8182 100 100 81.8182 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100…][3.4224 0.8457 1.6053南南南南南南南南南南南南南南南南南南南0.4317 0.4648 0.3389 0.4322 0.3652南南南南南南南南南南南南0.4720]ValidationAccuracy:[70 30南南南南南南南南南南南南南南南85 80年85年85年南南南南南南南南南南南南南南南南85 90]BaseLearnRate:[1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04 1.0000e-04] FinalValidationLoss: 0.4720 FinalValidationAccuracy: 90 OutputNetworkIteration: 40 .

[学習]タブの[エクスポ,ト][微博]? ? ? ?MATLABコードを確認して、学習用のデータの準備、ネットワーク アーキテクチャの作成、およびネットワークの学習をプログラムによって行う方法を学びます。

★★★★★★★

I = imread(“MerchDataTest.jpg”);

イメージサイズは学習の間,ネットワークの入力サイズに合うようにディープネットワークデザイナーにより変更されます。ネットワークの入力サイズを確認するには,[]这是真的吗imageInputLayer(整整整整)。★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

I = imresize(I, [22727]);

[YPred,probs] = classified (trainedNetwork_1,I);imshow(I) label = YPred;标题(string(标签)+”、“+ num2str(100*max(probs),3) +“%”);

参考

関連するトピック