Machine Learning with NetSim: Combining Forces for Advanced Applications
NetSim can be used in combination with ML techniques to develop advanced models for a wide range of applications. These include:
- Traffic estimation, Load balancing, Throughput prediction
- Resource allocation, Link adaptation
- Power control, Beamforming, Interference estimation, Signal strength prediction
- Reinforcement learning: Q-learning, Multi-Armed Bandit, MDP, and more.
- NetSim interfaces in run time with RL algorithms running in Python or MATLAB
- The typical (state, action, rewards) tuple has NetSim passing the state, the RL algorithm passing back the action, and NetSim simulating per the action and returning the rewards
- For example, in 5G load balancing, NetSim would pass the vector of SINRs, the RL algorithm passes back the gNBs-UEs association, and NetSim returns the throughput obtained per that association.
- Supervised learning: DQN, DNN, GANs and more.
- Train neural networks deployed in the real world sing synthetic data from NetSim
- Replace some internal function(s) within NetSim with a neural network
NetSim – Python Interfacing
- Interfaces and documentation available to call NetSim from Python or call Python from NetSim
- NetSim outputs CSV data files that can be imported using Python Keras or TensorFlow
Generate synthetic data for ML
Machine learning algorithms need ever increasing amounts of data for training and testing. The problems with real data are that it:
- Can be difficult and expensive to collect. This is particularly true for data that is complex or specialized
- Is time consuming to label. This process also requires expert knowledge which comes at a high cost.
- May contain sensitive or confidential information
- Is often unbalanced; it may not contain enough examples of certain classes or phenomena
On the other hand, synthetic data – that is produced from a simulator - can be:
- Generated at very low cost and in vast quantities
- Perfectly labelled, and hence directly used to train neural nets
- Generated to represent a wide variety of scenarios and edge cases, which can help to improve the robustness and generalizability of machine learning models./li>
- Created to be free of sensitive or confidential information
Shipped along with are automated utilities for scenario generation and execution; NetSim can generate large amounts of labelled data written to CSV files. The output results and data files generated by NetSim include:
- Performance Metrics
- Instantaneous and average throughputs for each link and each application
- Buffer occupancy vs. time at source and intermediate devices
- TCP congestion window vs. Time at End each UE and remote Server
- Packet trace
- 30+ parameters for every packet as it flows through the network. These include arrival times, queuing times, departure times, payload, overhead, errors, collisions etc.
- Radio measurements
- SINR, Pathloss, Shadowing, Fast fading, LOS/NLOS states, O2I Loss, MCS, CQI, BS-UE distances, UE-gNB association.
- Radio resource allocation
- Buffer fill (queue size), scheduling metric, PRBs allocated
Users regularly generate data files that reach up to 10 million rows per simulation. Special cases can cross 100 million rows.