Neural Networks

Neural networks are a powerful machine learning technique that allows a modular composition of operations (layers) that can model a wide variety of functions with high execution and training performance. Neural networks are typically resistant to noisy input and offer good generalization capabilities. They are a central component in many areas, like image and audio processing, natural language processing, robotics, automotive control, medical systems and more. The Wolfram Language offers advanced capabilities for the representation, construction, training and deployment of neural networks. A large variety of layer types is available for symbolic composition and manipulation. Thanks to dedicated encoders and decoders, diverse data types such as image, text and audio can be used as input and output, deepening the integration with the rest of the Wolfram Language.

Construction and Properties »

NetModel complete pre-trained net models

NetGraph symbolic representation of trained or untrained net graphs to be applied to data

NetChain symbolic representation of a simple chain of layers

NetMeasurements computes a list of measurements for the net

NetPort  ▪  NetPortGradient  ▪  NetStateObject  ▪  NetTrainResultsObject  ▪  ...

Neural Network Layers »

LinearLayer layer representing a trainable affine transformation

ConvolutionLayer layer representing a trainable convolution operation

ThreadingLayer  ▪  AttentionLayer  ▪  AggregationLayer  ▪  SoftmaxLayer  ▪  ...

Neural Network Operations »

NetTrain train parameters in a net from examples

NetReplacePart replace layers or layer properties

NetInitialize  ▪  NetTake  ▪  NetAppend  ▪  NetReplace  ▪  NetFlatten  ▪  ...

Encoding & Decoding Data »

NetEncoder convert images, categories, etc. to numerical arrays

NetDecoder interpret numerical arrays as images, probabilities, etc.

Reinforcement Learning Environments

"OpenAIGym" access to video games and many other test environments