主要内容

。

転移学習入門

この例では,転移学习习使使て,事前学习済みの畳み込みであるであるであるであるであるのををである,新闻一流连ををするを说明します。この例を试し,matlab®でどれほど。简介に深层学习を始めることができるか确认しててください。

転移学习は,深层学习アプリケーションでよくされていますを习习のネットワークをして,新しいタスクの学问。通讯は,転移,ランダムに初初さた重み重みゼロからネットワーク习习させるよりはるか単単単ませませませませませんませんてて,新闻学习。

データの解凍

ワークスペースで,mathworks merchデータデータをを解冻しますます。これは,75个のmathworksの商品列表イメージから成る小さなデータデータでありでありでありでありでありであり,5つの异なるクラス(“帽”,“立方体”,“打牌”,“螺丝刀”,“火炬”)に属します。

解压缩(“MerchData.zip”);

事前学习済みのネットワークネットワーク読み込み読み込み

ディープネットワークデザイナーを开きます。

deepnetworkdesigner.

事前学习済みネットワークネットワークのから[挤压]を选択し,[开着]をクリックします。

ディープネットワークデザイナーにネットワーク全体が縮小表示されます。

ネットワークネットワークのプロットを确认ししマウスででズームインするには,Ctrl.キーを押しながらスクロールホイール使をします。动动するには,方便キーを使か,スクロールホイールを押しままでをドラッグますます选択ドラッグをする。を解除すると,[プロパティ]ペインペインにネットワークのの概要表示されれ

データのインポート

ディープネットワークデザイナーにデータデータを読み込むは,[データ]タブで,[データのインポート][イメージデータのインポート]をクリックします。[イメージデータのインポート]ダイアログダイアログが开开ます。

[データソース]リストの[フォルダー]を选択します。[参照]をクリックし,解冻したmerchdataフォルダーを选択し。

データを70%の学习データと30%の検证データににしし。

学习イメージイメージ実行する张演算を指定しますデータ张は,ネットワークネットワーク过过合出が生物したり,学校イメージの正当な详细记忆さたりたりこと防止するに役立ちますますをで,x轴方向のランダムな反転反転,[ - 90,90]度の范囲のランダムな,[1,2]の范囲のランダムな再スケーリング実行。

[インポート]ををして,ディープネットワークデザイナーにデータをインポートします。

転移学習用のネットワークの編集

新しいイメージを分类するにに蹲再にに习习习ににに,ネットワークの最后の2次元畳み込み层と最终层をます。squeezenetでは,これらの层の名前はそれぞれ'conv10''classificationlayer_predictions'です。

[デザイナー]ペインで,新闻convolution2dLayerをキャンバスにドラッグします。元の畳み込み層と一致させるために,过滤1,1に设定します。numfilters.を编集して新闻データのの数(この例では5.)ににます。

举重およびBiaslearnratefactor.10.に设定して学习率変更し,新しい层での学习习速度を転移层より速くししし

最后の2次元次元畳み込み层を削除し,代わりに新闻层ををしし。

出力层を置き换えます。[層のライブラリ]の最后までスクロールして,新闻分类层をキャンバスにドラッグします元の力层をしてて,その位置に新闻层ををししし。

ネットワークの学習

学习オプションオプションをを选択するにには,[学習]タブを选択し,[学学习]ををクリックしし初习率をさいさい値に设定しててででの习速度ををげげげますの手顺でははげますます手顺でははますを畳み込み层の习习率をきく层ししてきくきくきくきくしててきくきくきくきくしてて学习时间ををを短缩短缩ていいいいいによってによってによってによって急速层のみのみ习がにに进みににに进み进み急速に进み进み习急速のに进みの习速度の层での习习の层进み

この例では,initiallearnrate.0.0001に,验证频繁5.に,Maxepochs.8.に设定します。観測値が55個あるため,小匹匹匹匹配11.に设定して学习データを均等に分类,それぞれのエポックで必ず学习。

指定した学习オプションでネットワークを学习さには,[閉じる]をクリックしてから[学習]をクリックします。

ディープ习の行状况可化ええええええ。

结果のエクスポートとmatlabコードの生成

学习结果结果ををエクスポートするにには,[学習]タブで[エクスポート][学习済み済みネットワークネットワークと结果ののエクスポートを选択します。ディープディープデザイナーによって,学校済みネットワークネットワーク数训练网络_1.に,学习中线报告が数trainInfoStruct_1にエクスポートされます。

使用するネットワークと学习习を再作用成するmatlabコードコード生成するももでき。[学習]タブの[エクスポート][学学用为コード生成]を选択します.matlabコードを确认し,学校用のデータのの准て,ネットワークアーキテクチャの作物,およびおよびの学。

新しいイメージの分享

学习习済みネットワークを使ててするするますを読み込みます。

我= imread(“merchdattest.jpg”);

ネットワークのの力サイズにうようようテストイメージサイズ変更します。

i = imresize(i,[227 227]);

学习习済みネットワークを使ててテストをををしし。

[ypred,probs] =分类(troutahynetwork_1,i);imshow(i)标签= ypred;标题(字符串(标签)+”、“+ NUM2STR(100 * MAX(Probs),3)+“%”);

参照

[1]想象成。http://www.image-net.org.

[2] Iandola,Forrest N.,Song Han,Matthew W. Moskewicz,Khalid Ashraf,William J. Dally和Kurt Keutzer。“Scrizzenet:AlexNet-level精度,参数少50倍和<0.5 MB型号。”预印刷品,2016年11月4日提交。https://arxiv.org/abs/1602.07360。

[3] Iandola,Forrest N.“Screezenet”。https://github.com/forresti/squeezenet。

参考

|||

关键词トピック