Main Content

深度学习层列表

本页提供 MATLAB® 中的深度学习层的列表。

要了解如何针对不同任务从层创建网络,请参阅以下示例。

任务了解更多信息
为图像分类或回归创建深度学习网络。

创建简单的深度学习神经网络以用于分类

针对回归训练卷积神经网络

训练残差网络进行图像分类

为序列和时间序列数据创建深度学习网络。

使用深度学习进行序列分类

使用深度学习进行时间序列预测

为音频数据创建深度学习网络。使用深度学习训练语音命令识别模型
为文本数据创建深度学习网络。

使用深度学习对文本数据进行分类

使用深度学习生成文本

深度学习层

使用以下函数创建不同层类型。或者,使用深度网络设计器以交互方式创建网络。

要了解如何定义您自己的自定义层,请参阅定义自定义深度学习层

输入层

描述

imageInputLayer

图像输入层向神经网络输入二维图像,并应用数据归一化。

image3dInputLayer

三维图像输入层向神经网络输入三维图像或三维体,并应用数据归一化。

sequenceInputLayer

序列输入层向神经网络输入序列数据并应用数据归一化。

featureInputLayer

特征输入层将特征数据输入神经网络并应用数据归一化。当您有表示特征的数值标量数据集(数据没有空间和时间维度)时,请使用此层。

inputLayer

输入层以自定义格式将数据输入神经网络。

pointCloudInputLayer (Lidar Toolbox)

点云输入层向网络输入三维点云,并应用数据归一化。您也可以输入点云数据,例如二维激光雷达扫描。

卷积和全连接层

描述

convolution1dLayer

一维卷积层将滑动卷积滤波器应用于一维输入。

convolution2dLayer

二维卷积层将滑动卷积滤波器应用于二维输入。

convolution3dLayer

三维卷积层将滑动立方体卷积滤波器应用于三维输入。

groupedConvolution2dLayer

二维分组卷积层将输入通道分成各个组,并应用滑动卷积滤波器。使用分组卷积层进行按通道可分离(也称为按深度可分离)卷积。

transposedConv1dLayer

转置的一维卷积层对一维特征图进行上采样。

transposedConv2dLayer

转置的二维卷积层对二维特征图进行上采样。

transposedConv3dLayer

转置的三维卷积层对三维特征图进行上采样。

fullyConnectedLayer

全连接层将输入乘以权重矩阵,然后添加偏置向量。

序列层

描述

sequenceInputLayer

序列输入层向神经网络输入序列数据并应用数据归一化。

lstmLayer

LSTM 层是一个 RNN 层,该层学习时间序列和序列数据中时间步之间的长期相关性。

lstmProjectedLayer

LSTM 投影层是一个 RNN 层,该层使用投影的可学习权重来学习时间序列和序列数据中时间步之间的长期相关性。

bilstmLayer

双向 LSTM (BiLSTM) 层是一个 RNN 层,该层学习时间序列或序列数据的时间步之间的双向长期相关性。当您希望 RNN 在每个时间步从完整时间序列中学习时,这些相关性会很有用。

gruLayer

GRU 层是一个 RNN 层,它学习时间序列和序列数据中时间步之间的相关性。

gruProjectedLayer

GRU 投影层是一个 RNN 层,它使用投影的可学习权重来学习时间序列中的时间步和序列数据之间的相关性。

convolution1dLayer

一维卷积层将滑动卷积滤波器应用于一维输入。

transposedConv1dLayer

转置的一维卷积层对一维特征图进行上采样。

maxPooling1dLayer

一维最大池化层通过将输入划分为一维池化区域并计算每个区域的最大值来执行下采样。

averagePooling1dLayer

一维平均池化层通过将输入划分为若干一维池化区域,然后计算每个区域的平均值来执行下采样。

globalMaxPooling1dLayer

一维全局最大池化层通过输出输入的时间或空间维度的最大值来执行下采样。

flattenLayer

扁平化层将输入的空间维度折叠成通道维度。

wordEmbeddingLayer (Text Analytics Toolbox)

单词嵌入层将单词索引映射到向量。

peepholeLSTMLayer(自定义层示例)

窥视孔 LSTM 层是 LSTM 层的变体,其中门计算使用层单元状态。

激活层

描述

reluLayer

ReLU 层对输入的每个元素执行阈值运算,其中任何小于零的值都设置为零。

leakyReluLayer

泄漏 ReLU 层执行阈值运算,其中小于零的任何输入值都乘以固定标量。

clippedReluLayer

