Main Content

sequenceUnfoldingLayer

(非推奨) シーケンス展開層

SequenceUnfoldingLayer オブジェクトは推奨されません。dlnetwork オブジェクトとして指定されたほとんどのニューラル ネットワークは、シーケンス折りたたみ層およびシーケンス展開層を必要としません。ほとんどの場合、深層学習層の動作は、折りたたみ層および展開層が存在しない場合の動作と同じになります。そうでない場合、SequenceUnfoldingLayer を使用して下流にある層のデータの次元を操作する代わりに、データを直接操作するカスタム層 functionLayer layer オブジェクトを定義してください。詳細については、バージョン履歴を参照してください。

説明

シーケンス展開層は、シーケンスの折りたたみ後に入力データのシーケンス構造を復元します。

シーケンス展開層を使用するには、対応するシーケンス折りたたみ層の miniBatchSize の出力をシーケンス展開層の miniBatchSize の入力に接続しなければなりません。

作成

説明

layer = sequenceUnfoldingLayer は、シーケンス展開層を作成します。

layer = sequenceUnfoldingLayer('Name',Name) は、シーケンス展開層を作成し、名前と値のペアを使用して、オプションの Name プロパティを設定します。たとえば、sequenceUnfoldingLayer('Name','unfold1') は、'unfold1' という名前のシーケンス展開層を作成します。プロパティ名を一重引用符で囲みます。

プロパティ

すべて展開する

層の名前。文字ベクトルまたは string スカラーとして指定します。Layer 配列入力の場合、関数 trainNetwork は、名前が "" の層に自動的に名前を割り当てます。

SequenceUnfoldingLayer オブジェクトは、このプロパティを文字ベクトルとして格納します。

データ型: char | string

層の入力の数。

この層は 2 つの入力をもちます。

  • 'in' – 入力特徴マップ。

  • 'miniBatchSize' – 対応するシーケンス折りたたみ層からのミニバッチのサイズ。この出力を対応するシーケンス折りたたみ層の 'miniBatchSize' の出力に接続しなければなりません。

データ型: double

層の入力名。

この層は 2 つの入力をもちます。

  • 'in' – 入力特徴マップ。

  • 'miniBatchSize' – 対応するシーケンス折りたたみ層からのミニバッチのサイズ。この出力を対応するシーケンス折りたたみ層の 'miniBatchSize' の出力に接続しなければなりません。

データ型: cell

層からの出力の数。1 として返されます。この層には単一の出力のみがあります。

データ型: double

出力名。{'out'} として返されます。この層には単一の出力のみがあります。

データ型: cell

すべて折りたたむ

シーケンス展開層を作成します。

'unfold1' という名前のシーケンス展開層を作成します。

layer = sequenceUnfoldingLayer('Name','unfold1')
layer = 
  SequenceUnfoldingLayer with properties:

          Name: 'unfold1'
     NumInputs: 2
    InputNames: {'in'  'miniBatchSize'}

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2019a で導入

すべて折りたたむ

R2024a: 非推奨

R2024a 以降、DAGNetwork オブジェクトおよび SeriesNetwork オブジェクトは非推奨となりました。代わりに dlnetwork オブジェクトを使用してください。この推奨により、SequenceUnfoldingLayer オブジェクトも非推奨となります。dlnetwork オブジェクトとして指定されたほとんどのニューラル ネットワークは、シーケンス折りたたみ層およびシーケンス展開層を必要としません。ほとんどの場合、深層学習層の動作は、折りたたみ層および展開層が存在しない場合の動作と同じになります。そうでない場合、SequenceUnfoldingLayer を使用して下流にある層のデータの次元を操作する代わりに、データを直接操作するカスタム層 functionLayer layer オブジェクトを定義してください。カスタム層の詳細については、カスタム深層学習層の定義を参照してください。

DAGNetwork オブジェクト、SeriesNetwork オブジェクト、および SequenceUnfoldingLayer オブジェクトのサポートを削除する予定はありません。ただし、dlnetwork オブジェクトには次の利点があるため、代わりにこのオブジェクトを使うことを推奨します。

  • dlnetwork オブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。

  • dlnetwork オブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。

  • 関数 trainnetdlnetwork オブジェクトをサポートしているため、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。

  • dlnetwork オブジェクトを使用した学習と予測は、通常、LayerGraphtrainNetwork を使用したワークフローよりも高速です。

学習済みの DAGNetwork オブジェクトまたは SeriesNetwork オブジェクトを dlnetwork オブジェクトに変換するには、関数 dag2dlnetwork を使用します。