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