メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

深層学習層の一覧

このページは、MATLAB® にあるすべての深層学習層の一覧を提供します。

さまざまなタスクで層からネットワークを作成する方法については、以下の例を参照してください。

タスク詳細
イメージの分類または回帰用の深層学習ネットワークを作成します。

分類用のシンプルな深層学習ニューラル ネットワークの作成

回帰用の畳み込みニューラル ネットワークの学習

イメージ分類用の残差ネットワークの学習

シーケンスおよび時系列データ用の深層学習ネットワークを作成します。

深層学習を使用したシーケンスの分類

深層学習を使用した時系列予測

オーディオ データ用の深層学習ネットワークを作成します。深層学習を使用した音声コマンド認識モデルの学習
テキスト データ用の深層学習ネットワークを作成します。

深層学習を使用したテキスト データの分類

深層学習を使用したテキストの生成

深層学習層

さまざまな層のタイプを作成するには、以下の関数を使用します。または、ディープ ネットワーク デザイナー アプリを使用してネットワークを対話形式で作成します。

独自のカスタム層を定義する方法については、カスタム深層学習層の定義を参照してください。

入力層

アイコン説明

Input layers icon

imageInputLayer

イメージ入力層は、ニューラル ネットワークに 2 次元イメージを入力し、データ正規化を適用します。

image3dInputLayer

3 次元イメージ入力層は、ニューラル ネットワークに 3 次元イメージまたは 3 次元ボリュームを入力し、データ正規化を適用します。

sequenceInputLayer

シーケンス入力層は、シーケンス データをニューラル ネットワークに入力し、データ正規化を適用します。

featureInputLayer

特徴入力層は、特徴データをニューラル ネットワークに入力し、データ正規化を適用します。特徴 (空間次元または時間次元のないデータ) を表す数値スカラーのデータ セットがある場合は、この層を使用します。

inputLayer

入力層は、形式を整えていないデータまたはカスタム形式のデータをニューラル ネットワークに入力します。

pointCloudInputLayer (Lidar Toolbox)

点群入力層は、ネットワークに 3 次元点群を入力し、データ正規化を適用します。2 次元 LiDAR スキャンなどの点群データを入力することもできます。

畳み込み層と全結合層

アイコン説明

Convolution and fully connected layers icon

convolution1dLayer

1 次元畳み込み層は、1 次元入力にスライディング畳み込みフィルターを適用します。

convolution2dLayer

2 次元畳み込み層は、2 次元入力にスライディング畳み込みフィルターを適用します。

convolution3dLayer

3 次元畳み込み層は、3 次元入力にスライディング直方体畳み込みフィルターを適用します。

groupedConvolution2dLayer

グループ化された 2 次元畳み込み層は、入力チャネルをグループに分けて、スライディング畳み込みフィルターを適用します。チャネル方向に分離可能な (深さ方向に分離可能とも呼ばれる) 畳み込みには、グループ化された畳み込み層を使用します。

transposedConv1dLayer

1 次元転置畳み込み層では 1 次元の特徴マップがアップサンプリングされます。

transposedConv2dLayer

2 次元転置畳み込み層では 2 次元の特徴マップがアップサンプリングされます。

transposedConv3dLayer

3 次元転置畳み込み層では 3 次元の特徴マップがアップサンプリングされます。

fullyConnectedLayer

全結合層は、入力に重み行列を乗算し、バイアス ベクトルを加算します。

シーケンス層

アイコン説明

Sequence layers icon

sequenceInputLayer

シーケンス入力層は、シーケンス データをニューラル ネットワークに入力し、データ正規化を適用します。

lstmLayer

LSTM 層は、時系列データおよびシーケンス データのタイム ステップ間の長期的な依存関係を学習する RNN 層です。

lstmProjectedLayer

LSTM 投影層は、投影された学習可能な重みを使用して、時系列データおよびシーケンス データのタイム ステップ間の長期的な依存関係を学習する RNN 層です。

bilstmLayer

双方向 LSTM (BiLSTM) 層は、時系列データまたはシーケンス データのタイム ステップ間の双方向の長期的な依存関係を学習する RNN 層です。これらの依存関係は、各タイム ステップで時系列全体から RNN に学習させる場合に役立ちます。

gruLayer

GRU 層は、時系列データおよびシーケンス データのタイム ステップ間の依存関係を学習する RNN 層です。

gruProjectedLayer

GRU 投影層は、投影された学習可能な重みを使用して、時系列データおよびシーケンス データのタイム ステップ間の依存関係を学習する RNN 層です。

convolution1dLayer

1 次元畳み込み層は、1 次元入力にスライディング畳み込みフィルターを適用します。

transposedConv1dLayer

