ニューラルネットワーク層

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

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)を訓練する