最新のリリースは,このページがまだ翻訳されいません。このこのの最新版版は英语でご覧になれます。

分类

学校済み深层学习习ネットワークを使使使使たデータのの分享

说明

1つのCPUまたは1つのGPUで深層学習用の学習済みニューラルネットワークを使用して予測を実行できます。GPUをを使使するは,并行计算工具箱™および计算能力3.0以上のcuda®対応英伟达®GPUが必要です。名称と値のペアペアの数ExecutionEnvironmentを使用してハードウェア要件を指定します。

複数の出力があるネットワークの場合,预测を使用して,“ReturnCategorial”オプションを真的に设定します。

YPred得分) =分类(洛桑国际管理发展学院は,学習済みネットワークを使用して洛桑国际管理发展学院のイメージデータのクラスラベルを予測します。

YPred得分) =分类(dsは,学習済みネットワークを使用してds内のデータのクラスラベルを予測します。複数の入力があるネットワークの場合,組み合わせまたは変換が行われたデータストアオブジェクトにこの構文を使用します。

YPred得分) =分类(Xは,学習済みネットワークを使用してXのイメージデータのクラスラベルを予測します。

YPred得分) =分类(序列は,学習済みLSTMネットワークを使用して序列の时系列系列データデータまたはデータのクラスラベルを予测ししし

YPred得分) =分类(资源描述は,学習済みネットワークを使用して资源描述内のデータのクラスラベルを予測します。

YPred得分) =分类(___名称,价值は,1つ以上の名前とのペアのの指定され追追オプション使

ヒント

长さが异なるシーケンスで予测を行うと,ミニバッチのサイズが,入力データに追加されるパディングの量に影响し,异なる予测値が得られることがあります。さまざまな値を使用して,ネットワークに最适なものを确认してください。ミニバッチのサイズとパディングのオプションを指定するには,“MiniBatchSize”および'sequencelength'オプションを使用します。

すべて折りたたむ

标本データを読み込み。

[xtrain,ytrain] = Digittrain4darraydata;

digittrain4darraydata.は数字の学習セットを4次元配列データとして読み込みます。XTrain.は28 28 x 5000 xの配列で,28はイメージの高さ,28は幅です。1はチャネルの数で,5000は手書きの数字の合成イメージの数です。ytrain.は各観測値のラベルを含む直言ベクトルです。

畳み込みニューラルネットワークアーキテクチャを構築します。

层= [......imageInputLayer([28 28 1])卷积2dlayer (5,20) reluLayer maxPooling2dLayer(2, 20)“步”,2)全连接列(10)SoftmaxLayer分类层];

モーメンタム項付き確率的勾配降下法の既定の設定にオプションを設定します。

选项=培训选项(“个”);

ネットワークに学習をさせます。

rng (“默认”)net = trainnetwork(xtrain,ytrain,图层,选项);
单CPU训练。初始化输入数据规范化。|========================================================================================| | 时代| |迭代时间| Mini-batch | Mini-batch |基地学习  | | | | ( hh: mm: ss) | | |丧失准确性  | |========================================================================================| | 1 | 1 |就是| | 2.3195 | 0.0100 10.16%||2 | 50 | 00:00:03 | 50.78% | 1.7102 | 0.0100 | | 3 | 100 | 00:00:06 | 63.28% | 1.1632 | 0.0100 | | 4 | 150 | 00:00:10 | 60.16% | 1.0859 | 0.0100 | | 6 | 200 | 00:00:13 | 68.75% | 0.8996 | 0.0100 | | 7 | 250 | 00:00:17 | 76.56% | 0.7920 | 0.0100 | | 8 | 300 | 00:00:20 | 73.44% | 0.8411 | 0.0100 | | 9 | 350 | 00:00:24 | 81.25% | 0.5508 | 0.0100 | | 11 | 400 | 00:00:27 | 90.62% | 0.4744 | 0.0100 | | 12 | 450 | 00:00:30 | 92.19% | 0.3614 | 0.0100 | | 13 | 500 | 00:00:34 | 94.53% | 0.3160 | 0.0100 | | 15 | 550 | 00:00:37 | 96.09% | 0.2544 | 0.0100 | | 16 | 600 | 00:00:40 | 92.19% | 0.2765 | 0.0100 | | 17 | 650 | 00:00:43 | 95.31% | 0.2460 | 0.0100 | | 18 | 700 | 00:00:46 | 99.22% | 0.1418 | 0.0100 | | 20 | 750 | 00:00:49 | 98.44% | 0.1000 | 0.0100 | | 21 | 800 | 00:00:53 | 98.44% | 0.1449 | 0.0100 | | 22 | 850 | 00:00:56 | 98.44% | 0.0989 | 0.0100 | | 24 | 900 | 00:01:00 | 96.88% | 0.1315 | 0.0100 | | 25 | 950 | 00:01:05 | 100.00% | 0.0859 | 0.0100 | | 26 | 1000 | 00:01:10 | 100.00% | 0.0701 | 0.0100 | | 27 | 1050 | 00:01:15 | 100.00% | 0.0759 | 0.0100 | | 29 | 1100 | 00:01:20 | 99.22% | 0.0663 | 0.0100 | | 30 | 1150 | 00:01:23 | 98.44% | 0.0776 | 0.0100 | | 30 | 1170 | 00:01:25 | 99.22% | 0.0732 | 0.0100 | |========================================================================================|

