神经网络层

神经网络提供了一种灵活和模块化的方式来表示数组运算,从算术、归一化和线性化等基本运算到卷积过滤、注意力和递归等高级运算都适用. Wolfram 语言为神经网络运算提供了强大的符号表示. 可以像语言的其他函数一样定义、初始化和使用网络层,使得新结构的测试版的异常容易. 在 NetChainNetGraph 等更丰富的结构中组合以后,可通过 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)