裁剪 ReLU 层执行阈值运算,其中任何小于零的输入值都设置为零,裁剪上限以上的任何值都设置为该裁剪上限。

eluLayer

ELU 激活层对正输入执行单位运算,对负输入执行指数非线性运算。

geluLayer

高斯误差线性单元 (GELU) 层根据高斯分布下的概率对输入进行加权。

tanhLayer

双曲正切 (tanh) 激活层对层输入应用 tanh 函数。

swishLayer

swish 激活层对层输入应用 swish 函数。

softplusLayer (Reinforcement Learning Toolbox)

softplus 层应用 softplus 激活函数 Y = log(1 + eX),从而确保输出始终为正值。此激活函数是 reluLayer 的平滑连续版本。您可以将此层合并到您为强化学习智能体中的执行器定义的深度神经网络中。此层可用于创建连续高斯策略深度神经网络,对于此网络,标准差输出必须为正值。

softmaxLayer

softmax 层对输入应用 softmax 函数。

sigmoidLayer

sigmoid 层对输入应用 sigmoid 函数,使得输出在区间 (0,1) 内有界。

functionLayer

函数层将指定的函数应用于层输入。

preluLayer

PReLU 层执行阈值运算,其中对于每个通道,任何小于零的输入值都乘以在训练时学习到的标量。

sreluLayer(自定义层示例)

一个 SReLU 层执行阈值运算,其中对于每个通道,该层将值缩放到区间之外。区间阈值和缩放因子是可学习参数。

dlhdl.layer.mishLayer (Deep Learning HDL Toolbox)

mish 激活层对层输入应用 mish 函数。

归一化层

描述

batchNormalizationLayer

批量归一化层独立地对每个通道的所有观测值的小批量数据进行归一化。为了加快卷积神经网络的训练并降低对网络初始化的敏感度,请在卷积层和非线性部分之间使用批量归一化层,如 ReLU 层。

groupNormalizationLayer

组归一化层独立地对每个观测值的通道分组子集的小批量数据进行归一化。为了加快卷积神经网络的训练并降低对网络初始化的敏感度,请在卷积层和非线性部分之间使用组归一化层,如 ReLU 层。

instanceNormalizationLayer

实例归一化层独立地对每个观测值的每个通道上的小批量数据进行归一化。为了改进训练卷积神经网络的收敛性并降低对网络超参数的敏感度,请在卷积层和非线性部分之间使用实例归一化层,如 ReLU 层。

layerNormalizationLayer

层归一化层独立地对每个观测值的所有通道上的小批量数据进行归一化。为了加快循环和多层感知器神经网络的训练并降低对网络初始化的敏感度,请在可学习层后使用层归一化层,例如 LSTM 层和全连接层。

crossChannelNormalizationLayer

按通道局部响应(跨通道)归一化层执行按通道归一化。

实用工具层

描述

dropoutLayer

丢弃层以给定的概率将输入元素随机设置为零。

spatialDropoutLayer

空间丢弃层以给定的概率随机选择输入通道,并在训练期间将其所有元素设置为零。

crop2dLayer

二维裁剪层对输入应用二维裁剪。

crop3dLayer

三维裁剪层将三维体裁剪到输入特征图的大小。
identityLayer 恒等层是输出与其输入相同的层。您可以使用恒等层来创建跳过连接,这允许输入跳过神经网络主分支中的一个或多个层。有关跳过连接的详细信息,请参阅More About

networkLayer

网络层包含嵌套网络。使用网络层简化包含重复组件的大型网络的构建。

complexToRealLayer

复数到实数层通过在指定维度上拆分数据,将复数值数据转换为实数值数据。

realToComplexLayer

实数到复数层通过在指定维度上合并数据,将实数值数据转换为复数值数据。

scalingLayer (Reinforcement Learning Toolbox)

缩放层对输入数组 U 进行线性缩放和偏置,输出为 Y = Scale.*U + Bias。您可以将此层合并到您为强化学习智能体中的执行器或评价器定义的深度神经网络中。此层可用于缩放和偏移非线性层的输出,如 tanhLayer 和 sigmoid。

quadraticLayer (Reinforcement Learning Toolbox)

二次层接受一个输入向量,并输出由输入元素构造的二次单项式向量。当您需要输出是其输入的二次函数的层时,此层很有用。例如,要重新创建二次值函数的结构体,如 LQR 控制器设计中使用的那些。

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)。

调整层大小

描述

resize2dLayer (Image Processing Toolbox)

二维调整大小层根据缩放因子将二维输入的大小调整到指定的高度和宽度,或调整到引用输入特征图的大小。

