http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd
TinyML for edge intelligence in IoT and LPWAN networks
This book, 'TinyML for Edge Intelligence in IoT and LPWAN Networks', explores the integration of Tiny Machine Learning (TinyML) with Edge Intelligence in the context of the Internet of Things (IoT) and Low-Power Wide-Area Networks (LPWAN). Edited by Bharat S. Chaudhari, Sheetal N. Ghorpade, Marco Zennaro, and others, it delves into key topics such as the constraints and requirements of LPWAN, challenges of edge AI, TinyML principles and algorithms, and the application of neural networks in low-power devices. The book also covers reinforcement learning for LoRaWANs, software frameworks, energy modeling, and the role of TinyML in emerging technologies such as 5G and smart cities. It is designed for researchers, professionals, and academics interested in the latest advancements in efficient edge computing and IoT technologies.
Front Cover -- TinyML for Edge Intelligence in IoT and LPWAN Networks -- Copyright -- Contents -- List of contributors -- Preface -- Acknowledgments -- 1 TinyML for low-power Internet of Things -- 1.1 Introduction -- 1.2 IoT/LPWANs -- 1.3 LPWAN applications/nodes constraints and requirements -- 1.4 Edge AI and TinyML -- 1.5 Challenges for edge AI and TinyML -- 1.6 Hardware and software considerations -- References -- 2 Embedded systems for low-power applications -- 2.1 Introduction -- 2.2 Key considerations and requirements for microcontroller units -- 2.2.1 Dynamic voltage and frequency scaling -- 2.2.2 Adaptive voltage scaling and clock/power gating -- 2.2.3 Number of cores and core pipelining -- 2.2.4 Memory -- 2.2.5 Power down/saving modes -- 2.2.6 New trends -- 2.3 Component selection -- 2.3.1 MCU selection -- 2.3.2 Peripheral selection -- 2.3.3 Sensor selection -- 2.4 Embedded software tools for MCUs -- 2.5 Important hardware platforms -- 2.5.1 Hardware platforms -- References -- 3 Cloud and edge intelligence -- 3.1 Introduction -- 3.2 Edge intelligence paradigms -- 3.2.1 Edge caching -- 3.2.1.1 Cache deployment -- 3.2.1.2 Cache replacement -- 3.2.2 Edge training -- 3.2.2.1 Training architecture -- 3.2.2.2 Training acceleration -- 3.2.2.3 Training optimization -- 3.2.3 Edge interpretation -- 3.2.3.1 Model design -- 3.2.3.2 Model compression -- 3.2.3.3 Interpretation acceleration -- 3.2.4 Edge offloading -- 3.3 Edge intelligence: advantages and applications -- 3.3.1 Advantages -- 3.3.2 Applications of edge intelligence -- 3.3.2.1 Smart cities -- 3.3.2.2 Urban healthcare -- 3.3.2.3 Autonomous vehicles -- 3.3.2.4 Smart manufacturing -- 3.3.2.5 Smart grids -- 3.4 Challenges and opportunities for edge intelligence -- 3.4.1 Challenges -- 3.4.1.1 Enabling generic computing on edge nodes -- 3.4.1.2 Exploring edge node discovery.
3.4.1.3 Dividing and delegating discovery -- 3.4.1.4 Unwavering quality of service and user experience -- 3.4.1.5 Utilizing edge nodes safely and publicly -- 3.4.2 Opportunities -- 3.4.2.1 Establishing standards, benchmarks, and a marketplace -- 3.4.2.2 Frameworks and languages -- 3.4.2.3 Utilizing lightweight libraries and algorithms -- 3.4.2.4 Micro operating systems and virtualization -- 3.4.2.5 Energy efficiency -- 3.5 AI solutions for optimizing computation of edge intelligence -- 3.6 Architectural layers in the roadmap for edge intelligence -- 3.6.1 Quality of experience -- 3.6.2 Edge intelligence/intelligent edge computing -- 3.6.3 AI on the edge -- 3.7 Conclusions -- References -- 4 TinyML: principles and algorithms -- 4.1 Introduction -- 4.2 Overview of TinyML -- 4.2.1 Benefits of TinyML -- 4.3 Workflow of TinyML -- 4.4 AI and edge computing -- 4.4.1 Edge computing for AI applications -- 4.4.1.1 Delegating AI training and reasoning tasks to the edge -- 4.4.2 AI algorithms in edge computing -- 4.4.2.1 Traditional machine learning -- 4.4.2.2 Deep learning -- 4.4.2.3 Reinforcement learning and deep reinforcement learning -- 4.4.2.4 Federated learning -- 4.4.2.5 Evolutionary algorithms -- 4.5 Edge computing optimization using AI solutions -- 4.5.1 Computing offloading optimization -- 4.5.2 Energy consumption reduction using non-computation offloading methods -- 4.5.3 Hardware structure optimization -- 4.5.3.1 Controlling operating status -- 4.5.3.2 Combining Energy Internet -- 4.5.4 Security of edge computing -- 4.5.5 Data privacy -- 4.5.6 Resource allocation optimization -- References -- 5 TinyML using neural networks for resource-constrained devices -- 5.1 Introduction -- 5.2 Background -- 5.3 Neural networks for TinyML -- 5.3.1 Architecture of neural networks -- 5.3.2 Compression of models to fit into the tiny microprocessor.
5.3.2.1 Compression -- 5.3.2.2 Pruning -- 5.3.2.3 Quantization -- 5.3.2.4 Encoding -- 5.3.2.5 Compilation -- 5.4 Concerns/issues in TinyML -- 5.4.1 Incremental learning -- 5.4.2 Concept drift -- 5.4.3 Transfer learning -- 5.5 Applications -- 5.5.1 Agriculture -- 5.5.2 Healthcare -- 5.5.3 Defense -- 5.6 Conclusion -- References -- 6 Reinforcement learning for LoRaWANs -- 6.1 Introduction -- 6.1.1 LoRa technology overview -- 6.1.2 LoRaWAN challenges and machine learning -- 6.2 Reinforcement learning algorithms -- 6.3 Related work -- 6.4 Interference avoidance and energy efficiency for LoRa -- 6.4.1 Developed multi-armed bandit algorithm for LoRa -- 6.4.2 Performance analysis -- 6.5 Applications -- 6.6 Conclusion -- References -- 7 Software frameworks for TinyML -- 7.1 Introduction -- 7.2 Overview of TinyML -- 7.3 Challenges -- 7.3.1 Low power -- 7.3.2 Limited memory -- 7.3.3 Processor power -- 7.3.4 Extensive machine learning models and resource requirements -- 7.3.5 Heterogeneous hardware -- 7.3.6 An absence of suitable datasets -- 7.3.7 Network and data administration -- 7.3.8 Advanced machine learning models -- 7.3.9 Benchmarking -- 7.4 Software and libraries -- 7.4.1 Frameworks and libraries -- 7.4.1.1 TensorFlow Lite -- 7.4.1.2 uTensor -- 7.4.1.3 Cortex Microcontroller Software Interface Standard-NN -- 7.4.1.4 Apache Tensor Virtual Machines -- 7.4.1.5 PyTorch Mobile -- 7.4.1.6 emlearn -- 7.4.1.7 Embedded Learning Library -- 7.4.2 Development environments -- 7.4.2.1 Edge Impulse Studio -- 7.4.2.2 Rubiscape -- 7.4.2.3 Imagimob -- 7.4.2.4 Qeexo AutoML -- 7.4.2.5 STM32Cube.AI -- 7.4.2.6 NanoEdge AI Studio -- 7.4.3 TinyML benchmarking -- 7.4.4 In-depth overview of TinyML framework: TensorFlow Lite -- 7.4.4.1 Implementation of TensorFlow Lite -- 7.4.4.1.1 System overview -- 7.4.4.1.2 TFLM interpreter -- 7.4.4.1.3 Loading of model.
7.4.4.1.4 Model serialization -- 7.4.4.1.5 Model representation -- 7.4.4.1.6 Memory management -- 7.4.4.1.7 Persistent memory and scratchpads -- 7.4.4.1.8 Memory management -- 7.4.4.1.9 Multi-threading -- 7.4.4.1.10 Operator support -- 7.4.4.1.11 Building an all-in-one system -- 7.5 Advantages of TinyML -- 7.5.1 Transition from basic to smart IoT devices -- 7.5.2 Network bandwidth -- 7.5.3 Security and privacy -- 7.5.4 Latency -- 7.5.5 Energy efficiency -- 7.5.6 Reliability -- 7.5.7 Low cost -- 7.5.8 Data filtration -- References -- 8 Extensive energy modeling for LoRaWANs -- 8.1 Introduction -- 8.2 LoRa/LoRaWAN components and elements -- 8.2.1 LoRaWAN -- 8.2.2 LoRa physical layer -- 8.2.3 LoRa transceiver functioning principle -- 8.3 LoRa energy modeling -- 8.3.1 Communication energy -- 8.3.2 Computation energy -- 8.3.3 Sensing and circuitry energy -- 8.3.4 Network total consumed energy -- 8.4 Methodology -- 8.5 Case study and experimental setup -- 8.6 Conclusion -- References -- 9 TinyML for 5G networks -- 9.1 Introduction -- 9.2 5G network architecture -- 9.3 Requirements for 5G use case -- 9.4 Security in 5G wide scope -- 9.4.1 Applications and services -- 9.4.2 Internet of Things users -- 9.4.3 Crossing organizational boundaries in networking -- 9.5 5G mobile network and virtualization systems -- 9.5.1 Computerized operations -- 9.5.2 Slicing the network -- 9.5.3 Restoring the system following hardware failure -- 9.5.4 Context authentication on multiple levels -- 9.5.5 The difficulty is in minimizing false positives while maintaining uninterrupted and secure operations -- 9.5.6 Physical infrastructure -- 9.5.7 Security layers summary -- 9.6 Multi-access edge computing for 5G -- 9.6.1 Connected multi-access edge computing -- 9.6.2 Energy-efficient radio access networks and multi-access edge computing.
9.7 Open5GS, srsRAN/srsLTE, and OpenAirInterface -- 9.8 Low-power communication, massive machine type communication (mMTC), and IoT -- 9.8.1 Various IoT application types -- 9.8.2 Requirements -- 9.8.3 Current IoT situations -- 9.8.4 5G structure -- 9.8.5 mMTC's specialties -- 9.8.6 URLLC -- 9.9 5G edge intelligence features -- 9.10 Machine learning modeling for 5G -- 9.11 TinyML for edge intelligence in 5G -- 9.11.1 Challenges and prospects for research -- 9.12 TinyML for 5G security and data anomaly -- 9.13 Design and modeling for LPWAN-based 5G -- 9.14 5G MEC latency standards -- 9.15 TinyML for 5G computation complexity -- References -- 10 Non-static TinyML for ad hoc networked devices -- 10.1 Introduction -- 10.2 Backbones and TinyML boards -- 10.2.1 Backbone construction -- 10.2.2 TinyML boards and embedded systems -- 10.3 Neural network model reduction -- 10.3.1 The lottery ticket hypothesis -- 10.3.2 Topology sparsification prospects derived from network science disciplines -- 10.4 Transfer learning -- 10.5 Purely distributed federated learning -- 10.5.1 Similarity-based selection of participating devices in PDFL -- 10.6 Challenges -- 10.7 Conclusions -- References -- 11 Bayesian-driven optimizations of TinyML for efficient edge intelligence in LPWANs -- 11.1 Introduction -- 11.2 Background and related work -- 11.2.1 Bayesian algorithms in IoT scenarios -- 11.2.2 Bayesian-driven optimizations: applying the principles to LoRa in TinyML -- 11.2.3 Bayesian-driven optimization preliminaries for TinyML in LPWANs -- 11.2.4 Energy optimization in TinyML -- 11.3 Methodology -- 11.3.1 Bayesian optimization techniques for model selection and hyperparameter tuning in TinyML -- 11.3.2 Bayesian optimization for resource allocation in TinyML-enabled LPWANs -- 11.3.3 Improving packet transmission and reception in LPWANs with Bayesian optimization.
edited by Bharat S. Chaudhari [and more].
Includes bibliographical references and index.