深度学习层列表
本页提供 MATLAB® 中的深度学习层的列表。
要了解如何针对不同任务从层创建网络,请参阅以下示例。
任务 | 了解更多信息 |
---|---|
为图像分类或回归创建深度学习网络。 | |
为序列和时间序列数据创建深度学习网络。 | |
为音频数据创建深度学习网络。 | 使用深度学习训练语音命令识别模型 |
为文本数据创建深度学习网络。 |
深度学习层
使用以下函数创建不同层类型。或者,使用深度网络设计器以交互方式创建网络。
要了解如何定义您自己的自定义层,请参阅定义自定义深度学习层。
输入层
层 | 描述 |
---|---|
图像输入层向神经网络输入二维图像,并应用数据归一化。 | |
三维图像输入层向神经网络输入三维图像或三维体,并应用数据归一化。 | |
序列输入层向神经网络输入序列数据并应用数据归一化。 | |
特征输入层将特征数据输入神经网络并应用数据归一化。当您有表示特征的数值标量数据集(数据没有空间和时间维度)时,请使用此层。 | |
输入层以自定义格式将数据输入神经网络。 | |
| 点云输入层向网络输入三维点云,并应用数据归一化。您也可以输入点云数据,例如二维激光雷达扫描。 |
卷积和全连接层
层 | 描述 |
---|---|
一维卷积层将滑动卷积滤波器应用于一维输入。 | |
二维卷积层将滑动卷积滤波器应用于二维输入。 | |
三维卷积层将滑动立方体卷积滤波器应用于三维输入。 | |
二维分组卷积层将输入通道分成各个组,并应用滑动卷积滤波器。使用分组卷积层进行按通道可分离(也称为按深度可分离)卷积。 | |
转置的一维卷积层对一维特征图进行上采样。 | |
转置的二维卷积层对二维特征图进行上采样。 | |
转置的三维卷积层对三维特征图进行上采样。 | |
全连接层将输入乘以权重矩阵,然后添加偏置向量。 |
序列层
层 | 描述 |
---|---|
序列输入层向神经网络输入序列数据并应用数据归一化。 | |
LSTM 层是一个 RNN 层,该层学习时间序列和序列数据中时间步之间的长期相关性。 | |
LSTM 投影层是一个 RNN 层,该层使用投影的可学习权重来学习时间序列和序列数据中时间步之间的长期相关性。 | |
双向 LSTM (BiLSTM) 层是一个 RNN 层,该层学习时间序列或序列数据的时间步之间的双向长期相关性。当您希望 RNN 在每个时间步从完整时间序列中学习时,这些相关性会很有用。 | |
GRU 层是一个 RNN 层,它学习时间序列和序列数据中时间步之间的相关性。 | |
GRU 投影层是一个 RNN 层,它使用投影的可学习权重来学习时间序列中的时间步和序列数据之间的相关性。 | |
一维卷积层将滑动卷积滤波器应用于一维输入。 | |
转置的一维卷积层对一维特征图进行上采样。 | |
一维最大池化层通过将输入划分为一维池化区域并计算每个区域的最大值来执行下采样。 | |
一维平均池化层通过将输入划分为若干一维池化区域,然后计算每个区域的平均值来执行下采样。 | |
一维全局最大池化层通过输出输入的时间或空间维度的最大值来执行下采样。 | |
扁平化层将输入的空间维度折叠成通道维度。 | |
| 单词嵌入层将单词索引映射到向量。 |
| 窥视孔 LSTM 层是 LSTM 层的变体,其中门计算使用层单元状态。 |
激活层
层 | 描述 |
---|---|
ReLU 层对输入的每个元素执行阈值运算,其中任何小于零的值都设置为零。 | |
泄漏 ReLU 层执行阈值运算,其中小于零的任何输入值都乘以固定标量。 | |
裁剪 ReLU 层执行阈值运算,其中任何小于零的输入值都设置为零,裁剪上限以上的任何值都设置为该裁剪上限。 | |
ELU 激活层对正输入执行单位运算,对负输入执行指数非线性运算。 | |
高斯误差线性单元 (GELU) 层根据高斯分布下的概率对输入进行加权。 | |
双曲正切 (tanh) 激活层对层输入应用 tanh 函数。 | |
swish 激活层对层输入应用 swish 函数。 | |
| softplus 层应用 softplus 激活函数 Y = log(1 + eX),从而确保输出始终为正值。此激活函数是 reluLayer 的平滑连续版本。您可以将此层合并到您为强化学习智能体中的执行器定义的深度神经网络中。此层可用于创建连续高斯策略深度神经网络,对于此网络,标准差输出必须为正值。 |
softmax 层对输入应用 softmax 函数。 | |
sigmoid 层对输入应用 sigmoid 函数,使得输出在区间 (0,1) 内有界。 | |
函数层将指定的函数应用于层输入。 | |
PReLU 层执行阈值运算,其中对于每个通道,任何小于零的输入值都乘以在训练时学习到的标量。 | |
| 一个 SReLU 层执行阈值运算,其中对于每个通道,该层将值缩放到区间之外。区间阈值和缩放因子是可学习参数。 |
| mish 激活层对层输入应用 mish 函数。 |
归一化层
层 | 描述 |
---|---|
批量归一化层独立地对每个通道的所有观测值的小批量数据进行归一化。为了加快卷积神经网络的训练并降低对网络初始化的敏感度,请在卷积层和非线性部分之间使用批量归一化层,如 ReLU 层。 | |
组归一化层独立地对每个观测值的通道分组子集的小批量数据进行归一化。为了加快卷积神经网络的训练并降低对网络初始化的敏感度,请在卷积层和非线性部分之间使用组归一化层,如 ReLU 层。 | |
实例归一化层独立地对每个观测值的每个通道上的小批量数据进行归一化。为了改进训练卷积神经网络的收敛性并降低对网络超参数的敏感度,请在卷积层和非线性部分之间使用实例归一化层,如 ReLU 层。 | |
层归一化层独立地对每个观测值的所有通道上的小批量数据进行归一化。为了加快循环和多层感知器神经网络的训练并降低对网络初始化的敏感度,请在可学习层后使用层归一化层,例如 LSTM 层和全连接层。 | |
按通道局部响应(跨通道)归一化层执行按通道归一化。 |
实用工具层
层 | 描述 |
---|---|
丢弃层以给定的概率将输入元素随机设置为零。 | |
空间丢弃层以给定的概率随机选择输入通道,并在训练期间将其所有元素设置为零。 | |
二维裁剪层对输入应用二维裁剪。 | |
三维裁剪层将三维体裁剪到输入特征图的大小。 | |
identityLayer | 恒等层是输出与其输入相同的层。您可以使用恒等层来创建跳过连接,这允许输入跳过神经网络主分支中的一个或多个层。有关跳过连接的详细信息,请参阅More About。 |
网络层包含嵌套网络。使用网络层简化包含重复组件的大型网络的构建。 | |
复数到实数层通过在指定维度上拆分数据,将复数值数据转换为实数值数据。 | |
实数到复数层通过在指定维度上合并数据,将实数值数据转换为复数值数据。 | |
| 缩放层对输入数组 U 进行线性缩放和偏置,输出为 Y = Scale.*U + Bias 。您可以将此层合并到您为强化学习智能体中的执行器或评价器定义的深度神经网络中。此层可用于缩放和偏移非线性层的输出,如 tanhLayer 和 sigmoid。 |
| 二次层接受一个输入向量,并输出由输入元素构造的二次单项式向量。当您需要输出是其输入的二次函数的层时,此层很有用。例如,要重新创建二次值函数的结构体,如 LQR 控制器设计中使用的那些。 |
| STFT 层计算输入的短时傅里叶变换。 |
| ISTFT 层计算输入的短时傅里叶逆变换。 |
| CWT 层计算输入的连续小波变换。 |
| ICWT 层计算输入的连续小波逆变换。 |
| MODWT 层计算输入的极大交迭离散小波变换 (MODWT) 和 MODWT 多分辨率分析 (MRA)。 |
调整层大小
层 | 描述 |
---|---|
| 二维调整大小层根据缩放因子将二维输入的大小调整到指定的高度和宽度,或调整到引用输入特征图的大小。 |
| 三维调整大小层根据缩放因子将三维输入的大小调整到指定的高度、宽度和深度,或调整到引用输入特征图的大小。 |
dlhdl.layer.reshapeLayer (Deep Learning HDL Toolbox) | 重构层重构层激活数据。 |
池化和去池化层
层 | 描述 |
---|---|
一维平均池化层通过将输入划分为若干一维池化区域,然后计算每个区域的平均值来执行下采样。 | |
二维平均池化层通过将输入划分为矩形池化区域,然后计算每个区域的平均值来执行下采样。 | |
三维平均池化层通过将三维输入划分为立方体池化区域,然后计算每个区域的平均值来执行下采样。 | |
二维自适应平均池化层通过将输入划分为矩形池化区域、然后计算每个区域的平均值来执行下采样,从而为您提供所需的输出大小。 | |
一维全局平均池化层通过输出输入的时间或空间维度的平均值来执行下采样。 | |
二维全局平均池化层通过计算输入的高度和宽度维度的均值来执行下采样。 | |
三维全局平均池化层通过计算输入的高度、宽度和深度维度的均值来执行下采样。 | |
一维最大池化层通过将输入划分为一维池化区域并计算每个区域的最大值来执行下采样。 | |
二维最大池化层通过将输入划分为矩形池化区域并计算每个区域的最大值来执行下采样。 | |
三维最大池化层通过将三维输入划分为立方体池化区域,然后计算每个区域的最大值来执行下采样。 | |
一维全局最大池化层通过输出输入的时间或空间维度的最大值来执行下采样。 | |
二维全局最大池化层通过计算输入的高度和宽度维度的最大值来执行下采样。 | |
三维全局最大池化层通过计算输入的高度、宽度和深度维度的最大值来执行下采样。 | |
二维最大去池化层对二维最大池化层的输出进行去池化。 |
组合层
层 | 描述 |
---|---|
相加层按元素将来自多个神经网络层的输入相加。 | |
相乘层按元素将来自多个神经网络层的输入相乘。 | |
深度串联层接受具有相同高度和宽度的输入,并沿通道维度串联它们。 | |
串联层接受输入并沿指定维度串联它们。除串联维度外,所有其他维度中的输入必须具有相同的大小。 | |
| 加权相加层按元素对来自多个神经网络层的输入进行缩放和相加。 |
变换器层
层 | 描述 |
---|---|
自注意力层计算其输入的单头或多头自注意力。 | |
点积注意力层使用加权乘法运算来处理输入部分。 | |
位置嵌入层将顺序或空间索引映射到向量。 | |
正弦位置编码层使用正弦运算将位置索引映射到向量。 | |
嵌入串联层通过串联将其输入和嵌入向量组合在一起。 | |
一维索引层从输入数据的时间或空间维度的指定索引处提取数据。 | |
| 补片嵌入层将像素的补片映射到向量。 |
神经 ODE 层
层 | 描述 |
---|---|
神经 ODE 层输出 ODE 的解。 |
目标检测层
层 | 描述 |
---|---|
| ROI 最大池化层对输入特征图中的每个矩形 ROI 输出固定大小的特征图。使用此层创建一个 Fast 或 Faster R-CNN 目标检测网络。 |
| ROI 对齐层对输入特征图中的每个矩形 ROI 输出固定大小的特征图。使用此层创建 Mask R-CNN 网络。 |
| SSD 合并层合并特征图的输出,用于后续回归和分类损失计算。 |
| you only look once 版本 2 (YOLO v2) 网络的变换层将网络中最后一个卷积层的边界框预测变换到位于真实值的边界内。使用变换层来提高 YOLO v2 网络的稳定性。 |
| 空间到深度层将输入的空间模块置换到深度维度。当您需要在不丢弃任何特征数据的情况下合并不同大小的特征图时,请使用此层。 |
| 二维深度到空间层将数据从深度维度置换到二维空间数据块。 |
| 切片层沿图像的通道维度将层的输入划分为相等数量的组。 |
另请参阅
trainnet
| trainingOptions
| dlnetwork
| 深度网络设计器