テストセットについて学習済みネットワークを実行します。

[xtest,ytest] = digittest4darraydata;ypred =分类(net,xtest);

テストデータの最初の10個のイメージを表示して,分类の分类と比较します。

[欧美(1:10,:)YPred (1:10,:))
ans =.10 x2分类0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

分类の结果は,最初の10个のイメージ真真真资料。

すべてすべてのテストデータでで度をを计算计算し

精度= sum(YPred == YTest)/numel(YTest)
精度= 0.9820.

事前学习済みのネットワークをますます。JapaneseVowelsNetは,[1]および[2]で説明されているように日本元音データセットで学習させた事前学習済みのLSTMネットワークです。これは,ミニバッチのサイズ27を使用して,シーケンス長で並べ替えられたシーケンスで学習させています。

负载JapaneseVowelsNet

ネットワークアーキテクチャを表示します。

网。层
ans x1 = 5层阵列层:1“sequenceinput”序列输入序列输入12维度2的lstm lstm lstm 100隐藏单位3 fc的完全连接9完全连接层4的softmax softmax softmax 5 classoutput的分类输出crossentropyex ' 1 ', 8其他类

テストデータを読み込みます。

[XTest,欧美]= japaneseVowelsTestData;

テストデータを分類します。

ypred =分类(net,xtest);

最初の10个のシーケンスのラベル,その予测ラベルを表示し。

[欧美(1:10)YPred (1:10)]
ans =.10 x2分类1 1 1 1 1 1 11 1 11 1 1 1 1 1 1 1 11 1 1 1

予测の分享精选を计算ますます。

精度= sum(YPred == YTest)/numel(YTest)
精度= 0.8595.

入力引数

すべて折りたたむ

学习済みネットワーク。SeriesNetworkまたはDagnetwork.オブジェクトとして指定します。事前学習済みのネットワークをインポートする(たとえば,関数googlenetを使用する),またはTrainnetwork.をを使し独独ネットワーク习习习せるによって,学校済みネットワークを取得でき。

イメージイメージストア。ImageDatastoreオブジェクトとして指定します。

ImageDatastoreをを使と,事前取得を使使てjpgまたはpngイメージのバッチ読み取り行うことができイメージの読み取りカスタムうます。ImageDatastoreは事前取得を行いませ。

ヒント

イメージのサイズ変更を含む深層学習用のイメージの前処理を効率的に行うには,augmentedImageDatastoreを使用します。

imageDatastorereadfcn.オプションオプション通讯,速度速度大厦に低する,用しないでください。

入力データのデータストア。

単一の入力があるネットワークのの合,dsは次のいずれかを返します。

  • 単一のイメージまたはシーケンス

  • イメージまたはシーケンスシーケンス细胞配列

  • 1列目列目にイメージまたはシーケンスが含まれるれるれる

複数のイメージ入力層があるネットワークの場合,dsは,入力データを含むnuminputs.列の细胞配列を返す,組み合わせまたは変換が行われたデータストアでなければなりません。ここで,numinputs.はネットワーク入力の数です。细胞配列の番目の要素は入力net.inputnames(i)に対応します。

詳細については,深层学习用词のストアを参照してください。

イメージデータ。数量配列として指定します。配列のサイズはイメージ入力のタイプによって以下のように異なります。

入力 说明
2次元イメージ H x W x C x Nの数据配列。ここここ,h,w,およびcは,それぞれそれぞれイメージ高,幅,およびおよび数です。
3次元イメージ h x w x d x c x Nの数値配列。ここで,h、w、d、および c は、それぞれイメージの高さ、幅、深さ、およびチャネル数です。N はイメージの数です。

配列にががれる综合,ネットワーク全体に伝播さます。

シーケンスデータまたは时系列データ。数码値のn行1列の细胞配列,1つのシーケンスを表す数码配列,またはデータストアとしてします。ここここ,nは観测値の。

细胞配列入力または数値配列入力の場合,シーケンスが含まれる数値配列の次元は,データのタイプによって異なります。

