regressionLayer
(非推奨) 回帰出力層
説明
回帰層は、回帰タスクの半平均二乗誤差損失を計算します。
は、ニューラル ネットワークの回帰出力層を layer = regressionLayerRegressionOutputLayer オブジェクトとして返します。
は、名前と値のペアを使用して、オプションの layer = regressionLayer(Name,Value)Name プロパティおよび ResponseNames プロパティを設定します。たとえば、regressionLayer('Name','output') は、'output' という名前の回帰層を作成します。各プロパティ名を一重引用符で囲みます。
例
回帰出力層を作成します。
'routput' という名前の回帰出力層を作成します。
layer = regressionLayer('Name','routput')
layer =
RegressionOutputLayer with properties:
Name: 'routput'
ResponseNames: {}
Hyperparameters
LossFunction: 'mean-squared-error'
回帰用の既定の損失関数は、平均二乗誤差です。
Layer 配列に回帰出力層を含めます。
layers = [ ...
imageInputLayer([28 28 1])
convolution2dLayer(12,25)
reluLayer
fullyConnectedLayer(1)
regressionLayer]layers =
5x1 Layer array with layers:
1 '' Image Input 28x28x1 images with 'zerocenter' normalization
2 '' 2-D Convolution 25 12x12 convolutions with stride [1 1] and padding [0 0 0 0]
3 '' ReLU ReLU
4 '' Fully Connected 1 fully connected layer
5 '' Regression Output mean-squared-error
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: regressionLayer('Name','output') は、'output' という名前の回帰層を作成します。
層の名前。文字ベクトルまたは string スカラーとして指定します。Layer 配列入力の場合、関数 trainNetwork は、名前が "" の層に自動的に名前を割り当てます。
RegressionOutputLayer オブジェクトは、このプロパティを文字ベクトルとして格納します。
データ型: char | string
応答の名前。文字ベクトルの cell 配列、または string 配列として指定します。学習時に、学習データに従って応答名が自動的に設定されます。既定値は {} です。
データ型: cell
出力引数
回帰出力層。RegressionOutputLayer オブジェクトとして返されます。
詳細
回帰層は、回帰タスクの半平均二乗誤差損失を計算します。 一般的な回帰問題の場合、回帰層が最後の全結合層の後に続かなければなりません。
1 つの観測値の場合、平均二乗誤差は次で求められます。
ここで、R は応答の数、ti はターゲット出力、yi は応答 i に対するネットワークの予測値です。
イメージ回帰ネットワークおよび sequence-to-one 回帰ネットワークの場合、回帰層の損失関数は R で正規化されるのではなく、予測応答の半平均二乗誤差になります。
image-to-image 回帰ネットワークの場合、回帰層の損失関数は R で正規化されるのではなく、各ピクセルの予測応答の半平均二乗誤差になります。
ここで、H、W、および C は、それぞれ出力の高さ、幅、チャネル数を表し、p は t および y の各要素 (ピクセル) に対して線形に付けたインデックスです。
sequence-to-sequence 回帰ネットワークの場合、回帰層の損失関数は R で正規化されるのではなく、各タイム ステップの予測応答の半平均二乗誤差になります。
ここで、S はシーケンス長です。
学習時には、ミニバッチ内の観測値に対する平均損失が計算されます。
拡張機能
使用上の注意および制限:
コード ジェネレーターでは、ロケール設定によって決まる 8 ビット ASCII コードセットで文字が表されます。したがって、クラス名、層の名前、層の説明、またはネットワーク名に非 ASCII 文字を使用すると、エラーが発生する可能性があります。詳細については、コード生成での文字のエンコード (MATLAB Coder)を参照してください。
使用上の注意および制限:
GPU Coder™ を使用して CUDA® または C++ コードを生成するには、最初に深層ニューラル ネットワークを構築して学習させなければなりません。ネットワークの学習と評価が完了したら、コード ジェネレーターを構成してコードを生成し、NVIDIA® または ARM® GPU プロセッサを使用するプラットフォームに畳み込みニューラル ネットワークを展開できます。詳細については、GPU Coder を使用した深層学習 (GPU Coder)を参照してください。
この層向けに、NVIDIA CUDA 深層ニューラル ネットワーク ライブラリ (cuDNN)、NVIDIA TensorRT™ 高性能推論ライブラリ、または Mali GPU 用 ARM
Compute Libraryを利用するコードを生成できます。コード ジェネレーターでは、ロケール設定によって決まる 8 ビット ASCII コードセットで文字が表されます。したがって、クラス名、層の名前、層の説明、またはネットワーク名に非 ASCII 文字を使用すると、エラーが発生する可能性があります。詳細については、コード生成での文字のエンコード (MATLAB Coder)を参照してください。
バージョン履歴
R2017a で導入R2024a 以降、RegressionOutputLayer オブジェクトは非推奨となりました。代わりに、trainnet を使用し、損失関数を "mse" に設定してください。
RegressionOutputLayer オブジェクトのサポートを削除する予定はありません。ただし、関数 trainnet には次の利点があるため、代わりにこの関数を使うことを推奨します。
trainnetはdlnetworkオブジェクトをサポートしています。このオブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。trainnetを使用すると、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。trainnetはdlnetworkオブジェクトを出力します。このオブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。trainnetは、通常、trainNetworkよりも高速です。
関数 trainNetwork と RegressionOutputLayer オブジェクトを組み合わせた代表的な使用法と、代わりに関数 trainnet を使用するためのコードの更新方法を、次の表に示します。
| 非推奨 | 推奨 |
|---|---|
net = trainNetwork(X,T,layers,options)。layers には RegressionOutputLayer オブジェクトが含まれています。 | net = trainnet(X,T,layers,"mse",options);RegressionOutputLayer オブジェクトを使用せずに、layers で同じネットワークを指定しています。 |
net = trainNetwork(data,layers,options)。layers には RegressionOutputLayer オブジェクトが含まれています。 | net = trainnet(data,layers,"mse",options);RegressionOutputLayer オブジェクトを使用せずに、layers で同じネットワークを指定しています。 |
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)