主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

getL2Factor

層の学習可能なパラメーターのL2正則化係数の取得

説明

因素= getL2Factor (parameterNameは,parameterNameという名前のパラメーターのL2正則化係数を返します。

組み込みの層の場合,対応するプロパティを使用してL2正則化係数を直接取得できます。たとえば,convolution2dLayer層の場合,構文因素= getL2Factor(层,“权重”)因素=层。WeightL2Factorと等価です。

因素= getL2Factor (parameterPathは,パスparameterPathで指定されたパラメーターのL2正則化係数を返します。この構文は,パラメーターがカスタム層のdlnetworkオブジェクトにあるときに使用します。

因素= getL2Factor (dlnetlayerNameparameterNameは,指定されたdlnetworkオブジェクトのlayerNameという名前の層の,parameterNameという名前のパラメーターのL2正則化係数を返します。

因素= getL2Factor (dlnetparameterPathは,パスparameterPathで指定されたパラメーターのL2正則化係数を返します。この構文は,パラメーターが入れ子の層にあるときに使用します。

すべて折りたたむ

層の学習可能なパラメーターのL2正則化係数を設定および取得します。

カスタムPReLU層を定義します。この層を作成するには,ファイルpreluLayer.mを現在のフォルダーに保存します。

カスタム層preluLayerを含む層配列を作成します。

层= [...imageInputLayer([28 28 1])卷积2dlayer (5,20) batchNormalizationLayer preluLayer(20, 20)“prelu”) fulllyconnectedlayer (10) softmaxLayer classificationLayer;

preluLayerの学習可能なパラメーター“α”のL2正則化係数を2に設定します。

层(4)= setL2Factor(层(4),“α”2);

更新されたL2正則化係数を表示します。

因素= getL2Factor(层(4),“α”
因素= 2

入れ子層の学習可能なパラメーターのL2正則化係数を設定して取得します。

この例にサポートファイルとして添付されているカスタム層residualBlockLayerを使用して,残差ブロック層を作成します。このファイルにアクセスするには,この例をライブスクリプトとして開きます。

numFilters = 64;层= residualBlockLayer (numFilters)
“Learnable Parameters Network: [1x1 dlnetwork] Show all properties .

入れ子ネットワークの層を表示します。

layer.Network.Layers
ans = 7x1 Layer array with layers:64 3 x3的conv1卷积运算与步幅[1]和填充“相同”2“gn1”集团标准化规范化3‘relu1 ReLU ReLU 4 conv2卷积64 3 x3的隆起与步幅[1]和填充“相同”5“gn2”集团标准化规范化6‘添加’除了Element-wise添加2输入7‘relu2 ReLU ReLU

関数setL2Factorを使用して層“conv1”の学習可能なパラメーター“重量”のL2正則化係数を2に設定します。

因素= 2;一层一层= setL2Factor (,“网络/ conv1 /重量”、因素);

関数getL2Factorを使用して,更新されたL2正則化係数を取得します。

因素= getL2Factor(层,“网络/ conv1 /重量”
因素= 2

dlnetworkオブジェクトの学習可能なパラメーターのL2正則化係数を設定して取得します。

dlnetworkオブジェクトを作成します。

[imageInputLayer([28 28 1],]),“归一化”“没有”“名字”“在”20岁的)convolution2dLayer (5“名字”“conv”) batchNormalizationLayer (“名字”bn的) reluLayer (“名字”“relu”) fullyConnectedLayer (10“名字”“俱乐部”) softmaxLayer (“名字”“sm”));lgraph = layerGraph(层);dlnet = dlnetwork (lgraph);

関数setL2Factorを使用して,畳み込み層の“重量”学習可能パラメーターのL2正則化係数を2に設定します。

因素= 2;dlnet = setL2Factor (dlnet,“conv”“重量”、因素);

関数getL2Factorを使用して,更新されたL2正則化係数を取得します。

因素= getL2Factor (dlnet,“conv”“重量”
因素= 2

dlnetworkオブジェクトの入れ子層の学習可能なパラメーターのL2正則化係数を設定して取得します。

この例にサポートファイルとして添付されているカスタム層residualBlockLayerを含むdlnetworkオブジェクトを作成します。このファイルにアクセスするには,この例をライブスクリプトとして開きます。

inputSize = [224 224 3];numFilters = 32;numClasses = 5;[imageInputLayer(inputSize,“归一化”“没有”“名字”“在”numFilters) convolution2dLayer(7日,“步”2,“填充”“相同”“名字”“conv”) groupNormalizationLayer (所有渠道的“名字”“gn”) reluLayer (“名字”“relu”) maxPooling2dLayer (3“步”2,“名字”“马克斯”) residualBlockLayer (numFilters“名字”“res1”) residualBlockLayer (numFilters“名字”“它”) residualBlockLayer (2 * numFilters,“步”2,“IncludeSkipConvolution”,真的,“名字”“res3”) residualBlockLayer (2 * numFilters,“名字”“res4”) residualBlockLayer (4 * numFilters,“步”2,“IncludeSkipConvolution”,真的,“名字”“res5”) residualBlockLayer (4 * numFilters,“名字”“res6”) globalAveragePooling2dLayer (“名字”“差距”) fullyConnectedLayer (numClasses“名字”“俱乐部”) softmaxLayer (“名字”“sm”));dlnet = dlnetwork(层);

dlnetworkオブジェクトの可学的プロパティは,ネットワークの学習可能なパラメーターが格納された表です。この表には,入れ子層のパラメーターが別々の行に含まれています。層“res1”の学習可能なパラメーターを表示します。

可学的= dlnet.Learnables;idx =可学的。层= =“res1”;可学的(idx:)
ans =8×3表层参数值______ _______________________ ___________________ "res1" "Network/conv1/Weights" {3x3x32x32 dlarray} "res1" "Network/conv1/Bias" {1x1x32 dlarray} "res1" "Network/gn1/Offset" {1x1x32 dlarray} "res1" "Network/gn1/Scale" {1x1x32 dlarray} "res1" "Network/conv2/Weights" {3x3x32x32 dlarray} "res1" "Network/conv2/Weights" {3x3x32x32 dlarray} "res1" "Network/conv2/Bias" {1x1x32 dlarray"res1" "Network/gn2/Offset" {1x1x32 dlarray} "res1" "Network/gn2/Scale" {1x1x32 dlarray}

“res1”について,関数setL2Factorを使用して層“conv1”の学習可能なパラメーター“重量”のL2正則化係数を2に設定します。

因素= 2;dlnet = setL2Factor (dlnet,“res1 /网络/ conv1 /重量”、因素);

関数getL2Factorを使用して,更新されたL2正則化係数を取得します。

因素= getL2Factor (dlnet,“res1 /网络/ conv1 /重量”
因素= 2

入力引数

すべて折りたたむ

入力層。スカラーオブジェクトとして指定します。

パラメーター名。文字ベクトルまたは string スカラーとして指定します。

入れ子層のパラメーターへのパス。字符串スカラーまたは文字ベクトルとして指定します。入れ子層は、それ自体が層グラフを学習可能なパラメーターとして定義するカスタム層です。

getL2Factorへの入力が入れ子層である場合,パラメーターパスは“propertyName / layerName / parameterName”の形式になります。ここで,以下のようになります。

  • propertyNameは,dlnetworkオブジェクトが格納されたプロパティの名前

  • layerNameは,dlnetworkオブジェクト内の層の名前

  • parameterNameは,パラメーターの名前

入れ子層のレベルが複数ある場合は,“propertyName1 / layerName1 /…/ propertyNameN / layerNameN / parameterName”の形式で各レベルを指定します。ここで,propertyName1layerName1は関数getL2Factorに対する入力の層に対応し,後続の部分はさらに深層のレベルに対応します。

例:getL2Factorに対する層入力では,パス“网络/ conv1 /重量”が,层。网络によって指定されたdlnetworkオブジェクト内の“conv1”という名前の層の“重量”パラメーターを指定します。

getL2Factorに対する入力がdlnetworkオブジェクトであり,目的のパラメーターが入れ子層の中にある場合,パラメーターパスは“layerName1 / propertyName / layerName / parameterName”の形式になります。ここで,以下のようになります。

  • layerName1は,入力dlnetworkオブジェクト内の層の名前

  • propertyNameは,dlnetworkオブジェクトが格納された層のプロパティ

  • layerNameは,dlnetworkオブジェクト内の層の名前

  • parameterNameは,パラメーターの名前

入れ子層のレベルが複数ある場合は,“layerName1 / propertyName1 /…/ layerNameN / propertyNameN / layerName / parameterName”の形式で各レベルを指定します。ここで,layerName1propertyName1は関数getL2Factorに対する入力の層に対応し,後続の部分はさらに深層のレベルに対応します。

例:getL2Factorに対するdlnetwork入力では,パス“res1 /网络/ conv1 /重量”が,层。网络によって指定されたdlnetworkオブジェクト内の“conv1”という名前の層の“重量”パラメーターを指定します。ここでは入力ネットワークdlnet“res1”という名前の層です。

データ型:字符|字符串

カスタム学習ループのネットワーク。dlnetworkオブジェクトとして指定します。

層の名前。字符串スカラーまたは文字ベクトルとして指定します。

データ型:字符|字符串

出力引数

すべて折りたたむ

パラメーターのL2正則化係数。非負のスカラーとして返されます。

この係数にグローバルL2正則化係数が乗算されて,指定されたパラメーターのL2正則化が決定されます。たとえば,因素が2の場合,指定されたパラメーターのL2正則化は現在のグローバルL2正則化の2倍になります。関数trainingOptionsで指定された設定に基づいて,グローバルL2正則化が決定されます。

R2017bで導入