入力 说明
ベクトルシーケンス c行s列の行列。ここで,c はシーケンスの特徴の数、s はシーケンス長です。
2次元イメージシーケンス h x w x c sの配列。ここで,h、w、および c は、それぞれイメージの高さ、幅、およびチャネル数に対応します。s はシーケンス長です。
3次元イメージシーケンス h x w x d x c x s。ここで,h,w,d,およびcは,それぞれ3次元イメージ高度,幅,深さ,およびおよびに対応し。

データストア入力の場合,データストアはシーケンスの细胞配列,または最初の列にシーケンスが含まれる表としてデータを返さなければなりません。シーケンスデータの次元は,上記の表に対応していなければなりません。

最初の列にに入データ含まれるイメージのののの各行は観测観测にしますますますます.tableには,文件ベクトルとして指定れたイメージイメージ配列として指定れたへへ绝対ファイルパスさ相対ファイルパスが含まますます。

データ型:桌子

名称と値のペアペアの数

例:'minibatchsize','256'はミニバッチのサイズを256に指定します。

オプションの引数名称,价值ののコンマ区切り切りのを指定しし姓名は数名で,价值は対応する値です。姓名は一重使用符('')で囲まなければなりません。

予測に使用するミニバッチのサイズ。正の整数として指定します。ミニバッチのサイズが大きくなるとより多くのメモリが必要になりますが、予測時間が短縮される可能性があります。

长さが异なるシーケンスで予测を行うと,ミニバッチのサイズが,入力データに追加されるパディングの量に影响し,异なる予测値が得られることがあります。さまざまな値を使用して,ネットワークに最适なものを确认してください。ミニバッチのサイズとパディングのオプションを指定するには,“MiniBatchSize”および'sequencelength'オプションを使用します。

例:“MiniBatchSize”,256年

パフォーマンスパフォーマンス最适化。“加速”と次のいずれかで成されるコンマ区切りペアとして指定します。

  • “汽车”- 入力ネットワークとハードウェアリソース适した最适最适のを适し适したた。

  • 墨西哥人的- - - - - -墨西哥人関数をコンパイルして実行します。このオプションはGPUの使用時にのみ利用できます。GPUを使用するには,并行计算工具箱および以3.0计算能力上のCUDA対応NVIDIA GPUが必要です。并行计算工具箱または適切なGPUが利用できない場合,エラーが返されます。

  • '没有任何'——すべての高速化を無効にします。

既定のオプションは“汽车”です。“汽车”が指定されている場合,MATLAB®は互换性のあるあるををををををます。“汽车”オプションを使用する場合,MATLABは墨西哥人関数を生成しません。

“加速”オプション“汽车”および墨西哥人的を使用すると,パフォーマンス上のメリットが得られますが,初期実行時間が長くなります。互換性のあるパラメーターを使用した後続の呼び出しは,より高速になります。新しい入力データを使用して関数を複数回呼び出す場合は,パフォーマンスの最適化を使用してください。

墨西哥人的オプションは,関数の呼び出しに使用されたネットワークとパラメーターに基づいて墨西哥人関数を生成し,実行します。複数の墨西哥人関数を一度に1つのネットワークに関連付けることができます。ネットワークの変数をクリアすると,そのネットワークに関連付けられている墨西哥人関数もクリアされます。

墨西哥人的オプションは,GPUの使用時にのみ利用できます。C / c++コンパイラとGPU编码器™界面深度学习库サポートパッケージがインストールされていなければなりません。MATLABでアドオンエクスプローラーを使用してサポートパッケージをインストールします。設定手順については,mexの设定(GPU编码器)を参照してください。GPU编码器は不要です。

墨西哥人的サポートサポートされ层がありててれはいる层层のについてについている层についてについてははについてについてははについてについてははについてについてはサポートされている層(GPU编码器)を参照してください。sequenceInputlayer.を含む再帰型ニューラルネットワーク(RNN)はサポートされていません。

墨西哥人的オプションの使用時に,Matlab Compiler™を使用してネットワークを配布することはできません。

例:“加速”、“墨西哥人的

ハードウェアリソース。“ExecutionEnvironment”と次のいずれかで成されるコンマ区切りペアとして指定します。

  • “汽车”- 利用可能なな合金GPUを使用し,そうでないそうでない合はCPUを使ます。

  • “图形”- - - - - - GPUを使用します。GPUを使用するには,并行计算工具箱および以3.0计算能力上のCUDA対応NVIDIA GPUが必要です。并行计算工具箱または適切なGPUが利用できない場合,エラーが返されます。

  • '中央处理器'- CPUを使使用しし。

例:'executionenvironment','cpu'

