Main Content

深層学習層の一覧

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

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

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

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

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

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

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

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

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

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

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

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

深層学習層

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

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

入力層

説明

imageInputLayer

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

image3dInputLayer

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

sequenceInputLayer

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

featureInputLayer

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

inputLayer

入力層は、カスタム形式でデータをニューラル ネットワークに入力します。

pointCloudInputLayer (Lidar Toolbox)

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

roiInputLayer (Computer Vision Toolbox)

ROI 入力層は、Fast R-CNN オブジェクト検出ネットワークにイメージを入力します。

畳み込み層と全結合層

説明

convolution1dLayer

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

convolution2dLayer

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

convolution3dLayer

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

groupedConvolution2dLayer

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

transposedConv2dLayer

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

transposedConv3dLayer

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

fullyConnectedLayer

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

シーケンス層

説明

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

sequenceFoldingLayer

シーケンス折りたたみ層は、イメージ シーケンスのバッチをイメージのバッチに変換します。シーケンス折りたたみ層を使用して、畳み込み演算をイメージ シーケンスのタイム ステップごとに個別に実行します。

sequenceUnfoldingLayer

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

flattenLayer

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

wordEmbeddingLayer (Text Analytics Toolbox)

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

peepholeLSTMLayer (カスタム層の例)

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

活性化層

説明

reluLayer

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

leakyReluLayer

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

clippedReluLayer

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

eluLayer

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

geluLayer

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

tanhLayer

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

swishLayer

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

softplusLayer (Reinforcement Learning Toolbox)

ソフトプラス層は、出力が必ず常に正であるようにするソフトプラス活性化関数 Y = log(1 + eX) を適用します。この活性化関数は、reluLayer の滑らかで連続的なバージョンです。ユーザーが定義した深層ニューラル ネットワークにこの層を組み込んで、強化学習エージェントのアクターとして使用できます。この層は、標準偏差出力が正でなければならない連続ガウス方策深層ニューラル ネットワークを作成する場合に役立ちます。

functionLayer

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

preluLayer (カスタム層の例)

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

正規化層

説明

batchNormalizationLayer

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

groupNormalizationLayer

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

instanceNormalizationLayer

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

layerNormalizationLayer

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

crossChannelNormalizationLayer

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

ユーティリティ層

説明

dropoutLayer

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

crop2dLayer

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

crop3dLayer

3 次元切り取り層は、3 次元ボリュームをトリミングし入力特徴マップのサイズにします。

scalingLayer (Reinforcement Learning Toolbox)

スケーリング層は、入力配列 U の線形スケーリングと線形バイアス処理を行い、Y = Scale.*U + Bias を出力します。ユーザーが定義した深層ニューラル ネットワークにこの層を組み込んで、強化学習エージェントのアクターまたはクリティックとして使用できます。この層は、tanhLayer やシグモイドなどの非線形層の出力のスケーリングとシフトを行う場合に役立ちます。

quadraticLayer (Reinforcement Learning Toolbox)

二次層は、入力ベクトルを受け取り、入力要素から構築された 2 次単項式のベクトルを出力します。この層は、出力が入力に対する二次関数である層が必要な場合に役立ちます。たとえば、LQR コントローラーの設計で使用されるような 2 次値関数の構造体を再作成する場合です。

stftLayer (Signal Processing Toolbox)

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

cwtLayer (Wavelet Toolbox)

CWT 層は、入力の CWT を計算します。

modwtLayer (Wavelet Toolbox)

MODWT 層は、入力の MODWT および MODWT 多重解像度解析 (MRA) を計算します。

サイズ変更層

説明

resize2dLayer (Image Processing Toolbox)

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

resize3dLayer (Image Processing Toolbox)

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

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

説明

averagePooling1dLayer

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

averagePooling2dLayer

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

averagePooling3dLayer

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

globalAveragePooling1dLayer

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

globalAveragePooling2dLayer

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

globalAveragePooling3dLayer

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

maxPooling1dLayer

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

maxPooling2dLayer

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

maxPooling3dLayer

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

globalMaxPooling1dLayer

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

globalMaxPooling2dLayer

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

globalMaxPooling3dLayer

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

maxUnpooling2dLayer

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

結合層

説明

additionLayer

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

multiplicationLayer

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

depthConcatenationLayer

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

concatenationLayer

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