1 次元転置畳み込み層では 1 次元の特徴マップがアップサンプリングされます。

maxPooling1dLayer

1 次元最大プーリング層は、入力を 1 次元のプーリング領域に分割し、各領域の最大値を計算することによって、ダウンサンプリングを実行します。

averagePooling1dLayer

1 次元平均プーリング層は、入力を 1 次元のプーリング領域に分割し、各領域の平均値を計算することによって、ダウンサンプリングを実行します。

globalMaxPooling1dLayer

1 次元グローバル最大プーリング層は、入力の時間次元または空間次元の最大値を出力することによって、ダウンサンプリングを実行します。

flattenLayer

フラット化層は、入力の空間次元を折りたたんでチャネルの次元にします。

wordEmbeddingLayer (Text Analytics Toolbox)

単語埋め込み層は、単語インデックスをベクトルにマッピングします。

peepholeLSTMLayer (カスタム層の例)

Peephole LSTM 層は LSTM 層のバリアントであり、ゲート計算で層のセル状態が使用されるようにするためのものです。

活性化層

アイコン説明

Activation layers icon

reluLayer

ReLU 層は、入力の各要素に対してしきい値処理を実行し、値がゼロよりも小さい場合はゼロに設定します。

leakyReluLayer

leaky ReLU 層は、しきい値処理を実行し、入力値がゼロよりも小さい場合は固定のスカラーによって乗算します。

clippedReluLayer

クリップされた ReLU 層は、しきい値処理を実行し、入力値がゼロよりも小さい場合はゼロに設定して、値が "クリップ上限" を超える場合はそのクリップ上限に設定します。

eluLayer

ELU 活性化層は、正の入力に対して恒等演算を実行し、負の入力に対して非線形となる指数演算を実行します。

geluLayer

ガウス誤差線形単位 (GELU) 層は、ガウス確率分布に従って入力を重み付けします。

tanhLayer

双曲線正接 (tanh) 活性化層は、層の入力に対して tanh 関数を適用します。

swishLayer

Swish 活性化層は、層の入力に対して Swish 関数を適用します。

softplusLayer

ソフトプラス層は、層の入力に対してソフトプラス活性化関数を適用します。

softmaxLayer

ソフトマックス層は、入力にソフトマックス関数を適用します。

sigmoidLayer

シグモイド層は、出力が区間 (0,1) の範囲に収まるように、シグモイド関数を入力に適用します。
complexReluLayer複素 ReLU 層は、入力の実数部と虚数部に対してしきい値演算を実行し、ゼロ未満の値をすべてゼロに設定します。

functionLayer

関数層は、指定された関数を層の入力に適用します。

preluLayer

PReLU 層はしきい値処理を実行します。各チャネルについて、入力値がゼロよりも小さい場合は、学習時に得られたスカラーによって乗算されます。

sreluLayer (カスタム層の例)

SReLU 層は、しきい値処理演算を実行します。ここで、層は各チャネルについて、区間外の値をスケーリングします。区間しきい値とスケーリング係数は学習可能なパラメーターです。

dlhdl.layer.mishLayer (Deep Learning HDL Toolbox)

Mish 活性化層は、層の入力に対して Mish 関数を適用します。

正規化層

アイコン説明

Activation layers icon

batchNormalizationLayer

バッチ正規化層は、観測値全体におけるデータ ミニバッチの正規化を、各チャネルについて個別に行います。畳み込みニューラル ネットワークの学習速度を上げ、ネットワークの初期化に対する感度を下げるには、畳み込み層の間にあるバッチ正規化層と、ReLU 層などの非線形性を使用します。

groupNormalizationLayer

グループ正規化層は、グループ化されたチャネル サブセット全体におけるデータのミニバッチの正規化を、各観測値について個別に行います。畳み込みニューラル ネットワークの学習速度を上げ、ネットワークの初期化に対する感度を下げるには、畳み込み層の間にあるグループ正規化層と、ReLU 層などの非線形性を使用します。

instanceNormalizationLayer

インスタンス正規化層は、各チャネル全体におけるデータのミニバッチの正規化を、各観測値について個別に行います。畳み込みニューラル ネットワークの学習の収束性能を上げ、ネットワークのハイパーパラメーターに対する感度を下げるには、畳み込み層の間にあるインスタンス正規化層と、ReLU 層などの非線形性を使用します。

layerNormalizationLayer

レイヤー正規化層は、すべてのチャネル全体におけるデータのミニバッチの正規化を、各観測値について個別に行います。再帰型多層パーセプトロン ニューラル ネットワークの学習速度を上げ、ネットワークの初期化に対する感度を下げるには、LSTM 層や全結合層などの学習可能な層の後に、レイヤー正規化層を使用します。