入切り舍,または分别をオプション。次のいずれか指定します。

  • “最长”- 各ミニバッチで,最长のシーケンスと同じ长さなるようにのパディングをますますますますますますデータととデータするががませんがませんませんませんががませんませんませんががことれませんノイズがじるがませんノイズがじるがネットワークありありじるがありあり

  • “最短”- 各各で,最短のシーケンスと同じ长さなるようにシーケンス切り舍ていいますますますますパディングパディングパディングパディングパディングパディング。

  • 正の整で,ミニバッチで最长のシーケンス大大,指定指定の最も近い倍にようにシーケンスのををた后,それらのシーケンス指定长の小さなシーケンスにしし。分享がが生物と,加加のミニバッチがさますますます。または,この全が,この全,このこのオプション。または,“MiniBatchSize”オプションをより小さい値に設定して,ミニバッチごとのシーケンス数を減らしてみます。

入力シーケンスのパディング,切り捨て,および分割の効果の詳細は,シーケンスのパディング,切り捨て,および分割を参照してください。

例:'Sequencelength','最短'

パディングパディングまたは切り舍ての向ののいずれしししし。

  • “对”——シーケンスの右側に対してパディングまたは切り捨てを行います。シーケンスは同じタイムステップで始まり,シーケンスの末尾に対して切り捨てまたはパディングの追加が行われます。

  • '剩下'——シーケンスの左側に対してパディングまたは切り捨てを行います。シーケンスが同じタイムステップで終わるように,シーケンスの先頭に対して切り捨てまたはパディングの追加が行われます。

LSTM層は1タイムステップずつシーケンスデータを処理するため,層のOutputModeプロパティが“最后一次”の場合,最後のタイムステップでパディングを行うと層の出力に悪影響を与える可能性があります。シーケンスデータの左側に対してパディングまたは切り捨てを行うには,“SequencePaddingDirection”オプションを'剩下'に设定します。

序列到序列ネットワークの场合(各LSTM层层OutputModeプロパティが'序列'.“SequencePaddingDirection”オプションを“对”に设定します。

入力シーケンスのパディング,切り捨て,および分割の効果の詳細は,シーケンスのパディング,切り捨て,および分割を参照してください。

スカラーとして指定ますするオプションは。このこのは,Sequencelength.“最长”または正の数ののにのみ有效。ネットワーク全体にが伝播される可以ででシーケンスをパディングパディングしないでで

例:“SequencePaddingValue”,1

出力数

すべて折りたたむ

予测クラスラベル。类别ベクトル,または分类ベクトルの细胞配列配列返さます。YPredの形式は,問題のタイプによって異なります。

次の表は,分類問題の形式について説明しています。

タスク 形式
イメージ分享 ラベルのn行1列の分类ベクトル.Nは観测値の数。
序列到标签分享
sequence-to-sequence分類

ラベルの分类シーケンスのn行1列の细胞配列.Nは観测値値数。Sequencelength.オプションを各ミニバッチに個別に適用した後,各シーケンスには,対応する入力シーケンスと同じ数のタイムステップが含まれています。

観測値が1つのsequence-to-sequence分類問題では,序列を行列にすることができます。このこの合,YPredはラベルの直言シーケンスです。

予測スコアまたは応答。行,列または行列の细胞配列として返されます。得分の形式は,問題のタイプによって異なります。

次の表は,得分の形式について説明しています。

タスク 形式
イメージ分享 N行K列の行列。Nは観測値の数Kはクラスの数です。
序列到标签分享
sequence-to-sequence分類

行为のn行1列の细胞配列.Nは観测値値で,kはクラスの数。Sequencelength.オプションを各ミニバッチに個別に適用した後,各シーケンスには,対応する入力シーケンスと同じ数のタイムステップが含まれています。

観測値が1つのsequence-to-sequence分類問題では,序列を行列にすることができます。このこの合,得分は,予測クラススコアの行列です。

分享到を调べる例はは,深层学习を使使用した网页カメラカメラの分享を参照してください。

アルゴリズム

深度学习工具箱™に含まれる深層学習における学習,予測,検証用のすべての関数は,単精度浮動小数点演算を使用して計算を実行します。深層学習用の関数にはTrainnetwork.预测分类激活などがあります。CPUとGPUの両方を使用してネットワークに学習させる場合,単精度演算が使用されます。

代替方法

複数の出力があるネットワークの場合,预测を使用して,“ReturnCategorial”オプションを真的に设定します。

预测を使用して学習済みネットワークから予測スコアを計算できます。

激活を使用してネットワーク層から活性化を計算することもできます。

sequence-to-labelおよびsequence-to-sequence分類ネットワークでは,classifyAndUpdateStateおよびpredictandanddatestate.を使用してネットワークの状態の予測および更新を実行できます。

参照

工藤、富山、新保。“使用通过区域的多维曲线分类”。模式识别字母。第20卷,第11-13期,第1103-1111页。

[2] UCI机器学习存储库:日语元音数据集。https://archive.ics.uci.edu/ml/datasets/japanese+vowels.

拡張機能

R2016aで導入