ニューラルネットワーク層
ニューラルネットワークは算術計算,正規化,線形演算等の基本的なものから,たたみ込みフィルタ,アテンション,回帰等のより高度なものまで,配列操作を表す柔軟なモジュール式の方法を提供する. 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 — 整数をワンホットベクトルに埋め込む
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)を訓練する