connectLayers
ニューラル ネットワークの層の結合
説明
は、結合元の層 netUpdated
= connectLayers(net
,s
,d
)s
を dlnetwork
オブジェクト net
に含まれる結合先の層 d
に結合します。更新されたネットワーク netUpdated
には net
と同じ層が含まれ、結合が新しく含まれます。
例
加算層の作成と結合
空のニューラル ネットワーク dlnetwork
オブジェクトを作成します。さらに、2 つの入力があり、名前が 'add'
である加算層を追加します。
net = dlnetwork; layer = additionLayer(2,'Name','add'); net = addLayers(net,layer);
ニューラル ネットワークに 2 つの ReLU 層を追加し、これらの層を加算層に結合します。加算層は、ReLU 層の出力の総和を出力します。
layer = reluLayer('Name','relu1'); net = addLayers(net,layer); net = connectLayers(net,'relu1','add/in1'); layer = reluLayer('Name','relu2'); net = addLayers(net,layer); net = connectLayers(net,'relu2','add/in2');
更新されたネットワークをプロットで可視化します。
plot(net)
ニューラル ネットワークのゼロからの作成
入力として与えられた 2 次元イメージの categorical ラベルと数値を両方予測する 2 出力ニューラル ネットワークを定義します。
クラスと応答の数を指定します。
numClasses = 10; numResponses = 1;
空のニューラル ネットワークを作成します。
net = dlnetwork;
ネットワークの主分岐の層、およびソフトマックス出力を定義します。
layers = [ imageInputLayer([28 28 1],Normalization="none") convolution2dLayer(5,16,Padding="same") batchNormalizationLayer reluLayer(Name="relu_1") convolution2dLayer(3,32,Padding="same",Stride=2) batchNormalizationLayer reluLayer convolution2dLayer(3,32,Padding="same") batchNormalizationLayer reluLayer additionLayer(2,Name="add") fullyConnectedLayer(numClasses) softmaxLayer(Name="softmax")]; net = addLayers(net,layers);
スキップ接続を追加します。
layers = [ convolution2dLayer(1,32,Stride=2,Name="conv_skip") batchNormalizationLayer reluLayer(Name="relu_skip")]; net = addLayers(net,layers); net = connectLayers(net,"relu_1","conv_skip"); net = connectLayers(net,"relu_skip","add/in2");
回帰出力用に全結合層を追加します。
layers = fullyConnectedLayer(numResponses,Name="fc_2"); net = addLayers(net,layers); net = connectLayers(net,"add","fc_2");
ニューラル ネットワークをプロットで表示します。
figure plot(net)
入力引数
net
— ニューラル ネットワーク
dlnetwork
オブジェクト
ニューラル ネットワーク。dlnetwork
オブジェクトとして指定します。
s
— 結合元
string スカラー | 文字ベクトル
結合元。文字ベクトルまたは string スカラーとして指定します。
結合元の層に 1 つの出力がある場合、
s
は層の名前です。結合元の層に複数の出力がある場合、
s
は層の名前で、その後に文字"/"
、さらに層出力の名前が続きます ("layerName/outputName"
)。
例: "conv"
例: "mpool/indices"
d
— 結合先
string スカラー | 文字ベクトル
結合先。string スカラーまたは文字ベクトルとして指定します。
結合先の層に 1 つの入力がある場合、
d
は層の名前です。結合先の層に複数の入力がある場合、
d
は層の名前で、その後に文字"/"
、さらに層入力の名前が続きます ("layerName/inputName"
)。
例: "fc"
例: "add/in1"
出力引数
netUpdated
— 更新されたネットワーク
dlnetwork
オブジェクト
更新されたネットワーク。未初期化の dlnetwork
オブジェクトとして返されます。
dlnetwork
オブジェクトの学習可能なパラメーターを初期化するには、関数 initialize
を使用します。
関数 connectLayers
は量子化情報を保持しません。入力ネットワークが量子化されたネットワークであった場合でも、出力ネットワークに量子化情報は含まれません。
バージョン履歴
R2017b で導入R2024a: LayerGraph
オブジェクトは非推奨
R2024a 以降、LayerGraph
オブジェクトは非推奨となりました。代わりに、dlnetwork
オブジェクトを使用してください。この推奨により、、LayerGraph
を入力する次の構文も非推奨となります。
lgraphUpdated = connectLayers(lgraph,s,d)
LayerGraph
オブジェクトをサポートするほとんどの関数は、dlnetwork
オブジェクトもサポートします。LayerGraph
オブジェクトの代表的な使用法と、代わりにオブジェクト関数 dlnetwork
を使用するためのコードの更新方法を、次の表に示します。
非推奨 | 推奨 |
---|---|
lgraph = layerGraph; | net = dlnetwork; |
lgraph = layerGraph(layers); | net = dlnetwork(layers,Initialize=false); |
lgraph = layerGraph(net); | net = dag2dlnetwork(net); |
lgraph = addLayers(lgraph,layers); | net = addLayers(net,layers); |
lgraph = removeLayers(lgraph,layerNames); | net = removeLayers(net,layerNames); |
lgraph = replaceLayer(lgraph,layerName,layers); | net = replaceLayer(net,layerName,layers); |
lgraph = connectLayers(lgraph,s,d); | net = connectLayers(net,s,d); |
lgraph = disconnectLayers(lgraph,s,d); | net = disconnectLayers(net,s,d); |
plot(lgraph); | plot(net); |
dlnetwork
オブジェクトとして指定されたニューラル ネットワークに学習させるには、関数 trainnet
を使用します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)