crossChannelNormalizationLayer

チャネル単位の局所応答 (クロスチャネル) 正規化層は、チャネル単位の正規化を行います。

ユーティリティ層

アイコン説明
Utility layers icon

dropoutLayer

ドロップアウト層は、与えられた確率でランダムに、入力要素をゼロに設定します。

spatialDropoutLayer

空間ドロップアウト層は、与えられた確率で入力チャネルをランダムに選択し、学習中にそのすべての要素をゼロに設定します。

crop2dLayer

2 次元切り取り層は、入力に 2 次元のトリミングを適用します。

crop3dLayer

3 次元切り取り層は、3 次元ボリュームをトリミングし入力特徴マップのサイズにします。
identityLayer 恒等層は、出力が入力と同一である層です。恒等層を使用して "スキップ接続" を作成できます。これにより、ニューラル ネットワークのメイン ブランチ内にある 1 つ以上の層で入力をスキップさせることができます。スキップ接続の詳細については、More Aboutを参照してください。

networkLayer

ネットワーク層は、入れ子になったネットワークを格納します。ネットワーク層を使用すると、繰り返しコンポーネントを含む大規模なネットワークの構築がシンプルになります。

complexToRealLayer

複素数-実数変換層は、指定された次元のデータを分割し、複素数値データを実数値データに変換します。

realToComplexLayer

実数-複素数変換層は、指定された次元のデータを結合し、実数値データを複素数値データに変換します。
reshapeLayer形状変更層は、指定されたサイズになるようにデータの形状を変更します。
permuteLayer並べ替え層は、データの次元を並べ替えます。

scalingLayer

スケーリング層は、入力データの線形スケーリングとオフセット処理を行います。

quadraticLayer

二次層は、入力の要素 (2 次単項式) のペアごとの積を計算します。

stftLayer (Signal Processing Toolbox)

STFT 層は、入力の短時間フーリエ変換を計算します。

istftLayer (Signal Processing Toolbox)

ISTFT 層は、入力の逆短時間フーリエ変換を計算します。

cwtLayer (Wavelet Toolbox)

CWT 層は、入力の連続ウェーブレット変換を計算します。

icwtLayer (Wavelet Toolbox)

ICWT 層は、入力の逆連続ウェーブレット変換を計算します。

modwtLayer (Wavelet Toolbox)

MODWT 層は、入力の最大重複離散ウェーブレット変換 (MODWT) と MODWT 多重解像度解析 (MRA) を計算します。

サイズ変更層

アイコン説明
Resizing layers icon

resize2dLayer (Image Processing Toolbox)

2 次元サイズ変更層は、指定された高さと幅、または参照入力特徴マップのサイズに合わせて、スケール係数により、2 次元入力のサイズを変更します。

resize3dLayer (Image Processing Toolbox)

3 次元サイズ変更層は、指定された高さ、幅、および深さ、または参照入力特徴マップのサイズに合わせて、スケール係数により、3 次元入力のサイズを変更します。
dlhdl.layer.reshapeLayer (Deep Learning HDL Toolbox)形状変更層は、層の活性化データの形状を変更します。

プーリング層と逆プーリング層

アイコン説明

Pooling and unpooling layers icon

averagePooling1dLayer

1 次元平均プーリング層は、入力を 1 次元のプーリング領域に分割し、各領域の平均値を計算することによって、ダウンサンプリングを実行します。

averagePooling2dLayer

2 次元平均プーリング層は、入力を矩形のプーリング領域に分割し、各領域の平均を計算することによって、ダウンサンプリングを実行します。

averagePooling3dLayer

3 次元平均プーリング層は、3 次元入力を直方体のプーリング領域に分割し、各領域の平均値を計算することによって、ダウンサンプリングを実行します。

adaptiveAveragePooling2dLayer

2 次元適応平均プーリング層は、入力を矩形のプーリング領域に分割し、各領域の平均を計算することによって、ダウンサンプリングを実行して目的の出力サイズを提供します。

globalAveragePooling1dLayer

1 次元グローバル平均プーリング層は、入力の時間次元または空間次元の平均を出力することによって、ダウンサンプリングを実行します。

globalAveragePooling2dLayer

2 次元グローバル平均プーリング層は、入力の高さおよび幅の次元の平均を計算することによって、ダウンサンプリングを実行します。

globalAveragePooling3dLayer

3 次元グローバル平均プーリング層は、入力の高さ、幅、および深さの次元の平均を計算することによって、ダウンサンプリングを実行します。

maxPooling1dLayer

1 次元最大プーリング層は、入力を 1 次元のプーリング領域に分割し、各領域の最大値を計算することによって、ダウンサンプリングを実行します。

maxPooling2dLayer