weightedAdditionLayer (カスタム層の例)

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

トランスフォーマー層

説明

selfAttentionLayer

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

positionEmbeddingLayer

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

sinusoidalPositionEncodingLayer

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

embeddingConcatenationLayer

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

indexing1dLayer

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

patchEmbeddingLayer (Computer Vision Toolbox)

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

ニューラル ODE 層

説明

neuralODELayer

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

オブジェクト検出層

説明

roiInputLayer (Computer Vision Toolbox)

ROI 入力層は、Fast R-CNN オブジェクト検出ネットワークにイメージを入力します。

roiMaxPooling2dLayer (Computer Vision Toolbox)

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

roiAlignLayer (Computer Vision Toolbox)

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

anchorBoxLayer (Computer Vision Toolbox)

アンカー ボックス層は、オブジェクト検出ネットワークで使用される特徴マップのアンカー ボックスを保存します。

regionProposalLayer (Computer Vision Toolbox)

領域提案層は、Faster R-CNN 内の領域提案ネットワーク (RPN) の一部として、イメージの有力なオブジェクトの周囲に境界ボックスを出力します。

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 次元の空間データのブロックに置換します。

rpnSoftmaxLayer (Computer Vision Toolbox)

領域提案ネットワーク (RPN) ソフトマックス層は、入力にソフトマックス活性化関数を適用します。Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

focalLossLayer (Computer Vision Toolbox)

焦点損失層は、焦点損失を使用してオブジェクトのクラスを予測します。

rpnClassificationLayer (Computer Vision Toolbox)

領域提案ネットワーク (RPN) 分類層は、クロス エントロピー損失関数を使用して、イメージ領域を "オブジェクト" または "背景" として分類します。Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

rcnnBoxRegressionLayer (Computer Vision Toolbox)

ボックス回帰層は、スムーズ L1 損失関数を使用して、境界ボックスの位置を調整します。Fast R-CNN オブジェクトまたは Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

出力層

説明

softmaxLayer

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

sigmoidLayer

シグモイド層は、出力が区間 (0,1) の範囲に収まるように、シグモイド関数を入力に適用します。

classificationLayer

分類層は、互いに排他的なクラスをもつ分類タスクおよび重み付き分類タスクの交差エントロピー損失を計算します。

regressionLayer

回帰層は、回帰タスクの半平均二乗誤差損失を計算します。

pixelClassificationLayer (Computer Vision Toolbox)

ピクセル分類層は、各イメージ ピクセルまたはボクセルのカテゴリカル ラベルを提供します。

dicePixelClassificationLayer (Computer Vision Toolbox)

Dice ピクセル分類層は、一般化 Dice 損失を使用して、各イメージ ピクセルまたはボクセルのカテゴリカル ラベルを提供します。

focalLossLayer (Computer Vision Toolbox)

焦点損失層は、焦点損失を使用してオブジェクトのクラスを予測します。

rpnSoftmaxLayer (Computer Vision Toolbox)

領域提案ネットワーク (RPN) ソフトマックス層は、入力にソフトマックス活性化関数を適用します。Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

rpnClassificationLayer (Computer Vision Toolbox)

領域提案ネットワーク (RPN) 分類層は、クロス エントロピー損失関数を使用して、イメージ領域を "オブジェクト" または "背景" として分類します。Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

rcnnBoxRegressionLayer (Computer Vision Toolbox)

ボックス回帰層は、スムーズ L1 損失関数を使用して、境界ボックスの位置を調整します。Fast R-CNN オブジェクトまたは Faster R-CNN オブジェクト検出ネットワークを作成するには、この層を使用します。

yolov2OutputLayer (Computer Vision Toolbox)

You Only Look Once version 2 (YOLO v2) ネットワークの出力層は、予測された境界ボックスの位置とグラウンド トゥルースの間の平均二乗誤差損失を最小化して、境界ボックスの位置を調整します。

tverskyPixelClassificationLayer (カスタム層の例)

Tversky ピクセル分類層は、Tversky 損失を使用して、各イメージ ピクセルまたはボクセルのカテゴリカル ラベルを提供します。

sseClassificationLayer (カスタム層の例)

分類 SSE 層は、分類問題の残差平方和損失を計算します。

maeRegressionLayer (カスタム層の例)

回帰 MAE 層は、回帰問題の平均絶対誤差損失を計算します。

参考

| | |

関連するトピック