resize3dLayer (Image Processing Toolbox)

三维调整大小层根据缩放因子将三维输入的大小调整到指定的高度、宽度和深度,或调整到引用输入特征图的大小。
dlhdl.layer.reshapeLayer (Deep Learning HDL Toolbox)重构层重构层激活数据。

池化和去池化层

描述

averagePooling1dLayer

一维平均池化层通过将输入划分为若干一维池化区域,然后计算每个区域的平均值来执行下采样。

averagePooling2dLayer

二维平均池化层通过将输入划分为矩形池化区域,然后计算每个区域的平均值来执行下采样。

averagePooling3dLayer

三维平均池化层通过将三维输入划分为立方体池化区域,然后计算每个区域的平均值来执行下采样。

adaptiveAveragePooling2dLayer

二维自适应平均池化层通过将输入划分为矩形池化区域、然后计算每个区域的平均值来执行下采样,从而为您提供所需的输出大小。

globalAveragePooling1dLayer

一维全局平均池化层通过输出输入的时间或空间维度的平均值来执行下采样。

globalAveragePooling2dLayer

二维全局平均池化层通过计算输入的高度和宽度维度的均值来执行下采样。

globalAveragePooling3dLayer

三维全局平均池化层通过计算输入的高度、宽度和深度维度的均值来执行下采样。

maxPooling1dLayer

一维最大池化层通过将输入划分为一维池化区域并计算每个区域的最大值来执行下采样。

maxPooling2dLayer

二维最大池化层通过将输入划分为矩形池化区域并计算每个区域的最大值来执行下采样。

maxPooling3dLayer

三维最大池化层通过将三维输入划分为立方体池化区域,然后计算每个区域的最大值来执行下采样。

globalMaxPooling1dLayer

一维全局最大池化层通过输出输入的时间或空间维度的最大值来执行下采样。

globalMaxPooling2dLayer

二维全局最大池化层通过计算输入的高度和宽度维度的最大值来执行下采样。

globalMaxPooling3dLayer

三维全局最大池化层通过计算输入的高度、宽度和深度维度的最大值来执行下采样。

maxUnpooling2dLayer

二维最大去池化层对二维最大池化层的输出进行去池化。

组合层

描述

additionLayer

相加层按元素将来自多个神经网络层的输入相加。

multiplicationLayer

相乘层按元素将来自多个神经网络层的输入相乘。

depthConcatenationLayer

深度串联层接受具有相同高度和宽度的输入,并沿通道维度串联它们。

concatenationLayer

串联层接受输入并沿指定维度串联它们。除串联维度外,所有其他维度中的输入必须具有相同的大小。

weightedAdditionLayer(自定义层示例)

加权相加层按元素对来自多个神经网络层的输入进行缩放和相加。

变换器层

描述

selfAttentionLayer

自注意力层计算其输入的单头或多头自注意力。

attentionLayer

点积注意力层使用加权乘法运算来处理输入部分。

positionEmbeddingLayer

位置嵌入层将顺序或空间索引映射到向量。

sinusoidalPositionEncodingLayer

正弦位置编码层使用正弦运算将位置索引映射到向量。

embeddingConcatenationLayer

嵌入串联层通过串联将其输入和嵌入向量组合在一起。

indexing1dLayer

一维索引层从输入数据的时间或空间维度的指定索引处提取数据。

patchEmbeddingLayer (Computer Vision Toolbox)

补片嵌入层将像素的补片映射到向量。

神经 ODE 层

描述

neuralODELayer

神经 ODE 层输出 ODE 的解。

目标检测层

描述

roiMaxPooling2dLayer (Computer Vision Toolbox)

ROI 最大池化层对输入特征图中的每个矩形 ROI 输出固定大小的特征图。使用此层创建一个 Fast 或 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 版本 2 (YOLO v2) 网络的变换层将网络中最后一个卷积层的边界框预测变换到位于真实值的边界内。使用变换层来提高 YOLO v2 网络的稳定性。

spaceToDepthLayer (Image Processing Toolbox)

空间到深度层将输入的空间模块置换到深度维度。当您需要在不丢弃任何特征数据的情况下合并不同大小的特征图时,请使用此层。

depthToSpace2dLayer (Image Processing Toolbox)

二维深度到空间层将数据从深度维度置换到二维空间数据块。

dlhdl.layer.sliceLayer (Deep Learning HDL Toolbox)

切片层沿图像的通道维度将层的输入划分为相等数量的组。

另请参阅

| | |

相关主题