神经网络层
神经网络提供了一种灵活和模块化的方式来表示数组运算,从算术、归一化和线性化等基本运算到卷积过滤、注意力和递归等高级运算都适用. Wolfram 语言为神经网络运算提供了强大的符号表示. 可以像语言的其他函数一样定义、初始化和使用网络层,使得新结构的测试版的异常容易. 在 NetChain 或 NetGraph 等更丰富的结构中组合以后,可通过 NetTrain 函数一步完成训练.
基本网络层
LinearLayer — 计算 的具有密集连接的可训练网络层
SoftmaxLayer — 将元素全局归一化到单位区间的网络层
自定义网络层
FunctionLayer — 来自 Wolfram 语言函数的网络层
CompiledLayer — 来自任意可编译代码的网络层
PlaceholderLayer — 未定义运算的网络层
对元素进行操作的网络层
ElementwiseLayer — 对张量中的每一个元素应用指定函数
ThreadingLayer — 对张量序列中相应的元素应用函数
ParametricRampLayer — 具有可学习斜率的带泄漏的激活
RandomArrayLayer — 对于张量的每个元素,从单变量分布采样
结构操作网络层
CatenateLayer ▪ PrependLayer ▪ AppendLayer ▪ FlattenLayer ▪ ReshapeLayer ▪ ReplicateLayer ▪ PaddingLayer ▪ PartLayer ▪ TransposeLayer ▪ ExtractLayer
数组运算网络层
NetArrayLayer — 将习得的常量数组嵌入到 NetGraph 中
SummationLayer ▪ TotalLayer ▪ AggregationLayer ▪ DotLayer ▪ OrderingLayer
卷积和过滤网络层
ConvolutionLayer ▪ DeconvolutionLayer ▪ PoolingLayer ▪ ResizeLayer ▪ SpatialTransformationLayer
循环网络层
BasicRecurrentLayer ▪ GatedRecurrentLayer ▪ LongShortTermMemoryLayer
处理序列的网络层
UnitVectorLayer — 将整数嵌入到 one-hot 向量中
EmbeddingLayer — 将整数嵌入到可训练的向量空间中
AttentionLayer — 用于查找要处理序列的哪一部分的可训练的网络层
SequenceLastLayer ▪ SequenceMostLayer ▪ SequenceRestLayer ▪ SequenceReverseLayer ▪ SequenceIndicesLayer ▪ AppendLayer ▪ PrependLayer
训练优化网络层
DropoutLayer ▪ ImageAugmentationLayer
BatchNormalizationLayer ▪ NormalizationLayer ▪ LocalResponseNormalizationLayer
损失网络层
CrossEntropyLossLayer ▪ ContrastiveLossLayer ▪ CTCLossLayer
MeanSquaredLossLayer ▪ MeanAbsoluteLossLayer
高阶网络的构建
NetMapOperator — 映射到一个序列上
NetMapThreadOperator — 映射到多个序列上
NetFoldOperator — 折叠在序列元素中的循环网络
NetBidirectionalOperator — 双向循环网络
NetNestOperator — 多次应用系统的操作
网络的链接组成结构
NetChain — 网络层的链接组成结构
NetGraph — 网络层的图
NetPairEmbeddingOperator — 训练一个 Siamese 神经网络
NetGANOperator — 训练生成对抗网络 (GAN)