ニューラルネットワークの操作

Wolfram言語では記号表現を使うとニューラルネットワークの操作が非常に容易になる.既存の構造から始めて,層を取り出したり加えたり,サブグラフを選択したり組み合せたり,特定の部分やパターンを置き換えたりして新しい構造が構築できる.その後,ネットワークをさまざまなデータについて訓練して特定のタスクに最適化できる.

ネットワークの訓練

NetTrain ネットワークのパラメータを例から訓練する

NetTrainResultsObject 訓練で何が起こったのかを表す

ネットワークの操作

NetInitialize ネットワークのパラメータをランダムに初期化する

NetInsertSharedArrays ネットワーク内の全ての配列を共有ネットワーク配列に変換する

ネットワークの処置

NetExtract ネットワークから特定の層やサブグラフを抽出する

NetUnfold ネットの再帰状態を公開する

NetReplacePart 層や層の特性を置き換える

NetFlatten サブグラフ等のネストしたネットワーク構造を平坦化する

NetJoin 一連のネットワークを繋げ合せる

NetRename ネットワークの層やサブパートの名前を変更する

NetAppendNetPrepend ネットワークの前後に層を1つまたは複数加える

NetTake  ▪  NetDrop  ▪  NetInsert  ▪  NetDelete  ▪  NetReplace

ネットワークの構造

NetChain ネットワーク層の鎖構造

NetGraph ネットワーク層のグラフ

より高次のネットワークの構造

NetMapOperator シーケンスにマップする

NetMapThreadOperator 複数のシーケンスにマップする

NetFoldOperator シーケンスの要素を累積適用する回帰型ネットワーク

NetBidirectionalOperator 双方向回帰型ネットワーク

NetNestOperator 同じ操作を複数回適用する

特別な訓練操作

NetPairEmbeddingOperator シャム(Siamese)ニューラルネットワークを訓練する

NetGANOperator 敵対的生成ネットワーク(GAN)を訓練する