additionLayer
R2026b説明
加算層は、複数のニューラル ネットワーク層からの入力を要素単位で加算します。
作成
説明
入力引数
層への入力の数。2 以上の正の整数として指定します。
入力の名前は 'in1'、'in2'、'inN' になります。N は入力の数です。たとえば、入力の数が 3 である場合、入力の名前は 'in1'、'in2'、および 'in3' になります。関数 connectLayers または disconnectLayers を使用して層の結合または切り離しを行うときには、入力名を使用します。
この引数は NumInputs プロパティを設定します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
プロパティ
このプロパティは、オブジェクト作成後、読み取り専用になります。AdditionLayer オブジェクトを作成する場合、このプロパティを設定するには、対応する位置入力の引数を使用します。
層への入力の数。2 以上の正の整数として表されます。
入力の名前は 'in1'、'in2'、'inN' になります。N は入力の数です。たとえば、入力の数が 3 である場合、入力の名前は 'in1'、'in2'、および 'in3' になります。関数 connectLayers または disconnectLayers を使用して層の結合または切り離しを行うときには、入力名を使用します。
データ型: double
この プロパティ は読み取り専用です。
入力名。{'in1','in2',...,'inN'} として表されます。ここで、N は層の入力の数です。
データ型: cell
この プロパティ は読み取り専用です。
層からの出力の数。1 として表されます。この層には単一の出力のみがあります。
データ型: double
この プロパティ は読み取り専用です。
出力名。{'out'} として表されます。この層には単一の出力のみがあります。
例
空のニューラル ネットワーク 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)

アルゴリズム
層配列内または層グラフ内の大半の層は、形式を整えた dlarray オブジェクトとして後続の層にデータを渡します。dlarray オブジェクトの形式は文字列で、各文字はデータ内の対応する次元を表します。この形式には次の文字が 1 つ以上含まれています。
"S"— 空間"C"— チャネル"B"— バッチ"T"— 時間"U"— 指定なし
たとえば、4 次元配列として表された 2 次元イメージ データがあり、最初の 2 つの次元がイメージの空間次元に対応し、3 番目の次元がイメージのチャネルに対応し、4 番目の次元がバッチ次元に対応している場合、このイメージ データは "SSCB" (空間、空間、チャネル、バッチ) という形式で記述できます。
以下などの自動微分ワークフローで、これらの dlarray オブジェクトを操作できます。
カスタム層を開発する
functionLayerオブジェクトを使用する
次の表は、AdditionLayer オブジェクトでサポートされている入力形式、および対応する出力形式を示しています。ソフトウェアが nnet.layer.Formattable クラスを継承していないカスタム層、または Formattable プロパティが 0 (false) に設定された FunctionLayer オブジェクトに層の出力を渡す場合、その層は形式を整えていない dlarray オブジェクトを受け取り、この表に示された形式に従って次元が並べられます。ここには層がサポートする形式の一部の形式のみを示します。層では、追加の "S" (空間) 次元または "U" (未指定) 次元をもつ形式など、追加の形式がサポートされている場合があります。
| 入力形式 | 出力形式 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
複数の入力形式に同じラベルが含まれている場合、各入力に対応するデータは、大きさが 1 であるか、大きさが 1 でない他の入力のデータと同じサイズでなければなりません。入力形式に複数の U ラベルまたは S ラベルが含まれている場合、additionLayer は、ラベルの出現順序に従って、各ラベルを他の入力形式に含まれるラベルに一致させます。
dlnetwork オブジェクトでは、AdditionLayer オブジェクトもこれらの入力形式と出力形式の組み合わせをサポートします。
| 入力形式 | 出力形式 |
|---|---|
|
|
|
|
|
|
|
|
AdditionLayer オブジェクトは、複素数値の入力と出力をサポートします (R2024a 以降)。この層は、複素数値の入力に対して実数値の入力に対する演算と同じように基となる演算を適用し、結果が複素数となった場合は複素数値のデータを出力します。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
バージョン履歴
R2017b で導入AdditionLayer オブジェクトは、複素数値の入力と出力をサポートします。この層は、複素数値の入力に対して実数値の入力に対する演算と同じように基となる演算を適用し、結果が複素数となった場合は複素数値のデータを出力します。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)