Moku Neural Network
The only FPGA-based neural network integrated into a full suite of test and measurement instruments. Run real-time, powerful machine learning algorithms in line with your experimental setups using Moku:Pro. Build and train models using Python, then deploy to your test systems using Moku:Pro to achieve low-latency inference and react quickly to changing experimental conditions.
Neural network examples
How to build a neural network
First, download Python and install Keras for Tensorflow. Build and train your network on data captured from your Moku or from simulation. Once you're happy with your model performance, upload the weights and biases to your Moku for low-latency inference.Signal autoencoder
Use the Moku Python API to generate noisy data using your Moku device. Next, train your network on the data. Then use the Moku Neural Network to filter dynamic and unpredictable noise out of an input signal.Signal classification
This is one of the most common neural network applications. Input data is mapped to a probability distribution across different classes. Build complex pass/fail criteria in your test, react quickly to changing experimental conditions, or catalog and track the occurrence of expected or anomalous waveforms.Quadrant photodiode sensing
Precisely measure beam position on your quadrant photodiode (QPD) with minimal calibration. Learn and correct for lens distortions and misalignments in real time, with low latency that won't affect your controller stability. Training data can be generated and captured with your Moku, or built from simulations of your optical setup.See more examples
Download and deploy more pre-built Neural Network models including signal identification, a signal generator, and more.Key benefits
Optimize experiments with real-time machine learning, dynamic decision-making, and more efficient data processing.
Make data processing fast, easy, and intelligent
Train your network to identify specific signal anomalies, trigger occurrences, beam position, and more. When the signals you're working with are difficult to define or require extensive post-processing to analyze, use the Moku Neural Network to perform intelligent real-time analysis.The only test device with a built-in, cost-effective neural network
Built on a powerful FPGA, the Moku Neural Network is a flexible, powerful implementation deployed inline with your other Moku test instruments. Process large datasets in a short amount of time, adjust to changing signal parameters, and optimize test configurations.Implement real-time, closed-loop feedback systems
Take in sensor data, an actuator position, or another input signal, and map it to the Moku Neural Network. Then, output an action. Many systems require inputs that are difficult to determine in advance for a particular control action — the Moku Neural Network intelligently analyzes the inputs to provide fast, effective feedback.Make machine learning accessible and effective
The Moku Neural Network is engineered to optimize lab setups for every researcher, not just deep learning experts. With intuitive examples, fast training times, and real-time network execution, integrating a neural network into your lab has never been easier.Engineered to work seamlessly with your preferred APIs
Moku features API support for Python, MATLAB, LabVIEW, and more, allowing for straightforward integration of Moku with your technology stack.Engineered for demanding applications
Closed-loop control
Noise filtering
Signal classification
Quantum emitter control
Anomaly detection
Integrates seamlessly with your tech stack
FAQ
A neural network is a machine learning structure inspired by the human brain. It consists of interconnected units called neurons, grouped together in layers: an input layer, one or more hidden (internal) layers, and an output layer. In a fully connected model like the Moku Neural Network, each neuron has a series of weights indicating how much the value or any neuron in the previous layer affects its output. These weights are adjusted during a “training” phase so the values at the output layer match a known set of corresponding inputs. After training, the model can be used for “inference,” to infer a set of output values given some inputs that it may or may not have seen before.
Neural networks are typically built and run on combinations of CPUs and/or GPUs. This approach gives incredible computing power, but it is also resource-intensive. Large AI models are energy hungry and often excessive for many types of signal processing applications. The flexibility and real-time processing of FPGAs makes them strong candidates for implementing small-scale neural networks. Their parallel processing capabilities benefit the linear algebra and other complex mathematics involved in the propagation of information through the network.
To train a model for the Moku Neural Network, follow this example. It walks you through how to configure your model, generate training data, train the model, and export the resulting weights and biases as a .linn model to be uploaded to the Moku Neural Network.
Not at all — this versatile instrument is engineered to be accessible to all researchers. While machine learning experts can take Moku Neural Network applications to the next level, it’s easy for all Moku:Pro users to set up a neural network.
Featured resources
From detailed use case walkthroughs to comprehensive application notes that explore instrument features and functions, we offer a range of resources to help you work smarter and achieve more with the Moku Neural Network.
Learn what Moku can do for you
Ready to experience how the Moku Neural Network can improve your workflow so you can achieve more, faster?
It’s easy to configure Moku:Pro.