2 次元最大プーリング層は、入力を矩形のプーリング領域に分割し、各領域の最大値を計算することによって、ダウンサンプリングを実行します。

maxPooling3dLayer

3 次元最大プーリング層は、3 次元入力を直方体のプーリング領域に分割し、各領域の最大値を計算することによって、ダウンサンプリングを実行します。

globalMaxPooling1dLayer

1 次元グローバル最大プーリング層は、入力の時間次元または空間次元の最大値を出力することによって、ダウンサンプリングを実行します。

globalMaxPooling2dLayer

2 次元グローバル最大プーリング層は、入力の高さおよび幅の次元の最大値を計算することによって、ダウンサンプリングを実行します。

globalMaxPooling3dLayer

3 次元グローバル最大プーリング層は、入力の高さ、幅、および深さの次元の最大値を計算することによって、ダウンサンプリングを実行します。

maxUnpooling2dLayer

2 次元最大逆プーリング層は、2 次元最大プーリング層の出力を逆プーリングします。

結合層

アイコン説明

Combination layers icon

additionLayer

加算層は、複数のニューラル ネットワーク層からの入力を要素単位で加算します。

multiplicationLayer

乗算層は、複数のニューラル ネットワーク層からの入力を要素単位で乗算します。

depthConcatenationLayer

深さ連結層は、高さと幅が同じ入力を取り、チャネル次元に沿ってこれらを連結します。

concatenationLayer

連結層は入力を取り、指定された次元に沿って入力を連結します。入力のサイズは、連結の次元を除き、すべての次元で同じでなければなりません。

weightedAdditionLayer (カスタム層の例)

重み付き加算層は、複数のニューラル ネットワーク層からの入力を要素単位でスケーリングして加算します。

dlhdl.layer.splitLayer (Deep Learning HDL Toolbox)

分割層は、層出力をイメージのチャネル次元に沿って均等に分割します。

トランスフォーマー層

アイコン説明

Transformer layers icon

selfAttentionLayer

自己注意層は、入力のシングルヘッドまたはマルチヘッドの自己注意を計算します。

attentionLayer

ドット積注意層は、重み付き乗算演算を使用して入力の一部に焦点を当てます。

positionEmbeddingLayer

位置埋め込み層は、シーケンシャル インデックスまたは空間インデックスをベクトルにマッピングします。

sinusoidalPositionEncodingLayer

正弦波位置符号化層は、正弦関数演算を使用して位置インデックスをベクトルにマッピングします。

embeddingConcatenationLayer

埋め込み連結層は、層の入力と埋め込みベクトルを連結によって結合します。

indexing1dLayer

1 次元インデックス層は、入力データの時間次元または空間次元から、指定したインデックスのデータを抽出します。

patchEmbeddingLayer (Computer Vision Toolbox)

パッチ埋め込み層は、ピクセルのパッチをベクトルにマッピングします。

ニューラル ODE 層

アイコン説明

Neural ODE layers icon

neuralODELayer

ニューラル ODE 層は ODE の解を出力します。

オブジェクト検出層

アイコン説明

Object detection layers icon

roiMaxPooling2dLayer (Computer Vision Toolbox)

ROI 最大プーリング層は、入力の特徴マップ内のすべての四角形 ROI に対して固定サイズの特徴マップを出力します。Fast R-CNN オブジェクトまたは Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

roiAlignLayer (Computer Vision Toolbox)

ROI 配置層は、入力の特徴マップ内のすべての四角形 ROI に対して固定サイズの特徴マップを出力します。Mask R-CNN ネットワークを作成するには、この層を使用します。

ssdMergeLayer (Computer Vision Toolbox)

SSD マージ層は、後続の回帰や分類の損失計算に使用する特徴マップの出力をマージします。

yolov2TransformLayer (Computer Vision Toolbox)

You Only Look Once version 2 (YOLO v2) ネットワークの変換層は、グラウンド トゥルースの境界内に収まるようにネットワーク内の最終畳み込み層の境界ボックス予測を変換します。YOLO v2 ネットワークの安定性を改善するには、この変換層を使用します。

spaceToDepthLayer (Image Processing Toolbox)

空間から深さへの変換層は、入力の空間ブロックを深さの次元に置換します。特徴データを破棄することなく、異なるサイズの特徴マップを組み合わせる必要がある場合は、この層を使用します。

depthToSpace2dLayer (Image Processing Toolbox)

深さから空間への 2 次元の変換層は、深さの次元のデータを 2 次元の空間データのブロックに置換します。

dlhdl.layer.sliceLayer (Deep Learning HDL Toolbox)

スライス層は、層への入力をイメージのチャネル次元に沿って同じ数のグループに分割します。

参考

| | |

トピック