このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
深层学习ネットワーク层ののの化
1つのCPUまたは1つのgpuでで学习ネットワーク层の活性を计算できます。GPUを使使使は,并行计算工具箱™および计算能力3.0以上のcuda®対応英伟达®GPUが必要です。名前と値のペアの引数ExecutionEnvironment
を使用してハードウェア要件を指定します。
は、学習済みネットワーク行为
=激活(网
,洛桑国际管理发展学院
,层
)网
およびイメージデータストア洛桑国际管理发展学院
内のイメージデータを使用して,特定の层のネットワーク活性化を返します。
この例では,事前学習済みの畳み込みニューラルネットワークから学習済みのイメージの特徴を抽出し,これらの特徴を使用してイメージ分類器に学習させる方法を説明します。特徴抽出は,事前学習済みの深いネットワークの表現能力を活用できる最も簡単で時間のかからない方法です。たとえば,抽出した特徴に対してFitcecoc.
(统计和机器学习工具箱)™) を使用してサポート ベクター マシン (支持向量机)に学習させることができます。特徴抽出が必要とするものはデータを一巡する 1.つのパスのみであるため、ネットワークの学習を加速するための GPUがない場合、これは適切な開始点となります。
データの読み込み
サンプル イメージを解凍してイメージ データストアとして読み込みます。imageDatastore
は,〖nortge〗基于てに自动的にラベルを,データデータImageDatastore
オブジェクトとしてストアしし。イメージデータストアを使使と,メモリに收まらないデータを大大イメージデータを格式できできデータを70%の学校データと30%のテストデータにしし。
解压(“MerchData.zip”);imd = imageDatastore (“MerchData”,...'upplyubfolders',真的,...'labelsource',“foldernames”);[imdsTrain, imdsTest] = splitEachLabel (imd, 0.7,'随机');
このとき,この非常に小さなデータには,55个の学习イメージ20个の検证ががさてています表示表示表示を表示表示表示ますますますますますますます。
numimagestain = numel(imdstrain.labels);Idx = Randperm(NumimageStrain,16);为i=1:16 i{i}=readimage(imdsTrain,idx(i));结束图imshow (imtile(我))
事前学習済みのネットワークの読み込み
事前学習済みのAlexNetネットワークを読み込みます。深度学习工具箱模型对于AlexNet网络サポート パッケージがインストールされていない場合、ダウンロード用リンクが表示されます。阿列克斯内特は、100万枚を超えるイメージについて学習済みであり、イメージを 1000個のオブジェクト カテゴリに分類できます。たとえば、キーボード、マウス、鉛筆、多くの動物などです。結果として、このモデルは広範囲のイメージに対する豊富な特徴表現を学習しています。
net=alexnet;
ネットワークには表示し层とありはは层层ありありありありありありありありあり。
网。层
ans=25x1层阵列,带层:1“数据”图像输入227x227x3图像,带“零中心”标准化2“conv1”卷积96 11x11x3卷积,带跨距[4]和填充[0]3“relu1”ReLU ReLU 4“norm1”跨通道规格化跨通道规格化每个元素5个通道5“pool1”最大池3x3最大池带跨步[2]和填充[0 0 0 0]6“conv2”分组卷积2组128个5x5x48卷积带跨步[1]和填充[2 2 2 2 2]7“relu2”ReLU ReLU 8“norm2”跨通道规格化跨通道规格化每个元素5个通道9“pool2”最大池3x3最大池带跨步[2]和填充[0 0 0 0]10“conv3”卷积384 3x256卷积带跨步[1]和填充[1 1 1 1 1]11“relu3”ReLU ReLU 12“conv4”分组卷积2组192 3x3x192卷积带跨步[11]和填充[11]13“relu4”ReLU ReLU ReLU 14“conv5”分组卷积2组128 3x3x192卷积带跨步[11]和填充[11]15“relu5”ReLU ReLU 16“pool5”最大池3x3最大池带跨步[2]和填充[0 0 0 0]17“fc6”完全连接4096完全连接层18“relu6”ReLU ReLU 19“drop6”drop6”Dropout 50%Dropout 20“fc7”完全连接4096完全连接层21“relu7”ReLU ReLU 22“drop7”Dropout 50%Dropout 23“fc8”完全连接1000完全连接层24“prob”Softmax Softmax 25“output”分类输出交叉入口投影带“tench”及其他类别
,3はカラーチャネルの。
.InputSize inputSize = net.Layers (1)
InputSize =.1×3227 227 3
イメージの特价の抽出
ネットワークは,入力イメージの階層表現を構築します。深い層には,初期の層の低レベルの特徴を使用して構築された,より高レベルの特徴が含まれます。学習イメージとテストイメージの特徴表現を取得するには,全結合層“fc7”
で激活
をを使低レベルの表现をするにははするににはをするのにははをののには层をするにに
27x 227 x 3のののストアあるです,イメージデータストアあるイメージのサイズはます。学习习テストのサイズをネットワークのイメージのサイズをへのの前にににに,拡张イメージデータストアを作物,目的のイメージサイズを,これらのデータストア激活
の入力引数として使用します。
augimdsTrain=augmentedImageDatastore(inputSize(1:2),imdsTrain);augimdtest=augmentedImageDatastore(inputSize(1:2),imdsTest);层=“fc7”;特征应变=激活(净、螺旋应变、层、,'outputas',“行”); featuresTest=激活(净、模拟测试、层、,'outputas',“行”);
学習データおよびテスト データからクラス ラベルを抽出します。
YTrain = imdsTrain.Labels;欧美= imdsTest.Labels;
イメージ分類器のあてはめ
学習イメージから抽出された特徴を予測子変数として使用し,Fitcecoc.
(统计和机器学习工具箱)をを用してマルチクラスサポートマシン(svm)ををます。
mdl=fitcecoc(特征菌株,YTrain);
テストイメージの分享
学習済みのSVMモデルとテストイメージから抽出された特徴を使用して,テストイメージを分類します。
featuresTest YPred =预测(mdl);
4个のサンプルテストイメージ,その予测ラベルを表示し。
Idx = [1 5 10 15];数字为i=1:numel(idx)子批次(2,2,i)i=readimage(imdsTest,idx(i));label=YPred(idx(i));imshow(i)title(label)结束
テストセットに対する分類精度を計算します。精度とは,ネットワークによって予測が正しく行われるラベルの割合です。
精度=平均值(YPred == YTest)
精度=1
このSVMは高い精度を示しています。特徴抽出を使用しても十分な精度が得られない场合,代わりに転移学习を试してください。
网
- - - - - -学习済みネットワークSeriesNetwork
オブジェクト|Dagnetwork.
オブジェクト学习済みネットワーク。SeriesNetwork
またはDagnetwork.
オブジェクトとして指定します。事前学習済みのネットワークをインポートする(たとえば,関数水壶
を使用する),またはtrainNetwork
を使用して独自のネットワークに学习させることによって,学习済みネットワークを取得できます。
洛桑国际管理发展学院
- - - - - -イメージデータストアImageDatastore
オブジェクトイメージ データストア。ImageDatastore
オブジェクトとして指定します。
ImageDatastore
をを使とと,事前事前を使使しjpgまたはpngイメージファイルバッチをを行ことができますバッチの読み取りカスタムことができ。ImageDatastore
は事前取得を行いません。
ヒント
イメージのサイズ変更を含む深層学習用のイメージの前処理を効率的に行うには,增强图像数据存储
を使用します。
imageDatastore
のreadfcn.
オプションは通常,速度が大幅に低下するため,前処理またはサイズ変更に使用しないでください。
ds
- - - - - -データストアメモリ外のデータおよび前処理用のデータストア。データストアは、table または cell 配列でデータを返さなければなりません。データストア出力の形式は、ネットワーク アーキテクチャによって異なります。
ネットワークアーキテクチャ | データストア出力 | 出力の例 |
---|---|---|
単一入力 | 表または细胞配列。最初の列は予測子を指定します。 桌面要素は,スカラー,行ベクトルか,数码配列が格式されたた行1ののののででなければなりませませませませませ カスタムデータストアは表を出力しなければなりません。 |
数据=读取(ds) data = 4×1 table Predictors __________________ {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double} |
数据=读取(ds) Data = 4×1 cell array {224×224×3 double} {224×224×3 double} {224×224×3 double} {224×224×3 double} |
||
複数入力 | 少なくとも 最初の 入力の順序は,ネットワークの |
数据=读取(ds) Data = 4×2 cell array {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} {224×224×3 double} {128×128×3 double} |
予測子の形式は,データのタイプによって異なります。
データ | 予測子の形式 |
---|---|
2次元イメージ | h c w xの数値配列。ここでh, w,およびcはそれぞれイメージの高さ,幅,およびチャネル数です。 |
3次元イメージ | h x w x d cの数値配列。ここでh, w, d,およびcはそれぞれイメージの高さ,幅,深さ,およびチャネル数です。 |
ベクトルシーケンス | C行 s列の行列。ここで、Cはシーケンスの特徴の数、sはシーケンス長です。 |
2次元イメージシーケンス | 高x宽x高x低の配列。ここで、h、 w、および Cはそれぞれイメージの高さ、幅、およびチャネル数に対応します。sはシーケンス長です。 ミニバッチ内の各シーケンスは,同じシーケンス长でなければなりません。 |
3次元イメージシーケンス | 高x宽x深x深x深x深の配列。ここで、h、 w、d、および Cは、それぞれイメージの高さ、幅、深さ、およびチャネル数に対応します。sはシーケンス長です。 ミニバッチ内の各シーケンスは,同じシーケンス长でなければなりません。 |
特徴 | C行1列の列ベクトル.cは特徴の。 |
詳細については,深层学习用词のストアを参照してください。
X
- - - - - -イメージ データまたは特徴データイメージデータまたは特徴データ。数値配列として指定します。配列のサイズは入力のタイプによって以下のように异なります。
入力 | 説明 |
---|---|
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行NUM特征 列列数量配列。ここここ,nは観测値の数,NUM特征 は入力データの特徴の数です。 |
配列に南
が含まれる場合、ネットワーク全体に伝播されます。
複数の入力があるネットワークの場合,複数の配列X1
、...、XN
を指定できます。ここで、N
はネットワーク入力の数であり,入力席
はネットワーク入力net.inputnames(i)
に対応します。
イメージイメージ力のの合,'outputas'
オプションが“渠道”
の場合、入力データX
のイメージは,ネットワークのイメージ入力層の入力サイズより大きくすることができます。その他の出力形式では,X
のイメージのサイズは,ネットワークのイメージ入力層の入力サイズと同じでなければなりません。
序列
- - - - - -シーケンスデータまたは時系列データシーケンスデータまたは時系列データ。数量配列のN行1 列の cell 配列、1 つのシーケンスを表す数値配列、またはデータストアとして指定します。ここで、N は観測値の数です。
细胞配列入力または数値配列入力の場合,シーケンスが含まれる数値配列の次元は,データのタイプによって異なります。
入力 | 説明 |
---|---|
ベクトルシーケンス | C行 s列の行列。ここで、Cはシーケンスの特徴の数、sはシーケンス長です。 |
2次元イメージシーケンス | h x w x c sの配列。ここでh, w,およびcはそれぞれイメージの高さ,幅,およびチャネル数に対応します。年代はシーケンス長です。 |
3次元イメージシーケンス | h x w x d x c x s。ここここ,h,w,d,およびcは,それぞれ3次元イメージ高度,幅,深さ,およびおよびに対応対応。 |
データストア入力の場合,データストアはシーケンスの细胞配列,または最初の列にシーケンスが含まれる表としてデータを返さなければなりません。シーケンスデータの次元は,上記の表に対応していなければなりません。
资源描述
- - - - - -イメージデータまたは特徴データの表桌子
イメージデータまたは特徴データの表。表の各行は観測値に対応します。
桌子の列の予测予测のは,入力データのタイプ异异ますますますますますます。
入力 | 予测子 |
---|---|
イメージ データ |
単一列で予測子を指定します。 |
特价データ | 数値スカラー。 表の |
この引数は,単一の入力のみがあるネットワークをサポートします。
データ型:桌子
层
- - - - - -活性化の抽出元の層活性化の抽出元の層。数値インデックスまたは文字ベクトルとして指定します。
SeriesNetwork
オブジェクトの活性化を計算するには,層の数値インデックスを使用するか,層の名前に対応する文字ベクトルとして層を指定します。
Dagnetwork.
オブジェクトの活性化をするには,层の名前にする字ベクトルベクトルとして层をしますベクトルのの出がます。つまり,层
は“layerName / outputName”
の形式を取ります。
例:3.
例:'conv1'
例:“mpool /出”
オプションの引数名称,值
のコンマ区切りペアを指定します。名称
は数名で,价值
は対応する値です。名称
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,复数の名前とのペアののを,任意の顺番で指定でき。
激活(net,x,图层,'outputas','行')
小匹匹匹匹配
- - - - - -ミニバッチのサイズ予測に使用するミニバッチのサイズ。正の整数として指定します。ミニバッチのサイズが大きくなるとより多くのメモリが必要になりますが、予測時間が短縮される可能性があります。
例:“MiniBatchSize”,256
Sequencelength.
- - - - - -入力シーケンスのパディング,切り捨て,または分割を行うオプション“最长”
(既定値)|“最短”
|正の整数入力シーケンスのパディング,切り捨て,または分割を行うオプション。次のいずれかに指定します。
“最长”
- 各ミニバッチで,最长のシーケンスと同じ长さなるににのパディングをますますますますますデータ。
“最短”
- 各ミニバッチで,最短のシーケンスと同じ长さなるようようにシーケンスのてをいいいいいいとととととととパディングとととととととませんませんませんませんませんませんがませんれれれませんがませんませんませんませんませんませんがませんませんませんませんませんませんませんませんません
正の整で,ミニバッチで最长のより大大,指定指定长の最も近い近いににようにシーケンスのパディングパディングっっ后后后后后后后のにををしさなシーケンスにに割しがが生物する,加加のミニバッチがされ全ががに收まらない,“MiniBatchSize”
オプションをより小さい値に設定して,ミニバッチごとのシーケンス数を減らしてみます。
入力シーケンスのパディング,切り捨て,および分割の効果の詳細は,シーケンスのパディング,切り捨て,および分割を参照してください。
例:“SequenceLength”,“最短”
SequencePaddingValue
- - - - - -入力シーケンスをパディングする値入として指定ますますこのオプションします。このこのは,Sequencelength.
が“最长”
または正の整数の場合にのみ有効です。ネットワーク全体にエラーが伝播される可能性があるため,南
でシーケンスをパディングしないくださいください。
例:“SequencePaddingValue”,1
SequencePaddingDirection
- - - - - -パディングまたは切り捨ての方向“对”
(既定値)|'剩下'
パディングまたは切り捨ての方向。次のいずれかに指定します。
“对”
——シーケンスの右側に対してパディングまたは切り捨てを行います。シーケンスは同じタイムステップで始まり,シーケンスの末尾に対して切り捨てまたはパディングの追加が行われます。
'剩下'
——シーケンスの左側に対してパディングまたは切り捨てを行います。シーケンスが同じタイムステップで終わるように,シーケンスの先頭に対して切り捨てまたはパディングの追加が行われます。
LSTM層は1タイムステップずつシーケンスデータを処理するため,層のOutputMode
プロパティが“最后一次”
の場合、最後のタイム ステップでパディングを行うと層の出力に悪影響を与える可能性があります。シーケンス データの左側に対してパディングまたは切り捨てを行うには、“SequencePaddingDirection”
オプションを'剩下'
に設定します。
sequence-to-sequenceネットワークの場合(各LSTM層についてOutputMode
プロパティが“序列”
.“SequencePaddingDirection”
オプションを“对”
に設定します。
入力シーケンスのパディング,切り捨て,および分割の効果の詳細は,シーケンスのパディング,切り捨て,および分割を参照してください。
加速
- - - - - -パフォーマンスの最適化“汽车”
(既定値)|墨西哥人的
|“没有”
パフォーマンスの最適化。“加速”
と次のいずれかで构成されるコンマ区切りのペアとして指定します。
“汽车”
- 入力ネットワークネットワークとハードウェアリソースに适した最适ののををたたた最适适适适适适
墨西哥人的
-墨西哥関数をコンパイルして実行します。このオプションは GPUの使用時にのみ利用できます。GPUを使用するには、并行计算工具箱および 计算能力3.0以上の 库达対応 英伟达GPUが必要です。并行计算工具箱または適切なGPUが利用できない場合,エラーが返されます。
“没有”
——すべての高速化を無効にします。
既定のオプションは“汽车”
です。“汽车”
が指定されている場合,MATLAB®は互换性のあるある最适をををををますし。“汽车”
オプションを使用する場合,MATLABは墨西哥人関数を生成しません。
“加速”
オプション“汽车”
および墨西哥人的
を使用すると,パフォーマンス上のメリットが得られますが,初期実行時間が長くなります。互換性のあるパラメーターを使用した後続の呼び出しは,より高速になります。新しい入力データを使用して関数を複数回呼び出す場合は,パフォーマンスの最適化を使用してください。
墨西哥人的
オプションは、関数の呼び出しに使用されたネットワークとパラメーターに基づいて 墨西哥関数を生成し、実行します。複数の 墨西哥関数を一度に 1.つのネットワークに関連付けることができます。ネットワークの変数をクリアすると、そのネットワークに関連付けられている 墨西哥関数もクリアされます。
墨西哥人的
オプションは,GPUの使用時にのみ利用できます。C / c++コンパイラとGPU编码器™界面深度学习库サポートパッケージがインストールされていなければなりません。MATLABでアドオンエクスプローラーを使用してサポートパッケージをインストールします。設定手順については,mexの设定(GPU编码器)を参照してください。GPU编码器は不要です。
墨西哥人的
オプションオプションではサポートさありれていれている层层层についてについてはについてについてについてについてについてについてについてについてについてサポートされている層(GPU编码器)を参照してください。sequenceInputlayer.
を含む再帰型ニューラルネットワーク(RNN)はサポートされていません。
墨西哥人的
オプションは,複数の入力層または複数の出力層をもつネットワークをサポートしていません。
墨西哥人的
オプションの使用時に,Matlab Compiler™を使用してネットワークを配布することはできません。
例:“加速”、“墨西哥人的
ExecutionEnvironment
- - - - - -ハードウェア リソース“汽车”
(既定値)|“图形”
|“cpu”
ハードウェア リソース。“ExecutionEnvironment”
と次のいずれかで构成されるコンマ区切りのペアとして指定します。
“汽车”
- 利用可函数な综合はGPUを使用し,そうでない结合はCPUををます。
“图形”
- - - - - - GPUを使用します。GPUを使用するには、并行计算工具箱および 计算能力3.0以上の 库达対応 英伟达GPUが必要です。并行计算工具箱または適切なGPUが利用できない場合,エラーが返されます。
“cpu”
——CPUを使用します。
例:'executionenvironment','cpu'
行为
— ネットワーク層からの活性化ネットワークネットワークからの活性化。数据库,または数量配列の细胞配列配列返さます。行为
の形式は,入力データのタイプ,層出力のタイプ,および'outputas'
オプションによって異なります。
層がイメージまたは折りたたみシーケンスデータを出力する場合,行为
は数値配列です。
'outputas' |
行为 |
---|---|
“渠道” |
2次元イメージイメージ力の合, 3次元イメージ出力の場合, 折りたたみ2次元イメージシーケンスシーケンス力の合, 折りたたみ3次元イメージシーケンス出力の場合, |
“行” |
2次元および3次元イメージイメージイメージの料, 折りたたみ2次元および3次元イメージシーケンス出力の場合, |
“列” |
2次元および3次元イメージイメージイメージの料, 折りたたみ2次元および3次元イメージシーケンス出力の場合, |
层
にシーケンスシーケンス力(たとえば,出力モードが“序列”
の LSTM層) がある場合、行为
は细胞配列になります。このこの合,'outputas'
オプションは“渠道”
でなければなりません。
'outputas' |
行为 |
---|---|
“渠道” |
ベクトルシーケンス出力の場合, 2次元イメージシーケンス出力の場合, 3次元イメージシーケンス出力の場合, この場合, |
层
がシーケンスの単一のタイムステップを出力する場合(たとえば,出力モードが“最后一次”
のlstm层),行为
は数量配列になります
'outputas' |
行为 |
---|---|
“渠道” |
ベクトル データを含む単一のタイム ステップの場合、 2次元イメージデータを含む単一のタイムステップの場合, 3次元次元イメージデータをを含む単のタイムステップステップの合书, |
“行” |
n行m列の行列。ここでnは観測値の数,米 は选択した层からの力要素のです。法案(我,:) には我 番目のシーケンスの活性化が含まれます。 |
“列” |
M行n列の行。ここで,mは选択した层のの要素要素数,nは観测値の数。法》(:,我) には我 番目のイメージの活性化が含まれます。 |
深度学习工具箱™に含まれる深層学習における学習,予測,検証用のすべての関数は,単精度浮動小数点演算を使用して計算を実行します。深層学習用の関数にはtrainNetwork
、预测
、分类
、激活
などがあります。CPUとGPUの両方を使用してネットワークに学習させる場合,単精度演算が使用されます。
工藤、富山、新保。“使用通过区域的多维曲线分类”。模式识别字母。第20卷,第11-13期,第1103-1111页。
[2] UCI机器学习知识库:日语元音数据集。https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
使用上の注意および制限:
入力X
を可変サイズにすることはできません。サイズはコード生成時に固定しなければなりません。
引数层
は定数でなければなりません。
名前と値のペアの引数'outputas'
のみがサポートされます。値は“渠道”
でなければなりません。
深層学習ニューラルネットワーク用のコードの生成の詳細は,MATLAB编码器を使用した深層学習コード生成のワークフロー(MATLAB编码器)を参照してください。
使用上の注意および制限:
GPUコード生成は,以下の構文をサポートします。
行动=激活(净X层)
ACT =激活(网络,序列,层)
动作=激活(__,名称,值)
入力X
は可変サイズにしないでください。入力のサイズはコード生成時に固定でなければなりません。
cuDNNライブラリはベクトルおよび 2.次元イメージ シーケンスをサポートします。坦索特ライブラリはベクトル入力シーケンスのみをサポートします。臂®计算库
适用于GPUは再帰型ネットワークをししていん。
ベクトルシーケンス入力の場合,特徴の数はコード生成時に定数でなければなりません。シーケンスの長さは可変サイズにできます。
イメージシーケンス入力の場合,高さ,幅,およびチャネル数は,コード生成時に定数でなければなりません。
层
引数は,コード生成時に定数でなければなりません。
コード生成では,名称と値のペアのの数'outputas'
、“MiniBatchSize”
、'seameLength'
、“SequencePaddingDirection”
,および“SequencePaddingValue”
のみがサポートされています。すべての名前と値のペアはコンパイル時の定数でなければなりません。
出力の活性化の形式“渠道”
でなければなりません。
コード生成では,名前と値のペア'seameLength'
のオプションとして“最长”
と“最短”
のみがサポートされています。
関数激活
〖gpu〗生成で,〖prective veriving小数〗型定义定义さてとしてがサポートされます入サポートは。一半
(GPU编码器)を参照してください。
次の MATLABコマンドに対応するリンクがクリックされました。
コマンドを MATLABコマンド ウィンドウに入力して実行してください。网状物ブラウザーは MATLABコマンドをサポートしていません。
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。